Merge: fix ci nitunit some
authorJean Privat <jean@pryen.org>
Mon, 15 Jul 2019 15:08:12 +0000 (11:08 -0400)
committerJean Privat <jean@pryen.org>
Mon, 15 Jul 2019 15:08:12 +0000 (11:08 -0400)
When there is no change in watched nit files, the job `nitunit_some` failed.

Pull-Request: #2770

312 files changed:
.gitlab-ci.yml
README.md
benchmarks/bench_old.sh [new file with mode: 0755]
contrib/github_merge/github_merge.nit
contrib/github_search_for_jni/src/github_search_for_jni.nit
contrib/neo_doxygen/Makefile [deleted file]
contrib/neo_doxygen/README.md [deleted file]
contrib/neo_doxygen/gen-all.sh [deleted file]
contrib/neo_doxygen/gen-one.sh [deleted file]
contrib/neo_doxygen/package.ini [deleted file]
contrib/neo_doxygen/sh-lib/README.md [deleted file]
contrib/neo_doxygen/sh-lib/errors.sh [deleted file]
contrib/neo_doxygen/sh-lib/more_sed.sh [deleted file]
contrib/neo_doxygen/src/doxml/compounddef.nit [deleted file]
contrib/neo_doxygen/src/doxml/doc_listener.nit [deleted file]
contrib/neo_doxygen/src/doxml/doxml.nit [deleted file]
contrib/neo_doxygen/src/doxml/doxyname.nit [deleted file]
contrib/neo_doxygen/src/doxml/entitydef.nit [deleted file]
contrib/neo_doxygen/src/doxml/language_specific.nit [deleted file]
contrib/neo_doxygen/src/doxml/listener.nit [deleted file]
contrib/neo_doxygen/src/doxml/memberdef.nit [deleted file]
contrib/neo_doxygen/src/graph_store.nit [deleted file]
contrib/neo_doxygen/src/model/class_compound.nit [deleted file]
contrib/neo_doxygen/src/model/descriptions.nit [deleted file]
contrib/neo_doxygen/src/model/graph.nit [deleted file]
contrib/neo_doxygen/src/model/inner_class.nit [deleted file]
contrib/neo_doxygen/src/model/linked_text.nit [deleted file]
contrib/neo_doxygen/src/model/location.nit [deleted file]
contrib/neo_doxygen/src/model/member.nit [deleted file]
contrib/neo_doxygen/src/model/model.nit [deleted file]
contrib/neo_doxygen/src/model/module_compound.nit [deleted file]
contrib/neo_doxygen/src/model/namespace_members.nit [deleted file]
contrib/neo_doxygen/src/model/type_entity.nit [deleted file]
contrib/neo_doxygen/src/neo_doxygen.nit [deleted file]
contrib/neo_doxygen/src/tests/README.md [deleted file]
contrib/neo_doxygen/src/tests/neo_doxygen_doc_module_class.nit [deleted file]
contrib/neo_doxygen/src/tests/neo_doxygen_dump.nit [deleted file]
contrib/neo_doxygen/src/tests/neo_doxygen_file_compound.nit [deleted file]
contrib/neo_doxygen/src/tests/neo_doxygen_graph_empty_project.nit [deleted file]
contrib/neo_doxygen/src/tests/neo_doxygen_namespace_members.nit [deleted file]
contrib/neo_doxygen/src/tests/tests.nit [deleted file]
contrib/neo_doxygen/tests/.gitattributes [deleted file]
contrib/neo_doxygen/tests/.gitignore [deleted file]
contrib/neo_doxygen/tests/Makefile [deleted file]
contrib/neo_doxygen/tests/README.md [deleted file]
contrib/neo_doxygen/tests/doxyproject.mk [deleted file]
contrib/neo_doxygen/tests/empty-project/Doxyfile [deleted file]
contrib/neo_doxygen/tests/empty-project/README.md [deleted file]
contrib/neo_doxygen/tests/empty-project/src/org/example/foo/void.txt [deleted file]
contrib/neo_doxygen/tests/empty-project/xml/combine.xslt [deleted file]
contrib/neo_doxygen/tests/empty-project/xml/compound.xsd [deleted file]
contrib/neo_doxygen/tests/empty-project/xml/index.xml [deleted file]
contrib/neo_doxygen/tests/empty-project/xml/index.xsd [deleted file]
contrib/neo_doxygen/tests/inner-class/Doxyfile [deleted file]
contrib/neo_doxygen/tests/inner-class/README.md [deleted file]
contrib/neo_doxygen/tests/inner-class/src/OuterClass.java [deleted file]
contrib/neo_doxygen/tests/inner-class/xml/_outer_class_8java.xml [deleted file]
contrib/neo_doxygen/tests/inner-class/xml/class_outer_class.xml [deleted file]
contrib/neo_doxygen/tests/inner-class/xml/class_outer_class_1_1_inner_class.xml [deleted file]
contrib/neo_doxygen/tests/inner-class/xml/combine.xslt [deleted file]
contrib/neo_doxygen/tests/inner-class/xml/compound.xsd [deleted file]
contrib/neo_doxygen/tests/inner-class/xml/dir_68267d1309a1af8e8297ef4c3efbcdba.xml [deleted file]
contrib/neo_doxygen/tests/inner-class/xml/index.xml [deleted file]
contrib/neo_doxygen/tests/inner-class/xml/index.xsd [deleted file]
contrib/neo_doxygen/tests/java-project/Doxyfile [deleted file]
contrib/neo_doxygen/tests/java-project/README.md [deleted file]
contrib/neo_doxygen/tests/java-project/src/org/example/foo/A.java [deleted file]
contrib/neo_doxygen/tests/java-project/src/org/example/foo/B.java [deleted file]
contrib/neo_doxygen/tests/java-project/src/org/example/foo/C.java [deleted file]
contrib/neo_doxygen/tests/java-project/src/org/example/foo/EmptyClass.java [deleted file]
contrib/neo_doxygen/tests/java-project/xml/_a_8java.xml [deleted file]
contrib/neo_doxygen/tests/java-project/xml/_b_8java.xml [deleted file]
contrib/neo_doxygen/tests/java-project/xml/_c_8java.xml [deleted file]
contrib/neo_doxygen/tests/java-project/xml/_empty_class_8java.xml [deleted file]
contrib/neo_doxygen/tests/java-project/xml/classorg_1_1example_1_1foo_1_1_a.xml [deleted file]
contrib/neo_doxygen/tests/java-project/xml/classorg_1_1example_1_1foo_1_1_b.xml [deleted file]
contrib/neo_doxygen/tests/java-project/xml/classorg_1_1example_1_1foo_1_1_empty_class.xml [deleted file]
contrib/neo_doxygen/tests/java-project/xml/combine.xslt [deleted file]
contrib/neo_doxygen/tests/java-project/xml/compound.xsd [deleted file]
contrib/neo_doxygen/tests/java-project/xml/dir_68267d1309a1af8e8297ef4c3efbcdba.xml [deleted file]
contrib/neo_doxygen/tests/java-project/xml/dir_8c35fc67c36f89d827afb23e8c52a418.xml [deleted file]
contrib/neo_doxygen/tests/java-project/xml/dir_ad5d6582648a7bbb3a301939a41e6c0b.xml [deleted file]
contrib/neo_doxygen/tests/java-project/xml/dir_b8e0663afee48cb679b74bbd21bdf843.xml [deleted file]
contrib/neo_doxygen/tests/java-project/xml/index.xml [deleted file]
contrib/neo_doxygen/tests/java-project/xml/index.xsd [deleted file]
contrib/neo_doxygen/tests/java-project/xml/interfaceorg_1_1example_1_1foo_1_1_c.xml [deleted file]
contrib/neo_doxygen/tests/java-project/xml/namespaceorg.xml [deleted file]
contrib/neo_doxygen/tests/java-project/xml/namespaceorg_1_1example.xml [deleted file]
contrib/neo_doxygen/tests/java-project/xml/namespaceorg_1_1example_1_1foo.xml [deleted file]
contrib/neo_doxygen/tests/python-def/Doxyfile [deleted file]
contrib/neo_doxygen/tests/python-def/README.md [deleted file]
contrib/neo_doxygen/tests/python-def/src/foo.py [deleted file]
contrib/neo_doxygen/tests/python-def/xml/combine.xslt [deleted file]
contrib/neo_doxygen/tests/python-def/xml/compound.xsd [deleted file]
contrib/neo_doxygen/tests/python-def/xml/dir_68267d1309a1af8e8297ef4c3efbcdba.xml [deleted file]
contrib/neo_doxygen/tests/python-def/xml/foo_8py.xml [deleted file]
contrib/neo_doxygen/tests/python-def/xml/index.xml [deleted file]
contrib/neo_doxygen/tests/python-def/xml/index.xsd [deleted file]
contrib/neo_doxygen/tests/python-def/xml/namespacefoo.xml [deleted file]
contrib/neo_doxygen/tests/root-namespace/Doxyfile [deleted file]
contrib/neo_doxygen/tests/root-namespace/README.md [deleted file]
contrib/neo_doxygen/tests/root-namespace/src/Foo.java [deleted file]
contrib/neo_doxygen/tests/root-namespace/xml/_foo_8java.xml [deleted file]
contrib/neo_doxygen/tests/root-namespace/xml/class_foo.xml [deleted file]
contrib/neo_doxygen/tests/root-namespace/xml/combine.xslt [deleted file]
contrib/neo_doxygen/tests/root-namespace/xml/compound.xsd [deleted file]
contrib/neo_doxygen/tests/root-namespace/xml/dir_68267d1309a1af8e8297ef4c3efbcdba.xml [deleted file]
contrib/neo_doxygen/tests/root-namespace/xml/index.xml [deleted file]
contrib/neo_doxygen/tests/root-namespace/xml/index.xsd [deleted file]
contrib/refund/.gitignore [deleted file]
contrib/refund/Makefile [deleted file]
contrib/refund/package.ini [deleted file]
contrib/refund/src/refund.nit [deleted file]
contrib/refund/src/refund_base.nit [deleted file]
contrib/refund/src/refund_json.nit [deleted file]
contrib/refund/tests/Makefile [deleted file]
contrib/refund/tests/client_error1.json [deleted file]
contrib/refund/tests/client_error2.json [deleted file]
contrib/refund/tests/client_error3.json [deleted file]
contrib/refund/tests/client_error4.json [deleted file]
contrib/refund/tests/contractA1.json [deleted file]
contrib/refund/tests/contractA2.json [deleted file]
contrib/refund/tests/contractA3.json [deleted file]
contrib/refund/tests/contractA4.json [deleted file]
contrib/refund/tests/contractA5.json [deleted file]
contrib/refund/tests/contractB1.json [deleted file]
contrib/refund/tests/contractB2.json [deleted file]
contrib/refund/tests/contractB3.json [deleted file]
contrib/refund/tests/contractB4.json [deleted file]
contrib/refund/tests/contractB5.json [deleted file]
contrib/refund/tests/contractC1.json [deleted file]
contrib/refund/tests/contractC2.json [deleted file]
contrib/refund/tests/contractC3.json [deleted file]
contrib/refund/tests/contractD1.json [deleted file]
contrib/refund/tests/contractD2.json [deleted file]
contrib/refund/tests/contractD3.json [deleted file]
contrib/refund/tests/contractD4.json [deleted file]
contrib/refund/tests/contractE1.json [deleted file]
contrib/refund/tests/contractE2.json [deleted file]
contrib/refund/tests/contractE3.json [deleted file]
contrib/refund/tests/contractE4.json [deleted file]
contrib/refund/tests/contract_error1.json [deleted file]
contrib/refund/tests/contract_error2.json [deleted file]
contrib/refund/tests/contract_error3.json [deleted file]
contrib/refund/tests/contract_error4.json [deleted file]
contrib/refund/tests/dossier_error1.json [deleted file]
contrib/refund/tests/json_error1.json [deleted file]
contrib/refund/tests/json_error2.json [deleted file]
contrib/refund/tests/json_error3.json [deleted file]
contrib/refund/tests/month_error1.json [deleted file]
contrib/refund/tests/month_error2.json [deleted file]
contrib/refund/tests/month_error3.json [deleted file]
contrib/refund/tests/month_error4.json [deleted file]
contrib/refund/tests/recl_date_error1.json [deleted file]
contrib/refund/tests/recl_date_error2.json [deleted file]
contrib/refund/tests/recl_date_error3.json [deleted file]
contrib/refund/tests/recl_date_error4.json [deleted file]
contrib/refund/tests/recl_error1.json [deleted file]
contrib/refund/tests/recl_error2.json [deleted file]
contrib/refund/tests/recl_error3.json [deleted file]
contrib/refund/tests/recl_error4.json [deleted file]
contrib/refund/tests/recl_fees_error1.json [deleted file]
contrib/refund/tests/recl_fees_error2.json [deleted file]
contrib/refund/tests/recl_fees_error3.json [deleted file]
contrib/refund/tests/recl_fees_error4.json [deleted file]
contrib/refund/tests/recl_soin_error1.json [deleted file]
contrib/refund/tests/recl_soin_error2.json [deleted file]
contrib/refund/tests/recl_soin_error3.json [deleted file]
contrib/refund/tests/res/client_error1.res [deleted file]
contrib/refund/tests/res/client_error2.res [deleted file]
contrib/refund/tests/res/client_error3.res [deleted file]
contrib/refund/tests/res/client_error4.res [deleted file]
contrib/refund/tests/res/contractA1.res [deleted file]
contrib/refund/tests/res/contractA2.res [deleted file]
contrib/refund/tests/res/contractA3.res [deleted file]
contrib/refund/tests/res/contractA4.res [deleted file]
contrib/refund/tests/res/contractA5.res [deleted file]
contrib/refund/tests/res/contractB1.res [deleted file]
contrib/refund/tests/res/contractB2.res [deleted file]
contrib/refund/tests/res/contractB3.res [deleted file]
contrib/refund/tests/res/contractB4.res [deleted file]
contrib/refund/tests/res/contractB5.res [deleted file]
contrib/refund/tests/res/contractC1.res [deleted file]
contrib/refund/tests/res/contractC2.res [deleted file]
contrib/refund/tests/res/contractC3.res [deleted file]
contrib/refund/tests/res/contractD1.res [deleted file]
contrib/refund/tests/res/contractD2.res [deleted file]
contrib/refund/tests/res/contractD3.res [deleted file]
contrib/refund/tests/res/contractD4.res [deleted file]
contrib/refund/tests/res/contractE1.res [deleted file]
contrib/refund/tests/res/contractE2.res [deleted file]
contrib/refund/tests/res/contractE3.res [deleted file]
contrib/refund/tests/res/contractE4.res [deleted file]
contrib/refund/tests/res/contract_error1.res [deleted file]
contrib/refund/tests/res/contract_error2.res [deleted file]
contrib/refund/tests/res/contract_error3.res [deleted file]
contrib/refund/tests/res/contract_error4.res [deleted file]
contrib/refund/tests/res/dossier_error1.res [deleted file]
contrib/refund/tests/res/json_error1.res [deleted file]
contrib/refund/tests/res/json_error2.res [deleted file]
contrib/refund/tests/res/json_error3.res [deleted file]
contrib/refund/tests/res/month_error1.res [deleted file]
contrib/refund/tests/res/month_error2.res [deleted file]
contrib/refund/tests/res/month_error3.res [deleted file]
contrib/refund/tests/res/month_error4.res [deleted file]
contrib/refund/tests/res/recl_date_error1.res [deleted file]
contrib/refund/tests/res/recl_date_error2.res [deleted file]
contrib/refund/tests/res/recl_date_error3.res [deleted file]
contrib/refund/tests/res/recl_date_error4.res [deleted file]
contrib/refund/tests/res/recl_error1.res [deleted file]
contrib/refund/tests/res/recl_error2.res [deleted file]
contrib/refund/tests/res/recl_error3.res [deleted file]
contrib/refund/tests/res/recl_error4.res [deleted file]
contrib/refund/tests/res/recl_fees_error1.res [deleted file]
contrib/refund/tests/res/recl_fees_error2.res [deleted file]
contrib/refund/tests/res/recl_fees_error3.res [deleted file]
contrib/refund/tests/res/recl_fees_error4.res [deleted file]
contrib/refund/tests/res/recl_soin_error1.res [deleted file]
contrib/refund/tests/res/recl_soin_error2.res [deleted file]
contrib/refund/tests/res/recl_soin_error3.res [deleted file]
contrib/refund/tests/tests.sh [deleted file]
contrib/wiringPi/README.md [deleted file]
contrib/wiringPi/examples/blink.nit [deleted file]
contrib/wiringPi/examples/read.nit [deleted file]
contrib/wiringPi/examples/shift.nit [deleted file]
contrib/wiringPi/lib/wiringPi.nit [deleted file]
contrib/wiringPi/package.ini [deleted file]
doc/manual/.gitignore [new file with mode: 0644]
doc/manual/Makefile [new file with mode: 0644]
doc/manual/attribute.md [new file with mode: 0644]
doc/manual/basic_type.md [new file with mode: 0644]
doc/manual/class.md [new file with mode: 0644]
doc/manual/constructor.md [new file with mode: 0644]
doc/manual/genericity.md [new file with mode: 0644]
doc/manual/makedoc.sh [new file with mode: 0755]
doc/manual/method.md [new file with mode: 0644]
doc/manual/module.md [new file with mode: 0644]
doc/manual/nitlanguage.sty [new file with mode: 0644]
doc/manual/nitreference.tex [new file with mode: 0644]
doc/manual/structure.md [new file with mode: 0644]
doc/manual/syntax.md [new file with mode: 0644]
doc/manual/variable.md [new file with mode: 0644]
doc/manual/virtual_type.md [new file with mode: 0644]
lib/github/api.nit
lib/github/cache.nit
lib/github/events.nit
lib/github/github_curl.nit [deleted file]
lib/github/hooks.nit
lib/github/loader.nit
lib/github/test_github_curl.nit [deleted file]
lib/github/tests/mock/repo_branches_nit.res
lib/github/tests/mock/repo_commits_4e3c68_status.res [new file with mode: 0644]
lib/github/tests/mock/repo_issues_comments_nit.res [new file with mode: 0644]
lib/github/tests/mock/repo_issues_events_nit.res [new file with mode: 0644]
lib/github/tests/mock/repo_issues_nit.res [new file with mode: 0644]
lib/github/tests/mock/repo_labels_nit.res [new file with mode: 0644]
lib/github/tests/mock/repo_milestones_nit.res [new file with mode: 0644]
lib/github/tests/mock/repo_nit_contributors.res [new file with mode: 0644]
lib/github/tests/mock/repo_pulls_945_comments.res [new file with mode: 0644]
lib/github/tests/mock/repo_pulls_nit.res [new file with mode: 0644]
lib/github/tests/mock/repo_search_issues_nit.res [new file with mode: 0644]
lib/github/tests/test_api.nit
lib/github/tests/test_wallet.nit [new file with mode: 0644]
lib/github/wallet.nit
lib/popcorn/pop_auth.nit
share/nitdoc/css/nitdoc.css
share/nitweb/stylesheets/nitlight.css
share/nitweb/stylesheets/nitweb.css
src/Makefile
src/compiler/abstract_compiler.nit
src/doc/commands/tests/test_commands.nit
src/doc/templates/html_model.nit
src/doc/templates/term_model.nit
src/doc/templates/tests/test_html_commands.sav/test_cmd_ancestors.res
src/doc/templates/tests/test_html_commands.sav/test_cmd_call.res
src/doc/templates/tests/test_html_commands.sav/test_cmd_children.res
src/doc/templates/tests/test_html_commands.sav/test_cmd_comment.res
src/doc/templates/tests/test_html_commands.sav/test_cmd_descendants.res
src/doc/templates/tests/test_html_commands.sav/test_cmd_mains.res
src/doc/templates/tests/test_html_commands.sav/test_cmd_mentities.res
src/doc/templates/tests/test_html_commands.sav/test_cmd_parents.res
src/doc/templates/tests/test_html_commands.sav/test_cmd_search.res
src/doc/templates/tests/test_json_commands.sav/test_cmd_ancestors.res
src/doc/templates/tests/test_json_commands.sav/test_cmd_call.res
src/doc/templates/tests/test_json_commands.sav/test_cmd_children.res
src/doc/templates/tests/test_json_commands.sav/test_cmd_descendants.res
src/doc/templates/tests/test_json_commands.sav/test_cmd_entity.res
src/doc/templates/tests/test_json_commands.sav/test_cmd_features.res
src/doc/templates/tests/test_json_commands.sav/test_cmd_mains.res
src/doc/templates/tests/test_json_commands.sav/test_cmd_mentities.res
src/doc/templates/tests/test_json_commands.sav/test_cmd_parents.res
src/doc/templates/tests/test_json_commands.sav/test_cmd_search.res
src/doc/templates/tests/test_json_model.nit
src/doc/templates/tests/test_json_model.sav/test_classdefs_to_full_json.res
src/doc/templates/tests/test_json_model.sav/test_classes_to_full_json.res
src/doc/templates/tests/test_json_model.sav/test_groups_to_full_json.res
src/doc/templates/tests/test_json_model.sav/test_modules_to_full_json.res
src/doc/templates/tests/test_json_model.sav/test_packages_to_full_json.res
src/doc/templates/tests/test_json_model.sav/test_propdefs_to_full_json.res
src/doc/templates/tests/test_json_model.sav/test_props_to_full_json.res
src/frontend/test_frontend.nit [new file with mode: 0644]
src/indexing/tests/test_code_index.nit
src/metrics/readme_metrics.nit
src/semantize/typing.nit
tests/nit.args
tests/nitc.args
tests/niti.skip
tests/nitvm.skip
tests/sav/nit_args9.res [new file with mode: 0644]
tests/sav/nitc_args12.res [new file with mode: 0644]
tests/sav/nitcatalog_args1.res
tests/sav/nitmetrics_args3.res

index 9e61e33..d24d5bd 100644 (file)
@@ -39,7 +39,7 @@ after_script:
   - export CCACHE_DIR=$PWD/.ccache
   - ccache -s
   - du -sh .gradle || true
-  - git status --ignored
+  - git status --ignored || true
   - date
   - tail status.txt
 
@@ -292,6 +292,22 @@ build_oot:
 
 # MISC ##############################################################
 
+check_requirments:
+  stage: more_test
+  image: debian:buster
+  before_script:
+    - date # cancel the default `before_script`, an empty list does nothing
+  script: # from the README
+    - apt-get update && apt-get install --yes --no-install-recommends build-essential ccache libgc-dev libunwind-dev pkg-config
+    - make
+    - bin/nitc examples/hello_world.nit
+    - ./hello_world
+    - . misc/nit_env.sh install
+    - nitc examples/hello_world.nit
+    - ./hello_world
+    - apt-get update && apt-get install --yes --no-install-recommends graphviz libcurl4-openssl-dev libevent-dev libmongoc-dev
+    - make more
+
 bootstrap_full:
   stage: more_test
   dependencies:
@@ -360,6 +376,16 @@ build_doc:
     paths:
       - nitdoc.out
 
+build_manual:
+  stage: more_test
+  script:
+    - apt-get update && apt-get install --yes --no-install-recommends pandoc texlive texlive-latex-extra lmodern
+    - make -C doc/manual
+  artifacts:
+    paths:
+      - doc/manual/*.pdf
+      - doc/manual/*.epub
+
 nitmetrics:
   stage: more_test
   dependencies:
@@ -381,8 +407,6 @@ build_catalog:
     - ./oot.sh pre-build
     - cd ..
     - nitcatalog -d catalog.out lib/ examples/ contrib/ contrib/oot/
-  dependencies:
-    - build_more_tools
   artifacts:
     paths:
       - catalog.out
@@ -405,3 +429,14 @@ test_full_nitcs_macos:
     - macos
   dependencies:
     - build_tools_macos
+
+bench_old:
+  stage: more_test
+  tags:
+    - perf
+  dependencies:
+    - build_tools
+  script:
+    - benchmarks/bench_old.sh
+  allow_failure: true # time is unreliable. manual check required
+  services: []
index 2679f4d..e499bbb 100644 (file)
--- a/README.md
+++ b/README.md
@@ -19,20 +19,19 @@ Requirements:
  * pkg-config  http://www.freedesktop.org/wiki/Software/pkg-config/
  * ccache      http://ccache.samba.org/        to improve recompilation
  * libgc-dev   http://hboehm.info/gc/
- * graphviz    http://www.graphviz.org/        to enable graphs with the nitdoc tool
  * libunwind   http://nongnu.org/libunwind
 
 Those are available in most Linux distributions
 
-    $ sudo apt-get install build-essential ccache libgc-dev graphviz libunwind-dev pkg-config
+    $ sudo apt-get install build-essential ccache libgc-dev libunwind-dev pkg-config
 
 and on OS X using brew
 
-    $ brew install ccache bdw-gc graphviz libunwind-headers pkgconfig
+    $ brew install ccache bdw-gc libunwind-headers pkgconfig
 
 or with MacPorts
 
-    $ sudo port install ccache boehmgc graphviz libunwind-headers pkgconfig
+    $ sudo port install ccache boehmgc libunwind-headers pkgconfig
 
 Important files and directories:
 
@@ -65,6 +64,20 @@ To have your environment automatically configured at login, just source it with
 
     $ . misc/nit_env.sh install
 
+
+More tools:
+
+Additional tools can also be compiled but require more dependencies.
+
+ * graphviz    http://www.graphviz.org/        to enable graphs with the nitdoc tool
+ * libcurl      https://curl.haxx.se/libcurl/   for the nit package manager nitpm
+ * libevent    https://libevent.org/           for the nit documentation server nitweb
+ * libmongoc    http://mongoc.org/              also for nitweb
+
+    $ sudo apt-get install graphviz libcurl4-openssl-dev libevent-dev libmongoc-dev
+    $ make more
+
+
 Contributing:
 
 To contribute to Nit, please see [CONTRIBUTING](CONTRIBUTING.md).
diff --git a/benchmarks/bench_old.sh b/benchmarks/bench_old.sh
new file mode 100755 (executable)
index 0000000..0111aa7
--- /dev/null
@@ -0,0 +1,87 @@
+#!/bin/bash
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# This shell script run and compare nitc with the one in origin/master
+
+# execute a command multiple time and store its executin metrics
+# $1 = output file (.tsv)
+# $2. = command to execute
+bench_one() {
+       out=$1
+       shift
+       > "$out"
+       echo "> $*"
+       echo -e "user\treal\t%cpu\tmem"
+       for i in `seq 6`; do
+               /usr/bin/time -o "$out" -a -f "%U\t%e\t%P\t%M" "$@" >/dev/null
+               tail -n 1 "$out"
+       done
+}
+
+# Get column $2, $3-th lowest value of tsv file $1
+get() {
+       cut -f "$2" < "$1" | sort -n | head -n "$3" | tail -n 1
+}
+
+# $1 + result% = $2
+percent() {
+       perl -e "printf '%+.1f', ($2/$1-1)*100;"
+}
+
+# compare two tsv generated by `bench_one`.
+# displays numbers and returns 1 if some execution metrics is above a threshold
+compare() {
+       # Chose the median value
+       u1=`get "$1" 1 3`
+       e1=`get "$1" 2 3`
+       m1=`get "$1" 4 3`
+       u2=`get "$2" 1 3`
+       e2=`get "$2" 2 3`
+       m2=`get "$2" 4 3`
+       ud=`percent "$u1" "$u2"`
+       ed=`percent "$e1" "$e2"`
+       md=`percent "$m1" "$m2"`
+       echo "Before: user=$u1 real=$e1 mem=$m1"
+       echo "After: user=$u2 ($ud%) real=$e2 ($ed%) mem=$m2 ($md%)"
+       # Fail if above threshold
+       perl -e "exit ($ud>=3 || $ed>=5 || $md>=0.3)"
+}
+
+set -e
+#set -x
+
+old=`git show --pretty="%h %D" --no-patch origin/master`
+new=`git show --pretty="%h %D" --no-patch`
+if [ ! -f bin/nitc_old ]; then
+       git checkout origin/master
+       nitc --semi-global src/nitc.nit -o bin/nitc_old -v
+       nitc --semi-global src/nit.nit -o bin/nit_old -v
+       git checkout -
+fi
+
+bench_one "nitc_old.tsv" nitc_old --no-cc src/nitc.nit
+bench_one "nitc_new.tsv" nitc --no-cc src/nitc.nit
+bench_one "nit_old.tsv" nit_old -- src/nitls.nit -p lib/core
+bench_one "nit_new.tsv" nit -- src/nitls.nit -p lib/core
+
+echo
+echo "Before is $old"
+echo "After is $new"
+echo "For nitc src/nitls.nit:"
+ret=0
+compare "nitc_old.tsv" "nitc_new.tsv" || ret=1
+echo "For nit src/nitls.nit -p lib/core:"
+compare "nit_old.tsv" "nit_new.tsv" || ret=1
+exit "$ret"
index f0717ff..cdb9de5 100644 (file)
 # Query the Github PR API to perform a merge
 module github_merge
 
-import github::github_curl
+import github::api
 import template
 import config
 
-redef class Object
-       # Factorize cast
-       fun json_as_a: JsonArray do return self.as(JsonArray)
-       # Factorize cast
-       fun json_as_map: JsonObject do return self.as(JsonObject)
-end
+redef class GithubAPI
 
-redef class GithubCurl
-       # Get a given pull request (PR)
-       fun getpr(repo: String, number: Int): nullable JsonObject
-       do
-               var ir = get_and_check("https://api.github.com/repos/{repo}/issues/{number}")
-               var irm = ir.json_as_map
-               if not irm.has_key("pull_request") then return null
-               var pr = get_and_check("https://api.github.com/repos/{repo}/pulls/{number}")
-               var prm = pr.json_as_map
-               var sha = prm["head"].json_as_map["sha"].to_s
-               var statuses = get_and_check("https://api.github.com/repos/{repo}/commits/{sha}/status")
-               statuses = statuses.json_as_map
-               prm["statuses"] = statuses
-               print "{prm["title"].to_s}: by {prm["user"].json_as_map["login"].to_s} (# {prm["number"].to_s})"
-               var mergeable = prm["mergeable"]
-               if mergeable != null then
-                       print "\tmergeable: {mergeable.to_s}"
-               else
-                       print "\tmergeable: unknown"
-               end
-               var state = statuses["state"]
-               if state == null then
-                       print "\tstatus: not tested"
-               else
-                       print "\tstatus: {state}"
-                       var sts = statuses["statuses"].json_as_a
-                       for st in sts do
-                               st = st.json_as_map
-                               var ctx = st["context"].to_s
-                               state = st["state"].to_s
-                               print "\tstatus {ctx}: {state}"
-                               prm["status-{ctx}"] = state
-                       end
-               end
-               return prm
+       # Get a given pull request and its state
+       private fun get_pull_with_state(repo: String, number: Int): nullable PullState do
+               var pull = get_pull(repo, number)
+               if not pull isa PullRequest then return null
+
+               var statuses = get_commit_status(repo, pull.head.sha)
+               if not statuses isa CommitStatus then return null
+
+               return new PullState(pull, statuses)
        end
 
        # Get reviewers of a PR
-       fun getrev(repo: String, pr: JsonObject): Array[String]
-       do
-               var number = pr["number"].as(Int)
-               var user = pr["user"].json_as_map["login"].as(String)
-               var comments = new Array[nullable Object]
-               comments.add_all(get_and_check("https://api.github.com/repos/{repo}/issues/{number}/comments").json_as_a)
-               comments.add_all(get_and_check("https://api.github.com/repos/{repo}/pulls/{number}/comments").json_as_a)
+       private fun get_pull_reviewers(repo: String, pull: PullRequest): Array[String] do
+               var user = pull.user.as(not null).login
+
+               var comments = new Array[Comment]
+               comments.add_all(get_issue_comments(repo, pull.number))
+               comments.add_all(get_pull_comments(repo, pull.number))
+
                var logins = new Array[String]
-               for c in comments do
-                       var cm = c.json_as_map
-                       var l = cm["user"].json_as_map["login"]
-                       assert l isa String
-                       if l != user and not logins.has(l) then logins.add(l)
+               for comment in comments do
+                       var login = comment.user.login
+                       if login != user and not logins.has(login) then logins.add(login)
                end
                var res = new Array[String]
-               for l in logins do
-                       var u = get_and_check("https://api.github.com/users/{l}").json_as_map
-                       if not u.has_key("name") or u["name"] == null or not u.has_key("email")or u["email"] == null then
-                               print "No public name/email for user {l}"
+               for login in logins do
+                       var rev = get_user(login)
+                       if rev == null or rev.name == null or rev.email == null then
+                               print "No public name/email for user {login}"
                                continue
                        end
-                       var r = "{u["name"].to_s} <{u["email"].to_s}>"
-                       res.add r
-
+                       res.add "{rev.name or else "N/A"} <{rev.email or else "N/A"}>"
                end
                return res
        end
+end
+
+private class PullState
+       var pull: PullRequest
+       var status: CommitStatus
+
+       fun pretty: String do
+               var s = new Buffer
+               s.append "{pull.title}: by {pull.user.as(not null).login} (# {pull.number})\n"
+               s.append "\tmergeable: {pull.mergeable or else "unknown"}\n"
+               s.append "\tstatus: {status.state or else "not tested"}\n"
+               for sub in status.statuses do
+                       s.append "\tstatus {sub.context or else "N/A"}: {sub.state or else "N/A"}\n"
+               end
+               return s.write_to_string
+       end
 
+       fun state_for(context: String): nullable String do
+               for sub in status.statuses do
+                       if sub.context == context then return sub.state
+               end
+               return null
+       end
 end
 
 if "NIT_TESTING".environ == "true" then exit 0
 
 var opt_repo = new OptionString("Repository (e.g. nitlang/nit)", "-r", "--repo")
 var opt_auth = new OptionString("OAuth token", "--auth")
-var opt_query = new OptionString("Query to get issues (e.g. label=ok_will_merge)", "-q", "--query")
+var opt_query = new OptionString("Query to get issues (e.g. label:ok_will_merge)", "-q", "--query")
 var opt_keepgoing = new OptionBool("Skip merge conflicts", "-k", "--keep-going")
 var opt_all = new OptionBool("Merge all", "-a", "--all")
 var opt_status = new OptionArray("A status context that must be \"success\" (e.g. default)", "--status")
@@ -131,23 +118,32 @@ var repo = opt_repo.value or else "nitlang/nit"
 
 var query = opt_query.value or else "labels=ok_will_merge"
 
-var curl = new GithubCurl(auth, "Merge-o-matic (nitlang/nit)")
+var api = new GithubAPI(auth, "Merge-o-matic (nitlang/nit)")
 
 if args.is_empty then
        # Without args, list `ok_will_merge`
-       var x = curl.get_and_check("https://api.github.com/repos/{repo}/issues?{query}")
+       var issues = api.search_repo_issues(repo, query)
+       if issues == null or issues.items.is_empty then
+               print "No issues for query `{query}`."
+               exit 1
+       end
        var list = new Array[String]
-       for y in x.json_as_a do
-               var number = y.json_as_map["number"].as(Int)
-               var pr = curl.getpr(repo, number)
-               if pr == null then continue
+       for issue in issues.as(not null).items do
+               if not issue isa Issue then continue
+               if not issue.is_pull_request then continue
+
+               var state = api.get_pull_with_state(repo, issue.number)
+               if not state isa PullState then continue
+
+               print state.pretty
                for ctx in opt_status.value do
-                       if pr.get_or_null("status-{ctx}") != "success" then
+                       if state.state_for(ctx) != "success" then
                                print "No \"success\" for {ctx}. Skip."
-                               continue label
+                               # continue label
                        end
                end
-               list.add number.to_s
+
+               list.add issue.number.to_s
        end label
 
        if not opt_all.value then return
@@ -157,23 +153,24 @@ end
 for arg in args do
        # With a arg, merge the PR
        var number = arg.to_i
-       var pr = curl.getpr(repo, number)
-       if pr == null then
+       var pull = api.get_pull(repo, number)
+       if pull == null then
                print "Not a PR: {number}"
                return
        end
-       var revs = curl.getrev(repo, pr)
+
+       var revs = api.get_pull_reviewers(repo, pull)
 
        var mergemsg = new Template
-       mergemsg.add "Merge: {pr["title"].to_s}\n\n"
-       mergemsg.add "{pr["body"].to_s}\n\n"
-       mergemsg.add "Pull-Request: #{pr["number"].to_s}\n"
-       for r in revs do
-               mergemsg.add "Reviewed-by: {r}\n"
+       mergemsg.add "Merge: {pull.title}\n\n"
+       mergemsg.add "{pull.body or else "N/A"}\n\n"
+       mergemsg.add "Pull-Request: #{pull.number}\n"
+       for rev in revs do
+               mergemsg.add "Reviewed-by: {rev}\n"
        end
        mergemsg.write_to_file("mergemsg")
 
-       var sha = pr["head"].json_as_map["sha"].as(String)
+       var sha = pull.head.sha
        if system("git show -s --pretty=format:%h {sha}") != 0 then
                print "Commit {sha} not in local repository; did you fetch github?"
                return
index 8029b2e..f9927c1 100644 (file)
@@ -17,7 +17,8 @@
 # Script to scan Github for repositories possibly using JNI.
 module github_search_for_jni
 
-import github::github_curl
+import github::api
+import json::static
 
 # The proprieties introduced by this redef are to be used only on a JSON object
 # representing a Github repository.
@@ -51,8 +52,8 @@ end
 # Query sent to Github
 var main_query = "language:java"
 
-# Curl instance use for all requests
-var curl = new GithubCurl("OAUTH TOKEN (replace with your own)", "JNI project finder (nitlanguage.org)")
+# API client instance use for all requests
+var api = new GithubAPI("OAUTH TOKEN (replace with your own)", "JNI project finder (nitlanguage.org)")
 
 if "NIT_TESTING".environ == "true" then exit 0
 
@@ -61,8 +62,8 @@ var page = 0
 var per_page = 100
 loop
        # Get a page of the main query
-       var uri = "https://api.github.com/search/repositories?q={main_query}&page={page}&per_page={per_page}&sort=stars"
-       var obj = curl.get_and_check(uri).as(JsonObject)
+       var uri = "/search/repositories?q={main_query}&page={page}&per_page={per_page}&sort=stars"
+       var obj = api.send("GET", uri).parse_json.as(JsonObject)
 
        # Main object has "total_count" and "items"
        var items = obj["items"].as(JsonArray)
@@ -77,7 +78,7 @@ loop
 
                # Download the language list
                var lang_url = item["languages_url"].as(String)
-               var langs = curl.get_and_check(lang_url).as(JsonObject)
+               var langs = api.send("GET", lang_url).parse_json.as(JsonObject)
 
                # The project is of interest if it has lots of Java and at least some C
                var may_be_of_interest = langs.has_lots_of_java and langs.has_some_c
diff --git a/contrib/neo_doxygen/Makefile b/contrib/neo_doxygen/Makefile
deleted file mode 100644 (file)
index ccda8cb..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-NITC ?= nitc
-NITLS ?= nitls
-NITUNIT ?= nitunit
-NITDOC ?= nitdoc
-
-NEO4J_DIR=/var/lib/neo4j
-OLD_PWD=${PWD}
-
-.PHONY: all
-all: bin/neo_doxygen
-
-bin/neo_doxygen: $(shell $(NITLS) -M src/neo_doxygen.nit)
-       mkdir -p bin/
-       $(NITC) src/neo_doxygen.nit -o bin/neo_doxygen
-
-.PHONY: check
-check:
-       $(NITUNIT) .
-
-# Reset the local graph.
-.PHONY: reset-neo
-reset-neo:
-       sudo -u neo4j "${NEO4J_DIR}/bin/neo4j" stop \
-               && sudo -u neo4j rm -rf "${NEO4J_DIR}/data/graph.db" \
-               && sudo -u neo4j "${NEO4J_DIR}/bin/neo4j" start
-
-# Regenerate the XML documents in `tests`.
-.PHONY: tests
-tests:
-       $(MAKE) -C tests
-
-# Run the tests.
-.PHONY: run-tests
-run-tests:
-       cd ../../tests; \
-               ./tests.sh ../contrib/neo_doxygen/src/tests/neo_doxygen_*.nit ; \
-               cd "${OLD_PWD}"
-
-.PHONY: doc
-doc:
-       $(NITDOC) . -o doc/
-
-.PHONY: clean
-clean:
-       rm -rf bin/
-       rm -rf doc/
diff --git a/contrib/neo_doxygen/README.md b/contrib/neo_doxygen/README.md
deleted file mode 100644 (file)
index c33e770..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-# neo_doxygen
-
-This project provides a tool to convert a Doxygen XML output into a model in
-Neo4j that is readable by the `nx` tool.
-
-
-## Installation
-
-Ensure that you have a working version of `nitc` in `../../bin` then run `make`
-in the present directory. The executable will be then generated at
-`bin/neo_doxygen`.
-
-
-## Usage
-
-Here is the procedure to generate an HTML documentation of a project using the
-formatting of Nitdoc:
-
-1. First run Doxygen to generate an XML output of the documentation. In order to do
-this, you have to enable the `GENERATE_XML` option. Note that you can disable
-the `XML_PROGRAMLISTING` to speed up the process and save disk space.
-
-       <strong>Important</strong>
-
-       `neo_doxygen` do not read the `index.xml` file to know which file to load. As a
-       result, it may read files let by previous runs of Doxygen. To avoid producing
-       garbage, always clear the destination directory of the XML files before running
-       Doxygen.
-
-       Example: `rm -rf doxygen/xml && doxygen Doxyfile`
-
-2. Use `bin/neo_doxygen` to generate the Neo4j graph. For details, run
-`bin/neo_doxygen --help`.
-
-       <strong>Important</strong>
-
-       `neo_doxygen` do not remove what is already in the graph. So, you have to
-       manualy clear the graph (or at least, the subgraph contaning all the nodes
-       labelled with the specified project name) between each run.
-
-       For an example of how to delete an entire Neo4j database, see
-       `make reset-neo`.
-
-       Example: `make reset-neo && neo_doxygen my_project doxygen/xml`
-
-3. Use the `nx` tool to generate the HTML documentation from the previously
-generated graph.
-
-       Note: `nx` need to be configured before usage. For more details, refer to
-       the documentation of `nx`.
-
-       Example: `nx neo doc my_project`
-
-
-## Shell scripts
-
-The two shell scripts (`gen-one.sh` and `gen-all.sh`) are provided to automate
-the execution of `neo_doxygen` and `nx` for some typical cases and to give a
-starting for the development of similar scripts. In order for them to work,
-each project on which they operate **must** contain the following files:
-
- * The `.nx_config` configuration file for the `nx` tool, located at the root
-       of the project.
-
- * The XML documents generated by Doxygen, located in the `doxygen/xml`
-       directory.
-
-Also, they **must** be run with the current working directory set to the present
-directory. `gen-one.sh` handle only one project at a time while `gen-all.sh`
-works on a collection of projects grouped in a directory. For detail about how
-to invoke each script, see the comments in these scripts.
-
-
-## Brief descriptions
-
-To populate the first line of a description (used as brief description in
-Nitdoc), `neo_doxygen` uses the brief description provided by Doxygen. So, you
-may need to change settings like `JAVADOC_AUTOBRIEF`, `QT_AUTOBRIEF` and
-`MULTILINE_CPP_IS_BRIEF` in Doxygen to make `neo_doxygen` properly split the
-brief description from the detailed description. In absence of brief
-description, `neo_doxygen` will use the first block (usually, the first
-paragraph) of the detailed as brief description.
-
-
-## Python
-
-The built-in filter of Doxygen for Python is very basic. For example, it
-recognizes anything in the “docstrings” as verbatim detailed description. In
-order to enhance the processing of the Python scripts, the
-[doxypypy](https://github.com/Feneric/doxypypy) filter may be used.
diff --git a/contrib/neo_doxygen/gen-all.sh b/contrib/neo_doxygen/gen-all.sh
deleted file mode 100755 (executable)
index 4a19e9a..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-#! /bin/bash
-
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# ./gen-all.sh <source_language> <directory>
-#
-# Document all projects in the specified directory.
-#
-# Projects are direct sub-directories of the specified directory.
-# Every project directory must contain a `.nx_config` file.
-# Also, every project must include the Doxygen XML output in its `doxygen/xml`
-# directory.
-
-for dir in "$2"/*; do
-       if [ -d "$dir" ]; then
-               if [ -f "$dir/.nx_config" ]; then
-                       # Note: gen-one.sh already prints errors.
-                       ./gen-one.sh "$1" "$dir" || exit
-               fi
-       fi
-done
diff --git a/contrib/neo_doxygen/gen-one.sh b/contrib/neo_doxygen/gen-one.sh
deleted file mode 100755 (executable)
index 2621c8d..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-#! /bin/bash
-
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# ./gen-one.sh <source_language> <directory>
-#
-# Document the project in the specified directory.
-#
-# The project name is the basename of the specified directory.
-# The project directory must contain a `.nx_config` file.
-# Also, the directory must include the Doxygen XML output in its `doxygen/xml`
-# subdirectory.
-
-NEO_DOXYGEN="${PWD}/bin/neo_doxygen"
-NX="${PWD}/../../bin/nx"
-dir=$2
-
-. sh-lib/errors.sh
-
-echo "$0: Documenting \"${dir##*/}\"..."
-pushd "$dir"
-try "$NEO_DOXYGEN" --src-lang "$1" --dest http://localhost:7474 -- "${dir##*/}" "$dir/doxygen/xml"
-try echo "$0: [done] neo_doxygen"
-try "$NX" neo doc "${dir##*/}"
-try echo "$0: [done] nx"
-popd
diff --git a/contrib/neo_doxygen/package.ini b/contrib/neo_doxygen/package.ini
deleted file mode 100644 (file)
index 3abb23b..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-[package]
-name=neo_doxygen
-tags=devel,cli
-maintainer=Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>
-license=Apache-2.0
-desc=neo_doxygen, a tool to convert a Doxygen XML output into a Neo4j model
-[upstream]
-browse=https://github.com/nitlang/nit/tree/master/contrib/neo_doxygen/
-git=https://github.com/nitlang/nit.git
-git.directory=contrib/neo_doxygen/
-homepage=http://nitlanguage.org
-issues=https://github.com/nitlang/nit/issues
diff --git a/contrib/neo_doxygen/sh-lib/README.md b/contrib/neo_doxygen/sh-lib/README.md
deleted file mode 100644 (file)
index ade333a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Libraries used by shell scripts.
diff --git a/contrib/neo_doxygen/sh-lib/errors.sh b/contrib/neo_doxygen/sh-lib/errors.sh
deleted file mode 100644 (file)
index dc5335b..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-#! /bin/bash
-
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Error handling.
-
-# The program’s name.
-prog_name=$0
-
-# Run the specified command and exit in case of error.
-function try {
-       "$@"
-       local status=$?
-       if [ $status -ne 0 ]; then
-               >&2 echo "${prog_name}: Error: \`$1\` failed with exit status ${status}."
-               trace
-               exit "$status"
-       fi
-       return 0
-}
-
-# Print the stack trace.
-function trace {
-       local frame=0
-       >&2 caller $frame
-       local has_next=$?
-       while [ $has_next = 0 ]; do
-               ((frame++));
-               >&2 caller $frame
-               has_next=$?
-       done
-       >&2 echo "---"
-       return 0
-}
diff --git a/contrib/neo_doxygen/sh-lib/more_sed.sh b/contrib/neo_doxygen/sh-lib/more_sed.sh
deleted file mode 100644 (file)
index db58b69..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-#! /bin/sh
-
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Functions related to the `sed` utility.
-
-# Replace `$1` by `$2` in the specified files (the rest of the arguments).
-#
-# Replacements are done in place.
-#
-# SETS: `local_1`
-# SETS: `local_2`
-replace() {
-       local_1=`escape_to_bre "$1"`
-       local_2=`escape_to_bre "$2"`
-       shift 2
-       sed -s -i -e s."${local_1}"."${local_2}".g -- "$@"
-       unset local_1
-       unset local_2
-}
-
-# Escape `$1` for inclusion in a POSIX BRE.
-escape_to_bre() {
-       echo "$1" | sed -e 's/\*\|\.\|\^\|\$\|\[\|\\/\\\0/g'
-}
diff --git a/contrib/neo_doxygen/src/doxml/compounddef.nit b/contrib/neo_doxygen/src/doxml/compounddef.nit
deleted file mode 100644 (file)
index b1f7eaa..0000000
+++ /dev/null
@@ -1,192 +0,0 @@
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# `compounddef` element reading.
-module doxml::compounddef
-
-import memberdef
-import doxyname
-import more_collections
-
-# Processes the content of a `compounddef` element.
-class CompoundDefListener
-       super EntityDefListener
-
-       # The defined compound.
-       var compound: Compound is writable, noinit
-
-       private var memberdef: MemberDefListener is noinit
-       private var param_listener: TypeParamListener is noinit
-
-       # Default attributes for members in the current section.
-       private var member_defaults: MemberDefaults is noinit
-
-       # For each section kind, default attributes for member in that section.
-       private var section_kinds: DefaultMap[String, MemberDefaults] is noinit
-
-
-       # Attributes of the current `<basecompoundref>` element.
-
-       private var refid = ""
-       private var prot = ""
-       private var virt = ""
-
-
-       init do
-               super
-               var defaults = new MemberDefaults("public", false, false)
-
-               memberdef = new MemberDefListener(reader, self)
-               param_listener = new TypeParamListener(reader, self)
-
-               member_defaults = defaults
-               section_kinds = new DefaultMap[String, MemberDefaults](defaults)
-
-               # public
-               section_kinds["public-type"] = defaults
-               section_kinds["public-func"] = defaults
-               section_kinds["public-attrib"] = defaults
-               section_kinds["public-slot"] = defaults
-               # public static
-               defaults = new MemberDefaults("public", true, false)
-               section_kinds["public-static-func"] = defaults
-               section_kinds["public-static-attrib"] = defaults
-               # Not scoped => public static
-               section_kinds["signal"] = defaults
-               section_kinds["dcop-func"] = defaults
-               section_kinds["property"] = defaults
-               section_kinds["event"] = defaults
-               section_kinds["define"] = defaults
-               section_kinds["typedef"] = defaults
-               section_kinds["enum"] = defaults
-               section_kinds["func"] = defaults
-               section_kinds["var"] = defaults
-
-               # protected
-               defaults = new MemberDefaults("protected", false, false)
-               section_kinds["protected-type"] = defaults
-               section_kinds["protected-func"] = defaults
-               section_kinds["protected-attrib"] = defaults
-               section_kinds["protected-slot"] = defaults
-               # protected static
-               defaults = new MemberDefaults("protected", true, false)
-               section_kinds["protected-static-func"] = defaults
-               section_kinds["protected-static-attrib"] = defaults
-
-               # package
-               defaults = new MemberDefaults("package", false, false)
-               section_kinds["package-type"] = defaults
-               section_kinds["package-func"] = defaults
-               section_kinds["package-attrib"] = defaults
-               # package static
-               defaults = new MemberDefaults("package", true, false)
-               section_kinds["package-static-func"] = defaults
-               section_kinds["package-static-attrib"] = defaults
-
-               # private
-               defaults = new MemberDefaults("private", false, false)
-               section_kinds["private-type"] = defaults
-               section_kinds["private-func"] = defaults
-               section_kinds["private-attrib"] = defaults
-               section_kinds["private-slot"] = defaults
-               # private static
-               defaults = new MemberDefaults("private", true, false)
-               section_kinds["private-static-func"] = defaults
-               section_kinds["private-static-attrib"] = defaults
-
-               # Special sections.
-               # TODO Do something these sections.
-               defaults = new MemberDefaults("public", true, true)
-               section_kinds["related"] = defaults
-               section_kinds["user-defined"] = defaults
-               # TODO Determine what `friend` and `prototype` mean.
-       end
-
-       redef fun entity: Entity do return compound
-
-       redef fun start_dox_element(local_name: String, atts: Attributes) do
-               if "compoundname" == local_name then
-                       text.listen_until(dox_uri, local_name)
-               else if ["innerclass", "innernamespace", "basecompoundref"].has(local_name) then
-                       prot = get_optional(atts, "prot", "")
-                       text.listen_until(dox_uri, local_name)
-                       if "basecompoundref" == local_name then
-                               refid = get_optional(atts, "refid", "")
-                               virt = get_optional(atts, "virt", "")
-                       else
-                               refid = get_required(atts, "refid")
-                       end
-               else if "memberdef" == local_name then
-                       read_member(atts)
-               else if "sectiondef" == local_name then
-                       member_defaults = section_kinds[get_required(atts, "kind")]
-                       if member_defaults.is_special then
-                               super # TODO
-                       end
-               else if "param" == local_name then
-                       param_listener.listen_until(dox_uri, local_name)
-               else if "templateparamlist" != local_name then
-                       super
-               end
-       end
-
-       redef fun end_dox_element(local_name: String) do
-               if "compoundname" == local_name then
-                       compound.doxyname = text.to_s
-               else if "innerclass" == local_name then
-                       compound.doxygen_declare_class(refid, text.to_s, prot)
-               else if "innernamespace" == local_name then
-                       compound.declare_namespace(refid, text.to_s)
-               else if "memberdef" == local_name then
-                       if not (memberdef.member isa UnknownMember) then
-                               compound.declare_member(memberdef.member)
-                       end
-               else if "basecompoundref" == local_name then
-                       compound.declare_super(refid, text.to_s, prot, virt)
-               else if "param" == local_name and compound isa ClassCompound then
-                       compound.as(ClassCompound).add_type_parameter(param_listener.parameter)
-               else
-                       super
-               end
-       end
-
-       private fun read_member(atts: Attributes) do
-               var kind = get_required(atts, "kind")
-
-               create_member(kind)
-               memberdef.member.model_id = get_required(atts, "id")
-               memberdef.member.visibility = get_optional(atts, "prot",
-                               member_defaults.visibility)
-       end
-
-       private fun create_member(kind: String) do
-               if kind == "variable" then
-                       memberdef.member = new Attribute(compound.graph)
-               else if kind == "function" then
-                       memberdef.member = new Method(compound.graph)
-               else
-                       memberdef.member = new UnknownMember(compound.graph)
-                       noop.listen_until(dox_uri, "memberdef")
-                       return
-               end
-               memberdef.listen_until(dox_uri, "memberdef")
-       end
-end
-
-# Default attributes for members in the current section.
-private class MemberDefaults
-       var visibility: String
-       var is_static: Bool
-       var is_special: Bool
-end
diff --git a/contrib/neo_doxygen/src/doxml/doc_listener.nit b/contrib/neo_doxygen/src/doxml/doc_listener.nit
deleted file mode 100644 (file)
index 05ecd35..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Documentation reading.
-module doxml::doc_listener
-
-import listener
-import html
-
-# Processes documentation.
-class DocListener
-       super TextListener
-
-       # The read documentation.
-       var doc = new Documentation is writable
-
-       # Mapping between the type of a Doxygen element and the corresponding
-       # factory.
-       private var factories = new HashMap[String, HtmlElementFactory]
-
-       private var element_stack = new Array[HTMLTag]
-
-       # Does the next block have to be added to the detailed description?
-       private var in_detailed_description = false
-
-       redef fun listen_until(uri, local_name) do
-               super
-               if local_name == "briefdescription" then
-                       in_detailed_description = false
-               else
-                       in_detailed_description = true
-               end
-       end
-
-       redef fun start_dox_element(local_name, atts) do
-               super
-               var factory = factories.get_or_null(local_name)
-               if factory == null then return
-               element_stack.push(factory.create_element(local_name, atts))
-       end
-
-       redef fun end_dox_element(local_name) do
-               super
-               if not factories.has_key(local_name) then return
-               if element_stack.is_empty then return
-               var current_element = element_stack.pop
-               current_element.append(flush_buffer.trim)
-               if element_stack.is_empty then add_block(current_element.write_to_string)
-       end
-
-       redef fun end_listening do
-               super
-               if not element_stack.is_empty then
-                       var current_element = element_stack.first.write_to_string
-                       add_block(current_element)
-               end
-               add_block(flush_buffer.trim)
-               element_stack.clear
-       end
-
-       private fun add_block(block: String) do
-               if block.is_empty then return
-               if in_detailed_description then
-                       doc.add(block)
-               else
-                       doc.brief_description = block
-                       in_detailed_description = true
-               end
-       end
-end
-
-# Provides a mean to create a certain kind of HTML elements.
-private abstract class HtmlElementFactory
-       # Create a new empty HTML element.
-       #
-       # Parameters:
-       #
-       # * `local_name`: Type of the Doxygen element that will be represented by
-       # the HTML element.
-       # * `attributes`: Attributes of the Doxygen element that will be
-       # represented by the HTML element.
-       fun create_element(local_name: String, attributes: Attributes): HTMLTag is abstract
-end
diff --git a/contrib/neo_doxygen/src/doxml/doxml.nit b/contrib/neo_doxygen/src/doxml/doxml.nit
deleted file mode 100644 (file)
index 280334a..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Doxygen’s XML documents reading.
-module doxml
-
-import compounddef
-
-# Reader for XML documents whose the schema is `compound.xsd`.
-class CompoundFileReader
-       super DoxmlListener
-
-       # The project graph.
-       var model: ProjectGraph
-
-       # The language-specific strategies to use.
-       redef var source_language: SourceLanguage
-
-       private var reader: XMLReader = new XophonReader
-       private var compounddef: CompoundDefListener is noinit
-       private var noop: NoopListener is noinit
-
-       init do
-               compounddef = new CompoundDefListener(reader, self)
-               noop = new NoopListener(reader, self)
-       end
-
-       redef fun graph do return model
-
-       # Read the document at the specified path.
-       fun read(path: String) do
-               reader.content_handler = self
-               reader.parse_file(path)
-               compounddef.compound = new UnknownCompound(model)
-       end
-
-       redef fun start_dox_element(local_name: String, atts: Attributes) do
-               if local_name == "compounddef" then
-                       read_compound(atts)
-               else if "doxygen" != local_name then
-                       noop.listen_until(dox_uri, local_name)
-               end
-       end
-
-       private fun read_compound(atts: Attributes) do
-               var kind = get_required(atts, "kind")
-
-               create_compound(kind)
-               # TODO Make all values of `kind` and `visibility` compatible with the Nit meta-model.
-               if get_bool(atts, "final") then
-                       kind = "final {kind}"
-               end
-               if get_bool(atts, "sealed") then
-                       kind = "sealed {kind}"
-               end
-               if get_bool(atts, "abstract") then
-                       kind = "abstract {kind}"
-               end
-               compounddef.compound.kind = kind
-               compounddef.compound.model_id = get_required(atts, "id")
-               compounddef.compound.visibility = get_optional(atts, "prot", "")
-       end
-
-       private fun create_compound(kind: String) do
-               if kind == "file" then
-                       compounddef.compound = new FileCompound(model)
-               else if kind == "namespace" then
-                       compounddef.compound = new Namespace(model)
-               else if kind == "class" or kind == "interface" or kind == "enum" then
-                       compounddef.compound = new ClassCompound(model)
-               else
-                       compounddef.compound = new UnknownCompound(model)
-                       noop.listen_until(dox_uri, "compounddef")
-                       return
-               end
-               compounddef.listen_until(dox_uri, "compounddef")
-       end
-end
diff --git a/contrib/neo_doxygen/src/doxml/doxyname.nit b/contrib/neo_doxygen/src/doxml/doxyname.nit
deleted file mode 100644 (file)
index 65637df..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Adds a methods to convert Doxygen’s names into short names.
-module doxml::doxyname
-
-import model
-
-redef class Compound
-
-       # Separator used by Doxygen to separate name’s components.
-       protected fun doxyname_separator: String do return "::"
-
-       # Set the `name` using the specified name generated by Doxygen.
-       fun doxyname=(doxyname: String) do
-               name = doxyname.to_short_name(doxyname_separator)
-       end
-
-       # Declare an inner class.
-       #
-       # Note: Althought Doxygen indicates that both arguments are optional,
-       # declarations with an empty ID are not supported yet.
-       #
-       # Parameters:
-       #
-       # * `id`: `model_id` of the inner class.
-       # * `doxyname`: qualified name of the inner class, as generated by Doxygen.
-       # * `prot`: visibility (proctection).
-       #
-       # TODO: Handle cases where only the `doxyname` is available.
-       fun doxygen_declare_class(id: String, doxyname: String, prot: String) do
-               declare_class(id, doxyname.to_short_name(doxyname_separator), prot)
-       end
-end
-
-redef class Namespace
-       # Set the `name` and the `full_name` using the specified name generated by Doxygen.
-       #
-       # Warning: This method assumes that `model_id` is already set.
-       redef fun doxyname=(doxyname: String) do
-               full_name = doxyname
-               super
-               if doxyname == name and model_id != "" then
-                       # Doxygen does not represent the root namespace.
-                       # So, we have to link the root namespace with its children manually.
-                       graph.by_id[""].as(Namespace).declare_namespace(model_id, doxyname)
-               end
-       end
-end
-
-redef class FileCompound
-       redef fun doxyname_separator do return "/"
-end
-
-redef class Text
-       # Return the substring that come after the last occurrence of `separator`.
-       #
-       # Return the whole string if `sperator` is not present.
-       private fun to_short_name(separator: String): SELFTYPE do
-               var m = search_last(separator)
-
-               if m == null then
-                       return self
-               else
-                       return substring_from(m.after)
-               end
-       end
-end
diff --git a/contrib/neo_doxygen/src/doxml/entitydef.nit b/contrib/neo_doxygen/src/doxml/entitydef.nit
deleted file mode 100644 (file)
index aa6968c..0000000
+++ /dev/null
@@ -1,129 +0,0 @@
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Common SAX listeners for entity definitions.
-module doxml::entitydef
-
-import doc_listener
-
-# Processes the content of an entity definition.
-abstract class EntityDefListener
-       super StackableListener
-
-       # The inner `TextListener`.
-       protected var text: TextListener is noinit
-
-       # The inner `DocListener`.
-       protected var doc: DocListener is noinit
-
-       # The inner `NoopListener`.
-       protected var noop: NoopListener is noinit
-
-       init do
-               super
-               text = new TextListener(reader, self)
-               doc = new DocListener(reader, self)
-               noop = new NoopListener(reader, self)
-       end
-
-       # The current entity.
-       protected fun entity: Entity is abstract
-
-       redef fun start_dox_element(local_name, atts) do
-               if ["briefdescription", "detaileddescription", "inbodydescription"].has(local_name) then
-                       doc.doc = entity.doc
-                       doc.listen_until(dox_uri, local_name)
-               else if "location" == local_name then
-                       entity.location = get_location(atts)
-               else
-                       noop.listen_until(dox_uri, local_name)
-               end
-       end
-
-       redef fun end_listening do
-               super
-               entity.put_in_graph
-       end
-
-       # Parse the attributes of a `location` element.
-       protected fun get_location(atts: Attributes): neo_doxygen::Location do
-               var location = new neo_doxygen::Location
-
-               location.path = atts.value_ns("", "bodyfile") or else atts.value_ns("", "file")
-               # Doxygen may indicate `[generated]`.
-               if "[generated]" == location.path then location.path = null
-               var line_start = atts.value_ns("", "bodystart") or else atts.value_ns("", "line") or else null
-               if line_start != null then location.line_start = line_start.to_i
-               var line_end = atts.value_ns("", "bodyend")
-               if line_end != null then location.line_end = line_end.to_i
-               var column_start = atts.value_ns("", "column")
-               if column_start != null then location.column_start = column_start.to_i
-               if location.line_start == location.line_end then
-                       location.column_end = location.column_start
-               end
-               return location
-       end
-end
-
-# Processes the content of a `<param>` element.
-abstract class ParamListener[T: Parameter]
-       super EntityDefListener
-
-       # The current parameter.
-       var parameter: T is noinit
-
-       private var type_listener: TypeListener is noinit
-
-       init do
-               super
-               type_listener = new TypeListener(reader, self)
-       end
-
-       redef fun entity do return parameter
-
-       redef fun listen_until(uri, local_name) do
-               super
-               parameter = create_parameter
-       end
-
-       # Create a new parameter.
-       protected fun create_parameter: T is abstract
-
-       redef fun start_dox_element(local_name, atts) do
-               if "declname" == local_name then
-                       text.listen_until(dox_uri, local_name)
-               else if "type" == local_name then
-                       type_listener.listen_until(dox_uri, local_name)
-               else
-                       super
-               end
-       end
-
-       redef fun end_dox_element(local_name) do
-               if "declname" == local_name then
-                       parameter.name = text.to_s
-               else if "type" == local_name then
-                       source_language.apply_parameter_type(parameter, type_listener.linked_text)
-               else
-                       super
-               end
-       end
-end
-
-# Processes the content of a `<param>` element in a `<templateparamlist>` element.
-class TypeParamListener
-       super ParamListener[TypeParameter]
-
-       redef fun create_parameter do return new TypeParameter(graph)
-end
diff --git a/contrib/neo_doxygen/src/doxml/language_specific.nit b/contrib/neo_doxygen/src/doxml/language_specific.nit
deleted file mode 100644 (file)
index 9566f9e..0000000
+++ /dev/null
@@ -1,192 +0,0 @@
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Handle language-specific parts of the importation.
-module doxml::language_specific
-
-import model
-
-# Various importation logics that depend on the project’s language.
-abstract class SourceLanguage
-
-       # Apply the information deduced from `type_text` to `member`.
-       #
-       # `type_text` is the content of the `<type>` element.
-       fun apply_member_type(member: Member, type_text: RawType) do
-               if type_text["text"] != null then
-                       member.static_type = type_text
-               end
-       end
-
-       # Apply the information deduced from `type_text` to `parameter`.
-       #
-       # `type_text` is the content of the `<type>` element.
-       fun apply_parameter_type(parameter: Parameter, type_text: RawType) do
-               if type_text["text"] != null then
-                       parameter.static_type = type_text
-               end
-       end
-
-       # Extract the specified keyword at the beginning of the specified text.
-       #
-       # If the keyword is at the beginning of the specified text, return `true`
-       # and remove the keyword. Else, return false.
-       #
-       # Used to extract some keywords that Doxygen puts in the type.
-       #
-       #     class DummySource
-       #       super JavaSource
-       #     #
-       #       fun test(text: LinkedText, keyword: String): Bool do
-       #               return extract_keyword(text, keyword)
-       #       end
-       #     end
-       #     #
-       #     var text = new RawType(new ProjectGraph(""))
-       #     var dummy = new DummySource
-       #     var res: Bool
-       #     #
-       #     text.add_part("abstract final", "")
-       #     res = dummy.test(text, "static")
-       #     assert not res
-       #     res = dummy.test(text, "abstract")
-       #     assert res
-       #     assert "final" == text["text"].as(JsonArray).first
-       #     res = dummy.test(text, "final")
-       #     assert res
-       #     assert text["text"] == null
-       #     res = dummy.test(text, "abstract")
-       #     assert not res
-       protected fun extract_keyword(text: LinkedText, keyword: String): Bool do
-               var text_array = text["text"]
-               if text_array == null then return false
-               assert text_array isa JsonArray
-               if text_array.is_empty then return false
-
-               var content = text_array.first.as(String).l_trim
-               var link = text.links.first
-               var found = false
-
-               if link == null and content.has_prefix(keyword) then
-                       if keyword.length == content.length then
-                               content = ""
-                               found = true
-                       else if content.chars[keyword.length] <= ' ' then
-                               content = content.substring_from(keyword.length).l_trim
-                               found = true
-                       end
-                       if "" == content then
-                               text.shift_part
-                       else if found then
-                               text.set_part(0, content, "")
-                       end
-               end
-               return found
-       end
-
-       # Extract the specified suffix in the specified text.
-       #
-       # If the suffix is at the end of the specified text, return `true`
-       # and remove the suffix. Else, return false.
-       #
-       # Used to extract stuff like `...` that Doxygen puts in the type.
-       #
-       #     class DummySource
-       #       super JavaSource
-       #     #
-       #       fun test(text: LinkedText, s: String): Bool do
-       #               return extract_suffix(text, s)
-       #       end
-       #     end
-       #     #
-       #     var text = new RawType(new ProjectGraph(""))
-       #     var dummy = new DummySource
-       #     var res: Bool
-       #     #
-       #     text.add_part("Object...+++", "")
-       #     res = dummy.test(text, "...")
-       #     assert not res
-       #     res = dummy.test(text, "+++")
-       #     assert res
-       #     assert "Object..." == text["text"].as(JsonArray).first
-       #     res = dummy.test(text, "...")
-       #     assert res
-       #     assert "Object" == text["text"].as(JsonArray).first
-       protected fun extract_suffix(text: LinkedText, suffix: String): Bool do
-               var text_array = text["text"]
-               if text_array == null then return false
-               assert text_array isa JsonArray
-               if text_array.is_empty then return false
-
-               var content = text_array.last.as(String).r_trim
-               var link = text.links.first
-
-               if link == null and content.has_suffix(suffix) then
-                       content = content.substring(0, content.length - suffix.length).r_trim
-                       if "" == content then
-                               text.pop_part
-                       else
-                               text.set_part(0, content, "")
-                       end
-                       return true
-               else
-                       return false
-               end
-       end
-end
-
-# The default importation logics.
-#
-# Do nothing special.
-class DefaultSource
-       super SourceLanguage
-end
-
-# Importation logics for Java.
-class JavaSource
-       super SourceLanguage
-
-       redef fun apply_member_type(member, type_text) do
-               # For abstract members, Doxygen put `abstract` at the beginning of the type.
-               # We assume that Doxygen do not put annotations in the type (it seems to
-               # be the case).
-               if extract_keyword(type_text, "abstract") then
-                       member.is_abstract = true
-               end
-               # TODO final
-               # TODO void
-               # TODO Avoid using `RawType` when possible. Only use `RawType` as a fallback.
-               super
-       end
-
-       redef fun apply_parameter_type(parmeter, type_text) do
-               # We assume that Doxygen do not put annotations in the type (it seems to
-               # be the case).
-               # TODO final
-               # TODO Avoid using `RawType` when possible. Only use `RawType` as a fallback.
-               parmeter.is_vararg = extract_suffix(type_text, "...")
-               super
-       end
-end
-
-# Importation logics for Python.
-class PythonSource
-       super SourceLanguage
-
-       redef fun apply_member_type(member, type_text) do
-               # Doxygen may forgot to remove the `def` keyword on methods.
-               extract_keyword(type_text, "def")
-               super
-       end
-end
diff --git a/contrib/neo_doxygen/src/doxml/listener.nit b/contrib/neo_doxygen/src/doxml/listener.nit
deleted file mode 100644 (file)
index 40d021f..0000000
+++ /dev/null
@@ -1,288 +0,0 @@
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Basic SAX listeners.
-module doxml::listener
-
-import saxophonit
-import model
-import language_specific
-
-# Common abstractions for SAX listeners reading XML documents generated by Doxygen.
-abstract class DoxmlListener
-       super ContentHandler
-
-       # The locator setted by calling `document_locator=`.
-       protected var locator: nullable SAXLocator = null
-
-       # The project graph.
-       fun graph: ProjectGraph is abstract
-
-       # The language-specific strategies to use.
-       fun source_language: SourceLanguage is abstract
-
-       redef fun document_locator=(locator: SAXLocator) do
-               self.locator = locator
-       end
-
-       # The Doxygen’s namespace IRI.
-       protected fun dox_uri: String do return ""
-
-       redef fun start_element(uri: String, local_name: String, qname: String,
-                       atts: Attributes) do
-               super
-               if uri != dox_uri then return # None of our business.
-               start_dox_element(local_name, atts)
-       end
-
-       # Process the start of an element in the Doxygen’s namespace.
-       #
-       # See `ContentHandler.start_element` for the description of the parameters.
-       protected fun start_dox_element(local_name: String, atts: Attributes) do end
-
-       redef fun end_element(uri: String, local_name: String, qname: String) do
-               super
-               if uri != dox_uri then return # None of our business.
-               end_dox_element(local_name)
-       end
-
-       # Process the end of an element in the Doxygen’s namespace.
-       #
-       # See `ContentHandler.start_element` for the description of the parameters.
-       protected fun end_dox_element(local_name: String) do end
-
-       # Get the boolean value of the specified attribute.
-       #
-       # `false` by default.
-       protected fun get_bool(atts: Attributes, local_name: String): Bool do
-               return get_optional(atts, local_name, "no") == "yes"
-       end
-
-       # Get the value of an optional attribute.
-       #
-       # Parameters:
-       #
-       # * `atts`: attribute list.
-       # * `local_name`: local name of the attribute.
-       # * `default`: value to return when the specified attribute is not found.
-       protected fun get_optional(atts: Attributes, local_name: String,
-                       default: String): String do
-               return atts.value_ns(dox_uri, local_name) or else default
-       end
-
-       # Get the value of an required attribute.
-       #
-       # Parameters:
-       #
-       # * `atts`: attribute list.
-       # * `local_name`: local name of the attribute.
-       protected fun get_required(atts: Attributes, local_name: String): String do
-               var value = atts.value_ns(dox_uri, local_name)
-               if value == null then
-                       throw_error("The `{local_name}` attribute is required.")
-                       return ""
-               else
-                       return value
-               end
-       end
-
-       redef fun end_document do
-               locator = null
-       end
-
-       # Throw an error with the specified message by prepending the current location.
-       protected fun throw_error(message: String) do
-               var e: SAXParseException
-
-               if locator != null then
-                       e = new SAXParseException.with_locator(message, locator.as(not null))
-               else
-                       e = new SAXParseException(message)
-               end
-               e.throw
-       end
-end
-
-# A `DoxmlListener` that read only a part of a document.
-#
-# Temporary redirect events to itself until it ends processing its part.
-abstract class StackableListener
-       super DoxmlListener
-
-       # The associated reader.
-       var reader: XMLReader
-
-       # The parent listener.
-       var parent: DoxmlListener
-
-       # Namespace’s IRI of the element at the root of the part to process.
-       private var root_uri: String = ""
-
-       # Local name of the element at the root of the part to process.
-       private var root_local_name: String = ""
-
-       # The number of open element of the same type than the root of the part to process.
-       private var depth = 0
-
-       # The project graph.
-       private var p_graph: ProjectGraph is noinit
-
-       # The language-specific strategies to use.
-       private var p_source: SourceLanguage is noinit
-
-
-       init do
-               super
-               p_graph = parent.graph
-               p_source = parent.source_language
-       end
-
-       redef fun graph do return p_graph
-       redef fun source_language do return p_source
-
-       # Temporary redirect events to itself until the end of the specified element.
-       fun listen_until(uri: String, local_name: String) do
-               root_uri = uri
-               root_local_name = local_name
-               depth = 1
-               reader.content_handler = self
-               locator = parent.locator
-       end
-
-       redef fun start_element(uri: String, local_name: String, qname: String,
-                       atts: Attributes) do
-               super
-               if uri == root_uri and local_name == root_local_name then
-                       depth += 1
-               end
-       end
-
-       redef fun end_element(uri: String, local_name: String, qname: String) do
-               super
-               if uri == root_uri and local_name == root_local_name then
-                       depth -= 1
-                       if depth <= 0 then
-                               end_listening
-                               parent.end_element(uri, local_name, qname)
-                       end
-               end
-       end
-
-       # Reset the reader’s listener to the parent.
-       fun end_listening do
-               reader.content_handler = parent
-               locator = null
-       end
-
-       redef fun end_document do
-               end_listening
-       end
-end
-
-# A SAX listener that skips any event except the end of the part to process.
-#
-# Used to skip an entire element.
-class NoopListener
-       super StackableListener
-end
-
-# Concatenates any text node found.
-class TextListener
-       super StackableListener
-
-       # The read text.
-       protected var buffer: Buffer = new FlatBuffer
-
-       # Is the last read chunk was ignorable white space?
-       private var sp: Bool = false
-
-       redef fun listen_until(uri: String, local_name: String) do
-               buffer.clear
-               sp = false
-               super
-       end
-
-       redef fun characters(str: String) do
-               if sp then
-                       if buffer.length > 0 then buffer.append(" ")
-                       sp = false
-               end
-               buffer.append(str)
-       end
-
-       redef fun ignorable_whitespace(str: String) do
-               sp = true
-       end
-
-       # Flush the buffer.
-       protected fun flush_buffer: String do
-               var s = buffer.to_s
-
-               buffer.clear
-               sp = false
-               return s
-       end
-
-       redef fun to_s do return buffer.to_s
-end
-
-# Processes a content of type `linkedTextType`.
-abstract class LinkedTextListener[T: LinkedText]
-       super TextListener
-
-       # The read text.
-       var linked_text: T is noinit
-
-       private var refid = ""
-
-       # Create a new instance of `T`.
-       protected fun create_linked_text: T is abstract
-
-       redef fun listen_until(uri: String, local_name: String) do
-               linked_text = create_linked_text
-               refid = ""
-               super
-       end
-
-       redef fun start_dox_element(local_name: String, atts: Attributes) do
-               super
-               push_part
-               if "ref" == local_name then refid = get_required(atts, "refid")
-       end
-
-       redef fun end_dox_element(local_name: String) do
-               super
-               push_part
-               if "ref" == local_name then refid = ""
-       end
-
-       private fun push_part do
-               var s = flush_buffer
-
-               if not s.is_empty then
-                       linked_text.add_part(s, refid)
-               end
-       end
-
-       redef fun to_s do return linked_text.to_s
-end
-
-# Processes the content of a `<type>` element.
-class TypeListener
-       super LinkedTextListener[RawType]
-
-       private var raw_type: RawType is noinit
-
-       redef fun create_linked_text do return new RawType(graph)
-end
diff --git a/contrib/neo_doxygen/src/doxml/memberdef.nit b/contrib/neo_doxygen/src/doxml/memberdef.nit
deleted file mode 100644 (file)
index 5249404..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# `memberdef` element reading.
-module doxml::memberdef
-
-import entitydef
-
-# Processes the content of a `<memberdef>` element.
-class MemberDefListener
-       super EntityDefListener
-
-       # The current member.
-       var member: Member is writable, noinit
-
-       private var type_listener: TypeListener is noinit
-       private var param_listener: MemberParamListener is noinit
-
-       init do
-               super
-               type_listener = new TypeListener(reader, self)
-               param_listener = new MemberParamListener(reader, self)
-       end
-
-       redef fun entity do return member
-
-       redef fun start_dox_element(local_name: String, atts: Attributes) do
-               if "name" == local_name then
-                       text.listen_until(dox_uri, local_name)
-               else if "reimplements" == local_name then
-                       member.reimplement(get_required(atts, "refid"))
-               else if "type" == local_name then
-                       type_listener.listen_until(dox_uri, local_name)
-               else if "param" == local_name then
-                       param_listener.listen_until(dox_uri, local_name)
-               else
-                       super
-               end
-       end
-
-       redef fun end_dox_element(local_name: String) do
-               if "name" == local_name then
-                       member.name = text.to_s
-               else if "type" == local_name then
-                       source_language.apply_member_type(member, type_listener.linked_text)
-               else if "param" == local_name then
-                       member.add_parameter(param_listener.parameter)
-               else
-                       super
-               end
-       end
-end
-
-# Processes the content of a `<param>` element in a `<memberdef>` element.
-class MemberParamListener
-       super ParamListener[MemberParameter]
-
-       redef fun create_parameter do return new MemberParameter(graph)
-end
diff --git a/contrib/neo_doxygen/src/graph_store.nit b/contrib/neo_doxygen/src/graph_store.nit
deleted file mode 100644 (file)
index 0c396d3..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# A storage medium for a graph.
-module graph_store
-
-import neo4j
-import console
-
-# A storage medium for a graph.
-#
-# Provides a way to save a Neo4j graph.
-abstract class GraphStore
-
-       # Escape control sequence to save the cursor position.
-       private var term_save_cursor: String = (new TermSaveCursor).to_s
-
-       # Escape control sequence to rewind to the last saved cursor position.
-       private var term_rewind: String = "{new TermRestoreCursor}{new TermEraseDisplayDown}"
-
-       # Is the storage medium already contains at least one node with the specified label?
-       fun has_node_label(name: String): Bool is abstract
-
-       # Save all specified Neo4j entities.
-       fun save_all(neo_entities: Collection[NeoEntity]) is abstract
-
-       # Prepare the output to show the progress.
-       #
-       # This method must be called before the first call to `show_progress` or
-       # `show_done`.
-       protected fun prepare_display do printn "{term_save_cursor} "
-
-       # Show the progress, in percentage.
-       #
-       # For use in the implementation of `save_all` only.
-       protected fun show_progress(progress: Int) do
-               printn "{term_rewind} {progress}% "
-       end
-
-       # Show a message to indicate that the task finished with success.
-       #
-       # For use in the implementation of `save_all` only.
-       protected fun show_done do
-               print "{term_rewind} Done."
-       end
-end
-
-# An actual Neo4j database as a storage medium.
-class Neo4jStore
-       super GraphStore
-
-       # How many operations can be executed in one batch?
-       private var batch_max_size = 1000
-
-       # The Neo4j client to use.
-       var client: Neo4jClient
-
-       redef fun has_node_label(name) do
-               var query = new CypherQuery.from_string(
-                               "match n where \{name\} in labels(n) return count(n)")
-               query.params["name"] = name
-               var data = client.cypher(query).as(JsonObject)["data"]
-               var result = data.as(JsonArray).first.as(JsonArray).first.as(Int)
-               return result > 0
-       end
-
-       redef fun save_all(neo_entities) do
-               var batch = new NeoBatch(client)
-               var len = neo_entities.length
-               var sum = 0
-               var i = 1
-
-               prepare_display
-               for nentity in neo_entities do
-                       batch.save_entity(nentity)
-                       if i == batch_max_size then
-                               do_batch(batch)
-                               sum += batch_max_size
-                               show_progress(sum * 100 / len)
-                               batch = new NeoBatch(client)
-                               i = 1
-                       else
-                               i += 1
-                       end
-               end
-               do_batch(batch)
-               show_done
-       end
-
-       # Execute `batch` and check for errors.
-       #
-       # Abort if `batch.execute` returns errors.
-       private fun do_batch(batch: NeoBatch) do
-               var errors = batch.execute
-               if not errors.is_empty then
-                       for e in errors do sys.stderr.write("{sys.program_name}: {e}\n")
-                       exit(1)
-               end
-       end
-end
diff --git a/contrib/neo_doxygen/src/model/class_compound.nit b/contrib/neo_doxygen/src/model/class_compound.nit
deleted file mode 100644 (file)
index b0f2096..0000000
+++ /dev/null
@@ -1,224 +0,0 @@
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Nodes for classes.
-module model::class_compound
-
-import graph
-import member
-import type_entity
-
-# A class.
-class ClassCompound
-       super Compound
-
-       # The corresponding type.
-       #
-       # In the case of a generic class, defines bounds for type parameters.
-       var class_type: ClassType is noinit
-
-       # The definition.
-       var class_def: ClassDef is noinit
-
-       init do
-               super
-               class_type = new ClassType(graph)
-               class_type.class_compound = self
-               class_def = new ClassDef(graph, self)
-               self.labels.add("MClass")
-               kind = "class"
-               visibility = "public"
-       end
-
-       # Return the number of type parameters.
-       fun arity: Int do return class_type.arity
-
-       redef fun name=(name) do
-               super
-               class_type.name = name
-               class_def.name = name
-       end
-
-       redef fun location=(location) do
-               super
-               class_def.location = location
-       end
-
-       redef fun set_mdoc do
-               super
-               class_def["mdoc"] = doc
-       end
-
-       redef fun declare_super(id, full_name, prot, virt) do
-               class_def.declare_super(id, full_name, prot, virt)
-       end
-
-       redef fun declare_member(member) do
-               class_def.declare_member(member)
-       end
-
-       # Append the specified type parameter.
-       fun add_type_parameter(parameter: TypeParameter) do
-               class_type.arguments.add(parameter)
-       end
-
-       redef fun put_in_graph do
-               super
-               class_type.put_in_graph
-               class_def.put_in_graph
-       end
-
-       redef fun put_edges do
-               super
-               graph.add_edge(self, "CLASSTYPE", class_type)
-               if arity > 0 then
-                       var names = new JsonArray
-
-                       for p in class_type.arguments do
-                               names.add(p.name)
-                       end
-                       self["parameter_names"] = names
-               end
-       end
-end
-
-# The `MClassDef` node of a class.
-class ClassDef
-       super CodeBlock
-
-       # The defined class.
-       var class_compound: ClassCompound
-
-       # The `model_id` of the base classes.
-       var supers: SimpleCollection[String] = new Array[String]
-
-       # The set of the introduced/redefined members.
-       #
-       # Includes inner classes.
-       #
-       # Filled by `declare_member` and `declare_class`.
-       #
-       # Note: `declare_class` is defined by the `inner_class` module.
-       #
-       # SEE: `declare_member`
-       # SEE: `declare_class`
-       var members: SimpleCollection[MemberOrInner] = new Array[MemberOrInner]
-
-       init do
-               super
-               self.labels.add("MClassDef")
-               self["is_intro"] = true
-       end
-
-       # Declare a base compound (usually, a base class).
-       #
-       # Parameters:
-       #
-       # * `id`: `model_id` of the base compound. May be empty.
-       # * `full_name`: qualified name of the base compound. May be empty.
-       # * `prot`: visibility (proctection) of the relationship.
-       # * `virt`: level of virtuality of the relationship.
-       fun declare_super(id: String, full_name: String, prot: String,
-                       virt: String) do
-               # TODO prot, virt, full_name
-               if "" != id then
-                       supers.add(id)
-               end
-       end
-
-       # Append the specified member.
-       fun declare_member(member: Member) do
-               members.add(member)
-       end
-
-       redef fun put_edges do
-               super
-               graph.add_edge(self, "BOUNDTYPE", class_compound.class_type)
-               graph.add_edge(self, "MCLASS", class_compound)
-               for s in supers do
-                       graph.add_edge(self, "INHERITS", graph.by_id[s].as(ClassCompound).class_type)
-               end
-               for m in members do
-                       if m.is_intro then
-                               var intro = m.introducer.as(not null)
-                               graph.add_edge(self, "INTRODUCES", intro)
-                               graph.add_edge(intro, "INTRO_CLASSDEF", self)
-                       end
-                       graph.add_edge(self, "DECLARES", m)
-               end
-       end
-end
-
-# A type defined by a class.
-class ClassType
-       super TypeEntity
-
-       # The associated class.
-       #
-       # You may use this attribute or `class_compound_id` to specify the class.
-       var class_compound: nullable ClassCompound = null is writable
-
-       # The `model_id` of the associated class.
-       #
-       # You may use this attribute or `class_compound` to specify the class.
-       var class_compound_id: String = "" is writable
-
-       # The type arguments or the type parameters.
-       var arguments = new Array[TypeEntity]
-
-       init do
-               super
-               self.labels.add("MClassType")
-       end
-
-       # Return the number of arguments.
-       fun arity: Int do return arguments.length
-
-       # Is the class generic?
-       fun is_generic: Bool do return arity > 0
-
-       redef fun put_in_graph do
-               super
-               if is_generic then
-                       self.labels.add("MGenericType")
-               else
-                       var i = self.labels.index_of("MGenericType")
-                       if i >= 0 then self.labels.remove_at(i)
-               end
-       end
-
-       redef fun put_edges do
-               var cls = class_compound
-
-               if cls == null and class_compound_id != "" then
-                       cls = graph.by_id[class_compound_id].as(ClassCompound)
-               end
-               assert cls != null
-
-               super
-               graph.add_edge(self, "CLASS", cls)
-               assert cls.arity == self.arity
-               for i in [0..arguments.length[ do
-                       var a = arguments[i]
-                       if cls.class_type != self then
-                               a.name = cls.class_type.arguments[i].name
-                       end
-                       if a isa TypeParameter then
-                               a.rank = i
-                               graph.add_edge(a, "CLASS", cls)
-                       end
-                       graph.add_edge(self, "ARGUMENT", a)
-               end
-       end
-end
diff --git a/contrib/neo_doxygen/src/model/descriptions.nit b/contrib/neo_doxygen/src/model/descriptions.nit
deleted file mode 100644 (file)
index 66341f3..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Documentation associated to an entity.
-module model::descriptions
-
-import json::static
-import json
-
-# Documentation associated to an entity.
-#
-# The documentation is written in Markdown format.
-#
-# ~~~nit
-# var doc = new Documentation
-#
-# doc.brief_description = "Do something."
-# doc.detailed_description = ["Do not lunch a rocket."]
-# assert doc.brief_description == "Do something."
-# assert doc.detailed_description == ["Do not lunch a rocket."]
-# assert doc.to_json == """["Do something.","Do not lunch a rocket."]"""
-#
-# doc.brief_description = ""
-# doc.detailed_description = ["The answer is `42`."]
-# assert doc.brief_description == "The answer is `42`."
-# assert doc.detailed_description == ["The answer is `42`."]
-# assert doc.to_json == """["The answer is `42`."]"""
-#
-# doc.detailed_description = ["The answer is `42`."]
-# doc.brief_description = ""
-# assert doc.brief_description == "The answer is `42`."
-# assert doc.detailed_description == ["The answer is `42`."]
-# assert doc.to_json == """["The answer is `42`."]"""
-#
-# doc.detailed_description = new Array[String]
-# doc.brief_description = ""
-# assert doc.is_empty
-# assert doc.brief_description == ""
-# assert doc.detailed_description == new Array[String]
-# assert doc.to_json == "[]"
-# ~~~
-class Documentation
-       super Serializable
-
-       private var content = new JsonStringArray
-       private var has_brief_description: Bool = false
-
-       # The brief description.
-       #
-       # If it is empty, the first element of `detailed_description` will be used
-       # as brief description.
-       fun brief_description=(brief_description: String) do
-               if brief_description.is_empty then
-                       if has_brief_description then
-                               content.shift
-                               has_brief_description = false
-                       end
-               else if has_brief_description then
-                       content.first = brief_description
-               else
-                       content.unshift(brief_description)
-                       has_brief_description = true
-               end
-       end
-
-       # The brief description.
-       fun brief_description: String do
-               if not is_empty then return content.first
-               return ""
-       end
-
-       # The detailed description.
-       #
-       # Each element should represent a block.
-       fun detailed_description=(detailed_description: SequenceRead[String]) do
-               if has_brief_description then
-                       while content.length > 1 do content.pop
-               else
-                       content.clear
-               end
-               content.add_all(detailed_description)
-       end
-
-       # The detailed description.
-       #
-       # Each element should represent a block.
-       fun detailed_description: SequenceRead[String] do
-               if not has_brief_description then return content
-               if content.length > 1 then return content.subarray(1, content.length - 1)
-               return new Array[String]
-       end
-
-       # Add a block of detailed description.
-       fun add(block: String) do content.add block
-
-       # Is the documentation empty?
-       fun is_empty: Bool do return content.is_empty
-
-       redef fun serialize_to(v) do content.serialize_to v
-       redef fun accept_json_serializer(v) do content.serialize_to v
-end
-
-# A `Serializable` array of strings.
-private class JsonStringArray
-       super JsonSequenceRead[String]
-       super Array[String]
-end
diff --git a/contrib/neo_doxygen/src/model/graph.nit b/contrib/neo_doxygen/src/model/graph.nit
deleted file mode 100644 (file)
index 9df491a..0000000
+++ /dev/null
@@ -1,364 +0,0 @@
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Graphs and basic entities.
-module model::graph
-
-import neo4j
-import more_collections
-import location
-import descriptions
-
-# A Neo4j graph.
-class NeoGraph
-       # All the nodes in the graph.
-       var all_nodes: SimpleCollection[NeoNode] = new Array[NeoNode]
-
-       # All the edges in the graph.
-       var all_edges: SimpleCollection[NeoEdge] = new Array[NeoEdge]
-
-       # Add a relationship between two nodes.
-       #
-       # Parameters are the same than for the constructor of `NeoEdge`.
-       fun add_edge(from: NeoNode, rel_type: String, to: NeoNode) do
-               all_edges.add(new NeoEdge(from, rel_type, to))
-       end
-end
-
-# A project’s graph.
-#
-# Here is the usual steps to build a project graph:
-#
-# <ul>
-# <li>Instantiate `ProjectGraph` by giving the name that will label the project.</li>
-# <li>For each compound:
-# <ul>
-# <li>Instantiate the compound.</li>
-# <li>Provide all the related data.</li>
-# <li>Call the `put_in_graph` method of the compound.</li>
-# </ul></li>
-# <li>Call the `add_global_modules` method of the project’s graph (defined in
-# the `module_compound` module). This permits to take global classes into
-# account correctly.</li>
-# <li>Call the `put_edges` method of the project’s graph.</li>
-# </ul>
-class ProjectGraph
-       super NeoGraph
-
-       # The project’s name.
-       var project_name: String
-
-       # The node reperesenting the project.
-       #
-       # Once the project’s graph is initialized, this node must not be edited.
-       var project = new NeoNode
-
-       # Entities by `model_id`.
-       var by_id: Map[String, Entity] = new HashMap[String, Entity]
-
-       # Namespaces by `full_name`.
-       var namespaces: Map[String, Namespace] = new HashMap[String, Namespace]
-
-       # For each `ClassCompound` in the graph, the mapping between its `model_id` and its namespace.
-       #
-       # Defaults to the root namespace. An entry is added each time
-       # `Namespace.declare_class` is called.
-       #
-       # Note: In the graph, there is no direct link between a namespace and a
-       # class. It is the role of a module (created internally by a `FileCompound`)
-       # to link a class with its namespace. So, this collection is used by modules
-       # to know which class in a file belong to their related namespace. It is
-       # also used by `FileCompound` to detect classes in the root namespace.
-       var class_to_ns: Map[String, Namespace] is noinit
-
-       # Initialize a new project graph using the specified project name.
-       #
-       # The specified name will label all nodes of the project’s graph.
-       init do
-               project.labels.add(project_name)
-               project.labels.add("MEntity")
-               project.labels.add("MProject")
-               project["name"] = project_name
-               all_nodes.add(project)
-
-               var root = new RootNamespace(self)
-               root.put_in_graph
-               by_id[""] = root
-               class_to_ns = new DefaultMap[String, Namespace](root)
-       end
-
-       # Request to all nodes in the graph to add their related edges.
-       #
-       # Note: For the rare cases where a node need to wait the `put_edges` to add
-       # an implicit node, this method makes sure to call the `put_edges` method
-       # of the newly added nodes only after processing all the nodes that was
-       # already there.
-       fun put_edges do
-               all_edges.clear
-               add_edge(project, "ROOT", by_id[""])
-               for n in all_nodes do
-                       if n isa Entity then
-                               n.put_edges
-                       end
-               end
-       end
-end
-
-# A model’s entity.
-#
-# In practice, this is the base class of every node in a `ProjectGraph`.
-abstract class Entity
-       super NeoNode
-
-       # Graph that will embed the entity.
-       var graph: ProjectGraph
-
-       # ID of the entity in the model.
-       #
-       # Is empty for entities without an ID.
-       var model_id: String = "" is writable
-
-       # The full (qualified) name, as presented by the original model.
-       #
-       # Fully independant of `name`. By default, equals to `""` for the root
-       # namespace.
-       var full_name: nullable String = null is writable
-
-       # Associated documentation.
-       var doc = new Documentation is writable
-
-       init do
-               self.labels.add(graph.project_name)
-               self.labels.add("MEntity")
-       end
-
-       # The short (unqualified) name.
-       fun name=(name: String) do
-               self["name"] = name
-       end
-
-       # The short (unqualified) name.
-       fun name: String do
-               var name = self["name"]
-               assert name isa String
-               return name
-       end
-
-       # Include the documentation of `self` in the graph.
-       protected fun set_mdoc do
-               self["mdoc"] = doc
-       end
-
-       # The namespace separator of Nit/C++.
-       #
-       # Used to join two or more names when we need to work around some
-       # limitations of the Nit model.
-       fun ns_separator: String do return "::"
-
-       # Set the location of the entity in the source code.
-       fun location=(location: nullable neo_doxygen::Location) do
-               self["location"] = location
-       end
-
-       # Get the location of the entity in the source code.
-       fun location: nullable neo_doxygen::Location do
-               return self["location"].as(nullable neo_doxygen::Location)
-       end
-
-       # Put the entity in the graph.
-       #
-       # Called by the loader when it has finished to read the entity.
-       fun put_in_graph do
-               if not doc.is_empty then
-                       set_mdoc
-               end
-               graph.all_nodes.add(self)
-               if model_id != "" then graph.by_id[model_id] = self
-       end
-
-       # Put the related edges in the graph.
-       #
-       # This method is called on each node by `ProjectGraph.put_edges`.
-       #
-       # Note: Even at this step, the entity may modify its own attributes and
-       # inner entities’ ones because some values are only known once the entity
-       # know its relationships with the rest of the graph.
-       fun put_edges do end
-end
-
-# An entity whose the location is mandatory.
-abstract class CodeBlock
-       super Entity
-
-       init do
-               self["location"] = new neo_doxygen::Location
-       end
-
-       redef fun location=(location) do
-               if location == null then
-                       super(new neo_doxygen::Location)
-               else
-                       super
-               end
-       end
-end
-
-# A compound.
-#
-# Usually corresponds to a `<compounddef>` element in of the XML output of
-# Doxygen.
-abstract class Compound
-       super Entity
-
-       # Set the declared visibility (the protection) of the compound.
-       fun visibility=(visibility: String) do
-               self["visibility"] = visibility
-       end
-
-       # Set the specific kind of the compound.
-       fun kind=(kind: String) do
-               self["kind"] = kind
-       end
-
-       # Declare an inner namespace.
-       #
-       # Note: Although Doxygen indicates that the name is optional,
-       # declarations with an empty name are not supported yet, except for the root
-       # namespace. For the root namespace, both arguments are empty.
-       #
-       # Parameters:
-       #
-       # * `id`: `model_id` of the inner namespace. May be empty.
-       # * `full_name`: qualified name of the inner namespace. Use an empty name
-       # for the root namespace.
-       fun declare_namespace(id: String, full_name: String) do end
-
-       # Declare an inner class.
-       #
-       # Note: Although Doxygen indicates that both arguments are optional,
-       # declarations with an empty ID are not supported yet.
-       #
-       # Parameters:
-       #
-       # * `id`: `model_id` of the inner class.
-       # * `name`: short name of the inner class.
-       # * `prot`: visibility (proctection).
-       fun declare_class(id: String, name: String, prot: String) do end
-
-       # Declare a base compound (usually, a base class).
-       #
-       # Parameters:
-       #
-       # * `id`: `model_id` of the base compound. May be empty.
-       # * `full_name`: qualified name of the base compound. May be empty.
-       # * `prot`: visibility (proctection) of the relationship.
-       # * `virt`: level of virtuality of the relationship.
-       fun declare_super(id: String, full_name: String, prot: String,
-                       virt: String) do end
-end
-
-# An unrecognized compound.
-#
-# Used to simplify the handling of ignored entities.
-class UnknownCompound
-       super Compound
-
-       redef fun put_in_graph do end
-       redef fun put_edges do end
-end
-
-# A namespace.
-#
-# Corresponds to a group in Nit.
-class Namespace
-       super Compound
-
-       # The inner namespaces.
-       var inner_namespaces: SimpleCollection[NamespaceRef] = new Array[NamespaceRef]
-
-       init do
-               super
-               self.labels.add("MGroup")
-       end
-
-       redef fun declare_namespace(id, full_name) do
-               inner_namespaces.add new NamespaceRef(id, full_name)
-       end
-
-       redef fun declare_class(id, name, prot) do
-               assert not id.is_empty else
-                       sys.stderr.write "Inner class declarations without ID are not yet supported.\n"
-               end
-               graph.class_to_ns[id] = self
-       end
-
-       redef fun put_in_graph do
-               super
-               var full_name = self.full_name
-               if full_name isa String then graph.namespaces[full_name] = self
-       end
-
-       redef fun put_edges do
-               super
-               graph.add_edge(self, "PROJECT", graph.project)
-               for ns in inner_namespaces do
-                       var node = ns.seek_in(graph)
-                       graph.add_edge(node, "PARENT", self)
-                       graph.add_edge(self, "NESTS", node)
-               end
-       end
-end
-
-# A reference to a namespace.
-class NamespaceRef
-       # The `model_id` of the target.
-       #
-       # Empty when unknown or for the root namespace.
-       var model_id: String
-
-       # The `full_name` of the target.
-       #
-       # Empty only for the root namespace.
-       var full_name: String
-
-       # Look for the targeted namespace in the specified graph.
-       fun seek_in(graph: ProjectGraph): Namespace do
-               var ns_compound: Namespace
-
-               if model_id.is_empty and not full_name.is_empty then
-                       # ID unspecified. => We have to look by name
-                       assert graph.namespaces.has_key(full_name) else
-                               sys.stderr.write "Namespace `{full_name}` not found."
-                       end
-                       ns_compound = graph.namespaces[full_name]
-               else
-                       ns_compound = graph.by_id[model_id].as(Namespace)
-               end
-               return ns_compound
-       end
-end
-
-# The root namespace of a `ProjectGraph`.
-#
-# This the only entity in the graph whose `model_id` is really `""`.
-# Added automatically at the initialization of a `ProjectGraph`.
-class RootNamespace
-       super Namespace
-
-       init do
-               super
-               full_name = ""
-               name = graph.project_name
-       end
-end
diff --git a/contrib/neo_doxygen/src/model/inner_class.nit b/contrib/neo_doxygen/src/model/inner_class.nit
deleted file mode 100644 (file)
index 9476739..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Adds the possibility to define inner classses.
-module model::inner_class
-
-import member
-import class_compound
-
-# An inner class.
-class InnerClass
-       super MemberOrInner
-
-       redef type INTRODUCER_TYPE: InnerClassIntroducer
-
-       # The outer class definition.
-       #
-       # Used to correct the short name of the inner class definition when
-       # `put_edges` is called.
-       #
-       # SEE: The notice concerning `name` in `/src/neo.nit`.
-       var outer: ClassDef
-
-       # The `model_id` of the actual inner class (`ClassCompound`).
-       var inner: String
-
-       init do
-               super
-               self.labels.add("MInnerClassDef")
-       end
-
-       redef fun is_intro do return true
-       redef fun create_introducer do return new InnerClassIntroducer(graph, self)
-       redef fun resolve_introducer do return introducer
-
-       redef fun put_edges do
-               super
-               var inner = graph.by_id[self.inner]
-               assert inner isa ClassCompound
-               var inner_def = inner.class_def
-               # Correct the short name of `inner` to avoid name collisions in a module.
-               inner_def.name = "{outer.name}{ns_separator}{name}"
-               graph.add_edge(self, "NESTS", inner_def)
-       end
-end
-
-# A `MProperty` node for an inner class.
-class InnerClassIntroducer
-       super MemberIntroducer
-
-       # The definition.
-       var def: InnerClass
-
-       init do
-               super
-               self.labels.add("MInnerClass")
-       end
-
-       redef fun put_edges do
-               super
-               var inner = graph.by_id[def.inner]
-               assert inner isa ClassCompound
-               var outer = def.outer.class_compound
-               # Correct the short name of `inner` to avoid name collisions in a module.
-               inner.name = "{outer.name}{ns_separator}{name}"
-               graph.add_edge(self, "NESTS", inner)
-       end
-end
-
-# Implements `declare_class`.
-redef class ClassCompound
-       redef fun declare_class(id, name, prot) do
-               class_def.declare_class(id, name, prot)
-       end
-end
-
-# Implements `declare_class`.
-redef class ClassDef
-
-       # The set of the defined inner classes.
-       #
-       # All `InnerClass` entities registred here are automatically added to the
-       # graph with the `ClassDef`.
-       #
-       # To ensure that each inner class will be correctly linked,
-       # `declare_class` should be used to add each inner class.
-       var inner_classes: SimpleCollection[InnerClass] = new Array[InnerClass]
-
-       # Declare an inner class.
-       #
-       # Parameters:
-       #
-       # * `id`: `model_id` of the inner class definition.
-       # * `name`: name of the inner class definition.
-       # * `prot`: visibility (proctection).
-       fun declare_class(id: String, name: String, prot: String) do
-               var member = new InnerClass(graph, self, id)
-               member.name = name
-               member.visibility = prot
-               members.add member
-               inner_classes.add member
-       end
-
-       redef fun put_in_graph do
-               super
-               for member in inner_classes do
-                       member.put_in_graph
-               end
-       end
-end
diff --git a/contrib/neo_doxygen/src/model/linked_text.nit b/contrib/neo_doxygen/src/model/linked_text.nit
deleted file mode 100644 (file)
index 83fa3b8..0000000
+++ /dev/null
@@ -1,164 +0,0 @@
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# A text with links.
-module model::linked_text
-
-import graph
-
-# A text with links.
-abstract class LinkedText
-       super Entity
-
-       # All link in the text.
-       #
-       # Do not edit directly.
-       var links: Sequence[nullable Link] = new Array[nullable Link]
-
-       # Remove all the parts.
-       fun clear_parts do
-               self["text"] = null
-               links.clear
-       end
-
-       # Remove the first part.
-       fun shift_part do
-               var text = self["text"]
-               assert text isa JsonArray
-               text.shift
-               links.shift
-               if text.is_empty then
-                       self["text"] = null
-               end
-       end
-
-       # Remove the last part.
-       fun pop_part do
-               var text = self["text"]
-               assert text isa JsonArray
-               text.pop
-               links.pop
-               if text.is_empty then
-                       self["text"] = null
-               end
-       end
-
-       # Remove the part at the specified index.
-       fun remove_part_at(index: Int) do
-               var text = self["text"]
-               assert text isa JsonArray
-               text.remove_at(index)
-               links.remove_at(index)
-               if text.is_empty then
-                       self["text"] = null
-               end
-       end
-
-       # Change a part of text.
-       #
-       # Parameters:
-       #
-       # * `index` : the index of the part.
-       # * `content` : textual content.
-       # * `refid` : `model_id` of the linked entity or `""`.
-       fun set_part(index: Int, content: String, refid: String) do
-               var text = self["text"]
-               assert text isa JsonArray
-               text[index] = content
-               if not refid.is_empty then
-                       links[index] = create_link(links.length, refid)
-               else
-                       links[index] = null
-               end
-       end
-
-       # Append a part of text.
-       #
-       # Parameters:
-       #
-       # * `content` : textual content.
-       # * `refid` : `model_id` of the linked entity or `""`.
-       fun add_part(content: String, refid: String) do
-               var text = self["text"]
-
-               if text == null then
-                       text = new JsonArray
-                       self["text"] = text
-               end
-               assert text isa JsonArray
-               text.add(content)
-               if not refid.is_empty then
-                       links.add(create_link(links.length, refid))
-               else
-                       links.add(null)
-               end
-       end
-
-       # Create a link to the specified entity.
-       protected fun create_link(rank:Int, refid: String): Link is abstract
-
-       redef fun to_s do
-               var text = self["text"]
-
-               if text isa JsonArray then
-                       return text.join
-               else
-                       return "UNDEFINED"
-               end
-       end
-
-       redef fun put_in_graph do
-               super
-               for link in links do
-                       if link isa Link then
-                               link.put_in_graph
-                       end
-               end
-       end
-
-       redef fun put_edges do
-               super
-               for i in [0..links.length[ do
-                       var link = links[i]
-                       if link isa Link then
-                               link["rank"] = i
-                               graph.add_edge(self, "LINK", link)
-                       end
-               end
-       end
-end
-
-# A link.
-abstract class Link
-       super Entity
-
-       # * `refid` : `model_id` of the linked entity.
-       var refid: String
-
-       init do
-               super
-               self["rank"] = -1
-       end
-
-       redef fun put_edges do
-               graph.add_edge(self, "TARGET", graph.by_id[refid])
-       end
-
-       # Specify the rank (index) of the parameter in the signature.
-       #
-       # Called by `LinkedText.put_edges`.
-       private fun rank=(rank: Int) do
-               self["rank"] = rank
-       end
-end
diff --git a/contrib/neo_doxygen/src/model/location.nit b/contrib/neo_doxygen/src/model/location.nit
deleted file mode 100644 (file)
index 4e58af0..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# This module is used to model locations in source files.
-module location
-
-import json
-
-# A location inside a source file.
-class Location
-       super Serializable
-
-       # The file’s path.
-       var path: nullable String = null is writable
-
-       # The one-based index of the first line.
-       var line_start: Int = 1 is writable
-
-       # The one-based index of the last line.
-       var line_end: Int = 1 is writable
-
-       # The one-based column index of the first character.
-       var column_start: Int = 1 is writable
-
-       # The one-based column index of the last character.
-       var column_end: Int = 1 is writable
-
-       redef fun to_s do
-               var path = path
-               var file_part = "/dev/null:"
-               if path != null and path.length > 0 then file_part = "{path}:"
-               return "{file_part}{line_start},{column_start}--{line_end},{column_end}"
-       end
-
-       redef fun serialize_to(v) do to_s.serialize_to v
-       redef fun accept_json_serializer(v) do to_s.serialize_to v
-end
diff --git a/contrib/neo_doxygen/src/model/member.nit b/contrib/neo_doxygen/src/model/member.nit
deleted file mode 100644 (file)
index 05b82cb..0000000
+++ /dev/null
@@ -1,303 +0,0 @@
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Members.
-module model::member
-
-import graph
-import type_entity
-
-# A member or an inner class.
-abstract class MemberOrInner
-       super CodeBlock
-
-       # The type of the introducer.
-       type INTRODUCER_TYPE: MemberIntroducer
-
-       # The node used to represent the `MProperty` node.
-       #
-       # Only defined if `self` is at the root of a reimplementation graph, and
-       # only once `put_in_graph` is called.
-       var introducer: nullable INTRODUCER_TYPE = null
-
-       init do
-               super
-               self.labels.add("MPropDef")
-       end
-
-       # Does this member introduce the property?
-       fun is_intro: Bool is abstract
-
-       redef fun put_in_graph do
-               super
-               self["is_intro"] = is_intro
-               if is_intro then
-                       var visibility = self["visibility"]
-                       var name = self["name"]
-
-                       introducer = create_introducer
-                       if name isa String then
-                               introducer.name = name
-                       end
-                       if visibility isa String then
-                               introducer.visibility = visibility
-                       end
-                       introducer.put_in_graph
-               end
-       end
-
-       redef fun put_edges do
-               super
-               var intro = resolve_introducer
-
-               assert intro != null
-               graph.add_edge(self, "DEFINES", intro)
-       end
-
-       # Set the visibility.
-       fun visibility=(visibility: String) do
-               self["visibility"] = visibility
-               if introducer != null then
-                       introducer.as(not null).visibility = visibility
-               end
-       end
-
-       # Get the visibility.
-       #
-       # Return `""` by default.
-       fun visibility: String do
-               var visibility = self["visibility"]
-               if visibility isa String then return visibility
-               return ""
-       end
-
-       redef fun name=(name: String) do
-               super
-               if introducer != null then
-                       introducer.as(not null).name = name
-               end
-       end
-
-       # Create an instance of `MemberIntroducer` that will be linked to `self`.
-       protected fun create_introducer: INTRODUCER_TYPE is abstract
-
-       # Find the nearest reimplementation root.
-       fun resolve_introducer: nullable INTRODUCER_TYPE is abstract
-end
-
-# A member.
-abstract class Member
-       super MemberOrInner
-
-       # Members that this member redefines/reimplements.
-       var reimplemented: SimpleCollection[String] = new Array[String]
-
-       # Set the static type.
-       fun static_type=(static_type: nullable TypeEntity) is abstract
-
-       # Get the static type.
-       fun static_type: nullable TypeEntity is abstract
-
-       # Append the specified parameter to the signature.
-       fun add_parameter(parameter: MemberParameter) do end
-
-       # Append a member that is reimplemeneted by `self`.
-       fun reimplement(parent: String) do
-               reimplemented.add(parent)
-       end
-
-       redef fun is_intro do return reimplemented.length <= 0
-
-       # Is the member abstract?
-       fun is_abstract=(is_abstract: Bool) do
-               self["is_abstract"] = is_abstract
-       end
-
-       # Find the nearest reimplementation root.
-       #
-       #     var g = new ProjectGraph("foo")
-       #     var m1 = new Attribute(g)
-       #     var m2 = new Attribute(g)
-       #     var m3 = new Attribute(g)
-       #     #
-       #     m1.model_id = "1"
-       #     m1.put_in_graph
-       #     m2.reimplement("1")
-       #     m2.put_in_graph
-       #     assert m1.resolve_introducer == m1.introducer
-       #     assert m2.resolve_introducer == m1.introducer
-       #     #
-       #     m3.model_id = "3"
-       #     m3.reimplement("3")
-       #     m3.put_in_graph
-       #     assert m3.resolve_introducer == null
-       redef fun resolve_introducer do
-               if introducer == null then
-                       var member_queue = new List[String]
-                       var visited = new HashSet[Member]
-                       var member: Member
-
-                       member_queue.add_all(reimplemented)
-                       while not member_queue.is_empty do
-                               member = graph.by_id[member_queue.shift].as(Member)
-                               if visited.has(member) then
-                                       return null
-                               else if member.is_intro then
-                                       return member.introducer
-                               else
-                                       visited.add(member)
-                                       member_queue.add_all(member.reimplemented)
-                               end
-                       end
-                       return null
-               else
-                       return introducer
-               end
-       end
-end
-
-# An unrecognized member.
-#
-# Used to simplify the handling of ignored entities.
-class UnknownMember
-       super Member
-
-       redef fun put_in_graph do end
-       redef fun put_edges do end
-end
-
-# A local definition of a method.
-class Method
-       super Member
-
-       redef type INTRODUCER_TYPE: MethodIntroducer
-
-       # The method’s signature.
-       var signature: Signature is noinit, writable
-
-       init do
-               super
-               self.labels.add("MMethodDef")
-               self["is_intern"] = false # TODO
-               self["is_extern"] = false # TODO
-               signature = new Signature(graph)
-               is_abstract = false
-       end
-
-       # Set the return type.
-       redef fun static_type=(static_type: nullable TypeEntity) do
-               signature.return_type = static_type
-       end
-
-       # Get the return type.
-       redef fun static_type: nullable TypeEntity do return signature.return_type
-
-       redef fun add_parameter(parameter: MemberParameter) do
-               signature.parameters.add(parameter)
-       end
-
-       redef fun create_introducer do return new MethodIntroducer(graph)
-
-       redef fun put_in_graph do
-               super
-               signature.put_in_graph
-       end
-
-       redef fun put_edges do
-               super
-               graph.add_edge(self, "SIGNATURE", signature)
-       end
-end
-
-# A local definition of an attribute.
-class Attribute
-       super Member
-
-       redef type INTRODUCER_TYPE: AttributeIntroducer
-
-       # The declared type.
-       redef var static_type: nullable TypeEntity = null is writable
-
-       init do
-               super
-               self.labels.add("MAttributeDef")
-       end
-
-       redef fun create_introducer do return new AttributeIntroducer(graph)
-
-       redef fun put_in_graph do
-               super
-               if static_type != null then
-                       static_type.as(not null).put_in_graph
-               end
-       end
-
-       redef fun put_edges do
-               super
-               if static_type != null then
-                       graph.add_edge(self, "TYPE", static_type.as(not null))
-               end
-       end
-end
-
-# The `MProperty` node of a root of a reimplementation graph.
-abstract class MemberIntroducer
-       super Entity
-
-       init do
-               super
-               self.labels.add("MProperty")
-               self["visibility"] = "public"
-       end
-
-       # Set the visibility.
-       fun visibility=(visibility: String) do
-               self["visibility"] = visibility
-       end
-
-       # Get the visibility.
-       #
-       # Return `""` by default.
-       fun visibility: String do
-               var visibility = self["visibility"]
-               if visibility isa String then return visibility
-               return ""
-       end
-end
-
-# A `MProperty` node for a method.
-class MethodIntroducer
-       super MemberIntroducer
-
-       init do
-               super
-               self.labels.add("MMethod")
-               self["is_init"] = false # TODO
-       end
-end
-
-# A `MProperty` node for an attribute.
-class AttributeIntroducer
-       super MemberIntroducer
-
-       init do
-               super
-               self.labels.add("MAttribute")
-       end
-end
-
-redef class Compound
-       # Append the specified member.
-       fun declare_member(member: Member) do end
-end
diff --git a/contrib/neo_doxygen/src/model/model.nit b/contrib/neo_doxygen/src/model/model.nit
deleted file mode 100644 (file)
index 8ad7e5e..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# The model used to populate the Neo4j graph.
-module model
-
-import location
-import linked_text
-import graph
-import class_compound
-import module_compound
-import member
-import inner_class
-import namespace_members
diff --git a/contrib/neo_doxygen/src/model/module_compound.nit b/contrib/neo_doxygen/src/model/module_compound.nit
deleted file mode 100644 (file)
index aca8dfc..0000000
+++ /dev/null
@@ -1,191 +0,0 @@
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Nodes for modules and files.
-module model::module_compound
-
-import graph
-import class_compound
-import namespace_members
-
-# A source file.
-#
-# Creates one modules by inner namespace. The full name of the modules begin
-# with the namespace’s full name, and end with the unqualified name of the file,
-# without the extension.
-#
-# Note: If a module associated to the root namespace is needed, it is added to
-# the graph only when `put_edges` is called.
-class FileCompound
-       super Compound
-       super CodeBlock
-
-       # Modules corresponding to the namespaces defined/redefined in the file.
-       private var inner_namespaces = new Array[Module]
-
-       # `model_id` of the classes declared in the file.
-       private var inner_classes = new Array[String]
-
-       # The last component of the path, without the extension.
-       #
-       # Used as the unqualified name of the modules.
-       private var basename: String = ""
-
-       init do
-               super
-       end
-
-       redef fun location=(location) do
-               super
-               for m in inner_namespaces do m.location = location
-       end
-
-       redef fun name=(name) do
-               # Example: `MyClass.java`
-               super
-               var match = name.search_last(".")
-
-               if match == null then
-                       basename = name
-               else
-                       basename = name.substring(0, match.from)
-               end
-               # Update the modules’ name.
-               for m in inner_namespaces do m.update_name
-       end
-
-       redef fun declare_namespace(id, full_name) do
-               var m: Module
-
-               assert not full_name.is_empty or id.is_empty else
-                       sys.stderr.write "Inner mamespace declarations without name are not yet supported (except for the root namespace).\n"
-               end
-               m = new Module(graph, self, new NamespaceRef(id, full_name))
-               m.location = location
-               inner_namespaces.add m
-       end
-
-       redef fun declare_class(id, name, prot) do
-               assert not id.is_empty else
-                       sys.stderr.write "Inner class declarations without ID are not yet supported.\n"
-               end
-               inner_classes.add id
-       end
-
-       redef fun put_in_graph do
-               # Do not add `self` to the Neo4j graph...
-               # ... but add its modules...
-               for m in inner_namespaces do m.put_in_graph
-               # ... and add `self` to the indexes.
-               if model_id != "" then graph.by_id[model_id] = self
-               graph.files.add self
-       end
-
-       # If the file contains some classes in the root namespace, add an implicit
-       # module to handle them.
-       #
-       # This method is called by `ProjectGraph.add_global_modules` and assumes
-       # that all the namespaces are already fully set and put in the graph.
-       fun declare_root_namespace do
-               if has_globals then
-                       declare_namespace("", "")
-                       inner_namespaces.last.put_in_graph
-               end
-       end
-
-       # Does this file contain classes in the root namespace?
-       private fun has_globals: Bool do
-               var root = graph.by_id[""]
-               for c in inner_classes do
-                       if graph.class_to_ns[c] == root then return true
-               end
-               return false
-       end
-end
-
-# A `MModule` node.
-#
-# For each file, there is one module by inner namespace.
-private class Module
-       super Compound
-       super CodeBlock
-
-       # The file that declares the module.
-       var file_compound: FileCompound
-
-       # The namespace defined or redefined by the module.
-       var namespace: NamespaceRef
-
-       init do
-               super
-               self.labels.add("MModule")
-               update_name
-       end
-
-       # Update the `name`.
-       #
-       # Update the short name of the module to the `basename` of the file that
-       # declares it.
-       fun update_name do name = file_compound.basename
-
-       redef fun put_edges do
-               var ns_compound = namespace.seek_in(graph)
-               var self_class = ns_compound.self_class
-               var class_count = 0
-               var last_class: nullable ClassCompound = null
-
-               graph.add_edge(ns_compound, "DECLARES", self)
-
-               for c in file_compound.inner_classes do
-                       if graph.class_to_ns[c] != ns_compound then continue
-                       var class_compound = graph.by_id[c].as(ClassCompound)
-                       last_class = class_compound
-                       class_count += 1
-                       graph.add_edge(self, "INTRODUCES", class_compound)
-                       graph.add_edge(self, "DEFINES", class_compound.class_def)
-               end
-
-               if self_class isa SelfClass then
-                       # We assume that only one file is linked to the namespace.
-                       # TODO When Doxygen will provide a way to know which file defines which member, use it.
-                       self_class.location = file_compound.location
-                       graph.add_edge(self, "INTRODUCES", self_class)
-                       graph.add_edge(self, "DEFINES", self_class.class_def)
-               end
-
-               if doc.is_empty and class_count == 1 then
-                       doc = last_class.as(not null).doc
-               end
-               if doc.is_empty then doc = file_compound.doc
-               if doc.is_empty then doc = ns_compound.doc
-               if not doc.is_empty then set_mdoc
-       end
-end
-
-# Adds the `add_global_modules` phase to `ProjectGraph`.
-redef class ProjectGraph
-
-       # Project’s source files.
-       var files: SimpleCollection[FileCompound] = new Array[FileCompound]
-
-       # Add the modules that define the root namespace.
-       #
-       # **Must** be called before any call to `put_edges`, and after all the
-       # namespaces are fully set and put in the graph.
-       #
-       # Note: This method is not idempotent so it has to be called only once.
-       fun add_global_modules do
-               for f in files do f.declare_root_namespace
-       end
-end
diff --git a/contrib/neo_doxygen/src/model/namespace_members.nit b/contrib/neo_doxygen/src/model/namespace_members.nit
deleted file mode 100644 (file)
index 4c85d5a..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Add support for namespace’s members.
-module model::namespace_members
-
-import class_compound
-import member
-
-redef class Namespace
-       # The class that contains the namespace’s direct members.
-       #
-       # Left `null` for the root namespace and for any namespace with no direct
-       # member. Automatically put in the graph with the namespace.
-       #
-       # Note: In the graph, the `self_class` not linked directly to the namespace.
-       # This is the role of the modules implicitly created by `FileCompound`s to
-       # link a namespace to its `self_class`.
-       #
-       # SEE: `declare_member`
-       var self_class: nullable SelfClass = null
-
-       # Add the specified member as a direct children of the namespace.
-       redef fun declare_member(member) do
-               if self_class == null then self_class = new SelfClass(graph, self)
-               self_class.as(not null).declare_member(member)
-       end
-
-       redef fun put_in_graph do
-               super
-               var self_class = self.self_class
-               if self_class isa SelfClass then self_class.put_in_graph
-       end
-end
-
-redef class RootNamespace
-       redef fun declare_member(member) do
-               assert false else
-                       # TODO Check how Doxygen modelize member of the root namespace.
-                       # Note: Doxygen does not modelize the root namespace.
-                       sys.stderr.write "The addition of a member to the root namespace is not supported yet."
-               end
-       end
-end
-
-# A class that contains a namespace’s direct members.
-class SelfClass
-       super ClassCompound
-
-       # The namespace of the members
-       var namespace: Namespace
-
-       init do
-               super
-               name = "(self)"
-       end
-
-       redef fun put_in_graph do
-               if doc.is_empty then doc = namespace.doc
-               super
-       end
-end
diff --git a/contrib/neo_doxygen/src/model/type_entity.nit b/contrib/neo_doxygen/src/model/type_entity.nit
deleted file mode 100644 (file)
index d8ea8c0..0000000
+++ /dev/null
@@ -1,166 +0,0 @@
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Typing and parameters.
-module model::type_entity
-
-import graph
-import linked_text
-
-# Base class of all types and signatures.
-abstract class TypeEntity
-       super Entity
-
-       init do
-               super
-               self.labels.add("MType")
-       end
-end
-
-# A type parameter or a type argument.
-#
-# Note : The class relationship and the rank are set by `MClassType.put_edges`.
-class TypeParameter
-       super TypeEntity
-       super Parameter
-
-       init do
-               super
-               self.labels.add("MParameterType")
-       end
-end
-
-
-# A type described by a text.
-class RawType
-       super TypeEntity
-       super LinkedText
-
-       init do
-               super
-               self.labels.add("MRawType")
-       end
-
-       redef fun create_link(rank, refid) do return new TypeLink(graph, refid)
-end
-
-# A link in a `RawType`.
-class TypeLink
-       super Link
-
-       init do
-               super
-               self.labels.add("MTypePart")
-       end
-end
-
-
-# A signature of a method.
-class Signature
-       super TypeEntity
-
-       # The parameters.
-       var parameters = new Array[MemberParameter]
-
-       # The static type of the returned value.
-       var return_type: nullable TypeEntity = null is writable
-
-       init do
-               super
-               self.labels.add("MSignature")
-       end
-
-       redef fun put_in_graph do
-               super
-               if return_type isa TypeEntity then
-                       return_type.as(TypeEntity).put_in_graph
-               end
-               for p in parameters do
-                       p.put_in_graph
-               end
-       end
-
-       redef fun put_edges do
-               super
-               if parameters.length > 0 then
-                       var names = new JsonArray
-
-                       for i in [0..parameters.length[ do
-                               var p = parameters[i]
-                               p.rank = i
-                               names.add(p.name)
-                               graph.add_edge(self, "PARAMETER", p)
-                       end
-                       self["parameter_names"] = names
-               end
-               if return_type != null then
-                       graph.add_edge(self, "RETURNTYPE", return_type.as(not null))
-               end
-       end
-end
-
-# A parameter or an argument.
-abstract class Parameter
-       super Entity
-
-       # The static type of the parameter.
-       var static_type: nullable TypeEntity = null is writable
-
-       init do
-               super
-               self["is_vararg"] = false
-               self["rank"] = -1
-       end
-
-       # Is the parameter a “vararg”?
-       fun is_vararg=(is_vararg: Bool) do
-               self["is_vararg"] = is_vararg
-       end
-
-       # Is the parameter a “vararg”?
-       fun is_vararg: Bool do
-               var value = self["is_vararg"]
-               assert value isa Bool
-               return value
-       end
-
-       # Set the rank (index) of the parameter in the signature.
-       fun rank=(rank: Int) do
-               self["rank"] = rank
-       end
-
-       redef fun put_in_graph do
-               super
-               if static_type != null then
-                       static_type.as(not null).put_in_graph
-               end
-       end
-
-       redef fun put_edges do
-               super
-               graph.add_edge(self, "TYPE", static_type.as(not null))
-       end
-end
-
-# A parameter of a member.
-#
-# Note : The rank are set by `Signature.put_edges`.
-class MemberParameter
-       super Parameter
-
-       init do
-               super
-               self.labels.add("MParameter")
-       end
-end
diff --git a/contrib/neo_doxygen/src/neo_doxygen.nit b/contrib/neo_doxygen/src/neo_doxygen.nit
deleted file mode 100644 (file)
index 30421eb..0000000
+++ /dev/null
@@ -1,292 +0,0 @@
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Doxygen XML to Neo4j.
-#
-# Converts a Doxygen XML output into a model in Neo4j that is readable by the
-# `nx` tool.
-module neo_doxygen
-
-import model
-import doxml
-import graph_store
-import console
-import opts
-
-# An importation task.
-class NeoDoxygenJob
-
-       # The storage medium to use.
-       var store: GraphStore
-
-       # The loaded project graph.
-       var model: ProjectGraph is noinit
-
-       # Escape control sequence to save the cursor position.
-       private var term_save_cursor: String = (new TermSaveCursor).to_s
-
-       # Escape control sequence to rewind to the last saved cursor position.
-       private var term_rewind: String = "{new TermRestoreCursor}{new TermEraseDisplayDown}"
-
-       # Generate a graph from the specified project model.
-       #
-       # Parameters:
-       #
-       # * `name`: project name.
-       # * `dir`: Doxygen XML output directory path.
-       # * `source`: The language-specific logics to use.
-       fun load_project(name: String, dir: String, source: SourceLanguage) do
-               check_name name
-               model = new ProjectGraph(name)
-               var reader = new CompoundFileReader(model, source)
-               # Queue for sub-directories.
-               var directories = new Array[String]
-               var file_count = 0
-
-               if dir == "" then
-                       printn "Reading the current directory... "
-               else
-                       printn "Reading {dir}... "
-               end
-               loop
-                       for f in list_files(dir) do
-                               var path = dir/f
-                               if path.file_stat.as(not null).is_dir then
-                                       directories.push(path)
-                               else if f.has_suffix(".xml") and f != "index.xml" then
-                                       reader.read(path)
-                                       file_count += 1
-                               end
-                       end
-                       if directories.length <= 0 then break
-                       dir = directories.pop
-               end
-               model.add_global_modules
-               print "Done."
-               if file_count < 2 then
-                       print "{file_count} file read."
-               else
-                       print "{file_count} files read."
-               end
-       end
-
-       # List files in a directory.
-       #
-       # This method may be redefined to force the order in which the files
-       # are read by `load_project`.
-       protected fun list_files(dir: String): Collection[String] do
-               return dir.files
-       end
-
-       # Check the project’s name.
-       private fun check_name(name: String) do
-               assert name_valid: not name.chars.first.is_upper else
-                       sys.stderr.write("{sys.program_name}: The project’s name must not" +
-                                       " begin with an upper case letter. Got `{name}`.\n")
-               end
-               assert name_unused: not store.has_node_label(name) else
-                       sys.stderr.write("{sys.program_name}: The label `{name}` is already" +
-                       " used in the specified graph.\n")
-               end
-       end
-
-       # Save the graph.
-       fun save do
-               sys.stdout.write "Linking nodes...{term_save_cursor} "
-               model.put_edges
-               print "{term_rewind} Done."
-               var nodes = model.all_nodes
-               sys.stdout.write "Saving {nodes.length} nodes..."
-               store.save_all(nodes)
-               var edges = model.all_edges
-               sys.stdout.write "Saving {edges.length} edges..."
-               store.save_all(edges)
-       end
-end
-
-# The main class.
-class NeoDoxygenCommand
-
-       # Invalid arguments
-       var e_usage = 64
-
-       # Available options for `--src-lang`.
-       var sources = new HashMap[String, SourceLanguage]
-
-       # The synopsis.
-       var synopsis: String = "[--dest <url>] [--src-lang <lang>]\n" +
-                       "    [--] <project_name> <doxml_dir>"
-
-       # The synopsis for the help page.
-       var help_synopsis = "[-h|--help]"
-
-       # The default destination.
-       var default_dest = "http://localhost:7474"
-
-       # Processes the options.
-       var option_context = new OptionContext
-
-       # The `--src-lang` option.
-       var opt_src_lang: OptionEnum is noinit
-
-       # The `--dest` option.
-       var opt_dest: OptionString is noinit
-
-       # The `-h|--help` option.
-       var opt_help: OptionBool is noinit
-
-       init do
-               sources["any"] = new DefaultSource
-               sources["java"] = new JavaSource
-               sources["python"] = new PythonSource
-
-               var prefix = new OptionText("""
-{{{"NAME".bold}}}
-  {{{sys.program_name}}} — Doxygen XML to Neo4j.
-
-{{{"SYNOPSIS".bold}}}
-  {{{sys.program_name}}} {{{synopsis}}}
-  {{{sys.program_name}}} {{{help_synopsis}}}
-
-{{{"DESCRIPTION".bold}}}
-  Convert a Doxygen XML output into a model in Neo4j that is readable by the
-  `nx` tool.
-
-{{{"ARGUMENTS".bold}}}
-  <project_name>  The internal name of the project. Must the same name as the
-                  one specified to the `nx` tool. Must not begin by an upper
-                  case letter.
-
-  <doxml_dir>     The directory where the XML documents generated by Doxygen are
-                  located.
-
-{{{"OPTIONS".bold}}}
-""")
-               option_context.add_option(prefix)
-
-               opt_dest = new OptionString("The URL of the destination graph. `{default_dest}` by default.",
-                               "--dest")
-               opt_dest.default_value = default_dest
-               option_context.add_option(opt_dest)
-
-               opt_help = new OptionBool("Show the help (this page).",
-                               "-h", "--help")
-               option_context.add_option(opt_help)
-
-               var keys = new Array[String].from(sources.keys)
-               opt_src_lang = new OptionEnum(keys,
-                               "The programming language to assume when processing chunks in the declarations left as-is by Doxygen. Use `any` (the default) to disable any language-specific processing.",
-                               keys.index_of("any"), "--src-lang")
-               option_context.add_option(opt_src_lang)
-       end
-
-       # Start the application.
-       fun main: Int do
-               if args.is_empty then
-                       show_help
-                       return e_usage
-               end
-               option_context.parse(args)
-
-               var errors = option_context.errors
-               var rest = option_context.rest
-
-               if errors.is_empty and not opt_help.value and rest.length != 2 then
-                       errors.add "Unexpected number of additional arguments. Expecting 2; got {rest.length}."
-               end
-               if not errors.is_empty then
-                       for e in errors do print_error(e)
-                       show_usage
-                       return e_usage
-               end
-               if opt_help.value then
-                       show_help
-                       return 0
-               end
-
-               var source = sources[opt_src_lang.value_name]
-               var dest = opt_dest.value
-               var project_name = rest[0]
-               var dir = rest[1]
-               var neo = new NeoDoxygenJob(create_store(dest or else default_dest))
-
-               neo.load_project(project_name, dir, source)
-               neo.save
-               return 0
-       end
-
-       # Create an instance of `GraphStore` for the specified destination.
-       protected fun create_store(dest: String): GraphStore do
-               return new Neo4jStore(new Neo4jClient(dest))
-       end
-
-       # Show the help.
-       fun show_help do
-               option_context.usage
-       end
-
-       # Show the usage.
-       fun show_usage do
-               sys.stderr.write "Usage: {sys.program_name} {synopsis}\n"
-               sys.stderr.write "For details, run `{sys.program_name} --help`.\n"
-       end
-
-       # Print an error.
-       fun print_error(e: String) do
-               sys.stderr.write "{sys.program_name}: {e}\n"
-       end
-end
-
-# Add handling of multi-line descriptions.
-#
-# Note: The algorithm is naive and do not handle internationalisation,
-# multi-byte characters and control characters.
-redef class Option
-
-       redef fun pretty(off) do
-               var s = super
-
-               if s.length > 80 and off < 80 then
-                       var column_length = 80 - off
-                       var left = 0
-                       var right = 80
-                       var buf = new FlatBuffer
-                       var prefix = "\n{" " * off}"
-
-                       loop
-                               while right > left and s.chars[right] != ' ' do
-                                       right -= 1
-                               end
-                               if left == right then
-                                       buf.append s.substring(left, column_length)
-                                       right += column_length
-                               else
-                                       buf.append s.substring(left, right - left)
-                                       right += 1
-                               end
-                               buf.append prefix
-                               left = right
-                               right += column_length
-                               if right >= s.length then break
-                       end
-                       buf.append s.substring_from(left)
-                       buf.append "\n"
-                       return buf.to_s
-               else
-                       return "{s}\n"
-               end
-       end
-end
-
-exit((new NeoDoxygenCommand).main)
diff --git a/contrib/neo_doxygen/src/tests/README.md b/contrib/neo_doxygen/src/tests/README.md
deleted file mode 100644 (file)
index fbb4393..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-Test scripts for `neo_doxygen`.
-
-The name of each test script is prefixed by `neo_doxygen_` to avoid name
-conflicts in `/tests/sav` and `/tests/out`. The expected output of each script
-is saved as a `*.res` file in `/tests/sav`.
-
-Note: All paths indicated here are relative to the root of the repository.
diff --git a/contrib/neo_doxygen/src/tests/neo_doxygen_doc_module_class.nit b/contrib/neo_doxygen/src/tests/neo_doxygen_doc_module_class.nit
deleted file mode 100644 (file)
index 48f73d5..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-import tests
-intrude import model::module_compound
-
-var graph = new ProjectGraph("foo")
-var file = new FileCompound(graph)
-var bar_class = new ClassCompound(graph)
-var a_ns = new Namespace(graph)
-
-file.full_name = "Baz.java"
-file.declare_class("classa_bar", "a::Bar", "public")
-file.declare_namespace("namespacea", "a")
-file.doc.brief_description = "A file."
-file.put_in_graph
-
-a_ns.full_name = "a"
-a_ns.model_id = "namespacea"
-a_ns.declare_class("classa_bar", "a::Bar", "public")
-a_ns.doc.brief_description = "A namespace."
-a_ns.put_in_graph
-
-bar_class.model_id = "classa_bar"
-bar_class.full_name = "a::Bar"
-bar_class.doc.brief_description = "A class."
-bar_class.put_in_graph
-
-graph.add_global_modules
-graph.put_edges
-
-assert file.inner_namespaces[0]["mdoc"] == bar_class.doc
diff --git a/contrib/neo_doxygen/src/tests/neo_doxygen_dump.nit b/contrib/neo_doxygen/src/tests/neo_doxygen_dump.nit
deleted file mode 100644 (file)
index f594de9..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# A variant of the `neo_doxygen` program that produces a debugging output of the graph instead of saving it.
-#
-# Note: The `--dest` option is ignored.
-module tests::neo_doxygen_dump
-
-import tests
-import neo_doxygen
-
-redef class Sys
-       redef fun program_name do return "%PROGRAM_NAME%"
-end
-
-redef class NeoDoxygenJob
-       redef fun list_files(dir) do
-               var a = super.to_a
-               default_comparator.sort(a)
-               return a
-       end
-end
-
-redef class NeoDoxygenCommand
-       redef fun create_store(url) do return new DebugStore
-end
-
-# Dummy storage medium that write a debugging output to the standard output.
-#
-# For testing purposes only.
-class DebugStore
-       super GraphStore
-
-       redef fun has_node_label(name) do return false
-
-       redef fun save_all(neo_entities) do
-               print ""
-               for n in neo_entities do
-                       if n isa NeoEdge then
-                               var buffer = new Buffer
-                               n.debug buffer
-                               print buffer
-                       end
-               end
-               print "---===DONE===---"
-       end
-end
diff --git a/contrib/neo_doxygen/src/tests/neo_doxygen_file_compound.nit b/contrib/neo_doxygen/src/tests/neo_doxygen_file_compound.nit
deleted file mode 100644 (file)
index a9dae43..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-import tests
-import model::module_compound
-
-var graph = new ProjectGraph("foo")
-var file = new FileCompound(graph)
-var file_2 = new FileCompound(graph)
-var bar_class = new ClassCompound(graph)
-var baz_class = new ClassCompound(graph)
-var a_ns = new Namespace(graph)
-var b_ns = new Namespace(graph)
-var c_ns = new Namespace(graph)
-var d_ns = new Namespace(graph)
-var buffer = new Buffer
-var root_ns = graph.by_id[""].as(Namespace)
-var location
-
-file.name = "Bar.java"
-file.model_id = "_Bar_8java"
-location = new neo_doxygen::Location
-location.path = "a/b/Bar.java"
-file.location = location
-file.declare_class("classa_b_bar", "a::b::Bar", "package")
-file.declare_class("classbaz", "Baz", "")
-file.declare_namespace("", "a::b")
-file.doc.brief_description = "The first file."
-file.put_in_graph
-
-file_2.name = "Bar.java"
-file_2.model_id = "_Bar_8java_2"
-location = new neo_doxygen::Location
-location.path = "Bar.java"
-file_2.location = location
-file_2.declare_namespace("namespacec", "c")
-file_2.declare_namespace("", "d")
-file_2.put_in_graph
-
-bar_class.model_id = "classa_b_bar"
-bar_class.name = "Bar"
-location = new neo_doxygen::Location
-location.path = "a/b/Bar.class"
-location.line_start = 5
-location.column_start = 1
-location.line_end = 100
-location.column_end = 10
-bar_class.location = location
-bar_class.put_in_graph
-
-baz_class.model_id = "classbaz"
-baz_class.name = "Baz"
-location = new neo_doxygen::Location
-location.path = "Baz.jar"
-baz_class.location = location
-baz_class.put_in_graph
-
-root_ns.declare_namespace("", "a")
-root_ns.declare_namespace("namespacec", "c")
-root_ns.declare_namespace("", "d")
-
-a_ns.name = "a"
-a_ns.full_name = "a"
-a_ns.declare_namespace("", "a::b")
-a_ns.put_in_graph
-
-b_ns.name = "b"
-b_ns.full_name = "a::b"
-b_ns.declare_class("classa_b_bar", "", "")
-b_ns.put_in_graph
-
-c_ns.model_id = "namespacec"
-c_ns.name = "c"
-c_ns.full_name = "c"
-c_ns.put_in_graph
-
-d_ns.model_id = "namespaced"
-d_ns.name = "d"
-d_ns.full_name = "d"
-d_ns.put_in_graph
-
-print "---===WITHOUT GLOBALS===---"
-graph.put_edges
-graph.debug buffer
-print buffer
-
-print "---===WITH GLOBALS===---"
-buffer.clear
-graph.add_global_modules
-graph.put_edges
-graph.debug buffer
-print buffer
diff --git a/contrib/neo_doxygen/src/tests/neo_doxygen_graph_empty_project.nit b/contrib/neo_doxygen/src/tests/neo_doxygen_graph_empty_project.nit
deleted file mode 100644 (file)
index 1847625..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-import tests
-
-var graph = new ProjectGraph("foo")
-var buffer = new Buffer
-
-graph.put_edges
-graph.debug buffer
-print buffer
diff --git a/contrib/neo_doxygen/src/tests/neo_doxygen_namespace_members.nit b/contrib/neo_doxygen/src/tests/neo_doxygen_namespace_members.nit
deleted file mode 100644 (file)
index bf0a62f..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-import tests
-import model
-
-var graph = new ProjectGraph("foo")
-var file = new FileCompound(graph)
-var root_ns = graph.by_id[""].as(Namespace)
-var ns = new Namespace(graph)
-var member = new Attribute(graph)
-var buffer = new Buffer
-
-file.name = "foo.py"
-file.model_id = "_foo_8py"
-file.declare_namespace("namespacefoo", "foo")
-file.put_in_graph
-
-member.name = "bar"
-member.put_in_graph
-
-ns.model_id = "namespacefoo"
-ns.name = "foo"
-ns.declare_member(member)
-ns.doc.brief_description = "A documented namespace."
-ns.put_in_graph
-
-root_ns.declare_namespace("namespacefoo", "")
-
-graph.add_global_modules
-graph.put_edges
-graph.debug buffer
-print buffer
diff --git a/contrib/neo_doxygen/src/tests/tests.nit b/contrib/neo_doxygen/src/tests/tests.nit
deleted file mode 100644 (file)
index b1481b3..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Base module for tests related to `neo_doxygen`.
-module tests::tests
-
-import model::graph
-
-# Adds debugging output to graphs.
-redef class NeoGraph
-
-       # Append the debugging output of all relationships to the specified buffer.
-       fun debug(buffer: Buffer) do
-               buffer.append "# Graph\n"
-               for edge in all_edges do
-                       edge.debug buffer
-               end
-       end
-end
-
-# Adds debugging output to relationships.
-redef class NeoEdge
-
-       # Append the debugging output of this relationship to the specified buffer.
-       #
-       # Append the relationship type, the properties, and the debugging output of
-       # both extremities.
-       fun debug(buffer: Buffer) do
-               var rel_type = self.rel_type or else "?"
-               buffer.append "Edge\n"
-               buffer.append "=type={rel_type.length}:{rel_type}\n"
-               buffer.append "=properties=JsonObject({properties.length}):\n"
-               buffer.append properties.to_json
-               buffer.append "\n----\n=from="
-               from.debug buffer
-               buffer.append "----\n=to="
-               to.debug buffer
-               buffer.append "\n"
-       end
-end
-
-# Adds debugging output to nodes.
-redef class NeoNode
-
-       # Append the debugging output of this node to the specified buffer.
-       #
-       # Append the labels and the properties.
-       fun debug(buffer: Buffer) do
-               buffer.append "Node\n"
-               buffer.append "=labels=Array({labels.length}):\n"
-               for lab in labels do buffer.append "{lab.length}:{lab}\n"
-               buffer.append "=properties=JsonObject({properties.length}):\n"
-               buffer.append properties.to_json
-               buffer.append "\n"
-       end
-end
-
-# Adds debugging output to entities.
-redef class Entity
-
-       # Append the debugging output of this entity to the specified buffer.
-       #
-       # Append the `model_id`, the labels and the properties.
-       redef fun debug(buffer) do
-               buffer.append "Entity#{model_id.length}:{model_id}\n"
-               buffer.append "=labels=Array({labels.length}):\n"
-               for lab in labels do buffer.append "{lab.length}:{lab}\n"
-               buffer.append "=properties=JsonObject({properties.length}):\n"
-               buffer.append properties.to_json
-               buffer.append "\n"
-       end
-end
diff --git a/contrib/neo_doxygen/tests/.gitattributes b/contrib/neo_doxygen/tests/.gitattributes
deleted file mode 100644 (file)
index ab22f42..0000000
+++ /dev/null
@@ -1 +0,0 @@
-/*/xml/*       -diff
diff --git a/contrib/neo_doxygen/tests/.gitignore b/contrib/neo_doxygen/tests/.gitignore
deleted file mode 100644 (file)
index ad8b991..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-/*/Makefile
-/*/.nx_config
diff --git a/contrib/neo_doxygen/tests/Makefile b/contrib/neo_doxygen/tests/Makefile
deleted file mode 100644 (file)
index d90195d..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# All the dummy projects.
-PROJECTS=$(dir $(wildcard ./*/Doxyfile))
-
-.PHONY: xml bootstrap
-
-# Regenerate the XML documents.
-xml: bootstrap
-       for p in $(PROJECTS); do $(MAKE) -C "$$p" xml || exit; done
-
-# Generate the Makefiles in the sub-directories.
-bootstrap:
-       for p in $(PROJECTS); do { \
-               echo '# FILE GENERATED BY ../Makefile'"\n" > "$$p/Makefile" || exit; \
-               cat doxyproject.mk >> "$$p/Makefile" || exit; \
-       } ; done
diff --git a/contrib/neo_doxygen/tests/README.md b/contrib/neo_doxygen/tests/README.md
deleted file mode 100644 (file)
index 5c2c616..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-Data files for tests.
-
-For test scripts, see `../src/tests`. To regenerate the XML documents, run
-`make`.
-
-## Required to Generate the XML documents
-
-* [Doxygen](http://www.doxygen.org/)
diff --git a/contrib/neo_doxygen/tests/doxyproject.mk b/contrib/neo_doxygen/tests/doxyproject.mk
deleted file mode 100644 (file)
index b6ce8e0..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-.PHONY: clean doxygen strip_paths xml
-
-# Regenerate the XML documents.
-xml: strip_paths
-
-clean:
-       rm -rf xml
-
-doxygen: clean
-       doxygen Doxyfile
-
-# Get rid of the absolute paths in the generated files.
-#
-# Doxygen ignores the `STRIP_FROM_PATH` setting when generating a XML output.
-# So, we have to replace the paths manually in order to get reproducible
-# results.
-#
-# WARNING: FOR USE ON TEST DATA ONLY.
-strip_paths: doxygen
-       . ../../sh-lib/more_sed.sh; \
-       replace `readlink -f -- ./src` '%SOURCE_DIRECTORY%' xml/*.xml
diff --git a/contrib/neo_doxygen/tests/empty-project/Doxyfile b/contrib/neo_doxygen/tests/empty-project/Doxyfile
deleted file mode 100644 (file)
index bd06324..0000000
+++ /dev/null
@@ -1,2381 +0,0 @@
-# Doxyfile 1.8.8
-
-# This file describes the settings to be used by the documentation system
-# doxygen (www.doxygen.org) for a project.
-#
-# All text after a double hash (##) is considered a comment and is placed in
-# front of the TAG it is preceding.
-#
-# All text after a single hash (#) is considered a comment and will be ignored.
-# The format is:
-# TAG = value [value, ...]
-# For lists, items can also be appended using:
-# TAG += value [value, ...]
-# Values that contain spaces should be placed between quotes (\" \").
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-
-# This tag specifies the encoding used for all characters in the config file
-# that follow. The default is UTF-8 which is also the encoding used for all text
-# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv
-# built into libc) for the transcoding. See http://www.gnu.org/software/libiconv
-# for the list of possible encodings.
-# The default value is: UTF-8.
-
-DOXYFILE_ENCODING      = UTF-8
-
-# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by
-# double-quotes, unless you are using Doxywizard) that should identify the
-# project for which the documentation is generated. This name is used in the
-# title of most generated pages and in a few other places.
-# The default value is: My Project.
-
-PROJECT_NAME           = "Test Project"
-
-# The PROJECT_NUMBER tag can be used to enter a project or revision number. This
-# could be handy for archiving the generated documentation or if some version
-# control system is used.
-
-PROJECT_NUMBER         =
-
-# Using the PROJECT_BRIEF tag one can provide an optional one line description
-# for a project that appears at the top of each page and should give viewer a
-# quick idea about the purpose of the project. Keep the description short.
-
-PROJECT_BRIEF          =
-
-# With the PROJECT_LOGO tag one can specify a logo or an icon that is included
-# in the documentation. The maximum height of the logo should not exceed 55
-# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy
-# the logo to the output directory.
-
-PROJECT_LOGO           =
-
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path
-# into which the generated documentation will be written. If a relative path is
-# entered, it will be relative to the location where doxygen was started. If
-# left blank the current directory will be used.
-
-OUTPUT_DIRECTORY       =
-
-# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
-# directories (in 2 levels) under the output directory of each output format and
-# will distribute the generated files over these directories. Enabling this
-# option can be useful when feeding doxygen a huge amount of source files, where
-# putting all generated files in the same directory would otherwise causes
-# performance problems for the file system.
-# The default value is: NO.
-
-CREATE_SUBDIRS         = NO
-
-# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII
-# characters to appear in the names of generated files. If set to NO, non-ASCII
-# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode
-# U+3044.
-# The default value is: NO.
-
-ALLOW_UNICODE_NAMES    = NO
-
-# The OUTPUT_LANGUAGE tag is used to specify the language in which all
-# documentation generated by doxygen is written. Doxygen will use this
-# information to generate all constant output in the proper language.
-# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese,
-# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States),
-# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian,
-# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages),
-# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian,
-# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian,
-# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish,
-# Ukrainian and Vietnamese.
-# The default value is: English.
-
-OUTPUT_LANGUAGE        = English
-
-# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member
-# descriptions after the members that are listed in the file and class
-# documentation (similar to Javadoc). Set to NO to disable this.
-# The default value is: YES.
-
-BRIEF_MEMBER_DESC      = YES
-
-# If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief
-# description of a member or function before the detailed description
-#
-# Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
-# brief descriptions will be completely suppressed.
-# The default value is: YES.
-
-REPEAT_BRIEF           = YES
-
-# This tag implements a quasi-intelligent brief description abbreviator that is
-# used to form the text in various listings. Each string in this list, if found
-# as the leading text of the brief description, will be stripped from the text
-# and the result, after processing the whole list, is used as the annotated
-# text. Otherwise, the brief description is used as-is. If left blank, the
-# following values are used ($name is automatically replaced with the name of
-# the entity):The $name class, The $name widget, The $name file, is, provides,
-# specifies, contains, represents, a, an and the.
-
-ABBREVIATE_BRIEF       = "The $name class" \
-                         "The $name widget" \
-                         "The $name file" \
-                         is \
-                         provides \
-                         specifies \
-                         contains \
-                         represents \
-                         a \
-                         an \
-                         the
-
-# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
-# doxygen will generate a detailed section even if there is only a brief
-# description.
-# The default value is: NO.
-
-ALWAYS_DETAILED_SEC    = NO
-
-# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
-# inherited members of a class in the documentation of that class as if those
-# members were ordinary class members. Constructors, destructors and assignment
-# operators of the base classes will not be shown.
-# The default value is: NO.
-
-INLINE_INHERITED_MEMB  = NO
-
-# If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path
-# before files name in the file list and in the header files. If set to NO the
-# shortest path that makes the file name unique will be used
-# The default value is: YES.
-
-FULL_PATH_NAMES        = YES
-
-# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path.
-# Stripping is only done if one of the specified strings matches the left-hand
-# part of the path. The tag can be used to show relative paths in the file list.
-# If left blank the directory from which doxygen is run is used as the path to
-# strip.
-#
-# Note that you can specify absolute paths here, but also relative paths, which
-# will be relative from the directory where doxygen is started.
-# This tag requires that the tag FULL_PATH_NAMES is set to YES.
-
-STRIP_FROM_PATH        =
-
-# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the
-# path mentioned in the documentation of a class, which tells the reader which
-# header file to include in order to use a class. If left blank only the name of
-# the header file containing the class definition is used. Otherwise one should
-# specify the list of include paths that are normally passed to the compiler
-# using the -I flag.
-
-STRIP_FROM_INC_PATH    =
-
-# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but
-# less readable) file names. This can be useful is your file systems doesn't
-# support long names like on DOS, Mac, or CD-ROM.
-# The default value is: NO.
-
-SHORT_NAMES            = NO
-
-# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the
-# first line (until the first dot) of a Javadoc-style comment as the brief
-# description. If set to NO, the Javadoc-style will behave just like regular Qt-
-# style comments (thus requiring an explicit @brief command for a brief
-# description.)
-# The default value is: NO.
-
-JAVADOC_AUTOBRIEF      = NO
-
-# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first
-# line (until the first dot) of a Qt-style comment as the brief description. If
-# set to NO, the Qt-style will behave just like regular Qt-style comments (thus
-# requiring an explicit \brief command for a brief description.)
-# The default value is: NO.
-
-QT_AUTOBRIEF           = NO
-
-# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a
-# multi-line C++ special comment block (i.e. a block of //! or /// comments) as
-# a brief description. This used to be the default behavior. The new default is
-# to treat a multi-line C++ comment block as a detailed description. Set this
-# tag to YES if you prefer the old behavior instead.
-#
-# Note that setting this tag to YES also means that rational rose comments are
-# not recognized any more.
-# The default value is: NO.
-
-MULTILINE_CPP_IS_BRIEF = NO
-
-# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the
-# documentation from any documented member that it re-implements.
-# The default value is: YES.
-
-INHERIT_DOCS           = YES
-
-# If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new
-# page for each member. If set to NO, the documentation of a member will be part
-# of the file/class/namespace that contains it.
-# The default value is: NO.
-
-SEPARATE_MEMBER_PAGES  = NO
-
-# The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen
-# uses this value to replace tabs by spaces in code fragments.
-# Minimum value: 1, maximum value: 16, default value: 4.
-
-TAB_SIZE               = 4
-
-# This tag can be used to specify a number of aliases that act as commands in
-# the documentation. An alias has the form:
-# name=value
-# For example adding
-# "sideeffect=@par Side Effects:\n"
-# will allow you to put the command \sideeffect (or @sideeffect) in the
-# documentation, which will result in a user-defined paragraph with heading
-# "Side Effects:". You can put \n's in the value part of an alias to insert
-# newlines.
-
-ALIASES                =
-
-# This tag can be used to specify a number of word-keyword mappings (TCL only).
-# A mapping has the form "name=value". For example adding "class=itcl::class"
-# will allow you to use the command class in the itcl::class meaning.
-
-TCL_SUBST              =
-
-# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
-# only. Doxygen will then generate output that is more tailored for C. For
-# instance, some of the names that are used will be different. The list of all
-# members will be omitted, etc.
-# The default value is: NO.
-
-OPTIMIZE_OUTPUT_FOR_C  = NO
-
-# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or
-# Python sources only. Doxygen will then generate output that is more tailored
-# for that language. For instance, namespaces will be presented as packages,
-# qualified scopes will look different, etc.
-# The default value is: NO.
-
-OPTIMIZE_OUTPUT_JAVA   = YES
-
-# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
-# sources. Doxygen will then generate output that is tailored for Fortran.
-# The default value is: NO.
-
-OPTIMIZE_FOR_FORTRAN   = NO
-
-# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
-# sources. Doxygen will then generate output that is tailored for VHDL.
-# The default value is: NO.
-
-OPTIMIZE_OUTPUT_VHDL   = NO
-
-# Doxygen selects the parser to use depending on the extension of the files it
-# parses. With this tag you can assign which parser to use for a given
-# extension. Doxygen has a built-in mapping, but you can override or extend it
-# using this tag. The format is ext=language, where ext is a file extension, and
-# language is one of the parsers supported by doxygen: IDL, Java, Javascript,
-# C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran:
-# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran:
-# Fortran. In the later case the parser tries to guess whether the code is fixed
-# or free formatted code, this is the default for Fortran type files), VHDL. For
-# instance to make doxygen treat .inc files as Fortran files (default is PHP),
-# and .f files as C (default is Fortran), use: inc=Fortran f=C.
-#
-# Note: For files without extension you can use no_extension as a placeholder.
-#
-# Note that for custom extensions you also need to set FILE_PATTERNS otherwise
-# the files are not read by doxygen.
-
-EXTENSION_MAPPING      =
-
-# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments
-# according to the Markdown format, which allows for more readable
-# documentation. See http://daringfireball.net/projects/markdown/ for details.
-# The output of markdown processing is further processed by doxygen, so you can
-# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in
-# case of backward compatibilities issues.
-# The default value is: YES.
-
-MARKDOWN_SUPPORT       = YES
-
-# When enabled doxygen tries to link words that correspond to documented
-# classes, or namespaces to their corresponding documentation. Such a link can
-# be prevented in individual cases by putting a % sign in front of the word or
-# globally by setting AUTOLINK_SUPPORT to NO.
-# The default value is: YES.
-
-AUTOLINK_SUPPORT       = YES
-
-# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
-# to include (a tag file for) the STL sources as input, then you should set this
-# tag to YES in order to let doxygen match functions declarations and
-# definitions whose arguments contain STL classes (e.g. func(std::string);
-# versus func(std::string) {}). This also make the inheritance and collaboration
-# diagrams that involve STL classes more complete and accurate.
-# The default value is: NO.
-
-BUILTIN_STL_SUPPORT    = NO
-
-# If you use Microsoft's C++/CLI language, you should set this option to YES to
-# enable parsing support.
-# The default value is: NO.
-
-CPP_CLI_SUPPORT        = NO
-
-# Set the SIP_SUPPORT tag to YES if your project consists of sip (see:
-# http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen
-# will parse them like normal C++ but will assume all classes use public instead
-# of private inheritance when no explicit protection keyword is present.
-# The default value is: NO.
-
-SIP_SUPPORT            = NO
-
-# For Microsoft's IDL there are propget and propput attributes to indicate
-# getter and setter methods for a property. Setting this option to YES will make
-# doxygen to replace the get and set methods by a property in the documentation.
-# This will only work if the methods are indeed getting or setting a simple
-# type. If this is not the case, or you want to show the methods anyway, you
-# should set this option to NO.
-# The default value is: YES.
-
-IDL_PROPERTY_SUPPORT   = YES
-
-# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
-# tag is set to YES then doxygen will reuse the documentation of the first
-# member in the group (if any) for the other members of the group. By default
-# all members of a group must be documented explicitly.
-# The default value is: NO.
-
-DISTRIBUTE_GROUP_DOC   = NO
-
-# Set the SUBGROUPING tag to YES to allow class member groups of the same type
-# (for instance a group of public functions) to be put as a subgroup of that
-# type (e.g. under the Public Functions section). Set it to NO to prevent
-# subgrouping. Alternatively, this can be done per class using the
-# \nosubgrouping command.
-# The default value is: YES.
-
-SUBGROUPING            = YES
-
-# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions
-# are shown inside the group in which they are included (e.g. using \ingroup)
-# instead of on a separate page (for HTML and Man pages) or section (for LaTeX
-# and RTF).
-#
-# Note that this feature does not work in combination with
-# SEPARATE_MEMBER_PAGES.
-# The default value is: NO.
-
-INLINE_GROUPED_CLASSES = NO
-
-# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions
-# with only public data fields or simple typedef fields will be shown inline in
-# the documentation of the scope in which they are defined (i.e. file,
-# namespace, or group documentation), provided this scope is documented. If set
-# to NO, structs, classes, and unions are shown on a separate page (for HTML and
-# Man pages) or section (for LaTeX and RTF).
-# The default value is: NO.
-
-INLINE_SIMPLE_STRUCTS  = NO
-
-# When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or
-# enum is documented as struct, union, or enum with the name of the typedef. So
-# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
-# with name TypeT. When disabled the typedef will appear as a member of a file,
-# namespace, or class. And the struct will be named TypeS. This can typically be
-# useful for C code in case the coding convention dictates that all compound
-# types are typedef'ed and only the typedef is referenced, never the tag name.
-# The default value is: NO.
-
-TYPEDEF_HIDES_STRUCT   = NO
-
-# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This
-# cache is used to resolve symbols given their name and scope. Since this can be
-# an expensive process and often the same symbol appears multiple times in the
-# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small
-# doxygen will become slower. If the cache is too large, memory is wasted. The
-# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range
-# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536
-# symbols. At the end of a run doxygen will report the cache usage and suggest
-# the optimal cache size from a speed point of view.
-# Minimum value: 0, maximum value: 9, default value: 0.
-
-LOOKUP_CACHE_SIZE      = 0
-
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-
-# If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in
-# documentation are documented, even if no documentation was available. Private
-# class members and static file members will be hidden unless the
-# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES.
-# Note: This will also disable the warnings about undocumented members that are
-# normally produced when WARNINGS is set to YES.
-# The default value is: NO.
-
-EXTRACT_ALL            = NO
-
-# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will
-# be included in the documentation.
-# The default value is: NO.
-
-EXTRACT_PRIVATE        = NO
-
-# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal
-# scope will be included in the documentation.
-# The default value is: NO.
-
-EXTRACT_PACKAGE        = NO
-
-# If the EXTRACT_STATIC tag is set to YES, all static members of a file will be
-# included in the documentation.
-# The default value is: NO.
-
-EXTRACT_STATIC         = NO
-
-# If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined
-# locally in source files will be included in the documentation. If set to NO,
-# only classes defined in header files are included. Does not have any effect
-# for Java sources.
-# The default value is: YES.
-
-EXTRACT_LOCAL_CLASSES  = YES
-
-# This flag is only useful for Objective-C code. If set to YES, local methods,
-# which are defined in the implementation section but not in the interface are
-# included in the documentation. If set to NO, only methods in the interface are
-# included.
-# The default value is: NO.
-
-EXTRACT_LOCAL_METHODS  = NO
-
-# If this flag is set to YES, the members of anonymous namespaces will be
-# extracted and appear in the documentation as a namespace called
-# 'anonymous_namespace{file}', where file will be replaced with the base name of
-# the file that contains the anonymous namespace. By default anonymous namespace
-# are hidden.
-# The default value is: NO.
-
-EXTRACT_ANON_NSPACES   = NO
-
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all
-# undocumented members inside documented classes or files. If set to NO these
-# members will be included in the various overviews, but no documentation
-# section is generated. This option has no effect if EXTRACT_ALL is enabled.
-# The default value is: NO.
-
-HIDE_UNDOC_MEMBERS     = NO
-
-# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all
-# undocumented classes that are normally visible in the class hierarchy. If set
-# to NO, these classes will be included in the various overviews. This option
-# has no effect if EXTRACT_ALL is enabled.
-# The default value is: NO.
-
-HIDE_UNDOC_CLASSES     = NO
-
-# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend
-# (class|struct|union) declarations. If set to NO, these declarations will be
-# included in the documentation.
-# The default value is: NO.
-
-HIDE_FRIEND_COMPOUNDS  = NO
-
-# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any
-# documentation blocks found inside the body of a function. If set to NO, these
-# blocks will be appended to the function's detailed documentation block.
-# The default value is: NO.
-
-HIDE_IN_BODY_DOCS      = NO
-
-# The INTERNAL_DOCS tag determines if documentation that is typed after a
-# \internal command is included. If the tag is set to NO then the documentation
-# will be excluded. Set it to YES to include the internal documentation.
-# The default value is: NO.
-
-INTERNAL_DOCS          = NO
-
-# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file
-# names in lower-case letters. If set to YES, upper-case letters are also
-# allowed. This is useful if you have classes or files whose names only differ
-# in case and if your file system supports case sensitive file names. Windows
-# and Mac users are advised to set this option to NO.
-# The default value is: system dependent.
-
-CASE_SENSE_NAMES       = NO
-
-# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with
-# their full class and namespace scopes in the documentation. If set to YES, the
-# scope will be hidden.
-# The default value is: NO.
-
-HIDE_SCOPE_NAMES       = NO
-
-# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of
-# the files that are included by a file in the documentation of that file.
-# The default value is: YES.
-
-SHOW_INCLUDE_FILES     = YES
-
-# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each
-# grouped member an include statement to the documentation, telling the reader
-# which file to include in order to use the member.
-# The default value is: NO.
-
-SHOW_GROUPED_MEMB_INC  = NO
-
-# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include
-# files with double quotes in the documentation rather than with sharp brackets.
-# The default value is: NO.
-
-FORCE_LOCAL_INCLUDES   = NO
-
-# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the
-# documentation for inline members.
-# The default value is: YES.
-
-INLINE_INFO            = YES
-
-# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the
-# (detailed) documentation of file and class members alphabetically by member
-# name. If set to NO, the members will appear in declaration order.
-# The default value is: YES.
-
-SORT_MEMBER_DOCS       = YES
-
-# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief
-# descriptions of file, namespace and class members alphabetically by member
-# name. If set to NO, the members will appear in declaration order. Note that
-# this will also influence the order of the classes in the class list.
-# The default value is: NO.
-
-SORT_BRIEF_DOCS        = NO
-
-# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the
-# (brief and detailed) documentation of class members so that constructors and
-# destructors are listed first. If set to NO the constructors will appear in the
-# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS.
-# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief
-# member documentation.
-# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting
-# detailed member documentation.
-# The default value is: NO.
-
-SORT_MEMBERS_CTORS_1ST = NO
-
-# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy
-# of group names into alphabetical order. If set to NO the group names will
-# appear in their defined order.
-# The default value is: NO.
-
-SORT_GROUP_NAMES       = NO
-
-# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by
-# fully-qualified names, including namespaces. If set to NO, the class list will
-# be sorted only by class name, not including the namespace part.
-# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
-# Note: This option applies only to the class list, not to the alphabetical
-# list.
-# The default value is: NO.
-
-SORT_BY_SCOPE_NAME     = NO
-
-# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper
-# type resolution of all parameters of a function it will reject a match between
-# the prototype and the implementation of a member function even if there is
-# only one candidate or it is obvious which candidate to choose by doing a
-# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still
-# accept a match between prototype and implementation in such cases.
-# The default value is: NO.
-
-STRICT_PROTO_MATCHING  = NO
-
-# The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo
-# list. This list is created by putting \todo commands in the documentation.
-# The default value is: YES.
-
-GENERATE_TODOLIST      = YES
-
-# The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test
-# list. This list is created by putting \test commands in the documentation.
-# The default value is: YES.
-
-GENERATE_TESTLIST      = YES
-
-# The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug
-# list. This list is created by putting \bug commands in the documentation.
-# The default value is: YES.
-
-GENERATE_BUGLIST       = YES
-
-# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO)
-# the deprecated list. This list is created by putting \deprecated commands in
-# the documentation.
-# The default value is: YES.
-
-GENERATE_DEPRECATEDLIST= YES
-
-# The ENABLED_SECTIONS tag can be used to enable conditional documentation
-# sections, marked by \if <section_label> ... \endif and \cond <section_label>
-# ... \endcond blocks.
-
-ENABLED_SECTIONS       =
-
-# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the
-# initial value of a variable or macro / define can have for it to appear in the
-# documentation. If the initializer consists of more lines than specified here
-# it will be hidden. Use a value of 0 to hide initializers completely. The
-# appearance of the value of individual variables and macros / defines can be
-# controlled using \showinitializer or \hideinitializer command in the
-# documentation regardless of this setting.
-# Minimum value: 0, maximum value: 10000, default value: 30.
-
-MAX_INITIALIZER_LINES  = 30
-
-# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at
-# the bottom of the documentation of classes and structs. If set to YES, the
-# list will mention the files that were used to generate the documentation.
-# The default value is: YES.
-
-SHOW_USED_FILES        = YES
-
-# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This
-# will remove the Files entry from the Quick Index and from the Folder Tree View
-# (if specified).
-# The default value is: YES.
-
-SHOW_FILES             = YES
-
-# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces
-# page. This will remove the Namespaces entry from the Quick Index and from the
-# Folder Tree View (if specified).
-# The default value is: YES.
-
-SHOW_NAMESPACES        = YES
-
-# The FILE_VERSION_FILTER tag can be used to specify a program or script that
-# doxygen should invoke to get the current version for each file (typically from
-# the version control system). Doxygen will invoke the program by executing (via
-# popen()) the command command input-file, where command is the value of the
-# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided
-# by doxygen. Whatever the program writes to standard output is used as the file
-# version. For an example see the documentation.
-
-FILE_VERSION_FILTER    =
-
-# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
-# by doxygen. The layout file controls the global structure of the generated
-# output files in an output format independent way. To create the layout file
-# that represents doxygen's defaults, run doxygen with the -l option. You can
-# optionally specify a file name after the option, if omitted DoxygenLayout.xml
-# will be used as the name of the layout file.
-#
-# Note that if you run doxygen from a directory containing a file called
-# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE
-# tag is left empty.
-
-LAYOUT_FILE            =
-
-# The CITE_BIB_FILES tag can be used to specify one or more bib files containing
-# the reference definitions. This must be a list of .bib files. The .bib
-# extension is automatically appended if omitted. This requires the bibtex tool
-# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info.
-# For LaTeX the style of the bibliography can be controlled using
-# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the
-# search path. See also \cite for info how to create references.
-
-CITE_BIB_FILES         =
-
-#---------------------------------------------------------------------------
-# Configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-# The QUIET tag can be used to turn on/off the messages that are generated to
-# standard output by doxygen. If QUIET is set to YES this implies that the
-# messages are off.
-# The default value is: NO.
-
-QUIET                  = NO
-
-# The WARNINGS tag can be used to turn on/off the warning messages that are
-# generated to standard error (stderr) by doxygen. If WARNINGS is set to YES
-# this implies that the warnings are on.
-#
-# Tip: Turn warnings on while writing the documentation.
-# The default value is: YES.
-
-WARNINGS               = YES
-
-# If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate
-# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag
-# will automatically be disabled.
-# The default value is: YES.
-
-WARN_IF_UNDOCUMENTED   = YES
-
-# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for
-# potential errors in the documentation, such as not documenting some parameters
-# in a documented function, or documenting parameters that don't exist or using
-# markup commands wrongly.
-# The default value is: YES.
-
-WARN_IF_DOC_ERROR      = YES
-
-# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that
-# are documented, but have no documentation for their parameters or return
-# value. If set to NO, doxygen will only warn about wrong or incomplete
-# parameter documentation, but not about the absence of documentation.
-# The default value is: NO.
-
-WARN_NO_PARAMDOC       = NO
-
-# The WARN_FORMAT tag determines the format of the warning messages that doxygen
-# can produce. The string should contain the $file, $line, and $text tags, which
-# will be replaced by the file and line number from which the warning originated
-# and the warning text. Optionally the format may contain $version, which will
-# be replaced by the version of the file (if it could be obtained via
-# FILE_VERSION_FILTER)
-# The default value is: $file:$line: $text.
-
-WARN_FORMAT            = "$file:$line: $text"
-
-# The WARN_LOGFILE tag can be used to specify a file to which warning and error
-# messages should be written. If left blank the output is written to standard
-# error (stderr).
-
-WARN_LOGFILE           =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the input files
-#---------------------------------------------------------------------------
-
-# The INPUT tag is used to specify the files and/or directories that contain
-# documented source files. You may enter file names like myfile.cpp or
-# directories like /usr/src/myproject. Separate the files or directories with
-# spaces.
-# Note: If this tag is empty the current directory is searched.
-
-INPUT                  = src
-
-# This tag can be used to specify the character encoding of the source files
-# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
-# libiconv (or the iconv built into libc) for the transcoding. See the libiconv
-# documentation (see: http://www.gnu.org/software/libiconv) for the list of
-# possible encodings.
-# The default value is: UTF-8.
-
-INPUT_ENCODING         = UTF-8
-
-# If the value of the INPUT tag contains directories, you can use the
-# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and
-# *.h) to filter out the source-files in the directories. If left blank the
-# following patterns are tested:*.c, *.cc, *.cxx, *.cpp, *.c++, *.java, *.ii,
-# *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, *.hh, *.hxx, *.hpp,
-# *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, *.m, *.markdown,
-# *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf,
-# *.qsf, *.as and *.js.
-
-FILE_PATTERNS          = *.c \
-                         *.cc \
-                         *.cxx \
-                         *.cpp \
-                         *.c++ \
-                         *.java \
-                         *.ii \
-                         *.ixx \
-                         *.ipp \
-                         *.i++ \
-                         *.inl \
-                         *.idl \
-                         *.ddl \
-                         *.odl \
-                         *.h \
-                         *.hh \
-                         *.hxx \
-                         *.hpp \
-                         *.h++ \
-                         *.cs \
-                         *.d \
-                         *.php \
-                         *.php4 \
-                         *.php5 \
-                         *.phtml \
-                         *.inc \
-                         *.m \
-                         *.markdown \
-                         *.md \
-                         *.mm \
-                         *.dox \
-                         *.py \
-                         *.f90 \
-                         *.f \
-                         *.for \
-                         *.tcl \
-                         *.vhd \
-                         *.vhdl \
-                         *.ucf \
-                         *.qsf \
-                         *.as \
-                         *.js
-
-# The RECURSIVE tag can be used to specify whether or not subdirectories should
-# be searched for input files as well.
-# The default value is: NO.
-
-RECURSIVE              = YES
-
-# The EXCLUDE tag can be used to specify files and/or directories that should be
-# excluded from the INPUT source files. This way you can easily exclude a
-# subdirectory from a directory tree whose root is specified with the INPUT tag.
-#
-# Note that relative paths are relative to the directory from which doxygen is
-# run.
-
-EXCLUDE                =
-
-# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
-# directories that are symbolic links (a Unix file system feature) are excluded
-# from the input.
-# The default value is: NO.
-
-EXCLUDE_SYMLINKS       = NO
-
-# If the value of the INPUT tag contains directories, you can use the
-# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
-# certain files from those directories.
-#
-# Note that the wildcards are matched against the file with absolute path, so to
-# exclude all test directories for example use the pattern */test/*
-
-EXCLUDE_PATTERNS       =
-
-# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
-# (namespaces, classes, functions, etc.) that should be excluded from the
-# output. The symbol name can be a fully qualified name, a word, or if the
-# wildcard * is used, a substring. Examples: ANamespace, AClass,
-# AClass::ANamespace, ANamespace::*Test
-#
-# Note that the wildcards are matched against the file with absolute path, so to
-# exclude all test directories use the pattern */test/*
-
-EXCLUDE_SYMBOLS        =
-
-# The EXAMPLE_PATH tag can be used to specify one or more files or directories
-# that contain example code fragments that are included (see the \include
-# command).
-
-EXAMPLE_PATH           =
-
-# If the value of the EXAMPLE_PATH tag contains directories, you can use the
-# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and
-# *.h) to filter out the source-files in the directories. If left blank all
-# files are included.
-
-EXAMPLE_PATTERNS       = *
-
-# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
-# searched for input files to be used with the \include or \dontinclude commands
-# irrespective of the value of the RECURSIVE tag.
-# The default value is: NO.
-
-EXAMPLE_RECURSIVE      = NO
-
-# The IMAGE_PATH tag can be used to specify one or more files or directories
-# that contain images that are to be included in the documentation (see the
-# \image command).
-
-IMAGE_PATH             =
-
-# The INPUT_FILTER tag can be used to specify a program that doxygen should
-# invoke to filter for each input file. Doxygen will invoke the filter program
-# by executing (via popen()) the command:
-#
-# <filter> <input-file>
-#
-# where <filter> is the value of the INPUT_FILTER tag, and <input-file> is the
-# name of an input file. Doxygen will then use the output that the filter
-# program writes to standard output. If FILTER_PATTERNS is specified, this tag
-# will be ignored.
-#
-# Note that the filter must not add or remove lines; it is applied before the
-# code is scanned, but not when the output code is generated. If lines are added
-# or removed, the anchors will not be placed correctly.
-
-INPUT_FILTER           =
-
-# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
-# basis. Doxygen will compare the file name with each pattern and apply the
-# filter if there is a match. The filters are a list of the form: pattern=filter
-# (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how
-# filters are used. If the FILTER_PATTERNS tag is empty or if none of the
-# patterns match the file name, INPUT_FILTER is applied.
-
-FILTER_PATTERNS        =
-
-# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
-# INPUT_FILTER) will also be used to filter the input files that are used for
-# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES).
-# The default value is: NO.
-
-FILTER_SOURCE_FILES    = NO
-
-# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file
-# pattern. A pattern will override the setting for FILTER_PATTERN (if any) and
-# it is also possible to disable source filtering for a specific pattern using
-# *.ext= (so without naming a filter).
-# This tag requires that the tag FILTER_SOURCE_FILES is set to YES.
-
-FILTER_SOURCE_PATTERNS =
-
-# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that
-# is part of the input, its contents will be placed on the main page
-# (index.html). This can be useful if you have a project on for instance GitHub
-# and want to reuse the introduction page also for the doxygen output.
-
-USE_MDFILE_AS_MAINPAGE =
-
-#---------------------------------------------------------------------------
-# Configuration options related to source browsing
-#---------------------------------------------------------------------------
-
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will be
-# generated. Documented entities will be cross-referenced with these sources.
-#
-# Note: To get rid of all source code in the generated output, make sure that
-# also VERBATIM_HEADERS is set to NO.
-# The default value is: NO.
-
-SOURCE_BROWSER         = NO
-
-# Setting the INLINE_SOURCES tag to YES will include the body of functions,
-# classes and enums directly into the documentation.
-# The default value is: NO.
-
-INLINE_SOURCES         = NO
-
-# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any
-# special comment blocks from generated source code fragments. Normal C, C++ and
-# Fortran comments will always remain visible.
-# The default value is: YES.
-
-STRIP_CODE_COMMENTS    = YES
-
-# If the REFERENCED_BY_RELATION tag is set to YES then for each documented
-# function all documented functions referencing it will be listed.
-# The default value is: NO.
-
-REFERENCED_BY_RELATION = NO
-
-# If the REFERENCES_RELATION tag is set to YES then for each documented function
-# all documented entities called/used by that function will be listed.
-# The default value is: NO.
-
-REFERENCES_RELATION    = NO
-
-# If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set
-# to YES then the hyperlinks from functions in REFERENCES_RELATION and
-# REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will
-# link to the documentation.
-# The default value is: YES.
-
-REFERENCES_LINK_SOURCE = YES
-
-# If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the
-# source code will show a tooltip with additional information such as prototype,
-# brief description and links to the definition and documentation. Since this
-# will make the HTML file larger and loading of large files a bit slower, you
-# can opt to disable this feature.
-# The default value is: YES.
-# This tag requires that the tag SOURCE_BROWSER is set to YES.
-
-SOURCE_TOOLTIPS        = YES
-
-# If the USE_HTAGS tag is set to YES then the references to source code will
-# point to the HTML generated by the htags(1) tool instead of doxygen built-in
-# source browser. The htags tool is part of GNU's global source tagging system
-# (see http://www.gnu.org/software/global/global.html). You will need version
-# 4.8.6 or higher.
-#
-# To use it do the following:
-# - Install the latest version of global
-# - Enable SOURCE_BROWSER and USE_HTAGS in the config file
-# - Make sure the INPUT points to the root of the source tree
-# - Run doxygen as normal
-#
-# Doxygen will invoke htags (and that will in turn invoke gtags), so these
-# tools must be available from the command line (i.e. in the search path).
-#
-# The result: instead of the source browser generated by doxygen, the links to
-# source code will now point to the output of htags.
-# The default value is: NO.
-# This tag requires that the tag SOURCE_BROWSER is set to YES.
-
-USE_HTAGS              = NO
-
-# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a
-# verbatim copy of the header file for each class for which an include is
-# specified. Set to NO to disable this.
-# See also: Section \class.
-# The default value is: YES.
-
-VERBATIM_HEADERS       = YES
-
-#---------------------------------------------------------------------------
-# Configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all
-# compounds will be generated. Enable this if the project contains a lot of
-# classes, structs, unions or interfaces.
-# The default value is: YES.
-
-ALPHABETICAL_INDEX     = YES
-
-# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in
-# which the alphabetical index list will be split.
-# Minimum value: 1, maximum value: 20, default value: 5.
-# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
-
-COLS_IN_ALPHA_INDEX    = 5
-
-# In case all classes in a project start with a common prefix, all classes will
-# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag
-# can be used to specify a prefix (or a list of prefixes) that should be ignored
-# while generating the index headers.
-# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
-
-IGNORE_PREFIX          =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output
-# The default value is: YES.
-
-GENERATE_HTML          = NO
-
-# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a
-# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
-# it.
-# The default directory is: html.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_OUTPUT            = html
-
-# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each
-# generated HTML page (for example: .htm, .php, .asp).
-# The default value is: .html.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_FILE_EXTENSION    = .html
-
-# The HTML_HEADER tag can be used to specify a user-defined HTML header file for
-# each generated HTML page. If the tag is left blank doxygen will generate a
-# standard header.
-#
-# To get valid HTML the header file that includes any scripts and style sheets
-# that doxygen needs, which is dependent on the configuration options used (e.g.
-# the setting GENERATE_TREEVIEW). It is highly recommended to start with a
-# default header using
-# doxygen -w html new_header.html new_footer.html new_stylesheet.css
-# YourConfigFile
-# and then modify the file new_header.html. See also section "Doxygen usage"
-# for information on how to generate the default header that doxygen normally
-# uses.
-# Note: The header is subject to change so you typically have to regenerate the
-# default header when upgrading to a newer version of doxygen. For a description
-# of the possible markers and block names see the documentation.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_HEADER            =
-
-# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each
-# generated HTML page. If the tag is left blank doxygen will generate a standard
-# footer. See HTML_HEADER for more information on how to generate a default
-# footer and what special commands can be used inside the footer. See also
-# section "Doxygen usage" for information on how to generate the default footer
-# that doxygen normally uses.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_FOOTER            =
-
-# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style
-# sheet that is used by each HTML page. It can be used to fine-tune the look of
-# the HTML output. If left blank doxygen will generate a default style sheet.
-# See also section "Doxygen usage" for information on how to generate the style
-# sheet that doxygen normally uses.
-# Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as
-# it is more robust and this tag (HTML_STYLESHEET) will in the future become
-# obsolete.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_STYLESHEET        =
-
-# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined
-# cascading style sheets that are included after the standard style sheets
-# created by doxygen. Using this option one can overrule certain style aspects.
-# This is preferred over using HTML_STYLESHEET since it does not replace the
-# standard style sheet and is therefore more robust against future updates.
-# Doxygen will copy the style sheet files to the output directory.
-# Note: The order of the extra stylesheet files is of importance (e.g. the last
-# stylesheet in the list overrules the setting of the previous ones in the
-# list). For an example see the documentation.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_EXTRA_STYLESHEET  =
-
-# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
-# other source files which should be copied to the HTML output directory. Note
-# that these files will be copied to the base HTML output directory. Use the
-# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these
-# files. In the HTML_STYLESHEET file, use the file name only. Also note that the
-# files will be copied as-is; there are no commands or markers available.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_EXTRA_FILES       =
-
-# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen
-# will adjust the colors in the stylesheet and background images according to
-# this color. Hue is specified as an angle on a colorwheel, see
-# http://en.wikipedia.org/wiki/Hue for more information. For instance the value
-# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300
-# purple, and 360 is red again.
-# Minimum value: 0, maximum value: 359, default value: 220.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_COLORSTYLE_HUE    = 220
-
-# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors
-# in the HTML output. For a value of 0 the output will use grayscales only. A
-# value of 255 will produce the most vivid colors.
-# Minimum value: 0, maximum value: 255, default value: 100.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_COLORSTYLE_SAT    = 100
-
-# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the
-# luminance component of the colors in the HTML output. Values below 100
-# gradually make the output lighter, whereas values above 100 make the output
-# darker. The value divided by 100 is the actual gamma applied, so 80 represents
-# a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not
-# change the gamma.
-# Minimum value: 40, maximum value: 240, default value: 80.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_COLORSTYLE_GAMMA  = 80
-
-# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
-# page will contain the date and time when the page was generated. Setting this
-# to NO can help when comparing the output of multiple runs.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_TIMESTAMP         = YES
-
-# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
-# documentation will contain sections that can be hidden and shown after the
-# page has loaded.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_DYNAMIC_SECTIONS  = NO
-
-# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries
-# shown in the various tree structured indices initially; the user can expand
-# and collapse entries dynamically later on. Doxygen will expand the tree to
-# such a level that at most the specified number of entries are visible (unless
-# a fully collapsed tree already exceeds this amount). So setting the number of
-# entries 1 will produce a full collapsed tree by default. 0 is a special value
-# representing an infinite number of entries and will result in a full expanded
-# tree by default.
-# Minimum value: 0, maximum value: 9999, default value: 100.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_INDEX_NUM_ENTRIES = 100
-
-# If the GENERATE_DOCSET tag is set to YES, additional index files will be
-# generated that can be used as input for Apple's Xcode 3 integrated development
-# environment (see: http://developer.apple.com/tools/xcode/), introduced with
-# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a
-# Makefile in the HTML output directory. Running make will produce the docset in
-# that directory and running make install will install the docset in
-# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at
-# startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
-# for more information.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-GENERATE_DOCSET        = NO
-
-# This tag determines the name of the docset feed. A documentation feed provides
-# an umbrella under which multiple documentation sets from a single provider
-# (such as a company or product suite) can be grouped.
-# The default value is: Doxygen generated docs.
-# This tag requires that the tag GENERATE_DOCSET is set to YES.
-
-DOCSET_FEEDNAME        = "Doxygen generated docs"
-
-# This tag specifies a string that should uniquely identify the documentation
-# set bundle. This should be a reverse domain-name style string, e.g.
-# com.mycompany.MyDocSet. Doxygen will append .docset to the name.
-# The default value is: org.doxygen.Project.
-# This tag requires that the tag GENERATE_DOCSET is set to YES.
-
-DOCSET_BUNDLE_ID       = org.doxygen.Project
-
-# The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify
-# the documentation publisher. This should be a reverse domain-name style
-# string, e.g. com.mycompany.MyDocSet.documentation.
-# The default value is: org.doxygen.Publisher.
-# This tag requires that the tag GENERATE_DOCSET is set to YES.
-
-DOCSET_PUBLISHER_ID    = org.doxygen.Publisher
-
-# The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher.
-# The default value is: Publisher.
-# This tag requires that the tag GENERATE_DOCSET is set to YES.
-
-DOCSET_PUBLISHER_NAME  = Publisher
-
-# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three
-# additional HTML index files: index.hhp, index.hhc, and index.hhk. The
-# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop
-# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on
-# Windows.
-#
-# The HTML Help Workshop contains a compiler that can convert all HTML output
-# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML
-# files are now used as the Windows 98 help format, and will replace the old
-# Windows help format (.hlp) on all Windows platforms in the future. Compressed
-# HTML files also contain an index, a table of contents, and you can search for
-# words in the documentation. The HTML workshop also contains a viewer for
-# compressed HTML files.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-GENERATE_HTMLHELP      = NO
-
-# The CHM_FILE tag can be used to specify the file name of the resulting .chm
-# file. You can add a path in front of the file if the result should not be
-# written to the html output directory.
-# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-
-CHM_FILE               =
-
-# The HHC_LOCATION tag can be used to specify the location (absolute path
-# including file name) of the HTML help compiler (hhc.exe). If non-empty,
-# doxygen will try to run the HTML help compiler on the generated index.hhp.
-# The file has to be specified with full path.
-# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-
-HHC_LOCATION           =
-
-# The GENERATE_CHI flag controls if a separate .chi index file is generated
-# (YES) or that it should be included in the master .chm file (NO).
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-
-GENERATE_CHI           = NO
-
-# The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc)
-# and project file content.
-# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-
-CHM_INDEX_ENCODING     =
-
-# The BINARY_TOC flag controls whether a binary table of contents is generated
-# (YES) or a normal table of contents (NO) in the .chm file. Furthermore it
-# enables the Previous and Next buttons.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-
-BINARY_TOC             = NO
-
-# The TOC_EXPAND flag can be set to YES to add extra items for group members to
-# the table of contents of the HTML help documentation and to the tree view.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-
-TOC_EXPAND             = NO
-
-# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
-# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that
-# can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help
-# (.qch) of the generated HTML documentation.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-GENERATE_QHP           = NO
-
-# If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify
-# the file name of the resulting .qch file. The path specified is relative to
-# the HTML output folder.
-# This tag requires that the tag GENERATE_QHP is set to YES.
-
-QCH_FILE               =
-
-# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help
-# Project output. For more information please see Qt Help Project / Namespace
-# (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace).
-# The default value is: org.doxygen.Project.
-# This tag requires that the tag GENERATE_QHP is set to YES.
-
-QHP_NAMESPACE          = org.doxygen.Project
-
-# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt
-# Help Project output. For more information please see Qt Help Project / Virtual
-# Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual-
-# folders).
-# The default value is: doc.
-# This tag requires that the tag GENERATE_QHP is set to YES.
-
-QHP_VIRTUAL_FOLDER     = doc
-
-# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom
-# filter to add. For more information please see Qt Help Project / Custom
-# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
-# filters).
-# This tag requires that the tag GENERATE_QHP is set to YES.
-
-QHP_CUST_FILTER_NAME   =
-
-# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the
-# custom filter to add. For more information please see Qt Help Project / Custom
-# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
-# filters).
-# This tag requires that the tag GENERATE_QHP is set to YES.
-
-QHP_CUST_FILTER_ATTRS  =
-
-# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
-# project's filter section matches. Qt Help Project / Filter Attributes (see:
-# http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes).
-# This tag requires that the tag GENERATE_QHP is set to YES.
-
-QHP_SECT_FILTER_ATTRS  =
-
-# The QHG_LOCATION tag can be used to specify the location of Qt's
-# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the
-# generated .qhp file.
-# This tag requires that the tag GENERATE_QHP is set to YES.
-
-QHG_LOCATION           =
-
-# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be
-# generated, together with the HTML files, they form an Eclipse help plugin. To
-# install this plugin and make it available under the help contents menu in
-# Eclipse, the contents of the directory containing the HTML and XML files needs
-# to be copied into the plugins directory of eclipse. The name of the directory
-# within the plugins directory should be the same as the ECLIPSE_DOC_ID value.
-# After copying Eclipse needs to be restarted before the help appears.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-GENERATE_ECLIPSEHELP   = NO
-
-# A unique identifier for the Eclipse help plugin. When installing the plugin
-# the directory name containing the HTML and XML files should also have this
-# name. Each documentation set should have its own identifier.
-# The default value is: org.doxygen.Project.
-# This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES.
-
-ECLIPSE_DOC_ID         = org.doxygen.Project
-
-# If you want full control over the layout of the generated HTML pages it might
-# be necessary to disable the index and replace it with your own. The
-# DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top
-# of each HTML page. A value of NO enables the index and the value YES disables
-# it. Since the tabs in the index contain the same information as the navigation
-# tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-DISABLE_INDEX          = NO
-
-# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
-# structure should be generated to display hierarchical information. If the tag
-# value is set to YES, a side panel will be generated containing a tree-like
-# index structure (just like the one that is generated for HTML Help). For this
-# to work a browser that supports JavaScript, DHTML, CSS and frames is required
-# (i.e. any modern browser). Windows users are probably better off using the
-# HTML help feature. Via custom stylesheets (see HTML_EXTRA_STYLESHEET) one can
-# further fine-tune the look of the index. As an example, the default style
-# sheet generated by doxygen has an example that shows how to put an image at
-# the root of the tree instead of the PROJECT_NAME. Since the tree basically has
-# the same information as the tab index, you could consider setting
-# DISABLE_INDEX to YES when enabling this option.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-GENERATE_TREEVIEW      = NO
-
-# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that
-# doxygen will group on one line in the generated HTML documentation.
-#
-# Note that a value of 0 will completely suppress the enum values from appearing
-# in the overview section.
-# Minimum value: 0, maximum value: 20, default value: 4.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-ENUM_VALUES_PER_LINE   = 4
-
-# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used
-# to set the initial width (in pixels) of the frame in which the tree is shown.
-# Minimum value: 0, maximum value: 1500, default value: 250.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-TREEVIEW_WIDTH         = 250
-
-# If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to
-# external symbols imported via tag files in a separate window.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-EXT_LINKS_IN_WINDOW    = NO
-
-# Use this tag to change the font size of LaTeX formulas included as images in
-# the HTML documentation. When you change the font size after a successful
-# doxygen run you need to manually remove any form_*.png images from the HTML
-# output directory to force them to be regenerated.
-# Minimum value: 8, maximum value: 50, default value: 10.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-FORMULA_FONTSIZE       = 10
-
-# Use the FORMULA_TRANPARENT tag to determine whether or not the images
-# generated for formulas are transparent PNGs. Transparent PNGs are not
-# supported properly for IE 6.0, but are supported on all modern browsers.
-#
-# Note that when changing this option you need to delete any form_*.png files in
-# the HTML output directory before the changes have effect.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-FORMULA_TRANSPARENT    = YES
-
-# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see
-# http://www.mathjax.org) which uses client side Javascript for the rendering
-# instead of using pre-rendered bitmaps. Use this if you do not have LaTeX
-# installed or if you want to formulas look prettier in the HTML output. When
-# enabled you may also need to install MathJax separately and configure the path
-# to it using the MATHJAX_RELPATH option.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-USE_MATHJAX            = NO
-
-# When MathJax is enabled you can set the default output format to be used for
-# the MathJax output. See the MathJax site (see:
-# http://docs.mathjax.org/en/latest/output.html) for more details.
-# Possible values are: HTML-CSS (which is slower, but has the best
-# compatibility), NativeMML (i.e. MathML) and SVG.
-# The default value is: HTML-CSS.
-# This tag requires that the tag USE_MATHJAX is set to YES.
-
-MATHJAX_FORMAT         = HTML-CSS
-
-# When MathJax is enabled you need to specify the location relative to the HTML
-# output directory using the MATHJAX_RELPATH option. The destination directory
-# should contain the MathJax.js script. For instance, if the mathjax directory
-# is located at the same level as the HTML output directory, then
-# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax
-# Content Delivery Network so you can quickly see the result without installing
-# MathJax. However, it is strongly recommended to install a local copy of
-# MathJax from http://www.mathjax.org before deployment.
-# The default value is: http://cdn.mathjax.org/mathjax/latest.
-# This tag requires that the tag USE_MATHJAX is set to YES.
-
-MATHJAX_RELPATH        = http://cdn.mathjax.org/mathjax/latest
-
-# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax
-# extension names that should be enabled during MathJax rendering. For example
-# MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols
-# This tag requires that the tag USE_MATHJAX is set to YES.
-
-MATHJAX_EXTENSIONS     =
-
-# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces
-# of code that will be used on startup of the MathJax code. See the MathJax site
-# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an
-# example see the documentation.
-# This tag requires that the tag USE_MATHJAX is set to YES.
-
-MATHJAX_CODEFILE       =
-
-# When the SEARCHENGINE tag is enabled doxygen will generate a search box for
-# the HTML output. The underlying search engine uses javascript and DHTML and
-# should work on any modern browser. Note that when using HTML help
-# (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET)
-# there is already a search function so this one should typically be disabled.
-# For large projects the javascript based search engine can be slow, then
-# enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to
-# search using the keyboard; to jump to the search box use <access key> + S
-# (what the <access key> is depends on the OS and browser, but it is typically
-# <CTRL>, <ALT>/<option>, or both). Inside the search box use the <cursor down
-# key> to jump into the search results window, the results can be navigated
-# using the <cursor keys>. Press <Enter> to select an item or <escape> to cancel
-# the search. The filter options can be selected when the cursor is inside the
-# search box by pressing <Shift>+<cursor down>. Also here use the <cursor keys>
-# to select a filter and <Enter> or <escape> to activate or cancel the filter
-# option.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-SEARCHENGINE           = YES
-
-# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
-# implemented using a web server instead of a web client using Javascript. There
-# are two flavors of web server based searching depending on the EXTERNAL_SEARCH
-# setting. When disabled, doxygen will generate a PHP script for searching and
-# an index file used by the script. When EXTERNAL_SEARCH is enabled the indexing
-# and searching needs to be provided by external tools. See the section
-# "External Indexing and Searching" for details.
-# The default value is: NO.
-# This tag requires that the tag SEARCHENGINE is set to YES.
-
-SERVER_BASED_SEARCH    = NO
-
-# When EXTERNAL_SEARCH tag is enabled doxygen will no longer generate the PHP
-# script for searching. Instead the search results are written to an XML file
-# which needs to be processed by an external indexer. Doxygen will invoke an
-# external search engine pointed to by the SEARCHENGINE_URL option to obtain the
-# search results.
-#
-# Doxygen ships with an example indexer (doxyindexer) and search engine
-# (doxysearch.cgi) which are based on the open source search engine library
-# Xapian (see: http://xapian.org/).
-#
-# See the section "External Indexing and Searching" for details.
-# The default value is: NO.
-# This tag requires that the tag SEARCHENGINE is set to YES.
-
-EXTERNAL_SEARCH        = NO
-
-# The SEARCHENGINE_URL should point to a search engine hosted by a web server
-# which will return the search results when EXTERNAL_SEARCH is enabled.
-#
-# Doxygen ships with an example indexer (doxyindexer) and search engine
-# (doxysearch.cgi) which are based on the open source search engine library
-# Xapian (see: http://xapian.org/). See the section "External Indexing and
-# Searching" for details.
-# This tag requires that the tag SEARCHENGINE is set to YES.
-
-SEARCHENGINE_URL       =
-
-# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed
-# search data is written to a file for indexing by an external tool. With the
-# SEARCHDATA_FILE tag the name of this file can be specified.
-# The default file is: searchdata.xml.
-# This tag requires that the tag SEARCHENGINE is set to YES.
-
-SEARCHDATA_FILE        = searchdata.xml
-
-# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the
-# EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is
-# useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple
-# projects and redirect the results back to the right project.
-# This tag requires that the tag SEARCHENGINE is set to YES.
-
-EXTERNAL_SEARCH_ID     =
-
-# The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen
-# projects other than the one defined by this configuration file, but that are
-# all added to the same external search index. Each project needs to have a
-# unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id of
-# to a relative location where the documentation can be found. The format is:
-# EXTRA_SEARCH_MAPPINGS = tagname1=loc1 tagname2=loc2 ...
-# This tag requires that the tag SEARCHENGINE is set to YES.
-
-EXTRA_SEARCH_MAPPINGS  =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_LATEX tag is set to YES, doxygen will generate LaTeX output.
-# The default value is: YES.
-
-GENERATE_LATEX         = NO
-
-# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. If a
-# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
-# it.
-# The default directory is: latex.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_OUTPUT           = latex
-
-# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
-# invoked.
-#
-# Note that when enabling USE_PDFLATEX this option is only used for generating
-# bitmaps for formulas in the HTML output, but not in the Makefile that is
-# written to the output directory.
-# The default file is: latex.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_CMD_NAME         = latex
-
-# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate
-# index for LaTeX.
-# The default file is: makeindex.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-MAKEINDEX_CMD_NAME     = makeindex
-
-# If the COMPACT_LATEX tag is set to YES, doxygen generates more compact LaTeX
-# documents. This may be useful for small projects and may help to save some
-# trees in general.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-COMPACT_LATEX          = NO
-
-# The PAPER_TYPE tag can be used to set the paper type that is used by the
-# printer.
-# Possible values are: a4 (210 x 297 mm), letter (8.5 x 11 inches), legal (8.5 x
-# 14 inches) and executive (7.25 x 10.5 inches).
-# The default value is: a4.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-PAPER_TYPE             = a4
-
-# The EXTRA_PACKAGES tag can be used to specify one or more LaTeX package names
-# that should be included in the LaTeX output. To get the times font for
-# instance you can specify
-# EXTRA_PACKAGES=times
-# If left blank no extra packages will be included.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-EXTRA_PACKAGES         =
-
-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for the
-# generated LaTeX document. The header should contain everything until the first
-# chapter. If it is left blank doxygen will generate a standard header. See
-# section "Doxygen usage" for information on how to let doxygen write the
-# default header to a separate file.
-#
-# Note: Only use a user-defined header if you know what you are doing! The
-# following commands have a special meaning inside the header: $title,
-# $datetime, $date, $doxygenversion, $projectname, $projectnumber,
-# $projectbrief, $projectlogo. Doxygen will replace $title with the empty
-# string, for the replacement values of the other commands the user is referred
-# to HTML_HEADER.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_HEADER           =
-
-# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for the
-# generated LaTeX document. The footer should contain everything after the last
-# chapter. If it is left blank doxygen will generate a standard footer. See
-# LATEX_HEADER for more information on how to generate a default footer and what
-# special commands can be used inside the footer.
-#
-# Note: Only use a user-defined footer if you know what you are doing!
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_FOOTER           =
-
-# The LATEX_EXTRA_FILES tag can be used to specify one or more extra images or
-# other source files which should be copied to the LATEX_OUTPUT output
-# directory. Note that the files will be copied as-is; there are no commands or
-# markers available.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_EXTRA_FILES      =
-
-# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated is
-# prepared for conversion to PDF (using ps2pdf or pdflatex). The PDF file will
-# contain links (just like the HTML output) instead of page references. This
-# makes the output suitable for online browsing using a PDF viewer.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-PDF_HYPERLINKS         = YES
-
-# If the USE_PDFLATEX tag is set to YES, doxygen will use pdflatex to generate
-# the PDF file directly from the LaTeX files. Set this option to YES, to get a
-# higher quality PDF documentation.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-USE_PDFLATEX           = YES
-
-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \batchmode
-# command to the generated LaTeX files. This will instruct LaTeX to keep running
-# if errors occur, instead of asking the user for help. This option is also used
-# when generating formulas in HTML.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_BATCHMODE        = NO
-
-# If the LATEX_HIDE_INDICES tag is set to YES then doxygen will not include the
-# index chapters (such as File Index, Compound Index, etc.) in the output.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_HIDE_INDICES     = NO
-
-# If the LATEX_SOURCE_CODE tag is set to YES then doxygen will include source
-# code with syntax highlighting in the LaTeX output.
-#
-# Note that which sources are shown also depends on other settings such as
-# SOURCE_BROWSER.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_SOURCE_CODE      = NO
-
-# The LATEX_BIB_STYLE tag can be used to specify the style to use for the
-# bibliography, e.g. plainnat, or ieeetr. See
-# http://en.wikipedia.org/wiki/BibTeX and \cite for more info.
-# The default value is: plain.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_BIB_STYLE        = plain
-
-#---------------------------------------------------------------------------
-# Configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_RTF tag is set to YES, doxygen will generate RTF output. The
-# RTF output is optimized for Word 97 and may not look too pretty with other RTF
-# readers/editors.
-# The default value is: NO.
-
-GENERATE_RTF           = NO
-
-# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. If a
-# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
-# it.
-# The default directory is: rtf.
-# This tag requires that the tag GENERATE_RTF is set to YES.
-
-RTF_OUTPUT             = rtf
-
-# If the COMPACT_RTF tag is set to YES, doxygen generates more compact RTF
-# documents. This may be useful for small projects and may help to save some
-# trees in general.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_RTF is set to YES.
-
-COMPACT_RTF            = NO
-
-# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated will
-# contain hyperlink fields. The RTF file will contain links (just like the HTML
-# output) instead of page references. This makes the output suitable for online
-# browsing using Word or some other Word compatible readers that support those
-# fields.
-#
-# Note: WordPad (write) and others do not support links.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_RTF is set to YES.
-
-RTF_HYPERLINKS         = NO
-
-# Load stylesheet definitions from file. Syntax is similar to doxygen's config
-# file, i.e. a series of assignments. You only have to provide replacements,
-# missing definitions are set to their default value.
-#
-# See also section "Doxygen usage" for information on how to generate the
-# default style sheet that doxygen normally uses.
-# This tag requires that the tag GENERATE_RTF is set to YES.
-
-RTF_STYLESHEET_FILE    =
-
-# Set optional variables used in the generation of an RTF document. Syntax is
-# similar to doxygen's config file. A template extensions file can be generated
-# using doxygen -e rtf extensionFile.
-# This tag requires that the tag GENERATE_RTF is set to YES.
-
-RTF_EXTENSIONS_FILE    =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_MAN tag is set to YES, doxygen will generate man pages for
-# classes and files.
-# The default value is: NO.
-
-GENERATE_MAN           = NO
-
-# The MAN_OUTPUT tag is used to specify where the man pages will be put. If a
-# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
-# it. A directory man3 will be created inside the directory specified by
-# MAN_OUTPUT.
-# The default directory is: man.
-# This tag requires that the tag GENERATE_MAN is set to YES.
-
-MAN_OUTPUT             = man
-
-# The MAN_EXTENSION tag determines the extension that is added to the generated
-# man pages. In case the manual section does not start with a number, the number
-# 3 is prepended. The dot (.) at the beginning of the MAN_EXTENSION tag is
-# optional.
-# The default value is: .3.
-# This tag requires that the tag GENERATE_MAN is set to YES.
-
-MAN_EXTENSION          = .3
-
-# The MAN_SUBDIR tag determines the name of the directory created within
-# MAN_OUTPUT in which the man pages are placed. If defaults to man followed by
-# MAN_EXTENSION with the initial . removed.
-# This tag requires that the tag GENERATE_MAN is set to YES.
-
-MAN_SUBDIR             =
-
-# If the MAN_LINKS tag is set to YES and doxygen generates man output, then it
-# will generate one additional man file for each entity documented in the real
-# man page(s). These additional files only source the real man page, but without
-# them the man command would be unable to find the correct page.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_MAN is set to YES.
-
-MAN_LINKS              = NO
-
-#---------------------------------------------------------------------------
-# Configuration options related to the XML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_XML tag is set to YES, doxygen will generate an XML file that
-# captures the structure of the code including all documentation.
-# The default value is: NO.
-
-GENERATE_XML           = YES
-
-# The XML_OUTPUT tag is used to specify where the XML pages will be put. If a
-# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
-# it.
-# The default directory is: xml.
-# This tag requires that the tag GENERATE_XML is set to YES.
-
-XML_OUTPUT             = xml
-
-# If the XML_PROGRAMLISTING tag is set to YES, doxygen will dump the program
-# listings (including syntax highlighting and cross-referencing information) to
-# the XML output. Note that enabling this will significantly increase the size
-# of the XML output.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_XML is set to YES.
-
-XML_PROGRAMLISTING     = NO
-
-#---------------------------------------------------------------------------
-# Configuration options related to the DOCBOOK output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_DOCBOOK tag is set to YES, doxygen will generate Docbook files
-# that can be used to generate PDF.
-# The default value is: NO.
-
-GENERATE_DOCBOOK       = NO
-
-# The DOCBOOK_OUTPUT tag is used to specify where the Docbook pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be put in
-# front of it.
-# The default directory is: docbook.
-# This tag requires that the tag GENERATE_DOCBOOK is set to YES.
-
-DOCBOOK_OUTPUT         = docbook
-
-# If the DOCBOOK_PROGRAMLISTING tag is set to YES, doxygen will include the
-# program listings (including syntax highlighting and cross-referencing
-# information) to the DOCBOOK output. Note that enabling this will significantly
-# increase the size of the DOCBOOK output.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_DOCBOOK is set to YES.
-
-DOCBOOK_PROGRAMLISTING = NO
-
-#---------------------------------------------------------------------------
-# Configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_AUTOGEN_DEF tag is set to YES, doxygen will generate an
-# AutoGen Definitions (see http://autogen.sf.net) file that captures the
-# structure of the code including all documentation. Note that this feature is
-# still experimental and incomplete at the moment.
-# The default value is: NO.
-
-GENERATE_AUTOGEN_DEF   = NO
-
-#---------------------------------------------------------------------------
-# Configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_PERLMOD tag is set to YES, doxygen will generate a Perl module
-# file that captures the structure of the code including all documentation.
-#
-# Note that this feature is still experimental and incomplete at the moment.
-# The default value is: NO.
-
-GENERATE_PERLMOD       = NO
-
-# If the PERLMOD_LATEX tag is set to YES, doxygen will generate the necessary
-# Makefile rules, Perl scripts and LaTeX code to be able to generate PDF and DVI
-# output from the Perl module output.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_PERLMOD is set to YES.
-
-PERLMOD_LATEX          = NO
-
-# If the PERLMOD_PRETTY tag is set to YES, the Perl module output will be nicely
-# formatted so it can be parsed by a human reader. This is useful if you want to
-# understand what is going on. On the other hand, if this tag is set to NO, the
-# size of the Perl module output will be much smaller and Perl will parse it
-# just the same.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_PERLMOD is set to YES.
-
-PERLMOD_PRETTY         = YES
-
-# The names of the make variables in the generated doxyrules.make file are
-# prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. This is useful
-# so different doxyrules.make files included by the same Makefile don't
-# overwrite each other's variables.
-# This tag requires that the tag GENERATE_PERLMOD is set to YES.
-
-PERLMOD_MAKEVAR_PREFIX =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-# If the ENABLE_PREPROCESSING tag is set to YES, doxygen will evaluate all
-# C-preprocessor directives found in the sources and include files.
-# The default value is: YES.
-
-ENABLE_PREPROCESSING   = YES
-
-# If the MACRO_EXPANSION tag is set to YES, doxygen will expand all macro names
-# in the source code. If set to NO, only conditional compilation will be
-# performed. Macro expansion can be done in a controlled way by setting
-# EXPAND_ONLY_PREDEF to YES.
-# The default value is: NO.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-MACRO_EXPANSION        = NO
-
-# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES then
-# the macro expansion is limited to the macros specified with the PREDEFINED and
-# EXPAND_AS_DEFINED tags.
-# The default value is: NO.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-EXPAND_ONLY_PREDEF     = NO
-
-# If the SEARCH_INCLUDES tag is set to YES, the include files in the
-# INCLUDE_PATH will be searched if a #include is found.
-# The default value is: YES.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-SEARCH_INCLUDES        = YES
-
-# The INCLUDE_PATH tag can be used to specify one or more directories that
-# contain include files that are not input files but should be processed by the
-# preprocessor.
-# This tag requires that the tag SEARCH_INCLUDES is set to YES.
-
-INCLUDE_PATH           =
-
-# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
-# patterns (like *.h and *.hpp) to filter out the header-files in the
-# directories. If left blank, the patterns specified with FILE_PATTERNS will be
-# used.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-INCLUDE_FILE_PATTERNS  =
-
-# The PREDEFINED tag can be used to specify one or more macro names that are
-# defined before the preprocessor is started (similar to the -D option of e.g.
-# gcc). The argument of the tag is a list of macros of the form: name or
-# name=definition (no spaces). If the definition and the "=" are omitted, "=1"
-# is assumed. To prevent a macro definition from being undefined via #undef or
-# recursively expanded use the := operator instead of the = operator.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-PREDEFINED             =
-
-# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
-# tag can be used to specify a list of macro names that should be expanded. The
-# macro definition that is found in the sources will be used. Use the PREDEFINED
-# tag if you want to use a different macro definition that overrules the
-# definition found in the source code.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-EXPAND_AS_DEFINED      =
-
-# If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen's preprocessor will
-# remove all references to function-like macros that are alone on a line, have
-# an all uppercase name, and do not end with a semicolon. Such function macros
-# are typically used for boiler-plate code, and will confuse the parser if not
-# removed.
-# The default value is: YES.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-SKIP_FUNCTION_MACROS   = YES
-
-#---------------------------------------------------------------------------
-# Configuration options related to external references
-#---------------------------------------------------------------------------
-
-# The TAGFILES tag can be used to specify one or more tag files. For each tag
-# file the location of the external documentation should be added. The format of
-# a tag file without this location is as follows:
-# TAGFILES = file1 file2 ...
-# Adding location for the tag files is done as follows:
-# TAGFILES = file1=loc1 "file2 = loc2" ...
-# where loc1 and loc2 can be relative or absolute paths or URLs. See the
-# section "Linking to external documentation" for more information about the use
-# of tag files.
-# Note: Each tag file must have a unique name (where the name does NOT include
-# the path). If a tag file is not located in the directory in which doxygen is
-# run, you must also specify the path to the tagfile here.
-
-TAGFILES               =
-
-# When a file name is specified after GENERATE_TAGFILE, doxygen will create a
-# tag file that is based on the input files it reads. See section "Linking to
-# external documentation" for more information about the usage of tag files.
-
-GENERATE_TAGFILE       =
-
-# If the ALLEXTERNALS tag is set to YES, all external class will be listed in
-# the class index. If set to NO, only the inherited external classes will be
-# listed.
-# The default value is: NO.
-
-ALLEXTERNALS           = NO
-
-# If the EXTERNAL_GROUPS tag is set to YES, all external groups will be listed
-# in the modules index. If set to NO, only the current project's groups will be
-# listed.
-# The default value is: YES.
-
-EXTERNAL_GROUPS        = YES
-
-# If the EXTERNAL_PAGES tag is set to YES, all external pages will be listed in
-# the related pages index. If set to NO, only the current project's pages will
-# be listed.
-# The default value is: YES.
-
-EXTERNAL_PAGES         = YES
-
-# The PERL_PATH should be the absolute path and name of the perl script
-# interpreter (i.e. the result of 'which perl').
-# The default file (with absolute path) is: /usr/bin/perl.
-
-PERL_PATH              = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If the CLASS_DIAGRAMS tag is set to YES, doxygen will generate a class diagram
-# (in HTML and LaTeX) for classes with base or super classes. Setting the tag to
-# NO turns the diagrams off. Note that this option also works with HAVE_DOT
-# disabled, but it is recommended to install and use dot, since it yields more
-# powerful graphs.
-# The default value is: YES.
-
-CLASS_DIAGRAMS         = YES
-
-# You can define message sequence charts within doxygen comments using the \msc
-# command. Doxygen will then run the mscgen tool (see:
-# http://www.mcternan.me.uk/mscgen/)) to produce the chart and insert it in the
-# documentation. The MSCGEN_PATH tag allows you to specify the directory where
-# the mscgen tool resides. If left empty the tool is assumed to be found in the
-# default search path.
-
-MSCGEN_PATH            =
-
-# You can include diagrams made with dia in doxygen documentation. Doxygen will
-# then run dia to produce the diagram and insert it in the documentation. The
-# DIA_PATH tag allows you to specify the directory where the dia binary resides.
-# If left empty dia is assumed to be found in the default search path.
-
-DIA_PATH               =
-
-# If set to YES the inheritance and collaboration graphs will hide inheritance
-# and usage relations if the target is undocumented or is not a class.
-# The default value is: YES.
-
-HIDE_UNDOC_RELATIONS   = YES
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz (see:
-# http://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent
-# Bell Labs. The other options in this section have no effect if this option is
-# set to NO
-# The default value is: NO.
-
-HAVE_DOT               = NO
-
-# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is allowed
-# to run in parallel. When set to 0 doxygen will base this on the number of
-# processors available in the system. You can set it explicitly to a value
-# larger than 0 to get control over the balance between CPU load and processing
-# speed.
-# Minimum value: 0, maximum value: 32, default value: 0.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_NUM_THREADS        = 0
-
-# When you want a differently looking font in the dot files that doxygen
-# generates you can specify the font name using DOT_FONTNAME. You need to make
-# sure dot is able to find the font, which can be done by putting it in a
-# standard location or by setting the DOTFONTPATH environment variable or by
-# setting DOT_FONTPATH to the directory containing the font.
-# The default value is: Helvetica.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_FONTNAME           = Helvetica
-
-# The DOT_FONTSIZE tag can be used to set the size (in points) of the font of
-# dot graphs.
-# Minimum value: 4, maximum value: 24, default value: 10.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_FONTSIZE           = 10
-
-# By default doxygen will tell dot to use the default font as specified with
-# DOT_FONTNAME. If you specify a different font using DOT_FONTNAME you can set
-# the path where dot can find it using this tag.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_FONTPATH           =
-
-# If the CLASS_GRAPH tag is set to YES then doxygen will generate a graph for
-# each documented class showing the direct and indirect inheritance relations.
-# Setting this tag to YES will force the CLASS_DIAGRAMS tag to NO.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-CLASS_GRAPH            = YES
-
-# If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a
-# graph for each documented class showing the direct and indirect implementation
-# dependencies (inheritance, containment, and class references variables) of the
-# class with other documented classes.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-COLLABORATION_GRAPH    = YES
-
-# If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for
-# groups, showing the direct groups dependencies.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-GROUP_GRAPHS           = YES
-
-# If the UML_LOOK tag is set to YES, doxygen will generate inheritance and
-# collaboration diagrams in a style similar to the OMG's Unified Modeling
-# Language.
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-UML_LOOK               = NO
-
-# If the UML_LOOK tag is enabled, the fields and methods are shown inside the
-# class node. If there are many fields or methods and many nodes the graph may
-# become too big to be useful. The UML_LIMIT_NUM_FIELDS threshold limits the
-# number of items for each type to make the size more manageable. Set this to 0
-# for no limit. Note that the threshold may be exceeded by 50% before the limit
-# is enforced. So when you set the threshold to 10, up to 15 fields may appear,
-# but if the number exceeds 15, the total amount of fields shown is limited to
-# 10.
-# Minimum value: 0, maximum value: 100, default value: 10.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-UML_LIMIT_NUM_FIELDS   = 10
-
-# If the TEMPLATE_RELATIONS tag is set to YES then the inheritance and
-# collaboration graphs will show the relations between templates and their
-# instances.
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-TEMPLATE_RELATIONS     = NO
-
-# If the INCLUDE_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are set to
-# YES then doxygen will generate a graph for each documented file showing the
-# direct and indirect include dependencies of the file with other documented
-# files.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-INCLUDE_GRAPH          = YES
-
-# If the INCLUDED_BY_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are
-# set to YES then doxygen will generate a graph for each documented file showing
-# the direct and indirect include dependencies of the file with other documented
-# files.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-INCLUDED_BY_GRAPH      = YES
-
-# If the CALL_GRAPH tag is set to YES then doxygen will generate a call
-# dependency graph for every global function or class method.
-#
-# Note that enabling this option will significantly increase the time of a run.
-# So in most cases it will be better to enable call graphs for selected
-# functions only using the \callgraph command.
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-CALL_GRAPH             = NO
-
-# If the CALLER_GRAPH tag is set to YES then doxygen will generate a caller
-# dependency graph for every global function or class method.
-#
-# Note that enabling this option will significantly increase the time of a run.
-# So in most cases it will be better to enable caller graphs for selected
-# functions only using the \callergraph command.
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-CALLER_GRAPH           = NO
-
-# If the GRAPHICAL_HIERARCHY tag is set to YES then doxygen will graphical
-# hierarchy of all classes instead of a textual one.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-GRAPHICAL_HIERARCHY    = YES
-
-# If the DIRECTORY_GRAPH tag is set to YES then doxygen will show the
-# dependencies a directory has on other directories in a graphical way. The
-# dependency relations are determined by the #include relations between the
-# files in the directories.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DIRECTORY_GRAPH        = YES
-
-# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
-# generated by dot.
-# Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order
-# to make the SVG files visible in IE 9+ (other browsers do not have this
-# requirement).
-# Possible values are: png, jpg, gif and svg.
-# The default value is: png.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_IMAGE_FORMAT       = png
-
-# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to
-# enable generation of interactive SVG images that allow zooming and panning.
-#
-# Note that this requires a modern browser other than Internet Explorer. Tested
-# and working are Firefox, Chrome, Safari, and Opera.
-# Note: For IE 9+ you need to set HTML_FILE_EXTENSION to xhtml in order to make
-# the SVG files visible. Older versions of IE do not have SVG support.
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-INTERACTIVE_SVG        = NO
-
-# The DOT_PATH tag can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found in the path.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_PATH               =
-
-# The DOTFILE_DIRS tag can be used to specify one or more directories that
-# contain dot files that are included in the documentation (see the \dotfile
-# command).
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOTFILE_DIRS           =
-
-# The MSCFILE_DIRS tag can be used to specify one or more directories that
-# contain msc files that are included in the documentation (see the \mscfile
-# command).
-
-MSCFILE_DIRS           =
-
-# The DIAFILE_DIRS tag can be used to specify one or more directories that
-# contain dia files that are included in the documentation (see the \diafile
-# command).
-
-DIAFILE_DIRS           =
-
-# When using plantuml, the PLANTUML_JAR_PATH tag should be used to specify the
-# path where java can find the plantuml.jar file. If left blank, it is assumed
-# PlantUML is not used or called during a preprocessing step. Doxygen will
-# generate a warning when it encounters a \startuml command in this case and
-# will not generate output for the diagram.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-PLANTUML_JAR_PATH      =
-
-# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes
-# that will be shown in the graph. If the number of nodes in a graph becomes
-# larger than this value, doxygen will truncate the graph, which is visualized
-# by representing a node as a red box. Note that doxygen if the number of direct
-# children of the root node in a graph is already larger than
-# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note that
-# the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
-# Minimum value: 0, maximum value: 10000, default value: 50.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_GRAPH_MAX_NODES    = 50
-
-# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the graphs
-# generated by dot. A depth value of 3 means that only nodes reachable from the
-# root by following a path via at most 3 edges will be shown. Nodes that lay
-# further from the root node will be omitted. Note that setting this option to 1
-# or 2 may greatly reduce the computation time needed for large code bases. Also
-# note that the size of a graph can be further restricted by
-# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
-# Minimum value: 0, maximum value: 1000, default value: 0.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-MAX_DOT_GRAPH_DEPTH    = 0
-
-# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
-# background. This is disabled by default, because dot on Windows does not seem
-# to support this out of the box.
-#
-# Warning: Depending on the platform used, enabling this option may lead to
-# badly anti-aliased labels on the edges of a graph (i.e. they become hard to
-# read).
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_TRANSPARENT        = NO
-
-# Set the DOT_MULTI_TARGETS tag to YES to allow dot to generate multiple output
-# files in one run (i.e. multiple -o and -T options on the command line). This
-# makes dot run faster, but since only newer versions of dot (>1.8.10) support
-# this, this feature is disabled by default.
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_MULTI_TARGETS      = NO
-
-# If the GENERATE_LEGEND tag is set to YES doxygen will generate a legend page
-# explaining the meaning of the various boxes and arrows in the dot generated
-# graphs.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-GENERATE_LEGEND        = YES
-
-# If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate dot
-# files that are used to generate the various graphs.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_CLEANUP            = YES
diff --git a/contrib/neo_doxygen/tests/empty-project/README.md b/contrib/neo_doxygen/tests/empty-project/README.md
deleted file mode 100644 (file)
index 85bf9fe..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-This directory contains an empty project for testing purposes.
-
-To regenerate the XML output located in `xml`, run `make`. If the `Makefile`
-does not exists, you can regenerate it by running `make bootstrap` in the parent
-directory.
diff --git a/contrib/neo_doxygen/tests/empty-project/src/org/example/foo/void.txt b/contrib/neo_doxygen/tests/empty-project/src/org/example/foo/void.txt
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/contrib/neo_doxygen/tests/empty-project/xml/combine.xslt b/contrib/neo_doxygen/tests/empty-project/xml/combine.xslt
deleted file mode 100644 (file)
index c148ee4..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<!-- XSLT script to combine the generated output into a single file. 
-     If you have xsltproc you could use:
-     xsltproc combine.xslt index.xml >all.xml
--->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-  <xsl:output method="xml" version="1.0" indent="no" standalone="yes" />
-  <xsl:template match="/">
-    <doxygen version="{doxygenindex/@version}">
-      <!-- Load all doxgen generated xml files -->
-      <xsl:for-each select="doxygenindex/compound">
-        <xsl:copy-of select="document( concat( @refid, '.xml' ) )/doxygen/*" />
-      </xsl:for-each>
-    </doxygen>
-  </xsl:template>
-</xsl:stylesheet>
diff --git a/contrib/neo_doxygen/tests/empty-project/xml/compound.xsd b/contrib/neo_doxygen/tests/empty-project/xml/compound.xsd
deleted file mode 100644 (file)
index 86740f4..0000000
+++ /dev/null
@@ -1,1092 +0,0 @@
-<?xml version='1.0' encoding='utf-8' ?>
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-  <xsd:element name="doxygen" type="DoxygenType"/>
-
-  <!-- Complex types -->
-
-  <xsd:complexType name="DoxygenType">
-    <xsd:sequence maxOccurs="unbounded">
-      <xsd:element name="compounddef" type="compounddefType" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="version" type="DoxVersionNumber" use="required" />
-  </xsd:complexType>
-
-  <xsd:complexType name="compounddefType">
-    <xsd:sequence>
-      <xsd:element name="compoundname" type="xsd:string"/>
-      <xsd:element name="title" type="xsd:string" minOccurs="0" />
-      <xsd:element name="basecompoundref" type="compoundRefType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="derivedcompoundref" type="compoundRefType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="includes" type="incType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="includedby" type="incType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="incdepgraph" type="graphType" minOccurs="0" />
-      <xsd:element name="invincdepgraph" type="graphType" minOccurs="0" />
-      <xsd:element name="innerdir" type="refType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="innerfile" type="refType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="innerclass" type="refType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="innernamespace" type="refType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="innerpage" type="refType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="innergroup" type="refType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="templateparamlist" type="templateparamlistType" minOccurs="0" />
-      <xsd:element name="sectiondef" type="sectiondefType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="briefdescription" type="descriptionType" minOccurs="0" />
-      <xsd:element name="detaileddescription" type="descriptionType" minOccurs="0" />
-      <xsd:element name="inheritancegraph" type="graphType" minOccurs="0" />
-      <xsd:element name="collaborationgraph" type="graphType" minOccurs="0" />
-      <xsd:element name="programlisting" type="listingType" minOccurs="0" />
-      <xsd:element name="location" type="locationType" minOccurs="0" />
-      <xsd:element name="listofallmembers" type="listofallmembersType" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:string" />
-    <xsd:attribute name="kind" type="DoxCompoundKind" />
-    <xsd:attribute name="prot" type="DoxProtectionKind" />
-    <xsd:attribute name="final" type="DoxBool" use="optional"/>
-    <xsd:attribute name="sealed" type="DoxBool" use="optional"/>
-    <xsd:attribute name="abstract" type="DoxBool" use="optional"/>
-  </xsd:complexType>
-
-  <xsd:complexType name="listofallmembersType">
-    <xsd:sequence>
-      <xsd:element name="member" type="memberRefType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="memberRefType">
-    <xsd:sequence>
-      <xsd:element name="scope" />
-      <xsd:element name="name" />
-    </xsd:sequence>
-    <xsd:attribute name="refid" type="xsd:string" />
-    <xsd:attribute name="prot" type="DoxProtectionKind" />
-    <xsd:attribute name="virt" type="DoxVirtualKind" />
-    <xsd:attribute name="ambiguityscope" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="compoundRefType">
-    <xsd:simpleContent>
-      <xsd:extension base="xsd:string">
-        <xsd:attribute name="refid" type="xsd:string" use="optional" />
-        <xsd:attribute name="prot" type="DoxProtectionKind" />
-        <xsd:attribute name="virt" type="DoxVirtualKind" />
-      </xsd:extension>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-  <xsd:complexType name="reimplementType">
-    <xsd:simpleContent>
-      <xsd:extension base="xsd:string">
-        <xsd:attribute name="refid" type="xsd:string" />
-      </xsd:extension>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-  <xsd:complexType name="incType">
-    <xsd:simpleContent>
-      <xsd:extension base="xsd:string">
-        <xsd:attribute name="refid" type="xsd:string" />
-        <xsd:attribute name="local" type="DoxBool" />
-      </xsd:extension>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-  <xsd:complexType name="refType">
-    <xsd:simpleContent>
-      <xsd:extension base="xsd:string">
-        <xsd:attribute name="refid" type="xsd:string" />
-        <xsd:attribute name="prot" type="DoxProtectionKind" use="optional"/>
-      </xsd:extension>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-  <xsd:complexType name="refTextType">
-    <xsd:simpleContent>
-      <xsd:extension base="xsd:string">
-       <xsd:attribute name="refid" type="xsd:string" />
-       <xsd:attribute name="kindref" type="DoxRefKind" />
-       <xsd:attribute name="external" type="xsd:string" use="optional"/>
-       <xsd:attribute name="tooltip" type="xsd:string" use="optional"/>
-      </xsd:extension>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-  <xsd:complexType name="sectiondefType">
-    <xsd:sequence>
-      <xsd:element name="header" type="xsd:string" minOccurs="0" />
-      <xsd:element name="description" type="descriptionType" minOccurs="0" />
-      <xsd:element name="memberdef" type="memberdefType" maxOccurs="unbounded" />
-    </xsd:sequence>
-    <xsd:attribute name="kind" type="DoxSectionKind" />
-  </xsd:complexType>
-
-  <xsd:complexType name="memberdefType">
-    <xsd:sequence>
-      <xsd:element name="templateparamlist" type="templateparamlistType" minOccurs="0" />
-      <xsd:element name="type" type="linkedTextType" minOccurs="0" />
-      <xsd:element name="definition" minOccurs="0" />
-      <xsd:element name="argsstring" minOccurs="0" />
-      <xsd:element name="name" />
-      <xsd:element name="read" minOccurs="0" />
-      <xsd:element name="write" minOccurs="0" />
-      <xsd:element name="bitfield" minOccurs="0" />
-      <xsd:element name="reimplements" type="reimplementType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="reimplementedby" type="reimplementType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="param" type="paramType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="enumvalue" type="enumvalueType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="initializer" type="linkedTextType" minOccurs="0" />
-      <xsd:element name="exceptions" type="linkedTextType" minOccurs="0" />
-      <xsd:element name="briefdescription" type="descriptionType" minOccurs="0" />
-      <xsd:element name="detaileddescription" type="descriptionType" minOccurs="0" />
-      <xsd:element name="inbodydescription" type="descriptionType" minOccurs="0" />
-      <xsd:element name="location" type="locationType" />
-      <xsd:element name="references" type="referenceType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="referencedby" type="referenceType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-    <xsd:attribute name="kind" type="DoxMemberKind" />
-    <xsd:attribute name="id" type="xsd:string" />
-    <xsd:attribute name="prot" type="DoxProtectionKind" />
-    <xsd:attribute name="static" type="DoxBool" />
-    <xsd:attribute name="const" type="DoxBool" use="optional"/>
-    <xsd:attribute name="explicit" type="DoxBool" use="optional"/>
-    <xsd:attribute name="inline" type="DoxBool" use="optional"/>
-    <xsd:attribute name="virt" type="DoxVirtualKind" use="optional"/>
-    <xsd:attribute name="volatile" type="DoxBool" use="optional"/>
-    <xsd:attribute name="mutable" type="DoxBool" use="optional"/>
-    <!-- Qt property -->
-    <xsd:attribute name="readable" type="DoxBool" use="optional"/>
-    <xsd:attribute name="writable" type="DoxBool" use="optional"/>
-    <!-- C++/CLI variable -->
-    <xsd:attribute name="initonly" type="DoxBool" use="optional"/>
-    <!-- C++/CLI and C# property -->
-    <xsd:attribute name="settable" type="DoxBool" use="optional"/>
-    <xsd:attribute name="gettable" type="DoxBool" use="optional"/>
-    <!-- C++/CLI function -->
-    <xsd:attribute name="final" type="DoxBool" use="optional"/>
-    <xsd:attribute name="sealed" type="DoxBool" use="optional"/>
-    <xsd:attribute name="new" type="DoxBool" use="optional"/>
-    <!-- C++/CLI event -->
-    <xsd:attribute name="add" type="DoxBool" use="optional"/>
-    <xsd:attribute name="remove" type="DoxBool" use="optional"/>
-    <xsd:attribute name="raise" type="DoxBool" use="optional"/>
-    <!-- Objective-C 2.0 protocol method -->
-    <xsd:attribute name="optional" type="DoxBool" use="optional"/>
-    <xsd:attribute name="required" type="DoxBool" use="optional"/>
-    <!-- Objective-C 2.0 property accessor -->
-    <xsd:attribute name="accessor" type="DoxAccessor" use="optional"/>
-    <!-- UNO IDL -->
-    <xsd:attribute name="attribute" type="DoxBool" use="optional"/>
-    <xsd:attribute name="property" type="DoxBool" use="optional"/>
-    <xsd:attribute name="readonly" type="DoxBool" use="optional"/>
-    <xsd:attribute name="bound" type="DoxBool" use="optional"/>
-    <xsd:attribute name="removable" type="DoxBool" use="optional"/>
-    <xsd:attribute name="contrained" type="DoxBool" use="optional"/>
-    <xsd:attribute name="transient" type="DoxBool" use="optional"/>
-    <xsd:attribute name="maybevoid" type="DoxBool" use="optional"/>
-    <xsd:attribute name="maybedefault" type="DoxBool" use="optional"/>
-    <xsd:attribute name="maybeambiguous" type="DoxBool" use="optional"/>
-
-  </xsd:complexType>
-
-  <xsd:complexType name="descriptionType" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="title" type="xsd:string" minOccurs="0"/>          
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect1" type="docSect1Type" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="internal" type="docInternalType" minOccurs="0" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="enumvalueType" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="name" />
-      <xsd:element name="initializer" type="linkedTextType" minOccurs="0" />
-      <xsd:element name="briefdescription" type="descriptionType" minOccurs="0" />
-      <xsd:element name="detaileddescription" type="descriptionType" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:string" />
-    <xsd:attribute name="prot" type="DoxProtectionKind" />
-  </xsd:complexType>
-
-  <xsd:complexType name="templateparamlistType">
-    <xsd:sequence>
-      <xsd:element name="param" type="paramType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="paramType">
-    <xsd:sequence>
-      <xsd:element name="type" type="linkedTextType" minOccurs="0" />
-      <xsd:element name="declname" minOccurs="0" />
-      <xsd:element name="defname" minOccurs="0" />
-      <xsd:element name="array" minOccurs="0" />
-      <xsd:element name="defval" type="linkedTextType" minOccurs="0" />
-      <xsd:element name="briefdescription" type="descriptionType" minOccurs="0" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="linkedTextType" mixed="true">
-    <xsd:sequence>
-    <xsd:element name="ref" type="refTextType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="graphType">
-    <xsd:sequence>
-      <xsd:element name="node" type="nodeType" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="nodeType">
-    <xsd:sequence>
-      <xsd:element name="label" />
-      <xsd:element name="link" type="linkType" minOccurs="0" />
-      <xsd:element name="childnode" type="childnodeType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="childnodeType">
-    <xsd:sequence>
-      <xsd:element name="edgelabel" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="refid" type="xsd:string" />
-    <xsd:attribute name="relation" type="DoxGraphRelation" />
-  </xsd:complexType>
-
-  <xsd:complexType name="linkType">
-    <xsd:attribute name="refid" type="xsd:string" />
-    <xsd:attribute name="external" type="xsd:string" use="optional"/>
-  </xsd:complexType>
-
-  <xsd:complexType name="listingType">
-    <xsd:sequence>
-      <xsd:element name="codeline" type="codelineType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="codelineType">
-    <xsd:sequence>
-      <xsd:element name="highlight" type="highlightType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-    <xsd:attribute name="lineno" type="xsd:integer" />
-    <xsd:attribute name="refid" type="xsd:string" />
-    <xsd:attribute name="refkind" type="DoxRefKind" />
-    <xsd:attribute name="external" type="DoxBool" />
-  </xsd:complexType>
-
-  <xsd:complexType name="highlightType" mixed="true">
-    <xsd:choice minOccurs="0" maxOccurs="unbounded">
-      <xsd:element name="sp" />
-      <xsd:element name="ref" type="refTextType" />
-    </xsd:choice>
-    <xsd:attribute name="class" type="DoxHighlightClass" />
-  </xsd:complexType>
-
-  <xsd:complexType name="referenceType" mixed="true">
-    <xsd:attribute name="refid" type="xsd:string" />
-    <xsd:attribute name="compoundref" type="xsd:string" use="optional" />
-    <xsd:attribute name="startline" type="xsd:integer" />
-    <xsd:attribute name="endline" type="xsd:integer" />
-  </xsd:complexType>
-
-  <xsd:complexType name="locationType">
-    <xsd:attribute name="file" type="xsd:string" />
-    <xsd:attribute name="line" type="xsd:integer" />
-    <xsd:attribute name="column" type="xsd:integer" use="optional"/>
-    <xsd:attribute name="bodyfile" type="xsd:string" />
-    <xsd:attribute name="bodystart" type="xsd:integer" />
-    <xsd:attribute name="bodyend" type="xsd:integer" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docSect1Type" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="title" type="xsd:string" />       
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect2" type="docSect2Type" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="internal" type="docInternalS1Type" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docSect2Type" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="title" type="xsd:string" />       
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect3" type="docSect3Type" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="internal" type="docInternalS2Type" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docSect3Type" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="title" type="xsd:string" />       
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect4" type="docSect4Type" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="internal" type="docInternalS3Type" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docSect4Type" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="title" type="xsd:string" />       
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="internal" type="docInternalS4Type" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docInternalType" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="para"  type="docParaType"  minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect1" type="docSect1Type" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docInternalS1Type" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="para"  type="docParaType"  minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect2" type="docSect2Type" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docInternalS2Type" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="para"  type="docParaType"  minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect3" type="docSect3Type" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docInternalS3Type" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="para"  type="docParaType"  minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect3" type="docSect4Type" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docInternalS4Type" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="para"  type="docParaType"  minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:group name="docTitleCmdGroup">
-    <xsd:choice>
-      <xsd:element name="ulink" type="docURLLink" />
-      <xsd:element name="bold" type="docMarkupType" />
-      <xsd:element name="emphasis" type="docMarkupType" />
-      <xsd:element name="computeroutput" type="docMarkupType" />
-      <xsd:element name="subscript" type="docMarkupType" />
-      <xsd:element name="superscript" type="docMarkupType" />
-      <xsd:element name="center" type="docMarkupType" />
-      <xsd:element name="small" type="docMarkupType" />
-      <xsd:element name="htmlonly" type="xsd:string" />
-      <xsd:element name="manonly" type="xsd:string" />
-      <xsd:element name="xmlonly" type="xsd:string" />
-      <xsd:element name="rtfonly" type="xsd:string" />
-      <xsd:element name="latexonly" type="xsd:string" />
-      <xsd:element name="dot" type="xsd:string" />
-      <xsd:element name="plantuml" type="xsd:string" />
-      <xsd:element name="anchor" type="docAnchorType" />
-      <xsd:element name="formula" type="docFormulaType" />
-      <xsd:element name="ref" type="docRefTextType" />
-      <xsd:element name="nonbreakablespace" type="docEmptyType" />
-      <xsd:element name="iexcl" type="docEmptyType" />
-      <xsd:element name="cent" type="docEmptyType" />
-      <xsd:element name="pound" type="docEmptyType" />
-      <xsd:element name="curren" type="docEmptyType" />
-      <xsd:element name="yen" type="docEmptyType" />
-      <xsd:element name="brvbar" type="docEmptyType" />
-      <xsd:element name="sect" type="docEmptyType" />
-      <xsd:element name="umlaut" type="docEmptyType" />
-      <xsd:element name="copy" type="docEmptyType" />
-      <xsd:element name="ordf" type="docEmptyType" />
-      <xsd:element name="laquo" type="docEmptyType" />
-      <xsd:element name="not" type="docEmptyType" />
-      <xsd:element name="shy" type="docEmptyType" />
-      <xsd:element name="registered" type="docEmptyType" />
-      <xsd:element name="macr" type="docEmptyType" />
-      <xsd:element name="deg" type="docEmptyType" />
-      <xsd:element name="plusmn" type="docEmptyType" />
-      <xsd:element name="sup2" type="docEmptyType" />
-      <xsd:element name="sup3" type="docEmptyType" />
-      <xsd:element name="acute" type="docEmptyType" />
-      <xsd:element name="micro" type="docEmptyType" />
-      <xsd:element name="para" type="docEmptyType" />
-      <xsd:element name="middot" type="docEmptyType" />
-      <xsd:element name="cedil" type="docEmptyType" />
-      <xsd:element name="sup1" type="docEmptyType" />
-      <xsd:element name="ordm" type="docEmptyType" />
-      <xsd:element name="raquo" type="docEmptyType" />
-      <xsd:element name="frac14" type="docEmptyType" />
-      <xsd:element name="frac12" type="docEmptyType" />
-      <xsd:element name="frac34" type="docEmptyType" />
-      <xsd:element name="iquest" type="docEmptyType" />
-      <xsd:element name="Agrave" type="docEmptyType" />
-      <xsd:element name="Aacute" type="docEmptyType" />
-      <xsd:element name="Acirc" type="docEmptyType" />
-      <xsd:element name="Atilde" type="docEmptyType" />
-      <xsd:element name="Aumlaut" type="docEmptyType" />
-      <xsd:element name="Aring" type="docEmptyType" />
-      <xsd:element name="AElig" type="docEmptyType" />
-      <xsd:element name="Ccedil" type="docEmptyType" />
-      <xsd:element name="Egrave" type="docEmptyType" />
-      <xsd:element name="Eacute" type="docEmptyType" />
-      <xsd:element name="Ecirc" type="docEmptyType" />
-      <xsd:element name="Eumlaut" type="docEmptyType" />
-      <xsd:element name="Igrave" type="docEmptyType" />
-      <xsd:element name="Iacute" type="docEmptyType" />
-      <xsd:element name="Icirc" type="docEmptyType" />
-      <xsd:element name="Iumlaut" type="docEmptyType" />
-      <xsd:element name="ETH" type="docEmptyType" />
-      <xsd:element name="Ntilde" type="docEmptyType" />
-      <xsd:element name="Ograve" type="docEmptyType" />
-      <xsd:element name="Oacute" type="docEmptyType" />
-      <xsd:element name="Ocirc" type="docEmptyType" />
-      <xsd:element name="Otilde" type="docEmptyType" />
-      <xsd:element name="Oumlaut" type="docEmptyType" />
-      <xsd:element name="times" type="docEmptyType" />
-      <xsd:element name="Oslash" type="docEmptyType" />
-      <xsd:element name="Ugrave" type="docEmptyType" />
-      <xsd:element name="Uacute" type="docEmptyType" />
-      <xsd:element name="Ucirc" type="docEmptyType" />
-      <xsd:element name="Uumlaut" type="docEmptyType" />
-      <xsd:element name="Yacute" type="docEmptyType" />
-      <xsd:element name="THORN" type="docEmptyType" />
-      <xsd:element name="szlig" type="docEmptyType" />
-      <xsd:element name="agrave" type="docEmptyType" />
-      <xsd:element name="aacute" type="docEmptyType" />
-      <xsd:element name="acirc" type="docEmptyType" />
-      <xsd:element name="atilde" type="docEmptyType" />
-      <xsd:element name="aumlaut" type="docEmptyType" />
-      <xsd:element name="aring" type="docEmptyType" />
-      <xsd:element name="aelig" type="docEmptyType" />
-      <xsd:element name="ccedil" type="docEmptyType" />
-      <xsd:element name="egrave" type="docEmptyType" />
-      <xsd:element name="eacute" type="docEmptyType" />
-      <xsd:element name="ecirc" type="docEmptyType" />
-      <xsd:element name="eumlaut" type="docEmptyType" />
-      <xsd:element name="igrave" type="docEmptyType" />
-      <xsd:element name="iacute" type="docEmptyType" />
-      <xsd:element name="icirc" type="docEmptyType" />
-      <xsd:element name="iumlaut" type="docEmptyType" />
-      <xsd:element name="eth" type="docEmptyType" />
-      <xsd:element name="ntilde" type="docEmptyType" />
-      <xsd:element name="ograve" type="docEmptyType" />
-      <xsd:element name="oacute" type="docEmptyType" />
-      <xsd:element name="ocirc" type="docEmptyType" />
-      <xsd:element name="otilde" type="docEmptyType" />
-      <xsd:element name="oumlaut" type="docEmptyType" />
-      <xsd:element name="divide" type="docEmptyType" />
-      <xsd:element name="oslash" type="docEmptyType" />
-      <xsd:element name="ugrave" type="docEmptyType" />
-      <xsd:element name="uacute" type="docEmptyType" />
-      <xsd:element name="ucirc" type="docEmptyType" />
-      <xsd:element name="uumlaut" type="docEmptyType" />
-      <xsd:element name="yacute" type="docEmptyType" />
-      <xsd:element name="thorn" type="docEmptyType" />
-      <xsd:element name="yumlaut" type="docEmptyType" />
-      <xsd:element name="fnof" type="docEmptyType" />
-      <xsd:element name="Alpha" type="docEmptyType" />
-      <xsd:element name="Beta" type="docEmptyType" />
-      <xsd:element name="Gamma" type="docEmptyType" />
-      <xsd:element name="Delta" type="docEmptyType" />
-      <xsd:element name="Epsilon" type="docEmptyType" />
-      <xsd:element name="Zeta" type="docEmptyType" />
-      <xsd:element name="Eta" type="docEmptyType" />
-      <xsd:element name="Theta" type="docEmptyType" />
-      <xsd:element name="Iota" type="docEmptyType" />
-      <xsd:element name="Kappa" type="docEmptyType" />
-      <xsd:element name="Lambda" type="docEmptyType" />
-      <xsd:element name="Mu" type="docEmptyType" />
-      <xsd:element name="Nu" type="docEmptyType" />
-      <xsd:element name="Xi" type="docEmptyType" />
-      <xsd:element name="Omicron" type="docEmptyType" />
-      <xsd:element name="Pi" type="docEmptyType" />
-      <xsd:element name="Rho" type="docEmptyType" />
-      <xsd:element name="Sigma" type="docEmptyType" />
-      <xsd:element name="Tau" type="docEmptyType" />
-      <xsd:element name="Upsilon" type="docEmptyType" />
-      <xsd:element name="Phi" type="docEmptyType" />
-      <xsd:element name="Chi" type="docEmptyType" />
-      <xsd:element name="Psi" type="docEmptyType" />
-      <xsd:element name="Omega" type="docEmptyType" />
-      <xsd:element name="alpha" type="docEmptyType" />
-      <xsd:element name="beta" type="docEmptyType" />
-      <xsd:element name="gamma" type="docEmptyType" />
-      <xsd:element name="delta" type="docEmptyType" />
-      <xsd:element name="epsilon" type="docEmptyType" />
-      <xsd:element name="zeta" type="docEmptyType" />
-      <xsd:element name="eta" type="docEmptyType" />
-      <xsd:element name="theta" type="docEmptyType" />
-      <xsd:element name="iota" type="docEmptyType" />
-      <xsd:element name="kappa" type="docEmptyType" />
-      <xsd:element name="lambda" type="docEmptyType" />
-      <xsd:element name="mu" type="docEmptyType" />
-      <xsd:element name="nu" type="docEmptyType" />
-      <xsd:element name="xi" type="docEmptyType" />
-      <xsd:element name="omicron" type="docEmptyType" />
-      <xsd:element name="pi" type="docEmptyType" />
-      <xsd:element name="rho" type="docEmptyType" />
-      <xsd:element name="sigmaf" type="docEmptyType" />
-      <xsd:element name="sigma" type="docEmptyType" />
-      <xsd:element name="tau" type="docEmptyType" />
-      <xsd:element name="upsilon" type="docEmptyType" />
-      <xsd:element name="phi" type="docEmptyType" />
-      <xsd:element name="chi" type="docEmptyType" />
-      <xsd:element name="psi" type="docEmptyType" />
-      <xsd:element name="omega" type="docEmptyType" />
-      <xsd:element name="thetasym" type="docEmptyType" />
-      <xsd:element name="upsih" type="docEmptyType" />
-      <xsd:element name="piv" type="docEmptyType" />
-      <xsd:element name="bull" type="docEmptyType" />
-      <xsd:element name="hellip" type="docEmptyType" />
-      <xsd:element name="prime" type="docEmptyType" />
-      <xsd:element name="Prime" type="docEmptyType" />
-      <xsd:element name="oline" type="docEmptyType" />
-      <xsd:element name="frasl" type="docEmptyType" />
-      <xsd:element name="weierp" type="docEmptyType" />
-      <xsd:element name="image" type="docEmptyType" />
-      <xsd:element name="real" type="docEmptyType" />
-      <xsd:element name="trademark" type="docEmptyType" />
-      <xsd:element name="alefsym" type="docEmptyType" />
-      <xsd:element name="larr" type="docEmptyType" />
-      <xsd:element name="uarr" type="docEmptyType" />
-      <xsd:element name="rarr" type="docEmptyType" />
-      <xsd:element name="darr" type="docEmptyType" />
-      <xsd:element name="harr" type="docEmptyType" />
-      <xsd:element name="crarr" type="docEmptyType" />
-      <xsd:element name="lArr" type="docEmptyType" />
-      <xsd:element name="uArr" type="docEmptyType" />
-      <xsd:element name="rArr" type="docEmptyType" />
-      <xsd:element name="dArr" type="docEmptyType" />
-      <xsd:element name="hArr" type="docEmptyType" />
-      <xsd:element name="forall" type="docEmptyType" />
-      <xsd:element name="part" type="docEmptyType" />
-      <xsd:element name="exist" type="docEmptyType" />
-      <xsd:element name="empty" type="docEmptyType" />
-      <xsd:element name="nabla" type="docEmptyType" />
-      <xsd:element name="isin" type="docEmptyType" />
-      <xsd:element name="notin" type="docEmptyType" />
-      <xsd:element name="ni" type="docEmptyType" />
-      <xsd:element name="prod" type="docEmptyType" />
-      <xsd:element name="sum" type="docEmptyType" />
-      <xsd:element name="minus" type="docEmptyType" />
-      <xsd:element name="lowast" type="docEmptyType" />
-      <xsd:element name="radic" type="docEmptyType" />
-      <xsd:element name="prop" type="docEmptyType" />
-      <xsd:element name="infin" type="docEmptyType" />
-      <xsd:element name="ang" type="docEmptyType" />
-      <xsd:element name="and" type="docEmptyType" />
-      <xsd:element name="or" type="docEmptyType" />
-      <xsd:element name="cap" type="docEmptyType" />
-      <xsd:element name="cup" type="docEmptyType" />
-      <xsd:element name="int" type="docEmptyType" />
-      <xsd:element name="there4" type="docEmptyType" />
-      <xsd:element name="sim" type="docEmptyType" />
-      <xsd:element name="cong" type="docEmptyType" />
-      <xsd:element name="asymp" type="docEmptyType" />
-      <xsd:element name="ne" type="docEmptyType" />
-      <xsd:element name="equiv" type="docEmptyType" />
-      <xsd:element name="le" type="docEmptyType" />
-      <xsd:element name="ge" type="docEmptyType" />
-      <xsd:element name="sub" type="docEmptyType" />
-      <xsd:element name="sup" type="docEmptyType" />
-      <xsd:element name="nsub" type="docEmptyType" />
-      <xsd:element name="sube" type="docEmptyType" />
-      <xsd:element name="supe" type="docEmptyType" />
-      <xsd:element name="oplus" type="docEmptyType" />
-      <xsd:element name="otimes" type="docEmptyType" />
-      <xsd:element name="perp" type="docEmptyType" />
-      <xsd:element name="sdot" type="docEmptyType" />
-      <xsd:element name="lceil" type="docEmptyType" />
-      <xsd:element name="rceil" type="docEmptyType" />
-      <xsd:element name="lfloor" type="docEmptyType" />
-      <xsd:element name="rfloor" type="docEmptyType" />
-      <xsd:element name="lang" type="docEmptyType" />
-      <xsd:element name="rang" type="docEmptyType" />
-      <xsd:element name="loz" type="docEmptyType" />
-      <xsd:element name="spades" type="docEmptyType" />
-      <xsd:element name="clubs" type="docEmptyType" />
-      <xsd:element name="hearts" type="docEmptyType" />
-      <xsd:element name="diams" type="docEmptyType" />
-      <xsd:element name="OElig" type="docEmptyType" />
-      <xsd:element name="oelig" type="docEmptyType" />
-      <xsd:element name="Scaron" type="docEmptyType" />
-      <xsd:element name="scaron" type="docEmptyType" />
-      <xsd:element name="Yumlaut" type="docEmptyType" />
-      <xsd:element name="circ" type="docEmptyType" />
-      <xsd:element name="tilde" type="docEmptyType" />
-      <xsd:element name="ensp" type="docEmptyType" />
-      <xsd:element name="emsp" type="docEmptyType" />
-      <xsd:element name="thinsp" type="docEmptyType" />
-      <xsd:element name="zwnj" type="docEmptyType" />
-      <xsd:element name="zwj" type="docEmptyType" />
-      <xsd:element name="lrm" type="docEmptyType" />
-      <xsd:element name="rlm" type="docEmptyType" />
-      <xsd:element name="ndash" type="docEmptyType" />
-      <xsd:element name="mdash" type="docEmptyType" />
-      <xsd:element name="lsquo" type="docEmptyType" />
-      <xsd:element name="rsquo" type="docEmptyType" />
-      <xsd:element name="sbquo" type="docEmptyType" />
-      <xsd:element name="ldquo" type="docEmptyType" />
-      <xsd:element name="rdquo" type="docEmptyType" />
-      <xsd:element name="bdquo" type="docEmptyType" />
-      <xsd:element name="dagger" type="docEmptyType" />
-      <xsd:element name="Dagger" type="docEmptyType" />
-      <xsd:element name="permil" type="docEmptyType" />
-      <xsd:element name="lsaquo" type="docEmptyType" />
-      <xsd:element name="rsaquo" type="docEmptyType" />
-      <xsd:element name="euro" type="docEmptyType" />
-      <xsd:element name="trademark" type="docEmptyType" />
-    </xsd:choice>
-  </xsd:group>
-
-  <xsd:complexType name="docTitleType" mixed="true">
-    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-  </xsd:complexType>
-
-  <xsd:group name="docCmdGroup">
-    <xsd:choice>
-      <xsd:group ref="docTitleCmdGroup"/>
-      <xsd:element name="linebreak" type="docEmptyType" />
-      <xsd:element name="hruler" type="docEmptyType" />
-      <xsd:element name="preformatted" type="docMarkupType" />
-      <xsd:element name="programlisting" type="listingType" />
-      <xsd:element name="verbatim" type="xsd:string" />
-      <xsd:element name="indexentry" type="docIndexEntryType" />
-      <xsd:element name="orderedlist" type="docListType" />
-      <xsd:element name="itemizedlist" type="docListType" />
-      <xsd:element name="simplesect" type="docSimpleSectType" />
-      <xsd:element name="title" type="docTitleType" />
-      <xsd:element name="variablelist" type="docVariableListType" />
-      <xsd:element name="table" type="docTableType" />
-      <xsd:element name="heading" type="docHeadingType" />
-      <xsd:element name="image" type="docImageType" />
-      <xsd:element name="dotfile" type="docFileType" />
-      <xsd:element name="mscfile" type="docFileType" />
-      <xsd:element name="diafile" type="docFileType" />
-      <xsd:element name="toclist" type="docTocListType" />
-      <xsd:element name="language" type="docLanguageType" />
-      <xsd:element name="parameterlist" type="docParamListType" />
-      <xsd:element name="xrefsect" type="docXRefSectType" />
-      <xsd:element name="copydoc" type="docCopyType" />
-      <xsd:element name="blockquote" type="docBlockQuoteType" />
-      <xsd:element name="parblock" type="docParBlockType" />
-    </xsd:choice>
-  </xsd:group>
-
-  <xsd:complexType name="docParaType" mixed="true">
-    <xsd:group ref="docCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docMarkupType" mixed="true">
-    <xsd:group ref="docCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docURLLink" mixed="true">
-    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-    <xsd:attribute name="url" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docAnchorType" mixed="true">
-    <xsd:attribute name="id" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docFormulaType" mixed="true">
-    <xsd:attribute name="id" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docIndexEntryType">
-    <xsd:sequence>
-      <xsd:element name="primaryie" type="xsd:string" />
-      <xsd:element name="secondaryie" type="xsd:string" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docListType">
-    <xsd:sequence>
-      <xsd:element name="listitem" type="docListItemType" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docListItemType">
-    <xsd:sequence>
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docSimpleSectType">
-    <xsd:sequence>
-      <xsd:element name="title" type="docTitleType" minOccurs="0" />
-      <xsd:sequence minOccurs="0" maxOccurs="unbounded">
-        <xsd:element name="para" type="docParaType" minOccurs="1" maxOccurs="unbounded" />
-      </xsd:sequence>
-    </xsd:sequence>
-    <xsd:attribute name="kind" type="DoxSimpleSectKind" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docVarListEntryType">
-    <xsd:sequence>
-      <xsd:element name="term" type="docTitleType" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:group name="docVariableListGroup">
-    <xsd:sequence>
-      <xsd:element name="varlistentry" type="docVarListEntryType" />
-      <xsd:element name="listitem" type="docListItemType" />
-    </xsd:sequence>
-  </xsd:group>
-
-  <xsd:complexType name="docVariableListType">
-    <xsd:sequence>
-      <xsd:group ref="docVariableListGroup" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docRefTextType" mixed="true">
-    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-    <xsd:attribute name="refid" type="xsd:string" />
-    <xsd:attribute name="kindref" type="DoxRefKind" />
-    <xsd:attribute name="external" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docTableType">
-    <xsd:sequence>
-      <xsd:element name="row" type="docRowType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="caption" type="docCaptionType" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="rows" type="xsd:integer" />
-    <xsd:attribute name="cols" type="xsd:integer" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docRowType">
-    <xsd:sequence>
-      <xsd:element name="entry" type="docEntryType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docEntryType">
-    <xsd:sequence>
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-    <xsd:attribute name="thead" type="DoxBool" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docCaptionType" mixed="true">
-    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docHeadingType" mixed="true">
-    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-    <xsd:attribute name="level" type="xsd:integer" /> <!-- todo: range 1-6 -->
-  </xsd:complexType>
-
-  <xsd:complexType name="docImageType" mixed="true">
-    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-    <xsd:attribute name="type" type="DoxImageKind" /> 
-    <xsd:attribute name="name" type="xsd:string" /> 
-    <xsd:attribute name="width" type="xsd:string" /> 
-    <xsd:attribute name="height" type="xsd:string" /> 
-  </xsd:complexType>
-
-  <xsd:complexType name="docFileType" mixed="true">
-    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-    <xsd:attribute name="name" type="xsd:string" /> 
-  </xsd:complexType>
-
-  <xsd:complexType name="docTocItemType" mixed="true">
-    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-    <xsd:attribute name="id" type="xsd:string" /> 
-  </xsd:complexType>
-
-  <xsd:complexType name="docTocListType">
-    <xsd:sequence>
-      <xsd:element name="tocitem" type="docTocItemType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docLanguageType">
-    <xsd:sequence>
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-    <xsd:attribute name="langid" type="xsd:string" /> 
-  </xsd:complexType>
-
-  <xsd:complexType name="docParamListType">
-    <xsd:sequence>
-      <xsd:element name="parameteritem" type="docParamListItem" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-    <xsd:attribute name="kind" type="DoxParamListKind" /> 
-  </xsd:complexType>
-
-  <xsd:complexType name="docParamListItem">
-    <xsd:sequence>
-      <xsd:element name="parameternamelist" type="docParamNameList" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="parameterdescription" type="descriptionType" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docParamNameList">
-    <xsd:sequence>
-      <xsd:element name="parametertype" type="docParamType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="parametername" type="docParamName" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docParamType" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="ref" type="refTextType" minOccurs="0" maxOccurs="1" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docParamName" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="ref" type="refTextType" minOccurs="0" maxOccurs="1" />
-    </xsd:sequence>
-    <xsd:attribute name="direction" type="DoxParamDir" use="optional" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docXRefSectType">
-    <xsd:sequence>
-      <xsd:element name="xreftitle" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="xrefdescription" type="descriptionType" />
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:string" /> 
-  </xsd:complexType>
-
-  <xsd:complexType name="docCopyType">
-    <xsd:sequence>
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect1" type="docSect1Type" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="internal" type="docInternalType" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="link" type="xsd:string" /> 
-  </xsd:complexType>
-
-  <xsd:complexType name="docBlockQuoteType">
-    <xsd:sequence>
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docParBlockType">
-    <xsd:sequence>
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docEmptyType"/>
-
-  <!-- Simple types -->
-
-  <xsd:simpleType name="DoxBool">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="yes" />
-      <xsd:enumeration value="no" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxGraphRelation">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="include" />
-      <xsd:enumeration value="usage" />
-      <xsd:enumeration value="template-instance" />
-      <xsd:enumeration value="public-inheritance" />
-      <xsd:enumeration value="protected-inheritance" />
-      <xsd:enumeration value="private-inheritance" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxRefKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="compound" />
-      <xsd:enumeration value="member" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxMemberKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="define" />
-      <xsd:enumeration value="property" />
-      <xsd:enumeration value="event" />
-      <xsd:enumeration value="variable" />
-      <xsd:enumeration value="typedef" />
-      <xsd:enumeration value="enum" />
-      <xsd:enumeration value="function" />
-      <xsd:enumeration value="signal" />
-      <xsd:enumeration value="prototype" />
-      <xsd:enumeration value="friend" />
-      <xsd:enumeration value="dcop" />
-      <xsd:enumeration value="slot" />
-      <xsd:enumeration value="interface" />
-      <xsd:enumeration value="service" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxProtectionKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="public" />
-      <xsd:enumeration value="protected" />
-      <xsd:enumeration value="private" />
-      <xsd:enumeration value="package" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxVirtualKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="non-virtual" />
-      <xsd:enumeration value="virtual" />
-      <xsd:enumeration value="pure-virtual" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxCompoundKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="class" />
-      <xsd:enumeration value="struct" />
-      <xsd:enumeration value="union" />
-      <xsd:enumeration value="interface" />
-      <xsd:enumeration value="protocol" />
-      <xsd:enumeration value="category" />
-      <xsd:enumeration value="exception" />
-      <xsd:enumeration value="service" />
-      <xsd:enumeration value="singleton" />
-      <xsd:enumeration value="module" />
-      <xsd:enumeration value="type" />
-      <xsd:enumeration value="file" />
-      <xsd:enumeration value="namespace" />
-      <xsd:enumeration value="group" />
-      <xsd:enumeration value="page" />
-      <xsd:enumeration value="example" />
-      <xsd:enumeration value="dir" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxSectionKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="user-defined" />
-      <xsd:enumeration value="public-type" />
-      <xsd:enumeration value="public-func" />
-      <xsd:enumeration value="public-attrib" />
-      <xsd:enumeration value="public-slot" />
-      <xsd:enumeration value="signal" />
-      <xsd:enumeration value="dcop-func" />
-      <xsd:enumeration value="property" />
-      <xsd:enumeration value="event" />
-      <xsd:enumeration value="public-static-func" />
-      <xsd:enumeration value="public-static-attrib" />
-      <xsd:enumeration value="protected-type" />
-      <xsd:enumeration value="protected-func" />
-      <xsd:enumeration value="protected-attrib" />
-      <xsd:enumeration value="protected-slot" />
-      <xsd:enumeration value="protected-static-func" />
-      <xsd:enumeration value="protected-static-attrib" />
-      <xsd:enumeration value="package-type" />
-      <xsd:enumeration value="package-func" />
-      <xsd:enumeration value="package-attrib" />
-      <xsd:enumeration value="package-static-func" />
-      <xsd:enumeration value="package-static-attrib" />
-      <xsd:enumeration value="private-type" />
-      <xsd:enumeration value="private-func" />
-      <xsd:enumeration value="private-attrib" />
-      <xsd:enumeration value="private-slot" />
-      <xsd:enumeration value="private-static-func" />
-      <xsd:enumeration value="private-static-attrib" />
-      <xsd:enumeration value="friend" />
-      <xsd:enumeration value="related" />
-      <xsd:enumeration value="define" />
-      <xsd:enumeration value="prototype" />
-      <xsd:enumeration value="typedef" />
-      <xsd:enumeration value="enum" />
-      <xsd:enumeration value="func" />
-      <xsd:enumeration value="var" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxHighlightClass">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="comment" />
-      <xsd:enumeration value="normal" />
-      <xsd:enumeration value="preprocessor" />
-      <xsd:enumeration value="keyword" />
-      <xsd:enumeration value="keywordtype" />
-      <xsd:enumeration value="keywordflow" />
-      <xsd:enumeration value="stringliteral" />
-      <xsd:enumeration value="charliteral" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxSimpleSectKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="see" />
-      <xsd:enumeration value="return" />
-      <xsd:enumeration value="author" />
-      <xsd:enumeration value="authors" />
-      <xsd:enumeration value="version" />
-      <xsd:enumeration value="since" />
-      <xsd:enumeration value="date" />
-      <xsd:enumeration value="note" />
-      <xsd:enumeration value="warning" />
-      <xsd:enumeration value="pre" />
-      <xsd:enumeration value="post" />
-      <xsd:enumeration value="copyright" />
-      <xsd:enumeration value="invariant" />
-      <xsd:enumeration value="remark" />
-      <xsd:enumeration value="attention" />
-      <xsd:enumeration value="par" />
-      <xsd:enumeration value="rcs" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxVersionNumber">
-    <xsd:restriction base="xsd:string">
-      <xsd:pattern value="\d+\.\d+.*" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxImageKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="html" />
-      <xsd:enumeration value="latex" />
-      <xsd:enumeration value="rtf" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxParamListKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="param" />
-      <xsd:enumeration value="retval" />
-      <xsd:enumeration value="exception" />
-      <xsd:enumeration value="templateparam" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxCharRange">
-    <xsd:restriction base="xsd:string">
-      <xsd:pattern value="[aeiouncAEIOUNC]" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxParamDir">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="in"/>
-      <xsd:enumeration value="out"/>
-      <xsd:enumeration value="inout"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxAccessor">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="retain"/>
-      <xsd:enumeration value="copy"/>
-      <xsd:enumeration value="assign"/>
-      <xsd:enumeration value="weak"/>
-      <xsd:enumeration value="strong"/>
-      <xsd:enumeration value="unretained"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-</xsd:schema>
-
diff --git a/contrib/neo_doxygen/tests/empty-project/xml/index.xml b/contrib/neo_doxygen/tests/empty-project/xml/index.xml
deleted file mode 100644 (file)
index cb503f1..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-<?xml version='1.0' encoding='UTF-8' standalone='no'?>
-<doxygenindex xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="index.xsd" version="1.8.8">
-</doxygenindex>
diff --git a/contrib/neo_doxygen/tests/empty-project/xml/index.xsd b/contrib/neo_doxygen/tests/empty-project/xml/index.xsd
deleted file mode 100644 (file)
index d7ab2a9..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-<?xml version='1.0' encoding='utf-8' ?>
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-  <xsd:element name="doxygenindex" type="DoxygenType"/>
-
-  <xsd:complexType name="DoxygenType">
-    <xsd:sequence>
-      <xsd:element name="compound" type="CompoundType" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="version" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <xsd:complexType name="CompoundType">
-    <xsd:sequence>
-      <xsd:element name="name" type="xsd:string"/>
-      <xsd:element name="member" type="MemberType" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="refid" type="xsd:string" use="required"/>
-    <xsd:attribute name="kind" type="CompoundKind" use="required"/>
-  </xsd:complexType>
-
-  <xsd:complexType name="MemberType">
-    <xsd:sequence>
-      <xsd:element name="name" type="xsd:string"/>
-    </xsd:sequence>
-    <xsd:attribute name="refid" type="xsd:string" use="required"/>
-    <xsd:attribute name="kind" type="MemberKind" use="required"/>
-  </xsd:complexType>
-  
-  <xsd:simpleType name="CompoundKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="class"/>
-      <xsd:enumeration value="struct"/>
-      <xsd:enumeration value="union"/>
-      <xsd:enumeration value="interface"/>
-      <xsd:enumeration value="protocol"/>
-      <xsd:enumeration value="category"/>
-      <xsd:enumeration value="exception"/>
-      <xsd:enumeration value="file"/>
-      <xsd:enumeration value="namespace"/>
-      <xsd:enumeration value="group"/>
-      <xsd:enumeration value="page"/>
-      <xsd:enumeration value="example"/>
-      <xsd:enumeration value="dir"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="MemberKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="define"/>
-      <xsd:enumeration value="property"/>
-      <xsd:enumeration value="event"/>
-      <xsd:enumeration value="variable"/>
-      <xsd:enumeration value="typedef"/>
-      <xsd:enumeration value="enum"/>
-      <xsd:enumeration value="enumvalue"/>
-      <xsd:enumeration value="function"/>
-      <xsd:enumeration value="signal"/>
-      <xsd:enumeration value="prototype"/>
-      <xsd:enumeration value="friend"/>
-      <xsd:enumeration value="dcop"/>
-      <xsd:enumeration value="slot"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-</xsd:schema>
-
diff --git a/contrib/neo_doxygen/tests/inner-class/Doxyfile b/contrib/neo_doxygen/tests/inner-class/Doxyfile
deleted file mode 100644 (file)
index 46601c2..0000000
+++ /dev/null
@@ -1,2381 +0,0 @@
-# Doxyfile 1.8.8
-
-# This file describes the settings to be used by the documentation system
-# doxygen (www.doxygen.org) for a project.
-#
-# All text after a double hash (##) is considered a comment and is placed in
-# front of the TAG it is preceding.
-#
-# All text after a single hash (#) is considered a comment and will be ignored.
-# The format is:
-# TAG = value [value, ...]
-# For lists, items can also be appended using:
-# TAG += value [value, ...]
-# Values that contain spaces should be placed between quotes (\" \").
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-
-# This tag specifies the encoding used for all characters in the config file
-# that follow. The default is UTF-8 which is also the encoding used for all text
-# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv
-# built into libc) for the transcoding. See http://www.gnu.org/software/libiconv
-# for the list of possible encodings.
-# The default value is: UTF-8.
-
-DOXYFILE_ENCODING      = UTF-8
-
-# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by
-# double-quotes, unless you are using Doxywizard) that should identify the
-# project for which the documentation is generated. This name is used in the
-# title of most generated pages and in a few other places.
-# The default value is: My Project.
-
-PROJECT_NAME           = "Test Project"
-
-# The PROJECT_NUMBER tag can be used to enter a project or revision number. This
-# could be handy for archiving the generated documentation or if some version
-# control system is used.
-
-PROJECT_NUMBER         =
-
-# Using the PROJECT_BRIEF tag one can provide an optional one line description
-# for a project that appears at the top of each page and should give viewer a
-# quick idea about the purpose of the project. Keep the description short.
-
-PROJECT_BRIEF          =
-
-# With the PROJECT_LOGO tag one can specify a logo or an icon that is included
-# in the documentation. The maximum height of the logo should not exceed 55
-# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy
-# the logo to the output directory.
-
-PROJECT_LOGO           =
-
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path
-# into which the generated documentation will be written. If a relative path is
-# entered, it will be relative to the location where doxygen was started. If
-# left blank the current directory will be used.
-
-OUTPUT_DIRECTORY       =
-
-# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
-# directories (in 2 levels) under the output directory of each output format and
-# will distribute the generated files over these directories. Enabling this
-# option can be useful when feeding doxygen a huge amount of source files, where
-# putting all generated files in the same directory would otherwise causes
-# performance problems for the file system.
-# The default value is: NO.
-
-CREATE_SUBDIRS         = NO
-
-# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII
-# characters to appear in the names of generated files. If set to NO, non-ASCII
-# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode
-# U+3044.
-# The default value is: NO.
-
-ALLOW_UNICODE_NAMES    = NO
-
-# The OUTPUT_LANGUAGE tag is used to specify the language in which all
-# documentation generated by doxygen is written. Doxygen will use this
-# information to generate all constant output in the proper language.
-# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese,
-# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States),
-# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian,
-# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages),
-# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian,
-# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian,
-# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish,
-# Ukrainian and Vietnamese.
-# The default value is: English.
-
-OUTPUT_LANGUAGE        = English
-
-# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member
-# descriptions after the members that are listed in the file and class
-# documentation (similar to Javadoc). Set to NO to disable this.
-# The default value is: YES.
-
-BRIEF_MEMBER_DESC      = YES
-
-# If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief
-# description of a member or function before the detailed description
-#
-# Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
-# brief descriptions will be completely suppressed.
-# The default value is: YES.
-
-REPEAT_BRIEF           = YES
-
-# This tag implements a quasi-intelligent brief description abbreviator that is
-# used to form the text in various listings. Each string in this list, if found
-# as the leading text of the brief description, will be stripped from the text
-# and the result, after processing the whole list, is used as the annotated
-# text. Otherwise, the brief description is used as-is. If left blank, the
-# following values are used ($name is automatically replaced with the name of
-# the entity):The $name class, The $name widget, The $name file, is, provides,
-# specifies, contains, represents, a, an and the.
-
-ABBREVIATE_BRIEF       = "The $name class" \
-                         "The $name widget" \
-                         "The $name file" \
-                         is \
-                         provides \
-                         specifies \
-                         contains \
-                         represents \
-                         a \
-                         an \
-                         the
-
-# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
-# doxygen will generate a detailed section even if there is only a brief
-# description.
-# The default value is: NO.
-
-ALWAYS_DETAILED_SEC    = NO
-
-# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
-# inherited members of a class in the documentation of that class as if those
-# members were ordinary class members. Constructors, destructors and assignment
-# operators of the base classes will not be shown.
-# The default value is: NO.
-
-INLINE_INHERITED_MEMB  = NO
-
-# If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path
-# before files name in the file list and in the header files. If set to NO the
-# shortest path that makes the file name unique will be used
-# The default value is: YES.
-
-FULL_PATH_NAMES        = YES
-
-# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path.
-# Stripping is only done if one of the specified strings matches the left-hand
-# part of the path. The tag can be used to show relative paths in the file list.
-# If left blank the directory from which doxygen is run is used as the path to
-# strip.
-#
-# Note that you can specify absolute paths here, but also relative paths, which
-# will be relative from the directory where doxygen is started.
-# This tag requires that the tag FULL_PATH_NAMES is set to YES.
-
-STRIP_FROM_PATH        =
-
-# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the
-# path mentioned in the documentation of a class, which tells the reader which
-# header file to include in order to use a class. If left blank only the name of
-# the header file containing the class definition is used. Otherwise one should
-# specify the list of include paths that are normally passed to the compiler
-# using the -I flag.
-
-STRIP_FROM_INC_PATH    =
-
-# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but
-# less readable) file names. This can be useful is your file systems doesn't
-# support long names like on DOS, Mac, or CD-ROM.
-# The default value is: NO.
-
-SHORT_NAMES            = NO
-
-# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the
-# first line (until the first dot) of a Javadoc-style comment as the brief
-# description. If set to NO, the Javadoc-style will behave just like regular Qt-
-# style comments (thus requiring an explicit @brief command for a brief
-# description.)
-# The default value is: NO.
-
-JAVADOC_AUTOBRIEF      = YES
-
-# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first
-# line (until the first dot) of a Qt-style comment as the brief description. If
-# set to NO, the Qt-style will behave just like regular Qt-style comments (thus
-# requiring an explicit \brief command for a brief description.)
-# The default value is: NO.
-
-QT_AUTOBRIEF           = NO
-
-# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a
-# multi-line C++ special comment block (i.e. a block of //! or /// comments) as
-# a brief description. This used to be the default behavior. The new default is
-# to treat a multi-line C++ comment block as a detailed description. Set this
-# tag to YES if you prefer the old behavior instead.
-#
-# Note that setting this tag to YES also means that rational rose comments are
-# not recognized any more.
-# The default value is: NO.
-
-MULTILINE_CPP_IS_BRIEF = NO
-
-# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the
-# documentation from any documented member that it re-implements.
-# The default value is: YES.
-
-INHERIT_DOCS           = YES
-
-# If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new
-# page for each member. If set to NO, the documentation of a member will be part
-# of the file/class/namespace that contains it.
-# The default value is: NO.
-
-SEPARATE_MEMBER_PAGES  = NO
-
-# The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen
-# uses this value to replace tabs by spaces in code fragments.
-# Minimum value: 1, maximum value: 16, default value: 4.
-
-TAB_SIZE               = 4
-
-# This tag can be used to specify a number of aliases that act as commands in
-# the documentation. An alias has the form:
-# name=value
-# For example adding
-# "sideeffect=@par Side Effects:\n"
-# will allow you to put the command \sideeffect (or @sideeffect) in the
-# documentation, which will result in a user-defined paragraph with heading
-# "Side Effects:". You can put \n's in the value part of an alias to insert
-# newlines.
-
-ALIASES                =
-
-# This tag can be used to specify a number of word-keyword mappings (TCL only).
-# A mapping has the form "name=value". For example adding "class=itcl::class"
-# will allow you to use the command class in the itcl::class meaning.
-
-TCL_SUBST              =
-
-# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
-# only. Doxygen will then generate output that is more tailored for C. For
-# instance, some of the names that are used will be different. The list of all
-# members will be omitted, etc.
-# The default value is: NO.
-
-OPTIMIZE_OUTPUT_FOR_C  = NO
-
-# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or
-# Python sources only. Doxygen will then generate output that is more tailored
-# for that language. For instance, namespaces will be presented as packages,
-# qualified scopes will look different, etc.
-# The default value is: NO.
-
-OPTIMIZE_OUTPUT_JAVA   = YES
-
-# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
-# sources. Doxygen will then generate output that is tailored for Fortran.
-# The default value is: NO.
-
-OPTIMIZE_FOR_FORTRAN   = NO
-
-# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
-# sources. Doxygen will then generate output that is tailored for VHDL.
-# The default value is: NO.
-
-OPTIMIZE_OUTPUT_VHDL   = NO
-
-# Doxygen selects the parser to use depending on the extension of the files it
-# parses. With this tag you can assign which parser to use for a given
-# extension. Doxygen has a built-in mapping, but you can override or extend it
-# using this tag. The format is ext=language, where ext is a file extension, and
-# language is one of the parsers supported by doxygen: IDL, Java, Javascript,
-# C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran:
-# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran:
-# Fortran. In the later case the parser tries to guess whether the code is fixed
-# or free formatted code, this is the default for Fortran type files), VHDL. For
-# instance to make doxygen treat .inc files as Fortran files (default is PHP),
-# and .f files as C (default is Fortran), use: inc=Fortran f=C.
-#
-# Note: For files without extension you can use no_extension as a placeholder.
-#
-# Note that for custom extensions you also need to set FILE_PATTERNS otherwise
-# the files are not read by doxygen.
-
-EXTENSION_MAPPING      =
-
-# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments
-# according to the Markdown format, which allows for more readable
-# documentation. See http://daringfireball.net/projects/markdown/ for details.
-# The output of markdown processing is further processed by doxygen, so you can
-# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in
-# case of backward compatibilities issues.
-# The default value is: YES.
-
-MARKDOWN_SUPPORT       = YES
-
-# When enabled doxygen tries to link words that correspond to documented
-# classes, or namespaces to their corresponding documentation. Such a link can
-# be prevented in individual cases by putting a % sign in front of the word or
-# globally by setting AUTOLINK_SUPPORT to NO.
-# The default value is: YES.
-
-AUTOLINK_SUPPORT       = YES
-
-# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
-# to include (a tag file for) the STL sources as input, then you should set this
-# tag to YES in order to let doxygen match functions declarations and
-# definitions whose arguments contain STL classes (e.g. func(std::string);
-# versus func(std::string) {}). This also make the inheritance and collaboration
-# diagrams that involve STL classes more complete and accurate.
-# The default value is: NO.
-
-BUILTIN_STL_SUPPORT    = NO
-
-# If you use Microsoft's C++/CLI language, you should set this option to YES to
-# enable parsing support.
-# The default value is: NO.
-
-CPP_CLI_SUPPORT        = NO
-
-# Set the SIP_SUPPORT tag to YES if your project consists of sip (see:
-# http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen
-# will parse them like normal C++ but will assume all classes use public instead
-# of private inheritance when no explicit protection keyword is present.
-# The default value is: NO.
-
-SIP_SUPPORT            = NO
-
-# For Microsoft's IDL there are propget and propput attributes to indicate
-# getter and setter methods for a property. Setting this option to YES will make
-# doxygen to replace the get and set methods by a property in the documentation.
-# This will only work if the methods are indeed getting or setting a simple
-# type. If this is not the case, or you want to show the methods anyway, you
-# should set this option to NO.
-# The default value is: YES.
-
-IDL_PROPERTY_SUPPORT   = YES
-
-# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
-# tag is set to YES then doxygen will reuse the documentation of the first
-# member in the group (if any) for the other members of the group. By default
-# all members of a group must be documented explicitly.
-# The default value is: NO.
-
-DISTRIBUTE_GROUP_DOC   = NO
-
-# Set the SUBGROUPING tag to YES to allow class member groups of the same type
-# (for instance a group of public functions) to be put as a subgroup of that
-# type (e.g. under the Public Functions section). Set it to NO to prevent
-# subgrouping. Alternatively, this can be done per class using the
-# \nosubgrouping command.
-# The default value is: YES.
-
-SUBGROUPING            = YES
-
-# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions
-# are shown inside the group in which they are included (e.g. using \ingroup)
-# instead of on a separate page (for HTML and Man pages) or section (for LaTeX
-# and RTF).
-#
-# Note that this feature does not work in combination with
-# SEPARATE_MEMBER_PAGES.
-# The default value is: NO.
-
-INLINE_GROUPED_CLASSES = NO
-
-# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions
-# with only public data fields or simple typedef fields will be shown inline in
-# the documentation of the scope in which they are defined (i.e. file,
-# namespace, or group documentation), provided this scope is documented. If set
-# to NO, structs, classes, and unions are shown on a separate page (for HTML and
-# Man pages) or section (for LaTeX and RTF).
-# The default value is: NO.
-
-INLINE_SIMPLE_STRUCTS  = NO
-
-# When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or
-# enum is documented as struct, union, or enum with the name of the typedef. So
-# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
-# with name TypeT. When disabled the typedef will appear as a member of a file,
-# namespace, or class. And the struct will be named TypeS. This can typically be
-# useful for C code in case the coding convention dictates that all compound
-# types are typedef'ed and only the typedef is referenced, never the tag name.
-# The default value is: NO.
-
-TYPEDEF_HIDES_STRUCT   = NO
-
-# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This
-# cache is used to resolve symbols given their name and scope. Since this can be
-# an expensive process and often the same symbol appears multiple times in the
-# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small
-# doxygen will become slower. If the cache is too large, memory is wasted. The
-# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range
-# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536
-# symbols. At the end of a run doxygen will report the cache usage and suggest
-# the optimal cache size from a speed point of view.
-# Minimum value: 0, maximum value: 9, default value: 0.
-
-LOOKUP_CACHE_SIZE      = 0
-
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-
-# If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in
-# documentation are documented, even if no documentation was available. Private
-# class members and static file members will be hidden unless the
-# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES.
-# Note: This will also disable the warnings about undocumented members that are
-# normally produced when WARNINGS is set to YES.
-# The default value is: NO.
-
-EXTRACT_ALL            = NO
-
-# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will
-# be included in the documentation.
-# The default value is: NO.
-
-EXTRACT_PRIVATE        = NO
-
-# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal
-# scope will be included in the documentation.
-# The default value is: NO.
-
-EXTRACT_PACKAGE        = NO
-
-# If the EXTRACT_STATIC tag is set to YES, all static members of a file will be
-# included in the documentation.
-# The default value is: NO.
-
-EXTRACT_STATIC         = NO
-
-# If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined
-# locally in source files will be included in the documentation. If set to NO,
-# only classes defined in header files are included. Does not have any effect
-# for Java sources.
-# The default value is: YES.
-
-EXTRACT_LOCAL_CLASSES  = YES
-
-# This flag is only useful for Objective-C code. If set to YES, local methods,
-# which are defined in the implementation section but not in the interface are
-# included in the documentation. If set to NO, only methods in the interface are
-# included.
-# The default value is: NO.
-
-EXTRACT_LOCAL_METHODS  = NO
-
-# If this flag is set to YES, the members of anonymous namespaces will be
-# extracted and appear in the documentation as a namespace called
-# 'anonymous_namespace{file}', where file will be replaced with the base name of
-# the file that contains the anonymous namespace. By default anonymous namespace
-# are hidden.
-# The default value is: NO.
-
-EXTRACT_ANON_NSPACES   = NO
-
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all
-# undocumented members inside documented classes or files. If set to NO these
-# members will be included in the various overviews, but no documentation
-# section is generated. This option has no effect if EXTRACT_ALL is enabled.
-# The default value is: NO.
-
-HIDE_UNDOC_MEMBERS     = NO
-
-# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all
-# undocumented classes that are normally visible in the class hierarchy. If set
-# to NO, these classes will be included in the various overviews. This option
-# has no effect if EXTRACT_ALL is enabled.
-# The default value is: NO.
-
-HIDE_UNDOC_CLASSES     = NO
-
-# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend
-# (class|struct|union) declarations. If set to NO, these declarations will be
-# included in the documentation.
-# The default value is: NO.
-
-HIDE_FRIEND_COMPOUNDS  = NO
-
-# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any
-# documentation blocks found inside the body of a function. If set to NO, these
-# blocks will be appended to the function's detailed documentation block.
-# The default value is: NO.
-
-HIDE_IN_BODY_DOCS      = NO
-
-# The INTERNAL_DOCS tag determines if documentation that is typed after a
-# \internal command is included. If the tag is set to NO then the documentation
-# will be excluded. Set it to YES to include the internal documentation.
-# The default value is: NO.
-
-INTERNAL_DOCS          = NO
-
-# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file
-# names in lower-case letters. If set to YES, upper-case letters are also
-# allowed. This is useful if you have classes or files whose names only differ
-# in case and if your file system supports case sensitive file names. Windows
-# and Mac users are advised to set this option to NO.
-# The default value is: system dependent.
-
-CASE_SENSE_NAMES       = NO
-
-# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with
-# their full class and namespace scopes in the documentation. If set to YES, the
-# scope will be hidden.
-# The default value is: NO.
-
-HIDE_SCOPE_NAMES       = NO
-
-# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of
-# the files that are included by a file in the documentation of that file.
-# The default value is: YES.
-
-SHOW_INCLUDE_FILES     = YES
-
-# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each
-# grouped member an include statement to the documentation, telling the reader
-# which file to include in order to use the member.
-# The default value is: NO.
-
-SHOW_GROUPED_MEMB_INC  = NO
-
-# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include
-# files with double quotes in the documentation rather than with sharp brackets.
-# The default value is: NO.
-
-FORCE_LOCAL_INCLUDES   = NO
-
-# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the
-# documentation for inline members.
-# The default value is: YES.
-
-INLINE_INFO            = YES
-
-# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the
-# (detailed) documentation of file and class members alphabetically by member
-# name. If set to NO, the members will appear in declaration order.
-# The default value is: YES.
-
-SORT_MEMBER_DOCS       = YES
-
-# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief
-# descriptions of file, namespace and class members alphabetically by member
-# name. If set to NO, the members will appear in declaration order. Note that
-# this will also influence the order of the classes in the class list.
-# The default value is: NO.
-
-SORT_BRIEF_DOCS        = NO
-
-# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the
-# (brief and detailed) documentation of class members so that constructors and
-# destructors are listed first. If set to NO the constructors will appear in the
-# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS.
-# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief
-# member documentation.
-# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting
-# detailed member documentation.
-# The default value is: NO.
-
-SORT_MEMBERS_CTORS_1ST = NO
-
-# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy
-# of group names into alphabetical order. If set to NO the group names will
-# appear in their defined order.
-# The default value is: NO.
-
-SORT_GROUP_NAMES       = NO
-
-# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by
-# fully-qualified names, including namespaces. If set to NO, the class list will
-# be sorted only by class name, not including the namespace part.
-# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
-# Note: This option applies only to the class list, not to the alphabetical
-# list.
-# The default value is: NO.
-
-SORT_BY_SCOPE_NAME     = NO
-
-# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper
-# type resolution of all parameters of a function it will reject a match between
-# the prototype and the implementation of a member function even if there is
-# only one candidate or it is obvious which candidate to choose by doing a
-# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still
-# accept a match between prototype and implementation in such cases.
-# The default value is: NO.
-
-STRICT_PROTO_MATCHING  = NO
-
-# The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo
-# list. This list is created by putting \todo commands in the documentation.
-# The default value is: YES.
-
-GENERATE_TODOLIST      = YES
-
-# The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test
-# list. This list is created by putting \test commands in the documentation.
-# The default value is: YES.
-
-GENERATE_TESTLIST      = YES
-
-# The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug
-# list. This list is created by putting \bug commands in the documentation.
-# The default value is: YES.
-
-GENERATE_BUGLIST       = YES
-
-# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO)
-# the deprecated list. This list is created by putting \deprecated commands in
-# the documentation.
-# The default value is: YES.
-
-GENERATE_DEPRECATEDLIST= YES
-
-# The ENABLED_SECTIONS tag can be used to enable conditional documentation
-# sections, marked by \if <section_label> ... \endif and \cond <section_label>
-# ... \endcond blocks.
-
-ENABLED_SECTIONS       =
-
-# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the
-# initial value of a variable or macro / define can have for it to appear in the
-# documentation. If the initializer consists of more lines than specified here
-# it will be hidden. Use a value of 0 to hide initializers completely. The
-# appearance of the value of individual variables and macros / defines can be
-# controlled using \showinitializer or \hideinitializer command in the
-# documentation regardless of this setting.
-# Minimum value: 0, maximum value: 10000, default value: 30.
-
-MAX_INITIALIZER_LINES  = 30
-
-# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at
-# the bottom of the documentation of classes and structs. If set to YES, the
-# list will mention the files that were used to generate the documentation.
-# The default value is: YES.
-
-SHOW_USED_FILES        = YES
-
-# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This
-# will remove the Files entry from the Quick Index and from the Folder Tree View
-# (if specified).
-# The default value is: YES.
-
-SHOW_FILES             = YES
-
-# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces
-# page. This will remove the Namespaces entry from the Quick Index and from the
-# Folder Tree View (if specified).
-# The default value is: YES.
-
-SHOW_NAMESPACES        = YES
-
-# The FILE_VERSION_FILTER tag can be used to specify a program or script that
-# doxygen should invoke to get the current version for each file (typically from
-# the version control system). Doxygen will invoke the program by executing (via
-# popen()) the command command input-file, where command is the value of the
-# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided
-# by doxygen. Whatever the program writes to standard output is used as the file
-# version. For an example see the documentation.
-
-FILE_VERSION_FILTER    =
-
-# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
-# by doxygen. The layout file controls the global structure of the generated
-# output files in an output format independent way. To create the layout file
-# that represents doxygen's defaults, run doxygen with the -l option. You can
-# optionally specify a file name after the option, if omitted DoxygenLayout.xml
-# will be used as the name of the layout file.
-#
-# Note that if you run doxygen from a directory containing a file called
-# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE
-# tag is left empty.
-
-LAYOUT_FILE            =
-
-# The CITE_BIB_FILES tag can be used to specify one or more bib files containing
-# the reference definitions. This must be a list of .bib files. The .bib
-# extension is automatically appended if omitted. This requires the bibtex tool
-# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info.
-# For LaTeX the style of the bibliography can be controlled using
-# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the
-# search path. See also \cite for info how to create references.
-
-CITE_BIB_FILES         =
-
-#---------------------------------------------------------------------------
-# Configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-# The QUIET tag can be used to turn on/off the messages that are generated to
-# standard output by doxygen. If QUIET is set to YES this implies that the
-# messages are off.
-# The default value is: NO.
-
-QUIET                  = NO
-
-# The WARNINGS tag can be used to turn on/off the warning messages that are
-# generated to standard error (stderr) by doxygen. If WARNINGS is set to YES
-# this implies that the warnings are on.
-#
-# Tip: Turn warnings on while writing the documentation.
-# The default value is: YES.
-
-WARNINGS               = YES
-
-# If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate
-# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag
-# will automatically be disabled.
-# The default value is: YES.
-
-WARN_IF_UNDOCUMENTED   = YES
-
-# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for
-# potential errors in the documentation, such as not documenting some parameters
-# in a documented function, or documenting parameters that don't exist or using
-# markup commands wrongly.
-# The default value is: YES.
-
-WARN_IF_DOC_ERROR      = YES
-
-# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that
-# are documented, but have no documentation for their parameters or return
-# value. If set to NO, doxygen will only warn about wrong or incomplete
-# parameter documentation, but not about the absence of documentation.
-# The default value is: NO.
-
-WARN_NO_PARAMDOC       = NO
-
-# The WARN_FORMAT tag determines the format of the warning messages that doxygen
-# can produce. The string should contain the $file, $line, and $text tags, which
-# will be replaced by the file and line number from which the warning originated
-# and the warning text. Optionally the format may contain $version, which will
-# be replaced by the version of the file (if it could be obtained via
-# FILE_VERSION_FILTER)
-# The default value is: $file:$line: $text.
-
-WARN_FORMAT            = "$file:$line: $text"
-
-# The WARN_LOGFILE tag can be used to specify a file to which warning and error
-# messages should be written. If left blank the output is written to standard
-# error (stderr).
-
-WARN_LOGFILE           =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the input files
-#---------------------------------------------------------------------------
-
-# The INPUT tag is used to specify the files and/or directories that contain
-# documented source files. You may enter file names like myfile.cpp or
-# directories like /usr/src/myproject. Separate the files or directories with
-# spaces.
-# Note: If this tag is empty the current directory is searched.
-
-INPUT                  = src
-
-# This tag can be used to specify the character encoding of the source files
-# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
-# libiconv (or the iconv built into libc) for the transcoding. See the libiconv
-# documentation (see: http://www.gnu.org/software/libiconv) for the list of
-# possible encodings.
-# The default value is: UTF-8.
-
-INPUT_ENCODING         = UTF-8
-
-# If the value of the INPUT tag contains directories, you can use the
-# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and
-# *.h) to filter out the source-files in the directories. If left blank the
-# following patterns are tested:*.c, *.cc, *.cxx, *.cpp, *.c++, *.java, *.ii,
-# *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, *.hh, *.hxx, *.hpp,
-# *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, *.m, *.markdown,
-# *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf,
-# *.qsf, *.as and *.js.
-
-FILE_PATTERNS          = *.c \
-                         *.cc \
-                         *.cxx \
-                         *.cpp \
-                         *.c++ \
-                         *.java \
-                         *.ii \
-                         *.ixx \
-                         *.ipp \
-                         *.i++ \
-                         *.inl \
-                         *.idl \
-                         *.ddl \
-                         *.odl \
-                         *.h \
-                         *.hh \
-                         *.hxx \
-                         *.hpp \
-                         *.h++ \
-                         *.cs \
-                         *.d \
-                         *.php \
-                         *.php4 \
-                         *.php5 \
-                         *.phtml \
-                         *.inc \
-                         *.m \
-                         *.markdown \
-                         *.md \
-                         *.mm \
-                         *.dox \
-                         *.py \
-                         *.f90 \
-                         *.f \
-                         *.for \
-                         *.tcl \
-                         *.vhd \
-                         *.vhdl \
-                         *.ucf \
-                         *.qsf \
-                         *.as \
-                         *.js
-
-# The RECURSIVE tag can be used to specify whether or not subdirectories should
-# be searched for input files as well.
-# The default value is: NO.
-
-RECURSIVE              = YES
-
-# The EXCLUDE tag can be used to specify files and/or directories that should be
-# excluded from the INPUT source files. This way you can easily exclude a
-# subdirectory from a directory tree whose root is specified with the INPUT tag.
-#
-# Note that relative paths are relative to the directory from which doxygen is
-# run.
-
-EXCLUDE                =
-
-# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
-# directories that are symbolic links (a Unix file system feature) are excluded
-# from the input.
-# The default value is: NO.
-
-EXCLUDE_SYMLINKS       = NO
-
-# If the value of the INPUT tag contains directories, you can use the
-# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
-# certain files from those directories.
-#
-# Note that the wildcards are matched against the file with absolute path, so to
-# exclude all test directories for example use the pattern */test/*
-
-EXCLUDE_PATTERNS       =
-
-# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
-# (namespaces, classes, functions, etc.) that should be excluded from the
-# output. The symbol name can be a fully qualified name, a word, or if the
-# wildcard * is used, a substring. Examples: ANamespace, AClass,
-# AClass::ANamespace, ANamespace::*Test
-#
-# Note that the wildcards are matched against the file with absolute path, so to
-# exclude all test directories use the pattern */test/*
-
-EXCLUDE_SYMBOLS        =
-
-# The EXAMPLE_PATH tag can be used to specify one or more files or directories
-# that contain example code fragments that are included (see the \include
-# command).
-
-EXAMPLE_PATH           =
-
-# If the value of the EXAMPLE_PATH tag contains directories, you can use the
-# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and
-# *.h) to filter out the source-files in the directories. If left blank all
-# files are included.
-
-EXAMPLE_PATTERNS       = *
-
-# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
-# searched for input files to be used with the \include or \dontinclude commands
-# irrespective of the value of the RECURSIVE tag.
-# The default value is: NO.
-
-EXAMPLE_RECURSIVE      = NO
-
-# The IMAGE_PATH tag can be used to specify one or more files or directories
-# that contain images that are to be included in the documentation (see the
-# \image command).
-
-IMAGE_PATH             =
-
-# The INPUT_FILTER tag can be used to specify a program that doxygen should
-# invoke to filter for each input file. Doxygen will invoke the filter program
-# by executing (via popen()) the command:
-#
-# <filter> <input-file>
-#
-# where <filter> is the value of the INPUT_FILTER tag, and <input-file> is the
-# name of an input file. Doxygen will then use the output that the filter
-# program writes to standard output. If FILTER_PATTERNS is specified, this tag
-# will be ignored.
-#
-# Note that the filter must not add or remove lines; it is applied before the
-# code is scanned, but not when the output code is generated. If lines are added
-# or removed, the anchors will not be placed correctly.
-
-INPUT_FILTER           =
-
-# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
-# basis. Doxygen will compare the file name with each pattern and apply the
-# filter if there is a match. The filters are a list of the form: pattern=filter
-# (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how
-# filters are used. If the FILTER_PATTERNS tag is empty or if none of the
-# patterns match the file name, INPUT_FILTER is applied.
-
-FILTER_PATTERNS        =
-
-# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
-# INPUT_FILTER) will also be used to filter the input files that are used for
-# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES).
-# The default value is: NO.
-
-FILTER_SOURCE_FILES    = NO
-
-# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file
-# pattern. A pattern will override the setting for FILTER_PATTERN (if any) and
-# it is also possible to disable source filtering for a specific pattern using
-# *.ext= (so without naming a filter).
-# This tag requires that the tag FILTER_SOURCE_FILES is set to YES.
-
-FILTER_SOURCE_PATTERNS =
-
-# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that
-# is part of the input, its contents will be placed on the main page
-# (index.html). This can be useful if you have a project on for instance GitHub
-# and want to reuse the introduction page also for the doxygen output.
-
-USE_MDFILE_AS_MAINPAGE =
-
-#---------------------------------------------------------------------------
-# Configuration options related to source browsing
-#---------------------------------------------------------------------------
-
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will be
-# generated. Documented entities will be cross-referenced with these sources.
-#
-# Note: To get rid of all source code in the generated output, make sure that
-# also VERBATIM_HEADERS is set to NO.
-# The default value is: NO.
-
-SOURCE_BROWSER         = NO
-
-# Setting the INLINE_SOURCES tag to YES will include the body of functions,
-# classes and enums directly into the documentation.
-# The default value is: NO.
-
-INLINE_SOURCES         = NO
-
-# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any
-# special comment blocks from generated source code fragments. Normal C, C++ and
-# Fortran comments will always remain visible.
-# The default value is: YES.
-
-STRIP_CODE_COMMENTS    = YES
-
-# If the REFERENCED_BY_RELATION tag is set to YES then for each documented
-# function all documented functions referencing it will be listed.
-# The default value is: NO.
-
-REFERENCED_BY_RELATION = NO
-
-# If the REFERENCES_RELATION tag is set to YES then for each documented function
-# all documented entities called/used by that function will be listed.
-# The default value is: NO.
-
-REFERENCES_RELATION    = NO
-
-# If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set
-# to YES then the hyperlinks from functions in REFERENCES_RELATION and
-# REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will
-# link to the documentation.
-# The default value is: YES.
-
-REFERENCES_LINK_SOURCE = YES
-
-# If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the
-# source code will show a tooltip with additional information such as prototype,
-# brief description and links to the definition and documentation. Since this
-# will make the HTML file larger and loading of large files a bit slower, you
-# can opt to disable this feature.
-# The default value is: YES.
-# This tag requires that the tag SOURCE_BROWSER is set to YES.
-
-SOURCE_TOOLTIPS        = YES
-
-# If the USE_HTAGS tag is set to YES then the references to source code will
-# point to the HTML generated by the htags(1) tool instead of doxygen built-in
-# source browser. The htags tool is part of GNU's global source tagging system
-# (see http://www.gnu.org/software/global/global.html). You will need version
-# 4.8.6 or higher.
-#
-# To use it do the following:
-# - Install the latest version of global
-# - Enable SOURCE_BROWSER and USE_HTAGS in the config file
-# - Make sure the INPUT points to the root of the source tree
-# - Run doxygen as normal
-#
-# Doxygen will invoke htags (and that will in turn invoke gtags), so these
-# tools must be available from the command line (i.e. in the search path).
-#
-# The result: instead of the source browser generated by doxygen, the links to
-# source code will now point to the output of htags.
-# The default value is: NO.
-# This tag requires that the tag SOURCE_BROWSER is set to YES.
-
-USE_HTAGS              = NO
-
-# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a
-# verbatim copy of the header file for each class for which an include is
-# specified. Set to NO to disable this.
-# See also: Section \class.
-# The default value is: YES.
-
-VERBATIM_HEADERS       = YES
-
-#---------------------------------------------------------------------------
-# Configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all
-# compounds will be generated. Enable this if the project contains a lot of
-# classes, structs, unions or interfaces.
-# The default value is: YES.
-
-ALPHABETICAL_INDEX     = YES
-
-# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in
-# which the alphabetical index list will be split.
-# Minimum value: 1, maximum value: 20, default value: 5.
-# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
-
-COLS_IN_ALPHA_INDEX    = 5
-
-# In case all classes in a project start with a common prefix, all classes will
-# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag
-# can be used to specify a prefix (or a list of prefixes) that should be ignored
-# while generating the index headers.
-# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
-
-IGNORE_PREFIX          =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output
-# The default value is: YES.
-
-GENERATE_HTML          = NO
-
-# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a
-# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
-# it.
-# The default directory is: html.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_OUTPUT            = html
-
-# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each
-# generated HTML page (for example: .htm, .php, .asp).
-# The default value is: .html.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_FILE_EXTENSION    = .html
-
-# The HTML_HEADER tag can be used to specify a user-defined HTML header file for
-# each generated HTML page. If the tag is left blank doxygen will generate a
-# standard header.
-#
-# To get valid HTML the header file that includes any scripts and style sheets
-# that doxygen needs, which is dependent on the configuration options used (e.g.
-# the setting GENERATE_TREEVIEW). It is highly recommended to start with a
-# default header using
-# doxygen -w html new_header.html new_footer.html new_stylesheet.css
-# YourConfigFile
-# and then modify the file new_header.html. See also section "Doxygen usage"
-# for information on how to generate the default header that doxygen normally
-# uses.
-# Note: The header is subject to change so you typically have to regenerate the
-# default header when upgrading to a newer version of doxygen. For a description
-# of the possible markers and block names see the documentation.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_HEADER            =
-
-# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each
-# generated HTML page. If the tag is left blank doxygen will generate a standard
-# footer. See HTML_HEADER for more information on how to generate a default
-# footer and what special commands can be used inside the footer. See also
-# section "Doxygen usage" for information on how to generate the default footer
-# that doxygen normally uses.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_FOOTER            =
-
-# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style
-# sheet that is used by each HTML page. It can be used to fine-tune the look of
-# the HTML output. If left blank doxygen will generate a default style sheet.
-# See also section "Doxygen usage" for information on how to generate the style
-# sheet that doxygen normally uses.
-# Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as
-# it is more robust and this tag (HTML_STYLESHEET) will in the future become
-# obsolete.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_STYLESHEET        =
-
-# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined
-# cascading style sheets that are included after the standard style sheets
-# created by doxygen. Using this option one can overrule certain style aspects.
-# This is preferred over using HTML_STYLESHEET since it does not replace the
-# standard style sheet and is therefore more robust against future updates.
-# Doxygen will copy the style sheet files to the output directory.
-# Note: The order of the extra stylesheet files is of importance (e.g. the last
-# stylesheet in the list overrules the setting of the previous ones in the
-# list). For an example see the documentation.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_EXTRA_STYLESHEET  =
-
-# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
-# other source files which should be copied to the HTML output directory. Note
-# that these files will be copied to the base HTML output directory. Use the
-# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these
-# files. In the HTML_STYLESHEET file, use the file name only. Also note that the
-# files will be copied as-is; there are no commands or markers available.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_EXTRA_FILES       =
-
-# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen
-# will adjust the colors in the stylesheet and background images according to
-# this color. Hue is specified as an angle on a colorwheel, see
-# http://en.wikipedia.org/wiki/Hue for more information. For instance the value
-# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300
-# purple, and 360 is red again.
-# Minimum value: 0, maximum value: 359, default value: 220.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_COLORSTYLE_HUE    = 220
-
-# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors
-# in the HTML output. For a value of 0 the output will use grayscales only. A
-# value of 255 will produce the most vivid colors.
-# Minimum value: 0, maximum value: 255, default value: 100.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_COLORSTYLE_SAT    = 100
-
-# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the
-# luminance component of the colors in the HTML output. Values below 100
-# gradually make the output lighter, whereas values above 100 make the output
-# darker. The value divided by 100 is the actual gamma applied, so 80 represents
-# a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not
-# change the gamma.
-# Minimum value: 40, maximum value: 240, default value: 80.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_COLORSTYLE_GAMMA  = 80
-
-# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
-# page will contain the date and time when the page was generated. Setting this
-# to NO can help when comparing the output of multiple runs.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_TIMESTAMP         = YES
-
-# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
-# documentation will contain sections that can be hidden and shown after the
-# page has loaded.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_DYNAMIC_SECTIONS  = NO
-
-# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries
-# shown in the various tree structured indices initially; the user can expand
-# and collapse entries dynamically later on. Doxygen will expand the tree to
-# such a level that at most the specified number of entries are visible (unless
-# a fully collapsed tree already exceeds this amount). So setting the number of
-# entries 1 will produce a full collapsed tree by default. 0 is a special value
-# representing an infinite number of entries and will result in a full expanded
-# tree by default.
-# Minimum value: 0, maximum value: 9999, default value: 100.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_INDEX_NUM_ENTRIES = 100
-
-# If the GENERATE_DOCSET tag is set to YES, additional index files will be
-# generated that can be used as input for Apple's Xcode 3 integrated development
-# environment (see: http://developer.apple.com/tools/xcode/), introduced with
-# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a
-# Makefile in the HTML output directory. Running make will produce the docset in
-# that directory and running make install will install the docset in
-# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at
-# startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
-# for more information.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-GENERATE_DOCSET        = NO
-
-# This tag determines the name of the docset feed. A documentation feed provides
-# an umbrella under which multiple documentation sets from a single provider
-# (such as a company or product suite) can be grouped.
-# The default value is: Doxygen generated docs.
-# This tag requires that the tag GENERATE_DOCSET is set to YES.
-
-DOCSET_FEEDNAME        = "Doxygen generated docs"
-
-# This tag specifies a string that should uniquely identify the documentation
-# set bundle. This should be a reverse domain-name style string, e.g.
-# com.mycompany.MyDocSet. Doxygen will append .docset to the name.
-# The default value is: org.doxygen.Project.
-# This tag requires that the tag GENERATE_DOCSET is set to YES.
-
-DOCSET_BUNDLE_ID       = org.doxygen.Project
-
-# The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify
-# the documentation publisher. This should be a reverse domain-name style
-# string, e.g. com.mycompany.MyDocSet.documentation.
-# The default value is: org.doxygen.Publisher.
-# This tag requires that the tag GENERATE_DOCSET is set to YES.
-
-DOCSET_PUBLISHER_ID    = org.doxygen.Publisher
-
-# The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher.
-# The default value is: Publisher.
-# This tag requires that the tag GENERATE_DOCSET is set to YES.
-
-DOCSET_PUBLISHER_NAME  = Publisher
-
-# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three
-# additional HTML index files: index.hhp, index.hhc, and index.hhk. The
-# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop
-# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on
-# Windows.
-#
-# The HTML Help Workshop contains a compiler that can convert all HTML output
-# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML
-# files are now used as the Windows 98 help format, and will replace the old
-# Windows help format (.hlp) on all Windows platforms in the future. Compressed
-# HTML files also contain an index, a table of contents, and you can search for
-# words in the documentation. The HTML workshop also contains a viewer for
-# compressed HTML files.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-GENERATE_HTMLHELP      = NO
-
-# The CHM_FILE tag can be used to specify the file name of the resulting .chm
-# file. You can add a path in front of the file if the result should not be
-# written to the html output directory.
-# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-
-CHM_FILE               =
-
-# The HHC_LOCATION tag can be used to specify the location (absolute path
-# including file name) of the HTML help compiler (hhc.exe). If non-empty,
-# doxygen will try to run the HTML help compiler on the generated index.hhp.
-# The file has to be specified with full path.
-# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-
-HHC_LOCATION           =
-
-# The GENERATE_CHI flag controls if a separate .chi index file is generated
-# (YES) or that it should be included in the master .chm file (NO).
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-
-GENERATE_CHI           = NO
-
-# The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc)
-# and project file content.
-# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-
-CHM_INDEX_ENCODING     =
-
-# The BINARY_TOC flag controls whether a binary table of contents is generated
-# (YES) or a normal table of contents (NO) in the .chm file. Furthermore it
-# enables the Previous and Next buttons.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-
-BINARY_TOC             = NO
-
-# The TOC_EXPAND flag can be set to YES to add extra items for group members to
-# the table of contents of the HTML help documentation and to the tree view.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-
-TOC_EXPAND             = NO
-
-# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
-# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that
-# can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help
-# (.qch) of the generated HTML documentation.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-GENERATE_QHP           = NO
-
-# If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify
-# the file name of the resulting .qch file. The path specified is relative to
-# the HTML output folder.
-# This tag requires that the tag GENERATE_QHP is set to YES.
-
-QCH_FILE               =
-
-# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help
-# Project output. For more information please see Qt Help Project / Namespace
-# (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace).
-# The default value is: org.doxygen.Project.
-# This tag requires that the tag GENERATE_QHP is set to YES.
-
-QHP_NAMESPACE          = org.doxygen.Project
-
-# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt
-# Help Project output. For more information please see Qt Help Project / Virtual
-# Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual-
-# folders).
-# The default value is: doc.
-# This tag requires that the tag GENERATE_QHP is set to YES.
-
-QHP_VIRTUAL_FOLDER     = doc
-
-# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom
-# filter to add. For more information please see Qt Help Project / Custom
-# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
-# filters).
-# This tag requires that the tag GENERATE_QHP is set to YES.
-
-QHP_CUST_FILTER_NAME   =
-
-# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the
-# custom filter to add. For more information please see Qt Help Project / Custom
-# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
-# filters).
-# This tag requires that the tag GENERATE_QHP is set to YES.
-
-QHP_CUST_FILTER_ATTRS  =
-
-# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
-# project's filter section matches. Qt Help Project / Filter Attributes (see:
-# http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes).
-# This tag requires that the tag GENERATE_QHP is set to YES.
-
-QHP_SECT_FILTER_ATTRS  =
-
-# The QHG_LOCATION tag can be used to specify the location of Qt's
-# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the
-# generated .qhp file.
-# This tag requires that the tag GENERATE_QHP is set to YES.
-
-QHG_LOCATION           =
-
-# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be
-# generated, together with the HTML files, they form an Eclipse help plugin. To
-# install this plugin and make it available under the help contents menu in
-# Eclipse, the contents of the directory containing the HTML and XML files needs
-# to be copied into the plugins directory of eclipse. The name of the directory
-# within the plugins directory should be the same as the ECLIPSE_DOC_ID value.
-# After copying Eclipse needs to be restarted before the help appears.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-GENERATE_ECLIPSEHELP   = NO
-
-# A unique identifier for the Eclipse help plugin. When installing the plugin
-# the directory name containing the HTML and XML files should also have this
-# name. Each documentation set should have its own identifier.
-# The default value is: org.doxygen.Project.
-# This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES.
-
-ECLIPSE_DOC_ID         = org.doxygen.Project
-
-# If you want full control over the layout of the generated HTML pages it might
-# be necessary to disable the index and replace it with your own. The
-# DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top
-# of each HTML page. A value of NO enables the index and the value YES disables
-# it. Since the tabs in the index contain the same information as the navigation
-# tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-DISABLE_INDEX          = NO
-
-# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
-# structure should be generated to display hierarchical information. If the tag
-# value is set to YES, a side panel will be generated containing a tree-like
-# index structure (just like the one that is generated for HTML Help). For this
-# to work a browser that supports JavaScript, DHTML, CSS and frames is required
-# (i.e. any modern browser). Windows users are probably better off using the
-# HTML help feature. Via custom stylesheets (see HTML_EXTRA_STYLESHEET) one can
-# further fine-tune the look of the index. As an example, the default style
-# sheet generated by doxygen has an example that shows how to put an image at
-# the root of the tree instead of the PROJECT_NAME. Since the tree basically has
-# the same information as the tab index, you could consider setting
-# DISABLE_INDEX to YES when enabling this option.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-GENERATE_TREEVIEW      = NO
-
-# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that
-# doxygen will group on one line in the generated HTML documentation.
-#
-# Note that a value of 0 will completely suppress the enum values from appearing
-# in the overview section.
-# Minimum value: 0, maximum value: 20, default value: 4.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-ENUM_VALUES_PER_LINE   = 4
-
-# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used
-# to set the initial width (in pixels) of the frame in which the tree is shown.
-# Minimum value: 0, maximum value: 1500, default value: 250.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-TREEVIEW_WIDTH         = 250
-
-# If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to
-# external symbols imported via tag files in a separate window.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-EXT_LINKS_IN_WINDOW    = NO
-
-# Use this tag to change the font size of LaTeX formulas included as images in
-# the HTML documentation. When you change the font size after a successful
-# doxygen run you need to manually remove any form_*.png images from the HTML
-# output directory to force them to be regenerated.
-# Minimum value: 8, maximum value: 50, default value: 10.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-FORMULA_FONTSIZE       = 10
-
-# Use the FORMULA_TRANPARENT tag to determine whether or not the images
-# generated for formulas are transparent PNGs. Transparent PNGs are not
-# supported properly for IE 6.0, but are supported on all modern browsers.
-#
-# Note that when changing this option you need to delete any form_*.png files in
-# the HTML output directory before the changes have effect.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-FORMULA_TRANSPARENT    = YES
-
-# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see
-# http://www.mathjax.org) which uses client side Javascript for the rendering
-# instead of using pre-rendered bitmaps. Use this if you do not have LaTeX
-# installed or if you want to formulas look prettier in the HTML output. When
-# enabled you may also need to install MathJax separately and configure the path
-# to it using the MATHJAX_RELPATH option.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-USE_MATHJAX            = NO
-
-# When MathJax is enabled you can set the default output format to be used for
-# the MathJax output. See the MathJax site (see:
-# http://docs.mathjax.org/en/latest/output.html) for more details.
-# Possible values are: HTML-CSS (which is slower, but has the best
-# compatibility), NativeMML (i.e. MathML) and SVG.
-# The default value is: HTML-CSS.
-# This tag requires that the tag USE_MATHJAX is set to YES.
-
-MATHJAX_FORMAT         = HTML-CSS
-
-# When MathJax is enabled you need to specify the location relative to the HTML
-# output directory using the MATHJAX_RELPATH option. The destination directory
-# should contain the MathJax.js script. For instance, if the mathjax directory
-# is located at the same level as the HTML output directory, then
-# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax
-# Content Delivery Network so you can quickly see the result without installing
-# MathJax. However, it is strongly recommended to install a local copy of
-# MathJax from http://www.mathjax.org before deployment.
-# The default value is: http://cdn.mathjax.org/mathjax/latest.
-# This tag requires that the tag USE_MATHJAX is set to YES.
-
-MATHJAX_RELPATH        = http://cdn.mathjax.org/mathjax/latest
-
-# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax
-# extension names that should be enabled during MathJax rendering. For example
-# MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols
-# This tag requires that the tag USE_MATHJAX is set to YES.
-
-MATHJAX_EXTENSIONS     =
-
-# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces
-# of code that will be used on startup of the MathJax code. See the MathJax site
-# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an
-# example see the documentation.
-# This tag requires that the tag USE_MATHJAX is set to YES.
-
-MATHJAX_CODEFILE       =
-
-# When the SEARCHENGINE tag is enabled doxygen will generate a search box for
-# the HTML output. The underlying search engine uses javascript and DHTML and
-# should work on any modern browser. Note that when using HTML help
-# (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET)
-# there is already a search function so this one should typically be disabled.
-# For large projects the javascript based search engine can be slow, then
-# enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to
-# search using the keyboard; to jump to the search box use <access key> + S
-# (what the <access key> is depends on the OS and browser, but it is typically
-# <CTRL>, <ALT>/<option>, or both). Inside the search box use the <cursor down
-# key> to jump into the search results window, the results can be navigated
-# using the <cursor keys>. Press <Enter> to select an item or <escape> to cancel
-# the search. The filter options can be selected when the cursor is inside the
-# search box by pressing <Shift>+<cursor down>. Also here use the <cursor keys>
-# to select a filter and <Enter> or <escape> to activate or cancel the filter
-# option.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-SEARCHENGINE           = YES
-
-# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
-# implemented using a web server instead of a web client using Javascript. There
-# are two flavors of web server based searching depending on the EXTERNAL_SEARCH
-# setting. When disabled, doxygen will generate a PHP script for searching and
-# an index file used by the script. When EXTERNAL_SEARCH is enabled the indexing
-# and searching needs to be provided by external tools. See the section
-# "External Indexing and Searching" for details.
-# The default value is: NO.
-# This tag requires that the tag SEARCHENGINE is set to YES.
-
-SERVER_BASED_SEARCH    = NO
-
-# When EXTERNAL_SEARCH tag is enabled doxygen will no longer generate the PHP
-# script for searching. Instead the search results are written to an XML file
-# which needs to be processed by an external indexer. Doxygen will invoke an
-# external search engine pointed to by the SEARCHENGINE_URL option to obtain the
-# search results.
-#
-# Doxygen ships with an example indexer (doxyindexer) and search engine
-# (doxysearch.cgi) which are based on the open source search engine library
-# Xapian (see: http://xapian.org/).
-#
-# See the section "External Indexing and Searching" for details.
-# The default value is: NO.
-# This tag requires that the tag SEARCHENGINE is set to YES.
-
-EXTERNAL_SEARCH        = NO
-
-# The SEARCHENGINE_URL should point to a search engine hosted by a web server
-# which will return the search results when EXTERNAL_SEARCH is enabled.
-#
-# Doxygen ships with an example indexer (doxyindexer) and search engine
-# (doxysearch.cgi) which are based on the open source search engine library
-# Xapian (see: http://xapian.org/). See the section "External Indexing and
-# Searching" for details.
-# This tag requires that the tag SEARCHENGINE is set to YES.
-
-SEARCHENGINE_URL       =
-
-# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed
-# search data is written to a file for indexing by an external tool. With the
-# SEARCHDATA_FILE tag the name of this file can be specified.
-# The default file is: searchdata.xml.
-# This tag requires that the tag SEARCHENGINE is set to YES.
-
-SEARCHDATA_FILE        = searchdata.xml
-
-# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the
-# EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is
-# useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple
-# projects and redirect the results back to the right project.
-# This tag requires that the tag SEARCHENGINE is set to YES.
-
-EXTERNAL_SEARCH_ID     =
-
-# The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen
-# projects other than the one defined by this configuration file, but that are
-# all added to the same external search index. Each project needs to have a
-# unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id of
-# to a relative location where the documentation can be found. The format is:
-# EXTRA_SEARCH_MAPPINGS = tagname1=loc1 tagname2=loc2 ...
-# This tag requires that the tag SEARCHENGINE is set to YES.
-
-EXTRA_SEARCH_MAPPINGS  =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_LATEX tag is set to YES, doxygen will generate LaTeX output.
-# The default value is: YES.
-
-GENERATE_LATEX         = NO
-
-# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. If a
-# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
-# it.
-# The default directory is: latex.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_OUTPUT           = latex
-
-# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
-# invoked.
-#
-# Note that when enabling USE_PDFLATEX this option is only used for generating
-# bitmaps for formulas in the HTML output, but not in the Makefile that is
-# written to the output directory.
-# The default file is: latex.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_CMD_NAME         = latex
-
-# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate
-# index for LaTeX.
-# The default file is: makeindex.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-MAKEINDEX_CMD_NAME     = makeindex
-
-# If the COMPACT_LATEX tag is set to YES, doxygen generates more compact LaTeX
-# documents. This may be useful for small projects and may help to save some
-# trees in general.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-COMPACT_LATEX          = NO
-
-# The PAPER_TYPE tag can be used to set the paper type that is used by the
-# printer.
-# Possible values are: a4 (210 x 297 mm), letter (8.5 x 11 inches), legal (8.5 x
-# 14 inches) and executive (7.25 x 10.5 inches).
-# The default value is: a4.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-PAPER_TYPE             = a4
-
-# The EXTRA_PACKAGES tag can be used to specify one or more LaTeX package names
-# that should be included in the LaTeX output. To get the times font for
-# instance you can specify
-# EXTRA_PACKAGES=times
-# If left blank no extra packages will be included.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-EXTRA_PACKAGES         =
-
-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for the
-# generated LaTeX document. The header should contain everything until the first
-# chapter. If it is left blank doxygen will generate a standard header. See
-# section "Doxygen usage" for information on how to let doxygen write the
-# default header to a separate file.
-#
-# Note: Only use a user-defined header if you know what you are doing! The
-# following commands have a special meaning inside the header: $title,
-# $datetime, $date, $doxygenversion, $projectname, $projectnumber,
-# $projectbrief, $projectlogo. Doxygen will replace $title with the empty
-# string, for the replacement values of the other commands the user is referred
-# to HTML_HEADER.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_HEADER           =
-
-# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for the
-# generated LaTeX document. The footer should contain everything after the last
-# chapter. If it is left blank doxygen will generate a standard footer. See
-# LATEX_HEADER for more information on how to generate a default footer and what
-# special commands can be used inside the footer.
-#
-# Note: Only use a user-defined footer if you know what you are doing!
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_FOOTER           =
-
-# The LATEX_EXTRA_FILES tag can be used to specify one or more extra images or
-# other source files which should be copied to the LATEX_OUTPUT output
-# directory. Note that the files will be copied as-is; there are no commands or
-# markers available.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_EXTRA_FILES      =
-
-# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated is
-# prepared for conversion to PDF (using ps2pdf or pdflatex). The PDF file will
-# contain links (just like the HTML output) instead of page references. This
-# makes the output suitable for online browsing using a PDF viewer.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-PDF_HYPERLINKS         = YES
-
-# If the USE_PDFLATEX tag is set to YES, doxygen will use pdflatex to generate
-# the PDF file directly from the LaTeX files. Set this option to YES, to get a
-# higher quality PDF documentation.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-USE_PDFLATEX           = YES
-
-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \batchmode
-# command to the generated LaTeX files. This will instruct LaTeX to keep running
-# if errors occur, instead of asking the user for help. This option is also used
-# when generating formulas in HTML.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_BATCHMODE        = NO
-
-# If the LATEX_HIDE_INDICES tag is set to YES then doxygen will not include the
-# index chapters (such as File Index, Compound Index, etc.) in the output.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_HIDE_INDICES     = NO
-
-# If the LATEX_SOURCE_CODE tag is set to YES then doxygen will include source
-# code with syntax highlighting in the LaTeX output.
-#
-# Note that which sources are shown also depends on other settings such as
-# SOURCE_BROWSER.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_SOURCE_CODE      = NO
-
-# The LATEX_BIB_STYLE tag can be used to specify the style to use for the
-# bibliography, e.g. plainnat, or ieeetr. See
-# http://en.wikipedia.org/wiki/BibTeX and \cite for more info.
-# The default value is: plain.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_BIB_STYLE        = plain
-
-#---------------------------------------------------------------------------
-# Configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_RTF tag is set to YES, doxygen will generate RTF output. The
-# RTF output is optimized for Word 97 and may not look too pretty with other RTF
-# readers/editors.
-# The default value is: NO.
-
-GENERATE_RTF           = NO
-
-# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. If a
-# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
-# it.
-# The default directory is: rtf.
-# This tag requires that the tag GENERATE_RTF is set to YES.
-
-RTF_OUTPUT             = rtf
-
-# If the COMPACT_RTF tag is set to YES, doxygen generates more compact RTF
-# documents. This may be useful for small projects and may help to save some
-# trees in general.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_RTF is set to YES.
-
-COMPACT_RTF            = NO
-
-# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated will
-# contain hyperlink fields. The RTF file will contain links (just like the HTML
-# output) instead of page references. This makes the output suitable for online
-# browsing using Word or some other Word compatible readers that support those
-# fields.
-#
-# Note: WordPad (write) and others do not support links.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_RTF is set to YES.
-
-RTF_HYPERLINKS         = NO
-
-# Load stylesheet definitions from file. Syntax is similar to doxygen's config
-# file, i.e. a series of assignments. You only have to provide replacements,
-# missing definitions are set to their default value.
-#
-# See also section "Doxygen usage" for information on how to generate the
-# default style sheet that doxygen normally uses.
-# This tag requires that the tag GENERATE_RTF is set to YES.
-
-RTF_STYLESHEET_FILE    =
-
-# Set optional variables used in the generation of an RTF document. Syntax is
-# similar to doxygen's config file. A template extensions file can be generated
-# using doxygen -e rtf extensionFile.
-# This tag requires that the tag GENERATE_RTF is set to YES.
-
-RTF_EXTENSIONS_FILE    =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_MAN tag is set to YES, doxygen will generate man pages for
-# classes and files.
-# The default value is: NO.
-
-GENERATE_MAN           = NO
-
-# The MAN_OUTPUT tag is used to specify where the man pages will be put. If a
-# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
-# it. A directory man3 will be created inside the directory specified by
-# MAN_OUTPUT.
-# The default directory is: man.
-# This tag requires that the tag GENERATE_MAN is set to YES.
-
-MAN_OUTPUT             = man
-
-# The MAN_EXTENSION tag determines the extension that is added to the generated
-# man pages. In case the manual section does not start with a number, the number
-# 3 is prepended. The dot (.) at the beginning of the MAN_EXTENSION tag is
-# optional.
-# The default value is: .3.
-# This tag requires that the tag GENERATE_MAN is set to YES.
-
-MAN_EXTENSION          = .3
-
-# The MAN_SUBDIR tag determines the name of the directory created within
-# MAN_OUTPUT in which the man pages are placed. If defaults to man followed by
-# MAN_EXTENSION with the initial . removed.
-# This tag requires that the tag GENERATE_MAN is set to YES.
-
-MAN_SUBDIR             =
-
-# If the MAN_LINKS tag is set to YES and doxygen generates man output, then it
-# will generate one additional man file for each entity documented in the real
-# man page(s). These additional files only source the real man page, but without
-# them the man command would be unable to find the correct page.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_MAN is set to YES.
-
-MAN_LINKS              = NO
-
-#---------------------------------------------------------------------------
-# Configuration options related to the XML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_XML tag is set to YES, doxygen will generate an XML file that
-# captures the structure of the code including all documentation.
-# The default value is: NO.
-
-GENERATE_XML           = YES
-
-# The XML_OUTPUT tag is used to specify where the XML pages will be put. If a
-# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
-# it.
-# The default directory is: xml.
-# This tag requires that the tag GENERATE_XML is set to YES.
-
-XML_OUTPUT             = xml
-
-# If the XML_PROGRAMLISTING tag is set to YES, doxygen will dump the program
-# listings (including syntax highlighting and cross-referencing information) to
-# the XML output. Note that enabling this will significantly increase the size
-# of the XML output.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_XML is set to YES.
-
-XML_PROGRAMLISTING     = NO
-
-#---------------------------------------------------------------------------
-# Configuration options related to the DOCBOOK output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_DOCBOOK tag is set to YES, doxygen will generate Docbook files
-# that can be used to generate PDF.
-# The default value is: NO.
-
-GENERATE_DOCBOOK       = NO
-
-# The DOCBOOK_OUTPUT tag is used to specify where the Docbook pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be put in
-# front of it.
-# The default directory is: docbook.
-# This tag requires that the tag GENERATE_DOCBOOK is set to YES.
-
-DOCBOOK_OUTPUT         = docbook
-
-# If the DOCBOOK_PROGRAMLISTING tag is set to YES, doxygen will include the
-# program listings (including syntax highlighting and cross-referencing
-# information) to the DOCBOOK output. Note that enabling this will significantly
-# increase the size of the DOCBOOK output.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_DOCBOOK is set to YES.
-
-DOCBOOK_PROGRAMLISTING = NO
-
-#---------------------------------------------------------------------------
-# Configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_AUTOGEN_DEF tag is set to YES, doxygen will generate an
-# AutoGen Definitions (see http://autogen.sf.net) file that captures the
-# structure of the code including all documentation. Note that this feature is
-# still experimental and incomplete at the moment.
-# The default value is: NO.
-
-GENERATE_AUTOGEN_DEF   = NO
-
-#---------------------------------------------------------------------------
-# Configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_PERLMOD tag is set to YES, doxygen will generate a Perl module
-# file that captures the structure of the code including all documentation.
-#
-# Note that this feature is still experimental and incomplete at the moment.
-# The default value is: NO.
-
-GENERATE_PERLMOD       = NO
-
-# If the PERLMOD_LATEX tag is set to YES, doxygen will generate the necessary
-# Makefile rules, Perl scripts and LaTeX code to be able to generate PDF and DVI
-# output from the Perl module output.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_PERLMOD is set to YES.
-
-PERLMOD_LATEX          = NO
-
-# If the PERLMOD_PRETTY tag is set to YES, the Perl module output will be nicely
-# formatted so it can be parsed by a human reader. This is useful if you want to
-# understand what is going on. On the other hand, if this tag is set to NO, the
-# size of the Perl module output will be much smaller and Perl will parse it
-# just the same.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_PERLMOD is set to YES.
-
-PERLMOD_PRETTY         = YES
-
-# The names of the make variables in the generated doxyrules.make file are
-# prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. This is useful
-# so different doxyrules.make files included by the same Makefile don't
-# overwrite each other's variables.
-# This tag requires that the tag GENERATE_PERLMOD is set to YES.
-
-PERLMOD_MAKEVAR_PREFIX =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-# If the ENABLE_PREPROCESSING tag is set to YES, doxygen will evaluate all
-# C-preprocessor directives found in the sources and include files.
-# The default value is: YES.
-
-ENABLE_PREPROCESSING   = YES
-
-# If the MACRO_EXPANSION tag is set to YES, doxygen will expand all macro names
-# in the source code. If set to NO, only conditional compilation will be
-# performed. Macro expansion can be done in a controlled way by setting
-# EXPAND_ONLY_PREDEF to YES.
-# The default value is: NO.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-MACRO_EXPANSION        = NO
-
-# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES then
-# the macro expansion is limited to the macros specified with the PREDEFINED and
-# EXPAND_AS_DEFINED tags.
-# The default value is: NO.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-EXPAND_ONLY_PREDEF     = NO
-
-# If the SEARCH_INCLUDES tag is set to YES, the include files in the
-# INCLUDE_PATH will be searched if a #include is found.
-# The default value is: YES.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-SEARCH_INCLUDES        = YES
-
-# The INCLUDE_PATH tag can be used to specify one or more directories that
-# contain include files that are not input files but should be processed by the
-# preprocessor.
-# This tag requires that the tag SEARCH_INCLUDES is set to YES.
-
-INCLUDE_PATH           =
-
-# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
-# patterns (like *.h and *.hpp) to filter out the header-files in the
-# directories. If left blank, the patterns specified with FILE_PATTERNS will be
-# used.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-INCLUDE_FILE_PATTERNS  =
-
-# The PREDEFINED tag can be used to specify one or more macro names that are
-# defined before the preprocessor is started (similar to the -D option of e.g.
-# gcc). The argument of the tag is a list of macros of the form: name or
-# name=definition (no spaces). If the definition and the "=" are omitted, "=1"
-# is assumed. To prevent a macro definition from being undefined via #undef or
-# recursively expanded use the := operator instead of the = operator.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-PREDEFINED             =
-
-# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
-# tag can be used to specify a list of macro names that should be expanded. The
-# macro definition that is found in the sources will be used. Use the PREDEFINED
-# tag if you want to use a different macro definition that overrules the
-# definition found in the source code.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-EXPAND_AS_DEFINED      =
-
-# If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen's preprocessor will
-# remove all references to function-like macros that are alone on a line, have
-# an all uppercase name, and do not end with a semicolon. Such function macros
-# are typically used for boiler-plate code, and will confuse the parser if not
-# removed.
-# The default value is: YES.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-SKIP_FUNCTION_MACROS   = YES
-
-#---------------------------------------------------------------------------
-# Configuration options related to external references
-#---------------------------------------------------------------------------
-
-# The TAGFILES tag can be used to specify one or more tag files. For each tag
-# file the location of the external documentation should be added. The format of
-# a tag file without this location is as follows:
-# TAGFILES = file1 file2 ...
-# Adding location for the tag files is done as follows:
-# TAGFILES = file1=loc1 "file2 = loc2" ...
-# where loc1 and loc2 can be relative or absolute paths or URLs. See the
-# section "Linking to external documentation" for more information about the use
-# of tag files.
-# Note: Each tag file must have a unique name (where the name does NOT include
-# the path). If a tag file is not located in the directory in which doxygen is
-# run, you must also specify the path to the tagfile here.
-
-TAGFILES               =
-
-# When a file name is specified after GENERATE_TAGFILE, doxygen will create a
-# tag file that is based on the input files it reads. See section "Linking to
-# external documentation" for more information about the usage of tag files.
-
-GENERATE_TAGFILE       =
-
-# If the ALLEXTERNALS tag is set to YES, all external class will be listed in
-# the class index. If set to NO, only the inherited external classes will be
-# listed.
-# The default value is: NO.
-
-ALLEXTERNALS           = NO
-
-# If the EXTERNAL_GROUPS tag is set to YES, all external groups will be listed
-# in the modules index. If set to NO, only the current project's groups will be
-# listed.
-# The default value is: YES.
-
-EXTERNAL_GROUPS        = YES
-
-# If the EXTERNAL_PAGES tag is set to YES, all external pages will be listed in
-# the related pages index. If set to NO, only the current project's pages will
-# be listed.
-# The default value is: YES.
-
-EXTERNAL_PAGES         = YES
-
-# The PERL_PATH should be the absolute path and name of the perl script
-# interpreter (i.e. the result of 'which perl').
-# The default file (with absolute path) is: /usr/bin/perl.
-
-PERL_PATH              = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If the CLASS_DIAGRAMS tag is set to YES, doxygen will generate a class diagram
-# (in HTML and LaTeX) for classes with base or super classes. Setting the tag to
-# NO turns the diagrams off. Note that this option also works with HAVE_DOT
-# disabled, but it is recommended to install and use dot, since it yields more
-# powerful graphs.
-# The default value is: YES.
-
-CLASS_DIAGRAMS         = YES
-
-# You can define message sequence charts within doxygen comments using the \msc
-# command. Doxygen will then run the mscgen tool (see:
-# http://www.mcternan.me.uk/mscgen/)) to produce the chart and insert it in the
-# documentation. The MSCGEN_PATH tag allows you to specify the directory where
-# the mscgen tool resides. If left empty the tool is assumed to be found in the
-# default search path.
-
-MSCGEN_PATH            =
-
-# You can include diagrams made with dia in doxygen documentation. Doxygen will
-# then run dia to produce the diagram and insert it in the documentation. The
-# DIA_PATH tag allows you to specify the directory where the dia binary resides.
-# If left empty dia is assumed to be found in the default search path.
-
-DIA_PATH               =
-
-# If set to YES the inheritance and collaboration graphs will hide inheritance
-# and usage relations if the target is undocumented or is not a class.
-# The default value is: YES.
-
-HIDE_UNDOC_RELATIONS   = YES
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz (see:
-# http://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent
-# Bell Labs. The other options in this section have no effect if this option is
-# set to NO
-# The default value is: NO.
-
-HAVE_DOT               = NO
-
-# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is allowed
-# to run in parallel. When set to 0 doxygen will base this on the number of
-# processors available in the system. You can set it explicitly to a value
-# larger than 0 to get control over the balance between CPU load and processing
-# speed.
-# Minimum value: 0, maximum value: 32, default value: 0.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_NUM_THREADS        = 0
-
-# When you want a differently looking font in the dot files that doxygen
-# generates you can specify the font name using DOT_FONTNAME. You need to make
-# sure dot is able to find the font, which can be done by putting it in a
-# standard location or by setting the DOTFONTPATH environment variable or by
-# setting DOT_FONTPATH to the directory containing the font.
-# The default value is: Helvetica.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_FONTNAME           = Helvetica
-
-# The DOT_FONTSIZE tag can be used to set the size (in points) of the font of
-# dot graphs.
-# Minimum value: 4, maximum value: 24, default value: 10.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_FONTSIZE           = 10
-
-# By default doxygen will tell dot to use the default font as specified with
-# DOT_FONTNAME. If you specify a different font using DOT_FONTNAME you can set
-# the path where dot can find it using this tag.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_FONTPATH           =
-
-# If the CLASS_GRAPH tag is set to YES then doxygen will generate a graph for
-# each documented class showing the direct and indirect inheritance relations.
-# Setting this tag to YES will force the CLASS_DIAGRAMS tag to NO.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-CLASS_GRAPH            = YES
-
-# If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a
-# graph for each documented class showing the direct and indirect implementation
-# dependencies (inheritance, containment, and class references variables) of the
-# class with other documented classes.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-COLLABORATION_GRAPH    = YES
-
-# If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for
-# groups, showing the direct groups dependencies.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-GROUP_GRAPHS           = YES
-
-# If the UML_LOOK tag is set to YES, doxygen will generate inheritance and
-# collaboration diagrams in a style similar to the OMG's Unified Modeling
-# Language.
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-UML_LOOK               = NO
-
-# If the UML_LOOK tag is enabled, the fields and methods are shown inside the
-# class node. If there are many fields or methods and many nodes the graph may
-# become too big to be useful. The UML_LIMIT_NUM_FIELDS threshold limits the
-# number of items for each type to make the size more manageable. Set this to 0
-# for no limit. Note that the threshold may be exceeded by 50% before the limit
-# is enforced. So when you set the threshold to 10, up to 15 fields may appear,
-# but if the number exceeds 15, the total amount of fields shown is limited to
-# 10.
-# Minimum value: 0, maximum value: 100, default value: 10.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-UML_LIMIT_NUM_FIELDS   = 10
-
-# If the TEMPLATE_RELATIONS tag is set to YES then the inheritance and
-# collaboration graphs will show the relations between templates and their
-# instances.
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-TEMPLATE_RELATIONS     = NO
-
-# If the INCLUDE_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are set to
-# YES then doxygen will generate a graph for each documented file showing the
-# direct and indirect include dependencies of the file with other documented
-# files.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-INCLUDE_GRAPH          = YES
-
-# If the INCLUDED_BY_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are
-# set to YES then doxygen will generate a graph for each documented file showing
-# the direct and indirect include dependencies of the file with other documented
-# files.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-INCLUDED_BY_GRAPH      = YES
-
-# If the CALL_GRAPH tag is set to YES then doxygen will generate a call
-# dependency graph for every global function or class method.
-#
-# Note that enabling this option will significantly increase the time of a run.
-# So in most cases it will be better to enable call graphs for selected
-# functions only using the \callgraph command.
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-CALL_GRAPH             = NO
-
-# If the CALLER_GRAPH tag is set to YES then doxygen will generate a caller
-# dependency graph for every global function or class method.
-#
-# Note that enabling this option will significantly increase the time of a run.
-# So in most cases it will be better to enable caller graphs for selected
-# functions only using the \callergraph command.
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-CALLER_GRAPH           = NO
-
-# If the GRAPHICAL_HIERARCHY tag is set to YES then doxygen will graphical
-# hierarchy of all classes instead of a textual one.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-GRAPHICAL_HIERARCHY    = YES
-
-# If the DIRECTORY_GRAPH tag is set to YES then doxygen will show the
-# dependencies a directory has on other directories in a graphical way. The
-# dependency relations are determined by the #include relations between the
-# files in the directories.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DIRECTORY_GRAPH        = YES
-
-# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
-# generated by dot.
-# Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order
-# to make the SVG files visible in IE 9+ (other browsers do not have this
-# requirement).
-# Possible values are: png, jpg, gif and svg.
-# The default value is: png.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_IMAGE_FORMAT       = png
-
-# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to
-# enable generation of interactive SVG images that allow zooming and panning.
-#
-# Note that this requires a modern browser other than Internet Explorer. Tested
-# and working are Firefox, Chrome, Safari, and Opera.
-# Note: For IE 9+ you need to set HTML_FILE_EXTENSION to xhtml in order to make
-# the SVG files visible. Older versions of IE do not have SVG support.
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-INTERACTIVE_SVG        = NO
-
-# The DOT_PATH tag can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found in the path.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_PATH               =
-
-# The DOTFILE_DIRS tag can be used to specify one or more directories that
-# contain dot files that are included in the documentation (see the \dotfile
-# command).
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOTFILE_DIRS           =
-
-# The MSCFILE_DIRS tag can be used to specify one or more directories that
-# contain msc files that are included in the documentation (see the \mscfile
-# command).
-
-MSCFILE_DIRS           =
-
-# The DIAFILE_DIRS tag can be used to specify one or more directories that
-# contain dia files that are included in the documentation (see the \diafile
-# command).
-
-DIAFILE_DIRS           =
-
-# When using plantuml, the PLANTUML_JAR_PATH tag should be used to specify the
-# path where java can find the plantuml.jar file. If left blank, it is assumed
-# PlantUML is not used or called during a preprocessing step. Doxygen will
-# generate a warning when it encounters a \startuml command in this case and
-# will not generate output for the diagram.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-PLANTUML_JAR_PATH      =
-
-# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes
-# that will be shown in the graph. If the number of nodes in a graph becomes
-# larger than this value, doxygen will truncate the graph, which is visualized
-# by representing a node as a red box. Note that doxygen if the number of direct
-# children of the root node in a graph is already larger than
-# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note that
-# the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
-# Minimum value: 0, maximum value: 10000, default value: 50.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_GRAPH_MAX_NODES    = 50
-
-# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the graphs
-# generated by dot. A depth value of 3 means that only nodes reachable from the
-# root by following a path via at most 3 edges will be shown. Nodes that lay
-# further from the root node will be omitted. Note that setting this option to 1
-# or 2 may greatly reduce the computation time needed for large code bases. Also
-# note that the size of a graph can be further restricted by
-# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
-# Minimum value: 0, maximum value: 1000, default value: 0.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-MAX_DOT_GRAPH_DEPTH    = 0
-
-# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
-# background. This is disabled by default, because dot on Windows does not seem
-# to support this out of the box.
-#
-# Warning: Depending on the platform used, enabling this option may lead to
-# badly anti-aliased labels on the edges of a graph (i.e. they become hard to
-# read).
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_TRANSPARENT        = NO
-
-# Set the DOT_MULTI_TARGETS tag to YES to allow dot to generate multiple output
-# files in one run (i.e. multiple -o and -T options on the command line). This
-# makes dot run faster, but since only newer versions of dot (>1.8.10) support
-# this, this feature is disabled by default.
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_MULTI_TARGETS      = NO
-
-# If the GENERATE_LEGEND tag is set to YES doxygen will generate a legend page
-# explaining the meaning of the various boxes and arrows in the dot generated
-# graphs.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-GENERATE_LEGEND        = YES
-
-# If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate dot
-# files that are used to generate the various graphs.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_CLEANUP            = YES
diff --git a/contrib/neo_doxygen/tests/inner-class/README.md b/contrib/neo_doxygen/tests/inner-class/README.md
deleted file mode 100644 (file)
index 2a87fc7..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-This directory contains a dummy Java project for testing purposes.
-
-To regenerate the XML output located in `xml`, run `make`. If the `Makefile`
-does not exists, you can regenerate it by running `make bootstrap` in the parent
-directory.
diff --git a/contrib/neo_doxygen/tests/inner-class/src/OuterClass.java b/contrib/neo_doxygen/tests/inner-class/src/OuterClass.java
deleted file mode 100644 (file)
index e324e3e..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-/* This file is part of NIT ( http://www.nitlanguage.org ).
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * A class with an inner class.
- */
-public class OuterClass {
-       /**
-        * An instance (non-static) inner class.
-        */
-       public class InnerClass {}
-}
diff --git a/contrib/neo_doxygen/tests/inner-class/xml/_outer_class_8java.xml b/contrib/neo_doxygen/tests/inner-class/xml/_outer_class_8java.xml
deleted file mode 100644 (file)
index 0a63600..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version='1.0' encoding='UTF-8' standalone='no'?>
-<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.8">
-  <compounddef id="_outer_class_8java" kind="file">
-    <compoundname>OuterClass.java</compoundname>
-    <innerclass refid="class_outer_class" prot="public">OuterClass</innerclass>
-    <innerclass refid="class_outer_class_1_1_inner_class" prot="public">OuterClass::InnerClass</innerclass>
-    <briefdescription>
-    </briefdescription>
-    <detaileddescription>
-    </detaileddescription>
-    <location file="%SOURCE_DIRECTORY%/OuterClass.java"/>
-  </compounddef>
-</doxygen>
diff --git a/contrib/neo_doxygen/tests/inner-class/xml/class_outer_class.xml b/contrib/neo_doxygen/tests/inner-class/xml/class_outer_class.xml
deleted file mode 100644 (file)
index 1bd92a8..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version='1.0' encoding='UTF-8' standalone='no'?>
-<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.8">
-  <compounddef id="class_outer_class" kind="class" prot="public">
-    <compoundname>OuterClass</compoundname>
-    <innerclass refid="class_outer_class_1_1_inner_class" prot="public">OuterClass::InnerClass</innerclass>
-    <briefdescription>
-<para>A class with an inner class. </para>    </briefdescription>
-    <detaileddescription>
-    </detaileddescription>
-    <location file="%SOURCE_DIRECTORY%/OuterClass.java" line="19" column="1" bodyfile="%SOURCE_DIRECTORY%/OuterClass.java" bodystart="19" bodyend="24"/>
-    <listofallmembers>
-    </listofallmembers>
-  </compounddef>
-</doxygen>
diff --git a/contrib/neo_doxygen/tests/inner-class/xml/class_outer_class_1_1_inner_class.xml b/contrib/neo_doxygen/tests/inner-class/xml/class_outer_class_1_1_inner_class.xml
deleted file mode 100644 (file)
index 570babb..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version='1.0' encoding='UTF-8' standalone='no'?>
-<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.8">
-  <compounddef id="class_outer_class_1_1_inner_class" kind="class" prot="public">
-    <compoundname>OuterClass::InnerClass</compoundname>
-    <briefdescription>
-<para>An instance (non-static) inner class. </para>    </briefdescription>
-    <detaileddescription>
-    </detaileddescription>
-    <location file="%SOURCE_DIRECTORY%/OuterClass.java" line="23" column="1" bodyfile="%SOURCE_DIRECTORY%/OuterClass.java" bodystart="23" bodyend="23"/>
-    <listofallmembers>
-    </listofallmembers>
-  </compounddef>
-</doxygen>
diff --git a/contrib/neo_doxygen/tests/inner-class/xml/combine.xslt b/contrib/neo_doxygen/tests/inner-class/xml/combine.xslt
deleted file mode 100644 (file)
index c148ee4..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<!-- XSLT script to combine the generated output into a single file. 
-     If you have xsltproc you could use:
-     xsltproc combine.xslt index.xml >all.xml
--->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-  <xsl:output method="xml" version="1.0" indent="no" standalone="yes" />
-  <xsl:template match="/">
-    <doxygen version="{doxygenindex/@version}">
-      <!-- Load all doxgen generated xml files -->
-      <xsl:for-each select="doxygenindex/compound">
-        <xsl:copy-of select="document( concat( @refid, '.xml' ) )/doxygen/*" />
-      </xsl:for-each>
-    </doxygen>
-  </xsl:template>
-</xsl:stylesheet>
diff --git a/contrib/neo_doxygen/tests/inner-class/xml/compound.xsd b/contrib/neo_doxygen/tests/inner-class/xml/compound.xsd
deleted file mode 100644 (file)
index 86740f4..0000000
+++ /dev/null
@@ -1,1092 +0,0 @@
-<?xml version='1.0' encoding='utf-8' ?>
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-  <xsd:element name="doxygen" type="DoxygenType"/>
-
-  <!-- Complex types -->
-
-  <xsd:complexType name="DoxygenType">
-    <xsd:sequence maxOccurs="unbounded">
-      <xsd:element name="compounddef" type="compounddefType" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="version" type="DoxVersionNumber" use="required" />
-  </xsd:complexType>
-
-  <xsd:complexType name="compounddefType">
-    <xsd:sequence>
-      <xsd:element name="compoundname" type="xsd:string"/>
-      <xsd:element name="title" type="xsd:string" minOccurs="0" />
-      <xsd:element name="basecompoundref" type="compoundRefType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="derivedcompoundref" type="compoundRefType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="includes" type="incType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="includedby" type="incType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="incdepgraph" type="graphType" minOccurs="0" />
-      <xsd:element name="invincdepgraph" type="graphType" minOccurs="0" />
-      <xsd:element name="innerdir" type="refType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="innerfile" type="refType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="innerclass" type="refType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="innernamespace" type="refType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="innerpage" type="refType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="innergroup" type="refType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="templateparamlist" type="templateparamlistType" minOccurs="0" />
-      <xsd:element name="sectiondef" type="sectiondefType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="briefdescription" type="descriptionType" minOccurs="0" />
-      <xsd:element name="detaileddescription" type="descriptionType" minOccurs="0" />
-      <xsd:element name="inheritancegraph" type="graphType" minOccurs="0" />
-      <xsd:element name="collaborationgraph" type="graphType" minOccurs="0" />
-      <xsd:element name="programlisting" type="listingType" minOccurs="0" />
-      <xsd:element name="location" type="locationType" minOccurs="0" />
-      <xsd:element name="listofallmembers" type="listofallmembersType" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:string" />
-    <xsd:attribute name="kind" type="DoxCompoundKind" />
-    <xsd:attribute name="prot" type="DoxProtectionKind" />
-    <xsd:attribute name="final" type="DoxBool" use="optional"/>
-    <xsd:attribute name="sealed" type="DoxBool" use="optional"/>
-    <xsd:attribute name="abstract" type="DoxBool" use="optional"/>
-  </xsd:complexType>
-
-  <xsd:complexType name="listofallmembersType">
-    <xsd:sequence>
-      <xsd:element name="member" type="memberRefType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="memberRefType">
-    <xsd:sequence>
-      <xsd:element name="scope" />
-      <xsd:element name="name" />
-    </xsd:sequence>
-    <xsd:attribute name="refid" type="xsd:string" />
-    <xsd:attribute name="prot" type="DoxProtectionKind" />
-    <xsd:attribute name="virt" type="DoxVirtualKind" />
-    <xsd:attribute name="ambiguityscope" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="compoundRefType">
-    <xsd:simpleContent>
-      <xsd:extension base="xsd:string">
-        <xsd:attribute name="refid" type="xsd:string" use="optional" />
-        <xsd:attribute name="prot" type="DoxProtectionKind" />
-        <xsd:attribute name="virt" type="DoxVirtualKind" />
-      </xsd:extension>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-  <xsd:complexType name="reimplementType">
-    <xsd:simpleContent>
-      <xsd:extension base="xsd:string">
-        <xsd:attribute name="refid" type="xsd:string" />
-      </xsd:extension>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-  <xsd:complexType name="incType">
-    <xsd:simpleContent>
-      <xsd:extension base="xsd:string">
-        <xsd:attribute name="refid" type="xsd:string" />
-        <xsd:attribute name="local" type="DoxBool" />
-      </xsd:extension>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-  <xsd:complexType name="refType">
-    <xsd:simpleContent>
-      <xsd:extension base="xsd:string">
-        <xsd:attribute name="refid" type="xsd:string" />
-        <xsd:attribute name="prot" type="DoxProtectionKind" use="optional"/>
-      </xsd:extension>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-  <xsd:complexType name="refTextType">
-    <xsd:simpleContent>
-      <xsd:extension base="xsd:string">
-       <xsd:attribute name="refid" type="xsd:string" />
-       <xsd:attribute name="kindref" type="DoxRefKind" />
-       <xsd:attribute name="external" type="xsd:string" use="optional"/>
-       <xsd:attribute name="tooltip" type="xsd:string" use="optional"/>
-      </xsd:extension>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-  <xsd:complexType name="sectiondefType">
-    <xsd:sequence>
-      <xsd:element name="header" type="xsd:string" minOccurs="0" />
-      <xsd:element name="description" type="descriptionType" minOccurs="0" />
-      <xsd:element name="memberdef" type="memberdefType" maxOccurs="unbounded" />
-    </xsd:sequence>
-    <xsd:attribute name="kind" type="DoxSectionKind" />
-  </xsd:complexType>
-
-  <xsd:complexType name="memberdefType">
-    <xsd:sequence>
-      <xsd:element name="templateparamlist" type="templateparamlistType" minOccurs="0" />
-      <xsd:element name="type" type="linkedTextType" minOccurs="0" />
-      <xsd:element name="definition" minOccurs="0" />
-      <xsd:element name="argsstring" minOccurs="0" />
-      <xsd:element name="name" />
-      <xsd:element name="read" minOccurs="0" />
-      <xsd:element name="write" minOccurs="0" />
-      <xsd:element name="bitfield" minOccurs="0" />
-      <xsd:element name="reimplements" type="reimplementType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="reimplementedby" type="reimplementType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="param" type="paramType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="enumvalue" type="enumvalueType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="initializer" type="linkedTextType" minOccurs="0" />
-      <xsd:element name="exceptions" type="linkedTextType" minOccurs="0" />
-      <xsd:element name="briefdescription" type="descriptionType" minOccurs="0" />
-      <xsd:element name="detaileddescription" type="descriptionType" minOccurs="0" />
-      <xsd:element name="inbodydescription" type="descriptionType" minOccurs="0" />
-      <xsd:element name="location" type="locationType" />
-      <xsd:element name="references" type="referenceType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="referencedby" type="referenceType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-    <xsd:attribute name="kind" type="DoxMemberKind" />
-    <xsd:attribute name="id" type="xsd:string" />
-    <xsd:attribute name="prot" type="DoxProtectionKind" />
-    <xsd:attribute name="static" type="DoxBool" />
-    <xsd:attribute name="const" type="DoxBool" use="optional"/>
-    <xsd:attribute name="explicit" type="DoxBool" use="optional"/>
-    <xsd:attribute name="inline" type="DoxBool" use="optional"/>
-    <xsd:attribute name="virt" type="DoxVirtualKind" use="optional"/>
-    <xsd:attribute name="volatile" type="DoxBool" use="optional"/>
-    <xsd:attribute name="mutable" type="DoxBool" use="optional"/>
-    <!-- Qt property -->
-    <xsd:attribute name="readable" type="DoxBool" use="optional"/>
-    <xsd:attribute name="writable" type="DoxBool" use="optional"/>
-    <!-- C++/CLI variable -->
-    <xsd:attribute name="initonly" type="DoxBool" use="optional"/>
-    <!-- C++/CLI and C# property -->
-    <xsd:attribute name="settable" type="DoxBool" use="optional"/>
-    <xsd:attribute name="gettable" type="DoxBool" use="optional"/>
-    <!-- C++/CLI function -->
-    <xsd:attribute name="final" type="DoxBool" use="optional"/>
-    <xsd:attribute name="sealed" type="DoxBool" use="optional"/>
-    <xsd:attribute name="new" type="DoxBool" use="optional"/>
-    <!-- C++/CLI event -->
-    <xsd:attribute name="add" type="DoxBool" use="optional"/>
-    <xsd:attribute name="remove" type="DoxBool" use="optional"/>
-    <xsd:attribute name="raise" type="DoxBool" use="optional"/>
-    <!-- Objective-C 2.0 protocol method -->
-    <xsd:attribute name="optional" type="DoxBool" use="optional"/>
-    <xsd:attribute name="required" type="DoxBool" use="optional"/>
-    <!-- Objective-C 2.0 property accessor -->
-    <xsd:attribute name="accessor" type="DoxAccessor" use="optional"/>
-    <!-- UNO IDL -->
-    <xsd:attribute name="attribute" type="DoxBool" use="optional"/>
-    <xsd:attribute name="property" type="DoxBool" use="optional"/>
-    <xsd:attribute name="readonly" type="DoxBool" use="optional"/>
-    <xsd:attribute name="bound" type="DoxBool" use="optional"/>
-    <xsd:attribute name="removable" type="DoxBool" use="optional"/>
-    <xsd:attribute name="contrained" type="DoxBool" use="optional"/>
-    <xsd:attribute name="transient" type="DoxBool" use="optional"/>
-    <xsd:attribute name="maybevoid" type="DoxBool" use="optional"/>
-    <xsd:attribute name="maybedefault" type="DoxBool" use="optional"/>
-    <xsd:attribute name="maybeambiguous" type="DoxBool" use="optional"/>
-
-  </xsd:complexType>
-
-  <xsd:complexType name="descriptionType" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="title" type="xsd:string" minOccurs="0"/>          
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect1" type="docSect1Type" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="internal" type="docInternalType" minOccurs="0" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="enumvalueType" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="name" />
-      <xsd:element name="initializer" type="linkedTextType" minOccurs="0" />
-      <xsd:element name="briefdescription" type="descriptionType" minOccurs="0" />
-      <xsd:element name="detaileddescription" type="descriptionType" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:string" />
-    <xsd:attribute name="prot" type="DoxProtectionKind" />
-  </xsd:complexType>
-
-  <xsd:complexType name="templateparamlistType">
-    <xsd:sequence>
-      <xsd:element name="param" type="paramType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="paramType">
-    <xsd:sequence>
-      <xsd:element name="type" type="linkedTextType" minOccurs="0" />
-      <xsd:element name="declname" minOccurs="0" />
-      <xsd:element name="defname" minOccurs="0" />
-      <xsd:element name="array" minOccurs="0" />
-      <xsd:element name="defval" type="linkedTextType" minOccurs="0" />
-      <xsd:element name="briefdescription" type="descriptionType" minOccurs="0" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="linkedTextType" mixed="true">
-    <xsd:sequence>
-    <xsd:element name="ref" type="refTextType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="graphType">
-    <xsd:sequence>
-      <xsd:element name="node" type="nodeType" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="nodeType">
-    <xsd:sequence>
-      <xsd:element name="label" />
-      <xsd:element name="link" type="linkType" minOccurs="0" />
-      <xsd:element name="childnode" type="childnodeType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="childnodeType">
-    <xsd:sequence>
-      <xsd:element name="edgelabel" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="refid" type="xsd:string" />
-    <xsd:attribute name="relation" type="DoxGraphRelation" />
-  </xsd:complexType>
-
-  <xsd:complexType name="linkType">
-    <xsd:attribute name="refid" type="xsd:string" />
-    <xsd:attribute name="external" type="xsd:string" use="optional"/>
-  </xsd:complexType>
-
-  <xsd:complexType name="listingType">
-    <xsd:sequence>
-      <xsd:element name="codeline" type="codelineType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="codelineType">
-    <xsd:sequence>
-      <xsd:element name="highlight" type="highlightType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-    <xsd:attribute name="lineno" type="xsd:integer" />
-    <xsd:attribute name="refid" type="xsd:string" />
-    <xsd:attribute name="refkind" type="DoxRefKind" />
-    <xsd:attribute name="external" type="DoxBool" />
-  </xsd:complexType>
-
-  <xsd:complexType name="highlightType" mixed="true">
-    <xsd:choice minOccurs="0" maxOccurs="unbounded">
-      <xsd:element name="sp" />
-      <xsd:element name="ref" type="refTextType" />
-    </xsd:choice>
-    <xsd:attribute name="class" type="DoxHighlightClass" />
-  </xsd:complexType>
-
-  <xsd:complexType name="referenceType" mixed="true">
-    <xsd:attribute name="refid" type="xsd:string" />
-    <xsd:attribute name="compoundref" type="xsd:string" use="optional" />
-    <xsd:attribute name="startline" type="xsd:integer" />
-    <xsd:attribute name="endline" type="xsd:integer" />
-  </xsd:complexType>
-
-  <xsd:complexType name="locationType">
-    <xsd:attribute name="file" type="xsd:string" />
-    <xsd:attribute name="line" type="xsd:integer" />
-    <xsd:attribute name="column" type="xsd:integer" use="optional"/>
-    <xsd:attribute name="bodyfile" type="xsd:string" />
-    <xsd:attribute name="bodystart" type="xsd:integer" />
-    <xsd:attribute name="bodyend" type="xsd:integer" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docSect1Type" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="title" type="xsd:string" />       
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect2" type="docSect2Type" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="internal" type="docInternalS1Type" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docSect2Type" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="title" type="xsd:string" />       
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect3" type="docSect3Type" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="internal" type="docInternalS2Type" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docSect3Type" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="title" type="xsd:string" />       
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect4" type="docSect4Type" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="internal" type="docInternalS3Type" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docSect4Type" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="title" type="xsd:string" />       
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="internal" type="docInternalS4Type" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docInternalType" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="para"  type="docParaType"  minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect1" type="docSect1Type" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docInternalS1Type" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="para"  type="docParaType"  minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect2" type="docSect2Type" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docInternalS2Type" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="para"  type="docParaType"  minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect3" type="docSect3Type" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docInternalS3Type" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="para"  type="docParaType"  minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect3" type="docSect4Type" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docInternalS4Type" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="para"  type="docParaType"  minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:group name="docTitleCmdGroup">
-    <xsd:choice>
-      <xsd:element name="ulink" type="docURLLink" />
-      <xsd:element name="bold" type="docMarkupType" />
-      <xsd:element name="emphasis" type="docMarkupType" />
-      <xsd:element name="computeroutput" type="docMarkupType" />
-      <xsd:element name="subscript" type="docMarkupType" />
-      <xsd:element name="superscript" type="docMarkupType" />
-      <xsd:element name="center" type="docMarkupType" />
-      <xsd:element name="small" type="docMarkupType" />
-      <xsd:element name="htmlonly" type="xsd:string" />
-      <xsd:element name="manonly" type="xsd:string" />
-      <xsd:element name="xmlonly" type="xsd:string" />
-      <xsd:element name="rtfonly" type="xsd:string" />
-      <xsd:element name="latexonly" type="xsd:string" />
-      <xsd:element name="dot" type="xsd:string" />
-      <xsd:element name="plantuml" type="xsd:string" />
-      <xsd:element name="anchor" type="docAnchorType" />
-      <xsd:element name="formula" type="docFormulaType" />
-      <xsd:element name="ref" type="docRefTextType" />
-      <xsd:element name="nonbreakablespace" type="docEmptyType" />
-      <xsd:element name="iexcl" type="docEmptyType" />
-      <xsd:element name="cent" type="docEmptyType" />
-      <xsd:element name="pound" type="docEmptyType" />
-      <xsd:element name="curren" type="docEmptyType" />
-      <xsd:element name="yen" type="docEmptyType" />
-      <xsd:element name="brvbar" type="docEmptyType" />
-      <xsd:element name="sect" type="docEmptyType" />
-      <xsd:element name="umlaut" type="docEmptyType" />
-      <xsd:element name="copy" type="docEmptyType" />
-      <xsd:element name="ordf" type="docEmptyType" />
-      <xsd:element name="laquo" type="docEmptyType" />
-      <xsd:element name="not" type="docEmptyType" />
-      <xsd:element name="shy" type="docEmptyType" />
-      <xsd:element name="registered" type="docEmptyType" />
-      <xsd:element name="macr" type="docEmptyType" />
-      <xsd:element name="deg" type="docEmptyType" />
-      <xsd:element name="plusmn" type="docEmptyType" />
-      <xsd:element name="sup2" type="docEmptyType" />
-      <xsd:element name="sup3" type="docEmptyType" />
-      <xsd:element name="acute" type="docEmptyType" />
-      <xsd:element name="micro" type="docEmptyType" />
-      <xsd:element name="para" type="docEmptyType" />
-      <xsd:element name="middot" type="docEmptyType" />
-      <xsd:element name="cedil" type="docEmptyType" />
-      <xsd:element name="sup1" type="docEmptyType" />
-      <xsd:element name="ordm" type="docEmptyType" />
-      <xsd:element name="raquo" type="docEmptyType" />
-      <xsd:element name="frac14" type="docEmptyType" />
-      <xsd:element name="frac12" type="docEmptyType" />
-      <xsd:element name="frac34" type="docEmptyType" />
-      <xsd:element name="iquest" type="docEmptyType" />
-      <xsd:element name="Agrave" type="docEmptyType" />
-      <xsd:element name="Aacute" type="docEmptyType" />
-      <xsd:element name="Acirc" type="docEmptyType" />
-      <xsd:element name="Atilde" type="docEmptyType" />
-      <xsd:element name="Aumlaut" type="docEmptyType" />
-      <xsd:element name="Aring" type="docEmptyType" />
-      <xsd:element name="AElig" type="docEmptyType" />
-      <xsd:element name="Ccedil" type="docEmptyType" />
-      <xsd:element name="Egrave" type="docEmptyType" />
-      <xsd:element name="Eacute" type="docEmptyType" />
-      <xsd:element name="Ecirc" type="docEmptyType" />
-      <xsd:element name="Eumlaut" type="docEmptyType" />
-      <xsd:element name="Igrave" type="docEmptyType" />
-      <xsd:element name="Iacute" type="docEmptyType" />
-      <xsd:element name="Icirc" type="docEmptyType" />
-      <xsd:element name="Iumlaut" type="docEmptyType" />
-      <xsd:element name="ETH" type="docEmptyType" />
-      <xsd:element name="Ntilde" type="docEmptyType" />
-      <xsd:element name="Ograve" type="docEmptyType" />
-      <xsd:element name="Oacute" type="docEmptyType" />
-      <xsd:element name="Ocirc" type="docEmptyType" />
-      <xsd:element name="Otilde" type="docEmptyType" />
-      <xsd:element name="Oumlaut" type="docEmptyType" />
-      <xsd:element name="times" type="docEmptyType" />
-      <xsd:element name="Oslash" type="docEmptyType" />
-      <xsd:element name="Ugrave" type="docEmptyType" />
-      <xsd:element name="Uacute" type="docEmptyType" />
-      <xsd:element name="Ucirc" type="docEmptyType" />
-      <xsd:element name="Uumlaut" type="docEmptyType" />
-      <xsd:element name="Yacute" type="docEmptyType" />
-      <xsd:element name="THORN" type="docEmptyType" />
-      <xsd:element name="szlig" type="docEmptyType" />
-      <xsd:element name="agrave" type="docEmptyType" />
-      <xsd:element name="aacute" type="docEmptyType" />
-      <xsd:element name="acirc" type="docEmptyType" />
-      <xsd:element name="atilde" type="docEmptyType" />
-      <xsd:element name="aumlaut" type="docEmptyType" />
-      <xsd:element name="aring" type="docEmptyType" />
-      <xsd:element name="aelig" type="docEmptyType" />
-      <xsd:element name="ccedil" type="docEmptyType" />
-      <xsd:element name="egrave" type="docEmptyType" />
-      <xsd:element name="eacute" type="docEmptyType" />
-      <xsd:element name="ecirc" type="docEmptyType" />
-      <xsd:element name="eumlaut" type="docEmptyType" />
-      <xsd:element name="igrave" type="docEmptyType" />
-      <xsd:element name="iacute" type="docEmptyType" />
-      <xsd:element name="icirc" type="docEmptyType" />
-      <xsd:element name="iumlaut" type="docEmptyType" />
-      <xsd:element name="eth" type="docEmptyType" />
-      <xsd:element name="ntilde" type="docEmptyType" />
-      <xsd:element name="ograve" type="docEmptyType" />
-      <xsd:element name="oacute" type="docEmptyType" />
-      <xsd:element name="ocirc" type="docEmptyType" />
-      <xsd:element name="otilde" type="docEmptyType" />
-      <xsd:element name="oumlaut" type="docEmptyType" />
-      <xsd:element name="divide" type="docEmptyType" />
-      <xsd:element name="oslash" type="docEmptyType" />
-      <xsd:element name="ugrave" type="docEmptyType" />
-      <xsd:element name="uacute" type="docEmptyType" />
-      <xsd:element name="ucirc" type="docEmptyType" />
-      <xsd:element name="uumlaut" type="docEmptyType" />
-      <xsd:element name="yacute" type="docEmptyType" />
-      <xsd:element name="thorn" type="docEmptyType" />
-      <xsd:element name="yumlaut" type="docEmptyType" />
-      <xsd:element name="fnof" type="docEmptyType" />
-      <xsd:element name="Alpha" type="docEmptyType" />
-      <xsd:element name="Beta" type="docEmptyType" />
-      <xsd:element name="Gamma" type="docEmptyType" />
-      <xsd:element name="Delta" type="docEmptyType" />
-      <xsd:element name="Epsilon" type="docEmptyType" />
-      <xsd:element name="Zeta" type="docEmptyType" />
-      <xsd:element name="Eta" type="docEmptyType" />
-      <xsd:element name="Theta" type="docEmptyType" />
-      <xsd:element name="Iota" type="docEmptyType" />
-      <xsd:element name="Kappa" type="docEmptyType" />
-      <xsd:element name="Lambda" type="docEmptyType" />
-      <xsd:element name="Mu" type="docEmptyType" />
-      <xsd:element name="Nu" type="docEmptyType" />
-      <xsd:element name="Xi" type="docEmptyType" />
-      <xsd:element name="Omicron" type="docEmptyType" />
-      <xsd:element name="Pi" type="docEmptyType" />
-      <xsd:element name="Rho" type="docEmptyType" />
-      <xsd:element name="Sigma" type="docEmptyType" />
-      <xsd:element name="Tau" type="docEmptyType" />
-      <xsd:element name="Upsilon" type="docEmptyType" />
-      <xsd:element name="Phi" type="docEmptyType" />
-      <xsd:element name="Chi" type="docEmptyType" />
-      <xsd:element name="Psi" type="docEmptyType" />
-      <xsd:element name="Omega" type="docEmptyType" />
-      <xsd:element name="alpha" type="docEmptyType" />
-      <xsd:element name="beta" type="docEmptyType" />
-      <xsd:element name="gamma" type="docEmptyType" />
-      <xsd:element name="delta" type="docEmptyType" />
-      <xsd:element name="epsilon" type="docEmptyType" />
-      <xsd:element name="zeta" type="docEmptyType" />
-      <xsd:element name="eta" type="docEmptyType" />
-      <xsd:element name="theta" type="docEmptyType" />
-      <xsd:element name="iota" type="docEmptyType" />
-      <xsd:element name="kappa" type="docEmptyType" />
-      <xsd:element name="lambda" type="docEmptyType" />
-      <xsd:element name="mu" type="docEmptyType" />
-      <xsd:element name="nu" type="docEmptyType" />
-      <xsd:element name="xi" type="docEmptyType" />
-      <xsd:element name="omicron" type="docEmptyType" />
-      <xsd:element name="pi" type="docEmptyType" />
-      <xsd:element name="rho" type="docEmptyType" />
-      <xsd:element name="sigmaf" type="docEmptyType" />
-      <xsd:element name="sigma" type="docEmptyType" />
-      <xsd:element name="tau" type="docEmptyType" />
-      <xsd:element name="upsilon" type="docEmptyType" />
-      <xsd:element name="phi" type="docEmptyType" />
-      <xsd:element name="chi" type="docEmptyType" />
-      <xsd:element name="psi" type="docEmptyType" />
-      <xsd:element name="omega" type="docEmptyType" />
-      <xsd:element name="thetasym" type="docEmptyType" />
-      <xsd:element name="upsih" type="docEmptyType" />
-      <xsd:element name="piv" type="docEmptyType" />
-      <xsd:element name="bull" type="docEmptyType" />
-      <xsd:element name="hellip" type="docEmptyType" />
-      <xsd:element name="prime" type="docEmptyType" />
-      <xsd:element name="Prime" type="docEmptyType" />
-      <xsd:element name="oline" type="docEmptyType" />
-      <xsd:element name="frasl" type="docEmptyType" />
-      <xsd:element name="weierp" type="docEmptyType" />
-      <xsd:element name="image" type="docEmptyType" />
-      <xsd:element name="real" type="docEmptyType" />
-      <xsd:element name="trademark" type="docEmptyType" />
-      <xsd:element name="alefsym" type="docEmptyType" />
-      <xsd:element name="larr" type="docEmptyType" />
-      <xsd:element name="uarr" type="docEmptyType" />
-      <xsd:element name="rarr" type="docEmptyType" />
-      <xsd:element name="darr" type="docEmptyType" />
-      <xsd:element name="harr" type="docEmptyType" />
-      <xsd:element name="crarr" type="docEmptyType" />
-      <xsd:element name="lArr" type="docEmptyType" />
-      <xsd:element name="uArr" type="docEmptyType" />
-      <xsd:element name="rArr" type="docEmptyType" />
-      <xsd:element name="dArr" type="docEmptyType" />
-      <xsd:element name="hArr" type="docEmptyType" />
-      <xsd:element name="forall" type="docEmptyType" />
-      <xsd:element name="part" type="docEmptyType" />
-      <xsd:element name="exist" type="docEmptyType" />
-      <xsd:element name="empty" type="docEmptyType" />
-      <xsd:element name="nabla" type="docEmptyType" />
-      <xsd:element name="isin" type="docEmptyType" />
-      <xsd:element name="notin" type="docEmptyType" />
-      <xsd:element name="ni" type="docEmptyType" />
-      <xsd:element name="prod" type="docEmptyType" />
-      <xsd:element name="sum" type="docEmptyType" />
-      <xsd:element name="minus" type="docEmptyType" />
-      <xsd:element name="lowast" type="docEmptyType" />
-      <xsd:element name="radic" type="docEmptyType" />
-      <xsd:element name="prop" type="docEmptyType" />
-      <xsd:element name="infin" type="docEmptyType" />
-      <xsd:element name="ang" type="docEmptyType" />
-      <xsd:element name="and" type="docEmptyType" />
-      <xsd:element name="or" type="docEmptyType" />
-      <xsd:element name="cap" type="docEmptyType" />
-      <xsd:element name="cup" type="docEmptyType" />
-      <xsd:element name="int" type="docEmptyType" />
-      <xsd:element name="there4" type="docEmptyType" />
-      <xsd:element name="sim" type="docEmptyType" />
-      <xsd:element name="cong" type="docEmptyType" />
-      <xsd:element name="asymp" type="docEmptyType" />
-      <xsd:element name="ne" type="docEmptyType" />
-      <xsd:element name="equiv" type="docEmptyType" />
-      <xsd:element name="le" type="docEmptyType" />
-      <xsd:element name="ge" type="docEmptyType" />
-      <xsd:element name="sub" type="docEmptyType" />
-      <xsd:element name="sup" type="docEmptyType" />
-      <xsd:element name="nsub" type="docEmptyType" />
-      <xsd:element name="sube" type="docEmptyType" />
-      <xsd:element name="supe" type="docEmptyType" />
-      <xsd:element name="oplus" type="docEmptyType" />
-      <xsd:element name="otimes" type="docEmptyType" />
-      <xsd:element name="perp" type="docEmptyType" />
-      <xsd:element name="sdot" type="docEmptyType" />
-      <xsd:element name="lceil" type="docEmptyType" />
-      <xsd:element name="rceil" type="docEmptyType" />
-      <xsd:element name="lfloor" type="docEmptyType" />
-      <xsd:element name="rfloor" type="docEmptyType" />
-      <xsd:element name="lang" type="docEmptyType" />
-      <xsd:element name="rang" type="docEmptyType" />
-      <xsd:element name="loz" type="docEmptyType" />
-      <xsd:element name="spades" type="docEmptyType" />
-      <xsd:element name="clubs" type="docEmptyType" />
-      <xsd:element name="hearts" type="docEmptyType" />
-      <xsd:element name="diams" type="docEmptyType" />
-      <xsd:element name="OElig" type="docEmptyType" />
-      <xsd:element name="oelig" type="docEmptyType" />
-      <xsd:element name="Scaron" type="docEmptyType" />
-      <xsd:element name="scaron" type="docEmptyType" />
-      <xsd:element name="Yumlaut" type="docEmptyType" />
-      <xsd:element name="circ" type="docEmptyType" />
-      <xsd:element name="tilde" type="docEmptyType" />
-      <xsd:element name="ensp" type="docEmptyType" />
-      <xsd:element name="emsp" type="docEmptyType" />
-      <xsd:element name="thinsp" type="docEmptyType" />
-      <xsd:element name="zwnj" type="docEmptyType" />
-      <xsd:element name="zwj" type="docEmptyType" />
-      <xsd:element name="lrm" type="docEmptyType" />
-      <xsd:element name="rlm" type="docEmptyType" />
-      <xsd:element name="ndash" type="docEmptyType" />
-      <xsd:element name="mdash" type="docEmptyType" />
-      <xsd:element name="lsquo" type="docEmptyType" />
-      <xsd:element name="rsquo" type="docEmptyType" />
-      <xsd:element name="sbquo" type="docEmptyType" />
-      <xsd:element name="ldquo" type="docEmptyType" />
-      <xsd:element name="rdquo" type="docEmptyType" />
-      <xsd:element name="bdquo" type="docEmptyType" />
-      <xsd:element name="dagger" type="docEmptyType" />
-      <xsd:element name="Dagger" type="docEmptyType" />
-      <xsd:element name="permil" type="docEmptyType" />
-      <xsd:element name="lsaquo" type="docEmptyType" />
-      <xsd:element name="rsaquo" type="docEmptyType" />
-      <xsd:element name="euro" type="docEmptyType" />
-      <xsd:element name="trademark" type="docEmptyType" />
-    </xsd:choice>
-  </xsd:group>
-
-  <xsd:complexType name="docTitleType" mixed="true">
-    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-  </xsd:complexType>
-
-  <xsd:group name="docCmdGroup">
-    <xsd:choice>
-      <xsd:group ref="docTitleCmdGroup"/>
-      <xsd:element name="linebreak" type="docEmptyType" />
-      <xsd:element name="hruler" type="docEmptyType" />
-      <xsd:element name="preformatted" type="docMarkupType" />
-      <xsd:element name="programlisting" type="listingType" />
-      <xsd:element name="verbatim" type="xsd:string" />
-      <xsd:element name="indexentry" type="docIndexEntryType" />
-      <xsd:element name="orderedlist" type="docListType" />
-      <xsd:element name="itemizedlist" type="docListType" />
-      <xsd:element name="simplesect" type="docSimpleSectType" />
-      <xsd:element name="title" type="docTitleType" />
-      <xsd:element name="variablelist" type="docVariableListType" />
-      <xsd:element name="table" type="docTableType" />
-      <xsd:element name="heading" type="docHeadingType" />
-      <xsd:element name="image" type="docImageType" />
-      <xsd:element name="dotfile" type="docFileType" />
-      <xsd:element name="mscfile" type="docFileType" />
-      <xsd:element name="diafile" type="docFileType" />
-      <xsd:element name="toclist" type="docTocListType" />
-      <xsd:element name="language" type="docLanguageType" />
-      <xsd:element name="parameterlist" type="docParamListType" />
-      <xsd:element name="xrefsect" type="docXRefSectType" />
-      <xsd:element name="copydoc" type="docCopyType" />
-      <xsd:element name="blockquote" type="docBlockQuoteType" />
-      <xsd:element name="parblock" type="docParBlockType" />
-    </xsd:choice>
-  </xsd:group>
-
-  <xsd:complexType name="docParaType" mixed="true">
-    <xsd:group ref="docCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docMarkupType" mixed="true">
-    <xsd:group ref="docCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docURLLink" mixed="true">
-    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-    <xsd:attribute name="url" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docAnchorType" mixed="true">
-    <xsd:attribute name="id" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docFormulaType" mixed="true">
-    <xsd:attribute name="id" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docIndexEntryType">
-    <xsd:sequence>
-      <xsd:element name="primaryie" type="xsd:string" />
-      <xsd:element name="secondaryie" type="xsd:string" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docListType">
-    <xsd:sequence>
-      <xsd:element name="listitem" type="docListItemType" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docListItemType">
-    <xsd:sequence>
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docSimpleSectType">
-    <xsd:sequence>
-      <xsd:element name="title" type="docTitleType" minOccurs="0" />
-      <xsd:sequence minOccurs="0" maxOccurs="unbounded">
-        <xsd:element name="para" type="docParaType" minOccurs="1" maxOccurs="unbounded" />
-      </xsd:sequence>
-    </xsd:sequence>
-    <xsd:attribute name="kind" type="DoxSimpleSectKind" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docVarListEntryType">
-    <xsd:sequence>
-      <xsd:element name="term" type="docTitleType" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:group name="docVariableListGroup">
-    <xsd:sequence>
-      <xsd:element name="varlistentry" type="docVarListEntryType" />
-      <xsd:element name="listitem" type="docListItemType" />
-    </xsd:sequence>
-  </xsd:group>
-
-  <xsd:complexType name="docVariableListType">
-    <xsd:sequence>
-      <xsd:group ref="docVariableListGroup" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docRefTextType" mixed="true">
-    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-    <xsd:attribute name="refid" type="xsd:string" />
-    <xsd:attribute name="kindref" type="DoxRefKind" />
-    <xsd:attribute name="external" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docTableType">
-    <xsd:sequence>
-      <xsd:element name="row" type="docRowType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="caption" type="docCaptionType" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="rows" type="xsd:integer" />
-    <xsd:attribute name="cols" type="xsd:integer" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docRowType">
-    <xsd:sequence>
-      <xsd:element name="entry" type="docEntryType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docEntryType">
-    <xsd:sequence>
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-    <xsd:attribute name="thead" type="DoxBool" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docCaptionType" mixed="true">
-    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docHeadingType" mixed="true">
-    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-    <xsd:attribute name="level" type="xsd:integer" /> <!-- todo: range 1-6 -->
-  </xsd:complexType>
-
-  <xsd:complexType name="docImageType" mixed="true">
-    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-    <xsd:attribute name="type" type="DoxImageKind" /> 
-    <xsd:attribute name="name" type="xsd:string" /> 
-    <xsd:attribute name="width" type="xsd:string" /> 
-    <xsd:attribute name="height" type="xsd:string" /> 
-  </xsd:complexType>
-
-  <xsd:complexType name="docFileType" mixed="true">
-    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-    <xsd:attribute name="name" type="xsd:string" /> 
-  </xsd:complexType>
-
-  <xsd:complexType name="docTocItemType" mixed="true">
-    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-    <xsd:attribute name="id" type="xsd:string" /> 
-  </xsd:complexType>
-
-  <xsd:complexType name="docTocListType">
-    <xsd:sequence>
-      <xsd:element name="tocitem" type="docTocItemType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docLanguageType">
-    <xsd:sequence>
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-    <xsd:attribute name="langid" type="xsd:string" /> 
-  </xsd:complexType>
-
-  <xsd:complexType name="docParamListType">
-    <xsd:sequence>
-      <xsd:element name="parameteritem" type="docParamListItem" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-    <xsd:attribute name="kind" type="DoxParamListKind" /> 
-  </xsd:complexType>
-
-  <xsd:complexType name="docParamListItem">
-    <xsd:sequence>
-      <xsd:element name="parameternamelist" type="docParamNameList" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="parameterdescription" type="descriptionType" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docParamNameList">
-    <xsd:sequence>
-      <xsd:element name="parametertype" type="docParamType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="parametername" type="docParamName" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docParamType" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="ref" type="refTextType" minOccurs="0" maxOccurs="1" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docParamName" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="ref" type="refTextType" minOccurs="0" maxOccurs="1" />
-    </xsd:sequence>
-    <xsd:attribute name="direction" type="DoxParamDir" use="optional" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docXRefSectType">
-    <xsd:sequence>
-      <xsd:element name="xreftitle" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="xrefdescription" type="descriptionType" />
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:string" /> 
-  </xsd:complexType>
-
-  <xsd:complexType name="docCopyType">
-    <xsd:sequence>
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect1" type="docSect1Type" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="internal" type="docInternalType" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="link" type="xsd:string" /> 
-  </xsd:complexType>
-
-  <xsd:complexType name="docBlockQuoteType">
-    <xsd:sequence>
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docParBlockType">
-    <xsd:sequence>
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docEmptyType"/>
-
-  <!-- Simple types -->
-
-  <xsd:simpleType name="DoxBool">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="yes" />
-      <xsd:enumeration value="no" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxGraphRelation">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="include" />
-      <xsd:enumeration value="usage" />
-      <xsd:enumeration value="template-instance" />
-      <xsd:enumeration value="public-inheritance" />
-      <xsd:enumeration value="protected-inheritance" />
-      <xsd:enumeration value="private-inheritance" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxRefKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="compound" />
-      <xsd:enumeration value="member" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxMemberKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="define" />
-      <xsd:enumeration value="property" />
-      <xsd:enumeration value="event" />
-      <xsd:enumeration value="variable" />
-      <xsd:enumeration value="typedef" />
-      <xsd:enumeration value="enum" />
-      <xsd:enumeration value="function" />
-      <xsd:enumeration value="signal" />
-      <xsd:enumeration value="prototype" />
-      <xsd:enumeration value="friend" />
-      <xsd:enumeration value="dcop" />
-      <xsd:enumeration value="slot" />
-      <xsd:enumeration value="interface" />
-      <xsd:enumeration value="service" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxProtectionKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="public" />
-      <xsd:enumeration value="protected" />
-      <xsd:enumeration value="private" />
-      <xsd:enumeration value="package" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxVirtualKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="non-virtual" />
-      <xsd:enumeration value="virtual" />
-      <xsd:enumeration value="pure-virtual" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxCompoundKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="class" />
-      <xsd:enumeration value="struct" />
-      <xsd:enumeration value="union" />
-      <xsd:enumeration value="interface" />
-      <xsd:enumeration value="protocol" />
-      <xsd:enumeration value="category" />
-      <xsd:enumeration value="exception" />
-      <xsd:enumeration value="service" />
-      <xsd:enumeration value="singleton" />
-      <xsd:enumeration value="module" />
-      <xsd:enumeration value="type" />
-      <xsd:enumeration value="file" />
-      <xsd:enumeration value="namespace" />
-      <xsd:enumeration value="group" />
-      <xsd:enumeration value="page" />
-      <xsd:enumeration value="example" />
-      <xsd:enumeration value="dir" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxSectionKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="user-defined" />
-      <xsd:enumeration value="public-type" />
-      <xsd:enumeration value="public-func" />
-      <xsd:enumeration value="public-attrib" />
-      <xsd:enumeration value="public-slot" />
-      <xsd:enumeration value="signal" />
-      <xsd:enumeration value="dcop-func" />
-      <xsd:enumeration value="property" />
-      <xsd:enumeration value="event" />
-      <xsd:enumeration value="public-static-func" />
-      <xsd:enumeration value="public-static-attrib" />
-      <xsd:enumeration value="protected-type" />
-      <xsd:enumeration value="protected-func" />
-      <xsd:enumeration value="protected-attrib" />
-      <xsd:enumeration value="protected-slot" />
-      <xsd:enumeration value="protected-static-func" />
-      <xsd:enumeration value="protected-static-attrib" />
-      <xsd:enumeration value="package-type" />
-      <xsd:enumeration value="package-func" />
-      <xsd:enumeration value="package-attrib" />
-      <xsd:enumeration value="package-static-func" />
-      <xsd:enumeration value="package-static-attrib" />
-      <xsd:enumeration value="private-type" />
-      <xsd:enumeration value="private-func" />
-      <xsd:enumeration value="private-attrib" />
-      <xsd:enumeration value="private-slot" />
-      <xsd:enumeration value="private-static-func" />
-      <xsd:enumeration value="private-static-attrib" />
-      <xsd:enumeration value="friend" />
-      <xsd:enumeration value="related" />
-      <xsd:enumeration value="define" />
-      <xsd:enumeration value="prototype" />
-      <xsd:enumeration value="typedef" />
-      <xsd:enumeration value="enum" />
-      <xsd:enumeration value="func" />
-      <xsd:enumeration value="var" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxHighlightClass">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="comment" />
-      <xsd:enumeration value="normal" />
-      <xsd:enumeration value="preprocessor" />
-      <xsd:enumeration value="keyword" />
-      <xsd:enumeration value="keywordtype" />
-      <xsd:enumeration value="keywordflow" />
-      <xsd:enumeration value="stringliteral" />
-      <xsd:enumeration value="charliteral" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxSimpleSectKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="see" />
-      <xsd:enumeration value="return" />
-      <xsd:enumeration value="author" />
-      <xsd:enumeration value="authors" />
-      <xsd:enumeration value="version" />
-      <xsd:enumeration value="since" />
-      <xsd:enumeration value="date" />
-      <xsd:enumeration value="note" />
-      <xsd:enumeration value="warning" />
-      <xsd:enumeration value="pre" />
-      <xsd:enumeration value="post" />
-      <xsd:enumeration value="copyright" />
-      <xsd:enumeration value="invariant" />
-      <xsd:enumeration value="remark" />
-      <xsd:enumeration value="attention" />
-      <xsd:enumeration value="par" />
-      <xsd:enumeration value="rcs" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxVersionNumber">
-    <xsd:restriction base="xsd:string">
-      <xsd:pattern value="\d+\.\d+.*" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxImageKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="html" />
-      <xsd:enumeration value="latex" />
-      <xsd:enumeration value="rtf" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxParamListKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="param" />
-      <xsd:enumeration value="retval" />
-      <xsd:enumeration value="exception" />
-      <xsd:enumeration value="templateparam" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxCharRange">
-    <xsd:restriction base="xsd:string">
-      <xsd:pattern value="[aeiouncAEIOUNC]" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxParamDir">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="in"/>
-      <xsd:enumeration value="out"/>
-      <xsd:enumeration value="inout"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxAccessor">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="retain"/>
-      <xsd:enumeration value="copy"/>
-      <xsd:enumeration value="assign"/>
-      <xsd:enumeration value="weak"/>
-      <xsd:enumeration value="strong"/>
-      <xsd:enumeration value="unretained"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-</xsd:schema>
-
diff --git a/contrib/neo_doxygen/tests/inner-class/xml/dir_68267d1309a1af8e8297ef4c3efbcdba.xml b/contrib/neo_doxygen/tests/inner-class/xml/dir_68267d1309a1af8e8297ef4c3efbcdba.xml
deleted file mode 100644 (file)
index dfa6949..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version='1.0' encoding='UTF-8' standalone='no'?>
-<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.8">
-  <compounddef id="dir_68267d1309a1af8e8297ef4c3efbcdba" kind="dir">
-    <compoundname>src</compoundname>
-    <innerfile refid="_outer_class_8java">OuterClass.java</innerfile>
-    <briefdescription>
-    </briefdescription>
-    <detaileddescription>
-    </detaileddescription>
-    <location file="%SOURCE_DIRECTORY%/"/>
-  </compounddef>
-</doxygen>
diff --git a/contrib/neo_doxygen/tests/inner-class/xml/index.xml b/contrib/neo_doxygen/tests/inner-class/xml/index.xml
deleted file mode 100644 (file)
index e43d6e0..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version='1.0' encoding='UTF-8' standalone='no'?>
-<doxygenindex xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="index.xsd" version="1.8.8">
-  <compound refid="class_outer_class_1_1_inner_class" kind="class"><name>OuterClass::InnerClass</name>
-  </compound>
-  <compound refid="class_outer_class" kind="class"><name>OuterClass</name>
-  </compound>
-  <compound refid="_outer_class_8java" kind="file"><name>OuterClass.java</name>
-  </compound>
-  <compound refid="dir_68267d1309a1af8e8297ef4c3efbcdba" kind="dir"><name>src</name>
-  </compound>
-</doxygenindex>
diff --git a/contrib/neo_doxygen/tests/inner-class/xml/index.xsd b/contrib/neo_doxygen/tests/inner-class/xml/index.xsd
deleted file mode 100644 (file)
index d7ab2a9..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-<?xml version='1.0' encoding='utf-8' ?>
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-  <xsd:element name="doxygenindex" type="DoxygenType"/>
-
-  <xsd:complexType name="DoxygenType">
-    <xsd:sequence>
-      <xsd:element name="compound" type="CompoundType" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="version" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <xsd:complexType name="CompoundType">
-    <xsd:sequence>
-      <xsd:element name="name" type="xsd:string"/>
-      <xsd:element name="member" type="MemberType" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="refid" type="xsd:string" use="required"/>
-    <xsd:attribute name="kind" type="CompoundKind" use="required"/>
-  </xsd:complexType>
-
-  <xsd:complexType name="MemberType">
-    <xsd:sequence>
-      <xsd:element name="name" type="xsd:string"/>
-    </xsd:sequence>
-    <xsd:attribute name="refid" type="xsd:string" use="required"/>
-    <xsd:attribute name="kind" type="MemberKind" use="required"/>
-  </xsd:complexType>
-  
-  <xsd:simpleType name="CompoundKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="class"/>
-      <xsd:enumeration value="struct"/>
-      <xsd:enumeration value="union"/>
-      <xsd:enumeration value="interface"/>
-      <xsd:enumeration value="protocol"/>
-      <xsd:enumeration value="category"/>
-      <xsd:enumeration value="exception"/>
-      <xsd:enumeration value="file"/>
-      <xsd:enumeration value="namespace"/>
-      <xsd:enumeration value="group"/>
-      <xsd:enumeration value="page"/>
-      <xsd:enumeration value="example"/>
-      <xsd:enumeration value="dir"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="MemberKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="define"/>
-      <xsd:enumeration value="property"/>
-      <xsd:enumeration value="event"/>
-      <xsd:enumeration value="variable"/>
-      <xsd:enumeration value="typedef"/>
-      <xsd:enumeration value="enum"/>
-      <xsd:enumeration value="enumvalue"/>
-      <xsd:enumeration value="function"/>
-      <xsd:enumeration value="signal"/>
-      <xsd:enumeration value="prototype"/>
-      <xsd:enumeration value="friend"/>
-      <xsd:enumeration value="dcop"/>
-      <xsd:enumeration value="slot"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-</xsd:schema>
-
diff --git a/contrib/neo_doxygen/tests/java-project/Doxyfile b/contrib/neo_doxygen/tests/java-project/Doxyfile
deleted file mode 100644 (file)
index 46601c2..0000000
+++ /dev/null
@@ -1,2381 +0,0 @@
-# Doxyfile 1.8.8
-
-# This file describes the settings to be used by the documentation system
-# doxygen (www.doxygen.org) for a project.
-#
-# All text after a double hash (##) is considered a comment and is placed in
-# front of the TAG it is preceding.
-#
-# All text after a single hash (#) is considered a comment and will be ignored.
-# The format is:
-# TAG = value [value, ...]
-# For lists, items can also be appended using:
-# TAG += value [value, ...]
-# Values that contain spaces should be placed between quotes (\" \").
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-
-# This tag specifies the encoding used for all characters in the config file
-# that follow. The default is UTF-8 which is also the encoding used for all text
-# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv
-# built into libc) for the transcoding. See http://www.gnu.org/software/libiconv
-# for the list of possible encodings.
-# The default value is: UTF-8.
-
-DOXYFILE_ENCODING      = UTF-8
-
-# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by
-# double-quotes, unless you are using Doxywizard) that should identify the
-# project for which the documentation is generated. This name is used in the
-# title of most generated pages and in a few other places.
-# The default value is: My Project.
-
-PROJECT_NAME           = "Test Project"
-
-# The PROJECT_NUMBER tag can be used to enter a project or revision number. This
-# could be handy for archiving the generated documentation or if some version
-# control system is used.
-
-PROJECT_NUMBER         =
-
-# Using the PROJECT_BRIEF tag one can provide an optional one line description
-# for a project that appears at the top of each page and should give viewer a
-# quick idea about the purpose of the project. Keep the description short.
-
-PROJECT_BRIEF          =
-
-# With the PROJECT_LOGO tag one can specify a logo or an icon that is included
-# in the documentation. The maximum height of the logo should not exceed 55
-# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy
-# the logo to the output directory.
-
-PROJECT_LOGO           =
-
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path
-# into which the generated documentation will be written. If a relative path is
-# entered, it will be relative to the location where doxygen was started. If
-# left blank the current directory will be used.
-
-OUTPUT_DIRECTORY       =
-
-# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
-# directories (in 2 levels) under the output directory of each output format and
-# will distribute the generated files over these directories. Enabling this
-# option can be useful when feeding doxygen a huge amount of source files, where
-# putting all generated files in the same directory would otherwise causes
-# performance problems for the file system.
-# The default value is: NO.
-
-CREATE_SUBDIRS         = NO
-
-# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII
-# characters to appear in the names of generated files. If set to NO, non-ASCII
-# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode
-# U+3044.
-# The default value is: NO.
-
-ALLOW_UNICODE_NAMES    = NO
-
-# The OUTPUT_LANGUAGE tag is used to specify the language in which all
-# documentation generated by doxygen is written. Doxygen will use this
-# information to generate all constant output in the proper language.
-# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese,
-# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States),
-# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian,
-# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages),
-# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian,
-# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian,
-# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish,
-# Ukrainian and Vietnamese.
-# The default value is: English.
-
-OUTPUT_LANGUAGE        = English
-
-# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member
-# descriptions after the members that are listed in the file and class
-# documentation (similar to Javadoc). Set to NO to disable this.
-# The default value is: YES.
-
-BRIEF_MEMBER_DESC      = YES
-
-# If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief
-# description of a member or function before the detailed description
-#
-# Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
-# brief descriptions will be completely suppressed.
-# The default value is: YES.
-
-REPEAT_BRIEF           = YES
-
-# This tag implements a quasi-intelligent brief description abbreviator that is
-# used to form the text in various listings. Each string in this list, if found
-# as the leading text of the brief description, will be stripped from the text
-# and the result, after processing the whole list, is used as the annotated
-# text. Otherwise, the brief description is used as-is. If left blank, the
-# following values are used ($name is automatically replaced with the name of
-# the entity):The $name class, The $name widget, The $name file, is, provides,
-# specifies, contains, represents, a, an and the.
-
-ABBREVIATE_BRIEF       = "The $name class" \
-                         "The $name widget" \
-                         "The $name file" \
-                         is \
-                         provides \
-                         specifies \
-                         contains \
-                         represents \
-                         a \
-                         an \
-                         the
-
-# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
-# doxygen will generate a detailed section even if there is only a brief
-# description.
-# The default value is: NO.
-
-ALWAYS_DETAILED_SEC    = NO
-
-# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
-# inherited members of a class in the documentation of that class as if those
-# members were ordinary class members. Constructors, destructors and assignment
-# operators of the base classes will not be shown.
-# The default value is: NO.
-
-INLINE_INHERITED_MEMB  = NO
-
-# If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path
-# before files name in the file list and in the header files. If set to NO the
-# shortest path that makes the file name unique will be used
-# The default value is: YES.
-
-FULL_PATH_NAMES        = YES
-
-# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path.
-# Stripping is only done if one of the specified strings matches the left-hand
-# part of the path. The tag can be used to show relative paths in the file list.
-# If left blank the directory from which doxygen is run is used as the path to
-# strip.
-#
-# Note that you can specify absolute paths here, but also relative paths, which
-# will be relative from the directory where doxygen is started.
-# This tag requires that the tag FULL_PATH_NAMES is set to YES.
-
-STRIP_FROM_PATH        =
-
-# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the
-# path mentioned in the documentation of a class, which tells the reader which
-# header file to include in order to use a class. If left blank only the name of
-# the header file containing the class definition is used. Otherwise one should
-# specify the list of include paths that are normally passed to the compiler
-# using the -I flag.
-
-STRIP_FROM_INC_PATH    =
-
-# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but
-# less readable) file names. This can be useful is your file systems doesn't
-# support long names like on DOS, Mac, or CD-ROM.
-# The default value is: NO.
-
-SHORT_NAMES            = NO
-
-# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the
-# first line (until the first dot) of a Javadoc-style comment as the brief
-# description. If set to NO, the Javadoc-style will behave just like regular Qt-
-# style comments (thus requiring an explicit @brief command for a brief
-# description.)
-# The default value is: NO.
-
-JAVADOC_AUTOBRIEF      = YES
-
-# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first
-# line (until the first dot) of a Qt-style comment as the brief description. If
-# set to NO, the Qt-style will behave just like regular Qt-style comments (thus
-# requiring an explicit \brief command for a brief description.)
-# The default value is: NO.
-
-QT_AUTOBRIEF           = NO
-
-# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a
-# multi-line C++ special comment block (i.e. a block of //! or /// comments) as
-# a brief description. This used to be the default behavior. The new default is
-# to treat a multi-line C++ comment block as a detailed description. Set this
-# tag to YES if you prefer the old behavior instead.
-#
-# Note that setting this tag to YES also means that rational rose comments are
-# not recognized any more.
-# The default value is: NO.
-
-MULTILINE_CPP_IS_BRIEF = NO
-
-# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the
-# documentation from any documented member that it re-implements.
-# The default value is: YES.
-
-INHERIT_DOCS           = YES
-
-# If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new
-# page for each member. If set to NO, the documentation of a member will be part
-# of the file/class/namespace that contains it.
-# The default value is: NO.
-
-SEPARATE_MEMBER_PAGES  = NO
-
-# The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen
-# uses this value to replace tabs by spaces in code fragments.
-# Minimum value: 1, maximum value: 16, default value: 4.
-
-TAB_SIZE               = 4
-
-# This tag can be used to specify a number of aliases that act as commands in
-# the documentation. An alias has the form:
-# name=value
-# For example adding
-# "sideeffect=@par Side Effects:\n"
-# will allow you to put the command \sideeffect (or @sideeffect) in the
-# documentation, which will result in a user-defined paragraph with heading
-# "Side Effects:". You can put \n's in the value part of an alias to insert
-# newlines.
-
-ALIASES                =
-
-# This tag can be used to specify a number of word-keyword mappings (TCL only).
-# A mapping has the form "name=value". For example adding "class=itcl::class"
-# will allow you to use the command class in the itcl::class meaning.
-
-TCL_SUBST              =
-
-# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
-# only. Doxygen will then generate output that is more tailored for C. For
-# instance, some of the names that are used will be different. The list of all
-# members will be omitted, etc.
-# The default value is: NO.
-
-OPTIMIZE_OUTPUT_FOR_C  = NO
-
-# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or
-# Python sources only. Doxygen will then generate output that is more tailored
-# for that language. For instance, namespaces will be presented as packages,
-# qualified scopes will look different, etc.
-# The default value is: NO.
-
-OPTIMIZE_OUTPUT_JAVA   = YES
-
-# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
-# sources. Doxygen will then generate output that is tailored for Fortran.
-# The default value is: NO.
-
-OPTIMIZE_FOR_FORTRAN   = NO
-
-# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
-# sources. Doxygen will then generate output that is tailored for VHDL.
-# The default value is: NO.
-
-OPTIMIZE_OUTPUT_VHDL   = NO
-
-# Doxygen selects the parser to use depending on the extension of the files it
-# parses. With this tag you can assign which parser to use for a given
-# extension. Doxygen has a built-in mapping, but you can override or extend it
-# using this tag. The format is ext=language, where ext is a file extension, and
-# language is one of the parsers supported by doxygen: IDL, Java, Javascript,
-# C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran:
-# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran:
-# Fortran. In the later case the parser tries to guess whether the code is fixed
-# or free formatted code, this is the default for Fortran type files), VHDL. For
-# instance to make doxygen treat .inc files as Fortran files (default is PHP),
-# and .f files as C (default is Fortran), use: inc=Fortran f=C.
-#
-# Note: For files without extension you can use no_extension as a placeholder.
-#
-# Note that for custom extensions you also need to set FILE_PATTERNS otherwise
-# the files are not read by doxygen.
-
-EXTENSION_MAPPING      =
-
-# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments
-# according to the Markdown format, which allows for more readable
-# documentation. See http://daringfireball.net/projects/markdown/ for details.
-# The output of markdown processing is further processed by doxygen, so you can
-# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in
-# case of backward compatibilities issues.
-# The default value is: YES.
-
-MARKDOWN_SUPPORT       = YES
-
-# When enabled doxygen tries to link words that correspond to documented
-# classes, or namespaces to their corresponding documentation. Such a link can
-# be prevented in individual cases by putting a % sign in front of the word or
-# globally by setting AUTOLINK_SUPPORT to NO.
-# The default value is: YES.
-
-AUTOLINK_SUPPORT       = YES
-
-# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
-# to include (a tag file for) the STL sources as input, then you should set this
-# tag to YES in order to let doxygen match functions declarations and
-# definitions whose arguments contain STL classes (e.g. func(std::string);
-# versus func(std::string) {}). This also make the inheritance and collaboration
-# diagrams that involve STL classes more complete and accurate.
-# The default value is: NO.
-
-BUILTIN_STL_SUPPORT    = NO
-
-# If you use Microsoft's C++/CLI language, you should set this option to YES to
-# enable parsing support.
-# The default value is: NO.
-
-CPP_CLI_SUPPORT        = NO
-
-# Set the SIP_SUPPORT tag to YES if your project consists of sip (see:
-# http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen
-# will parse them like normal C++ but will assume all classes use public instead
-# of private inheritance when no explicit protection keyword is present.
-# The default value is: NO.
-
-SIP_SUPPORT            = NO
-
-# For Microsoft's IDL there are propget and propput attributes to indicate
-# getter and setter methods for a property. Setting this option to YES will make
-# doxygen to replace the get and set methods by a property in the documentation.
-# This will only work if the methods are indeed getting or setting a simple
-# type. If this is not the case, or you want to show the methods anyway, you
-# should set this option to NO.
-# The default value is: YES.
-
-IDL_PROPERTY_SUPPORT   = YES
-
-# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
-# tag is set to YES then doxygen will reuse the documentation of the first
-# member in the group (if any) for the other members of the group. By default
-# all members of a group must be documented explicitly.
-# The default value is: NO.
-
-DISTRIBUTE_GROUP_DOC   = NO
-
-# Set the SUBGROUPING tag to YES to allow class member groups of the same type
-# (for instance a group of public functions) to be put as a subgroup of that
-# type (e.g. under the Public Functions section). Set it to NO to prevent
-# subgrouping. Alternatively, this can be done per class using the
-# \nosubgrouping command.
-# The default value is: YES.
-
-SUBGROUPING            = YES
-
-# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions
-# are shown inside the group in which they are included (e.g. using \ingroup)
-# instead of on a separate page (for HTML and Man pages) or section (for LaTeX
-# and RTF).
-#
-# Note that this feature does not work in combination with
-# SEPARATE_MEMBER_PAGES.
-# The default value is: NO.
-
-INLINE_GROUPED_CLASSES = NO
-
-# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions
-# with only public data fields or simple typedef fields will be shown inline in
-# the documentation of the scope in which they are defined (i.e. file,
-# namespace, or group documentation), provided this scope is documented. If set
-# to NO, structs, classes, and unions are shown on a separate page (for HTML and
-# Man pages) or section (for LaTeX and RTF).
-# The default value is: NO.
-
-INLINE_SIMPLE_STRUCTS  = NO
-
-# When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or
-# enum is documented as struct, union, or enum with the name of the typedef. So
-# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
-# with name TypeT. When disabled the typedef will appear as a member of a file,
-# namespace, or class. And the struct will be named TypeS. This can typically be
-# useful for C code in case the coding convention dictates that all compound
-# types are typedef'ed and only the typedef is referenced, never the tag name.
-# The default value is: NO.
-
-TYPEDEF_HIDES_STRUCT   = NO
-
-# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This
-# cache is used to resolve symbols given their name and scope. Since this can be
-# an expensive process and often the same symbol appears multiple times in the
-# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small
-# doxygen will become slower. If the cache is too large, memory is wasted. The
-# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range
-# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536
-# symbols. At the end of a run doxygen will report the cache usage and suggest
-# the optimal cache size from a speed point of view.
-# Minimum value: 0, maximum value: 9, default value: 0.
-
-LOOKUP_CACHE_SIZE      = 0
-
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-
-# If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in
-# documentation are documented, even if no documentation was available. Private
-# class members and static file members will be hidden unless the
-# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES.
-# Note: This will also disable the warnings about undocumented members that are
-# normally produced when WARNINGS is set to YES.
-# The default value is: NO.
-
-EXTRACT_ALL            = NO
-
-# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will
-# be included in the documentation.
-# The default value is: NO.
-
-EXTRACT_PRIVATE        = NO
-
-# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal
-# scope will be included in the documentation.
-# The default value is: NO.
-
-EXTRACT_PACKAGE        = NO
-
-# If the EXTRACT_STATIC tag is set to YES, all static members of a file will be
-# included in the documentation.
-# The default value is: NO.
-
-EXTRACT_STATIC         = NO
-
-# If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined
-# locally in source files will be included in the documentation. If set to NO,
-# only classes defined in header files are included. Does not have any effect
-# for Java sources.
-# The default value is: YES.
-
-EXTRACT_LOCAL_CLASSES  = YES
-
-# This flag is only useful for Objective-C code. If set to YES, local methods,
-# which are defined in the implementation section but not in the interface are
-# included in the documentation. If set to NO, only methods in the interface are
-# included.
-# The default value is: NO.
-
-EXTRACT_LOCAL_METHODS  = NO
-
-# If this flag is set to YES, the members of anonymous namespaces will be
-# extracted and appear in the documentation as a namespace called
-# 'anonymous_namespace{file}', where file will be replaced with the base name of
-# the file that contains the anonymous namespace. By default anonymous namespace
-# are hidden.
-# The default value is: NO.
-
-EXTRACT_ANON_NSPACES   = NO
-
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all
-# undocumented members inside documented classes or files. If set to NO these
-# members will be included in the various overviews, but no documentation
-# section is generated. This option has no effect if EXTRACT_ALL is enabled.
-# The default value is: NO.
-
-HIDE_UNDOC_MEMBERS     = NO
-
-# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all
-# undocumented classes that are normally visible in the class hierarchy. If set
-# to NO, these classes will be included in the various overviews. This option
-# has no effect if EXTRACT_ALL is enabled.
-# The default value is: NO.
-
-HIDE_UNDOC_CLASSES     = NO
-
-# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend
-# (class|struct|union) declarations. If set to NO, these declarations will be
-# included in the documentation.
-# The default value is: NO.
-
-HIDE_FRIEND_COMPOUNDS  = NO
-
-# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any
-# documentation blocks found inside the body of a function. If set to NO, these
-# blocks will be appended to the function's detailed documentation block.
-# The default value is: NO.
-
-HIDE_IN_BODY_DOCS      = NO
-
-# The INTERNAL_DOCS tag determines if documentation that is typed after a
-# \internal command is included. If the tag is set to NO then the documentation
-# will be excluded. Set it to YES to include the internal documentation.
-# The default value is: NO.
-
-INTERNAL_DOCS          = NO
-
-# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file
-# names in lower-case letters. If set to YES, upper-case letters are also
-# allowed. This is useful if you have classes or files whose names only differ
-# in case and if your file system supports case sensitive file names. Windows
-# and Mac users are advised to set this option to NO.
-# The default value is: system dependent.
-
-CASE_SENSE_NAMES       = NO
-
-# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with
-# their full class and namespace scopes in the documentation. If set to YES, the
-# scope will be hidden.
-# The default value is: NO.
-
-HIDE_SCOPE_NAMES       = NO
-
-# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of
-# the files that are included by a file in the documentation of that file.
-# The default value is: YES.
-
-SHOW_INCLUDE_FILES     = YES
-
-# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each
-# grouped member an include statement to the documentation, telling the reader
-# which file to include in order to use the member.
-# The default value is: NO.
-
-SHOW_GROUPED_MEMB_INC  = NO
-
-# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include
-# files with double quotes in the documentation rather than with sharp brackets.
-# The default value is: NO.
-
-FORCE_LOCAL_INCLUDES   = NO
-
-# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the
-# documentation for inline members.
-# The default value is: YES.
-
-INLINE_INFO            = YES
-
-# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the
-# (detailed) documentation of file and class members alphabetically by member
-# name. If set to NO, the members will appear in declaration order.
-# The default value is: YES.
-
-SORT_MEMBER_DOCS       = YES
-
-# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief
-# descriptions of file, namespace and class members alphabetically by member
-# name. If set to NO, the members will appear in declaration order. Note that
-# this will also influence the order of the classes in the class list.
-# The default value is: NO.
-
-SORT_BRIEF_DOCS        = NO
-
-# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the
-# (brief and detailed) documentation of class members so that constructors and
-# destructors are listed first. If set to NO the constructors will appear in the
-# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS.
-# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief
-# member documentation.
-# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting
-# detailed member documentation.
-# The default value is: NO.
-
-SORT_MEMBERS_CTORS_1ST = NO
-
-# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy
-# of group names into alphabetical order. If set to NO the group names will
-# appear in their defined order.
-# The default value is: NO.
-
-SORT_GROUP_NAMES       = NO
-
-# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by
-# fully-qualified names, including namespaces. If set to NO, the class list will
-# be sorted only by class name, not including the namespace part.
-# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
-# Note: This option applies only to the class list, not to the alphabetical
-# list.
-# The default value is: NO.
-
-SORT_BY_SCOPE_NAME     = NO
-
-# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper
-# type resolution of all parameters of a function it will reject a match between
-# the prototype and the implementation of a member function even if there is
-# only one candidate or it is obvious which candidate to choose by doing a
-# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still
-# accept a match between prototype and implementation in such cases.
-# The default value is: NO.
-
-STRICT_PROTO_MATCHING  = NO
-
-# The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo
-# list. This list is created by putting \todo commands in the documentation.
-# The default value is: YES.
-
-GENERATE_TODOLIST      = YES
-
-# The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test
-# list. This list is created by putting \test commands in the documentation.
-# The default value is: YES.
-
-GENERATE_TESTLIST      = YES
-
-# The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug
-# list. This list is created by putting \bug commands in the documentation.
-# The default value is: YES.
-
-GENERATE_BUGLIST       = YES
-
-# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO)
-# the deprecated list. This list is created by putting \deprecated commands in
-# the documentation.
-# The default value is: YES.
-
-GENERATE_DEPRECATEDLIST= YES
-
-# The ENABLED_SECTIONS tag can be used to enable conditional documentation
-# sections, marked by \if <section_label> ... \endif and \cond <section_label>
-# ... \endcond blocks.
-
-ENABLED_SECTIONS       =
-
-# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the
-# initial value of a variable or macro / define can have for it to appear in the
-# documentation. If the initializer consists of more lines than specified here
-# it will be hidden. Use a value of 0 to hide initializers completely. The
-# appearance of the value of individual variables and macros / defines can be
-# controlled using \showinitializer or \hideinitializer command in the
-# documentation regardless of this setting.
-# Minimum value: 0, maximum value: 10000, default value: 30.
-
-MAX_INITIALIZER_LINES  = 30
-
-# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at
-# the bottom of the documentation of classes and structs. If set to YES, the
-# list will mention the files that were used to generate the documentation.
-# The default value is: YES.
-
-SHOW_USED_FILES        = YES
-
-# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This
-# will remove the Files entry from the Quick Index and from the Folder Tree View
-# (if specified).
-# The default value is: YES.
-
-SHOW_FILES             = YES
-
-# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces
-# page. This will remove the Namespaces entry from the Quick Index and from the
-# Folder Tree View (if specified).
-# The default value is: YES.
-
-SHOW_NAMESPACES        = YES
-
-# The FILE_VERSION_FILTER tag can be used to specify a program or script that
-# doxygen should invoke to get the current version for each file (typically from
-# the version control system). Doxygen will invoke the program by executing (via
-# popen()) the command command input-file, where command is the value of the
-# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided
-# by doxygen. Whatever the program writes to standard output is used as the file
-# version. For an example see the documentation.
-
-FILE_VERSION_FILTER    =
-
-# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
-# by doxygen. The layout file controls the global structure of the generated
-# output files in an output format independent way. To create the layout file
-# that represents doxygen's defaults, run doxygen with the -l option. You can
-# optionally specify a file name after the option, if omitted DoxygenLayout.xml
-# will be used as the name of the layout file.
-#
-# Note that if you run doxygen from a directory containing a file called
-# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE
-# tag is left empty.
-
-LAYOUT_FILE            =
-
-# The CITE_BIB_FILES tag can be used to specify one or more bib files containing
-# the reference definitions. This must be a list of .bib files. The .bib
-# extension is automatically appended if omitted. This requires the bibtex tool
-# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info.
-# For LaTeX the style of the bibliography can be controlled using
-# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the
-# search path. See also \cite for info how to create references.
-
-CITE_BIB_FILES         =
-
-#---------------------------------------------------------------------------
-# Configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-# The QUIET tag can be used to turn on/off the messages that are generated to
-# standard output by doxygen. If QUIET is set to YES this implies that the
-# messages are off.
-# The default value is: NO.
-
-QUIET                  = NO
-
-# The WARNINGS tag can be used to turn on/off the warning messages that are
-# generated to standard error (stderr) by doxygen. If WARNINGS is set to YES
-# this implies that the warnings are on.
-#
-# Tip: Turn warnings on while writing the documentation.
-# The default value is: YES.
-
-WARNINGS               = YES
-
-# If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate
-# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag
-# will automatically be disabled.
-# The default value is: YES.
-
-WARN_IF_UNDOCUMENTED   = YES
-
-# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for
-# potential errors in the documentation, such as not documenting some parameters
-# in a documented function, or documenting parameters that don't exist or using
-# markup commands wrongly.
-# The default value is: YES.
-
-WARN_IF_DOC_ERROR      = YES
-
-# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that
-# are documented, but have no documentation for their parameters or return
-# value. If set to NO, doxygen will only warn about wrong or incomplete
-# parameter documentation, but not about the absence of documentation.
-# The default value is: NO.
-
-WARN_NO_PARAMDOC       = NO
-
-# The WARN_FORMAT tag determines the format of the warning messages that doxygen
-# can produce. The string should contain the $file, $line, and $text tags, which
-# will be replaced by the file and line number from which the warning originated
-# and the warning text. Optionally the format may contain $version, which will
-# be replaced by the version of the file (if it could be obtained via
-# FILE_VERSION_FILTER)
-# The default value is: $file:$line: $text.
-
-WARN_FORMAT            = "$file:$line: $text"
-
-# The WARN_LOGFILE tag can be used to specify a file to which warning and error
-# messages should be written. If left blank the output is written to standard
-# error (stderr).
-
-WARN_LOGFILE           =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the input files
-#---------------------------------------------------------------------------
-
-# The INPUT tag is used to specify the files and/or directories that contain
-# documented source files. You may enter file names like myfile.cpp or
-# directories like /usr/src/myproject. Separate the files or directories with
-# spaces.
-# Note: If this tag is empty the current directory is searched.
-
-INPUT                  = src
-
-# This tag can be used to specify the character encoding of the source files
-# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
-# libiconv (or the iconv built into libc) for the transcoding. See the libiconv
-# documentation (see: http://www.gnu.org/software/libiconv) for the list of
-# possible encodings.
-# The default value is: UTF-8.
-
-INPUT_ENCODING         = UTF-8
-
-# If the value of the INPUT tag contains directories, you can use the
-# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and
-# *.h) to filter out the source-files in the directories. If left blank the
-# following patterns are tested:*.c, *.cc, *.cxx, *.cpp, *.c++, *.java, *.ii,
-# *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, *.hh, *.hxx, *.hpp,
-# *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, *.m, *.markdown,
-# *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf,
-# *.qsf, *.as and *.js.
-
-FILE_PATTERNS          = *.c \
-                         *.cc \
-                         *.cxx \
-                         *.cpp \
-                         *.c++ \
-                         *.java \
-                         *.ii \
-                         *.ixx \
-                         *.ipp \
-                         *.i++ \
-                         *.inl \
-                         *.idl \
-                         *.ddl \
-                         *.odl \
-                         *.h \
-                         *.hh \
-                         *.hxx \
-                         *.hpp \
-                         *.h++ \
-                         *.cs \
-                         *.d \
-                         *.php \
-                         *.php4 \
-                         *.php5 \
-                         *.phtml \
-                         *.inc \
-                         *.m \
-                         *.markdown \
-                         *.md \
-                         *.mm \
-                         *.dox \
-                         *.py \
-                         *.f90 \
-                         *.f \
-                         *.for \
-                         *.tcl \
-                         *.vhd \
-                         *.vhdl \
-                         *.ucf \
-                         *.qsf \
-                         *.as \
-                         *.js
-
-# The RECURSIVE tag can be used to specify whether or not subdirectories should
-# be searched for input files as well.
-# The default value is: NO.
-
-RECURSIVE              = YES
-
-# The EXCLUDE tag can be used to specify files and/or directories that should be
-# excluded from the INPUT source files. This way you can easily exclude a
-# subdirectory from a directory tree whose root is specified with the INPUT tag.
-#
-# Note that relative paths are relative to the directory from which doxygen is
-# run.
-
-EXCLUDE                =
-
-# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
-# directories that are symbolic links (a Unix file system feature) are excluded
-# from the input.
-# The default value is: NO.
-
-EXCLUDE_SYMLINKS       = NO
-
-# If the value of the INPUT tag contains directories, you can use the
-# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
-# certain files from those directories.
-#
-# Note that the wildcards are matched against the file with absolute path, so to
-# exclude all test directories for example use the pattern */test/*
-
-EXCLUDE_PATTERNS       =
-
-# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
-# (namespaces, classes, functions, etc.) that should be excluded from the
-# output. The symbol name can be a fully qualified name, a word, or if the
-# wildcard * is used, a substring. Examples: ANamespace, AClass,
-# AClass::ANamespace, ANamespace::*Test
-#
-# Note that the wildcards are matched against the file with absolute path, so to
-# exclude all test directories use the pattern */test/*
-
-EXCLUDE_SYMBOLS        =
-
-# The EXAMPLE_PATH tag can be used to specify one or more files or directories
-# that contain example code fragments that are included (see the \include
-# command).
-
-EXAMPLE_PATH           =
-
-# If the value of the EXAMPLE_PATH tag contains directories, you can use the
-# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and
-# *.h) to filter out the source-files in the directories. If left blank all
-# files are included.
-
-EXAMPLE_PATTERNS       = *
-
-# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
-# searched for input files to be used with the \include or \dontinclude commands
-# irrespective of the value of the RECURSIVE tag.
-# The default value is: NO.
-
-EXAMPLE_RECURSIVE      = NO
-
-# The IMAGE_PATH tag can be used to specify one or more files or directories
-# that contain images that are to be included in the documentation (see the
-# \image command).
-
-IMAGE_PATH             =
-
-# The INPUT_FILTER tag can be used to specify a program that doxygen should
-# invoke to filter for each input file. Doxygen will invoke the filter program
-# by executing (via popen()) the command:
-#
-# <filter> <input-file>
-#
-# where <filter> is the value of the INPUT_FILTER tag, and <input-file> is the
-# name of an input file. Doxygen will then use the output that the filter
-# program writes to standard output. If FILTER_PATTERNS is specified, this tag
-# will be ignored.
-#
-# Note that the filter must not add or remove lines; it is applied before the
-# code is scanned, but not when the output code is generated. If lines are added
-# or removed, the anchors will not be placed correctly.
-
-INPUT_FILTER           =
-
-# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
-# basis. Doxygen will compare the file name with each pattern and apply the
-# filter if there is a match. The filters are a list of the form: pattern=filter
-# (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how
-# filters are used. If the FILTER_PATTERNS tag is empty or if none of the
-# patterns match the file name, INPUT_FILTER is applied.
-
-FILTER_PATTERNS        =
-
-# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
-# INPUT_FILTER) will also be used to filter the input files that are used for
-# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES).
-# The default value is: NO.
-
-FILTER_SOURCE_FILES    = NO
-
-# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file
-# pattern. A pattern will override the setting for FILTER_PATTERN (if any) and
-# it is also possible to disable source filtering for a specific pattern using
-# *.ext= (so without naming a filter).
-# This tag requires that the tag FILTER_SOURCE_FILES is set to YES.
-
-FILTER_SOURCE_PATTERNS =
-
-# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that
-# is part of the input, its contents will be placed on the main page
-# (index.html). This can be useful if you have a project on for instance GitHub
-# and want to reuse the introduction page also for the doxygen output.
-
-USE_MDFILE_AS_MAINPAGE =
-
-#---------------------------------------------------------------------------
-# Configuration options related to source browsing
-#---------------------------------------------------------------------------
-
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will be
-# generated. Documented entities will be cross-referenced with these sources.
-#
-# Note: To get rid of all source code in the generated output, make sure that
-# also VERBATIM_HEADERS is set to NO.
-# The default value is: NO.
-
-SOURCE_BROWSER         = NO
-
-# Setting the INLINE_SOURCES tag to YES will include the body of functions,
-# classes and enums directly into the documentation.
-# The default value is: NO.
-
-INLINE_SOURCES         = NO
-
-# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any
-# special comment blocks from generated source code fragments. Normal C, C++ and
-# Fortran comments will always remain visible.
-# The default value is: YES.
-
-STRIP_CODE_COMMENTS    = YES
-
-# If the REFERENCED_BY_RELATION tag is set to YES then for each documented
-# function all documented functions referencing it will be listed.
-# The default value is: NO.
-
-REFERENCED_BY_RELATION = NO
-
-# If the REFERENCES_RELATION tag is set to YES then for each documented function
-# all documented entities called/used by that function will be listed.
-# The default value is: NO.
-
-REFERENCES_RELATION    = NO
-
-# If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set
-# to YES then the hyperlinks from functions in REFERENCES_RELATION and
-# REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will
-# link to the documentation.
-# The default value is: YES.
-
-REFERENCES_LINK_SOURCE = YES
-
-# If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the
-# source code will show a tooltip with additional information such as prototype,
-# brief description and links to the definition and documentation. Since this
-# will make the HTML file larger and loading of large files a bit slower, you
-# can opt to disable this feature.
-# The default value is: YES.
-# This tag requires that the tag SOURCE_BROWSER is set to YES.
-
-SOURCE_TOOLTIPS        = YES
-
-# If the USE_HTAGS tag is set to YES then the references to source code will
-# point to the HTML generated by the htags(1) tool instead of doxygen built-in
-# source browser. The htags tool is part of GNU's global source tagging system
-# (see http://www.gnu.org/software/global/global.html). You will need version
-# 4.8.6 or higher.
-#
-# To use it do the following:
-# - Install the latest version of global
-# - Enable SOURCE_BROWSER and USE_HTAGS in the config file
-# - Make sure the INPUT points to the root of the source tree
-# - Run doxygen as normal
-#
-# Doxygen will invoke htags (and that will in turn invoke gtags), so these
-# tools must be available from the command line (i.e. in the search path).
-#
-# The result: instead of the source browser generated by doxygen, the links to
-# source code will now point to the output of htags.
-# The default value is: NO.
-# This tag requires that the tag SOURCE_BROWSER is set to YES.
-
-USE_HTAGS              = NO
-
-# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a
-# verbatim copy of the header file for each class for which an include is
-# specified. Set to NO to disable this.
-# See also: Section \class.
-# The default value is: YES.
-
-VERBATIM_HEADERS       = YES
-
-#---------------------------------------------------------------------------
-# Configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all
-# compounds will be generated. Enable this if the project contains a lot of
-# classes, structs, unions or interfaces.
-# The default value is: YES.
-
-ALPHABETICAL_INDEX     = YES
-
-# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in
-# which the alphabetical index list will be split.
-# Minimum value: 1, maximum value: 20, default value: 5.
-# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
-
-COLS_IN_ALPHA_INDEX    = 5
-
-# In case all classes in a project start with a common prefix, all classes will
-# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag
-# can be used to specify a prefix (or a list of prefixes) that should be ignored
-# while generating the index headers.
-# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
-
-IGNORE_PREFIX          =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output
-# The default value is: YES.
-
-GENERATE_HTML          = NO
-
-# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a
-# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
-# it.
-# The default directory is: html.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_OUTPUT            = html
-
-# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each
-# generated HTML page (for example: .htm, .php, .asp).
-# The default value is: .html.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_FILE_EXTENSION    = .html
-
-# The HTML_HEADER tag can be used to specify a user-defined HTML header file for
-# each generated HTML page. If the tag is left blank doxygen will generate a
-# standard header.
-#
-# To get valid HTML the header file that includes any scripts and style sheets
-# that doxygen needs, which is dependent on the configuration options used (e.g.
-# the setting GENERATE_TREEVIEW). It is highly recommended to start with a
-# default header using
-# doxygen -w html new_header.html new_footer.html new_stylesheet.css
-# YourConfigFile
-# and then modify the file new_header.html. See also section "Doxygen usage"
-# for information on how to generate the default header that doxygen normally
-# uses.
-# Note: The header is subject to change so you typically have to regenerate the
-# default header when upgrading to a newer version of doxygen. For a description
-# of the possible markers and block names see the documentation.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_HEADER            =
-
-# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each
-# generated HTML page. If the tag is left blank doxygen will generate a standard
-# footer. See HTML_HEADER for more information on how to generate a default
-# footer and what special commands can be used inside the footer. See also
-# section "Doxygen usage" for information on how to generate the default footer
-# that doxygen normally uses.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_FOOTER            =
-
-# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style
-# sheet that is used by each HTML page. It can be used to fine-tune the look of
-# the HTML output. If left blank doxygen will generate a default style sheet.
-# See also section "Doxygen usage" for information on how to generate the style
-# sheet that doxygen normally uses.
-# Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as
-# it is more robust and this tag (HTML_STYLESHEET) will in the future become
-# obsolete.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_STYLESHEET        =
-
-# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined
-# cascading style sheets that are included after the standard style sheets
-# created by doxygen. Using this option one can overrule certain style aspects.
-# This is preferred over using HTML_STYLESHEET since it does not replace the
-# standard style sheet and is therefore more robust against future updates.
-# Doxygen will copy the style sheet files to the output directory.
-# Note: The order of the extra stylesheet files is of importance (e.g. the last
-# stylesheet in the list overrules the setting of the previous ones in the
-# list). For an example see the documentation.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_EXTRA_STYLESHEET  =
-
-# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
-# other source files which should be copied to the HTML output directory. Note
-# that these files will be copied to the base HTML output directory. Use the
-# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these
-# files. In the HTML_STYLESHEET file, use the file name only. Also note that the
-# files will be copied as-is; there are no commands or markers available.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_EXTRA_FILES       =
-
-# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen
-# will adjust the colors in the stylesheet and background images according to
-# this color. Hue is specified as an angle on a colorwheel, see
-# http://en.wikipedia.org/wiki/Hue for more information. For instance the value
-# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300
-# purple, and 360 is red again.
-# Minimum value: 0, maximum value: 359, default value: 220.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_COLORSTYLE_HUE    = 220
-
-# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors
-# in the HTML output. For a value of 0 the output will use grayscales only. A
-# value of 255 will produce the most vivid colors.
-# Minimum value: 0, maximum value: 255, default value: 100.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_COLORSTYLE_SAT    = 100
-
-# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the
-# luminance component of the colors in the HTML output. Values below 100
-# gradually make the output lighter, whereas values above 100 make the output
-# darker. The value divided by 100 is the actual gamma applied, so 80 represents
-# a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not
-# change the gamma.
-# Minimum value: 40, maximum value: 240, default value: 80.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_COLORSTYLE_GAMMA  = 80
-
-# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
-# page will contain the date and time when the page was generated. Setting this
-# to NO can help when comparing the output of multiple runs.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_TIMESTAMP         = YES
-
-# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
-# documentation will contain sections that can be hidden and shown after the
-# page has loaded.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_DYNAMIC_SECTIONS  = NO
-
-# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries
-# shown in the various tree structured indices initially; the user can expand
-# and collapse entries dynamically later on. Doxygen will expand the tree to
-# such a level that at most the specified number of entries are visible (unless
-# a fully collapsed tree already exceeds this amount). So setting the number of
-# entries 1 will produce a full collapsed tree by default. 0 is a special value
-# representing an infinite number of entries and will result in a full expanded
-# tree by default.
-# Minimum value: 0, maximum value: 9999, default value: 100.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_INDEX_NUM_ENTRIES = 100
-
-# If the GENERATE_DOCSET tag is set to YES, additional index files will be
-# generated that can be used as input for Apple's Xcode 3 integrated development
-# environment (see: http://developer.apple.com/tools/xcode/), introduced with
-# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a
-# Makefile in the HTML output directory. Running make will produce the docset in
-# that directory and running make install will install the docset in
-# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at
-# startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
-# for more information.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-GENERATE_DOCSET        = NO
-
-# This tag determines the name of the docset feed. A documentation feed provides
-# an umbrella under which multiple documentation sets from a single provider
-# (such as a company or product suite) can be grouped.
-# The default value is: Doxygen generated docs.
-# This tag requires that the tag GENERATE_DOCSET is set to YES.
-
-DOCSET_FEEDNAME        = "Doxygen generated docs"
-
-# This tag specifies a string that should uniquely identify the documentation
-# set bundle. This should be a reverse domain-name style string, e.g.
-# com.mycompany.MyDocSet. Doxygen will append .docset to the name.
-# The default value is: org.doxygen.Project.
-# This tag requires that the tag GENERATE_DOCSET is set to YES.
-
-DOCSET_BUNDLE_ID       = org.doxygen.Project
-
-# The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify
-# the documentation publisher. This should be a reverse domain-name style
-# string, e.g. com.mycompany.MyDocSet.documentation.
-# The default value is: org.doxygen.Publisher.
-# This tag requires that the tag GENERATE_DOCSET is set to YES.
-
-DOCSET_PUBLISHER_ID    = org.doxygen.Publisher
-
-# The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher.
-# The default value is: Publisher.
-# This tag requires that the tag GENERATE_DOCSET is set to YES.
-
-DOCSET_PUBLISHER_NAME  = Publisher
-
-# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three
-# additional HTML index files: index.hhp, index.hhc, and index.hhk. The
-# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop
-# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on
-# Windows.
-#
-# The HTML Help Workshop contains a compiler that can convert all HTML output
-# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML
-# files are now used as the Windows 98 help format, and will replace the old
-# Windows help format (.hlp) on all Windows platforms in the future. Compressed
-# HTML files also contain an index, a table of contents, and you can search for
-# words in the documentation. The HTML workshop also contains a viewer for
-# compressed HTML files.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-GENERATE_HTMLHELP      = NO
-
-# The CHM_FILE tag can be used to specify the file name of the resulting .chm
-# file. You can add a path in front of the file if the result should not be
-# written to the html output directory.
-# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-
-CHM_FILE               =
-
-# The HHC_LOCATION tag can be used to specify the location (absolute path
-# including file name) of the HTML help compiler (hhc.exe). If non-empty,
-# doxygen will try to run the HTML help compiler on the generated index.hhp.
-# The file has to be specified with full path.
-# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-
-HHC_LOCATION           =
-
-# The GENERATE_CHI flag controls if a separate .chi index file is generated
-# (YES) or that it should be included in the master .chm file (NO).
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-
-GENERATE_CHI           = NO
-
-# The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc)
-# and project file content.
-# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-
-CHM_INDEX_ENCODING     =
-
-# The BINARY_TOC flag controls whether a binary table of contents is generated
-# (YES) or a normal table of contents (NO) in the .chm file. Furthermore it
-# enables the Previous and Next buttons.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-
-BINARY_TOC             = NO
-
-# The TOC_EXPAND flag can be set to YES to add extra items for group members to
-# the table of contents of the HTML help documentation and to the tree view.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-
-TOC_EXPAND             = NO
-
-# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
-# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that
-# can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help
-# (.qch) of the generated HTML documentation.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-GENERATE_QHP           = NO
-
-# If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify
-# the file name of the resulting .qch file. The path specified is relative to
-# the HTML output folder.
-# This tag requires that the tag GENERATE_QHP is set to YES.
-
-QCH_FILE               =
-
-# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help
-# Project output. For more information please see Qt Help Project / Namespace
-# (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace).
-# The default value is: org.doxygen.Project.
-# This tag requires that the tag GENERATE_QHP is set to YES.
-
-QHP_NAMESPACE          = org.doxygen.Project
-
-# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt
-# Help Project output. For more information please see Qt Help Project / Virtual
-# Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual-
-# folders).
-# The default value is: doc.
-# This tag requires that the tag GENERATE_QHP is set to YES.
-
-QHP_VIRTUAL_FOLDER     = doc
-
-# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom
-# filter to add. For more information please see Qt Help Project / Custom
-# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
-# filters).
-# This tag requires that the tag GENERATE_QHP is set to YES.
-
-QHP_CUST_FILTER_NAME   =
-
-# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the
-# custom filter to add. For more information please see Qt Help Project / Custom
-# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
-# filters).
-# This tag requires that the tag GENERATE_QHP is set to YES.
-
-QHP_CUST_FILTER_ATTRS  =
-
-# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
-# project's filter section matches. Qt Help Project / Filter Attributes (see:
-# http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes).
-# This tag requires that the tag GENERATE_QHP is set to YES.
-
-QHP_SECT_FILTER_ATTRS  =
-
-# The QHG_LOCATION tag can be used to specify the location of Qt's
-# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the
-# generated .qhp file.
-# This tag requires that the tag GENERATE_QHP is set to YES.
-
-QHG_LOCATION           =
-
-# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be
-# generated, together with the HTML files, they form an Eclipse help plugin. To
-# install this plugin and make it available under the help contents menu in
-# Eclipse, the contents of the directory containing the HTML and XML files needs
-# to be copied into the plugins directory of eclipse. The name of the directory
-# within the plugins directory should be the same as the ECLIPSE_DOC_ID value.
-# After copying Eclipse needs to be restarted before the help appears.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-GENERATE_ECLIPSEHELP   = NO
-
-# A unique identifier for the Eclipse help plugin. When installing the plugin
-# the directory name containing the HTML and XML files should also have this
-# name. Each documentation set should have its own identifier.
-# The default value is: org.doxygen.Project.
-# This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES.
-
-ECLIPSE_DOC_ID         = org.doxygen.Project
-
-# If you want full control over the layout of the generated HTML pages it might
-# be necessary to disable the index and replace it with your own. The
-# DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top
-# of each HTML page. A value of NO enables the index and the value YES disables
-# it. Since the tabs in the index contain the same information as the navigation
-# tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-DISABLE_INDEX          = NO
-
-# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
-# structure should be generated to display hierarchical information. If the tag
-# value is set to YES, a side panel will be generated containing a tree-like
-# index structure (just like the one that is generated for HTML Help). For this
-# to work a browser that supports JavaScript, DHTML, CSS and frames is required
-# (i.e. any modern browser). Windows users are probably better off using the
-# HTML help feature. Via custom stylesheets (see HTML_EXTRA_STYLESHEET) one can
-# further fine-tune the look of the index. As an example, the default style
-# sheet generated by doxygen has an example that shows how to put an image at
-# the root of the tree instead of the PROJECT_NAME. Since the tree basically has
-# the same information as the tab index, you could consider setting
-# DISABLE_INDEX to YES when enabling this option.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-GENERATE_TREEVIEW      = NO
-
-# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that
-# doxygen will group on one line in the generated HTML documentation.
-#
-# Note that a value of 0 will completely suppress the enum values from appearing
-# in the overview section.
-# Minimum value: 0, maximum value: 20, default value: 4.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-ENUM_VALUES_PER_LINE   = 4
-
-# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used
-# to set the initial width (in pixels) of the frame in which the tree is shown.
-# Minimum value: 0, maximum value: 1500, default value: 250.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-TREEVIEW_WIDTH         = 250
-
-# If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to
-# external symbols imported via tag files in a separate window.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-EXT_LINKS_IN_WINDOW    = NO
-
-# Use this tag to change the font size of LaTeX formulas included as images in
-# the HTML documentation. When you change the font size after a successful
-# doxygen run you need to manually remove any form_*.png images from the HTML
-# output directory to force them to be regenerated.
-# Minimum value: 8, maximum value: 50, default value: 10.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-FORMULA_FONTSIZE       = 10
-
-# Use the FORMULA_TRANPARENT tag to determine whether or not the images
-# generated for formulas are transparent PNGs. Transparent PNGs are not
-# supported properly for IE 6.0, but are supported on all modern browsers.
-#
-# Note that when changing this option you need to delete any form_*.png files in
-# the HTML output directory before the changes have effect.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-FORMULA_TRANSPARENT    = YES
-
-# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see
-# http://www.mathjax.org) which uses client side Javascript for the rendering
-# instead of using pre-rendered bitmaps. Use this if you do not have LaTeX
-# installed or if you want to formulas look prettier in the HTML output. When
-# enabled you may also need to install MathJax separately and configure the path
-# to it using the MATHJAX_RELPATH option.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-USE_MATHJAX            = NO
-
-# When MathJax is enabled you can set the default output format to be used for
-# the MathJax output. See the MathJax site (see:
-# http://docs.mathjax.org/en/latest/output.html) for more details.
-# Possible values are: HTML-CSS (which is slower, but has the best
-# compatibility), NativeMML (i.e. MathML) and SVG.
-# The default value is: HTML-CSS.
-# This tag requires that the tag USE_MATHJAX is set to YES.
-
-MATHJAX_FORMAT         = HTML-CSS
-
-# When MathJax is enabled you need to specify the location relative to the HTML
-# output directory using the MATHJAX_RELPATH option. The destination directory
-# should contain the MathJax.js script. For instance, if the mathjax directory
-# is located at the same level as the HTML output directory, then
-# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax
-# Content Delivery Network so you can quickly see the result without installing
-# MathJax. However, it is strongly recommended to install a local copy of
-# MathJax from http://www.mathjax.org before deployment.
-# The default value is: http://cdn.mathjax.org/mathjax/latest.
-# This tag requires that the tag USE_MATHJAX is set to YES.
-
-MATHJAX_RELPATH        = http://cdn.mathjax.org/mathjax/latest
-
-# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax
-# extension names that should be enabled during MathJax rendering. For example
-# MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols
-# This tag requires that the tag USE_MATHJAX is set to YES.
-
-MATHJAX_EXTENSIONS     =
-
-# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces
-# of code that will be used on startup of the MathJax code. See the MathJax site
-# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an
-# example see the documentation.
-# This tag requires that the tag USE_MATHJAX is set to YES.
-
-MATHJAX_CODEFILE       =
-
-# When the SEARCHENGINE tag is enabled doxygen will generate a search box for
-# the HTML output. The underlying search engine uses javascript and DHTML and
-# should work on any modern browser. Note that when using HTML help
-# (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET)
-# there is already a search function so this one should typically be disabled.
-# For large projects the javascript based search engine can be slow, then
-# enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to
-# search using the keyboard; to jump to the search box use <access key> + S
-# (what the <access key> is depends on the OS and browser, but it is typically
-# <CTRL>, <ALT>/<option>, or both). Inside the search box use the <cursor down
-# key> to jump into the search results window, the results can be navigated
-# using the <cursor keys>. Press <Enter> to select an item or <escape> to cancel
-# the search. The filter options can be selected when the cursor is inside the
-# search box by pressing <Shift>+<cursor down>. Also here use the <cursor keys>
-# to select a filter and <Enter> or <escape> to activate or cancel the filter
-# option.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-SEARCHENGINE           = YES
-
-# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
-# implemented using a web server instead of a web client using Javascript. There
-# are two flavors of web server based searching depending on the EXTERNAL_SEARCH
-# setting. When disabled, doxygen will generate a PHP script for searching and
-# an index file used by the script. When EXTERNAL_SEARCH is enabled the indexing
-# and searching needs to be provided by external tools. See the section
-# "External Indexing and Searching" for details.
-# The default value is: NO.
-# This tag requires that the tag SEARCHENGINE is set to YES.
-
-SERVER_BASED_SEARCH    = NO
-
-# When EXTERNAL_SEARCH tag is enabled doxygen will no longer generate the PHP
-# script for searching. Instead the search results are written to an XML file
-# which needs to be processed by an external indexer. Doxygen will invoke an
-# external search engine pointed to by the SEARCHENGINE_URL option to obtain the
-# search results.
-#
-# Doxygen ships with an example indexer (doxyindexer) and search engine
-# (doxysearch.cgi) which are based on the open source search engine library
-# Xapian (see: http://xapian.org/).
-#
-# See the section "External Indexing and Searching" for details.
-# The default value is: NO.
-# This tag requires that the tag SEARCHENGINE is set to YES.
-
-EXTERNAL_SEARCH        = NO
-
-# The SEARCHENGINE_URL should point to a search engine hosted by a web server
-# which will return the search results when EXTERNAL_SEARCH is enabled.
-#
-# Doxygen ships with an example indexer (doxyindexer) and search engine
-# (doxysearch.cgi) which are based on the open source search engine library
-# Xapian (see: http://xapian.org/). See the section "External Indexing and
-# Searching" for details.
-# This tag requires that the tag SEARCHENGINE is set to YES.
-
-SEARCHENGINE_URL       =
-
-# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed
-# search data is written to a file for indexing by an external tool. With the
-# SEARCHDATA_FILE tag the name of this file can be specified.
-# The default file is: searchdata.xml.
-# This tag requires that the tag SEARCHENGINE is set to YES.
-
-SEARCHDATA_FILE        = searchdata.xml
-
-# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the
-# EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is
-# useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple
-# projects and redirect the results back to the right project.
-# This tag requires that the tag SEARCHENGINE is set to YES.
-
-EXTERNAL_SEARCH_ID     =
-
-# The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen
-# projects other than the one defined by this configuration file, but that are
-# all added to the same external search index. Each project needs to have a
-# unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id of
-# to a relative location where the documentation can be found. The format is:
-# EXTRA_SEARCH_MAPPINGS = tagname1=loc1 tagname2=loc2 ...
-# This tag requires that the tag SEARCHENGINE is set to YES.
-
-EXTRA_SEARCH_MAPPINGS  =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_LATEX tag is set to YES, doxygen will generate LaTeX output.
-# The default value is: YES.
-
-GENERATE_LATEX         = NO
-
-# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. If a
-# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
-# it.
-# The default directory is: latex.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_OUTPUT           = latex
-
-# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
-# invoked.
-#
-# Note that when enabling USE_PDFLATEX this option is only used for generating
-# bitmaps for formulas in the HTML output, but not in the Makefile that is
-# written to the output directory.
-# The default file is: latex.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_CMD_NAME         = latex
-
-# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate
-# index for LaTeX.
-# The default file is: makeindex.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-MAKEINDEX_CMD_NAME     = makeindex
-
-# If the COMPACT_LATEX tag is set to YES, doxygen generates more compact LaTeX
-# documents. This may be useful for small projects and may help to save some
-# trees in general.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-COMPACT_LATEX          = NO
-
-# The PAPER_TYPE tag can be used to set the paper type that is used by the
-# printer.
-# Possible values are: a4 (210 x 297 mm), letter (8.5 x 11 inches), legal (8.5 x
-# 14 inches) and executive (7.25 x 10.5 inches).
-# The default value is: a4.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-PAPER_TYPE             = a4
-
-# The EXTRA_PACKAGES tag can be used to specify one or more LaTeX package names
-# that should be included in the LaTeX output. To get the times font for
-# instance you can specify
-# EXTRA_PACKAGES=times
-# If left blank no extra packages will be included.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-EXTRA_PACKAGES         =
-
-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for the
-# generated LaTeX document. The header should contain everything until the first
-# chapter. If it is left blank doxygen will generate a standard header. See
-# section "Doxygen usage" for information on how to let doxygen write the
-# default header to a separate file.
-#
-# Note: Only use a user-defined header if you know what you are doing! The
-# following commands have a special meaning inside the header: $title,
-# $datetime, $date, $doxygenversion, $projectname, $projectnumber,
-# $projectbrief, $projectlogo. Doxygen will replace $title with the empty
-# string, for the replacement values of the other commands the user is referred
-# to HTML_HEADER.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_HEADER           =
-
-# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for the
-# generated LaTeX document. The footer should contain everything after the last
-# chapter. If it is left blank doxygen will generate a standard footer. See
-# LATEX_HEADER for more information on how to generate a default footer and what
-# special commands can be used inside the footer.
-#
-# Note: Only use a user-defined footer if you know what you are doing!
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_FOOTER           =
-
-# The LATEX_EXTRA_FILES tag can be used to specify one or more extra images or
-# other source files which should be copied to the LATEX_OUTPUT output
-# directory. Note that the files will be copied as-is; there are no commands or
-# markers available.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_EXTRA_FILES      =
-
-# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated is
-# prepared for conversion to PDF (using ps2pdf or pdflatex). The PDF file will
-# contain links (just like the HTML output) instead of page references. This
-# makes the output suitable for online browsing using a PDF viewer.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-PDF_HYPERLINKS         = YES
-
-# If the USE_PDFLATEX tag is set to YES, doxygen will use pdflatex to generate
-# the PDF file directly from the LaTeX files. Set this option to YES, to get a
-# higher quality PDF documentation.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-USE_PDFLATEX           = YES
-
-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \batchmode
-# command to the generated LaTeX files. This will instruct LaTeX to keep running
-# if errors occur, instead of asking the user for help. This option is also used
-# when generating formulas in HTML.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_BATCHMODE        = NO
-
-# If the LATEX_HIDE_INDICES tag is set to YES then doxygen will not include the
-# index chapters (such as File Index, Compound Index, etc.) in the output.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_HIDE_INDICES     = NO
-
-# If the LATEX_SOURCE_CODE tag is set to YES then doxygen will include source
-# code with syntax highlighting in the LaTeX output.
-#
-# Note that which sources are shown also depends on other settings such as
-# SOURCE_BROWSER.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_SOURCE_CODE      = NO
-
-# The LATEX_BIB_STYLE tag can be used to specify the style to use for the
-# bibliography, e.g. plainnat, or ieeetr. See
-# http://en.wikipedia.org/wiki/BibTeX and \cite for more info.
-# The default value is: plain.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_BIB_STYLE        = plain
-
-#---------------------------------------------------------------------------
-# Configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_RTF tag is set to YES, doxygen will generate RTF output. The
-# RTF output is optimized for Word 97 and may not look too pretty with other RTF
-# readers/editors.
-# The default value is: NO.
-
-GENERATE_RTF           = NO
-
-# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. If a
-# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
-# it.
-# The default directory is: rtf.
-# This tag requires that the tag GENERATE_RTF is set to YES.
-
-RTF_OUTPUT             = rtf
-
-# If the COMPACT_RTF tag is set to YES, doxygen generates more compact RTF
-# documents. This may be useful for small projects and may help to save some
-# trees in general.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_RTF is set to YES.
-
-COMPACT_RTF            = NO
-
-# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated will
-# contain hyperlink fields. The RTF file will contain links (just like the HTML
-# output) instead of page references. This makes the output suitable for online
-# browsing using Word or some other Word compatible readers that support those
-# fields.
-#
-# Note: WordPad (write) and others do not support links.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_RTF is set to YES.
-
-RTF_HYPERLINKS         = NO
-
-# Load stylesheet definitions from file. Syntax is similar to doxygen's config
-# file, i.e. a series of assignments. You only have to provide replacements,
-# missing definitions are set to their default value.
-#
-# See also section "Doxygen usage" for information on how to generate the
-# default style sheet that doxygen normally uses.
-# This tag requires that the tag GENERATE_RTF is set to YES.
-
-RTF_STYLESHEET_FILE    =
-
-# Set optional variables used in the generation of an RTF document. Syntax is
-# similar to doxygen's config file. A template extensions file can be generated
-# using doxygen -e rtf extensionFile.
-# This tag requires that the tag GENERATE_RTF is set to YES.
-
-RTF_EXTENSIONS_FILE    =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_MAN tag is set to YES, doxygen will generate man pages for
-# classes and files.
-# The default value is: NO.
-
-GENERATE_MAN           = NO
-
-# The MAN_OUTPUT tag is used to specify where the man pages will be put. If a
-# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
-# it. A directory man3 will be created inside the directory specified by
-# MAN_OUTPUT.
-# The default directory is: man.
-# This tag requires that the tag GENERATE_MAN is set to YES.
-
-MAN_OUTPUT             = man
-
-# The MAN_EXTENSION tag determines the extension that is added to the generated
-# man pages. In case the manual section does not start with a number, the number
-# 3 is prepended. The dot (.) at the beginning of the MAN_EXTENSION tag is
-# optional.
-# The default value is: .3.
-# This tag requires that the tag GENERATE_MAN is set to YES.
-
-MAN_EXTENSION          = .3
-
-# The MAN_SUBDIR tag determines the name of the directory created within
-# MAN_OUTPUT in which the man pages are placed. If defaults to man followed by
-# MAN_EXTENSION with the initial . removed.
-# This tag requires that the tag GENERATE_MAN is set to YES.
-
-MAN_SUBDIR             =
-
-# If the MAN_LINKS tag is set to YES and doxygen generates man output, then it
-# will generate one additional man file for each entity documented in the real
-# man page(s). These additional files only source the real man page, but without
-# them the man command would be unable to find the correct page.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_MAN is set to YES.
-
-MAN_LINKS              = NO
-
-#---------------------------------------------------------------------------
-# Configuration options related to the XML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_XML tag is set to YES, doxygen will generate an XML file that
-# captures the structure of the code including all documentation.
-# The default value is: NO.
-
-GENERATE_XML           = YES
-
-# The XML_OUTPUT tag is used to specify where the XML pages will be put. If a
-# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
-# it.
-# The default directory is: xml.
-# This tag requires that the tag GENERATE_XML is set to YES.
-
-XML_OUTPUT             = xml
-
-# If the XML_PROGRAMLISTING tag is set to YES, doxygen will dump the program
-# listings (including syntax highlighting and cross-referencing information) to
-# the XML output. Note that enabling this will significantly increase the size
-# of the XML output.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_XML is set to YES.
-
-XML_PROGRAMLISTING     = NO
-
-#---------------------------------------------------------------------------
-# Configuration options related to the DOCBOOK output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_DOCBOOK tag is set to YES, doxygen will generate Docbook files
-# that can be used to generate PDF.
-# The default value is: NO.
-
-GENERATE_DOCBOOK       = NO
-
-# The DOCBOOK_OUTPUT tag is used to specify where the Docbook pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be put in
-# front of it.
-# The default directory is: docbook.
-# This tag requires that the tag GENERATE_DOCBOOK is set to YES.
-
-DOCBOOK_OUTPUT         = docbook
-
-# If the DOCBOOK_PROGRAMLISTING tag is set to YES, doxygen will include the
-# program listings (including syntax highlighting and cross-referencing
-# information) to the DOCBOOK output. Note that enabling this will significantly
-# increase the size of the DOCBOOK output.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_DOCBOOK is set to YES.
-
-DOCBOOK_PROGRAMLISTING = NO
-
-#---------------------------------------------------------------------------
-# Configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_AUTOGEN_DEF tag is set to YES, doxygen will generate an
-# AutoGen Definitions (see http://autogen.sf.net) file that captures the
-# structure of the code including all documentation. Note that this feature is
-# still experimental and incomplete at the moment.
-# The default value is: NO.
-
-GENERATE_AUTOGEN_DEF   = NO
-
-#---------------------------------------------------------------------------
-# Configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_PERLMOD tag is set to YES, doxygen will generate a Perl module
-# file that captures the structure of the code including all documentation.
-#
-# Note that this feature is still experimental and incomplete at the moment.
-# The default value is: NO.
-
-GENERATE_PERLMOD       = NO
-
-# If the PERLMOD_LATEX tag is set to YES, doxygen will generate the necessary
-# Makefile rules, Perl scripts and LaTeX code to be able to generate PDF and DVI
-# output from the Perl module output.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_PERLMOD is set to YES.
-
-PERLMOD_LATEX          = NO
-
-# If the PERLMOD_PRETTY tag is set to YES, the Perl module output will be nicely
-# formatted so it can be parsed by a human reader. This is useful if you want to
-# understand what is going on. On the other hand, if this tag is set to NO, the
-# size of the Perl module output will be much smaller and Perl will parse it
-# just the same.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_PERLMOD is set to YES.
-
-PERLMOD_PRETTY         = YES
-
-# The names of the make variables in the generated doxyrules.make file are
-# prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. This is useful
-# so different doxyrules.make files included by the same Makefile don't
-# overwrite each other's variables.
-# This tag requires that the tag GENERATE_PERLMOD is set to YES.
-
-PERLMOD_MAKEVAR_PREFIX =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-# If the ENABLE_PREPROCESSING tag is set to YES, doxygen will evaluate all
-# C-preprocessor directives found in the sources and include files.
-# The default value is: YES.
-
-ENABLE_PREPROCESSING   = YES
-
-# If the MACRO_EXPANSION tag is set to YES, doxygen will expand all macro names
-# in the source code. If set to NO, only conditional compilation will be
-# performed. Macro expansion can be done in a controlled way by setting
-# EXPAND_ONLY_PREDEF to YES.
-# The default value is: NO.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-MACRO_EXPANSION        = NO
-
-# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES then
-# the macro expansion is limited to the macros specified with the PREDEFINED and
-# EXPAND_AS_DEFINED tags.
-# The default value is: NO.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-EXPAND_ONLY_PREDEF     = NO
-
-# If the SEARCH_INCLUDES tag is set to YES, the include files in the
-# INCLUDE_PATH will be searched if a #include is found.
-# The default value is: YES.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-SEARCH_INCLUDES        = YES
-
-# The INCLUDE_PATH tag can be used to specify one or more directories that
-# contain include files that are not input files but should be processed by the
-# preprocessor.
-# This tag requires that the tag SEARCH_INCLUDES is set to YES.
-
-INCLUDE_PATH           =
-
-# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
-# patterns (like *.h and *.hpp) to filter out the header-files in the
-# directories. If left blank, the patterns specified with FILE_PATTERNS will be
-# used.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-INCLUDE_FILE_PATTERNS  =
-
-# The PREDEFINED tag can be used to specify one or more macro names that are
-# defined before the preprocessor is started (similar to the -D option of e.g.
-# gcc). The argument of the tag is a list of macros of the form: name or
-# name=definition (no spaces). If the definition and the "=" are omitted, "=1"
-# is assumed. To prevent a macro definition from being undefined via #undef or
-# recursively expanded use the := operator instead of the = operator.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-PREDEFINED             =
-
-# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
-# tag can be used to specify a list of macro names that should be expanded. The
-# macro definition that is found in the sources will be used. Use the PREDEFINED
-# tag if you want to use a different macro definition that overrules the
-# definition found in the source code.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-EXPAND_AS_DEFINED      =
-
-# If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen's preprocessor will
-# remove all references to function-like macros that are alone on a line, have
-# an all uppercase name, and do not end with a semicolon. Such function macros
-# are typically used for boiler-plate code, and will confuse the parser if not
-# removed.
-# The default value is: YES.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-SKIP_FUNCTION_MACROS   = YES
-
-#---------------------------------------------------------------------------
-# Configuration options related to external references
-#---------------------------------------------------------------------------
-
-# The TAGFILES tag can be used to specify one or more tag files. For each tag
-# file the location of the external documentation should be added. The format of
-# a tag file without this location is as follows:
-# TAGFILES = file1 file2 ...
-# Adding location for the tag files is done as follows:
-# TAGFILES = file1=loc1 "file2 = loc2" ...
-# where loc1 and loc2 can be relative or absolute paths or URLs. See the
-# section "Linking to external documentation" for more information about the use
-# of tag files.
-# Note: Each tag file must have a unique name (where the name does NOT include
-# the path). If a tag file is not located in the directory in which doxygen is
-# run, you must also specify the path to the tagfile here.
-
-TAGFILES               =
-
-# When a file name is specified after GENERATE_TAGFILE, doxygen will create a
-# tag file that is based on the input files it reads. See section "Linking to
-# external documentation" for more information about the usage of tag files.
-
-GENERATE_TAGFILE       =
-
-# If the ALLEXTERNALS tag is set to YES, all external class will be listed in
-# the class index. If set to NO, only the inherited external classes will be
-# listed.
-# The default value is: NO.
-
-ALLEXTERNALS           = NO
-
-# If the EXTERNAL_GROUPS tag is set to YES, all external groups will be listed
-# in the modules index. If set to NO, only the current project's groups will be
-# listed.
-# The default value is: YES.
-
-EXTERNAL_GROUPS        = YES
-
-# If the EXTERNAL_PAGES tag is set to YES, all external pages will be listed in
-# the related pages index. If set to NO, only the current project's pages will
-# be listed.
-# The default value is: YES.
-
-EXTERNAL_PAGES         = YES
-
-# The PERL_PATH should be the absolute path and name of the perl script
-# interpreter (i.e. the result of 'which perl').
-# The default file (with absolute path) is: /usr/bin/perl.
-
-PERL_PATH              = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If the CLASS_DIAGRAMS tag is set to YES, doxygen will generate a class diagram
-# (in HTML and LaTeX) for classes with base or super classes. Setting the tag to
-# NO turns the diagrams off. Note that this option also works with HAVE_DOT
-# disabled, but it is recommended to install and use dot, since it yields more
-# powerful graphs.
-# The default value is: YES.
-
-CLASS_DIAGRAMS         = YES
-
-# You can define message sequence charts within doxygen comments using the \msc
-# command. Doxygen will then run the mscgen tool (see:
-# http://www.mcternan.me.uk/mscgen/)) to produce the chart and insert it in the
-# documentation. The MSCGEN_PATH tag allows you to specify the directory where
-# the mscgen tool resides. If left empty the tool is assumed to be found in the
-# default search path.
-
-MSCGEN_PATH            =
-
-# You can include diagrams made with dia in doxygen documentation. Doxygen will
-# then run dia to produce the diagram and insert it in the documentation. The
-# DIA_PATH tag allows you to specify the directory where the dia binary resides.
-# If left empty dia is assumed to be found in the default search path.
-
-DIA_PATH               =
-
-# If set to YES the inheritance and collaboration graphs will hide inheritance
-# and usage relations if the target is undocumented or is not a class.
-# The default value is: YES.
-
-HIDE_UNDOC_RELATIONS   = YES
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz (see:
-# http://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent
-# Bell Labs. The other options in this section have no effect if this option is
-# set to NO
-# The default value is: NO.
-
-HAVE_DOT               = NO
-
-# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is allowed
-# to run in parallel. When set to 0 doxygen will base this on the number of
-# processors available in the system. You can set it explicitly to a value
-# larger than 0 to get control over the balance between CPU load and processing
-# speed.
-# Minimum value: 0, maximum value: 32, default value: 0.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_NUM_THREADS        = 0
-
-# When you want a differently looking font in the dot files that doxygen
-# generates you can specify the font name using DOT_FONTNAME. You need to make
-# sure dot is able to find the font, which can be done by putting it in a
-# standard location or by setting the DOTFONTPATH environment variable or by
-# setting DOT_FONTPATH to the directory containing the font.
-# The default value is: Helvetica.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_FONTNAME           = Helvetica
-
-# The DOT_FONTSIZE tag can be used to set the size (in points) of the font of
-# dot graphs.
-# Minimum value: 4, maximum value: 24, default value: 10.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_FONTSIZE           = 10
-
-# By default doxygen will tell dot to use the default font as specified with
-# DOT_FONTNAME. If you specify a different font using DOT_FONTNAME you can set
-# the path where dot can find it using this tag.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_FONTPATH           =
-
-# If the CLASS_GRAPH tag is set to YES then doxygen will generate a graph for
-# each documented class showing the direct and indirect inheritance relations.
-# Setting this tag to YES will force the CLASS_DIAGRAMS tag to NO.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-CLASS_GRAPH            = YES
-
-# If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a
-# graph for each documented class showing the direct and indirect implementation
-# dependencies (inheritance, containment, and class references variables) of the
-# class with other documented classes.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-COLLABORATION_GRAPH    = YES
-
-# If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for
-# groups, showing the direct groups dependencies.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-GROUP_GRAPHS           = YES
-
-# If the UML_LOOK tag is set to YES, doxygen will generate inheritance and
-# collaboration diagrams in a style similar to the OMG's Unified Modeling
-# Language.
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-UML_LOOK               = NO
-
-# If the UML_LOOK tag is enabled, the fields and methods are shown inside the
-# class node. If there are many fields or methods and many nodes the graph may
-# become too big to be useful. The UML_LIMIT_NUM_FIELDS threshold limits the
-# number of items for each type to make the size more manageable. Set this to 0
-# for no limit. Note that the threshold may be exceeded by 50% before the limit
-# is enforced. So when you set the threshold to 10, up to 15 fields may appear,
-# but if the number exceeds 15, the total amount of fields shown is limited to
-# 10.
-# Minimum value: 0, maximum value: 100, default value: 10.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-UML_LIMIT_NUM_FIELDS   = 10
-
-# If the TEMPLATE_RELATIONS tag is set to YES then the inheritance and
-# collaboration graphs will show the relations between templates and their
-# instances.
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-TEMPLATE_RELATIONS     = NO
-
-# If the INCLUDE_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are set to
-# YES then doxygen will generate a graph for each documented file showing the
-# direct and indirect include dependencies of the file with other documented
-# files.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-INCLUDE_GRAPH          = YES
-
-# If the INCLUDED_BY_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are
-# set to YES then doxygen will generate a graph for each documented file showing
-# the direct and indirect include dependencies of the file with other documented
-# files.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-INCLUDED_BY_GRAPH      = YES
-
-# If the CALL_GRAPH tag is set to YES then doxygen will generate a call
-# dependency graph for every global function or class method.
-#
-# Note that enabling this option will significantly increase the time of a run.
-# So in most cases it will be better to enable call graphs for selected
-# functions only using the \callgraph command.
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-CALL_GRAPH             = NO
-
-# If the CALLER_GRAPH tag is set to YES then doxygen will generate a caller
-# dependency graph for every global function or class method.
-#
-# Note that enabling this option will significantly increase the time of a run.
-# So in most cases it will be better to enable caller graphs for selected
-# functions only using the \callergraph command.
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-CALLER_GRAPH           = NO
-
-# If the GRAPHICAL_HIERARCHY tag is set to YES then doxygen will graphical
-# hierarchy of all classes instead of a textual one.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-GRAPHICAL_HIERARCHY    = YES
-
-# If the DIRECTORY_GRAPH tag is set to YES then doxygen will show the
-# dependencies a directory has on other directories in a graphical way. The
-# dependency relations are determined by the #include relations between the
-# files in the directories.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DIRECTORY_GRAPH        = YES
-
-# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
-# generated by dot.
-# Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order
-# to make the SVG files visible in IE 9+ (other browsers do not have this
-# requirement).
-# Possible values are: png, jpg, gif and svg.
-# The default value is: png.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_IMAGE_FORMAT       = png
-
-# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to
-# enable generation of interactive SVG images that allow zooming and panning.
-#
-# Note that this requires a modern browser other than Internet Explorer. Tested
-# and working are Firefox, Chrome, Safari, and Opera.
-# Note: For IE 9+ you need to set HTML_FILE_EXTENSION to xhtml in order to make
-# the SVG files visible. Older versions of IE do not have SVG support.
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-INTERACTIVE_SVG        = NO
-
-# The DOT_PATH tag can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found in the path.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_PATH               =
-
-# The DOTFILE_DIRS tag can be used to specify one or more directories that
-# contain dot files that are included in the documentation (see the \dotfile
-# command).
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOTFILE_DIRS           =
-
-# The MSCFILE_DIRS tag can be used to specify one or more directories that
-# contain msc files that are included in the documentation (see the \mscfile
-# command).
-
-MSCFILE_DIRS           =
-
-# The DIAFILE_DIRS tag can be used to specify one or more directories that
-# contain dia files that are included in the documentation (see the \diafile
-# command).
-
-DIAFILE_DIRS           =
-
-# When using plantuml, the PLANTUML_JAR_PATH tag should be used to specify the
-# path where java can find the plantuml.jar file. If left blank, it is assumed
-# PlantUML is not used or called during a preprocessing step. Doxygen will
-# generate a warning when it encounters a \startuml command in this case and
-# will not generate output for the diagram.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-PLANTUML_JAR_PATH      =
-
-# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes
-# that will be shown in the graph. If the number of nodes in a graph becomes
-# larger than this value, doxygen will truncate the graph, which is visualized
-# by representing a node as a red box. Note that doxygen if the number of direct
-# children of the root node in a graph is already larger than
-# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note that
-# the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
-# Minimum value: 0, maximum value: 10000, default value: 50.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_GRAPH_MAX_NODES    = 50
-
-# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the graphs
-# generated by dot. A depth value of 3 means that only nodes reachable from the
-# root by following a path via at most 3 edges will be shown. Nodes that lay
-# further from the root node will be omitted. Note that setting this option to 1
-# or 2 may greatly reduce the computation time needed for large code bases. Also
-# note that the size of a graph can be further restricted by
-# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
-# Minimum value: 0, maximum value: 1000, default value: 0.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-MAX_DOT_GRAPH_DEPTH    = 0
-
-# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
-# background. This is disabled by default, because dot on Windows does not seem
-# to support this out of the box.
-#
-# Warning: Depending on the platform used, enabling this option may lead to
-# badly anti-aliased labels on the edges of a graph (i.e. they become hard to
-# read).
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_TRANSPARENT        = NO
-
-# Set the DOT_MULTI_TARGETS tag to YES to allow dot to generate multiple output
-# files in one run (i.e. multiple -o and -T options on the command line). This
-# makes dot run faster, but since only newer versions of dot (>1.8.10) support
-# this, this feature is disabled by default.
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_MULTI_TARGETS      = NO
-
-# If the GENERATE_LEGEND tag is set to YES doxygen will generate a legend page
-# explaining the meaning of the various boxes and arrows in the dot generated
-# graphs.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-GENERATE_LEGEND        = YES
-
-# If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate dot
-# files that are used to generate the various graphs.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_CLEANUP            = YES
diff --git a/contrib/neo_doxygen/tests/java-project/README.md b/contrib/neo_doxygen/tests/java-project/README.md
deleted file mode 100644 (file)
index 2a87fc7..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-This directory contains a dummy Java project for testing purposes.
-
-To regenerate the XML output located in `xml`, run `make`. If the `Makefile`
-does not exists, you can regenerate it by running `make bootstrap` in the parent
-directory.
diff --git a/contrib/neo_doxygen/tests/java-project/src/org/example/foo/A.java b/contrib/neo_doxygen/tests/java-project/src/org/example/foo/A.java
deleted file mode 100644 (file)
index 4bbd973..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-/* This file is part of NIT ( http://www.nitlanguage.org ).
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.example.foo;
-
-public abstract class A {
-       /**
-        * Does something...
-        */
-       public abstract boolean bar(int x, EmptyClass y);
-}
diff --git a/contrib/neo_doxygen/tests/java-project/src/org/example/foo/B.java b/contrib/neo_doxygen/tests/java-project/src/org/example/foo/B.java
deleted file mode 100644 (file)
index 0599e9d..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-/* This file is part of NIT ( http://www.nitlanguage.org ).
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.example.foo;
-
-public class B extends A implements C {
-       protected String qux = "quux";
-
-       public boolean bar(int x, EmptyClass y) {
-               return false;
-       }
-
-       /**
-        * Some overriden documentation.
-        */
-       public void baz() {}
-}
diff --git a/contrib/neo_doxygen/tests/java-project/src/org/example/foo/C.java b/contrib/neo_doxygen/tests/java-project/src/org/example/foo/C.java
deleted file mode 100644 (file)
index 42d95fa..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-/* This file is part of NIT ( http://www.nitlanguage.org ).
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.example.foo;
-
-/**
- * An interface
- */
-public interface C {
-       /**
-        * “Answer to the Ultimate Question of Life, the Universe, and Everything.“
-        */
-       public static final long THE_ANSWER = 42L;
-
-       /**
-        * A function with implicit modifiers.
-        */
-       void baz();
-}
diff --git a/contrib/neo_doxygen/tests/java-project/src/org/example/foo/EmptyClass.java b/contrib/neo_doxygen/tests/java-project/src/org/example/foo/EmptyClass.java
deleted file mode 100644 (file)
index 87ed89e..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-/* This file is part of NIT ( http://www.nitlanguage.org ).
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.example.foo;
-
-/**
- * This class is empty and is only visible in this package.
- */
-class EmptyClass {}
diff --git a/contrib/neo_doxygen/tests/java-project/xml/_a_8java.xml b/contrib/neo_doxygen/tests/java-project/xml/_a_8java.xml
deleted file mode 100644 (file)
index 5ce035d..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version='1.0' encoding='UTF-8' standalone='no'?>
-<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.8">
-  <compounddef id="_a_8java" kind="file">
-    <compoundname>A.java</compoundname>
-    <innerclass refid="classorg_1_1example_1_1foo_1_1_a" prot="public">org::example::foo::A</innerclass>
-    <innernamespace refid="namespaceorg_1_1example_1_1foo">org::example::foo</innernamespace>
-    <briefdescription>
-    </briefdescription>
-    <detaileddescription>
-    </detaileddescription>
-    <location file="%SOURCE_DIRECTORY%/org/example/foo/A.java"/>
-  </compounddef>
-</doxygen>
diff --git a/contrib/neo_doxygen/tests/java-project/xml/_b_8java.xml b/contrib/neo_doxygen/tests/java-project/xml/_b_8java.xml
deleted file mode 100644 (file)
index 5d616b9..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version='1.0' encoding='UTF-8' standalone='no'?>
-<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.8">
-  <compounddef id="_b_8java" kind="file">
-    <compoundname>B.java</compoundname>
-    <innerclass refid="classorg_1_1example_1_1foo_1_1_b" prot="public">org::example::foo::B</innerclass>
-    <innernamespace refid="namespaceorg_1_1example_1_1foo">org::example::foo</innernamespace>
-    <briefdescription>
-    </briefdescription>
-    <detaileddescription>
-    </detaileddescription>
-    <location file="%SOURCE_DIRECTORY%/org/example/foo/B.java"/>
-  </compounddef>
-</doxygen>
diff --git a/contrib/neo_doxygen/tests/java-project/xml/_c_8java.xml b/contrib/neo_doxygen/tests/java-project/xml/_c_8java.xml
deleted file mode 100644 (file)
index d020a7a..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version='1.0' encoding='UTF-8' standalone='no'?>
-<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.8">
-  <compounddef id="_c_8java" kind="file">
-    <compoundname>C.java</compoundname>
-    <innerclass refid="interfaceorg_1_1example_1_1foo_1_1_c" prot="public">org::example::foo::C</innerclass>
-    <innernamespace refid="namespaceorg_1_1example_1_1foo">org::example::foo</innernamespace>
-    <briefdescription>
-    </briefdescription>
-    <detaileddescription>
-    </detaileddescription>
-    <location file="%SOURCE_DIRECTORY%/org/example/foo/C.java"/>
-  </compounddef>
-</doxygen>
diff --git a/contrib/neo_doxygen/tests/java-project/xml/_empty_class_8java.xml b/contrib/neo_doxygen/tests/java-project/xml/_empty_class_8java.xml
deleted file mode 100644 (file)
index 82e6562..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version='1.0' encoding='UTF-8' standalone='no'?>
-<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.8">
-  <compounddef id="_empty_class_8java" kind="file">
-    <compoundname>EmptyClass.java</compoundname>
-    <innerclass refid="classorg_1_1example_1_1foo_1_1_empty_class" prot="package">org::example::foo::EmptyClass</innerclass>
-    <innernamespace refid="namespaceorg_1_1example_1_1foo">org::example::foo</innernamespace>
-    <briefdescription>
-    </briefdescription>
-    <detaileddescription>
-    </detaileddescription>
-    <location file="%SOURCE_DIRECTORY%/org/example/foo/EmptyClass.java"/>
-  </compounddef>
-</doxygen>
diff --git a/contrib/neo_doxygen/tests/java-project/xml/classorg_1_1example_1_1foo_1_1_a.xml b/contrib/neo_doxygen/tests/java-project/xml/classorg_1_1example_1_1foo_1_1_a.xml
deleted file mode 100644 (file)
index b380cf7..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version='1.0' encoding='UTF-8' standalone='no'?>
-<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.8">
-  <compounddef id="classorg_1_1example_1_1foo_1_1_a" kind="class" prot="public" abstract="yes">
-    <compoundname>org::example::foo::A</compoundname>
-    <derivedcompoundref refid="classorg_1_1example_1_1foo_1_1_b" prot="public" virt="non-virtual">org.example.foo.B</derivedcompoundref>
-      <sectiondef kind="public-func">
-      <memberdef kind="function" id="classorg_1_1example_1_1foo_1_1_a_1add415ae4129969055d678c7e7e048852" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
-        <type>abstract boolean</type>
-        <definition>abstract boolean org.example.foo.A.bar</definition>
-        <argsstring>(int x, EmptyClass y)</argsstring>
-        <name>bar</name>
-        <param>
-          <type>int</type>
-          <declname>x</declname>
-        </param>
-        <param>
-          <type>EmptyClass</type>
-          <declname>y</declname>
-        </param>
-        <briefdescription>
-<para>Does something... </para>        </briefdescription>
-        <detaileddescription>
-        </detaileddescription>
-        <inbodydescription>
-        </inbodydescription>
-        <location file="%SOURCE_DIRECTORY%/org/example/foo/A.java" line="22" column="1"/>
-      </memberdef>
-      </sectiondef>
-    <briefdescription>
-    </briefdescription>
-    <detaileddescription>
-    </detaileddescription>
-    <inheritancegraph>
-      <node id="0">
-        <label>org.example.foo.A</label>
-        <link refid="classorg_1_1example_1_1foo_1_1_a"/>
-      </node>
-      <node id="1">
-        <label>org.example.foo.B</label>
-        <link refid="classorg_1_1example_1_1foo_1_1_b"/>
-        <childnode refid="0" relation="public-inheritance">
-        </childnode>
-      </node>
-    </inheritancegraph>
-    <location file="%SOURCE_DIRECTORY%/org/example/foo/A.java" line="18" column="1" bodyfile="%SOURCE_DIRECTORY%/org/example/foo/A.java" bodystart="18" bodyend="23"/>
-    <listofallmembers>
-      <member refid="classorg_1_1example_1_1foo_1_1_a_1add415ae4129969055d678c7e7e048852" prot="public" virt="non-virtual"><scope>org::example::foo::A</scope><name>bar</name></member>
-    </listofallmembers>
-  </compounddef>
-</doxygen>
diff --git a/contrib/neo_doxygen/tests/java-project/xml/classorg_1_1example_1_1foo_1_1_b.xml b/contrib/neo_doxygen/tests/java-project/xml/classorg_1_1example_1_1foo_1_1_b.xml
deleted file mode 100644 (file)
index b01966b..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-<?xml version='1.0' encoding='UTF-8' standalone='no'?>
-<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.8">
-  <compounddef id="classorg_1_1example_1_1foo_1_1_b" kind="class" prot="public">
-    <compoundname>org::example::foo::B</compoundname>
-    <basecompoundref refid="classorg_1_1example_1_1foo_1_1_a" prot="public" virt="non-virtual">org.example.foo.A</basecompoundref>
-    <basecompoundref refid="interfaceorg_1_1example_1_1foo_1_1_c" prot="public" virt="non-virtual">org.example.foo.C</basecompoundref>
-      <sectiondef kind="protected-attrib">
-      <memberdef kind="variable" id="classorg_1_1example_1_1foo_1_1_b_1ac6b627949b10b9357eefc0cafcae1d87" prot="protected" static="no" mutable="no">
-        <type>String</type>
-        <definition>String org.example.foo.B.qux</definition>
-        <argsstring></argsstring>
-        <name>qux</name>
-        <initializer>= &quot;quux&quot;</initializer>
-        <briefdescription>
-        </briefdescription>
-        <detaileddescription>
-        </detaileddescription>
-        <inbodydescription>
-        </inbodydescription>
-        <location file="%SOURCE_DIRECTORY%/org/example/foo/B.java" line="19" column="1" bodyfile="%SOURCE_DIRECTORY%/org/example/foo/B.java" bodystart="19" bodyend="-1"/>
-      </memberdef>
-      </sectiondef>
-      <sectiondef kind="public-func">
-      <memberdef kind="function" id="classorg_1_1example_1_1foo_1_1_b_1a11e157943665cc9e3a9be1502ebeb3b5" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
-        <type>boolean</type>
-        <definition>boolean org.example.foo.B.bar</definition>
-        <argsstring>(int x, EmptyClass y)</argsstring>
-        <name>bar</name>
-        <param>
-          <type>int</type>
-          <declname>x</declname>
-        </param>
-        <param>
-          <type>EmptyClass</type>
-          <declname>y</declname>
-        </param>
-        <briefdescription>
-        </briefdescription>
-        <detaileddescription>
-        </detaileddescription>
-        <inbodydescription>
-        </inbodydescription>
-        <location file="%SOURCE_DIRECTORY%/org/example/foo/B.java" line="21" column="1" bodyfile="%SOURCE_DIRECTORY%/org/example/foo/B.java" bodystart="21" bodyend="23"/>
-      </memberdef>
-      <memberdef kind="function" id="classorg_1_1example_1_1foo_1_1_b_1a733f4e076f29c7d0c41ed258199ea1d9" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
-        <type>void</type>
-        <definition>void org.example.foo.B.baz</definition>
-        <argsstring>()</argsstring>
-        <name>baz</name>
-        <reimplements refid="interfaceorg_1_1example_1_1foo_1_1_c_1a28ac7ce349ebb3e4a7747a8dd951582b">baz</reimplements>
-        <briefdescription>
-<para>Some overriden documentation. </para>        </briefdescription>
-        <detaileddescription>
-        </detaileddescription>
-        <inbodydescription>
-        </inbodydescription>
-        <location file="%SOURCE_DIRECTORY%/org/example/foo/B.java" line="28" column="1" bodyfile="%SOURCE_DIRECTORY%/org/example/foo/B.java" bodystart="28" bodyend="28"/>
-      </memberdef>
-      </sectiondef>
-    <briefdescription>
-    </briefdescription>
-    <detaileddescription>
-    </detaileddescription>
-    <inheritancegraph>
-      <node id="4">
-        <label>org.example.foo.A</label>
-        <link refid="classorg_1_1example_1_1foo_1_1_a"/>
-      </node>
-      <node id="3">
-        <label>org.example.foo.B</label>
-        <link refid="classorg_1_1example_1_1foo_1_1_b"/>
-        <childnode refid="4" relation="public-inheritance">
-        </childnode>
-        <childnode refid="5" relation="public-inheritance">
-        </childnode>
-      </node>
-      <node id="5">
-        <label>org.example.foo.C</label>
-        <link refid="interfaceorg_1_1example_1_1foo_1_1_c"/>
-      </node>
-    </inheritancegraph>
-    <collaborationgraph>
-      <node id="7">
-        <label>org.example.foo.A</label>
-        <link refid="classorg_1_1example_1_1foo_1_1_a"/>
-      </node>
-      <node id="6">
-        <label>org.example.foo.B</label>
-        <link refid="classorg_1_1example_1_1foo_1_1_b"/>
-        <childnode refid="7" relation="public-inheritance">
-        </childnode>
-        <childnode refid="8" relation="public-inheritance">
-        </childnode>
-      </node>
-      <node id="8">
-        <label>org.example.foo.C</label>
-        <link refid="interfaceorg_1_1example_1_1foo_1_1_c"/>
-      </node>
-    </collaborationgraph>
-    <location file="%SOURCE_DIRECTORY%/org/example/foo/B.java" line="18" column="1" bodyfile="%SOURCE_DIRECTORY%/org/example/foo/B.java" bodystart="18" bodyend="29"/>
-    <listofallmembers>
-      <member refid="classorg_1_1example_1_1foo_1_1_b_1a11e157943665cc9e3a9be1502ebeb3b5" prot="public" virt="non-virtual"><scope>org::example::foo::B</scope><name>bar</name></member>
-      <member refid="classorg_1_1example_1_1foo_1_1_b_1a733f4e076f29c7d0c41ed258199ea1d9" prot="public" virt="non-virtual"><scope>org::example::foo::B</scope><name>baz</name></member>
-      <member refid="classorg_1_1example_1_1foo_1_1_b_1ac6b627949b10b9357eefc0cafcae1d87" prot="protected" virt="non-virtual"><scope>org::example::foo::B</scope><name>qux</name></member>
-      <member refid="interfaceorg_1_1example_1_1foo_1_1_c_1a4e97061eb40b045e820de05b33c43d21" prot="public" virt="non-virtual"><scope>org::example::foo::B</scope><name>THE_ANSWER</name></member>
-    </listofallmembers>
-  </compounddef>
-</doxygen>
diff --git a/contrib/neo_doxygen/tests/java-project/xml/classorg_1_1example_1_1foo_1_1_empty_class.xml b/contrib/neo_doxygen/tests/java-project/xml/classorg_1_1example_1_1foo_1_1_empty_class.xml
deleted file mode 100644 (file)
index 04854de..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version='1.0' encoding='UTF-8' standalone='no'?>
-<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.8">
-  <compounddef id="classorg_1_1example_1_1foo_1_1_empty_class" kind="class" prot="package">
-    <compoundname>org::example::foo::EmptyClass</compoundname>
-    <briefdescription>
-<para>This class is empty and is only visible in this package. </para>    </briefdescription>
-    <detaileddescription>
-    </detaileddescription>
-    <location file="%SOURCE_DIRECTORY%/org/example/foo/EmptyClass.java" line="21" column="1" bodyfile="%SOURCE_DIRECTORY%/org/example/foo/EmptyClass.java" bodystart="21" bodyend="21"/>
-    <listofallmembers>
-    </listofallmembers>
-  </compounddef>
-</doxygen>
diff --git a/contrib/neo_doxygen/tests/java-project/xml/combine.xslt b/contrib/neo_doxygen/tests/java-project/xml/combine.xslt
deleted file mode 100644 (file)
index c148ee4..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<!-- XSLT script to combine the generated output into a single file. 
-     If you have xsltproc you could use:
-     xsltproc combine.xslt index.xml >all.xml
--->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-  <xsl:output method="xml" version="1.0" indent="no" standalone="yes" />
-  <xsl:template match="/">
-    <doxygen version="{doxygenindex/@version}">
-      <!-- Load all doxgen generated xml files -->
-      <xsl:for-each select="doxygenindex/compound">
-        <xsl:copy-of select="document( concat( @refid, '.xml' ) )/doxygen/*" />
-      </xsl:for-each>
-    </doxygen>
-  </xsl:template>
-</xsl:stylesheet>
diff --git a/contrib/neo_doxygen/tests/java-project/xml/compound.xsd b/contrib/neo_doxygen/tests/java-project/xml/compound.xsd
deleted file mode 100644 (file)
index 86740f4..0000000
+++ /dev/null
@@ -1,1092 +0,0 @@
-<?xml version='1.0' encoding='utf-8' ?>
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-  <xsd:element name="doxygen" type="DoxygenType"/>
-
-  <!-- Complex types -->
-
-  <xsd:complexType name="DoxygenType">
-    <xsd:sequence maxOccurs="unbounded">
-      <xsd:element name="compounddef" type="compounddefType" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="version" type="DoxVersionNumber" use="required" />
-  </xsd:complexType>
-
-  <xsd:complexType name="compounddefType">
-    <xsd:sequence>
-      <xsd:element name="compoundname" type="xsd:string"/>
-      <xsd:element name="title" type="xsd:string" minOccurs="0" />
-      <xsd:element name="basecompoundref" type="compoundRefType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="derivedcompoundref" type="compoundRefType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="includes" type="incType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="includedby" type="incType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="incdepgraph" type="graphType" minOccurs="0" />
-      <xsd:element name="invincdepgraph" type="graphType" minOccurs="0" />
-      <xsd:element name="innerdir" type="refType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="innerfile" type="refType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="innerclass" type="refType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="innernamespace" type="refType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="innerpage" type="refType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="innergroup" type="refType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="templateparamlist" type="templateparamlistType" minOccurs="0" />
-      <xsd:element name="sectiondef" type="sectiondefType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="briefdescription" type="descriptionType" minOccurs="0" />
-      <xsd:element name="detaileddescription" type="descriptionType" minOccurs="0" />
-      <xsd:element name="inheritancegraph" type="graphType" minOccurs="0" />
-      <xsd:element name="collaborationgraph" type="graphType" minOccurs="0" />
-      <xsd:element name="programlisting" type="listingType" minOccurs="0" />
-      <xsd:element name="location" type="locationType" minOccurs="0" />
-      <xsd:element name="listofallmembers" type="listofallmembersType" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:string" />
-    <xsd:attribute name="kind" type="DoxCompoundKind" />
-    <xsd:attribute name="prot" type="DoxProtectionKind" />
-    <xsd:attribute name="final" type="DoxBool" use="optional"/>
-    <xsd:attribute name="sealed" type="DoxBool" use="optional"/>
-    <xsd:attribute name="abstract" type="DoxBool" use="optional"/>
-  </xsd:complexType>
-
-  <xsd:complexType name="listofallmembersType">
-    <xsd:sequence>
-      <xsd:element name="member" type="memberRefType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="memberRefType">
-    <xsd:sequence>
-      <xsd:element name="scope" />
-      <xsd:element name="name" />
-    </xsd:sequence>
-    <xsd:attribute name="refid" type="xsd:string" />
-    <xsd:attribute name="prot" type="DoxProtectionKind" />
-    <xsd:attribute name="virt" type="DoxVirtualKind" />
-    <xsd:attribute name="ambiguityscope" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="compoundRefType">
-    <xsd:simpleContent>
-      <xsd:extension base="xsd:string">
-        <xsd:attribute name="refid" type="xsd:string" use="optional" />
-        <xsd:attribute name="prot" type="DoxProtectionKind" />
-        <xsd:attribute name="virt" type="DoxVirtualKind" />
-      </xsd:extension>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-  <xsd:complexType name="reimplementType">
-    <xsd:simpleContent>
-      <xsd:extension base="xsd:string">
-        <xsd:attribute name="refid" type="xsd:string" />
-      </xsd:extension>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-  <xsd:complexType name="incType">
-    <xsd:simpleContent>
-      <xsd:extension base="xsd:string">
-        <xsd:attribute name="refid" type="xsd:string" />
-        <xsd:attribute name="local" type="DoxBool" />
-      </xsd:extension>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-  <xsd:complexType name="refType">
-    <xsd:simpleContent>
-      <xsd:extension base="xsd:string">
-        <xsd:attribute name="refid" type="xsd:string" />
-        <xsd:attribute name="prot" type="DoxProtectionKind" use="optional"/>
-      </xsd:extension>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-  <xsd:complexType name="refTextType">
-    <xsd:simpleContent>
-      <xsd:extension base="xsd:string">
-       <xsd:attribute name="refid" type="xsd:string" />
-       <xsd:attribute name="kindref" type="DoxRefKind" />
-       <xsd:attribute name="external" type="xsd:string" use="optional"/>
-       <xsd:attribute name="tooltip" type="xsd:string" use="optional"/>
-      </xsd:extension>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-  <xsd:complexType name="sectiondefType">
-    <xsd:sequence>
-      <xsd:element name="header" type="xsd:string" minOccurs="0" />
-      <xsd:element name="description" type="descriptionType" minOccurs="0" />
-      <xsd:element name="memberdef" type="memberdefType" maxOccurs="unbounded" />
-    </xsd:sequence>
-    <xsd:attribute name="kind" type="DoxSectionKind" />
-  </xsd:complexType>
-
-  <xsd:complexType name="memberdefType">
-    <xsd:sequence>
-      <xsd:element name="templateparamlist" type="templateparamlistType" minOccurs="0" />
-      <xsd:element name="type" type="linkedTextType" minOccurs="0" />
-      <xsd:element name="definition" minOccurs="0" />
-      <xsd:element name="argsstring" minOccurs="0" />
-      <xsd:element name="name" />
-      <xsd:element name="read" minOccurs="0" />
-      <xsd:element name="write" minOccurs="0" />
-      <xsd:element name="bitfield" minOccurs="0" />
-      <xsd:element name="reimplements" type="reimplementType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="reimplementedby" type="reimplementType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="param" type="paramType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="enumvalue" type="enumvalueType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="initializer" type="linkedTextType" minOccurs="0" />
-      <xsd:element name="exceptions" type="linkedTextType" minOccurs="0" />
-      <xsd:element name="briefdescription" type="descriptionType" minOccurs="0" />
-      <xsd:element name="detaileddescription" type="descriptionType" minOccurs="0" />
-      <xsd:element name="inbodydescription" type="descriptionType" minOccurs="0" />
-      <xsd:element name="location" type="locationType" />
-      <xsd:element name="references" type="referenceType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="referencedby" type="referenceType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-    <xsd:attribute name="kind" type="DoxMemberKind" />
-    <xsd:attribute name="id" type="xsd:string" />
-    <xsd:attribute name="prot" type="DoxProtectionKind" />
-    <xsd:attribute name="static" type="DoxBool" />
-    <xsd:attribute name="const" type="DoxBool" use="optional"/>
-    <xsd:attribute name="explicit" type="DoxBool" use="optional"/>
-    <xsd:attribute name="inline" type="DoxBool" use="optional"/>
-    <xsd:attribute name="virt" type="DoxVirtualKind" use="optional"/>
-    <xsd:attribute name="volatile" type="DoxBool" use="optional"/>
-    <xsd:attribute name="mutable" type="DoxBool" use="optional"/>
-    <!-- Qt property -->
-    <xsd:attribute name="readable" type="DoxBool" use="optional"/>
-    <xsd:attribute name="writable" type="DoxBool" use="optional"/>
-    <!-- C++/CLI variable -->
-    <xsd:attribute name="initonly" type="DoxBool" use="optional"/>
-    <!-- C++/CLI and C# property -->
-    <xsd:attribute name="settable" type="DoxBool" use="optional"/>
-    <xsd:attribute name="gettable" type="DoxBool" use="optional"/>
-    <!-- C++/CLI function -->
-    <xsd:attribute name="final" type="DoxBool" use="optional"/>
-    <xsd:attribute name="sealed" type="DoxBool" use="optional"/>
-    <xsd:attribute name="new" type="DoxBool" use="optional"/>
-    <!-- C++/CLI event -->
-    <xsd:attribute name="add" type="DoxBool" use="optional"/>
-    <xsd:attribute name="remove" type="DoxBool" use="optional"/>
-    <xsd:attribute name="raise" type="DoxBool" use="optional"/>
-    <!-- Objective-C 2.0 protocol method -->
-    <xsd:attribute name="optional" type="DoxBool" use="optional"/>
-    <xsd:attribute name="required" type="DoxBool" use="optional"/>
-    <!-- Objective-C 2.0 property accessor -->
-    <xsd:attribute name="accessor" type="DoxAccessor" use="optional"/>
-    <!-- UNO IDL -->
-    <xsd:attribute name="attribute" type="DoxBool" use="optional"/>
-    <xsd:attribute name="property" type="DoxBool" use="optional"/>
-    <xsd:attribute name="readonly" type="DoxBool" use="optional"/>
-    <xsd:attribute name="bound" type="DoxBool" use="optional"/>
-    <xsd:attribute name="removable" type="DoxBool" use="optional"/>
-    <xsd:attribute name="contrained" type="DoxBool" use="optional"/>
-    <xsd:attribute name="transient" type="DoxBool" use="optional"/>
-    <xsd:attribute name="maybevoid" type="DoxBool" use="optional"/>
-    <xsd:attribute name="maybedefault" type="DoxBool" use="optional"/>
-    <xsd:attribute name="maybeambiguous" type="DoxBool" use="optional"/>
-
-  </xsd:complexType>
-
-  <xsd:complexType name="descriptionType" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="title" type="xsd:string" minOccurs="0"/>          
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect1" type="docSect1Type" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="internal" type="docInternalType" minOccurs="0" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="enumvalueType" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="name" />
-      <xsd:element name="initializer" type="linkedTextType" minOccurs="0" />
-      <xsd:element name="briefdescription" type="descriptionType" minOccurs="0" />
-      <xsd:element name="detaileddescription" type="descriptionType" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:string" />
-    <xsd:attribute name="prot" type="DoxProtectionKind" />
-  </xsd:complexType>
-
-  <xsd:complexType name="templateparamlistType">
-    <xsd:sequence>
-      <xsd:element name="param" type="paramType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="paramType">
-    <xsd:sequence>
-      <xsd:element name="type" type="linkedTextType" minOccurs="0" />
-      <xsd:element name="declname" minOccurs="0" />
-      <xsd:element name="defname" minOccurs="0" />
-      <xsd:element name="array" minOccurs="0" />
-      <xsd:element name="defval" type="linkedTextType" minOccurs="0" />
-      <xsd:element name="briefdescription" type="descriptionType" minOccurs="0" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="linkedTextType" mixed="true">
-    <xsd:sequence>
-    <xsd:element name="ref" type="refTextType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="graphType">
-    <xsd:sequence>
-      <xsd:element name="node" type="nodeType" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="nodeType">
-    <xsd:sequence>
-      <xsd:element name="label" />
-      <xsd:element name="link" type="linkType" minOccurs="0" />
-      <xsd:element name="childnode" type="childnodeType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="childnodeType">
-    <xsd:sequence>
-      <xsd:element name="edgelabel" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="refid" type="xsd:string" />
-    <xsd:attribute name="relation" type="DoxGraphRelation" />
-  </xsd:complexType>
-
-  <xsd:complexType name="linkType">
-    <xsd:attribute name="refid" type="xsd:string" />
-    <xsd:attribute name="external" type="xsd:string" use="optional"/>
-  </xsd:complexType>
-
-  <xsd:complexType name="listingType">
-    <xsd:sequence>
-      <xsd:element name="codeline" type="codelineType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="codelineType">
-    <xsd:sequence>
-      <xsd:element name="highlight" type="highlightType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-    <xsd:attribute name="lineno" type="xsd:integer" />
-    <xsd:attribute name="refid" type="xsd:string" />
-    <xsd:attribute name="refkind" type="DoxRefKind" />
-    <xsd:attribute name="external" type="DoxBool" />
-  </xsd:complexType>
-
-  <xsd:complexType name="highlightType" mixed="true">
-    <xsd:choice minOccurs="0" maxOccurs="unbounded">
-      <xsd:element name="sp" />
-      <xsd:element name="ref" type="refTextType" />
-    </xsd:choice>
-    <xsd:attribute name="class" type="DoxHighlightClass" />
-  </xsd:complexType>
-
-  <xsd:complexType name="referenceType" mixed="true">
-    <xsd:attribute name="refid" type="xsd:string" />
-    <xsd:attribute name="compoundref" type="xsd:string" use="optional" />
-    <xsd:attribute name="startline" type="xsd:integer" />
-    <xsd:attribute name="endline" type="xsd:integer" />
-  </xsd:complexType>
-
-  <xsd:complexType name="locationType">
-    <xsd:attribute name="file" type="xsd:string" />
-    <xsd:attribute name="line" type="xsd:integer" />
-    <xsd:attribute name="column" type="xsd:integer" use="optional"/>
-    <xsd:attribute name="bodyfile" type="xsd:string" />
-    <xsd:attribute name="bodystart" type="xsd:integer" />
-    <xsd:attribute name="bodyend" type="xsd:integer" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docSect1Type" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="title" type="xsd:string" />       
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect2" type="docSect2Type" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="internal" type="docInternalS1Type" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docSect2Type" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="title" type="xsd:string" />       
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect3" type="docSect3Type" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="internal" type="docInternalS2Type" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docSect3Type" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="title" type="xsd:string" />       
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect4" type="docSect4Type" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="internal" type="docInternalS3Type" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docSect4Type" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="title" type="xsd:string" />       
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="internal" type="docInternalS4Type" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docInternalType" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="para"  type="docParaType"  minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect1" type="docSect1Type" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docInternalS1Type" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="para"  type="docParaType"  minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect2" type="docSect2Type" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docInternalS2Type" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="para"  type="docParaType"  minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect3" type="docSect3Type" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docInternalS3Type" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="para"  type="docParaType"  minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect3" type="docSect4Type" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docInternalS4Type" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="para"  type="docParaType"  minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:group name="docTitleCmdGroup">
-    <xsd:choice>
-      <xsd:element name="ulink" type="docURLLink" />
-      <xsd:element name="bold" type="docMarkupType" />
-      <xsd:element name="emphasis" type="docMarkupType" />
-      <xsd:element name="computeroutput" type="docMarkupType" />
-      <xsd:element name="subscript" type="docMarkupType" />
-      <xsd:element name="superscript" type="docMarkupType" />
-      <xsd:element name="center" type="docMarkupType" />
-      <xsd:element name="small" type="docMarkupType" />
-      <xsd:element name="htmlonly" type="xsd:string" />
-      <xsd:element name="manonly" type="xsd:string" />
-      <xsd:element name="xmlonly" type="xsd:string" />
-      <xsd:element name="rtfonly" type="xsd:string" />
-      <xsd:element name="latexonly" type="xsd:string" />
-      <xsd:element name="dot" type="xsd:string" />
-      <xsd:element name="plantuml" type="xsd:string" />
-      <xsd:element name="anchor" type="docAnchorType" />
-      <xsd:element name="formula" type="docFormulaType" />
-      <xsd:element name="ref" type="docRefTextType" />
-      <xsd:element name="nonbreakablespace" type="docEmptyType" />
-      <xsd:element name="iexcl" type="docEmptyType" />
-      <xsd:element name="cent" type="docEmptyType" />
-      <xsd:element name="pound" type="docEmptyType" />
-      <xsd:element name="curren" type="docEmptyType" />
-      <xsd:element name="yen" type="docEmptyType" />
-      <xsd:element name="brvbar" type="docEmptyType" />
-      <xsd:element name="sect" type="docEmptyType" />
-      <xsd:element name="umlaut" type="docEmptyType" />
-      <xsd:element name="copy" type="docEmptyType" />
-      <xsd:element name="ordf" type="docEmptyType" />
-      <xsd:element name="laquo" type="docEmptyType" />
-      <xsd:element name="not" type="docEmptyType" />
-      <xsd:element name="shy" type="docEmptyType" />
-      <xsd:element name="registered" type="docEmptyType" />
-      <xsd:element name="macr" type="docEmptyType" />
-      <xsd:element name="deg" type="docEmptyType" />
-      <xsd:element name="plusmn" type="docEmptyType" />
-      <xsd:element name="sup2" type="docEmptyType" />
-      <xsd:element name="sup3" type="docEmptyType" />
-      <xsd:element name="acute" type="docEmptyType" />
-      <xsd:element name="micro" type="docEmptyType" />
-      <xsd:element name="para" type="docEmptyType" />
-      <xsd:element name="middot" type="docEmptyType" />
-      <xsd:element name="cedil" type="docEmptyType" />
-      <xsd:element name="sup1" type="docEmptyType" />
-      <xsd:element name="ordm" type="docEmptyType" />
-      <xsd:element name="raquo" type="docEmptyType" />
-      <xsd:element name="frac14" type="docEmptyType" />
-      <xsd:element name="frac12" type="docEmptyType" />
-      <xsd:element name="frac34" type="docEmptyType" />
-      <xsd:element name="iquest" type="docEmptyType" />
-      <xsd:element name="Agrave" type="docEmptyType" />
-      <xsd:element name="Aacute" type="docEmptyType" />
-      <xsd:element name="Acirc" type="docEmptyType" />
-      <xsd:element name="Atilde" type="docEmptyType" />
-      <xsd:element name="Aumlaut" type="docEmptyType" />
-      <xsd:element name="Aring" type="docEmptyType" />
-      <xsd:element name="AElig" type="docEmptyType" />
-      <xsd:element name="Ccedil" type="docEmptyType" />
-      <xsd:element name="Egrave" type="docEmptyType" />
-      <xsd:element name="Eacute" type="docEmptyType" />
-      <xsd:element name="Ecirc" type="docEmptyType" />
-      <xsd:element name="Eumlaut" type="docEmptyType" />
-      <xsd:element name="Igrave" type="docEmptyType" />
-      <xsd:element name="Iacute" type="docEmptyType" />
-      <xsd:element name="Icirc" type="docEmptyType" />
-      <xsd:element name="Iumlaut" type="docEmptyType" />
-      <xsd:element name="ETH" type="docEmptyType" />
-      <xsd:element name="Ntilde" type="docEmptyType" />
-      <xsd:element name="Ograve" type="docEmptyType" />
-      <xsd:element name="Oacute" type="docEmptyType" />
-      <xsd:element name="Ocirc" type="docEmptyType" />
-      <xsd:element name="Otilde" type="docEmptyType" />
-      <xsd:element name="Oumlaut" type="docEmptyType" />
-      <xsd:element name="times" type="docEmptyType" />
-      <xsd:element name="Oslash" type="docEmptyType" />
-      <xsd:element name="Ugrave" type="docEmptyType" />
-      <xsd:element name="Uacute" type="docEmptyType" />
-      <xsd:element name="Ucirc" type="docEmptyType" />
-      <xsd:element name="Uumlaut" type="docEmptyType" />
-      <xsd:element name="Yacute" type="docEmptyType" />
-      <xsd:element name="THORN" type="docEmptyType" />
-      <xsd:element name="szlig" type="docEmptyType" />
-      <xsd:element name="agrave" type="docEmptyType" />
-      <xsd:element name="aacute" type="docEmptyType" />
-      <xsd:element name="acirc" type="docEmptyType" />
-      <xsd:element name="atilde" type="docEmptyType" />
-      <xsd:element name="aumlaut" type="docEmptyType" />
-      <xsd:element name="aring" type="docEmptyType" />
-      <xsd:element name="aelig" type="docEmptyType" />
-      <xsd:element name="ccedil" type="docEmptyType" />
-      <xsd:element name="egrave" type="docEmptyType" />
-      <xsd:element name="eacute" type="docEmptyType" />
-      <xsd:element name="ecirc" type="docEmptyType" />
-      <xsd:element name="eumlaut" type="docEmptyType" />
-      <xsd:element name="igrave" type="docEmptyType" />
-      <xsd:element name="iacute" type="docEmptyType" />
-      <xsd:element name="icirc" type="docEmptyType" />
-      <xsd:element name="iumlaut" type="docEmptyType" />
-      <xsd:element name="eth" type="docEmptyType" />
-      <xsd:element name="ntilde" type="docEmptyType" />
-      <xsd:element name="ograve" type="docEmptyType" />
-      <xsd:element name="oacute" type="docEmptyType" />
-      <xsd:element name="ocirc" type="docEmptyType" />
-      <xsd:element name="otilde" type="docEmptyType" />
-      <xsd:element name="oumlaut" type="docEmptyType" />
-      <xsd:element name="divide" type="docEmptyType" />
-      <xsd:element name="oslash" type="docEmptyType" />
-      <xsd:element name="ugrave" type="docEmptyType" />
-      <xsd:element name="uacute" type="docEmptyType" />
-      <xsd:element name="ucirc" type="docEmptyType" />
-      <xsd:element name="uumlaut" type="docEmptyType" />
-      <xsd:element name="yacute" type="docEmptyType" />
-      <xsd:element name="thorn" type="docEmptyType" />
-      <xsd:element name="yumlaut" type="docEmptyType" />
-      <xsd:element name="fnof" type="docEmptyType" />
-      <xsd:element name="Alpha" type="docEmptyType" />
-      <xsd:element name="Beta" type="docEmptyType" />
-      <xsd:element name="Gamma" type="docEmptyType" />
-      <xsd:element name="Delta" type="docEmptyType" />
-      <xsd:element name="Epsilon" type="docEmptyType" />
-      <xsd:element name="Zeta" type="docEmptyType" />
-      <xsd:element name="Eta" type="docEmptyType" />
-      <xsd:element name="Theta" type="docEmptyType" />
-      <xsd:element name="Iota" type="docEmptyType" />
-      <xsd:element name="Kappa" type="docEmptyType" />
-      <xsd:element name="Lambda" type="docEmptyType" />
-      <xsd:element name="Mu" type="docEmptyType" />
-      <xsd:element name="Nu" type="docEmptyType" />
-      <xsd:element name="Xi" type="docEmptyType" />
-      <xsd:element name="Omicron" type="docEmptyType" />
-      <xsd:element name="Pi" type="docEmptyType" />
-      <xsd:element name="Rho" type="docEmptyType" />
-      <xsd:element name="Sigma" type="docEmptyType" />
-      <xsd:element name="Tau" type="docEmptyType" />
-      <xsd:element name="Upsilon" type="docEmptyType" />
-      <xsd:element name="Phi" type="docEmptyType" />
-      <xsd:element name="Chi" type="docEmptyType" />
-      <xsd:element name="Psi" type="docEmptyType" />
-      <xsd:element name="Omega" type="docEmptyType" />
-      <xsd:element name="alpha" type="docEmptyType" />
-      <xsd:element name="beta" type="docEmptyType" />
-      <xsd:element name="gamma" type="docEmptyType" />
-      <xsd:element name="delta" type="docEmptyType" />
-      <xsd:element name="epsilon" type="docEmptyType" />
-      <xsd:element name="zeta" type="docEmptyType" />
-      <xsd:element name="eta" type="docEmptyType" />
-      <xsd:element name="theta" type="docEmptyType" />
-      <xsd:element name="iota" type="docEmptyType" />
-      <xsd:element name="kappa" type="docEmptyType" />
-      <xsd:element name="lambda" type="docEmptyType" />
-      <xsd:element name="mu" type="docEmptyType" />
-      <xsd:element name="nu" type="docEmptyType" />
-      <xsd:element name="xi" type="docEmptyType" />
-      <xsd:element name="omicron" type="docEmptyType" />
-      <xsd:element name="pi" type="docEmptyType" />
-      <xsd:element name="rho" type="docEmptyType" />
-      <xsd:element name="sigmaf" type="docEmptyType" />
-      <xsd:element name="sigma" type="docEmptyType" />
-      <xsd:element name="tau" type="docEmptyType" />
-      <xsd:element name="upsilon" type="docEmptyType" />
-      <xsd:element name="phi" type="docEmptyType" />
-      <xsd:element name="chi" type="docEmptyType" />
-      <xsd:element name="psi" type="docEmptyType" />
-      <xsd:element name="omega" type="docEmptyType" />
-      <xsd:element name="thetasym" type="docEmptyType" />
-      <xsd:element name="upsih" type="docEmptyType" />
-      <xsd:element name="piv" type="docEmptyType" />
-      <xsd:element name="bull" type="docEmptyType" />
-      <xsd:element name="hellip" type="docEmptyType" />
-      <xsd:element name="prime" type="docEmptyType" />
-      <xsd:element name="Prime" type="docEmptyType" />
-      <xsd:element name="oline" type="docEmptyType" />
-      <xsd:element name="frasl" type="docEmptyType" />
-      <xsd:element name="weierp" type="docEmptyType" />
-      <xsd:element name="image" type="docEmptyType" />
-      <xsd:element name="real" type="docEmptyType" />
-      <xsd:element name="trademark" type="docEmptyType" />
-      <xsd:element name="alefsym" type="docEmptyType" />
-      <xsd:element name="larr" type="docEmptyType" />
-      <xsd:element name="uarr" type="docEmptyType" />
-      <xsd:element name="rarr" type="docEmptyType" />
-      <xsd:element name="darr" type="docEmptyType" />
-      <xsd:element name="harr" type="docEmptyType" />
-      <xsd:element name="crarr" type="docEmptyType" />
-      <xsd:element name="lArr" type="docEmptyType" />
-      <xsd:element name="uArr" type="docEmptyType" />
-      <xsd:element name="rArr" type="docEmptyType" />
-      <xsd:element name="dArr" type="docEmptyType" />
-      <xsd:element name="hArr" type="docEmptyType" />
-      <xsd:element name="forall" type="docEmptyType" />
-      <xsd:element name="part" type="docEmptyType" />
-      <xsd:element name="exist" type="docEmptyType" />
-      <xsd:element name="empty" type="docEmptyType" />
-      <xsd:element name="nabla" type="docEmptyType" />
-      <xsd:element name="isin" type="docEmptyType" />
-      <xsd:element name="notin" type="docEmptyType" />
-      <xsd:element name="ni" type="docEmptyType" />
-      <xsd:element name="prod" type="docEmptyType" />
-      <xsd:element name="sum" type="docEmptyType" />
-      <xsd:element name="minus" type="docEmptyType" />
-      <xsd:element name="lowast" type="docEmptyType" />
-      <xsd:element name="radic" type="docEmptyType" />
-      <xsd:element name="prop" type="docEmptyType" />
-      <xsd:element name="infin" type="docEmptyType" />
-      <xsd:element name="ang" type="docEmptyType" />
-      <xsd:element name="and" type="docEmptyType" />
-      <xsd:element name="or" type="docEmptyType" />
-      <xsd:element name="cap" type="docEmptyType" />
-      <xsd:element name="cup" type="docEmptyType" />
-      <xsd:element name="int" type="docEmptyType" />
-      <xsd:element name="there4" type="docEmptyType" />
-      <xsd:element name="sim" type="docEmptyType" />
-      <xsd:element name="cong" type="docEmptyType" />
-      <xsd:element name="asymp" type="docEmptyType" />
-      <xsd:element name="ne" type="docEmptyType" />
-      <xsd:element name="equiv" type="docEmptyType" />
-      <xsd:element name="le" type="docEmptyType" />
-      <xsd:element name="ge" type="docEmptyType" />
-      <xsd:element name="sub" type="docEmptyType" />
-      <xsd:element name="sup" type="docEmptyType" />
-      <xsd:element name="nsub" type="docEmptyType" />
-      <xsd:element name="sube" type="docEmptyType" />
-      <xsd:element name="supe" type="docEmptyType" />
-      <xsd:element name="oplus" type="docEmptyType" />
-      <xsd:element name="otimes" type="docEmptyType" />
-      <xsd:element name="perp" type="docEmptyType" />
-      <xsd:element name="sdot" type="docEmptyType" />
-      <xsd:element name="lceil" type="docEmptyType" />
-      <xsd:element name="rceil" type="docEmptyType" />
-      <xsd:element name="lfloor" type="docEmptyType" />
-      <xsd:element name="rfloor" type="docEmptyType" />
-      <xsd:element name="lang" type="docEmptyType" />
-      <xsd:element name="rang" type="docEmptyType" />
-      <xsd:element name="loz" type="docEmptyType" />
-      <xsd:element name="spades" type="docEmptyType" />
-      <xsd:element name="clubs" type="docEmptyType" />
-      <xsd:element name="hearts" type="docEmptyType" />
-      <xsd:element name="diams" type="docEmptyType" />
-      <xsd:element name="OElig" type="docEmptyType" />
-      <xsd:element name="oelig" type="docEmptyType" />
-      <xsd:element name="Scaron" type="docEmptyType" />
-      <xsd:element name="scaron" type="docEmptyType" />
-      <xsd:element name="Yumlaut" type="docEmptyType" />
-      <xsd:element name="circ" type="docEmptyType" />
-      <xsd:element name="tilde" type="docEmptyType" />
-      <xsd:element name="ensp" type="docEmptyType" />
-      <xsd:element name="emsp" type="docEmptyType" />
-      <xsd:element name="thinsp" type="docEmptyType" />
-      <xsd:element name="zwnj" type="docEmptyType" />
-      <xsd:element name="zwj" type="docEmptyType" />
-      <xsd:element name="lrm" type="docEmptyType" />
-      <xsd:element name="rlm" type="docEmptyType" />
-      <xsd:element name="ndash" type="docEmptyType" />
-      <xsd:element name="mdash" type="docEmptyType" />
-      <xsd:element name="lsquo" type="docEmptyType" />
-      <xsd:element name="rsquo" type="docEmptyType" />
-      <xsd:element name="sbquo" type="docEmptyType" />
-      <xsd:element name="ldquo" type="docEmptyType" />
-      <xsd:element name="rdquo" type="docEmptyType" />
-      <xsd:element name="bdquo" type="docEmptyType" />
-      <xsd:element name="dagger" type="docEmptyType" />
-      <xsd:element name="Dagger" type="docEmptyType" />
-      <xsd:element name="permil" type="docEmptyType" />
-      <xsd:element name="lsaquo" type="docEmptyType" />
-      <xsd:element name="rsaquo" type="docEmptyType" />
-      <xsd:element name="euro" type="docEmptyType" />
-      <xsd:element name="trademark" type="docEmptyType" />
-    </xsd:choice>
-  </xsd:group>
-
-  <xsd:complexType name="docTitleType" mixed="true">
-    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-  </xsd:complexType>
-
-  <xsd:group name="docCmdGroup">
-    <xsd:choice>
-      <xsd:group ref="docTitleCmdGroup"/>
-      <xsd:element name="linebreak" type="docEmptyType" />
-      <xsd:element name="hruler" type="docEmptyType" />
-      <xsd:element name="preformatted" type="docMarkupType" />
-      <xsd:element name="programlisting" type="listingType" />
-      <xsd:element name="verbatim" type="xsd:string" />
-      <xsd:element name="indexentry" type="docIndexEntryType" />
-      <xsd:element name="orderedlist" type="docListType" />
-      <xsd:element name="itemizedlist" type="docListType" />
-      <xsd:element name="simplesect" type="docSimpleSectType" />
-      <xsd:element name="title" type="docTitleType" />
-      <xsd:element name="variablelist" type="docVariableListType" />
-      <xsd:element name="table" type="docTableType" />
-      <xsd:element name="heading" type="docHeadingType" />
-      <xsd:element name="image" type="docImageType" />
-      <xsd:element name="dotfile" type="docFileType" />
-      <xsd:element name="mscfile" type="docFileType" />
-      <xsd:element name="diafile" type="docFileType" />
-      <xsd:element name="toclist" type="docTocListType" />
-      <xsd:element name="language" type="docLanguageType" />
-      <xsd:element name="parameterlist" type="docParamListType" />
-      <xsd:element name="xrefsect" type="docXRefSectType" />
-      <xsd:element name="copydoc" type="docCopyType" />
-      <xsd:element name="blockquote" type="docBlockQuoteType" />
-      <xsd:element name="parblock" type="docParBlockType" />
-    </xsd:choice>
-  </xsd:group>
-
-  <xsd:complexType name="docParaType" mixed="true">
-    <xsd:group ref="docCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docMarkupType" mixed="true">
-    <xsd:group ref="docCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docURLLink" mixed="true">
-    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-    <xsd:attribute name="url" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docAnchorType" mixed="true">
-    <xsd:attribute name="id" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docFormulaType" mixed="true">
-    <xsd:attribute name="id" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docIndexEntryType">
-    <xsd:sequence>
-      <xsd:element name="primaryie" type="xsd:string" />
-      <xsd:element name="secondaryie" type="xsd:string" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docListType">
-    <xsd:sequence>
-      <xsd:element name="listitem" type="docListItemType" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docListItemType">
-    <xsd:sequence>
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docSimpleSectType">
-    <xsd:sequence>
-      <xsd:element name="title" type="docTitleType" minOccurs="0" />
-      <xsd:sequence minOccurs="0" maxOccurs="unbounded">
-        <xsd:element name="para" type="docParaType" minOccurs="1" maxOccurs="unbounded" />
-      </xsd:sequence>
-    </xsd:sequence>
-    <xsd:attribute name="kind" type="DoxSimpleSectKind" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docVarListEntryType">
-    <xsd:sequence>
-      <xsd:element name="term" type="docTitleType" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:group name="docVariableListGroup">
-    <xsd:sequence>
-      <xsd:element name="varlistentry" type="docVarListEntryType" />
-      <xsd:element name="listitem" type="docListItemType" />
-    </xsd:sequence>
-  </xsd:group>
-
-  <xsd:complexType name="docVariableListType">
-    <xsd:sequence>
-      <xsd:group ref="docVariableListGroup" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docRefTextType" mixed="true">
-    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-    <xsd:attribute name="refid" type="xsd:string" />
-    <xsd:attribute name="kindref" type="DoxRefKind" />
-    <xsd:attribute name="external" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docTableType">
-    <xsd:sequence>
-      <xsd:element name="row" type="docRowType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="caption" type="docCaptionType" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="rows" type="xsd:integer" />
-    <xsd:attribute name="cols" type="xsd:integer" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docRowType">
-    <xsd:sequence>
-      <xsd:element name="entry" type="docEntryType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docEntryType">
-    <xsd:sequence>
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-    <xsd:attribute name="thead" type="DoxBool" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docCaptionType" mixed="true">
-    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docHeadingType" mixed="true">
-    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-    <xsd:attribute name="level" type="xsd:integer" /> <!-- todo: range 1-6 -->
-  </xsd:complexType>
-
-  <xsd:complexType name="docImageType" mixed="true">
-    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-    <xsd:attribute name="type" type="DoxImageKind" /> 
-    <xsd:attribute name="name" type="xsd:string" /> 
-    <xsd:attribute name="width" type="xsd:string" /> 
-    <xsd:attribute name="height" type="xsd:string" /> 
-  </xsd:complexType>
-
-  <xsd:complexType name="docFileType" mixed="true">
-    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-    <xsd:attribute name="name" type="xsd:string" /> 
-  </xsd:complexType>
-
-  <xsd:complexType name="docTocItemType" mixed="true">
-    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-    <xsd:attribute name="id" type="xsd:string" /> 
-  </xsd:complexType>
-
-  <xsd:complexType name="docTocListType">
-    <xsd:sequence>
-      <xsd:element name="tocitem" type="docTocItemType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docLanguageType">
-    <xsd:sequence>
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-    <xsd:attribute name="langid" type="xsd:string" /> 
-  </xsd:complexType>
-
-  <xsd:complexType name="docParamListType">
-    <xsd:sequence>
-      <xsd:element name="parameteritem" type="docParamListItem" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-    <xsd:attribute name="kind" type="DoxParamListKind" /> 
-  </xsd:complexType>
-
-  <xsd:complexType name="docParamListItem">
-    <xsd:sequence>
-      <xsd:element name="parameternamelist" type="docParamNameList" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="parameterdescription" type="descriptionType" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docParamNameList">
-    <xsd:sequence>
-      <xsd:element name="parametertype" type="docParamType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="parametername" type="docParamName" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docParamType" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="ref" type="refTextType" minOccurs="0" maxOccurs="1" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docParamName" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="ref" type="refTextType" minOccurs="0" maxOccurs="1" />
-    </xsd:sequence>
-    <xsd:attribute name="direction" type="DoxParamDir" use="optional" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docXRefSectType">
-    <xsd:sequence>
-      <xsd:element name="xreftitle" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="xrefdescription" type="descriptionType" />
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:string" /> 
-  </xsd:complexType>
-
-  <xsd:complexType name="docCopyType">
-    <xsd:sequence>
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect1" type="docSect1Type" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="internal" type="docInternalType" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="link" type="xsd:string" /> 
-  </xsd:complexType>
-
-  <xsd:complexType name="docBlockQuoteType">
-    <xsd:sequence>
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docParBlockType">
-    <xsd:sequence>
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docEmptyType"/>
-
-  <!-- Simple types -->
-
-  <xsd:simpleType name="DoxBool">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="yes" />
-      <xsd:enumeration value="no" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxGraphRelation">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="include" />
-      <xsd:enumeration value="usage" />
-      <xsd:enumeration value="template-instance" />
-      <xsd:enumeration value="public-inheritance" />
-      <xsd:enumeration value="protected-inheritance" />
-      <xsd:enumeration value="private-inheritance" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxRefKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="compound" />
-      <xsd:enumeration value="member" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxMemberKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="define" />
-      <xsd:enumeration value="property" />
-      <xsd:enumeration value="event" />
-      <xsd:enumeration value="variable" />
-      <xsd:enumeration value="typedef" />
-      <xsd:enumeration value="enum" />
-      <xsd:enumeration value="function" />
-      <xsd:enumeration value="signal" />
-      <xsd:enumeration value="prototype" />
-      <xsd:enumeration value="friend" />
-      <xsd:enumeration value="dcop" />
-      <xsd:enumeration value="slot" />
-      <xsd:enumeration value="interface" />
-      <xsd:enumeration value="service" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxProtectionKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="public" />
-      <xsd:enumeration value="protected" />
-      <xsd:enumeration value="private" />
-      <xsd:enumeration value="package" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxVirtualKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="non-virtual" />
-      <xsd:enumeration value="virtual" />
-      <xsd:enumeration value="pure-virtual" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxCompoundKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="class" />
-      <xsd:enumeration value="struct" />
-      <xsd:enumeration value="union" />
-      <xsd:enumeration value="interface" />
-      <xsd:enumeration value="protocol" />
-      <xsd:enumeration value="category" />
-      <xsd:enumeration value="exception" />
-      <xsd:enumeration value="service" />
-      <xsd:enumeration value="singleton" />
-      <xsd:enumeration value="module" />
-      <xsd:enumeration value="type" />
-      <xsd:enumeration value="file" />
-      <xsd:enumeration value="namespace" />
-      <xsd:enumeration value="group" />
-      <xsd:enumeration value="page" />
-      <xsd:enumeration value="example" />
-      <xsd:enumeration value="dir" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxSectionKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="user-defined" />
-      <xsd:enumeration value="public-type" />
-      <xsd:enumeration value="public-func" />
-      <xsd:enumeration value="public-attrib" />
-      <xsd:enumeration value="public-slot" />
-      <xsd:enumeration value="signal" />
-      <xsd:enumeration value="dcop-func" />
-      <xsd:enumeration value="property" />
-      <xsd:enumeration value="event" />
-      <xsd:enumeration value="public-static-func" />
-      <xsd:enumeration value="public-static-attrib" />
-      <xsd:enumeration value="protected-type" />
-      <xsd:enumeration value="protected-func" />
-      <xsd:enumeration value="protected-attrib" />
-      <xsd:enumeration value="protected-slot" />
-      <xsd:enumeration value="protected-static-func" />
-      <xsd:enumeration value="protected-static-attrib" />
-      <xsd:enumeration value="package-type" />
-      <xsd:enumeration value="package-func" />
-      <xsd:enumeration value="package-attrib" />
-      <xsd:enumeration value="package-static-func" />
-      <xsd:enumeration value="package-static-attrib" />
-      <xsd:enumeration value="private-type" />
-      <xsd:enumeration value="private-func" />
-      <xsd:enumeration value="private-attrib" />
-      <xsd:enumeration value="private-slot" />
-      <xsd:enumeration value="private-static-func" />
-      <xsd:enumeration value="private-static-attrib" />
-      <xsd:enumeration value="friend" />
-      <xsd:enumeration value="related" />
-      <xsd:enumeration value="define" />
-      <xsd:enumeration value="prototype" />
-      <xsd:enumeration value="typedef" />
-      <xsd:enumeration value="enum" />
-      <xsd:enumeration value="func" />
-      <xsd:enumeration value="var" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxHighlightClass">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="comment" />
-      <xsd:enumeration value="normal" />
-      <xsd:enumeration value="preprocessor" />
-      <xsd:enumeration value="keyword" />
-      <xsd:enumeration value="keywordtype" />
-      <xsd:enumeration value="keywordflow" />
-      <xsd:enumeration value="stringliteral" />
-      <xsd:enumeration value="charliteral" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxSimpleSectKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="see" />
-      <xsd:enumeration value="return" />
-      <xsd:enumeration value="author" />
-      <xsd:enumeration value="authors" />
-      <xsd:enumeration value="version" />
-      <xsd:enumeration value="since" />
-      <xsd:enumeration value="date" />
-      <xsd:enumeration value="note" />
-      <xsd:enumeration value="warning" />
-      <xsd:enumeration value="pre" />
-      <xsd:enumeration value="post" />
-      <xsd:enumeration value="copyright" />
-      <xsd:enumeration value="invariant" />
-      <xsd:enumeration value="remark" />
-      <xsd:enumeration value="attention" />
-      <xsd:enumeration value="par" />
-      <xsd:enumeration value="rcs" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxVersionNumber">
-    <xsd:restriction base="xsd:string">
-      <xsd:pattern value="\d+\.\d+.*" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxImageKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="html" />
-      <xsd:enumeration value="latex" />
-      <xsd:enumeration value="rtf" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxParamListKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="param" />
-      <xsd:enumeration value="retval" />
-      <xsd:enumeration value="exception" />
-      <xsd:enumeration value="templateparam" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxCharRange">
-    <xsd:restriction base="xsd:string">
-      <xsd:pattern value="[aeiouncAEIOUNC]" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxParamDir">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="in"/>
-      <xsd:enumeration value="out"/>
-      <xsd:enumeration value="inout"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxAccessor">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="retain"/>
-      <xsd:enumeration value="copy"/>
-      <xsd:enumeration value="assign"/>
-      <xsd:enumeration value="weak"/>
-      <xsd:enumeration value="strong"/>
-      <xsd:enumeration value="unretained"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-</xsd:schema>
-
diff --git a/contrib/neo_doxygen/tests/java-project/xml/dir_68267d1309a1af8e8297ef4c3efbcdba.xml b/contrib/neo_doxygen/tests/java-project/xml/dir_68267d1309a1af8e8297ef4c3efbcdba.xml
deleted file mode 100644 (file)
index 7113035..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version='1.0' encoding='UTF-8' standalone='no'?>
-<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.8">
-  <compounddef id="dir_68267d1309a1af8e8297ef4c3efbcdba" kind="dir">
-    <compoundname>src</compoundname>
-    <innerdir refid="dir_b8e0663afee48cb679b74bbd21bdf843">src/org</innerdir>
-    <briefdescription>
-    </briefdescription>
-    <detaileddescription>
-    </detaileddescription>
-    <location file="%SOURCE_DIRECTORY%/"/>
-  </compounddef>
-</doxygen>
diff --git a/contrib/neo_doxygen/tests/java-project/xml/dir_8c35fc67c36f89d827afb23e8c52a418.xml b/contrib/neo_doxygen/tests/java-project/xml/dir_8c35fc67c36f89d827afb23e8c52a418.xml
deleted file mode 100644 (file)
index 3d720f8..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version='1.0' encoding='UTF-8' standalone='no'?>
-<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.8">
-  <compounddef id="dir_8c35fc67c36f89d827afb23e8c52a418" kind="dir">
-    <compoundname>src/org/example</compoundname>
-    <innerdir refid="dir_ad5d6582648a7bbb3a301939a41e6c0b">src/org/example/foo</innerdir>
-    <briefdescription>
-    </briefdescription>
-    <detaileddescription>
-    </detaileddescription>
-    <location file="%SOURCE_DIRECTORY%/org/example/"/>
-  </compounddef>
-</doxygen>
diff --git a/contrib/neo_doxygen/tests/java-project/xml/dir_ad5d6582648a7bbb3a301939a41e6c0b.xml b/contrib/neo_doxygen/tests/java-project/xml/dir_ad5d6582648a7bbb3a301939a41e6c0b.xml
deleted file mode 100644 (file)
index 5280bb0..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version='1.0' encoding='UTF-8' standalone='no'?>
-<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.8">
-  <compounddef id="dir_ad5d6582648a7bbb3a301939a41e6c0b" kind="dir">
-    <compoundname>src/org/example/foo</compoundname>
-    <innerfile refid="_a_8java">A.java</innerfile>
-    <innerfile refid="_b_8java">B.java</innerfile>
-    <innerfile refid="_c_8java">C.java</innerfile>
-    <innerfile refid="_empty_class_8java">EmptyClass.java</innerfile>
-    <briefdescription>
-    </briefdescription>
-    <detaileddescription>
-    </detaileddescription>
-    <location file="%SOURCE_DIRECTORY%/org/example/foo/"/>
-  </compounddef>
-</doxygen>
diff --git a/contrib/neo_doxygen/tests/java-project/xml/dir_b8e0663afee48cb679b74bbd21bdf843.xml b/contrib/neo_doxygen/tests/java-project/xml/dir_b8e0663afee48cb679b74bbd21bdf843.xml
deleted file mode 100644 (file)
index 193e7cd..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version='1.0' encoding='UTF-8' standalone='no'?>
-<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.8">
-  <compounddef id="dir_b8e0663afee48cb679b74bbd21bdf843" kind="dir">
-    <compoundname>src/org</compoundname>
-    <innerdir refid="dir_8c35fc67c36f89d827afb23e8c52a418">src/org/example</innerdir>
-    <briefdescription>
-    </briefdescription>
-    <detaileddescription>
-    </detaileddescription>
-    <location file="%SOURCE_DIRECTORY%/org/"/>
-  </compounddef>
-</doxygen>
diff --git a/contrib/neo_doxygen/tests/java-project/xml/index.xml b/contrib/neo_doxygen/tests/java-project/xml/index.xml
deleted file mode 100644 (file)
index cf3ded8..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version='1.0' encoding='UTF-8' standalone='no'?>
-<doxygenindex xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="index.xsd" version="1.8.8">
-  <compound refid="classorg_1_1example_1_1foo_1_1_a" kind="class"><name>org::example::foo::A</name>
-    <member refid="classorg_1_1example_1_1foo_1_1_a_1add415ae4129969055d678c7e7e048852" kind="function"><name>bar</name></member>
-  </compound>
-  <compound refid="classorg_1_1example_1_1foo_1_1_b" kind="class"><name>org::example::foo::B</name>
-    <member refid="classorg_1_1example_1_1foo_1_1_b_1ac6b627949b10b9357eefc0cafcae1d87" kind="variable"><name>qux</name></member>
-    <member refid="classorg_1_1example_1_1foo_1_1_b_1a11e157943665cc9e3a9be1502ebeb3b5" kind="function"><name>bar</name></member>
-    <member refid="classorg_1_1example_1_1foo_1_1_b_1a733f4e076f29c7d0c41ed258199ea1d9" kind="function"><name>baz</name></member>
-  </compound>
-  <compound refid="interfaceorg_1_1example_1_1foo_1_1_c" kind="interface"><name>org::example::foo::C</name>
-    <member refid="interfaceorg_1_1example_1_1foo_1_1_c_1a4e97061eb40b045e820de05b33c43d21" kind="variable"><name>THE_ANSWER</name></member>
-    <member refid="interfaceorg_1_1example_1_1foo_1_1_c_1a28ac7ce349ebb3e4a7747a8dd951582b" kind="function"><name>baz</name></member>
-  </compound>
-  <compound refid="classorg_1_1example_1_1foo_1_1_empty_class" kind="class"><name>org::example::foo::EmptyClass</name>
-  </compound>
-  <compound refid="namespaceorg" kind="namespace"><name>org</name>
-  </compound>
-  <compound refid="namespaceorg_1_1example" kind="namespace"><name>org::example</name>
-  </compound>
-  <compound refid="namespaceorg_1_1example_1_1foo" kind="namespace"><name>org::example::foo</name>
-  </compound>
-  <compound refid="_a_8java" kind="file"><name>A.java</name>
-  </compound>
-  <compound refid="_b_8java" kind="file"><name>B.java</name>
-  </compound>
-  <compound refid="_c_8java" kind="file"><name>C.java</name>
-  </compound>
-  <compound refid="_empty_class_8java" kind="file"><name>EmptyClass.java</name>
-  </compound>
-  <compound refid="dir_8c35fc67c36f89d827afb23e8c52a418" kind="dir"><name>src/org/example</name>
-  </compound>
-  <compound refid="dir_ad5d6582648a7bbb3a301939a41e6c0b" kind="dir"><name>src/org/example/foo</name>
-  </compound>
-  <compound refid="dir_b8e0663afee48cb679b74bbd21bdf843" kind="dir"><name>src/org</name>
-  </compound>
-  <compound refid="dir_68267d1309a1af8e8297ef4c3efbcdba" kind="dir"><name>src</name>
-  </compound>
-</doxygenindex>
diff --git a/contrib/neo_doxygen/tests/java-project/xml/index.xsd b/contrib/neo_doxygen/tests/java-project/xml/index.xsd
deleted file mode 100644 (file)
index d7ab2a9..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-<?xml version='1.0' encoding='utf-8' ?>
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-  <xsd:element name="doxygenindex" type="DoxygenType"/>
-
-  <xsd:complexType name="DoxygenType">
-    <xsd:sequence>
-      <xsd:element name="compound" type="CompoundType" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="version" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <xsd:complexType name="CompoundType">
-    <xsd:sequence>
-      <xsd:element name="name" type="xsd:string"/>
-      <xsd:element name="member" type="MemberType" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="refid" type="xsd:string" use="required"/>
-    <xsd:attribute name="kind" type="CompoundKind" use="required"/>
-  </xsd:complexType>
-
-  <xsd:complexType name="MemberType">
-    <xsd:sequence>
-      <xsd:element name="name" type="xsd:string"/>
-    </xsd:sequence>
-    <xsd:attribute name="refid" type="xsd:string" use="required"/>
-    <xsd:attribute name="kind" type="MemberKind" use="required"/>
-  </xsd:complexType>
-  
-  <xsd:simpleType name="CompoundKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="class"/>
-      <xsd:enumeration value="struct"/>
-      <xsd:enumeration value="union"/>
-      <xsd:enumeration value="interface"/>
-      <xsd:enumeration value="protocol"/>
-      <xsd:enumeration value="category"/>
-      <xsd:enumeration value="exception"/>
-      <xsd:enumeration value="file"/>
-      <xsd:enumeration value="namespace"/>
-      <xsd:enumeration value="group"/>
-      <xsd:enumeration value="page"/>
-      <xsd:enumeration value="example"/>
-      <xsd:enumeration value="dir"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="MemberKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="define"/>
-      <xsd:enumeration value="property"/>
-      <xsd:enumeration value="event"/>
-      <xsd:enumeration value="variable"/>
-      <xsd:enumeration value="typedef"/>
-      <xsd:enumeration value="enum"/>
-      <xsd:enumeration value="enumvalue"/>
-      <xsd:enumeration value="function"/>
-      <xsd:enumeration value="signal"/>
-      <xsd:enumeration value="prototype"/>
-      <xsd:enumeration value="friend"/>
-      <xsd:enumeration value="dcop"/>
-      <xsd:enumeration value="slot"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-</xsd:schema>
-
diff --git a/contrib/neo_doxygen/tests/java-project/xml/interfaceorg_1_1example_1_1foo_1_1_c.xml b/contrib/neo_doxygen/tests/java-project/xml/interfaceorg_1_1example_1_1foo_1_1_c.xml
deleted file mode 100644 (file)
index 09b577a..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version='1.0' encoding='UTF-8' standalone='no'?>
-<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.8">
-  <compounddef id="interfaceorg_1_1example_1_1foo_1_1_c" kind="interface" prot="public">
-    <compoundname>org::example::foo::C</compoundname>
-    <derivedcompoundref refid="classorg_1_1example_1_1foo_1_1_b" prot="public" virt="non-virtual">org.example.foo.B</derivedcompoundref>
-      <sectiondef kind="public-static-attrib">
-      <memberdef kind="variable" id="interfaceorg_1_1example_1_1foo_1_1_c_1a4e97061eb40b045e820de05b33c43d21" prot="public" static="yes" mutable="no">
-        <type>final long</type>
-        <definition>final long org.example.foo.C.THE_ANSWER</definition>
-        <argsstring></argsstring>
-        <name>THE_ANSWER</name>
-        <initializer>= 42L</initializer>
-        <briefdescription>
-<para>“Answer to the Ultimate Question of Life, the Universe, and Everything. </para>        </briefdescription>
-        <detaileddescription>
-<para>“ </para>        </detaileddescription>
-        <inbodydescription>
-        </inbodydescription>
-        <location file="%SOURCE_DIRECTORY%/org/example/foo/C.java" line="25" column="1" bodyfile="%SOURCE_DIRECTORY%/org/example/foo/C.java" bodystart="25" bodyend="-1"/>
-      </memberdef>
-      </sectiondef>
-      <sectiondef kind="public-func">
-      <memberdef kind="function" id="interfaceorg_1_1example_1_1foo_1_1_c_1a28ac7ce349ebb3e4a7747a8dd951582b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
-        <type>void</type>
-        <definition>void org.example.foo.C.baz</definition>
-        <argsstring>()</argsstring>
-        <name>baz</name>
-        <reimplementedby refid="classorg_1_1example_1_1foo_1_1_b_1a733f4e076f29c7d0c41ed258199ea1d9">baz</reimplementedby>
-        <briefdescription>
-<para><ref refid="classorg_1_1example_1_1foo_1_1_a" kindref="compound">A</ref> function with implicit modifiers. </para>        </briefdescription>
-        <detaileddescription>
-        </detaileddescription>
-        <inbodydescription>
-        </inbodydescription>
-        <location file="%SOURCE_DIRECTORY%/org/example/foo/C.java" line="30" column="1"/>
-      </memberdef>
-      </sectiondef>
-    <briefdescription>
-<para>An interface. </para>    </briefdescription>
-    <detaileddescription>
-    </detaileddescription>
-    <inheritancegraph>
-      <node id="10">
-        <label>org.example.foo.B</label>
-        <link refid="classorg_1_1example_1_1foo_1_1_b"/>
-        <childnode refid="9" relation="public-inheritance">
-        </childnode>
-      </node>
-      <node id="9">
-        <label>org.example.foo.C</label>
-        <link refid="interfaceorg_1_1example_1_1foo_1_1_c"/>
-      </node>
-    </inheritancegraph>
-    <location file="%SOURCE_DIRECTORY%/org/example/foo/C.java" line="21" column="1" bodyfile="%SOURCE_DIRECTORY%/org/example/foo/C.java" bodystart="21" bodyend="31"/>
-    <listofallmembers>
-      <member refid="interfaceorg_1_1example_1_1foo_1_1_c_1a28ac7ce349ebb3e4a7747a8dd951582b" prot="public" virt="non-virtual"><scope>org::example::foo::C</scope><name>baz</name></member>
-      <member refid="interfaceorg_1_1example_1_1foo_1_1_c_1a4e97061eb40b045e820de05b33c43d21" prot="public" virt="non-virtual"><scope>org::example::foo::C</scope><name>THE_ANSWER</name></member>
-    </listofallmembers>
-  </compounddef>
-</doxygen>
diff --git a/contrib/neo_doxygen/tests/java-project/xml/namespaceorg.xml b/contrib/neo_doxygen/tests/java-project/xml/namespaceorg.xml
deleted file mode 100644 (file)
index 43d6207..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version='1.0' encoding='UTF-8' standalone='no'?>
-<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.8">
-  <compounddef id="namespaceorg" kind="namespace">
-    <compoundname>org</compoundname>
-    <innernamespace refid="namespaceorg_1_1example">org::example</innernamespace>
-    <briefdescription>
-    </briefdescription>
-    <detaileddescription>
-    </detaileddescription>
-    <location file="[generated]" line="1" column="1"/>
-  </compounddef>
-</doxygen>
diff --git a/contrib/neo_doxygen/tests/java-project/xml/namespaceorg_1_1example.xml b/contrib/neo_doxygen/tests/java-project/xml/namespaceorg_1_1example.xml
deleted file mode 100644 (file)
index ee8d878..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version='1.0' encoding='UTF-8' standalone='no'?>
-<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.8">
-  <compounddef id="namespaceorg_1_1example" kind="namespace">
-    <compoundname>org::example</compoundname>
-    <innernamespace refid="namespaceorg_1_1example_1_1foo">org::example::foo</innernamespace>
-    <briefdescription>
-    </briefdescription>
-    <detaileddescription>
-    </detaileddescription>
-    <location file="[generated]" line="1" column="1"/>
-  </compounddef>
-</doxygen>
diff --git a/contrib/neo_doxygen/tests/java-project/xml/namespaceorg_1_1example_1_1foo.xml b/contrib/neo_doxygen/tests/java-project/xml/namespaceorg_1_1example_1_1foo.xml
deleted file mode 100644 (file)
index a307c92..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version='1.0' encoding='UTF-8' standalone='no'?>
-<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.8">
-  <compounddef id="namespaceorg_1_1example_1_1foo" kind="namespace">
-    <compoundname>org::example::foo</compoundname>
-    <innerclass refid="classorg_1_1example_1_1foo_1_1_a" prot="public">org::example::foo::A</innerclass>
-    <innerclass refid="classorg_1_1example_1_1foo_1_1_b" prot="public">org::example::foo::B</innerclass>
-    <innerclass refid="interfaceorg_1_1example_1_1foo_1_1_c" prot="public">org::example::foo::C</innerclass>
-    <innerclass refid="classorg_1_1example_1_1foo_1_1_empty_class" prot="package">org::example::foo::EmptyClass</innerclass>
-    <briefdescription>
-    </briefdescription>
-    <detaileddescription>
-    </detaileddescription>
-    <location file="%SOURCE_DIRECTORY%/org/example/foo/A.java" line="16" column="1"/>
-  </compounddef>
-</doxygen>
diff --git a/contrib/neo_doxygen/tests/python-def/Doxyfile b/contrib/neo_doxygen/tests/python-def/Doxyfile
deleted file mode 100644 (file)
index bd06324..0000000
+++ /dev/null
@@ -1,2381 +0,0 @@
-# Doxyfile 1.8.8
-
-# This file describes the settings to be used by the documentation system
-# doxygen (www.doxygen.org) for a project.
-#
-# All text after a double hash (##) is considered a comment and is placed in
-# front of the TAG it is preceding.
-#
-# All text after a single hash (#) is considered a comment and will be ignored.
-# The format is:
-# TAG = value [value, ...]
-# For lists, items can also be appended using:
-# TAG += value [value, ...]
-# Values that contain spaces should be placed between quotes (\" \").
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-
-# This tag specifies the encoding used for all characters in the config file
-# that follow. The default is UTF-8 which is also the encoding used for all text
-# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv
-# built into libc) for the transcoding. See http://www.gnu.org/software/libiconv
-# for the list of possible encodings.
-# The default value is: UTF-8.
-
-DOXYFILE_ENCODING      = UTF-8
-
-# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by
-# double-quotes, unless you are using Doxywizard) that should identify the
-# project for which the documentation is generated. This name is used in the
-# title of most generated pages and in a few other places.
-# The default value is: My Project.
-
-PROJECT_NAME           = "Test Project"
-
-# The PROJECT_NUMBER tag can be used to enter a project or revision number. This
-# could be handy for archiving the generated documentation or if some version
-# control system is used.
-
-PROJECT_NUMBER         =
-
-# Using the PROJECT_BRIEF tag one can provide an optional one line description
-# for a project that appears at the top of each page and should give viewer a
-# quick idea about the purpose of the project. Keep the description short.
-
-PROJECT_BRIEF          =
-
-# With the PROJECT_LOGO tag one can specify a logo or an icon that is included
-# in the documentation. The maximum height of the logo should not exceed 55
-# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy
-# the logo to the output directory.
-
-PROJECT_LOGO           =
-
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path
-# into which the generated documentation will be written. If a relative path is
-# entered, it will be relative to the location where doxygen was started. If
-# left blank the current directory will be used.
-
-OUTPUT_DIRECTORY       =
-
-# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
-# directories (in 2 levels) under the output directory of each output format and
-# will distribute the generated files over these directories. Enabling this
-# option can be useful when feeding doxygen a huge amount of source files, where
-# putting all generated files in the same directory would otherwise causes
-# performance problems for the file system.
-# The default value is: NO.
-
-CREATE_SUBDIRS         = NO
-
-# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII
-# characters to appear in the names of generated files. If set to NO, non-ASCII
-# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode
-# U+3044.
-# The default value is: NO.
-
-ALLOW_UNICODE_NAMES    = NO
-
-# The OUTPUT_LANGUAGE tag is used to specify the language in which all
-# documentation generated by doxygen is written. Doxygen will use this
-# information to generate all constant output in the proper language.
-# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese,
-# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States),
-# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian,
-# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages),
-# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian,
-# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian,
-# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish,
-# Ukrainian and Vietnamese.
-# The default value is: English.
-
-OUTPUT_LANGUAGE        = English
-
-# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member
-# descriptions after the members that are listed in the file and class
-# documentation (similar to Javadoc). Set to NO to disable this.
-# The default value is: YES.
-
-BRIEF_MEMBER_DESC      = YES
-
-# If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief
-# description of a member or function before the detailed description
-#
-# Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
-# brief descriptions will be completely suppressed.
-# The default value is: YES.
-
-REPEAT_BRIEF           = YES
-
-# This tag implements a quasi-intelligent brief description abbreviator that is
-# used to form the text in various listings. Each string in this list, if found
-# as the leading text of the brief description, will be stripped from the text
-# and the result, after processing the whole list, is used as the annotated
-# text. Otherwise, the brief description is used as-is. If left blank, the
-# following values are used ($name is automatically replaced with the name of
-# the entity):The $name class, The $name widget, The $name file, is, provides,
-# specifies, contains, represents, a, an and the.
-
-ABBREVIATE_BRIEF       = "The $name class" \
-                         "The $name widget" \
-                         "The $name file" \
-                         is \
-                         provides \
-                         specifies \
-                         contains \
-                         represents \
-                         a \
-                         an \
-                         the
-
-# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
-# doxygen will generate a detailed section even if there is only a brief
-# description.
-# The default value is: NO.
-
-ALWAYS_DETAILED_SEC    = NO
-
-# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
-# inherited members of a class in the documentation of that class as if those
-# members were ordinary class members. Constructors, destructors and assignment
-# operators of the base classes will not be shown.
-# The default value is: NO.
-
-INLINE_INHERITED_MEMB  = NO
-
-# If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path
-# before files name in the file list and in the header files. If set to NO the
-# shortest path that makes the file name unique will be used
-# The default value is: YES.
-
-FULL_PATH_NAMES        = YES
-
-# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path.
-# Stripping is only done if one of the specified strings matches the left-hand
-# part of the path. The tag can be used to show relative paths in the file list.
-# If left blank the directory from which doxygen is run is used as the path to
-# strip.
-#
-# Note that you can specify absolute paths here, but also relative paths, which
-# will be relative from the directory where doxygen is started.
-# This tag requires that the tag FULL_PATH_NAMES is set to YES.
-
-STRIP_FROM_PATH        =
-
-# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the
-# path mentioned in the documentation of a class, which tells the reader which
-# header file to include in order to use a class. If left blank only the name of
-# the header file containing the class definition is used. Otherwise one should
-# specify the list of include paths that are normally passed to the compiler
-# using the -I flag.
-
-STRIP_FROM_INC_PATH    =
-
-# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but
-# less readable) file names. This can be useful is your file systems doesn't
-# support long names like on DOS, Mac, or CD-ROM.
-# The default value is: NO.
-
-SHORT_NAMES            = NO
-
-# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the
-# first line (until the first dot) of a Javadoc-style comment as the brief
-# description. If set to NO, the Javadoc-style will behave just like regular Qt-
-# style comments (thus requiring an explicit @brief command for a brief
-# description.)
-# The default value is: NO.
-
-JAVADOC_AUTOBRIEF      = NO
-
-# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first
-# line (until the first dot) of a Qt-style comment as the brief description. If
-# set to NO, the Qt-style will behave just like regular Qt-style comments (thus
-# requiring an explicit \brief command for a brief description.)
-# The default value is: NO.
-
-QT_AUTOBRIEF           = NO
-
-# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a
-# multi-line C++ special comment block (i.e. a block of //! or /// comments) as
-# a brief description. This used to be the default behavior. The new default is
-# to treat a multi-line C++ comment block as a detailed description. Set this
-# tag to YES if you prefer the old behavior instead.
-#
-# Note that setting this tag to YES also means that rational rose comments are
-# not recognized any more.
-# The default value is: NO.
-
-MULTILINE_CPP_IS_BRIEF = NO
-
-# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the
-# documentation from any documented member that it re-implements.
-# The default value is: YES.
-
-INHERIT_DOCS           = YES
-
-# If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new
-# page for each member. If set to NO, the documentation of a member will be part
-# of the file/class/namespace that contains it.
-# The default value is: NO.
-
-SEPARATE_MEMBER_PAGES  = NO
-
-# The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen
-# uses this value to replace tabs by spaces in code fragments.
-# Minimum value: 1, maximum value: 16, default value: 4.
-
-TAB_SIZE               = 4
-
-# This tag can be used to specify a number of aliases that act as commands in
-# the documentation. An alias has the form:
-# name=value
-# For example adding
-# "sideeffect=@par Side Effects:\n"
-# will allow you to put the command \sideeffect (or @sideeffect) in the
-# documentation, which will result in a user-defined paragraph with heading
-# "Side Effects:". You can put \n's in the value part of an alias to insert
-# newlines.
-
-ALIASES                =
-
-# This tag can be used to specify a number of word-keyword mappings (TCL only).
-# A mapping has the form "name=value". For example adding "class=itcl::class"
-# will allow you to use the command class in the itcl::class meaning.
-
-TCL_SUBST              =
-
-# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
-# only. Doxygen will then generate output that is more tailored for C. For
-# instance, some of the names that are used will be different. The list of all
-# members will be omitted, etc.
-# The default value is: NO.
-
-OPTIMIZE_OUTPUT_FOR_C  = NO
-
-# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or
-# Python sources only. Doxygen will then generate output that is more tailored
-# for that language. For instance, namespaces will be presented as packages,
-# qualified scopes will look different, etc.
-# The default value is: NO.
-
-OPTIMIZE_OUTPUT_JAVA   = YES
-
-# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
-# sources. Doxygen will then generate output that is tailored for Fortran.
-# The default value is: NO.
-
-OPTIMIZE_FOR_FORTRAN   = NO
-
-# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
-# sources. Doxygen will then generate output that is tailored for VHDL.
-# The default value is: NO.
-
-OPTIMIZE_OUTPUT_VHDL   = NO
-
-# Doxygen selects the parser to use depending on the extension of the files it
-# parses. With this tag you can assign which parser to use for a given
-# extension. Doxygen has a built-in mapping, but you can override or extend it
-# using this tag. The format is ext=language, where ext is a file extension, and
-# language is one of the parsers supported by doxygen: IDL, Java, Javascript,
-# C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran:
-# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran:
-# Fortran. In the later case the parser tries to guess whether the code is fixed
-# or free formatted code, this is the default for Fortran type files), VHDL. For
-# instance to make doxygen treat .inc files as Fortran files (default is PHP),
-# and .f files as C (default is Fortran), use: inc=Fortran f=C.
-#
-# Note: For files without extension you can use no_extension as a placeholder.
-#
-# Note that for custom extensions you also need to set FILE_PATTERNS otherwise
-# the files are not read by doxygen.
-
-EXTENSION_MAPPING      =
-
-# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments
-# according to the Markdown format, which allows for more readable
-# documentation. See http://daringfireball.net/projects/markdown/ for details.
-# The output of markdown processing is further processed by doxygen, so you can
-# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in
-# case of backward compatibilities issues.
-# The default value is: YES.
-
-MARKDOWN_SUPPORT       = YES
-
-# When enabled doxygen tries to link words that correspond to documented
-# classes, or namespaces to their corresponding documentation. Such a link can
-# be prevented in individual cases by putting a % sign in front of the word or
-# globally by setting AUTOLINK_SUPPORT to NO.
-# The default value is: YES.
-
-AUTOLINK_SUPPORT       = YES
-
-# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
-# to include (a tag file for) the STL sources as input, then you should set this
-# tag to YES in order to let doxygen match functions declarations and
-# definitions whose arguments contain STL classes (e.g. func(std::string);
-# versus func(std::string) {}). This also make the inheritance and collaboration
-# diagrams that involve STL classes more complete and accurate.
-# The default value is: NO.
-
-BUILTIN_STL_SUPPORT    = NO
-
-# If you use Microsoft's C++/CLI language, you should set this option to YES to
-# enable parsing support.
-# The default value is: NO.
-
-CPP_CLI_SUPPORT        = NO
-
-# Set the SIP_SUPPORT tag to YES if your project consists of sip (see:
-# http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen
-# will parse them like normal C++ but will assume all classes use public instead
-# of private inheritance when no explicit protection keyword is present.
-# The default value is: NO.
-
-SIP_SUPPORT            = NO
-
-# For Microsoft's IDL there are propget and propput attributes to indicate
-# getter and setter methods for a property. Setting this option to YES will make
-# doxygen to replace the get and set methods by a property in the documentation.
-# This will only work if the methods are indeed getting or setting a simple
-# type. If this is not the case, or you want to show the methods anyway, you
-# should set this option to NO.
-# The default value is: YES.
-
-IDL_PROPERTY_SUPPORT   = YES
-
-# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
-# tag is set to YES then doxygen will reuse the documentation of the first
-# member in the group (if any) for the other members of the group. By default
-# all members of a group must be documented explicitly.
-# The default value is: NO.
-
-DISTRIBUTE_GROUP_DOC   = NO
-
-# Set the SUBGROUPING tag to YES to allow class member groups of the same type
-# (for instance a group of public functions) to be put as a subgroup of that
-# type (e.g. under the Public Functions section). Set it to NO to prevent
-# subgrouping. Alternatively, this can be done per class using the
-# \nosubgrouping command.
-# The default value is: YES.
-
-SUBGROUPING            = YES
-
-# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions
-# are shown inside the group in which they are included (e.g. using \ingroup)
-# instead of on a separate page (for HTML and Man pages) or section (for LaTeX
-# and RTF).
-#
-# Note that this feature does not work in combination with
-# SEPARATE_MEMBER_PAGES.
-# The default value is: NO.
-
-INLINE_GROUPED_CLASSES = NO
-
-# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions
-# with only public data fields or simple typedef fields will be shown inline in
-# the documentation of the scope in which they are defined (i.e. file,
-# namespace, or group documentation), provided this scope is documented. If set
-# to NO, structs, classes, and unions are shown on a separate page (for HTML and
-# Man pages) or section (for LaTeX and RTF).
-# The default value is: NO.
-
-INLINE_SIMPLE_STRUCTS  = NO
-
-# When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or
-# enum is documented as struct, union, or enum with the name of the typedef. So
-# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
-# with name TypeT. When disabled the typedef will appear as a member of a file,
-# namespace, or class. And the struct will be named TypeS. This can typically be
-# useful for C code in case the coding convention dictates that all compound
-# types are typedef'ed and only the typedef is referenced, never the tag name.
-# The default value is: NO.
-
-TYPEDEF_HIDES_STRUCT   = NO
-
-# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This
-# cache is used to resolve symbols given their name and scope. Since this can be
-# an expensive process and often the same symbol appears multiple times in the
-# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small
-# doxygen will become slower. If the cache is too large, memory is wasted. The
-# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range
-# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536
-# symbols. At the end of a run doxygen will report the cache usage and suggest
-# the optimal cache size from a speed point of view.
-# Minimum value: 0, maximum value: 9, default value: 0.
-
-LOOKUP_CACHE_SIZE      = 0
-
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-
-# If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in
-# documentation are documented, even if no documentation was available. Private
-# class members and static file members will be hidden unless the
-# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES.
-# Note: This will also disable the warnings about undocumented members that are
-# normally produced when WARNINGS is set to YES.
-# The default value is: NO.
-
-EXTRACT_ALL            = NO
-
-# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will
-# be included in the documentation.
-# The default value is: NO.
-
-EXTRACT_PRIVATE        = NO
-
-# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal
-# scope will be included in the documentation.
-# The default value is: NO.
-
-EXTRACT_PACKAGE        = NO
-
-# If the EXTRACT_STATIC tag is set to YES, all static members of a file will be
-# included in the documentation.
-# The default value is: NO.
-
-EXTRACT_STATIC         = NO
-
-# If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined
-# locally in source files will be included in the documentation. If set to NO,
-# only classes defined in header files are included. Does not have any effect
-# for Java sources.
-# The default value is: YES.
-
-EXTRACT_LOCAL_CLASSES  = YES
-
-# This flag is only useful for Objective-C code. If set to YES, local methods,
-# which are defined in the implementation section but not in the interface are
-# included in the documentation. If set to NO, only methods in the interface are
-# included.
-# The default value is: NO.
-
-EXTRACT_LOCAL_METHODS  = NO
-
-# If this flag is set to YES, the members of anonymous namespaces will be
-# extracted and appear in the documentation as a namespace called
-# 'anonymous_namespace{file}', where file will be replaced with the base name of
-# the file that contains the anonymous namespace. By default anonymous namespace
-# are hidden.
-# The default value is: NO.
-
-EXTRACT_ANON_NSPACES   = NO
-
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all
-# undocumented members inside documented classes or files. If set to NO these
-# members will be included in the various overviews, but no documentation
-# section is generated. This option has no effect if EXTRACT_ALL is enabled.
-# The default value is: NO.
-
-HIDE_UNDOC_MEMBERS     = NO
-
-# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all
-# undocumented classes that are normally visible in the class hierarchy. If set
-# to NO, these classes will be included in the various overviews. This option
-# has no effect if EXTRACT_ALL is enabled.
-# The default value is: NO.
-
-HIDE_UNDOC_CLASSES     = NO
-
-# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend
-# (class|struct|union) declarations. If set to NO, these declarations will be
-# included in the documentation.
-# The default value is: NO.
-
-HIDE_FRIEND_COMPOUNDS  = NO
-
-# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any
-# documentation blocks found inside the body of a function. If set to NO, these
-# blocks will be appended to the function's detailed documentation block.
-# The default value is: NO.
-
-HIDE_IN_BODY_DOCS      = NO
-
-# The INTERNAL_DOCS tag determines if documentation that is typed after a
-# \internal command is included. If the tag is set to NO then the documentation
-# will be excluded. Set it to YES to include the internal documentation.
-# The default value is: NO.
-
-INTERNAL_DOCS          = NO
-
-# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file
-# names in lower-case letters. If set to YES, upper-case letters are also
-# allowed. This is useful if you have classes or files whose names only differ
-# in case and if your file system supports case sensitive file names. Windows
-# and Mac users are advised to set this option to NO.
-# The default value is: system dependent.
-
-CASE_SENSE_NAMES       = NO
-
-# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with
-# their full class and namespace scopes in the documentation. If set to YES, the
-# scope will be hidden.
-# The default value is: NO.
-
-HIDE_SCOPE_NAMES       = NO
-
-# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of
-# the files that are included by a file in the documentation of that file.
-# The default value is: YES.
-
-SHOW_INCLUDE_FILES     = YES
-
-# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each
-# grouped member an include statement to the documentation, telling the reader
-# which file to include in order to use the member.
-# The default value is: NO.
-
-SHOW_GROUPED_MEMB_INC  = NO
-
-# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include
-# files with double quotes in the documentation rather than with sharp brackets.
-# The default value is: NO.
-
-FORCE_LOCAL_INCLUDES   = NO
-
-# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the
-# documentation for inline members.
-# The default value is: YES.
-
-INLINE_INFO            = YES
-
-# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the
-# (detailed) documentation of file and class members alphabetically by member
-# name. If set to NO, the members will appear in declaration order.
-# The default value is: YES.
-
-SORT_MEMBER_DOCS       = YES
-
-# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief
-# descriptions of file, namespace and class members alphabetically by member
-# name. If set to NO, the members will appear in declaration order. Note that
-# this will also influence the order of the classes in the class list.
-# The default value is: NO.
-
-SORT_BRIEF_DOCS        = NO
-
-# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the
-# (brief and detailed) documentation of class members so that constructors and
-# destructors are listed first. If set to NO the constructors will appear in the
-# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS.
-# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief
-# member documentation.
-# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting
-# detailed member documentation.
-# The default value is: NO.
-
-SORT_MEMBERS_CTORS_1ST = NO
-
-# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy
-# of group names into alphabetical order. If set to NO the group names will
-# appear in their defined order.
-# The default value is: NO.
-
-SORT_GROUP_NAMES       = NO
-
-# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by
-# fully-qualified names, including namespaces. If set to NO, the class list will
-# be sorted only by class name, not including the namespace part.
-# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
-# Note: This option applies only to the class list, not to the alphabetical
-# list.
-# The default value is: NO.
-
-SORT_BY_SCOPE_NAME     = NO
-
-# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper
-# type resolution of all parameters of a function it will reject a match between
-# the prototype and the implementation of a member function even if there is
-# only one candidate or it is obvious which candidate to choose by doing a
-# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still
-# accept a match between prototype and implementation in such cases.
-# The default value is: NO.
-
-STRICT_PROTO_MATCHING  = NO
-
-# The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo
-# list. This list is created by putting \todo commands in the documentation.
-# The default value is: YES.
-
-GENERATE_TODOLIST      = YES
-
-# The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test
-# list. This list is created by putting \test commands in the documentation.
-# The default value is: YES.
-
-GENERATE_TESTLIST      = YES
-
-# The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug
-# list. This list is created by putting \bug commands in the documentation.
-# The default value is: YES.
-
-GENERATE_BUGLIST       = YES
-
-# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO)
-# the deprecated list. This list is created by putting \deprecated commands in
-# the documentation.
-# The default value is: YES.
-
-GENERATE_DEPRECATEDLIST= YES
-
-# The ENABLED_SECTIONS tag can be used to enable conditional documentation
-# sections, marked by \if <section_label> ... \endif and \cond <section_label>
-# ... \endcond blocks.
-
-ENABLED_SECTIONS       =
-
-# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the
-# initial value of a variable or macro / define can have for it to appear in the
-# documentation. If the initializer consists of more lines than specified here
-# it will be hidden. Use a value of 0 to hide initializers completely. The
-# appearance of the value of individual variables and macros / defines can be
-# controlled using \showinitializer or \hideinitializer command in the
-# documentation regardless of this setting.
-# Minimum value: 0, maximum value: 10000, default value: 30.
-
-MAX_INITIALIZER_LINES  = 30
-
-# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at
-# the bottom of the documentation of classes and structs. If set to YES, the
-# list will mention the files that were used to generate the documentation.
-# The default value is: YES.
-
-SHOW_USED_FILES        = YES
-
-# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This
-# will remove the Files entry from the Quick Index and from the Folder Tree View
-# (if specified).
-# The default value is: YES.
-
-SHOW_FILES             = YES
-
-# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces
-# page. This will remove the Namespaces entry from the Quick Index and from the
-# Folder Tree View (if specified).
-# The default value is: YES.
-
-SHOW_NAMESPACES        = YES
-
-# The FILE_VERSION_FILTER tag can be used to specify a program or script that
-# doxygen should invoke to get the current version for each file (typically from
-# the version control system). Doxygen will invoke the program by executing (via
-# popen()) the command command input-file, where command is the value of the
-# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided
-# by doxygen. Whatever the program writes to standard output is used as the file
-# version. For an example see the documentation.
-
-FILE_VERSION_FILTER    =
-
-# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
-# by doxygen. The layout file controls the global structure of the generated
-# output files in an output format independent way. To create the layout file
-# that represents doxygen's defaults, run doxygen with the -l option. You can
-# optionally specify a file name after the option, if omitted DoxygenLayout.xml
-# will be used as the name of the layout file.
-#
-# Note that if you run doxygen from a directory containing a file called
-# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE
-# tag is left empty.
-
-LAYOUT_FILE            =
-
-# The CITE_BIB_FILES tag can be used to specify one or more bib files containing
-# the reference definitions. This must be a list of .bib files. The .bib
-# extension is automatically appended if omitted. This requires the bibtex tool
-# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info.
-# For LaTeX the style of the bibliography can be controlled using
-# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the
-# search path. See also \cite for info how to create references.
-
-CITE_BIB_FILES         =
-
-#---------------------------------------------------------------------------
-# Configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-# The QUIET tag can be used to turn on/off the messages that are generated to
-# standard output by doxygen. If QUIET is set to YES this implies that the
-# messages are off.
-# The default value is: NO.
-
-QUIET                  = NO
-
-# The WARNINGS tag can be used to turn on/off the warning messages that are
-# generated to standard error (stderr) by doxygen. If WARNINGS is set to YES
-# this implies that the warnings are on.
-#
-# Tip: Turn warnings on while writing the documentation.
-# The default value is: YES.
-
-WARNINGS               = YES
-
-# If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate
-# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag
-# will automatically be disabled.
-# The default value is: YES.
-
-WARN_IF_UNDOCUMENTED   = YES
-
-# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for
-# potential errors in the documentation, such as not documenting some parameters
-# in a documented function, or documenting parameters that don't exist or using
-# markup commands wrongly.
-# The default value is: YES.
-
-WARN_IF_DOC_ERROR      = YES
-
-# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that
-# are documented, but have no documentation for their parameters or return
-# value. If set to NO, doxygen will only warn about wrong or incomplete
-# parameter documentation, but not about the absence of documentation.
-# The default value is: NO.
-
-WARN_NO_PARAMDOC       = NO
-
-# The WARN_FORMAT tag determines the format of the warning messages that doxygen
-# can produce. The string should contain the $file, $line, and $text tags, which
-# will be replaced by the file and line number from which the warning originated
-# and the warning text. Optionally the format may contain $version, which will
-# be replaced by the version of the file (if it could be obtained via
-# FILE_VERSION_FILTER)
-# The default value is: $file:$line: $text.
-
-WARN_FORMAT            = "$file:$line: $text"
-
-# The WARN_LOGFILE tag can be used to specify a file to which warning and error
-# messages should be written. If left blank the output is written to standard
-# error (stderr).
-
-WARN_LOGFILE           =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the input files
-#---------------------------------------------------------------------------
-
-# The INPUT tag is used to specify the files and/or directories that contain
-# documented source files. You may enter file names like myfile.cpp or
-# directories like /usr/src/myproject. Separate the files or directories with
-# spaces.
-# Note: If this tag is empty the current directory is searched.
-
-INPUT                  = src
-
-# This tag can be used to specify the character encoding of the source files
-# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
-# libiconv (or the iconv built into libc) for the transcoding. See the libiconv
-# documentation (see: http://www.gnu.org/software/libiconv) for the list of
-# possible encodings.
-# The default value is: UTF-8.
-
-INPUT_ENCODING         = UTF-8
-
-# If the value of the INPUT tag contains directories, you can use the
-# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and
-# *.h) to filter out the source-files in the directories. If left blank the
-# following patterns are tested:*.c, *.cc, *.cxx, *.cpp, *.c++, *.java, *.ii,
-# *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, *.hh, *.hxx, *.hpp,
-# *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, *.m, *.markdown,
-# *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf,
-# *.qsf, *.as and *.js.
-
-FILE_PATTERNS          = *.c \
-                         *.cc \
-                         *.cxx \
-                         *.cpp \
-                         *.c++ \
-                         *.java \
-                         *.ii \
-                         *.ixx \
-                         *.ipp \
-                         *.i++ \
-                         *.inl \
-                         *.idl \
-                         *.ddl \
-                         *.odl \
-                         *.h \
-                         *.hh \
-                         *.hxx \
-                         *.hpp \
-                         *.h++ \
-                         *.cs \
-                         *.d \
-                         *.php \
-                         *.php4 \
-                         *.php5 \
-                         *.phtml \
-                         *.inc \
-                         *.m \
-                         *.markdown \
-                         *.md \
-                         *.mm \
-                         *.dox \
-                         *.py \
-                         *.f90 \
-                         *.f \
-                         *.for \
-                         *.tcl \
-                         *.vhd \
-                         *.vhdl \
-                         *.ucf \
-                         *.qsf \
-                         *.as \
-                         *.js
-
-# The RECURSIVE tag can be used to specify whether or not subdirectories should
-# be searched for input files as well.
-# The default value is: NO.
-
-RECURSIVE              = YES
-
-# The EXCLUDE tag can be used to specify files and/or directories that should be
-# excluded from the INPUT source files. This way you can easily exclude a
-# subdirectory from a directory tree whose root is specified with the INPUT tag.
-#
-# Note that relative paths are relative to the directory from which doxygen is
-# run.
-
-EXCLUDE                =
-
-# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
-# directories that are symbolic links (a Unix file system feature) are excluded
-# from the input.
-# The default value is: NO.
-
-EXCLUDE_SYMLINKS       = NO
-
-# If the value of the INPUT tag contains directories, you can use the
-# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
-# certain files from those directories.
-#
-# Note that the wildcards are matched against the file with absolute path, so to
-# exclude all test directories for example use the pattern */test/*
-
-EXCLUDE_PATTERNS       =
-
-# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
-# (namespaces, classes, functions, etc.) that should be excluded from the
-# output. The symbol name can be a fully qualified name, a word, or if the
-# wildcard * is used, a substring. Examples: ANamespace, AClass,
-# AClass::ANamespace, ANamespace::*Test
-#
-# Note that the wildcards are matched against the file with absolute path, so to
-# exclude all test directories use the pattern */test/*
-
-EXCLUDE_SYMBOLS        =
-
-# The EXAMPLE_PATH tag can be used to specify one or more files or directories
-# that contain example code fragments that are included (see the \include
-# command).
-
-EXAMPLE_PATH           =
-
-# If the value of the EXAMPLE_PATH tag contains directories, you can use the
-# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and
-# *.h) to filter out the source-files in the directories. If left blank all
-# files are included.
-
-EXAMPLE_PATTERNS       = *
-
-# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
-# searched for input files to be used with the \include or \dontinclude commands
-# irrespective of the value of the RECURSIVE tag.
-# The default value is: NO.
-
-EXAMPLE_RECURSIVE      = NO
-
-# The IMAGE_PATH tag can be used to specify one or more files or directories
-# that contain images that are to be included in the documentation (see the
-# \image command).
-
-IMAGE_PATH             =
-
-# The INPUT_FILTER tag can be used to specify a program that doxygen should
-# invoke to filter for each input file. Doxygen will invoke the filter program
-# by executing (via popen()) the command:
-#
-# <filter> <input-file>
-#
-# where <filter> is the value of the INPUT_FILTER tag, and <input-file> is the
-# name of an input file. Doxygen will then use the output that the filter
-# program writes to standard output. If FILTER_PATTERNS is specified, this tag
-# will be ignored.
-#
-# Note that the filter must not add or remove lines; it is applied before the
-# code is scanned, but not when the output code is generated. If lines are added
-# or removed, the anchors will not be placed correctly.
-
-INPUT_FILTER           =
-
-# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
-# basis. Doxygen will compare the file name with each pattern and apply the
-# filter if there is a match. The filters are a list of the form: pattern=filter
-# (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how
-# filters are used. If the FILTER_PATTERNS tag is empty or if none of the
-# patterns match the file name, INPUT_FILTER is applied.
-
-FILTER_PATTERNS        =
-
-# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
-# INPUT_FILTER) will also be used to filter the input files that are used for
-# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES).
-# The default value is: NO.
-
-FILTER_SOURCE_FILES    = NO
-
-# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file
-# pattern. A pattern will override the setting for FILTER_PATTERN (if any) and
-# it is also possible to disable source filtering for a specific pattern using
-# *.ext= (so without naming a filter).
-# This tag requires that the tag FILTER_SOURCE_FILES is set to YES.
-
-FILTER_SOURCE_PATTERNS =
-
-# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that
-# is part of the input, its contents will be placed on the main page
-# (index.html). This can be useful if you have a project on for instance GitHub
-# and want to reuse the introduction page also for the doxygen output.
-
-USE_MDFILE_AS_MAINPAGE =
-
-#---------------------------------------------------------------------------
-# Configuration options related to source browsing
-#---------------------------------------------------------------------------
-
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will be
-# generated. Documented entities will be cross-referenced with these sources.
-#
-# Note: To get rid of all source code in the generated output, make sure that
-# also VERBATIM_HEADERS is set to NO.
-# The default value is: NO.
-
-SOURCE_BROWSER         = NO
-
-# Setting the INLINE_SOURCES tag to YES will include the body of functions,
-# classes and enums directly into the documentation.
-# The default value is: NO.
-
-INLINE_SOURCES         = NO
-
-# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any
-# special comment blocks from generated source code fragments. Normal C, C++ and
-# Fortran comments will always remain visible.
-# The default value is: YES.
-
-STRIP_CODE_COMMENTS    = YES
-
-# If the REFERENCED_BY_RELATION tag is set to YES then for each documented
-# function all documented functions referencing it will be listed.
-# The default value is: NO.
-
-REFERENCED_BY_RELATION = NO
-
-# If the REFERENCES_RELATION tag is set to YES then for each documented function
-# all documented entities called/used by that function will be listed.
-# The default value is: NO.
-
-REFERENCES_RELATION    = NO
-
-# If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set
-# to YES then the hyperlinks from functions in REFERENCES_RELATION and
-# REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will
-# link to the documentation.
-# The default value is: YES.
-
-REFERENCES_LINK_SOURCE = YES
-
-# If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the
-# source code will show a tooltip with additional information such as prototype,
-# brief description and links to the definition and documentation. Since this
-# will make the HTML file larger and loading of large files a bit slower, you
-# can opt to disable this feature.
-# The default value is: YES.
-# This tag requires that the tag SOURCE_BROWSER is set to YES.
-
-SOURCE_TOOLTIPS        = YES
-
-# If the USE_HTAGS tag is set to YES then the references to source code will
-# point to the HTML generated by the htags(1) tool instead of doxygen built-in
-# source browser. The htags tool is part of GNU's global source tagging system
-# (see http://www.gnu.org/software/global/global.html). You will need version
-# 4.8.6 or higher.
-#
-# To use it do the following:
-# - Install the latest version of global
-# - Enable SOURCE_BROWSER and USE_HTAGS in the config file
-# - Make sure the INPUT points to the root of the source tree
-# - Run doxygen as normal
-#
-# Doxygen will invoke htags (and that will in turn invoke gtags), so these
-# tools must be available from the command line (i.e. in the search path).
-#
-# The result: instead of the source browser generated by doxygen, the links to
-# source code will now point to the output of htags.
-# The default value is: NO.
-# This tag requires that the tag SOURCE_BROWSER is set to YES.
-
-USE_HTAGS              = NO
-
-# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a
-# verbatim copy of the header file for each class for which an include is
-# specified. Set to NO to disable this.
-# See also: Section \class.
-# The default value is: YES.
-
-VERBATIM_HEADERS       = YES
-
-#---------------------------------------------------------------------------
-# Configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all
-# compounds will be generated. Enable this if the project contains a lot of
-# classes, structs, unions or interfaces.
-# The default value is: YES.
-
-ALPHABETICAL_INDEX     = YES
-
-# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in
-# which the alphabetical index list will be split.
-# Minimum value: 1, maximum value: 20, default value: 5.
-# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
-
-COLS_IN_ALPHA_INDEX    = 5
-
-# In case all classes in a project start with a common prefix, all classes will
-# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag
-# can be used to specify a prefix (or a list of prefixes) that should be ignored
-# while generating the index headers.
-# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
-
-IGNORE_PREFIX          =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output
-# The default value is: YES.
-
-GENERATE_HTML          = NO
-
-# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a
-# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
-# it.
-# The default directory is: html.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_OUTPUT            = html
-
-# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each
-# generated HTML page (for example: .htm, .php, .asp).
-# The default value is: .html.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_FILE_EXTENSION    = .html
-
-# The HTML_HEADER tag can be used to specify a user-defined HTML header file for
-# each generated HTML page. If the tag is left blank doxygen will generate a
-# standard header.
-#
-# To get valid HTML the header file that includes any scripts and style sheets
-# that doxygen needs, which is dependent on the configuration options used (e.g.
-# the setting GENERATE_TREEVIEW). It is highly recommended to start with a
-# default header using
-# doxygen -w html new_header.html new_footer.html new_stylesheet.css
-# YourConfigFile
-# and then modify the file new_header.html. See also section "Doxygen usage"
-# for information on how to generate the default header that doxygen normally
-# uses.
-# Note: The header is subject to change so you typically have to regenerate the
-# default header when upgrading to a newer version of doxygen. For a description
-# of the possible markers and block names see the documentation.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_HEADER            =
-
-# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each
-# generated HTML page. If the tag is left blank doxygen will generate a standard
-# footer. See HTML_HEADER for more information on how to generate a default
-# footer and what special commands can be used inside the footer. See also
-# section "Doxygen usage" for information on how to generate the default footer
-# that doxygen normally uses.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_FOOTER            =
-
-# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style
-# sheet that is used by each HTML page. It can be used to fine-tune the look of
-# the HTML output. If left blank doxygen will generate a default style sheet.
-# See also section "Doxygen usage" for information on how to generate the style
-# sheet that doxygen normally uses.
-# Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as
-# it is more robust and this tag (HTML_STYLESHEET) will in the future become
-# obsolete.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_STYLESHEET        =
-
-# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined
-# cascading style sheets that are included after the standard style sheets
-# created by doxygen. Using this option one can overrule certain style aspects.
-# This is preferred over using HTML_STYLESHEET since it does not replace the
-# standard style sheet and is therefore more robust against future updates.
-# Doxygen will copy the style sheet files to the output directory.
-# Note: The order of the extra stylesheet files is of importance (e.g. the last
-# stylesheet in the list overrules the setting of the previous ones in the
-# list). For an example see the documentation.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_EXTRA_STYLESHEET  =
-
-# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
-# other source files which should be copied to the HTML output directory. Note
-# that these files will be copied to the base HTML output directory. Use the
-# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these
-# files. In the HTML_STYLESHEET file, use the file name only. Also note that the
-# files will be copied as-is; there are no commands or markers available.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_EXTRA_FILES       =
-
-# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen
-# will adjust the colors in the stylesheet and background images according to
-# this color. Hue is specified as an angle on a colorwheel, see
-# http://en.wikipedia.org/wiki/Hue for more information. For instance the value
-# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300
-# purple, and 360 is red again.
-# Minimum value: 0, maximum value: 359, default value: 220.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_COLORSTYLE_HUE    = 220
-
-# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors
-# in the HTML output. For a value of 0 the output will use grayscales only. A
-# value of 255 will produce the most vivid colors.
-# Minimum value: 0, maximum value: 255, default value: 100.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_COLORSTYLE_SAT    = 100
-
-# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the
-# luminance component of the colors in the HTML output. Values below 100
-# gradually make the output lighter, whereas values above 100 make the output
-# darker. The value divided by 100 is the actual gamma applied, so 80 represents
-# a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not
-# change the gamma.
-# Minimum value: 40, maximum value: 240, default value: 80.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_COLORSTYLE_GAMMA  = 80
-
-# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
-# page will contain the date and time when the page was generated. Setting this
-# to NO can help when comparing the output of multiple runs.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_TIMESTAMP         = YES
-
-# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
-# documentation will contain sections that can be hidden and shown after the
-# page has loaded.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_DYNAMIC_SECTIONS  = NO
-
-# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries
-# shown in the various tree structured indices initially; the user can expand
-# and collapse entries dynamically later on. Doxygen will expand the tree to
-# such a level that at most the specified number of entries are visible (unless
-# a fully collapsed tree already exceeds this amount). So setting the number of
-# entries 1 will produce a full collapsed tree by default. 0 is a special value
-# representing an infinite number of entries and will result in a full expanded
-# tree by default.
-# Minimum value: 0, maximum value: 9999, default value: 100.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_INDEX_NUM_ENTRIES = 100
-
-# If the GENERATE_DOCSET tag is set to YES, additional index files will be
-# generated that can be used as input for Apple's Xcode 3 integrated development
-# environment (see: http://developer.apple.com/tools/xcode/), introduced with
-# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a
-# Makefile in the HTML output directory. Running make will produce the docset in
-# that directory and running make install will install the docset in
-# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at
-# startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
-# for more information.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-GENERATE_DOCSET        = NO
-
-# This tag determines the name of the docset feed. A documentation feed provides
-# an umbrella under which multiple documentation sets from a single provider
-# (such as a company or product suite) can be grouped.
-# The default value is: Doxygen generated docs.
-# This tag requires that the tag GENERATE_DOCSET is set to YES.
-
-DOCSET_FEEDNAME        = "Doxygen generated docs"
-
-# This tag specifies a string that should uniquely identify the documentation
-# set bundle. This should be a reverse domain-name style string, e.g.
-# com.mycompany.MyDocSet. Doxygen will append .docset to the name.
-# The default value is: org.doxygen.Project.
-# This tag requires that the tag GENERATE_DOCSET is set to YES.
-
-DOCSET_BUNDLE_ID       = org.doxygen.Project
-
-# The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify
-# the documentation publisher. This should be a reverse domain-name style
-# string, e.g. com.mycompany.MyDocSet.documentation.
-# The default value is: org.doxygen.Publisher.
-# This tag requires that the tag GENERATE_DOCSET is set to YES.
-
-DOCSET_PUBLISHER_ID    = org.doxygen.Publisher
-
-# The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher.
-# The default value is: Publisher.
-# This tag requires that the tag GENERATE_DOCSET is set to YES.
-
-DOCSET_PUBLISHER_NAME  = Publisher
-
-# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three
-# additional HTML index files: index.hhp, index.hhc, and index.hhk. The
-# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop
-# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on
-# Windows.
-#
-# The HTML Help Workshop contains a compiler that can convert all HTML output
-# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML
-# files are now used as the Windows 98 help format, and will replace the old
-# Windows help format (.hlp) on all Windows platforms in the future. Compressed
-# HTML files also contain an index, a table of contents, and you can search for
-# words in the documentation. The HTML workshop also contains a viewer for
-# compressed HTML files.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-GENERATE_HTMLHELP      = NO
-
-# The CHM_FILE tag can be used to specify the file name of the resulting .chm
-# file. You can add a path in front of the file if the result should not be
-# written to the html output directory.
-# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-
-CHM_FILE               =
-
-# The HHC_LOCATION tag can be used to specify the location (absolute path
-# including file name) of the HTML help compiler (hhc.exe). If non-empty,
-# doxygen will try to run the HTML help compiler on the generated index.hhp.
-# The file has to be specified with full path.
-# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-
-HHC_LOCATION           =
-
-# The GENERATE_CHI flag controls if a separate .chi index file is generated
-# (YES) or that it should be included in the master .chm file (NO).
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-
-GENERATE_CHI           = NO
-
-# The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc)
-# and project file content.
-# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-
-CHM_INDEX_ENCODING     =
-
-# The BINARY_TOC flag controls whether a binary table of contents is generated
-# (YES) or a normal table of contents (NO) in the .chm file. Furthermore it
-# enables the Previous and Next buttons.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-
-BINARY_TOC             = NO
-
-# The TOC_EXPAND flag can be set to YES to add extra items for group members to
-# the table of contents of the HTML help documentation and to the tree view.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-
-TOC_EXPAND             = NO
-
-# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
-# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that
-# can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help
-# (.qch) of the generated HTML documentation.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-GENERATE_QHP           = NO
-
-# If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify
-# the file name of the resulting .qch file. The path specified is relative to
-# the HTML output folder.
-# This tag requires that the tag GENERATE_QHP is set to YES.
-
-QCH_FILE               =
-
-# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help
-# Project output. For more information please see Qt Help Project / Namespace
-# (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace).
-# The default value is: org.doxygen.Project.
-# This tag requires that the tag GENERATE_QHP is set to YES.
-
-QHP_NAMESPACE          = org.doxygen.Project
-
-# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt
-# Help Project output. For more information please see Qt Help Project / Virtual
-# Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual-
-# folders).
-# The default value is: doc.
-# This tag requires that the tag GENERATE_QHP is set to YES.
-
-QHP_VIRTUAL_FOLDER     = doc
-
-# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom
-# filter to add. For more information please see Qt Help Project / Custom
-# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
-# filters).
-# This tag requires that the tag GENERATE_QHP is set to YES.
-
-QHP_CUST_FILTER_NAME   =
-
-# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the
-# custom filter to add. For more information please see Qt Help Project / Custom
-# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
-# filters).
-# This tag requires that the tag GENERATE_QHP is set to YES.
-
-QHP_CUST_FILTER_ATTRS  =
-
-# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
-# project's filter section matches. Qt Help Project / Filter Attributes (see:
-# http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes).
-# This tag requires that the tag GENERATE_QHP is set to YES.
-
-QHP_SECT_FILTER_ATTRS  =
-
-# The QHG_LOCATION tag can be used to specify the location of Qt's
-# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the
-# generated .qhp file.
-# This tag requires that the tag GENERATE_QHP is set to YES.
-
-QHG_LOCATION           =
-
-# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be
-# generated, together with the HTML files, they form an Eclipse help plugin. To
-# install this plugin and make it available under the help contents menu in
-# Eclipse, the contents of the directory containing the HTML and XML files needs
-# to be copied into the plugins directory of eclipse. The name of the directory
-# within the plugins directory should be the same as the ECLIPSE_DOC_ID value.
-# After copying Eclipse needs to be restarted before the help appears.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-GENERATE_ECLIPSEHELP   = NO
-
-# A unique identifier for the Eclipse help plugin. When installing the plugin
-# the directory name containing the HTML and XML files should also have this
-# name. Each documentation set should have its own identifier.
-# The default value is: org.doxygen.Project.
-# This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES.
-
-ECLIPSE_DOC_ID         = org.doxygen.Project
-
-# If you want full control over the layout of the generated HTML pages it might
-# be necessary to disable the index and replace it with your own. The
-# DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top
-# of each HTML page. A value of NO enables the index and the value YES disables
-# it. Since the tabs in the index contain the same information as the navigation
-# tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-DISABLE_INDEX          = NO
-
-# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
-# structure should be generated to display hierarchical information. If the tag
-# value is set to YES, a side panel will be generated containing a tree-like
-# index structure (just like the one that is generated for HTML Help). For this
-# to work a browser that supports JavaScript, DHTML, CSS and frames is required
-# (i.e. any modern browser). Windows users are probably better off using the
-# HTML help feature. Via custom stylesheets (see HTML_EXTRA_STYLESHEET) one can
-# further fine-tune the look of the index. As an example, the default style
-# sheet generated by doxygen has an example that shows how to put an image at
-# the root of the tree instead of the PROJECT_NAME. Since the tree basically has
-# the same information as the tab index, you could consider setting
-# DISABLE_INDEX to YES when enabling this option.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-GENERATE_TREEVIEW      = NO
-
-# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that
-# doxygen will group on one line in the generated HTML documentation.
-#
-# Note that a value of 0 will completely suppress the enum values from appearing
-# in the overview section.
-# Minimum value: 0, maximum value: 20, default value: 4.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-ENUM_VALUES_PER_LINE   = 4
-
-# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used
-# to set the initial width (in pixels) of the frame in which the tree is shown.
-# Minimum value: 0, maximum value: 1500, default value: 250.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-TREEVIEW_WIDTH         = 250
-
-# If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to
-# external symbols imported via tag files in a separate window.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-EXT_LINKS_IN_WINDOW    = NO
-
-# Use this tag to change the font size of LaTeX formulas included as images in
-# the HTML documentation. When you change the font size after a successful
-# doxygen run you need to manually remove any form_*.png images from the HTML
-# output directory to force them to be regenerated.
-# Minimum value: 8, maximum value: 50, default value: 10.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-FORMULA_FONTSIZE       = 10
-
-# Use the FORMULA_TRANPARENT tag to determine whether or not the images
-# generated for formulas are transparent PNGs. Transparent PNGs are not
-# supported properly for IE 6.0, but are supported on all modern browsers.
-#
-# Note that when changing this option you need to delete any form_*.png files in
-# the HTML output directory before the changes have effect.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-FORMULA_TRANSPARENT    = YES
-
-# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see
-# http://www.mathjax.org) which uses client side Javascript for the rendering
-# instead of using pre-rendered bitmaps. Use this if you do not have LaTeX
-# installed or if you want to formulas look prettier in the HTML output. When
-# enabled you may also need to install MathJax separately and configure the path
-# to it using the MATHJAX_RELPATH option.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-USE_MATHJAX            = NO
-
-# When MathJax is enabled you can set the default output format to be used for
-# the MathJax output. See the MathJax site (see:
-# http://docs.mathjax.org/en/latest/output.html) for more details.
-# Possible values are: HTML-CSS (which is slower, but has the best
-# compatibility), NativeMML (i.e. MathML) and SVG.
-# The default value is: HTML-CSS.
-# This tag requires that the tag USE_MATHJAX is set to YES.
-
-MATHJAX_FORMAT         = HTML-CSS
-
-# When MathJax is enabled you need to specify the location relative to the HTML
-# output directory using the MATHJAX_RELPATH option. The destination directory
-# should contain the MathJax.js script. For instance, if the mathjax directory
-# is located at the same level as the HTML output directory, then
-# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax
-# Content Delivery Network so you can quickly see the result without installing
-# MathJax. However, it is strongly recommended to install a local copy of
-# MathJax from http://www.mathjax.org before deployment.
-# The default value is: http://cdn.mathjax.org/mathjax/latest.
-# This tag requires that the tag USE_MATHJAX is set to YES.
-
-MATHJAX_RELPATH        = http://cdn.mathjax.org/mathjax/latest
-
-# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax
-# extension names that should be enabled during MathJax rendering. For example
-# MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols
-# This tag requires that the tag USE_MATHJAX is set to YES.
-
-MATHJAX_EXTENSIONS     =
-
-# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces
-# of code that will be used on startup of the MathJax code. See the MathJax site
-# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an
-# example see the documentation.
-# This tag requires that the tag USE_MATHJAX is set to YES.
-
-MATHJAX_CODEFILE       =
-
-# When the SEARCHENGINE tag is enabled doxygen will generate a search box for
-# the HTML output. The underlying search engine uses javascript and DHTML and
-# should work on any modern browser. Note that when using HTML help
-# (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET)
-# there is already a search function so this one should typically be disabled.
-# For large projects the javascript based search engine can be slow, then
-# enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to
-# search using the keyboard; to jump to the search box use <access key> + S
-# (what the <access key> is depends on the OS and browser, but it is typically
-# <CTRL>, <ALT>/<option>, or both). Inside the search box use the <cursor down
-# key> to jump into the search results window, the results can be navigated
-# using the <cursor keys>. Press <Enter> to select an item or <escape> to cancel
-# the search. The filter options can be selected when the cursor is inside the
-# search box by pressing <Shift>+<cursor down>. Also here use the <cursor keys>
-# to select a filter and <Enter> or <escape> to activate or cancel the filter
-# option.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-SEARCHENGINE           = YES
-
-# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
-# implemented using a web server instead of a web client using Javascript. There
-# are two flavors of web server based searching depending on the EXTERNAL_SEARCH
-# setting. When disabled, doxygen will generate a PHP script for searching and
-# an index file used by the script. When EXTERNAL_SEARCH is enabled the indexing
-# and searching needs to be provided by external tools. See the section
-# "External Indexing and Searching" for details.
-# The default value is: NO.
-# This tag requires that the tag SEARCHENGINE is set to YES.
-
-SERVER_BASED_SEARCH    = NO
-
-# When EXTERNAL_SEARCH tag is enabled doxygen will no longer generate the PHP
-# script for searching. Instead the search results are written to an XML file
-# which needs to be processed by an external indexer. Doxygen will invoke an
-# external search engine pointed to by the SEARCHENGINE_URL option to obtain the
-# search results.
-#
-# Doxygen ships with an example indexer (doxyindexer) and search engine
-# (doxysearch.cgi) which are based on the open source search engine library
-# Xapian (see: http://xapian.org/).
-#
-# See the section "External Indexing and Searching" for details.
-# The default value is: NO.
-# This tag requires that the tag SEARCHENGINE is set to YES.
-
-EXTERNAL_SEARCH        = NO
-
-# The SEARCHENGINE_URL should point to a search engine hosted by a web server
-# which will return the search results when EXTERNAL_SEARCH is enabled.
-#
-# Doxygen ships with an example indexer (doxyindexer) and search engine
-# (doxysearch.cgi) which are based on the open source search engine library
-# Xapian (see: http://xapian.org/). See the section "External Indexing and
-# Searching" for details.
-# This tag requires that the tag SEARCHENGINE is set to YES.
-
-SEARCHENGINE_URL       =
-
-# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed
-# search data is written to a file for indexing by an external tool. With the
-# SEARCHDATA_FILE tag the name of this file can be specified.
-# The default file is: searchdata.xml.
-# This tag requires that the tag SEARCHENGINE is set to YES.
-
-SEARCHDATA_FILE        = searchdata.xml
-
-# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the
-# EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is
-# useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple
-# projects and redirect the results back to the right project.
-# This tag requires that the tag SEARCHENGINE is set to YES.
-
-EXTERNAL_SEARCH_ID     =
-
-# The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen
-# projects other than the one defined by this configuration file, but that are
-# all added to the same external search index. Each project needs to have a
-# unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id of
-# to a relative location where the documentation can be found. The format is:
-# EXTRA_SEARCH_MAPPINGS = tagname1=loc1 tagname2=loc2 ...
-# This tag requires that the tag SEARCHENGINE is set to YES.
-
-EXTRA_SEARCH_MAPPINGS  =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_LATEX tag is set to YES, doxygen will generate LaTeX output.
-# The default value is: YES.
-
-GENERATE_LATEX         = NO
-
-# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. If a
-# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
-# it.
-# The default directory is: latex.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_OUTPUT           = latex
-
-# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
-# invoked.
-#
-# Note that when enabling USE_PDFLATEX this option is only used for generating
-# bitmaps for formulas in the HTML output, but not in the Makefile that is
-# written to the output directory.
-# The default file is: latex.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_CMD_NAME         = latex
-
-# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate
-# index for LaTeX.
-# The default file is: makeindex.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-MAKEINDEX_CMD_NAME     = makeindex
-
-# If the COMPACT_LATEX tag is set to YES, doxygen generates more compact LaTeX
-# documents. This may be useful for small projects and may help to save some
-# trees in general.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-COMPACT_LATEX          = NO
-
-# The PAPER_TYPE tag can be used to set the paper type that is used by the
-# printer.
-# Possible values are: a4 (210 x 297 mm), letter (8.5 x 11 inches), legal (8.5 x
-# 14 inches) and executive (7.25 x 10.5 inches).
-# The default value is: a4.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-PAPER_TYPE             = a4
-
-# The EXTRA_PACKAGES tag can be used to specify one or more LaTeX package names
-# that should be included in the LaTeX output. To get the times font for
-# instance you can specify
-# EXTRA_PACKAGES=times
-# If left blank no extra packages will be included.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-EXTRA_PACKAGES         =
-
-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for the
-# generated LaTeX document. The header should contain everything until the first
-# chapter. If it is left blank doxygen will generate a standard header. See
-# section "Doxygen usage" for information on how to let doxygen write the
-# default header to a separate file.
-#
-# Note: Only use a user-defined header if you know what you are doing! The
-# following commands have a special meaning inside the header: $title,
-# $datetime, $date, $doxygenversion, $projectname, $projectnumber,
-# $projectbrief, $projectlogo. Doxygen will replace $title with the empty
-# string, for the replacement values of the other commands the user is referred
-# to HTML_HEADER.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_HEADER           =
-
-# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for the
-# generated LaTeX document. The footer should contain everything after the last
-# chapter. If it is left blank doxygen will generate a standard footer. See
-# LATEX_HEADER for more information on how to generate a default footer and what
-# special commands can be used inside the footer.
-#
-# Note: Only use a user-defined footer if you know what you are doing!
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_FOOTER           =
-
-# The LATEX_EXTRA_FILES tag can be used to specify one or more extra images or
-# other source files which should be copied to the LATEX_OUTPUT output
-# directory. Note that the files will be copied as-is; there are no commands or
-# markers available.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_EXTRA_FILES      =
-
-# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated is
-# prepared for conversion to PDF (using ps2pdf or pdflatex). The PDF file will
-# contain links (just like the HTML output) instead of page references. This
-# makes the output suitable for online browsing using a PDF viewer.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-PDF_HYPERLINKS         = YES
-
-# If the USE_PDFLATEX tag is set to YES, doxygen will use pdflatex to generate
-# the PDF file directly from the LaTeX files. Set this option to YES, to get a
-# higher quality PDF documentation.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-USE_PDFLATEX           = YES
-
-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \batchmode
-# command to the generated LaTeX files. This will instruct LaTeX to keep running
-# if errors occur, instead of asking the user for help. This option is also used
-# when generating formulas in HTML.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_BATCHMODE        = NO
-
-# If the LATEX_HIDE_INDICES tag is set to YES then doxygen will not include the
-# index chapters (such as File Index, Compound Index, etc.) in the output.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_HIDE_INDICES     = NO
-
-# If the LATEX_SOURCE_CODE tag is set to YES then doxygen will include source
-# code with syntax highlighting in the LaTeX output.
-#
-# Note that which sources are shown also depends on other settings such as
-# SOURCE_BROWSER.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_SOURCE_CODE      = NO
-
-# The LATEX_BIB_STYLE tag can be used to specify the style to use for the
-# bibliography, e.g. plainnat, or ieeetr. See
-# http://en.wikipedia.org/wiki/BibTeX and \cite for more info.
-# The default value is: plain.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_BIB_STYLE        = plain
-
-#---------------------------------------------------------------------------
-# Configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_RTF tag is set to YES, doxygen will generate RTF output. The
-# RTF output is optimized for Word 97 and may not look too pretty with other RTF
-# readers/editors.
-# The default value is: NO.
-
-GENERATE_RTF           = NO
-
-# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. If a
-# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
-# it.
-# The default directory is: rtf.
-# This tag requires that the tag GENERATE_RTF is set to YES.
-
-RTF_OUTPUT             = rtf
-
-# If the COMPACT_RTF tag is set to YES, doxygen generates more compact RTF
-# documents. This may be useful for small projects and may help to save some
-# trees in general.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_RTF is set to YES.
-
-COMPACT_RTF            = NO
-
-# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated will
-# contain hyperlink fields. The RTF file will contain links (just like the HTML
-# output) instead of page references. This makes the output suitable for online
-# browsing using Word or some other Word compatible readers that support those
-# fields.
-#
-# Note: WordPad (write) and others do not support links.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_RTF is set to YES.
-
-RTF_HYPERLINKS         = NO
-
-# Load stylesheet definitions from file. Syntax is similar to doxygen's config
-# file, i.e. a series of assignments. You only have to provide replacements,
-# missing definitions are set to their default value.
-#
-# See also section "Doxygen usage" for information on how to generate the
-# default style sheet that doxygen normally uses.
-# This tag requires that the tag GENERATE_RTF is set to YES.
-
-RTF_STYLESHEET_FILE    =
-
-# Set optional variables used in the generation of an RTF document. Syntax is
-# similar to doxygen's config file. A template extensions file can be generated
-# using doxygen -e rtf extensionFile.
-# This tag requires that the tag GENERATE_RTF is set to YES.
-
-RTF_EXTENSIONS_FILE    =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_MAN tag is set to YES, doxygen will generate man pages for
-# classes and files.
-# The default value is: NO.
-
-GENERATE_MAN           = NO
-
-# The MAN_OUTPUT tag is used to specify where the man pages will be put. If a
-# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
-# it. A directory man3 will be created inside the directory specified by
-# MAN_OUTPUT.
-# The default directory is: man.
-# This tag requires that the tag GENERATE_MAN is set to YES.
-
-MAN_OUTPUT             = man
-
-# The MAN_EXTENSION tag determines the extension that is added to the generated
-# man pages. In case the manual section does not start with a number, the number
-# 3 is prepended. The dot (.) at the beginning of the MAN_EXTENSION tag is
-# optional.
-# The default value is: .3.
-# This tag requires that the tag GENERATE_MAN is set to YES.
-
-MAN_EXTENSION          = .3
-
-# The MAN_SUBDIR tag determines the name of the directory created within
-# MAN_OUTPUT in which the man pages are placed. If defaults to man followed by
-# MAN_EXTENSION with the initial . removed.
-# This tag requires that the tag GENERATE_MAN is set to YES.
-
-MAN_SUBDIR             =
-
-# If the MAN_LINKS tag is set to YES and doxygen generates man output, then it
-# will generate one additional man file for each entity documented in the real
-# man page(s). These additional files only source the real man page, but without
-# them the man command would be unable to find the correct page.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_MAN is set to YES.
-
-MAN_LINKS              = NO
-
-#---------------------------------------------------------------------------
-# Configuration options related to the XML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_XML tag is set to YES, doxygen will generate an XML file that
-# captures the structure of the code including all documentation.
-# The default value is: NO.
-
-GENERATE_XML           = YES
-
-# The XML_OUTPUT tag is used to specify where the XML pages will be put. If a
-# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
-# it.
-# The default directory is: xml.
-# This tag requires that the tag GENERATE_XML is set to YES.
-
-XML_OUTPUT             = xml
-
-# If the XML_PROGRAMLISTING tag is set to YES, doxygen will dump the program
-# listings (including syntax highlighting and cross-referencing information) to
-# the XML output. Note that enabling this will significantly increase the size
-# of the XML output.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_XML is set to YES.
-
-XML_PROGRAMLISTING     = NO
-
-#---------------------------------------------------------------------------
-# Configuration options related to the DOCBOOK output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_DOCBOOK tag is set to YES, doxygen will generate Docbook files
-# that can be used to generate PDF.
-# The default value is: NO.
-
-GENERATE_DOCBOOK       = NO
-
-# The DOCBOOK_OUTPUT tag is used to specify where the Docbook pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be put in
-# front of it.
-# The default directory is: docbook.
-# This tag requires that the tag GENERATE_DOCBOOK is set to YES.
-
-DOCBOOK_OUTPUT         = docbook
-
-# If the DOCBOOK_PROGRAMLISTING tag is set to YES, doxygen will include the
-# program listings (including syntax highlighting and cross-referencing
-# information) to the DOCBOOK output. Note that enabling this will significantly
-# increase the size of the DOCBOOK output.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_DOCBOOK is set to YES.
-
-DOCBOOK_PROGRAMLISTING = NO
-
-#---------------------------------------------------------------------------
-# Configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_AUTOGEN_DEF tag is set to YES, doxygen will generate an
-# AutoGen Definitions (see http://autogen.sf.net) file that captures the
-# structure of the code including all documentation. Note that this feature is
-# still experimental and incomplete at the moment.
-# The default value is: NO.
-
-GENERATE_AUTOGEN_DEF   = NO
-
-#---------------------------------------------------------------------------
-# Configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_PERLMOD tag is set to YES, doxygen will generate a Perl module
-# file that captures the structure of the code including all documentation.
-#
-# Note that this feature is still experimental and incomplete at the moment.
-# The default value is: NO.
-
-GENERATE_PERLMOD       = NO
-
-# If the PERLMOD_LATEX tag is set to YES, doxygen will generate the necessary
-# Makefile rules, Perl scripts and LaTeX code to be able to generate PDF and DVI
-# output from the Perl module output.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_PERLMOD is set to YES.
-
-PERLMOD_LATEX          = NO
-
-# If the PERLMOD_PRETTY tag is set to YES, the Perl module output will be nicely
-# formatted so it can be parsed by a human reader. This is useful if you want to
-# understand what is going on. On the other hand, if this tag is set to NO, the
-# size of the Perl module output will be much smaller and Perl will parse it
-# just the same.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_PERLMOD is set to YES.
-
-PERLMOD_PRETTY         = YES
-
-# The names of the make variables in the generated doxyrules.make file are
-# prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. This is useful
-# so different doxyrules.make files included by the same Makefile don't
-# overwrite each other's variables.
-# This tag requires that the tag GENERATE_PERLMOD is set to YES.
-
-PERLMOD_MAKEVAR_PREFIX =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-# If the ENABLE_PREPROCESSING tag is set to YES, doxygen will evaluate all
-# C-preprocessor directives found in the sources and include files.
-# The default value is: YES.
-
-ENABLE_PREPROCESSING   = YES
-
-# If the MACRO_EXPANSION tag is set to YES, doxygen will expand all macro names
-# in the source code. If set to NO, only conditional compilation will be
-# performed. Macro expansion can be done in a controlled way by setting
-# EXPAND_ONLY_PREDEF to YES.
-# The default value is: NO.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-MACRO_EXPANSION        = NO
-
-# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES then
-# the macro expansion is limited to the macros specified with the PREDEFINED and
-# EXPAND_AS_DEFINED tags.
-# The default value is: NO.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-EXPAND_ONLY_PREDEF     = NO
-
-# If the SEARCH_INCLUDES tag is set to YES, the include files in the
-# INCLUDE_PATH will be searched if a #include is found.
-# The default value is: YES.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-SEARCH_INCLUDES        = YES
-
-# The INCLUDE_PATH tag can be used to specify one or more directories that
-# contain include files that are not input files but should be processed by the
-# preprocessor.
-# This tag requires that the tag SEARCH_INCLUDES is set to YES.
-
-INCLUDE_PATH           =
-
-# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
-# patterns (like *.h and *.hpp) to filter out the header-files in the
-# directories. If left blank, the patterns specified with FILE_PATTERNS will be
-# used.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-INCLUDE_FILE_PATTERNS  =
-
-# The PREDEFINED tag can be used to specify one or more macro names that are
-# defined before the preprocessor is started (similar to the -D option of e.g.
-# gcc). The argument of the tag is a list of macros of the form: name or
-# name=definition (no spaces). If the definition and the "=" are omitted, "=1"
-# is assumed. To prevent a macro definition from being undefined via #undef or
-# recursively expanded use the := operator instead of the = operator.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-PREDEFINED             =
-
-# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
-# tag can be used to specify a list of macro names that should be expanded. The
-# macro definition that is found in the sources will be used. Use the PREDEFINED
-# tag if you want to use a different macro definition that overrules the
-# definition found in the source code.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-EXPAND_AS_DEFINED      =
-
-# If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen's preprocessor will
-# remove all references to function-like macros that are alone on a line, have
-# an all uppercase name, and do not end with a semicolon. Such function macros
-# are typically used for boiler-plate code, and will confuse the parser if not
-# removed.
-# The default value is: YES.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-SKIP_FUNCTION_MACROS   = YES
-
-#---------------------------------------------------------------------------
-# Configuration options related to external references
-#---------------------------------------------------------------------------
-
-# The TAGFILES tag can be used to specify one or more tag files. For each tag
-# file the location of the external documentation should be added. The format of
-# a tag file without this location is as follows:
-# TAGFILES = file1 file2 ...
-# Adding location for the tag files is done as follows:
-# TAGFILES = file1=loc1 "file2 = loc2" ...
-# where loc1 and loc2 can be relative or absolute paths or URLs. See the
-# section "Linking to external documentation" for more information about the use
-# of tag files.
-# Note: Each tag file must have a unique name (where the name does NOT include
-# the path). If a tag file is not located in the directory in which doxygen is
-# run, you must also specify the path to the tagfile here.
-
-TAGFILES               =
-
-# When a file name is specified after GENERATE_TAGFILE, doxygen will create a
-# tag file that is based on the input files it reads. See section "Linking to
-# external documentation" for more information about the usage of tag files.
-
-GENERATE_TAGFILE       =
-
-# If the ALLEXTERNALS tag is set to YES, all external class will be listed in
-# the class index. If set to NO, only the inherited external classes will be
-# listed.
-# The default value is: NO.
-
-ALLEXTERNALS           = NO
-
-# If the EXTERNAL_GROUPS tag is set to YES, all external groups will be listed
-# in the modules index. If set to NO, only the current project's groups will be
-# listed.
-# The default value is: YES.
-
-EXTERNAL_GROUPS        = YES
-
-# If the EXTERNAL_PAGES tag is set to YES, all external pages will be listed in
-# the related pages index. If set to NO, only the current project's pages will
-# be listed.
-# The default value is: YES.
-
-EXTERNAL_PAGES         = YES
-
-# The PERL_PATH should be the absolute path and name of the perl script
-# interpreter (i.e. the result of 'which perl').
-# The default file (with absolute path) is: /usr/bin/perl.
-
-PERL_PATH              = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If the CLASS_DIAGRAMS tag is set to YES, doxygen will generate a class diagram
-# (in HTML and LaTeX) for classes with base or super classes. Setting the tag to
-# NO turns the diagrams off. Note that this option also works with HAVE_DOT
-# disabled, but it is recommended to install and use dot, since it yields more
-# powerful graphs.
-# The default value is: YES.
-
-CLASS_DIAGRAMS         = YES
-
-# You can define message sequence charts within doxygen comments using the \msc
-# command. Doxygen will then run the mscgen tool (see:
-# http://www.mcternan.me.uk/mscgen/)) to produce the chart and insert it in the
-# documentation. The MSCGEN_PATH tag allows you to specify the directory where
-# the mscgen tool resides. If left empty the tool is assumed to be found in the
-# default search path.
-
-MSCGEN_PATH            =
-
-# You can include diagrams made with dia in doxygen documentation. Doxygen will
-# then run dia to produce the diagram and insert it in the documentation. The
-# DIA_PATH tag allows you to specify the directory where the dia binary resides.
-# If left empty dia is assumed to be found in the default search path.
-
-DIA_PATH               =
-
-# If set to YES the inheritance and collaboration graphs will hide inheritance
-# and usage relations if the target is undocumented or is not a class.
-# The default value is: YES.
-
-HIDE_UNDOC_RELATIONS   = YES
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz (see:
-# http://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent
-# Bell Labs. The other options in this section have no effect if this option is
-# set to NO
-# The default value is: NO.
-
-HAVE_DOT               = NO
-
-# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is allowed
-# to run in parallel. When set to 0 doxygen will base this on the number of
-# processors available in the system. You can set it explicitly to a value
-# larger than 0 to get control over the balance between CPU load and processing
-# speed.
-# Minimum value: 0, maximum value: 32, default value: 0.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_NUM_THREADS        = 0
-
-# When you want a differently looking font in the dot files that doxygen
-# generates you can specify the font name using DOT_FONTNAME. You need to make
-# sure dot is able to find the font, which can be done by putting it in a
-# standard location or by setting the DOTFONTPATH environment variable or by
-# setting DOT_FONTPATH to the directory containing the font.
-# The default value is: Helvetica.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_FONTNAME           = Helvetica
-
-# The DOT_FONTSIZE tag can be used to set the size (in points) of the font of
-# dot graphs.
-# Minimum value: 4, maximum value: 24, default value: 10.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_FONTSIZE           = 10
-
-# By default doxygen will tell dot to use the default font as specified with
-# DOT_FONTNAME. If you specify a different font using DOT_FONTNAME you can set
-# the path where dot can find it using this tag.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_FONTPATH           =
-
-# If the CLASS_GRAPH tag is set to YES then doxygen will generate a graph for
-# each documented class showing the direct and indirect inheritance relations.
-# Setting this tag to YES will force the CLASS_DIAGRAMS tag to NO.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-CLASS_GRAPH            = YES
-
-# If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a
-# graph for each documented class showing the direct and indirect implementation
-# dependencies (inheritance, containment, and class references variables) of the
-# class with other documented classes.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-COLLABORATION_GRAPH    = YES
-
-# If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for
-# groups, showing the direct groups dependencies.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-GROUP_GRAPHS           = YES
-
-# If the UML_LOOK tag is set to YES, doxygen will generate inheritance and
-# collaboration diagrams in a style similar to the OMG's Unified Modeling
-# Language.
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-UML_LOOK               = NO
-
-# If the UML_LOOK tag is enabled, the fields and methods are shown inside the
-# class node. If there are many fields or methods and many nodes the graph may
-# become too big to be useful. The UML_LIMIT_NUM_FIELDS threshold limits the
-# number of items for each type to make the size more manageable. Set this to 0
-# for no limit. Note that the threshold may be exceeded by 50% before the limit
-# is enforced. So when you set the threshold to 10, up to 15 fields may appear,
-# but if the number exceeds 15, the total amount of fields shown is limited to
-# 10.
-# Minimum value: 0, maximum value: 100, default value: 10.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-UML_LIMIT_NUM_FIELDS   = 10
-
-# If the TEMPLATE_RELATIONS tag is set to YES then the inheritance and
-# collaboration graphs will show the relations between templates and their
-# instances.
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-TEMPLATE_RELATIONS     = NO
-
-# If the INCLUDE_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are set to
-# YES then doxygen will generate a graph for each documented file showing the
-# direct and indirect include dependencies of the file with other documented
-# files.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-INCLUDE_GRAPH          = YES
-
-# If the INCLUDED_BY_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are
-# set to YES then doxygen will generate a graph for each documented file showing
-# the direct and indirect include dependencies of the file with other documented
-# files.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-INCLUDED_BY_GRAPH      = YES
-
-# If the CALL_GRAPH tag is set to YES then doxygen will generate a call
-# dependency graph for every global function or class method.
-#
-# Note that enabling this option will significantly increase the time of a run.
-# So in most cases it will be better to enable call graphs for selected
-# functions only using the \callgraph command.
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-CALL_GRAPH             = NO
-
-# If the CALLER_GRAPH tag is set to YES then doxygen will generate a caller
-# dependency graph for every global function or class method.
-#
-# Note that enabling this option will significantly increase the time of a run.
-# So in most cases it will be better to enable caller graphs for selected
-# functions only using the \callergraph command.
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-CALLER_GRAPH           = NO
-
-# If the GRAPHICAL_HIERARCHY tag is set to YES then doxygen will graphical
-# hierarchy of all classes instead of a textual one.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-GRAPHICAL_HIERARCHY    = YES
-
-# If the DIRECTORY_GRAPH tag is set to YES then doxygen will show the
-# dependencies a directory has on other directories in a graphical way. The
-# dependency relations are determined by the #include relations between the
-# files in the directories.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DIRECTORY_GRAPH        = YES
-
-# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
-# generated by dot.
-# Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order
-# to make the SVG files visible in IE 9+ (other browsers do not have this
-# requirement).
-# Possible values are: png, jpg, gif and svg.
-# The default value is: png.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_IMAGE_FORMAT       = png
-
-# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to
-# enable generation of interactive SVG images that allow zooming and panning.
-#
-# Note that this requires a modern browser other than Internet Explorer. Tested
-# and working are Firefox, Chrome, Safari, and Opera.
-# Note: For IE 9+ you need to set HTML_FILE_EXTENSION to xhtml in order to make
-# the SVG files visible. Older versions of IE do not have SVG support.
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-INTERACTIVE_SVG        = NO
-
-# The DOT_PATH tag can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found in the path.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_PATH               =
-
-# The DOTFILE_DIRS tag can be used to specify one or more directories that
-# contain dot files that are included in the documentation (see the \dotfile
-# command).
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOTFILE_DIRS           =
-
-# The MSCFILE_DIRS tag can be used to specify one or more directories that
-# contain msc files that are included in the documentation (see the \mscfile
-# command).
-
-MSCFILE_DIRS           =
-
-# The DIAFILE_DIRS tag can be used to specify one or more directories that
-# contain dia files that are included in the documentation (see the \diafile
-# command).
-
-DIAFILE_DIRS           =
-
-# When using plantuml, the PLANTUML_JAR_PATH tag should be used to specify the
-# path where java can find the plantuml.jar file. If left blank, it is assumed
-# PlantUML is not used or called during a preprocessing step. Doxygen will
-# generate a warning when it encounters a \startuml command in this case and
-# will not generate output for the diagram.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-PLANTUML_JAR_PATH      =
-
-# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes
-# that will be shown in the graph. If the number of nodes in a graph becomes
-# larger than this value, doxygen will truncate the graph, which is visualized
-# by representing a node as a red box. Note that doxygen if the number of direct
-# children of the root node in a graph is already larger than
-# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note that
-# the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
-# Minimum value: 0, maximum value: 10000, default value: 50.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_GRAPH_MAX_NODES    = 50
-
-# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the graphs
-# generated by dot. A depth value of 3 means that only nodes reachable from the
-# root by following a path via at most 3 edges will be shown. Nodes that lay
-# further from the root node will be omitted. Note that setting this option to 1
-# or 2 may greatly reduce the computation time needed for large code bases. Also
-# note that the size of a graph can be further restricted by
-# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
-# Minimum value: 0, maximum value: 1000, default value: 0.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-MAX_DOT_GRAPH_DEPTH    = 0
-
-# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
-# background. This is disabled by default, because dot on Windows does not seem
-# to support this out of the box.
-#
-# Warning: Depending on the platform used, enabling this option may lead to
-# badly anti-aliased labels on the edges of a graph (i.e. they become hard to
-# read).
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_TRANSPARENT        = NO
-
-# Set the DOT_MULTI_TARGETS tag to YES to allow dot to generate multiple output
-# files in one run (i.e. multiple -o and -T options on the command line). This
-# makes dot run faster, but since only newer versions of dot (>1.8.10) support
-# this, this feature is disabled by default.
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_MULTI_TARGETS      = NO
-
-# If the GENERATE_LEGEND tag is set to YES doxygen will generate a legend page
-# explaining the meaning of the various boxes and arrows in the dot generated
-# graphs.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-GENERATE_LEGEND        = YES
-
-# If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate dot
-# files that are used to generate the various graphs.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_CLEANUP            = YES
diff --git a/contrib/neo_doxygen/tests/python-def/README.md b/contrib/neo_doxygen/tests/python-def/README.md
deleted file mode 100644 (file)
index aa110bd..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-This directory contains a dummy Python project for testing purposes.
-
-To regenerate the XML output located in `xml`, run `make`. If the `Makefile`
-does not exists, you can regenerate it by running `make bootstrap` in the parent
-directory.
diff --git a/contrib/neo_doxygen/tests/python-def/src/foo.py b/contrib/neo_doxygen/tests/python-def/src/foo.py
deleted file mode 100644 (file)
index ddb3cf3..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-## A `bar` function in the `foo` namespace.
-def bar:
-       """By default, Doxygen recognizes anything in the docstrings as verbatim
-       detailed description."""
-       pass
diff --git a/contrib/neo_doxygen/tests/python-def/xml/combine.xslt b/contrib/neo_doxygen/tests/python-def/xml/combine.xslt
deleted file mode 100644 (file)
index c148ee4..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<!-- XSLT script to combine the generated output into a single file. 
-     If you have xsltproc you could use:
-     xsltproc combine.xslt index.xml >all.xml
--->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-  <xsl:output method="xml" version="1.0" indent="no" standalone="yes" />
-  <xsl:template match="/">
-    <doxygen version="{doxygenindex/@version}">
-      <!-- Load all doxgen generated xml files -->
-      <xsl:for-each select="doxygenindex/compound">
-        <xsl:copy-of select="document( concat( @refid, '.xml' ) )/doxygen/*" />
-      </xsl:for-each>
-    </doxygen>
-  </xsl:template>
-</xsl:stylesheet>
diff --git a/contrib/neo_doxygen/tests/python-def/xml/compound.xsd b/contrib/neo_doxygen/tests/python-def/xml/compound.xsd
deleted file mode 100644 (file)
index 86740f4..0000000
+++ /dev/null
@@ -1,1092 +0,0 @@
-<?xml version='1.0' encoding='utf-8' ?>
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-  <xsd:element name="doxygen" type="DoxygenType"/>
-
-  <!-- Complex types -->
-
-  <xsd:complexType name="DoxygenType">
-    <xsd:sequence maxOccurs="unbounded">
-      <xsd:element name="compounddef" type="compounddefType" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="version" type="DoxVersionNumber" use="required" />
-  </xsd:complexType>
-
-  <xsd:complexType name="compounddefType">
-    <xsd:sequence>
-      <xsd:element name="compoundname" type="xsd:string"/>
-      <xsd:element name="title" type="xsd:string" minOccurs="0" />
-      <xsd:element name="basecompoundref" type="compoundRefType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="derivedcompoundref" type="compoundRefType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="includes" type="incType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="includedby" type="incType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="incdepgraph" type="graphType" minOccurs="0" />
-      <xsd:element name="invincdepgraph" type="graphType" minOccurs="0" />
-      <xsd:element name="innerdir" type="refType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="innerfile" type="refType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="innerclass" type="refType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="innernamespace" type="refType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="innerpage" type="refType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="innergroup" type="refType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="templateparamlist" type="templateparamlistType" minOccurs="0" />
-      <xsd:element name="sectiondef" type="sectiondefType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="briefdescription" type="descriptionType" minOccurs="0" />
-      <xsd:element name="detaileddescription" type="descriptionType" minOccurs="0" />
-      <xsd:element name="inheritancegraph" type="graphType" minOccurs="0" />
-      <xsd:element name="collaborationgraph" type="graphType" minOccurs="0" />
-      <xsd:element name="programlisting" type="listingType" minOccurs="0" />
-      <xsd:element name="location" type="locationType" minOccurs="0" />
-      <xsd:element name="listofallmembers" type="listofallmembersType" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:string" />
-    <xsd:attribute name="kind" type="DoxCompoundKind" />
-    <xsd:attribute name="prot" type="DoxProtectionKind" />
-    <xsd:attribute name="final" type="DoxBool" use="optional"/>
-    <xsd:attribute name="sealed" type="DoxBool" use="optional"/>
-    <xsd:attribute name="abstract" type="DoxBool" use="optional"/>
-  </xsd:complexType>
-
-  <xsd:complexType name="listofallmembersType">
-    <xsd:sequence>
-      <xsd:element name="member" type="memberRefType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="memberRefType">
-    <xsd:sequence>
-      <xsd:element name="scope" />
-      <xsd:element name="name" />
-    </xsd:sequence>
-    <xsd:attribute name="refid" type="xsd:string" />
-    <xsd:attribute name="prot" type="DoxProtectionKind" />
-    <xsd:attribute name="virt" type="DoxVirtualKind" />
-    <xsd:attribute name="ambiguityscope" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="compoundRefType">
-    <xsd:simpleContent>
-      <xsd:extension base="xsd:string">
-        <xsd:attribute name="refid" type="xsd:string" use="optional" />
-        <xsd:attribute name="prot" type="DoxProtectionKind" />
-        <xsd:attribute name="virt" type="DoxVirtualKind" />
-      </xsd:extension>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-  <xsd:complexType name="reimplementType">
-    <xsd:simpleContent>
-      <xsd:extension base="xsd:string">
-        <xsd:attribute name="refid" type="xsd:string" />
-      </xsd:extension>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-  <xsd:complexType name="incType">
-    <xsd:simpleContent>
-      <xsd:extension base="xsd:string">
-        <xsd:attribute name="refid" type="xsd:string" />
-        <xsd:attribute name="local" type="DoxBool" />
-      </xsd:extension>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-  <xsd:complexType name="refType">
-    <xsd:simpleContent>
-      <xsd:extension base="xsd:string">
-        <xsd:attribute name="refid" type="xsd:string" />
-        <xsd:attribute name="prot" type="DoxProtectionKind" use="optional"/>
-      </xsd:extension>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-  <xsd:complexType name="refTextType">
-    <xsd:simpleContent>
-      <xsd:extension base="xsd:string">
-       <xsd:attribute name="refid" type="xsd:string" />
-       <xsd:attribute name="kindref" type="DoxRefKind" />
-       <xsd:attribute name="external" type="xsd:string" use="optional"/>
-       <xsd:attribute name="tooltip" type="xsd:string" use="optional"/>
-      </xsd:extension>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-  <xsd:complexType name="sectiondefType">
-    <xsd:sequence>
-      <xsd:element name="header" type="xsd:string" minOccurs="0" />
-      <xsd:element name="description" type="descriptionType" minOccurs="0" />
-      <xsd:element name="memberdef" type="memberdefType" maxOccurs="unbounded" />
-    </xsd:sequence>
-    <xsd:attribute name="kind" type="DoxSectionKind" />
-  </xsd:complexType>
-
-  <xsd:complexType name="memberdefType">
-    <xsd:sequence>
-      <xsd:element name="templateparamlist" type="templateparamlistType" minOccurs="0" />
-      <xsd:element name="type" type="linkedTextType" minOccurs="0" />
-      <xsd:element name="definition" minOccurs="0" />
-      <xsd:element name="argsstring" minOccurs="0" />
-      <xsd:element name="name" />
-      <xsd:element name="read" minOccurs="0" />
-      <xsd:element name="write" minOccurs="0" />
-      <xsd:element name="bitfield" minOccurs="0" />
-      <xsd:element name="reimplements" type="reimplementType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="reimplementedby" type="reimplementType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="param" type="paramType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="enumvalue" type="enumvalueType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="initializer" type="linkedTextType" minOccurs="0" />
-      <xsd:element name="exceptions" type="linkedTextType" minOccurs="0" />
-      <xsd:element name="briefdescription" type="descriptionType" minOccurs="0" />
-      <xsd:element name="detaileddescription" type="descriptionType" minOccurs="0" />
-      <xsd:element name="inbodydescription" type="descriptionType" minOccurs="0" />
-      <xsd:element name="location" type="locationType" />
-      <xsd:element name="references" type="referenceType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="referencedby" type="referenceType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-    <xsd:attribute name="kind" type="DoxMemberKind" />
-    <xsd:attribute name="id" type="xsd:string" />
-    <xsd:attribute name="prot" type="DoxProtectionKind" />
-    <xsd:attribute name="static" type="DoxBool" />
-    <xsd:attribute name="const" type="DoxBool" use="optional"/>
-    <xsd:attribute name="explicit" type="DoxBool" use="optional"/>
-    <xsd:attribute name="inline" type="DoxBool" use="optional"/>
-    <xsd:attribute name="virt" type="DoxVirtualKind" use="optional"/>
-    <xsd:attribute name="volatile" type="DoxBool" use="optional"/>
-    <xsd:attribute name="mutable" type="DoxBool" use="optional"/>
-    <!-- Qt property -->
-    <xsd:attribute name="readable" type="DoxBool" use="optional"/>
-    <xsd:attribute name="writable" type="DoxBool" use="optional"/>
-    <!-- C++/CLI variable -->
-    <xsd:attribute name="initonly" type="DoxBool" use="optional"/>
-    <!-- C++/CLI and C# property -->
-    <xsd:attribute name="settable" type="DoxBool" use="optional"/>
-    <xsd:attribute name="gettable" type="DoxBool" use="optional"/>
-    <!-- C++/CLI function -->
-    <xsd:attribute name="final" type="DoxBool" use="optional"/>
-    <xsd:attribute name="sealed" type="DoxBool" use="optional"/>
-    <xsd:attribute name="new" type="DoxBool" use="optional"/>
-    <!-- C++/CLI event -->
-    <xsd:attribute name="add" type="DoxBool" use="optional"/>
-    <xsd:attribute name="remove" type="DoxBool" use="optional"/>
-    <xsd:attribute name="raise" type="DoxBool" use="optional"/>
-    <!-- Objective-C 2.0 protocol method -->
-    <xsd:attribute name="optional" type="DoxBool" use="optional"/>
-    <xsd:attribute name="required" type="DoxBool" use="optional"/>
-    <!-- Objective-C 2.0 property accessor -->
-    <xsd:attribute name="accessor" type="DoxAccessor" use="optional"/>
-    <!-- UNO IDL -->
-    <xsd:attribute name="attribute" type="DoxBool" use="optional"/>
-    <xsd:attribute name="property" type="DoxBool" use="optional"/>
-    <xsd:attribute name="readonly" type="DoxBool" use="optional"/>
-    <xsd:attribute name="bound" type="DoxBool" use="optional"/>
-    <xsd:attribute name="removable" type="DoxBool" use="optional"/>
-    <xsd:attribute name="contrained" type="DoxBool" use="optional"/>
-    <xsd:attribute name="transient" type="DoxBool" use="optional"/>
-    <xsd:attribute name="maybevoid" type="DoxBool" use="optional"/>
-    <xsd:attribute name="maybedefault" type="DoxBool" use="optional"/>
-    <xsd:attribute name="maybeambiguous" type="DoxBool" use="optional"/>
-
-  </xsd:complexType>
-
-  <xsd:complexType name="descriptionType" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="title" type="xsd:string" minOccurs="0"/>          
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect1" type="docSect1Type" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="internal" type="docInternalType" minOccurs="0" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="enumvalueType" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="name" />
-      <xsd:element name="initializer" type="linkedTextType" minOccurs="0" />
-      <xsd:element name="briefdescription" type="descriptionType" minOccurs="0" />
-      <xsd:element name="detaileddescription" type="descriptionType" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:string" />
-    <xsd:attribute name="prot" type="DoxProtectionKind" />
-  </xsd:complexType>
-
-  <xsd:complexType name="templateparamlistType">
-    <xsd:sequence>
-      <xsd:element name="param" type="paramType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="paramType">
-    <xsd:sequence>
-      <xsd:element name="type" type="linkedTextType" minOccurs="0" />
-      <xsd:element name="declname" minOccurs="0" />
-      <xsd:element name="defname" minOccurs="0" />
-      <xsd:element name="array" minOccurs="0" />
-      <xsd:element name="defval" type="linkedTextType" minOccurs="0" />
-      <xsd:element name="briefdescription" type="descriptionType" minOccurs="0" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="linkedTextType" mixed="true">
-    <xsd:sequence>
-    <xsd:element name="ref" type="refTextType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="graphType">
-    <xsd:sequence>
-      <xsd:element name="node" type="nodeType" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="nodeType">
-    <xsd:sequence>
-      <xsd:element name="label" />
-      <xsd:element name="link" type="linkType" minOccurs="0" />
-      <xsd:element name="childnode" type="childnodeType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="childnodeType">
-    <xsd:sequence>
-      <xsd:element name="edgelabel" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="refid" type="xsd:string" />
-    <xsd:attribute name="relation" type="DoxGraphRelation" />
-  </xsd:complexType>
-
-  <xsd:complexType name="linkType">
-    <xsd:attribute name="refid" type="xsd:string" />
-    <xsd:attribute name="external" type="xsd:string" use="optional"/>
-  </xsd:complexType>
-
-  <xsd:complexType name="listingType">
-    <xsd:sequence>
-      <xsd:element name="codeline" type="codelineType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="codelineType">
-    <xsd:sequence>
-      <xsd:element name="highlight" type="highlightType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-    <xsd:attribute name="lineno" type="xsd:integer" />
-    <xsd:attribute name="refid" type="xsd:string" />
-    <xsd:attribute name="refkind" type="DoxRefKind" />
-    <xsd:attribute name="external" type="DoxBool" />
-  </xsd:complexType>
-
-  <xsd:complexType name="highlightType" mixed="true">
-    <xsd:choice minOccurs="0" maxOccurs="unbounded">
-      <xsd:element name="sp" />
-      <xsd:element name="ref" type="refTextType" />
-    </xsd:choice>
-    <xsd:attribute name="class" type="DoxHighlightClass" />
-  </xsd:complexType>
-
-  <xsd:complexType name="referenceType" mixed="true">
-    <xsd:attribute name="refid" type="xsd:string" />
-    <xsd:attribute name="compoundref" type="xsd:string" use="optional" />
-    <xsd:attribute name="startline" type="xsd:integer" />
-    <xsd:attribute name="endline" type="xsd:integer" />
-  </xsd:complexType>
-
-  <xsd:complexType name="locationType">
-    <xsd:attribute name="file" type="xsd:string" />
-    <xsd:attribute name="line" type="xsd:integer" />
-    <xsd:attribute name="column" type="xsd:integer" use="optional"/>
-    <xsd:attribute name="bodyfile" type="xsd:string" />
-    <xsd:attribute name="bodystart" type="xsd:integer" />
-    <xsd:attribute name="bodyend" type="xsd:integer" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docSect1Type" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="title" type="xsd:string" />       
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect2" type="docSect2Type" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="internal" type="docInternalS1Type" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docSect2Type" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="title" type="xsd:string" />       
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect3" type="docSect3Type" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="internal" type="docInternalS2Type" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docSect3Type" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="title" type="xsd:string" />       
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect4" type="docSect4Type" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="internal" type="docInternalS3Type" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docSect4Type" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="title" type="xsd:string" />       
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="internal" type="docInternalS4Type" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docInternalType" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="para"  type="docParaType"  minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect1" type="docSect1Type" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docInternalS1Type" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="para"  type="docParaType"  minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect2" type="docSect2Type" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docInternalS2Type" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="para"  type="docParaType"  minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect3" type="docSect3Type" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docInternalS3Type" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="para"  type="docParaType"  minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect3" type="docSect4Type" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docInternalS4Type" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="para"  type="docParaType"  minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:group name="docTitleCmdGroup">
-    <xsd:choice>
-      <xsd:element name="ulink" type="docURLLink" />
-      <xsd:element name="bold" type="docMarkupType" />
-      <xsd:element name="emphasis" type="docMarkupType" />
-      <xsd:element name="computeroutput" type="docMarkupType" />
-      <xsd:element name="subscript" type="docMarkupType" />
-      <xsd:element name="superscript" type="docMarkupType" />
-      <xsd:element name="center" type="docMarkupType" />
-      <xsd:element name="small" type="docMarkupType" />
-      <xsd:element name="htmlonly" type="xsd:string" />
-      <xsd:element name="manonly" type="xsd:string" />
-      <xsd:element name="xmlonly" type="xsd:string" />
-      <xsd:element name="rtfonly" type="xsd:string" />
-      <xsd:element name="latexonly" type="xsd:string" />
-      <xsd:element name="dot" type="xsd:string" />
-      <xsd:element name="plantuml" type="xsd:string" />
-      <xsd:element name="anchor" type="docAnchorType" />
-      <xsd:element name="formula" type="docFormulaType" />
-      <xsd:element name="ref" type="docRefTextType" />
-      <xsd:element name="nonbreakablespace" type="docEmptyType" />
-      <xsd:element name="iexcl" type="docEmptyType" />
-      <xsd:element name="cent" type="docEmptyType" />
-      <xsd:element name="pound" type="docEmptyType" />
-      <xsd:element name="curren" type="docEmptyType" />
-      <xsd:element name="yen" type="docEmptyType" />
-      <xsd:element name="brvbar" type="docEmptyType" />
-      <xsd:element name="sect" type="docEmptyType" />
-      <xsd:element name="umlaut" type="docEmptyType" />
-      <xsd:element name="copy" type="docEmptyType" />
-      <xsd:element name="ordf" type="docEmptyType" />
-      <xsd:element name="laquo" type="docEmptyType" />
-      <xsd:element name="not" type="docEmptyType" />
-      <xsd:element name="shy" type="docEmptyType" />
-      <xsd:element name="registered" type="docEmptyType" />
-      <xsd:element name="macr" type="docEmptyType" />
-      <xsd:element name="deg" type="docEmptyType" />
-      <xsd:element name="plusmn" type="docEmptyType" />
-      <xsd:element name="sup2" type="docEmptyType" />
-      <xsd:element name="sup3" type="docEmptyType" />
-      <xsd:element name="acute" type="docEmptyType" />
-      <xsd:element name="micro" type="docEmptyType" />
-      <xsd:element name="para" type="docEmptyType" />
-      <xsd:element name="middot" type="docEmptyType" />
-      <xsd:element name="cedil" type="docEmptyType" />
-      <xsd:element name="sup1" type="docEmptyType" />
-      <xsd:element name="ordm" type="docEmptyType" />
-      <xsd:element name="raquo" type="docEmptyType" />
-      <xsd:element name="frac14" type="docEmptyType" />
-      <xsd:element name="frac12" type="docEmptyType" />
-      <xsd:element name="frac34" type="docEmptyType" />
-      <xsd:element name="iquest" type="docEmptyType" />
-      <xsd:element name="Agrave" type="docEmptyType" />
-      <xsd:element name="Aacute" type="docEmptyType" />
-      <xsd:element name="Acirc" type="docEmptyType" />
-      <xsd:element name="Atilde" type="docEmptyType" />
-      <xsd:element name="Aumlaut" type="docEmptyType" />
-      <xsd:element name="Aring" type="docEmptyType" />
-      <xsd:element name="AElig" type="docEmptyType" />
-      <xsd:element name="Ccedil" type="docEmptyType" />
-      <xsd:element name="Egrave" type="docEmptyType" />
-      <xsd:element name="Eacute" type="docEmptyType" />
-      <xsd:element name="Ecirc" type="docEmptyType" />
-      <xsd:element name="Eumlaut" type="docEmptyType" />
-      <xsd:element name="Igrave" type="docEmptyType" />
-      <xsd:element name="Iacute" type="docEmptyType" />
-      <xsd:element name="Icirc" type="docEmptyType" />
-      <xsd:element name="Iumlaut" type="docEmptyType" />
-      <xsd:element name="ETH" type="docEmptyType" />
-      <xsd:element name="Ntilde" type="docEmptyType" />
-      <xsd:element name="Ograve" type="docEmptyType" />
-      <xsd:element name="Oacute" type="docEmptyType" />
-      <xsd:element name="Ocirc" type="docEmptyType" />
-      <xsd:element name="Otilde" type="docEmptyType" />
-      <xsd:element name="Oumlaut" type="docEmptyType" />
-      <xsd:element name="times" type="docEmptyType" />
-      <xsd:element name="Oslash" type="docEmptyType" />
-      <xsd:element name="Ugrave" type="docEmptyType" />
-      <xsd:element name="Uacute" type="docEmptyType" />
-      <xsd:element name="Ucirc" type="docEmptyType" />
-      <xsd:element name="Uumlaut" type="docEmptyType" />
-      <xsd:element name="Yacute" type="docEmptyType" />
-      <xsd:element name="THORN" type="docEmptyType" />
-      <xsd:element name="szlig" type="docEmptyType" />
-      <xsd:element name="agrave" type="docEmptyType" />
-      <xsd:element name="aacute" type="docEmptyType" />
-      <xsd:element name="acirc" type="docEmptyType" />
-      <xsd:element name="atilde" type="docEmptyType" />
-      <xsd:element name="aumlaut" type="docEmptyType" />
-      <xsd:element name="aring" type="docEmptyType" />
-      <xsd:element name="aelig" type="docEmptyType" />
-      <xsd:element name="ccedil" type="docEmptyType" />
-      <xsd:element name="egrave" type="docEmptyType" />
-      <xsd:element name="eacute" type="docEmptyType" />
-      <xsd:element name="ecirc" type="docEmptyType" />
-      <xsd:element name="eumlaut" type="docEmptyType" />
-      <xsd:element name="igrave" type="docEmptyType" />
-      <xsd:element name="iacute" type="docEmptyType" />
-      <xsd:element name="icirc" type="docEmptyType" />
-      <xsd:element name="iumlaut" type="docEmptyType" />
-      <xsd:element name="eth" type="docEmptyType" />
-      <xsd:element name="ntilde" type="docEmptyType" />
-      <xsd:element name="ograve" type="docEmptyType" />
-      <xsd:element name="oacute" type="docEmptyType" />
-      <xsd:element name="ocirc" type="docEmptyType" />
-      <xsd:element name="otilde" type="docEmptyType" />
-      <xsd:element name="oumlaut" type="docEmptyType" />
-      <xsd:element name="divide" type="docEmptyType" />
-      <xsd:element name="oslash" type="docEmptyType" />
-      <xsd:element name="ugrave" type="docEmptyType" />
-      <xsd:element name="uacute" type="docEmptyType" />
-      <xsd:element name="ucirc" type="docEmptyType" />
-      <xsd:element name="uumlaut" type="docEmptyType" />
-      <xsd:element name="yacute" type="docEmptyType" />
-      <xsd:element name="thorn" type="docEmptyType" />
-      <xsd:element name="yumlaut" type="docEmptyType" />
-      <xsd:element name="fnof" type="docEmptyType" />
-      <xsd:element name="Alpha" type="docEmptyType" />
-      <xsd:element name="Beta" type="docEmptyType" />
-      <xsd:element name="Gamma" type="docEmptyType" />
-      <xsd:element name="Delta" type="docEmptyType" />
-      <xsd:element name="Epsilon" type="docEmptyType" />
-      <xsd:element name="Zeta" type="docEmptyType" />
-      <xsd:element name="Eta" type="docEmptyType" />
-      <xsd:element name="Theta" type="docEmptyType" />
-      <xsd:element name="Iota" type="docEmptyType" />
-      <xsd:element name="Kappa" type="docEmptyType" />
-      <xsd:element name="Lambda" type="docEmptyType" />
-      <xsd:element name="Mu" type="docEmptyType" />
-      <xsd:element name="Nu" type="docEmptyType" />
-      <xsd:element name="Xi" type="docEmptyType" />
-      <xsd:element name="Omicron" type="docEmptyType" />
-      <xsd:element name="Pi" type="docEmptyType" />
-      <xsd:element name="Rho" type="docEmptyType" />
-      <xsd:element name="Sigma" type="docEmptyType" />
-      <xsd:element name="Tau" type="docEmptyType" />
-      <xsd:element name="Upsilon" type="docEmptyType" />
-      <xsd:element name="Phi" type="docEmptyType" />
-      <xsd:element name="Chi" type="docEmptyType" />
-      <xsd:element name="Psi" type="docEmptyType" />
-      <xsd:element name="Omega" type="docEmptyType" />
-      <xsd:element name="alpha" type="docEmptyType" />
-      <xsd:element name="beta" type="docEmptyType" />
-      <xsd:element name="gamma" type="docEmptyType" />
-      <xsd:element name="delta" type="docEmptyType" />
-      <xsd:element name="epsilon" type="docEmptyType" />
-      <xsd:element name="zeta" type="docEmptyType" />
-      <xsd:element name="eta" type="docEmptyType" />
-      <xsd:element name="theta" type="docEmptyType" />
-      <xsd:element name="iota" type="docEmptyType" />
-      <xsd:element name="kappa" type="docEmptyType" />
-      <xsd:element name="lambda" type="docEmptyType" />
-      <xsd:element name="mu" type="docEmptyType" />
-      <xsd:element name="nu" type="docEmptyType" />
-      <xsd:element name="xi" type="docEmptyType" />
-      <xsd:element name="omicron" type="docEmptyType" />
-      <xsd:element name="pi" type="docEmptyType" />
-      <xsd:element name="rho" type="docEmptyType" />
-      <xsd:element name="sigmaf" type="docEmptyType" />
-      <xsd:element name="sigma" type="docEmptyType" />
-      <xsd:element name="tau" type="docEmptyType" />
-      <xsd:element name="upsilon" type="docEmptyType" />
-      <xsd:element name="phi" type="docEmptyType" />
-      <xsd:element name="chi" type="docEmptyType" />
-      <xsd:element name="psi" type="docEmptyType" />
-      <xsd:element name="omega" type="docEmptyType" />
-      <xsd:element name="thetasym" type="docEmptyType" />
-      <xsd:element name="upsih" type="docEmptyType" />
-      <xsd:element name="piv" type="docEmptyType" />
-      <xsd:element name="bull" type="docEmptyType" />
-      <xsd:element name="hellip" type="docEmptyType" />
-      <xsd:element name="prime" type="docEmptyType" />
-      <xsd:element name="Prime" type="docEmptyType" />
-      <xsd:element name="oline" type="docEmptyType" />
-      <xsd:element name="frasl" type="docEmptyType" />
-      <xsd:element name="weierp" type="docEmptyType" />
-      <xsd:element name="image" type="docEmptyType" />
-      <xsd:element name="real" type="docEmptyType" />
-      <xsd:element name="trademark" type="docEmptyType" />
-      <xsd:element name="alefsym" type="docEmptyType" />
-      <xsd:element name="larr" type="docEmptyType" />
-      <xsd:element name="uarr" type="docEmptyType" />
-      <xsd:element name="rarr" type="docEmptyType" />
-      <xsd:element name="darr" type="docEmptyType" />
-      <xsd:element name="harr" type="docEmptyType" />
-      <xsd:element name="crarr" type="docEmptyType" />
-      <xsd:element name="lArr" type="docEmptyType" />
-      <xsd:element name="uArr" type="docEmptyType" />
-      <xsd:element name="rArr" type="docEmptyType" />
-      <xsd:element name="dArr" type="docEmptyType" />
-      <xsd:element name="hArr" type="docEmptyType" />
-      <xsd:element name="forall" type="docEmptyType" />
-      <xsd:element name="part" type="docEmptyType" />
-      <xsd:element name="exist" type="docEmptyType" />
-      <xsd:element name="empty" type="docEmptyType" />
-      <xsd:element name="nabla" type="docEmptyType" />
-      <xsd:element name="isin" type="docEmptyType" />
-      <xsd:element name="notin" type="docEmptyType" />
-      <xsd:element name="ni" type="docEmptyType" />
-      <xsd:element name="prod" type="docEmptyType" />
-      <xsd:element name="sum" type="docEmptyType" />
-      <xsd:element name="minus" type="docEmptyType" />
-      <xsd:element name="lowast" type="docEmptyType" />
-      <xsd:element name="radic" type="docEmptyType" />
-      <xsd:element name="prop" type="docEmptyType" />
-      <xsd:element name="infin" type="docEmptyType" />
-      <xsd:element name="ang" type="docEmptyType" />
-      <xsd:element name="and" type="docEmptyType" />
-      <xsd:element name="or" type="docEmptyType" />
-      <xsd:element name="cap" type="docEmptyType" />
-      <xsd:element name="cup" type="docEmptyType" />
-      <xsd:element name="int" type="docEmptyType" />
-      <xsd:element name="there4" type="docEmptyType" />
-      <xsd:element name="sim" type="docEmptyType" />
-      <xsd:element name="cong" type="docEmptyType" />
-      <xsd:element name="asymp" type="docEmptyType" />
-      <xsd:element name="ne" type="docEmptyType" />
-      <xsd:element name="equiv" type="docEmptyType" />
-      <xsd:element name="le" type="docEmptyType" />
-      <xsd:element name="ge" type="docEmptyType" />
-      <xsd:element name="sub" type="docEmptyType" />
-      <xsd:element name="sup" type="docEmptyType" />
-      <xsd:element name="nsub" type="docEmptyType" />
-      <xsd:element name="sube" type="docEmptyType" />
-      <xsd:element name="supe" type="docEmptyType" />
-      <xsd:element name="oplus" type="docEmptyType" />
-      <xsd:element name="otimes" type="docEmptyType" />
-      <xsd:element name="perp" type="docEmptyType" />
-      <xsd:element name="sdot" type="docEmptyType" />
-      <xsd:element name="lceil" type="docEmptyType" />
-      <xsd:element name="rceil" type="docEmptyType" />
-      <xsd:element name="lfloor" type="docEmptyType" />
-      <xsd:element name="rfloor" type="docEmptyType" />
-      <xsd:element name="lang" type="docEmptyType" />
-      <xsd:element name="rang" type="docEmptyType" />
-      <xsd:element name="loz" type="docEmptyType" />
-      <xsd:element name="spades" type="docEmptyType" />
-      <xsd:element name="clubs" type="docEmptyType" />
-      <xsd:element name="hearts" type="docEmptyType" />
-      <xsd:element name="diams" type="docEmptyType" />
-      <xsd:element name="OElig" type="docEmptyType" />
-      <xsd:element name="oelig" type="docEmptyType" />
-      <xsd:element name="Scaron" type="docEmptyType" />
-      <xsd:element name="scaron" type="docEmptyType" />
-      <xsd:element name="Yumlaut" type="docEmptyType" />
-      <xsd:element name="circ" type="docEmptyType" />
-      <xsd:element name="tilde" type="docEmptyType" />
-      <xsd:element name="ensp" type="docEmptyType" />
-      <xsd:element name="emsp" type="docEmptyType" />
-      <xsd:element name="thinsp" type="docEmptyType" />
-      <xsd:element name="zwnj" type="docEmptyType" />
-      <xsd:element name="zwj" type="docEmptyType" />
-      <xsd:element name="lrm" type="docEmptyType" />
-      <xsd:element name="rlm" type="docEmptyType" />
-      <xsd:element name="ndash" type="docEmptyType" />
-      <xsd:element name="mdash" type="docEmptyType" />
-      <xsd:element name="lsquo" type="docEmptyType" />
-      <xsd:element name="rsquo" type="docEmptyType" />
-      <xsd:element name="sbquo" type="docEmptyType" />
-      <xsd:element name="ldquo" type="docEmptyType" />
-      <xsd:element name="rdquo" type="docEmptyType" />
-      <xsd:element name="bdquo" type="docEmptyType" />
-      <xsd:element name="dagger" type="docEmptyType" />
-      <xsd:element name="Dagger" type="docEmptyType" />
-      <xsd:element name="permil" type="docEmptyType" />
-      <xsd:element name="lsaquo" type="docEmptyType" />
-      <xsd:element name="rsaquo" type="docEmptyType" />
-      <xsd:element name="euro" type="docEmptyType" />
-      <xsd:element name="trademark" type="docEmptyType" />
-    </xsd:choice>
-  </xsd:group>
-
-  <xsd:complexType name="docTitleType" mixed="true">
-    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-  </xsd:complexType>
-
-  <xsd:group name="docCmdGroup">
-    <xsd:choice>
-      <xsd:group ref="docTitleCmdGroup"/>
-      <xsd:element name="linebreak" type="docEmptyType" />
-      <xsd:element name="hruler" type="docEmptyType" />
-      <xsd:element name="preformatted" type="docMarkupType" />
-      <xsd:element name="programlisting" type="listingType" />
-      <xsd:element name="verbatim" type="xsd:string" />
-      <xsd:element name="indexentry" type="docIndexEntryType" />
-      <xsd:element name="orderedlist" type="docListType" />
-      <xsd:element name="itemizedlist" type="docListType" />
-      <xsd:element name="simplesect" type="docSimpleSectType" />
-      <xsd:element name="title" type="docTitleType" />
-      <xsd:element name="variablelist" type="docVariableListType" />
-      <xsd:element name="table" type="docTableType" />
-      <xsd:element name="heading" type="docHeadingType" />
-      <xsd:element name="image" type="docImageType" />
-      <xsd:element name="dotfile" type="docFileType" />
-      <xsd:element name="mscfile" type="docFileType" />
-      <xsd:element name="diafile" type="docFileType" />
-      <xsd:element name="toclist" type="docTocListType" />
-      <xsd:element name="language" type="docLanguageType" />
-      <xsd:element name="parameterlist" type="docParamListType" />
-      <xsd:element name="xrefsect" type="docXRefSectType" />
-      <xsd:element name="copydoc" type="docCopyType" />
-      <xsd:element name="blockquote" type="docBlockQuoteType" />
-      <xsd:element name="parblock" type="docParBlockType" />
-    </xsd:choice>
-  </xsd:group>
-
-  <xsd:complexType name="docParaType" mixed="true">
-    <xsd:group ref="docCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docMarkupType" mixed="true">
-    <xsd:group ref="docCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docURLLink" mixed="true">
-    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-    <xsd:attribute name="url" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docAnchorType" mixed="true">
-    <xsd:attribute name="id" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docFormulaType" mixed="true">
-    <xsd:attribute name="id" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docIndexEntryType">
-    <xsd:sequence>
-      <xsd:element name="primaryie" type="xsd:string" />
-      <xsd:element name="secondaryie" type="xsd:string" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docListType">
-    <xsd:sequence>
-      <xsd:element name="listitem" type="docListItemType" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docListItemType">
-    <xsd:sequence>
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docSimpleSectType">
-    <xsd:sequence>
-      <xsd:element name="title" type="docTitleType" minOccurs="0" />
-      <xsd:sequence minOccurs="0" maxOccurs="unbounded">
-        <xsd:element name="para" type="docParaType" minOccurs="1" maxOccurs="unbounded" />
-      </xsd:sequence>
-    </xsd:sequence>
-    <xsd:attribute name="kind" type="DoxSimpleSectKind" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docVarListEntryType">
-    <xsd:sequence>
-      <xsd:element name="term" type="docTitleType" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:group name="docVariableListGroup">
-    <xsd:sequence>
-      <xsd:element name="varlistentry" type="docVarListEntryType" />
-      <xsd:element name="listitem" type="docListItemType" />
-    </xsd:sequence>
-  </xsd:group>
-
-  <xsd:complexType name="docVariableListType">
-    <xsd:sequence>
-      <xsd:group ref="docVariableListGroup" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docRefTextType" mixed="true">
-    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-    <xsd:attribute name="refid" type="xsd:string" />
-    <xsd:attribute name="kindref" type="DoxRefKind" />
-    <xsd:attribute name="external" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docTableType">
-    <xsd:sequence>
-      <xsd:element name="row" type="docRowType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="caption" type="docCaptionType" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="rows" type="xsd:integer" />
-    <xsd:attribute name="cols" type="xsd:integer" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docRowType">
-    <xsd:sequence>
-      <xsd:element name="entry" type="docEntryType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docEntryType">
-    <xsd:sequence>
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-    <xsd:attribute name="thead" type="DoxBool" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docCaptionType" mixed="true">
-    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docHeadingType" mixed="true">
-    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-    <xsd:attribute name="level" type="xsd:integer" /> <!-- todo: range 1-6 -->
-  </xsd:complexType>
-
-  <xsd:complexType name="docImageType" mixed="true">
-    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-    <xsd:attribute name="type" type="DoxImageKind" /> 
-    <xsd:attribute name="name" type="xsd:string" /> 
-    <xsd:attribute name="width" type="xsd:string" /> 
-    <xsd:attribute name="height" type="xsd:string" /> 
-  </xsd:complexType>
-
-  <xsd:complexType name="docFileType" mixed="true">
-    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-    <xsd:attribute name="name" type="xsd:string" /> 
-  </xsd:complexType>
-
-  <xsd:complexType name="docTocItemType" mixed="true">
-    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-    <xsd:attribute name="id" type="xsd:string" /> 
-  </xsd:complexType>
-
-  <xsd:complexType name="docTocListType">
-    <xsd:sequence>
-      <xsd:element name="tocitem" type="docTocItemType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docLanguageType">
-    <xsd:sequence>
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-    <xsd:attribute name="langid" type="xsd:string" /> 
-  </xsd:complexType>
-
-  <xsd:complexType name="docParamListType">
-    <xsd:sequence>
-      <xsd:element name="parameteritem" type="docParamListItem" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-    <xsd:attribute name="kind" type="DoxParamListKind" /> 
-  </xsd:complexType>
-
-  <xsd:complexType name="docParamListItem">
-    <xsd:sequence>
-      <xsd:element name="parameternamelist" type="docParamNameList" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="parameterdescription" type="descriptionType" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docParamNameList">
-    <xsd:sequence>
-      <xsd:element name="parametertype" type="docParamType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="parametername" type="docParamName" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docParamType" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="ref" type="refTextType" minOccurs="0" maxOccurs="1" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docParamName" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="ref" type="refTextType" minOccurs="0" maxOccurs="1" />
-    </xsd:sequence>
-    <xsd:attribute name="direction" type="DoxParamDir" use="optional" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docXRefSectType">
-    <xsd:sequence>
-      <xsd:element name="xreftitle" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="xrefdescription" type="descriptionType" />
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:string" /> 
-  </xsd:complexType>
-
-  <xsd:complexType name="docCopyType">
-    <xsd:sequence>
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect1" type="docSect1Type" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="internal" type="docInternalType" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="link" type="xsd:string" /> 
-  </xsd:complexType>
-
-  <xsd:complexType name="docBlockQuoteType">
-    <xsd:sequence>
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docParBlockType">
-    <xsd:sequence>
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docEmptyType"/>
-
-  <!-- Simple types -->
-
-  <xsd:simpleType name="DoxBool">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="yes" />
-      <xsd:enumeration value="no" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxGraphRelation">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="include" />
-      <xsd:enumeration value="usage" />
-      <xsd:enumeration value="template-instance" />
-      <xsd:enumeration value="public-inheritance" />
-      <xsd:enumeration value="protected-inheritance" />
-      <xsd:enumeration value="private-inheritance" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxRefKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="compound" />
-      <xsd:enumeration value="member" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxMemberKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="define" />
-      <xsd:enumeration value="property" />
-      <xsd:enumeration value="event" />
-      <xsd:enumeration value="variable" />
-      <xsd:enumeration value="typedef" />
-      <xsd:enumeration value="enum" />
-      <xsd:enumeration value="function" />
-      <xsd:enumeration value="signal" />
-      <xsd:enumeration value="prototype" />
-      <xsd:enumeration value="friend" />
-      <xsd:enumeration value="dcop" />
-      <xsd:enumeration value="slot" />
-      <xsd:enumeration value="interface" />
-      <xsd:enumeration value="service" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxProtectionKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="public" />
-      <xsd:enumeration value="protected" />
-      <xsd:enumeration value="private" />
-      <xsd:enumeration value="package" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxVirtualKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="non-virtual" />
-      <xsd:enumeration value="virtual" />
-      <xsd:enumeration value="pure-virtual" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxCompoundKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="class" />
-      <xsd:enumeration value="struct" />
-      <xsd:enumeration value="union" />
-      <xsd:enumeration value="interface" />
-      <xsd:enumeration value="protocol" />
-      <xsd:enumeration value="category" />
-      <xsd:enumeration value="exception" />
-      <xsd:enumeration value="service" />
-      <xsd:enumeration value="singleton" />
-      <xsd:enumeration value="module" />
-      <xsd:enumeration value="type" />
-      <xsd:enumeration value="file" />
-      <xsd:enumeration value="namespace" />
-      <xsd:enumeration value="group" />
-      <xsd:enumeration value="page" />
-      <xsd:enumeration value="example" />
-      <xsd:enumeration value="dir" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxSectionKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="user-defined" />
-      <xsd:enumeration value="public-type" />
-      <xsd:enumeration value="public-func" />
-      <xsd:enumeration value="public-attrib" />
-      <xsd:enumeration value="public-slot" />
-      <xsd:enumeration value="signal" />
-      <xsd:enumeration value="dcop-func" />
-      <xsd:enumeration value="property" />
-      <xsd:enumeration value="event" />
-      <xsd:enumeration value="public-static-func" />
-      <xsd:enumeration value="public-static-attrib" />
-      <xsd:enumeration value="protected-type" />
-      <xsd:enumeration value="protected-func" />
-      <xsd:enumeration value="protected-attrib" />
-      <xsd:enumeration value="protected-slot" />
-      <xsd:enumeration value="protected-static-func" />
-      <xsd:enumeration value="protected-static-attrib" />
-      <xsd:enumeration value="package-type" />
-      <xsd:enumeration value="package-func" />
-      <xsd:enumeration value="package-attrib" />
-      <xsd:enumeration value="package-static-func" />
-      <xsd:enumeration value="package-static-attrib" />
-      <xsd:enumeration value="private-type" />
-      <xsd:enumeration value="private-func" />
-      <xsd:enumeration value="private-attrib" />
-      <xsd:enumeration value="private-slot" />
-      <xsd:enumeration value="private-static-func" />
-      <xsd:enumeration value="private-static-attrib" />
-      <xsd:enumeration value="friend" />
-      <xsd:enumeration value="related" />
-      <xsd:enumeration value="define" />
-      <xsd:enumeration value="prototype" />
-      <xsd:enumeration value="typedef" />
-      <xsd:enumeration value="enum" />
-      <xsd:enumeration value="func" />
-      <xsd:enumeration value="var" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxHighlightClass">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="comment" />
-      <xsd:enumeration value="normal" />
-      <xsd:enumeration value="preprocessor" />
-      <xsd:enumeration value="keyword" />
-      <xsd:enumeration value="keywordtype" />
-      <xsd:enumeration value="keywordflow" />
-      <xsd:enumeration value="stringliteral" />
-      <xsd:enumeration value="charliteral" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxSimpleSectKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="see" />
-      <xsd:enumeration value="return" />
-      <xsd:enumeration value="author" />
-      <xsd:enumeration value="authors" />
-      <xsd:enumeration value="version" />
-      <xsd:enumeration value="since" />
-      <xsd:enumeration value="date" />
-      <xsd:enumeration value="note" />
-      <xsd:enumeration value="warning" />
-      <xsd:enumeration value="pre" />
-      <xsd:enumeration value="post" />
-      <xsd:enumeration value="copyright" />
-      <xsd:enumeration value="invariant" />
-      <xsd:enumeration value="remark" />
-      <xsd:enumeration value="attention" />
-      <xsd:enumeration value="par" />
-      <xsd:enumeration value="rcs" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxVersionNumber">
-    <xsd:restriction base="xsd:string">
-      <xsd:pattern value="\d+\.\d+.*" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxImageKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="html" />
-      <xsd:enumeration value="latex" />
-      <xsd:enumeration value="rtf" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxParamListKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="param" />
-      <xsd:enumeration value="retval" />
-      <xsd:enumeration value="exception" />
-      <xsd:enumeration value="templateparam" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxCharRange">
-    <xsd:restriction base="xsd:string">
-      <xsd:pattern value="[aeiouncAEIOUNC]" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxParamDir">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="in"/>
-      <xsd:enumeration value="out"/>
-      <xsd:enumeration value="inout"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxAccessor">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="retain"/>
-      <xsd:enumeration value="copy"/>
-      <xsd:enumeration value="assign"/>
-      <xsd:enumeration value="weak"/>
-      <xsd:enumeration value="strong"/>
-      <xsd:enumeration value="unretained"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-</xsd:schema>
-
diff --git a/contrib/neo_doxygen/tests/python-def/xml/dir_68267d1309a1af8e8297ef4c3efbcdba.xml b/contrib/neo_doxygen/tests/python-def/xml/dir_68267d1309a1af8e8297ef4c3efbcdba.xml
deleted file mode 100644 (file)
index 538a5bc..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version='1.0' encoding='UTF-8' standalone='no'?>
-<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.8">
-  <compounddef id="dir_68267d1309a1af8e8297ef4c3efbcdba" kind="dir">
-    <compoundname>src</compoundname>
-    <innerfile refid="foo_8py">foo.py</innerfile>
-    <briefdescription>
-    </briefdescription>
-    <detaileddescription>
-    </detaileddescription>
-    <location file="%SOURCE_DIRECTORY%/"/>
-  </compounddef>
-</doxygen>
diff --git a/contrib/neo_doxygen/tests/python-def/xml/foo_8py.xml b/contrib/neo_doxygen/tests/python-def/xml/foo_8py.xml
deleted file mode 100644 (file)
index e01105b..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version='1.0' encoding='UTF-8' standalone='no'?>
-<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.8">
-  <compounddef id="foo_8py" kind="file">
-    <compoundname>foo.py</compoundname>
-    <innernamespace refid="namespacefoo">foo</innernamespace>
-    <briefdescription>
-    </briefdescription>
-    <detaileddescription>
-    </detaileddescription>
-    <location file="%SOURCE_DIRECTORY%/foo.py"/>
-  </compounddef>
-</doxygen>
diff --git a/contrib/neo_doxygen/tests/python-def/xml/index.xml b/contrib/neo_doxygen/tests/python-def/xml/index.xml
deleted file mode 100644 (file)
index be27789..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version='1.0' encoding='UTF-8' standalone='no'?>
-<doxygenindex xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="index.xsd" version="1.8.8">
-  <compound refid="namespacefoo" kind="namespace"><name>foo</name>
-    <member refid="namespacefoo_1aab1e88a2212b202c20f3c9bd799a1ad4" kind="function"><name>bar</name></member>
-  </compound>
-  <compound refid="foo_8py" kind="file"><name>foo.py</name>
-  </compound>
-  <compound refid="dir_68267d1309a1af8e8297ef4c3efbcdba" kind="dir"><name>src</name>
-  </compound>
-</doxygenindex>
diff --git a/contrib/neo_doxygen/tests/python-def/xml/index.xsd b/contrib/neo_doxygen/tests/python-def/xml/index.xsd
deleted file mode 100644 (file)
index d7ab2a9..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-<?xml version='1.0' encoding='utf-8' ?>
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-  <xsd:element name="doxygenindex" type="DoxygenType"/>
-
-  <xsd:complexType name="DoxygenType">
-    <xsd:sequence>
-      <xsd:element name="compound" type="CompoundType" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="version" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <xsd:complexType name="CompoundType">
-    <xsd:sequence>
-      <xsd:element name="name" type="xsd:string"/>
-      <xsd:element name="member" type="MemberType" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="refid" type="xsd:string" use="required"/>
-    <xsd:attribute name="kind" type="CompoundKind" use="required"/>
-  </xsd:complexType>
-
-  <xsd:complexType name="MemberType">
-    <xsd:sequence>
-      <xsd:element name="name" type="xsd:string"/>
-    </xsd:sequence>
-    <xsd:attribute name="refid" type="xsd:string" use="required"/>
-    <xsd:attribute name="kind" type="MemberKind" use="required"/>
-  </xsd:complexType>
-  
-  <xsd:simpleType name="CompoundKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="class"/>
-      <xsd:enumeration value="struct"/>
-      <xsd:enumeration value="union"/>
-      <xsd:enumeration value="interface"/>
-      <xsd:enumeration value="protocol"/>
-      <xsd:enumeration value="category"/>
-      <xsd:enumeration value="exception"/>
-      <xsd:enumeration value="file"/>
-      <xsd:enumeration value="namespace"/>
-      <xsd:enumeration value="group"/>
-      <xsd:enumeration value="page"/>
-      <xsd:enumeration value="example"/>
-      <xsd:enumeration value="dir"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="MemberKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="define"/>
-      <xsd:enumeration value="property"/>
-      <xsd:enumeration value="event"/>
-      <xsd:enumeration value="variable"/>
-      <xsd:enumeration value="typedef"/>
-      <xsd:enumeration value="enum"/>
-      <xsd:enumeration value="enumvalue"/>
-      <xsd:enumeration value="function"/>
-      <xsd:enumeration value="signal"/>
-      <xsd:enumeration value="prototype"/>
-      <xsd:enumeration value="friend"/>
-      <xsd:enumeration value="dcop"/>
-      <xsd:enumeration value="slot"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-</xsd:schema>
-
diff --git a/contrib/neo_doxygen/tests/python-def/xml/namespacefoo.xml b/contrib/neo_doxygen/tests/python-def/xml/namespacefoo.xml
deleted file mode 100644 (file)
index 68c0b1d..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version='1.0' encoding='UTF-8' standalone='no'?>
-<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.8">
-  <compounddef id="namespacefoo" kind="namespace">
-    <compoundname>foo</compoundname>
-      <sectiondef kind="func">
-      <memberdef kind="function" id="namespacefoo_1aab1e88a2212b202c20f3c9bd799a1ad4" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
-        <type>def</type>
-        <definition>def foo.bar</definition>
-        <argsstring></argsstring>
-        <name>bar</name>
-        <briefdescription>
-<para>A <computeroutput>bar</computeroutput> function in the <computeroutput>foo</computeroutput> namespace. </para>        </briefdescription>
-        <detaileddescription>
-<para><verbatim>By default, Doxygen recognizes anything in the docstrings as verbatim
-detailed description.</verbatim> </para>        </detaileddescription>
-        <inbodydescription>
-        </inbodydescription>
-        <location file="%SOURCE_DIRECTORY%/foo.py" line="16" column="1" bodyfile="%SOURCE_DIRECTORY%/foo.py" bodystart="16" bodyend="20"/>
-      </memberdef>
-      </sectiondef>
-    <briefdescription>
-    </briefdescription>
-    <detaileddescription>
-    </detaileddescription>
-    <location file="%SOURCE_DIRECTORY%/foo.py" line="1" column="1"/>
-  </compounddef>
-</doxygen>
diff --git a/contrib/neo_doxygen/tests/root-namespace/Doxyfile b/contrib/neo_doxygen/tests/root-namespace/Doxyfile
deleted file mode 100644 (file)
index 46601c2..0000000
+++ /dev/null
@@ -1,2381 +0,0 @@
-# Doxyfile 1.8.8
-
-# This file describes the settings to be used by the documentation system
-# doxygen (www.doxygen.org) for a project.
-#
-# All text after a double hash (##) is considered a comment and is placed in
-# front of the TAG it is preceding.
-#
-# All text after a single hash (#) is considered a comment and will be ignored.
-# The format is:
-# TAG = value [value, ...]
-# For lists, items can also be appended using:
-# TAG += value [value, ...]
-# Values that contain spaces should be placed between quotes (\" \").
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-
-# This tag specifies the encoding used for all characters in the config file
-# that follow. The default is UTF-8 which is also the encoding used for all text
-# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv
-# built into libc) for the transcoding. See http://www.gnu.org/software/libiconv
-# for the list of possible encodings.
-# The default value is: UTF-8.
-
-DOXYFILE_ENCODING      = UTF-8
-
-# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by
-# double-quotes, unless you are using Doxywizard) that should identify the
-# project for which the documentation is generated. This name is used in the
-# title of most generated pages and in a few other places.
-# The default value is: My Project.
-
-PROJECT_NAME           = "Test Project"
-
-# The PROJECT_NUMBER tag can be used to enter a project or revision number. This
-# could be handy for archiving the generated documentation or if some version
-# control system is used.
-
-PROJECT_NUMBER         =
-
-# Using the PROJECT_BRIEF tag one can provide an optional one line description
-# for a project that appears at the top of each page and should give viewer a
-# quick idea about the purpose of the project. Keep the description short.
-
-PROJECT_BRIEF          =
-
-# With the PROJECT_LOGO tag one can specify a logo or an icon that is included
-# in the documentation. The maximum height of the logo should not exceed 55
-# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy
-# the logo to the output directory.
-
-PROJECT_LOGO           =
-
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path
-# into which the generated documentation will be written. If a relative path is
-# entered, it will be relative to the location where doxygen was started. If
-# left blank the current directory will be used.
-
-OUTPUT_DIRECTORY       =
-
-# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
-# directories (in 2 levels) under the output directory of each output format and
-# will distribute the generated files over these directories. Enabling this
-# option can be useful when feeding doxygen a huge amount of source files, where
-# putting all generated files in the same directory would otherwise causes
-# performance problems for the file system.
-# The default value is: NO.
-
-CREATE_SUBDIRS         = NO
-
-# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII
-# characters to appear in the names of generated files. If set to NO, non-ASCII
-# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode
-# U+3044.
-# The default value is: NO.
-
-ALLOW_UNICODE_NAMES    = NO
-
-# The OUTPUT_LANGUAGE tag is used to specify the language in which all
-# documentation generated by doxygen is written. Doxygen will use this
-# information to generate all constant output in the proper language.
-# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese,
-# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States),
-# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian,
-# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages),
-# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian,
-# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian,
-# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish,
-# Ukrainian and Vietnamese.
-# The default value is: English.
-
-OUTPUT_LANGUAGE        = English
-
-# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member
-# descriptions after the members that are listed in the file and class
-# documentation (similar to Javadoc). Set to NO to disable this.
-# The default value is: YES.
-
-BRIEF_MEMBER_DESC      = YES
-
-# If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief
-# description of a member or function before the detailed description
-#
-# Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
-# brief descriptions will be completely suppressed.
-# The default value is: YES.
-
-REPEAT_BRIEF           = YES
-
-# This tag implements a quasi-intelligent brief description abbreviator that is
-# used to form the text in various listings. Each string in this list, if found
-# as the leading text of the brief description, will be stripped from the text
-# and the result, after processing the whole list, is used as the annotated
-# text. Otherwise, the brief description is used as-is. If left blank, the
-# following values are used ($name is automatically replaced with the name of
-# the entity):The $name class, The $name widget, The $name file, is, provides,
-# specifies, contains, represents, a, an and the.
-
-ABBREVIATE_BRIEF       = "The $name class" \
-                         "The $name widget" \
-                         "The $name file" \
-                         is \
-                         provides \
-                         specifies \
-                         contains \
-                         represents \
-                         a \
-                         an \
-                         the
-
-# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
-# doxygen will generate a detailed section even if there is only a brief
-# description.
-# The default value is: NO.
-
-ALWAYS_DETAILED_SEC    = NO
-
-# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
-# inherited members of a class in the documentation of that class as if those
-# members were ordinary class members. Constructors, destructors and assignment
-# operators of the base classes will not be shown.
-# The default value is: NO.
-
-INLINE_INHERITED_MEMB  = NO
-
-# If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path
-# before files name in the file list and in the header files. If set to NO the
-# shortest path that makes the file name unique will be used
-# The default value is: YES.
-
-FULL_PATH_NAMES        = YES
-
-# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path.
-# Stripping is only done if one of the specified strings matches the left-hand
-# part of the path. The tag can be used to show relative paths in the file list.
-# If left blank the directory from which doxygen is run is used as the path to
-# strip.
-#
-# Note that you can specify absolute paths here, but also relative paths, which
-# will be relative from the directory where doxygen is started.
-# This tag requires that the tag FULL_PATH_NAMES is set to YES.
-
-STRIP_FROM_PATH        =
-
-# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the
-# path mentioned in the documentation of a class, which tells the reader which
-# header file to include in order to use a class. If left blank only the name of
-# the header file containing the class definition is used. Otherwise one should
-# specify the list of include paths that are normally passed to the compiler
-# using the -I flag.
-
-STRIP_FROM_INC_PATH    =
-
-# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but
-# less readable) file names. This can be useful is your file systems doesn't
-# support long names like on DOS, Mac, or CD-ROM.
-# The default value is: NO.
-
-SHORT_NAMES            = NO
-
-# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the
-# first line (until the first dot) of a Javadoc-style comment as the brief
-# description. If set to NO, the Javadoc-style will behave just like regular Qt-
-# style comments (thus requiring an explicit @brief command for a brief
-# description.)
-# The default value is: NO.
-
-JAVADOC_AUTOBRIEF      = YES
-
-# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first
-# line (until the first dot) of a Qt-style comment as the brief description. If
-# set to NO, the Qt-style will behave just like regular Qt-style comments (thus
-# requiring an explicit \brief command for a brief description.)
-# The default value is: NO.
-
-QT_AUTOBRIEF           = NO
-
-# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a
-# multi-line C++ special comment block (i.e. a block of //! or /// comments) as
-# a brief description. This used to be the default behavior. The new default is
-# to treat a multi-line C++ comment block as a detailed description. Set this
-# tag to YES if you prefer the old behavior instead.
-#
-# Note that setting this tag to YES also means that rational rose comments are
-# not recognized any more.
-# The default value is: NO.
-
-MULTILINE_CPP_IS_BRIEF = NO
-
-# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the
-# documentation from any documented member that it re-implements.
-# The default value is: YES.
-
-INHERIT_DOCS           = YES
-
-# If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new
-# page for each member. If set to NO, the documentation of a member will be part
-# of the file/class/namespace that contains it.
-# The default value is: NO.
-
-SEPARATE_MEMBER_PAGES  = NO
-
-# The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen
-# uses this value to replace tabs by spaces in code fragments.
-# Minimum value: 1, maximum value: 16, default value: 4.
-
-TAB_SIZE               = 4
-
-# This tag can be used to specify a number of aliases that act as commands in
-# the documentation. An alias has the form:
-# name=value
-# For example adding
-# "sideeffect=@par Side Effects:\n"
-# will allow you to put the command \sideeffect (or @sideeffect) in the
-# documentation, which will result in a user-defined paragraph with heading
-# "Side Effects:". You can put \n's in the value part of an alias to insert
-# newlines.
-
-ALIASES                =
-
-# This tag can be used to specify a number of word-keyword mappings (TCL only).
-# A mapping has the form "name=value". For example adding "class=itcl::class"
-# will allow you to use the command class in the itcl::class meaning.
-
-TCL_SUBST              =
-
-# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
-# only. Doxygen will then generate output that is more tailored for C. For
-# instance, some of the names that are used will be different. The list of all
-# members will be omitted, etc.
-# The default value is: NO.
-
-OPTIMIZE_OUTPUT_FOR_C  = NO
-
-# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or
-# Python sources only. Doxygen will then generate output that is more tailored
-# for that language. For instance, namespaces will be presented as packages,
-# qualified scopes will look different, etc.
-# The default value is: NO.
-
-OPTIMIZE_OUTPUT_JAVA   = YES
-
-# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
-# sources. Doxygen will then generate output that is tailored for Fortran.
-# The default value is: NO.
-
-OPTIMIZE_FOR_FORTRAN   = NO
-
-# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
-# sources. Doxygen will then generate output that is tailored for VHDL.
-# The default value is: NO.
-
-OPTIMIZE_OUTPUT_VHDL   = NO
-
-# Doxygen selects the parser to use depending on the extension of the files it
-# parses. With this tag you can assign which parser to use for a given
-# extension. Doxygen has a built-in mapping, but you can override or extend it
-# using this tag. The format is ext=language, where ext is a file extension, and
-# language is one of the parsers supported by doxygen: IDL, Java, Javascript,
-# C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran:
-# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran:
-# Fortran. In the later case the parser tries to guess whether the code is fixed
-# or free formatted code, this is the default for Fortran type files), VHDL. For
-# instance to make doxygen treat .inc files as Fortran files (default is PHP),
-# and .f files as C (default is Fortran), use: inc=Fortran f=C.
-#
-# Note: For files without extension you can use no_extension as a placeholder.
-#
-# Note that for custom extensions you also need to set FILE_PATTERNS otherwise
-# the files are not read by doxygen.
-
-EXTENSION_MAPPING      =
-
-# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments
-# according to the Markdown format, which allows for more readable
-# documentation. See http://daringfireball.net/projects/markdown/ for details.
-# The output of markdown processing is further processed by doxygen, so you can
-# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in
-# case of backward compatibilities issues.
-# The default value is: YES.
-
-MARKDOWN_SUPPORT       = YES
-
-# When enabled doxygen tries to link words that correspond to documented
-# classes, or namespaces to their corresponding documentation. Such a link can
-# be prevented in individual cases by putting a % sign in front of the word or
-# globally by setting AUTOLINK_SUPPORT to NO.
-# The default value is: YES.
-
-AUTOLINK_SUPPORT       = YES
-
-# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
-# to include (a tag file for) the STL sources as input, then you should set this
-# tag to YES in order to let doxygen match functions declarations and
-# definitions whose arguments contain STL classes (e.g. func(std::string);
-# versus func(std::string) {}). This also make the inheritance and collaboration
-# diagrams that involve STL classes more complete and accurate.
-# The default value is: NO.
-
-BUILTIN_STL_SUPPORT    = NO
-
-# If you use Microsoft's C++/CLI language, you should set this option to YES to
-# enable parsing support.
-# The default value is: NO.
-
-CPP_CLI_SUPPORT        = NO
-
-# Set the SIP_SUPPORT tag to YES if your project consists of sip (see:
-# http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen
-# will parse them like normal C++ but will assume all classes use public instead
-# of private inheritance when no explicit protection keyword is present.
-# The default value is: NO.
-
-SIP_SUPPORT            = NO
-
-# For Microsoft's IDL there are propget and propput attributes to indicate
-# getter and setter methods for a property. Setting this option to YES will make
-# doxygen to replace the get and set methods by a property in the documentation.
-# This will only work if the methods are indeed getting or setting a simple
-# type. If this is not the case, or you want to show the methods anyway, you
-# should set this option to NO.
-# The default value is: YES.
-
-IDL_PROPERTY_SUPPORT   = YES
-
-# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
-# tag is set to YES then doxygen will reuse the documentation of the first
-# member in the group (if any) for the other members of the group. By default
-# all members of a group must be documented explicitly.
-# The default value is: NO.
-
-DISTRIBUTE_GROUP_DOC   = NO
-
-# Set the SUBGROUPING tag to YES to allow class member groups of the same type
-# (for instance a group of public functions) to be put as a subgroup of that
-# type (e.g. under the Public Functions section). Set it to NO to prevent
-# subgrouping. Alternatively, this can be done per class using the
-# \nosubgrouping command.
-# The default value is: YES.
-
-SUBGROUPING            = YES
-
-# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions
-# are shown inside the group in which they are included (e.g. using \ingroup)
-# instead of on a separate page (for HTML and Man pages) or section (for LaTeX
-# and RTF).
-#
-# Note that this feature does not work in combination with
-# SEPARATE_MEMBER_PAGES.
-# The default value is: NO.
-
-INLINE_GROUPED_CLASSES = NO
-
-# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions
-# with only public data fields or simple typedef fields will be shown inline in
-# the documentation of the scope in which they are defined (i.e. file,
-# namespace, or group documentation), provided this scope is documented. If set
-# to NO, structs, classes, and unions are shown on a separate page (for HTML and
-# Man pages) or section (for LaTeX and RTF).
-# The default value is: NO.
-
-INLINE_SIMPLE_STRUCTS  = NO
-
-# When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or
-# enum is documented as struct, union, or enum with the name of the typedef. So
-# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
-# with name TypeT. When disabled the typedef will appear as a member of a file,
-# namespace, or class. And the struct will be named TypeS. This can typically be
-# useful for C code in case the coding convention dictates that all compound
-# types are typedef'ed and only the typedef is referenced, never the tag name.
-# The default value is: NO.
-
-TYPEDEF_HIDES_STRUCT   = NO
-
-# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This
-# cache is used to resolve symbols given their name and scope. Since this can be
-# an expensive process and often the same symbol appears multiple times in the
-# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small
-# doxygen will become slower. If the cache is too large, memory is wasted. The
-# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range
-# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536
-# symbols. At the end of a run doxygen will report the cache usage and suggest
-# the optimal cache size from a speed point of view.
-# Minimum value: 0, maximum value: 9, default value: 0.
-
-LOOKUP_CACHE_SIZE      = 0
-
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-
-# If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in
-# documentation are documented, even if no documentation was available. Private
-# class members and static file members will be hidden unless the
-# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES.
-# Note: This will also disable the warnings about undocumented members that are
-# normally produced when WARNINGS is set to YES.
-# The default value is: NO.
-
-EXTRACT_ALL            = NO
-
-# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will
-# be included in the documentation.
-# The default value is: NO.
-
-EXTRACT_PRIVATE        = NO
-
-# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal
-# scope will be included in the documentation.
-# The default value is: NO.
-
-EXTRACT_PACKAGE        = NO
-
-# If the EXTRACT_STATIC tag is set to YES, all static members of a file will be
-# included in the documentation.
-# The default value is: NO.
-
-EXTRACT_STATIC         = NO
-
-# If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined
-# locally in source files will be included in the documentation. If set to NO,
-# only classes defined in header files are included. Does not have any effect
-# for Java sources.
-# The default value is: YES.
-
-EXTRACT_LOCAL_CLASSES  = YES
-
-# This flag is only useful for Objective-C code. If set to YES, local methods,
-# which are defined in the implementation section but not in the interface are
-# included in the documentation. If set to NO, only methods in the interface are
-# included.
-# The default value is: NO.
-
-EXTRACT_LOCAL_METHODS  = NO
-
-# If this flag is set to YES, the members of anonymous namespaces will be
-# extracted and appear in the documentation as a namespace called
-# 'anonymous_namespace{file}', where file will be replaced with the base name of
-# the file that contains the anonymous namespace. By default anonymous namespace
-# are hidden.
-# The default value is: NO.
-
-EXTRACT_ANON_NSPACES   = NO
-
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all
-# undocumented members inside documented classes or files. If set to NO these
-# members will be included in the various overviews, but no documentation
-# section is generated. This option has no effect if EXTRACT_ALL is enabled.
-# The default value is: NO.
-
-HIDE_UNDOC_MEMBERS     = NO
-
-# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all
-# undocumented classes that are normally visible in the class hierarchy. If set
-# to NO, these classes will be included in the various overviews. This option
-# has no effect if EXTRACT_ALL is enabled.
-# The default value is: NO.
-
-HIDE_UNDOC_CLASSES     = NO
-
-# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend
-# (class|struct|union) declarations. If set to NO, these declarations will be
-# included in the documentation.
-# The default value is: NO.
-
-HIDE_FRIEND_COMPOUNDS  = NO
-
-# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any
-# documentation blocks found inside the body of a function. If set to NO, these
-# blocks will be appended to the function's detailed documentation block.
-# The default value is: NO.
-
-HIDE_IN_BODY_DOCS      = NO
-
-# The INTERNAL_DOCS tag determines if documentation that is typed after a
-# \internal command is included. If the tag is set to NO then the documentation
-# will be excluded. Set it to YES to include the internal documentation.
-# The default value is: NO.
-
-INTERNAL_DOCS          = NO
-
-# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file
-# names in lower-case letters. If set to YES, upper-case letters are also
-# allowed. This is useful if you have classes or files whose names only differ
-# in case and if your file system supports case sensitive file names. Windows
-# and Mac users are advised to set this option to NO.
-# The default value is: system dependent.
-
-CASE_SENSE_NAMES       = NO
-
-# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with
-# their full class and namespace scopes in the documentation. If set to YES, the
-# scope will be hidden.
-# The default value is: NO.
-
-HIDE_SCOPE_NAMES       = NO
-
-# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of
-# the files that are included by a file in the documentation of that file.
-# The default value is: YES.
-
-SHOW_INCLUDE_FILES     = YES
-
-# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each
-# grouped member an include statement to the documentation, telling the reader
-# which file to include in order to use the member.
-# The default value is: NO.
-
-SHOW_GROUPED_MEMB_INC  = NO
-
-# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include
-# files with double quotes in the documentation rather than with sharp brackets.
-# The default value is: NO.
-
-FORCE_LOCAL_INCLUDES   = NO
-
-# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the
-# documentation for inline members.
-# The default value is: YES.
-
-INLINE_INFO            = YES
-
-# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the
-# (detailed) documentation of file and class members alphabetically by member
-# name. If set to NO, the members will appear in declaration order.
-# The default value is: YES.
-
-SORT_MEMBER_DOCS       = YES
-
-# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief
-# descriptions of file, namespace and class members alphabetically by member
-# name. If set to NO, the members will appear in declaration order. Note that
-# this will also influence the order of the classes in the class list.
-# The default value is: NO.
-
-SORT_BRIEF_DOCS        = NO
-
-# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the
-# (brief and detailed) documentation of class members so that constructors and
-# destructors are listed first. If set to NO the constructors will appear in the
-# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS.
-# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief
-# member documentation.
-# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting
-# detailed member documentation.
-# The default value is: NO.
-
-SORT_MEMBERS_CTORS_1ST = NO
-
-# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy
-# of group names into alphabetical order. If set to NO the group names will
-# appear in their defined order.
-# The default value is: NO.
-
-SORT_GROUP_NAMES       = NO
-
-# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by
-# fully-qualified names, including namespaces. If set to NO, the class list will
-# be sorted only by class name, not including the namespace part.
-# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
-# Note: This option applies only to the class list, not to the alphabetical
-# list.
-# The default value is: NO.
-
-SORT_BY_SCOPE_NAME     = NO
-
-# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper
-# type resolution of all parameters of a function it will reject a match between
-# the prototype and the implementation of a member function even if there is
-# only one candidate or it is obvious which candidate to choose by doing a
-# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still
-# accept a match between prototype and implementation in such cases.
-# The default value is: NO.
-
-STRICT_PROTO_MATCHING  = NO
-
-# The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo
-# list. This list is created by putting \todo commands in the documentation.
-# The default value is: YES.
-
-GENERATE_TODOLIST      = YES
-
-# The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test
-# list. This list is created by putting \test commands in the documentation.
-# The default value is: YES.
-
-GENERATE_TESTLIST      = YES
-
-# The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug
-# list. This list is created by putting \bug commands in the documentation.
-# The default value is: YES.
-
-GENERATE_BUGLIST       = YES
-
-# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO)
-# the deprecated list. This list is created by putting \deprecated commands in
-# the documentation.
-# The default value is: YES.
-
-GENERATE_DEPRECATEDLIST= YES
-
-# The ENABLED_SECTIONS tag can be used to enable conditional documentation
-# sections, marked by \if <section_label> ... \endif and \cond <section_label>
-# ... \endcond blocks.
-
-ENABLED_SECTIONS       =
-
-# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the
-# initial value of a variable or macro / define can have for it to appear in the
-# documentation. If the initializer consists of more lines than specified here
-# it will be hidden. Use a value of 0 to hide initializers completely. The
-# appearance of the value of individual variables and macros / defines can be
-# controlled using \showinitializer or \hideinitializer command in the
-# documentation regardless of this setting.
-# Minimum value: 0, maximum value: 10000, default value: 30.
-
-MAX_INITIALIZER_LINES  = 30
-
-# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at
-# the bottom of the documentation of classes and structs. If set to YES, the
-# list will mention the files that were used to generate the documentation.
-# The default value is: YES.
-
-SHOW_USED_FILES        = YES
-
-# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This
-# will remove the Files entry from the Quick Index and from the Folder Tree View
-# (if specified).
-# The default value is: YES.
-
-SHOW_FILES             = YES
-
-# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces
-# page. This will remove the Namespaces entry from the Quick Index and from the
-# Folder Tree View (if specified).
-# The default value is: YES.
-
-SHOW_NAMESPACES        = YES
-
-# The FILE_VERSION_FILTER tag can be used to specify a program or script that
-# doxygen should invoke to get the current version for each file (typically from
-# the version control system). Doxygen will invoke the program by executing (via
-# popen()) the command command input-file, where command is the value of the
-# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided
-# by doxygen. Whatever the program writes to standard output is used as the file
-# version. For an example see the documentation.
-
-FILE_VERSION_FILTER    =
-
-# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
-# by doxygen. The layout file controls the global structure of the generated
-# output files in an output format independent way. To create the layout file
-# that represents doxygen's defaults, run doxygen with the -l option. You can
-# optionally specify a file name after the option, if omitted DoxygenLayout.xml
-# will be used as the name of the layout file.
-#
-# Note that if you run doxygen from a directory containing a file called
-# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE
-# tag is left empty.
-
-LAYOUT_FILE            =
-
-# The CITE_BIB_FILES tag can be used to specify one or more bib files containing
-# the reference definitions. This must be a list of .bib files. The .bib
-# extension is automatically appended if omitted. This requires the bibtex tool
-# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info.
-# For LaTeX the style of the bibliography can be controlled using
-# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the
-# search path. See also \cite for info how to create references.
-
-CITE_BIB_FILES         =
-
-#---------------------------------------------------------------------------
-# Configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-# The QUIET tag can be used to turn on/off the messages that are generated to
-# standard output by doxygen. If QUIET is set to YES this implies that the
-# messages are off.
-# The default value is: NO.
-
-QUIET                  = NO
-
-# The WARNINGS tag can be used to turn on/off the warning messages that are
-# generated to standard error (stderr) by doxygen. If WARNINGS is set to YES
-# this implies that the warnings are on.
-#
-# Tip: Turn warnings on while writing the documentation.
-# The default value is: YES.
-
-WARNINGS               = YES
-
-# If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate
-# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag
-# will automatically be disabled.
-# The default value is: YES.
-
-WARN_IF_UNDOCUMENTED   = YES
-
-# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for
-# potential errors in the documentation, such as not documenting some parameters
-# in a documented function, or documenting parameters that don't exist or using
-# markup commands wrongly.
-# The default value is: YES.
-
-WARN_IF_DOC_ERROR      = YES
-
-# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that
-# are documented, but have no documentation for their parameters or return
-# value. If set to NO, doxygen will only warn about wrong or incomplete
-# parameter documentation, but not about the absence of documentation.
-# The default value is: NO.
-
-WARN_NO_PARAMDOC       = NO
-
-# The WARN_FORMAT tag determines the format of the warning messages that doxygen
-# can produce. The string should contain the $file, $line, and $text tags, which
-# will be replaced by the file and line number from which the warning originated
-# and the warning text. Optionally the format may contain $version, which will
-# be replaced by the version of the file (if it could be obtained via
-# FILE_VERSION_FILTER)
-# The default value is: $file:$line: $text.
-
-WARN_FORMAT            = "$file:$line: $text"
-
-# The WARN_LOGFILE tag can be used to specify a file to which warning and error
-# messages should be written. If left blank the output is written to standard
-# error (stderr).
-
-WARN_LOGFILE           =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the input files
-#---------------------------------------------------------------------------
-
-# The INPUT tag is used to specify the files and/or directories that contain
-# documented source files. You may enter file names like myfile.cpp or
-# directories like /usr/src/myproject. Separate the files or directories with
-# spaces.
-# Note: If this tag is empty the current directory is searched.
-
-INPUT                  = src
-
-# This tag can be used to specify the character encoding of the source files
-# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
-# libiconv (or the iconv built into libc) for the transcoding. See the libiconv
-# documentation (see: http://www.gnu.org/software/libiconv) for the list of
-# possible encodings.
-# The default value is: UTF-8.
-
-INPUT_ENCODING         = UTF-8
-
-# If the value of the INPUT tag contains directories, you can use the
-# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and
-# *.h) to filter out the source-files in the directories. If left blank the
-# following patterns are tested:*.c, *.cc, *.cxx, *.cpp, *.c++, *.java, *.ii,
-# *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, *.hh, *.hxx, *.hpp,
-# *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, *.m, *.markdown,
-# *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf,
-# *.qsf, *.as and *.js.
-
-FILE_PATTERNS          = *.c \
-                         *.cc \
-                         *.cxx \
-                         *.cpp \
-                         *.c++ \
-                         *.java \
-                         *.ii \
-                         *.ixx \
-                         *.ipp \
-                         *.i++ \
-                         *.inl \
-                         *.idl \
-                         *.ddl \
-                         *.odl \
-                         *.h \
-                         *.hh \
-                         *.hxx \
-                         *.hpp \
-                         *.h++ \
-                         *.cs \
-                         *.d \
-                         *.php \
-                         *.php4 \
-                         *.php5 \
-                         *.phtml \
-                         *.inc \
-                         *.m \
-                         *.markdown \
-                         *.md \
-                         *.mm \
-                         *.dox \
-                         *.py \
-                         *.f90 \
-                         *.f \
-                         *.for \
-                         *.tcl \
-                         *.vhd \
-                         *.vhdl \
-                         *.ucf \
-                         *.qsf \
-                         *.as \
-                         *.js
-
-# The RECURSIVE tag can be used to specify whether or not subdirectories should
-# be searched for input files as well.
-# The default value is: NO.
-
-RECURSIVE              = YES
-
-# The EXCLUDE tag can be used to specify files and/or directories that should be
-# excluded from the INPUT source files. This way you can easily exclude a
-# subdirectory from a directory tree whose root is specified with the INPUT tag.
-#
-# Note that relative paths are relative to the directory from which doxygen is
-# run.
-
-EXCLUDE                =
-
-# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
-# directories that are symbolic links (a Unix file system feature) are excluded
-# from the input.
-# The default value is: NO.
-
-EXCLUDE_SYMLINKS       = NO
-
-# If the value of the INPUT tag contains directories, you can use the
-# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
-# certain files from those directories.
-#
-# Note that the wildcards are matched against the file with absolute path, so to
-# exclude all test directories for example use the pattern */test/*
-
-EXCLUDE_PATTERNS       =
-
-# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
-# (namespaces, classes, functions, etc.) that should be excluded from the
-# output. The symbol name can be a fully qualified name, a word, or if the
-# wildcard * is used, a substring. Examples: ANamespace, AClass,
-# AClass::ANamespace, ANamespace::*Test
-#
-# Note that the wildcards are matched against the file with absolute path, so to
-# exclude all test directories use the pattern */test/*
-
-EXCLUDE_SYMBOLS        =
-
-# The EXAMPLE_PATH tag can be used to specify one or more files or directories
-# that contain example code fragments that are included (see the \include
-# command).
-
-EXAMPLE_PATH           =
-
-# If the value of the EXAMPLE_PATH tag contains directories, you can use the
-# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and
-# *.h) to filter out the source-files in the directories. If left blank all
-# files are included.
-
-EXAMPLE_PATTERNS       = *
-
-# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
-# searched for input files to be used with the \include or \dontinclude commands
-# irrespective of the value of the RECURSIVE tag.
-# The default value is: NO.
-
-EXAMPLE_RECURSIVE      = NO
-
-# The IMAGE_PATH tag can be used to specify one or more files or directories
-# that contain images that are to be included in the documentation (see the
-# \image command).
-
-IMAGE_PATH             =
-
-# The INPUT_FILTER tag can be used to specify a program that doxygen should
-# invoke to filter for each input file. Doxygen will invoke the filter program
-# by executing (via popen()) the command:
-#
-# <filter> <input-file>
-#
-# where <filter> is the value of the INPUT_FILTER tag, and <input-file> is the
-# name of an input file. Doxygen will then use the output that the filter
-# program writes to standard output. If FILTER_PATTERNS is specified, this tag
-# will be ignored.
-#
-# Note that the filter must not add or remove lines; it is applied before the
-# code is scanned, but not when the output code is generated. If lines are added
-# or removed, the anchors will not be placed correctly.
-
-INPUT_FILTER           =
-
-# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
-# basis. Doxygen will compare the file name with each pattern and apply the
-# filter if there is a match. The filters are a list of the form: pattern=filter
-# (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how
-# filters are used. If the FILTER_PATTERNS tag is empty or if none of the
-# patterns match the file name, INPUT_FILTER is applied.
-
-FILTER_PATTERNS        =
-
-# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
-# INPUT_FILTER) will also be used to filter the input files that are used for
-# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES).
-# The default value is: NO.
-
-FILTER_SOURCE_FILES    = NO
-
-# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file
-# pattern. A pattern will override the setting for FILTER_PATTERN (if any) and
-# it is also possible to disable source filtering for a specific pattern using
-# *.ext= (so without naming a filter).
-# This tag requires that the tag FILTER_SOURCE_FILES is set to YES.
-
-FILTER_SOURCE_PATTERNS =
-
-# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that
-# is part of the input, its contents will be placed on the main page
-# (index.html). This can be useful if you have a project on for instance GitHub
-# and want to reuse the introduction page also for the doxygen output.
-
-USE_MDFILE_AS_MAINPAGE =
-
-#---------------------------------------------------------------------------
-# Configuration options related to source browsing
-#---------------------------------------------------------------------------
-
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will be
-# generated. Documented entities will be cross-referenced with these sources.
-#
-# Note: To get rid of all source code in the generated output, make sure that
-# also VERBATIM_HEADERS is set to NO.
-# The default value is: NO.
-
-SOURCE_BROWSER         = NO
-
-# Setting the INLINE_SOURCES tag to YES will include the body of functions,
-# classes and enums directly into the documentation.
-# The default value is: NO.
-
-INLINE_SOURCES         = NO
-
-# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any
-# special comment blocks from generated source code fragments. Normal C, C++ and
-# Fortran comments will always remain visible.
-# The default value is: YES.
-
-STRIP_CODE_COMMENTS    = YES
-
-# If the REFERENCED_BY_RELATION tag is set to YES then for each documented
-# function all documented functions referencing it will be listed.
-# The default value is: NO.
-
-REFERENCED_BY_RELATION = NO
-
-# If the REFERENCES_RELATION tag is set to YES then for each documented function
-# all documented entities called/used by that function will be listed.
-# The default value is: NO.
-
-REFERENCES_RELATION    = NO
-
-# If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set
-# to YES then the hyperlinks from functions in REFERENCES_RELATION and
-# REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will
-# link to the documentation.
-# The default value is: YES.
-
-REFERENCES_LINK_SOURCE = YES
-
-# If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the
-# source code will show a tooltip with additional information such as prototype,
-# brief description and links to the definition and documentation. Since this
-# will make the HTML file larger and loading of large files a bit slower, you
-# can opt to disable this feature.
-# The default value is: YES.
-# This tag requires that the tag SOURCE_BROWSER is set to YES.
-
-SOURCE_TOOLTIPS        = YES
-
-# If the USE_HTAGS tag is set to YES then the references to source code will
-# point to the HTML generated by the htags(1) tool instead of doxygen built-in
-# source browser. The htags tool is part of GNU's global source tagging system
-# (see http://www.gnu.org/software/global/global.html). You will need version
-# 4.8.6 or higher.
-#
-# To use it do the following:
-# - Install the latest version of global
-# - Enable SOURCE_BROWSER and USE_HTAGS in the config file
-# - Make sure the INPUT points to the root of the source tree
-# - Run doxygen as normal
-#
-# Doxygen will invoke htags (and that will in turn invoke gtags), so these
-# tools must be available from the command line (i.e. in the search path).
-#
-# The result: instead of the source browser generated by doxygen, the links to
-# source code will now point to the output of htags.
-# The default value is: NO.
-# This tag requires that the tag SOURCE_BROWSER is set to YES.
-
-USE_HTAGS              = NO
-
-# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a
-# verbatim copy of the header file for each class for which an include is
-# specified. Set to NO to disable this.
-# See also: Section \class.
-# The default value is: YES.
-
-VERBATIM_HEADERS       = YES
-
-#---------------------------------------------------------------------------
-# Configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all
-# compounds will be generated. Enable this if the project contains a lot of
-# classes, structs, unions or interfaces.
-# The default value is: YES.
-
-ALPHABETICAL_INDEX     = YES
-
-# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in
-# which the alphabetical index list will be split.
-# Minimum value: 1, maximum value: 20, default value: 5.
-# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
-
-COLS_IN_ALPHA_INDEX    = 5
-
-# In case all classes in a project start with a common prefix, all classes will
-# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag
-# can be used to specify a prefix (or a list of prefixes) that should be ignored
-# while generating the index headers.
-# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
-
-IGNORE_PREFIX          =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output
-# The default value is: YES.
-
-GENERATE_HTML          = NO
-
-# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a
-# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
-# it.
-# The default directory is: html.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_OUTPUT            = html
-
-# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each
-# generated HTML page (for example: .htm, .php, .asp).
-# The default value is: .html.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_FILE_EXTENSION    = .html
-
-# The HTML_HEADER tag can be used to specify a user-defined HTML header file for
-# each generated HTML page. If the tag is left blank doxygen will generate a
-# standard header.
-#
-# To get valid HTML the header file that includes any scripts and style sheets
-# that doxygen needs, which is dependent on the configuration options used (e.g.
-# the setting GENERATE_TREEVIEW). It is highly recommended to start with a
-# default header using
-# doxygen -w html new_header.html new_footer.html new_stylesheet.css
-# YourConfigFile
-# and then modify the file new_header.html. See also section "Doxygen usage"
-# for information on how to generate the default header that doxygen normally
-# uses.
-# Note: The header is subject to change so you typically have to regenerate the
-# default header when upgrading to a newer version of doxygen. For a description
-# of the possible markers and block names see the documentation.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_HEADER            =
-
-# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each
-# generated HTML page. If the tag is left blank doxygen will generate a standard
-# footer. See HTML_HEADER for more information on how to generate a default
-# footer and what special commands can be used inside the footer. See also
-# section "Doxygen usage" for information on how to generate the default footer
-# that doxygen normally uses.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_FOOTER            =
-
-# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style
-# sheet that is used by each HTML page. It can be used to fine-tune the look of
-# the HTML output. If left blank doxygen will generate a default style sheet.
-# See also section "Doxygen usage" for information on how to generate the style
-# sheet that doxygen normally uses.
-# Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as
-# it is more robust and this tag (HTML_STYLESHEET) will in the future become
-# obsolete.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_STYLESHEET        =
-
-# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined
-# cascading style sheets that are included after the standard style sheets
-# created by doxygen. Using this option one can overrule certain style aspects.
-# This is preferred over using HTML_STYLESHEET since it does not replace the
-# standard style sheet and is therefore more robust against future updates.
-# Doxygen will copy the style sheet files to the output directory.
-# Note: The order of the extra stylesheet files is of importance (e.g. the last
-# stylesheet in the list overrules the setting of the previous ones in the
-# list). For an example see the documentation.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_EXTRA_STYLESHEET  =
-
-# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
-# other source files which should be copied to the HTML output directory. Note
-# that these files will be copied to the base HTML output directory. Use the
-# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these
-# files. In the HTML_STYLESHEET file, use the file name only. Also note that the
-# files will be copied as-is; there are no commands or markers available.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_EXTRA_FILES       =
-
-# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen
-# will adjust the colors in the stylesheet and background images according to
-# this color. Hue is specified as an angle on a colorwheel, see
-# http://en.wikipedia.org/wiki/Hue for more information. For instance the value
-# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300
-# purple, and 360 is red again.
-# Minimum value: 0, maximum value: 359, default value: 220.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_COLORSTYLE_HUE    = 220
-
-# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors
-# in the HTML output. For a value of 0 the output will use grayscales only. A
-# value of 255 will produce the most vivid colors.
-# Minimum value: 0, maximum value: 255, default value: 100.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_COLORSTYLE_SAT    = 100
-
-# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the
-# luminance component of the colors in the HTML output. Values below 100
-# gradually make the output lighter, whereas values above 100 make the output
-# darker. The value divided by 100 is the actual gamma applied, so 80 represents
-# a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not
-# change the gamma.
-# Minimum value: 40, maximum value: 240, default value: 80.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_COLORSTYLE_GAMMA  = 80
-
-# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
-# page will contain the date and time when the page was generated. Setting this
-# to NO can help when comparing the output of multiple runs.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_TIMESTAMP         = YES
-
-# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
-# documentation will contain sections that can be hidden and shown after the
-# page has loaded.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_DYNAMIC_SECTIONS  = NO
-
-# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries
-# shown in the various tree structured indices initially; the user can expand
-# and collapse entries dynamically later on. Doxygen will expand the tree to
-# such a level that at most the specified number of entries are visible (unless
-# a fully collapsed tree already exceeds this amount). So setting the number of
-# entries 1 will produce a full collapsed tree by default. 0 is a special value
-# representing an infinite number of entries and will result in a full expanded
-# tree by default.
-# Minimum value: 0, maximum value: 9999, default value: 100.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_INDEX_NUM_ENTRIES = 100
-
-# If the GENERATE_DOCSET tag is set to YES, additional index files will be
-# generated that can be used as input for Apple's Xcode 3 integrated development
-# environment (see: http://developer.apple.com/tools/xcode/), introduced with
-# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a
-# Makefile in the HTML output directory. Running make will produce the docset in
-# that directory and running make install will install the docset in
-# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at
-# startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
-# for more information.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-GENERATE_DOCSET        = NO
-
-# This tag determines the name of the docset feed. A documentation feed provides
-# an umbrella under which multiple documentation sets from a single provider
-# (such as a company or product suite) can be grouped.
-# The default value is: Doxygen generated docs.
-# This tag requires that the tag GENERATE_DOCSET is set to YES.
-
-DOCSET_FEEDNAME        = "Doxygen generated docs"
-
-# This tag specifies a string that should uniquely identify the documentation
-# set bundle. This should be a reverse domain-name style string, e.g.
-# com.mycompany.MyDocSet. Doxygen will append .docset to the name.
-# The default value is: org.doxygen.Project.
-# This tag requires that the tag GENERATE_DOCSET is set to YES.
-
-DOCSET_BUNDLE_ID       = org.doxygen.Project
-
-# The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify
-# the documentation publisher. This should be a reverse domain-name style
-# string, e.g. com.mycompany.MyDocSet.documentation.
-# The default value is: org.doxygen.Publisher.
-# This tag requires that the tag GENERATE_DOCSET is set to YES.
-
-DOCSET_PUBLISHER_ID    = org.doxygen.Publisher
-
-# The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher.
-# The default value is: Publisher.
-# This tag requires that the tag GENERATE_DOCSET is set to YES.
-
-DOCSET_PUBLISHER_NAME  = Publisher
-
-# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three
-# additional HTML index files: index.hhp, index.hhc, and index.hhk. The
-# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop
-# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on
-# Windows.
-#
-# The HTML Help Workshop contains a compiler that can convert all HTML output
-# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML
-# files are now used as the Windows 98 help format, and will replace the old
-# Windows help format (.hlp) on all Windows platforms in the future. Compressed
-# HTML files also contain an index, a table of contents, and you can search for
-# words in the documentation. The HTML workshop also contains a viewer for
-# compressed HTML files.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-GENERATE_HTMLHELP      = NO
-
-# The CHM_FILE tag can be used to specify the file name of the resulting .chm
-# file. You can add a path in front of the file if the result should not be
-# written to the html output directory.
-# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-
-CHM_FILE               =
-
-# The HHC_LOCATION tag can be used to specify the location (absolute path
-# including file name) of the HTML help compiler (hhc.exe). If non-empty,
-# doxygen will try to run the HTML help compiler on the generated index.hhp.
-# The file has to be specified with full path.
-# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-
-HHC_LOCATION           =
-
-# The GENERATE_CHI flag controls if a separate .chi index file is generated
-# (YES) or that it should be included in the master .chm file (NO).
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-
-GENERATE_CHI           = NO
-
-# The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc)
-# and project file content.
-# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-
-CHM_INDEX_ENCODING     =
-
-# The BINARY_TOC flag controls whether a binary table of contents is generated
-# (YES) or a normal table of contents (NO) in the .chm file. Furthermore it
-# enables the Previous and Next buttons.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-
-BINARY_TOC             = NO
-
-# The TOC_EXPAND flag can be set to YES to add extra items for group members to
-# the table of contents of the HTML help documentation and to the tree view.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-
-TOC_EXPAND             = NO
-
-# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
-# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that
-# can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help
-# (.qch) of the generated HTML documentation.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-GENERATE_QHP           = NO
-
-# If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify
-# the file name of the resulting .qch file. The path specified is relative to
-# the HTML output folder.
-# This tag requires that the tag GENERATE_QHP is set to YES.
-
-QCH_FILE               =
-
-# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help
-# Project output. For more information please see Qt Help Project / Namespace
-# (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace).
-# The default value is: org.doxygen.Project.
-# This tag requires that the tag GENERATE_QHP is set to YES.
-
-QHP_NAMESPACE          = org.doxygen.Project
-
-# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt
-# Help Project output. For more information please see Qt Help Project / Virtual
-# Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual-
-# folders).
-# The default value is: doc.
-# This tag requires that the tag GENERATE_QHP is set to YES.
-
-QHP_VIRTUAL_FOLDER     = doc
-
-# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom
-# filter to add. For more information please see Qt Help Project / Custom
-# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
-# filters).
-# This tag requires that the tag GENERATE_QHP is set to YES.
-
-QHP_CUST_FILTER_NAME   =
-
-# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the
-# custom filter to add. For more information please see Qt Help Project / Custom
-# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom-
-# filters).
-# This tag requires that the tag GENERATE_QHP is set to YES.
-
-QHP_CUST_FILTER_ATTRS  =
-
-# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
-# project's filter section matches. Qt Help Project / Filter Attributes (see:
-# http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes).
-# This tag requires that the tag GENERATE_QHP is set to YES.
-
-QHP_SECT_FILTER_ATTRS  =
-
-# The QHG_LOCATION tag can be used to specify the location of Qt's
-# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the
-# generated .qhp file.
-# This tag requires that the tag GENERATE_QHP is set to YES.
-
-QHG_LOCATION           =
-
-# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be
-# generated, together with the HTML files, they form an Eclipse help plugin. To
-# install this plugin and make it available under the help contents menu in
-# Eclipse, the contents of the directory containing the HTML and XML files needs
-# to be copied into the plugins directory of eclipse. The name of the directory
-# within the plugins directory should be the same as the ECLIPSE_DOC_ID value.
-# After copying Eclipse needs to be restarted before the help appears.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-GENERATE_ECLIPSEHELP   = NO
-
-# A unique identifier for the Eclipse help plugin. When installing the plugin
-# the directory name containing the HTML and XML files should also have this
-# name. Each documentation set should have its own identifier.
-# The default value is: org.doxygen.Project.
-# This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES.
-
-ECLIPSE_DOC_ID         = org.doxygen.Project
-
-# If you want full control over the layout of the generated HTML pages it might
-# be necessary to disable the index and replace it with your own. The
-# DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top
-# of each HTML page. A value of NO enables the index and the value YES disables
-# it. Since the tabs in the index contain the same information as the navigation
-# tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-DISABLE_INDEX          = NO
-
-# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
-# structure should be generated to display hierarchical information. If the tag
-# value is set to YES, a side panel will be generated containing a tree-like
-# index structure (just like the one that is generated for HTML Help). For this
-# to work a browser that supports JavaScript, DHTML, CSS and frames is required
-# (i.e. any modern browser). Windows users are probably better off using the
-# HTML help feature. Via custom stylesheets (see HTML_EXTRA_STYLESHEET) one can
-# further fine-tune the look of the index. As an example, the default style
-# sheet generated by doxygen has an example that shows how to put an image at
-# the root of the tree instead of the PROJECT_NAME. Since the tree basically has
-# the same information as the tab index, you could consider setting
-# DISABLE_INDEX to YES when enabling this option.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-GENERATE_TREEVIEW      = NO
-
-# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that
-# doxygen will group on one line in the generated HTML documentation.
-#
-# Note that a value of 0 will completely suppress the enum values from appearing
-# in the overview section.
-# Minimum value: 0, maximum value: 20, default value: 4.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-ENUM_VALUES_PER_LINE   = 4
-
-# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used
-# to set the initial width (in pixels) of the frame in which the tree is shown.
-# Minimum value: 0, maximum value: 1500, default value: 250.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-TREEVIEW_WIDTH         = 250
-
-# If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to
-# external symbols imported via tag files in a separate window.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-EXT_LINKS_IN_WINDOW    = NO
-
-# Use this tag to change the font size of LaTeX formulas included as images in
-# the HTML documentation. When you change the font size after a successful
-# doxygen run you need to manually remove any form_*.png images from the HTML
-# output directory to force them to be regenerated.
-# Minimum value: 8, maximum value: 50, default value: 10.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-FORMULA_FONTSIZE       = 10
-
-# Use the FORMULA_TRANPARENT tag to determine whether or not the images
-# generated for formulas are transparent PNGs. Transparent PNGs are not
-# supported properly for IE 6.0, but are supported on all modern browsers.
-#
-# Note that when changing this option you need to delete any form_*.png files in
-# the HTML output directory before the changes have effect.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-FORMULA_TRANSPARENT    = YES
-
-# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see
-# http://www.mathjax.org) which uses client side Javascript for the rendering
-# instead of using pre-rendered bitmaps. Use this if you do not have LaTeX
-# installed or if you want to formulas look prettier in the HTML output. When
-# enabled you may also need to install MathJax separately and configure the path
-# to it using the MATHJAX_RELPATH option.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-USE_MATHJAX            = NO
-
-# When MathJax is enabled you can set the default output format to be used for
-# the MathJax output. See the MathJax site (see:
-# http://docs.mathjax.org/en/latest/output.html) for more details.
-# Possible values are: HTML-CSS (which is slower, but has the best
-# compatibility), NativeMML (i.e. MathML) and SVG.
-# The default value is: HTML-CSS.
-# This tag requires that the tag USE_MATHJAX is set to YES.
-
-MATHJAX_FORMAT         = HTML-CSS
-
-# When MathJax is enabled you need to specify the location relative to the HTML
-# output directory using the MATHJAX_RELPATH option. The destination directory
-# should contain the MathJax.js script. For instance, if the mathjax directory
-# is located at the same level as the HTML output directory, then
-# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax
-# Content Delivery Network so you can quickly see the result without installing
-# MathJax. However, it is strongly recommended to install a local copy of
-# MathJax from http://www.mathjax.org before deployment.
-# The default value is: http://cdn.mathjax.org/mathjax/latest.
-# This tag requires that the tag USE_MATHJAX is set to YES.
-
-MATHJAX_RELPATH        = http://cdn.mathjax.org/mathjax/latest
-
-# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax
-# extension names that should be enabled during MathJax rendering. For example
-# MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols
-# This tag requires that the tag USE_MATHJAX is set to YES.
-
-MATHJAX_EXTENSIONS     =
-
-# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces
-# of code that will be used on startup of the MathJax code. See the MathJax site
-# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an
-# example see the documentation.
-# This tag requires that the tag USE_MATHJAX is set to YES.
-
-MATHJAX_CODEFILE       =
-
-# When the SEARCHENGINE tag is enabled doxygen will generate a search box for
-# the HTML output. The underlying search engine uses javascript and DHTML and
-# should work on any modern browser. Note that when using HTML help
-# (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET)
-# there is already a search function so this one should typically be disabled.
-# For large projects the javascript based search engine can be slow, then
-# enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to
-# search using the keyboard; to jump to the search box use <access key> + S
-# (what the <access key> is depends on the OS and browser, but it is typically
-# <CTRL>, <ALT>/<option>, or both). Inside the search box use the <cursor down
-# key> to jump into the search results window, the results can be navigated
-# using the <cursor keys>. Press <Enter> to select an item or <escape> to cancel
-# the search. The filter options can be selected when the cursor is inside the
-# search box by pressing <Shift>+<cursor down>. Also here use the <cursor keys>
-# to select a filter and <Enter> or <escape> to activate or cancel the filter
-# option.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-SEARCHENGINE           = YES
-
-# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
-# implemented using a web server instead of a web client using Javascript. There
-# are two flavors of web server based searching depending on the EXTERNAL_SEARCH
-# setting. When disabled, doxygen will generate a PHP script for searching and
-# an index file used by the script. When EXTERNAL_SEARCH is enabled the indexing
-# and searching needs to be provided by external tools. See the section
-# "External Indexing and Searching" for details.
-# The default value is: NO.
-# This tag requires that the tag SEARCHENGINE is set to YES.
-
-SERVER_BASED_SEARCH    = NO
-
-# When EXTERNAL_SEARCH tag is enabled doxygen will no longer generate the PHP
-# script for searching. Instead the search results are written to an XML file
-# which needs to be processed by an external indexer. Doxygen will invoke an
-# external search engine pointed to by the SEARCHENGINE_URL option to obtain the
-# search results.
-#
-# Doxygen ships with an example indexer (doxyindexer) and search engine
-# (doxysearch.cgi) which are based on the open source search engine library
-# Xapian (see: http://xapian.org/).
-#
-# See the section "External Indexing and Searching" for details.
-# The default value is: NO.
-# This tag requires that the tag SEARCHENGINE is set to YES.
-
-EXTERNAL_SEARCH        = NO
-
-# The SEARCHENGINE_URL should point to a search engine hosted by a web server
-# which will return the search results when EXTERNAL_SEARCH is enabled.
-#
-# Doxygen ships with an example indexer (doxyindexer) and search engine
-# (doxysearch.cgi) which are based on the open source search engine library
-# Xapian (see: http://xapian.org/). See the section "External Indexing and
-# Searching" for details.
-# This tag requires that the tag SEARCHENGINE is set to YES.
-
-SEARCHENGINE_URL       =
-
-# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed
-# search data is written to a file for indexing by an external tool. With the
-# SEARCHDATA_FILE tag the name of this file can be specified.
-# The default file is: searchdata.xml.
-# This tag requires that the tag SEARCHENGINE is set to YES.
-
-SEARCHDATA_FILE        = searchdata.xml
-
-# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the
-# EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is
-# useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple
-# projects and redirect the results back to the right project.
-# This tag requires that the tag SEARCHENGINE is set to YES.
-
-EXTERNAL_SEARCH_ID     =
-
-# The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen
-# projects other than the one defined by this configuration file, but that are
-# all added to the same external search index. Each project needs to have a
-# unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id of
-# to a relative location where the documentation can be found. The format is:
-# EXTRA_SEARCH_MAPPINGS = tagname1=loc1 tagname2=loc2 ...
-# This tag requires that the tag SEARCHENGINE is set to YES.
-
-EXTRA_SEARCH_MAPPINGS  =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_LATEX tag is set to YES, doxygen will generate LaTeX output.
-# The default value is: YES.
-
-GENERATE_LATEX         = NO
-
-# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. If a
-# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
-# it.
-# The default directory is: latex.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_OUTPUT           = latex
-
-# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
-# invoked.
-#
-# Note that when enabling USE_PDFLATEX this option is only used for generating
-# bitmaps for formulas in the HTML output, but not in the Makefile that is
-# written to the output directory.
-# The default file is: latex.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_CMD_NAME         = latex
-
-# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate
-# index for LaTeX.
-# The default file is: makeindex.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-MAKEINDEX_CMD_NAME     = makeindex
-
-# If the COMPACT_LATEX tag is set to YES, doxygen generates more compact LaTeX
-# documents. This may be useful for small projects and may help to save some
-# trees in general.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-COMPACT_LATEX          = NO
-
-# The PAPER_TYPE tag can be used to set the paper type that is used by the
-# printer.
-# Possible values are: a4 (210 x 297 mm), letter (8.5 x 11 inches), legal (8.5 x
-# 14 inches) and executive (7.25 x 10.5 inches).
-# The default value is: a4.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-PAPER_TYPE             = a4
-
-# The EXTRA_PACKAGES tag can be used to specify one or more LaTeX package names
-# that should be included in the LaTeX output. To get the times font for
-# instance you can specify
-# EXTRA_PACKAGES=times
-# If left blank no extra packages will be included.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-EXTRA_PACKAGES         =
-
-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for the
-# generated LaTeX document. The header should contain everything until the first
-# chapter. If it is left blank doxygen will generate a standard header. See
-# section "Doxygen usage" for information on how to let doxygen write the
-# default header to a separate file.
-#
-# Note: Only use a user-defined header if you know what you are doing! The
-# following commands have a special meaning inside the header: $title,
-# $datetime, $date, $doxygenversion, $projectname, $projectnumber,
-# $projectbrief, $projectlogo. Doxygen will replace $title with the empty
-# string, for the replacement values of the other commands the user is referred
-# to HTML_HEADER.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_HEADER           =
-
-# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for the
-# generated LaTeX document. The footer should contain everything after the last
-# chapter. If it is left blank doxygen will generate a standard footer. See
-# LATEX_HEADER for more information on how to generate a default footer and what
-# special commands can be used inside the footer.
-#
-# Note: Only use a user-defined footer if you know what you are doing!
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_FOOTER           =
-
-# The LATEX_EXTRA_FILES tag can be used to specify one or more extra images or
-# other source files which should be copied to the LATEX_OUTPUT output
-# directory. Note that the files will be copied as-is; there are no commands or
-# markers available.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_EXTRA_FILES      =
-
-# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated is
-# prepared for conversion to PDF (using ps2pdf or pdflatex). The PDF file will
-# contain links (just like the HTML output) instead of page references. This
-# makes the output suitable for online browsing using a PDF viewer.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-PDF_HYPERLINKS         = YES
-
-# If the USE_PDFLATEX tag is set to YES, doxygen will use pdflatex to generate
-# the PDF file directly from the LaTeX files. Set this option to YES, to get a
-# higher quality PDF documentation.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-USE_PDFLATEX           = YES
-
-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \batchmode
-# command to the generated LaTeX files. This will instruct LaTeX to keep running
-# if errors occur, instead of asking the user for help. This option is also used
-# when generating formulas in HTML.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_BATCHMODE        = NO
-
-# If the LATEX_HIDE_INDICES tag is set to YES then doxygen will not include the
-# index chapters (such as File Index, Compound Index, etc.) in the output.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_HIDE_INDICES     = NO
-
-# If the LATEX_SOURCE_CODE tag is set to YES then doxygen will include source
-# code with syntax highlighting in the LaTeX output.
-#
-# Note that which sources are shown also depends on other settings such as
-# SOURCE_BROWSER.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_SOURCE_CODE      = NO
-
-# The LATEX_BIB_STYLE tag can be used to specify the style to use for the
-# bibliography, e.g. plainnat, or ieeetr. See
-# http://en.wikipedia.org/wiki/BibTeX and \cite for more info.
-# The default value is: plain.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_BIB_STYLE        = plain
-
-#---------------------------------------------------------------------------
-# Configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_RTF tag is set to YES, doxygen will generate RTF output. The
-# RTF output is optimized for Word 97 and may not look too pretty with other RTF
-# readers/editors.
-# The default value is: NO.
-
-GENERATE_RTF           = NO
-
-# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. If a
-# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
-# it.
-# The default directory is: rtf.
-# This tag requires that the tag GENERATE_RTF is set to YES.
-
-RTF_OUTPUT             = rtf
-
-# If the COMPACT_RTF tag is set to YES, doxygen generates more compact RTF
-# documents. This may be useful for small projects and may help to save some
-# trees in general.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_RTF is set to YES.
-
-COMPACT_RTF            = NO
-
-# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated will
-# contain hyperlink fields. The RTF file will contain links (just like the HTML
-# output) instead of page references. This makes the output suitable for online
-# browsing using Word or some other Word compatible readers that support those
-# fields.
-#
-# Note: WordPad (write) and others do not support links.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_RTF is set to YES.
-
-RTF_HYPERLINKS         = NO
-
-# Load stylesheet definitions from file. Syntax is similar to doxygen's config
-# file, i.e. a series of assignments. You only have to provide replacements,
-# missing definitions are set to their default value.
-#
-# See also section "Doxygen usage" for information on how to generate the
-# default style sheet that doxygen normally uses.
-# This tag requires that the tag GENERATE_RTF is set to YES.
-
-RTF_STYLESHEET_FILE    =
-
-# Set optional variables used in the generation of an RTF document. Syntax is
-# similar to doxygen's config file. A template extensions file can be generated
-# using doxygen -e rtf extensionFile.
-# This tag requires that the tag GENERATE_RTF is set to YES.
-
-RTF_EXTENSIONS_FILE    =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_MAN tag is set to YES, doxygen will generate man pages for
-# classes and files.
-# The default value is: NO.
-
-GENERATE_MAN           = NO
-
-# The MAN_OUTPUT tag is used to specify where the man pages will be put. If a
-# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
-# it. A directory man3 will be created inside the directory specified by
-# MAN_OUTPUT.
-# The default directory is: man.
-# This tag requires that the tag GENERATE_MAN is set to YES.
-
-MAN_OUTPUT             = man
-
-# The MAN_EXTENSION tag determines the extension that is added to the generated
-# man pages. In case the manual section does not start with a number, the number
-# 3 is prepended. The dot (.) at the beginning of the MAN_EXTENSION tag is
-# optional.
-# The default value is: .3.
-# This tag requires that the tag GENERATE_MAN is set to YES.
-
-MAN_EXTENSION          = .3
-
-# The MAN_SUBDIR tag determines the name of the directory created within
-# MAN_OUTPUT in which the man pages are placed. If defaults to man followed by
-# MAN_EXTENSION with the initial . removed.
-# This tag requires that the tag GENERATE_MAN is set to YES.
-
-MAN_SUBDIR             =
-
-# If the MAN_LINKS tag is set to YES and doxygen generates man output, then it
-# will generate one additional man file for each entity documented in the real
-# man page(s). These additional files only source the real man page, but without
-# them the man command would be unable to find the correct page.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_MAN is set to YES.
-
-MAN_LINKS              = NO
-
-#---------------------------------------------------------------------------
-# Configuration options related to the XML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_XML tag is set to YES, doxygen will generate an XML file that
-# captures the structure of the code including all documentation.
-# The default value is: NO.
-
-GENERATE_XML           = YES
-
-# The XML_OUTPUT tag is used to specify where the XML pages will be put. If a
-# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
-# it.
-# The default directory is: xml.
-# This tag requires that the tag GENERATE_XML is set to YES.
-
-XML_OUTPUT             = xml
-
-# If the XML_PROGRAMLISTING tag is set to YES, doxygen will dump the program
-# listings (including syntax highlighting and cross-referencing information) to
-# the XML output. Note that enabling this will significantly increase the size
-# of the XML output.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_XML is set to YES.
-
-XML_PROGRAMLISTING     = NO
-
-#---------------------------------------------------------------------------
-# Configuration options related to the DOCBOOK output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_DOCBOOK tag is set to YES, doxygen will generate Docbook files
-# that can be used to generate PDF.
-# The default value is: NO.
-
-GENERATE_DOCBOOK       = NO
-
-# The DOCBOOK_OUTPUT tag is used to specify where the Docbook pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be put in
-# front of it.
-# The default directory is: docbook.
-# This tag requires that the tag GENERATE_DOCBOOK is set to YES.
-
-DOCBOOK_OUTPUT         = docbook
-
-# If the DOCBOOK_PROGRAMLISTING tag is set to YES, doxygen will include the
-# program listings (including syntax highlighting and cross-referencing
-# information) to the DOCBOOK output. Note that enabling this will significantly
-# increase the size of the DOCBOOK output.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_DOCBOOK is set to YES.
-
-DOCBOOK_PROGRAMLISTING = NO
-
-#---------------------------------------------------------------------------
-# Configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_AUTOGEN_DEF tag is set to YES, doxygen will generate an
-# AutoGen Definitions (see http://autogen.sf.net) file that captures the
-# structure of the code including all documentation. Note that this feature is
-# still experimental and incomplete at the moment.
-# The default value is: NO.
-
-GENERATE_AUTOGEN_DEF   = NO
-
-#---------------------------------------------------------------------------
-# Configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_PERLMOD tag is set to YES, doxygen will generate a Perl module
-# file that captures the structure of the code including all documentation.
-#
-# Note that this feature is still experimental and incomplete at the moment.
-# The default value is: NO.
-
-GENERATE_PERLMOD       = NO
-
-# If the PERLMOD_LATEX tag is set to YES, doxygen will generate the necessary
-# Makefile rules, Perl scripts and LaTeX code to be able to generate PDF and DVI
-# output from the Perl module output.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_PERLMOD is set to YES.
-
-PERLMOD_LATEX          = NO
-
-# If the PERLMOD_PRETTY tag is set to YES, the Perl module output will be nicely
-# formatted so it can be parsed by a human reader. This is useful if you want to
-# understand what is going on. On the other hand, if this tag is set to NO, the
-# size of the Perl module output will be much smaller and Perl will parse it
-# just the same.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_PERLMOD is set to YES.
-
-PERLMOD_PRETTY         = YES
-
-# The names of the make variables in the generated doxyrules.make file are
-# prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. This is useful
-# so different doxyrules.make files included by the same Makefile don't
-# overwrite each other's variables.
-# This tag requires that the tag GENERATE_PERLMOD is set to YES.
-
-PERLMOD_MAKEVAR_PREFIX =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-# If the ENABLE_PREPROCESSING tag is set to YES, doxygen will evaluate all
-# C-preprocessor directives found in the sources and include files.
-# The default value is: YES.
-
-ENABLE_PREPROCESSING   = YES
-
-# If the MACRO_EXPANSION tag is set to YES, doxygen will expand all macro names
-# in the source code. If set to NO, only conditional compilation will be
-# performed. Macro expansion can be done in a controlled way by setting
-# EXPAND_ONLY_PREDEF to YES.
-# The default value is: NO.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-MACRO_EXPANSION        = NO
-
-# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES then
-# the macro expansion is limited to the macros specified with the PREDEFINED and
-# EXPAND_AS_DEFINED tags.
-# The default value is: NO.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-EXPAND_ONLY_PREDEF     = NO
-
-# If the SEARCH_INCLUDES tag is set to YES, the include files in the
-# INCLUDE_PATH will be searched if a #include is found.
-# The default value is: YES.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-SEARCH_INCLUDES        = YES
-
-# The INCLUDE_PATH tag can be used to specify one or more directories that
-# contain include files that are not input files but should be processed by the
-# preprocessor.
-# This tag requires that the tag SEARCH_INCLUDES is set to YES.
-
-INCLUDE_PATH           =
-
-# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
-# patterns (like *.h and *.hpp) to filter out the header-files in the
-# directories. If left blank, the patterns specified with FILE_PATTERNS will be
-# used.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-INCLUDE_FILE_PATTERNS  =
-
-# The PREDEFINED tag can be used to specify one or more macro names that are
-# defined before the preprocessor is started (similar to the -D option of e.g.
-# gcc). The argument of the tag is a list of macros of the form: name or
-# name=definition (no spaces). If the definition and the "=" are omitted, "=1"
-# is assumed. To prevent a macro definition from being undefined via #undef or
-# recursively expanded use the := operator instead of the = operator.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-PREDEFINED             =
-
-# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
-# tag can be used to specify a list of macro names that should be expanded. The
-# macro definition that is found in the sources will be used. Use the PREDEFINED
-# tag if you want to use a different macro definition that overrules the
-# definition found in the source code.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-EXPAND_AS_DEFINED      =
-
-# If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen's preprocessor will
-# remove all references to function-like macros that are alone on a line, have
-# an all uppercase name, and do not end with a semicolon. Such function macros
-# are typically used for boiler-plate code, and will confuse the parser if not
-# removed.
-# The default value is: YES.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-SKIP_FUNCTION_MACROS   = YES
-
-#---------------------------------------------------------------------------
-# Configuration options related to external references
-#---------------------------------------------------------------------------
-
-# The TAGFILES tag can be used to specify one or more tag files. For each tag
-# file the location of the external documentation should be added. The format of
-# a tag file without this location is as follows:
-# TAGFILES = file1 file2 ...
-# Adding location for the tag files is done as follows:
-# TAGFILES = file1=loc1 "file2 = loc2" ...
-# where loc1 and loc2 can be relative or absolute paths or URLs. See the
-# section "Linking to external documentation" for more information about the use
-# of tag files.
-# Note: Each tag file must have a unique name (where the name does NOT include
-# the path). If a tag file is not located in the directory in which doxygen is
-# run, you must also specify the path to the tagfile here.
-
-TAGFILES               =
-
-# When a file name is specified after GENERATE_TAGFILE, doxygen will create a
-# tag file that is based on the input files it reads. See section "Linking to
-# external documentation" for more information about the usage of tag files.
-
-GENERATE_TAGFILE       =
-
-# If the ALLEXTERNALS tag is set to YES, all external class will be listed in
-# the class index. If set to NO, only the inherited external classes will be
-# listed.
-# The default value is: NO.
-
-ALLEXTERNALS           = NO
-
-# If the EXTERNAL_GROUPS tag is set to YES, all external groups will be listed
-# in the modules index. If set to NO, only the current project's groups will be
-# listed.
-# The default value is: YES.
-
-EXTERNAL_GROUPS        = YES
-
-# If the EXTERNAL_PAGES tag is set to YES, all external pages will be listed in
-# the related pages index. If set to NO, only the current project's pages will
-# be listed.
-# The default value is: YES.
-
-EXTERNAL_PAGES         = YES
-
-# The PERL_PATH should be the absolute path and name of the perl script
-# interpreter (i.e. the result of 'which perl').
-# The default file (with absolute path) is: /usr/bin/perl.
-
-PERL_PATH              = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If the CLASS_DIAGRAMS tag is set to YES, doxygen will generate a class diagram
-# (in HTML and LaTeX) for classes with base or super classes. Setting the tag to
-# NO turns the diagrams off. Note that this option also works with HAVE_DOT
-# disabled, but it is recommended to install and use dot, since it yields more
-# powerful graphs.
-# The default value is: YES.
-
-CLASS_DIAGRAMS         = YES
-
-# You can define message sequence charts within doxygen comments using the \msc
-# command. Doxygen will then run the mscgen tool (see:
-# http://www.mcternan.me.uk/mscgen/)) to produce the chart and insert it in the
-# documentation. The MSCGEN_PATH tag allows you to specify the directory where
-# the mscgen tool resides. If left empty the tool is assumed to be found in the
-# default search path.
-
-MSCGEN_PATH            =
-
-# You can include diagrams made with dia in doxygen documentation. Doxygen will
-# then run dia to produce the diagram and insert it in the documentation. The
-# DIA_PATH tag allows you to specify the directory where the dia binary resides.
-# If left empty dia is assumed to be found in the default search path.
-
-DIA_PATH               =
-
-# If set to YES the inheritance and collaboration graphs will hide inheritance
-# and usage relations if the target is undocumented or is not a class.
-# The default value is: YES.
-
-HIDE_UNDOC_RELATIONS   = YES
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz (see:
-# http://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent
-# Bell Labs. The other options in this section have no effect if this option is
-# set to NO
-# The default value is: NO.
-
-HAVE_DOT               = NO
-
-# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is allowed
-# to run in parallel. When set to 0 doxygen will base this on the number of
-# processors available in the system. You can set it explicitly to a value
-# larger than 0 to get control over the balance between CPU load and processing
-# speed.
-# Minimum value: 0, maximum value: 32, default value: 0.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_NUM_THREADS        = 0
-
-# When you want a differently looking font in the dot files that doxygen
-# generates you can specify the font name using DOT_FONTNAME. You need to make
-# sure dot is able to find the font, which can be done by putting it in a
-# standard location or by setting the DOTFONTPATH environment variable or by
-# setting DOT_FONTPATH to the directory containing the font.
-# The default value is: Helvetica.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_FONTNAME           = Helvetica
-
-# The DOT_FONTSIZE tag can be used to set the size (in points) of the font of
-# dot graphs.
-# Minimum value: 4, maximum value: 24, default value: 10.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_FONTSIZE           = 10
-
-# By default doxygen will tell dot to use the default font as specified with
-# DOT_FONTNAME. If you specify a different font using DOT_FONTNAME you can set
-# the path where dot can find it using this tag.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_FONTPATH           =
-
-# If the CLASS_GRAPH tag is set to YES then doxygen will generate a graph for
-# each documented class showing the direct and indirect inheritance relations.
-# Setting this tag to YES will force the CLASS_DIAGRAMS tag to NO.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-CLASS_GRAPH            = YES
-
-# If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a
-# graph for each documented class showing the direct and indirect implementation
-# dependencies (inheritance, containment, and class references variables) of the
-# class with other documented classes.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-COLLABORATION_GRAPH    = YES
-
-# If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for
-# groups, showing the direct groups dependencies.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-GROUP_GRAPHS           = YES
-
-# If the UML_LOOK tag is set to YES, doxygen will generate inheritance and
-# collaboration diagrams in a style similar to the OMG's Unified Modeling
-# Language.
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-UML_LOOK               = NO
-
-# If the UML_LOOK tag is enabled, the fields and methods are shown inside the
-# class node. If there are many fields or methods and many nodes the graph may
-# become too big to be useful. The UML_LIMIT_NUM_FIELDS threshold limits the
-# number of items for each type to make the size more manageable. Set this to 0
-# for no limit. Note that the threshold may be exceeded by 50% before the limit
-# is enforced. So when you set the threshold to 10, up to 15 fields may appear,
-# but if the number exceeds 15, the total amount of fields shown is limited to
-# 10.
-# Minimum value: 0, maximum value: 100, default value: 10.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-UML_LIMIT_NUM_FIELDS   = 10
-
-# If the TEMPLATE_RELATIONS tag is set to YES then the inheritance and
-# collaboration graphs will show the relations between templates and their
-# instances.
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-TEMPLATE_RELATIONS     = NO
-
-# If the INCLUDE_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are set to
-# YES then doxygen will generate a graph for each documented file showing the
-# direct and indirect include dependencies of the file with other documented
-# files.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-INCLUDE_GRAPH          = YES
-
-# If the INCLUDED_BY_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are
-# set to YES then doxygen will generate a graph for each documented file showing
-# the direct and indirect include dependencies of the file with other documented
-# files.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-INCLUDED_BY_GRAPH      = YES
-
-# If the CALL_GRAPH tag is set to YES then doxygen will generate a call
-# dependency graph for every global function or class method.
-#
-# Note that enabling this option will significantly increase the time of a run.
-# So in most cases it will be better to enable call graphs for selected
-# functions only using the \callgraph command.
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-CALL_GRAPH             = NO
-
-# If the CALLER_GRAPH tag is set to YES then doxygen will generate a caller
-# dependency graph for every global function or class method.
-#
-# Note that enabling this option will significantly increase the time of a run.
-# So in most cases it will be better to enable caller graphs for selected
-# functions only using the \callergraph command.
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-CALLER_GRAPH           = NO
-
-# If the GRAPHICAL_HIERARCHY tag is set to YES then doxygen will graphical
-# hierarchy of all classes instead of a textual one.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-GRAPHICAL_HIERARCHY    = YES
-
-# If the DIRECTORY_GRAPH tag is set to YES then doxygen will show the
-# dependencies a directory has on other directories in a graphical way. The
-# dependency relations are determined by the #include relations between the
-# files in the directories.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DIRECTORY_GRAPH        = YES
-
-# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
-# generated by dot.
-# Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order
-# to make the SVG files visible in IE 9+ (other browsers do not have this
-# requirement).
-# Possible values are: png, jpg, gif and svg.
-# The default value is: png.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_IMAGE_FORMAT       = png
-
-# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to
-# enable generation of interactive SVG images that allow zooming and panning.
-#
-# Note that this requires a modern browser other than Internet Explorer. Tested
-# and working are Firefox, Chrome, Safari, and Opera.
-# Note: For IE 9+ you need to set HTML_FILE_EXTENSION to xhtml in order to make
-# the SVG files visible. Older versions of IE do not have SVG support.
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-INTERACTIVE_SVG        = NO
-
-# The DOT_PATH tag can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found in the path.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_PATH               =
-
-# The DOTFILE_DIRS tag can be used to specify one or more directories that
-# contain dot files that are included in the documentation (see the \dotfile
-# command).
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOTFILE_DIRS           =
-
-# The MSCFILE_DIRS tag can be used to specify one or more directories that
-# contain msc files that are included in the documentation (see the \mscfile
-# command).
-
-MSCFILE_DIRS           =
-
-# The DIAFILE_DIRS tag can be used to specify one or more directories that
-# contain dia files that are included in the documentation (see the \diafile
-# command).
-
-DIAFILE_DIRS           =
-
-# When using plantuml, the PLANTUML_JAR_PATH tag should be used to specify the
-# path where java can find the plantuml.jar file. If left blank, it is assumed
-# PlantUML is not used or called during a preprocessing step. Doxygen will
-# generate a warning when it encounters a \startuml command in this case and
-# will not generate output for the diagram.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-PLANTUML_JAR_PATH      =
-
-# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes
-# that will be shown in the graph. If the number of nodes in a graph becomes
-# larger than this value, doxygen will truncate the graph, which is visualized
-# by representing a node as a red box. Note that doxygen if the number of direct
-# children of the root node in a graph is already larger than
-# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note that
-# the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
-# Minimum value: 0, maximum value: 10000, default value: 50.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_GRAPH_MAX_NODES    = 50
-
-# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the graphs
-# generated by dot. A depth value of 3 means that only nodes reachable from the
-# root by following a path via at most 3 edges will be shown. Nodes that lay
-# further from the root node will be omitted. Note that setting this option to 1
-# or 2 may greatly reduce the computation time needed for large code bases. Also
-# note that the size of a graph can be further restricted by
-# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
-# Minimum value: 0, maximum value: 1000, default value: 0.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-MAX_DOT_GRAPH_DEPTH    = 0
-
-# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
-# background. This is disabled by default, because dot on Windows does not seem
-# to support this out of the box.
-#
-# Warning: Depending on the platform used, enabling this option may lead to
-# badly anti-aliased labels on the edges of a graph (i.e. they become hard to
-# read).
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_TRANSPARENT        = NO
-
-# Set the DOT_MULTI_TARGETS tag to YES to allow dot to generate multiple output
-# files in one run (i.e. multiple -o and -T options on the command line). This
-# makes dot run faster, but since only newer versions of dot (>1.8.10) support
-# this, this feature is disabled by default.
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_MULTI_TARGETS      = NO
-
-# If the GENERATE_LEGEND tag is set to YES doxygen will generate a legend page
-# explaining the meaning of the various boxes and arrows in the dot generated
-# graphs.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-GENERATE_LEGEND        = YES
-
-# If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate dot
-# files that are used to generate the various graphs.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_CLEANUP            = YES
diff --git a/contrib/neo_doxygen/tests/root-namespace/README.md b/contrib/neo_doxygen/tests/root-namespace/README.md
deleted file mode 100644 (file)
index 2a87fc7..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-This directory contains a dummy Java project for testing purposes.
-
-To regenerate the XML output located in `xml`, run `make`. If the `Makefile`
-does not exists, you can regenerate it by running `make bootstrap` in the parent
-directory.
diff --git a/contrib/neo_doxygen/tests/root-namespace/src/Foo.java b/contrib/neo_doxygen/tests/root-namespace/src/Foo.java
deleted file mode 100644 (file)
index 9da779f..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-/* This file is part of NIT ( http://www.nitlanguage.org ).
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * A class in the root namespace
- */
-class Foo {}
diff --git a/contrib/neo_doxygen/tests/root-namespace/xml/_foo_8java.xml b/contrib/neo_doxygen/tests/root-namespace/xml/_foo_8java.xml
deleted file mode 100644 (file)
index ad87211..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version='1.0' encoding='UTF-8' standalone='no'?>
-<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.8">
-  <compounddef id="_foo_8java" kind="file">
-    <compoundname>Foo.java</compoundname>
-    <innerclass refid="class_foo" prot="package">Foo</innerclass>
-    <briefdescription>
-    </briefdescription>
-    <detaileddescription>
-    </detaileddescription>
-    <location file="%SOURCE_DIRECTORY%/Foo.java"/>
-  </compounddef>
-</doxygen>
diff --git a/contrib/neo_doxygen/tests/root-namespace/xml/class_foo.xml b/contrib/neo_doxygen/tests/root-namespace/xml/class_foo.xml
deleted file mode 100644 (file)
index 86405c8..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version='1.0' encoding='UTF-8' standalone='no'?>
-<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.8">
-  <compounddef id="class_foo" kind="class" prot="package">
-    <compoundname>Foo</compoundname>
-    <briefdescription>
-<para>A class in the root namespace. </para>    </briefdescription>
-    <detaileddescription>
-    </detaileddescription>
-    <location file="%SOURCE_DIRECTORY%/Foo.java" line="19" column="1" bodyfile="%SOURCE_DIRECTORY%/Foo.java" bodystart="19" bodyend="19"/>
-    <listofallmembers>
-    </listofallmembers>
-  </compounddef>
-</doxygen>
diff --git a/contrib/neo_doxygen/tests/root-namespace/xml/combine.xslt b/contrib/neo_doxygen/tests/root-namespace/xml/combine.xslt
deleted file mode 100644 (file)
index c148ee4..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<!-- XSLT script to combine the generated output into a single file. 
-     If you have xsltproc you could use:
-     xsltproc combine.xslt index.xml >all.xml
--->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-  <xsl:output method="xml" version="1.0" indent="no" standalone="yes" />
-  <xsl:template match="/">
-    <doxygen version="{doxygenindex/@version}">
-      <!-- Load all doxgen generated xml files -->
-      <xsl:for-each select="doxygenindex/compound">
-        <xsl:copy-of select="document( concat( @refid, '.xml' ) )/doxygen/*" />
-      </xsl:for-each>
-    </doxygen>
-  </xsl:template>
-</xsl:stylesheet>
diff --git a/contrib/neo_doxygen/tests/root-namespace/xml/compound.xsd b/contrib/neo_doxygen/tests/root-namespace/xml/compound.xsd
deleted file mode 100644 (file)
index 86740f4..0000000
+++ /dev/null
@@ -1,1092 +0,0 @@
-<?xml version='1.0' encoding='utf-8' ?>
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-  <xsd:element name="doxygen" type="DoxygenType"/>
-
-  <!-- Complex types -->
-
-  <xsd:complexType name="DoxygenType">
-    <xsd:sequence maxOccurs="unbounded">
-      <xsd:element name="compounddef" type="compounddefType" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="version" type="DoxVersionNumber" use="required" />
-  </xsd:complexType>
-
-  <xsd:complexType name="compounddefType">
-    <xsd:sequence>
-      <xsd:element name="compoundname" type="xsd:string"/>
-      <xsd:element name="title" type="xsd:string" minOccurs="0" />
-      <xsd:element name="basecompoundref" type="compoundRefType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="derivedcompoundref" type="compoundRefType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="includes" type="incType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="includedby" type="incType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="incdepgraph" type="graphType" minOccurs="0" />
-      <xsd:element name="invincdepgraph" type="graphType" minOccurs="0" />
-      <xsd:element name="innerdir" type="refType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="innerfile" type="refType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="innerclass" type="refType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="innernamespace" type="refType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="innerpage" type="refType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="innergroup" type="refType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="templateparamlist" type="templateparamlistType" minOccurs="0" />
-      <xsd:element name="sectiondef" type="sectiondefType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="briefdescription" type="descriptionType" minOccurs="0" />
-      <xsd:element name="detaileddescription" type="descriptionType" minOccurs="0" />
-      <xsd:element name="inheritancegraph" type="graphType" minOccurs="0" />
-      <xsd:element name="collaborationgraph" type="graphType" minOccurs="0" />
-      <xsd:element name="programlisting" type="listingType" minOccurs="0" />
-      <xsd:element name="location" type="locationType" minOccurs="0" />
-      <xsd:element name="listofallmembers" type="listofallmembersType" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:string" />
-    <xsd:attribute name="kind" type="DoxCompoundKind" />
-    <xsd:attribute name="prot" type="DoxProtectionKind" />
-    <xsd:attribute name="final" type="DoxBool" use="optional"/>
-    <xsd:attribute name="sealed" type="DoxBool" use="optional"/>
-    <xsd:attribute name="abstract" type="DoxBool" use="optional"/>
-  </xsd:complexType>
-
-  <xsd:complexType name="listofallmembersType">
-    <xsd:sequence>
-      <xsd:element name="member" type="memberRefType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="memberRefType">
-    <xsd:sequence>
-      <xsd:element name="scope" />
-      <xsd:element name="name" />
-    </xsd:sequence>
-    <xsd:attribute name="refid" type="xsd:string" />
-    <xsd:attribute name="prot" type="DoxProtectionKind" />
-    <xsd:attribute name="virt" type="DoxVirtualKind" />
-    <xsd:attribute name="ambiguityscope" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="compoundRefType">
-    <xsd:simpleContent>
-      <xsd:extension base="xsd:string">
-        <xsd:attribute name="refid" type="xsd:string" use="optional" />
-        <xsd:attribute name="prot" type="DoxProtectionKind" />
-        <xsd:attribute name="virt" type="DoxVirtualKind" />
-      </xsd:extension>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-  <xsd:complexType name="reimplementType">
-    <xsd:simpleContent>
-      <xsd:extension base="xsd:string">
-        <xsd:attribute name="refid" type="xsd:string" />
-      </xsd:extension>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-  <xsd:complexType name="incType">
-    <xsd:simpleContent>
-      <xsd:extension base="xsd:string">
-        <xsd:attribute name="refid" type="xsd:string" />
-        <xsd:attribute name="local" type="DoxBool" />
-      </xsd:extension>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-  <xsd:complexType name="refType">
-    <xsd:simpleContent>
-      <xsd:extension base="xsd:string">
-        <xsd:attribute name="refid" type="xsd:string" />
-        <xsd:attribute name="prot" type="DoxProtectionKind" use="optional"/>
-      </xsd:extension>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-  <xsd:complexType name="refTextType">
-    <xsd:simpleContent>
-      <xsd:extension base="xsd:string">
-       <xsd:attribute name="refid" type="xsd:string" />
-       <xsd:attribute name="kindref" type="DoxRefKind" />
-       <xsd:attribute name="external" type="xsd:string" use="optional"/>
-       <xsd:attribute name="tooltip" type="xsd:string" use="optional"/>
-      </xsd:extension>
-    </xsd:simpleContent>
-  </xsd:complexType>
-
-  <xsd:complexType name="sectiondefType">
-    <xsd:sequence>
-      <xsd:element name="header" type="xsd:string" minOccurs="0" />
-      <xsd:element name="description" type="descriptionType" minOccurs="0" />
-      <xsd:element name="memberdef" type="memberdefType" maxOccurs="unbounded" />
-    </xsd:sequence>
-    <xsd:attribute name="kind" type="DoxSectionKind" />
-  </xsd:complexType>
-
-  <xsd:complexType name="memberdefType">
-    <xsd:sequence>
-      <xsd:element name="templateparamlist" type="templateparamlistType" minOccurs="0" />
-      <xsd:element name="type" type="linkedTextType" minOccurs="0" />
-      <xsd:element name="definition" minOccurs="0" />
-      <xsd:element name="argsstring" minOccurs="0" />
-      <xsd:element name="name" />
-      <xsd:element name="read" minOccurs="0" />
-      <xsd:element name="write" minOccurs="0" />
-      <xsd:element name="bitfield" minOccurs="0" />
-      <xsd:element name="reimplements" type="reimplementType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="reimplementedby" type="reimplementType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="param" type="paramType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="enumvalue" type="enumvalueType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="initializer" type="linkedTextType" minOccurs="0" />
-      <xsd:element name="exceptions" type="linkedTextType" minOccurs="0" />
-      <xsd:element name="briefdescription" type="descriptionType" minOccurs="0" />
-      <xsd:element name="detaileddescription" type="descriptionType" minOccurs="0" />
-      <xsd:element name="inbodydescription" type="descriptionType" minOccurs="0" />
-      <xsd:element name="location" type="locationType" />
-      <xsd:element name="references" type="referenceType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="referencedby" type="referenceType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-    <xsd:attribute name="kind" type="DoxMemberKind" />
-    <xsd:attribute name="id" type="xsd:string" />
-    <xsd:attribute name="prot" type="DoxProtectionKind" />
-    <xsd:attribute name="static" type="DoxBool" />
-    <xsd:attribute name="const" type="DoxBool" use="optional"/>
-    <xsd:attribute name="explicit" type="DoxBool" use="optional"/>
-    <xsd:attribute name="inline" type="DoxBool" use="optional"/>
-    <xsd:attribute name="virt" type="DoxVirtualKind" use="optional"/>
-    <xsd:attribute name="volatile" type="DoxBool" use="optional"/>
-    <xsd:attribute name="mutable" type="DoxBool" use="optional"/>
-    <!-- Qt property -->
-    <xsd:attribute name="readable" type="DoxBool" use="optional"/>
-    <xsd:attribute name="writable" type="DoxBool" use="optional"/>
-    <!-- C++/CLI variable -->
-    <xsd:attribute name="initonly" type="DoxBool" use="optional"/>
-    <!-- C++/CLI and C# property -->
-    <xsd:attribute name="settable" type="DoxBool" use="optional"/>
-    <xsd:attribute name="gettable" type="DoxBool" use="optional"/>
-    <!-- C++/CLI function -->
-    <xsd:attribute name="final" type="DoxBool" use="optional"/>
-    <xsd:attribute name="sealed" type="DoxBool" use="optional"/>
-    <xsd:attribute name="new" type="DoxBool" use="optional"/>
-    <!-- C++/CLI event -->
-    <xsd:attribute name="add" type="DoxBool" use="optional"/>
-    <xsd:attribute name="remove" type="DoxBool" use="optional"/>
-    <xsd:attribute name="raise" type="DoxBool" use="optional"/>
-    <!-- Objective-C 2.0 protocol method -->
-    <xsd:attribute name="optional" type="DoxBool" use="optional"/>
-    <xsd:attribute name="required" type="DoxBool" use="optional"/>
-    <!-- Objective-C 2.0 property accessor -->
-    <xsd:attribute name="accessor" type="DoxAccessor" use="optional"/>
-    <!-- UNO IDL -->
-    <xsd:attribute name="attribute" type="DoxBool" use="optional"/>
-    <xsd:attribute name="property" type="DoxBool" use="optional"/>
-    <xsd:attribute name="readonly" type="DoxBool" use="optional"/>
-    <xsd:attribute name="bound" type="DoxBool" use="optional"/>
-    <xsd:attribute name="removable" type="DoxBool" use="optional"/>
-    <xsd:attribute name="contrained" type="DoxBool" use="optional"/>
-    <xsd:attribute name="transient" type="DoxBool" use="optional"/>
-    <xsd:attribute name="maybevoid" type="DoxBool" use="optional"/>
-    <xsd:attribute name="maybedefault" type="DoxBool" use="optional"/>
-    <xsd:attribute name="maybeambiguous" type="DoxBool" use="optional"/>
-
-  </xsd:complexType>
-
-  <xsd:complexType name="descriptionType" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="title" type="xsd:string" minOccurs="0"/>          
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect1" type="docSect1Type" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="internal" type="docInternalType" minOccurs="0" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="enumvalueType" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="name" />
-      <xsd:element name="initializer" type="linkedTextType" minOccurs="0" />
-      <xsd:element name="briefdescription" type="descriptionType" minOccurs="0" />
-      <xsd:element name="detaileddescription" type="descriptionType" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:string" />
-    <xsd:attribute name="prot" type="DoxProtectionKind" />
-  </xsd:complexType>
-
-  <xsd:complexType name="templateparamlistType">
-    <xsd:sequence>
-      <xsd:element name="param" type="paramType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="paramType">
-    <xsd:sequence>
-      <xsd:element name="type" type="linkedTextType" minOccurs="0" />
-      <xsd:element name="declname" minOccurs="0" />
-      <xsd:element name="defname" minOccurs="0" />
-      <xsd:element name="array" minOccurs="0" />
-      <xsd:element name="defval" type="linkedTextType" minOccurs="0" />
-      <xsd:element name="briefdescription" type="descriptionType" minOccurs="0" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="linkedTextType" mixed="true">
-    <xsd:sequence>
-    <xsd:element name="ref" type="refTextType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="graphType">
-    <xsd:sequence>
-      <xsd:element name="node" type="nodeType" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="nodeType">
-    <xsd:sequence>
-      <xsd:element name="label" />
-      <xsd:element name="link" type="linkType" minOccurs="0" />
-      <xsd:element name="childnode" type="childnodeType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="childnodeType">
-    <xsd:sequence>
-      <xsd:element name="edgelabel" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="refid" type="xsd:string" />
-    <xsd:attribute name="relation" type="DoxGraphRelation" />
-  </xsd:complexType>
-
-  <xsd:complexType name="linkType">
-    <xsd:attribute name="refid" type="xsd:string" />
-    <xsd:attribute name="external" type="xsd:string" use="optional"/>
-  </xsd:complexType>
-
-  <xsd:complexType name="listingType">
-    <xsd:sequence>
-      <xsd:element name="codeline" type="codelineType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="codelineType">
-    <xsd:sequence>
-      <xsd:element name="highlight" type="highlightType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-    <xsd:attribute name="lineno" type="xsd:integer" />
-    <xsd:attribute name="refid" type="xsd:string" />
-    <xsd:attribute name="refkind" type="DoxRefKind" />
-    <xsd:attribute name="external" type="DoxBool" />
-  </xsd:complexType>
-
-  <xsd:complexType name="highlightType" mixed="true">
-    <xsd:choice minOccurs="0" maxOccurs="unbounded">
-      <xsd:element name="sp" />
-      <xsd:element name="ref" type="refTextType" />
-    </xsd:choice>
-    <xsd:attribute name="class" type="DoxHighlightClass" />
-  </xsd:complexType>
-
-  <xsd:complexType name="referenceType" mixed="true">
-    <xsd:attribute name="refid" type="xsd:string" />
-    <xsd:attribute name="compoundref" type="xsd:string" use="optional" />
-    <xsd:attribute name="startline" type="xsd:integer" />
-    <xsd:attribute name="endline" type="xsd:integer" />
-  </xsd:complexType>
-
-  <xsd:complexType name="locationType">
-    <xsd:attribute name="file" type="xsd:string" />
-    <xsd:attribute name="line" type="xsd:integer" />
-    <xsd:attribute name="column" type="xsd:integer" use="optional"/>
-    <xsd:attribute name="bodyfile" type="xsd:string" />
-    <xsd:attribute name="bodystart" type="xsd:integer" />
-    <xsd:attribute name="bodyend" type="xsd:integer" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docSect1Type" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="title" type="xsd:string" />       
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect2" type="docSect2Type" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="internal" type="docInternalS1Type" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docSect2Type" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="title" type="xsd:string" />       
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect3" type="docSect3Type" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="internal" type="docInternalS2Type" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docSect3Type" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="title" type="xsd:string" />       
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect4" type="docSect4Type" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="internal" type="docInternalS3Type" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docSect4Type" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="title" type="xsd:string" />       
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="internal" type="docInternalS4Type" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docInternalType" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="para"  type="docParaType"  minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect1" type="docSect1Type" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docInternalS1Type" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="para"  type="docParaType"  minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect2" type="docSect2Type" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docInternalS2Type" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="para"  type="docParaType"  minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect3" type="docSect3Type" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docInternalS3Type" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="para"  type="docParaType"  minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect3" type="docSect4Type" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docInternalS4Type" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="para"  type="docParaType"  minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-  <xsd:group name="docTitleCmdGroup">
-    <xsd:choice>
-      <xsd:element name="ulink" type="docURLLink" />
-      <xsd:element name="bold" type="docMarkupType" />
-      <xsd:element name="emphasis" type="docMarkupType" />
-      <xsd:element name="computeroutput" type="docMarkupType" />
-      <xsd:element name="subscript" type="docMarkupType" />
-      <xsd:element name="superscript" type="docMarkupType" />
-      <xsd:element name="center" type="docMarkupType" />
-      <xsd:element name="small" type="docMarkupType" />
-      <xsd:element name="htmlonly" type="xsd:string" />
-      <xsd:element name="manonly" type="xsd:string" />
-      <xsd:element name="xmlonly" type="xsd:string" />
-      <xsd:element name="rtfonly" type="xsd:string" />
-      <xsd:element name="latexonly" type="xsd:string" />
-      <xsd:element name="dot" type="xsd:string" />
-      <xsd:element name="plantuml" type="xsd:string" />
-      <xsd:element name="anchor" type="docAnchorType" />
-      <xsd:element name="formula" type="docFormulaType" />
-      <xsd:element name="ref" type="docRefTextType" />
-      <xsd:element name="nonbreakablespace" type="docEmptyType" />
-      <xsd:element name="iexcl" type="docEmptyType" />
-      <xsd:element name="cent" type="docEmptyType" />
-      <xsd:element name="pound" type="docEmptyType" />
-      <xsd:element name="curren" type="docEmptyType" />
-      <xsd:element name="yen" type="docEmptyType" />
-      <xsd:element name="brvbar" type="docEmptyType" />
-      <xsd:element name="sect" type="docEmptyType" />
-      <xsd:element name="umlaut" type="docEmptyType" />
-      <xsd:element name="copy" type="docEmptyType" />
-      <xsd:element name="ordf" type="docEmptyType" />
-      <xsd:element name="laquo" type="docEmptyType" />
-      <xsd:element name="not" type="docEmptyType" />
-      <xsd:element name="shy" type="docEmptyType" />
-      <xsd:element name="registered" type="docEmptyType" />
-      <xsd:element name="macr" type="docEmptyType" />
-      <xsd:element name="deg" type="docEmptyType" />
-      <xsd:element name="plusmn" type="docEmptyType" />
-      <xsd:element name="sup2" type="docEmptyType" />
-      <xsd:element name="sup3" type="docEmptyType" />
-      <xsd:element name="acute" type="docEmptyType" />
-      <xsd:element name="micro" type="docEmptyType" />
-      <xsd:element name="para" type="docEmptyType" />
-      <xsd:element name="middot" type="docEmptyType" />
-      <xsd:element name="cedil" type="docEmptyType" />
-      <xsd:element name="sup1" type="docEmptyType" />
-      <xsd:element name="ordm" type="docEmptyType" />
-      <xsd:element name="raquo" type="docEmptyType" />
-      <xsd:element name="frac14" type="docEmptyType" />
-      <xsd:element name="frac12" type="docEmptyType" />
-      <xsd:element name="frac34" type="docEmptyType" />
-      <xsd:element name="iquest" type="docEmptyType" />
-      <xsd:element name="Agrave" type="docEmptyType" />
-      <xsd:element name="Aacute" type="docEmptyType" />
-      <xsd:element name="Acirc" type="docEmptyType" />
-      <xsd:element name="Atilde" type="docEmptyType" />
-      <xsd:element name="Aumlaut" type="docEmptyType" />
-      <xsd:element name="Aring" type="docEmptyType" />
-      <xsd:element name="AElig" type="docEmptyType" />
-      <xsd:element name="Ccedil" type="docEmptyType" />
-      <xsd:element name="Egrave" type="docEmptyType" />
-      <xsd:element name="Eacute" type="docEmptyType" />
-      <xsd:element name="Ecirc" type="docEmptyType" />
-      <xsd:element name="Eumlaut" type="docEmptyType" />
-      <xsd:element name="Igrave" type="docEmptyType" />
-      <xsd:element name="Iacute" type="docEmptyType" />
-      <xsd:element name="Icirc" type="docEmptyType" />
-      <xsd:element name="Iumlaut" type="docEmptyType" />
-      <xsd:element name="ETH" type="docEmptyType" />
-      <xsd:element name="Ntilde" type="docEmptyType" />
-      <xsd:element name="Ograve" type="docEmptyType" />
-      <xsd:element name="Oacute" type="docEmptyType" />
-      <xsd:element name="Ocirc" type="docEmptyType" />
-      <xsd:element name="Otilde" type="docEmptyType" />
-      <xsd:element name="Oumlaut" type="docEmptyType" />
-      <xsd:element name="times" type="docEmptyType" />
-      <xsd:element name="Oslash" type="docEmptyType" />
-      <xsd:element name="Ugrave" type="docEmptyType" />
-      <xsd:element name="Uacute" type="docEmptyType" />
-      <xsd:element name="Ucirc" type="docEmptyType" />
-      <xsd:element name="Uumlaut" type="docEmptyType" />
-      <xsd:element name="Yacute" type="docEmptyType" />
-      <xsd:element name="THORN" type="docEmptyType" />
-      <xsd:element name="szlig" type="docEmptyType" />
-      <xsd:element name="agrave" type="docEmptyType" />
-      <xsd:element name="aacute" type="docEmptyType" />
-      <xsd:element name="acirc" type="docEmptyType" />
-      <xsd:element name="atilde" type="docEmptyType" />
-      <xsd:element name="aumlaut" type="docEmptyType" />
-      <xsd:element name="aring" type="docEmptyType" />
-      <xsd:element name="aelig" type="docEmptyType" />
-      <xsd:element name="ccedil" type="docEmptyType" />
-      <xsd:element name="egrave" type="docEmptyType" />
-      <xsd:element name="eacute" type="docEmptyType" />
-      <xsd:element name="ecirc" type="docEmptyType" />
-      <xsd:element name="eumlaut" type="docEmptyType" />
-      <xsd:element name="igrave" type="docEmptyType" />
-      <xsd:element name="iacute" type="docEmptyType" />
-      <xsd:element name="icirc" type="docEmptyType" />
-      <xsd:element name="iumlaut" type="docEmptyType" />
-      <xsd:element name="eth" type="docEmptyType" />
-      <xsd:element name="ntilde" type="docEmptyType" />
-      <xsd:element name="ograve" type="docEmptyType" />
-      <xsd:element name="oacute" type="docEmptyType" />
-      <xsd:element name="ocirc" type="docEmptyType" />
-      <xsd:element name="otilde" type="docEmptyType" />
-      <xsd:element name="oumlaut" type="docEmptyType" />
-      <xsd:element name="divide" type="docEmptyType" />
-      <xsd:element name="oslash" type="docEmptyType" />
-      <xsd:element name="ugrave" type="docEmptyType" />
-      <xsd:element name="uacute" type="docEmptyType" />
-      <xsd:element name="ucirc" type="docEmptyType" />
-      <xsd:element name="uumlaut" type="docEmptyType" />
-      <xsd:element name="yacute" type="docEmptyType" />
-      <xsd:element name="thorn" type="docEmptyType" />
-      <xsd:element name="yumlaut" type="docEmptyType" />
-      <xsd:element name="fnof" type="docEmptyType" />
-      <xsd:element name="Alpha" type="docEmptyType" />
-      <xsd:element name="Beta" type="docEmptyType" />
-      <xsd:element name="Gamma" type="docEmptyType" />
-      <xsd:element name="Delta" type="docEmptyType" />
-      <xsd:element name="Epsilon" type="docEmptyType" />
-      <xsd:element name="Zeta" type="docEmptyType" />
-      <xsd:element name="Eta" type="docEmptyType" />
-      <xsd:element name="Theta" type="docEmptyType" />
-      <xsd:element name="Iota" type="docEmptyType" />
-      <xsd:element name="Kappa" type="docEmptyType" />
-      <xsd:element name="Lambda" type="docEmptyType" />
-      <xsd:element name="Mu" type="docEmptyType" />
-      <xsd:element name="Nu" type="docEmptyType" />
-      <xsd:element name="Xi" type="docEmptyType" />
-      <xsd:element name="Omicron" type="docEmptyType" />
-      <xsd:element name="Pi" type="docEmptyType" />
-      <xsd:element name="Rho" type="docEmptyType" />
-      <xsd:element name="Sigma" type="docEmptyType" />
-      <xsd:element name="Tau" type="docEmptyType" />
-      <xsd:element name="Upsilon" type="docEmptyType" />
-      <xsd:element name="Phi" type="docEmptyType" />
-      <xsd:element name="Chi" type="docEmptyType" />
-      <xsd:element name="Psi" type="docEmptyType" />
-      <xsd:element name="Omega" type="docEmptyType" />
-      <xsd:element name="alpha" type="docEmptyType" />
-      <xsd:element name="beta" type="docEmptyType" />
-      <xsd:element name="gamma" type="docEmptyType" />
-      <xsd:element name="delta" type="docEmptyType" />
-      <xsd:element name="epsilon" type="docEmptyType" />
-      <xsd:element name="zeta" type="docEmptyType" />
-      <xsd:element name="eta" type="docEmptyType" />
-      <xsd:element name="theta" type="docEmptyType" />
-      <xsd:element name="iota" type="docEmptyType" />
-      <xsd:element name="kappa" type="docEmptyType" />
-      <xsd:element name="lambda" type="docEmptyType" />
-      <xsd:element name="mu" type="docEmptyType" />
-      <xsd:element name="nu" type="docEmptyType" />
-      <xsd:element name="xi" type="docEmptyType" />
-      <xsd:element name="omicron" type="docEmptyType" />
-      <xsd:element name="pi" type="docEmptyType" />
-      <xsd:element name="rho" type="docEmptyType" />
-      <xsd:element name="sigmaf" type="docEmptyType" />
-      <xsd:element name="sigma" type="docEmptyType" />
-      <xsd:element name="tau" type="docEmptyType" />
-      <xsd:element name="upsilon" type="docEmptyType" />
-      <xsd:element name="phi" type="docEmptyType" />
-      <xsd:element name="chi" type="docEmptyType" />
-      <xsd:element name="psi" type="docEmptyType" />
-      <xsd:element name="omega" type="docEmptyType" />
-      <xsd:element name="thetasym" type="docEmptyType" />
-      <xsd:element name="upsih" type="docEmptyType" />
-      <xsd:element name="piv" type="docEmptyType" />
-      <xsd:element name="bull" type="docEmptyType" />
-      <xsd:element name="hellip" type="docEmptyType" />
-      <xsd:element name="prime" type="docEmptyType" />
-      <xsd:element name="Prime" type="docEmptyType" />
-      <xsd:element name="oline" type="docEmptyType" />
-      <xsd:element name="frasl" type="docEmptyType" />
-      <xsd:element name="weierp" type="docEmptyType" />
-      <xsd:element name="image" type="docEmptyType" />
-      <xsd:element name="real" type="docEmptyType" />
-      <xsd:element name="trademark" type="docEmptyType" />
-      <xsd:element name="alefsym" type="docEmptyType" />
-      <xsd:element name="larr" type="docEmptyType" />
-      <xsd:element name="uarr" type="docEmptyType" />
-      <xsd:element name="rarr" type="docEmptyType" />
-      <xsd:element name="darr" type="docEmptyType" />
-      <xsd:element name="harr" type="docEmptyType" />
-      <xsd:element name="crarr" type="docEmptyType" />
-      <xsd:element name="lArr" type="docEmptyType" />
-      <xsd:element name="uArr" type="docEmptyType" />
-      <xsd:element name="rArr" type="docEmptyType" />
-      <xsd:element name="dArr" type="docEmptyType" />
-      <xsd:element name="hArr" type="docEmptyType" />
-      <xsd:element name="forall" type="docEmptyType" />
-      <xsd:element name="part" type="docEmptyType" />
-      <xsd:element name="exist" type="docEmptyType" />
-      <xsd:element name="empty" type="docEmptyType" />
-      <xsd:element name="nabla" type="docEmptyType" />
-      <xsd:element name="isin" type="docEmptyType" />
-      <xsd:element name="notin" type="docEmptyType" />
-      <xsd:element name="ni" type="docEmptyType" />
-      <xsd:element name="prod" type="docEmptyType" />
-      <xsd:element name="sum" type="docEmptyType" />
-      <xsd:element name="minus" type="docEmptyType" />
-      <xsd:element name="lowast" type="docEmptyType" />
-      <xsd:element name="radic" type="docEmptyType" />
-      <xsd:element name="prop" type="docEmptyType" />
-      <xsd:element name="infin" type="docEmptyType" />
-      <xsd:element name="ang" type="docEmptyType" />
-      <xsd:element name="and" type="docEmptyType" />
-      <xsd:element name="or" type="docEmptyType" />
-      <xsd:element name="cap" type="docEmptyType" />
-      <xsd:element name="cup" type="docEmptyType" />
-      <xsd:element name="int" type="docEmptyType" />
-      <xsd:element name="there4" type="docEmptyType" />
-      <xsd:element name="sim" type="docEmptyType" />
-      <xsd:element name="cong" type="docEmptyType" />
-      <xsd:element name="asymp" type="docEmptyType" />
-      <xsd:element name="ne" type="docEmptyType" />
-      <xsd:element name="equiv" type="docEmptyType" />
-      <xsd:element name="le" type="docEmptyType" />
-      <xsd:element name="ge" type="docEmptyType" />
-      <xsd:element name="sub" type="docEmptyType" />
-      <xsd:element name="sup" type="docEmptyType" />
-      <xsd:element name="nsub" type="docEmptyType" />
-      <xsd:element name="sube" type="docEmptyType" />
-      <xsd:element name="supe" type="docEmptyType" />
-      <xsd:element name="oplus" type="docEmptyType" />
-      <xsd:element name="otimes" type="docEmptyType" />
-      <xsd:element name="perp" type="docEmptyType" />
-      <xsd:element name="sdot" type="docEmptyType" />
-      <xsd:element name="lceil" type="docEmptyType" />
-      <xsd:element name="rceil" type="docEmptyType" />
-      <xsd:element name="lfloor" type="docEmptyType" />
-      <xsd:element name="rfloor" type="docEmptyType" />
-      <xsd:element name="lang" type="docEmptyType" />
-      <xsd:element name="rang" type="docEmptyType" />
-      <xsd:element name="loz" type="docEmptyType" />
-      <xsd:element name="spades" type="docEmptyType" />
-      <xsd:element name="clubs" type="docEmptyType" />
-      <xsd:element name="hearts" type="docEmptyType" />
-      <xsd:element name="diams" type="docEmptyType" />
-      <xsd:element name="OElig" type="docEmptyType" />
-      <xsd:element name="oelig" type="docEmptyType" />
-      <xsd:element name="Scaron" type="docEmptyType" />
-      <xsd:element name="scaron" type="docEmptyType" />
-      <xsd:element name="Yumlaut" type="docEmptyType" />
-      <xsd:element name="circ" type="docEmptyType" />
-      <xsd:element name="tilde" type="docEmptyType" />
-      <xsd:element name="ensp" type="docEmptyType" />
-      <xsd:element name="emsp" type="docEmptyType" />
-      <xsd:element name="thinsp" type="docEmptyType" />
-      <xsd:element name="zwnj" type="docEmptyType" />
-      <xsd:element name="zwj" type="docEmptyType" />
-      <xsd:element name="lrm" type="docEmptyType" />
-      <xsd:element name="rlm" type="docEmptyType" />
-      <xsd:element name="ndash" type="docEmptyType" />
-      <xsd:element name="mdash" type="docEmptyType" />
-      <xsd:element name="lsquo" type="docEmptyType" />
-      <xsd:element name="rsquo" type="docEmptyType" />
-      <xsd:element name="sbquo" type="docEmptyType" />
-      <xsd:element name="ldquo" type="docEmptyType" />
-      <xsd:element name="rdquo" type="docEmptyType" />
-      <xsd:element name="bdquo" type="docEmptyType" />
-      <xsd:element name="dagger" type="docEmptyType" />
-      <xsd:element name="Dagger" type="docEmptyType" />
-      <xsd:element name="permil" type="docEmptyType" />
-      <xsd:element name="lsaquo" type="docEmptyType" />
-      <xsd:element name="rsaquo" type="docEmptyType" />
-      <xsd:element name="euro" type="docEmptyType" />
-      <xsd:element name="trademark" type="docEmptyType" />
-    </xsd:choice>
-  </xsd:group>
-
-  <xsd:complexType name="docTitleType" mixed="true">
-    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-  </xsd:complexType>
-
-  <xsd:group name="docCmdGroup">
-    <xsd:choice>
-      <xsd:group ref="docTitleCmdGroup"/>
-      <xsd:element name="linebreak" type="docEmptyType" />
-      <xsd:element name="hruler" type="docEmptyType" />
-      <xsd:element name="preformatted" type="docMarkupType" />
-      <xsd:element name="programlisting" type="listingType" />
-      <xsd:element name="verbatim" type="xsd:string" />
-      <xsd:element name="indexentry" type="docIndexEntryType" />
-      <xsd:element name="orderedlist" type="docListType" />
-      <xsd:element name="itemizedlist" type="docListType" />
-      <xsd:element name="simplesect" type="docSimpleSectType" />
-      <xsd:element name="title" type="docTitleType" />
-      <xsd:element name="variablelist" type="docVariableListType" />
-      <xsd:element name="table" type="docTableType" />
-      <xsd:element name="heading" type="docHeadingType" />
-      <xsd:element name="image" type="docImageType" />
-      <xsd:element name="dotfile" type="docFileType" />
-      <xsd:element name="mscfile" type="docFileType" />
-      <xsd:element name="diafile" type="docFileType" />
-      <xsd:element name="toclist" type="docTocListType" />
-      <xsd:element name="language" type="docLanguageType" />
-      <xsd:element name="parameterlist" type="docParamListType" />
-      <xsd:element name="xrefsect" type="docXRefSectType" />
-      <xsd:element name="copydoc" type="docCopyType" />
-      <xsd:element name="blockquote" type="docBlockQuoteType" />
-      <xsd:element name="parblock" type="docParBlockType" />
-    </xsd:choice>
-  </xsd:group>
-
-  <xsd:complexType name="docParaType" mixed="true">
-    <xsd:group ref="docCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docMarkupType" mixed="true">
-    <xsd:group ref="docCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docURLLink" mixed="true">
-    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-    <xsd:attribute name="url" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docAnchorType" mixed="true">
-    <xsd:attribute name="id" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docFormulaType" mixed="true">
-    <xsd:attribute name="id" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docIndexEntryType">
-    <xsd:sequence>
-      <xsd:element name="primaryie" type="xsd:string" />
-      <xsd:element name="secondaryie" type="xsd:string" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docListType">
-    <xsd:sequence>
-      <xsd:element name="listitem" type="docListItemType" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docListItemType">
-    <xsd:sequence>
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docSimpleSectType">
-    <xsd:sequence>
-      <xsd:element name="title" type="docTitleType" minOccurs="0" />
-      <xsd:sequence minOccurs="0" maxOccurs="unbounded">
-        <xsd:element name="para" type="docParaType" minOccurs="1" maxOccurs="unbounded" />
-      </xsd:sequence>
-    </xsd:sequence>
-    <xsd:attribute name="kind" type="DoxSimpleSectKind" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docVarListEntryType">
-    <xsd:sequence>
-      <xsd:element name="term" type="docTitleType" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:group name="docVariableListGroup">
-    <xsd:sequence>
-      <xsd:element name="varlistentry" type="docVarListEntryType" />
-      <xsd:element name="listitem" type="docListItemType" />
-    </xsd:sequence>
-  </xsd:group>
-
-  <xsd:complexType name="docVariableListType">
-    <xsd:sequence>
-      <xsd:group ref="docVariableListGroup" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docRefTextType" mixed="true">
-    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-    <xsd:attribute name="refid" type="xsd:string" />
-    <xsd:attribute name="kindref" type="DoxRefKind" />
-    <xsd:attribute name="external" type="xsd:string" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docTableType">
-    <xsd:sequence>
-      <xsd:element name="row" type="docRowType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="caption" type="docCaptionType" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="rows" type="xsd:integer" />
-    <xsd:attribute name="cols" type="xsd:integer" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docRowType">
-    <xsd:sequence>
-      <xsd:element name="entry" type="docEntryType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docEntryType">
-    <xsd:sequence>
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-    <xsd:attribute name="thead" type="DoxBool" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docCaptionType" mixed="true">
-    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docHeadingType" mixed="true">
-    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-    <xsd:attribute name="level" type="xsd:integer" /> <!-- todo: range 1-6 -->
-  </xsd:complexType>
-
-  <xsd:complexType name="docImageType" mixed="true">
-    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-    <xsd:attribute name="type" type="DoxImageKind" /> 
-    <xsd:attribute name="name" type="xsd:string" /> 
-    <xsd:attribute name="width" type="xsd:string" /> 
-    <xsd:attribute name="height" type="xsd:string" /> 
-  </xsd:complexType>
-
-  <xsd:complexType name="docFileType" mixed="true">
-    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-    <xsd:attribute name="name" type="xsd:string" /> 
-  </xsd:complexType>
-
-  <xsd:complexType name="docTocItemType" mixed="true">
-    <xsd:group ref="docTitleCmdGroup" minOccurs="0" maxOccurs="unbounded" />
-    <xsd:attribute name="id" type="xsd:string" /> 
-  </xsd:complexType>
-
-  <xsd:complexType name="docTocListType">
-    <xsd:sequence>
-      <xsd:element name="tocitem" type="docTocItemType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docLanguageType">
-    <xsd:sequence>
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-    <xsd:attribute name="langid" type="xsd:string" /> 
-  </xsd:complexType>
-
-  <xsd:complexType name="docParamListType">
-    <xsd:sequence>
-      <xsd:element name="parameteritem" type="docParamListItem" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-    <xsd:attribute name="kind" type="DoxParamListKind" /> 
-  </xsd:complexType>
-
-  <xsd:complexType name="docParamListItem">
-    <xsd:sequence>
-      <xsd:element name="parameternamelist" type="docParamNameList" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="parameterdescription" type="descriptionType" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docParamNameList">
-    <xsd:sequence>
-      <xsd:element name="parametertype" type="docParamType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="parametername" type="docParamName" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docParamType" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="ref" type="refTextType" minOccurs="0" maxOccurs="1" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docParamName" mixed="true">
-    <xsd:sequence>
-      <xsd:element name="ref" type="refTextType" minOccurs="0" maxOccurs="1" />
-    </xsd:sequence>
-    <xsd:attribute name="direction" type="DoxParamDir" use="optional" />
-  </xsd:complexType>
-
-  <xsd:complexType name="docXRefSectType">
-    <xsd:sequence>
-      <xsd:element name="xreftitle" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="xrefdescription" type="descriptionType" />
-    </xsd:sequence>
-    <xsd:attribute name="id" type="xsd:string" /> 
-  </xsd:complexType>
-
-  <xsd:complexType name="docCopyType">
-    <xsd:sequence>
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="sect1" type="docSect1Type" minOccurs="0" maxOccurs="unbounded" />
-      <xsd:element name="internal" type="docInternalType" minOccurs="0" />
-    </xsd:sequence>
-    <xsd:attribute name="link" type="xsd:string" /> 
-  </xsd:complexType>
-
-  <xsd:complexType name="docBlockQuoteType">
-    <xsd:sequence>
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docParBlockType">
-    <xsd:sequence>
-      <xsd:element name="para" type="docParaType" minOccurs="0" maxOccurs="unbounded" />
-    </xsd:sequence>
-  </xsd:complexType>
-
-  <xsd:complexType name="docEmptyType"/>
-
-  <!-- Simple types -->
-
-  <xsd:simpleType name="DoxBool">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="yes" />
-      <xsd:enumeration value="no" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxGraphRelation">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="include" />
-      <xsd:enumeration value="usage" />
-      <xsd:enumeration value="template-instance" />
-      <xsd:enumeration value="public-inheritance" />
-      <xsd:enumeration value="protected-inheritance" />
-      <xsd:enumeration value="private-inheritance" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxRefKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="compound" />
-      <xsd:enumeration value="member" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxMemberKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="define" />
-      <xsd:enumeration value="property" />
-      <xsd:enumeration value="event" />
-      <xsd:enumeration value="variable" />
-      <xsd:enumeration value="typedef" />
-      <xsd:enumeration value="enum" />
-      <xsd:enumeration value="function" />
-      <xsd:enumeration value="signal" />
-      <xsd:enumeration value="prototype" />
-      <xsd:enumeration value="friend" />
-      <xsd:enumeration value="dcop" />
-      <xsd:enumeration value="slot" />
-      <xsd:enumeration value="interface" />
-      <xsd:enumeration value="service" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxProtectionKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="public" />
-      <xsd:enumeration value="protected" />
-      <xsd:enumeration value="private" />
-      <xsd:enumeration value="package" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxVirtualKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="non-virtual" />
-      <xsd:enumeration value="virtual" />
-      <xsd:enumeration value="pure-virtual" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxCompoundKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="class" />
-      <xsd:enumeration value="struct" />
-      <xsd:enumeration value="union" />
-      <xsd:enumeration value="interface" />
-      <xsd:enumeration value="protocol" />
-      <xsd:enumeration value="category" />
-      <xsd:enumeration value="exception" />
-      <xsd:enumeration value="service" />
-      <xsd:enumeration value="singleton" />
-      <xsd:enumeration value="module" />
-      <xsd:enumeration value="type" />
-      <xsd:enumeration value="file" />
-      <xsd:enumeration value="namespace" />
-      <xsd:enumeration value="group" />
-      <xsd:enumeration value="page" />
-      <xsd:enumeration value="example" />
-      <xsd:enumeration value="dir" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxSectionKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="user-defined" />
-      <xsd:enumeration value="public-type" />
-      <xsd:enumeration value="public-func" />
-      <xsd:enumeration value="public-attrib" />
-      <xsd:enumeration value="public-slot" />
-      <xsd:enumeration value="signal" />
-      <xsd:enumeration value="dcop-func" />
-      <xsd:enumeration value="property" />
-      <xsd:enumeration value="event" />
-      <xsd:enumeration value="public-static-func" />
-      <xsd:enumeration value="public-static-attrib" />
-      <xsd:enumeration value="protected-type" />
-      <xsd:enumeration value="protected-func" />
-      <xsd:enumeration value="protected-attrib" />
-      <xsd:enumeration value="protected-slot" />
-      <xsd:enumeration value="protected-static-func" />
-      <xsd:enumeration value="protected-static-attrib" />
-      <xsd:enumeration value="package-type" />
-      <xsd:enumeration value="package-func" />
-      <xsd:enumeration value="package-attrib" />
-      <xsd:enumeration value="package-static-func" />
-      <xsd:enumeration value="package-static-attrib" />
-      <xsd:enumeration value="private-type" />
-      <xsd:enumeration value="private-func" />
-      <xsd:enumeration value="private-attrib" />
-      <xsd:enumeration value="private-slot" />
-      <xsd:enumeration value="private-static-func" />
-      <xsd:enumeration value="private-static-attrib" />
-      <xsd:enumeration value="friend" />
-      <xsd:enumeration value="related" />
-      <xsd:enumeration value="define" />
-      <xsd:enumeration value="prototype" />
-      <xsd:enumeration value="typedef" />
-      <xsd:enumeration value="enum" />
-      <xsd:enumeration value="func" />
-      <xsd:enumeration value="var" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxHighlightClass">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="comment" />
-      <xsd:enumeration value="normal" />
-      <xsd:enumeration value="preprocessor" />
-      <xsd:enumeration value="keyword" />
-      <xsd:enumeration value="keywordtype" />
-      <xsd:enumeration value="keywordflow" />
-      <xsd:enumeration value="stringliteral" />
-      <xsd:enumeration value="charliteral" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxSimpleSectKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="see" />
-      <xsd:enumeration value="return" />
-      <xsd:enumeration value="author" />
-      <xsd:enumeration value="authors" />
-      <xsd:enumeration value="version" />
-      <xsd:enumeration value="since" />
-      <xsd:enumeration value="date" />
-      <xsd:enumeration value="note" />
-      <xsd:enumeration value="warning" />
-      <xsd:enumeration value="pre" />
-      <xsd:enumeration value="post" />
-      <xsd:enumeration value="copyright" />
-      <xsd:enumeration value="invariant" />
-      <xsd:enumeration value="remark" />
-      <xsd:enumeration value="attention" />
-      <xsd:enumeration value="par" />
-      <xsd:enumeration value="rcs" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxVersionNumber">
-    <xsd:restriction base="xsd:string">
-      <xsd:pattern value="\d+\.\d+.*" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxImageKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="html" />
-      <xsd:enumeration value="latex" />
-      <xsd:enumeration value="rtf" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxParamListKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="param" />
-      <xsd:enumeration value="retval" />
-      <xsd:enumeration value="exception" />
-      <xsd:enumeration value="templateparam" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxCharRange">
-    <xsd:restriction base="xsd:string">
-      <xsd:pattern value="[aeiouncAEIOUNC]" />
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxParamDir">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="in"/>
-      <xsd:enumeration value="out"/>
-      <xsd:enumeration value="inout"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="DoxAccessor">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="retain"/>
-      <xsd:enumeration value="copy"/>
-      <xsd:enumeration value="assign"/>
-      <xsd:enumeration value="weak"/>
-      <xsd:enumeration value="strong"/>
-      <xsd:enumeration value="unretained"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-</xsd:schema>
-
diff --git a/contrib/neo_doxygen/tests/root-namespace/xml/dir_68267d1309a1af8e8297ef4c3efbcdba.xml b/contrib/neo_doxygen/tests/root-namespace/xml/dir_68267d1309a1af8e8297ef4c3efbcdba.xml
deleted file mode 100644 (file)
index 6e59cc5..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version='1.0' encoding='UTF-8' standalone='no'?>
-<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.8">
-  <compounddef id="dir_68267d1309a1af8e8297ef4c3efbcdba" kind="dir">
-    <compoundname>src</compoundname>
-    <innerfile refid="_foo_8java">Foo.java</innerfile>
-    <briefdescription>
-    </briefdescription>
-    <detaileddescription>
-    </detaileddescription>
-    <location file="%SOURCE_DIRECTORY%/"/>
-  </compounddef>
-</doxygen>
diff --git a/contrib/neo_doxygen/tests/root-namespace/xml/index.xml b/contrib/neo_doxygen/tests/root-namespace/xml/index.xml
deleted file mode 100644 (file)
index 68a2afb..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version='1.0' encoding='UTF-8' standalone='no'?>
-<doxygenindex xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="index.xsd" version="1.8.8">
-  <compound refid="class_foo" kind="class"><name>Foo</name>
-  </compound>
-  <compound refid="_foo_8java" kind="file"><name>Foo.java</name>
-  </compound>
-  <compound refid="dir_68267d1309a1af8e8297ef4c3efbcdba" kind="dir"><name>src</name>
-  </compound>
-</doxygenindex>
diff --git a/contrib/neo_doxygen/tests/root-namespace/xml/index.xsd b/contrib/neo_doxygen/tests/root-namespace/xml/index.xsd
deleted file mode 100644 (file)
index d7ab2a9..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-<?xml version='1.0' encoding='utf-8' ?>
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-  <xsd:element name="doxygenindex" type="DoxygenType"/>
-
-  <xsd:complexType name="DoxygenType">
-    <xsd:sequence>
-      <xsd:element name="compound" type="CompoundType" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="version" type="xsd:string" use="required"/>
-  </xsd:complexType>
-
-  <xsd:complexType name="CompoundType">
-    <xsd:sequence>
-      <xsd:element name="name" type="xsd:string"/>
-      <xsd:element name="member" type="MemberType" minOccurs="0" maxOccurs="unbounded"/>
-    </xsd:sequence>
-    <xsd:attribute name="refid" type="xsd:string" use="required"/>
-    <xsd:attribute name="kind" type="CompoundKind" use="required"/>
-  </xsd:complexType>
-
-  <xsd:complexType name="MemberType">
-    <xsd:sequence>
-      <xsd:element name="name" type="xsd:string"/>
-    </xsd:sequence>
-    <xsd:attribute name="refid" type="xsd:string" use="required"/>
-    <xsd:attribute name="kind" type="MemberKind" use="required"/>
-  </xsd:complexType>
-  
-  <xsd:simpleType name="CompoundKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="class"/>
-      <xsd:enumeration value="struct"/>
-      <xsd:enumeration value="union"/>
-      <xsd:enumeration value="interface"/>
-      <xsd:enumeration value="protocol"/>
-      <xsd:enumeration value="category"/>
-      <xsd:enumeration value="exception"/>
-      <xsd:enumeration value="file"/>
-      <xsd:enumeration value="namespace"/>
-      <xsd:enumeration value="group"/>
-      <xsd:enumeration value="page"/>
-      <xsd:enumeration value="example"/>
-      <xsd:enumeration value="dir"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-  <xsd:simpleType name="MemberKind">
-    <xsd:restriction base="xsd:string">
-      <xsd:enumeration value="define"/>
-      <xsd:enumeration value="property"/>
-      <xsd:enumeration value="event"/>
-      <xsd:enumeration value="variable"/>
-      <xsd:enumeration value="typedef"/>
-      <xsd:enumeration value="enum"/>
-      <xsd:enumeration value="enumvalue"/>
-      <xsd:enumeration value="function"/>
-      <xsd:enumeration value="signal"/>
-      <xsd:enumeration value="prototype"/>
-      <xsd:enumeration value="friend"/>
-      <xsd:enumeration value="dcop"/>
-      <xsd:enumeration value="slot"/>
-    </xsd:restriction>
-  </xsd:simpleType>
-
-</xsd:schema>
-
diff --git a/contrib/refund/.gitignore b/contrib/refund/.gitignore
deleted file mode 100644 (file)
index f8f6caf..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-bin/
-tests/out/
-stats.json
diff --git a/contrib/refund/Makefile b/contrib/refund/Makefile
deleted file mode 100644 (file)
index eae12aa..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-NITC ?= nitc
-NITLS ?= nitls
-NITUNIT ?= nitunit
-NITDOC ?= nitdoc
-
-.PHONY: all
-all: bin/refund
-
-bin/refund: $(shell $(NITLS) -M src/refund.nit)
-       mkdir -p bin/
-       $(NITC) src/refund.nit -o bin/refund
-
-.PHONY: check
-check: bin/refund
-       $(NITUNIT) .
-       cd tests; make
-
-.PHONY: doc
-doc:
-       $(NITDOC) . -o doc/
-
-.PHONY: clean
-clean:
-       rm -rf bin/
-       rm -rf doc/
-       cd tests; make clean
diff --git a/contrib/refund/package.ini b/contrib/refund/package.ini
deleted file mode 100644 (file)
index 1db87a8..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-[package]
-name=refund
-tags=example,cli
-maintainer=Alexandre Terrasa <alexandre@moz-code.org>
-license=Apache-2.0
-desc=Insurance refunds calculation tool
-[upstream]
-browse=https://github.com/nitlang/nit/tree/master/contrib/refund/
-git=https://github.com/nitlang/nit.git
-git.directory=contrib/refund/
-homepage=http://nitlanguage.org
-issues=https://github.com/nitlang/nit/issues
diff --git a/contrib/refund/src/refund.nit b/contrib/refund/src/refund.nit
deleted file mode 100644 (file)
index 02e0af1..0000000
+++ /dev/null
@@ -1,132 +0,0 @@
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Copyright 2015 Alexandre Terrasa <alexandre@moz-code.org>
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Insurance refunds calculation tool.
-#
-# `refund` computes automatically the allowed refund for a reclamation according
-# to an insurrance policy.
-#
-# Usage:
-#
-# ~~~sh
-# > refund (<input_file> <output_file> | [OPTIONS])
-# ~~~
-#
-# Input file:
-#
-# `refund` expects a JSON input file on the form:
-#
-# ~~~json
-# {
-#  "dossier": "A100323",
-#  "mois": "2015-01",
-#  "reclamations": [
-#   {
-#    "soin": 100,
-#    "date": "2015-01-11",
-#    "montant": "234.00$"
-#   }, {
-#    "soin": 200,
-#    "date": "2015-01-13",
-#    "montant": "128.00$"
-#   }, {
-#    "soin": 334,
-#    "date": "2015-01-23",
-#    "montant": "50.00$"
-#   }
-#  ]
-# }
-# ~~~
-#
-# Output file:
-#
-# You have to specify the path where `refund` should output the result file.
-#
-# Results are formatted as JSON:
-#
-# ~~~json
-# {
-#  "client": "100323",
-#  "mois": "2015-01",
-#  "remboursements": [
-#   {
-#    "soin": 100,
-#    "date": "2015-01-11",
-#    "montant": "58.50$"
-#   }, {
-#    "soin": 200,
-#    "date": "2015-01-13",
-#    "montant": "22.50$"
-#   }, {
-#    "soin": 334,
-#    "date": "2015-01-23",
-#    "montant": "0.00$"
-#   }
-#  ]
-# }
-# ~~~
-#
-# Options:
-#
-# `refund` can generate statistics about reclamations and refunds computed.
-#
-# * `-S`: display statistics
-# * `-SR`: reset statistics
-#
-# Error handling:
-#
-# In case of error, a JSON object is generated in place of the output file:
-#
-# ~~~json
-# { "message": "Invalid input data" }
-# ~~~
-module refund
-
-
-import refund_json
-
-# Display usage in console then leave.
-fun usage do
-       print ""
-       print "Usage:"
-       print "refund <input.json> <output.json>"
-       print ""
-       print "options"
-       print " -S\tShow stats in console"
-       print " -RS\tClear stats"
-       exit 1
-end
-
-var proc = new RefundProcessor
-
-if args.length == 1 then
-       var flag = args.first
-       if flag == "-RS" then
-               proc.clear_stats
-               exit 0
-       else if flag == "-S" then
-               proc.show_stats
-               exit 0
-       else
-               print "Error: Unknown flag {flag}."
-               usage
-       end
-else if args.length != 2 then
-       print "Error: Incorrect number of arguments. Got {args.length}, expected 2."
-       usage
-end
-
-proc.process(args[0], args[1])
diff --git a/contrib/refund/src/refund_base.nit b/contrib/refund/src/refund_base.nit
deleted file mode 100644 (file)
index 48e1833..0000000
+++ /dev/null
@@ -1,421 +0,0 @@
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Copyright 2015 Alexandre Terrasa <alexandre@moz-code.org>
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Insurance refunds calculation base classes.
-module refund_base
-
-import counter
-
-# `RefundProcessor` manages the calculation of the refunds.
-#
-# See `process`.
-class RefundProcessor
-
-       # Where to generate output file.
-       var output_file: String is noinit, writable
-
-       # Where to save usage statistics.
-       var stats_file = "stats.json"
-
-       # Processes the `input_file` and write the output in `output_file`.
-       #
-       # Steps:
-       #
-       # 1. Parses the input_file and check json validity (see `load_input`).
-       # 2. Instantiates and checks the reclamation sheet against client rules
-       #   (see `ReclamationSheet.from_json`).
-       # 3. Processes refunds (see `proces_refunds`).
-       # 4. Writes the output file (see `write_output`).
-       fun process(input_file, output_file: String) is abstract
-
-       # Refunds allowed for the current reclamation sheet.
-       var current_refunds = new HashMap[Care, Dollar]
-
-       # Computes allowed refunds for a given `Reclamation` found in a `ReclamationSheet`.
-       fun process_refund(sheet: ReclamationSheet, recl: Reclamation): Dollar is abstract
-
-       # Shows stats values in console
-       fun show_stats do print load_stats
-
-       # Loads stats from file as a RefundStats instance.
-       fun load_stats: RefundStats is abstract
-
-       # Saves stats in file.
-       fun save_stats(stats: RefundStats) is abstract
-
-       # Outputs error object then exit.
-       fun die(msg: String) is abstract
-
-       # Clears stats.
-       #
-       # Basically delete the stats file.
-       fun clear_stats do if stats_file.file_exists then stats_file.file_delete
-end
-
-# Stats representation using a `Counter`.
-class RefundStats
-       super Counter[String]
-end
-
-# A `Client` can ask for refunds from the insurance company.
-class Client
-
-       # Client number.
-       var number: String
-
-       redef fun to_s do return "#{number}"
-end
-
-# A `ReclamationSheet` is filled by the `Client` to obtain a `RefundSheet`.
-class ReclamationSheet
-
-       # File used for this refund.
-       var file: ReclFile is writable
-
-       # Month concerned by the refund.
-       var month: ReclMonth is writable
-
-       # Array of reclamations.
-       var recls = new Array[Reclamation] is writable
-
-       redef fun to_s do
-               return "Refund (file: {file}, month: {month}, recls: {recls.length})"
-       end
-end
-
-# A File found in a `ReclamationSheet`.
-#
-# A File points to a `Contract` and a `Client`.
-#
-# Allowed format is: `X12345` where `X` is the contract kind and `12345` is the
-# client number.
-class ReclFile
-
-       # File string id.
-       var id: String is writable
-
-       # Contract instance linked to this file.
-       var contract: Contract is noinit, writable
-
-       # Client instance linked to this file.
-       var client: Client is noinit, writable
-
-       # Returns the contract instance corresponding to `kind`.
-       fun contract_factory(proc: RefundProcessor, kind: String): Contract do
-               if kind == "A" then return new ContractA
-               if kind == "B" then return new ContractB
-               if kind == "C" then return new ContractC
-               if kind == "D" then return new ContractD
-               if kind == "E" then return new ContractE
-               proc.die("Unknown contract {kind}")
-               abort
-       end
-
-       redef fun to_s do return "{contract.kind}{client.number}"
-end
-
-# Month date formatted for contracts.
-#
-# Mainly used to factorize treatments on date calculation.
-class ReclMonth
-
-       # Internal date used to store the month.
-       var date: ReclDate is writable
-
-       # Is `date` in this month?
-       fun has(date: ReclDate): Bool do return self.date.month == date.month
-
-       redef fun to_s do
-               if date.month < 10 then
-                       return "{date.year}-0{date.month}"
-               end
-               return "{date.year}-0{date.month}"
-       end
-end
-
-# The date on which a `Care` occured.
-class ReclDate
-       # Year of the month.
-       var year: Int is writable
-
-       # Month number (`1` is January).
-       var month: Int is writable
-
-       # Day number.
-       var day: Int is writable
-
-       redef fun to_s do
-               var res = new FlatBuffer
-               res.append "{year}-"
-               if month < 10 then
-                       res.append "0{month}-"
-               else
-                       res.append "{month}-"
-               end
-               if day < 10 then
-                       res.append "0{day}"
-               else
-                       res.append day.to_s
-               end
-               return res.write_to_string
-       end
-end
-
-# `RefundRecl` are parts of the `RefundReclamation`.
-class Reclamation
-       # `Care` id concerned by this reclamation.
-       var care_id: Int is writable
-
-       # Date this care was applied.
-       var date: ReclDate is writable
-
-       # Amount of money given by the `Client` in exchange of this care.
-       var fees: Dollar is writable
-
-       redef fun to_s do return "Entry (care: {care_id}, date: {date}, fees: {fees})"
-end
-
-# A `Contract` specifies the refund applicable on care.
-class Contract
-
-       # Kind of the contract (specified by a letter).
-       var kind: String is noinit, writable
-
-       # Covered cares for this kind of contract.
-       var cares = new Array[Care] is writable
-
-       # Adds a care to this contract.
-       fun add_care(care: Care) do cares.add care
-
-       # Gets a `Care` instance by its id.
-       #
-       # Returns `null` if no `Care` found.
-       fun care_by_id(id: Int): nullable Care do
-               for care in cares do
-                       if care.match_id(id) then return care
-               end
-               return null
-       end
-
-       redef fun to_s do return "{kind} ({cares.length} cares)"
-end
-
-# Contracts
-# FIXME move contracts to a JSON configuration file.
-
-private class ContractA
-       super Contract
-
-       init do
-               kind = "A"
-               add_care(new UniqCare.with_vals(0,   25.0, null, null))
-               add_care(new UniqCare.with_vals(100, 35.0, null, 250.0.to_dollar))
-               add_care(new UniqCare.with_vals(150, 0.0,  null, null))
-               add_care(new UniqCare.with_vals(175, 50.0, null, 200.0.to_dollar))
-               add_care(new UniqCare.with_vals(200, 25.0, null, 250.0.to_dollar))
-               add_care(new RangeCare.with_vals([300..399], 0.0, null, null))
-               add_care(new UniqCare.with_vals(400, 0.0,  null, null))
-               add_care(new UniqCare.with_vals(500, 25.0, null, 150.0.to_dollar))
-               add_care(new UniqCare.with_vals(600, 40.0, null, 300.0.to_dollar))
-               add_care(new UniqCare.with_vals(700, 0.0,  null, null))
-       end
-end
-
-private class ContractB
-       super Contract
-
-       init do
-               kind = "B"
-               add_care(new UniqCare.with_vals(0,   50.0, 40.0.to_dollar, null))
-               add_care(new UniqCare.with_vals(100, 50.0, 50.0.to_dollar, 250.0.to_dollar))
-               add_care(new UniqCare.with_vals(150, 0.0,  null, null))
-               add_care(new UniqCare.with_vals(175, 75.0, null, 200.0.to_dollar))
-               add_care(new UniqCare.with_vals(200, 100.0,null, 250.0.to_dollar))
-               add_care(new RangeCare.with_vals([300..399], 50.0, null, null))
-               add_care(new UniqCare.with_vals(400, 0.0,  null, null))
-               add_care(new UniqCare.with_vals(500, 50.0, 50.0.to_dollar, 150.0.to_dollar))
-               add_care(new UniqCare.with_vals(600, 100.0,null, 300.0.to_dollar))
-               add_care(new UniqCare.with_vals(700, 70.0, null, null))
-       end
-end
-
-private class ContractC
-       super Contract
-
-       init do
-               kind = "C"
-               add_care(new UniqCare.with_vals(0,   90.0, null, null))
-               add_care(new UniqCare.with_vals(100, 95.0, null, 250.0.to_dollar))
-               add_care(new UniqCare.with_vals(150, 85.0, null, null))
-               add_care(new UniqCare.with_vals(175, 90.0, null, 200.0.to_dollar))
-               add_care(new UniqCare.with_vals(200, 90.0, null, 250.0.to_dollar))
-               add_care(new RangeCare.with_vals([300..399], 90.0, null, null))
-               add_care(new UniqCare.with_vals(400, 90.0, null, null))
-               add_care(new UniqCare.with_vals(500, 90.0, null, 150.0.to_dollar))
-               add_care(new UniqCare.with_vals(600, 75.0, null, 300.0.to_dollar))
-               add_care(new UniqCare.with_vals(700, 90.0, null, null))
-       end
-end
-
-private class ContractD
-       super Contract
-
-       init do
-               kind = "D"
-               add_care(new UniqCare.with_vals(0,   100.0, 85.0.to_dollar,  null))
-               add_care(new UniqCare.with_vals(100, 100.0, 75.0.to_dollar,  250.0.to_dollar))
-               add_care(new UniqCare.with_vals(150, 100.0, 150.0.to_dollar, null))
-               add_care(new UniqCare.with_vals(175, 95.0,  null,  200.0.to_dollar))
-               add_care(new UniqCare.with_vals(200, 100.0, 100.0.to_dollar, 250.0.to_dollar))
-               add_care(new RangeCare.with_vals([300..399],100.0, null, null))
-               add_care(new UniqCare.with_vals(400, 100.0, 65.0.to_dollar,  null))
-               add_care(new UniqCare.with_vals(500, 100.0, null,  150.0.to_dollar))
-               add_care(new UniqCare.with_vals(600, 100.0, 100.0.to_dollar, 300.0.to_dollar))
-               add_care(new UniqCare.with_vals(700, 100.0, 90.0.to_dollar, null))
-       end
-end
-
-private class ContractE
-       super Contract
-
-       init do
-               kind = "E"
-               add_care(new UniqCare.with_vals(0,   15.0, null, null))
-               add_care(new UniqCare.with_vals(100, 25.0, null, 250.0.to_dollar))
-               add_care(new UniqCare.with_vals(150, 15.0, null, null))
-               add_care(new UniqCare.with_vals(175, 25.0, 20.0.to_dollar, 200.0.to_dollar))
-               add_care(new UniqCare.with_vals(200, 12.0, null, 250.0.to_dollar))
-               add_care(new RangeCare.with_vals([300..399], 60.0, null, null))
-               add_care(new UniqCare.with_vals(400, 25.0, 15.0.to_dollar, null))
-               add_care(new UniqCare.with_vals(500, 30.0, 20.0.to_dollar, 150.0.to_dollar))
-               add_care(new UniqCare.with_vals(600, 15.0, null, 300.0.to_dollar))
-               add_care(new UniqCare.with_vals(700, 22.0, null, null))
-       end
-end
-
-# A `Care` is payed by the `Client` and can raises a `Refund`.
-interface Care
-
-       # Does `id` is acceptable for this care?
-       fun match_id(id: Int): Bool is abstract
-
-       # Percent covered for this kind of care.
-       fun cover: Float is abstract
-
-       # Max amount covered for this kind of care by reclamation.
-       fun max: nullable Dollar is abstract
-
-       # Max amount covered for this kind of care by month.
-       fun month_max: nullable Dollar is abstract
-
-       # Computes the refund for this care.
-       fun process_refund(fees: Dollar): Dollar do
-               var max = self.max
-               var val = ((fees.value.to_f * (cover / 100.0)) / 100.0).to_dollar
-               if max != null and val > max then val = max
-               return val
-       end
-end
-
-# A `UniqCare` refers to one and only one kind of `Care`.
-#
-# For example, the care `Ostéopathie` as the uniq id `200`.
-class UniqCare
-       super Care
-
-       # Care id.
-       var id: Int
-
-       redef fun match_id(id) do return self.id == id
-
-       redef var cover = 0.0
-       redef var max = null
-       redef var month_max = null
-
-       # Inits this `Care` with values.
-       #
-       # * `id`: the `Care` id.
-       # * `cover`: refund percentage covered for this `Care`.
-       # * `max`: max amount refunded for this `Care` in a reclamation sheet.
-       # * `month_max`: max amount refunded by month.
-       init with_vals(id: Int, cover: Float, max, month_max: nullable Dollar) do
-               init(id)
-               self.cover = cover
-               self.max = max
-               self.month_max = month_max
-       end
-
-       redef fun to_s do return id.to_s
-end
-
-# A `RangeCare` refers to a set of id corresponding to the same `Care`.
-#
-# For example, the care `Soins Dentaires` is refered by the ids 300 to 399.
-class RangeCare
-       super Care
-
-       # Care id range.
-       var id: Range[Int]
-
-       redef fun match_id(id) do return self.id.has(id)
-       redef var cover = 0.0
-       redef var max = null
-       redef var month_max = null
-
-       # Inits this `Care` with values.
-       #
-       # * `id`: the `Care` id.
-       # * `cover`: refund percentage covered for this `Care`.
-       # * `max`: max amount refunded for this `Care` in a reclamation sheet.
-       # * `month_max`: max amount refunded by month.
-       init with_vals(id: Range[Int], cover: Float, max, month_max: nullable Dollar) do
-               init(id)
-               self.cover = cover
-               self.max = max
-               self.month_max = month_max
-       end
-
-       redef fun to_s do return id.first.to_s
-end
-
-# Used to represent currencies values.
-class Dollar
-       super Comparable
-
-       redef type OTHER: Dollar
-
-       # Amount of cents.
-       var value: Int
-
-       # Inits `self` from a float `value`.
-       init from_float(value: Float) do
-               init((value * 100.0).to_i)
-       end
-
-       redef fun to_s do return "{value / 100}.{value % 100}$"
-       redef fun <(o) do return value < o.value
-
-       # Dollars addition.
-       fun +(o: Dollar): Dollar do return new Dollar(value + o.value)
-
-       # Dollars substraction.
-       fun -(o: Dollar): Dollar do return new Dollar(value - o.value)
-end
-
-redef class Float
-       # Returns `self` as a Dollar instance.
-       fun to_dollar: Dollar do return new Dollar.from_float(self)
-end
diff --git a/contrib/refund/src/refund_json.nit b/contrib/refund/src/refund_json.nit
deleted file mode 100644 (file)
index f670f9d..0000000
+++ /dev/null
@@ -1,352 +0,0 @@
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Copyright 2015 Alexandre Terrasa <alexandre@moz-code.org>
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# JSON handling for `refund`.
-module refund_json
-
-import refund_base
-import json::static
-import json
-
-redef class RefundProcessor
-
-       redef fun process(input_file, output_file) do
-               self.output_file = output_file
-               var json = load_input(input_file)
-               var sheet = new ReclamationSheet.from_json(self, json)
-               var res = process_refunds(sheet)
-               write_output(res.to_pretty_json, output_file)
-       end
-
-       # Computes allowed refunds for a given `ReclamationSheet`.
-       fun process_refunds(sheet: ReclamationSheet): JsonObject do
-               # update stats
-               var stats = load_stats
-               stats.inc("total_treatments")
-               # compute refunds
-               current_refunds.clear
-               var json = new JsonObject
-               json["dossier"] = sheet.file.to_s
-               json["mois"] = sheet.month.to_s
-               var arr = new JsonArray
-               var sum = 0.0.to_dollar
-               for recl in sheet.recls do
-                       var refund = process_refund(sheet, recl)
-                       var obj = new JsonObject
-                       obj["soin"] = recl.care_id
-                       obj["date"] = recl.date.to_s
-                       obj["montant"] = refund.to_s
-                       arr.add obj
-                       sum += refund
-                       # update stats for care
-                       stats.inc("total_{recl.care_id}")
-               end
-               save_stats(stats)
-               json["remboursements"] = arr
-               json["total"] = sum.to_s
-               return json
-       end
-
-       # Loads the input string and returns its content as a JsonObject.
-       #
-       # Dies if the file cannot be read or does not contain a valid JSONObject.
-       fun load_input(file: String): JsonObject do
-               if not file.file_exists then
-                       die("File `{file}` not found.")
-                       abort
-               end
-               var ptr = new FileReader.open(file)
-               var json = ptr.read_all.parse_json
-               if json isa JsonParseError then
-                       die("Wrong input file ({json.message})")
-                       abort
-               else if json == null then
-                       die("Unable to parse input file as json (got null)")
-                       abort
-               else if not json isa JsonObject then
-                       die("Wrong input type (expected JsonObject got {json.class_name})")
-                       abort
-               end
-               ptr.close
-               return json
-       end
-
-       # Writes `str` in path specified by `file`.
-       #
-       # Used to produce output and stats.
-       fun write_output(str: String, file: String) do
-               var ofs = new FileWriter.open(file)
-               ofs.write(str)
-               ofs.write("\n")
-               ofs.close
-       end
-
-       # UTILS
-
-       # Does `json` contains `key`? Dies otherwise.
-       private fun check_key(json: JsonObject, key: String) do
-               if json.has_key(key) then return
-               die("Malformed input (missing key {key})")
-       end
-
-       # Does `str` match the regex `re`.
-       private fun check_format(str, re: String): Bool do
-               return str.has(re.to_re)
-       end
-
-       redef fun die(msg) do
-               # save error
-               var obj = new JsonObject
-               obj["message"] = msg
-               write_output(obj.to_pretty_json, output_file)
-               # update stats
-               var stats = load_stats
-               stats.inc("total_reject")
-               save_stats(stats)
-               # leave
-               exit 1
-       end
-
-       redef fun show_stats do print load_stats.to_json_object.to_pretty_json
-
-       redef fun load_stats do
-               # If no stats found, return a new object
-               if not stats_file.file_exists then return new RefundStats
-               # Try to read from file
-               var ifs = new FileReader.open(stats_file)
-               var content = ifs.read_all.parse_json
-               ifs.close
-               # If file is corrupted, return a new object
-               if not content isa JsonObject then return new RefundStats
-               # Return file contained stats
-               return new RefundStats.from_json(content)
-       end
-
-       redef fun save_stats(stats) do
-               write_output(stats.to_json_object.to_pretty_json, stats_file)
-       end
-end
-
-redef class RefundStats
-
-       # Inits `self` from the content of a JsonObject
-       init from_json(json: JsonObject) do
-               for k, v in json do self[k] = v.as(Int)
-       end
-
-       # Outputs `self` as a JSON string.
-       fun to_json_object: JsonObject do
-               var obj = new JsonObject
-               for k, v in self do obj[k] = v
-               return obj
-       end
-end
-
-redef class ReclamationSheet
-
-       # Inits `self` from the content of a `JsonObject`.
-       init from_json(proc: RefundProcessor, json: JsonObject) do
-               file = new ReclFile.from_json(proc, json)
-               month = new ReclMonth.from_json(proc, json)
-               recls = parse_recls(proc, json)
-               init(file, month)
-       end
-
-       # Parses and checks the given `json` then returns an array of `Reclamation` instances.
-       private fun parse_recls(proc: RefundProcessor, json: JsonObject): Array[Reclamation] do
-               proc.check_key(json, "reclamations")
-               var res = new Array[Reclamation]
-               var recls = json["reclamations"]
-               if recls == null then
-                       proc.die("Wrong type for `number` (expected JsonArray got null)")
-                       abort
-               else if not recls isa JsonArray then
-                       proc.die("Wrong type for `number` (expected JsonArray got {recls.class_name})")
-                       abort
-               end
-               var i = 0
-               for obj in recls do
-                       if obj == null then
-                               proc.die("Wrong type for `reclamations#{i}` (expected JsonObject got null)")
-                               abort
-                       else if not obj isa JsonObject then
-                               proc.die("Wrong type for `reclamations#{i}` " +
-                                       "(expected JsonObject got {obj.class_name})")
-                               abort
-                       end
-                       var recl = new Reclamation.from_json(proc, obj)
-                       if not month.has(recl.date) then
-                               proc.die("Wrong `mois` for `soin` with id `{recl.care_id}`")
-                               abort
-                       end
-                       if file.contract.care_by_id(recl.care_id) == null then
-                               proc.die("Unknown `soin` with id `{recl.care_id}`")
-                               abort
-                       end
-                       res.add recl
-                       i += 1
-               end
-               return res
-       end
-end
-
-redef class ReclFile
-       # Inits `self` from the content of a JsonObject.
-       init from_json(proc: RefundProcessor, json: JsonObject) do
-               proc.check_key(json, "dossier")
-               var id = json["dossier"]
-               if id == null then
-                       proc.die("Wrong type for `dossier` (expected String got null)")
-                       abort
-               else if not id isa String then
-                       proc.die("Wrong type for `dossier` (expected String got {id.class_name})")
-                       abort
-               end
-               # Check format
-               parse_contract(proc, id)
-               parse_client(proc, id)
-               init(id)
-       end
-
-       # Tries to parse the contract from `file_id` string.
-       private fun parse_contract(proc: RefundProcessor, file_id: String) do
-               var kind = file_id.first.to_s
-               if not proc.check_format(kind, "^[A-E]\{1\}$") then
-                       proc.die("Wrong contract (expected A, B, C, D or E got {kind})")
-               end
-               contract = contract_factory(proc, kind)
-       end
-
-       # Tries to parse the client number from the `file_id` string.
-       private fun parse_client(proc: RefundProcessor, file_id: String) do
-               var num = file_id.substring_from(1)
-               if not proc.check_format(num, "^[0-9]\{6\}$") then
-                       proc.die("Wrong format for `number` (expected XXXXXX got {num})")
-                       abort
-               end
-               client = new Client(num)
-       end
-end
-
-redef class ReclMonth
-       # Inits `self` from a `JsonObject`.
-       init from_json(proc: RefundProcessor, json: JsonObject) do
-               proc.check_key(json, "mois")
-               var month = json["mois"]
-               if month == null then
-                       proc.die("Wrong type for `mois` (expected String got null)")
-                       return
-               else if not month isa String then
-                       proc.die("Wrong type for `mois` (expected String got {month.class_name})")
-                       return
-               end
-               if not proc.check_format(month, "^[0-9]\{4\}-[0-9]\{2\}$") then
-                       proc.die("Wrong format for `mois` (expected AAAA-MM got {month})")
-                       return
-               end
-               from_string(proc, month)
-       end
-
-       # Inits `self` from a string representation formatted as `AAAA-MM`.
-       init from_string(proc: RefundProcessor, str: String) do
-               var parts = str.split("-")
-               var year = parts[0].to_i
-               var month = parts[1].to_i
-               if month < 1 or month > 12 then
-                       proc.die("Wrong format for `mois` (expected AAAA-MM got {str})")
-                       return
-               end
-               date = new ReclDate(year, month, 1)
-               init(date)
-       end
-end
-
-redef class ReclDate
-       # Inits `self` from a `JsonObject`.
-       #
-       # Dies if the `json` input is invalid.
-       init from_json(proc: RefundProcessor, json: JsonObject) do
-               proc.check_key(json, "date")
-               var date = json["date"]
-               if date == null then
-                       proc.die("Wrong type for `date` (expected String got null)")
-                       abort
-               else if not date isa String then
-                       proc.die("Wrong type for `date` (expected String got {date.class_name})")
-                       abort
-               end
-               if not proc.check_format(date, "^[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}$") then
-                       proc.die("Wrong format for `date` (expected AAAA-MM-DD got {date})")
-                       abort
-               end
-               from_string(proc, date)
-       end
-
-       # Inits `self` from its string representation formatted as `AAAA-MM`.
-       init from_string(proc: RefundProcessor, str: String) do
-               var parts = str.split("-")
-               year = parts[0].to_i
-               month = parts[1].to_i
-               day = parts[2].to_i
-               if month < 1 or month > 12 or day < 1 or day > 31 then
-                       proc.die("Wrong format for `mois` (expected AAAA-MM got {str})")
-                       abort
-               end
-               init(year, month, day)
-       end
-end
-
-redef class Reclamation
-       # Inits `self` from a `JsonObject`.
-       init from_json(proc: RefundProcessor, json: JsonObject) do
-               care_id = parse_care_id(proc, json)
-               date = new ReclDate.from_json(proc, json)
-               fees = parse_fees(proc, json)
-               init(care_id, date, fees)
-       end
-
-       # Inits `self` from its string representation formatted as `Int`.
-       private fun parse_care_id(proc: RefundProcessor, json: JsonObject): Int do
-               proc.check_key(json, "soin")
-               var id = json["soin"]
-               if id == null then
-                       proc.die("Wrong type for `soin` (expected Int got null)")
-                       abort
-               else if not id isa Int then
-                       proc.die("Wrong type for `soin` (expected Int got {id.class_name})")
-                       abort
-               end
-               return id
-       end
-
-       # Inits `self` from its string representation formatted as `0.00$`.
-       private fun parse_fees(proc: RefundProcessor, json: JsonObject): Dollar do
-               proc.check_key(json, "montant")
-               var fees = json["montant"]
-               if fees == null then
-                       proc.die("Wrong type for `fees` (expected String got null)")
-                       abort
-               else if not fees isa String then
-                       proc.die("Wrong type for `fees` (expected String got {fees.class_name})")
-                       abort
-               end
-               if not proc.check_format(fees, "^[0-9]+((\\.|\\,)[0-9]+)?\\$$") then
-                       proc.die("Wrong format for `montant` (expected XX.XX$ got {fees})")
-                       abort
-               end
-               return new Dollar.from_float(fees.basename("$").to_f)
-       end
-end
diff --git a/contrib/refund/tests/Makefile b/contrib/refund/tests/Makefile
deleted file mode 100644 (file)
index 0dce637..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2013 Alexandre Terrasa <alexandre@moz-code.org>.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-all: tests
-
-tests: clean
-       ./tests.sh
-
-clean:
-       rm -rf out/
diff --git a/contrib/refund/tests/client_error1.json b/contrib/refund/tests/client_error1.json
deleted file mode 100644 (file)
index eef9501..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-    "dossier": "A",
-    "mois": "2015-01",
-    "reclamations": [
-        {
-            "soin": 100,
-            "date": "2015-01-11",
-            "montant": "234.00$"
-        },
-        {
-            "soin": 200,
-            "date": "2015-01-13",
-            "montant": "90.00$"
-        },
-        {
-            "soin": 334,
-            "date": "2015-01-23",
-            "montant": "125.00$"
-        }
-    ]
-}
diff --git a/contrib/refund/tests/client_error2.json b/contrib/refund/tests/client_error2.json
deleted file mode 100644 (file)
index a6011f9..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-    "dossier": "A1003233",
-    "mois": "2015-01",
-    "reclamations": [
-        {
-            "soin": 100,
-            "date": "2015-01-11",
-            "montant": "234.00$"
-        },
-        {
-            "soin": 200,
-            "date": "2015-01-13",
-            "montant": "90.00$"
-        },
-        {
-            "soin": 334,
-            "date": "2015-01-23",
-            "montant": "125.00$"
-        }
-    ]
-}
diff --git a/contrib/refund/tests/client_error3.json b/contrib/refund/tests/client_error3.json
deleted file mode 100644 (file)
index 7a2fe14..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-    "dossier": "A10032A",
-    "mois": "2015-01",
-    "reclamations": [
-        {
-            "soin": 100,
-            "date": "2015-01-11",
-            "montant": "234.00$"
-        },
-        {
-            "soin": 200,
-            "date": "2015-01-13",
-            "montant": "90.00$"
-        },
-        {
-            "soin": 334,
-            "date": "2015-01-23",
-            "montant": "125.00$"
-        }
-    ]
-}
diff --git a/contrib/refund/tests/client_error4.json b/contrib/refund/tests/client_error4.json
deleted file mode 100644 (file)
index 025d228..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-    "dossier": 1003233,
-    "mois": "2015-01",
-    "reclamations": [
-        {
-            "soin": 100,
-            "date": "2015-01-11",
-            "montant": "234.00$"
-        },
-        {
-            "soin": 200,
-            "date": "2015-01-13",
-            "montant": "90.00$"
-        },
-        {
-            "soin": 334,
-            "date": "2015-01-23",
-            "montant": "125.00$"
-        }
-    ]
-}
diff --git a/contrib/refund/tests/contractA1.json b/contrib/refund/tests/contractA1.json
deleted file mode 100644 (file)
index 21ebb8b..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-    "dossier": "A100323",
-    "mois": "2015-01",
-    "reclamations": [
-        {
-            "soin": 100,
-            "date": "2015-01-11",
-            "montant": "234.00$"
-        },
-        {
-            "soin": 200,
-            "date": "2015-01-13",
-            "montant": "90.00$"
-        },
-        {
-            "soin": 334,
-            "date": "2015-01-23",
-            "montant": "125.00$"
-        }
-    ]
-}
diff --git a/contrib/refund/tests/contractA2.json b/contrib/refund/tests/contractA2.json
deleted file mode 100644 (file)
index 13373a1..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-    "dossier": "A100323",
-    "mois": "2015-01",
-    "reclamations": [
-        {
-            "soin": 0,
-            "date": "2015-01-11",
-            "montant": "200.00$"
-        },
-        {
-            "soin": 334,
-            "date": "2015-01-23",
-            "montant": "125.00$"
-        },
-        {
-            "soin": 600,
-            "date": "2015-01-13",
-            "montant": "90.00$"
-        }
-    ]
-}
diff --git a/contrib/refund/tests/contractA3.json b/contrib/refund/tests/contractA3.json
deleted file mode 100644 (file)
index c119435..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-    "dossier": "A100323",
-    "mois": "2015-01",
-    "reclamations": [
-        {
-            "soin": 150,
-            "date": "2015-01-11",
-            "montant": "200.00$"
-        },
-        {
-            "soin": 175,
-            "date": "2015-01-11",
-            "montant": "200.00$"
-        }
-    ]
-}
diff --git a/contrib/refund/tests/contractA4.json b/contrib/refund/tests/contractA4.json
deleted file mode 100644 (file)
index d6d02b4..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-    "dossier": "A100323",
-    "mois": "2015-01",
-    "reclamations": [
-        {
-            "soin": 150,
-            "date": "2015-01-11",
-            "montant": "200,00$"
-        },
-        {
-            "soin": 175,
-            "date": "2015-01-11",
-            "montant": "200.00$"
-        }
-    ]
-}
diff --git a/contrib/refund/tests/contractA5.json b/contrib/refund/tests/contractA5.json
deleted file mode 100644 (file)
index ca6f222..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-{
-       "dossier": "A100323",
-       "mois": "2015-01",
-       "reclamations": [
-               {
-                       "soin": 175,
-                       "date": "2015-01-11",
-                       "montant": "130.00$"
-               },
-               {
-                       "soin": 175,
-                       "date": "2015-01-14",
-                       "montant": "130.00$"
-               },
-               {
-                       "soin": 175,
-                       "date": "2015-01-15",
-                       "montant": "130.00$"
-               },
-               {
-                       "soin": 175,
-                       "date": "2015-01-17",
-                       "montant": "130.00$"
-               }
-       ]
-}
diff --git a/contrib/refund/tests/contractB1.json b/contrib/refund/tests/contractB1.json
deleted file mode 100644 (file)
index 31afc35..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-    "dossier": "B100323",
-    "mois": "2015-01",
-    "reclamations": [
-        {
-            "soin": 100,
-            "date": "2015-01-11",
-            "montant": "234.00$"
-        },
-        {
-            "soin": 200,
-            "date": "2015-01-13",
-            "montant": "90.00$"
-        },
-        {
-            "soin": 334,
-            "date": "2015-01-23",
-            "montant": "400.00$"
-        }
-    ]
-}
diff --git a/contrib/refund/tests/contractB2.json b/contrib/refund/tests/contractB2.json
deleted file mode 100644 (file)
index 16af82c..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-    "dossier": "B100323",
-    "mois": "2015-01",
-    "reclamations": [
-        {
-            "soin": 200,
-            "date": "2015-01-11",
-            "montant": "69.00$"
-        },
-        {
-            "soin": 400,
-            "date": "2015-01-13",
-            "montant": "90.00$"
-        },
-        {
-            "soin": 600,
-            "date": "2015-01-23",
-            "montant": "400.00$"
-        }
-    ]
-}
diff --git a/contrib/refund/tests/contractB3.json b/contrib/refund/tests/contractB3.json
deleted file mode 100644 (file)
index b2df55a..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-    "dossier": "B100323",
-    "mois": "2015-01",
-    "reclamations": [
-        {
-            "soin": 150,
-            "date": "2015-01-11",
-            "montant": "200.00$"
-        },
-        {
-            "soin": 175,
-            "date": "2015-01-11",
-            "montant": "200.00$"
-        }
-    ]
-}
diff --git a/contrib/refund/tests/contractB4.json b/contrib/refund/tests/contractB4.json
deleted file mode 100644 (file)
index 555766f..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-    "dossier": "B100323",
-    "mois": "2015-01",
-    "reclamations": [
-        {
-            "soin": 150,
-            "date": "2015-01-11",
-            "montant": "200,00$"
-        },
-        {
-            "soin": 175,
-            "date": "2015-01-11",
-            "montant": "200,00$"
-        }
-    ]
-}
diff --git a/contrib/refund/tests/contractB5.json b/contrib/refund/tests/contractB5.json
deleted file mode 100644 (file)
index 0ea3611..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-{
-    "dossier": "B100323",
-    "mois": "2015-01",
-    "reclamations": [
-        {
-            "soin": 100,
-            "date": "2015-01-11",
-            "montant": "400,00$"
-        },
-        {
-            "soin": 100,
-            "date": "2015-01-11",
-            "montant": "400,00$"
-        },
-        {
-            "soin": 100,
-            "date": "2015-01-11",
-            "montant": "400,00$"
-        },
-        {
-            "soin": 100,
-            "date": "2015-01-11",
-            "montant": "400,00$"
-        },
-        {
-            "soin": 100,
-            "date": "2015-01-11",
-            "montant": "400,00$"
-        },
-        {
-            "soin": 100,
-            "date": "2015-01-11",
-            "montant": "400,00$"
-        },
-        {
-            "soin": 600,
-            "date": "2015-01-11",
-            "montant": "1400,00$"
-        }
-    ]
-}
diff --git a/contrib/refund/tests/contractC1.json b/contrib/refund/tests/contractC1.json
deleted file mode 100644 (file)
index 628f9e6..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-    "dossier": "C100323",
-    "mois": "2015-01",
-    "reclamations": [
-        {
-            "soin": 100,
-            "date": "2015-01-11",
-            "montant": "100.00$"
-        },
-        {
-            "soin": 334,
-            "date": "2015-01-13",
-            "montant": "200.00$"
-        },
-        {
-            "soin": 399,
-            "date": "2015-01-23",
-            "montant": "400.00$"
-        }
-    ]
-}
diff --git a/contrib/refund/tests/contractC2.json b/contrib/refund/tests/contractC2.json
deleted file mode 100644 (file)
index c9f2a9a..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-{
-    "dossier": "C100323",
-    "mois": "2015-01",
-    "reclamations": []
-}
diff --git a/contrib/refund/tests/contractC3.json b/contrib/refund/tests/contractC3.json
deleted file mode 100644 (file)
index a502605..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-    "dossier": "C100323",
-    "mois": "2015-01",
-    "reclamations": [
-        {
-            "soin": 150,
-            "date": "2015-01-11",
-            "montant": "200.00$"
-        },
-        {
-            "soin": 175,
-            "date": "2015-01-11",
-            "montant": "200.00$"
-        }
-    ]
-}
diff --git a/contrib/refund/tests/contractD1.json b/contrib/refund/tests/contractD1.json
deleted file mode 100644 (file)
index 7a47a3f..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-    "dossier": "D100323",
-    "mois": "2015-01",
-    "reclamations": [
-        {
-            "soin": 100,
-            "date": "2015-01-11",
-            "montant": "234.00$"
-        },
-        {
-            "soin": 334,
-            "date": "2015-01-13",
-            "montant": "900.00$"
-        },
-        {
-            "soin": 600,
-            "date": "2015-01-23",
-            "montant": "100.00$"
-        }
-    ]
-}
diff --git a/contrib/refund/tests/contractD2.json b/contrib/refund/tests/contractD2.json
deleted file mode 100644 (file)
index c7fb96f..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-{
-    "dossier": "D100323",
-    "mois": "2015-01",
-    "reclamations": [
-        {
-            "soin": 200,
-            "date": "2015-01-11",
-            "montant": "69.00$"
-        },
-        {
-            "soin": 400,
-            "date": "2015-01-13",
-            "montant": "90.00$"
-        },
-        {
-            "soin": 600,
-            "date": "2015-01-23",
-            "montant": "400.00$"
-        },
-        {
-            "soin": 600,
-            "date": "2015-01-23",
-            "montant": "0.00$"
-        }
-    ]
-}
diff --git a/contrib/refund/tests/contractD3.json b/contrib/refund/tests/contractD3.json
deleted file mode 100644 (file)
index 7580bbf..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-    "dossier": "D100323",
-    "mois": "2015-01",
-    "reclamations": [
-        {
-            "soin": 200,
-            "date": "2015-01-11",
-            "montant": "69.00$"
-        },
-        {
-            "soin": 400,
-            "date": "2015-01-13",
-            "montant": "90.00$"
-        },
-        {
-            "soin": 600,
-            "date": "2015-01-23",
-            "montant": "400.00$"
-        }
-       ]
-}
diff --git a/contrib/refund/tests/contractD4.json b/contrib/refund/tests/contractD4.json
deleted file mode 100644 (file)
index 55e50f5..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-    "dossier": "D100323",
-    "mois": "2015-01",
-    "reclamations": [
-        {
-            "soin": 150,
-            "date": "2015-01-11",
-            "montant": "200.00$"
-        },
-        {
-            "soin": 175,
-            "date": "2015-01-11",
-            "montant": "200.00$"
-        }
-    ]
-}
diff --git a/contrib/refund/tests/contractE1.json b/contrib/refund/tests/contractE1.json
deleted file mode 100644 (file)
index 91ba4c1..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-    "dossier": "E100323",
-    "mois": "2015-01",
-    "reclamations": [
-        {
-            "soin": 100,
-            "date": "2015-01-11",
-            "montant": "234.00$"
-        },
-        {
-            "soin": 334,
-            "date": "2015-01-13",
-            "montant": "900.00$"
-        },
-        {
-            "soin": 600,
-            "date": "2015-01-23",
-            "montant": "100.00$"
-        }
-    ]
-}
diff --git a/contrib/refund/tests/contractE2.json b/contrib/refund/tests/contractE2.json
deleted file mode 100644 (file)
index d805d2b..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-    "dossier": "E100323",
-    "mois": "2015-01",
-    "reclamations": [
-        {
-            "soin": 200,
-            "date": "2015-01-11",
-            "montant": "69.00$"
-        },
-        {
-            "soin": 400,
-            "date": "2015-01-13",
-            "montant": "90.00$"
-        },
-        {
-            "soin": 600,
-            "date": "2015-01-23",
-            "montant": "400.00$"
-        }
-    ]
-}
diff --git a/contrib/refund/tests/contractE3.json b/contrib/refund/tests/contractE3.json
deleted file mode 100644 (file)
index 4cfed1b..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-    "dossier": "E100323",
-    "mois": "2015-01",
-    "reclamations": [
-        {
-            "soin": 200,
-            "date": "2015-01-11",
-            "montant": "69.00$"
-        },
-        {
-            "soin": 400,
-            "date": "2015-01-13",
-            "montant": "90.00$"
-        },
-        {
-            "soin": 500,
-            "date": "2015-01-23",
-            "montant": "400.00$"
-        }
-       ]
-}
diff --git a/contrib/refund/tests/contractE4.json b/contrib/refund/tests/contractE4.json
deleted file mode 100644 (file)
index 6c16688..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-    "dossier": "E100323",
-    "mois": "2015-01",
-    "reclamations": [
-        {
-            "soin": 150,
-            "date": "2015-01-11",
-            "montant": "200.00$"
-        },
-        {
-            "soin": 175,
-            "date": "2015-01-11",
-            "montant": "200.00$"
-        }
-    ]
-}
diff --git a/contrib/refund/tests/contract_error1.json b/contrib/refund/tests/contract_error1.json
deleted file mode 100644 (file)
index feb423f..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-    "dossier": "100323",
-    "mois": "2015-01",
-    "reclamations": [
-        {
-            "soin": 100,
-            "date": "2015-01-11",
-            "montant": "234.00$"
-        },
-        {
-            "soin": 200,
-            "date": "2015-01-13",
-            "montant": "90.00$"
-        },
-        {
-            "soin": 334,
-            "date": "2015-01-23",
-            "montant": "125.00$"
-        }
-    ]
-}
diff --git a/contrib/refund/tests/contract_error2.json b/contrib/refund/tests/contract_error2.json
deleted file mode 100644 (file)
index 4aac886..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-    "dossier": "a100323",
-    "mois": "2015-01",
-    "reclamations": [
-        {
-            "soin": 100,
-            "date": "2015-01-11",
-            "montant": "234.00$"
-        },
-        {
-            "soin": 200,
-            "date": "2015-01-13",
-            "montant": "90.00$"
-        },
-        {
-            "soin": 334,
-            "date": "2015-01-23",
-            "montant": "125.00$"
-        }
-    ]
-}
diff --git a/contrib/refund/tests/contract_error3.json b/contrib/refund/tests/contract_error3.json
deleted file mode 100644 (file)
index 271111c..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-    "dossier": "Z100323",
-    "mois": "2015-01",
-    "reclamations": [
-        {
-            "soin": 100,
-            "date": "2015-01-11",
-            "montant": "234.00$"
-        },
-        {
-            "soin": 200,
-            "date": "2015-01-13",
-            "montant": "90.00$"
-        },
-        {
-            "soin": 334,
-            "date": "2015-01-23",
-            "montant": "125.00$"
-        }
-    ]
-}
diff --git a/contrib/refund/tests/contract_error4.json b/contrib/refund/tests/contract_error4.json
deleted file mode 100644 (file)
index 30bd236..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-    "dossier": "100100323",
-    "mois": "2015-01",
-    "reclamations": [
-        {
-            "soin": 100,
-            "date": "2015-01-11",
-            "montant": "234.00$"
-        },
-        {
-            "soin": 200,
-            "date": "2015-01-13",
-            "montant": "90.00$"
-        },
-        {
-            "soin": 334,
-            "date": "2015-01-23",
-            "montant": "125.00$"
-        }
-    ]
-}
diff --git a/contrib/refund/tests/dossier_error1.json b/contrib/refund/tests/dossier_error1.json
deleted file mode 100644 (file)
index be5cdc3..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-    "mois": "2015-01",
-    "reclamations": [
-        {
-            "soin": 100,
-            "date": "2015-01-11",
-            "montant": "234.00$"
-        },
-        {
-            "soin": 200,
-            "date": "2015-01-13",
-            "montant": "90.00$"
-        },
-        {
-            "soin": 334,
-            "date": "2015-01-23",
-            "montant": "125.00$"
-        }
-    ]
-}
diff --git a/contrib/refund/tests/json_error1.json b/contrib/refund/tests/json_error1.json
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/contrib/refund/tests/json_error2.json b/contrib/refund/tests/json_error2.json
deleted file mode 100644 (file)
index fe51488..0000000
+++ /dev/null
@@ -1 +0,0 @@
-[]
diff --git a/contrib/refund/tests/json_error3.json b/contrib/refund/tests/json_error3.json
deleted file mode 100644 (file)
index 98232c6..0000000
+++ /dev/null
@@ -1 +0,0 @@
-{
diff --git a/contrib/refund/tests/month_error1.json b/contrib/refund/tests/month_error1.json
deleted file mode 100644 (file)
index 9f8213e..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-    "dossier": "A100323",
-    "reclamations": [
-        {
-            "soin": 100,
-            "date": "2015-01-11",
-            "montant": "234.00$"
-        },
-        {
-            "soin": 200,
-            "date": "2015-01-13",
-            "montant": "90.00$"
-        },
-        {
-            "soin": 334,
-            "date": "2015-01-23",
-            "montant": "125.00$"
-        }
-    ]
-}
diff --git a/contrib/refund/tests/month_error2.json b/contrib/refund/tests/month_error2.json
deleted file mode 100644 (file)
index d1f4321..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-    "dossier": "A100323",
-    "mois": 10,
-    "reclamations": [
-        {
-            "soin": 100,
-            "date": "2015-01-11",
-            "montant": "234.00$"
-        },
-        {
-            "soin": 200,
-            "date": "2015-01-13",
-            "montant": "90.00$"
-        },
-        {
-            "soin": 334,
-            "date": "2015-01-23",
-            "montant": "125.00$"
-        }
-    ]
-}
diff --git a/contrib/refund/tests/month_error3.json b/contrib/refund/tests/month_error3.json
deleted file mode 100644 (file)
index 734fc6a..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-    "dossier": "A100323",
-    "mois": "2015/01",
-    "reclamations": [
-        {
-            "soin": 100,
-            "date": "2015-01-11",
-            "montant": "234.00$"
-        },
-        {
-            "soin": 200,
-            "date": "2015-01-13",
-            "montant": "90.00$"
-        },
-        {
-            "soin": 334,
-            "date": "2015-01-23",
-            "montant": "125.00$"
-        }
-    ]
-}
diff --git a/contrib/refund/tests/month_error4.json b/contrib/refund/tests/month_error4.json
deleted file mode 100644 (file)
index 26faacf..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-    "dossier": "A100323",
-    "mois": "2015-23",
-    "reclamations": [
-        {
-            "soin": 100,
-            "date": "2015-01-11",
-            "montant": "234.00$"
-        },
-        {
-            "soin": 200,
-            "date": "2015-01-13",
-            "montant": "90.00$"
-        },
-        {
-            "soin": 334,
-            "date": "2015-01-23",
-            "montant": "125.00$"
-        }
-    ]
-}
diff --git a/contrib/refund/tests/recl_date_error1.json b/contrib/refund/tests/recl_date_error1.json
deleted file mode 100644 (file)
index 46654c1..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-    "dossier": "A100323",
-    "mois": "2015-01",
-    "reclamations": [
-        {
-            "soin": 100,
-            "montant": "234.00$"
-        },
-        {
-            "soin": 200,
-            "date": "2015-01-13",
-            "montant": "90.00$"
-        },
-        {
-            "soin": 334,
-            "date": "2015-01-23",
-            "montant": "125.00$"
-        }
-    ]
-}
diff --git a/contrib/refund/tests/recl_date_error2.json b/contrib/refund/tests/recl_date_error2.json
deleted file mode 100644 (file)
index b26aac6..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-    "dossier": "A100323",
-    "mois": "2015-01",
-    "reclamations": [
-        {
-            "soin": 100,
-            "date": "2015/01/11",
-            "montant": "234.00$"
-        },
-        {
-            "soin": 200,
-            "date": "2015-01-13",
-            "montant": "90.00$"
-        },
-        {
-            "soin": 334,
-            "date": "2015-01-23",
-            "montant": "125.00$"
-        }
-    ]
-}
diff --git a/contrib/refund/tests/recl_date_error3.json b/contrib/refund/tests/recl_date_error3.json
deleted file mode 100644 (file)
index b11c1a9..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-    "dossier": "A100323",
-    "mois": "2015-01",
-    "reclamations": [
-        {
-            "soin": 100,
-            "date": "2015-13-32",
-            "montant": "234.00$"
-        },
-        {
-            "soin": 200,
-            "date": "2015-01-13",
-            "montant": "90.00$"
-        },
-        {
-            "soin": 334,
-            "date": "2015-01-23",
-            "montant": "125.00$"
-        }
-    ]
-}
diff --git a/contrib/refund/tests/recl_date_error4.json b/contrib/refund/tests/recl_date_error4.json
deleted file mode 100644 (file)
index b40c028..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-    "dossier": "A100323",
-    "mois": "2015-01",
-    "reclamations": [
-        {
-            "soin": 100,
-            "date": "2015-02-11",
-            "montant": "234.00$"
-        },
-        {
-            "soin": 200,
-            "date": "2015-01-13",
-            "montant": "90.00$"
-        },
-        {
-            "soin": 334,
-            "date": "2015-01-23",
-            "montant": "125.00$"
-        }
-    ]
-}
diff --git a/contrib/refund/tests/recl_error1.json b/contrib/refund/tests/recl_error1.json
deleted file mode 100644 (file)
index 664374e..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-    "dossier": "A100323",
-    "mois": "2015-01"
-}
diff --git a/contrib/refund/tests/recl_error2.json b/contrib/refund/tests/recl_error2.json
deleted file mode 100644 (file)
index 25d29f6..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-    "dossier": "A100323",
-    "mois": "2015-01",
-    "reclamations": {
-        "1": {
-            "soin": 100,
-            "date": "2015-01-11",
-            "montant": "234.00$"
-        },
-        "2": {
-            "soin": 200,
-            "date": "2015-01-13",
-            "montant": "90.00$"
-        },
-        "3": {
-            "soin": 334,
-            "date": "2015-01-23",
-            "montant": "125.00$"
-        }
-    }
-}
diff --git a/contrib/refund/tests/recl_error3.json b/contrib/refund/tests/recl_error3.json
deleted file mode 100644 (file)
index eaeb509..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-{
-    "dossier": "A100323",
-    "mois": "2015-01",
-    "reclamations": [1, 2, 3]
-}
diff --git a/contrib/refund/tests/recl_error4.json b/contrib/refund/tests/recl_error4.json
deleted file mode 100644 (file)
index c1218bd..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-{
-    "dossier": "A100323",
-    "mois": "2015-01",
-    "reclamations": [
-        {},
-        {
-            "soin": 200,
-            "date": "2015-01-13",
-            "montant": "90.00$"
-        },
-        {
-            "soin": 334,
-            "date": "2015-01-23",
-            "montant": "125.00$"
-        }
-    ]
-}
diff --git a/contrib/refund/tests/recl_fees_error1.json b/contrib/refund/tests/recl_fees_error1.json
deleted file mode 100644 (file)
index 164d3f0..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-    "dossier": "A100323",
-    "mois": "2015-01",
-    "reclamations": [
-        {
-            "soin": 100,
-            "date": "2015-01-11"
-        },
-        {
-            "soin": 200,
-            "date": "2015-01-13",
-            "montant": "90.00$"
-        },
-        {
-            "soin": 334,
-            "date": "2015-01-23",
-            "montant": "125.00$"
-        }
-    ]
-}
diff --git a/contrib/refund/tests/recl_fees_error2.json b/contrib/refund/tests/recl_fees_error2.json
deleted file mode 100644 (file)
index 8bd0eb5..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-    "dossier": "A100323",
-    "mois": "2015-01",
-    "reclamations": [
-        {
-            "soin": 100,
-            "date": "2015-01-11",
-            "montant": "ABCD"
-        },
-        {
-            "soin": 200,
-            "date": "2015-01-13",
-            "montant": "90.00$"
-        },
-        {
-            "soin": 334,
-            "date": "2015-01-23",
-            "montant": "125.00$"
-        }
-    ]
-}
diff --git a/contrib/refund/tests/recl_fees_error3.json b/contrib/refund/tests/recl_fees_error3.json
deleted file mode 100644 (file)
index a51948e..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-    "dossier": "A100323",
-    "mois": "2015-01",
-    "reclamations": [
-        {
-            "soin": 100,
-            "date": "2015-01-11",
-            "montant": "234"
-        },
-        {
-            "soin": 200,
-            "date": "2015-01-13",
-            "montant": "90.00$"
-        },
-        {
-            "soin": 334,
-            "date": "2015-01-23",
-            "montant": "125.00$"
-        }
-    ]
-}
diff --git a/contrib/refund/tests/recl_fees_error4.json b/contrib/refund/tests/recl_fees_error4.json
deleted file mode 100644 (file)
index baf4d5b..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-    "dossier": "A100323",
-    "mois": "2015-01",
-    "reclamations": [
-        {
-            "soin": 100,
-            "date": "2015-01-11",
-            "montant": "234.00"
-        },
-        {
-            "soin": 200,
-            "date": "2015-01-13",
-            "montant": "90.00$"
-        },
-        {
-            "soin": 334,
-            "date": "2015-01-23",
-            "montant": "125.00$"
-        }
-    ]
-}
diff --git a/contrib/refund/tests/recl_soin_error1.json b/contrib/refund/tests/recl_soin_error1.json
deleted file mode 100644 (file)
index 35f0425..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-{
-    "dossier": "A100323",
-    "mois": "2015-01",
-    "reclamations": [
-        {
-            "date": "2015-01-11",
-            "montant": "234.00$"
-        },
-        {
-            "soin": 200,
-            "date": "2015-01-13",
-            "montant": "90.00$"
-        },
-        {
-            "soin": 334,
-            "date": "2015-01-23",
-            "montant": "125.00$"
-        }
-    ]
-}
diff --git a/contrib/refund/tests/recl_soin_error2.json b/contrib/refund/tests/recl_soin_error2.json
deleted file mode 100644 (file)
index 34ffd0b..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-    "dossier": "A100323",
-    "mois": "2015-01",
-    "reclamations": [
-        {
-            "soin": "200",
-            "date": "2015-01-11",
-            "montant": "234.00$"
-        },
-        {
-            "soin": 200,
-            "date": "2015-01-13",
-            "montant": "90.00$"
-        },
-        {
-            "soin": 334,
-            "date": "2015-01-23",
-            "montant": "125.00$"
-        }
-    ]
-}
diff --git a/contrib/refund/tests/recl_soin_error3.json b/contrib/refund/tests/recl_soin_error3.json
deleted file mode 100644 (file)
index acf7c8d..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-    "dossier": "A100323",
-    "mois": "2015-01",
-    "reclamations": [
-        {
-            "soin": 900,
-            "date": "2015-01-11",
-            "montant": "234.00$"
-        }
-    ]
-}
diff --git a/contrib/refund/tests/res/client_error1.res b/contrib/refund/tests/res/client_error1.res
deleted file mode 100644 (file)
index 379d67e..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "message": "Wrong format for `number` (expected XXXXXX got )"
-}
diff --git a/contrib/refund/tests/res/client_error2.res b/contrib/refund/tests/res/client_error2.res
deleted file mode 100644 (file)
index 0984ee4..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "message": "Wrong format for `number` (expected XXXXXX got 1003233)"
-}
diff --git a/contrib/refund/tests/res/client_error3.res b/contrib/refund/tests/res/client_error3.res
deleted file mode 100644 (file)
index 3490290..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "message": "Wrong format for `number` (expected XXXXXX got 10032A)"
-}
diff --git a/contrib/refund/tests/res/client_error4.res b/contrib/refund/tests/res/client_error4.res
deleted file mode 100644 (file)
index 975c246..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "message": "Wrong type for `dossier` (expected String got Int)"
-}
diff --git a/contrib/refund/tests/res/contractA1.res b/contrib/refund/tests/res/contractA1.res
deleted file mode 100644 (file)
index 4d0387b..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "dossier": "A100323",
-       "mois": "2015-01",
-       "remboursements": [{
-               "soin": 100,
-               "date": "2015-01-11",
-               "montant": "81.89$"
-       }, {
-               "soin": 200,
-               "date": "2015-01-13",
-               "montant": "22.50$"
-       }, {
-               "soin": 334,
-               "date": "2015-01-23",
-               "montant": "0.0$"
-       }],
-       "total": "104.39$"
-}
diff --git a/contrib/refund/tests/res/contractA2.res b/contrib/refund/tests/res/contractA2.res
deleted file mode 100644 (file)
index cb578a2..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "dossier": "A100323",
-       "mois": "2015-01",
-       "remboursements": [{
-               "soin": 0,
-               "date": "2015-01-11",
-               "montant": "50.0$"
-       }, {
-               "soin": 334,
-               "date": "2015-01-23",
-               "montant": "0.0$"
-       }, {
-               "soin": 600,
-               "date": "2015-01-13",
-               "montant": "36.0$"
-       }],
-       "total": "86.0$"
-}
diff --git a/contrib/refund/tests/res/contractA3.res b/contrib/refund/tests/res/contractA3.res
deleted file mode 100644 (file)
index 5cbc843..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-       "dossier": "A100323",
-       "mois": "2015-01",
-       "remboursements": [{
-               "soin": 150,
-               "date": "2015-01-11",
-               "montant": "0.0$"
-       }, {
-               "soin": 175,
-               "date": "2015-01-11",
-               "montant": "100.0$"
-       }],
-       "total": "100.0$"
-}
diff --git a/contrib/refund/tests/res/contractA4.res b/contrib/refund/tests/res/contractA4.res
deleted file mode 100644 (file)
index 5cbc843..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-       "dossier": "A100323",
-       "mois": "2015-01",
-       "remboursements": [{
-               "soin": 150,
-               "date": "2015-01-11",
-               "montant": "0.0$"
-       }, {
-               "soin": 175,
-               "date": "2015-01-11",
-               "montant": "100.0$"
-       }],
-       "total": "100.0$"
-}
diff --git a/contrib/refund/tests/res/contractA5.res b/contrib/refund/tests/res/contractA5.res
deleted file mode 100644 (file)
index d30e4ba..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-{
-       "dossier": "A100323",
-       "mois": "2015-01",
-       "remboursements": [{
-               "soin": 175,
-               "date": "2015-01-11",
-               "montant": "65.0$"
-       }, {
-               "soin": 175,
-               "date": "2015-01-14",
-               "montant": "65.0$"
-       }, {
-               "soin": 175,
-               "date": "2015-01-15",
-               "montant": "65.0$"
-       }, {
-               "soin": 175,
-               "date": "2015-01-17",
-               "montant": "5.0$"
-       }],
-       "total": "200.0$"
-}
diff --git a/contrib/refund/tests/res/contractB1.res b/contrib/refund/tests/res/contractB1.res
deleted file mode 100644 (file)
index 39a5161..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "dossier": "B100323",
-       "mois": "2015-01",
-       "remboursements": [{
-               "soin": 100,
-               "date": "2015-01-11",
-               "montant": "50.0$"
-       }, {
-               "soin": 200,
-               "date": "2015-01-13",
-               "montant": "90.0$"
-       }, {
-               "soin": 334,
-               "date": "2015-01-23",
-               "montant": "200.0$"
-       }],
-       "total": "340.0$"
-}
diff --git a/contrib/refund/tests/res/contractB2.res b/contrib/refund/tests/res/contractB2.res
deleted file mode 100644 (file)
index 559dcfd..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "dossier": "B100323",
-       "mois": "2015-01",
-       "remboursements": [{
-               "soin": 200,
-               "date": "2015-01-11",
-               "montant": "69.0$"
-       }, {
-               "soin": 400,
-               "date": "2015-01-13",
-               "montant": "0.0$"
-       }, {
-               "soin": 600,
-               "date": "2015-01-23",
-               "montant": "300.0$"
-       }],
-       "total": "369.0$"
-}
diff --git a/contrib/refund/tests/res/contractB3.res b/contrib/refund/tests/res/contractB3.res
deleted file mode 100644 (file)
index 3556ba0..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-       "dossier": "B100323",
-       "mois": "2015-01",
-       "remboursements": [{
-               "soin": 150,
-               "date": "2015-01-11",
-               "montant": "0.0$"
-       }, {
-               "soin": 175,
-               "date": "2015-01-11",
-               "montant": "150.0$"
-       }],
-       "total": "150.0$"
-}
diff --git a/contrib/refund/tests/res/contractB4.res b/contrib/refund/tests/res/contractB4.res
deleted file mode 100644 (file)
index 3556ba0..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-       "dossier": "B100323",
-       "mois": "2015-01",
-       "remboursements": [{
-               "soin": 150,
-               "date": "2015-01-11",
-               "montant": "0.0$"
-       }, {
-               "soin": 175,
-               "date": "2015-01-11",
-               "montant": "150.0$"
-       }],
-       "total": "150.0$"
-}
diff --git a/contrib/refund/tests/res/contractB5.res b/contrib/refund/tests/res/contractB5.res
deleted file mode 100644 (file)
index 9a31198..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-{
-       "dossier": "B100323",
-       "mois": "2015-01",
-       "remboursements": [{
-               "soin": 100,
-               "date": "2015-01-11",
-               "montant": "50.0$"
-       }, {
-               "soin": 100,
-               "date": "2015-01-11",
-               "montant": "50.0$"
-       }, {
-               "soin": 100,
-               "date": "2015-01-11",
-               "montant": "50.0$"
-       }, {
-               "soin": 100,
-               "date": "2015-01-11",
-               "montant": "50.0$"
-       }, {
-               "soin": 100,
-               "date": "2015-01-11",
-               "montant": "50.0$"
-       }, {
-               "soin": 100,
-               "date": "2015-01-11",
-               "montant": "0.0$"
-       }, {
-               "soin": 600,
-               "date": "2015-01-11",
-               "montant": "300.0$"
-       }],
-       "total": "550.0$"
-}
diff --git a/contrib/refund/tests/res/contractC1.res b/contrib/refund/tests/res/contractC1.res
deleted file mode 100644 (file)
index 42f11ed..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "dossier": "C100323",
-       "mois": "2015-01",
-       "remboursements": [{
-               "soin": 100,
-               "date": "2015-01-11",
-               "montant": "95.0$"
-       }, {
-               "soin": 334,
-               "date": "2015-01-13",
-               "montant": "180.0$"
-       }, {
-               "soin": 399,
-               "date": "2015-01-23",
-               "montant": "360.0$"
-       }],
-       "total": "635.0$"
-}
diff --git a/contrib/refund/tests/res/contractC2.res b/contrib/refund/tests/res/contractC2.res
deleted file mode 100644 (file)
index 1f8f2bf..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-       "dossier": "C100323",
-       "mois": "2015-01",
-       "remboursements": [],
-       "total": "0.0$"
-}
diff --git a/contrib/refund/tests/res/contractC3.res b/contrib/refund/tests/res/contractC3.res
deleted file mode 100644 (file)
index 8c4a0a6..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-       "dossier": "C100323",
-       "mois": "2015-01",
-       "remboursements": [{
-               "soin": 150,
-               "date": "2015-01-11",
-               "montant": "170.0$"
-       }, {
-               "soin": 175,
-               "date": "2015-01-11",
-               "montant": "180.0$"
-       }],
-       "total": "350.0$"
-}
diff --git a/contrib/refund/tests/res/contractD1.res b/contrib/refund/tests/res/contractD1.res
deleted file mode 100644 (file)
index b69ed8c..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "dossier": "D100323",
-       "mois": "2015-01",
-       "remboursements": [{
-               "soin": 100,
-               "date": "2015-01-11",
-               "montant": "75.0$"
-       }, {
-               "soin": 334,
-               "date": "2015-01-13",
-               "montant": "900.0$"
-       }, {
-               "soin": 600,
-               "date": "2015-01-23",
-               "montant": "100.0$"
-       }],
-       "total": "1075.0$"
-}
diff --git a/contrib/refund/tests/res/contractD2.res b/contrib/refund/tests/res/contractD2.res
deleted file mode 100644 (file)
index 2520f7f..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-{
-       "dossier": "D100323",
-       "mois": "2015-01",
-       "remboursements": [{
-               "soin": 200,
-               "date": "2015-01-11",
-               "montant": "69.0$"
-       }, {
-               "soin": 400,
-               "date": "2015-01-13",
-               "montant": "65.0$"
-       }, {
-               "soin": 600,
-               "date": "2015-01-23",
-               "montant": "100.0$"
-       }, {
-               "soin": 600,
-               "date": "2015-01-23",
-               "montant": "0.0$"
-       }],
-       "total": "234.0$"
-}
diff --git a/contrib/refund/tests/res/contractD3.res b/contrib/refund/tests/res/contractD3.res
deleted file mode 100644 (file)
index 2d00ee8..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "dossier": "D100323",
-       "mois": "2015-01",
-       "remboursements": [{
-               "soin": 200,
-               "date": "2015-01-11",
-               "montant": "69.0$"
-       }, {
-               "soin": 400,
-               "date": "2015-01-13",
-               "montant": "65.0$"
-       }, {
-               "soin": 600,
-               "date": "2015-01-23",
-               "montant": "100.0$"
-       }],
-       "total": "234.0$"
-}
diff --git a/contrib/refund/tests/res/contractD4.res b/contrib/refund/tests/res/contractD4.res
deleted file mode 100644 (file)
index 9f26bfe..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-       "dossier": "D100323",
-       "mois": "2015-01",
-       "remboursements": [{
-               "soin": 150,
-               "date": "2015-01-11",
-               "montant": "150.0$"
-       }, {
-               "soin": 175,
-               "date": "2015-01-11",
-               "montant": "190.0$"
-       }],
-       "total": "340.0$"
-}
diff --git a/contrib/refund/tests/res/contractE1.res b/contrib/refund/tests/res/contractE1.res
deleted file mode 100644 (file)
index 2f9d9c3..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "dossier": "E100323",
-       "mois": "2015-01",
-       "remboursements": [{
-               "soin": 100,
-               "date": "2015-01-11",
-               "montant": "58.50$"
-       }, {
-               "soin": 334,
-               "date": "2015-01-13",
-               "montant": "540.0$"
-       }, {
-               "soin": 600,
-               "date": "2015-01-23",
-               "montant": "15.0$"
-       }],
-       "total": "613.50$"
-}
diff --git a/contrib/refund/tests/res/contractE2.res b/contrib/refund/tests/res/contractE2.res
deleted file mode 100644 (file)
index 5bb6f4d..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "dossier": "E100323",
-       "mois": "2015-01",
-       "remboursements": [{
-               "soin": 200,
-               "date": "2015-01-11",
-               "montant": "8.27$"
-       }, {
-               "soin": 400,
-               "date": "2015-01-13",
-               "montant": "15.0$"
-       }, {
-               "soin": 600,
-               "date": "2015-01-23",
-               "montant": "60.0$"
-       }],
-       "total": "83.27$"
-}
diff --git a/contrib/refund/tests/res/contractE3.res b/contrib/refund/tests/res/contractE3.res
deleted file mode 100644 (file)
index f28adb2..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-       "dossier": "E100323",
-       "mois": "2015-01",
-       "remboursements": [{
-               "soin": 200,
-               "date": "2015-01-11",
-               "montant": "8.27$"
-       }, {
-               "soin": 400,
-               "date": "2015-01-13",
-               "montant": "15.0$"
-       }, {
-               "soin": 500,
-               "date": "2015-01-23",
-               "montant": "20.0$"
-       }],
-       "total": "43.27$"
-}
diff --git a/contrib/refund/tests/res/contractE4.res b/contrib/refund/tests/res/contractE4.res
deleted file mode 100644 (file)
index 961ec12..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-       "dossier": "E100323",
-       "mois": "2015-01",
-       "remboursements": [{
-               "soin": 150,
-               "date": "2015-01-11",
-               "montant": "30.0$"
-       }, {
-               "soin": 175,
-               "date": "2015-01-11",
-               "montant": "20.0$"
-       }],
-       "total": "50.0$"
-}
diff --git a/contrib/refund/tests/res/contract_error1.res b/contrib/refund/tests/res/contract_error1.res
deleted file mode 100644 (file)
index dd8b5e7..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "message": "Wrong contract (expected A, B, C, D or E got 1)"
-}
diff --git a/contrib/refund/tests/res/contract_error2.res b/contrib/refund/tests/res/contract_error2.res
deleted file mode 100644 (file)
index c6b464a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "message": "Wrong contract (expected A, B, C, D or E got a)"
-}
diff --git a/contrib/refund/tests/res/contract_error3.res b/contrib/refund/tests/res/contract_error3.res
deleted file mode 100644 (file)
index c009811..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "message": "Wrong contract (expected A, B, C, D or E got Z)"
-}
diff --git a/contrib/refund/tests/res/contract_error4.res b/contrib/refund/tests/res/contract_error4.res
deleted file mode 100644 (file)
index dd8b5e7..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "message": "Wrong contract (expected A, B, C, D or E got 1)"
-}
diff --git a/contrib/refund/tests/res/dossier_error1.res b/contrib/refund/tests/res/dossier_error1.res
deleted file mode 100644 (file)
index 8af54e2..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "message": "Malformed input (missing key dossier)"
-}
diff --git a/contrib/refund/tests/res/json_error1.res b/contrib/refund/tests/res/json_error1.res
deleted file mode 100644 (file)
index e7eb308..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "message": "Wrong input file (Empty JSON)"
-}
diff --git a/contrib/refund/tests/res/json_error2.res b/contrib/refund/tests/res/json_error2.res
deleted file mode 100644 (file)
index 9a451f7..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "message": "Wrong input type (expected JsonObject got JsonArray)"
-}
diff --git a/contrib/refund/tests/res/json_error3.res b/contrib/refund/tests/res/json_error3.res
deleted file mode 100644 (file)
index 83de0af..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "message": "Wrong input file (Malformed JSON object)"
-}
diff --git a/contrib/refund/tests/res/month_error1.res b/contrib/refund/tests/res/month_error1.res
deleted file mode 100644 (file)
index 57810ce..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "message": "Malformed input (missing key mois)"
-}
diff --git a/contrib/refund/tests/res/month_error2.res b/contrib/refund/tests/res/month_error2.res
deleted file mode 100644 (file)
index 16557d6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "message": "Wrong type for `mois` (expected String got Int)"
-}
diff --git a/contrib/refund/tests/res/month_error3.res b/contrib/refund/tests/res/month_error3.res
deleted file mode 100644 (file)
index 095cc23..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "message": "Wrong format for `mois` (expected AAAA-MM got 2015/01)"
-}
diff --git a/contrib/refund/tests/res/month_error4.res b/contrib/refund/tests/res/month_error4.res
deleted file mode 100644 (file)
index a81529d..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "message": "Wrong format for `mois` (expected AAAA-MM got 2015-23)"
-}
diff --git a/contrib/refund/tests/res/recl_date_error1.res b/contrib/refund/tests/res/recl_date_error1.res
deleted file mode 100644 (file)
index 307401c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "message": "Malformed input (missing key date)"
-}
diff --git a/contrib/refund/tests/res/recl_date_error2.res b/contrib/refund/tests/res/recl_date_error2.res
deleted file mode 100644 (file)
index 298068d..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "message": "Wrong format for `date` (expected AAAA-MM-DD got 2015/01/11)"
-}
diff --git a/contrib/refund/tests/res/recl_date_error3.res b/contrib/refund/tests/res/recl_date_error3.res
deleted file mode 100644 (file)
index e8a33ce..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "message": "Wrong format for `mois` (expected AAAA-MM got 2015-13-32)"
-}
diff --git a/contrib/refund/tests/res/recl_date_error4.res b/contrib/refund/tests/res/recl_date_error4.res
deleted file mode 100644 (file)
index 6e3f2ca..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "message": "Wrong `mois` for `soin` with id `100`"
-}
diff --git a/contrib/refund/tests/res/recl_error1.res b/contrib/refund/tests/res/recl_error1.res
deleted file mode 100644 (file)
index c4e34c8..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "message": "Malformed input (missing key reclamations)"
-}
diff --git a/contrib/refund/tests/res/recl_error2.res b/contrib/refund/tests/res/recl_error2.res
deleted file mode 100644 (file)
index 5716df8..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "message": "Wrong type for `number` (expected JsonArray got JsonObject)"
-}
diff --git a/contrib/refund/tests/res/recl_error3.res b/contrib/refund/tests/res/recl_error3.res
deleted file mode 100644 (file)
index e8f5c80..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "message": "Wrong type for `reclamations#0` (expected JsonObject got Int)"
-}
diff --git a/contrib/refund/tests/res/recl_error4.res b/contrib/refund/tests/res/recl_error4.res
deleted file mode 100644 (file)
index 74de465..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "message": "Malformed input (missing key soin)"
-}
diff --git a/contrib/refund/tests/res/recl_fees_error1.res b/contrib/refund/tests/res/recl_fees_error1.res
deleted file mode 100644 (file)
index beebcee..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "message": "Malformed input (missing key montant)"
-}
diff --git a/contrib/refund/tests/res/recl_fees_error2.res b/contrib/refund/tests/res/recl_fees_error2.res
deleted file mode 100644 (file)
index 09232e5..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "message": "Wrong format for `montant` (expected XX.XX$ got ABCD)"
-}
diff --git a/contrib/refund/tests/res/recl_fees_error3.res b/contrib/refund/tests/res/recl_fees_error3.res
deleted file mode 100644 (file)
index 1679482..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "message": "Wrong format for `montant` (expected XX.XX$ got 234)"
-}
diff --git a/contrib/refund/tests/res/recl_fees_error4.res b/contrib/refund/tests/res/recl_fees_error4.res
deleted file mode 100644 (file)
index 1ee1660..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "message": "Wrong format for `montant` (expected XX.XX$ got 234.00)"
-}
diff --git a/contrib/refund/tests/res/recl_soin_error1.res b/contrib/refund/tests/res/recl_soin_error1.res
deleted file mode 100644 (file)
index 74de465..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "message": "Malformed input (missing key soin)"
-}
diff --git a/contrib/refund/tests/res/recl_soin_error2.res b/contrib/refund/tests/res/recl_soin_error2.res
deleted file mode 100644 (file)
index e57a13e..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "message": "Wrong type for `soin` (expected Int got ASCIIFlatString)"
-}
diff --git a/contrib/refund/tests/res/recl_soin_error3.res b/contrib/refund/tests/res/recl_soin_error3.res
deleted file mode 100644 (file)
index 3f38e32..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-       "message": "Unknown `soin` with id `900`"
-}
diff --git a/contrib/refund/tests/tests.sh b/contrib/refund/tests/tests.sh
deleted file mode 100755 (executable)
index 3f1a211..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-#!/bin/bash
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Copyright 2015 Alexandre Terrasa <alexandre@moz-code.org>.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-BIN=../bin
-OUT=out
-RES=res
-
-# Execute test with name $1.
-run_test()
-{
-       local test="$1"
-       $BIN/refund $test.json $OUT/$test.res > $OUT/$test.out 2> $OUT/$test.err
-       diff $OUT/$test.res $RES/$test.res > $OUT/$test.diff 2> /dev/null
-}
-
-# Return
-#  0 if the sav not exists
-#  1 if the file does match
-#  2 if the file does not match
-check_result() {
-       local test="$1"
-
-       if [ ! -r "$RES/$test.res" ]; then
-               return 0
-       elif [ ! -s $OUT/$test.diff ]; then
-               return 1
-       else
-               return 2
-       fi
-}
-
-echo "Testing..."
-echo ""
-
-rm -rf $OUT 2>/dev/null
-mkdir $OUT 2>/dev/null
-
-all=0
-ok=0
-ko=0
-sk=0
-
-for file in `ls *.json`; do
-       ((all++))
-       test="${file%.*}"
-       echo -n "* $test: "
-
-       run_test $test
-       check_result $test
-
-       case "$?" in
-               0)
-                       echo "skip ($test.res not found)"
-                       ((sk++))
-                       continue;;
-               1)
-                       echo "success"
-                       ((ok++))
-                       ;;
-               2)
-                       echo "error (diff $OUT/$test.res $RES/$test.res)"
-                       ((ko++))
-                       ;;
-       esac
-done
-
-# clear tmp stats file.
-rm stats.json
-
-echo ""
-echo "==> success $ok/$all ($ko tests failed, $sk skipped)"
-
-# return result
-test "$ok" == "$all"
diff --git a/contrib/wiringPi/README.md b/contrib/wiringPi/README.md
deleted file mode 100644 (file)
index 1085abb..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-# wiringPi nit wrapper
-
-## Installation
-
-You need to install the [wiringPi library](http://wiringpi.com/). Refer to [download and install](http://wiringpi.com/download-and-install/) manual.
-
-## Compiling
-
-Link to the library must be passed to nit compiler:
-
-       nitc myprogram.nit --cc-lib-name wiringPi
-
-## Usage
-
-You first need to initialize the wiringPi library using a setup methods.
-
-Setup methods are:
-
-* `wiringPi_setup`: This initialises wiringPi and assumes that the calling program is going to be using the wiringPi pin numbering scheme;
-* `wiringPi_setup_gpio`: Same as wiringPi_setup, however it allows the calling programs to use the Broadcom GPIO pin numbers directly with no re-mapping;
-* `wiringPi_setup_phys`: Identical to wiringPi_setup, however it allows the calling programs to use the physical pin numbers on the P1 connector only;
-* `wiringPi_setup_sys`: This initialises wiringPi but uses the /sys/class/gpio interface rather than accessing the hardware directly;
-
-For example:
-
-       # init wiringPi lib with gpio output
-       wiringPi_set_gpio
-
-Then you can refer to a GPIO Pin using its id:
-
-       var pin = new RPIPin(23)
-
-Before read or write a value on a pin you need to set its mode.
-
-Modes are:
-
-* INPUT
-* OUTPUT
-* PWM_OUTPUT
-* GPIO_CLOCK
-
-Note that only wiringPi pin 1 (BCM\_GPIO 18) supports PWM output and only wiringPi pin 7 (BCM\_GPIO 4) supports CLOCK output modes.
-
-       pin.mode(new RPIPinMode.output_mode)
-
-You can then `write` or `read` a value from the pin:
-
-       pin.write(true)
-       pin.read
-
-## Copyrigth
-
-The wiringPi library is released under [GNU LGPLv3](http://www.gnu.org/copyleft/lesser.html) licence.
-
diff --git a/contrib/wiringPi/examples/blink.nit b/contrib/wiringPi/examples/blink.nit
deleted file mode 100644 (file)
index 399f4f6..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Copyright 2013 Alexandre Terrasa <alexandre@moz-code.org>
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-module blink is example
-
-import wiringPi
-
-if args.length != 1 then
-       print "usage: blink pin_id"
-       exit(1)
-end
-
-# init wiringPi lib
-wiringPi_setup
-
-# init the pin
-var id = args.first.to_i
-var pin = new RPiPin(id)
-pin.mode(new RPiPinMode.output_mode)
-
-# blink
-loop
-       pin.write(true)
-       nanosleep(1, 0)
-       pin.write(false)
-       nanosleep(1, 0)
-end
diff --git a/contrib/wiringPi/examples/read.nit b/contrib/wiringPi/examples/read.nit
deleted file mode 100644 (file)
index 568b2fb..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Copyright 2013 Alexandre Terrasa <alexandre@moz-code.org>
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-module read is example
-
-import wiringPi
-
-if args.length != 1 then
-       print "usage: blink pin_id"
-       exit(1)
-end
-
-# init wiringPi lib
-wiringPi_setup
-
-# init the pin
-var id = args.first.to_i
-var pin = new RPiPin(id)
-pin.mode(new RPiPinMode.input_mode)
-
-# listen
-loop
-       print pin.read
-       nanosleep(1, 0)
-end
diff --git a/contrib/wiringPi/examples/shift.nit b/contrib/wiringPi/examples/shift.nit
deleted file mode 100644 (file)
index 35101fa..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Copyright 2013 Alexandre Terrasa <alexandre@moz-code.org>
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-module shift is example
-
-import wiringPi
-
-if args.is_empty or args.length > 2 then
-       print "usage:"
-       print "\tshift <register> <state>"
-       print "\tshift clear"
-       print "\tshift all"
-       exit(1)
-end
-
-# init wiringPi lib
-wiringPi_setup
-
-# register layout and pin numbering
-var nb_pins = 8
-var ser_pin = 7
-var rclk_pin = 6
-var srclk_pin = 5
-var sr = new SR595(nb_pins, ser_pin, rclk_pin, srclk_pin)
-
-# set all registers to 0
-if args.first == "clear" then
-       sr.clear_registers
-# set all registers to 1
-else if args.first == "all" then
-       var regs = new Array[Bool].filled_with(true, nb_pins)
-       sr.clear_registers
-       sr.write_all(regs)
-# set specified register to specified value
-else
-       if args[1].to_i == 0 then
-               sr.write(args.first.to_i, false)
-       else
-               sr.write(args.first.to_i, true)
-       end
-end
diff --git a/contrib/wiringPi/lib/wiringPi.nit b/contrib/wiringPi/lib/wiringPi.nit
deleted file mode 100644 (file)
index d21cbbb..0000000
+++ /dev/null
@@ -1,167 +0,0 @@
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Copyright 2013 Alexandre Terrasa <alexandre@moz-code.org>
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Nit wrapping of the wiringPi library [http://wiringpi.com/]
-# WiringPi is an Arduino wiring-like library written in C
-# and released under the GNU LGPLv3 license which is usable
-# from C and C++ and many other languages with suitable wrappers
-module wiringPi
-
-in "C Header" `{
-       #include <wiringPi.h>
-
-       typedef struct {
-               int id;
-       } CRPiPin;
-`}
-
-
-# Initializes wiringPi.
-# Assumes that the calling program is going to be using the wiringPi pin numbering scheme.
-fun wiringPi_setup `{ wiringPiSetup(); `}
-
-# Same as wiringPi_setup, but with GPIO.
-# It allows the calling programs to use the Broadcom GPIO pin numbers directly with no re-mapping.
-fun wiringPi_setup_gpio `{ wiringPiSetupGpio(); `}
-
-# Same as to wiringPi_setup, but with physical pin numbers.
-# It allows the calling programs to use the physical pin numbers on the P1 connector only.
-fun wiringPi_setup_phys `{ wiringPiSetupPhys(); `}
-
-# This initializes wiringPi, but with the /sys/class/gpio interface.
-# Use `/sys/class/gpio` rather than accessing the hardware directly.
-fun wiringPi_setup_sys `{ wiringPiSetupSys(); `}
-
-# A Raspberry Pi GPIO Pin
-extern class RPiPin `{ CRPiPin *`}
-       new (id: Int) `{
-               CRPiPin *pin = malloc( sizeof(CRPiPin) );
-               pin->id = id;
-               return pin;
-       `}
-
-       # The pin `id` depends on wiringPi setup used
-       fun id: Int `{ return self->id; `}
-
-       # Sets the mode of the pin
-       fun mode(mode: RPiPinMode) `{ pinMode(self->id, mode); `}
-
-       # This sets the pull-up or pull-down resistor mode on the given pin,
-       # which should be set as an input.
-       fun pullup_dncontrol(pud: PUDControl) `{ pullUpDnControl(self->id, pud); `}
-
-       # Writes the value HIGH or LOW (true or false) to the given pin which must
-       # have been previously set as an output.
-       fun write(high: Bool) `{ digitalWrite(self->id, high? HIGH: LOW); `}
-
-       # Writes the value to the PWM register for the given pin.
-       # The Raspberry Pi has one on-board PWM pin, pin 1 (BMC_GPIO 18, Phys 12)
-       # and the range is 0-1024.
-       # Other PWM devices may have other PWM ranges.
-       fun pwm_write(value: Int) `{ pwmWrite(self->id, value); `}
-
-       # This function returns the value read at the given pin.
-       # It will be HIGH or LOW (true or false) depending on the logic level at the pin.
-       fun read: Bool `{ return digitalRead(self->id) == HIGH? true: false; `}
-end
-
-# RPI Pin modes
-# Modes are:
-# * INPUT
-# * OUTPUT
-# * PWM_OUTPUT
-# * GPIO_CLOCK
-# Note that only wiringPi pin 1 (BCM_GPIO 18) supports PWM output
-# and only wiringPi pin 7 (BCM_GPIO 4) supports CLOCK output modes.
-extern class RPiPinMode `{ int `}
-       new input_mode `{ return INPUT; `}
-       new output_mode `{ return OUTPUT; `}
-       new pwm_mode `{ return PWM_OUTPUT; `}
-       new clock_mode `{ return GPIO_CLOCK; `}
-end
-
-# The BCM2835 has both pull-up an down internal resistors.
-# The parameter pud should be:
-# * PUD_OFF, (no pull up/down)
-# * PUD_DOWN (pull to ground)
-# * PUD_UP (pull to 3.3v)
-# The internal pull up/down resistors have a value of approximately
-# 50Kohms on the Raspberry Pi.
-extern class PUDControl `{ int `}
-       new off `{ return PUD_OFF; `}
-       new down `{ return PUD_DOWN; `}
-       new up `{ return PUD_UP; `}
-end
-
-# Abstraction a daisy chain of 74×595 shift registers
-class SR595
-       private var registers: Array[Bool]
-       private var nb_pins: Int
-       private var ser: RPiPin
-       private var rclk: RPiPin
-       private var srclk: RPiPin
-
-       # Initialize a new shift register chain
-       # `nb_pins`: number of pins available
-       # `ser_pin`: SER (serial) pin id
-       # `rclk_pin`: RCLK (register clock) pin id
-       # `srclk_pin`: SRCLK (serial clock) pin id
-       init(nb_pins, ser_pin, rclk_pin, srclk_pin: Int) do
-               # configure pin layout
-               self.nb_pins = nb_pins
-               self.ser = new RPiPin(7)
-               self.rclk = new RPiPin(6)
-               self.srclk = new RPiPin(5)
-               clear_registers
-               # enable output mode on shift register output
-               ser.mode(new RPiPinMode.output_mode)
-               rclk.mode(new RPiPinMode.output_mode)
-               srclk.mode(new RPiPinMode.output_mode)
-       end
-
-       # write 'state' on register 'reg'
-       fun write(reg: Int, state: Bool) do
-               registers[reg] = state
-               write_registers
-       end
-
-       # write all registers
-       fun write_all(regs: Array[Bool]) do
-               assert regs.length == nb_pins
-               registers = regs
-               write_registers
-       end
-
-       # clear all registers
-       fun clear_registers do
-               registers = new Array[Bool].filled_with(false, nb_pins)
-               write_registers
-       end
-
-       private fun write_registers do
-               rclk.write(false)
-               var i = registers.length - 1
-               while i >= 0 do
-                       var reg = registers[i]
-                       srclk.write(false)
-                       ser.write(reg)
-                       srclk.write(true)
-                       i -= 1
-               end
-               rclk.write(true)
-       end
-end
-
diff --git a/contrib/wiringPi/package.ini b/contrib/wiringPi/package.ini
deleted file mode 100644 (file)
index a5d2eb8..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-[package]
-name=wiringPi
-tags=embedded,wrapper
-maintainer=Alexandre Terrasa <alexandre@moz-code.org>
-license=Apache-2.0
-desc=wiringPi nit wrapper
-[upstream]
-browse=https://github.com/nitlang/nit/tree/master/contrib/wiringPi/
-git=https://github.com/nitlang/nit.git
-git.directory=contrib/wiringPi/
-homepage=http://nitlanguage.org
-issues=https://github.com/nitlang/nit/issues
diff --git a/doc/manual/.gitignore b/doc/manual/.gitignore
new file mode 100644 (file)
index 0000000..07784df
--- /dev/null
@@ -0,0 +1,7 @@
+blank
+nitreference.aux
+nitreference.epub
+nitreference.log
+nitreference-main.md
+nitreference-main.tex
+nitreference.pdf
diff --git a/doc/manual/Makefile b/doc/manual/Makefile
new file mode 100644 (file)
index 0000000..8e54885
--- /dev/null
@@ -0,0 +1,2 @@
+nitreference.pdf: *.md
+       ./makedoc.sh
diff --git a/doc/manual/attribute.md b/doc/manual/attribute.md
new file mode 100644 (file)
index 0000000..e9741e9
--- /dev/null
@@ -0,0 +1,59 @@
+# Attributes
+
+`var`, used inside concrete and abstract classes, declares attributes. Attributes require a static type and can possibly have an initial value (it may be any kind of expression, even including
+`self`)
+
+~~~
+class Foo
+    var i: Int = 5
+    fun dec(x: Int)
+    do
+        var k = self.i
+        if k > x then self.i = k - x else self.i = 0
+    end
+end
+~~~
+
+Note that from an API point of view, there is no way to distinguish the read access of an attribute with a normal method neither to distinguish a write access of an attribute with a setter. Therefore, the read access of an attribute is called a getter while the write access is called a setter.
+
+~~~
+var x = foo.bar # Is bar an attribute or a method?
+foo.bar = y # Is bar an attribute or a setter?
+# In fact, we do not need to know.
+~~~
+
+## Visibility of Attributes
+
+By default, a getter is public and a setter is private. The visibility of getters can be precised with the `private` or `protected` keywords. The visibility of setters can be specified with an
+additional `writable` keyword.
+
+~~~
+class Foo
+    var pub_pri: X
+    protected var pro_pri: X
+    var pub_pub: X is writable
+    private var pri_pro: X is protected writable
+    var pub_pri2: X is private writable # the default
+end
+~~~
+
+## Redefinition of Attributes
+
+Getters and setters of attributes behave like genuine methods that can be inherited and redefined. Getters and setters can also redefine inherited methods. `redef var` declares that the getter is
+a redefinition while `redef writable` declares that the setter is a redefinition.
+
+~~~
+interface Foo
+    fun derp: Int is abstract
+    fun derp=(o: Int) is abstract
+end
+class Bar
+    super Foo
+    redef var derp: Int redef writable
+end
+class Baz
+    super Bar
+    redef fun derp do ...
+    redef fun derp=(o) do ...
+end
+~~~
diff --git a/doc/manual/basic_type.md b/doc/manual/basic_type.md
new file mode 100644 (file)
index 0000000..a94912f
--- /dev/null
@@ -0,0 +1,153 @@
+# Basic Types
+
+## Object
+
+Nit is a full object language. Every value is an instance of a
+class. Even the basic types described in this section.
+
+`Object` is the root of the class hierarchy. All other classes,
+including the basic ones, are a specialization of `Object`.
+
+Classes, methods and operators presented in this section are defined in
+the standard Nit library that is implicitly imported by every module.
+Many other classes and methods are also defined in the standard library.
+Please look at the specific standard library documentation for all
+details.
+
+## Int and Float
+
+`1`, `-1` are `Int` literals, and `1.0`, `-0.1` are `Float`
+literals. Standard arithmetic operators are available with a common
+precedence rules: `*`, `/`, and `%` (modulo) ; then `+` and `-`. Some
+operators can be composed with the assignment (`=`).
+
+~~~
+var i = 5
+i += 2
+print i # outputs 7
+~~~
+
+Conversion from `Int` to `Float` and `Float` to `Int` must be done with
+the `to_f` and `to_i` methods.
+
+## String
+
+Literal strings are enclosed within quotes (`"`).
+To insert a value
+inside a literal string, include the values inside braces (`{}`).
+Braces has to be escaped.
+`+` is the concatenation operator but is less efficient than the brace form.
+
+~~~
+var j = 5
+print "j={j}; j+1={j+1}" # outputs "j=5; j+1=6"
+~~~
+
+Common escaping sequences are available (`\"`, `\n`, `\t`, etc.) plus the escaped brace `\{`.
+
+~~~
+print "hel\"lo\nwo\{rld"
+# outputs `hel"lo` on a first line
+# and `wo{rld` on a second line
+~~~
+
+Multi-line strings are enclosed with triple quotes (`"""`).
+Values are inserted with a triple braces (`{{{value}}}`).
+The multi-line form thus allows verbatim new-lines, quotes and braces
+
+~~~
+print """some text
+with line breaks
+and characters like " and {
+but {{{ 1+2 }}} is rendered as 3
+"""
+~~~
+
+All objects have a `to_s` method that converts the object to a String.
+`print` is a top-level method that takes any number of arguments and
+prints to the standard output. `print` always add a newline, another
+top-level method, `printn`, does not add the newline.
+
+~~~
+var x: String
+x = 5.to_s # -> the String "5"
+print x # outputs "5"
+~~~
+
+## Bool
+
+`true` and `false` are the only two `Bool` values. Standard
+Boolean operators are available with the standard precedence rule:
+`not`; then `and`; then `or`.
+
+Common comparison operators are available: `==` and `!=` on all objects;
+`<`, `>`, `<=`, `>=` and `<=>` on `Comparable` objects (which include
+`Int`, `String` and others).
+
+- `==`, `<`, `>`, `<=`, `>=` and `<=>` are standard Nit operators (so they are redefinable).
+
+- `and`, `or` and `not` are not standard Nit operators: they are not
+  redefinable, also they are lazy and have adaptive typing flow
+  effects.
+
+- `==` is not for reference equality but for value equality (like
+  `equals` in Java). There is a special reference equality operator,
+  `is`, but it cannot be redefined and its usage is not recommended.
+  Note also that while `==` is redefinable, it has a special adaptive
+  typing flow effect when used with `null`.
+
+- `!=` is not a standard Nit operator. In fact `x != y` is
+  syntactically equivalent to `not x == y`.
+
+## Array
+
+`Array` is a generic class, thus `Array[Int]` denotes an array
+of integers and `Array[Array[Bool]]` denotes an array of array of
+Booleans. Literal arrays can be declared with the bracket notation
+(`[]`). Empty arrays can also be instantiated with the `new` keyword and
+elements added with the `add` method. Elements can be retrieved or
+stored with the bracket operator.
+
+~~~
+var a = [1, 2, 3, 4] # A literal array of integers
+print a.join(":") # outputs "1:2:3:4"
+var b = new Array[Int] # A new empty array of integers
+b.add(10)
+b.add_all(a)
+b.add(20)
+print b[0] # outputs "10"
+print b.length # outputs "6"
+b[1] = 30
+print b.join(", ") # outputs "10, 30, 2, 3, 4, 20"
+~~~
+
+Note that the type of literal arrays is deduced using the static type
+combination rule.
+
+## Range
+
+`Range` is also a generic class but accepts only `Discrete`
+types (`Int` is discrete). There are two kinds of literal ranges, the
+open one `[1..5[` that excludes the last element, and the closed one
+`[1..5]` that includes it.
+
+~~~
+print([1..5[.join(":")) # outputs "1:2:3:4"
+print([1..5].join(":")) # outputs "1:2:3:4:5"
+~~~
+
+Ranges are mainly used in `for` loops.
+
+## HashMap
+
+`HashMap` is a generic class that associates keys with values.
+There is no literal hashmap, therefore the `new` keyword is used to
+create an empty `HashMap` and the bracket operators are used to store
+and retrieve values.
+
+~~~
+var h = new HashMap[String, Int]
+# h associates strings to integers
+h["six"] = 6
+print h["six"] + 1 # outputs "7"
+~~~
diff --git a/doc/manual/class.md b/doc/manual/class.md
new file mode 100644 (file)
index 0000000..b778c43
--- /dev/null
@@ -0,0 +1,49 @@
+# Classes
+
+`interface`, `abstract class`, `class` and `enum` are the four kinds of classes. All these classes can be in multiple inheritance, can define new methods and redefine inherited method (yes, even interfaces).
+
+Here are the differences:
+
+-   interfaces can only specialize other interfaces, cannot have     attributes, cannot have constructors, cannot be instantiated.
+
+-   abstract classes cannot specialize enums, can have attributes, must have constructors, cannot be instantiated.
+
+-   concrete classes (i.e. `class`) cannot specialize enums, can have attributes, must have constructors, can be instantiated.
+
+-   enums (e.g. `Int` or `Bool`) can only specialize interfaces, cannot have attributes, cannot have constructors, have proper instances but they are not instantiated by the programmer—it means no `new Int`. Note that at this point there is no user-defined enums.
+
+All kinds of classes must have a name, can have some superclasses and can have some definitions of properties. Properties are methods, attributes, constructors and virtual types. All kinds of classes can also be generic. When we talk about “classes” in general, it means all these four kinds. We say “concrete classes” to designate only the classes declared with the `class` keyword alone.
+
+## Class Specialization
+
+`super` declares superclasses. Classes inherit methods, attributes and virtual-types defined in their superclasses. Currently, constructors are inherited in a specific manner.
+
+`Object` is the root of the class hierarchy. It is an interface and all other kinds of classes are implicitly a subclass of `Object`.
+
+There is no repeated inheritance nor private inheritance. The specialization between classes is transitive, therefore `super` declarations are superfluous (thus ignored).
+
+## Class Refinement
+
+`redef` allows modules to refine imported classes (even basic ones). Refining a class means:
+
+-   adding new properties: methods, attributes, constructors, virtual types;
+
+-   redefining existing properties: methods and constructors;
+
+-   adding new superclasses.
+
+Note that the kind or the visibility of a class cannot be changed by a refinement. Therefore, it is allowed to just write `redef class X` whatever is the kind or the visibility of `X`.
+
+In programs, the real instantiated classes are always the combination of all their refinements.
+
+~~~
+redef class Int
+    fun fib: Int
+    do
+        if self < 2 then return self
+        return (self-1).fib + (self-2).fib
+    end
+end
+# Now all integers have the fib method
+print 15.fib # outputs 610
+~~~
diff --git a/doc/manual/constructor.md b/doc/manual/constructor.md
new file mode 100644 (file)
index 0000000..39bfe53
--- /dev/null
@@ -0,0 +1,196 @@
+# Constructors
+
+Constructors in Nit behave differently.
+
+Their objective is double :
+
+* be compatible with full multiple-inheritance
+* be simple enough to be KISS and compatible with the principle of least surprise.
+
+
+## `new` construction and simple classes
+
+Classes in OO models are often a simple aggregates of attributes and methods.
+
+By default, the `new` construction require a value for each attribute defined in a class without a default value.
+
+~~~
+class Product
+       var id: String
+       var description: String
+       var price: Float
+end
+var p = new Product("ABC", "Bla bla", 15.95)
+assert p.id == "ABC"
+~~~
+
+In subclasses, additional attributes are automatically collected.
+
+~~~
+class Book
+       super Product
+       var author: String
+end
+
+var book = new Book("ABC", "Bla bla", 15.95, "John Doe")
+~~~
+
+
+## special `init` method
+
+The special init method is automatically invoked after the end of a `new` construction.
+It is used to perform additional systematic tasks.
+
+Because the `init` is run at the end of the initialization sequence, initialized attributes are usable in the body.
+
+~~~
+class OverpricedProduct
+       super Product
+       init
+       do
+               price = price * 10.0
+       end
+end
+var op = new OverpricedProduct("ABC", "Bla bla", 15.95)
+assert op.price == 159.50
+~~~
+
+
+## Uncollected attributes
+
+There is three cases for an attributes to not be collected in the `new`.
+
+* Attributes with a default value
+* Attributes with the annotation `noinit`
+* Attributes introduced in refinement of classes
+
+~~~
+class TaxedProduct
+       super Product
+       var tax_rate = 9.90
+       var total_price: Float is noinit
+       init
+       do
+               total_price = price * (1.0 + tax_rate/100.0)
+       end
+end
+var tp = new TaxedProduct("ABC", "Bla bla", 15.95)
+assert tp.total_price == 17.52905
+~~~
+
+Note: The orchestration here is important. In order, the following is executed:
+
+1. All defauts values are computed and set
+2. Setters are invoked.
+3. `init` is invoked.
+
+Therefore, `total_price` cannot be initialised with a default value, because at the time of the computation of the default values, the attribute `price` in not yet initialised.
+
+
+## Generalized initializers
+
+Initializers are methods that are automatically invoked by the new.
+In fact, by default, the setter of an attribute is used as a initializer.
+
+`autoinit` is used to register a method as a setter.
+
+~~~
+class FooProduct
+       super Product
+       fun set_xy(x, y: Int) is autoinit do z = x * 10 + y
+       var z: Int is noinit
+end
+var fp = new FooProduct("ABC", "Bla bla", 15.96, 1, 3)
+assert fp.z == 13
+~~~
+
+Generalized setters are a powerful tool but often needed in only rare specific cases.
+In most case, there is no reason that an argument of a `new` construction is not stored in the object as a real attribute.
+
+
+## Inheritance
+
+As explained above, one of the main advantage of these constructors is their compatibility with multiple inheritance.
+
+~~~
+class MultiProduct
+       super OverpricedProduct
+       super TaxedProduct
+       super FooProduct
+end
+var mp = new MultiProduct("ABC", "Bla bla", 15.96, 1, 3)
+assert mp.id == "ABC"
+assert mp.price == 159.6
+assert mp.total_price == 175.4
+assert mp.z == 13
+~~~
+
+
+## Named init
+
+Named `init` are less flexible trough inheritance, thus should no be used.
+They allow to have additional constructor for classes and more control in the construction mechanism.
+
+~~~
+class Point
+       var x: Float
+       var y: Float
+
+       init origin
+       do
+               init(0.0, 0.0)
+       end
+
+       init polar(r, phi: Float)
+       do
+               var x = r * phi.cos
+               var y = r * phi.sin
+               init(x, y)
+       end
+
+       redef fun to_s do return "({x},{y})"
+end
+var p1 = new Point(1.0, 2.0)
+assert p1.to_s ==  "(1,2)"
+var p2 = new Point.origin
+assert p2.to_s ==  "(0,0)"
+var p3 = new Point.polar(1.0, 2.0)
+assert p3.to_s ==  "(-0.4161,0.9092)"
+~~~
+
+
+## Legacy `init`
+
+nameless `init` defined with argument or with an explicit visibility are still accepted as a fallback of the old-constructors.
+They should not be used since they will be removed in a near future.
+
+
+## `new` factories
+
+`new` factories permit to completely shortcut the class instantiation mechanim.
+It could be used to provide `new` syntax on non-concrete class (mainly `extern class`).
+
+`new` factories behave like a top-level function that return the result of the construction.
+It is basically some kind of syntactic sugar.
+
+~~~
+abstract class Person
+       var age: Int
+       new(age: Int)
+       do
+               if age >= 18 then
+                       return new Adult(age)
+               else
+                       return new Child(age)
+               end
+       end
+end
+class Adult
+       super Person
+       # ...
+end
+class Child
+       super Person
+       # ...
+end
+~~~
diff --git a/doc/manual/genericity.md b/doc/manual/genericity.md
new file mode 100644 (file)
index 0000000..0b96f92
--- /dev/null
@@ -0,0 +1,27 @@
+# Generic Classes
+
+Generic classes are defined with formal generic parameters
+declared within brackets. Formal generic parameters can then be used as
+a regular type inside the class. Generic classes must always be
+qualified when used.
+
+~~~
+class Pair[E]
+    var first: E
+    var second: E
+    fun is_same: Bool
+    do
+        return self.first == self.second
+    end
+end
+var p1 = new Pair[Int](1, 2)
+print p1.second * 10 # outputs "20"
+print p1.is_same # outputs "false"
+var p2 = new Pair[String]("hello", "world")
+p2.first = "world"
+print p2.is_same # outputs "true"
+~~~
+
+Unlike many object-oriented languages, generic classes in Nit yield a
+kind of sub-typing. For example, `Pair[Int]` is a subtype of
+`Pair[Object]`.
diff --git a/doc/manual/makedoc.sh b/doc/manual/makedoc.sh
new file mode 100755 (executable)
index 0000000..10f6452
--- /dev/null
@@ -0,0 +1,37 @@
+#!/bin/sh
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+set -e
+
+echo > blank
+cat \
+       syntax.md blank\
+       basic_type.md blank\
+       structure.md blank\
+       variable.md blank\
+       module.md blank\
+       class.md blank\
+       method.md blank\
+       attribute.md blank\
+       constructor.md blank\
+       genericity.md blank\
+       virtual_type.md\
+       | sed -e '/\[\[!template/d' \
+       -e 's/\[\[\([^|]*\)|\([^]]*\)\]\]/\1 \\goto{\2}/g' \
+       -e 's/\[\[\([^]]*\)\]\]/\1 \\goto{\1}/g' \
+       > nitreference-main.md
+pandoc nitreference-main.md -f markdown -t latex --listings -o nitreference-main.tex
+pdflatex nitreference.tex
+pandoc nitreference-main.md -V title="Nit Reference" -f markdown -t epub -o nitreference.epub
diff --git a/doc/manual/method.md b/doc/manual/method.md
new file mode 100644 (file)
index 0000000..f0a67d6
--- /dev/null
@@ -0,0 +1,213 @@
+# Methods
+
+`fun` declares methods. Methods must have a name, may have parameters, and may have a return type. Parameters are typed; however, a single type can be used for multiple parameters.
+
+~~~
+fun foo(x, y: Int, s: String): Bool ...
+~~~
+
+`do` declares the body of methods. Alike control structures, a one-liner version is available.
+Therefore, the two following methods are equivalent.
+
+~~~
+fun next1(i: Int): Int
+do
+    return i + 1
+end
+
+fun next2(i: Int): Int do return i + 1
+~~~
+
+Inside the method body, parameters are considered as variables. They can be assigned and are subject to adaptive typing.
+
+`self`, the current receiver, is a special parameter. It is not assignable but is subject to adaptive typing.
+
+`return` exits the method and returns to the caller. In a function, the return value must be provided with a return in all control flow paths.
+
+## Method Call
+
+Calling a method is usually done with the dotted notation `x.foo(y, z)`. The dotted notation can be chained.
+
+A method call with no argument does not need parentheses. Moreover, even with arguments, the parentheses are not required in the principal method of a statement.
+
+~~~
+var a = [1]
+a.add 5 # no () for add
+print a.length # no () for length, no () for print
+~~~
+
+However, this last facility requires that the first argument does not start with a parenthesis or a bracket.
+
+~~~
+foo (x).bar # will be interpreted as (foo(x)).bar
+foo [x].bar # will be interpreted as (foo[x]).bar
+~~~
+
+## Method Redefinition
+
+`redef` denotes methods that are redefined in subclasses or in class refinements. The number and the types of the parameters must be invariant. Thus, there is no need to reprecise the types of the parameters, only names are mandatory.
+
+The return type can be redefined to be a more precise type. If same type is returned, there is no need to reprecise it.
+
+The visibility, also, cannot be changed, thus there is also no need to reprecise it.
+
+~~~
+class Foo
+    # implicitly an Object
+    # therefore inherit '==' and 'to_s'
+    var i: Int
+    redef fun to_s do return "Foo{self.i}"
+    redef fun ==(f) do return f isa Foo and f.i == self.i
+end
+~~~
+
+## Abstract Methods
+
+`is abstract` indicates methods defined without a body. Subclasses and refinements can then redefine it (the `redef` is still mandatory) with a proper body.
+
+~~~
+interface Foo
+    fun derp(x: Int): Int is abstract
+end
+class Bar
+    super Foo
+    redef fun derp(x) do return x + 1
+end
+~~~
+
+Concrete classes may have abstract methods. It is up to a refinement to provide a body.
+
+## Call to Super
+
+`super` calls the “previous” definition of the method. It is used in a redefinition of a method in a subclass or in a refinement, It can be used with or without arguments; in the latter case, the original arguments are implicitly used.
+
+The `super` of Nit behave more like the `call-next-method` of CLOS that the `super` of Java or Smalltalk. It permits the traversal of complex class hierarchies and refinement. Basically, `super` is polymorphic: the method called by `super` is not only determined by the class of
+definition of the method but also by the dynamic type of `self`.
+
+The principle it to produce a strict order of the redefinitions of a method (the linearization). Each call to `super` call the next method definition in the linearization. From a technical point of view, the linearization algorithm used is based on C3. It ensures that:
+
+-   A definition comes after its redefinition.
+
+-   A redefinition in a refinement comes before a redefnition in its superclass.
+
+-   The order of the declaration of the superclasses is used as the
+    ultimate disambiguation.
+
+<!-- -->
+
+~~~
+class A
+    fun derp: String do return "A"
+end
+class B
+    super A
+    redef fun derp do return "B" + super
+end
+class C
+    super A
+    redef fun derp do return "C" + super
+end
+class D
+    super B
+    super C
+    redef fun derp do return "D" + super
+    # Here the linearization order of the class D is DBCA
+    # D before B because D specializes B
+    # B before A because B specializes A
+    # D before C because D specializes C
+    # C before A because C specializes A
+    # B before C because in D 'super B' is before 'super C'
+end
+var b = new B
+print b.derp # outputs "BA"
+var d = new D
+print d.derp # outputs "DBCA"
+~~~
+
+## Operators and Setters
+
+Operators and setters are methods that require a special syntax for their definition and their invocation.
+
+-   binary operators: `+`, `-`, `*`, `/`, `\%`, `==`, `<`, `>`, `<=`,`>=`, `<<`, `>>` and `<=>`. Their definitions require exactly one     parameter and a return value. Their invocation is done with `x + y` where `x` is the receiver, `+` is the operator, and `y` is the argument.
+
+-   unary operator: `-`. Its definition requires a return value but no parameter. Its invocation is done with `-x` where `x` is the receiver.
+
+-   bracket operator: `[]`. Its definition requires one parameter or more and a return value. Its invocation is done with `x[y, z]` where `x` is the receiver, `y` the first argument and `z` the second argument.
+
+-   setters: `something=` where `something` can be any valid method identifier. Their definitions require one parameter or more and no return value. If there is only one parameter, the invocation is done with `x.something = y` where `x` is the receiver and y the argument. If there is more that one parameter, the invocation is done with `x.something(y, z) = t` where `x` is the receiver, `y` the first argument, `z` the second argument and `t` the last argument.
+
+-   bracket setter: `[]=`. Its definition requires two parameters or more and no return value. Its invocation is done with `x[y, z] = t` where `x` is the receiver, `y` the first argument, `z` the second argument and `t` the last argument.
+
+<!-- -->
+
+~~~
+class Foo
+    fun +(a: Bar): Baz do ...
+    fun -: Baz do ...
+    fun [](a: Bar): Baz do ...
+    fun derp(a: Bar): Baz do ...
+    fun derp=(a: Bar, b: Baz) do ...
+    fun []= (a: Bar, b: Baz) do ...
+end
+var a: Foo = ...
+var b: Bar = ...
+var c: Baz = ...
+c = a + b
+c = -b
+c = a[b] # The bracket operator '[]'
+c = a.derp(b) # A normal method 'derp'
+a.derp(b) = c # A setter 'derp='
+a[b] = c # The bracket setter '[]='
+~~~
+
+`+=` and `-=` are combinations of the assignment (`=`) and a binary operator. These feature are extended to setters where a single `+=` is in fact three method calls: a function call, the operator call, then a setter call.
+
+~~~
+a += c # equiv. a = a + c
+a[b] += c # equiv. a[b] = a[b] + c
+a.foo += c # equiv. a.foo = a.foo + c
+a.bar(b) += c # equiv. a.bar(b) = a.bar(b) + c
+~~~
+
+## Variable Number of Arguments
+
+A method can accept a variable number of arguments using ellipsis (`...`). The definition use `x: Foo...` where `x` is the name of the parameter and `Foo` a type. Inside the body, the static type of `x` is `Array[Foo]`. The caller can use 0, 1, or more arguments for the parameter `x`. Only one ellipsis is allowed in a signature.
+
+~~~
+fun foo(x: Int, y: Int..., z: Int)
+do
+    print "{x};{y.join(",")};{z}"
+end
+foo(1, 2, 3, 4, 5) # outputs "1;2,3,4;5"
+foo(1, 2, 3) # outputs "1;2;3"
+~~~
+
+## Top-level Methods and Main Body
+
+Some functions, like `print`, are usable everywhere simply without using a specific receiver. Such methods are just defined outside any classes. In fact, these methods are implicitly defined in the
+`Object` interface, therefore inherited by all classes, therefore usable everywhere. However, this principle may change in a future version.
+
+In a module, the main body is a bunch of statements at the end of a file. The main body of the main module is the program entry point. In fact, the main method of a program is implicitly defined as the redefinition of the method `main` of the `Sys` class; and the start of the program is the implicit statement `(Sys.new).main`. Note that because it is a redefinition, the main part can use `super` to call the “previous” main part in the imported modules. If there is no main part
+in a module, it is inherited from imported modules.
+
+Top-level methods coupled with the main body can be used to program in a pseudo-procedural way. Therefore, the following programs are valid:
+
+~~~
+print "Hello World!"
+~~~
+
+~~~
+fun sum(i, j: Int): Int
+do
+    return i + j
+end
+print sum(4, 5)
+~~~
+
+## Intern and Extern Methods
+
+`intern` and `extern` indicate concrete methods whose body is not written in Nit.
+
+The body of `intern` methods is provided by the compiler itself for performance or bootstrap reasons. For the same reasons, some intern methods, like `+` in `Int` are not redefinable.
+
+The body of `extern` methods is provided by libraries written in C; for instance, the system libraries required for input/output. Extern methods are always redefinable. See [[FFI]] for more information on `extern` methods.
diff --git a/doc/manual/module.md b/doc/manual/module.md
new file mode 100644 (file)
index 0000000..7aa5f19
--- /dev/null
@@ -0,0 +1,92 @@
+# Modules
+
+`module` declares the name of a module. While optional it is recommended to use it, at least for documentation purpose. The basename of the source file must match the name declared with `module`. The extension of the source file must be `nit`.
+
+A module is made of, in order:
+
+-   the module declaration;
+-   module importations;
+-   class definitions (and refinements) ;
+-   top-level function definitions (and redefinitions) ;
+-   main instructions .
+
+## Module Importation
+
+`import` declares dependencies between modules. By default (that is without any `import` declaration), a module publicly imports the module `standard`. Dependencies must not produce cycles. By importing a module, the importer module can see and use classes and properties defined in the imported module.
+
+-   `import` indicates a public importation. Importers of a given module will also import its publicly imported modules. An analogy is using `#include` in a header file (`.h`) in C/C++.
+
+-   `private import` indicates a private importation. Importers of a given module will not  automatically import its privately imported modules. An analogy is using `#include` in a body file (`.c`) in C/C++.
+
+-   `intrude import` indicates an intrusive importation. `intrude` `import` bypasses the `private` visibility and gives to the importer module a full access on the imported module. Such an import may only be considered when modules are strongly bounded and developed together. The closest, but insufficient, analogy is something like including a body file in a body file in C/C++.
+
+## Visibility
+
+By default, all classes, methods, constructors and virtual types are public which means freely usable by any importer module. Once something is public it belongs to the API of the module and should not be changed.
+
+`private` indicates classes and methods that do not belong to the API. They are still freely usable inside the module but are invisible in other modules (except those that use `intrude import`).
+
+`protected` indicates restricted methods and constructors. Such methods belong to the API of the module but they can only be used with the `self` receiver. Basically, `protected` methods are limited to the current class and its subclasses. Note that inside the module (and in
+intrude importers), there is still no restriction.
+
+Visibility of attributes is more specific and is detailed in its own section.
+
+~~~
+module m1
+class Foo
+    fun pub do ...
+    protected fun pro
+    do ...
+    private fun pri
+    do ...
+end
+private class Bar
+    fun pri2 do ...
+end
+var x: Foo = ...
+var y: Bar = ...
+# All OK, it is
+# inside the module
+x.foo
+x.pro
+x.pro
+y.pri2
+~~~
+
+<!-- -->
+
+~~~
+module m2
+import m1
+class Baz
+    super Foo
+    fun derp
+    do
+        self.pro # OK
+    end
+end
+var x: Foo = ...
+x.pub # OK
+x.pro # Compile error:
+      # pro is protected
+x.pri # Compile error:
+      # unknown method pri
+
+var y: Bar
+# Compile error:
+# unknown class Bar
+~~~
+
+## Visibility Coherence
+
+In order to guarantee the coherence in the visibility, the following rules apply:
+
+-   Classes and properties privately imported are considered private:     they are not exported and do not belong to the API of the importer.
+
+-   Properties defined in a private class are private.
+
+-   A static type is private if it contains a private class or a private     virtual type.
+
+-   Signatures of public and protected properties cannot contain a private static type.
+
+-   Bounds of public generic class and public virtual types cannot contain a private static type.
diff --git a/doc/manual/nitlanguage.sty b/doc/manual/nitlanguage.sty
new file mode 100644 (file)
index 0000000..f8d8b11
--- /dev/null
@@ -0,0 +1,45 @@
+% This file is part of Nit ( http://www.nitlanguage.org ).
+%
+% Copyright 2011 Jean Privat <jean@pryen.org>
+%
+% Licensed under the Apache License, Version 2.0 (the "License");
+% you may not use this file except in compliance with the License.
+% You may obtain a copy of the License at
+%
+%     http://www.apache.org/licenses/LICENSE-2.0
+%
+% Unless required by applicable law or agreed to in writing, software
+% distributed under the License is distributed on an "AS IS" BASIS,
+% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+% See the License for the specific language governing permissions and
+% limitations under the License.
+
+\usepackage{lmodern} % because there is a bizarre 'pdfTeX error (font expansion): auto expansion is only possible with scalable fonts' unless
+\usepackage{listings} % because we extends it
+\usepackage{xcolor} % because we like colors
+
+% definition of the nit language
+\lstdefinelanguage{nit}{%
+keywords={import,class,interface,universal,super,fun,var,redef,protected,private,module,init,do,end,new,%
+               return,if,then,else,while,for,loop,in,isa,isset,break,continue,label,%
+               is,abstract,self,true,false,null,nullable,writable,assert,and,or,not,extern,intern},%
+morecomment=[l]{\#},%
+morestring=[b]",%
+}
+
+% disable spaces ij strings by default
+\lstset{showstringspaces=false}
+
+% easy nice environement for nit listings
+%\lstnewenvironment{lst}[1][]{%
+       \lstset{basicstyle=\scriptsize\ttfamily,%
+       keywordstyle=\bf\color{blue!30!black},%
+       commentstyle=\itshape\color{green!30!black},%
+       language=nit,%
+       backgroundcolor=\color{black!10},%
+       moredelim=[is][\color{yellow!30!black}]{@}{@},%
+tabsize=3}%,%
+%      #1}}{}
+
+% makes @ a nice shortcut for inline Nit code
+%\lstMakeShortInline[basicstyle=\small\ttfamily\color{blue!30!black}]{@}
diff --git a/doc/manual/nitreference.tex b/doc/manual/nitreference.tex
new file mode 100644 (file)
index 0000000..432dba9
--- /dev/null
@@ -0,0 +1,75 @@
+% This file is part of Nit ( http://www.nitlanguage.org ).
+%
+% Copyright 2011 Jean Privat <jean@pryen.org>
+%
+% Licensed under the Apache License, Version 2.0 (the "License");
+% you may not use this file except in compliance with the License.
+% You may obtain a copy of the License at
+%
+%     http://www.apache.org/licenses/LICENSE-2.0
+%
+% Unless required by applicable law or agreed to in writing, software
+% distributed under the License is distributed on an "AS IS" BASIS,
+% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+% See the License for the specific language governing permissions and
+% limitations under the License.
+\documentclass[10pt]{article}
+
+\usepackage[T1]{fontenc}
+\usepackage{nitlanguage}
+\usepackage{multicol}
+\usepackage{savetrees}
+\usepackage{listings}
+\usepackage{microtype}
+\usepackage{xcolor}
+\usepackage{comment}
+%\usepackage{../nit_version}
+
+\newcommand\thedoctitle{A Concise Reference of the Nit Language}
+\title{\thedoctitle}
+\author{Jean Privat}
+\date{\today}
+
+\usepackage[bookmarks=false,pdftitle={\thedoctitle}]{hyperref}
+\pdfcompresslevel=9 %best compression level for text and image
+
+%\setcounter{collectmore}{90} % Force better column breaks
+
+\lstMakeShortInline[basicstyle=\small\ttfamily\color{blue!30!black}]{@}
+\lstset{language=nit}
+
+\hypersetup{colorlinks=true}
+\newcommand\goto[1]{\hyperref[#1]{{\color{red}\scriptsize[\ref*{#1}]}}}
+\newcommand\future[1]{}
+\newcommand\passthrough[1]{#1}
+\newcommand\tightlist{}
+
+\geometry{margin=0.35in} % short margins
+% footer
+\usepackage{fancyhdr}
+\pagestyle{fancy}
+\lhead{}
+\chead{}
+\rhead{}
+\lfoot{\small\it\today}
+\cfoot{\small\it\thedoctitle}
+\rfoot{\small\it\thepage}
+\renewcommand{\headrulewidth}{0pt}
+\renewcommand{\footrulewidth}{0pt}
+\setlength\footskip{15pt}
+
+\begin{document}
+\setlength\columnsep{8pt} % space around big columns
+\begin{multicols}{2}
+\setlength\columnsep{4pt} % space around smalls columns (for examples)
+
+\noindent\textbf{A Concise Reference of the Nit Language}
+
+This document attempts to be as short as possible while covering all features of the language in deepth.
+It is not a real manual to learn the language since concepts are covered when required.
+%Forward and backward references about concepts are written like this~\goto{redef} which means Section~\ref*{redef}.
+%An index\goto{index} also lists concepts and keywords for an improved navigation.
+
+\input{nitreference-main.tex}
+\end{multicols}
+\end{document}
diff --git a/doc/manual/structure.md b/doc/manual/structure.md
new file mode 100644 (file)
index 0000000..ba1107f
--- /dev/null
@@ -0,0 +1,163 @@
+# Control Structures
+
+Traditional procedural control structures exist in Nit. They
+also often exist in two versions: a one-liner and a block version.
+
+## Control Flow
+
+Control structures dictate the control flow of the
+program. Nit heavily refers to the control flow in its specification:
+
+-   No unreachable statement;
+
+-   No usage of undefined variables;
+
+-   No function without a `return` with a value;
+
+-   Adaptive typing.
+
+Some structures alter the control flow but are not described in this
+section: `and`, `or`, `not`, `or else` and `return`.
+
+Note that the control flow is determined only from the position, the
+order and the nesting of the control structures. The real value of the
+expressions used has no effect on the control flow analyses.
+
+~~~
+if true then
+    return
+else
+    return
+end
+print 1 # Compile error: unreachable statement
+
+if true then
+    return
+end
+print 1 # OK, but never executed
+~~~
+
+## if
+
+~~~
+if exp then stm
+if exp then stm else stm
+if exp then
+    stms
+end
+
+if exp then
+    stms
+else if exp then
+    stms
+else
+    stms
+end
+~~~
+
+Note that the following example is invalid since the first line is
+syntactically complete thus the newline terminate the whole `if`
+structure; then an error is signaled since a statement cannot begin with
+`else`.
+
+~~~
+if exp then stm # OK: complete 'if' structure
+else stm # Syntax error: unexpected 'else'
+~~~
+
+## while
+
+~~~
+while exp do stm
+while exp do
+    stms
+end
+~~~
+
+## for
+
+`for` declares an automatic variable used to iterates on `Collection` (`Array` and `Range` are both `Collection`).
+
+~~~
+for x in [1..5] do print x # outputs 1 2 3 4 5
+for x in [1, 4, 6] do
+    print x # outputs 1 4 6
+end
+~~~
+
+`for` can also be used with reversed ranges to iterate in reverse order.
+
+Step can also be used to specify the size of each increment at the end of a for cycle.
+
+~~~
+for x in [9 .. 4].step(-1) do print x # outputs 9 8 7 6 5 4
+for x in [9 .. 4[.step(-2) do print x # outputs 9 7 5
+~~~
+
+## loop
+
+Infinite loops are mainly used with breaks. They are useful to implement *until* loops or to simulate the *exit when* control of Ada.
+
+~~~
+loop
+    stms
+    if exp then break
+    stms
+end
+~~~
+
+Note that `loop` is different from `while true` because the control flow does not consider the values of expression.
+
+## do
+
+Single `do` are used to create scope for variables or to be attached with labeled breaks.
+
+~~~
+do
+    var x = 5
+    print x
+end
+# x is not defined here
+~~~
+
+## break, continue and label
+
+Unlabeled `break` exits the current `for`, `while`, `loop`, Unlabeled `continue` skips the current `for`, `while`, `loop`.
+
+`label` can be used with `break` or `continue` to act on a specific control structure (not necessary the current one). The corresponding `label` must be defined after the `end` keyword of the designated control structure.
+
+~~~
+for i in [0..width[ do
+    for j in [0..height[ do
+        if foo(i, j) then break label outer_loop
+        # The 'break' breaks the 'for i' loop
+    end
+end label outer_loop
+~~~
+
+`label` can also be used with `break` and single `do` structures.
+
+~~~
+do
+    stmts
+    if expr then break label block
+    stmts
+end label block
+~~~
+
+## abort
+
+`abort` stops the program with a fatal error and prints a stack trace. Since there is currently no exception nor run-time-errors, abort is somewhat used to simulate them.
+
+## assert
+
+`assert` verifies that a given Boolean expression is true, or else it aborts. An optional label can be precised, it will be displayed on the error message. An optional `else` can also be added and will be executed before the abort.
+
+~~~
+assert bla: whatever else
+    # "bla" is the label
+    # "whatever" is the expression to verify
+    print "Fatal error in module blablabla."
+    print "Please contact the customer service."
+end
+~~~
diff --git a/doc/manual/syntax.md b/doc/manual/syntax.md
new file mode 100644 (file)
index 0000000..1f3deaf
--- /dev/null
@@ -0,0 +1,86 @@
+# Basic Syntax of Nit
+
+The syntax of Nit follows the Pascal tradition and is
+inspired by various script languages (especially Ruby). Its main objective is
+readability.
+
+Indentation is not meaningful in Nit; blocks usually starts with a
+specific keyword and finish with `end`. Newlines are only meaningful at
+the end of declarations, at the end of statements, and after some
+specific keywords. The philosophy is that the newline is ignored if
+something (a statement, a declaration, or whatever) obviously needs more
+input; while the newline terminates lines that seems completed. See the
+complete Nit grammar for more details.
+
+~~~
+# a first complete statement that outputs "2"
+print 1 + 1
+# the second statement is not yet finished
+print 2 +
+# the end of the second statement, outputs "4"
+2
+~~~
+
+Nit aims to achieve some uniformity in its usage of the common
+punctuation: equal (`=`) is for assignment, double equal (`==`) is for
+equality test, column (`:`) is for type declaration, dot (`.`) is for
+polymorphism, comma (`,`) separates elements, and quad (`::`) is for
+explicit designation.
+
+## Identifiers
+
+Identifiers of modules, variables, methods, attributes and
+labels must begin with a lowercase letter and can be followed by
+letters, digits, or underscores. However, the usage of uppercase letters
+(and camelcase) is discouraged and the usage of underscore to separate
+words in identifiers is preferred: `some_identifier`.
+
+Identifiers of classes and types must begin with an uppercase letter and
+can be followed by letters, digits, or underscores. However
+the usage of camelcase is preferred for class identifiers while formal types should be written in all uppercase: `SomeClass` and `SOME_VIRTUAL_TYPE`.
+
+## Style
+
+While Nit does not enforce any kind of source code formatting, the
+following is encouraged:
+
+- indentation uses the tabulation character and is displayed
+  as 8 spaces;
+
+- lines are less than 80 characters long;
+
+- binary operators have spaces around them: `4 + 5`, `x = 5`;
+
+- columns (`:`) and commas (`,`) have a space after them but not
+  before: `var x: X`, `[1, 2, 3]`;
+
+- parenthesis and brackets do not need spaces around them;
+
+- superfluous parenthesis should be avoided;
+
+- the `do` of methods and the single `do` is on its own line and not
+  indented;
+
+- the other `do` are not on a newline.
+
+## Comments and Documentation
+
+As in many script languages, comments begin with a sharp (`#`)
+and run up to the end of the line. Currently, there is no
+multiline-comments.
+
+A comment block right before any definition of module, class, or
+property, is considered as its documentation and will be displayed as
+such by the autodoc. At this point, documentation is displayed verbatim
+(no special formatting or meta-information).
+
+~~~
+# doc. of foo
+module foo
+
+# doc. of Bar
+class Bar
+   # doc. of baz
+   fun baz do end
+end
+~~~
diff --git a/doc/manual/variable.md b/doc/manual/variable.md
new file mode 100644 (file)
index 0000000..e9b0d8a
--- /dev/null
@@ -0,0 +1,242 @@
+# Local Variables and Static Typing
+
+`var` declares local variables. In fact there is no global variable in Nit, so in this document *variable* always refers to a local variable. A variable is visible up to the end of the current
+control structure. Two variables with the same name cannot coexist: no nesting nor masking.
+
+Variables are bound to values. A variable cannot be used unless it has a value in all control flow paths (à la Java).
+
+~~~
+var x
+var y
+if whatever then
+    x = 5
+    y = 6
+else
+    x = 7
+end
+print x # OK
+print y # Compile error: y is possibly not initialized
+~~~
+
+## Adaptive Typing
+
+Nit features adaptive typing, which means that the static type of a variable can change according to: the assignments of variables, the control flow, and some special operators (`and`, `or`,
+`or else`, `==`, `!=`, and `isa`).
+
+~~~
+var x # a variable
+x = 5
+# static type is Int
+print x + 1 # outputs 6
+x = [6, 7]
+# static type is Array[Int]
+print x[0] # outputs "6"
+
+var x
+if whatever then
+    x = 5
+else
+    x = 6
+end
+# Static type is Int
+~~~
+
+## Variable Upper Bound
+
+An optional type information can be added to a variable declaration. This type is used as an upper bound of the type of the variable. When a initial value is given in a variable declaration without a specific type information, the static type of the initial value is used as an upper bound. If no type and no initial value are given, the upper bound is set to `nullable Object`.
+
+~~~
+var x: Int # Upper bound is Int
+x = "Hello" # Compile error: expected Int
+var y: Object # Upper bound is Object
+y = 5 # OK since Int specializes Object
+var z = 5 # Upper bound is Int
+z = "Hello" # Compile error: expected Int
+var t: Object = 5 # Upper bound is Object
+t = "Hello" # OK
+~~~
+
+The adaptive typing flow is straightforward, therefore loops (`for`, `while`, `loop`) have a special requirement: on entry, the upper bound is set to the current static type; on exit, the upper bound is reset to its previous value.
+
+~~~
+var x: Object = ...
+# static type is Object, upper bound is Object
+x = 5
+# static type is Int, bound remains Object
+while x > 0 do
+    # static type remains Int, bound sets to Int
+    x -= 1 # OK
+    x = "Hello" # Compile error: expected Int
+end
+# static type is Int, bound reset to Object
+x = "Hello" # OK
+~~~
+
+## Type Checks
+
+`isa` tests if an object is an instance of a given type. If the expression used in an `isa` is a variable, then its static type is automatically adapted, therefore avoiding the need of a specific cast.
+
+~~~
+var x: Object = whatever
+if x isa Int then
+    # static type of x is Int
+    print x * 10 # OK
+end
+~~~
+
+Remember that adaptive typing follows the control flow, including the Boolean operators.
+
+~~~
+var a: Array[Object] = ...
+for i in a do
+    # the static type of i is Object
+    if not i isa Int then continue
+    # now the static type of i is Int
+    print i * 10 # OK
+end
+~~~
+
+An interesting example:
+
+~~~
+var max = 0
+for i in whatever do
+    if i isa Int and i > max then max = i
+    # the > is valid since, in the right part
+    # of the "and", the static type of i is Int
+end
+~~~
+
+Note that type adaptation occurs only in an `isa` if the target type is more specific that the current type.
+
+~~~
+var a: Collection[Int] = ...
+if a isa Comparable then
+    # the static type is still Collection[Int]
+    # even if the dynamic type of a is a subclass
+    # of both Collection[Int] and Comparable
+    ...
+end
+~~~
+
+## Nullable Types
+
+`null` is a literal value that is only accepted by some specific static types. However, thanks to adaptive typing, the static type management can be mainly automatic.
+
+`nullable` annotates types that can accept `null` or an expression of a compatible nullable static type.
+
+~~~
+var x: nullable Int
+var y: Int
+x = 1 # OK
+y = 1 # OK
+x = null # OK
+y = null # Compile error
+x = y # OK
+y = x # Compile error
+~~~
+
+Adaptive typing works well with nullable types.
+
+~~~
+var x
+if whatever then
+    x = 5
+else
+    x = null
+end
+# The static type of x is nullable Int
+~~~
+
+Moreover, like the `isa` keyword, the `==` and `!=` operators can adapt the static type of a variable when compared to `null`.
+
+~~~
+var x: nullable Int = whatever
+if x != null then
+    # The static type of x is Int (without nullable)
+    print x + 6
+end
+# The static type of x is nullable Int
+~~~
+
+And another example:
+
+~~~
+var x: nullable Int = whatever
+loop
+    if x == null then continue
+    # The static type of x is Int
+end
+~~~
+
+`or else` can be used to compose a nullable expression with any other expression. The value of `x or else y` is `x` if `x` is not `null` and is `y` if `x` is null. The static type of `x or else y` is the combination of the type of `y` and the not null version of the type of `x`.
+
+~~~
+var i: nullable Int = ...
+var j = i or else 0
+# the static type of j is Int (without nullable)
+~~~
+
+Note that nullable types require a special management for [[attributes|attribute]] and [[constructors|constructor]].
+
+## Explicit Cast
+
+`as` casts an expression to a type. The expression is either casted successfully or there is an `abort`.
+
+~~~
+var x: Object = 5 # static type of x is Object
+print x.as(Int) * 10 # outputs 50
+print x.as(String) # aborts: cast failed
+~~~
+
+Note that `as` does not change the object nor does perform conversion.
+
+~~~
+var x: Object = 5 # static type of x is Object
+print x.as(Int) + 10 # outputs "15"
+print x.to_s + "10" # outputs "510"
+~~~
+
+Because of type adaptation, `as` is rarely used on variables. `isa` (sometime coupled with `assert`) is preferred.
+
+~~~
+var x: Object = 5 # static type of x is Object
+assert x isa Int
+# static type of x is now Int
+print x * 10 # outputs 50
+~~~
+
+`as(not null)` can be used to cast an expression typed by a nullable type to its non nullable version. This form keeps the programmer from writing explicit static types.
+
+~~~
+var x: nullable Int = 5 # static type of x is nullable Int
+print x.as(not null) * 10 # cast, outputs 50
+print x.as(Int) * 10 # same cast, outputs 50
+assert x != null # same cast, but type of x is now Int
+print x * 10 # outputs 50
+~~~
+
+## Static Type Combination Rule
+
+Adaptive typing, literal arrays, and `or else` need to determine a static type by combining other static types. This is done by using the following rule:
+
+-   The final type is `nullable` if at least one of the types is `nullable`.
+
+-   The final type is the static type that is more general than all the other types.
+
+-   If there is no such a type, and the thing typed is a variable, then the final type is the upper bound type of the variable; else there is a compilation error.
+
+<!-- -->
+
+~~~
+var d: Discrete = ...
+# Note: Int < Discrete < Object
+var x
+if whatever then x = 1 else x = d
+# static type is Discrete
+if whatever then x = 1 else x = "1"
+# static type is nullable Object (upper bound)
+var a1 = [1, d] # a1 is a Array[Discrete]
+var a2 = [1, "1"] # Compile error:
+        # incompatible types Int and String
+~~~
diff --git a/doc/manual/virtual_type.md b/doc/manual/virtual_type.md
new file mode 100644 (file)
index 0000000..042c721
--- /dev/null
@@ -0,0 +1,20 @@
+# Virtual Types
+
+`type` declares a virtual types in a class. A bound type is
+mandatory. Virtual types can then be used as regular types in the class
+and its subclasses. Subclasses can also redefine it with a more specific
+bound type. One can see a virtual type as an internal formal generic
+parameter or as a redefinable *typedef*.
+
+~~~
+class Foo
+    type E: Object
+    var derp: E
+end
+class Bar
+    super Foo
+    redef type E: Int
+end
+var b = new Bar(5)
+print b.derp + 1 # outputs 6
+~~~
index fb6fff9..bd01519 100644 (file)
 # For most use-cases you need to use the `GithubAPI` client.
 module api
 
-import github_curl
 intrude import json::serialization_read
 
+import base64
+import curl
+import json
+
 # Client to Github API
 #
 # To access the API you need an instance of a `GithubAPI` client.
@@ -38,11 +41,11 @@ intrude import json::serialization_read
 # The API client allows you to get Github API entities.
 #
 # ~~~nitish
-# var repo = api.load_repo("nitlang/nit")
+# var repo = api.get_repo("nitlang/nit")
 # assert repo != null
 # assert repo.name == "nit"
 #
-# var user = api.load_user("Morriar")
+# var user = api.get_user("Morriar")
 # assert user != null
 # assert user.login == "Morriar"
 # ~~~
@@ -60,83 +63,80 @@ class GithubAPI
        #
        # Be aware that there is [rate limits](https://developer.github.com/v3/rate_limit/)
        # associated to the key.
-       var auth: String
-
-       # Github API base url.
-       #
-       # Default is `https://api.github.com` and should not be changed.
-       var api_url = "https://api.github.com"
+       var auth: nullable String = null is optional
 
        # User agent used for HTTP requests.
        #
        # Default is `nit_github_api`.
        #
        # See <https://developer.github.com/v3/#user-agent-required>
-       var user_agent = "nit_github_api"
+       var user_agent: String = "nit_github_api" is optional
+
+       # Headers to use on all requests
+       fun new_headers: HeaderMap do
+               var map = new HeaderMap
+               var auth = self.auth
+               if auth != null then
+                       map["Authorization"] = "token {auth}"
+               end
+               map["User-Agent"] = user_agent
+               # FIXME remove when projects and team are no more in beta
+               map["Accept"] = "application/vnd.github.inertia-preview+json"
+               map["Accept"] = "application/vnd.github.hellcat-preview+json"
+               return map
+       end
 
-       # Curl instance.
+       # Github API base url.
        #
-       # Internal Curl instance used to perform API calls.
-       private var ghcurl: GithubCurl is noinit
+       # Default is `https://api.github.com` and should not be changed.
+       var api_url = "https://api.github.com"
 
-       # Verbosity level.
-       #
-       # * `0`: only errors (default)
-       # * `1`: verbose
-       var verbose_lvl = 0 is public writable
+       # Send a HTTPRequest to the Github API
+       fun send(method, path: String, headers: nullable HeaderMap, body: nullable String): nullable String do
+               last_error = null
+               path = sanitize_uri(path)
+               var uri = "{api_url}{path}"
+               var request = new CurlHTTPRequest(uri)
+               request.method = method
+               request.user_agent = user_agent
+               request.headers = headers or else self.new_headers
+               request.body = body
+               return check_response(uri, request.execute)
+       end
 
-       init do
-               ghcurl = new GithubCurl(auth, user_agent)
+       private fun check_response(uri: String, response: CurlResponse): nullable String do
+               if response isa CurlResponseSuccess then
+                       was_error = false
+                       return response.body_str
+               else if response isa CurlResponseFailed then
+                       last_error = new GithubAPIError(
+                               response.error_msg,
+                               response.error_code,
+                               uri
+                       )
+                       was_error = true
+                       return null
+               else abort
        end
 
        # Deserialize an object
-       fun deserialize(string: String): nullable Object do
-               var deserializer = new GithubDeserializer(string)
+       fun deserialize(string: nullable Serializable): nullable Object do
+               if string == null then return null
+               var deserializer = new GithubDeserializer(string.to_s)
                var res = deserializer.deserialize
-               # print deserializer.errors.join("\n") # DEBUG
-               return res
-       end
-
-       # Execute a GET request on Github API.
-       #
-       # This method returns raw json data.
-       # See other `load_*` methods to use more expressive types.
-       #
-       # ~~~nitish
-       # var api = new GithubAPI(get_github_oauth)
-       # var obj = api.get("/repos/nitlang/nit")
-       # assert obj isa JsonObject
-       # assert obj["name"] == "nit"
-       # ~~~
-       #
-       # Returns `null` in case of `error`.
-       #
-       # ~~~nitish
-       # obj = api.get("/foo/bar/baz")
-       # assert obj == null
-       # assert api.was_error
-       # var err = api.last_error
-       # assert err isa GithubError
-       # assert err.name == "GithubAPIError"
-       # assert err.message == "Not Found"
-       # ~~~
-       fun get(path: String): nullable Serializable do
-               path = sanitize_uri(path)
-               var res = ghcurl.get_and_parse("{api_url}{path}")
-               if res isa Error then
-                       last_error = res
+               if deserializer.errors.not_empty then
                        was_error = true
+                       last_error = new GithubDeserializerErrors("Deserialization failed", deserializer.errors)
+                       return null
+               else if res isa GithubError then
+                       was_error = true
+                       last_error = res
                        return null
                end
                was_error = false
                return res
        end
 
-       # Display a message depending on `verbose_lvl`.
-       fun message(lvl: Int, message: String) do
-               if lvl <= verbose_lvl then print message
-       end
-
        # Escape `uri` in an acceptable format for Github.
        private fun sanitize_uri(uri: String): String do
                # TODO better URI escape.
@@ -149,13 +149,29 @@ class GithubAPI
        # Does the last request provoqued an error?
        var was_error = false is protected writable
 
-       # Load the json object from Github.
-       # See `GithubEntity::load_from_github`.
-       protected fun load_from_github(key: String): nullable GithubEntity do
-               message(1, "Get {key} (github)")
-               var res = get(key)
-               if was_error then return null
-               return deserialize(res.as(JsonObject).to_json).as(nullable GithubEntity)
+       # Execute a GET request on Github API.
+       #
+       # This method returns a deserialized result.
+       #
+       # For raw data see `send`.
+       #
+       # ~~~nitish
+       # var api = new GithubAPI(get_github_oauth)
+       # var obj = api.get("/repos/nitlang/nit")
+       # assert obj isa Repo
+       # assert obj.name == "nit"
+       # ~~~
+       #
+       # Returns `null` in case of `error`.
+       #
+       # ~~~nitish
+       # obj = api.get("/foo/bar/baz")
+       # assert obj == null
+       # assert api.was_error
+       # assert api.last_error isa GithubError
+       # ~~~
+       fun get(path: String, headers: nullable HeaderMap, data: nullable String): nullable Object do
+               return deserialize(send("GET", path, headers, data))
        end
 
        # Get the Github logged user from `auth` token.
@@ -164,13 +180,11 @@ class GithubAPI
        #
        # ~~~nitish
        # var api = new GithubAPI(get_github_oauth)
-       # var user = api.load_auth_user
+       # var user = api.get_auth_user
        # assert user.login == "Morriar"
        # ~~~
-       fun load_auth_user: nullable User do
-               var user = load_from_github("/user")
-               if was_error then return null
-               return user.as(nullable User)
+       fun get_auth_user: nullable User do
+               return get("/user").as(nullable User)
        end
 
        # Get the Github user with `login`
@@ -179,12 +193,12 @@ class GithubAPI
        #
        # ~~~nitish
        # var api = new GithubAPI(get_github_oauth)
-       # var user = api.load_user("Morriar")
+       # var user = api.get_user("Morriar")
        # print user or else "null"
        # assert user.login == "Morriar"
        # ~~~
-       fun load_user(login: String): nullable User do
-               return load_from_github("/users/{login}").as(nullable User)
+       fun get_user(login: String): nullable User do
+               return get("/users/{login}").as(nullable User)
        end
 
        # Get the Github repo with `full_name`.
@@ -193,43 +207,29 @@ class GithubAPI
        #
        # ~~~nitish
        # var api = new GithubAPI(get_github_oauth)
-       # var repo = api.load_repo("nitlang/nit")
+       # var repo = api.get_repo("nitlang/nit")
        # assert repo.name == "nit"
        # assert repo.owner.login == "nitlang"
        # assert repo.default_branch == "master"
        # ~~~
-       fun load_repo(full_name: String): nullable Repo do
-               return load_from_github("/repos/{full_name}").as(nullable Repo)
+       fun get_repo(repo_slug: String): nullable Repo do
+               return get("/repos/{repo_slug}").as(nullable Repo)
        end
 
-       # List of branches associated with their names.
-       fun load_repo_branches(repo: Repo): Array[Branch] do
-               message(1, "Get branches for {repo.full_name}")
-               var array = get("/repos/{repo.full_name}/branches")
-               var res = new Array[Branch]
-               if not array isa JsonArray then return res
-               var deser = deserialize(array.to_json)
-               if not deser isa Array[Object] then return res # empty array
-               for branch in deser do
-                       if not branch isa Branch then continue
-                       res.add branch
-               end
-               return res
+       # List of repo branches.
+       #
+       # Pagination:
+       #       * `page`: page to fetch (default: 1)
+       #       * `per_page`: number of branches by page (default: 30)
+       fun get_repo_branches(repo_slug: String, page, per_page: nullable Int): Array[Branch] do
+               return new GithubArray[Branch].from(get(
+                       "/repos/{repo_slug}/branches?{pagination(page, per_page)}"))
        end
 
        # List of issues associated with their ids.
-       fun load_repo_issues(repo: Repo): Array[Issue] do
-               message(1, "Get issues for {repo.full_name}")
-               var res = new Array[Issue]
-               var issue = load_repo_last_issue(repo)
-               if issue == null then return res
-               res.add issue
-               while issue != null and issue.number > 1 do
-                       issue = load_issue(repo, issue.number - 1)
-                       if issue == null then continue
-                       res.add issue
-               end
-               return res
+       fun get_repo_issues(repo_slug: String, page, per_page: nullable Int): Array[Issue] do
+               return new GithubArray[Issue].from(get(
+                       "/repos/{repo_slug}/issues?{pagination(page, per_page)}"))
        end
 
        # Search issues in this repo form an advanced query.
@@ -241,39 +241,20 @@ class GithubAPI
        # ~~~
        #
        # See <https://developer.github.com/v3/search/#search-issues>.
-       fun search_repo_issues(repo: Repo, query: String): Array[Issue] do
-               query = "/search/issues?q={query} repo:{repo.full_name}"
-               var res = new Array[Issue]
-               var response = get(query)
-               if was_error then return res
-               var arr = response.as(JsonObject)["items"].as(JsonArray)
-               return deserialize(arr.to_json).as(Array[Issue])
-       end
-
-       # Get the last published issue.
-       fun load_repo_last_issue(repo: Repo): nullable Issue do
-               var array = get("/repos/{repo.full_name}/issues")
-               if not array isa JsonArray then return null
-               if array.is_empty then return null
-               var obj = array.first
-               if not obj isa JsonObject then return null
-               return deserialize(obj.to_json).as(nullable Issue)
+       fun search_repo_issues(repo_slug: String, query: String, page, per_page: nullable Int): nullable SearchResults do
+               return get("/search/issues?q={query} repo:{repo_slug}&{pagination(page, per_page)}").as(nullable SearchResults)
        end
 
        # List of labels associated with their names.
-       fun load_repo_labels(repo: Repo): Array[Label] do
-               message(1, "Get labels for {repo.full_name}")
-               var array = get("repos/{repo.full_name}/labels")
-               if not array isa JsonArray then return new Array[Label]
-               return deserialize(array.to_json).as(Array[Label])
+       fun get_repo_labels(repo_slug: String, page, per_page: nullable Int): Array[Label] do
+               return new GithubArray[Label].from(get(
+                       "/repos/{repo_slug}/labels?{pagination(page, per_page)}"))
        end
 
        # List of milestones associated with their ids.
-       fun load_repo_milestones(repo: Repo): Array[Milestone] do
-               message(1, "Get milestones for {repo.full_name}")
-               var array = get("/repos/{repo.full_name}/milestones")
-               if not array isa JsonArray then return new Array[Milestone]
-               return deserialize(array.to_json).as(Array[Milestone])
+       fun get_repo_milestones(repo_slug: String, page, per_page: nullable Int): Array[Milestone] do
+               return new GithubArray[Milestone].from(get(
+                       "/repos/{repo_slug}/milestones?{pagination(page, per_page)}"))
        end
 
        # List of pull-requests associated with their ids.
@@ -281,32 +262,14 @@ class GithubAPI
        # Implementation notes: because PR numbers are not consecutive,
        # PR are loaded from pages.
        # See: https://developer.github.com/v3/pulls/#list-pull-requests
-       fun load_repo_pulls(repo: Repo): Array[PullRequest] do
-               message(1, "Get pulls for {repo.full_name}")
-               var key = "/repos/{repo.full_name}"
-               var res = new Array[PullRequest]
-               var page = 1
-               loop
-                       var array = get("{key}/pulls?page={page}").as(JsonArray)
-                       if array.is_empty then break
-                       for obj in array do
-                               if not obj isa JsonObject then continue
-                               var pr = deserialize(array.to_json).as(nullable PullRequest)
-                               if pr == null then continue
-                               res.add pr
-                       end
-                       page += 1
-               end
-               return res
+       fun get_repo_pulls(repo_slug: String, page, per_page: nullable Int): Array[PullRequest] do
+               return new GithubArray[PullRequest].from(get(
+                       "/repos/{repo_slug}/pulls?{pagination(page, per_page)}"))
        end
 
        # List of contributor related statistics.
-       fun load_repo_contrib_stats(repo: Repo): Array[ContributorStats] do
-               message(1, "Get contributor stats for {repo.full_name}")
-               var res = new Array[ContributorStats]
-               var array = get("/repos/{repo.full_name}/stats/contributors")
-               if not array isa JsonArray then return res
-               return deserialize(array.to_json).as(Array[ContributorStats])
+       fun get_repo_contrib_stats(repo_slug: String): Array[ContributorStats] do
+               return new GithubArray[ContributorStats].from(get("/repos/{repo_slug}/stats/contributors"))
        end
 
        # Get the Github branch with `name`.
@@ -315,38 +278,14 @@ class GithubAPI
        #
        # ~~~nitish
        # var api = new GithubAPI(get_github_oauth)
-       # var repo = api.load_repo("nitlang/nit")
+       # var repo = api.get_repo("nitlang/nit")
        # assert repo != null
-       # var branch = api.load_branch(repo, "master")
+       # var branch = api.get_branch(repo, "master")
        # assert branch.name == "master"
        # assert branch.commit isa Commit
        # ~~~
-       fun load_branch(repo: Repo, name: String): nullable Branch do
-               return load_from_github("/repos/{repo.full_name}/branches/{name}").as(nullable Branch)
-       end
-
-       # List all commits in `self`.
-       #
-       # This can be long depending on the branch size.
-       # Commit are returned in an unspecified order.
-       fun load_branch_commits(branch: Branch): Array[Commit] do
-               var res = new Array[Commit]
-               var done = new HashSet[String]
-               var todos = new Array[Commit]
-               todos.add branch.commit
-               loop
-                       if todos.is_empty then break
-                       var commit = todos.pop
-                       if done.has(commit.sha) then continue
-                       done.add commit.sha
-                       res.add commit
-                       var parents = commit.parents
-                       if parents == null then continue
-                       for parent in parents do
-                               todos.add parent
-                       end
-               end
-               return res
+       fun get_branch(repo_slug: String, name: String): nullable Branch do
+               return get("/repos/{repo_slug}/branches/{name}").as(nullable Branch)
        end
 
        # Get the Github commit with `sha`.
@@ -355,13 +294,20 @@ class GithubAPI
        #
        # ~~~nitish
        # var api = new GithubAPI(get_github_oauth)
-       # var repo = api.load_repo("nitlang/nit")
+       # var repo = api.get_repo("nitlang/nit")
        # assert repo != null
-       # var commit = api.load_commit(repo, "64ce1f")
+       # var commit = api.get_commit(repo, "64ce1f")
        # assert commit isa Commit
        # ~~~
-       fun load_commit(repo: Repo, sha: String): nullable Commit do
-               return load_from_github("/repos/{repo.full_name}/commits/{sha}").as(nullable Commit)
+       fun get_commit(repo_slug: String, sha: String): nullable Commit do
+               return get("/repos/{repo_slug}/commits/{sha}").as(nullable Commit)
+       end
+
+       # Get the status of a commit
+       #
+       # The status holds the result of each check ran on a commit like CI, reviews etc.
+       fun get_commit_status(repo_slug: String, sha: String): nullable CommitStatus do
+               return get("/repos/{repo_slug}/commits/{sha}/status").as(nullable CommitStatus)
        end
 
        # Get the Github issue #`number`.
@@ -370,54 +316,25 @@ class GithubAPI
        #
        # ~~~nitish
        # var api = new GithubAPI(get_github_oauth)
-       # var repo = api.load_repo("nitlang/nit")
+       # var repo = api.get_repo("nitlang/nit")
        # assert repo != null
-       # var issue = api.load_issue(repo, 1)
+       # var issue = api.get_issue(repo, 1)
        # assert issue.title == "Doc"
        # ~~~
-       fun load_issue(repo: Repo, number: Int): nullable Issue do
-               return load_from_github("/repos/{repo.full_name}/issues/{number}").as(nullable Issue)
+       fun get_issue(repo_slug: String, number: Int): nullable Issue do
+               return get("/repos/{repo_slug}/issues/{number}").as(nullable Issue)
        end
 
        # List of event on this issue.
-       fun load_issue_comments(repo: Repo, issue: Issue): Array[IssueComment] do
-               var res = new Array[IssueComment]
-               var count = issue.comments or else 0
-               var page = 1
-               loop
-                       var array = get("/repos/{repo.full_name}/issues/{issue.number}/comments?page={page}")
-                       if not array isa JsonArray then break
-                       if array.is_empty then break
-                       for obj in array do
-                               if not obj isa JsonObject then continue
-                               var id = obj["id"].as(Int)
-                               var comment = load_issue_comment(repo, id)
-                               if comment == null then continue
-                               res.add(comment)
-                       end
-                       if res.length >= count then break
-                       page += 1
-               end
-               return res
+       fun get_issue_comments(repo_slug: String, issue_number: Int, page, per_page: nullable Int): Array[IssueComment] do
+               return new GithubArray[IssueComment].from(get(
+                       "/repos/{repo_slug}/issues/{issue_number}/comments?{pagination(page, per_page)}"))
        end
 
        # List of events on this issue.
-       fun load_issue_events(repo: Repo, issue: Issue): Array[IssueEvent] do
-               var res = new Array[IssueEvent]
-               var key = "/repos/{repo.full_name}/issues/{issue.number}"
-               var page = 1
-               loop
-                       var array = get("{key}/events?page={page}")
-                       if not array isa JsonArray or array.is_empty then break
-                       for obj in array do
-                               if not obj isa JsonObject then continue
-                               var event = deserialize(obj.to_json).as(nullable IssueEvent)
-                               if event == null then continue
-                               res.add event
-                       end
-                       page += 1
-               end
-               return res
+       fun get_issue_events(repo_slug: String, issue_number: Int, page, per_page: nullable Int): Array[IssueEvent] do
+               return new GithubArray[IssueEvent].from(get(
+                       "/repos/{repo_slug}/issues/{issue_number}/events?{pagination(page, per_page)}"))
        end
 
        # Get the Github pull request #`number`.
@@ -426,14 +343,25 @@ class GithubAPI
        #
        # ~~~nitish
        # var api = new GithubAPI(get_github_oauth)
-       # var repo = api.load_repo("nitlang/nit")
+       # var repo = api.get_repo("nitlang/nit")
        # assert repo != null
-       # var pull = api.load_pull(repo, 1)
+       # var pull = api.get_pull(repo, 1)
        # assert pull.title == "Doc"
        # assert pull.user.login == "Morriar"
        # ~~~
-       fun load_pull(repo: Repo, number: Int): nullable PullRequest do
-               return load_from_github("/repos/{repo.full_name}/pulls/{number}").as(nullable PullRequest)
+       fun get_pull(repo_slug: String, number: Int): nullable PullRequest do
+               return get("/repos/{repo_slug}/pulls/{number}").as(nullable PullRequest)
+       end
+
+       # List of comments on a pull request
+       fun get_pull_comments(repo_slug: String, pull_number: Int, page, per_page: nullable Int): Array[PullComment] do
+               return new GithubArray[PullComment].from(get(
+                       "/repos/{repo_slug}/pulls/{pull_number}/comments?{pagination(page, per_page)}"))
+       end
+
+       # Get a specific pull request comment
+       fun get_pull_comment(repo_slug: String, id: Int): nullable PullComment do
+               return get("/repos/{repo_slug}/pulls/comments/{id}").as(nullable PullComment)
        end
 
        # Get the Github label with `name`.
@@ -442,13 +370,13 @@ class GithubAPI
        #
        # ~~~nitish
        # var api = new GithubAPI(get_github_oauth)
-       # var repo = api.load_repo("nitlang/nit")
+       # var repo = api.get_repo("nitlang/nit")
        # assert repo != null
-       # var labl = api.load_label(repo, "ok_will_merge")
+       # var labl = api.get_label(repo, "ok_will_merge")
        # assert labl != null
        # ~~~
-       fun load_label(repo: Repo, name: String): nullable Label do
-               return load_from_github("/repos/{repo.full_name}/labels/{name}").as(nullable Label)
+       fun get_label(repo_slug: String, name: String): nullable Label do
+               return get("/repos/{repo_slug}/labels/{name}").as(nullable Label)
        end
 
        # Get the Github milestone with `id`.
@@ -457,13 +385,13 @@ class GithubAPI
        #
        # ~~~nitish
        # var api = new GithubAPI(get_github_oauth)
-       # var repo = api.load_repo("nitlang/nit")
+       # var repo = api.get_repo("nitlang/nit")
        # assert repo != null
-       # var stone = api.load_milestone(repo, 4)
+       # var stone = api.get_milestone(repo, 4)
        # assert stone.title == "v1.0prealpha"
        # ~~~
-       fun load_milestone(repo: Repo, id: Int): nullable Milestone do
-               return load_from_github("/repos/{repo.full_name}/milestones/{id}").as(nullable Milestone)
+       fun get_milestone(repo_slug: String, id: Int): nullable Milestone do
+               return get("/repos/{repo_slug}/milestones/{id}").as(nullable Milestone)
        end
 
        # Get the Github issue event with `id`.
@@ -472,17 +400,17 @@ class GithubAPI
        #
        # ~~~nitish
        # var api = new GithubAPI(get_github_oauth)
-       # var repo = api.load_repo("nitlang/nit")
+       # var repo = api.get_repo("nitlang/nit")
        # assert repo isa Repo
-       # var event = api.load_issue_event(repo, 199674194)
+       # var event = api.get_issue_event(repo, 199674194)
        # assert event isa IssueEvent
        # assert event.actor.login == "privat"
        # assert event.event == "labeled"
        # assert event.labl isa Label
        # assert event.labl.name == "need_review"
        # ~~~
-       fun load_issue_event(repo: Repo, id: Int): nullable IssueEvent do
-               return load_from_github("/repos/{repo.full_name}/issues/events/{id}").as(nullable IssueEvent)
+       fun get_issue_event(repo_slug: String, id: Int): nullable IssueEvent do
+               return get("/repos/{repo_slug}/issues/events/{id}").as(nullable IssueEvent)
        end
 
        # Get the Github commit comment with `id`.
@@ -491,15 +419,15 @@ class GithubAPI
        #
        # ~~~nitish
        # var api = new GithubAPI(get_github_oauth)
-       # var repo = api.load_repo("nitlang/nit")
+       # var repo = api.get_repo("nitlang/nit")
        # assert repo != null
-       # var comment = api.load_commit_comment(repo, 8982707)
+       # var comment = api.get_commit_comment(repo, 8982707)
        # assert comment.user.login == "Morriar"
        # assert comment.body == "For testing purposes...\n"
        # assert comment.commit_id == "7eacb86d1e24b7e72bc9ac869bf7182c0300ceca"
        # ~~~
-       fun load_commit_comment(repo: Repo, id: Int): nullable CommitComment do
-               return load_from_github("/repos/{repo.full_name}/comments/{id}").as(nullable CommitComment)
+       fun get_commit_comment(repo_slug: String, id: Int): nullable CommitComment do
+               return get("/repos/{repo_slug}/comments/{id}").as(nullable CommitComment)
        end
 
        # Get the Github issue comment with `id`.
@@ -508,49 +436,73 @@ class GithubAPI
        #
        # ~~~nitish
        # var api = new GithubAPI(get_github_oauth)
-       # var repo = api.load_repo("nitlang/nit")
+       # var repo = api.get_repo("nitlang/nit")
        # assert repo != null
-       # var comment = api.load_issue_comment(repo, 6020149)
+       # var comment = api.get_issue_comment(repo, 6020149)
        # assert comment.user.login == "privat"
        # assert comment.created_at.to_s == "2012-05-30T20:16:54Z"
        # assert comment.issue_number == 10
        # ~~~
-       fun load_issue_comment(repo: Repo, id: Int): nullable IssueComment do
-               return load_from_github("/repos/{repo.full_name}/issues/comments/{id}").as(nullable IssueComment)
+       fun get_issue_comment(repo_slug: String, id: Int): nullable IssueComment do
+               return get("/repos/{repo_slug}/issues/comments/{id}").as(nullable IssueComment)
        end
 
-       # Get the Github diff comment with `id`.
-       #
-       # Returns `null` if the comment cannot be found.
+       private fun pagination(page, per_page: nullable Int): String do
+               return "page={page or else 1}&per_page={per_page or else 30}"
+       end
+end
+
+# Return deserialization as an array of E
+#
+# Non-subtypes will be ignored.
+private class GithubArray[E]
+       super Array[E]
+
+       # Create `self` from an Array of objects
        #
-       # ~~~nitish
-       # var api = new GithubAPI(get_github_oauth)
-       # var repo = api.load_repo("nitlang/nit")
-       # assert repo != null
-       # var comment = api.load_review_comment(repo, 21010363)
-       # assert comment.path == "src/modelize/modelize_property.nit"
-       # assert comment.original_position == 26
-       # assert comment.pull_number == 945
-       # ~~~
-       fun load_review_comment(repo: Repo, id: Int): nullable ReviewComment do
-               return load_from_github("/repos/{repo.full_name}/pulls/comments/{id}").as(nullable ReviewComment)
+       # Objects non-subtyping E will be ignored.
+       init from(res: nullable Object) do
+               if not res isa Array[Object] then return
+               for obj in res do
+                       if obj isa E then add obj
+               end
        end
 end
 
-# Something returned by the Github API.
+# An Error returned by GithubAPI
+class GithubError
+       super Error
+end
+
+# An Error returned by https://api.github.com
 #
-# Mainly a Nit wrapper around a JSON objet.
-abstract class GithubEntity
-       serialize
+# Anything that can occurs when sending request to the API:
+# * Can't connect to API
+# * Ressource not found
+# * Validation error
+# * ...
+class GithubAPIError
+       super GithubError
+
+       # Status code obtained
+       var status_code: Int
+
+       # URI that returned the error
+       var requested_uri: String
+end
+
+# An Error returned while deserializing objects from the API
+class GithubDeserializerErrors
+       super GithubError
 
-       # Github page url.
-       var html_url: nullable String is writable
+       # Errors returned by the deserizalization process
+       var deserizalization_errors: Array[Error]
 end
 
 # A Github user
 #
 # Provides access to [Github user data](https://developer.github.com/v3/users/).
-# Should be accessed from `GithubAPI::load_user`.
+# Should be accessed from `GithubAPI::get_user`.
 class User
        super GitUser
        serialize
@@ -574,9 +526,8 @@ end
 # A Github repository.
 #
 # Provides access to [Github repo data](https://developer.github.com/v3/repos/).
-# Should be accessed from `GithubAPI::load_repo`.
+# Should be accessed from `GithubAPI::get_repo`.
 class Repo
-       super GithubEntity
        serialize
 
        # Repo full name on Github.
@@ -589,16 +540,15 @@ class Repo
        var owner: User is writable
 
        # Repo default branch name.
-       var default_branch: String is writable
+       var default_branch: nullable String = null is optional, writable
 end
 
 # A Github branch.
 #
-# Should be accessed from `GithubAPI::load_branch`.
+# Should be accessed from `GithubAPI::get_branch`.
 #
 # See <https://developer.github.com/v3/repos/#list-branches>.
 class Branch
-       super GithubEntity
        serialize
 
        # Branch name.
@@ -610,11 +560,10 @@ end
 
 # A Github commit.
 #
-# Should be accessed from `GithubAPI::load_commit`.
+# Should be accessed from `GithubAPI::get_commit`.
 #
 # See <https://developer.github.com/v3/repos/commits/>.
 class Commit
-       super GithubEntity
        serialize
 
        # Commit SHA.
@@ -632,23 +581,9 @@ class Commit
        # Authoring date as String.
        var author_date: nullable String is writable
 
-       # Authoring date as ISODate.
-       fun iso_author_date: nullable ISODate do
-               var author_date = self.author_date
-               if author_date == null then return null
-               return new ISODate.from_string(author_date)
-       end
-
        # Commit date as String.
        var commit_date: nullable String is writable
 
-       # Commit date as ISODate.
-       fun iso_commit_date: nullable ISODate do
-               var commit_date = self.commit_date
-               if commit_date == null then return null
-               return new ISODate.from_string(commit_date)
-       end
-
        # List files staged in this commit.
        var files: nullable Array[GithubFile] = null is optional, writable
 
@@ -661,7 +596,6 @@ end
 
 # A Git Commit representation
 class GitCommit
-       super GithubEntity
        serialize
 
        # Commit SHA.
@@ -682,27 +616,18 @@ end
 
 # Git user authoring data
 class GitUser
-       super GithubEntity
        serialize
 
        # Authoring date.
        var date: nullable String = null is writable
-
-       # Authoring date as ISODate.
-       fun iso_date: nullable ISODate do
-               var date = self.date
-               if date == null then return null
-               return new ISODate.from_string(date)
-       end
 end
 
 # A Github issue.
 #
-# Should be accessed from `GithubAPI::load_issue`.
+# Should be accessed from `GithubAPI::get_issue`.
 #
 # See <https://developer.github.com/v3/issues/>.
 class Issue
-       super GithubEntity
        serialize
 
        # Issue Github ID.
@@ -738,31 +663,12 @@ class Issue
        # Creation time as String.
        var created_at: String is writable
 
-       # Creation time as ISODate.
-       fun iso_created_at: ISODate do
-               return new ISODate.from_string(created_at)
-       end
-
        # Last update time as String (if any).
        var updated_at: nullable String is writable
 
-       # Last update date as ISODate.
-       fun iso_updated_at: nullable ISODate do
-               var updated_at = self.updated_at
-               if updated_at == null then return null
-               return new ISODate.from_string(updated_at)
-       end
-
        # Close time as String (if any).
        var closed_at: nullable String is writable
 
-       # Close time as ISODate.
-       fun iso_closed_at: nullable ISODate do
-               var closed_at = self.closed_at
-               if closed_at == null then return null
-               return new ISODate.from_string(closed_at)
-       end
-
        # Full description of the issue.
        var body: nullable String is writable
 
@@ -775,7 +681,7 @@ end
 
 # A Github pull request.
 #
-# Should be accessed from `GithubAPI::load_pull`.
+# Should be accessed from `GithubAPI::get_pull`.
 #
 # PullRequest are basically Issues with more data.
 # See <https://developer.github.com/v3/pulls/>.
@@ -786,18 +692,11 @@ class PullRequest
        # Merge time as String (if any).
        var merged_at: nullable String is writable
 
-       # Merge time as ISODate.
-       fun iso_merged_at: nullable ISODate do
-               var merged_at = self.merged_at
-               if merged_at == null then return null
-               return new ISODate.from_string(merged_at)
-       end
-
        # Merge commit SHA.
        var merge_commit_sha: nullable String is writable
 
        # Count of comments made on the pull request diff.
-       var review_comments: Int is writable
+       var review_comments: nullable Int is writable
 
        # Pull request head (can be a commit SHA or a branch name).
        var head: PullRef is writable
@@ -806,7 +705,7 @@ class PullRequest
        var base: PullRef is writable
 
        # Is this pull request merged?
-       var merged: Bool is writable
+       var merged: nullable Bool is writable
 
        # Is this pull request mergeable?
        var mergeable: nullable Bool is writable
@@ -814,22 +713,22 @@ class PullRequest
        # Mergeable state of this pull request.
        #
        # See <https://developer.github.com/v3/pulls/#list-pull-requests>.
-       var mergeable_state: String is writable
+       var mergeable_state: nullable String is writable
 
        # User that merged this pull request (if any).
        var merged_by: nullable User is writable
 
        # Count of commits in this pull request.
-       var commits: Int is writable
+       var commits: nullable Int is writable
 
        # Added line count.
-       var additions: Int is writable
+       var additions: nullable Int is writable
 
        # Deleted line count.
-       var deletions: Int is writable
+       var deletions: nullable Int is writable
 
        # Changed files count.
-       var changed_files: Int is writable
+       var changed_files: nullable Int is writable
 
        # URL to patch file
        var patch_url: nullable String is writable
@@ -859,11 +758,10 @@ end
 
 # A Github label.
 #
-# Should be accessed from `GithubAPI::load_label`.
+# Should be accessed from `GithubAPI::get_label`.
 #
 # See <https://developer.github.com/v3/issues/labels/>.
 class Label
-       super GithubEntity
        serialize
 
        # Label name.
@@ -875,11 +773,10 @@ end
 
 # A Github milestone.
 #
-# Should be accessed from `GithubAPI::load_milestone`.
+# Should be accessed from `GithubAPI::get_milestone`.
 #
 # See <https://developer.github.com/v3/issues/milestones/>.
 class Milestone
-       super GithubEntity
        serialize
 
        # The milestone id on Github.
@@ -903,45 +800,17 @@ class Milestone
        # Creation time as String.
        var created_at: nullable String is writable
 
-       # Creation time as ISODate.
-       fun iso_created_at: nullable ISODate do
-               var created_at = self.created_at
-               if created_at == null then return null
-               return new ISODate.from_string(created_at)
-       end
-
        # User that created this milestone.
        var creator: nullable User is writable
 
        # Due time as String (if any).
        var due_on: nullable String is writable
 
-       # Due time in ISODate format (if any).
-       fun iso_due_on: nullable ISODate do
-               var due_on = self.due_on
-               if due_on == null then return null
-               return new ISODate.from_string(due_on)
-       end
-
        # Last update time as String (if any).
        var updated_at: nullable String is writable
 
-       # Last update date as ISODate.
-       fun iso_updated_at: nullable ISODate do
-               var updated_at = self.updated_at
-               if updated_at == null then return null
-               return new ISODate.from_string(updated_at)
-       end
-
        # Close time as String (if any).
        var closed_at: nullable String is writable
-
-       # Close time as ISODate.
-       fun iso_closed_at: nullable ISODate do
-               var closed_at = self.closed_at
-               if closed_at == null then return null
-               return new ISODate.from_string(closed_at)
-       end
 end
 
 # A Github comment
@@ -950,9 +819,8 @@ end
 #
 # * `CommitComment` are made on a commit page.
 # * `IssueComment` are made on an issue or pull request page.
-# * `ReviewComment` are made on the diff associated to a pull request.
+# * `PullComment` are made on the diff associated to a pull request.
 abstract class Comment
-       super GithubEntity
        serialize
 
        # Identifier of this comment.
@@ -964,21 +832,9 @@ abstract class Comment
        # Creation time as String.
        var created_at: String is writable
 
-       # Creation time as ISODate.
-       fun iso_created_at: nullable ISODate do
-               return new ISODate.from_string(created_at)
-       end
-
        # Last update time as String (if any).
        var updated_at: nullable String is writable
 
-       # Last update date as ISODate.
-       fun iso_updated_at: nullable ISODate do
-               var updated_at = self.updated_at
-               if updated_at == null then return null
-               return new ISODate.from_string(updated_at)
-       end
-
        # Comment body text.
        var body: String is writable
 
@@ -1006,9 +862,58 @@ class CommitComment
        var path: nullable String is writable
 end
 
+# Status of a commit
+#
+# Can contain sub-status for reviews, CI etc.
+class CommitStatus
+       serialize
+
+       # Global state of this commit
+       var state: nullable String = null is optional, writable
+
+       # Sha of the commit this status is for
+       var sha: nullable String = null is optional, writable
+
+       # Repository the commit belongs to
+       var repository: nullable Repo = null is optional, writable
+
+       # All sub statuses (one for each check)
+       var statuses = new Array[RepoStatus] is optional, writable
+
+       # Total count of sub statuses
+       var total_count: nullable Int = null is optional, writable
+end
+
+# Sub status of a CommitStatus
+#
+# Represents a check applied to a commit (reviews, CI, ...).
+class RepoStatus
+       serialize
+
+       # State of this check
+       var state: nullable String = null is optional, writable
+
+       # Description of this check
+       var description: nullable String = null is optional, writable
+
+       # External URL
+       var target_url: nullable String = null is optional, writable
+
+       # Context this status is related to
+       #
+       # Used to hold the name of the check applied.
+       var context: nullable String = null is optional, writable
+
+       # Date when this status was created
+       var created_at: nullable String = null is optional, writable
+
+       # Last date this status was updated
+       var updated_at: nullable String = null is optional, writable
+end
+
 # Comments made on Github issue and pull request pages.
 #
-# Should be accessed from `GithubAPI::load_issue_comment`.
+# Should be accessed from `GithubAPI::get_issue_comment`.
 #
 # See <https://developer.github.com/v3/issues/comments/>.
 class IssueComment
@@ -1024,10 +929,10 @@ end
 
 # Comments made on Github pull request diffs.
 #
-# Should be accessed from `GithubAPI::load_diff_comment`.
+# Should be accessed from `GithubAPI::get_diff_comment`.
 #
 # See <https://developer.github.com/v3/pulls/comments/>.
-class ReviewComment
+class PullComment
        super Comment
        serialize
 
@@ -1058,11 +963,10 @@ end
 
 # An event that occurs on a Github `Issue`.
 #
-# Should be accessed from `GithubAPI::load_issue_event`.
+# Should be accessed from `GithubAPI::get_issue_event`.
 #
 # See <https://developer.github.com/v3/issues/events/>.
 class IssueEvent
-       super GithubEntity
        serialize
 
        # Event id on Github.
@@ -1074,11 +978,6 @@ class IssueEvent
        # Creation time as String.
        var created_at: String is writable
 
-       # Creation time as ISODate.
-       fun iso_created_at: nullable ISODate do
-               return new ISODate.from_string(created_at)
-       end
-
        # Event descriptor.
        var event: String is writable
 
@@ -1119,22 +1018,36 @@ class ContributorStats
 
        redef type OTHER: ContributorStats
 
-       # Github API client.
-       var api: GithubAPI is writable
-
        # User these statistics are about.
        var author: User is writable
 
        # Total number of commit.
        var total: Int is writable
 
-       # Are of weeks of activity with detailed statistics.
-       var weeks: JsonArray is writable
+       # Array of weeks of activity with detailed statistics.
+       var weeks: Array[ContributorWeek] is writable
 
        # ContributorStats can be compared on the total amount of commits.
        redef fun <(o) do return total < o.total
 end
 
+# Contributor stats weekly hash
+class ContributorWeek
+       serialize
+
+       # Start of week given a Unix timestamp
+       var w: Int
+
+       # Number of additions
+       var a: Int
+
+       # Number of deletions
+       var d: Int
+
+       # Number of commits
+       var c: Int
+end
+
 # A Github file representation.
 #
 # Mostly a wrapper around a json object.
@@ -1145,46 +1058,72 @@ class GithubFile
        var filename: String is writable
 end
 
-# Make ISO Datew serilizable
-redef class ISODate
+# A list of results returned buy `/search`
+class SearchResults
        serialize
+
+       # Total count with other pages
+       var total_count: Int
+
+       # Does this page contain all the results?
+       var incomplete_results: Bool
+
+       # Results in this page
+       var items: Array[Object]
 end
 
 # JsonDeserializer specific for Github objects.
 class GithubDeserializer
        super JsonDeserializer
 
-       redef fun class_name_heuristic(json_object) do
-               if json_object.has_key("login") then
-                       return "User"
-               else if json_object.has_key("full_name") then
-                       return "Repo"
-               else if json_object.has_key("name") and json_object.has_key("commit") then
+       private var pattern_base = "https://api.github.com"
+
+       # Url patterns to class names
+       var url_patterns: Map[Regex, String] is lazy do
+               var map = new HashMap[Regex, String]
+               map["{pattern_base}/users/[^/]*$".to_re] = "User"
+               map["{pattern_base}/repos/[^/]*/[^/]*$".to_re] = "Repo"
+               map["{pattern_base}/repos/[^/]*/[^/]*/labels/[^/]+$".to_re] = "Label"
+               map["{pattern_base}/repos/[^/]*/[^/]*/milestones/[0-9]+$".to_re] = "Milestone"
+               map["{pattern_base}/repos/[^/]*/[^/]*/issues/[0-9]+$".to_re] = "Issue"
+               map["{pattern_base}/repos/[^/]*/[^/]*/issues/comments/[0-9]+$".to_re] = "IssueComment"
+               map["{pattern_base}/repos/[^/]*/[^/]*/issues/events/[0-9]+$".to_re] = "IssueEvent"
+               map["{pattern_base}/repos/[^/]*/[^/]*/pulls/[0-9]+$".to_re] = "PullRequest"
+               map["{pattern_base}/repos/[^/]*/[^/]*/pulls/comments/[0-9]+$".to_re] = "PullComment"
+               map["{pattern_base}/repos/[^/]*/[^/]*/comments/[0-9]+$".to_re] = "CommitComment"
+               map["{pattern_base}/repos/[^/]*/[^/]*/commits/[a-f0-9]+$".to_re] = "Commit"
+               map["{pattern_base}/repos/[^/]*/[^/]*/commits/[a-f0-9]+/status$".to_re] = "CommitStatus"
+               map["{pattern_base}/repos/[^/]*/[^/]*/statuses/[a-f0-9]+$".to_re] = "RepoStatus"
+               return map
+       end
+
+       # Match `url` property in object to a class name
+       fun url_heuristic(raw: Map[String, nullable Object]): nullable String do
+               if not raw.has_key("url") then return null
+
+               var url = raw["url"].as(String)
+               for re, class_name in url_patterns do
+                       if url.has(re) then return class_name
+               end
+               return null
+       end
+
+       redef fun class_name_heuristic(raw) do
+               # Try with url
+               var class_name = url_heuristic(raw)
+               if class_name != null then return class_name
+
+               # print raw.serialize_to_json(true, true) # debug
+
+               # Use properties heuristics
+               if raw.has_key("name") and raw.has_key("commit") then
                        return "Branch"
-               else if json_object.has_key("sha") and json_object.has_key("ref") then
-                       return "PullRef"
-               else if (json_object.has_key("sha") and json_object.has_key("commit")) or (json_object.has_key("id") and json_object.has_key("tree_id")) then
-                       return "Commit"
-               else if json_object.has_key("sha") and json_object.has_key("tree") then
-                       return "GitCommit"
-               else if json_object.has_key("name") and json_object.has_key("date") then
-                       return "GitUser"
-               else if json_object.has_key("number") and json_object.has_key("patch_url") then
-                       return "PullRequest"
-               else if json_object.has_key("open_issues") and json_object.has_key("closed_issues") then
-                       return "Milestone"
-               else if json_object.has_key("number") and json_object.has_key("title") then
-                       return "Issue"
-               else if json_object.has_key("color") then
-                       return "Label"
-               else if json_object.has_key("event") then
-                       return "IssueEvent"
-               else if json_object.has_key("original_commit_id") then
-                       return "ReviewComment"
-               else if json_object.has_key("commit_id") then
-                       return "CommitComment"
-               else if json_object.has_key("issue_url") then
-                       return "IssueComment"
+               else if raw.has_key("total_count") and raw.has_key("items") then
+                       return "SearchResults"
+               else if raw.has_key("total") and raw.has_key("weeks") then
+                       return "ContributorStats"
+               else if raw.has_key("a") and raw.has_key("d") and raw.has_key("c") then
+                       return "ContributorWeek"
                end
                return null
        end
@@ -1205,3 +1144,16 @@ class GithubDeserializer
                return super
        end
 end
+
+# Gets the Github token from `git` configuration
+#
+# Return the value of `git config --get github.oauthtoken`
+# or `""` if no key exists.
+fun get_github_oauth: String
+do
+       var p = new ProcessReader("git", "config", "--get", "github.oauthtoken")
+       var token = p.read_line
+       p.wait
+       p.close
+       return token.trim
+end
index 466e4a9..dbb4ad0 100644 (file)
@@ -28,9 +28,9 @@
 #
 # var name = "nitlang/nit"
 # assert not api.has_cache(name)
-# var repo = api.load_repo(name) # load from GitHub
+# var repo = api.get_repo(name) # load from GitHub
 # #assert api.has_cache(name) FIXME bring back this assert
-# repo = api.load_repo(name) # load from cache
+# repo = api.get_repo(name) # load from cache
 #
 # api.clear_cache
 # assert not api.has_cache(name)
@@ -55,23 +55,23 @@ redef class GithubAPI
        fun clear_cache do store.clear
 
        # If no cache data is found for `key` then json is loaded from Github API.
-       redef fun load_from_github(key) do
+       redef fun get(key, headers, data) do
                if not enable_cache then return super
                if store.has_key(key) then
-                       message(1, "Get {key} (cache)")
+                       # print "Get {key} (cache)" # debug
                        was_error = false
-                       return deserialize(store.load_object(key).to_json).as(nullable GithubEntity)
+                       return deserialize(store.load_object(key).to_json)
                end
                var obj = super
-               if not was_error then
-                       cache(key, obj.as(not null))
+               if not was_error and obj isa Serializable then
+                       cache(key, obj)
                end
                return obj
        end
 
        # Save `json` data in cache under `key`.
-       private fun cache(key: String, obj: GithubEntity) do
-               message(2, "Cache key {key}")
+       private fun cache(key: String, obj: Serializable) do
+               # print "Cache key {key}" # debug
                store.store_object(key, obj.to_json.parse_json.as(JsonObject))
        end
 
index f2f398a..952ee62 100644 (file)
@@ -185,12 +185,12 @@ class PullRequestEvent
 end
 
 # Triggered when a comment is created on a pull request diff.
-class PullRequestReviewCommentEvent
+class PullRequestPullCommentEvent
        super GithubEvent
        serialize
 
        # The `Comment` itself.
-       var comment: ReviewComment is writable
+       var comment: PullComment is writable
 
        # `PullRequest` the `comment` belongs to.
        var pull: PullRequest is writable
@@ -268,7 +268,7 @@ redef class GithubDeserializer
                else if json_object.has_key("action") and json_object.has_key("number") then
                        return "PullRequestEvent"
                else if json_object.has_key("action") and json_object.has_key("pull") and json_object.has_key("comment") then
-                       return "PullRequestReviewCommentEvent"
+                       return "PullRequestPullCommentEvent"
                else if json_object.has_key("head_commit") and json_object.has_key("commits") then
                        return "PushEvent"
                else if json_object.has_key("action") and json_object.has_key("branches") then
diff --git a/lib/github/github_curl.nit b/lib/github/github_curl.nit
deleted file mode 100644 (file)
index 6f28546..0000000
+++ /dev/null
@@ -1,147 +0,0 @@
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Curl extention to access the Github API
-# See https://developer.github.com/v3/ for details
-module github_curl
-
-import curl
-import json::static
-import json
-
-# Specific Curl that know hot to talk to the github API
-class GithubCurl
-
-       # Headers to use on all requests
-       var header: HeaderMap is noinit
-
-       # OAuth token
-       #
-       # Use an empty string to disable authentication and connect
-       # anonymously (thus less capabilities and more rate limits)
-       var auth: String
-
-       # User agent (is used by github to contact devs in case of problems)
-       # Eg. "Awesome-Octocat-App"
-       var user_agent: String
-
-       init do
-               header = new HeaderMap
-               if auth != "" then header["Authorization"] = "token {auth}"
-       end
-
-       # Get the requested URI, and check the HTTP response. Then convert to JSON
-       # and check for Github errors.
-       fun get_and_check(uri: String): nullable Serializable
-       do
-               var request = new CurlHTTPRequest(uri)
-               request.user_agent = user_agent
-               request.headers = header
-               var response = request.execute
-
-               if response isa CurlResponseSuccess then
-                       var obj = response.body_str.parse_json
-                       if obj isa JsonObject then
-                               if obj.keys.has("message") and obj.keys.has("documentation_url") then
-                                       print "Message from Github API: {obj["message"] or else ""}"
-                                       print "Requested URI: {uri}"
-                                       abort
-                               end
-                       end
-                       return obj
-
-               else if response isa CurlResponseFailed then
-                       print "Request to Github API failed"
-                       print "Requested URI: {uri}"
-                       print "Error code: {response.error_code}"
-                       print "Error msg: {response.error_msg}"
-                       abort
-               else abort
-       end
-
-       # Get the requested URI, and check the HTTP response.
-       # Then convert to JSON and check for Github errors.
-       # Unlike `get_and_check`, error do not trigger an abort but
-       # are reported as `GithubError`.
-       fun get_and_parse(uri: String): nullable Serializable
-       do
-               var request = new CurlHTTPRequest(uri)
-               request.user_agent = user_agent
-               request.headers = header
-               var response = request.execute
-               if response isa CurlResponseSuccess then
-                       var obj = response.body_str.parse_json
-                       if obj isa JsonObject then
-                               if obj.keys.has("message") and obj.keys.has("documentation_url") then
-                                       var title = "GithubAPIError"
-                                       var msg = obj["message"].as(not null).to_s
-                                       var err = new GithubError(msg, title)
-                                       err.json["requested_uri"] = uri
-                                       err.json["status_code"] = response.status_code
-                                       return err
-                               end
-                       end
-                       return obj
-
-               else if response isa CurlResponseFailed then
-                       var title = "CurlResponseFailed"
-                       var msg = "Request to Github API failed"
-                       var err = new GithubError(msg, title)
-                       err.json["requested_uri"] = uri
-                       err.json["error_code"] = response.error_code
-                       err.json["response"] = response.error_msg
-                       return err
-               else abort
-       end
-
-end
-
-# An error thrown by the Github API.
-#
-# Depending on the kind of error, additionnal informations can be stored in
-# the error object.
-# Check the `json` value to find them.
-class GithubError
-       super Error
-       super Serializable
-
-       # The name of the error.
-       var name: String
-
-       # The json content of the error.
-       var json = new JsonObject
-
-       redef init do
-               super
-               json["error"] = name.to_json
-               json["message"] = message.to_json
-       end
-
-       redef fun serialize_to(v) do json.serialize_to v
-
-       redef fun to_s do return "[{name}] {super}"
-end
-
-# Gets the Github token from `git` configuration
-#
-# Return the value of `git config --get github.oauthtoken`
-# or `""` if no key exists.
-fun get_github_oauth: String
-do
-       var p = new ProcessReader("git", "config", "--get", "github.oauthtoken")
-       var token = p.read_line
-       p.wait
-       p.close
-       return token.trim
-end
index 70f16c2..945359f 100644 (file)
@@ -88,36 +88,35 @@ abstract class HookListener
        end
 
        # How to build events from received json objects.
-       fun event_factory(kind: String, json: JsonObject): GithubEvent do
+       fun event_factory(kind: String, json: String): nullable GithubEvent do
                if kind == "commit_comment" then
-                       return api.deserialize(json.to_json).as(CommitCommentEvent)
+                       return api.deserialize(json).as(CommitCommentEvent)
                else if kind == "create" then
-                       return api.deserialize(json.to_json).as(CreateEvent)
+                       return api.deserialize(json).as(CreateEvent)
                else if kind == "delete" then
-                       return api.deserialize(json.to_json).as(DeleteEvent)
+                       return api.deserialize(json).as(DeleteEvent)
                else if kind == "deployment" then
-                       return api.deserialize(json.to_json).as(DeploymentEvent)
+                       return api.deserialize(json).as(DeploymentEvent)
                else if kind == "deployment_status" then
-                       return api.deserialize(json.to_json).as(DeploymentStatusEvent)
+                       return api.deserialize(json).as(DeploymentStatusEvent)
                else if kind == "fork" then
-                       return api.deserialize(json.to_json).as(ForkEvent)
+                       return api.deserialize(json).as(ForkEvent)
                else if kind == "issues" then
-                       return api.deserialize(json.to_json).as(IssuesEvent)
+                       return api.deserialize(json).as(IssuesEvent)
                else if kind == "issue_comment" then
-                       return api.deserialize(json.to_json).as(IssueCommentEvent)
+                       return api.deserialize(json).as(IssueCommentEvent)
                else if kind == "member" then
-                       return api.deserialize(json.to_json).as(MemberEvent)
+                       return api.deserialize(json).as(MemberEvent)
                else if kind == "pull_request" then
-                       return api.deserialize(json.to_json).as(PullRequestEvent)
+                       return api.deserialize(json).as(PullRequestEvent)
                else if kind == "pull_request_review_comment" then
-                       return api.deserialize(json.to_json).as(PullRequestReviewCommentEvent)
+                       return api.deserialize(json).as(PullRequestPullCommentEvent)
                else if kind == "push" then
-                       return api.deserialize(json.to_json).as(PushEvent)
+                       return api.deserialize(json).as(PushEvent)
                else if kind == "status" then
-                       return api.deserialize(json.to_json).as(StatusEvent)
-               else
-                       return api.deserialize(json.to_json).as(GithubEvent)
+                       return api.deserialize(json).as(StatusEvent)
                end
+               return null
        end
 
        # What to do when we receive an event from a hook?
@@ -139,11 +138,9 @@ private class HookAction
                # get event type
                var kind = request.header.get_or_null("X-GitHub-Event")
                if kind == null then return new HttpResponse(403)
-               # get POST object
-               var obj = request.body.parse_json
-               if not obj isa JsonObject then return new HttpResponse(403)
                # parse event
-               var event = listener.event_factory(kind, obj)
+               var event = listener.event_factory(kind, request.body)
+               if event == null then return new HttpResponse(403)
                listener.apply_event(event)
                return new HttpResponse(200)
        end
index 6a60c5d..fe8e0bc 100644 (file)
@@ -120,9 +120,7 @@ class LoaderConfig
 
        # Github tokens wallet\13
        var wallet: GithubWallet is lazy do
-               var wallet = new GithubWallet.from_tokens(tokens)
-               wallet.no_colors = no_colors
-               return wallet
+               return new GithubWallet(tokens)
        end
 
        # Use colors in console display
@@ -236,32 +234,32 @@ class Loader
                return new IssueEventRepo(config.db.collection("issue_events"))
        end
 
-       fun start(repo_full_name: String) do
-               var job = jobs.find_by_id(repo_full_name)
+       fun start(repo_slug: String) do
+               var job = jobs.find_by_id(repo_slug)
                if job == null then
-                       log.info "Creating new job for `{repo_full_name}`"
-                       job = add_job(repo_full_name)
+                       log.info "Creating new job for `{repo_slug}`"
+                       job = add_job(repo_slug)
                else
-                       log.info "Resuming pending job for `{repo_full_name}`"
+                       log.info "Resuming pending job for `{repo_slug}`"
                end
                print "Load history for {job}..."
-               load_branches(job)
-               load_issues(job)
+               get_branches(job)
+               get_issues(job)
                finish_job(job)
        end
 
-       fun remove(repo_full_name: String) do
-               var job = jobs.find_by_id(repo_full_name)
+       fun remove(repo_slug: String) do
+               var job = jobs.find_by_id(repo_slug)
                if job == null then
-                       log.info "No job found for `{repo_full_name}`"
+                       log.info "No job found for `{repo_slug}`"
                else
-                       jobs.remove_by_id(repo_full_name)
-                       log.info "Deleted job for `{repo_full_name}`"
+                       jobs.remove_by_id(repo_slug)
+                       log.info "Deleted job for `{repo_slug}`"
                end
        end
 
        # Show wallet status
-       fun show_wallet do config.wallet.show_status
+       fun show_wallet do config.wallet.show_status(config.no_colors)
 
        # Show jobs status
        fun show_jobs do
@@ -274,10 +272,10 @@ class Loader
        end
 
        # Add a new job
-       fun add_job(repo_full_name: String): LoaderJob do
-               var repo = config.wallet.api.load_repo(repo_full_name)
+       fun add_job(repo_slug: String): LoaderJob do
+               var repo = config.wallet.api.get_repo(repo_slug)
                assert repo != null else
-                       error "Repository `{repo_full_name}` not found"
+                       error "Repository `{repo_slug}` not found"
                end
                repos.save repo
                var job = new LoaderJob(repo, config.start_from_issue)
@@ -291,27 +289,27 @@ class Loader
                jobs.remove_by_id(job.id)
        end
 
-       fun load_branches(job: LoaderJob) do
+       fun get_branches(job: LoaderJob) do
                if config.no_branches then return
 
                var api = config.wallet.api
                var repo = job.repo
-               for branch in api.load_repo_branches(repo) do
+               for branch in api.get_repo_branches(repo.full_name) do
                        branch.repo = repo
                        branches.save branch
-                       load_commits(job, branch)
+                       get_commits(job, branch)
                end
        end
 
-       fun load_commits(job: LoaderJob, branch: Branch) do
+       fun get_commits(job: LoaderJob, branch: Branch) do
                if config.no_commits then return
-               load_commit(job, branch.commit.sha)
+               get_commit(job, branch.commit.sha)
        end
 
-       fun load_commit(job: LoaderJob, commit_sha: String) do
+       fun get_commit(job: LoaderJob, commit_sha: String) do
                if commits.find_by_id(commit_sha) != null then return
                var api = config.wallet.api
-               var commit = api.load_commit(job.repo, commit_sha)
+               var commit = api.get_commit(job.repo.full_name, commit_sha)
                # print commit or else "NULL"
                if commit == null then return
                var message = commit.message or else "no message"
@@ -321,93 +319,87 @@ class Loader
                var parents = commit.parents
                if parents == null then return
                for parent in parents do
-                       load_commit(job, parent.sha)
+                       get_commit(job, parent.sha)
                end
        end
 
        # Load game for `repo_name`.
-       fun load_issues(job: LoaderJob) do
+       fun get_issues(job: LoaderJob) do
                if config.no_issues then return
 
-               var i = job.last_issue
-               var last_issue = load_last_issue(job)
-               if last_issue != null then
-                       while i <= last_issue.number do
-                               load_issue(job, i)
-                               job.last_issue = i
+               var api = config.wallet.api
+               var page = 1
+               var issues = api.get_repo_issues(job.repo.full_name, page, 100)
+               while issues.not_empty do
+                       for issue in issues do
+                               get_issue(job, issue.number)
+                               job.last_issue = issue.number
                                jobs.save job
-                               i += 1
                        end
                end
        end
 
-       # Load the `repo` last issue or abort.
-       private fun load_last_issue(job: LoaderJob): nullable Issue do
-               var api = config.wallet.api
-               return api.load_repo_last_issue(job.repo)
-       end
-
        # Load an issue or abort.
-       private fun load_issue(job: LoaderJob, issue_number: Int) do
+       private fun get_issue(job: LoaderJob, issue_number: Int) do
                if issues.find_by_id("{job.repo.mongo_id}/{issue_number}") != null then return
 
                var api = config.wallet.api
-               var issue = api.load_issue(job.repo, issue_number)
+               var issue = api.get_issue(job.repo.full_name, issue_number)
                assert issue != null else
                        check_error(api, "Issue #{issue_number} not found")
                end
                if issue.is_pull_request then
-                       load_pull(job, issue)
+                       get_pull(job, issue)
                else
                        log.info "Load issue #{issue.number}: {issue.title.split("\n").first}"
                        issue.repo = job.repo
                        issues.save issue
-                       load_issue_events(job, issue)
+                       get_issue_events(job, issue)
                end
-               load_issue_comments(job, issue)
+               get_issue_comments(job, issue)
        end
 
        # Load issue comments.
-       private fun load_issue_comments(job: LoaderJob, issue: Issue) do
+       private fun get_issue_comments(job: LoaderJob, issue: Issue) do
                if config.no_comments then return
                var api = config.wallet.api
-               for comment in api.load_issue_comments(job.repo, issue) do
+               for comment in api.get_issue_comments(job.repo.full_name, issue.number) do
                        comment.repo = job.repo
                        issue_comments.save comment
                end
        end
 
        # Load issue events.
-       private fun load_issue_events(job: LoaderJob, issue: Issue) do
+       private fun get_issue_events(job: LoaderJob, issue: Issue) do
                if config.no_events then return
 
                var api = config.wallet.api
-               for event in api.load_issue_events(job.repo, issue) do
+               for event in api.get_issue_events(job.repo.full_name, issue.number) do
                        event.repo = job.repo
                        issue_events.save event
                end
        end
 
        # Load a pull request or abort.
-       private fun load_pull(job: LoaderJob, issue: Issue): PullRequest do
+       private fun get_pull(job: LoaderJob, issue: Issue): PullRequest do
                var api = config.wallet.api
-               var pr = api.load_pull(job.repo, issue.number)
+               var pr = api.get_pull(job.repo.full_name, issue.number)
                assert pr != null else
                        check_error(api, "Pull request #{issue.number} not found")
                end
                log.info "Load pull request #{issue.number}: {pr.title.split("\n").first}"
                pr.repo = job.repo
                pulls.save pr
-               load_pull_events(job, pr)
+               get_pull_events(job, pr)
                return pr
        end
 
        # Load pull events.
-       private fun load_pull_events(job: LoaderJob, pull: PullRequest) do
+       private fun get_pull_events(job: LoaderJob, pull: PullRequest) do
                if config.no_events then return
 
                var api = config.wallet.api
-               for event in api.load_issue_events(job.repo, pull) do
+               for event in api.get_issue_events(job.repo.full_name, pull.number) do
                        event.repo = job.repo
                        issue_events.save event
                end
@@ -593,7 +585,7 @@ if loader.config.opt_clear.value then
 else
        loader.start args.first
 
-       var repo = loader.config.wallet.api.load_repo(args.first)
+       var repo = loader.config.wallet.api.get_repo(args.first)
        if repo == null then return
        print "Loaded"
        print "* {if loader.repos.find_by_id(args.first) != null then 1 else 0} repos"
diff --git a/lib/github/test_github_curl.nit b/lib/github/test_github_curl.nit
deleted file mode 100644 (file)
index 25ce970..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-# This file is part of NIT ( http://www.nitlanguage.org ).
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-module test_github_curl is test
-
-import github::github_curl
-
-class TestGithubCurl
-       test
-
-       var auth: String = get_github_oauth
-       var user_agent: String = "nit"
-       var testee: GithubCurl is noinit
-
-       fun before_test is before do
-               testee = new GithubCurl(auth, user_agent)
-       end
-
-       fun test_get_repo is test do
-               var uri = "https://api.github.com/repos/nitlang/nit"
-               var res = testee.get_and_check(uri)
-
-               assert res isa JsonObject
-               assert res["name"] == "nit"
-               assert res["owner"] isa JsonObject
-       end
-
-       fun test_get_user is test do
-               var uri = "https://api.github.com/users/Morriar"
-               var res = testee.get_and_check(uri)
-
-               assert res isa JsonObject
-               assert res["login"] == "Morriar"
-               assert res["html_url"] == "https://github.com/Morriar"
-       end
-end
index ff67214..472b0dc 100644 (file)
@@ -1 +1 @@
-[{"name":"master","commit":{"sha":"9248f1c81c08b6c0ec7785678dbb1d7440b885d9","url":"https://api.github.com/repos/nitlang/nit/commits/9248f1c81c08b6c0ec7785678dbb1d7440b885d9"},"protected":true},{"name":"next","commit":{"sha":"9248f1c81c08b6c0ec7785678dbb1d7440b885d9","url":"https://api.github.com/repos/nitlang/nit/commits/9248f1c81c08b6c0ec7785678dbb1d7440b885d9"},"protected":false}]
\ No newline at end of file
+[{"name":"master","commit":{"sha":"8fd264ae263d5418c56671414b9788c5d67621b4","url":"https://api.github.com/repos/nitlang/nit/commits/8fd264ae263d5418c56671414b9788c5d67621b4"},"protected":true},{"name":"next","commit":{"sha":"9248f1c81c08b6c0ec7785678dbb1d7440b885d9","url":"https://api.github.com/repos/nitlang/nit/commits/9248f1c81c08b6c0ec7785678dbb1d7440b885d9"},"protected":false}]
\ No newline at end of file
diff --git a/lib/github/tests/mock/repo_commits_4e3c68_status.res b/lib/github/tests/mock/repo_commits_4e3c68_status.res
new file mode 100644 (file)
index 0000000..2cac9da
--- /dev/null
@@ -0,0 +1 @@
+{"state":"failure","statuses":[{"url":"https://api.github.com/repos/nitlang/nit/statuses/4e3c688d2c4b875c00f206eb4c4b6f2c4f34c096","avatar_url":"https://avatars1.githubusercontent.com/u/135828?v=4","id":7133267167,"node_id":"MDEzOlN0YXR1c0NvbnRleHQ3MTMzMjY3MTY3","state":"failure","description":"Merged pipeline on gitlab: failed","target_url":"https://gitlab.com/nit/nit-ci/pipelines/69275842","context":"gitlab-ci","created_at":"2019-07-03T20:28:57Z","updated_at":"2019-07-03T20:28:57Z"}],"sha":"4e3c688d2c4b875c00f206eb4c4b6f2c4f34c096","total_count":1,"repository":{"id":328597,"node_id":"MDEwOlJlcG9zaXRvcnkzMjg1OTc=","name":"nit","full_name":"nitlang/nit","private":false,"owner":{"login":"nitlang","id":5420298,"node_id":"MDEyOk9yZ2FuaXphdGlvbjU0MjAyOTg=","avatar_url":"https://avatars1.githubusercontent.com/u/5420298?v=4","gravatar_id":"","url":"https://api.github.com/users/nitlang","html_url":"https://github.com/nitlang","followers_url":"https://api.github.com/users/nitlang/followers","following_url":"https://api.github.com/users/nitlang/following{/other_user}","gists_url":"https://api.github.com/users/nitlang/gists{/gist_id}","starred_url":"https://api.github.com/users/nitlang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nitlang/subscriptions","organizations_url":"https://api.github.com/users/nitlang/orgs","repos_url":"https://api.github.com/users/nitlang/repos","events_url":"https://api.github.com/users/nitlang/events{/privacy}","received_events_url":"https://api.github.com/users/nitlang/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/nitlang/nit","description":"Nit language","fork":false,"url":"https://api.github.com/repos/nitlang/nit","forks_url":"https://api.github.com/repos/nitlang/nit/forks","keys_url":"https://api.github.com/repos/nitlang/nit/keys{/key_id}","collaborators_url":"https://api.github.com/repos/nitlang/nit/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/nitlang/nit/teams","hooks_url":"https://api.github.com/repos/nitlang/nit/hooks","issue_events_url":"https://api.github.com/repos/nitlang/nit/issues/events{/number}","events_url":"https://api.github.com/repos/nitlang/nit/events","assignees_url":"https://api.github.com/repos/nitlang/nit/assignees{/user}","branches_url":"https://api.github.com/repos/nitlang/nit/branches{/branch}","tags_url":"https://api.github.com/repos/nitlang/nit/tags","blobs_url":"https://api.github.com/repos/nitlang/nit/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/nitlang/nit/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/nitlang/nit/git/refs{/sha}","trees_url":"https://api.github.com/repos/nitlang/nit/git/trees{/sha}","statuses_url":"https://api.github.com/repos/nitlang/nit/statuses/{sha}","languages_url":"https://api.github.com/repos/nitlang/nit/languages","stargazers_url":"https://api.github.com/repos/nitlang/nit/stargazers","contributors_url":"https://api.github.com/repos/nitlang/nit/contributors","subscribers_url":"https://api.github.com/repos/nitlang/nit/subscribers","subscription_url":"https://api.github.com/repos/nitlang/nit/subscription","commits_url":"https://api.github.com/repos/nitlang/nit/commits{/sha}","git_commits_url":"https://api.github.com/repos/nitlang/nit/git/commits{/sha}","comments_url":"https://api.github.com/repos/nitlang/nit/comments{/number}","issue_comment_url":"https://api.github.com/repos/nitlang/nit/issues/comments{/number}","contents_url":"https://api.github.com/repos/nitlang/nit/contents/{+path}","compare_url":"https://api.github.com/repos/nitlang/nit/compare/{base}...{head}","merges_url":"https://api.github.com/repos/nitlang/nit/merges","archive_url":"https://api.github.com/repos/nitlang/nit/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/nitlang/nit/downloads","issues_url":"https://api.github.com/repos/nitlang/nit/issues{/number}","pulls_url":"https://api.github.com/repos/nitlang/nit/pulls{/number}","milestones_url":"https://api.github.com/repos/nitlang/nit/milestones{/number}","notifications_url":"https://api.github.com/repos/nitlang/nit/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/nitlang/nit/labels{/name}","releases_url":"https://api.github.com/repos/nitlang/nit/releases{/id}","deployments_url":"https://api.github.com/repos/nitlang/nit/deployments"},"commit_url":"https://api.github.com/repos/nitlang/nit/commits/4e3c688d2c4b875c00f206eb4c4b6f2c4f34c096","url":"https://api.github.com/repos/nitlang/nit/commits/4e3c688d2c4b875c00f206eb4c4b6f2c4f34c096/status"}
\ No newline at end of file
diff --git a/lib/github/tests/mock/repo_issues_comments_nit.res b/lib/github/tests/mock/repo_issues_comments_nit.res
new file mode 100644 (file)
index 0000000..bf10fff
--- /dev/null
@@ -0,0 +1 @@
+[{"url":"https://api.github.com/repos/nitlang/nit/issues/comments/66562728","html_url":"https://github.com/nitlang/nit/pull/1000#issuecomment-66562728","issue_url":"https://api.github.com/repos/nitlang/nit/issues/1000","id":66562728,"node_id":"MDEyOklzc3VlQ29tbWVudDY2NTYyNzI4","user":{"login":"R4PaSs","id":1444825,"node_id":"MDQ6VXNlcjE0NDQ4MjU=","avatar_url":"https://avatars3.githubusercontent.com/u/1444825?v=4","gravatar_id":"","url":"https://api.github.com/users/R4PaSs","html_url":"https://github.com/R4PaSs","followers_url":"https://api.github.com/users/R4PaSs/followers","following_url":"https://api.github.com/users/R4PaSs/following{/other_user}","gists_url":"https://api.github.com/users/R4PaSs/gists{/gist_id}","starred_url":"https://api.github.com/users/R4PaSs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/R4PaSs/subscriptions","organizations_url":"https://api.github.com/users/R4PaSs/orgs","repos_url":"https://api.github.com/users/R4PaSs/repos","events_url":"https://api.github.com/users/R4PaSs/events{/privacy}","received_events_url":"https://api.github.com/users/R4PaSs/received_events","type":"User","site_admin":false},"created_at":"2014-12-11T03:05:01Z","updated_at":"2014-12-11T03:05:01Z","author_association":"CONTRIBUTOR","body":"The king is dead, long live the king.\n"},{"url":"https://api.github.com/repos/nitlang/nit/issues/comments/66562735","html_url":"https://github.com/nitlang/nit/pull/1000#issuecomment-66562735","issue_url":"https://api.github.com/repos/nitlang/nit/issues/1000","id":66562735,"node_id":"MDEyOklzc3VlQ29tbWVudDY2NTYyNzM1","user":{"login":"R4PaSs","id":1444825,"node_id":"MDQ6VXNlcjE0NDQ4MjU=","avatar_url":"https://avatars3.githubusercontent.com/u/1444825?v=4","gravatar_id":"","url":"https://api.github.com/users/R4PaSs","html_url":"https://github.com/R4PaSs","followers_url":"https://api.github.com/users/R4PaSs/followers","following_url":"https://api.github.com/users/R4PaSs/following{/other_user}","gists_url":"https://api.github.com/users/R4PaSs/gists{/gist_id}","starred_url":"https://api.github.com/users/R4PaSs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/R4PaSs/subscriptions","organizations_url":"https://api.github.com/users/R4PaSs/orgs","repos_url":"https://api.github.com/users/R4PaSs/repos","events_url":"https://api.github.com/users/R4PaSs/events{/privacy}","received_events_url":"https://api.github.com/users/R4PaSs/received_events","type":"User","site_admin":false},"created_at":"2014-12-11T03:05:07Z","updated_at":"2014-12-11T03:05:07Z","author_association":"CONTRIBUTOR","body":"+1\n"},{"url":"https://api.github.com/repos/nitlang/nit/issues/comments/66563386","html_url":"https://github.com/nitlang/nit/pull/1000#issuecomment-66563386","issue_url":"https://api.github.com/repos/nitlang/nit/issues/1000","id":66563386,"node_id":"MDEyOklzc3VlQ29tbWVudDY2NTYzMzg2","user":{"login":"xymus","id":208057,"node_id":"MDQ6VXNlcjIwODA1Nw==","avatar_url":"https://avatars0.githubusercontent.com/u/208057?v=4","gravatar_id":"","url":"https://api.github.com/users/xymus","html_url":"https://github.com/xymus","followers_url":"https://api.github.com/users/xymus/followers","following_url":"https://api.github.com/users/xymus/following{/other_user}","gists_url":"https://api.github.com/users/xymus/gists{/gist_id}","starred_url":"https://api.github.com/users/xymus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xymus/subscriptions","organizations_url":"https://api.github.com/users/xymus/orgs","repos_url":"https://api.github.com/users/xymus/repos","events_url":"https://api.github.com/users/xymus/events{/privacy}","received_events_url":"https://api.github.com/users/xymus/received_events","type":"User","site_admin":false},"created_at":"2014-12-11T03:15:31Z","updated_at":"2014-12-11T03:15:31Z","author_association":"CONTRIBUTOR","body":"Je seconde Lucas, +1, mais je crains qu'il faudra aussi mettre à jour plusieurs contrib!\n"}]
\ No newline at end of file
diff --git a/lib/github/tests/mock/repo_issues_events_nit.res b/lib/github/tests/mock/repo_issues_events_nit.res
new file mode 100644 (file)
index 0000000..8fad615
--- /dev/null
@@ -0,0 +1 @@
+[{"id":205931537,"node_id":"MDEyOkxhYmVsZWRFdmVudDIwNTkzMTUzNw==","url":"https://api.github.com/repos/nitlang/nit/issues/events/205931537","actor":{"login":"privat","id":135828,"node_id":"MDQ6VXNlcjEzNTgyOA==","avatar_url":"https://avatars1.githubusercontent.com/u/135828?v=4","gravatar_id":"","url":"https://api.github.com/users/privat","html_url":"https://github.com/privat","followers_url":"https://api.github.com/users/privat/followers","following_url":"https://api.github.com/users/privat/following{/other_user}","gists_url":"https://api.github.com/users/privat/gists{/gist_id}","starred_url":"https://api.github.com/users/privat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/privat/subscriptions","organizations_url":"https://api.github.com/users/privat/orgs","repos_url":"https://api.github.com/users/privat/repos","events_url":"https://api.github.com/users/privat/events{/privacy}","received_events_url":"https://api.github.com/users/privat/received_events","type":"User","site_admin":false},"event":"labeled","commit_id":null,"commit_url":null,"created_at":"2014-12-11T02:55:15Z","label":{"name":"need_review","color":"fbca04"}},{"id":205944886,"node_id":"MDIzOkhlYWRSZWZGb3JjZVB1c2hlZEV2ZW50MjA1OTQ0ODg2","url":"https://api.github.com/repos/nitlang/nit/issues/events/205944886","actor":{"login":"privat","id":135828,"node_id":"MDQ6VXNlcjEzNTgyOA==","avatar_url":"https://avatars1.githubusercontent.com/u/135828?v=4","gravatar_id":"","url":"https://api.github.com/users/privat","html_url":"https://github.com/privat","followers_url":"https://api.github.com/users/privat/followers","following_url":"https://api.github.com/users/privat/following{/other_user}","gists_url":"https://api.github.com/users/privat/gists{/gist_id}","starred_url":"https://api.github.com/users/privat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/privat/subscriptions","organizations_url":"https://api.github.com/users/privat/orgs","repos_url":"https://api.github.com/users/privat/repos","events_url":"https://api.github.com/users/privat/events{/privacy}","received_events_url":"https://api.github.com/users/privat/received_events","type":"User","site_admin":false},"event":"head_ref_force_pushed","commit_id":null,"commit_url":null,"created_at":"2014-12-11T03:49:46Z"},{"id":205946351,"node_id":"MDE0Ok1lbnRpb25lZEV2ZW50MjA1OTQ2MzUx","url":"https://api.github.com/repos/nitlang/nit/issues/events/205946351","actor":{"login":"xymus","id":208057,"node_id":"MDQ6VXNlcjIwODA1Nw==","avatar_url":"https://avatars0.githubusercontent.com/u/208057?v=4","gravatar_id":"","url":"https://api.github.com/users/xymus","html_url":"https://github.com/xymus","followers_url":"https://api.github.com/users/xymus/followers","following_url":"https://api.github.com/users/xymus/following{/other_user}","gists_url":"https://api.github.com/users/xymus/gists{/gist_id}","starred_url":"https://api.github.com/users/xymus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xymus/subscriptions","organizations_url":"https://api.github.com/users/xymus/orgs","repos_url":"https://api.github.com/users/xymus/repos","events_url":"https://api.github.com/users/xymus/events{/privacy}","received_events_url":"https://api.github.com/users/xymus/received_events","type":"User","site_admin":false},"event":"mentioned","commit_id":null,"commit_url":null,"created_at":"2014-12-11T03:55:37Z"}]
\ No newline at end of file
diff --git a/lib/github/tests/mock/repo_issues_nit.res b/lib/github/tests/mock/repo_issues_nit.res
new file mode 100644 (file)
index 0000000..43ca3f2
--- /dev/null
@@ -0,0 +1 @@
+[{"url":"https://api.github.com/repos/nitlang/nit/issues/2755","repository_url":"https://api.github.com/repos/nitlang/nit","labels_url":"https://api.github.com/repos/nitlang/nit/issues/2755/labels{/name}","comments_url":"https://api.github.com/repos/nitlang/nit/issues/2755/comments","events_url":"https://api.github.com/repos/nitlang/nit/issues/2755/events","html_url":"https://github.com/nitlang/nit/pull/2755","id":458934924,"node_id":"MDExOlB1bGxSZXF1ZXN0MjkwNDEzOTAw","number":2755,"title":"nitrpg: Move `nitrpg` to its own repository","user":{"login":"Morriar","id":583144,"node_id":"MDQ6VXNlcjU4MzE0NA==","avatar_url":"https://avatars2.githubusercontent.com/u/583144?v=4","gravatar_id":"","url":"https://api.github.com/users/Morriar","html_url":"https://github.com/Morriar","followers_url":"https://api.github.com/users/Morriar/followers","following_url":"https://api.github.com/users/Morriar/following{/other_user}","gists_url":"https://api.github.com/users/Morriar/gists{/gist_id}","starred_url":"https://api.github.com/users/Morriar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Morriar/subscriptions","organizations_url":"https://api.github.com/users/Morriar/orgs","repos_url":"https://api.github.com/users/Morriar/repos","events_url":"https://api.github.com/users/Morriar/events{/privacy}","received_events_url":"https://api.github.com/users/Morriar/received_events","type":"User","site_admin":false},"labels":[{"id":1252784180,"node_id":"MDU6TGFiZWwxMjUyNzg0MTgw","url":"https://api.github.com/repos/nitlang/nit/labels/ok_to_test","name":"ok_to_test","color":"1e179e","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2019-06-20T23:34:44Z","updated_at":"2019-06-21T00:45:47Z","closed_at":null,"author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/nitlang/nit/pulls/2755","html_url":"https://github.com/nitlang/nit/pull/2755","diff_url":"https://github.com/nitlang/nit/pull/2755.diff","patch_url":"https://github.com/nitlang/nit/pull/2755.patch"},"body":"`nitrpg` is broken since a long time. I think https:/api.github.com actually changed twice since it broke. I don't plan on killing it yet but I moved it to its own repository until I worked again on it (or never).\r\n\r\nSee https://github.com/Morriar/nitrpg.\r\n\r\nSigned-off-by: Alexandre Terrasa <alexandre@moz-code.org>"},{"url":"https://api.github.com/repos/nitlang/nit/issues/2754","repository_url":"https://api.github.com/repos/nitlang/nit","labels_url":"https://api.github.com/repos/nitlang/nit/issues/2754/labels{/name}","comments_url":"https://api.github.com/repos/nitlang/nit/issues/2754/comments","events_url":"https://api.github.com/repos/nitlang/nit/issues/2754/events","html_url":"https://github.com/nitlang/nit/pull/2754","id":458805732,"node_id":"MDExOlB1bGxSZXF1ZXN0MjkwMzI2MTEw","number":2754,"title":"First (and small) integration of the ICU library in Nit : locale and case modification","user":{"login":"anadaouda","id":36400538,"node_id":"MDQ6VXNlcjM2NDAwNTM4","avatar_url":"https://avatars1.githubusercontent.com/u/36400538?v=4","gravatar_id":"","url":"https://api.github.com/users/anadaouda","html_url":"https://github.com/anadaouda","followers_url":"https://api.github.com/users/anadaouda/followers","following_url":"https://api.github.com/users/anadaouda/following{/other_user}","gists_url":"https://api.github.com/users/anadaouda/gists{/gist_id}","starred_url":"https://api.github.com/users/anadaouda/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/anadaouda/subscriptions","organizations_url":"https://api.github.com/users/anadaouda/orgs","repos_url":"https://api.github.com/users/anadaouda/repos","events_url":"https://api.github.com/users/anadaouda/events{/privacy}","received_events_url":"https://api.github.com/users/anadaouda/received_events","type":"User","site_admin":false},"labels":[{"id":1252784180,"node_id":"MDU6TGFiZWwxMjUyNzg0MTgw","url":"https://api.github.com/repos/nitlang/nit/labels/ok_to_test","name":"ok_to_test","color":"1e179e","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2019-06-20T18:28:52Z","updated_at":"2019-06-20T18:48:05Z","closed_at":null,"author_association":"FIRST_TIMER","pull_request":{"url":"https://api.github.com/repos/nitlang/nit/pulls/2754","html_url":"https://github.com/nitlang/nit/pull/2754","diff_url":"https://github.com/nitlang/nit/pull/2754.diff","patch_url":"https://github.com/nitlang/nit/pull/2754.patch"},"body":"## ICU\r\nICU (International Components for Unicode) is an API which implements algorithms provided by the Unicode Consortium in C.\r\n\r\n## locale.nit\r\nLocale object which makes sure that the name of the locale is valid and handled by the ICU library\r\n\r\n## caseModification.nit\r\nAddition of `uppercase`, `lowercase` and `title` in the `String` and `CString` classes using a `CaseModification` object."},{"url":"https://api.github.com/repos/nitlang/nit/issues/2753","repository_url":"https://api.github.com/repos/nitlang/nit","labels_url":"https://api.github.com/repos/nitlang/nit/issues/2753/labels{/name}","comments_url":"https://api.github.com/repos/nitlang/nit/issues/2753/comments","events_url":"https://api.github.com/repos/nitlang/nit/issues/2753/events","html_url":"https://github.com/nitlang/nit/pull/2753","id":457781476,"node_id":"MDExOlB1bGxSZXF1ZXN0Mjg5NTE5NzM0","number":2753,"title":"Mock Github API tests","user":{"login":"Morriar","id":583144,"node_id":"MDQ6VXNlcjU4MzE0NA==","avatar_url":"https://avatars2.githubusercontent.com/u/583144?v=4","gravatar_id":"","url":"https://api.github.com/users/Morriar","html_url":"https://github.com/Morriar","followers_url":"https://api.github.com/users/Morriar/followers","following_url":"https://api.github.com/users/Morriar/following{/other_user}","gists_url":"https://api.github.com/users/Morriar/gists{/gist_id}","starred_url":"https://api.github.com/users/Morriar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Morriar/subscriptions","organizations_url":"https://api.github.com/users/Morriar/orgs","repos_url":"https://api.github.com/users/Morriar/repos","events_url":"https://api.github.com/users/Morriar/events{/privacy}","received_events_url":"https://api.github.com/users/Morriar/received_events","type":"User","site_admin":false},"labels":[{"id":1252784180,"node_id":"MDU6TGFiZWwxMjUyNzg0MTgw","url":"https://api.github.com/repos/nitlang/nit/labels/ok_to_test","name":"ok_to_test","color":"1e179e","default":false},{"id":225254102,"node_id":"MDU6TGFiZWwyMjUyNTQxMDI=","url":"https://api.github.com/repos/nitlang/nit/labels/tests_are_ok","name":"tests_are_ok","color":"00b800","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2019-06-19T02:53:50Z","updated_at":"2019-06-20T18:27:49Z","closed_at":null,"author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/nitlang/nit/pulls/2753","html_url":"https://github.com/nitlang/nit/pull/2753","diff_url":"https://github.com/nitlang/nit/pull/2753.diff","patch_url":"https://github.com/nitlang/nit/pull/2753.patch"},"body":"This PR adds a mock to GithubAPI so we can avoid sending requests to the API on CI.\r\n\r\nFor each API call we save the actual Github response body from the API and reuse it during the tests.\r\nThe attribute `update_responses_cache` can be set to `true` so the cache files are updated from the API when `nitunit` is called."}]
\ No newline at end of file
diff --git a/lib/github/tests/mock/repo_labels_nit.res b/lib/github/tests/mock/repo_labels_nit.res
new file mode 100644 (file)
index 0000000..b2856da
--- /dev/null
@@ -0,0 +1 @@
+[{"id":87474920,"node_id":"MDU6TGFiZWw4NzQ3NDkyMA==","url":"https://api.github.com/repos/nitlang/nit/labels/API","name":"API","color":"006b75","default":false},{"id":243644303,"node_id":"MDU6TGFiZWwyNDM2NDQzMDM=","url":"https://api.github.com/repos/nitlang/nit/labels/Feature%20Request","name":"Feature Request","color":"d4c5f9","default":false},{"id":250684857,"node_id":"MDU6TGFiZWwyNTA2ODQ4NTc=","url":"https://api.github.com/repos/nitlang/nit/labels/NEP","name":"NEP","color":"50a0ff","default":false}]
\ No newline at end of file
diff --git a/lib/github/tests/mock/repo_milestones_nit.res b/lib/github/tests/mock/repo_milestones_nit.res
new file mode 100644 (file)
index 0000000..071bf39
--- /dev/null
@@ -0,0 +1 @@
+[{"url":"https://api.github.com/repos/nitlang/nit/milestones/4","html_url":"https://github.com/nitlang/nit/milestone/4","labels_url":"https://api.github.com/repos/nitlang/nit/milestones/4/labels","id":795157,"node_id":"MDk6TWlsZXN0b25lNzk1MTU3","number":4,"title":"v1.0prealpha","description":"The first public version that we are proud off and can be used sanely by non Nit people.","creator":{"login":"privat","id":135828,"node_id":"MDQ6VXNlcjEzNTgyOA==","avatar_url":"https://avatars1.githubusercontent.com/u/135828?v=4","gravatar_id":"","url":"https://api.github.com/users/privat","html_url":"https://github.com/privat","followers_url":"https://api.github.com/users/privat/followers","following_url":"https://api.github.com/users/privat/following{/other_user}","gists_url":"https://api.github.com/users/privat/gists{/gist_id}","starred_url":"https://api.github.com/users/privat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/privat/subscriptions","organizations_url":"https://api.github.com/users/privat/orgs","repos_url":"https://api.github.com/users/privat/repos","events_url":"https://api.github.com/users/privat/events{/privacy}","received_events_url":"https://api.github.com/users/privat/received_events","type":"User","site_admin":false},"open_issues":22,"closed_issues":22,"state":"open","created_at":"2014-09-19T00:16:45Z","updated_at":"2017-06-02T12:43:15Z","due_on":null,"closed_at":null},{"url":"https://api.github.com/repos/nitlang/nit/milestones/5","html_url":"https://github.com/nitlang/nit/milestone/5","labels_url":"https://api.github.com/repos/nitlang/nit/milestones/5/labels","id":904285,"node_id":"MDk6TWlsZXN0b25lOTA0Mjg1","number":5,"title":"nitdoc - Structured Documentation","description":"Display the documentation as a user manual and with reading suggestions.","creator":{"login":"Morriar","id":583144,"node_id":"MDQ6VXNlcjU4MzE0NA==","avatar_url":"https://avatars2.githubusercontent.com/u/583144?v=4","gravatar_id":"","url":"https://api.github.com/users/Morriar","html_url":"https://github.com/Morriar","followers_url":"https://api.github.com/users/Morriar/followers","following_url":"https://api.github.com/users/Morriar/following{/other_user}","gists_url":"https://api.github.com/users/Morriar/gists{/gist_id}","starred_url":"https://api.github.com/users/Morriar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Morriar/subscriptions","organizations_url":"https://api.github.com/users/Morriar/orgs","repos_url":"https://api.github.com/users/Morriar/repos","events_url":"https://api.github.com/users/Morriar/events{/privacy}","received_events_url":"https://api.github.com/users/Morriar/received_events","type":"User","site_admin":false},"open_issues":6,"closed_issues":7,"state":"open","created_at":"2014-12-15T13:49:19Z","updated_at":"2018-06-21T12:50:02Z","due_on":null,"closed_at":null},{"url":"https://api.github.com/repos/nitlang/nit/milestones/6","html_url":"https://github.com/nitlang/nit/milestone/6","labels_url":"https://api.github.com/repos/nitlang/nit/milestones/6/labels","id":904291,"node_id":"MDk6TWlsZXN0b25lOTA0Mjkx","number":6,"title":"nitdoc - Abstraction levels","description":"Provide abstraction mecanisms for lists and tress, diagrams and figures, source code presentation.","creator":{"login":"Morriar","id":583144,"node_id":"MDQ6VXNlcjU4MzE0NA==","avatar_url":"https://avatars2.githubusercontent.com/u/583144?v=4","gravatar_id":"","url":"https://api.github.com/users/Morriar","html_url":"https://github.com/Morriar","followers_url":"https://api.github.com/users/Morriar/followers","following_url":"https://api.github.com/users/Morriar/following{/other_user}","gists_url":"https://api.github.com/users/Morriar/gists{/gist_id}","starred_url":"https://api.github.com/users/Morriar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Morriar/subscriptions","organizations_url":"https://api.github.com/users/Morriar/orgs","repos_url":"https://api.github.com/users/Morriar/repos","events_url":"https://api.github.com/users/Morriar/events{/privacy}","received_events_url":"https://api.github.com/users/Morriar/received_events","type":"User","site_admin":false},"open_issues":2,"closed_issues":0,"state":"open","created_at":"2014-12-15T13:52:04Z","updated_at":"2014-12-15T15:37:50Z","due_on":null,"closed_at":null}]
\ No newline at end of file
diff --git a/lib/github/tests/mock/repo_nit_contributors.res b/lib/github/tests/mock/repo_nit_contributors.res
new file mode 100644 (file)
index 0000000..38729f7
--- /dev/null
@@ -0,0 +1 @@
+[{"total":1,"weeks":[{"w":1215302400,"a":0,"d":0,"c":0},{"w":1215907200,"a":0,"d":0,"c":0},{"w":1216512000,"a":0,"d":0,"c":0},{"w":1217116800,"a":0,"d":0,"c":0},{"w":1217721600,"a":0,"d":0,"c":0},{"w":1218326400,"a":0,"d":0,"c":0},{"w":1218931200,"a":0,"d":0,"c":0},{"w":1219536000,"a":0,"d":0,"c":0},{"w":1220140800,"a":0,"d":0,"c":0},{"w":1220745600,"a":0,"d":0,"c":0},{"w":1221350400,"a":0,"d":0,"c":0},{"w":1221955200,"a":0,"d":0,"c":0},{"w":1222560000,"a":0,"d":0,"c":0},{"w":1223164800,"a":0,"d":0,"c":0},{"w":1223769600,"a":0,"d":0,"c":0},{"w":1224374400,"a":0,"d":0,"c":0},{"w":1224979200,"a":0,"d":0,"c":0},{"w":1225584000,"a":0,"d":0,"c":0},{"w":1226188800,"a":0,"d":0,"c":0},{"w":1226793600,"a":0,"d":0,"c":0},{"w":1227398400,"a":0,"d":0,"c":0},{"w":1228003200,"a":0,"d":0,"c":0},{"w":1228608000,"a":0,"d":0,"c":0},{"w":1229212800,"a":0,"d":0,"c":0},{"w":1229817600,"a":0,"d":0,"c":0},{"w":1230422400,"a":0,"d":0,"c":0},{"w":1231027200,"a":0,"d":0,"c":0},{"w":1231632000,"a":0,"d":0,"c":0},{"w":1232236800,"a":0,"d":0,"c":0},{"w":1232841600,"a":0,"d":0,"c":0},{"w":1233446400,"a":0,"d":0,"c":0},{"w":1234051200,"a":0,"d":0,"c":0},{"w":1234656000,"a":0,"d":0,"c":0},{"w":1235260800,"a":0,"d":0,"c":0},{"w":1235865600,"a":0,"d":0,"c":0},{"w":1236470400,"a":0,"d":0,"c":0},{"w":1237075200,"a":0,"d":0,"c":0},{"w":1237680000,"a":0,"d":0,"c":0},{"w":1238284800,"a":0,"d":0,"c":0},{"w":1238889600,"a":0,"d":0,"c":0},{"w":1239494400,"a":0,"d":0,"c":0},{"w":1240099200,"a":0,"d":0,"c":0},{"w":1240704000,"a":0,"d":0,"c":0},{"w":1241308800,"a":0,"d":0,"c":0},{"w":1241913600,"a":0,"d":0,"c":0},{"w":1242518400,"a":0,"d":0,"c":0},{"w":1243123200,"a":0,"d":0,"c":0},{"w":1243728000,"a":0,"d":0,"c":0},{"w":1244332800,"a":0,"d":0,"c":0},{"w":1244937600,"a":0,"d":0,"c":0},{"w":1245542400,"a":0,"d":0,"c":0},{"w":1246147200,"a":0,"d":0,"c":0},{"w":1246752000,"a":0,"d":0,"c":0},{"w":1247356800,"a":0,"d":0,"c":0},{"w":1247961600,"a":0,"d":0,"c":0},{"w":1248566400,"a":0,"d":0,"c":0},{"w":1249171200,"a":0,"d":0,"c":0},{"w":1249776000,"a":0,"d":0,"c":0},{"w":1250380800,"a":0,"d":0,"c":0},{"w":1250985600,"a":0,"d":0,"c":0},{"w":1251590400,"a":0,"d":0,"c":0},{"w":1252195200,"a":0,"d":0,"c":0},{"w":1252800000,"a":0,"d":0,"c":0},{"w":1253404800,"a":0,"d":0,"c":0},{"w":1254009600,"a":0,"d":0,"c":0},{"w":1254614400,"a":0,"d":0,"c":0},{"w":1255219200,"a":0,"d":0,"c":0},{"w":1255824000,"a":0,"d":0,"c":0},{"w":1256428800,"a":0,"d":0,"c":0},{"w":1257033600,"a":0,"d":0,"c":0},{"w":1257638400,"a":0,"d":0,"c":0},{"w":1258243200,"a":0,"d":0,"c":0},{"w":1258848000,"a":0,"d":0,"c":0},{"w":1259452800,"a":0,"d":0,"c":0},{"w":1260057600,"a":0,"d":0,"c":0},{"w":1260662400,"a":0,"d":0,"c":0},{"w":1261267200,"a":0,"d":0,"c":0},{"w":1261872000,"a":0,"d":0,"c":0},{"w":1262476800,"a":0,"d":0,"c":0},{"w":1263081600,"a":0,"d":0,"c":0},{"w":1263686400,"a":0,"d":0,"c":0},{"w":1264291200,"a":0,"d":0,"c":0},{"w":1264896000,"a":0,"d":0,"c":0},{"w":1265500800,"a":0,"d":0,"c":0},{"w":1266105600,"a":0,"d":0,"c":0},{"w":1266710400,"a":0,"d":0,"c":0},{"w":1267315200,"a":0,"d":0,"c":0},{"w":1267920000,"a":0,"d":0,"c":0},{"w":1268524800,"a":0,"d":0,"c":0},{"w":1269129600,"a":0,"d":0,"c":0},{"w":1269734400,"a":0,"d":0,"c":0},{"w":1270339200,"a":0,"d":0,"c":0},{"w":1270944000,"a":0,"d":0,"c":0},{"w":1271548800,"a":0,"d":0,"c":0},{"w":1272153600,"a":0,"d":0,"c":0},{"w":1272758400,"a":0,"d":0,"c":0},{"w":1273363200,"a":0,"d":0,"c":0},{"w":1273968000,"a":0,"d":0,"c":0},{"w":1274572800,"a":0,"d":0,"c":0},{"w":1275177600,"a":0,"d":0,"c":0},{"w":1275782400,"a":0,"d":0,"c":0},{"w":1276387200,"a":0,"d":0,"c":0},{"w":1276992000,"a":0,"d":0,"c":0},{"w":1277596800,"a":0,"d":0,"c":0},{"w":1278201600,"a":0,"d":0,"c":0},{"w":1278806400,"a":0,"d":0,"c":0},{"w":1279411200,"a":0,"d":0,"c":0},{"w":1280016000,"a":0,"d":0,"c":0},{"w":1280620800,"a":0,"d":0,"c":0},{"w":1281225600,"a":0,"d":0,"c":0},{"w":1281830400,"a":0,"d":0,"c":0},{"w":1282435200,"a":0,"d":0,"c":0},{"w":1283040000,"a":0,"d":0,"c":0},{"w":1283644800,"a":0,"d":0,"c":0},{"w":1284249600,"a":0,"d":0,"c":0},{"w":1284854400,"a":0,"d":0,"c":0},{"w":1285459200,"a":0,"d":0,"c":0},{"w":1286064000,"a":0,"d":0,"c":0},{"w":1286668800,"a":0,"d":0,"c":0},{"w":1287273600,"a":0,"d":0,"c":0},{"w":1287878400,"a":0,"d":0,"c":0},{"w":1288483200,"a":0,"d":0,"c":0},{"w":1289088000,"a":0,"d":0,"c":0},{"w":1289692800,"a":0,"d":0,"c":0},{"w":1290297600,"a":0,"d":0,"c":0},{"w":1290902400,"a":0,"d":0,"c":0},{"w":1291507200,"a":0,"d":0,"c":0},{"w":1292112000,"a":0,"d":0,"c":0},{"w":1292716800,"a":0,"d":0,"c":0},{"w":1293321600,"a":0,"d":0,"c":0},{"w":1293926400,"a":0,"d":0,"c":0},{"w":1294531200,"a":0,"d":0,"c":0},{"w":1295136000,"a":0,"d":0,"c":0},{"w":1295740800,"a":0,"d":0,"c":0},{"w":1296345600,"a":0,"d":0,"c":0},{"w":1296950400,"a":0,"d":0,"c":0},{"w":1297555200,"a":0,"d":0,"c":0},{"w":1298160000,"a":0,"d":0,"c":0},{"w":1298764800,"a":0,"d":0,"c":0},{"w":1299369600,"a":0,"d":0,"c":0},{"w":1299974400,"a":0,"d":0,"c":0},{"w":1300579200,"a":0,"d":0,"c":0},{"w":1301184000,"a":0,"d":0,"c":0},{"w":1301788800,"a":0,"d":0,"c":0},{"w":1302393600,"a":0,"d":0,"c":0},{"w":1302998400,"a":0,"d":0,"c":0},{"w":1303603200,"a":0,"d":0,"c":0},{"w":1304208000,"a":0,"d":0,"c":0},{"w":1304812800,"a":0,"d":0,"c":0},{"w":1305417600,"a":0,"d":0,"c":0},{"w":1306022400,"a":0,"d":0,"c":0},{"w":1306627200,"a":0,"d":0,"c":0},{"w":1307232000,"a":0,"d":0,"c":0},{"w":1307836800,"a":0,"d":0,"c":0},{"w":1308441600,"a":0,"d":0,"c":0},{"w":1309046400,"a":0,"d":0,"c":0},{"w":1309651200,"a":0,"d":0,"c":0},{"w":1310256000,"a":0,"d":0,"c":0},{"w":1310860800,"a":0,"d":0,"c":0},{"w":1311465600,"a":0,"d":0,"c":0},{"w":1312070400,"a":0,"d":0,"c":0},{"w":1312675200,"a":0,"d":0,"c":0},{"w":1313280000,"a":0,"d":0,"c":0},{"w":1313884800,"a":0,"d":0,"c":0},{"w":1314489600,"a":0,"d":0,"c":0},{"w":1315094400,"a":0,"d":0,"c":0},{"w":1315699200,"a":0,"d":0,"c":0},{"w":1316304000,"a":0,"d":0,"c":0},{"w":1316908800,"a":0,"d":0,"c":0},{"w":1317513600,"a":0,"d":0,"c":0},{"w":1318118400,"a":0,"d":0,"c":0},{"w":1318723200,"a":0,"d":0,"c":0},{"w":1319328000,"a":0,"d":0,"c":0},{"w":1319932800,"a":0,"d":0,"c":0},{"w":1320537600,"a":0,"d":0,"c":0},{"w":1321142400,"a":0,"d":0,"c":0},{"w":1321747200,"a":0,"d":0,"c":0},{"w":1322352000,"a":0,"d":0,"c":0},{"w":1322956800,"a":0,"d":0,"c":0},{"w":1323561600,"a":0,"d":0,"c":0},{"w":1324166400,"a":0,"d":0,"c":0},{"w":1324771200,"a":0,"d":0,"c":0},{"w":1325376000,"a":0,"d":0,"c":0},{"w":1325980800,"a":0,"d":0,"c":0},{"w":1326585600,"a":0,"d":0,"c":0},{"w":1327190400,"a":0,"d":0,"c":0},{"w":1327795200,"a":0,"d":0,"c":0},{"w":1328400000,"a":0,"d":0,"c":0},{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0},{"w":1384646400,"a":0,"d":0,"c":0},{"w":1385251200,"a":0,"d":0,"c":0},{"w":1385856000,"a":0,"d":0,"c":0},{"w":1386460800,"a":0,"d":0,"c":0},{"w":1387065600,"a":0,"d":0,"c":0},{"w":1387670400,"a":0,"d":0,"c":0},{"w":1388275200,"a":0,"d":0,"c":0},{"w":1388880000,"a":0,"d":0,"c":0},{"w":1389484800,"a":0,"d":0,"c":0},{"w":1390089600,"a":0,"d":0,"c":0},{"w":1390694400,"a":0,"d":0,"c":0},{"w":1391299200,"a":0,"d":0,"c":0},{"w":1391904000,"a":0,"d":0,"c":0},{"w":1392508800,"a":0,"d":0,"c":0},{"w":1393113600,"a":0,"d":0,"c":0},{"w":1393718400,"a":0,"d":0,"c":0},{"w":1394323200,"a":0,"d":0,"c":0},{"w":1394928000,"a":0,"d":0,"c":0},{"w":1395532800,"a":0,"d":0,"c":0},{"w":1396137600,"a":0,"d":0,"c":0},{"w":1396742400,"a":0,"d":0,"c":0},{"w":1397347200,"a":0,"d":0,"c":0},{"w":1397952000,"a":0,"d":0,"c":0},{"w":1398556800,"a":0,"d":0,"c":0},{"w":1399161600,"a":0,"d":0,"c":0},{"w":1399766400,"a":0,"d":0,"c":0},{"w":1400371200,"a":0,"d":0,"c":0},{"w":1400976000,"a":0,"d":0,"c":0},{"w":1401580800,"a":0,"d":0,"c":0},{"w":1402185600,"a":0,"d":0,"c":0},{"w":1402790400,"a":0,"d":0,"c":0},{"w":1403395200,"a":0,"d":0,"c":0},{"w":1404000000,"a":0,"d":0,"c":0},{"w":1404604800,"a":0,"d":0,"c":0},{"w":1405209600,"a":0,"d":0,"c":0},{"w":1405814400,"a":0,"d":0,"c":0},{"w":1406419200,"a":0,"d":0,"c":0},{"w":1407024000,"a":0,"d":0,"c":0},{"w":1407628800,"a":0,"d":0,"c":0},{"w":1408233600,"a":0,"d":0,"c":0},{"w":1408838400,"a":0,"d":0,"c":0},{"w":1409443200,"a":0,"d":0,"c":0},{"w":1410048000,"a":0,"d":0,"c":0},{"w":1410652800,"a":0,"d":0,"c":0},{"w":1411257600,"a":0,"d":0,"c":0},{"w":1411862400,"a":0,"d":0,"c":0},{"w":1412467200,"a":0,"d":0,"c":0},{"w":1413072000,"a":0,"d":0,"c":0},{"w":1413676800,"a":0,"d":0,"c":0},{"w":1414281600,"a":0,"d":0,"c":0},{"w":1414886400,"a":0,"d":0,"c":0},{"w":1415491200,"a":0,"d":0,"c":0},{"w":1416096000,"a":0,"d":0,"c":0},{"w":1416700800,"a":0,"d":0,"c":0},{"w":1417305600,"a":0,"d":0,"c":0},{"w":1417910400,"a":0,"d":0,"c":0},{"w":1418515200,"a":0,"d":0,"c":0},{"w":1419120000,"a":0,"d":0,"c":0},{"w":1419724800,"a":0,"d":0,"c":0},{"w":1420329600,"a":0,"d":0,"c":0},{"w":1420934400,"a":0,"d":0,"c":0},{"w":1421539200,"a":0,"d":0,"c":0},{"w":1422144000,"a":0,"d":0,"c":0},{"w":1422748800,"a":0,"d":0,"c":0},{"w":1423353600,"a":0,"d":0,"c":0},{"w":1423958400,"a":0,"d":0,"c":0},{"w":1424563200,"a":0,"d":0,"c":0},{"w":1425168000,"a":0,"d":0,"c":0},{"w":1425772800,"a":0,"d":0,"c":0},{"w":1426377600,"a":0,"d":0,"c":0},{"w":1426982400,"a":0,"d":0,"c":0},{"w":1427587200,"a":0,"d":0,"c":0},{"w":1428192000,"a":0,"d":0,"c":0},{"w":1428796800,"a":0,"d":0,"c":0},{"w":1429401600,"a":0,"d":0,"c":0},{"w":1430006400,"a":0,"d":0,"c":0},{"w":1430611200,"a":0,"d":0,"c":0},{"w":1431216000,"a":0,"d":0,"c":0},{"w":1431820800,"a":0,"d":0,"c":0},{"w":1432425600,"a":0,"d":0,"c":0},{"w":1433030400,"a":0,"d":0,"c":0},{"w":1433635200,"a":16,"d":0,"c":1},{"w":1434240000,"a":0,"d":0,"c":0},{"w":1434844800,"a":0,"d":0,"c":0},{"w":1435449600,"a":0,"d":0,"c":0},{"w":1436054400,"a":0,"d":0,"c":0},{"w":1436659200,"a":0,"d":0,"c":0},{"w":1437264000,"a":0,"d":0,"c":0},{"w":1437868800,"a":0,"d":0,"c":0},{"w":1438473600,"a":0,"d":0,"c":0},{"w":1439078400,"a":0,"d":0,"c":0},{"w":1439683200,"a":0,"d":0,"c":0},{"w":1440288000,"a":0,"d":0,"c":0},{"w":1440892800,"a":0,"d":0,"c":0},{"w":1441497600,"a":0,"d":0,"c":0},{"w":1442102400,"a":0,"d":0,"c":0},{"w":1442707200,"a":0,"d":0,"c":0},{"w":1443312000,"a":0,"d":0,"c":0},{"w":1443916800,"a":0,"d":0,"c":0},{"w":1444521600,"a":0,"d":0,"c":0},{"w":1445126400,"a":0,"d":0,"c":0},{"w":1445731200,"a":0,"d":0,"c":0},{"w":1446336000,"a":0,"d":0,"c":0},{"w":1446940800,"a":0,"d":0,"c":0},{"w":1447545600,"a":0,"d":0,"c":0},{"w":1448150400,"a":0,"d":0,"c":0},{"w":1448755200,"a":0,"d":0,"c":0},{"w":1449360000,"a":0,"d":0,"c":0},{"w":1449964800,"a":0,"d":0,"c":0},{"w":1450569600,"a":0,"d":0,"c":0},{"w":1451174400,"a":0,"d":0,"c":0},{"w":1451779200,"a":0,"d":0,"c":0},{"w":1452384000,"a":0,"d":0,"c":0},{"w":1452988800,"a":0,"d":0,"c":0},{"w":1453593600,"a":0,"d":0,"c":0},{"w":1454198400,"a":0,"d":0,"c":0},{"w":1454803200,"a":0,"d":0,"c":0},{"w":1455408000,"a":0,"d":0,"c":0},{"w":1456012800,"a":0,"d":0,"c":0},{"w":1456617600,"a":0,"d":0,"c":0},{"w":1457222400,"a":0,"d":0,"c":0},{"w":1457827200,"a":0,"d":0,"c":0},{"w":1458432000,"a":0,"d":0,"c":0},{"w":1459036800,"a":0,"d":0,"c":0},{"w":1459641600,"a":0,"d":0,"c":0},{"w":1460246400,"a":0,"d":0,"c":0},{"w":1460851200,"a":0,"d":0,"c":0},{"w":1461456000,"a":0,"d":0,"c":0},{"w":1462060800,"a":0,"d":0,"c":0},{"w":1462665600,"a":0,"d":0,"c":0},{"w":1463270400,"a":0,"d":0,"c":0},{"w":1463875200,"a":0,"d":0,"c":0},{"w":1464480000,"a":0,"d":0,"c":0},{"w":1465084800,"a":0,"d":0,"c":0},{"w":1465689600,"a":0,"d":0,"c":0},{"w":1466294400,"a":0,"d":0,"c":0},{"w":1466899200,"a":0,"d":0,"c":0},{"w":1467504000,"a":0,"d":0,"c":0},{"w":1468108800,"a":0,"d":0,"c":0},{"w":1468713600,"a":0,"d":0,"c":0},{"w":1469318400,"a":0,"d":0,"c":0},{"w":1469923200,"a":0,"d":0,"c":0},{"w":1470528000,"a":0,"d":0,"c":0},{"w":1471132800,"a":0,"d":0,"c":0},{"w":1471737600,"a":0,"d":0,"c":0},{"w":1472342400,"a":0,"d":0,"c":0},{"w":1472947200,"a":0,"d":0,"c":0},{"w":1473552000,"a":0,"d":0,"c":0},{"w":1474156800,"a":0,"d":0,"c":0},{"w":1474761600,"a":0,"d":0,"c":0},{"w":1475366400,"a":0,"d":0,"c":0},{"w":1475971200,"a":0,"d":0,"c":0},{"w":1476576000,"a":0,"d":0,"c":0},{"w":1477180800,"a":0,"d":0,"c":0},{"w":1477785600,"a":0,"d":0,"c":0},{"w":1478390400,"a":0,"d":0,"c":0},{"w":1478995200,"a":0,"d":0,"c":0},{"w":1479600000,"a":0,"d":0,"c":0},{"w":1480204800,"a":0,"d":0,"c":0},{"w":1480809600,"a":0,"d":0,"c":0},{"w":1481414400,"a":0,"d":0,"c":0},{"w":1482019200,"a":0,"d":0,"c":0},{"w":1482624000,"a":0,"d":0,"c":0},{"w":1483228800,"a":0,"d":0,"c":0},{"w":1483833600,"a":0,"d":0,"c":0},{"w":1484438400,"a":0,"d":0,"c":0},{"w":1485043200,"a":0,"d":0,"c":0},{"w":1485648000,"a":0,"d":0,"c":0},{"w":1486252800,"a":0,"d":0,"c":0},{"w":1486857600,"a":0,"d":0,"c":0},{"w":1487462400,"a":0,"d":0,"c":0},{"w":1488067200,"a":0,"d":0,"c":0},{"w":1488672000,"a":0,"d":0,"c":0},{"w":1489276800,"a":0,"d":0,"c":0},{"w":1489881600,"a":0,"d":0,"c":0},{"w":1490486400,"a":0,"d":0,"c":0},{"w":1491091200,"a":0,"d":0,"c":0},{"w":1491696000,"a":0,"d":0,"c":0},{"w":1492300800,"a":0,"d":0,"c":0},{"w":1492905600,"a":0,"d":0,"c":0},{"w":1493510400,"a":0,"d":0,"c":0},{"w":1494115200,"a":0,"d":0,"c":0},{"w":1494720000,"a":0,"d":0,"c":0},{"w":1495324800,"a":0,"d":0,"c":0},{"w":1495929600,"a":0,"d":0,"c":0},{"w":1496534400,"a":0,"d":0,"c":0},{"w":1497139200,"a":0,"d":0,"c":0},{"w":1497744000,"a":0,"d":0,"c":0},{"w":1498348800,"a":0,"d":0,"c":0},{"w":1498953600,"a":0,"d":0,"c":0},{"w":1499558400,"a":0,"d":0,"c":0},{"w":1500163200,"a":0,"d":0,"c":0},{"w":1500768000,"a":0,"d":0,"c":0},{"w":1501372800,"a":0,"d":0,"c":0},{"w":1501977600,"a":0,"d":0,"c":0},{"w":1502582400,"a":0,"d":0,"c":0},{"w":1503187200,"a":0,"d":0,"c":0},{"w":1503792000,"a":0,"d":0,"c":0},{"w":1504396800,"a":0,"d":0,"c":0},{"w":1505001600,"a":0,"d":0,"c":0},{"w":1505606400,"a":0,"d":0,"c":0},{"w":1506211200,"a":0,"d":0,"c":0},{"w":1506816000,"a":0,"d":0,"c":0},{"w":1507420800,"a":0,"d":0,"c":0},{"w":1508025600,"a":0,"d":0,"c":0},{"w":1508630400,"a":0,"d":0,"c":0},{"w":1509235200,"a":0,"d":0,"c":0},{"w":1509840000,"a":0,"d":0,"c":0},{"w":1510444800,"a":0,"d":0,"c":0},{"w":1511049600,"a":0,"d":0,"c":0},{"w":1511654400,"a":0,"d":0,"c":0},{"w":1512259200,"a":0,"d":0,"c":0},{"w":1512864000,"a":0,"d":0,"c":0},{"w":1513468800,"a":0,"d":0,"c":0},{"w":1514073600,"a":0,"d":0,"c":0},{"w":1514678400,"a":0,"d":0,"c":0},{"w":1515283200,"a":0,"d":0,"c":0},{"w":1515888000,"a":0,"d":0,"c":0},{"w":1516492800,"a":0,"d":0,"c":0},{"w":1517097600,"a":0,"d":0,"c":0},{"w":1517702400,"a":0,"d":0,"c":0},{"w":1518307200,"a":0,"d":0,"c":0},{"w":1518912000,"a":0,"d":0,"c":0},{"w":1519516800,"a":0,"d":0,"c":0},{"w":1520121600,"a":0,"d":0,"c":0},{"w":1520726400,"a":0,"d":0,"c":0},{"w":1521331200,"a":0,"d":0,"c":0},{"w":1521936000,"a":0,"d":0,"c":0},{"w":1522540800,"a":0,"d":0,"c":0},{"w":1523145600,"a":0,"d":0,"c":0},{"w":1523750400,"a":0,"d":0,"c":0},{"w":1524355200,"a":0,"d":0,"c":0},{"w":1524960000,"a":0,"d":0,"c":0},{"w":1525564800,"a":0,"d":0,"c":0},{"w":1526169600,"a":0,"d":0,"c":0},{"w":1526774400,"a":0,"d":0,"c":0},{"w":1527379200,"a":0,"d":0,"c":0},{"w":1527984000,"a":0,"d":0,"c":0},{"w":1528588800,"a":0,"d":0,"c":0},{"w":1529193600,"a":0,"d":0,"c":0},{"w":1529798400,"a":0,"d":0,"c":0},{"w":1530403200,"a":0,"d":0,"c":0},{"w":1531008000,"a":0,"d":0,"c":0},{"w":1531612800,"a":0,"d":0,"c":0},{"w":1532217600,"a":0,"d":0,"c":0},{"w":1532822400,"a":0,"d":0,"c":0},{"w":1533427200,"a":0,"d":0,"c":0},{"w":1534032000,"a":0,"d":0,"c":0},{"w":1534636800,"a":0,"d":0,"c":0},{"w":1535241600,"a":0,"d":0,"c":0},{"w":1535846400,"a":0,"d":0,"c":0},{"w":1536451200,"a":0,"d":0,"c":0},{"w":1537056000,"a":0,"d":0,"c":0},{"w":1537660800,"a":0,"d":0,"c":0},{"w":1538265600,"a":0,"d":0,"c":0},{"w":1538870400,"a":0,"d":0,"c":0},{"w":1539475200,"a":0,"d":0,"c":0},{"w":1540080000,"a":0,"d":0,"c":0},{"w":1540684800,"a":0,"d":0,"c":0},{"w":1541289600,"a":0,"d":0,"c":0},{"w":1541894400,"a":0,"d":0,"c":0},{"w":1542499200,"a":0,"d":0,"c":0},{"w":1543104000,"a":0,"d":0,"c":0},{"w":1543708800,"a":0,"d":0,"c":0},{"w":1544313600,"a":0,"d":0,"c":0},{"w":1544918400,"a":0,"d":0,"c":0},{"w":1545523200,"a":0,"d":0,"c":0},{"w":1546128000,"a":0,"d":0,"c":0},{"w":1546732800,"a":0,"d":0,"c":0},{"w":1547337600,"a":0,"d":0,"c":0},{"w":1547942400,"a":0,"d":0,"c":0},{"w":1548547200,"a":0,"d":0,"c":0},{"w":1549152000,"a":0,"d":0,"c":0},{"w":1549756800,"a":0,"d":0,"c":0},{"w":1550361600,"a":0,"d":0,"c":0},{"w":1550966400,"a":0,"d":0,"c":0},{"w":1551571200,"a":0,"d":0,"c":0},{"w":1552176000,"a":0,"d":0,"c":0},{"w":1552780800,"a":0,"d":0,"c":0},{"w":1553385600,"a":0,"d":0,"c":0},{"w":1553990400,"a":0,"d":0,"c":0},{"w":1554595200,"a":0,"d":0,"c":0},{"w":1555200000,"a":0,"d":0,"c":0},{"w":1555804800,"a":0,"d":0,"c":0},{"w":1556409600,"a":0,"d":0,"c":0},{"w":1557014400,"a":0,"d":0,"c":0},{"w":1557619200,"a":0,"d":0,"c":0},{"w":1558224000,"a":0,"d":0,"c":0},{"w":1558828800,"a":0,"d":0,"c":0},{"w":1559433600,"a":0,"d":0,"c":0},{"w":1560038400,"a":0,"d":0,"c":0},{"w":1560643200,"a":0,"d":0,"c":0},{"w":1561248000,"a":0,"d":0,"c":0},{"w":1561852800,"a":0,"d":0,"c":0},{"w":1562457600,"a":0,"d":0,"c":0}],"author":{"login":"ventilooo","id":9092178,"node_id":"MDQ6VXNlcjkwOTIxNzg=","avatar_url":"https://avatars1.githubusercontent.com/u/9092178?v=4","gravatar_id":"","url":"https://api.github.com/users/ventilooo","html_url":"https://github.com/ventilooo","followers_url":"https://api.github.com/users/ventilooo/followers","following_url":"https://api.github.com/users/ventilooo/following{/other_user}","gists_url":"https://api.github.com/users/ventilooo/gists{/gist_id}","starred_url":"https://api.github.com/users/ventilooo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ventilooo/subscriptions","organizations_url":"https://api.github.com/users/ventilooo/orgs","repos_url":"https://api.github.com/users/ventilooo/repos","events_url":"https://api.github.com/users/ventilooo/events{/privacy}","received_events_url":"https://api.github.com/users/ventilooo/received_events","type":"User","site_admin":false}},{"total":1,"weeks":[{"w":1215302400,"a":0,"d":0,"c":0},{"w":1215907200,"a":0,"d":0,"c":0},{"w":1216512000,"a":0,"d":0,"c":0},{"w":1217116800,"a":0,"d":0,"c":0},{"w":1217721600,"a":0,"d":0,"c":0},{"w":1218326400,"a":0,"d":0,"c":0},{"w":1218931200,"a":0,"d":0,"c":0},{"w":1219536000,"a":0,"d":0,"c":0},{"w":1220140800,"a":0,"d":0,"c":0},{"w":1220745600,"a":0,"d":0,"c":0},{"w":1221350400,"a":0,"d":0,"c":0},{"w":1221955200,"a":0,"d":0,"c":0},{"w":1222560000,"a":0,"d":0,"c":0},{"w":1223164800,"a":0,"d":0,"c":0},{"w":1223769600,"a":0,"d":0,"c":0},{"w":1224374400,"a":0,"d":0,"c":0},{"w":1224979200,"a":0,"d":0,"c":0},{"w":1225584000,"a":0,"d":0,"c":0},{"w":1226188800,"a":0,"d":0,"c":0},{"w":1226793600,"a":0,"d":0,"c":0},{"w":1227398400,"a":0,"d":0,"c":0},{"w":1228003200,"a":0,"d":0,"c":0},{"w":1228608000,"a":0,"d":0,"c":0},{"w":1229212800,"a":0,"d":0,"c":0},{"w":1229817600,"a":0,"d":0,"c":0},{"w":1230422400,"a":0,"d":0,"c":0},{"w":1231027200,"a":0,"d":0,"c":0},{"w":1231632000,"a":0,"d":0,"c":0},{"w":1232236800,"a":0,"d":0,"c":0},{"w":1232841600,"a":0,"d":0,"c":0},{"w":1233446400,"a":0,"d":0,"c":0},{"w":1234051200,"a":0,"d":0,"c":0},{"w":1234656000,"a":0,"d":0,"c":0},{"w":1235260800,"a":0,"d":0,"c":0},{"w":1235865600,"a":0,"d":0,"c":0},{"w":1236470400,"a":0,"d":0,"c":0},{"w":1237075200,"a":0,"d":0,"c":0},{"w":1237680000,"a":0,"d":0,"c":0},{"w":1238284800,"a":0,"d":0,"c":0},{"w":1238889600,"a":0,"d":0,"c":0},{"w":1239494400,"a":0,"d":0,"c":0},{"w":1240099200,"a":0,"d":0,"c":0},{"w":1240704000,"a":0,"d":0,"c":0},{"w":1241308800,"a":0,"d":0,"c":0},{"w":1241913600,"a":0,"d":0,"c":0},{"w":1242518400,"a":0,"d":0,"c":0},{"w":1243123200,"a":0,"d":0,"c":0},{"w":1243728000,"a":0,"d":0,"c":0},{"w":1244332800,"a":0,"d":0,"c":0},{"w":1244937600,"a":0,"d":0,"c":0},{"w":1245542400,"a":0,"d":0,"c":0},{"w":1246147200,"a":0,"d":0,"c":0},{"w":1246752000,"a":0,"d":0,"c":0},{"w":1247356800,"a":0,"d":0,"c":0},{"w":1247961600,"a":0,"d":0,"c":0},{"w":1248566400,"a":0,"d":0,"c":0},{"w":1249171200,"a":0,"d":0,"c":0},{"w":1249776000,"a":0,"d":0,"c":0},{"w":1250380800,"a":0,"d":0,"c":0},{"w":1250985600,"a":0,"d":0,"c":0},{"w":1251590400,"a":0,"d":0,"c":0},{"w":1252195200,"a":0,"d":0,"c":0},{"w":1252800000,"a":0,"d":0,"c":0},{"w":1253404800,"a":0,"d":0,"c":0},{"w":1254009600,"a":0,"d":0,"c":0},{"w":1254614400,"a":0,"d":0,"c":0},{"w":1255219200,"a":0,"d":0,"c":0},{"w":1255824000,"a":0,"d":0,"c":0},{"w":1256428800,"a":0,"d":0,"c":0},{"w":1257033600,"a":0,"d":0,"c":0},{"w":1257638400,"a":0,"d":0,"c":0},{"w":1258243200,"a":0,"d":0,"c":0},{"w":1258848000,"a":0,"d":0,"c":0},{"w":1259452800,"a":0,"d":0,"c":0},{"w":1260057600,"a":0,"d":0,"c":0},{"w":1260662400,"a":0,"d":0,"c":0},{"w":1261267200,"a":0,"d":0,"c":0},{"w":1261872000,"a":0,"d":0,"c":0},{"w":1262476800,"a":0,"d":0,"c":0},{"w":1263081600,"a":0,"d":0,"c":0},{"w":1263686400,"a":0,"d":0,"c":0},{"w":1264291200,"a":0,"d":0,"c":0},{"w":1264896000,"a":0,"d":0,"c":0},{"w":1265500800,"a":0,"d":0,"c":0},{"w":1266105600,"a":0,"d":0,"c":0},{"w":1266710400,"a":0,"d":0,"c":0},{"w":1267315200,"a":0,"d":0,"c":0},{"w":1267920000,"a":0,"d":0,"c":0},{"w":1268524800,"a":0,"d":0,"c":0},{"w":1269129600,"a":0,"d":0,"c":0},{"w":1269734400,"a":0,"d":0,"c":0},{"w":1270339200,"a":0,"d":0,"c":0},{"w":1270944000,"a":0,"d":0,"c":0},{"w":1271548800,"a":0,"d":0,"c":0},{"w":1272153600,"a":0,"d":0,"c":0},{"w":1272758400,"a":0,"d":0,"c":0},{"w":1273363200,"a":0,"d":0,"c":0},{"w":1273968000,"a":0,"d":0,"c":0},{"w":1274572800,"a":0,"d":0,"c":0},{"w":1275177600,"a":0,"d":0,"c":0},{"w":1275782400,"a":0,"d":0,"c":0},{"w":1276387200,"a":0,"d":0,"c":0},{"w":1276992000,"a":0,"d":0,"c":0},{"w":1277596800,"a":0,"d":0,"c":0},{"w":1278201600,"a":0,"d":0,"c":0},{"w":1278806400,"a":0,"d":0,"c":0},{"w":1279411200,"a":0,"d":0,"c":0},{"w":1280016000,"a":0,"d":0,"c":0},{"w":1280620800,"a":0,"d":0,"c":0},{"w":1281225600,"a":0,"d":0,"c":0},{"w":1281830400,"a":0,"d":0,"c":0},{"w":1282435200,"a":0,"d":0,"c":0},{"w":1283040000,"a":0,"d":0,"c":0},{"w":1283644800,"a":0,"d":0,"c":0},{"w":1284249600,"a":0,"d":0,"c":0},{"w":1284854400,"a":0,"d":0,"c":0},{"w":1285459200,"a":0,"d":0,"c":0},{"w":1286064000,"a":0,"d":0,"c":0},{"w":1286668800,"a":0,"d":0,"c":0},{"w":1287273600,"a":0,"d":0,"c":0},{"w":1287878400,"a":0,"d":0,"c":0},{"w":1288483200,"a":0,"d":0,"c":0},{"w":1289088000,"a":0,"d":0,"c":0},{"w":1289692800,"a":0,"d":0,"c":0},{"w":1290297600,"a":0,"d":0,"c":0},{"w":1290902400,"a":0,"d":0,"c":0},{"w":1291507200,"a":0,"d":0,"c":0},{"w":1292112000,"a":0,"d":0,"c":0},{"w":1292716800,"a":0,"d":0,"c":0},{"w":1293321600,"a":0,"d":0,"c":0},{"w":1293926400,"a":0,"d":0,"c":0},{"w":1294531200,"a":0,"d":0,"c":0},{"w":1295136000,"a":0,"d":0,"c":0},{"w":1295740800,"a":0,"d":0,"c":0},{"w":1296345600,"a":0,"d":0,"c":0},{"w":1296950400,"a":0,"d":0,"c":0},{"w":1297555200,"a":0,"d":0,"c":0},{"w":1298160000,"a":0,"d":0,"c":0},{"w":1298764800,"a":0,"d":0,"c":0},{"w":1299369600,"a":0,"d":0,"c":0},{"w":1299974400,"a":0,"d":0,"c":0},{"w":1300579200,"a":0,"d":0,"c":0},{"w":1301184000,"a":0,"d":0,"c":0},{"w":1301788800,"a":0,"d":0,"c":0},{"w":1302393600,"a":0,"d":0,"c":0},{"w":1302998400,"a":0,"d":0,"c":0},{"w":1303603200,"a":0,"d":0,"c":0},{"w":1304208000,"a":0,"d":0,"c":0},{"w":1304812800,"a":0,"d":0,"c":0},{"w":1305417600,"a":0,"d":0,"c":0},{"w":1306022400,"a":0,"d":0,"c":0},{"w":1306627200,"a":0,"d":0,"c":0},{"w":1307232000,"a":0,"d":0,"c":0},{"w":1307836800,"a":0,"d":0,"c":0},{"w":1308441600,"a":0,"d":0,"c":0},{"w":1309046400,"a":0,"d":0,"c":0},{"w":1309651200,"a":0,"d":0,"c":0},{"w":1310256000,"a":0,"d":0,"c":0},{"w":1310860800,"a":0,"d":0,"c":0},{"w":1311465600,"a":0,"d":0,"c":0},{"w":1312070400,"a":0,"d":0,"c":0},{"w":1312675200,"a":0,"d":0,"c":0},{"w":1313280000,"a":0,"d":0,"c":0},{"w":1313884800,"a":0,"d":0,"c":0},{"w":1314489600,"a":0,"d":0,"c":0},{"w":1315094400,"a":0,"d":0,"c":0},{"w":1315699200,"a":0,"d":0,"c":0},{"w":1316304000,"a":0,"d":0,"c":0},{"w":1316908800,"a":0,"d":0,"c":0},{"w":1317513600,"a":0,"d":0,"c":0},{"w":1318118400,"a":0,"d":0,"c":0},{"w":1318723200,"a":0,"d":0,"c":0},{"w":1319328000,"a":0,"d":0,"c":0},{"w":1319932800,"a":0,"d":0,"c":0},{"w":1320537600,"a":0,"d":0,"c":0},{"w":1321142400,"a":0,"d":0,"c":0},{"w":1321747200,"a":0,"d":0,"c":0},{"w":1322352000,"a":0,"d":0,"c":0},{"w":1322956800,"a":0,"d":0,"c":0},{"w":1323561600,"a":0,"d":0,"c":0},{"w":1324166400,"a":0,"d":0,"c":0},{"w":1324771200,"a":0,"d":0,"c":0},{"w":1325376000,"a":0,"d":0,"c":0},{"w":1325980800,"a":0,"d":0,"c":0},{"w":1326585600,"a":0,"d":0,"c":0},{"w":1327190400,"a":0,"d":0,"c":0},{"w":1327795200,"a":0,"d":0,"c":0},{"w":1328400000,"a":0,"d":0,"c":0},{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0},{"w":1384646400,"a":0,"d":0,"c":0},{"w":1385251200,"a":0,"d":0,"c":0},{"w":1385856000,"a":0,"d":0,"c":0},{"w":1386460800,"a":0,"d":0,"c":0},{"w":1387065600,"a":0,"d":0,"c":0},{"w":1387670400,"a":0,"d":0,"c":0},{"w":1388275200,"a":0,"d":0,"c":0},{"w":1388880000,"a":0,"d":0,"c":0},{"w":1389484800,"a":0,"d":0,"c":0},{"w":1390089600,"a":0,"d":0,"c":0},{"w":1390694400,"a":0,"d":0,"c":0},{"w":1391299200,"a":0,"d":0,"c":0},{"w":1391904000,"a":0,"d":0,"c":0},{"w":1392508800,"a":0,"d":0,"c":0},{"w":1393113600,"a":0,"d":0,"c":0},{"w":1393718400,"a":0,"d":0,"c":0},{"w":1394323200,"a":0,"d":0,"c":0},{"w":1394928000,"a":0,"d":0,"c":0},{"w":1395532800,"a":0,"d":0,"c":0},{"w":1396137600,"a":0,"d":0,"c":0},{"w":1396742400,"a":0,"d":0,"c":0},{"w":1397347200,"a":0,"d":0,"c":0},{"w":1397952000,"a":0,"d":0,"c":0},{"w":1398556800,"a":0,"d":0,"c":0},{"w":1399161600,"a":0,"d":0,"c":0},{"w":1399766400,"a":0,"d":0,"c":0},{"w":1400371200,"a":0,"d":0,"c":0},{"w":1400976000,"a":0,"d":0,"c":0},{"w":1401580800,"a":0,"d":0,"c":0},{"w":1402185600,"a":0,"d":0,"c":0},{"w":1402790400,"a":0,"d":0,"c":0},{"w":1403395200,"a":0,"d":0,"c":0},{"w":1404000000,"a":0,"d":0,"c":0},{"w":1404604800,"a":0,"d":0,"c":0},{"w":1405209600,"a":0,"d":0,"c":0},{"w":1405814400,"a":0,"d":0,"c":0},{"w":1406419200,"a":0,"d":0,"c":0},{"w":1407024000,"a":0,"d":0,"c":0},{"w":1407628800,"a":0,"d":0,"c":0},{"w":1408233600,"a":0,"d":0,"c":0},{"w":1408838400,"a":0,"d":0,"c":0},{"w":1409443200,"a":0,"d":0,"c":0},{"w":1410048000,"a":0,"d":0,"c":0},{"w":1410652800,"a":0,"d":0,"c":0},{"w":1411257600,"a":0,"d":0,"c":0},{"w":1411862400,"a":0,"d":0,"c":0},{"w":1412467200,"a":0,"d":0,"c":0},{"w":1413072000,"a":0,"d":0,"c":0},{"w":1413676800,"a":0,"d":0,"c":0},{"w":1414281600,"a":0,"d":0,"c":0},{"w":1414886400,"a":0,"d":0,"c":0},{"w":1415491200,"a":0,"d":0,"c":0},{"w":1416096000,"a":0,"d":0,"c":0},{"w":1416700800,"a":0,"d":0,"c":0},{"w":1417305600,"a":0,"d":0,"c":0},{"w":1417910400,"a":0,"d":0,"c":0},{"w":1418515200,"a":0,"d":0,"c":0},{"w":1419120000,"a":0,"d":0,"c":0},{"w":1419724800,"a":0,"d":0,"c":0},{"w":1420329600,"a":0,"d":0,"c":0},{"w":1420934400,"a":0,"d":0,"c":0},{"w":1421539200,"a":0,"d":0,"c":0},{"w":1422144000,"a":0,"d":0,"c":0},{"w":1422748800,"a":0,"d":0,"c":0},{"w":1423353600,"a":0,"d":0,"c":0},{"w":1423958400,"a":0,"d":0,"c":0},{"w":1424563200,"a":0,"d":0,"c":0},{"w":1425168000,"a":0,"d":0,"c":0},{"w":1425772800,"a":0,"d":0,"c":0},{"w":1426377600,"a":0,"d":0,"c":0},{"w":1426982400,"a":0,"d":0,"c":0},{"w":1427587200,"a":0,"d":0,"c":0},{"w":1428192000,"a":0,"d":0,"c":0},{"w":1428796800,"a":0,"d":0,"c":0},{"w":1429401600,"a":0,"d":0,"c":0},{"w":1430006400,"a":0,"d":0,"c":0},{"w":1430611200,"a":0,"d":0,"c":0},{"w":1431216000,"a":0,"d":0,"c":0},{"w":1431820800,"a":0,"d":0,"c":0},{"w":1432425600,"a":0,"d":0,"c":0},{"w":1433030400,"a":0,"d":0,"c":0},{"w":1433635200,"a":0,"d":0,"c":0},{"w":1434240000,"a":0,"d":0,"c":0},{"w":1434844800,"a":0,"d":0,"c":0},{"w":1435449600,"a":0,"d":0,"c":0},{"w":1436054400,"a":0,"d":0,"c":0},{"w":1436659200,"a":0,"d":0,"c":0},{"w":1437264000,"a":0,"d":0,"c":0},{"w":1437868800,"a":0,"d":0,"c":0},{"w":1438473600,"a":0,"d":0,"c":0},{"w":1439078400,"a":0,"d":0,"c":0},{"w":1439683200,"a":0,"d":0,"c":0},{"w":1440288000,"a":0,"d":0,"c":0},{"w":1440892800,"a":0,"d":0,"c":0},{"w":1441497600,"a":0,"d":0,"c":0},{"w":1442102400,"a":0,"d":0,"c":0},{"w":1442707200,"a":0,"d":0,"c":0},{"w":1443312000,"a":0,"d":0,"c":0},{"w":1443916800,"a":0,"d":0,"c":0},{"w":1444521600,"a":0,"d":0,"c":0},{"w":1445126400,"a":0,"d":0,"c":0},{"w":1445731200,"a":0,"d":0,"c":0},{"w":1446336000,"a":0,"d":0,"c":0},{"w":1446940800,"a":0,"d":0,"c":0},{"w":1447545600,"a":0,"d":0,"c":0},{"w":1448150400,"a":0,"d":0,"c":0},{"w":1448755200,"a":0,"d":0,"c":0},{"w":1449360000,"a":0,"d":0,"c":0},{"w":1449964800,"a":0,"d":0,"c":0},{"w":1450569600,"a":0,"d":0,"c":0},{"w":1451174400,"a":0,"d":0,"c":0},{"w":1451779200,"a":0,"d":0,"c":0},{"w":1452384000,"a":0,"d":0,"c":0},{"w":1452988800,"a":0,"d":0,"c":0},{"w":1453593600,"a":0,"d":0,"c":0},{"w":1454198400,"a":0,"d":0,"c":0},{"w":1454803200,"a":0,"d":0,"c":0},{"w":1455408000,"a":0,"d":0,"c":0},{"w":1456012800,"a":0,"d":0,"c":0},{"w":1456617600,"a":0,"d":0,"c":0},{"w":1457222400,"a":0,"d":0,"c":0},{"w":1457827200,"a":0,"d":0,"c":0},{"w":1458432000,"a":0,"d":0,"c":0},{"w":1459036800,"a":0,"d":0,"c":0},{"w":1459641600,"a":0,"d":0,"c":0},{"w":1460246400,"a":0,"d":0,"c":0},{"w":1460851200,"a":0,"d":0,"c":0},{"w":1461456000,"a":0,"d":0,"c":0},{"w":1462060800,"a":0,"d":0,"c":0},{"w":1462665600,"a":0,"d":0,"c":0},{"w":1463270400,"a":0,"d":0,"c":0},{"w":1463875200,"a":3,"d":6,"c":1},{"w":1464480000,"a":0,"d":0,"c":0},{"w":1465084800,"a":0,"d":0,"c":0},{"w":1465689600,"a":0,"d":0,"c":0},{"w":1466294400,"a":0,"d":0,"c":0},{"w":1466899200,"a":0,"d":0,"c":0},{"w":1467504000,"a":0,"d":0,"c":0},{"w":1468108800,"a":0,"d":0,"c":0},{"w":1468713600,"a":0,"d":0,"c":0},{"w":1469318400,"a":0,"d":0,"c":0},{"w":1469923200,"a":0,"d":0,"c":0},{"w":1470528000,"a":0,"d":0,"c":0},{"w":1471132800,"a":0,"d":0,"c":0},{"w":1471737600,"a":0,"d":0,"c":0},{"w":1472342400,"a":0,"d":0,"c":0},{"w":1472947200,"a":0,"d":0,"c":0},{"w":1473552000,"a":0,"d":0,"c":0},{"w":1474156800,"a":0,"d":0,"c":0},{"w":1474761600,"a":0,"d":0,"c":0},{"w":1475366400,"a":0,"d":0,"c":0},{"w":1475971200,"a":0,"d":0,"c":0},{"w":1476576000,"a":0,"d":0,"c":0},{"w":1477180800,"a":0,"d":0,"c":0},{"w":1477785600,"a":0,"d":0,"c":0},{"w":1478390400,"a":0,"d":0,"c":0},{"w":1478995200,"a":0,"d":0,"c":0},{"w":1479600000,"a":0,"d":0,"c":0},{"w":1480204800,"a":0,"d":0,"c":0},{"w":1480809600,"a":0,"d":0,"c":0},{"w":1481414400,"a":0,"d":0,"c":0},{"w":1482019200,"a":0,"d":0,"c":0},{"w":1482624000,"a":0,"d":0,"c":0},{"w":1483228800,"a":0,"d":0,"c":0},{"w":1483833600,"a":0,"d":0,"c":0},{"w":1484438400,"a":0,"d":0,"c":0},{"w":1485043200,"a":0,"d":0,"c":0},{"w":1485648000,"a":0,"d":0,"c":0},{"w":1486252800,"a":0,"d":0,"c":0},{"w":1486857600,"a":0,"d":0,"c":0},{"w":1487462400,"a":0,"d":0,"c":0},{"w":1488067200,"a":0,"d":0,"c":0},{"w":1488672000,"a":0,"d":0,"c":0},{"w":1489276800,"a":0,"d":0,"c":0},{"w":1489881600,"a":0,"d":0,"c":0},{"w":1490486400,"a":0,"d":0,"c":0},{"w":1491091200,"a":0,"d":0,"c":0},{"w":1491696000,"a":0,"d":0,"c":0},{"w":1492300800,"a":0,"d":0,"c":0},{"w":1492905600,"a":0,"d":0,"c":0},{"w":1493510400,"a":0,"d":0,"c":0},{"w":1494115200,"a":0,"d":0,"c":0},{"w":1494720000,"a":0,"d":0,"c":0},{"w":1495324800,"a":0,"d":0,"c":0},{"w":1495929600,"a":0,"d":0,"c":0},{"w":1496534400,"a":0,"d":0,"c":0},{"w":1497139200,"a":0,"d":0,"c":0},{"w":1497744000,"a":0,"d":0,"c":0},{"w":1498348800,"a":0,"d":0,"c":0},{"w":1498953600,"a":0,"d":0,"c":0},{"w":1499558400,"a":0,"d":0,"c":0},{"w":1500163200,"a":0,"d":0,"c":0},{"w":1500768000,"a":0,"d":0,"c":0},{"w":1501372800,"a":0,"d":0,"c":0},{"w":1501977600,"a":0,"d":0,"c":0},{"w":1502582400,"a":0,"d":0,"c":0},{"w":1503187200,"a":0,"d":0,"c":0},{"w":1503792000,"a":0,"d":0,"c":0},{"w":1504396800,"a":0,"d":0,"c":0},{"w":1505001600,"a":0,"d":0,"c":0},{"w":1505606400,"a":0,"d":0,"c":0},{"w":1506211200,"a":0,"d":0,"c":0},{"w":1506816000,"a":0,"d":0,"c":0},{"w":1507420800,"a":0,"d":0,"c":0},{"w":1508025600,"a":0,"d":0,"c":0},{"w":1508630400,"a":0,"d":0,"c":0},{"w":1509235200,"a":0,"d":0,"c":0},{"w":1509840000,"a":0,"d":0,"c":0},{"w":1510444800,"a":0,"d":0,"c":0},{"w":1511049600,"a":0,"d":0,"c":0},{"w":1511654400,"a":0,"d":0,"c":0},{"w":1512259200,"a":0,"d":0,"c":0},{"w":1512864000,"a":0,"d":0,"c":0},{"w":1513468800,"a":0,"d":0,"c":0},{"w":1514073600,"a":0,"d":0,"c":0},{"w":1514678400,"a":0,"d":0,"c":0},{"w":1515283200,"a":0,"d":0,"c":0},{"w":1515888000,"a":0,"d":0,"c":0},{"w":1516492800,"a":0,"d":0,"c":0},{"w":1517097600,"a":0,"d":0,"c":0},{"w":1517702400,"a":0,"d":0,"c":0},{"w":1518307200,"a":0,"d":0,"c":0},{"w":1518912000,"a":0,"d":0,"c":0},{"w":1519516800,"a":0,"d":0,"c":0},{"w":1520121600,"a":0,"d":0,"c":0},{"w":1520726400,"a":0,"d":0,"c":0},{"w":1521331200,"a":0,"d":0,"c":0},{"w":1521936000,"a":0,"d":0,"c":0},{"w":1522540800,"a":0,"d":0,"c":0},{"w":1523145600,"a":0,"d":0,"c":0},{"w":1523750400,"a":0,"d":0,"c":0},{"w":1524355200,"a":0,"d":0,"c":0},{"w":1524960000,"a":0,"d":0,"c":0},{"w":1525564800,"a":0,"d":0,"c":0},{"w":1526169600,"a":0,"d":0,"c":0},{"w":1526774400,"a":0,"d":0,"c":0},{"w":1527379200,"a":0,"d":0,"c":0},{"w":1527984000,"a":0,"d":0,"c":0},{"w":1528588800,"a":0,"d":0,"c":0},{"w":1529193600,"a":0,"d":0,"c":0},{"w":1529798400,"a":0,"d":0,"c":0},{"w":1530403200,"a":0,"d":0,"c":0},{"w":1531008000,"a":0,"d":0,"c":0},{"w":1531612800,"a":0,"d":0,"c":0},{"w":1532217600,"a":0,"d":0,"c":0},{"w":1532822400,"a":0,"d":0,"c":0},{"w":1533427200,"a":0,"d":0,"c":0},{"w":1534032000,"a":0,"d":0,"c":0},{"w":1534636800,"a":0,"d":0,"c":0},{"w":1535241600,"a":0,"d":0,"c":0},{"w":1535846400,"a":0,"d":0,"c":0},{"w":1536451200,"a":0,"d":0,"c":0},{"w":1537056000,"a":0,"d":0,"c":0},{"w":1537660800,"a":0,"d":0,"c":0},{"w":1538265600,"a":0,"d":0,"c":0},{"w":1538870400,"a":0,"d":0,"c":0},{"w":1539475200,"a":0,"d":0,"c":0},{"w":1540080000,"a":0,"d":0,"c":0},{"w":1540684800,"a":0,"d":0,"c":0},{"w":1541289600,"a":0,"d":0,"c":0},{"w":1541894400,"a":0,"d":0,"c":0},{"w":1542499200,"a":0,"d":0,"c":0},{"w":1543104000,"a":0,"d":0,"c":0},{"w":1543708800,"a":0,"d":0,"c":0},{"w":1544313600,"a":0,"d":0,"c":0},{"w":1544918400,"a":0,"d":0,"c":0},{"w":1545523200,"a":0,"d":0,"c":0},{"w":1546128000,"a":0,"d":0,"c":0},{"w":1546732800,"a":0,"d":0,"c":0},{"w":1547337600,"a":0,"d":0,"c":0},{"w":1547942400,"a":0,"d":0,"c":0},{"w":1548547200,"a":0,"d":0,"c":0},{"w":1549152000,"a":0,"d":0,"c":0},{"w":1549756800,"a":0,"d":0,"c":0},{"w":1550361600,"a":0,"d":0,"c":0},{"w":1550966400,"a":0,"d":0,"c":0},{"w":1551571200,"a":0,"d":0,"c":0},{"w":1552176000,"a":0,"d":0,"c":0},{"w":1552780800,"a":0,"d":0,"c":0},{"w":1553385600,"a":0,"d":0,"c":0},{"w":1553990400,"a":0,"d":0,"c":0},{"w":1554595200,"a":0,"d":0,"c":0},{"w":1555200000,"a":0,"d":0,"c":0},{"w":1555804800,"a":0,"d":0,"c":0},{"w":1556409600,"a":0,"d":0,"c":0},{"w":1557014400,"a":0,"d":0,"c":0},{"w":1557619200,"a":0,"d":0,"c":0},{"w":1558224000,"a":0,"d":0,"c":0},{"w":1558828800,"a":0,"d":0,"c":0},{"w":1559433600,"a":0,"d":0,"c":0},{"w":1560038400,"a":0,"d":0,"c":0},{"w":1560643200,"a":0,"d":0,"c":0},{"w":1561248000,"a":0,"d":0,"c":0},{"w":1561852800,"a":0,"d":0,"c":0},{"w":1562457600,"a":0,"d":0,"c":0}],"author":{"login":"tonygaetani","id":5572832,"node_id":"MDQ6VXNlcjU1NzI4MzI=","avatar_url":"https://avatars0.githubusercontent.com/u/5572832?v=4","gravatar_id":"","url":"https://api.github.com/users/tonygaetani","html_url":"https://github.com/tonygaetani","followers_url":"https://api.github.com/users/tonygaetani/followers","following_url":"https://api.github.com/users/tonygaetani/following{/other_user}","gists_url":"https://api.github.com/users/tonygaetani/gists{/gist_id}","starred_url":"https://api.github.com/users/tonygaetani/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tonygaetani/subscriptions","organizations_url":"https://api.github.com/users/tonygaetani/orgs","repos_url":"https://api.github.com/users/tonygaetani/repos","events_url":"https://api.github.com/users/tonygaetani/events{/privacy}","received_events_url":"https://api.github.com/users/tonygaetani/received_events","type":"User","site_admin":false}},{"total":1,"weeks":[{"w":1215302400,"a":0,"d":0,"c":0},{"w":1215907200,"a":0,"d":0,"c":0},{"w":1216512000,"a":0,"d":0,"c":0},{"w":1217116800,"a":0,"d":0,"c":0},{"w":1217721600,"a":0,"d":0,"c":0},{"w":1218326400,"a":0,"d":0,"c":0},{"w":1218931200,"a":0,"d":0,"c":0},{"w":1219536000,"a":0,"d":0,"c":0},{"w":1220140800,"a":0,"d":0,"c":0},{"w":1220745600,"a":0,"d":0,"c":0},{"w":1221350400,"a":0,"d":0,"c":0},{"w":1221955200,"a":0,"d":0,"c":0},{"w":1222560000,"a":0,"d":0,"c":0},{"w":1223164800,"a":0,"d":0,"c":0},{"w":1223769600,"a":0,"d":0,"c":0},{"w":1224374400,"a":0,"d":0,"c":0},{"w":1224979200,"a":0,"d":0,"c":0},{"w":1225584000,"a":0,"d":0,"c":0},{"w":1226188800,"a":0,"d":0,"c":0},{"w":1226793600,"a":0,"d":0,"c":0},{"w":1227398400,"a":0,"d":0,"c":0},{"w":1228003200,"a":0,"d":0,"c":0},{"w":1228608000,"a":0,"d":0,"c":0},{"w":1229212800,"a":0,"d":0,"c":0},{"w":1229817600,"a":0,"d":0,"c":0},{"w":1230422400,"a":0,"d":0,"c":0},{"w":1231027200,"a":0,"d":0,"c":0},{"w":1231632000,"a":0,"d":0,"c":0},{"w":1232236800,"a":0,"d":0,"c":0},{"w":1232841600,"a":0,"d":0,"c":0},{"w":1233446400,"a":0,"d":0,"c":0},{"w":1234051200,"a":0,"d":0,"c":0},{"w":1234656000,"a":0,"d":0,"c":0},{"w":1235260800,"a":0,"d":0,"c":0},{"w":1235865600,"a":0,"d":0,"c":0},{"w":1236470400,"a":0,"d":0,"c":0},{"w":1237075200,"a":0,"d":0,"c":0},{"w":1237680000,"a":0,"d":0,"c":0},{"w":1238284800,"a":0,"d":0,"c":0},{"w":1238889600,"a":0,"d":0,"c":0},{"w":1239494400,"a":0,"d":0,"c":0},{"w":1240099200,"a":0,"d":0,"c":0},{"w":1240704000,"a":0,"d":0,"c":0},{"w":1241308800,"a":0,"d":0,"c":0},{"w":1241913600,"a":0,"d":0,"c":0},{"w":1242518400,"a":0,"d":0,"c":0},{"w":1243123200,"a":0,"d":0,"c":0},{"w":1243728000,"a":0,"d":0,"c":0},{"w":1244332800,"a":0,"d":0,"c":0},{"w":1244937600,"a":0,"d":0,"c":0},{"w":1245542400,"a":0,"d":0,"c":0},{"w":1246147200,"a":0,"d":0,"c":0},{"w":1246752000,"a":0,"d":0,"c":0},{"w":1247356800,"a":0,"d":0,"c":0},{"w":1247961600,"a":0,"d":0,"c":0},{"w":1248566400,"a":0,"d":0,"c":0},{"w":1249171200,"a":0,"d":0,"c":0},{"w":1249776000,"a":0,"d":0,"c":0},{"w":1250380800,"a":0,"d":0,"c":0},{"w":1250985600,"a":0,"d":0,"c":0},{"w":1251590400,"a":0,"d":0,"c":0},{"w":1252195200,"a":0,"d":0,"c":0},{"w":1252800000,"a":0,"d":0,"c":0},{"w":1253404800,"a":0,"d":0,"c":0},{"w":1254009600,"a":0,"d":0,"c":0},{"w":1254614400,"a":0,"d":0,"c":0},{"w":1255219200,"a":0,"d":0,"c":0},{"w":1255824000,"a":0,"d":0,"c":0},{"w":1256428800,"a":0,"d":0,"c":0},{"w":1257033600,"a":0,"d":0,"c":0},{"w":1257638400,"a":0,"d":0,"c":0},{"w":1258243200,"a":0,"d":0,"c":0},{"w":1258848000,"a":0,"d":0,"c":0},{"w":1259452800,"a":0,"d":0,"c":0},{"w":1260057600,"a":0,"d":0,"c":0},{"w":1260662400,"a":0,"d":0,"c":0},{"w":1261267200,"a":0,"d":0,"c":0},{"w":1261872000,"a":0,"d":0,"c":0},{"w":1262476800,"a":0,"d":0,"c":0},{"w":1263081600,"a":0,"d":0,"c":0},{"w":1263686400,"a":0,"d":0,"c":0},{"w":1264291200,"a":0,"d":0,"c":0},{"w":1264896000,"a":0,"d":0,"c":0},{"w":1265500800,"a":0,"d":0,"c":0},{"w":1266105600,"a":0,"d":0,"c":0},{"w":1266710400,"a":0,"d":0,"c":0},{"w":1267315200,"a":0,"d":0,"c":0},{"w":1267920000,"a":0,"d":0,"c":0},{"w":1268524800,"a":0,"d":0,"c":0},{"w":1269129600,"a":0,"d":0,"c":0},{"w":1269734400,"a":0,"d":0,"c":0},{"w":1270339200,"a":0,"d":0,"c":0},{"w":1270944000,"a":0,"d":0,"c":0},{"w":1271548800,"a":0,"d":0,"c":0},{"w":1272153600,"a":0,"d":0,"c":0},{"w":1272758400,"a":0,"d":0,"c":0},{"w":1273363200,"a":0,"d":0,"c":0},{"w":1273968000,"a":0,"d":0,"c":0},{"w":1274572800,"a":0,"d":0,"c":0},{"w":1275177600,"a":0,"d":0,"c":0},{"w":1275782400,"a":0,"d":0,"c":0},{"w":1276387200,"a":0,"d":0,"c":0},{"w":1276992000,"a":0,"d":0,"c":0},{"w":1277596800,"a":0,"d":0,"c":0},{"w":1278201600,"a":0,"d":0,"c":0},{"w":1278806400,"a":0,"d":0,"c":0},{"w":1279411200,"a":0,"d":0,"c":0},{"w":1280016000,"a":0,"d":0,"c":0},{"w":1280620800,"a":0,"d":0,"c":0},{"w":1281225600,"a":0,"d":0,"c":0},{"w":1281830400,"a":0,"d":0,"c":0},{"w":1282435200,"a":0,"d":0,"c":0},{"w":1283040000,"a":0,"d":0,"c":0},{"w":1283644800,"a":0,"d":0,"c":0},{"w":1284249600,"a":0,"d":0,"c":0},{"w":1284854400,"a":0,"d":0,"c":0},{"w":1285459200,"a":0,"d":0,"c":0},{"w":1286064000,"a":0,"d":0,"c":0},{"w":1286668800,"a":0,"d":0,"c":0},{"w":1287273600,"a":0,"d":0,"c":0},{"w":1287878400,"a":0,"d":0,"c":0},{"w":1288483200,"a":0,"d":0,"c":0},{"w":1289088000,"a":0,"d":0,"c":0},{"w":1289692800,"a":0,"d":0,"c":0},{"w":1290297600,"a":0,"d":0,"c":0},{"w":1290902400,"a":0,"d":0,"c":0},{"w":1291507200,"a":0,"d":0,"c":0},{"w":1292112000,"a":0,"d":0,"c":0},{"w":1292716800,"a":0,"d":0,"c":0},{"w":1293321600,"a":0,"d":0,"c":0},{"w":1293926400,"a":0,"d":0,"c":0},{"w":1294531200,"a":0,"d":0,"c":0},{"w":1295136000,"a":0,"d":0,"c":0},{"w":1295740800,"a":0,"d":0,"c":0},{"w":1296345600,"a":0,"d":0,"c":0},{"w":1296950400,"a":0,"d":0,"c":0},{"w":1297555200,"a":0,"d":0,"c":0},{"w":1298160000,"a":0,"d":0,"c":0},{"w":1298764800,"a":0,"d":0,"c":0},{"w":1299369600,"a":0,"d":0,"c":0},{"w":1299974400,"a":0,"d":0,"c":0},{"w":1300579200,"a":0,"d":0,"c":0},{"w":1301184000,"a":0,"d":0,"c":0},{"w":1301788800,"a":0,"d":0,"c":0},{"w":1302393600,"a":0,"d":0,"c":0},{"w":1302998400,"a":0,"d":0,"c":0},{"w":1303603200,"a":0,"d":0,"c":0},{"w":1304208000,"a":0,"d":0,"c":0},{"w":1304812800,"a":0,"d":0,"c":0},{"w":1305417600,"a":0,"d":0,"c":0},{"w":1306022400,"a":0,"d":0,"c":0},{"w":1306627200,"a":0,"d":0,"c":0},{"w":1307232000,"a":0,"d":0,"c":0},{"w":1307836800,"a":0,"d":0,"c":0},{"w":1308441600,"a":0,"d":0,"c":0},{"w":1309046400,"a":0,"d":0,"c":0},{"w":1309651200,"a":0,"d":0,"c":0},{"w":1310256000,"a":0,"d":0,"c":0},{"w":1310860800,"a":0,"d":0,"c":0},{"w":1311465600,"a":0,"d":0,"c":0},{"w":1312070400,"a":0,"d":0,"c":0},{"w":1312675200,"a":0,"d":0,"c":0},{"w":1313280000,"a":0,"d":0,"c":0},{"w":1313884800,"a":0,"d":0,"c":0},{"w":1314489600,"a":0,"d":0,"c":0},{"w":1315094400,"a":0,"d":0,"c":0},{"w":1315699200,"a":0,"d":0,"c":0},{"w":1316304000,"a":0,"d":0,"c":0},{"w":1316908800,"a":0,"d":0,"c":0},{"w":1317513600,"a":0,"d":0,"c":0},{"w":1318118400,"a":0,"d":0,"c":0},{"w":1318723200,"a":0,"d":0,"c":0},{"w":1319328000,"a":0,"d":0,"c":0},{"w":1319932800,"a":0,"d":0,"c":0},{"w":1320537600,"a":0,"d":0,"c":0},{"w":1321142400,"a":0,"d":0,"c":0},{"w":1321747200,"a":0,"d":0,"c":0},{"w":1322352000,"a":0,"d":0,"c":0},{"w":1322956800,"a":0,"d":0,"c":0},{"w":1323561600,"a":0,"d":0,"c":0},{"w":1324166400,"a":0,"d":0,"c":0},{"w":1324771200,"a":0,"d":0,"c":0},{"w":1325376000,"a":0,"d":0,"c":0},{"w":1325980800,"a":0,"d":0,"c":0},{"w":1326585600,"a":0,"d":0,"c":0},{"w":1327190400,"a":0,"d":0,"c":0},{"w":1327795200,"a":0,"d":0,"c":0},{"w":1328400000,"a":0,"d":0,"c":0},{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0},{"w":1384646400,"a":0,"d":0,"c":0},{"w":1385251200,"a":0,"d":0,"c":0},{"w":1385856000,"a":0,"d":0,"c":0},{"w":1386460800,"a":0,"d":0,"c":0},{"w":1387065600,"a":0,"d":0,"c":0},{"w":1387670400,"a":0,"d":0,"c":0},{"w":1388275200,"a":0,"d":0,"c":0},{"w":1388880000,"a":0,"d":0,"c":0},{"w":1389484800,"a":0,"d":0,"c":0},{"w":1390089600,"a":0,"d":0,"c":0},{"w":1390694400,"a":0,"d":0,"c":0},{"w":1391299200,"a":0,"d":0,"c":0},{"w":1391904000,"a":0,"d":0,"c":0},{"w":1392508800,"a":0,"d":0,"c":0},{"w":1393113600,"a":0,"d":0,"c":0},{"w":1393718400,"a":0,"d":0,"c":0},{"w":1394323200,"a":0,"d":0,"c":0},{"w":1394928000,"a":0,"d":0,"c":0},{"w":1395532800,"a":0,"d":0,"c":0},{"w":1396137600,"a":0,"d":0,"c":0},{"w":1396742400,"a":0,"d":0,"c":0},{"w":1397347200,"a":0,"d":0,"c":0},{"w":1397952000,"a":0,"d":0,"c":0},{"w":1398556800,"a":0,"d":0,"c":0},{"w":1399161600,"a":0,"d":0,"c":0},{"w":1399766400,"a":0,"d":0,"c":0},{"w":1400371200,"a":0,"d":0,"c":0},{"w":1400976000,"a":0,"d":0,"c":0},{"w":1401580800,"a":0,"d":0,"c":0},{"w":1402185600,"a":0,"d":0,"c":0},{"w":1402790400,"a":0,"d":0,"c":0},{"w":1403395200,"a":0,"d":0,"c":0},{"w":1404000000,"a":0,"d":0,"c":0},{"w":1404604800,"a":0,"d":0,"c":0},{"w":1405209600,"a":0,"d":0,"c":0},{"w":1405814400,"a":0,"d":0,"c":0},{"w":1406419200,"a":0,"d":0,"c":0},{"w":1407024000,"a":0,"d":0,"c":0},{"w":1407628800,"a":0,"d":0,"c":0},{"w":1408233600,"a":0,"d":0,"c":0},{"w":1408838400,"a":0,"d":0,"c":0},{"w":1409443200,"a":0,"d":0,"c":0},{"w":1410048000,"a":0,"d":0,"c":0},{"w":1410652800,"a":0,"d":0,"c":0},{"w":1411257600,"a":0,"d":0,"c":0},{"w":1411862400,"a":0,"d":0,"c":0},{"w":1412467200,"a":0,"d":0,"c":0},{"w":1413072000,"a":0,"d":0,"c":0},{"w":1413676800,"a":0,"d":0,"c":0},{"w":1414281600,"a":0,"d":0,"c":0},{"w":1414886400,"a":0,"d":0,"c":0},{"w":1415491200,"a":0,"d":0,"c":0},{"w":1416096000,"a":0,"d":0,"c":0},{"w":1416700800,"a":0,"d":0,"c":0},{"w":1417305600,"a":0,"d":0,"c":0},{"w":1417910400,"a":0,"d":0,"c":0},{"w":1418515200,"a":0,"d":0,"c":0},{"w":1419120000,"a":0,"d":0,"c":0},{"w":1419724800,"a":0,"d":0,"c":0},{"w":1420329600,"a":0,"d":0,"c":0},{"w":1420934400,"a":0,"d":0,"c":0},{"w":1421539200,"a":0,"d":0,"c":0},{"w":1422144000,"a":0,"d":0,"c":0},{"w":1422748800,"a":0,"d":0,"c":0},{"w":1423353600,"a":0,"d":0,"c":0},{"w":1423958400,"a":0,"d":0,"c":0},{"w":1424563200,"a":0,"d":0,"c":0},{"w":1425168000,"a":0,"d":0,"c":0},{"w":1425772800,"a":0,"d":0,"c":0},{"w":1426377600,"a":0,"d":0,"c":0},{"w":1426982400,"a":0,"d":0,"c":0},{"w":1427587200,"a":0,"d":0,"c":0},{"w":1428192000,"a":0,"d":0,"c":0},{"w":1428796800,"a":0,"d":0,"c":0},{"w":1429401600,"a":0,"d":0,"c":0},{"w":1430006400,"a":0,"d":0,"c":0},{"w":1430611200,"a":0,"d":0,"c":0},{"w":1431216000,"a":0,"d":0,"c":0},{"w":1431820800,"a":0,"d":0,"c":0},{"w":1432425600,"a":0,"d":0,"c":0},{"w":1433030400,"a":0,"d":0,"c":0},{"w":1433635200,"a":24,"d":0,"c":1},{"w":1434240000,"a":0,"d":0,"c":0},{"w":1434844800,"a":0,"d":0,"c":0},{"w":1435449600,"a":0,"d":0,"c":0},{"w":1436054400,"a":0,"d":0,"c":0},{"w":1436659200,"a":0,"d":0,"c":0},{"w":1437264000,"a":0,"d":0,"c":0},{"w":1437868800,"a":0,"d":0,"c":0},{"w":1438473600,"a":0,"d":0,"c":0},{"w":1439078400,"a":0,"d":0,"c":0},{"w":1439683200,"a":0,"d":0,"c":0},{"w":1440288000,"a":0,"d":0,"c":0},{"w":1440892800,"a":0,"d":0,"c":0},{"w":1441497600,"a":0,"d":0,"c":0},{"w":1442102400,"a":0,"d":0,"c":0},{"w":1442707200,"a":0,"d":0,"c":0},{"w":1443312000,"a":0,"d":0,"c":0},{"w":1443916800,"a":0,"d":0,"c":0},{"w":1444521600,"a":0,"d":0,"c":0},{"w":1445126400,"a":0,"d":0,"c":0},{"w":1445731200,"a":0,"d":0,"c":0},{"w":1446336000,"a":0,"d":0,"c":0},{"w":1446940800,"a":0,"d":0,"c":0},{"w":1447545600,"a":0,"d":0,"c":0},{"w":1448150400,"a":0,"d":0,"c":0},{"w":1448755200,"a":0,"d":0,"c":0},{"w":1449360000,"a":0,"d":0,"c":0},{"w":1449964800,"a":0,"d":0,"c":0},{"w":1450569600,"a":0,"d":0,"c":0},{"w":1451174400,"a":0,"d":0,"c":0},{"w":1451779200,"a":0,"d":0,"c":0},{"w":1452384000,"a":0,"d":0,"c":0},{"w":1452988800,"a":0,"d":0,"c":0},{"w":1453593600,"a":0,"d":0,"c":0},{"w":1454198400,"a":0,"d":0,"c":0},{"w":1454803200,"a":0,"d":0,"c":0},{"w":1455408000,"a":0,"d":0,"c":0},{"w":1456012800,"a":0,"d":0,"c":0},{"w":1456617600,"a":0,"d":0,"c":0},{"w":1457222400,"a":0,"d":0,"c":0},{"w":1457827200,"a":0,"d":0,"c":0},{"w":1458432000,"a":0,"d":0,"c":0},{"w":1459036800,"a":0,"d":0,"c":0},{"w":1459641600,"a":0,"d":0,"c":0},{"w":1460246400,"a":0,"d":0,"c":0},{"w":1460851200,"a":0,"d":0,"c":0},{"w":1461456000,"a":0,"d":0,"c":0},{"w":1462060800,"a":0,"d":0,"c":0},{"w":1462665600,"a":0,"d":0,"c":0},{"w":1463270400,"a":0,"d":0,"c":0},{"w":1463875200,"a":0,"d":0,"c":0},{"w":1464480000,"a":0,"d":0,"c":0},{"w":1465084800,"a":0,"d":0,"c":0},{"w":1465689600,"a":0,"d":0,"c":0},{"w":1466294400,"a":0,"d":0,"c":0},{"w":1466899200,"a":0,"d":0,"c":0},{"w":1467504000,"a":0,"d":0,"c":0},{"w":1468108800,"a":0,"d":0,"c":0},{"w":1468713600,"a":0,"d":0,"c":0},{"w":1469318400,"a":0,"d":0,"c":0},{"w":1469923200,"a":0,"d":0,"c":0},{"w":1470528000,"a":0,"d":0,"c":0},{"w":1471132800,"a":0,"d":0,"c":0},{"w":1471737600,"a":0,"d":0,"c":0},{"w":1472342400,"a":0,"d":0,"c":0},{"w":1472947200,"a":0,"d":0,"c":0},{"w":1473552000,"a":0,"d":0,"c":0},{"w":1474156800,"a":0,"d":0,"c":0},{"w":1474761600,"a":0,"d":0,"c":0},{"w":1475366400,"a":0,"d":0,"c":0},{"w":1475971200,"a":0,"d":0,"c":0},{"w":1476576000,"a":0,"d":0,"c":0},{"w":1477180800,"a":0,"d":0,"c":0},{"w":1477785600,"a":0,"d":0,"c":0},{"w":1478390400,"a":0,"d":0,"c":0},{"w":1478995200,"a":0,"d":0,"c":0},{"w":1479600000,"a":0,"d":0,"c":0},{"w":1480204800,"a":0,"d":0,"c":0},{"w":1480809600,"a":0,"d":0,"c":0},{"w":1481414400,"a":0,"d":0,"c":0},{"w":1482019200,"a":0,"d":0,"c":0},{"w":1482624000,"a":0,"d":0,"c":0},{"w":1483228800,"a":0,"d":0,"c":0},{"w":1483833600,"a":0,"d":0,"c":0},{"w":1484438400,"a":0,"d":0,"c":0},{"w":1485043200,"a":0,"d":0,"c":0},{"w":1485648000,"a":0,"d":0,"c":0},{"w":1486252800,"a":0,"d":0,"c":0},{"w":1486857600,"a":0,"d":0,"c":0},{"w":1487462400,"a":0,"d":0,"c":0},{"w":1488067200,"a":0,"d":0,"c":0},{"w":1488672000,"a":0,"d":0,"c":0},{"w":1489276800,"a":0,"d":0,"c":0},{"w":1489881600,"a":0,"d":0,"c":0},{"w":1490486400,"a":0,"d":0,"c":0},{"w":1491091200,"a":0,"d":0,"c":0},{"w":1491696000,"a":0,"d":0,"c":0},{"w":1492300800,"a":0,"d":0,"c":0},{"w":1492905600,"a":0,"d":0,"c":0},{"w":1493510400,"a":0,"d":0,"c":0},{"w":1494115200,"a":0,"d":0,"c":0},{"w":1494720000,"a":0,"d":0,"c":0},{"w":1495324800,"a":0,"d":0,"c":0},{"w":1495929600,"a":0,"d":0,"c":0},{"w":1496534400,"a":0,"d":0,"c":0},{"w":1497139200,"a":0,"d":0,"c":0},{"w":1497744000,"a":0,"d":0,"c":0},{"w":1498348800,"a":0,"d":0,"c":0},{"w":1498953600,"a":0,"d":0,"c":0},{"w":1499558400,"a":0,"d":0,"c":0},{"w":1500163200,"a":0,"d":0,"c":0},{"w":1500768000,"a":0,"d":0,"c":0},{"w":1501372800,"a":0,"d":0,"c":0},{"w":1501977600,"a":0,"d":0,"c":0},{"w":1502582400,"a":0,"d":0,"c":0},{"w":1503187200,"a":0,"d":0,"c":0},{"w":1503792000,"a":0,"d":0,"c":0},{"w":1504396800,"a":0,"d":0,"c":0},{"w":1505001600,"a":0,"d":0,"c":0},{"w":1505606400,"a":0,"d":0,"c":0},{"w":1506211200,"a":0,"d":0,"c":0},{"w":1506816000,"a":0,"d":0,"c":0},{"w":1507420800,"a":0,"d":0,"c":0},{"w":1508025600,"a":0,"d":0,"c":0},{"w":1508630400,"a":0,"d":0,"c":0},{"w":1509235200,"a":0,"d":0,"c":0},{"w":1509840000,"a":0,"d":0,"c":0},{"w":1510444800,"a":0,"d":0,"c":0},{"w":1511049600,"a":0,"d":0,"c":0},{"w":1511654400,"a":0,"d":0,"c":0},{"w":1512259200,"a":0,"d":0,"c":0},{"w":1512864000,"a":0,"d":0,"c":0},{"w":1513468800,"a":0,"d":0,"c":0},{"w":1514073600,"a":0,"d":0,"c":0},{"w":1514678400,"a":0,"d":0,"c":0},{"w":1515283200,"a":0,"d":0,"c":0},{"w":1515888000,"a":0,"d":0,"c":0},{"w":1516492800,"a":0,"d":0,"c":0},{"w":1517097600,"a":0,"d":0,"c":0},{"w":1517702400,"a":0,"d":0,"c":0},{"w":1518307200,"a":0,"d":0,"c":0},{"w":1518912000,"a":0,"d":0,"c":0},{"w":1519516800,"a":0,"d":0,"c":0},{"w":1520121600,"a":0,"d":0,"c":0},{"w":1520726400,"a":0,"d":0,"c":0},{"w":1521331200,"a":0,"d":0,"c":0},{"w":1521936000,"a":0,"d":0,"c":0},{"w":1522540800,"a":0,"d":0,"c":0},{"w":1523145600,"a":0,"d":0,"c":0},{"w":1523750400,"a":0,"d":0,"c":0},{"w":1524355200,"a":0,"d":0,"c":0},{"w":1524960000,"a":0,"d":0,"c":0},{"w":1525564800,"a":0,"d":0,"c":0},{"w":1526169600,"a":0,"d":0,"c":0},{"w":1526774400,"a":0,"d":0,"c":0},{"w":1527379200,"a":0,"d":0,"c":0},{"w":1527984000,"a":0,"d":0,"c":0},{"w":1528588800,"a":0,"d":0,"c":0},{"w":1529193600,"a":0,"d":0,"c":0},{"w":1529798400,"a":0,"d":0,"c":0},{"w":1530403200,"a":0,"d":0,"c":0},{"w":1531008000,"a":0,"d":0,"c":0},{"w":1531612800,"a":0,"d":0,"c":0},{"w":1532217600,"a":0,"d":0,"c":0},{"w":1532822400,"a":0,"d":0,"c":0},{"w":1533427200,"a":0,"d":0,"c":0},{"w":1534032000,"a":0,"d":0,"c":0},{"w":1534636800,"a":0,"d":0,"c":0},{"w":1535241600,"a":0,"d":0,"c":0},{"w":1535846400,"a":0,"d":0,"c":0},{"w":1536451200,"a":0,"d":0,"c":0},{"w":1537056000,"a":0,"d":0,"c":0},{"w":1537660800,"a":0,"d":0,"c":0},{"w":1538265600,"a":0,"d":0,"c":0},{"w":1538870400,"a":0,"d":0,"c":0},{"w":1539475200,"a":0,"d":0,"c":0},{"w":1540080000,"a":0,"d":0,"c":0},{"w":1540684800,"a":0,"d":0,"c":0},{"w":1541289600,"a":0,"d":0,"c":0},{"w":1541894400,"a":0,"d":0,"c":0},{"w":1542499200,"a":0,"d":0,"c":0},{"w":1543104000,"a":0,"d":0,"c":0},{"w":1543708800,"a":0,"d":0,"c":0},{"w":1544313600,"a":0,"d":0,"c":0},{"w":1544918400,"a":0,"d":0,"c":0},{"w":1545523200,"a":0,"d":0,"c":0},{"w":1546128000,"a":0,"d":0,"c":0},{"w":1546732800,"a":0,"d":0,"c":0},{"w":1547337600,"a":0,"d":0,"c":0},{"w":1547942400,"a":0,"d":0,"c":0},{"w":1548547200,"a":0,"d":0,"c":0},{"w":1549152000,"a":0,"d":0,"c":0},{"w":1549756800,"a":0,"d":0,"c":0},{"w":1550361600,"a":0,"d":0,"c":0},{"w":1550966400,"a":0,"d":0,"c":0},{"w":1551571200,"a":0,"d":0,"c":0},{"w":1552176000,"a":0,"d":0,"c":0},{"w":1552780800,"a":0,"d":0,"c":0},{"w":1553385600,"a":0,"d":0,"c":0},{"w":1553990400,"a":0,"d":0,"c":0},{"w":1554595200,"a":0,"d":0,"c":0},{"w":1555200000,"a":0,"d":0,"c":0},{"w":1555804800,"a":0,"d":0,"c":0},{"w":1556409600,"a":0,"d":0,"c":0},{"w":1557014400,"a":0,"d":0,"c":0},{"w":1557619200,"a":0,"d":0,"c":0},{"w":1558224000,"a":0,"d":0,"c":0},{"w":1558828800,"a":0,"d":0,"c":0},{"w":1559433600,"a":0,"d":0,"c":0},{"w":1560038400,"a":0,"d":0,"c":0},{"w":1560643200,"a":0,"d":0,"c":0},{"w":1561248000,"a":0,"d":0,"c":0},{"w":1561852800,"a":0,"d":0,"c":0},{"w":1562457600,"a":0,"d":0,"c":0}],"author":{"login":"jpcaissy","id":632559,"node_id":"MDQ6VXNlcjYzMjU1OQ==","avatar_url":"https://avatars1.githubusercontent.com/u/632559?v=4","gravatar_id":"","url":"https://api.github.com/users/jpcaissy","html_url":"https://github.com/jpcaissy","followers_url":"https://api.github.com/users/jpcaissy/followers","following_url":"https://api.github.com/users/jpcaissy/following{/other_user}","gists_url":"https://api.github.com/users/jpcaissy/gists{/gist_id}","starred_url":"https://api.github.com/users/jpcaissy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jpcaissy/subscriptions","organizations_url":"https://api.github.com/users/jpcaissy/orgs","repos_url":"https://api.github.com/users/jpcaissy/repos","events_url":"https://api.github.com/users/jpcaissy/events{/privacy}","received_events_url":"https://api.github.com/users/jpcaissy/received_events","type":"User","site_admin":false}},{"total":1,"weeks":[{"w":1215302400,"a":0,"d":0,"c":0},{"w":1215907200,"a":0,"d":0,"c":0},{"w":1216512000,"a":0,"d":0,"c":0},{"w":1217116800,"a":0,"d":0,"c":0},{"w":1217721600,"a":0,"d":0,"c":0},{"w":1218326400,"a":0,"d":0,"c":0},{"w":1218931200,"a":0,"d":0,"c":0},{"w":1219536000,"a":0,"d":0,"c":0},{"w":1220140800,"a":0,"d":0,"c":0},{"w":1220745600,"a":0,"d":0,"c":0},{"w":1221350400,"a":0,"d":0,"c":0},{"w":1221955200,"a":0,"d":0,"c":0},{"w":1222560000,"a":0,"d":0,"c":0},{"w":1223164800,"a":0,"d":0,"c":0},{"w":1223769600,"a":0,"d":0,"c":0},{"w":1224374400,"a":0,"d":0,"c":0},{"w":1224979200,"a":0,"d":0,"c":0},{"w":1225584000,"a":0,"d":0,"c":0},{"w":1226188800,"a":0,"d":0,"c":0},{"w":1226793600,"a":0,"d":0,"c":0},{"w":1227398400,"a":0,"d":0,"c":0},{"w":1228003200,"a":0,"d":0,"c":0},{"w":1228608000,"a":0,"d":0,"c":0},{"w":1229212800,"a":0,"d":0,"c":0},{"w":1229817600,"a":0,"d":0,"c":0},{"w":1230422400,"a":0,"d":0,"c":0},{"w":1231027200,"a":0,"d":0,"c":0},{"w":1231632000,"a":0,"d":0,"c":0},{"w":1232236800,"a":0,"d":0,"c":0},{"w":1232841600,"a":0,"d":0,"c":0},{"w":1233446400,"a":0,"d":0,"c":0},{"w":1234051200,"a":0,"d":0,"c":0},{"w":1234656000,"a":0,"d":0,"c":0},{"w":1235260800,"a":0,"d":0,"c":0},{"w":1235865600,"a":0,"d":0,"c":0},{"w":1236470400,"a":0,"d":0,"c":0},{"w":1237075200,"a":0,"d":0,"c":0},{"w":1237680000,"a":0,"d":0,"c":0},{"w":1238284800,"a":0,"d":0,"c":0},{"w":1238889600,"a":0,"d":0,"c":0},{"w":1239494400,"a":0,"d":0,"c":0},{"w":1240099200,"a":0,"d":0,"c":0},{"w":1240704000,"a":0,"d":0,"c":0},{"w":1241308800,"a":0,"d":0,"c":0},{"w":1241913600,"a":0,"d":0,"c":0},{"w":1242518400,"a":0,"d":0,"c":0},{"w":1243123200,"a":0,"d":0,"c":0},{"w":1243728000,"a":0,"d":0,"c":0},{"w":1244332800,"a":0,"d":0,"c":0},{"w":1244937600,"a":0,"d":0,"c":0},{"w":1245542400,"a":0,"d":0,"c":0},{"w":1246147200,"a":0,"d":0,"c":0},{"w":1246752000,"a":0,"d":0,"c":0},{"w":1247356800,"a":0,"d":0,"c":0},{"w":1247961600,"a":0,"d":0,"c":0},{"w":1248566400,"a":0,"d":0,"c":0},{"w":1249171200,"a":0,"d":0,"c":0},{"w":1249776000,"a":0,"d":0,"c":0},{"w":1250380800,"a":0,"d":0,"c":0},{"w":1250985600,"a":0,"d":0,"c":0},{"w":1251590400,"a":0,"d":0,"c":0},{"w":1252195200,"a":0,"d":0,"c":0},{"w":1252800000,"a":0,"d":0,"c":0},{"w":1253404800,"a":0,"d":0,"c":0},{"w":1254009600,"a":0,"d":0,"c":0},{"w":1254614400,"a":0,"d":0,"c":0},{"w":1255219200,"a":0,"d":0,"c":0},{"w":1255824000,"a":0,"d":0,"c":0},{"w":1256428800,"a":0,"d":0,"c":0},{"w":1257033600,"a":0,"d":0,"c":0},{"w":1257638400,"a":0,"d":0,"c":0},{"w":1258243200,"a":0,"d":0,"c":0},{"w":1258848000,"a":0,"d":0,"c":0},{"w":1259452800,"a":0,"d":0,"c":0},{"w":1260057600,"a":0,"d":0,"c":0},{"w":1260662400,"a":0,"d":0,"c":0},{"w":1261267200,"a":0,"d":0,"c":0},{"w":1261872000,"a":0,"d":0,"c":0},{"w":1262476800,"a":0,"d":0,"c":0},{"w":1263081600,"a":0,"d":0,"c":0},{"w":1263686400,"a":0,"d":0,"c":0},{"w":1264291200,"a":0,"d":0,"c":0},{"w":1264896000,"a":0,"d":0,"c":0},{"w":1265500800,"a":0,"d":0,"c":0},{"w":1266105600,"a":0,"d":0,"c":0},{"w":1266710400,"a":0,"d":0,"c":0},{"w":1267315200,"a":0,"d":0,"c":0},{"w":1267920000,"a":0,"d":0,"c":0},{"w":1268524800,"a":0,"d":0,"c":0},{"w":1269129600,"a":0,"d":0,"c":0},{"w":1269734400,"a":0,"d":0,"c":0},{"w":1270339200,"a":0,"d":0,"c":0},{"w":1270944000,"a":0,"d":0,"c":0},{"w":1271548800,"a":0,"d":0,"c":0},{"w":1272153600,"a":0,"d":0,"c":0},{"w":1272758400,"a":0,"d":0,"c":0},{"w":1273363200,"a":0,"d":0,"c":0},{"w":1273968000,"a":0,"d":0,"c":0},{"w":1274572800,"a":0,"d":0,"c":0},{"w":1275177600,"a":0,"d":0,"c":0},{"w":1275782400,"a":0,"d":0,"c":0},{"w":1276387200,"a":0,"d":0,"c":0},{"w":1276992000,"a":0,"d":0,"c":0},{"w":1277596800,"a":0,"d":0,"c":0},{"w":1278201600,"a":0,"d":0,"c":0},{"w":1278806400,"a":0,"d":0,"c":0},{"w":1279411200,"a":0,"d":0,"c":0},{"w":1280016000,"a":0,"d":0,"c":0},{"w":1280620800,"a":0,"d":0,"c":0},{"w":1281225600,"a":0,"d":0,"c":0},{"w":1281830400,"a":0,"d":0,"c":0},{"w":1282435200,"a":0,"d":0,"c":0},{"w":1283040000,"a":0,"d":0,"c":0},{"w":1283644800,"a":0,"d":0,"c":0},{"w":1284249600,"a":0,"d":0,"c":0},{"w":1284854400,"a":0,"d":0,"c":0},{"w":1285459200,"a":0,"d":0,"c":0},{"w":1286064000,"a":0,"d":0,"c":0},{"w":1286668800,"a":0,"d":0,"c":0},{"w":1287273600,"a":0,"d":0,"c":0},{"w":1287878400,"a":0,"d":0,"c":0},{"w":1288483200,"a":0,"d":0,"c":0},{"w":1289088000,"a":0,"d":0,"c":0},{"w":1289692800,"a":0,"d":0,"c":0},{"w":1290297600,"a":0,"d":0,"c":0},{"w":1290902400,"a":0,"d":0,"c":0},{"w":1291507200,"a":0,"d":0,"c":0},{"w":1292112000,"a":0,"d":0,"c":0},{"w":1292716800,"a":0,"d":0,"c":0},{"w":1293321600,"a":0,"d":0,"c":0},{"w":1293926400,"a":0,"d":0,"c":0},{"w":1294531200,"a":0,"d":0,"c":0},{"w":1295136000,"a":0,"d":0,"c":0},{"w":1295740800,"a":0,"d":0,"c":0},{"w":1296345600,"a":0,"d":0,"c":0},{"w":1296950400,"a":0,"d":0,"c":0},{"w":1297555200,"a":0,"d":0,"c":0},{"w":1298160000,"a":0,"d":0,"c":0},{"w":1298764800,"a":0,"d":0,"c":0},{"w":1299369600,"a":0,"d":0,"c":0},{"w":1299974400,"a":0,"d":0,"c":0},{"w":1300579200,"a":0,"d":0,"c":0},{"w":1301184000,"a":0,"d":0,"c":0},{"w":1301788800,"a":0,"d":0,"c":0},{"w":1302393600,"a":0,"d":0,"c":0},{"w":1302998400,"a":0,"d":0,"c":0},{"w":1303603200,"a":0,"d":0,"c":0},{"w":1304208000,"a":0,"d":0,"c":0},{"w":1304812800,"a":0,"d":0,"c":0},{"w":1305417600,"a":0,"d":0,"c":0},{"w":1306022400,"a":0,"d":0,"c":0},{"w":1306627200,"a":0,"d":0,"c":0},{"w":1307232000,"a":0,"d":0,"c":0},{"w":1307836800,"a":0,"d":0,"c":0},{"w":1308441600,"a":0,"d":0,"c":0},{"w":1309046400,"a":0,"d":0,"c":0},{"w":1309651200,"a":0,"d":0,"c":0},{"w":1310256000,"a":0,"d":0,"c":0},{"w":1310860800,"a":0,"d":0,"c":0},{"w":1311465600,"a":0,"d":0,"c":0},{"w":1312070400,"a":0,"d":0,"c":0},{"w":1312675200,"a":0,"d":0,"c":0},{"w":1313280000,"a":0,"d":0,"c":0},{"w":1313884800,"a":0,"d":0,"c":0},{"w":1314489600,"a":0,"d":0,"c":0},{"w":1315094400,"a":0,"d":0,"c":0},{"w":1315699200,"a":0,"d":0,"c":0},{"w":1316304000,"a":0,"d":0,"c":0},{"w":1316908800,"a":0,"d":0,"c":0},{"w":1317513600,"a":0,"d":0,"c":0},{"w":1318118400,"a":0,"d":0,"c":0},{"w":1318723200,"a":0,"d":0,"c":0},{"w":1319328000,"a":0,"d":0,"c":0},{"w":1319932800,"a":0,"d":0,"c":0},{"w":1320537600,"a":0,"d":0,"c":0},{"w":1321142400,"a":0,"d":0,"c":0},{"w":1321747200,"a":0,"d":0,"c":0},{"w":1322352000,"a":0,"d":0,"c":0},{"w":1322956800,"a":0,"d":0,"c":0},{"w":1323561600,"a":0,"d":0,"c":0},{"w":1324166400,"a":0,"d":0,"c":0},{"w":1324771200,"a":0,"d":0,"c":0},{"w":1325376000,"a":0,"d":0,"c":0},{"w":1325980800,"a":0,"d":0,"c":0},{"w":1326585600,"a":0,"d":0,"c":0},{"w":1327190400,"a":0,"d":0,"c":0},{"w":1327795200,"a":0,"d":0,"c":0},{"w":1328400000,"a":0,"d":0,"c":0},{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0},{"w":1384646400,"a":0,"d":0,"c":0},{"w":1385251200,"a":0,"d":0,"c":0},{"w":1385856000,"a":0,"d":0,"c":0},{"w":1386460800,"a":0,"d":0,"c":0},{"w":1387065600,"a":0,"d":0,"c":0},{"w":1387670400,"a":0,"d":0,"c":0},{"w":1388275200,"a":0,"d":0,"c":0},{"w":1388880000,"a":0,"d":0,"c":0},{"w":1389484800,"a":0,"d":0,"c":0},{"w":1390089600,"a":0,"d":0,"c":0},{"w":1390694400,"a":0,"d":0,"c":0},{"w":1391299200,"a":0,"d":0,"c":0},{"w":1391904000,"a":0,"d":0,"c":0},{"w":1392508800,"a":0,"d":0,"c":0},{"w":1393113600,"a":0,"d":0,"c":0},{"w":1393718400,"a":0,"d":0,"c":0},{"w":1394323200,"a":0,"d":0,"c":0},{"w":1394928000,"a":0,"d":0,"c":0},{"w":1395532800,"a":0,"d":0,"c":0},{"w":1396137600,"a":0,"d":0,"c":0},{"w":1396742400,"a":0,"d":0,"c":0},{"w":1397347200,"a":0,"d":0,"c":0},{"w":1397952000,"a":0,"d":0,"c":0},{"w":1398556800,"a":0,"d":0,"c":0},{"w":1399161600,"a":0,"d":0,"c":0},{"w":1399766400,"a":0,"d":0,"c":0},{"w":1400371200,"a":0,"d":0,"c":0},{"w":1400976000,"a":0,"d":0,"c":0},{"w":1401580800,"a":0,"d":0,"c":0},{"w":1402185600,"a":0,"d":0,"c":0},{"w":1402790400,"a":0,"d":0,"c":0},{"w":1403395200,"a":0,"d":0,"c":0},{"w":1404000000,"a":0,"d":0,"c":0},{"w":1404604800,"a":0,"d":0,"c":0},{"w":1405209600,"a":0,"d":0,"c":0},{"w":1405814400,"a":0,"d":0,"c":0},{"w":1406419200,"a":0,"d":0,"c":0},{"w":1407024000,"a":0,"d":0,"c":0},{"w":1407628800,"a":0,"d":0,"c":0},{"w":1408233600,"a":0,"d":0,"c":0},{"w":1408838400,"a":0,"d":0,"c":0},{"w":1409443200,"a":0,"d":0,"c":0},{"w":1410048000,"a":0,"d":0,"c":0},{"w":1410652800,"a":0,"d":0,"c":0},{"w":1411257600,"a":0,"d":0,"c":0},{"w":1411862400,"a":0,"d":0,"c":0},{"w":1412467200,"a":0,"d":0,"c":0},{"w":1413072000,"a":0,"d":0,"c":0},{"w":1413676800,"a":0,"d":0,"c":0},{"w":1414281600,"a":0,"d":0,"c":0},{"w":1414886400,"a":0,"d":0,"c":0},{"w":1415491200,"a":0,"d":0,"c":0},{"w":1416096000,"a":0,"d":0,"c":0},{"w":1416700800,"a":0,"d":0,"c":0},{"w":1417305600,"a":0,"d":0,"c":0},{"w":1417910400,"a":0,"d":0,"c":0},{"w":1418515200,"a":0,"d":0,"c":0},{"w":1419120000,"a":0,"d":0,"c":0},{"w":1419724800,"a":0,"d":0,"c":0},{"w":1420329600,"a":0,"d":0,"c":0},{"w":1420934400,"a":0,"d":0,"c":0},{"w":1421539200,"a":0,"d":0,"c":0},{"w":1422144000,"a":0,"d":0,"c":0},{"w":1422748800,"a":0,"d":0,"c":0},{"w":1423353600,"a":0,"d":0,"c":0},{"w":1423958400,"a":0,"d":0,"c":0},{"w":1424563200,"a":0,"d":0,"c":0},{"w":1425168000,"a":0,"d":0,"c":0},{"w":1425772800,"a":0,"d":0,"c":0},{"w":1426377600,"a":0,"d":0,"c":0},{"w":1426982400,"a":0,"d":0,"c":0},{"w":1427587200,"a":0,"d":0,"c":0},{"w":1428192000,"a":0,"d":0,"c":0},{"w":1428796800,"a":0,"d":0,"c":0},{"w":1429401600,"a":305,"d":0,"c":1},{"w":1430006400,"a":0,"d":0,"c":0},{"w":1430611200,"a":0,"d":0,"c":0},{"w":1431216000,"a":0,"d":0,"c":0},{"w":1431820800,"a":0,"d":0,"c":0},{"w":1432425600,"a":0,"d":0,"c":0},{"w":1433030400,"a":0,"d":0,"c":0},{"w":1433635200,"a":0,"d":0,"c":0},{"w":1434240000,"a":0,"d":0,"c":0},{"w":1434844800,"a":0,"d":0,"c":0},{"w":1435449600,"a":0,"d":0,"c":0},{"w":1436054400,"a":0,"d":0,"c":0},{"w":1436659200,"a":0,"d":0,"c":0},{"w":1437264000,"a":0,"d":0,"c":0},{"w":1437868800,"a":0,"d":0,"c":0},{"w":1438473600,"a":0,"d":0,"c":0},{"w":1439078400,"a":0,"d":0,"c":0},{"w":1439683200,"a":0,"d":0,"c":0},{"w":1440288000,"a":0,"d":0,"c":0},{"w":1440892800,"a":0,"d":0,"c":0},{"w":1441497600,"a":0,"d":0,"c":0},{"w":1442102400,"a":0,"d":0,"c":0},{"w":1442707200,"a":0,"d":0,"c":0},{"w":1443312000,"a":0,"d":0,"c":0},{"w":1443916800,"a":0,"d":0,"c":0},{"w":1444521600,"a":0,"d":0,"c":0},{"w":1445126400,"a":0,"d":0,"c":0},{"w":1445731200,"a":0,"d":0,"c":0},{"w":1446336000,"a":0,"d":0,"c":0},{"w":1446940800,"a":0,"d":0,"c":0},{"w":1447545600,"a":0,"d":0,"c":0},{"w":1448150400,"a":0,"d":0,"c":0},{"w":1448755200,"a":0,"d":0,"c":0},{"w":1449360000,"a":0,"d":0,"c":0},{"w":1449964800,"a":0,"d":0,"c":0},{"w":1450569600,"a":0,"d":0,"c":0},{"w":1451174400,"a":0,"d":0,"c":0},{"w":1451779200,"a":0,"d":0,"c":0},{"w":1452384000,"a":0,"d":0,"c":0},{"w":1452988800,"a":0,"d":0,"c":0},{"w":1453593600,"a":0,"d":0,"c":0},{"w":1454198400,"a":0,"d":0,"c":0},{"w":1454803200,"a":0,"d":0,"c":0},{"w":1455408000,"a":0,"d":0,"c":0},{"w":1456012800,"a":0,"d":0,"c":0},{"w":1456617600,"a":0,"d":0,"c":0},{"w":1457222400,"a":0,"d":0,"c":0},{"w":1457827200,"a":0,"d":0,"c":0},{"w":1458432000,"a":0,"d":0,"c":0},{"w":1459036800,"a":0,"d":0,"c":0},{"w":1459641600,"a":0,"d":0,"c":0},{"w":1460246400,"a":0,"d":0,"c":0},{"w":1460851200,"a":0,"d":0,"c":0},{"w":1461456000,"a":0,"d":0,"c":0},{"w":1462060800,"a":0,"d":0,"c":0},{"w":1462665600,"a":0,"d":0,"c":0},{"w":1463270400,"a":0,"d":0,"c":0},{"w":1463875200,"a":0,"d":0,"c":0},{"w":1464480000,"a":0,"d":0,"c":0},{"w":1465084800,"a":0,"d":0,"c":0},{"w":1465689600,"a":0,"d":0,"c":0},{"w":1466294400,"a":0,"d":0,"c":0},{"w":1466899200,"a":0,"d":0,"c":0},{"w":1467504000,"a":0,"d":0,"c":0},{"w":1468108800,"a":0,"d":0,"c":0},{"w":1468713600,"a":0,"d":0,"c":0},{"w":1469318400,"a":0,"d":0,"c":0},{"w":1469923200,"a":0,"d":0,"c":0},{"w":1470528000,"a":0,"d":0,"c":0},{"w":1471132800,"a":0,"d":0,"c":0},{"w":1471737600,"a":0,"d":0,"c":0},{"w":1472342400,"a":0,"d":0,"c":0},{"w":1472947200,"a":0,"d":0,"c":0},{"w":1473552000,"a":0,"d":0,"c":0},{"w":1474156800,"a":0,"d":0,"c":0},{"w":1474761600,"a":0,"d":0,"c":0},{"w":1475366400,"a":0,"d":0,"c":0},{"w":1475971200,"a":0,"d":0,"c":0},{"w":1476576000,"a":0,"d":0,"c":0},{"w":1477180800,"a":0,"d":0,"c":0},{"w":1477785600,"a":0,"d":0,"c":0},{"w":1478390400,"a":0,"d":0,"c":0},{"w":1478995200,"a":0,"d":0,"c":0},{"w":1479600000,"a":0,"d":0,"c":0},{"w":1480204800,"a":0,"d":0,"c":0},{"w":1480809600,"a":0,"d":0,"c":0},{"w":1481414400,"a":0,"d":0,"c":0},{"w":1482019200,"a":0,"d":0,"c":0},{"w":1482624000,"a":0,"d":0,"c":0},{"w":1483228800,"a":0,"d":0,"c":0},{"w":1483833600,"a":0,"d":0,"c":0},{"w":1484438400,"a":0,"d":0,"c":0},{"w":1485043200,"a":0,"d":0,"c":0},{"w":1485648000,"a":0,"d":0,"c":0},{"w":1486252800,"a":0,"d":0,"c":0},{"w":1486857600,"a":0,"d":0,"c":0},{"w":1487462400,"a":0,"d":0,"c":0},{"w":1488067200,"a":0,"d":0,"c":0},{"w":1488672000,"a":0,"d":0,"c":0},{"w":1489276800,"a":0,"d":0,"c":0},{"w":1489881600,"a":0,"d":0,"c":0},{"w":1490486400,"a":0,"d":0,"c":0},{"w":1491091200,"a":0,"d":0,"c":0},{"w":1491696000,"a":0,"d":0,"c":0},{"w":1492300800,"a":0,"d":0,"c":0},{"w":1492905600,"a":0,"d":0,"c":0},{"w":1493510400,"a":0,"d":0,"c":0},{"w":1494115200,"a":0,"d":0,"c":0},{"w":1494720000,"a":0,"d":0,"c":0},{"w":1495324800,"a":0,"d":0,"c":0},{"w":1495929600,"a":0,"d":0,"c":0},{"w":1496534400,"a":0,"d":0,"c":0},{"w":1497139200,"a":0,"d":0,"c":0},{"w":1497744000,"a":0,"d":0,"c":0},{"w":1498348800,"a":0,"d":0,"c":0},{"w":1498953600,"a":0,"d":0,"c":0},{"w":1499558400,"a":0,"d":0,"c":0},{"w":1500163200,"a":0,"d":0,"c":0},{"w":1500768000,"a":0,"d":0,"c":0},{"w":1501372800,"a":0,"d":0,"c":0},{"w":1501977600,"a":0,"d":0,"c":0},{"w":1502582400,"a":0,"d":0,"c":0},{"w":1503187200,"a":0,"d":0,"c":0},{"w":1503792000,"a":0,"d":0,"c":0},{"w":1504396800,"a":0,"d":0,"c":0},{"w":1505001600,"a":0,"d":0,"c":0},{"w":1505606400,"a":0,"d":0,"c":0},{"w":1506211200,"a":0,"d":0,"c":0},{"w":1506816000,"a":0,"d":0,"c":0},{"w":1507420800,"a":0,"d":0,"c":0},{"w":1508025600,"a":0,"d":0,"c":0},{"w":1508630400,"a":0,"d":0,"c":0},{"w":1509235200,"a":0,"d":0,"c":0},{"w":1509840000,"a":0,"d":0,"c":0},{"w":1510444800,"a":0,"d":0,"c":0},{"w":1511049600,"a":0,"d":0,"c":0},{"w":1511654400,"a":0,"d":0,"c":0},{"w":1512259200,"a":0,"d":0,"c":0},{"w":1512864000,"a":0,"d":0,"c":0},{"w":1513468800,"a":0,"d":0,"c":0},{"w":1514073600,"a":0,"d":0,"c":0},{"w":1514678400,"a":0,"d":0,"c":0},{"w":1515283200,"a":0,"d":0,"c":0},{"w":1515888000,"a":0,"d":0,"c":0},{"w":1516492800,"a":0,"d":0,"c":0},{"w":1517097600,"a":0,"d":0,"c":0},{"w":1517702400,"a":0,"d":0,"c":0},{"w":1518307200,"a":0,"d":0,"c":0},{"w":1518912000,"a":0,"d":0,"c":0},{"w":1519516800,"a":0,"d":0,"c":0},{"w":1520121600,"a":0,"d":0,"c":0},{"w":1520726400,"a":0,"d":0,"c":0},{"w":1521331200,"a":0,"d":0,"c":0},{"w":1521936000,"a":0,"d":0,"c":0},{"w":1522540800,"a":0,"d":0,"c":0},{"w":1523145600,"a":0,"d":0,"c":0},{"w":1523750400,"a":0,"d":0,"c":0},{"w":1524355200,"a":0,"d":0,"c":0},{"w":1524960000,"a":0,"d":0,"c":0},{"w":1525564800,"a":0,"d":0,"c":0},{"w":1526169600,"a":0,"d":0,"c":0},{"w":1526774400,"a":0,"d":0,"c":0},{"w":1527379200,"a":0,"d":0,"c":0},{"w":1527984000,"a":0,"d":0,"c":0},{"w":1528588800,"a":0,"d":0,"c":0},{"w":1529193600,"a":0,"d":0,"c":0},{"w":1529798400,"a":0,"d":0,"c":0},{"w":1530403200,"a":0,"d":0,"c":0},{"w":1531008000,"a":0,"d":0,"c":0},{"w":1531612800,"a":0,"d":0,"c":0},{"w":1532217600,"a":0,"d":0,"c":0},{"w":1532822400,"a":0,"d":0,"c":0},{"w":1533427200,"a":0,"d":0,"c":0},{"w":1534032000,"a":0,"d":0,"c":0},{"w":1534636800,"a":0,"d":0,"c":0},{"w":1535241600,"a":0,"d":0,"c":0},{"w":1535846400,"a":0,"d":0,"c":0},{"w":1536451200,"a":0,"d":0,"c":0},{"w":1537056000,"a":0,"d":0,"c":0},{"w":1537660800,"a":0,"d":0,"c":0},{"w":1538265600,"a":0,"d":0,"c":0},{"w":1538870400,"a":0,"d":0,"c":0},{"w":1539475200,"a":0,"d":0,"c":0},{"w":1540080000,"a":0,"d":0,"c":0},{"w":1540684800,"a":0,"d":0,"c":0},{"w":1541289600,"a":0,"d":0,"c":0},{"w":1541894400,"a":0,"d":0,"c":0},{"w":1542499200,"a":0,"d":0,"c":0},{"w":1543104000,"a":0,"d":0,"c":0},{"w":1543708800,"a":0,"d":0,"c":0},{"w":1544313600,"a":0,"d":0,"c":0},{"w":1544918400,"a":0,"d":0,"c":0},{"w":1545523200,"a":0,"d":0,"c":0},{"w":1546128000,"a":0,"d":0,"c":0},{"w":1546732800,"a":0,"d":0,"c":0},{"w":1547337600,"a":0,"d":0,"c":0},{"w":1547942400,"a":0,"d":0,"c":0},{"w":1548547200,"a":0,"d":0,"c":0},{"w":1549152000,"a":0,"d":0,"c":0},{"w":1549756800,"a":0,"d":0,"c":0},{"w":1550361600,"a":0,"d":0,"c":0},{"w":1550966400,"a":0,"d":0,"c":0},{"w":1551571200,"a":0,"d":0,"c":0},{"w":1552176000,"a":0,"d":0,"c":0},{"w":1552780800,"a":0,"d":0,"c":0},{"w":1553385600,"a":0,"d":0,"c":0},{"w":1553990400,"a":0,"d":0,"c":0},{"w":1554595200,"a":0,"d":0,"c":0},{"w":1555200000,"a":0,"d":0,"c":0},{"w":1555804800,"a":0,"d":0,"c":0},{"w":1556409600,"a":0,"d":0,"c":0},{"w":1557014400,"a":0,"d":0,"c":0},{"w":1557619200,"a":0,"d":0,"c":0},{"w":1558224000,"a":0,"d":0,"c":0},{"w":1558828800,"a":0,"d":0,"c":0},{"w":1559433600,"a":0,"d":0,"c":0},{"w":1560038400,"a":0,"d":0,"c":0},{"w":1560643200,"a":0,"d":0,"c":0},{"w":1561248000,"a":0,"d":0,"c":0},{"w":1561852800,"a":0,"d":0,"c":0},{"w":1562457600,"a":0,"d":0,"c":0}],"author":{"login":"budi-kurniawan","id":2431123,"node_id":"MDQ6VXNlcjI0MzExMjM=","avatar_url":"https://avatars0.githubusercontent.com/u/2431123?v=4","gravatar_id":"","url":"https://api.github.com/users/budi-kurniawan","html_url":"https://github.com/budi-kurniawan","followers_url":"https://api.github.com/users/budi-kurniawan/followers","following_url":"https://api.github.com/users/budi-kurniawan/following{/other_user}","gists_url":"https://api.github.com/users/budi-kurniawan/gists{/gist_id}","starred_url":"https://api.github.com/users/budi-kurniawan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/budi-kurniawan/subscriptions","organizations_url":"https://api.github.com/users/budi-kurniawan/orgs","repos_url":"https://api.github.com/users/budi-kurniawan/repos","events_url":"https://api.github.com/users/budi-kurniawan/events{/privacy}","received_events_url":"https://api.github.com/users/budi-kurniawan/received_events","type":"User","site_admin":false}},{"total":2,"weeks":[{"w":1215302400,"a":0,"d":0,"c":0},{"w":1215907200,"a":0,"d":0,"c":0},{"w":1216512000,"a":0,"d":0,"c":0},{"w":1217116800,"a":0,"d":0,"c":0},{"w":1217721600,"a":0,"d":0,"c":0},{"w":1218326400,"a":0,"d":0,"c":0},{"w":1218931200,"a":0,"d":0,"c":0},{"w":1219536000,"a":0,"d":0,"c":0},{"w":1220140800,"a":0,"d":0,"c":0},{"w":1220745600,"a":0,"d":0,"c":0},{"w":1221350400,"a":0,"d":0,"c":0},{"w":1221955200,"a":0,"d":0,"c":0},{"w":1222560000,"a":0,"d":0,"c":0},{"w":1223164800,"a":0,"d":0,"c":0},{"w":1223769600,"a":0,"d":0,"c":0},{"w":1224374400,"a":0,"d":0,"c":0},{"w":1224979200,"a":0,"d":0,"c":0},{"w":1225584000,"a":0,"d":0,"c":0},{"w":1226188800,"a":0,"d":0,"c":0},{"w":1226793600,"a":0,"d":0,"c":0},{"w":1227398400,"a":0,"d":0,"c":0},{"w":1228003200,"a":0,"d":0,"c":0},{"w":1228608000,"a":0,"d":0,"c":0},{"w":1229212800,"a":0,"d":0,"c":0},{"w":1229817600,"a":0,"d":0,"c":0},{"w":1230422400,"a":0,"d":0,"c":0},{"w":1231027200,"a":0,"d":0,"c":0},{"w":1231632000,"a":0,"d":0,"c":0},{"w":1232236800,"a":0,"d":0,"c":0},{"w":1232841600,"a":0,"d":0,"c":0},{"w":1233446400,"a":0,"d":0,"c":0},{"w":1234051200,"a":0,"d":0,"c":0},{"w":1234656000,"a":0,"d":0,"c":0},{"w":1235260800,"a":0,"d":0,"c":0},{"w":1235865600,"a":0,"d":0,"c":0},{"w":1236470400,"a":0,"d":0,"c":0},{"w":1237075200,"a":0,"d":0,"c":0},{"w":1237680000,"a":0,"d":0,"c":0},{"w":1238284800,"a":0,"d":0,"c":0},{"w":1238889600,"a":0,"d":0,"c":0},{"w":1239494400,"a":0,"d":0,"c":0},{"w":1240099200,"a":0,"d":0,"c":0},{"w":1240704000,"a":0,"d":0,"c":0},{"w":1241308800,"a":0,"d":0,"c":0},{"w":1241913600,"a":0,"d":0,"c":0},{"w":1242518400,"a":0,"d":0,"c":0},{"w":1243123200,"a":0,"d":0,"c":0},{"w":1243728000,"a":0,"d":0,"c":0},{"w":1244332800,"a":0,"d":0,"c":0},{"w":1244937600,"a":0,"d":0,"c":0},{"w":1245542400,"a":0,"d":0,"c":0},{"w":1246147200,"a":0,"d":0,"c":0},{"w":1246752000,"a":0,"d":0,"c":0},{"w":1247356800,"a":0,"d":0,"c":0},{"w":1247961600,"a":0,"d":0,"c":0},{"w":1248566400,"a":0,"d":0,"c":0},{"w":1249171200,"a":0,"d":0,"c":0},{"w":1249776000,"a":0,"d":0,"c":0},{"w":1250380800,"a":0,"d":0,"c":0},{"w":1250985600,"a":0,"d":0,"c":0},{"w":1251590400,"a":0,"d":0,"c":0},{"w":1252195200,"a":0,"d":0,"c":0},{"w":1252800000,"a":0,"d":0,"c":0},{"w":1253404800,"a":0,"d":0,"c":0},{"w":1254009600,"a":0,"d":0,"c":0},{"w":1254614400,"a":0,"d":0,"c":0},{"w":1255219200,"a":0,"d":0,"c":0},{"w":1255824000,"a":0,"d":0,"c":0},{"w":1256428800,"a":0,"d":0,"c":0},{"w":1257033600,"a":0,"d":0,"c":0},{"w":1257638400,"a":0,"d":0,"c":0},{"w":1258243200,"a":0,"d":0,"c":0},{"w":1258848000,"a":0,"d":0,"c":0},{"w":1259452800,"a":0,"d":0,"c":0},{"w":1260057600,"a":0,"d":0,"c":0},{"w":1260662400,"a":0,"d":0,"c":0},{"w":1261267200,"a":0,"d":0,"c":0},{"w":1261872000,"a":0,"d":0,"c":0},{"w":1262476800,"a":0,"d":0,"c":0},{"w":1263081600,"a":0,"d":0,"c":0},{"w":1263686400,"a":0,"d":0,"c":0},{"w":1264291200,"a":0,"d":0,"c":0},{"w":1264896000,"a":0,"d":0,"c":0},{"w":1265500800,"a":0,"d":0,"c":0},{"w":1266105600,"a":0,"d":0,"c":0},{"w":1266710400,"a":0,"d":0,"c":0},{"w":1267315200,"a":0,"d":0,"c":0},{"w":1267920000,"a":0,"d":0,"c":0},{"w":1268524800,"a":0,"d":0,"c":0},{"w":1269129600,"a":0,"d":0,"c":0},{"w":1269734400,"a":0,"d":0,"c":0},{"w":1270339200,"a":0,"d":0,"c":0},{"w":1270944000,"a":0,"d":0,"c":0},{"w":1271548800,"a":0,"d":0,"c":0},{"w":1272153600,"a":0,"d":0,"c":0},{"w":1272758400,"a":0,"d":0,"c":0},{"w":1273363200,"a":0,"d":0,"c":0},{"w":1273968000,"a":0,"d":0,"c":0},{"w":1274572800,"a":0,"d":0,"c":0},{"w":1275177600,"a":0,"d":0,"c":0},{"w":1275782400,"a":0,"d":0,"c":0},{"w":1276387200,"a":0,"d":0,"c":0},{"w":1276992000,"a":0,"d":0,"c":0},{"w":1277596800,"a":0,"d":0,"c":0},{"w":1278201600,"a":0,"d":0,"c":0},{"w":1278806400,"a":0,"d":0,"c":0},{"w":1279411200,"a":0,"d":0,"c":0},{"w":1280016000,"a":0,"d":0,"c":0},{"w":1280620800,"a":0,"d":0,"c":0},{"w":1281225600,"a":0,"d":0,"c":0},{"w":1281830400,"a":0,"d":0,"c":0},{"w":1282435200,"a":0,"d":0,"c":0},{"w":1283040000,"a":0,"d":0,"c":0},{"w":1283644800,"a":0,"d":0,"c":0},{"w":1284249600,"a":0,"d":0,"c":0},{"w":1284854400,"a":0,"d":0,"c":0},{"w":1285459200,"a":0,"d":0,"c":0},{"w":1286064000,"a":0,"d":0,"c":0},{"w":1286668800,"a":0,"d":0,"c":0},{"w":1287273600,"a":0,"d":0,"c":0},{"w":1287878400,"a":0,"d":0,"c":0},{"w":1288483200,"a":0,"d":0,"c":0},{"w":1289088000,"a":0,"d":0,"c":0},{"w":1289692800,"a":0,"d":0,"c":0},{"w":1290297600,"a":0,"d":0,"c":0},{"w":1290902400,"a":0,"d":0,"c":0},{"w":1291507200,"a":0,"d":0,"c":0},{"w":1292112000,"a":0,"d":0,"c":0},{"w":1292716800,"a":0,"d":0,"c":0},{"w":1293321600,"a":0,"d":0,"c":0},{"w":1293926400,"a":0,"d":0,"c":0},{"w":1294531200,"a":0,"d":0,"c":0},{"w":1295136000,"a":0,"d":0,"c":0},{"w":1295740800,"a":0,"d":0,"c":0},{"w":1296345600,"a":0,"d":0,"c":0},{"w":1296950400,"a":0,"d":0,"c":0},{"w":1297555200,"a":0,"d":0,"c":0},{"w":1298160000,"a":0,"d":0,"c":0},{"w":1298764800,"a":0,"d":0,"c":0},{"w":1299369600,"a":0,"d":0,"c":0},{"w":1299974400,"a":0,"d":0,"c":0},{"w":1300579200,"a":0,"d":0,"c":0},{"w":1301184000,"a":0,"d":0,"c":0},{"w":1301788800,"a":0,"d":0,"c":0},{"w":1302393600,"a":0,"d":0,"c":0},{"w":1302998400,"a":0,"d":0,"c":0},{"w":1303603200,"a":0,"d":0,"c":0},{"w":1304208000,"a":0,"d":0,"c":0},{"w":1304812800,"a":0,"d":0,"c":0},{"w":1305417600,"a":0,"d":0,"c":0},{"w":1306022400,"a":0,"d":0,"c":0},{"w":1306627200,"a":0,"d":0,"c":0},{"w":1307232000,"a":0,"d":0,"c":0},{"w":1307836800,"a":0,"d":0,"c":0},{"w":1308441600,"a":0,"d":0,"c":0},{"w":1309046400,"a":0,"d":0,"c":0},{"w":1309651200,"a":0,"d":0,"c":0},{"w":1310256000,"a":0,"d":0,"c":0},{"w":1310860800,"a":0,"d":0,"c":0},{"w":1311465600,"a":0,"d":0,"c":0},{"w":1312070400,"a":0,"d":0,"c":0},{"w":1312675200,"a":0,"d":0,"c":0},{"w":1313280000,"a":0,"d":0,"c":0},{"w":1313884800,"a":0,"d":0,"c":0},{"w":1314489600,"a":0,"d":0,"c":0},{"w":1315094400,"a":0,"d":0,"c":0},{"w":1315699200,"a":0,"d":0,"c":0},{"w":1316304000,"a":0,"d":0,"c":0},{"w":1316908800,"a":0,"d":0,"c":0},{"w":1317513600,"a":0,"d":0,"c":0},{"w":1318118400,"a":0,"d":0,"c":0},{"w":1318723200,"a":0,"d":0,"c":0},{"w":1319328000,"a":0,"d":0,"c":0},{"w":1319932800,"a":0,"d":0,"c":0},{"w":1320537600,"a":0,"d":0,"c":0},{"w":1321142400,"a":0,"d":0,"c":0},{"w":1321747200,"a":0,"d":0,"c":0},{"w":1322352000,"a":0,"d":0,"c":0},{"w":1322956800,"a":0,"d":0,"c":0},{"w":1323561600,"a":0,"d":0,"c":0},{"w":1324166400,"a":0,"d":0,"c":0},{"w":1324771200,"a":0,"d":0,"c":0},{"w":1325376000,"a":0,"d":0,"c":0},{"w":1325980800,"a":0,"d":0,"c":0},{"w":1326585600,"a":0,"d":0,"c":0},{"w":1327190400,"a":0,"d":0,"c":0},{"w":1327795200,"a":0,"d":0,"c":0},{"w":1328400000,"a":0,"d":0,"c":0},{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0},{"w":1384646400,"a":0,"d":0,"c":0},{"w":1385251200,"a":0,"d":0,"c":0},{"w":1385856000,"a":0,"d":0,"c":0},{"w":1386460800,"a":0,"d":0,"c":0},{"w":1387065600,"a":0,"d":0,"c":0},{"w":1387670400,"a":0,"d":0,"c":0},{"w":1388275200,"a":0,"d":0,"c":0},{"w":1388880000,"a":0,"d":0,"c":0},{"w":1389484800,"a":0,"d":0,"c":0},{"w":1390089600,"a":0,"d":0,"c":0},{"w":1390694400,"a":0,"d":0,"c":0},{"w":1391299200,"a":0,"d":0,"c":0},{"w":1391904000,"a":0,"d":0,"c":0},{"w":1392508800,"a":0,"d":0,"c":0},{"w":1393113600,"a":0,"d":0,"c":0},{"w":1393718400,"a":0,"d":0,"c":0},{"w":1394323200,"a":0,"d":0,"c":0},{"w":1394928000,"a":0,"d":0,"c":0},{"w":1395532800,"a":0,"d":0,"c":0},{"w":1396137600,"a":0,"d":0,"c":0},{"w":1396742400,"a":0,"d":0,"c":0},{"w":1397347200,"a":0,"d":0,"c":0},{"w":1397952000,"a":0,"d":0,"c":0},{"w":1398556800,"a":0,"d":0,"c":0},{"w":1399161600,"a":0,"d":0,"c":0},{"w":1399766400,"a":0,"d":0,"c":0},{"w":1400371200,"a":0,"d":0,"c":0},{"w":1400976000,"a":0,"d":0,"c":0},{"w":1401580800,"a":0,"d":0,"c":0},{"w":1402185600,"a":0,"d":0,"c":0},{"w":1402790400,"a":0,"d":0,"c":0},{"w":1403395200,"a":0,"d":0,"c":0},{"w":1404000000,"a":0,"d":0,"c":0},{"w":1404604800,"a":0,"d":0,"c":0},{"w":1405209600,"a":0,"d":0,"c":0},{"w":1405814400,"a":0,"d":0,"c":0},{"w":1406419200,"a":0,"d":0,"c":0},{"w":1407024000,"a":0,"d":0,"c":0},{"w":1407628800,"a":0,"d":0,"c":0},{"w":1408233600,"a":0,"d":0,"c":0},{"w":1408838400,"a":0,"d":0,"c":0},{"w":1409443200,"a":0,"d":0,"c":0},{"w":1410048000,"a":0,"d":0,"c":0},{"w":1410652800,"a":0,"d":0,"c":0},{"w":1411257600,"a":0,"d":0,"c":0},{"w":1411862400,"a":0,"d":0,"c":0},{"w":1412467200,"a":0,"d":0,"c":0},{"w":1413072000,"a":0,"d":0,"c":0},{"w":1413676800,"a":0,"d":0,"c":0},{"w":1414281600,"a":0,"d":0,"c":0},{"w":1414886400,"a":0,"d":0,"c":0},{"w":1415491200,"a":0,"d":0,"c":0},{"w":1416096000,"a":0,"d":0,"c":0},{"w":1416700800,"a":0,"d":0,"c":0},{"w":1417305600,"a":0,"d":0,"c":0},{"w":1417910400,"a":0,"d":0,"c":0},{"w":1418515200,"a":0,"d":0,"c":0},{"w":1419120000,"a":0,"d":0,"c":0},{"w":1419724800,"a":0,"d":0,"c":0},{"w":1420329600,"a":0,"d":0,"c":0},{"w":1420934400,"a":0,"d":0,"c":0},{"w":1421539200,"a":0,"d":0,"c":0},{"w":1422144000,"a":0,"d":0,"c":0},{"w":1422748800,"a":0,"d":0,"c":0},{"w":1423353600,"a":0,"d":0,"c":0},{"w":1423958400,"a":0,"d":0,"c":0},{"w":1424563200,"a":0,"d":0,"c":0},{"w":1425168000,"a":0,"d":0,"c":0},{"w":1425772800,"a":0,"d":0,"c":0},{"w":1426377600,"a":0,"d":0,"c":0},{"w":1426982400,"a":0,"d":0,"c":0},{"w":1427587200,"a":0,"d":0,"c":0},{"w":1428192000,"a":0,"d":0,"c":0},{"w":1428796800,"a":0,"d":0,"c":0},{"w":1429401600,"a":0,"d":0,"c":0},{"w":1430006400,"a":0,"d":0,"c":0},{"w":1430611200,"a":0,"d":0,"c":0},{"w":1431216000,"a":0,"d":0,"c":0},{"w":1431820800,"a":0,"d":0,"c":0},{"w":1432425600,"a":0,"d":0,"c":0},{"w":1433030400,"a":0,"d":0,"c":0},{"w":1433635200,"a":0,"d":0,"c":0},{"w":1434240000,"a":0,"d":0,"c":0},{"w":1434844800,"a":0,"d":0,"c":0},{"w":1435449600,"a":0,"d":0,"c":0},{"w":1436054400,"a":0,"d":0,"c":0},{"w":1436659200,"a":0,"d":0,"c":0},{"w":1437264000,"a":0,"d":0,"c":0},{"w":1437868800,"a":0,"d":0,"c":0},{"w":1438473600,"a":0,"d":0,"c":0},{"w":1439078400,"a":0,"d":0,"c":0},{"w":1439683200,"a":0,"d":0,"c":0},{"w":1440288000,"a":0,"d":0,"c":0},{"w":1440892800,"a":0,"d":0,"c":0},{"w":1441497600,"a":0,"d":0,"c":0},{"w":1442102400,"a":0,"d":0,"c":0},{"w":1442707200,"a":0,"d":0,"c":0},{"w":1443312000,"a":0,"d":0,"c":0},{"w":1443916800,"a":0,"d":0,"c":0},{"w":1444521600,"a":0,"d":0,"c":0},{"w":1445126400,"a":0,"d":0,"c":0},{"w":1445731200,"a":0,"d":0,"c":0},{"w":1446336000,"a":0,"d":0,"c":0},{"w":1446940800,"a":0,"d":0,"c":0},{"w":1447545600,"a":0,"d":0,"c":0},{"w":1448150400,"a":0,"d":0,"c":0},{"w":1448755200,"a":0,"d":0,"c":0},{"w":1449360000,"a":0,"d":0,"c":0},{"w":1449964800,"a":0,"d":0,"c":0},{"w":1450569600,"a":0,"d":0,"c":0},{"w":1451174400,"a":0,"d":0,"c":0},{"w":1451779200,"a":0,"d":0,"c":0},{"w":1452384000,"a":0,"d":0,"c":0},{"w":1452988800,"a":0,"d":0,"c":0},{"w":1453593600,"a":0,"d":0,"c":0},{"w":1454198400,"a":0,"d":0,"c":0},{"w":1454803200,"a":0,"d":0,"c":0},{"w":1455408000,"a":0,"d":0,"c":0},{"w":1456012800,"a":0,"d":0,"c":0},{"w":1456617600,"a":0,"d":0,"c":0},{"w":1457222400,"a":0,"d":0,"c":0},{"w":1457827200,"a":0,"d":0,"c":0},{"w":1458432000,"a":0,"d":0,"c":0},{"w":1459036800,"a":0,"d":0,"c":0},{"w":1459641600,"a":0,"d":0,"c":0},{"w":1460246400,"a":0,"d":0,"c":0},{"w":1460851200,"a":0,"d":0,"c":0},{"w":1461456000,"a":0,"d":0,"c":0},{"w":1462060800,"a":0,"d":0,"c":0},{"w":1462665600,"a":0,"d":0,"c":0},{"w":1463270400,"a":0,"d":0,"c":0},{"w":1463875200,"a":0,"d":0,"c":0},{"w":1464480000,"a":0,"d":0,"c":0},{"w":1465084800,"a":0,"d":0,"c":0},{"w":1465689600,"a":0,"d":0,"c":0},{"w":1466294400,"a":0,"d":0,"c":0},{"w":1466899200,"a":0,"d":0,"c":0},{"w":1467504000,"a":0,"d":0,"c":0},{"w":1468108800,"a":0,"d":0,"c":0},{"w":1468713600,"a":0,"d":0,"c":0},{"w":1469318400,"a":0,"d":0,"c":0},{"w":1469923200,"a":0,"d":0,"c":0},{"w":1470528000,"a":0,"d":0,"c":0},{"w":1471132800,"a":0,"d":0,"c":0},{"w":1471737600,"a":0,"d":0,"c":0},{"w":1472342400,"a":0,"d":0,"c":0},{"w":1472947200,"a":0,"d":0,"c":0},{"w":1473552000,"a":0,"d":0,"c":0},{"w":1474156800,"a":0,"d":0,"c":0},{"w":1474761600,"a":0,"d":0,"c":0},{"w":1475366400,"a":0,"d":0,"c":0},{"w":1475971200,"a":0,"d":0,"c":0},{"w":1476576000,"a":0,"d":0,"c":0},{"w":1477180800,"a":0,"d":0,"c":0},{"w":1477785600,"a":0,"d":0,"c":0},{"w":1478390400,"a":0,"d":0,"c":0},{"w":1478995200,"a":0,"d":0,"c":0},{"w":1479600000,"a":0,"d":0,"c":0},{"w":1480204800,"a":0,"d":0,"c":0},{"w":1480809600,"a":0,"d":0,"c":0},{"w":1481414400,"a":0,"d":0,"c":0},{"w":1482019200,"a":0,"d":0,"c":0},{"w":1482624000,"a":0,"d":0,"c":0},{"w":1483228800,"a":0,"d":0,"c":0},{"w":1483833600,"a":0,"d":0,"c":0},{"w":1484438400,"a":0,"d":0,"c":0},{"w":1485043200,"a":0,"d":0,"c":0},{"w":1485648000,"a":0,"d":0,"c":0},{"w":1486252800,"a":0,"d":0,"c":0},{"w":1486857600,"a":0,"d":0,"c":0},{"w":1487462400,"a":0,"d":0,"c":0},{"w":1488067200,"a":0,"d":0,"c":0},{"w":1488672000,"a":0,"d":0,"c":0},{"w":1489276800,"a":0,"d":0,"c":0},{"w":1489881600,"a":0,"d":0,"c":0},{"w":1490486400,"a":0,"d":0,"c":0},{"w":1491091200,"a":0,"d":0,"c":0},{"w":1491696000,"a":0,"d":0,"c":0},{"w":1492300800,"a":0,"d":0,"c":0},{"w":1492905600,"a":0,"d":0,"c":0},{"w":1493510400,"a":0,"d":0,"c":0},{"w":1494115200,"a":0,"d":0,"c":0},{"w":1494720000,"a":0,"d":0,"c":0},{"w":1495324800,"a":0,"d":0,"c":0},{"w":1495929600,"a":0,"d":0,"c":0},{"w":1496534400,"a":0,"d":0,"c":0},{"w":1497139200,"a":0,"d":0,"c":0},{"w":1497744000,"a":0,"d":0,"c":0},{"w":1498348800,"a":0,"d":0,"c":0},{"w":1498953600,"a":0,"d":0,"c":0},{"w":1499558400,"a":0,"d":0,"c":0},{"w":1500163200,"a":0,"d":0,"c":0},{"w":1500768000,"a":0,"d":0,"c":0},{"w":1501372800,"a":0,"d":0,"c":0},{"w":1501977600,"a":0,"d":0,"c":0},{"w":1502582400,"a":0,"d":0,"c":0},{"w":1503187200,"a":0,"d":0,"c":0},{"w":1503792000,"a":0,"d":0,"c":0},{"w":1504396800,"a":0,"d":0,"c":0},{"w":1505001600,"a":0,"d":0,"c":0},{"w":1505606400,"a":0,"d":0,"c":0},{"w":1506211200,"a":0,"d":0,"c":0},{"w":1506816000,"a":0,"d":0,"c":0},{"w":1507420800,"a":0,"d":0,"c":0},{"w":1508025600,"a":0,"d":0,"c":0},{"w":1508630400,"a":0,"d":0,"c":0},{"w":1509235200,"a":0,"d":0,"c":0},{"w":1509840000,"a":0,"d":0,"c":0},{"w":1510444800,"a":0,"d":0,"c":0},{"w":1511049600,"a":0,"d":0,"c":0},{"w":1511654400,"a":0,"d":0,"c":0},{"w":1512259200,"a":0,"d":0,"c":0},{"w":1512864000,"a":0,"d":0,"c":0},{"w":1513468800,"a":0,"d":0,"c":0},{"w":1514073600,"a":0,"d":0,"c":0},{"w":1514678400,"a":0,"d":0,"c":0},{"w":1515283200,"a":0,"d":0,"c":0},{"w":1515888000,"a":0,"d":0,"c":0},{"w":1516492800,"a":0,"d":0,"c":0},{"w":1517097600,"a":0,"d":0,"c":0},{"w":1517702400,"a":0,"d":0,"c":0},{"w":1518307200,"a":0,"d":0,"c":0},{"w":1518912000,"a":0,"d":0,"c":0},{"w":1519516800,"a":0,"d":0,"c":0},{"w":1520121600,"a":0,"d":0,"c":0},{"w":1520726400,"a":0,"d":0,"c":0},{"w":1521331200,"a":0,"d":0,"c":0},{"w":1521936000,"a":0,"d":0,"c":0},{"w":1522540800,"a":0,"d":0,"c":0},{"w":1523145600,"a":0,"d":0,"c":0},{"w":1523750400,"a":0,"d":0,"c":0},{"w":1524355200,"a":0,"d":0,"c":0},{"w":1524960000,"a":0,"d":0,"c":0},{"w":1525564800,"a":53,"d":0,"c":1},{"w":1526169600,"a":122,"d":13,"c":1},{"w":1526774400,"a":0,"d":0,"c":0},{"w":1527379200,"a":0,"d":0,"c":0},{"w":1527984000,"a":0,"d":0,"c":0},{"w":1528588800,"a":0,"d":0,"c":0},{"w":1529193600,"a":0,"d":0,"c":0},{"w":1529798400,"a":0,"d":0,"c":0},{"w":1530403200,"a":0,"d":0,"c":0},{"w":1531008000,"a":0,"d":0,"c":0},{"w":1531612800,"a":0,"d":0,"c":0},{"w":1532217600,"a":0,"d":0,"c":0},{"w":1532822400,"a":0,"d":0,"c":0},{"w":1533427200,"a":0,"d":0,"c":0},{"w":1534032000,"a":0,"d":0,"c":0},{"w":1534636800,"a":0,"d":0,"c":0},{"w":1535241600,"a":0,"d":0,"c":0},{"w":1535846400,"a":0,"d":0,"c":0},{"w":1536451200,"a":0,"d":0,"c":0},{"w":1537056000,"a":0,"d":0,"c":0},{"w":1537660800,"a":0,"d":0,"c":0},{"w":1538265600,"a":0,"d":0,"c":0},{"w":1538870400,"a":0,"d":0,"c":0},{"w":1539475200,"a":0,"d":0,"c":0},{"w":1540080000,"a":0,"d":0,"c":0},{"w":1540684800,"a":0,"d":0,"c":0},{"w":1541289600,"a":0,"d":0,"c":0},{"w":1541894400,"a":0,"d":0,"c":0},{"w":1542499200,"a":0,"d":0,"c":0},{"w":1543104000,"a":0,"d":0,"c":0},{"w":1543708800,"a":0,"d":0,"c":0},{"w":1544313600,"a":0,"d":0,"c":0},{"w":1544918400,"a":0,"d":0,"c":0},{"w":1545523200,"a":0,"d":0,"c":0},{"w":1546128000,"a":0,"d":0,"c":0},{"w":1546732800,"a":0,"d":0,"c":0},{"w":1547337600,"a":0,"d":0,"c":0},{"w":1547942400,"a":0,"d":0,"c":0},{"w":1548547200,"a":0,"d":0,"c":0},{"w":1549152000,"a":0,"d":0,"c":0},{"w":1549756800,"a":0,"d":0,"c":0},{"w":1550361600,"a":0,"d":0,"c":0},{"w":1550966400,"a":0,"d":0,"c":0},{"w":1551571200,"a":0,"d":0,"c":0},{"w":1552176000,"a":0,"d":0,"c":0},{"w":1552780800,"a":0,"d":0,"c":0},{"w":1553385600,"a":0,"d":0,"c":0},{"w":1553990400,"a":0,"d":0,"c":0},{"w":1554595200,"a":0,"d":0,"c":0},{"w":1555200000,"a":0,"d":0,"c":0},{"w":1555804800,"a":0,"d":0,"c":0},{"w":1556409600,"a":0,"d":0,"c":0},{"w":1557014400,"a":0,"d":0,"c":0},{"w":1557619200,"a":0,"d":0,"c":0},{"w":1558224000,"a":0,"d":0,"c":0},{"w":1558828800,"a":0,"d":0,"c":0},{"w":1559433600,"a":0,"d":0,"c":0},{"w":1560038400,"a":0,"d":0,"c":0},{"w":1560643200,"a":0,"d":0,"c":0},{"w":1561248000,"a":0,"d":0,"c":0},{"w":1561852800,"a":0,"d":0,"c":0},{"w":1562457600,"a":0,"d":0,"c":0}],"author":{"login":"olivierschirm","id":38984634,"node_id":"MDQ6VXNlcjM4OTg0NjM0","avatar_url":"https://avatars1.githubusercontent.com/u/38984634?v=4","gravatar_id":"","url":"https://api.github.com/users/olivierschirm","html_url":"https://github.com/olivierschirm","followers_url":"https://api.github.com/users/olivierschirm/followers","following_url":"https://api.github.com/users/olivierschirm/following{/other_user}","gists_url":"https://api.github.com/users/olivierschirm/gists{/gist_id}","starred_url":"https://api.github.com/users/olivierschirm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/olivierschirm/subscriptions","organizations_url":"https://api.github.com/users/olivierschirm/orgs","repos_url":"https://api.github.com/users/olivierschirm/repos","events_url":"https://api.github.com/users/olivierschirm/events{/privacy}","received_events_url":"https://api.github.com/users/olivierschirm/received_events","type":"User","site_admin":false}},{"total":2,"weeks":[{"w":1215302400,"a":0,"d":0,"c":0},{"w":1215907200,"a":0,"d":0,"c":0},{"w":1216512000,"a":0,"d":0,"c":0},{"w":1217116800,"a":0,"d":0,"c":0},{"w":1217721600,"a":0,"d":0,"c":0},{"w":1218326400,"a":0,"d":0,"c":0},{"w":1218931200,"a":0,"d":0,"c":0},{"w":1219536000,"a":0,"d":0,"c":0},{"w":1220140800,"a":0,"d":0,"c":0},{"w":1220745600,"a":0,"d":0,"c":0},{"w":1221350400,"a":0,"d":0,"c":0},{"w":1221955200,"a":0,"d":0,"c":0},{"w":1222560000,"a":0,"d":0,"c":0},{"w":1223164800,"a":0,"d":0,"c":0},{"w":1223769600,"a":0,"d":0,"c":0},{"w":1224374400,"a":0,"d":0,"c":0},{"w":1224979200,"a":0,"d":0,"c":0},{"w":1225584000,"a":0,"d":0,"c":0},{"w":1226188800,"a":0,"d":0,"c":0},{"w":1226793600,"a":0,"d":0,"c":0},{"w":1227398400,"a":0,"d":0,"c":0},{"w":1228003200,"a":0,"d":0,"c":0},{"w":1228608000,"a":0,"d":0,"c":0},{"w":1229212800,"a":0,"d":0,"c":0},{"w":1229817600,"a":0,"d":0,"c":0},{"w":1230422400,"a":0,"d":0,"c":0},{"w":1231027200,"a":0,"d":0,"c":0},{"w":1231632000,"a":0,"d":0,"c":0},{"w":1232236800,"a":0,"d":0,"c":0},{"w":1232841600,"a":0,"d":0,"c":0},{"w":1233446400,"a":0,"d":0,"c":0},{"w":1234051200,"a":0,"d":0,"c":0},{"w":1234656000,"a":0,"d":0,"c":0},{"w":1235260800,"a":0,"d":0,"c":0},{"w":1235865600,"a":0,"d":0,"c":0},{"w":1236470400,"a":0,"d":0,"c":0},{"w":1237075200,"a":0,"d":0,"c":0},{"w":1237680000,"a":0,"d":0,"c":0},{"w":1238284800,"a":0,"d":0,"c":0},{"w":1238889600,"a":0,"d":0,"c":0},{"w":1239494400,"a":0,"d":0,"c":0},{"w":1240099200,"a":0,"d":0,"c":0},{"w":1240704000,"a":0,"d":0,"c":0},{"w":1241308800,"a":0,"d":0,"c":0},{"w":1241913600,"a":0,"d":0,"c":0},{"w":1242518400,"a":0,"d":0,"c":0},{"w":1243123200,"a":0,"d":0,"c":0},{"w":1243728000,"a":0,"d":0,"c":0},{"w":1244332800,"a":0,"d":0,"c":0},{"w":1244937600,"a":0,"d":0,"c":0},{"w":1245542400,"a":0,"d":0,"c":0},{"w":1246147200,"a":0,"d":0,"c":0},{"w":1246752000,"a":0,"d":0,"c":0},{"w":1247356800,"a":0,"d":0,"c":0},{"w":1247961600,"a":0,"d":0,"c":0},{"w":1248566400,"a":0,"d":0,"c":0},{"w":1249171200,"a":0,"d":0,"c":0},{"w":1249776000,"a":0,"d":0,"c":0},{"w":1250380800,"a":0,"d":0,"c":0},{"w":1250985600,"a":0,"d":0,"c":0},{"w":1251590400,"a":0,"d":0,"c":0},{"w":1252195200,"a":0,"d":0,"c":0},{"w":1252800000,"a":0,"d":0,"c":0},{"w":1253404800,"a":0,"d":0,"c":0},{"w":1254009600,"a":0,"d":0,"c":0},{"w":1254614400,"a":0,"d":0,"c":0},{"w":1255219200,"a":0,"d":0,"c":0},{"w":1255824000,"a":0,"d":0,"c":0},{"w":1256428800,"a":0,"d":0,"c":0},{"w":1257033600,"a":0,"d":0,"c":0},{"w":1257638400,"a":0,"d":0,"c":0},{"w":1258243200,"a":0,"d":0,"c":0},{"w":1258848000,"a":0,"d":0,"c":0},{"w":1259452800,"a":0,"d":0,"c":0},{"w":1260057600,"a":0,"d":0,"c":0},{"w":1260662400,"a":0,"d":0,"c":0},{"w":1261267200,"a":0,"d":0,"c":0},{"w":1261872000,"a":0,"d":0,"c":0},{"w":1262476800,"a":0,"d":0,"c":0},{"w":1263081600,"a":0,"d":0,"c":0},{"w":1263686400,"a":0,"d":0,"c":0},{"w":1264291200,"a":0,"d":0,"c":0},{"w":1264896000,"a":0,"d":0,"c":0},{"w":1265500800,"a":0,"d":0,"c":0},{"w":1266105600,"a":0,"d":0,"c":0},{"w":1266710400,"a":0,"d":0,"c":0},{"w":1267315200,"a":0,"d":0,"c":0},{"w":1267920000,"a":0,"d":0,"c":0},{"w":1268524800,"a":0,"d":0,"c":0},{"w":1269129600,"a":0,"d":0,"c":0},{"w":1269734400,"a":0,"d":0,"c":0},{"w":1270339200,"a":0,"d":0,"c":0},{"w":1270944000,"a":0,"d":0,"c":0},{"w":1271548800,"a":0,"d":0,"c":0},{"w":1272153600,"a":0,"d":0,"c":0},{"w":1272758400,"a":0,"d":0,"c":0},{"w":1273363200,"a":0,"d":0,"c":0},{"w":1273968000,"a":0,"d":0,"c":0},{"w":1274572800,"a":0,"d":0,"c":0},{"w":1275177600,"a":0,"d":0,"c":0},{"w":1275782400,"a":0,"d":0,"c":0},{"w":1276387200,"a":0,"d":0,"c":0},{"w":1276992000,"a":0,"d":0,"c":0},{"w":1277596800,"a":0,"d":0,"c":0},{"w":1278201600,"a":0,"d":0,"c":0},{"w":1278806400,"a":0,"d":0,"c":0},{"w":1279411200,"a":0,"d":0,"c":0},{"w":1280016000,"a":0,"d":0,"c":0},{"w":1280620800,"a":0,"d":0,"c":0},{"w":1281225600,"a":0,"d":0,"c":0},{"w":1281830400,"a":0,"d":0,"c":0},{"w":1282435200,"a":0,"d":0,"c":0},{"w":1283040000,"a":0,"d":0,"c":0},{"w":1283644800,"a":0,"d":0,"c":0},{"w":1284249600,"a":0,"d":0,"c":0},{"w":1284854400,"a":0,"d":0,"c":0},{"w":1285459200,"a":0,"d":0,"c":0},{"w":1286064000,"a":0,"d":0,"c":0},{"w":1286668800,"a":0,"d":0,"c":0},{"w":1287273600,"a":0,"d":0,"c":0},{"w":1287878400,"a":0,"d":0,"c":0},{"w":1288483200,"a":0,"d":0,"c":0},{"w":1289088000,"a":0,"d":0,"c":0},{"w":1289692800,"a":0,"d":0,"c":0},{"w":1290297600,"a":0,"d":0,"c":0},{"w":1290902400,"a":0,"d":0,"c":0},{"w":1291507200,"a":0,"d":0,"c":0},{"w":1292112000,"a":0,"d":0,"c":0},{"w":1292716800,"a":0,"d":0,"c":0},{"w":1293321600,"a":0,"d":0,"c":0},{"w":1293926400,"a":0,"d":0,"c":0},{"w":1294531200,"a":0,"d":0,"c":0},{"w":1295136000,"a":0,"d":0,"c":0},{"w":1295740800,"a":0,"d":0,"c":0},{"w":1296345600,"a":0,"d":0,"c":0},{"w":1296950400,"a":0,"d":0,"c":0},{"w":1297555200,"a":0,"d":0,"c":0},{"w":1298160000,"a":0,"d":0,"c":0},{"w":1298764800,"a":0,"d":0,"c":0},{"w":1299369600,"a":0,"d":0,"c":0},{"w":1299974400,"a":0,"d":0,"c":0},{"w":1300579200,"a":0,"d":0,"c":0},{"w":1301184000,"a":0,"d":0,"c":0},{"w":1301788800,"a":0,"d":0,"c":0},{"w":1302393600,"a":0,"d":0,"c":0},{"w":1302998400,"a":0,"d":0,"c":0},{"w":1303603200,"a":0,"d":0,"c":0},{"w":1304208000,"a":0,"d":0,"c":0},{"w":1304812800,"a":0,"d":0,"c":0},{"w":1305417600,"a":0,"d":0,"c":0},{"w":1306022400,"a":0,"d":0,"c":0},{"w":1306627200,"a":0,"d":0,"c":0},{"w":1307232000,"a":0,"d":0,"c":0},{"w":1307836800,"a":0,"d":0,"c":0},{"w":1308441600,"a":0,"d":0,"c":0},{"w":1309046400,"a":0,"d":0,"c":0},{"w":1309651200,"a":0,"d":0,"c":0},{"w":1310256000,"a":0,"d":0,"c":0},{"w":1310860800,"a":0,"d":0,"c":0},{"w":1311465600,"a":0,"d":0,"c":0},{"w":1312070400,"a":0,"d":0,"c":0},{"w":1312675200,"a":0,"d":0,"c":0},{"w":1313280000,"a":0,"d":0,"c":0},{"w":1313884800,"a":0,"d":0,"c":0},{"w":1314489600,"a":0,"d":0,"c":0},{"w":1315094400,"a":0,"d":0,"c":0},{"w":1315699200,"a":0,"d":0,"c":0},{"w":1316304000,"a":0,"d":0,"c":0},{"w":1316908800,"a":0,"d":0,"c":0},{"w":1317513600,"a":0,"d":0,"c":0},{"w":1318118400,"a":0,"d":0,"c":0},{"w":1318723200,"a":0,"d":0,"c":0},{"w":1319328000,"a":0,"d":0,"c":0},{"w":1319932800,"a":0,"d":0,"c":0},{"w":1320537600,"a":0,"d":0,"c":0},{"w":1321142400,"a":0,"d":0,"c":0},{"w":1321747200,"a":0,"d":0,"c":0},{"w":1322352000,"a":0,"d":0,"c":0},{"w":1322956800,"a":0,"d":0,"c":0},{"w":1323561600,"a":0,"d":0,"c":0},{"w":1324166400,"a":0,"d":0,"c":0},{"w":1324771200,"a":0,"d":0,"c":0},{"w":1325376000,"a":0,"d":0,"c":0},{"w":1325980800,"a":0,"d":0,"c":0},{"w":1326585600,"a":0,"d":0,"c":0},{"w":1327190400,"a":0,"d":0,"c":0},{"w":1327795200,"a":0,"d":0,"c":0},{"w":1328400000,"a":0,"d":0,"c":0},{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0},{"w":1384646400,"a":0,"d":0,"c":0},{"w":1385251200,"a":0,"d":0,"c":0},{"w":1385856000,"a":0,"d":0,"c":0},{"w":1386460800,"a":0,"d":0,"c":0},{"w":1387065600,"a":0,"d":0,"c":0},{"w":1387670400,"a":0,"d":0,"c":0},{"w":1388275200,"a":0,"d":0,"c":0},{"w":1388880000,"a":0,"d":0,"c":0},{"w":1389484800,"a":0,"d":0,"c":0},{"w":1390089600,"a":0,"d":0,"c":0},{"w":1390694400,"a":0,"d":0,"c":0},{"w":1391299200,"a":0,"d":0,"c":0},{"w":1391904000,"a":0,"d":0,"c":0},{"w":1392508800,"a":0,"d":0,"c":0},{"w":1393113600,"a":0,"d":0,"c":0},{"w":1393718400,"a":0,"d":0,"c":0},{"w":1394323200,"a":0,"d":0,"c":0},{"w":1394928000,"a":0,"d":0,"c":0},{"w":1395532800,"a":0,"d":0,"c":0},{"w":1396137600,"a":0,"d":0,"c":0},{"w":1396742400,"a":0,"d":0,"c":0},{"w":1397347200,"a":0,"d":0,"c":0},{"w":1397952000,"a":0,"d":0,"c":0},{"w":1398556800,"a":0,"d":0,"c":0},{"w":1399161600,"a":0,"d":0,"c":0},{"w":1399766400,"a":0,"d":0,"c":0},{"w":1400371200,"a":0,"d":0,"c":0},{"w":1400976000,"a":0,"d":0,"c":0},{"w":1401580800,"a":0,"d":0,"c":0},{"w":1402185600,"a":0,"d":0,"c":0},{"w":1402790400,"a":0,"d":0,"c":0},{"w":1403395200,"a":0,"d":0,"c":0},{"w":1404000000,"a":0,"d":0,"c":0},{"w":1404604800,"a":0,"d":0,"c":0},{"w":1405209600,"a":0,"d":0,"c":0},{"w":1405814400,"a":0,"d":0,"c":0},{"w":1406419200,"a":0,"d":0,"c":0},{"w":1407024000,"a":0,"d":0,"c":0},{"w":1407628800,"a":0,"d":0,"c":0},{"w":1408233600,"a":0,"d":0,"c":0},{"w":1408838400,"a":0,"d":0,"c":0},{"w":1409443200,"a":0,"d":0,"c":0},{"w":1410048000,"a":0,"d":0,"c":0},{"w":1410652800,"a":0,"d":0,"c":0},{"w":1411257600,"a":0,"d":0,"c":0},{"w":1411862400,"a":0,"d":0,"c":0},{"w":1412467200,"a":0,"d":0,"c":0},{"w":1413072000,"a":0,"d":0,"c":0},{"w":1413676800,"a":0,"d":0,"c":0},{"w":1414281600,"a":0,"d":0,"c":0},{"w":1414886400,"a":0,"d":0,"c":0},{"w":1415491200,"a":0,"d":0,"c":0},{"w":1416096000,"a":0,"d":0,"c":0},{"w":1416700800,"a":0,"d":0,"c":0},{"w":1417305600,"a":0,"d":0,"c":0},{"w":1417910400,"a":0,"d":0,"c":0},{"w":1418515200,"a":0,"d":0,"c":0},{"w":1419120000,"a":0,"d":0,"c":0},{"w":1419724800,"a":0,"d":0,"c":0},{"w":1420329600,"a":0,"d":0,"c":0},{"w":1420934400,"a":0,"d":0,"c":0},{"w":1421539200,"a":0,"d":0,"c":0},{"w":1422144000,"a":0,"d":0,"c":0},{"w":1422748800,"a":0,"d":0,"c":0},{"w":1423353600,"a":0,"d":0,"c":0},{"w":1423958400,"a":0,"d":0,"c":0},{"w":1424563200,"a":0,"d":0,"c":0},{"w":1425168000,"a":0,"d":0,"c":0},{"w":1425772800,"a":0,"d":0,"c":0},{"w":1426377600,"a":0,"d":0,"c":0},{"w":1426982400,"a":0,"d":0,"c":0},{"w":1427587200,"a":0,"d":0,"c":0},{"w":1428192000,"a":0,"d":0,"c":0},{"w":1428796800,"a":0,"d":0,"c":0},{"w":1429401600,"a":0,"d":0,"c":0},{"w":1430006400,"a":0,"d":0,"c":0},{"w":1430611200,"a":0,"d":0,"c":0},{"w":1431216000,"a":0,"d":0,"c":0},{"w":1431820800,"a":0,"d":0,"c":0},{"w":1432425600,"a":0,"d":0,"c":0},{"w":1433030400,"a":0,"d":0,"c":0},{"w":1433635200,"a":0,"d":0,"c":0},{"w":1434240000,"a":0,"d":0,"c":0},{"w":1434844800,"a":0,"d":0,"c":0},{"w":1435449600,"a":0,"d":0,"c":0},{"w":1436054400,"a":0,"d":0,"c":0},{"w":1436659200,"a":0,"d":0,"c":0},{"w":1437264000,"a":0,"d":0,"c":0},{"w":1437868800,"a":0,"d":0,"c":0},{"w":1438473600,"a":0,"d":0,"c":0},{"w":1439078400,"a":0,"d":0,"c":0},{"w":1439683200,"a":0,"d":0,"c":0},{"w":1440288000,"a":0,"d":0,"c":0},{"w":1440892800,"a":0,"d":0,"c":0},{"w":1441497600,"a":0,"d":0,"c":0},{"w":1442102400,"a":0,"d":0,"c":0},{"w":1442707200,"a":0,"d":0,"c":0},{"w":1443312000,"a":0,"d":0,"c":0},{"w":1443916800,"a":0,"d":0,"c":0},{"w":1444521600,"a":0,"d":0,"c":0},{"w":1445126400,"a":0,"d":0,"c":0},{"w":1445731200,"a":0,"d":0,"c":0},{"w":1446336000,"a":0,"d":0,"c":0},{"w":1446940800,"a":0,"d":0,"c":0},{"w":1447545600,"a":0,"d":0,"c":0},{"w":1448150400,"a":0,"d":0,"c":0},{"w":1448755200,"a":0,"d":0,"c":0},{"w":1449360000,"a":0,"d":0,"c":0},{"w":1449964800,"a":0,"d":0,"c":0},{"w":1450569600,"a":0,"d":0,"c":0},{"w":1451174400,"a":0,"d":0,"c":0},{"w":1451779200,"a":0,"d":0,"c":0},{"w":1452384000,"a":0,"d":0,"c":0},{"w":1452988800,"a":0,"d":0,"c":0},{"w":1453593600,"a":0,"d":0,"c":0},{"w":1454198400,"a":0,"d":0,"c":0},{"w":1454803200,"a":0,"d":0,"c":0},{"w":1455408000,"a":0,"d":0,"c":0},{"w":1456012800,"a":0,"d":0,"c":0},{"w":1456617600,"a":0,"d":0,"c":0},{"w":1457222400,"a":0,"d":0,"c":0},{"w":1457827200,"a":0,"d":0,"c":0},{"w":1458432000,"a":0,"d":0,"c":0},{"w":1459036800,"a":0,"d":0,"c":0},{"w":1459641600,"a":0,"d":0,"c":0},{"w":1460246400,"a":0,"d":0,"c":0},{"w":1460851200,"a":0,"d":0,"c":0},{"w":1461456000,"a":0,"d":0,"c":0},{"w":1462060800,"a":0,"d":0,"c":0},{"w":1462665600,"a":0,"d":0,"c":0},{"w":1463270400,"a":0,"d":0,"c":0},{"w":1463875200,"a":0,"d":0,"c":0},{"w":1464480000,"a":0,"d":0,"c":0},{"w":1465084800,"a":0,"d":0,"c":0},{"w":1465689600,"a":0,"d":0,"c":0},{"w":1466294400,"a":0,"d":0,"c":0},{"w":1466899200,"a":0,"d":0,"c":0},{"w":1467504000,"a":0,"d":0,"c":0},{"w":1468108800,"a":0,"d":0,"c":0},{"w":1468713600,"a":0,"d":0,"c":0},{"w":1469318400,"a":0,"d":0,"c":0},{"w":1469923200,"a":0,"d":0,"c":0},{"w":1470528000,"a":0,"d":0,"c":0},{"w":1471132800,"a":0,"d":0,"c":0},{"w":1471737600,"a":0,"d":0,"c":0},{"w":1472342400,"a":0,"d":0,"c":0},{"w":1472947200,"a":0,"d":0,"c":0},{"w":1473552000,"a":0,"d":0,"c":0},{"w":1474156800,"a":0,"d":0,"c":0},{"w":1474761600,"a":0,"d":0,"c":0},{"w":1475366400,"a":0,"d":0,"c":0},{"w":1475971200,"a":0,"d":0,"c":0},{"w":1476576000,"a":0,"d":0,"c":0},{"w":1477180800,"a":0,"d":0,"c":0},{"w":1477785600,"a":0,"d":0,"c":0},{"w":1478390400,"a":0,"d":0,"c":0},{"w":1478995200,"a":0,"d":0,"c":0},{"w":1479600000,"a":0,"d":0,"c":0},{"w":1480204800,"a":0,"d":0,"c":0},{"w":1480809600,"a":0,"d":0,"c":0},{"w":1481414400,"a":0,"d":0,"c":0},{"w":1482019200,"a":0,"d":0,"c":0},{"w":1482624000,"a":0,"d":0,"c":0},{"w":1483228800,"a":0,"d":0,"c":0},{"w":1483833600,"a":0,"d":0,"c":0},{"w":1484438400,"a":0,"d":0,"c":0},{"w":1485043200,"a":0,"d":0,"c":0},{"w":1485648000,"a":0,"d":0,"c":0},{"w":1486252800,"a":0,"d":0,"c":0},{"w":1486857600,"a":0,"d":0,"c":0},{"w":1487462400,"a":0,"d":0,"c":0},{"w":1488067200,"a":0,"d":0,"c":0},{"w":1488672000,"a":0,"d":0,"c":0},{"w":1489276800,"a":0,"d":0,"c":0},{"w":1489881600,"a":0,"d":0,"c":0},{"w":1490486400,"a":0,"d":0,"c":0},{"w":1491091200,"a":0,"d":0,"c":0},{"w":1491696000,"a":0,"d":0,"c":0},{"w":1492300800,"a":0,"d":0,"c":0},{"w":1492905600,"a":0,"d":0,"c":0},{"w":1493510400,"a":0,"d":0,"c":0},{"w":1494115200,"a":0,"d":0,"c":0},{"w":1494720000,"a":0,"d":0,"c":0},{"w":1495324800,"a":0,"d":0,"c":0},{"w":1495929600,"a":0,"d":0,"c":0},{"w":1496534400,"a":0,"d":0,"c":0},{"w":1497139200,"a":0,"d":0,"c":0},{"w":1497744000,"a":0,"d":0,"c":0},{"w":1498348800,"a":0,"d":0,"c":0},{"w":1498953600,"a":0,"d":0,"c":0},{"w":1499558400,"a":0,"d":0,"c":0},{"w":1500163200,"a":0,"d":0,"c":0},{"w":1500768000,"a":0,"d":0,"c":0},{"w":1501372800,"a":0,"d":0,"c":0},{"w":1501977600,"a":0,"d":0,"c":0},{"w":1502582400,"a":0,"d":0,"c":0},{"w":1503187200,"a":0,"d":0,"c":0},{"w":1503792000,"a":0,"d":0,"c":0},{"w":1504396800,"a":0,"d":0,"c":0},{"w":1505001600,"a":0,"d":0,"c":0},{"w":1505606400,"a":0,"d":0,"c":0},{"w":1506211200,"a":0,"d":0,"c":0},{"w":1506816000,"a":0,"d":0,"c":0},{"w":1507420800,"a":0,"d":0,"c":0},{"w":1508025600,"a":0,"d":0,"c":0},{"w":1508630400,"a":0,"d":0,"c":0},{"w":1509235200,"a":0,"d":0,"c":0},{"w":1509840000,"a":0,"d":0,"c":0},{"w":1510444800,"a":0,"d":0,"c":0},{"w":1511049600,"a":0,"d":0,"c":0},{"w":1511654400,"a":0,"d":0,"c":0},{"w":1512259200,"a":0,"d":0,"c":0},{"w":1512864000,"a":0,"d":0,"c":0},{"w":1513468800,"a":0,"d":0,"c":0},{"w":1514073600,"a":0,"d":0,"c":0},{"w":1514678400,"a":0,"d":0,"c":0},{"w":1515283200,"a":0,"d":0,"c":0},{"w":1515888000,"a":0,"d":0,"c":0},{"w":1516492800,"a":0,"d":0,"c":0},{"w":1517097600,"a":0,"d":0,"c":0},{"w":1517702400,"a":0,"d":0,"c":0},{"w":1518307200,"a":0,"d":0,"c":0},{"w":1518912000,"a":0,"d":0,"c":0},{"w":1519516800,"a":0,"d":0,"c":0},{"w":1520121600,"a":0,"d":0,"c":0},{"w":1520726400,"a":0,"d":0,"c":0},{"w":1521331200,"a":0,"d":0,"c":0},{"w":1521936000,"a":0,"d":0,"c":0},{"w":1522540800,"a":0,"d":0,"c":0},{"w":1523145600,"a":0,"d":0,"c":0},{"w":1523750400,"a":0,"d":0,"c":0},{"w":1524355200,"a":0,"d":0,"c":0},{"w":1524960000,"a":0,"d":0,"c":0},{"w":1525564800,"a":164,"d":30,"c":1},{"w":1526169600,"a":0,"d":0,"c":0},{"w":1526774400,"a":0,"d":0,"c":0},{"w":1527379200,"a":0,"d":0,"c":0},{"w":1527984000,"a":47,"d":2,"c":1},{"w":1528588800,"a":0,"d":0,"c":0},{"w":1529193600,"a":0,"d":0,"c":0},{"w":1529798400,"a":0,"d":0,"c":0},{"w":1530403200,"a":0,"d":0,"c":0},{"w":1531008000,"a":0,"d":0,"c":0},{"w":1531612800,"a":0,"d":0,"c":0},{"w":1532217600,"a":0,"d":0,"c":0},{"w":1532822400,"a":0,"d":0,"c":0},{"w":1533427200,"a":0,"d":0,"c":0},{"w":1534032000,"a":0,"d":0,"c":0},{"w":1534636800,"a":0,"d":0,"c":0},{"w":1535241600,"a":0,"d":0,"c":0},{"w":1535846400,"a":0,"d":0,"c":0},{"w":1536451200,"a":0,"d":0,"c":0},{"w":1537056000,"a":0,"d":0,"c":0},{"w":1537660800,"a":0,"d":0,"c":0},{"w":1538265600,"a":0,"d":0,"c":0},{"w":1538870400,"a":0,"d":0,"c":0},{"w":1539475200,"a":0,"d":0,"c":0},{"w":1540080000,"a":0,"d":0,"c":0},{"w":1540684800,"a":0,"d":0,"c":0},{"w":1541289600,"a":0,"d":0,"c":0},{"w":1541894400,"a":0,"d":0,"c":0},{"w":1542499200,"a":0,"d":0,"c":0},{"w":1543104000,"a":0,"d":0,"c":0},{"w":1543708800,"a":0,"d":0,"c":0},{"w":1544313600,"a":0,"d":0,"c":0},{"w":1544918400,"a":0,"d":0,"c":0},{"w":1545523200,"a":0,"d":0,"c":0},{"w":1546128000,"a":0,"d":0,"c":0},{"w":1546732800,"a":0,"d":0,"c":0},{"w":1547337600,"a":0,"d":0,"c":0},{"w":1547942400,"a":0,"d":0,"c":0},{"w":1548547200,"a":0,"d":0,"c":0},{"w":1549152000,"a":0,"d":0,"c":0},{"w":1549756800,"a":0,"d":0,"c":0},{"w":1550361600,"a":0,"d":0,"c":0},{"w":1550966400,"a":0,"d":0,"c":0},{"w":1551571200,"a":0,"d":0,"c":0},{"w":1552176000,"a":0,"d":0,"c":0},{"w":1552780800,"a":0,"d":0,"c":0},{"w":1553385600,"a":0,"d":0,"c":0},{"w":1553990400,"a":0,"d":0,"c":0},{"w":1554595200,"a":0,"d":0,"c":0},{"w":1555200000,"a":0,"d":0,"c":0},{"w":1555804800,"a":0,"d":0,"c":0},{"w":1556409600,"a":0,"d":0,"c":0},{"w":1557014400,"a":0,"d":0,"c":0},{"w":1557619200,"a":0,"d":0,"c":0},{"w":1558224000,"a":0,"d":0,"c":0},{"w":1558828800,"a":0,"d":0,"c":0},{"w":1559433600,"a":0,"d":0,"c":0},{"w":1560038400,"a":0,"d":0,"c":0},{"w":1560643200,"a":0,"d":0,"c":0},{"w":1561248000,"a":0,"d":0,"c":0},{"w":1561852800,"a":0,"d":0,"c":0},{"w":1562457600,"a":0,"d":0,"c":0}],"author":{"login":"matthmsl","id":8661695,"node_id":"MDQ6VXNlcjg2NjE2OTU=","avatar_url":"https://avatars3.githubusercontent.com/u/8661695?v=4","gravatar_id":"","url":"https://api.github.com/users/matthmsl","html_url":"https://github.com/matthmsl","followers_url":"https://api.github.com/users/matthmsl/followers","following_url":"https://api.github.com/users/matthmsl/following{/other_user}","gists_url":"https://api.github.com/users/matthmsl/gists{/gist_id}","starred_url":"https://api.github.com/users/matthmsl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/matthmsl/subscriptions","organizations_url":"https://api.github.com/users/matthmsl/orgs","repos_url":"https://api.github.com/users/matthmsl/repos","events_url":"https://api.github.com/users/matthmsl/events{/privacy}","received_events_url":"https://api.github.com/users/matthmsl/received_events","type":"User","site_admin":false}},{"total":2,"weeks":[{"w":1215302400,"a":0,"d":0,"c":0},{"w":1215907200,"a":0,"d":0,"c":0},{"w":1216512000,"a":0,"d":0,"c":0},{"w":1217116800,"a":0,"d":0,"c":0},{"w":1217721600,"a":0,"d":0,"c":0},{"w":1218326400,"a":0,"d":0,"c":0},{"w":1218931200,"a":0,"d":0,"c":0},{"w":1219536000,"a":0,"d":0,"c":0},{"w":1220140800,"a":0,"d":0,"c":0},{"w":1220745600,"a":0,"d":0,"c":0},{"w":1221350400,"a":0,"d":0,"c":0},{"w":1221955200,"a":0,"d":0,"c":0},{"w":1222560000,"a":0,"d":0,"c":0},{"w":1223164800,"a":0,"d":0,"c":0},{"w":1223769600,"a":0,"d":0,"c":0},{"w":1224374400,"a":0,"d":0,"c":0},{"w":1224979200,"a":0,"d":0,"c":0},{"w":1225584000,"a":0,"d":0,"c":0},{"w":1226188800,"a":0,"d":0,"c":0},{"w":1226793600,"a":0,"d":0,"c":0},{"w":1227398400,"a":0,"d":0,"c":0},{"w":1228003200,"a":0,"d":0,"c":0},{"w":1228608000,"a":0,"d":0,"c":0},{"w":1229212800,"a":0,"d":0,"c":0},{"w":1229817600,"a":0,"d":0,"c":0},{"w":1230422400,"a":0,"d":0,"c":0},{"w":1231027200,"a":0,"d":0,"c":0},{"w":1231632000,"a":0,"d":0,"c":0},{"w":1232236800,"a":0,"d":0,"c":0},{"w":1232841600,"a":0,"d":0,"c":0},{"w":1233446400,"a":0,"d":0,"c":0},{"w":1234051200,"a":0,"d":0,"c":0},{"w":1234656000,"a":0,"d":0,"c":0},{"w":1235260800,"a":0,"d":0,"c":0},{"w":1235865600,"a":0,"d":0,"c":0},{"w":1236470400,"a":0,"d":0,"c":0},{"w":1237075200,"a":0,"d":0,"c":0},{"w":1237680000,"a":0,"d":0,"c":0},{"w":1238284800,"a":0,"d":0,"c":0},{"w":1238889600,"a":0,"d":0,"c":0},{"w":1239494400,"a":0,"d":0,"c":0},{"w":1240099200,"a":0,"d":0,"c":0},{"w":1240704000,"a":0,"d":0,"c":0},{"w":1241308800,"a":0,"d":0,"c":0},{"w":1241913600,"a":0,"d":0,"c":0},{"w":1242518400,"a":0,"d":0,"c":0},{"w":1243123200,"a":0,"d":0,"c":0},{"w":1243728000,"a":0,"d":0,"c":0},{"w":1244332800,"a":0,"d":0,"c":0},{"w":1244937600,"a":0,"d":0,"c":0},{"w":1245542400,"a":0,"d":0,"c":0},{"w":1246147200,"a":0,"d":0,"c":0},{"w":1246752000,"a":0,"d":0,"c":0},{"w":1247356800,"a":0,"d":0,"c":0},{"w":1247961600,"a":0,"d":0,"c":0},{"w":1248566400,"a":0,"d":0,"c":0},{"w":1249171200,"a":0,"d":0,"c":0},{"w":1249776000,"a":0,"d":0,"c":0},{"w":1250380800,"a":0,"d":0,"c":0},{"w":1250985600,"a":0,"d":0,"c":0},{"w":1251590400,"a":0,"d":0,"c":0},{"w":1252195200,"a":0,"d":0,"c":0},{"w":1252800000,"a":0,"d":0,"c":0},{"w":1253404800,"a":0,"d":0,"c":0},{"w":1254009600,"a":0,"d":0,"c":0},{"w":1254614400,"a":0,"d":0,"c":0},{"w":1255219200,"a":0,"d":0,"c":0},{"w":1255824000,"a":0,"d":0,"c":0},{"w":1256428800,"a":0,"d":0,"c":0},{"w":1257033600,"a":0,"d":0,"c":0},{"w":1257638400,"a":0,"d":0,"c":0},{"w":1258243200,"a":0,"d":0,"c":0},{"w":1258848000,"a":0,"d":0,"c":0},{"w":1259452800,"a":0,"d":0,"c":0},{"w":1260057600,"a":0,"d":0,"c":0},{"w":1260662400,"a":0,"d":0,"c":0},{"w":1261267200,"a":0,"d":0,"c":0},{"w":1261872000,"a":0,"d":0,"c":0},{"w":1262476800,"a":0,"d":0,"c":0},{"w":1263081600,"a":0,"d":0,"c":0},{"w":1263686400,"a":0,"d":0,"c":0},{"w":1264291200,"a":0,"d":0,"c":0},{"w":1264896000,"a":0,"d":0,"c":0},{"w":1265500800,"a":0,"d":0,"c":0},{"w":1266105600,"a":0,"d":0,"c":0},{"w":1266710400,"a":0,"d":0,"c":0},{"w":1267315200,"a":0,"d":0,"c":0},{"w":1267920000,"a":0,"d":0,"c":0},{"w":1268524800,"a":0,"d":0,"c":0},{"w":1269129600,"a":0,"d":0,"c":0},{"w":1269734400,"a":0,"d":0,"c":0},{"w":1270339200,"a":0,"d":0,"c":0},{"w":1270944000,"a":0,"d":0,"c":0},{"w":1271548800,"a":0,"d":0,"c":0},{"w":1272153600,"a":0,"d":0,"c":0},{"w":1272758400,"a":0,"d":0,"c":0},{"w":1273363200,"a":0,"d":0,"c":0},{"w":1273968000,"a":0,"d":0,"c":0},{"w":1274572800,"a":0,"d":0,"c":0},{"w":1275177600,"a":0,"d":0,"c":0},{"w":1275782400,"a":0,"d":0,"c":0},{"w":1276387200,"a":0,"d":0,"c":0},{"w":1276992000,"a":0,"d":0,"c":0},{"w":1277596800,"a":0,"d":0,"c":0},{"w":1278201600,"a":0,"d":0,"c":0},{"w":1278806400,"a":0,"d":0,"c":0},{"w":1279411200,"a":0,"d":0,"c":0},{"w":1280016000,"a":0,"d":0,"c":0},{"w":1280620800,"a":0,"d":0,"c":0},{"w":1281225600,"a":0,"d":0,"c":0},{"w":1281830400,"a":0,"d":0,"c":0},{"w":1282435200,"a":0,"d":0,"c":0},{"w":1283040000,"a":0,"d":0,"c":0},{"w":1283644800,"a":0,"d":0,"c":0},{"w":1284249600,"a":0,"d":0,"c":0},{"w":1284854400,"a":0,"d":0,"c":0},{"w":1285459200,"a":0,"d":0,"c":0},{"w":1286064000,"a":0,"d":0,"c":0},{"w":1286668800,"a":0,"d":0,"c":0},{"w":1287273600,"a":0,"d":0,"c":0},{"w":1287878400,"a":0,"d":0,"c":0},{"w":1288483200,"a":0,"d":0,"c":0},{"w":1289088000,"a":0,"d":0,"c":0},{"w":1289692800,"a":0,"d":0,"c":0},{"w":1290297600,"a":0,"d":0,"c":0},{"w":1290902400,"a":0,"d":0,"c":0},{"w":1291507200,"a":0,"d":0,"c":0},{"w":1292112000,"a":0,"d":0,"c":0},{"w":1292716800,"a":0,"d":0,"c":0},{"w":1293321600,"a":0,"d":0,"c":0},{"w":1293926400,"a":0,"d":0,"c":0},{"w":1294531200,"a":0,"d":0,"c":0},{"w":1295136000,"a":0,"d":0,"c":0},{"w":1295740800,"a":0,"d":0,"c":0},{"w":1296345600,"a":0,"d":0,"c":0},{"w":1296950400,"a":0,"d":0,"c":0},{"w":1297555200,"a":0,"d":0,"c":0},{"w":1298160000,"a":0,"d":0,"c":0},{"w":1298764800,"a":0,"d":0,"c":0},{"w":1299369600,"a":0,"d":0,"c":0},{"w":1299974400,"a":0,"d":0,"c":0},{"w":1300579200,"a":0,"d":0,"c":0},{"w":1301184000,"a":0,"d":0,"c":0},{"w":1301788800,"a":0,"d":0,"c":0},{"w":1302393600,"a":0,"d":0,"c":0},{"w":1302998400,"a":0,"d":0,"c":0},{"w":1303603200,"a":0,"d":0,"c":0},{"w":1304208000,"a":0,"d":0,"c":0},{"w":1304812800,"a":0,"d":0,"c":0},{"w":1305417600,"a":0,"d":0,"c":0},{"w":1306022400,"a":0,"d":0,"c":0},{"w":1306627200,"a":0,"d":0,"c":0},{"w":1307232000,"a":0,"d":0,"c":0},{"w":1307836800,"a":0,"d":0,"c":0},{"w":1308441600,"a":0,"d":0,"c":0},{"w":1309046400,"a":0,"d":0,"c":0},{"w":1309651200,"a":0,"d":0,"c":0},{"w":1310256000,"a":0,"d":0,"c":0},{"w":1310860800,"a":0,"d":0,"c":0},{"w":1311465600,"a":0,"d":0,"c":0},{"w":1312070400,"a":0,"d":0,"c":0},{"w":1312675200,"a":0,"d":0,"c":0},{"w":1313280000,"a":0,"d":0,"c":0},{"w":1313884800,"a":0,"d":0,"c":0},{"w":1314489600,"a":0,"d":0,"c":0},{"w":1315094400,"a":0,"d":0,"c":0},{"w":1315699200,"a":0,"d":0,"c":0},{"w":1316304000,"a":0,"d":0,"c":0},{"w":1316908800,"a":0,"d":0,"c":0},{"w":1317513600,"a":0,"d":0,"c":0},{"w":1318118400,"a":0,"d":0,"c":0},{"w":1318723200,"a":0,"d":0,"c":0},{"w":1319328000,"a":0,"d":0,"c":0},{"w":1319932800,"a":0,"d":0,"c":0},{"w":1320537600,"a":0,"d":0,"c":0},{"w":1321142400,"a":0,"d":0,"c":0},{"w":1321747200,"a":0,"d":0,"c":0},{"w":1322352000,"a":0,"d":0,"c":0},{"w":1322956800,"a":0,"d":0,"c":0},{"w":1323561600,"a":0,"d":0,"c":0},{"w":1324166400,"a":0,"d":0,"c":0},{"w":1324771200,"a":0,"d":0,"c":0},{"w":1325376000,"a":0,"d":0,"c":0},{"w":1325980800,"a":0,"d":0,"c":0},{"w":1326585600,"a":0,"d":0,"c":0},{"w":1327190400,"a":0,"d":0,"c":0},{"w":1327795200,"a":0,"d":0,"c":0},{"w":1328400000,"a":0,"d":0,"c":0},{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0},{"w":1384646400,"a":0,"d":0,"c":0},{"w":1385251200,"a":0,"d":0,"c":0},{"w":1385856000,"a":0,"d":0,"c":0},{"w":1386460800,"a":0,"d":0,"c":0},{"w":1387065600,"a":0,"d":0,"c":0},{"w":1387670400,"a":0,"d":0,"c":0},{"w":1388275200,"a":0,"d":0,"c":0},{"w":1388880000,"a":0,"d":0,"c":0},{"w":1389484800,"a":0,"d":0,"c":0},{"w":1390089600,"a":0,"d":0,"c":0},{"w":1390694400,"a":0,"d":0,"c":0},{"w":1391299200,"a":0,"d":0,"c":0},{"w":1391904000,"a":0,"d":0,"c":0},{"w":1392508800,"a":0,"d":0,"c":0},{"w":1393113600,"a":0,"d":0,"c":0},{"w":1393718400,"a":0,"d":0,"c":0},{"w":1394323200,"a":0,"d":0,"c":0},{"w":1394928000,"a":0,"d":0,"c":0},{"w":1395532800,"a":0,"d":0,"c":0},{"w":1396137600,"a":0,"d":0,"c":0},{"w":1396742400,"a":0,"d":0,"c":0},{"w":1397347200,"a":0,"d":0,"c":0},{"w":1397952000,"a":0,"d":0,"c":0},{"w":1398556800,"a":0,"d":0,"c":0},{"w":1399161600,"a":0,"d":0,"c":0},{"w":1399766400,"a":0,"d":0,"c":0},{"w":1400371200,"a":0,"d":0,"c":0},{"w":1400976000,"a":0,"d":0,"c":0},{"w":1401580800,"a":0,"d":0,"c":0},{"w":1402185600,"a":0,"d":0,"c":0},{"w":1402790400,"a":0,"d":0,"c":0},{"w":1403395200,"a":47,"d":27,"c":2},{"w":1404000000,"a":0,"d":0,"c":0},{"w":1404604800,"a":0,"d":0,"c":0},{"w":1405209600,"a":0,"d":0,"c":0},{"w":1405814400,"a":0,"d":0,"c":0},{"w":1406419200,"a":0,"d":0,"c":0},{"w":1407024000,"a":0,"d":0,"c":0},{"w":1407628800,"a":0,"d":0,"c":0},{"w":1408233600,"a":0,"d":0,"c":0},{"w":1408838400,"a":0,"d":0,"c":0},{"w":1409443200,"a":0,"d":0,"c":0},{"w":1410048000,"a":0,"d":0,"c":0},{"w":1410652800,"a":0,"d":0,"c":0},{"w":1411257600,"a":0,"d":0,"c":0},{"w":1411862400,"a":0,"d":0,"c":0},{"w":1412467200,"a":0,"d":0,"c":0},{"w":1413072000,"a":0,"d":0,"c":0},{"w":1413676800,"a":0,"d":0,"c":0},{"w":1414281600,"a":0,"d":0,"c":0},{"w":1414886400,"a":0,"d":0,"c":0},{"w":1415491200,"a":0,"d":0,"c":0},{"w":1416096000,"a":0,"d":0,"c":0},{"w":1416700800,"a":0,"d":0,"c":0},{"w":1417305600,"a":0,"d":0,"c":0},{"w":1417910400,"a":0,"d":0,"c":0},{"w":1418515200,"a":0,"d":0,"c":0},{"w":1419120000,"a":0,"d":0,"c":0},{"w":1419724800,"a":0,"d":0,"c":0},{"w":1420329600,"a":0,"d":0,"c":0},{"w":1420934400,"a":0,"d":0,"c":0},{"w":1421539200,"a":0,"d":0,"c":0},{"w":1422144000,"a":0,"d":0,"c":0},{"w":1422748800,"a":0,"d":0,"c":0},{"w":1423353600,"a":0,"d":0,"c":0},{"w":1423958400,"a":0,"d":0,"c":0},{"w":1424563200,"a":0,"d":0,"c":0},{"w":1425168000,"a":0,"d":0,"c":0},{"w":1425772800,"a":0,"d":0,"c":0},{"w":1426377600,"a":0,"d":0,"c":0},{"w":1426982400,"a":0,"d":0,"c":0},{"w":1427587200,"a":0,"d":0,"c":0},{"w":1428192000,"a":0,"d":0,"c":0},{"w":1428796800,"a":0,"d":0,"c":0},{"w":1429401600,"a":0,"d":0,"c":0},{"w":1430006400,"a":0,"d":0,"c":0},{"w":1430611200,"a":0,"d":0,"c":0},{"w":1431216000,"a":0,"d":0,"c":0},{"w":1431820800,"a":0,"d":0,"c":0},{"w":1432425600,"a":0,"d":0,"c":0},{"w":1433030400,"a":0,"d":0,"c":0},{"w":1433635200,"a":0,"d":0,"c":0},{"w":1434240000,"a":0,"d":0,"c":0},{"w":1434844800,"a":0,"d":0,"c":0},{"w":1435449600,"a":0,"d":0,"c":0},{"w":1436054400,"a":0,"d":0,"c":0},{"w":1436659200,"a":0,"d":0,"c":0},{"w":1437264000,"a":0,"d":0,"c":0},{"w":1437868800,"a":0,"d":0,"c":0},{"w":1438473600,"a":0,"d":0,"c":0},{"w":1439078400,"a":0,"d":0,"c":0},{"w":1439683200,"a":0,"d":0,"c":0},{"w":1440288000,"a":0,"d":0,"c":0},{"w":1440892800,"a":0,"d":0,"c":0},{"w":1441497600,"a":0,"d":0,"c":0},{"w":1442102400,"a":0,"d":0,"c":0},{"w":1442707200,"a":0,"d":0,"c":0},{"w":1443312000,"a":0,"d":0,"c":0},{"w":1443916800,"a":0,"d":0,"c":0},{"w":1444521600,"a":0,"d":0,"c":0},{"w":1445126400,"a":0,"d":0,"c":0},{"w":1445731200,"a":0,"d":0,"c":0},{"w":1446336000,"a":0,"d":0,"c":0},{"w":1446940800,"a":0,"d":0,"c":0},{"w":1447545600,"a":0,"d":0,"c":0},{"w":1448150400,"a":0,"d":0,"c":0},{"w":1448755200,"a":0,"d":0,"c":0},{"w":1449360000,"a":0,"d":0,"c":0},{"w":1449964800,"a":0,"d":0,"c":0},{"w":1450569600,"a":0,"d":0,"c":0},{"w":1451174400,"a":0,"d":0,"c":0},{"w":1451779200,"a":0,"d":0,"c":0},{"w":1452384000,"a":0,"d":0,"c":0},{"w":1452988800,"a":0,"d":0,"c":0},{"w":1453593600,"a":0,"d":0,"c":0},{"w":1454198400,"a":0,"d":0,"c":0},{"w":1454803200,"a":0,"d":0,"c":0},{"w":1455408000,"a":0,"d":0,"c":0},{"w":1456012800,"a":0,"d":0,"c":0},{"w":1456617600,"a":0,"d":0,"c":0},{"w":1457222400,"a":0,"d":0,"c":0},{"w":1457827200,"a":0,"d":0,"c":0},{"w":1458432000,"a":0,"d":0,"c":0},{"w":1459036800,"a":0,"d":0,"c":0},{"w":1459641600,"a":0,"d":0,"c":0},{"w":1460246400,"a":0,"d":0,"c":0},{"w":1460851200,"a":0,"d":0,"c":0},{"w":1461456000,"a":0,"d":0,"c":0},{"w":1462060800,"a":0,"d":0,"c":0},{"w":1462665600,"a":0,"d":0,"c":0},{"w":1463270400,"a":0,"d":0,"c":0},{"w":1463875200,"a":0,"d":0,"c":0},{"w":1464480000,"a":0,"d":0,"c":0},{"w":1465084800,"a":0,"d":0,"c":0},{"w":1465689600,"a":0,"d":0,"c":0},{"w":1466294400,"a":0,"d":0,"c":0},{"w":1466899200,"a":0,"d":0,"c":0},{"w":1467504000,"a":0,"d":0,"c":0},{"w":1468108800,"a":0,"d":0,"c":0},{"w":1468713600,"a":0,"d":0,"c":0},{"w":1469318400,"a":0,"d":0,"c":0},{"w":1469923200,"a":0,"d":0,"c":0},{"w":1470528000,"a":0,"d":0,"c":0},{"w":1471132800,"a":0,"d":0,"c":0},{"w":1471737600,"a":0,"d":0,"c":0},{"w":1472342400,"a":0,"d":0,"c":0},{"w":1472947200,"a":0,"d":0,"c":0},{"w":1473552000,"a":0,"d":0,"c":0},{"w":1474156800,"a":0,"d":0,"c":0},{"w":1474761600,"a":0,"d":0,"c":0},{"w":1475366400,"a":0,"d":0,"c":0},{"w":1475971200,"a":0,"d":0,"c":0},{"w":1476576000,"a":0,"d":0,"c":0},{"w":1477180800,"a":0,"d":0,"c":0},{"w":1477785600,"a":0,"d":0,"c":0},{"w":1478390400,"a":0,"d":0,"c":0},{"w":1478995200,"a":0,"d":0,"c":0},{"w":1479600000,"a":0,"d":0,"c":0},{"w":1480204800,"a":0,"d":0,"c":0},{"w":1480809600,"a":0,"d":0,"c":0},{"w":1481414400,"a":0,"d":0,"c":0},{"w":1482019200,"a":0,"d":0,"c":0},{"w":1482624000,"a":0,"d":0,"c":0},{"w":1483228800,"a":0,"d":0,"c":0},{"w":1483833600,"a":0,"d":0,"c":0},{"w":1484438400,"a":0,"d":0,"c":0},{"w":1485043200,"a":0,"d":0,"c":0},{"w":1485648000,"a":0,"d":0,"c":0},{"w":1486252800,"a":0,"d":0,"c":0},{"w":1486857600,"a":0,"d":0,"c":0},{"w":1487462400,"a":0,"d":0,"c":0},{"w":1488067200,"a":0,"d":0,"c":0},{"w":1488672000,"a":0,"d":0,"c":0},{"w":1489276800,"a":0,"d":0,"c":0},{"w":1489881600,"a":0,"d":0,"c":0},{"w":1490486400,"a":0,"d":0,"c":0},{"w":1491091200,"a":0,"d":0,"c":0},{"w":1491696000,"a":0,"d":0,"c":0},{"w":1492300800,"a":0,"d":0,"c":0},{"w":1492905600,"a":0,"d":0,"c":0},{"w":1493510400,"a":0,"d":0,"c":0},{"w":1494115200,"a":0,"d":0,"c":0},{"w":1494720000,"a":0,"d":0,"c":0},{"w":1495324800,"a":0,"d":0,"c":0},{"w":1495929600,"a":0,"d":0,"c":0},{"w":1496534400,"a":0,"d":0,"c":0},{"w":1497139200,"a":0,"d":0,"c":0},{"w":1497744000,"a":0,"d":0,"c":0},{"w":1498348800,"a":0,"d":0,"c":0},{"w":1498953600,"a":0,"d":0,"c":0},{"w":1499558400,"a":0,"d":0,"c":0},{"w":1500163200,"a":0,"d":0,"c":0},{"w":1500768000,"a":0,"d":0,"c":0},{"w":1501372800,"a":0,"d":0,"c":0},{"w":1501977600,"a":0,"d":0,"c":0},{"w":1502582400,"a":0,"d":0,"c":0},{"w":1503187200,"a":0,"d":0,"c":0},{"w":1503792000,"a":0,"d":0,"c":0},{"w":1504396800,"a":0,"d":0,"c":0},{"w":1505001600,"a":0,"d":0,"c":0},{"w":1505606400,"a":0,"d":0,"c":0},{"w":1506211200,"a":0,"d":0,"c":0},{"w":1506816000,"a":0,"d":0,"c":0},{"w":1507420800,"a":0,"d":0,"c":0},{"w":1508025600,"a":0,"d":0,"c":0},{"w":1508630400,"a":0,"d":0,"c":0},{"w":1509235200,"a":0,"d":0,"c":0},{"w":1509840000,"a":0,"d":0,"c":0},{"w":1510444800,"a":0,"d":0,"c":0},{"w":1511049600,"a":0,"d":0,"c":0},{"w":1511654400,"a":0,"d":0,"c":0},{"w":1512259200,"a":0,"d":0,"c":0},{"w":1512864000,"a":0,"d":0,"c":0},{"w":1513468800,"a":0,"d":0,"c":0},{"w":1514073600,"a":0,"d":0,"c":0},{"w":1514678400,"a":0,"d":0,"c":0},{"w":1515283200,"a":0,"d":0,"c":0},{"w":1515888000,"a":0,"d":0,"c":0},{"w":1516492800,"a":0,"d":0,"c":0},{"w":1517097600,"a":0,"d":0,"c":0},{"w":1517702400,"a":0,"d":0,"c":0},{"w":1518307200,"a":0,"d":0,"c":0},{"w":1518912000,"a":0,"d":0,"c":0},{"w":1519516800,"a":0,"d":0,"c":0},{"w":1520121600,"a":0,"d":0,"c":0},{"w":1520726400,"a":0,"d":0,"c":0},{"w":1521331200,"a":0,"d":0,"c":0},{"w":1521936000,"a":0,"d":0,"c":0},{"w":1522540800,"a":0,"d":0,"c":0},{"w":1523145600,"a":0,"d":0,"c":0},{"w":1523750400,"a":0,"d":0,"c":0},{"w":1524355200,"a":0,"d":0,"c":0},{"w":1524960000,"a":0,"d":0,"c":0},{"w":1525564800,"a":0,"d":0,"c":0},{"w":1526169600,"a":0,"d":0,"c":0},{"w":1526774400,"a":0,"d":0,"c":0},{"w":1527379200,"a":0,"d":0,"c":0},{"w":1527984000,"a":0,"d":0,"c":0},{"w":1528588800,"a":0,"d":0,"c":0},{"w":1529193600,"a":0,"d":0,"c":0},{"w":1529798400,"a":0,"d":0,"c":0},{"w":1530403200,"a":0,"d":0,"c":0},{"w":1531008000,"a":0,"d":0,"c":0},{"w":1531612800,"a":0,"d":0,"c":0},{"w":1532217600,"a":0,"d":0,"c":0},{"w":1532822400,"a":0,"d":0,"c":0},{"w":1533427200,"a":0,"d":0,"c":0},{"w":1534032000,"a":0,"d":0,"c":0},{"w":1534636800,"a":0,"d":0,"c":0},{"w":1535241600,"a":0,"d":0,"c":0},{"w":1535846400,"a":0,"d":0,"c":0},{"w":1536451200,"a":0,"d":0,"c":0},{"w":1537056000,"a":0,"d":0,"c":0},{"w":1537660800,"a":0,"d":0,"c":0},{"w":1538265600,"a":0,"d":0,"c":0},{"w":1538870400,"a":0,"d":0,"c":0},{"w":1539475200,"a":0,"d":0,"c":0},{"w":1540080000,"a":0,"d":0,"c":0},{"w":1540684800,"a":0,"d":0,"c":0},{"w":1541289600,"a":0,"d":0,"c":0},{"w":1541894400,"a":0,"d":0,"c":0},{"w":1542499200,"a":0,"d":0,"c":0},{"w":1543104000,"a":0,"d":0,"c":0},{"w":1543708800,"a":0,"d":0,"c":0},{"w":1544313600,"a":0,"d":0,"c":0},{"w":1544918400,"a":0,"d":0,"c":0},{"w":1545523200,"a":0,"d":0,"c":0},{"w":1546128000,"a":0,"d":0,"c":0},{"w":1546732800,"a":0,"d":0,"c":0},{"w":1547337600,"a":0,"d":0,"c":0},{"w":1547942400,"a":0,"d":0,"c":0},{"w":1548547200,"a":0,"d":0,"c":0},{"w":1549152000,"a":0,"d":0,"c":0},{"w":1549756800,"a":0,"d":0,"c":0},{"w":1550361600,"a":0,"d":0,"c":0},{"w":1550966400,"a":0,"d":0,"c":0},{"w":1551571200,"a":0,"d":0,"c":0},{"w":1552176000,"a":0,"d":0,"c":0},{"w":1552780800,"a":0,"d":0,"c":0},{"w":1553385600,"a":0,"d":0,"c":0},{"w":1553990400,"a":0,"d":0,"c":0},{"w":1554595200,"a":0,"d":0,"c":0},{"w":1555200000,"a":0,"d":0,"c":0},{"w":1555804800,"a":0,"d":0,"c":0},{"w":1556409600,"a":0,"d":0,"c":0},{"w":1557014400,"a":0,"d":0,"c":0},{"w":1557619200,"a":0,"d":0,"c":0},{"w":1558224000,"a":0,"d":0,"c":0},{"w":1558828800,"a":0,"d":0,"c":0},{"w":1559433600,"a":0,"d":0,"c":0},{"w":1560038400,"a":0,"d":0,"c":0},{"w":1560643200,"a":0,"d":0,"c":0},{"w":1561248000,"a":0,"d":0,"c":0},{"w":1561852800,"a":0,"d":0,"c":0},{"w":1562457600,"a":0,"d":0,"c":0}],"author":{"login":"itch76","id":6430803,"node_id":"MDQ6VXNlcjY0MzA4MDM=","avatar_url":"https://avatars0.githubusercontent.com/u/6430803?v=4","gravatar_id":"","url":"https://api.github.com/users/itch76","html_url":"https://github.com/itch76","followers_url":"https://api.github.com/users/itch76/followers","following_url":"https://api.github.com/users/itch76/following{/other_user}","gists_url":"https://api.github.com/users/itch76/gists{/gist_id}","starred_url":"https://api.github.com/users/itch76/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itch76/subscriptions","organizations_url":"https://api.github.com/users/itch76/orgs","repos_url":"https://api.github.com/users/itch76/repos","events_url":"https://api.github.com/users/itch76/events{/privacy}","received_events_url":"https://api.github.com/users/itch76/received_events","type":"User","site_admin":false}},{"total":2,"weeks":[{"w":1215302400,"a":0,"d":0,"c":0},{"w":1215907200,"a":0,"d":0,"c":0},{"w":1216512000,"a":0,"d":0,"c":0},{"w":1217116800,"a":0,"d":0,"c":0},{"w":1217721600,"a":0,"d":0,"c":0},{"w":1218326400,"a":0,"d":0,"c":0},{"w":1218931200,"a":0,"d":0,"c":0},{"w":1219536000,"a":0,"d":0,"c":0},{"w":1220140800,"a":0,"d":0,"c":0},{"w":1220745600,"a":0,"d":0,"c":0},{"w":1221350400,"a":0,"d":0,"c":0},{"w":1221955200,"a":0,"d":0,"c":0},{"w":1222560000,"a":0,"d":0,"c":0},{"w":1223164800,"a":0,"d":0,"c":0},{"w":1223769600,"a":0,"d":0,"c":0},{"w":1224374400,"a":0,"d":0,"c":0},{"w":1224979200,"a":0,"d":0,"c":0},{"w":1225584000,"a":0,"d":0,"c":0},{"w":1226188800,"a":0,"d":0,"c":0},{"w":1226793600,"a":0,"d":0,"c":0},{"w":1227398400,"a":0,"d":0,"c":0},{"w":1228003200,"a":0,"d":0,"c":0},{"w":1228608000,"a":0,"d":0,"c":0},{"w":1229212800,"a":0,"d":0,"c":0},{"w":1229817600,"a":0,"d":0,"c":0},{"w":1230422400,"a":0,"d":0,"c":0},{"w":1231027200,"a":0,"d":0,"c":0},{"w":1231632000,"a":0,"d":0,"c":0},{"w":1232236800,"a":0,"d":0,"c":0},{"w":1232841600,"a":0,"d":0,"c":0},{"w":1233446400,"a":0,"d":0,"c":0},{"w":1234051200,"a":0,"d":0,"c":0},{"w":1234656000,"a":0,"d":0,"c":0},{"w":1235260800,"a":0,"d":0,"c":0},{"w":1235865600,"a":0,"d":0,"c":0},{"w":1236470400,"a":0,"d":0,"c":0},{"w":1237075200,"a":0,"d":0,"c":0},{"w":1237680000,"a":0,"d":0,"c":0},{"w":1238284800,"a":0,"d":0,"c":0},{"w":1238889600,"a":0,"d":0,"c":0},{"w":1239494400,"a":0,"d":0,"c":0},{"w":1240099200,"a":0,"d":0,"c":0},{"w":1240704000,"a":0,"d":0,"c":0},{"w":1241308800,"a":0,"d":0,"c":0},{"w":1241913600,"a":0,"d":0,"c":0},{"w":1242518400,"a":0,"d":0,"c":0},{"w":1243123200,"a":0,"d":0,"c":0},{"w":1243728000,"a":0,"d":0,"c":0},{"w":1244332800,"a":0,"d":0,"c":0},{"w":1244937600,"a":0,"d":0,"c":0},{"w":1245542400,"a":0,"d":0,"c":0},{"w":1246147200,"a":0,"d":0,"c":0},{"w":1246752000,"a":0,"d":0,"c":0},{"w":1247356800,"a":0,"d":0,"c":0},{"w":1247961600,"a":0,"d":0,"c":0},{"w":1248566400,"a":0,"d":0,"c":0},{"w":1249171200,"a":0,"d":0,"c":0},{"w":1249776000,"a":0,"d":0,"c":0},{"w":1250380800,"a":0,"d":0,"c":0},{"w":1250985600,"a":0,"d":0,"c":0},{"w":1251590400,"a":0,"d":0,"c":0},{"w":1252195200,"a":0,"d":0,"c":0},{"w":1252800000,"a":0,"d":0,"c":0},{"w":1253404800,"a":0,"d":0,"c":0},{"w":1254009600,"a":0,"d":0,"c":0},{"w":1254614400,"a":0,"d":0,"c":0},{"w":1255219200,"a":0,"d":0,"c":0},{"w":1255824000,"a":0,"d":0,"c":0},{"w":1256428800,"a":0,"d":0,"c":0},{"w":1257033600,"a":0,"d":0,"c":0},{"w":1257638400,"a":0,"d":0,"c":0},{"w":1258243200,"a":0,"d":0,"c":0},{"w":1258848000,"a":0,"d":0,"c":0},{"w":1259452800,"a":0,"d":0,"c":0},{"w":1260057600,"a":0,"d":0,"c":0},{"w":1260662400,"a":0,"d":0,"c":0},{"w":1261267200,"a":0,"d":0,"c":0},{"w":1261872000,"a":0,"d":0,"c":0},{"w":1262476800,"a":0,"d":0,"c":0},{"w":1263081600,"a":0,"d":0,"c":0},{"w":1263686400,"a":0,"d":0,"c":0},{"w":1264291200,"a":0,"d":0,"c":0},{"w":1264896000,"a":0,"d":0,"c":0},{"w":1265500800,"a":0,"d":0,"c":0},{"w":1266105600,"a":0,"d":0,"c":0},{"w":1266710400,"a":0,"d":0,"c":0},{"w":1267315200,"a":0,"d":0,"c":0},{"w":1267920000,"a":0,"d":0,"c":0},{"w":1268524800,"a":0,"d":0,"c":0},{"w":1269129600,"a":0,"d":0,"c":0},{"w":1269734400,"a":0,"d":0,"c":0},{"w":1270339200,"a":0,"d":0,"c":0},{"w":1270944000,"a":0,"d":0,"c":0},{"w":1271548800,"a":0,"d":0,"c":0},{"w":1272153600,"a":0,"d":0,"c":0},{"w":1272758400,"a":0,"d":0,"c":0},{"w":1273363200,"a":0,"d":0,"c":0},{"w":1273968000,"a":0,"d":0,"c":0},{"w":1274572800,"a":0,"d":0,"c":0},{"w":1275177600,"a":0,"d":0,"c":0},{"w":1275782400,"a":0,"d":0,"c":0},{"w":1276387200,"a":0,"d":0,"c":0},{"w":1276992000,"a":0,"d":0,"c":0},{"w":1277596800,"a":0,"d":0,"c":0},{"w":1278201600,"a":0,"d":0,"c":0},{"w":1278806400,"a":0,"d":0,"c":0},{"w":1279411200,"a":0,"d":0,"c":0},{"w":1280016000,"a":0,"d":0,"c":0},{"w":1280620800,"a":0,"d":0,"c":0},{"w":1281225600,"a":0,"d":0,"c":0},{"w":1281830400,"a":0,"d":0,"c":0},{"w":1282435200,"a":0,"d":0,"c":0},{"w":1283040000,"a":0,"d":0,"c":0},{"w":1283644800,"a":0,"d":0,"c":0},{"w":1284249600,"a":0,"d":0,"c":0},{"w":1284854400,"a":0,"d":0,"c":0},{"w":1285459200,"a":0,"d":0,"c":0},{"w":1286064000,"a":0,"d":0,"c":0},{"w":1286668800,"a":0,"d":0,"c":0},{"w":1287273600,"a":0,"d":0,"c":0},{"w":1287878400,"a":0,"d":0,"c":0},{"w":1288483200,"a":0,"d":0,"c":0},{"w":1289088000,"a":0,"d":0,"c":0},{"w":1289692800,"a":0,"d":0,"c":0},{"w":1290297600,"a":0,"d":0,"c":0},{"w":1290902400,"a":0,"d":0,"c":0},{"w":1291507200,"a":0,"d":0,"c":0},{"w":1292112000,"a":0,"d":0,"c":0},{"w":1292716800,"a":0,"d":0,"c":0},{"w":1293321600,"a":0,"d":0,"c":0},{"w":1293926400,"a":0,"d":0,"c":0},{"w":1294531200,"a":0,"d":0,"c":0},{"w":1295136000,"a":0,"d":0,"c":0},{"w":1295740800,"a":0,"d":0,"c":0},{"w":1296345600,"a":0,"d":0,"c":0},{"w":1296950400,"a":0,"d":0,"c":0},{"w":1297555200,"a":0,"d":0,"c":0},{"w":1298160000,"a":0,"d":0,"c":0},{"w":1298764800,"a":0,"d":0,"c":0},{"w":1299369600,"a":0,"d":0,"c":0},{"w":1299974400,"a":0,"d":0,"c":0},{"w":1300579200,"a":0,"d":0,"c":0},{"w":1301184000,"a":0,"d":0,"c":0},{"w":1301788800,"a":0,"d":0,"c":0},{"w":1302393600,"a":0,"d":0,"c":0},{"w":1302998400,"a":0,"d":0,"c":0},{"w":1303603200,"a":0,"d":0,"c":0},{"w":1304208000,"a":0,"d":0,"c":0},{"w":1304812800,"a":0,"d":0,"c":0},{"w":1305417600,"a":0,"d":0,"c":0},{"w":1306022400,"a":0,"d":0,"c":0},{"w":1306627200,"a":0,"d":0,"c":0},{"w":1307232000,"a":0,"d":0,"c":0},{"w":1307836800,"a":0,"d":0,"c":0},{"w":1308441600,"a":0,"d":0,"c":0},{"w":1309046400,"a":0,"d":0,"c":0},{"w":1309651200,"a":0,"d":0,"c":0},{"w":1310256000,"a":0,"d":0,"c":0},{"w":1310860800,"a":0,"d":0,"c":0},{"w":1311465600,"a":0,"d":0,"c":0},{"w":1312070400,"a":0,"d":0,"c":0},{"w":1312675200,"a":0,"d":0,"c":0},{"w":1313280000,"a":0,"d":0,"c":0},{"w":1313884800,"a":0,"d":0,"c":0},{"w":1314489600,"a":0,"d":0,"c":0},{"w":1315094400,"a":0,"d":0,"c":0},{"w":1315699200,"a":0,"d":0,"c":0},{"w":1316304000,"a":0,"d":0,"c":0},{"w":1316908800,"a":0,"d":0,"c":0},{"w":1317513600,"a":0,"d":0,"c":0},{"w":1318118400,"a":0,"d":0,"c":0},{"w":1318723200,"a":0,"d":0,"c":0},{"w":1319328000,"a":0,"d":0,"c":0},{"w":1319932800,"a":0,"d":0,"c":0},{"w":1320537600,"a":0,"d":0,"c":0},{"w":1321142400,"a":0,"d":0,"c":0},{"w":1321747200,"a":0,"d":0,"c":0},{"w":1322352000,"a":0,"d":0,"c":0},{"w":1322956800,"a":0,"d":0,"c":0},{"w":1323561600,"a":0,"d":0,"c":0},{"w":1324166400,"a":0,"d":0,"c":0},{"w":1324771200,"a":0,"d":0,"c":0},{"w":1325376000,"a":0,"d":0,"c":0},{"w":1325980800,"a":0,"d":0,"c":0},{"w":1326585600,"a":0,"d":0,"c":0},{"w":1327190400,"a":0,"d":0,"c":0},{"w":1327795200,"a":0,"d":0,"c":0},{"w":1328400000,"a":0,"d":0,"c":0},{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0},{"w":1384646400,"a":0,"d":0,"c":0},{"w":1385251200,"a":0,"d":0,"c":0},{"w":1385856000,"a":0,"d":0,"c":0},{"w":1386460800,"a":0,"d":0,"c":0},{"w":1387065600,"a":0,"d":0,"c":0},{"w":1387670400,"a":0,"d":0,"c":0},{"w":1388275200,"a":0,"d":0,"c":0},{"w":1388880000,"a":0,"d":0,"c":0},{"w":1389484800,"a":0,"d":0,"c":0},{"w":1390089600,"a":0,"d":0,"c":0},{"w":1390694400,"a":36,"d":1,"c":2},{"w":1391299200,"a":0,"d":0,"c":0},{"w":1391904000,"a":0,"d":0,"c":0},{"w":1392508800,"a":0,"d":0,"c":0},{"w":1393113600,"a":0,"d":0,"c":0},{"w":1393718400,"a":0,"d":0,"c":0},{"w":1394323200,"a":0,"d":0,"c":0},{"w":1394928000,"a":0,"d":0,"c":0},{"w":1395532800,"a":0,"d":0,"c":0},{"w":1396137600,"a":0,"d":0,"c":0},{"w":1396742400,"a":0,"d":0,"c":0},{"w":1397347200,"a":0,"d":0,"c":0},{"w":1397952000,"a":0,"d":0,"c":0},{"w":1398556800,"a":0,"d":0,"c":0},{"w":1399161600,"a":0,"d":0,"c":0},{"w":1399766400,"a":0,"d":0,"c":0},{"w":1400371200,"a":0,"d":0,"c":0},{"w":1400976000,"a":0,"d":0,"c":0},{"w":1401580800,"a":0,"d":0,"c":0},{"w":1402185600,"a":0,"d":0,"c":0},{"w":1402790400,"a":0,"d":0,"c":0},{"w":1403395200,"a":0,"d":0,"c":0},{"w":1404000000,"a":0,"d":0,"c":0},{"w":1404604800,"a":0,"d":0,"c":0},{"w":1405209600,"a":0,"d":0,"c":0},{"w":1405814400,"a":0,"d":0,"c":0},{"w":1406419200,"a":0,"d":0,"c":0},{"w":1407024000,"a":0,"d":0,"c":0},{"w":1407628800,"a":0,"d":0,"c":0},{"w":1408233600,"a":0,"d":0,"c":0},{"w":1408838400,"a":0,"d":0,"c":0},{"w":1409443200,"a":0,"d":0,"c":0},{"w":1410048000,"a":0,"d":0,"c":0},{"w":1410652800,"a":0,"d":0,"c":0},{"w":1411257600,"a":0,"d":0,"c":0},{"w":1411862400,"a":0,"d":0,"c":0},{"w":1412467200,"a":0,"d":0,"c":0},{"w":1413072000,"a":0,"d":0,"c":0},{"w":1413676800,"a":0,"d":0,"c":0},{"w":1414281600,"a":0,"d":0,"c":0},{"w":1414886400,"a":0,"d":0,"c":0},{"w":1415491200,"a":0,"d":0,"c":0},{"w":1416096000,"a":0,"d":0,"c":0},{"w":1416700800,"a":0,"d":0,"c":0},{"w":1417305600,"a":0,"d":0,"c":0},{"w":1417910400,"a":0,"d":0,"c":0},{"w":1418515200,"a":0,"d":0,"c":0},{"w":1419120000,"a":0,"d":0,"c":0},{"w":1419724800,"a":0,"d":0,"c":0},{"w":1420329600,"a":0,"d":0,"c":0},{"w":1420934400,"a":0,"d":0,"c":0},{"w":1421539200,"a":0,"d":0,"c":0},{"w":1422144000,"a":0,"d":0,"c":0},{"w":1422748800,"a":0,"d":0,"c":0},{"w":1423353600,"a":0,"d":0,"c":0},{"w":1423958400,"a":0,"d":0,"c":0},{"w":1424563200,"a":0,"d":0,"c":0},{"w":1425168000,"a":0,"d":0,"c":0},{"w":1425772800,"a":0,"d":0,"c":0},{"w":1426377600,"a":0,"d":0,"c":0},{"w":1426982400,"a":0,"d":0,"c":0},{"w":1427587200,"a":0,"d":0,"c":0},{"w":1428192000,"a":0,"d":0,"c":0},{"w":1428796800,"a":0,"d":0,"c":0},{"w":1429401600,"a":0,"d":0,"c":0},{"w":1430006400,"a":0,"d":0,"c":0},{"w":1430611200,"a":0,"d":0,"c":0},{"w":1431216000,"a":0,"d":0,"c":0},{"w":1431820800,"a":0,"d":0,"c":0},{"w":1432425600,"a":0,"d":0,"c":0},{"w":1433030400,"a":0,"d":0,"c":0},{"w":1433635200,"a":0,"d":0,"c":0},{"w":1434240000,"a":0,"d":0,"c":0},{"w":1434844800,"a":0,"d":0,"c":0},{"w":1435449600,"a":0,"d":0,"c":0},{"w":1436054400,"a":0,"d":0,"c":0},{"w":1436659200,"a":0,"d":0,"c":0},{"w":1437264000,"a":0,"d":0,"c":0},{"w":1437868800,"a":0,"d":0,"c":0},{"w":1438473600,"a":0,"d":0,"c":0},{"w":1439078400,"a":0,"d":0,"c":0},{"w":1439683200,"a":0,"d":0,"c":0},{"w":1440288000,"a":0,"d":0,"c":0},{"w":1440892800,"a":0,"d":0,"c":0},{"w":1441497600,"a":0,"d":0,"c":0},{"w":1442102400,"a":0,"d":0,"c":0},{"w":1442707200,"a":0,"d":0,"c":0},{"w":1443312000,"a":0,"d":0,"c":0},{"w":1443916800,"a":0,"d":0,"c":0},{"w":1444521600,"a":0,"d":0,"c":0},{"w":1445126400,"a":0,"d":0,"c":0},{"w":1445731200,"a":0,"d":0,"c":0},{"w":1446336000,"a":0,"d":0,"c":0},{"w":1446940800,"a":0,"d":0,"c":0},{"w":1447545600,"a":0,"d":0,"c":0},{"w":1448150400,"a":0,"d":0,"c":0},{"w":1448755200,"a":0,"d":0,"c":0},{"w":1449360000,"a":0,"d":0,"c":0},{"w":1449964800,"a":0,"d":0,"c":0},{"w":1450569600,"a":0,"d":0,"c":0},{"w":1451174400,"a":0,"d":0,"c":0},{"w":1451779200,"a":0,"d":0,"c":0},{"w":1452384000,"a":0,"d":0,"c":0},{"w":1452988800,"a":0,"d":0,"c":0},{"w":1453593600,"a":0,"d":0,"c":0},{"w":1454198400,"a":0,"d":0,"c":0},{"w":1454803200,"a":0,"d":0,"c":0},{"w":1455408000,"a":0,"d":0,"c":0},{"w":1456012800,"a":0,"d":0,"c":0},{"w":1456617600,"a":0,"d":0,"c":0},{"w":1457222400,"a":0,"d":0,"c":0},{"w":1457827200,"a":0,"d":0,"c":0},{"w":1458432000,"a":0,"d":0,"c":0},{"w":1459036800,"a":0,"d":0,"c":0},{"w":1459641600,"a":0,"d":0,"c":0},{"w":1460246400,"a":0,"d":0,"c":0},{"w":1460851200,"a":0,"d":0,"c":0},{"w":1461456000,"a":0,"d":0,"c":0},{"w":1462060800,"a":0,"d":0,"c":0},{"w":1462665600,"a":0,"d":0,"c":0},{"w":1463270400,"a":0,"d":0,"c":0},{"w":1463875200,"a":0,"d":0,"c":0},{"w":1464480000,"a":0,"d":0,"c":0},{"w":1465084800,"a":0,"d":0,"c":0},{"w":1465689600,"a":0,"d":0,"c":0},{"w":1466294400,"a":0,"d":0,"c":0},{"w":1466899200,"a":0,"d":0,"c":0},{"w":1467504000,"a":0,"d":0,"c":0},{"w":1468108800,"a":0,"d":0,"c":0},{"w":1468713600,"a":0,"d":0,"c":0},{"w":1469318400,"a":0,"d":0,"c":0},{"w":1469923200,"a":0,"d":0,"c":0},{"w":1470528000,"a":0,"d":0,"c":0},{"w":1471132800,"a":0,"d":0,"c":0},{"w":1471737600,"a":0,"d":0,"c":0},{"w":1472342400,"a":0,"d":0,"c":0},{"w":1472947200,"a":0,"d":0,"c":0},{"w":1473552000,"a":0,"d":0,"c":0},{"w":1474156800,"a":0,"d":0,"c":0},{"w":1474761600,"a":0,"d":0,"c":0},{"w":1475366400,"a":0,"d":0,"c":0},{"w":1475971200,"a":0,"d":0,"c":0},{"w":1476576000,"a":0,"d":0,"c":0},{"w":1477180800,"a":0,"d":0,"c":0},{"w":1477785600,"a":0,"d":0,"c":0},{"w":1478390400,"a":0,"d":0,"c":0},{"w":1478995200,"a":0,"d":0,"c":0},{"w":1479600000,"a":0,"d":0,"c":0},{"w":1480204800,"a":0,"d":0,"c":0},{"w":1480809600,"a":0,"d":0,"c":0},{"w":1481414400,"a":0,"d":0,"c":0},{"w":1482019200,"a":0,"d":0,"c":0},{"w":1482624000,"a":0,"d":0,"c":0},{"w":1483228800,"a":0,"d":0,"c":0},{"w":1483833600,"a":0,"d":0,"c":0},{"w":1484438400,"a":0,"d":0,"c":0},{"w":1485043200,"a":0,"d":0,"c":0},{"w":1485648000,"a":0,"d":0,"c":0},{"w":1486252800,"a":0,"d":0,"c":0},{"w":1486857600,"a":0,"d":0,"c":0},{"w":1487462400,"a":0,"d":0,"c":0},{"w":1488067200,"a":0,"d":0,"c":0},{"w":1488672000,"a":0,"d":0,"c":0},{"w":1489276800,"a":0,"d":0,"c":0},{"w":1489881600,"a":0,"d":0,"c":0},{"w":1490486400,"a":0,"d":0,"c":0},{"w":1491091200,"a":0,"d":0,"c":0},{"w":1491696000,"a":0,"d":0,"c":0},{"w":1492300800,"a":0,"d":0,"c":0},{"w":1492905600,"a":0,"d":0,"c":0},{"w":1493510400,"a":0,"d":0,"c":0},{"w":1494115200,"a":0,"d":0,"c":0},{"w":1494720000,"a":0,"d":0,"c":0},{"w":1495324800,"a":0,"d":0,"c":0},{"w":1495929600,"a":0,"d":0,"c":0},{"w":1496534400,"a":0,"d":0,"c":0},{"w":1497139200,"a":0,"d":0,"c":0},{"w":1497744000,"a":0,"d":0,"c":0},{"w":1498348800,"a":0,"d":0,"c":0},{"w":1498953600,"a":0,"d":0,"c":0},{"w":1499558400,"a":0,"d":0,"c":0},{"w":1500163200,"a":0,"d":0,"c":0},{"w":1500768000,"a":0,"d":0,"c":0},{"w":1501372800,"a":0,"d":0,"c":0},{"w":1501977600,"a":0,"d":0,"c":0},{"w":1502582400,"a":0,"d":0,"c":0},{"w":1503187200,"a":0,"d":0,"c":0},{"w":1503792000,"a":0,"d":0,"c":0},{"w":1504396800,"a":0,"d":0,"c":0},{"w":1505001600,"a":0,"d":0,"c":0},{"w":1505606400,"a":0,"d":0,"c":0},{"w":1506211200,"a":0,"d":0,"c":0},{"w":1506816000,"a":0,"d":0,"c":0},{"w":1507420800,"a":0,"d":0,"c":0},{"w":1508025600,"a":0,"d":0,"c":0},{"w":1508630400,"a":0,"d":0,"c":0},{"w":1509235200,"a":0,"d":0,"c":0},{"w":1509840000,"a":0,"d":0,"c":0},{"w":1510444800,"a":0,"d":0,"c":0},{"w":1511049600,"a":0,"d":0,"c":0},{"w":1511654400,"a":0,"d":0,"c":0},{"w":1512259200,"a":0,"d":0,"c":0},{"w":1512864000,"a":0,"d":0,"c":0},{"w":1513468800,"a":0,"d":0,"c":0},{"w":1514073600,"a":0,"d":0,"c":0},{"w":1514678400,"a":0,"d":0,"c":0},{"w":1515283200,"a":0,"d":0,"c":0},{"w":1515888000,"a":0,"d":0,"c":0},{"w":1516492800,"a":0,"d":0,"c":0},{"w":1517097600,"a":0,"d":0,"c":0},{"w":1517702400,"a":0,"d":0,"c":0},{"w":1518307200,"a":0,"d":0,"c":0},{"w":1518912000,"a":0,"d":0,"c":0},{"w":1519516800,"a":0,"d":0,"c":0},{"w":1520121600,"a":0,"d":0,"c":0},{"w":1520726400,"a":0,"d":0,"c":0},{"w":1521331200,"a":0,"d":0,"c":0},{"w":1521936000,"a":0,"d":0,"c":0},{"w":1522540800,"a":0,"d":0,"c":0},{"w":1523145600,"a":0,"d":0,"c":0},{"w":1523750400,"a":0,"d":0,"c":0},{"w":1524355200,"a":0,"d":0,"c":0},{"w":1524960000,"a":0,"d":0,"c":0},{"w":1525564800,"a":0,"d":0,"c":0},{"w":1526169600,"a":0,"d":0,"c":0},{"w":1526774400,"a":0,"d":0,"c":0},{"w":1527379200,"a":0,"d":0,"c":0},{"w":1527984000,"a":0,"d":0,"c":0},{"w":1528588800,"a":0,"d":0,"c":0},{"w":1529193600,"a":0,"d":0,"c":0},{"w":1529798400,"a":0,"d":0,"c":0},{"w":1530403200,"a":0,"d":0,"c":0},{"w":1531008000,"a":0,"d":0,"c":0},{"w":1531612800,"a":0,"d":0,"c":0},{"w":1532217600,"a":0,"d":0,"c":0},{"w":1532822400,"a":0,"d":0,"c":0},{"w":1533427200,"a":0,"d":0,"c":0},{"w":1534032000,"a":0,"d":0,"c":0},{"w":1534636800,"a":0,"d":0,"c":0},{"w":1535241600,"a":0,"d":0,"c":0},{"w":1535846400,"a":0,"d":0,"c":0},{"w":1536451200,"a":0,"d":0,"c":0},{"w":1537056000,"a":0,"d":0,"c":0},{"w":1537660800,"a":0,"d":0,"c":0},{"w":1538265600,"a":0,"d":0,"c":0},{"w":1538870400,"a":0,"d":0,"c":0},{"w":1539475200,"a":0,"d":0,"c":0},{"w":1540080000,"a":0,"d":0,"c":0},{"w":1540684800,"a":0,"d":0,"c":0},{"w":1541289600,"a":0,"d":0,"c":0},{"w":1541894400,"a":0,"d":0,"c":0},{"w":1542499200,"a":0,"d":0,"c":0},{"w":1543104000,"a":0,"d":0,"c":0},{"w":1543708800,"a":0,"d":0,"c":0},{"w":1544313600,"a":0,"d":0,"c":0},{"w":1544918400,"a":0,"d":0,"c":0},{"w":1545523200,"a":0,"d":0,"c":0},{"w":1546128000,"a":0,"d":0,"c":0},{"w":1546732800,"a":0,"d":0,"c":0},{"w":1547337600,"a":0,"d":0,"c":0},{"w":1547942400,"a":0,"d":0,"c":0},{"w":1548547200,"a":0,"d":0,"c":0},{"w":1549152000,"a":0,"d":0,"c":0},{"w":1549756800,"a":0,"d":0,"c":0},{"w":1550361600,"a":0,"d":0,"c":0},{"w":1550966400,"a":0,"d":0,"c":0},{"w":1551571200,"a":0,"d":0,"c":0},{"w":1552176000,"a":0,"d":0,"c":0},{"w":1552780800,"a":0,"d":0,"c":0},{"w":1553385600,"a":0,"d":0,"c":0},{"w":1553990400,"a":0,"d":0,"c":0},{"w":1554595200,"a":0,"d":0,"c":0},{"w":1555200000,"a":0,"d":0,"c":0},{"w":1555804800,"a":0,"d":0,"c":0},{"w":1556409600,"a":0,"d":0,"c":0},{"w":1557014400,"a":0,"d":0,"c":0},{"w":1557619200,"a":0,"d":0,"c":0},{"w":1558224000,"a":0,"d":0,"c":0},{"w":1558828800,"a":0,"d":0,"c":0},{"w":1559433600,"a":0,"d":0,"c":0},{"w":1560038400,"a":0,"d":0,"c":0},{"w":1560643200,"a":0,"d":0,"c":0},{"w":1561248000,"a":0,"d":0,"c":0},{"w":1561852800,"a":0,"d":0,"c":0},{"w":1562457600,"a":0,"d":0,"c":0}],"author":{"login":"Johann673","id":6461852,"node_id":"MDQ6VXNlcjY0NjE4NTI=","avatar_url":"https://avatars2.githubusercontent.com/u/6461852?v=4","gravatar_id":"","url":"https://api.github.com/users/Johann673","html_url":"https://github.com/Johann673","followers_url":"https://api.github.com/users/Johann673/followers","following_url":"https://api.github.com/users/Johann673/following{/other_user}","gists_url":"https://api.github.com/users/Johann673/gists{/gist_id}","starred_url":"https://api.github.com/users/Johann673/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Johann673/subscriptions","organizations_url":"https://api.github.com/users/Johann673/orgs","repos_url":"https://api.github.com/users/Johann673/repos","events_url":"https://api.github.com/users/Johann673/events{/privacy}","received_events_url":"https://api.github.com/users/Johann673/received_events","type":"User","site_admin":false}},{"total":2,"weeks":[{"w":1215302400,"a":0,"d":0,"c":0},{"w":1215907200,"a":0,"d":0,"c":0},{"w":1216512000,"a":0,"d":0,"c":0},{"w":1217116800,"a":0,"d":0,"c":0},{"w":1217721600,"a":0,"d":0,"c":0},{"w":1218326400,"a":0,"d":0,"c":0},{"w":1218931200,"a":0,"d":0,"c":0},{"w":1219536000,"a":0,"d":0,"c":0},{"w":1220140800,"a":0,"d":0,"c":0},{"w":1220745600,"a":0,"d":0,"c":0},{"w":1221350400,"a":0,"d":0,"c":0},{"w":1221955200,"a":0,"d":0,"c":0},{"w":1222560000,"a":0,"d":0,"c":0},{"w":1223164800,"a":0,"d":0,"c":0},{"w":1223769600,"a":0,"d":0,"c":0},{"w":1224374400,"a":0,"d":0,"c":0},{"w":1224979200,"a":0,"d":0,"c":0},{"w":1225584000,"a":0,"d":0,"c":0},{"w":1226188800,"a":0,"d":0,"c":0},{"w":1226793600,"a":0,"d":0,"c":0},{"w":1227398400,"a":0,"d":0,"c":0},{"w":1228003200,"a":0,"d":0,"c":0},{"w":1228608000,"a":0,"d":0,"c":0},{"w":1229212800,"a":0,"d":0,"c":0},{"w":1229817600,"a":0,"d":0,"c":0},{"w":1230422400,"a":0,"d":0,"c":0},{"w":1231027200,"a":0,"d":0,"c":0},{"w":1231632000,"a":0,"d":0,"c":0},{"w":1232236800,"a":0,"d":0,"c":0},{"w":1232841600,"a":0,"d":0,"c":0},{"w":1233446400,"a":0,"d":0,"c":0},{"w":1234051200,"a":0,"d":0,"c":0},{"w":1234656000,"a":0,"d":0,"c":0},{"w":1235260800,"a":0,"d":0,"c":0},{"w":1235865600,"a":0,"d":0,"c":0},{"w":1236470400,"a":0,"d":0,"c":0},{"w":1237075200,"a":0,"d":0,"c":0},{"w":1237680000,"a":0,"d":0,"c":0},{"w":1238284800,"a":0,"d":0,"c":0},{"w":1238889600,"a":0,"d":0,"c":0},{"w":1239494400,"a":0,"d":0,"c":0},{"w":1240099200,"a":0,"d":0,"c":0},{"w":1240704000,"a":0,"d":0,"c":0},{"w":1241308800,"a":0,"d":0,"c":0},{"w":1241913600,"a":0,"d":0,"c":0},{"w":1242518400,"a":0,"d":0,"c":0},{"w":1243123200,"a":0,"d":0,"c":0},{"w":1243728000,"a":0,"d":0,"c":0},{"w":1244332800,"a":0,"d":0,"c":0},{"w":1244937600,"a":0,"d":0,"c":0},{"w":1245542400,"a":0,"d":0,"c":0},{"w":1246147200,"a":0,"d":0,"c":0},{"w":1246752000,"a":0,"d":0,"c":0},{"w":1247356800,"a":0,"d":0,"c":0},{"w":1247961600,"a":0,"d":0,"c":0},{"w":1248566400,"a":0,"d":0,"c":0},{"w":1249171200,"a":0,"d":0,"c":0},{"w":1249776000,"a":0,"d":0,"c":0},{"w":1250380800,"a":0,"d":0,"c":0},{"w":1250985600,"a":0,"d":0,"c":0},{"w":1251590400,"a":0,"d":0,"c":0},{"w":1252195200,"a":0,"d":0,"c":0},{"w":1252800000,"a":0,"d":0,"c":0},{"w":1253404800,"a":0,"d":0,"c":0},{"w":1254009600,"a":0,"d":0,"c":0},{"w":1254614400,"a":0,"d":0,"c":0},{"w":1255219200,"a":0,"d":0,"c":0},{"w":1255824000,"a":0,"d":0,"c":0},{"w":1256428800,"a":0,"d":0,"c":0},{"w":1257033600,"a":0,"d":0,"c":0},{"w":1257638400,"a":0,"d":0,"c":0},{"w":1258243200,"a":0,"d":0,"c":0},{"w":1258848000,"a":0,"d":0,"c":0},{"w":1259452800,"a":0,"d":0,"c":0},{"w":1260057600,"a":0,"d":0,"c":0},{"w":1260662400,"a":0,"d":0,"c":0},{"w":1261267200,"a":0,"d":0,"c":0},{"w":1261872000,"a":0,"d":0,"c":0},{"w":1262476800,"a":0,"d":0,"c":0},{"w":1263081600,"a":0,"d":0,"c":0},{"w":1263686400,"a":0,"d":0,"c":0},{"w":1264291200,"a":0,"d":0,"c":0},{"w":1264896000,"a":0,"d":0,"c":0},{"w":1265500800,"a":0,"d":0,"c":0},{"w":1266105600,"a":0,"d":0,"c":0},{"w":1266710400,"a":0,"d":0,"c":0},{"w":1267315200,"a":0,"d":0,"c":0},{"w":1267920000,"a":0,"d":0,"c":0},{"w":1268524800,"a":0,"d":0,"c":0},{"w":1269129600,"a":0,"d":0,"c":0},{"w":1269734400,"a":0,"d":0,"c":0},{"w":1270339200,"a":0,"d":0,"c":0},{"w":1270944000,"a":0,"d":0,"c":0},{"w":1271548800,"a":0,"d":0,"c":0},{"w":1272153600,"a":0,"d":0,"c":0},{"w":1272758400,"a":0,"d":0,"c":0},{"w":1273363200,"a":0,"d":0,"c":0},{"w":1273968000,"a":0,"d":0,"c":0},{"w":1274572800,"a":0,"d":0,"c":0},{"w":1275177600,"a":0,"d":0,"c":0},{"w":1275782400,"a":0,"d":0,"c":0},{"w":1276387200,"a":0,"d":0,"c":0},{"w":1276992000,"a":0,"d":0,"c":0},{"w":1277596800,"a":0,"d":0,"c":0},{"w":1278201600,"a":0,"d":0,"c":0},{"w":1278806400,"a":0,"d":0,"c":0},{"w":1279411200,"a":0,"d":0,"c":0},{"w":1280016000,"a":0,"d":0,"c":0},{"w":1280620800,"a":0,"d":0,"c":0},{"w":1281225600,"a":0,"d":0,"c":0},{"w":1281830400,"a":0,"d":0,"c":0},{"w":1282435200,"a":0,"d":0,"c":0},{"w":1283040000,"a":0,"d":0,"c":0},{"w":1283644800,"a":0,"d":0,"c":0},{"w":1284249600,"a":0,"d":0,"c":0},{"w":1284854400,"a":0,"d":0,"c":0},{"w":1285459200,"a":0,"d":0,"c":0},{"w":1286064000,"a":0,"d":0,"c":0},{"w":1286668800,"a":0,"d":0,"c":0},{"w":1287273600,"a":0,"d":0,"c":0},{"w":1287878400,"a":0,"d":0,"c":0},{"w":1288483200,"a":0,"d":0,"c":0},{"w":1289088000,"a":0,"d":0,"c":0},{"w":1289692800,"a":0,"d":0,"c":0},{"w":1290297600,"a":0,"d":0,"c":0},{"w":1290902400,"a":0,"d":0,"c":0},{"w":1291507200,"a":0,"d":0,"c":0},{"w":1292112000,"a":0,"d":0,"c":0},{"w":1292716800,"a":0,"d":0,"c":0},{"w":1293321600,"a":0,"d":0,"c":0},{"w":1293926400,"a":0,"d":0,"c":0},{"w":1294531200,"a":0,"d":0,"c":0},{"w":1295136000,"a":0,"d":0,"c":0},{"w":1295740800,"a":0,"d":0,"c":0},{"w":1296345600,"a":0,"d":0,"c":0},{"w":1296950400,"a":0,"d":0,"c":0},{"w":1297555200,"a":0,"d":0,"c":0},{"w":1298160000,"a":0,"d":0,"c":0},{"w":1298764800,"a":0,"d":0,"c":0},{"w":1299369600,"a":0,"d":0,"c":0},{"w":1299974400,"a":0,"d":0,"c":0},{"w":1300579200,"a":0,"d":0,"c":0},{"w":1301184000,"a":0,"d":0,"c":0},{"w":1301788800,"a":0,"d":0,"c":0},{"w":1302393600,"a":0,"d":0,"c":0},{"w":1302998400,"a":0,"d":0,"c":0},{"w":1303603200,"a":0,"d":0,"c":0},{"w":1304208000,"a":0,"d":0,"c":0},{"w":1304812800,"a":0,"d":0,"c":0},{"w":1305417600,"a":0,"d":0,"c":0},{"w":1306022400,"a":0,"d":0,"c":0},{"w":1306627200,"a":0,"d":0,"c":0},{"w":1307232000,"a":0,"d":0,"c":0},{"w":1307836800,"a":0,"d":0,"c":0},{"w":1308441600,"a":0,"d":0,"c":0},{"w":1309046400,"a":0,"d":0,"c":0},{"w":1309651200,"a":0,"d":0,"c":0},{"w":1310256000,"a":0,"d":0,"c":0},{"w":1310860800,"a":0,"d":0,"c":0},{"w":1311465600,"a":0,"d":0,"c":0},{"w":1312070400,"a":0,"d":0,"c":0},{"w":1312675200,"a":0,"d":0,"c":0},{"w":1313280000,"a":0,"d":0,"c":0},{"w":1313884800,"a":0,"d":0,"c":0},{"w":1314489600,"a":0,"d":0,"c":0},{"w":1315094400,"a":0,"d":0,"c":0},{"w":1315699200,"a":0,"d":0,"c":0},{"w":1316304000,"a":0,"d":0,"c":0},{"w":1316908800,"a":0,"d":0,"c":0},{"w":1317513600,"a":0,"d":0,"c":0},{"w":1318118400,"a":0,"d":0,"c":0},{"w":1318723200,"a":0,"d":0,"c":0},{"w":1319328000,"a":0,"d":0,"c":0},{"w":1319932800,"a":0,"d":0,"c":0},{"w":1320537600,"a":0,"d":0,"c":0},{"w":1321142400,"a":0,"d":0,"c":0},{"w":1321747200,"a":0,"d":0,"c":0},{"w":1322352000,"a":0,"d":0,"c":0},{"w":1322956800,"a":0,"d":0,"c":0},{"w":1323561600,"a":0,"d":0,"c":0},{"w":1324166400,"a":0,"d":0,"c":0},{"w":1324771200,"a":0,"d":0,"c":0},{"w":1325376000,"a":0,"d":0,"c":0},{"w":1325980800,"a":0,"d":0,"c":0},{"w":1326585600,"a":0,"d":0,"c":0},{"w":1327190400,"a":0,"d":0,"c":0},{"w":1327795200,"a":0,"d":0,"c":0},{"w":1328400000,"a":0,"d":0,"c":0},{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0},{"w":1384646400,"a":0,"d":0,"c":0},{"w":1385251200,"a":0,"d":0,"c":0},{"w":1385856000,"a":0,"d":0,"c":0},{"w":1386460800,"a":0,"d":0,"c":0},{"w":1387065600,"a":0,"d":0,"c":0},{"w":1387670400,"a":0,"d":0,"c":0},{"w":1388275200,"a":0,"d":0,"c":0},{"w":1388880000,"a":0,"d":0,"c":0},{"w":1389484800,"a":0,"d":0,"c":0},{"w":1390089600,"a":0,"d":0,"c":0},{"w":1390694400,"a":0,"d":0,"c":0},{"w":1391299200,"a":0,"d":0,"c":0},{"w":1391904000,"a":0,"d":0,"c":0},{"w":1392508800,"a":0,"d":0,"c":0},{"w":1393113600,"a":0,"d":0,"c":0},{"w":1393718400,"a":0,"d":0,"c":0},{"w":1394323200,"a":0,"d":0,"c":0},{"w":1394928000,"a":0,"d":0,"c":0},{"w":1395532800,"a":0,"d":0,"c":0},{"w":1396137600,"a":0,"d":0,"c":0},{"w":1396742400,"a":0,"d":0,"c":0},{"w":1397347200,"a":0,"d":0,"c":0},{"w":1397952000,"a":0,"d":0,"c":0},{"w":1398556800,"a":0,"d":0,"c":0},{"w":1399161600,"a":0,"d":0,"c":0},{"w":1399766400,"a":0,"d":0,"c":0},{"w":1400371200,"a":0,"d":0,"c":0},{"w":1400976000,"a":0,"d":0,"c":0},{"w":1401580800,"a":0,"d":0,"c":0},{"w":1402185600,"a":0,"d":0,"c":0},{"w":1402790400,"a":0,"d":0,"c":0},{"w":1403395200,"a":0,"d":0,"c":0},{"w":1404000000,"a":0,"d":0,"c":0},{"w":1404604800,"a":0,"d":0,"c":0},{"w":1405209600,"a":0,"d":0,"c":0},{"w":1405814400,"a":0,"d":0,"c":0},{"w":1406419200,"a":0,"d":0,"c":0},{"w":1407024000,"a":0,"d":0,"c":0},{"w":1407628800,"a":0,"d":0,"c":0},{"w":1408233600,"a":0,"d":0,"c":0},{"w":1408838400,"a":0,"d":0,"c":0},{"w":1409443200,"a":0,"d":0,"c":0},{"w":1410048000,"a":0,"d":0,"c":0},{"w":1410652800,"a":0,"d":0,"c":0},{"w":1411257600,"a":0,"d":0,"c":0},{"w":1411862400,"a":0,"d":0,"c":0},{"w":1412467200,"a":0,"d":0,"c":0},{"w":1413072000,"a":0,"d":0,"c":0},{"w":1413676800,"a":0,"d":0,"c":0},{"w":1414281600,"a":0,"d":0,"c":0},{"w":1414886400,"a":0,"d":0,"c":0},{"w":1415491200,"a":0,"d":0,"c":0},{"w":1416096000,"a":0,"d":0,"c":0},{"w":1416700800,"a":0,"d":0,"c":0},{"w":1417305600,"a":0,"d":0,"c":0},{"w":1417910400,"a":0,"d":0,"c":0},{"w":1418515200,"a":0,"d":0,"c":0},{"w":1419120000,"a":0,"d":0,"c":0},{"w":1419724800,"a":0,"d":0,"c":0},{"w":1420329600,"a":0,"d":0,"c":0},{"w":1420934400,"a":0,"d":0,"c":0},{"w":1421539200,"a":0,"d":0,"c":0},{"w":1422144000,"a":0,"d":0,"c":0},{"w":1422748800,"a":0,"d":0,"c":0},{"w":1423353600,"a":0,"d":0,"c":0},{"w":1423958400,"a":0,"d":0,"c":0},{"w":1424563200,"a":0,"d":0,"c":0},{"w":1425168000,"a":0,"d":0,"c":0},{"w":1425772800,"a":0,"d":0,"c":0},{"w":1426377600,"a":0,"d":0,"c":0},{"w":1426982400,"a":0,"d":0,"c":0},{"w":1427587200,"a":0,"d":0,"c":0},{"w":1428192000,"a":0,"d":0,"c":0},{"w":1428796800,"a":0,"d":0,"c":0},{"w":1429401600,"a":0,"d":0,"c":0},{"w":1430006400,"a":0,"d":0,"c":0},{"w":1430611200,"a":0,"d":0,"c":0},{"w":1431216000,"a":0,"d":0,"c":0},{"w":1431820800,"a":0,"d":0,"c":0},{"w":1432425600,"a":0,"d":0,"c":0},{"w":1433030400,"a":0,"d":0,"c":0},{"w":1433635200,"a":90,"d":0,"c":2},{"w":1434240000,"a":0,"d":0,"c":0},{"w":1434844800,"a":0,"d":0,"c":0},{"w":1435449600,"a":0,"d":0,"c":0},{"w":1436054400,"a":0,"d":0,"c":0},{"w":1436659200,"a":0,"d":0,"c":0},{"w":1437264000,"a":0,"d":0,"c":0},{"w":1437868800,"a":0,"d":0,"c":0},{"w":1438473600,"a":0,"d":0,"c":0},{"w":1439078400,"a":0,"d":0,"c":0},{"w":1439683200,"a":0,"d":0,"c":0},{"w":1440288000,"a":0,"d":0,"c":0},{"w":1440892800,"a":0,"d":0,"c":0},{"w":1441497600,"a":0,"d":0,"c":0},{"w":1442102400,"a":0,"d":0,"c":0},{"w":1442707200,"a":0,"d":0,"c":0},{"w":1443312000,"a":0,"d":0,"c":0},{"w":1443916800,"a":0,"d":0,"c":0},{"w":1444521600,"a":0,"d":0,"c":0},{"w":1445126400,"a":0,"d":0,"c":0},{"w":1445731200,"a":0,"d":0,"c":0},{"w":1446336000,"a":0,"d":0,"c":0},{"w":1446940800,"a":0,"d":0,"c":0},{"w":1447545600,"a":0,"d":0,"c":0},{"w":1448150400,"a":0,"d":0,"c":0},{"w":1448755200,"a":0,"d":0,"c":0},{"w":1449360000,"a":0,"d":0,"c":0},{"w":1449964800,"a":0,"d":0,"c":0},{"w":1450569600,"a":0,"d":0,"c":0},{"w":1451174400,"a":0,"d":0,"c":0},{"w":1451779200,"a":0,"d":0,"c":0},{"w":1452384000,"a":0,"d":0,"c":0},{"w":1452988800,"a":0,"d":0,"c":0},{"w":1453593600,"a":0,"d":0,"c":0},{"w":1454198400,"a":0,"d":0,"c":0},{"w":1454803200,"a":0,"d":0,"c":0},{"w":1455408000,"a":0,"d":0,"c":0},{"w":1456012800,"a":0,"d":0,"c":0},{"w":1456617600,"a":0,"d":0,"c":0},{"w":1457222400,"a":0,"d":0,"c":0},{"w":1457827200,"a":0,"d":0,"c":0},{"w":1458432000,"a":0,"d":0,"c":0},{"w":1459036800,"a":0,"d":0,"c":0},{"w":1459641600,"a":0,"d":0,"c":0},{"w":1460246400,"a":0,"d":0,"c":0},{"w":1460851200,"a":0,"d":0,"c":0},{"w":1461456000,"a":0,"d":0,"c":0},{"w":1462060800,"a":0,"d":0,"c":0},{"w":1462665600,"a":0,"d":0,"c":0},{"w":1463270400,"a":0,"d":0,"c":0},{"w":1463875200,"a":0,"d":0,"c":0},{"w":1464480000,"a":0,"d":0,"c":0},{"w":1465084800,"a":0,"d":0,"c":0},{"w":1465689600,"a":0,"d":0,"c":0},{"w":1466294400,"a":0,"d":0,"c":0},{"w":1466899200,"a":0,"d":0,"c":0},{"w":1467504000,"a":0,"d":0,"c":0},{"w":1468108800,"a":0,"d":0,"c":0},{"w":1468713600,"a":0,"d":0,"c":0},{"w":1469318400,"a":0,"d":0,"c":0},{"w":1469923200,"a":0,"d":0,"c":0},{"w":1470528000,"a":0,"d":0,"c":0},{"w":1471132800,"a":0,"d":0,"c":0},{"w":1471737600,"a":0,"d":0,"c":0},{"w":1472342400,"a":0,"d":0,"c":0},{"w":1472947200,"a":0,"d":0,"c":0},{"w":1473552000,"a":0,"d":0,"c":0},{"w":1474156800,"a":0,"d":0,"c":0},{"w":1474761600,"a":0,"d":0,"c":0},{"w":1475366400,"a":0,"d":0,"c":0},{"w":1475971200,"a":0,"d":0,"c":0},{"w":1476576000,"a":0,"d":0,"c":0},{"w":1477180800,"a":0,"d":0,"c":0},{"w":1477785600,"a":0,"d":0,"c":0},{"w":1478390400,"a":0,"d":0,"c":0},{"w":1478995200,"a":0,"d":0,"c":0},{"w":1479600000,"a":0,"d":0,"c":0},{"w":1480204800,"a":0,"d":0,"c":0},{"w":1480809600,"a":0,"d":0,"c":0},{"w":1481414400,"a":0,"d":0,"c":0},{"w":1482019200,"a":0,"d":0,"c":0},{"w":1482624000,"a":0,"d":0,"c":0},{"w":1483228800,"a":0,"d":0,"c":0},{"w":1483833600,"a":0,"d":0,"c":0},{"w":1484438400,"a":0,"d":0,"c":0},{"w":1485043200,"a":0,"d":0,"c":0},{"w":1485648000,"a":0,"d":0,"c":0},{"w":1486252800,"a":0,"d":0,"c":0},{"w":1486857600,"a":0,"d":0,"c":0},{"w":1487462400,"a":0,"d":0,"c":0},{"w":1488067200,"a":0,"d":0,"c":0},{"w":1488672000,"a":0,"d":0,"c":0},{"w":1489276800,"a":0,"d":0,"c":0},{"w":1489881600,"a":0,"d":0,"c":0},{"w":1490486400,"a":0,"d":0,"c":0},{"w":1491091200,"a":0,"d":0,"c":0},{"w":1491696000,"a":0,"d":0,"c":0},{"w":1492300800,"a":0,"d":0,"c":0},{"w":1492905600,"a":0,"d":0,"c":0},{"w":1493510400,"a":0,"d":0,"c":0},{"w":1494115200,"a":0,"d":0,"c":0},{"w":1494720000,"a":0,"d":0,"c":0},{"w":1495324800,"a":0,"d":0,"c":0},{"w":1495929600,"a":0,"d":0,"c":0},{"w":1496534400,"a":0,"d":0,"c":0},{"w":1497139200,"a":0,"d":0,"c":0},{"w":1497744000,"a":0,"d":0,"c":0},{"w":1498348800,"a":0,"d":0,"c":0},{"w":1498953600,"a":0,"d":0,"c":0},{"w":1499558400,"a":0,"d":0,"c":0},{"w":1500163200,"a":0,"d":0,"c":0},{"w":1500768000,"a":0,"d":0,"c":0},{"w":1501372800,"a":0,"d":0,"c":0},{"w":1501977600,"a":0,"d":0,"c":0},{"w":1502582400,"a":0,"d":0,"c":0},{"w":1503187200,"a":0,"d":0,"c":0},{"w":1503792000,"a":0,"d":0,"c":0},{"w":1504396800,"a":0,"d":0,"c":0},{"w":1505001600,"a":0,"d":0,"c":0},{"w":1505606400,"a":0,"d":0,"c":0},{"w":1506211200,"a":0,"d":0,"c":0},{"w":1506816000,"a":0,"d":0,"c":0},{"w":1507420800,"a":0,"d":0,"c":0},{"w":1508025600,"a":0,"d":0,"c":0},{"w":1508630400,"a":0,"d":0,"c":0},{"w":1509235200,"a":0,"d":0,"c":0},{"w":1509840000,"a":0,"d":0,"c":0},{"w":1510444800,"a":0,"d":0,"c":0},{"w":1511049600,"a":0,"d":0,"c":0},{"w":1511654400,"a":0,"d":0,"c":0},{"w":1512259200,"a":0,"d":0,"c":0},{"w":1512864000,"a":0,"d":0,"c":0},{"w":1513468800,"a":0,"d":0,"c":0},{"w":1514073600,"a":0,"d":0,"c":0},{"w":1514678400,"a":0,"d":0,"c":0},{"w":1515283200,"a":0,"d":0,"c":0},{"w":1515888000,"a":0,"d":0,"c":0},{"w":1516492800,"a":0,"d":0,"c":0},{"w":1517097600,"a":0,"d":0,"c":0},{"w":1517702400,"a":0,"d":0,"c":0},{"w":1518307200,"a":0,"d":0,"c":0},{"w":1518912000,"a":0,"d":0,"c":0},{"w":1519516800,"a":0,"d":0,"c":0},{"w":1520121600,"a":0,"d":0,"c":0},{"w":1520726400,"a":0,"d":0,"c":0},{"w":1521331200,"a":0,"d":0,"c":0},{"w":1521936000,"a":0,"d":0,"c":0},{"w":1522540800,"a":0,"d":0,"c":0},{"w":1523145600,"a":0,"d":0,"c":0},{"w":1523750400,"a":0,"d":0,"c":0},{"w":1524355200,"a":0,"d":0,"c":0},{"w":1524960000,"a":0,"d":0,"c":0},{"w":1525564800,"a":0,"d":0,"c":0},{"w":1526169600,"a":0,"d":0,"c":0},{"w":1526774400,"a":0,"d":0,"c":0},{"w":1527379200,"a":0,"d":0,"c":0},{"w":1527984000,"a":0,"d":0,"c":0},{"w":1528588800,"a":0,"d":0,"c":0},{"w":1529193600,"a":0,"d":0,"c":0},{"w":1529798400,"a":0,"d":0,"c":0},{"w":1530403200,"a":0,"d":0,"c":0},{"w":1531008000,"a":0,"d":0,"c":0},{"w":1531612800,"a":0,"d":0,"c":0},{"w":1532217600,"a":0,"d":0,"c":0},{"w":1532822400,"a":0,"d":0,"c":0},{"w":1533427200,"a":0,"d":0,"c":0},{"w":1534032000,"a":0,"d":0,"c":0},{"w":1534636800,"a":0,"d":0,"c":0},{"w":1535241600,"a":0,"d":0,"c":0},{"w":1535846400,"a":0,"d":0,"c":0},{"w":1536451200,"a":0,"d":0,"c":0},{"w":1537056000,"a":0,"d":0,"c":0},{"w":1537660800,"a":0,"d":0,"c":0},{"w":1538265600,"a":0,"d":0,"c":0},{"w":1538870400,"a":0,"d":0,"c":0},{"w":1539475200,"a":0,"d":0,"c":0},{"w":1540080000,"a":0,"d":0,"c":0},{"w":1540684800,"a":0,"d":0,"c":0},{"w":1541289600,"a":0,"d":0,"c":0},{"w":1541894400,"a":0,"d":0,"c":0},{"w":1542499200,"a":0,"d":0,"c":0},{"w":1543104000,"a":0,"d":0,"c":0},{"w":1543708800,"a":0,"d":0,"c":0},{"w":1544313600,"a":0,"d":0,"c":0},{"w":1544918400,"a":0,"d":0,"c":0},{"w":1545523200,"a":0,"d":0,"c":0},{"w":1546128000,"a":0,"d":0,"c":0},{"w":1546732800,"a":0,"d":0,"c":0},{"w":1547337600,"a":0,"d":0,"c":0},{"w":1547942400,"a":0,"d":0,"c":0},{"w":1548547200,"a":0,"d":0,"c":0},{"w":1549152000,"a":0,"d":0,"c":0},{"w":1549756800,"a":0,"d":0,"c":0},{"w":1550361600,"a":0,"d":0,"c":0},{"w":1550966400,"a":0,"d":0,"c":0},{"w":1551571200,"a":0,"d":0,"c":0},{"w":1552176000,"a":0,"d":0,"c":0},{"w":1552780800,"a":0,"d":0,"c":0},{"w":1553385600,"a":0,"d":0,"c":0},{"w":1553990400,"a":0,"d":0,"c":0},{"w":1554595200,"a":0,"d":0,"c":0},{"w":1555200000,"a":0,"d":0,"c":0},{"w":1555804800,"a":0,"d":0,"c":0},{"w":1556409600,"a":0,"d":0,"c":0},{"w":1557014400,"a":0,"d":0,"c":0},{"w":1557619200,"a":0,"d":0,"c":0},{"w":1558224000,"a":0,"d":0,"c":0},{"w":1558828800,"a":0,"d":0,"c":0},{"w":1559433600,"a":0,"d":0,"c":0},{"w":1560038400,"a":0,"d":0,"c":0},{"w":1560643200,"a":0,"d":0,"c":0},{"w":1561248000,"a":0,"d":0,"c":0},{"w":1561852800,"a":0,"d":0,"c":0},{"w":1562457600,"a":0,"d":0,"c":0}],"author":{"login":"Herve-M","id":1846023,"node_id":"MDQ6VXNlcjE4NDYwMjM=","avatar_url":"https://avatars3.githubusercontent.com/u/1846023?v=4","gravatar_id":"","url":"https://api.github.com/users/Herve-M","html_url":"https://github.com/Herve-M","followers_url":"https://api.github.com/users/Herve-M/followers","following_url":"https://api.github.com/users/Herve-M/following{/other_user}","gists_url":"https://api.github.com/users/Herve-M/gists{/gist_id}","starred_url":"https://api.github.com/users/Herve-M/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Herve-M/subscriptions","organizations_url":"https://api.github.com/users/Herve-M/orgs","repos_url":"https://api.github.com/users/Herve-M/repos","events_url":"https://api.github.com/users/Herve-M/events{/privacy}","received_events_url":"https://api.github.com/users/Herve-M/received_events","type":"User","site_admin":false}},{"total":2,"weeks":[{"w":1215302400,"a":0,"d":0,"c":0},{"w":1215907200,"a":0,"d":0,"c":0},{"w":1216512000,"a":0,"d":0,"c":0},{"w":1217116800,"a":0,"d":0,"c":0},{"w":1217721600,"a":0,"d":0,"c":0},{"w":1218326400,"a":0,"d":0,"c":0},{"w":1218931200,"a":0,"d":0,"c":0},{"w":1219536000,"a":0,"d":0,"c":0},{"w":1220140800,"a":0,"d":0,"c":0},{"w":1220745600,"a":0,"d":0,"c":0},{"w":1221350400,"a":0,"d":0,"c":0},{"w":1221955200,"a":0,"d":0,"c":0},{"w":1222560000,"a":0,"d":0,"c":0},{"w":1223164800,"a":0,"d":0,"c":0},{"w":1223769600,"a":0,"d":0,"c":0},{"w":1224374400,"a":0,"d":0,"c":0},{"w":1224979200,"a":0,"d":0,"c":0},{"w":1225584000,"a":0,"d":0,"c":0},{"w":1226188800,"a":0,"d":0,"c":0},{"w":1226793600,"a":0,"d":0,"c":0},{"w":1227398400,"a":0,"d":0,"c":0},{"w":1228003200,"a":0,"d":0,"c":0},{"w":1228608000,"a":0,"d":0,"c":0},{"w":1229212800,"a":0,"d":0,"c":0},{"w":1229817600,"a":0,"d":0,"c":0},{"w":1230422400,"a":0,"d":0,"c":0},{"w":1231027200,"a":0,"d":0,"c":0},{"w":1231632000,"a":0,"d":0,"c":0},{"w":1232236800,"a":0,"d":0,"c":0},{"w":1232841600,"a":0,"d":0,"c":0},{"w":1233446400,"a":0,"d":0,"c":0},{"w":1234051200,"a":0,"d":0,"c":0},{"w":1234656000,"a":0,"d":0,"c":0},{"w":1235260800,"a":0,"d":0,"c":0},{"w":1235865600,"a":0,"d":0,"c":0},{"w":1236470400,"a":0,"d":0,"c":0},{"w":1237075200,"a":0,"d":0,"c":0},{"w":1237680000,"a":0,"d":0,"c":0},{"w":1238284800,"a":0,"d":0,"c":0},{"w":1238889600,"a":0,"d":0,"c":0},{"w":1239494400,"a":0,"d":0,"c":0},{"w":1240099200,"a":0,"d":0,"c":0},{"w":1240704000,"a":0,"d":0,"c":0},{"w":1241308800,"a":0,"d":0,"c":0},{"w":1241913600,"a":0,"d":0,"c":0},{"w":1242518400,"a":0,"d":0,"c":0},{"w":1243123200,"a":0,"d":0,"c":0},{"w":1243728000,"a":0,"d":0,"c":0},{"w":1244332800,"a":0,"d":0,"c":0},{"w":1244937600,"a":0,"d":0,"c":0},{"w":1245542400,"a":0,"d":0,"c":0},{"w":1246147200,"a":0,"d":0,"c":0},{"w":1246752000,"a":0,"d":0,"c":0},{"w":1247356800,"a":0,"d":0,"c":0},{"w":1247961600,"a":0,"d":0,"c":0},{"w":1248566400,"a":0,"d":0,"c":0},{"w":1249171200,"a":0,"d":0,"c":0},{"w":1249776000,"a":0,"d":0,"c":0},{"w":1250380800,"a":0,"d":0,"c":0},{"w":1250985600,"a":0,"d":0,"c":0},{"w":1251590400,"a":0,"d":0,"c":0},{"w":1252195200,"a":0,"d":0,"c":0},{"w":1252800000,"a":0,"d":0,"c":0},{"w":1253404800,"a":0,"d":0,"c":0},{"w":1254009600,"a":0,"d":0,"c":0},{"w":1254614400,"a":0,"d":0,"c":0},{"w":1255219200,"a":0,"d":0,"c":0},{"w":1255824000,"a":0,"d":0,"c":0},{"w":1256428800,"a":0,"d":0,"c":0},{"w":1257033600,"a":0,"d":0,"c":0},{"w":1257638400,"a":0,"d":0,"c":0},{"w":1258243200,"a":0,"d":0,"c":0},{"w":1258848000,"a":0,"d":0,"c":0},{"w":1259452800,"a":0,"d":0,"c":0},{"w":1260057600,"a":0,"d":0,"c":0},{"w":1260662400,"a":0,"d":0,"c":0},{"w":1261267200,"a":0,"d":0,"c":0},{"w":1261872000,"a":0,"d":0,"c":0},{"w":1262476800,"a":0,"d":0,"c":0},{"w":1263081600,"a":0,"d":0,"c":0},{"w":1263686400,"a":0,"d":0,"c":0},{"w":1264291200,"a":0,"d":0,"c":0},{"w":1264896000,"a":0,"d":0,"c":0},{"w":1265500800,"a":0,"d":0,"c":0},{"w":1266105600,"a":0,"d":0,"c":0},{"w":1266710400,"a":0,"d":0,"c":0},{"w":1267315200,"a":0,"d":0,"c":0},{"w":1267920000,"a":0,"d":0,"c":0},{"w":1268524800,"a":0,"d":0,"c":0},{"w":1269129600,"a":0,"d":0,"c":0},{"w":1269734400,"a":0,"d":0,"c":0},{"w":1270339200,"a":0,"d":0,"c":0},{"w":1270944000,"a":0,"d":0,"c":0},{"w":1271548800,"a":0,"d":0,"c":0},{"w":1272153600,"a":0,"d":0,"c":0},{"w":1272758400,"a":0,"d":0,"c":0},{"w":1273363200,"a":0,"d":0,"c":0},{"w":1273968000,"a":0,"d":0,"c":0},{"w":1274572800,"a":0,"d":0,"c":0},{"w":1275177600,"a":0,"d":0,"c":0},{"w":1275782400,"a":0,"d":0,"c":0},{"w":1276387200,"a":0,"d":0,"c":0},{"w":1276992000,"a":0,"d":0,"c":0},{"w":1277596800,"a":0,"d":0,"c":0},{"w":1278201600,"a":0,"d":0,"c":0},{"w":1278806400,"a":0,"d":0,"c":0},{"w":1279411200,"a":0,"d":0,"c":0},{"w":1280016000,"a":0,"d":0,"c":0},{"w":1280620800,"a":0,"d":0,"c":0},{"w":1281225600,"a":0,"d":0,"c":0},{"w":1281830400,"a":0,"d":0,"c":0},{"w":1282435200,"a":0,"d":0,"c":0},{"w":1283040000,"a":0,"d":0,"c":0},{"w":1283644800,"a":0,"d":0,"c":0},{"w":1284249600,"a":0,"d":0,"c":0},{"w":1284854400,"a":0,"d":0,"c":0},{"w":1285459200,"a":0,"d":0,"c":0},{"w":1286064000,"a":0,"d":0,"c":0},{"w":1286668800,"a":0,"d":0,"c":0},{"w":1287273600,"a":0,"d":0,"c":0},{"w":1287878400,"a":0,"d":0,"c":0},{"w":1288483200,"a":0,"d":0,"c":0},{"w":1289088000,"a":0,"d":0,"c":0},{"w":1289692800,"a":0,"d":0,"c":0},{"w":1290297600,"a":0,"d":0,"c":0},{"w":1290902400,"a":0,"d":0,"c":0},{"w":1291507200,"a":0,"d":0,"c":0},{"w":1292112000,"a":0,"d":0,"c":0},{"w":1292716800,"a":0,"d":0,"c":0},{"w":1293321600,"a":0,"d":0,"c":0},{"w":1293926400,"a":0,"d":0,"c":0},{"w":1294531200,"a":0,"d":0,"c":0},{"w":1295136000,"a":0,"d":0,"c":0},{"w":1295740800,"a":0,"d":0,"c":0},{"w":1296345600,"a":0,"d":0,"c":0},{"w":1296950400,"a":0,"d":0,"c":0},{"w":1297555200,"a":0,"d":0,"c":0},{"w":1298160000,"a":0,"d":0,"c":0},{"w":1298764800,"a":0,"d":0,"c":0},{"w":1299369600,"a":0,"d":0,"c":0},{"w":1299974400,"a":0,"d":0,"c":0},{"w":1300579200,"a":0,"d":0,"c":0},{"w":1301184000,"a":0,"d":0,"c":0},{"w":1301788800,"a":0,"d":0,"c":0},{"w":1302393600,"a":0,"d":0,"c":0},{"w":1302998400,"a":0,"d":0,"c":0},{"w":1303603200,"a":0,"d":0,"c":0},{"w":1304208000,"a":0,"d":0,"c":0},{"w":1304812800,"a":0,"d":0,"c":0},{"w":1305417600,"a":0,"d":0,"c":0},{"w":1306022400,"a":0,"d":0,"c":0},{"w":1306627200,"a":0,"d":0,"c":0},{"w":1307232000,"a":0,"d":0,"c":0},{"w":1307836800,"a":0,"d":0,"c":0},{"w":1308441600,"a":0,"d":0,"c":0},{"w":1309046400,"a":0,"d":0,"c":0},{"w":1309651200,"a":0,"d":0,"c":0},{"w":1310256000,"a":0,"d":0,"c":0},{"w":1310860800,"a":0,"d":0,"c":0},{"w":1311465600,"a":0,"d":0,"c":0},{"w":1312070400,"a":0,"d":0,"c":0},{"w":1312675200,"a":0,"d":0,"c":0},{"w":1313280000,"a":0,"d":0,"c":0},{"w":1313884800,"a":0,"d":0,"c":0},{"w":1314489600,"a":0,"d":0,"c":0},{"w":1315094400,"a":0,"d":0,"c":0},{"w":1315699200,"a":0,"d":0,"c":0},{"w":1316304000,"a":0,"d":0,"c":0},{"w":1316908800,"a":0,"d":0,"c":0},{"w":1317513600,"a":0,"d":0,"c":0},{"w":1318118400,"a":0,"d":0,"c":0},{"w":1318723200,"a":0,"d":0,"c":0},{"w":1319328000,"a":0,"d":0,"c":0},{"w":1319932800,"a":0,"d":0,"c":0},{"w":1320537600,"a":0,"d":0,"c":0},{"w":1321142400,"a":0,"d":0,"c":0},{"w":1321747200,"a":0,"d":0,"c":0},{"w":1322352000,"a":0,"d":0,"c":0},{"w":1322956800,"a":0,"d":0,"c":0},{"w":1323561600,"a":0,"d":0,"c":0},{"w":1324166400,"a":0,"d":0,"c":0},{"w":1324771200,"a":0,"d":0,"c":0},{"w":1325376000,"a":0,"d":0,"c":0},{"w":1325980800,"a":0,"d":0,"c":0},{"w":1326585600,"a":0,"d":0,"c":0},{"w":1327190400,"a":0,"d":0,"c":0},{"w":1327795200,"a":0,"d":0,"c":0},{"w":1328400000,"a":0,"d":0,"c":0},{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0},{"w":1384646400,"a":0,"d":0,"c":0},{"w":1385251200,"a":0,"d":0,"c":0},{"w":1385856000,"a":0,"d":0,"c":0},{"w":1386460800,"a":0,"d":0,"c":0},{"w":1387065600,"a":0,"d":0,"c":0},{"w":1387670400,"a":0,"d":0,"c":0},{"w":1388275200,"a":0,"d":0,"c":0},{"w":1388880000,"a":0,"d":0,"c":0},{"w":1389484800,"a":0,"d":0,"c":0},{"w":1390089600,"a":0,"d":0,"c":0},{"w":1390694400,"a":2,"d":2,"c":2},{"w":1391299200,"a":0,"d":0,"c":0},{"w":1391904000,"a":0,"d":0,"c":0},{"w":1392508800,"a":0,"d":0,"c":0},{"w":1393113600,"a":0,"d":0,"c":0},{"w":1393718400,"a":0,"d":0,"c":0},{"w":1394323200,"a":0,"d":0,"c":0},{"w":1394928000,"a":0,"d":0,"c":0},{"w":1395532800,"a":0,"d":0,"c":0},{"w":1396137600,"a":0,"d":0,"c":0},{"w":1396742400,"a":0,"d":0,"c":0},{"w":1397347200,"a":0,"d":0,"c":0},{"w":1397952000,"a":0,"d":0,"c":0},{"w":1398556800,"a":0,"d":0,"c":0},{"w":1399161600,"a":0,"d":0,"c":0},{"w":1399766400,"a":0,"d":0,"c":0},{"w":1400371200,"a":0,"d":0,"c":0},{"w":1400976000,"a":0,"d":0,"c":0},{"w":1401580800,"a":0,"d":0,"c":0},{"w":1402185600,"a":0,"d":0,"c":0},{"w":1402790400,"a":0,"d":0,"c":0},{"w":1403395200,"a":0,"d":0,"c":0},{"w":1404000000,"a":0,"d":0,"c":0},{"w":1404604800,"a":0,"d":0,"c":0},{"w":1405209600,"a":0,"d":0,"c":0},{"w":1405814400,"a":0,"d":0,"c":0},{"w":1406419200,"a":0,"d":0,"c":0},{"w":1407024000,"a":0,"d":0,"c":0},{"w":1407628800,"a":0,"d":0,"c":0},{"w":1408233600,"a":0,"d":0,"c":0},{"w":1408838400,"a":0,"d":0,"c":0},{"w":1409443200,"a":0,"d":0,"c":0},{"w":1410048000,"a":0,"d":0,"c":0},{"w":1410652800,"a":0,"d":0,"c":0},{"w":1411257600,"a":0,"d":0,"c":0},{"w":1411862400,"a":0,"d":0,"c":0},{"w":1412467200,"a":0,"d":0,"c":0},{"w":1413072000,"a":0,"d":0,"c":0},{"w":1413676800,"a":0,"d":0,"c":0},{"w":1414281600,"a":0,"d":0,"c":0},{"w":1414886400,"a":0,"d":0,"c":0},{"w":1415491200,"a":0,"d":0,"c":0},{"w":1416096000,"a":0,"d":0,"c":0},{"w":1416700800,"a":0,"d":0,"c":0},{"w":1417305600,"a":0,"d":0,"c":0},{"w":1417910400,"a":0,"d":0,"c":0},{"w":1418515200,"a":0,"d":0,"c":0},{"w":1419120000,"a":0,"d":0,"c":0},{"w":1419724800,"a":0,"d":0,"c":0},{"w":1420329600,"a":0,"d":0,"c":0},{"w":1420934400,"a":0,"d":0,"c":0},{"w":1421539200,"a":0,"d":0,"c":0},{"w":1422144000,"a":0,"d":0,"c":0},{"w":1422748800,"a":0,"d":0,"c":0},{"w":1423353600,"a":0,"d":0,"c":0},{"w":1423958400,"a":0,"d":0,"c":0},{"w":1424563200,"a":0,"d":0,"c":0},{"w":1425168000,"a":0,"d":0,"c":0},{"w":1425772800,"a":0,"d":0,"c":0},{"w":1426377600,"a":0,"d":0,"c":0},{"w":1426982400,"a":0,"d":0,"c":0},{"w":1427587200,"a":0,"d":0,"c":0},{"w":1428192000,"a":0,"d":0,"c":0},{"w":1428796800,"a":0,"d":0,"c":0},{"w":1429401600,"a":0,"d":0,"c":0},{"w":1430006400,"a":0,"d":0,"c":0},{"w":1430611200,"a":0,"d":0,"c":0},{"w":1431216000,"a":0,"d":0,"c":0},{"w":1431820800,"a":0,"d":0,"c":0},{"w":1432425600,"a":0,"d":0,"c":0},{"w":1433030400,"a":0,"d":0,"c":0},{"w":1433635200,"a":0,"d":0,"c":0},{"w":1434240000,"a":0,"d":0,"c":0},{"w":1434844800,"a":0,"d":0,"c":0},{"w":1435449600,"a":0,"d":0,"c":0},{"w":1436054400,"a":0,"d":0,"c":0},{"w":1436659200,"a":0,"d":0,"c":0},{"w":1437264000,"a":0,"d":0,"c":0},{"w":1437868800,"a":0,"d":0,"c":0},{"w":1438473600,"a":0,"d":0,"c":0},{"w":1439078400,"a":0,"d":0,"c":0},{"w":1439683200,"a":0,"d":0,"c":0},{"w":1440288000,"a":0,"d":0,"c":0},{"w":1440892800,"a":0,"d":0,"c":0},{"w":1441497600,"a":0,"d":0,"c":0},{"w":1442102400,"a":0,"d":0,"c":0},{"w":1442707200,"a":0,"d":0,"c":0},{"w":1443312000,"a":0,"d":0,"c":0},{"w":1443916800,"a":0,"d":0,"c":0},{"w":1444521600,"a":0,"d":0,"c":0},{"w":1445126400,"a":0,"d":0,"c":0},{"w":1445731200,"a":0,"d":0,"c":0},{"w":1446336000,"a":0,"d":0,"c":0},{"w":1446940800,"a":0,"d":0,"c":0},{"w":1447545600,"a":0,"d":0,"c":0},{"w":1448150400,"a":0,"d":0,"c":0},{"w":1448755200,"a":0,"d":0,"c":0},{"w":1449360000,"a":0,"d":0,"c":0},{"w":1449964800,"a":0,"d":0,"c":0},{"w":1450569600,"a":0,"d":0,"c":0},{"w":1451174400,"a":0,"d":0,"c":0},{"w":1451779200,"a":0,"d":0,"c":0},{"w":1452384000,"a":0,"d":0,"c":0},{"w":1452988800,"a":0,"d":0,"c":0},{"w":1453593600,"a":0,"d":0,"c":0},{"w":1454198400,"a":0,"d":0,"c":0},{"w":1454803200,"a":0,"d":0,"c":0},{"w":1455408000,"a":0,"d":0,"c":0},{"w":1456012800,"a":0,"d":0,"c":0},{"w":1456617600,"a":0,"d":0,"c":0},{"w":1457222400,"a":0,"d":0,"c":0},{"w":1457827200,"a":0,"d":0,"c":0},{"w":1458432000,"a":0,"d":0,"c":0},{"w":1459036800,"a":0,"d":0,"c":0},{"w":1459641600,"a":0,"d":0,"c":0},{"w":1460246400,"a":0,"d":0,"c":0},{"w":1460851200,"a":0,"d":0,"c":0},{"w":1461456000,"a":0,"d":0,"c":0},{"w":1462060800,"a":0,"d":0,"c":0},{"w":1462665600,"a":0,"d":0,"c":0},{"w":1463270400,"a":0,"d":0,"c":0},{"w":1463875200,"a":0,"d":0,"c":0},{"w":1464480000,"a":0,"d":0,"c":0},{"w":1465084800,"a":0,"d":0,"c":0},{"w":1465689600,"a":0,"d":0,"c":0},{"w":1466294400,"a":0,"d":0,"c":0},{"w":1466899200,"a":0,"d":0,"c":0},{"w":1467504000,"a":0,"d":0,"c":0},{"w":1468108800,"a":0,"d":0,"c":0},{"w":1468713600,"a":0,"d":0,"c":0},{"w":1469318400,"a":0,"d":0,"c":0},{"w":1469923200,"a":0,"d":0,"c":0},{"w":1470528000,"a":0,"d":0,"c":0},{"w":1471132800,"a":0,"d":0,"c":0},{"w":1471737600,"a":0,"d":0,"c":0},{"w":1472342400,"a":0,"d":0,"c":0},{"w":1472947200,"a":0,"d":0,"c":0},{"w":1473552000,"a":0,"d":0,"c":0},{"w":1474156800,"a":0,"d":0,"c":0},{"w":1474761600,"a":0,"d":0,"c":0},{"w":1475366400,"a":0,"d":0,"c":0},{"w":1475971200,"a":0,"d":0,"c":0},{"w":1476576000,"a":0,"d":0,"c":0},{"w":1477180800,"a":0,"d":0,"c":0},{"w":1477785600,"a":0,"d":0,"c":0},{"w":1478390400,"a":0,"d":0,"c":0},{"w":1478995200,"a":0,"d":0,"c":0},{"w":1479600000,"a":0,"d":0,"c":0},{"w":1480204800,"a":0,"d":0,"c":0},{"w":1480809600,"a":0,"d":0,"c":0},{"w":1481414400,"a":0,"d":0,"c":0},{"w":1482019200,"a":0,"d":0,"c":0},{"w":1482624000,"a":0,"d":0,"c":0},{"w":1483228800,"a":0,"d":0,"c":0},{"w":1483833600,"a":0,"d":0,"c":0},{"w":1484438400,"a":0,"d":0,"c":0},{"w":1485043200,"a":0,"d":0,"c":0},{"w":1485648000,"a":0,"d":0,"c":0},{"w":1486252800,"a":0,"d":0,"c":0},{"w":1486857600,"a":0,"d":0,"c":0},{"w":1487462400,"a":0,"d":0,"c":0},{"w":1488067200,"a":0,"d":0,"c":0},{"w":1488672000,"a":0,"d":0,"c":0},{"w":1489276800,"a":0,"d":0,"c":0},{"w":1489881600,"a":0,"d":0,"c":0},{"w":1490486400,"a":0,"d":0,"c":0},{"w":1491091200,"a":0,"d":0,"c":0},{"w":1491696000,"a":0,"d":0,"c":0},{"w":1492300800,"a":0,"d":0,"c":0},{"w":1492905600,"a":0,"d":0,"c":0},{"w":1493510400,"a":0,"d":0,"c":0},{"w":1494115200,"a":0,"d":0,"c":0},{"w":1494720000,"a":0,"d":0,"c":0},{"w":1495324800,"a":0,"d":0,"c":0},{"w":1495929600,"a":0,"d":0,"c":0},{"w":1496534400,"a":0,"d":0,"c":0},{"w":1497139200,"a":0,"d":0,"c":0},{"w":1497744000,"a":0,"d":0,"c":0},{"w":1498348800,"a":0,"d":0,"c":0},{"w":1498953600,"a":0,"d":0,"c":0},{"w":1499558400,"a":0,"d":0,"c":0},{"w":1500163200,"a":0,"d":0,"c":0},{"w":1500768000,"a":0,"d":0,"c":0},{"w":1501372800,"a":0,"d":0,"c":0},{"w":1501977600,"a":0,"d":0,"c":0},{"w":1502582400,"a":0,"d":0,"c":0},{"w":1503187200,"a":0,"d":0,"c":0},{"w":1503792000,"a":0,"d":0,"c":0},{"w":1504396800,"a":0,"d":0,"c":0},{"w":1505001600,"a":0,"d":0,"c":0},{"w":1505606400,"a":0,"d":0,"c":0},{"w":1506211200,"a":0,"d":0,"c":0},{"w":1506816000,"a":0,"d":0,"c":0},{"w":1507420800,"a":0,"d":0,"c":0},{"w":1508025600,"a":0,"d":0,"c":0},{"w":1508630400,"a":0,"d":0,"c":0},{"w":1509235200,"a":0,"d":0,"c":0},{"w":1509840000,"a":0,"d":0,"c":0},{"w":1510444800,"a":0,"d":0,"c":0},{"w":1511049600,"a":0,"d":0,"c":0},{"w":1511654400,"a":0,"d":0,"c":0},{"w":1512259200,"a":0,"d":0,"c":0},{"w":1512864000,"a":0,"d":0,"c":0},{"w":1513468800,"a":0,"d":0,"c":0},{"w":1514073600,"a":0,"d":0,"c":0},{"w":1514678400,"a":0,"d":0,"c":0},{"w":1515283200,"a":0,"d":0,"c":0},{"w":1515888000,"a":0,"d":0,"c":0},{"w":1516492800,"a":0,"d":0,"c":0},{"w":1517097600,"a":0,"d":0,"c":0},{"w":1517702400,"a":0,"d":0,"c":0},{"w":1518307200,"a":0,"d":0,"c":0},{"w":1518912000,"a":0,"d":0,"c":0},{"w":1519516800,"a":0,"d":0,"c":0},{"w":1520121600,"a":0,"d":0,"c":0},{"w":1520726400,"a":0,"d":0,"c":0},{"w":1521331200,"a":0,"d":0,"c":0},{"w":1521936000,"a":0,"d":0,"c":0},{"w":1522540800,"a":0,"d":0,"c":0},{"w":1523145600,"a":0,"d":0,"c":0},{"w":1523750400,"a":0,"d":0,"c":0},{"w":1524355200,"a":0,"d":0,"c":0},{"w":1524960000,"a":0,"d":0,"c":0},{"w":1525564800,"a":0,"d":0,"c":0},{"w":1526169600,"a":0,"d":0,"c":0},{"w":1526774400,"a":0,"d":0,"c":0},{"w":1527379200,"a":0,"d":0,"c":0},{"w":1527984000,"a":0,"d":0,"c":0},{"w":1528588800,"a":0,"d":0,"c":0},{"w":1529193600,"a":0,"d":0,"c":0},{"w":1529798400,"a":0,"d":0,"c":0},{"w":1530403200,"a":0,"d":0,"c":0},{"w":1531008000,"a":0,"d":0,"c":0},{"w":1531612800,"a":0,"d":0,"c":0},{"w":1532217600,"a":0,"d":0,"c":0},{"w":1532822400,"a":0,"d":0,"c":0},{"w":1533427200,"a":0,"d":0,"c":0},{"w":1534032000,"a":0,"d":0,"c":0},{"w":1534636800,"a":0,"d":0,"c":0},{"w":1535241600,"a":0,"d":0,"c":0},{"w":1535846400,"a":0,"d":0,"c":0},{"w":1536451200,"a":0,"d":0,"c":0},{"w":1537056000,"a":0,"d":0,"c":0},{"w":1537660800,"a":0,"d":0,"c":0},{"w":1538265600,"a":0,"d":0,"c":0},{"w":1538870400,"a":0,"d":0,"c":0},{"w":1539475200,"a":0,"d":0,"c":0},{"w":1540080000,"a":0,"d":0,"c":0},{"w":1540684800,"a":0,"d":0,"c":0},{"w":1541289600,"a":0,"d":0,"c":0},{"w":1541894400,"a":0,"d":0,"c":0},{"w":1542499200,"a":0,"d":0,"c":0},{"w":1543104000,"a":0,"d":0,"c":0},{"w":1543708800,"a":0,"d":0,"c":0},{"w":1544313600,"a":0,"d":0,"c":0},{"w":1544918400,"a":0,"d":0,"c":0},{"w":1545523200,"a":0,"d":0,"c":0},{"w":1546128000,"a":0,"d":0,"c":0},{"w":1546732800,"a":0,"d":0,"c":0},{"w":1547337600,"a":0,"d":0,"c":0},{"w":1547942400,"a":0,"d":0,"c":0},{"w":1548547200,"a":0,"d":0,"c":0},{"w":1549152000,"a":0,"d":0,"c":0},{"w":1549756800,"a":0,"d":0,"c":0},{"w":1550361600,"a":0,"d":0,"c":0},{"w":1550966400,"a":0,"d":0,"c":0},{"w":1551571200,"a":0,"d":0,"c":0},{"w":1552176000,"a":0,"d":0,"c":0},{"w":1552780800,"a":0,"d":0,"c":0},{"w":1553385600,"a":0,"d":0,"c":0},{"w":1553990400,"a":0,"d":0,"c":0},{"w":1554595200,"a":0,"d":0,"c":0},{"w":1555200000,"a":0,"d":0,"c":0},{"w":1555804800,"a":0,"d":0,"c":0},{"w":1556409600,"a":0,"d":0,"c":0},{"w":1557014400,"a":0,"d":0,"c":0},{"w":1557619200,"a":0,"d":0,"c":0},{"w":1558224000,"a":0,"d":0,"c":0},{"w":1558828800,"a":0,"d":0,"c":0},{"w":1559433600,"a":0,"d":0,"c":0},{"w":1560038400,"a":0,"d":0,"c":0},{"w":1560643200,"a":0,"d":0,"c":0},{"w":1561248000,"a":0,"d":0,"c":0},{"w":1561852800,"a":0,"d":0,"c":0},{"w":1562457600,"a":0,"d":0,"c":0}],"author":{"login":"ChrisProlls","id":1511666,"node_id":"MDQ6VXNlcjE1MTE2NjY=","avatar_url":"https://avatars1.githubusercontent.com/u/1511666?v=4","gravatar_id":"","url":"https://api.github.com/users/ChrisProlls","html_url":"https://github.com/ChrisProlls","followers_url":"https://api.github.com/users/ChrisProlls/followers","following_url":"https://api.github.com/users/ChrisProlls/following{/other_user}","gists_url":"https://api.github.com/users/ChrisProlls/gists{/gist_id}","starred_url":"https://api.github.com/users/ChrisProlls/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ChrisProlls/subscriptions","organizations_url":"https://api.github.com/users/ChrisProlls/orgs","repos_url":"https://api.github.com/users/ChrisProlls/repos","events_url":"https://api.github.com/users/ChrisProlls/events{/privacy}","received_events_url":"https://api.github.com/users/ChrisProlls/received_events","type":"User","site_admin":false}},{"total":2,"weeks":[{"w":1215302400,"a":0,"d":0,"c":0},{"w":1215907200,"a":0,"d":0,"c":0},{"w":1216512000,"a":0,"d":0,"c":0},{"w":1217116800,"a":0,"d":0,"c":0},{"w":1217721600,"a":0,"d":0,"c":0},{"w":1218326400,"a":0,"d":0,"c":0},{"w":1218931200,"a":0,"d":0,"c":0},{"w":1219536000,"a":0,"d":0,"c":0},{"w":1220140800,"a":0,"d":0,"c":0},{"w":1220745600,"a":0,"d":0,"c":0},{"w":1221350400,"a":0,"d":0,"c":0},{"w":1221955200,"a":0,"d":0,"c":0},{"w":1222560000,"a":0,"d":0,"c":0},{"w":1223164800,"a":0,"d":0,"c":0},{"w":1223769600,"a":0,"d":0,"c":0},{"w":1224374400,"a":0,"d":0,"c":0},{"w":1224979200,"a":0,"d":0,"c":0},{"w":1225584000,"a":0,"d":0,"c":0},{"w":1226188800,"a":0,"d":0,"c":0},{"w":1226793600,"a":0,"d":0,"c":0},{"w":1227398400,"a":0,"d":0,"c":0},{"w":1228003200,"a":0,"d":0,"c":0},{"w":1228608000,"a":0,"d":0,"c":0},{"w":1229212800,"a":0,"d":0,"c":0},{"w":1229817600,"a":0,"d":0,"c":0},{"w":1230422400,"a":0,"d":0,"c":0},{"w":1231027200,"a":0,"d":0,"c":0},{"w":1231632000,"a":0,"d":0,"c":0},{"w":1232236800,"a":0,"d":0,"c":0},{"w":1232841600,"a":0,"d":0,"c":0},{"w":1233446400,"a":0,"d":0,"c":0},{"w":1234051200,"a":0,"d":0,"c":0},{"w":1234656000,"a":0,"d":0,"c":0},{"w":1235260800,"a":0,"d":0,"c":0},{"w":1235865600,"a":0,"d":0,"c":0},{"w":1236470400,"a":0,"d":0,"c":0},{"w":1237075200,"a":0,"d":0,"c":0},{"w":1237680000,"a":0,"d":0,"c":0},{"w":1238284800,"a":0,"d":0,"c":0},{"w":1238889600,"a":0,"d":0,"c":0},{"w":1239494400,"a":0,"d":0,"c":0},{"w":1240099200,"a":0,"d":0,"c":0},{"w":1240704000,"a":0,"d":0,"c":0},{"w":1241308800,"a":0,"d":0,"c":0},{"w":1241913600,"a":0,"d":0,"c":0},{"w":1242518400,"a":0,"d":0,"c":0},{"w":1243123200,"a":0,"d":0,"c":0},{"w":1243728000,"a":0,"d":0,"c":0},{"w":1244332800,"a":0,"d":0,"c":0},{"w":1244937600,"a":0,"d":0,"c":0},{"w":1245542400,"a":0,"d":0,"c":0},{"w":1246147200,"a":0,"d":0,"c":0},{"w":1246752000,"a":0,"d":0,"c":0},{"w":1247356800,"a":0,"d":0,"c":0},{"w":1247961600,"a":0,"d":0,"c":0},{"w":1248566400,"a":0,"d":0,"c":0},{"w":1249171200,"a":0,"d":0,"c":0},{"w":1249776000,"a":0,"d":0,"c":0},{"w":1250380800,"a":0,"d":0,"c":0},{"w":1250985600,"a":0,"d":0,"c":0},{"w":1251590400,"a":0,"d":0,"c":0},{"w":1252195200,"a":0,"d":0,"c":0},{"w":1252800000,"a":0,"d":0,"c":0},{"w":1253404800,"a":0,"d":0,"c":0},{"w":1254009600,"a":0,"d":0,"c":0},{"w":1254614400,"a":0,"d":0,"c":0},{"w":1255219200,"a":0,"d":0,"c":0},{"w":1255824000,"a":0,"d":0,"c":0},{"w":1256428800,"a":0,"d":0,"c":0},{"w":1257033600,"a":0,"d":0,"c":0},{"w":1257638400,"a":0,"d":0,"c":0},{"w":1258243200,"a":0,"d":0,"c":0},{"w":1258848000,"a":0,"d":0,"c":0},{"w":1259452800,"a":0,"d":0,"c":0},{"w":1260057600,"a":0,"d":0,"c":0},{"w":1260662400,"a":0,"d":0,"c":0},{"w":1261267200,"a":0,"d":0,"c":0},{"w":1261872000,"a":0,"d":0,"c":0},{"w":1262476800,"a":0,"d":0,"c":0},{"w":1263081600,"a":0,"d":0,"c":0},{"w":1263686400,"a":0,"d":0,"c":0},{"w":1264291200,"a":0,"d":0,"c":0},{"w":1264896000,"a":0,"d":0,"c":0},{"w":1265500800,"a":0,"d":0,"c":0},{"w":1266105600,"a":0,"d":0,"c":0},{"w":1266710400,"a":0,"d":0,"c":0},{"w":1267315200,"a":0,"d":0,"c":0},{"w":1267920000,"a":0,"d":0,"c":0},{"w":1268524800,"a":0,"d":0,"c":0},{"w":1269129600,"a":0,"d":0,"c":0},{"w":1269734400,"a":0,"d":0,"c":0},{"w":1270339200,"a":0,"d":0,"c":0},{"w":1270944000,"a":0,"d":0,"c":0},{"w":1271548800,"a":0,"d":0,"c":0},{"w":1272153600,"a":0,"d":0,"c":0},{"w":1272758400,"a":0,"d":0,"c":0},{"w":1273363200,"a":0,"d":0,"c":0},{"w":1273968000,"a":0,"d":0,"c":0},{"w":1274572800,"a":0,"d":0,"c":0},{"w":1275177600,"a":0,"d":0,"c":0},{"w":1275782400,"a":0,"d":0,"c":0},{"w":1276387200,"a":0,"d":0,"c":0},{"w":1276992000,"a":0,"d":0,"c":0},{"w":1277596800,"a":0,"d":0,"c":0},{"w":1278201600,"a":0,"d":0,"c":0},{"w":1278806400,"a":0,"d":0,"c":0},{"w":1279411200,"a":0,"d":0,"c":0},{"w":1280016000,"a":0,"d":0,"c":0},{"w":1280620800,"a":0,"d":0,"c":0},{"w":1281225600,"a":0,"d":0,"c":0},{"w":1281830400,"a":0,"d":0,"c":0},{"w":1282435200,"a":0,"d":0,"c":0},{"w":1283040000,"a":0,"d":0,"c":0},{"w":1283644800,"a":0,"d":0,"c":0},{"w":1284249600,"a":0,"d":0,"c":0},{"w":1284854400,"a":0,"d":0,"c":0},{"w":1285459200,"a":0,"d":0,"c":0},{"w":1286064000,"a":0,"d":0,"c":0},{"w":1286668800,"a":0,"d":0,"c":0},{"w":1287273600,"a":0,"d":0,"c":0},{"w":1287878400,"a":0,"d":0,"c":0},{"w":1288483200,"a":0,"d":0,"c":0},{"w":1289088000,"a":0,"d":0,"c":0},{"w":1289692800,"a":0,"d":0,"c":0},{"w":1290297600,"a":0,"d":0,"c":0},{"w":1290902400,"a":0,"d":0,"c":0},{"w":1291507200,"a":0,"d":0,"c":0},{"w":1292112000,"a":0,"d":0,"c":0},{"w":1292716800,"a":0,"d":0,"c":0},{"w":1293321600,"a":0,"d":0,"c":0},{"w":1293926400,"a":0,"d":0,"c":0},{"w":1294531200,"a":0,"d":0,"c":0},{"w":1295136000,"a":0,"d":0,"c":0},{"w":1295740800,"a":0,"d":0,"c":0},{"w":1296345600,"a":0,"d":0,"c":0},{"w":1296950400,"a":0,"d":0,"c":0},{"w":1297555200,"a":0,"d":0,"c":0},{"w":1298160000,"a":0,"d":0,"c":0},{"w":1298764800,"a":0,"d":0,"c":0},{"w":1299369600,"a":0,"d":0,"c":0},{"w":1299974400,"a":0,"d":0,"c":0},{"w":1300579200,"a":0,"d":0,"c":0},{"w":1301184000,"a":0,"d":0,"c":0},{"w":1301788800,"a":0,"d":0,"c":0},{"w":1302393600,"a":0,"d":0,"c":0},{"w":1302998400,"a":0,"d":0,"c":0},{"w":1303603200,"a":0,"d":0,"c":0},{"w":1304208000,"a":0,"d":0,"c":0},{"w":1304812800,"a":0,"d":0,"c":0},{"w":1305417600,"a":0,"d":0,"c":0},{"w":1306022400,"a":0,"d":0,"c":0},{"w":1306627200,"a":0,"d":0,"c":0},{"w":1307232000,"a":0,"d":0,"c":0},{"w":1307836800,"a":0,"d":0,"c":0},{"w":1308441600,"a":0,"d":0,"c":0},{"w":1309046400,"a":0,"d":0,"c":0},{"w":1309651200,"a":0,"d":0,"c":0},{"w":1310256000,"a":0,"d":0,"c":0},{"w":1310860800,"a":0,"d":0,"c":0},{"w":1311465600,"a":0,"d":0,"c":0},{"w":1312070400,"a":0,"d":0,"c":0},{"w":1312675200,"a":0,"d":0,"c":0},{"w":1313280000,"a":0,"d":0,"c":0},{"w":1313884800,"a":0,"d":0,"c":0},{"w":1314489600,"a":0,"d":0,"c":0},{"w":1315094400,"a":0,"d":0,"c":0},{"w":1315699200,"a":0,"d":0,"c":0},{"w":1316304000,"a":0,"d":0,"c":0},{"w":1316908800,"a":0,"d":0,"c":0},{"w":1317513600,"a":0,"d":0,"c":0},{"w":1318118400,"a":0,"d":0,"c":0},{"w":1318723200,"a":0,"d":0,"c":0},{"w":1319328000,"a":0,"d":0,"c":0},{"w":1319932800,"a":0,"d":0,"c":0},{"w":1320537600,"a":0,"d":0,"c":0},{"w":1321142400,"a":0,"d":0,"c":0},{"w":1321747200,"a":0,"d":0,"c":0},{"w":1322352000,"a":0,"d":0,"c":0},{"w":1322956800,"a":0,"d":0,"c":0},{"w":1323561600,"a":0,"d":0,"c":0},{"w":1324166400,"a":0,"d":0,"c":0},{"w":1324771200,"a":0,"d":0,"c":0},{"w":1325376000,"a":0,"d":0,"c":0},{"w":1325980800,"a":0,"d":0,"c":0},{"w":1326585600,"a":0,"d":0,"c":0},{"w":1327190400,"a":0,"d":0,"c":0},{"w":1327795200,"a":0,"d":0,"c":0},{"w":1328400000,"a":0,"d":0,"c":0},{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0},{"w":1384646400,"a":0,"d":0,"c":0},{"w":1385251200,"a":0,"d":0,"c":0},{"w":1385856000,"a":0,"d":0,"c":0},{"w":1386460800,"a":0,"d":0,"c":0},{"w":1387065600,"a":0,"d":0,"c":0},{"w":1387670400,"a":0,"d":0,"c":0},{"w":1388275200,"a":0,"d":0,"c":0},{"w":1388880000,"a":0,"d":0,"c":0},{"w":1389484800,"a":0,"d":0,"c":0},{"w":1390089600,"a":0,"d":0,"c":0},{"w":1390694400,"a":6,"d":0,"c":1},{"w":1391299200,"a":0,"d":0,"c":0},{"w":1391904000,"a":77,"d":5,"c":1},{"w":1392508800,"a":0,"d":0,"c":0},{"w":1393113600,"a":0,"d":0,"c":0},{"w":1393718400,"a":0,"d":0,"c":0},{"w":1394323200,"a":0,"d":0,"c":0},{"w":1394928000,"a":0,"d":0,"c":0},{"w":1395532800,"a":0,"d":0,"c":0},{"w":1396137600,"a":0,"d":0,"c":0},{"w":1396742400,"a":0,"d":0,"c":0},{"w":1397347200,"a":0,"d":0,"c":0},{"w":1397952000,"a":0,"d":0,"c":0},{"w":1398556800,"a":0,"d":0,"c":0},{"w":1399161600,"a":0,"d":0,"c":0},{"w":1399766400,"a":0,"d":0,"c":0},{"w":1400371200,"a":0,"d":0,"c":0},{"w":1400976000,"a":0,"d":0,"c":0},{"w":1401580800,"a":0,"d":0,"c":0},{"w":1402185600,"a":0,"d":0,"c":0},{"w":1402790400,"a":0,"d":0,"c":0},{"w":1403395200,"a":0,"d":0,"c":0},{"w":1404000000,"a":0,"d":0,"c":0},{"w":1404604800,"a":0,"d":0,"c":0},{"w":1405209600,"a":0,"d":0,"c":0},{"w":1405814400,"a":0,"d":0,"c":0},{"w":1406419200,"a":0,"d":0,"c":0},{"w":1407024000,"a":0,"d":0,"c":0},{"w":1407628800,"a":0,"d":0,"c":0},{"w":1408233600,"a":0,"d":0,"c":0},{"w":1408838400,"a":0,"d":0,"c":0},{"w":1409443200,"a":0,"d":0,"c":0},{"w":1410048000,"a":0,"d":0,"c":0},{"w":1410652800,"a":0,"d":0,"c":0},{"w":1411257600,"a":0,"d":0,"c":0},{"w":1411862400,"a":0,"d":0,"c":0},{"w":1412467200,"a":0,"d":0,"c":0},{"w":1413072000,"a":0,"d":0,"c":0},{"w":1413676800,"a":0,"d":0,"c":0},{"w":1414281600,"a":0,"d":0,"c":0},{"w":1414886400,"a":0,"d":0,"c":0},{"w":1415491200,"a":0,"d":0,"c":0},{"w":1416096000,"a":0,"d":0,"c":0},{"w":1416700800,"a":0,"d":0,"c":0},{"w":1417305600,"a":0,"d":0,"c":0},{"w":1417910400,"a":0,"d":0,"c":0},{"w":1418515200,"a":0,"d":0,"c":0},{"w":1419120000,"a":0,"d":0,"c":0},{"w":1419724800,"a":0,"d":0,"c":0},{"w":1420329600,"a":0,"d":0,"c":0},{"w":1420934400,"a":0,"d":0,"c":0},{"w":1421539200,"a":0,"d":0,"c":0},{"w":1422144000,"a":0,"d":0,"c":0},{"w":1422748800,"a":0,"d":0,"c":0},{"w":1423353600,"a":0,"d":0,"c":0},{"w":1423958400,"a":0,"d":0,"c":0},{"w":1424563200,"a":0,"d":0,"c":0},{"w":1425168000,"a":0,"d":0,"c":0},{"w":1425772800,"a":0,"d":0,"c":0},{"w":1426377600,"a":0,"d":0,"c":0},{"w":1426982400,"a":0,"d":0,"c":0},{"w":1427587200,"a":0,"d":0,"c":0},{"w":1428192000,"a":0,"d":0,"c":0},{"w":1428796800,"a":0,"d":0,"c":0},{"w":1429401600,"a":0,"d":0,"c":0},{"w":1430006400,"a":0,"d":0,"c":0},{"w":1430611200,"a":0,"d":0,"c":0},{"w":1431216000,"a":0,"d":0,"c":0},{"w":1431820800,"a":0,"d":0,"c":0},{"w":1432425600,"a":0,"d":0,"c":0},{"w":1433030400,"a":0,"d":0,"c":0},{"w":1433635200,"a":0,"d":0,"c":0},{"w":1434240000,"a":0,"d":0,"c":0},{"w":1434844800,"a":0,"d":0,"c":0},{"w":1435449600,"a":0,"d":0,"c":0},{"w":1436054400,"a":0,"d":0,"c":0},{"w":1436659200,"a":0,"d":0,"c":0},{"w":1437264000,"a":0,"d":0,"c":0},{"w":1437868800,"a":0,"d":0,"c":0},{"w":1438473600,"a":0,"d":0,"c":0},{"w":1439078400,"a":0,"d":0,"c":0},{"w":1439683200,"a":0,"d":0,"c":0},{"w":1440288000,"a":0,"d":0,"c":0},{"w":1440892800,"a":0,"d":0,"c":0},{"w":1441497600,"a":0,"d":0,"c":0},{"w":1442102400,"a":0,"d":0,"c":0},{"w":1442707200,"a":0,"d":0,"c":0},{"w":1443312000,"a":0,"d":0,"c":0},{"w":1443916800,"a":0,"d":0,"c":0},{"w":1444521600,"a":0,"d":0,"c":0},{"w":1445126400,"a":0,"d":0,"c":0},{"w":1445731200,"a":0,"d":0,"c":0},{"w":1446336000,"a":0,"d":0,"c":0},{"w":1446940800,"a":0,"d":0,"c":0},{"w":1447545600,"a":0,"d":0,"c":0},{"w":1448150400,"a":0,"d":0,"c":0},{"w":1448755200,"a":0,"d":0,"c":0},{"w":1449360000,"a":0,"d":0,"c":0},{"w":1449964800,"a":0,"d":0,"c":0},{"w":1450569600,"a":0,"d":0,"c":0},{"w":1451174400,"a":0,"d":0,"c":0},{"w":1451779200,"a":0,"d":0,"c":0},{"w":1452384000,"a":0,"d":0,"c":0},{"w":1452988800,"a":0,"d":0,"c":0},{"w":1453593600,"a":0,"d":0,"c":0},{"w":1454198400,"a":0,"d":0,"c":0},{"w":1454803200,"a":0,"d":0,"c":0},{"w":1455408000,"a":0,"d":0,"c":0},{"w":1456012800,"a":0,"d":0,"c":0},{"w":1456617600,"a":0,"d":0,"c":0},{"w":1457222400,"a":0,"d":0,"c":0},{"w":1457827200,"a":0,"d":0,"c":0},{"w":1458432000,"a":0,"d":0,"c":0},{"w":1459036800,"a":0,"d":0,"c":0},{"w":1459641600,"a":0,"d":0,"c":0},{"w":1460246400,"a":0,"d":0,"c":0},{"w":1460851200,"a":0,"d":0,"c":0},{"w":1461456000,"a":0,"d":0,"c":0},{"w":1462060800,"a":0,"d":0,"c":0},{"w":1462665600,"a":0,"d":0,"c":0},{"w":1463270400,"a":0,"d":0,"c":0},{"w":1463875200,"a":0,"d":0,"c":0},{"w":1464480000,"a":0,"d":0,"c":0},{"w":1465084800,"a":0,"d":0,"c":0},{"w":1465689600,"a":0,"d":0,"c":0},{"w":1466294400,"a":0,"d":0,"c":0},{"w":1466899200,"a":0,"d":0,"c":0},{"w":1467504000,"a":0,"d":0,"c":0},{"w":1468108800,"a":0,"d":0,"c":0},{"w":1468713600,"a":0,"d":0,"c":0},{"w":1469318400,"a":0,"d":0,"c":0},{"w":1469923200,"a":0,"d":0,"c":0},{"w":1470528000,"a":0,"d":0,"c":0},{"w":1471132800,"a":0,"d":0,"c":0},{"w":1471737600,"a":0,"d":0,"c":0},{"w":1472342400,"a":0,"d":0,"c":0},{"w":1472947200,"a":0,"d":0,"c":0},{"w":1473552000,"a":0,"d":0,"c":0},{"w":1474156800,"a":0,"d":0,"c":0},{"w":1474761600,"a":0,"d":0,"c":0},{"w":1475366400,"a":0,"d":0,"c":0},{"w":1475971200,"a":0,"d":0,"c":0},{"w":1476576000,"a":0,"d":0,"c":0},{"w":1477180800,"a":0,"d":0,"c":0},{"w":1477785600,"a":0,"d":0,"c":0},{"w":1478390400,"a":0,"d":0,"c":0},{"w":1478995200,"a":0,"d":0,"c":0},{"w":1479600000,"a":0,"d":0,"c":0},{"w":1480204800,"a":0,"d":0,"c":0},{"w":1480809600,"a":0,"d":0,"c":0},{"w":1481414400,"a":0,"d":0,"c":0},{"w":1482019200,"a":0,"d":0,"c":0},{"w":1482624000,"a":0,"d":0,"c":0},{"w":1483228800,"a":0,"d":0,"c":0},{"w":1483833600,"a":0,"d":0,"c":0},{"w":1484438400,"a":0,"d":0,"c":0},{"w":1485043200,"a":0,"d":0,"c":0},{"w":1485648000,"a":0,"d":0,"c":0},{"w":1486252800,"a":0,"d":0,"c":0},{"w":1486857600,"a":0,"d":0,"c":0},{"w":1487462400,"a":0,"d":0,"c":0},{"w":1488067200,"a":0,"d":0,"c":0},{"w":1488672000,"a":0,"d":0,"c":0},{"w":1489276800,"a":0,"d":0,"c":0},{"w":1489881600,"a":0,"d":0,"c":0},{"w":1490486400,"a":0,"d":0,"c":0},{"w":1491091200,"a":0,"d":0,"c":0},{"w":1491696000,"a":0,"d":0,"c":0},{"w":1492300800,"a":0,"d":0,"c":0},{"w":1492905600,"a":0,"d":0,"c":0},{"w":1493510400,"a":0,"d":0,"c":0},{"w":1494115200,"a":0,"d":0,"c":0},{"w":1494720000,"a":0,"d":0,"c":0},{"w":1495324800,"a":0,"d":0,"c":0},{"w":1495929600,"a":0,"d":0,"c":0},{"w":1496534400,"a":0,"d":0,"c":0},{"w":1497139200,"a":0,"d":0,"c":0},{"w":1497744000,"a":0,"d":0,"c":0},{"w":1498348800,"a":0,"d":0,"c":0},{"w":1498953600,"a":0,"d":0,"c":0},{"w":1499558400,"a":0,"d":0,"c":0},{"w":1500163200,"a":0,"d":0,"c":0},{"w":1500768000,"a":0,"d":0,"c":0},{"w":1501372800,"a":0,"d":0,"c":0},{"w":1501977600,"a":0,"d":0,"c":0},{"w":1502582400,"a":0,"d":0,"c":0},{"w":1503187200,"a":0,"d":0,"c":0},{"w":1503792000,"a":0,"d":0,"c":0},{"w":1504396800,"a":0,"d":0,"c":0},{"w":1505001600,"a":0,"d":0,"c":0},{"w":1505606400,"a":0,"d":0,"c":0},{"w":1506211200,"a":0,"d":0,"c":0},{"w":1506816000,"a":0,"d":0,"c":0},{"w":1507420800,"a":0,"d":0,"c":0},{"w":1508025600,"a":0,"d":0,"c":0},{"w":1508630400,"a":0,"d":0,"c":0},{"w":1509235200,"a":0,"d":0,"c":0},{"w":1509840000,"a":0,"d":0,"c":0},{"w":1510444800,"a":0,"d":0,"c":0},{"w":1511049600,"a":0,"d":0,"c":0},{"w":1511654400,"a":0,"d":0,"c":0},{"w":1512259200,"a":0,"d":0,"c":0},{"w":1512864000,"a":0,"d":0,"c":0},{"w":1513468800,"a":0,"d":0,"c":0},{"w":1514073600,"a":0,"d":0,"c":0},{"w":1514678400,"a":0,"d":0,"c":0},{"w":1515283200,"a":0,"d":0,"c":0},{"w":1515888000,"a":0,"d":0,"c":0},{"w":1516492800,"a":0,"d":0,"c":0},{"w":1517097600,"a":0,"d":0,"c":0},{"w":1517702400,"a":0,"d":0,"c":0},{"w":1518307200,"a":0,"d":0,"c":0},{"w":1518912000,"a":0,"d":0,"c":0},{"w":1519516800,"a":0,"d":0,"c":0},{"w":1520121600,"a":0,"d":0,"c":0},{"w":1520726400,"a":0,"d":0,"c":0},{"w":1521331200,"a":0,"d":0,"c":0},{"w":1521936000,"a":0,"d":0,"c":0},{"w":1522540800,"a":0,"d":0,"c":0},{"w":1523145600,"a":0,"d":0,"c":0},{"w":1523750400,"a":0,"d":0,"c":0},{"w":1524355200,"a":0,"d":0,"c":0},{"w":1524960000,"a":0,"d":0,"c":0},{"w":1525564800,"a":0,"d":0,"c":0},{"w":1526169600,"a":0,"d":0,"c":0},{"w":1526774400,"a":0,"d":0,"c":0},{"w":1527379200,"a":0,"d":0,"c":0},{"w":1527984000,"a":0,"d":0,"c":0},{"w":1528588800,"a":0,"d":0,"c":0},{"w":1529193600,"a":0,"d":0,"c":0},{"w":1529798400,"a":0,"d":0,"c":0},{"w":1530403200,"a":0,"d":0,"c":0},{"w":1531008000,"a":0,"d":0,"c":0},{"w":1531612800,"a":0,"d":0,"c":0},{"w":1532217600,"a":0,"d":0,"c":0},{"w":1532822400,"a":0,"d":0,"c":0},{"w":1533427200,"a":0,"d":0,"c":0},{"w":1534032000,"a":0,"d":0,"c":0},{"w":1534636800,"a":0,"d":0,"c":0},{"w":1535241600,"a":0,"d":0,"c":0},{"w":1535846400,"a":0,"d":0,"c":0},{"w":1536451200,"a":0,"d":0,"c":0},{"w":1537056000,"a":0,"d":0,"c":0},{"w":1537660800,"a":0,"d":0,"c":0},{"w":1538265600,"a":0,"d":0,"c":0},{"w":1538870400,"a":0,"d":0,"c":0},{"w":1539475200,"a":0,"d":0,"c":0},{"w":1540080000,"a":0,"d":0,"c":0},{"w":1540684800,"a":0,"d":0,"c":0},{"w":1541289600,"a":0,"d":0,"c":0},{"w":1541894400,"a":0,"d":0,"c":0},{"w":1542499200,"a":0,"d":0,"c":0},{"w":1543104000,"a":0,"d":0,"c":0},{"w":1543708800,"a":0,"d":0,"c":0},{"w":1544313600,"a":0,"d":0,"c":0},{"w":1544918400,"a":0,"d":0,"c":0},{"w":1545523200,"a":0,"d":0,"c":0},{"w":1546128000,"a":0,"d":0,"c":0},{"w":1546732800,"a":0,"d":0,"c":0},{"w":1547337600,"a":0,"d":0,"c":0},{"w":1547942400,"a":0,"d":0,"c":0},{"w":1548547200,"a":0,"d":0,"c":0},{"w":1549152000,"a":0,"d":0,"c":0},{"w":1549756800,"a":0,"d":0,"c":0},{"w":1550361600,"a":0,"d":0,"c":0},{"w":1550966400,"a":0,"d":0,"c":0},{"w":1551571200,"a":0,"d":0,"c":0},{"w":1552176000,"a":0,"d":0,"c":0},{"w":1552780800,"a":0,"d":0,"c":0},{"w":1553385600,"a":0,"d":0,"c":0},{"w":1553990400,"a":0,"d":0,"c":0},{"w":1554595200,"a":0,"d":0,"c":0},{"w":1555200000,"a":0,"d":0,"c":0},{"w":1555804800,"a":0,"d":0,"c":0},{"w":1556409600,"a":0,"d":0,"c":0},{"w":1557014400,"a":0,"d":0,"c":0},{"w":1557619200,"a":0,"d":0,"c":0},{"w":1558224000,"a":0,"d":0,"c":0},{"w":1558828800,"a":0,"d":0,"c":0},{"w":1559433600,"a":0,"d":0,"c":0},{"w":1560038400,"a":0,"d":0,"c":0},{"w":1560643200,"a":0,"d":0,"c":0},{"w":1561248000,"a":0,"d":0,"c":0},{"w":1561852800,"a":0,"d":0,"c":0},{"w":1562457600,"a":0,"d":0,"c":0}],"author":{"login":"CaptainKali","id":6105829,"node_id":"MDQ6VXNlcjYxMDU4Mjk=","avatar_url":"https://avatars3.githubusercontent.com/u/6105829?v=4","gravatar_id":"","url":"https://api.github.com/users/CaptainKali","html_url":"https://github.com/CaptainKali","followers_url":"https://api.github.com/users/CaptainKali/followers","following_url":"https://api.github.com/users/CaptainKali/following{/other_user}","gists_url":"https://api.github.com/users/CaptainKali/gists{/gist_id}","starred_url":"https://api.github.com/users/CaptainKali/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CaptainKali/subscriptions","organizations_url":"https://api.github.com/users/CaptainKali/orgs","repos_url":"https://api.github.com/users/CaptainKali/repos","events_url":"https://api.github.com/users/CaptainKali/events{/privacy}","received_events_url":"https://api.github.com/users/CaptainKali/received_events","type":"User","site_admin":false}},{"total":2,"weeks":[{"w":1215302400,"a":0,"d":0,"c":0},{"w":1215907200,"a":0,"d":0,"c":0},{"w":1216512000,"a":0,"d":0,"c":0},{"w":1217116800,"a":0,"d":0,"c":0},{"w":1217721600,"a":0,"d":0,"c":0},{"w":1218326400,"a":0,"d":0,"c":0},{"w":1218931200,"a":0,"d":0,"c":0},{"w":1219536000,"a":0,"d":0,"c":0},{"w":1220140800,"a":0,"d":0,"c":0},{"w":1220745600,"a":0,"d":0,"c":0},{"w":1221350400,"a":0,"d":0,"c":0},{"w":1221955200,"a":0,"d":0,"c":0},{"w":1222560000,"a":0,"d":0,"c":0},{"w":1223164800,"a":0,"d":0,"c":0},{"w":1223769600,"a":0,"d":0,"c":0},{"w":1224374400,"a":0,"d":0,"c":0},{"w":1224979200,"a":0,"d":0,"c":0},{"w":1225584000,"a":0,"d":0,"c":0},{"w":1226188800,"a":0,"d":0,"c":0},{"w":1226793600,"a":0,"d":0,"c":0},{"w":1227398400,"a":0,"d":0,"c":0},{"w":1228003200,"a":0,"d":0,"c":0},{"w":1228608000,"a":0,"d":0,"c":0},{"w":1229212800,"a":0,"d":0,"c":0},{"w":1229817600,"a":0,"d":0,"c":0},{"w":1230422400,"a":0,"d":0,"c":0},{"w":1231027200,"a":0,"d":0,"c":0},{"w":1231632000,"a":0,"d":0,"c":0},{"w":1232236800,"a":0,"d":0,"c":0},{"w":1232841600,"a":0,"d":0,"c":0},{"w":1233446400,"a":0,"d":0,"c":0},{"w":1234051200,"a":0,"d":0,"c":0},{"w":1234656000,"a":0,"d":0,"c":0},{"w":1235260800,"a":0,"d":0,"c":0},{"w":1235865600,"a":0,"d":0,"c":0},{"w":1236470400,"a":0,"d":0,"c":0},{"w":1237075200,"a":0,"d":0,"c":0},{"w":1237680000,"a":0,"d":0,"c":0},{"w":1238284800,"a":0,"d":0,"c":0},{"w":1238889600,"a":0,"d":0,"c":0},{"w":1239494400,"a":0,"d":0,"c":0},{"w":1240099200,"a":0,"d":0,"c":0},{"w":1240704000,"a":0,"d":0,"c":0},{"w":1241308800,"a":0,"d":0,"c":0},{"w":1241913600,"a":0,"d":0,"c":0},{"w":1242518400,"a":0,"d":0,"c":0},{"w":1243123200,"a":0,"d":0,"c":0},{"w":1243728000,"a":0,"d":0,"c":0},{"w":1244332800,"a":0,"d":0,"c":0},{"w":1244937600,"a":0,"d":0,"c":0},{"w":1245542400,"a":0,"d":0,"c":0},{"w":1246147200,"a":0,"d":0,"c":0},{"w":1246752000,"a":0,"d":0,"c":0},{"w":1247356800,"a":0,"d":0,"c":0},{"w":1247961600,"a":0,"d":0,"c":0},{"w":1248566400,"a":0,"d":0,"c":0},{"w":1249171200,"a":0,"d":0,"c":0},{"w":1249776000,"a":0,"d":0,"c":0},{"w":1250380800,"a":0,"d":0,"c":0},{"w":1250985600,"a":0,"d":0,"c":0},{"w":1251590400,"a":0,"d":0,"c":0},{"w":1252195200,"a":0,"d":0,"c":0},{"w":1252800000,"a":0,"d":0,"c":0},{"w":1253404800,"a":0,"d":0,"c":0},{"w":1254009600,"a":0,"d":0,"c":0},{"w":1254614400,"a":0,"d":0,"c":0},{"w":1255219200,"a":0,"d":0,"c":0},{"w":1255824000,"a":0,"d":0,"c":0},{"w":1256428800,"a":0,"d":0,"c":0},{"w":1257033600,"a":0,"d":0,"c":0},{"w":1257638400,"a":0,"d":0,"c":0},{"w":1258243200,"a":0,"d":0,"c":0},{"w":1258848000,"a":0,"d":0,"c":0},{"w":1259452800,"a":0,"d":0,"c":0},{"w":1260057600,"a":0,"d":0,"c":0},{"w":1260662400,"a":0,"d":0,"c":0},{"w":1261267200,"a":0,"d":0,"c":0},{"w":1261872000,"a":0,"d":0,"c":0},{"w":1262476800,"a":0,"d":0,"c":0},{"w":1263081600,"a":0,"d":0,"c":0},{"w":1263686400,"a":0,"d":0,"c":0},{"w":1264291200,"a":0,"d":0,"c":0},{"w":1264896000,"a":0,"d":0,"c":0},{"w":1265500800,"a":0,"d":0,"c":0},{"w":1266105600,"a":0,"d":0,"c":0},{"w":1266710400,"a":0,"d":0,"c":0},{"w":1267315200,"a":0,"d":0,"c":0},{"w":1267920000,"a":0,"d":0,"c":0},{"w":1268524800,"a":0,"d":0,"c":0},{"w":1269129600,"a":0,"d":0,"c":0},{"w":1269734400,"a":0,"d":0,"c":0},{"w":1270339200,"a":0,"d":0,"c":0},{"w":1270944000,"a":0,"d":0,"c":0},{"w":1271548800,"a":0,"d":0,"c":0},{"w":1272153600,"a":0,"d":0,"c":0},{"w":1272758400,"a":0,"d":0,"c":0},{"w":1273363200,"a":0,"d":0,"c":0},{"w":1273968000,"a":0,"d":0,"c":0},{"w":1274572800,"a":0,"d":0,"c":0},{"w":1275177600,"a":0,"d":0,"c":0},{"w":1275782400,"a":0,"d":0,"c":0},{"w":1276387200,"a":0,"d":0,"c":0},{"w":1276992000,"a":0,"d":0,"c":0},{"w":1277596800,"a":0,"d":0,"c":0},{"w":1278201600,"a":0,"d":0,"c":0},{"w":1278806400,"a":0,"d":0,"c":0},{"w":1279411200,"a":0,"d":0,"c":0},{"w":1280016000,"a":0,"d":0,"c":0},{"w":1280620800,"a":0,"d":0,"c":0},{"w":1281225600,"a":0,"d":0,"c":0},{"w":1281830400,"a":0,"d":0,"c":0},{"w":1282435200,"a":0,"d":0,"c":0},{"w":1283040000,"a":0,"d":0,"c":0},{"w":1283644800,"a":0,"d":0,"c":0},{"w":1284249600,"a":0,"d":0,"c":0},{"w":1284854400,"a":0,"d":0,"c":0},{"w":1285459200,"a":0,"d":0,"c":0},{"w":1286064000,"a":0,"d":0,"c":0},{"w":1286668800,"a":0,"d":0,"c":0},{"w":1287273600,"a":0,"d":0,"c":0},{"w":1287878400,"a":0,"d":0,"c":0},{"w":1288483200,"a":0,"d":0,"c":0},{"w":1289088000,"a":0,"d":0,"c":0},{"w":1289692800,"a":0,"d":0,"c":0},{"w":1290297600,"a":0,"d":0,"c":0},{"w":1290902400,"a":0,"d":0,"c":0},{"w":1291507200,"a":0,"d":0,"c":0},{"w":1292112000,"a":0,"d":0,"c":0},{"w":1292716800,"a":0,"d":0,"c":0},{"w":1293321600,"a":0,"d":0,"c":0},{"w":1293926400,"a":0,"d":0,"c":0},{"w":1294531200,"a":0,"d":0,"c":0},{"w":1295136000,"a":0,"d":0,"c":0},{"w":1295740800,"a":0,"d":0,"c":0},{"w":1296345600,"a":0,"d":0,"c":0},{"w":1296950400,"a":0,"d":0,"c":0},{"w":1297555200,"a":0,"d":0,"c":0},{"w":1298160000,"a":0,"d":0,"c":0},{"w":1298764800,"a":0,"d":0,"c":0},{"w":1299369600,"a":0,"d":0,"c":0},{"w":1299974400,"a":0,"d":0,"c":0},{"w":1300579200,"a":0,"d":0,"c":0},{"w":1301184000,"a":0,"d":0,"c":0},{"w":1301788800,"a":0,"d":0,"c":0},{"w":1302393600,"a":0,"d":0,"c":0},{"w":1302998400,"a":0,"d":0,"c":0},{"w":1303603200,"a":0,"d":0,"c":0},{"w":1304208000,"a":0,"d":0,"c":0},{"w":1304812800,"a":0,"d":0,"c":0},{"w":1305417600,"a":0,"d":0,"c":0},{"w":1306022400,"a":0,"d":0,"c":0},{"w":1306627200,"a":0,"d":0,"c":0},{"w":1307232000,"a":0,"d":0,"c":0},{"w":1307836800,"a":0,"d":0,"c":0},{"w":1308441600,"a":0,"d":0,"c":0},{"w":1309046400,"a":0,"d":0,"c":0},{"w":1309651200,"a":0,"d":0,"c":0},{"w":1310256000,"a":0,"d":0,"c":0},{"w":1310860800,"a":0,"d":0,"c":0},{"w":1311465600,"a":0,"d":0,"c":0},{"w":1312070400,"a":0,"d":0,"c":0},{"w":1312675200,"a":0,"d":0,"c":0},{"w":1313280000,"a":0,"d":0,"c":0},{"w":1313884800,"a":0,"d":0,"c":0},{"w":1314489600,"a":0,"d":0,"c":0},{"w":1315094400,"a":0,"d":0,"c":0},{"w":1315699200,"a":0,"d":0,"c":0},{"w":1316304000,"a":0,"d":0,"c":0},{"w":1316908800,"a":0,"d":0,"c":0},{"w":1317513600,"a":0,"d":0,"c":0},{"w":1318118400,"a":0,"d":0,"c":0},{"w":1318723200,"a":0,"d":0,"c":0},{"w":1319328000,"a":0,"d":0,"c":0},{"w":1319932800,"a":0,"d":0,"c":0},{"w":1320537600,"a":0,"d":0,"c":0},{"w":1321142400,"a":0,"d":0,"c":0},{"w":1321747200,"a":0,"d":0,"c":0},{"w":1322352000,"a":0,"d":0,"c":0},{"w":1322956800,"a":0,"d":0,"c":0},{"w":1323561600,"a":0,"d":0,"c":0},{"w":1324166400,"a":0,"d":0,"c":0},{"w":1324771200,"a":0,"d":0,"c":0},{"w":1325376000,"a":0,"d":0,"c":0},{"w":1325980800,"a":0,"d":0,"c":0},{"w":1326585600,"a":0,"d":0,"c":0},{"w":1327190400,"a":0,"d":0,"c":0},{"w":1327795200,"a":0,"d":0,"c":0},{"w":1328400000,"a":0,"d":0,"c":0},{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0},{"w":1384646400,"a":0,"d":0,"c":0},{"w":1385251200,"a":0,"d":0,"c":0},{"w":1385856000,"a":0,"d":0,"c":0},{"w":1386460800,"a":0,"d":0,"c":0},{"w":1387065600,"a":0,"d":0,"c":0},{"w":1387670400,"a":0,"d":0,"c":0},{"w":1388275200,"a":0,"d":0,"c":0},{"w":1388880000,"a":0,"d":0,"c":0},{"w":1389484800,"a":0,"d":0,"c":0},{"w":1390089600,"a":0,"d":0,"c":0},{"w":1390694400,"a":0,"d":0,"c":0},{"w":1391299200,"a":0,"d":0,"c":0},{"w":1391904000,"a":0,"d":0,"c":0},{"w":1392508800,"a":0,"d":0,"c":0},{"w":1393113600,"a":0,"d":0,"c":0},{"w":1393718400,"a":0,"d":0,"c":0},{"w":1394323200,"a":0,"d":0,"c":0},{"w":1394928000,"a":0,"d":0,"c":0},{"w":1395532800,"a":0,"d":0,"c":0},{"w":1396137600,"a":0,"d":0,"c":0},{"w":1396742400,"a":0,"d":0,"c":0},{"w":1397347200,"a":0,"d":0,"c":0},{"w":1397952000,"a":0,"d":0,"c":0},{"w":1398556800,"a":0,"d":0,"c":0},{"w":1399161600,"a":0,"d":0,"c":0},{"w":1399766400,"a":0,"d":0,"c":0},{"w":1400371200,"a":0,"d":0,"c":0},{"w":1400976000,"a":0,"d":0,"c":0},{"w":1401580800,"a":0,"d":0,"c":0},{"w":1402185600,"a":0,"d":0,"c":0},{"w":1402790400,"a":0,"d":0,"c":0},{"w":1403395200,"a":0,"d":0,"c":0},{"w":1404000000,"a":0,"d":0,"c":0},{"w":1404604800,"a":0,"d":0,"c":0},{"w":1405209600,"a":0,"d":0,"c":0},{"w":1405814400,"a":0,"d":0,"c":0},{"w":1406419200,"a":0,"d":0,"c":0},{"w":1407024000,"a":0,"d":0,"c":0},{"w":1407628800,"a":0,"d":0,"c":0},{"w":1408233600,"a":0,"d":0,"c":0},{"w":1408838400,"a":0,"d":0,"c":0},{"w":1409443200,"a":0,"d":0,"c":0},{"w":1410048000,"a":0,"d":0,"c":0},{"w":1410652800,"a":0,"d":0,"c":0},{"w":1411257600,"a":0,"d":0,"c":0},{"w":1411862400,"a":0,"d":0,"c":0},{"w":1412467200,"a":0,"d":0,"c":0},{"w":1413072000,"a":0,"d":0,"c":0},{"w":1413676800,"a":0,"d":0,"c":0},{"w":1414281600,"a":0,"d":0,"c":0},{"w":1414886400,"a":0,"d":0,"c":0},{"w":1415491200,"a":0,"d":0,"c":0},{"w":1416096000,"a":0,"d":0,"c":0},{"w":1416700800,"a":0,"d":0,"c":0},{"w":1417305600,"a":0,"d":0,"c":0},{"w":1417910400,"a":0,"d":0,"c":0},{"w":1418515200,"a":0,"d":0,"c":0},{"w":1419120000,"a":0,"d":0,"c":0},{"w":1419724800,"a":0,"d":0,"c":0},{"w":1420329600,"a":0,"d":0,"c":0},{"w":1420934400,"a":0,"d":0,"c":0},{"w":1421539200,"a":0,"d":0,"c":0},{"w":1422144000,"a":0,"d":0,"c":0},{"w":1422748800,"a":0,"d":0,"c":0},{"w":1423353600,"a":0,"d":0,"c":0},{"w":1423958400,"a":0,"d":0,"c":0},{"w":1424563200,"a":0,"d":0,"c":0},{"w":1425168000,"a":0,"d":0,"c":0},{"w":1425772800,"a":0,"d":0,"c":0},{"w":1426377600,"a":0,"d":0,"c":0},{"w":1426982400,"a":0,"d":0,"c":0},{"w":1427587200,"a":0,"d":0,"c":0},{"w":1428192000,"a":0,"d":0,"c":0},{"w":1428796800,"a":0,"d":0,"c":0},{"w":1429401600,"a":0,"d":0,"c":0},{"w":1430006400,"a":0,"d":0,"c":0},{"w":1430611200,"a":0,"d":0,"c":0},{"w":1431216000,"a":0,"d":0,"c":0},{"w":1431820800,"a":0,"d":0,"c":0},{"w":1432425600,"a":0,"d":0,"c":0},{"w":1433030400,"a":0,"d":0,"c":0},{"w":1433635200,"a":1018,"d":0,"c":1},{"w":1434240000,"a":0,"d":0,"c":0},{"w":1434844800,"a":62,"d":0,"c":1},{"w":1435449600,"a":0,"d":0,"c":0},{"w":1436054400,"a":0,"d":0,"c":0},{"w":1436659200,"a":0,"d":0,"c":0},{"w":1437264000,"a":0,"d":0,"c":0},{"w":1437868800,"a":0,"d":0,"c":0},{"w":1438473600,"a":0,"d":0,"c":0},{"w":1439078400,"a":0,"d":0,"c":0},{"w":1439683200,"a":0,"d":0,"c":0},{"w":1440288000,"a":0,"d":0,"c":0},{"w":1440892800,"a":0,"d":0,"c":0},{"w":1441497600,"a":0,"d":0,"c":0},{"w":1442102400,"a":0,"d":0,"c":0},{"w":1442707200,"a":0,"d":0,"c":0},{"w":1443312000,"a":0,"d":0,"c":0},{"w":1443916800,"a":0,"d":0,"c":0},{"w":1444521600,"a":0,"d":0,"c":0},{"w":1445126400,"a":0,"d":0,"c":0},{"w":1445731200,"a":0,"d":0,"c":0},{"w":1446336000,"a":0,"d":0,"c":0},{"w":1446940800,"a":0,"d":0,"c":0},{"w":1447545600,"a":0,"d":0,"c":0},{"w":1448150400,"a":0,"d":0,"c":0},{"w":1448755200,"a":0,"d":0,"c":0},{"w":1449360000,"a":0,"d":0,"c":0},{"w":1449964800,"a":0,"d":0,"c":0},{"w":1450569600,"a":0,"d":0,"c":0},{"w":1451174400,"a":0,"d":0,"c":0},{"w":1451779200,"a":0,"d":0,"c":0},{"w":1452384000,"a":0,"d":0,"c":0},{"w":1452988800,"a":0,"d":0,"c":0},{"w":1453593600,"a":0,"d":0,"c":0},{"w":1454198400,"a":0,"d":0,"c":0},{"w":1454803200,"a":0,"d":0,"c":0},{"w":1455408000,"a":0,"d":0,"c":0},{"w":1456012800,"a":0,"d":0,"c":0},{"w":1456617600,"a":0,"d":0,"c":0},{"w":1457222400,"a":0,"d":0,"c":0},{"w":1457827200,"a":0,"d":0,"c":0},{"w":1458432000,"a":0,"d":0,"c":0},{"w":1459036800,"a":0,"d":0,"c":0},{"w":1459641600,"a":0,"d":0,"c":0},{"w":1460246400,"a":0,"d":0,"c":0},{"w":1460851200,"a":0,"d":0,"c":0},{"w":1461456000,"a":0,"d":0,"c":0},{"w":1462060800,"a":0,"d":0,"c":0},{"w":1462665600,"a":0,"d":0,"c":0},{"w":1463270400,"a":0,"d":0,"c":0},{"w":1463875200,"a":0,"d":0,"c":0},{"w":1464480000,"a":0,"d":0,"c":0},{"w":1465084800,"a":0,"d":0,"c":0},{"w":1465689600,"a":0,"d":0,"c":0},{"w":1466294400,"a":0,"d":0,"c":0},{"w":1466899200,"a":0,"d":0,"c":0},{"w":1467504000,"a":0,"d":0,"c":0},{"w":1468108800,"a":0,"d":0,"c":0},{"w":1468713600,"a":0,"d":0,"c":0},{"w":1469318400,"a":0,"d":0,"c":0},{"w":1469923200,"a":0,"d":0,"c":0},{"w":1470528000,"a":0,"d":0,"c":0},{"w":1471132800,"a":0,"d":0,"c":0},{"w":1471737600,"a":0,"d":0,"c":0},{"w":1472342400,"a":0,"d":0,"c":0},{"w":1472947200,"a":0,"d":0,"c":0},{"w":1473552000,"a":0,"d":0,"c":0},{"w":1474156800,"a":0,"d":0,"c":0},{"w":1474761600,"a":0,"d":0,"c":0},{"w":1475366400,"a":0,"d":0,"c":0},{"w":1475971200,"a":0,"d":0,"c":0},{"w":1476576000,"a":0,"d":0,"c":0},{"w":1477180800,"a":0,"d":0,"c":0},{"w":1477785600,"a":0,"d":0,"c":0},{"w":1478390400,"a":0,"d":0,"c":0},{"w":1478995200,"a":0,"d":0,"c":0},{"w":1479600000,"a":0,"d":0,"c":0},{"w":1480204800,"a":0,"d":0,"c":0},{"w":1480809600,"a":0,"d":0,"c":0},{"w":1481414400,"a":0,"d":0,"c":0},{"w":1482019200,"a":0,"d":0,"c":0},{"w":1482624000,"a":0,"d":0,"c":0},{"w":1483228800,"a":0,"d":0,"c":0},{"w":1483833600,"a":0,"d":0,"c":0},{"w":1484438400,"a":0,"d":0,"c":0},{"w":1485043200,"a":0,"d":0,"c":0},{"w":1485648000,"a":0,"d":0,"c":0},{"w":1486252800,"a":0,"d":0,"c":0},{"w":1486857600,"a":0,"d":0,"c":0},{"w":1487462400,"a":0,"d":0,"c":0},{"w":1488067200,"a":0,"d":0,"c":0},{"w":1488672000,"a":0,"d":0,"c":0},{"w":1489276800,"a":0,"d":0,"c":0},{"w":1489881600,"a":0,"d":0,"c":0},{"w":1490486400,"a":0,"d":0,"c":0},{"w":1491091200,"a":0,"d":0,"c":0},{"w":1491696000,"a":0,"d":0,"c":0},{"w":1492300800,"a":0,"d":0,"c":0},{"w":1492905600,"a":0,"d":0,"c":0},{"w":1493510400,"a":0,"d":0,"c":0},{"w":1494115200,"a":0,"d":0,"c":0},{"w":1494720000,"a":0,"d":0,"c":0},{"w":1495324800,"a":0,"d":0,"c":0},{"w":1495929600,"a":0,"d":0,"c":0},{"w":1496534400,"a":0,"d":0,"c":0},{"w":1497139200,"a":0,"d":0,"c":0},{"w":1497744000,"a":0,"d":0,"c":0},{"w":1498348800,"a":0,"d":0,"c":0},{"w":1498953600,"a":0,"d":0,"c":0},{"w":1499558400,"a":0,"d":0,"c":0},{"w":1500163200,"a":0,"d":0,"c":0},{"w":1500768000,"a":0,"d":0,"c":0},{"w":1501372800,"a":0,"d":0,"c":0},{"w":1501977600,"a":0,"d":0,"c":0},{"w":1502582400,"a":0,"d":0,"c":0},{"w":1503187200,"a":0,"d":0,"c":0},{"w":1503792000,"a":0,"d":0,"c":0},{"w":1504396800,"a":0,"d":0,"c":0},{"w":1505001600,"a":0,"d":0,"c":0},{"w":1505606400,"a":0,"d":0,"c":0},{"w":1506211200,"a":0,"d":0,"c":0},{"w":1506816000,"a":0,"d":0,"c":0},{"w":1507420800,"a":0,"d":0,"c":0},{"w":1508025600,"a":0,"d":0,"c":0},{"w":1508630400,"a":0,"d":0,"c":0},{"w":1509235200,"a":0,"d":0,"c":0},{"w":1509840000,"a":0,"d":0,"c":0},{"w":1510444800,"a":0,"d":0,"c":0},{"w":1511049600,"a":0,"d":0,"c":0},{"w":1511654400,"a":0,"d":0,"c":0},{"w":1512259200,"a":0,"d":0,"c":0},{"w":1512864000,"a":0,"d":0,"c":0},{"w":1513468800,"a":0,"d":0,"c":0},{"w":1514073600,"a":0,"d":0,"c":0},{"w":1514678400,"a":0,"d":0,"c":0},{"w":1515283200,"a":0,"d":0,"c":0},{"w":1515888000,"a":0,"d":0,"c":0},{"w":1516492800,"a":0,"d":0,"c":0},{"w":1517097600,"a":0,"d":0,"c":0},{"w":1517702400,"a":0,"d":0,"c":0},{"w":1518307200,"a":0,"d":0,"c":0},{"w":1518912000,"a":0,"d":0,"c":0},{"w":1519516800,"a":0,"d":0,"c":0},{"w":1520121600,"a":0,"d":0,"c":0},{"w":1520726400,"a":0,"d":0,"c":0},{"w":1521331200,"a":0,"d":0,"c":0},{"w":1521936000,"a":0,"d":0,"c":0},{"w":1522540800,"a":0,"d":0,"c":0},{"w":1523145600,"a":0,"d":0,"c":0},{"w":1523750400,"a":0,"d":0,"c":0},{"w":1524355200,"a":0,"d":0,"c":0},{"w":1524960000,"a":0,"d":0,"c":0},{"w":1525564800,"a":0,"d":0,"c":0},{"w":1526169600,"a":0,"d":0,"c":0},{"w":1526774400,"a":0,"d":0,"c":0},{"w":1527379200,"a":0,"d":0,"c":0},{"w":1527984000,"a":0,"d":0,"c":0},{"w":1528588800,"a":0,"d":0,"c":0},{"w":1529193600,"a":0,"d":0,"c":0},{"w":1529798400,"a":0,"d":0,"c":0},{"w":1530403200,"a":0,"d":0,"c":0},{"w":1531008000,"a":0,"d":0,"c":0},{"w":1531612800,"a":0,"d":0,"c":0},{"w":1532217600,"a":0,"d":0,"c":0},{"w":1532822400,"a":0,"d":0,"c":0},{"w":1533427200,"a":0,"d":0,"c":0},{"w":1534032000,"a":0,"d":0,"c":0},{"w":1534636800,"a":0,"d":0,"c":0},{"w":1535241600,"a":0,"d":0,"c":0},{"w":1535846400,"a":0,"d":0,"c":0},{"w":1536451200,"a":0,"d":0,"c":0},{"w":1537056000,"a":0,"d":0,"c":0},{"w":1537660800,"a":0,"d":0,"c":0},{"w":1538265600,"a":0,"d":0,"c":0},{"w":1538870400,"a":0,"d":0,"c":0},{"w":1539475200,"a":0,"d":0,"c":0},{"w":1540080000,"a":0,"d":0,"c":0},{"w":1540684800,"a":0,"d":0,"c":0},{"w":1541289600,"a":0,"d":0,"c":0},{"w":1541894400,"a":0,"d":0,"c":0},{"w":1542499200,"a":0,"d":0,"c":0},{"w":1543104000,"a":0,"d":0,"c":0},{"w":1543708800,"a":0,"d":0,"c":0},{"w":1544313600,"a":0,"d":0,"c":0},{"w":1544918400,"a":0,"d":0,"c":0},{"w":1545523200,"a":0,"d":0,"c":0},{"w":1546128000,"a":0,"d":0,"c":0},{"w":1546732800,"a":0,"d":0,"c":0},{"w":1547337600,"a":0,"d":0,"c":0},{"w":1547942400,"a":0,"d":0,"c":0},{"w":1548547200,"a":0,"d":0,"c":0},{"w":1549152000,"a":0,"d":0,"c":0},{"w":1549756800,"a":0,"d":0,"c":0},{"w":1550361600,"a":0,"d":0,"c":0},{"w":1550966400,"a":0,"d":0,"c":0},{"w":1551571200,"a":0,"d":0,"c":0},{"w":1552176000,"a":0,"d":0,"c":0},{"w":1552780800,"a":0,"d":0,"c":0},{"w":1553385600,"a":0,"d":0,"c":0},{"w":1553990400,"a":0,"d":0,"c":0},{"w":1554595200,"a":0,"d":0,"c":0},{"w":1555200000,"a":0,"d":0,"c":0},{"w":1555804800,"a":0,"d":0,"c":0},{"w":1556409600,"a":0,"d":0,"c":0},{"w":1557014400,"a":0,"d":0,"c":0},{"w":1557619200,"a":0,"d":0,"c":0},{"w":1558224000,"a":0,"d":0,"c":0},{"w":1558828800,"a":0,"d":0,"c":0},{"w":1559433600,"a":0,"d":0,"c":0},{"w":1560038400,"a":0,"d":0,"c":0},{"w":1560643200,"a":0,"d":0,"c":0},{"w":1561248000,"a":0,"d":0,"c":0},{"w":1561852800,"a":0,"d":0,"c":0},{"w":1562457600,"a":0,"d":0,"c":0}],"author":{"login":"Bl4ckb0ne","id":5001005,"node_id":"MDQ6VXNlcjUwMDEwMDU=","avatar_url":"https://avatars3.githubusercontent.com/u/5001005?v=4","gravatar_id":"","url":"https://api.github.com/users/Bl4ckb0ne","html_url":"https://github.com/Bl4ckb0ne","followers_url":"https://api.github.com/users/Bl4ckb0ne/followers","following_url":"https://api.github.com/users/Bl4ckb0ne/following{/other_user}","gists_url":"https://api.github.com/users/Bl4ckb0ne/gists{/gist_id}","starred_url":"https://api.github.com/users/Bl4ckb0ne/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Bl4ckb0ne/subscriptions","organizations_url":"https://api.github.com/users/Bl4ckb0ne/orgs","repos_url":"https://api.github.com/users/Bl4ckb0ne/repos","events_url":"https://api.github.com/users/Bl4ckb0ne/events{/privacy}","received_events_url":"https://api.github.com/users/Bl4ckb0ne/received_events","type":"User","site_admin":false}},{"total":3,"weeks":[{"w":1215302400,"a":0,"d":0,"c":0},{"w":1215907200,"a":0,"d":0,"c":0},{"w":1216512000,"a":0,"d":0,"c":0},{"w":1217116800,"a":0,"d":0,"c":0},{"w":1217721600,"a":0,"d":0,"c":0},{"w":1218326400,"a":0,"d":0,"c":0},{"w":1218931200,"a":0,"d":0,"c":0},{"w":1219536000,"a":0,"d":0,"c":0},{"w":1220140800,"a":0,"d":0,"c":0},{"w":1220745600,"a":0,"d":0,"c":0},{"w":1221350400,"a":0,"d":0,"c":0},{"w":1221955200,"a":0,"d":0,"c":0},{"w":1222560000,"a":0,"d":0,"c":0},{"w":1223164800,"a":0,"d":0,"c":0},{"w":1223769600,"a":0,"d":0,"c":0},{"w":1224374400,"a":0,"d":0,"c":0},{"w":1224979200,"a":0,"d":0,"c":0},{"w":1225584000,"a":0,"d":0,"c":0},{"w":1226188800,"a":0,"d":0,"c":0},{"w":1226793600,"a":0,"d":0,"c":0},{"w":1227398400,"a":0,"d":0,"c":0},{"w":1228003200,"a":0,"d":0,"c":0},{"w":1228608000,"a":0,"d":0,"c":0},{"w":1229212800,"a":0,"d":0,"c":0},{"w":1229817600,"a":0,"d":0,"c":0},{"w":1230422400,"a":0,"d":0,"c":0},{"w":1231027200,"a":0,"d":0,"c":0},{"w":1231632000,"a":0,"d":0,"c":0},{"w":1232236800,"a":0,"d":0,"c":0},{"w":1232841600,"a":0,"d":0,"c":0},{"w":1233446400,"a":0,"d":0,"c":0},{"w":1234051200,"a":0,"d":0,"c":0},{"w":1234656000,"a":0,"d":0,"c":0},{"w":1235260800,"a":0,"d":0,"c":0},{"w":1235865600,"a":0,"d":0,"c":0},{"w":1236470400,"a":0,"d":0,"c":0},{"w":1237075200,"a":0,"d":0,"c":0},{"w":1237680000,"a":0,"d":0,"c":0},{"w":1238284800,"a":0,"d":0,"c":0},{"w":1238889600,"a":0,"d":0,"c":0},{"w":1239494400,"a":0,"d":0,"c":0},{"w":1240099200,"a":0,"d":0,"c":0},{"w":1240704000,"a":0,"d":0,"c":0},{"w":1241308800,"a":0,"d":0,"c":0},{"w":1241913600,"a":0,"d":0,"c":0},{"w":1242518400,"a":0,"d":0,"c":0},{"w":1243123200,"a":0,"d":0,"c":0},{"w":1243728000,"a":0,"d":0,"c":0},{"w":1244332800,"a":0,"d":0,"c":0},{"w":1244937600,"a":0,"d":0,"c":0},{"w":1245542400,"a":0,"d":0,"c":0},{"w":1246147200,"a":0,"d":0,"c":0},{"w":1246752000,"a":0,"d":0,"c":0},{"w":1247356800,"a":0,"d":0,"c":0},{"w":1247961600,"a":0,"d":0,"c":0},{"w":1248566400,"a":0,"d":0,"c":0},{"w":1249171200,"a":0,"d":0,"c":0},{"w":1249776000,"a":0,"d":0,"c":0},{"w":1250380800,"a":0,"d":0,"c":0},{"w":1250985600,"a":0,"d":0,"c":0},{"w":1251590400,"a":0,"d":0,"c":0},{"w":1252195200,"a":0,"d":0,"c":0},{"w":1252800000,"a":0,"d":0,"c":0},{"w":1253404800,"a":0,"d":0,"c":0},{"w":1254009600,"a":0,"d":0,"c":0},{"w":1254614400,"a":0,"d":0,"c":0},{"w":1255219200,"a":0,"d":0,"c":0},{"w":1255824000,"a":0,"d":0,"c":0},{"w":1256428800,"a":0,"d":0,"c":0},{"w":1257033600,"a":0,"d":0,"c":0},{"w":1257638400,"a":0,"d":0,"c":0},{"w":1258243200,"a":0,"d":0,"c":0},{"w":1258848000,"a":0,"d":0,"c":0},{"w":1259452800,"a":0,"d":0,"c":0},{"w":1260057600,"a":0,"d":0,"c":0},{"w":1260662400,"a":0,"d":0,"c":0},{"w":1261267200,"a":0,"d":0,"c":0},{"w":1261872000,"a":0,"d":0,"c":0},{"w":1262476800,"a":0,"d":0,"c":0},{"w":1263081600,"a":0,"d":0,"c":0},{"w":1263686400,"a":0,"d":0,"c":0},{"w":1264291200,"a":0,"d":0,"c":0},{"w":1264896000,"a":0,"d":0,"c":0},{"w":1265500800,"a":0,"d":0,"c":0},{"w":1266105600,"a":0,"d":0,"c":0},{"w":1266710400,"a":0,"d":0,"c":0},{"w":1267315200,"a":0,"d":0,"c":0},{"w":1267920000,"a":0,"d":0,"c":0},{"w":1268524800,"a":0,"d":0,"c":0},{"w":1269129600,"a":0,"d":0,"c":0},{"w":1269734400,"a":0,"d":0,"c":0},{"w":1270339200,"a":0,"d":0,"c":0},{"w":1270944000,"a":0,"d":0,"c":0},{"w":1271548800,"a":0,"d":0,"c":0},{"w":1272153600,"a":0,"d":0,"c":0},{"w":1272758400,"a":0,"d":0,"c":0},{"w":1273363200,"a":0,"d":0,"c":0},{"w":1273968000,"a":0,"d":0,"c":0},{"w":1274572800,"a":0,"d":0,"c":0},{"w":1275177600,"a":0,"d":0,"c":0},{"w":1275782400,"a":0,"d":0,"c":0},{"w":1276387200,"a":0,"d":0,"c":0},{"w":1276992000,"a":0,"d":0,"c":0},{"w":1277596800,"a":0,"d":0,"c":0},{"w":1278201600,"a":0,"d":0,"c":0},{"w":1278806400,"a":0,"d":0,"c":0},{"w":1279411200,"a":0,"d":0,"c":0},{"w":1280016000,"a":0,"d":0,"c":0},{"w":1280620800,"a":0,"d":0,"c":0},{"w":1281225600,"a":0,"d":0,"c":0},{"w":1281830400,"a":0,"d":0,"c":0},{"w":1282435200,"a":0,"d":0,"c":0},{"w":1283040000,"a":0,"d":0,"c":0},{"w":1283644800,"a":0,"d":0,"c":0},{"w":1284249600,"a":0,"d":0,"c":0},{"w":1284854400,"a":0,"d":0,"c":0},{"w":1285459200,"a":0,"d":0,"c":0},{"w":1286064000,"a":0,"d":0,"c":0},{"w":1286668800,"a":0,"d":0,"c":0},{"w":1287273600,"a":0,"d":0,"c":0},{"w":1287878400,"a":0,"d":0,"c":0},{"w":1288483200,"a":0,"d":0,"c":0},{"w":1289088000,"a":0,"d":0,"c":0},{"w":1289692800,"a":0,"d":0,"c":0},{"w":1290297600,"a":0,"d":0,"c":0},{"w":1290902400,"a":0,"d":0,"c":0},{"w":1291507200,"a":0,"d":0,"c":0},{"w":1292112000,"a":0,"d":0,"c":0},{"w":1292716800,"a":0,"d":0,"c":0},{"w":1293321600,"a":0,"d":0,"c":0},{"w":1293926400,"a":0,"d":0,"c":0},{"w":1294531200,"a":0,"d":0,"c":0},{"w":1295136000,"a":0,"d":0,"c":0},{"w":1295740800,"a":0,"d":0,"c":0},{"w":1296345600,"a":0,"d":0,"c":0},{"w":1296950400,"a":0,"d":0,"c":0},{"w":1297555200,"a":0,"d":0,"c":0},{"w":1298160000,"a":0,"d":0,"c":0},{"w":1298764800,"a":0,"d":0,"c":0},{"w":1299369600,"a":0,"d":0,"c":0},{"w":1299974400,"a":0,"d":0,"c":0},{"w":1300579200,"a":0,"d":0,"c":0},{"w":1301184000,"a":0,"d":0,"c":0},{"w":1301788800,"a":0,"d":0,"c":0},{"w":1302393600,"a":0,"d":0,"c":0},{"w":1302998400,"a":0,"d":0,"c":0},{"w":1303603200,"a":0,"d":0,"c":0},{"w":1304208000,"a":0,"d":0,"c":0},{"w":1304812800,"a":0,"d":0,"c":0},{"w":1305417600,"a":48,"d":4,"c":3},{"w":1306022400,"a":0,"d":0,"c":0},{"w":1306627200,"a":0,"d":0,"c":0},{"w":1307232000,"a":0,"d":0,"c":0},{"w":1307836800,"a":0,"d":0,"c":0},{"w":1308441600,"a":0,"d":0,"c":0},{"w":1309046400,"a":0,"d":0,"c":0},{"w":1309651200,"a":0,"d":0,"c":0},{"w":1310256000,"a":0,"d":0,"c":0},{"w":1310860800,"a":0,"d":0,"c":0},{"w":1311465600,"a":0,"d":0,"c":0},{"w":1312070400,"a":0,"d":0,"c":0},{"w":1312675200,"a":0,"d":0,"c":0},{"w":1313280000,"a":0,"d":0,"c":0},{"w":1313884800,"a":0,"d":0,"c":0},{"w":1314489600,"a":0,"d":0,"c":0},{"w":1315094400,"a":0,"d":0,"c":0},{"w":1315699200,"a":0,"d":0,"c":0},{"w":1316304000,"a":0,"d":0,"c":0},{"w":1316908800,"a":0,"d":0,"c":0},{"w":1317513600,"a":0,"d":0,"c":0},{"w":1318118400,"a":0,"d":0,"c":0},{"w":1318723200,"a":0,"d":0,"c":0},{"w":1319328000,"a":0,"d":0,"c":0},{"w":1319932800,"a":0,"d":0,"c":0},{"w":1320537600,"a":0,"d":0,"c":0},{"w":1321142400,"a":0,"d":0,"c":0},{"w":1321747200,"a":0,"d":0,"c":0},{"w":1322352000,"a":0,"d":0,"c":0},{"w":1322956800,"a":0,"d":0,"c":0},{"w":1323561600,"a":0,"d":0,"c":0},{"w":1324166400,"a":0,"d":0,"c":0},{"w":1324771200,"a":0,"d":0,"c":0},{"w":1325376000,"a":0,"d":0,"c":0},{"w":1325980800,"a":0,"d":0,"c":0},{"w":1326585600,"a":0,"d":0,"c":0},{"w":1327190400,"a":0,"d":0,"c":0},{"w":1327795200,"a":0,"d":0,"c":0},{"w":1328400000,"a":0,"d":0,"c":0},{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0},{"w":1384646400,"a":0,"d":0,"c":0},{"w":1385251200,"a":0,"d":0,"c":0},{"w":1385856000,"a":0,"d":0,"c":0},{"w":1386460800,"a":0,"d":0,"c":0},{"w":1387065600,"a":0,"d":0,"c":0},{"w":1387670400,"a":0,"d":0,"c":0},{"w":1388275200,"a":0,"d":0,"c":0},{"w":1388880000,"a":0,"d":0,"c":0},{"w":1389484800,"a":0,"d":0,"c":0},{"w":1390089600,"a":0,"d":0,"c":0},{"w":1390694400,"a":0,"d":0,"c":0},{"w":1391299200,"a":0,"d":0,"c":0},{"w":1391904000,"a":0,"d":0,"c":0},{"w":1392508800,"a":0,"d":0,"c":0},{"w":1393113600,"a":0,"d":0,"c":0},{"w":1393718400,"a":0,"d":0,"c":0},{"w":1394323200,"a":0,"d":0,"c":0},{"w":1394928000,"a":0,"d":0,"c":0},{"w":1395532800,"a":0,"d":0,"c":0},{"w":1396137600,"a":0,"d":0,"c":0},{"w":1396742400,"a":0,"d":0,"c":0},{"w":1397347200,"a":0,"d":0,"c":0},{"w":1397952000,"a":0,"d":0,"c":0},{"w":1398556800,"a":0,"d":0,"c":0},{"w":1399161600,"a":0,"d":0,"c":0},{"w":1399766400,"a":0,"d":0,"c":0},{"w":1400371200,"a":0,"d":0,"c":0},{"w":1400976000,"a":0,"d":0,"c":0},{"w":1401580800,"a":0,"d":0,"c":0},{"w":1402185600,"a":0,"d":0,"c":0},{"w":1402790400,"a":0,"d":0,"c":0},{"w":1403395200,"a":0,"d":0,"c":0},{"w":1404000000,"a":0,"d":0,"c":0},{"w":1404604800,"a":0,"d":0,"c":0},{"w":1405209600,"a":0,"d":0,"c":0},{"w":1405814400,"a":0,"d":0,"c":0},{"w":1406419200,"a":0,"d":0,"c":0},{"w":1407024000,"a":0,"d":0,"c":0},{"w":1407628800,"a":0,"d":0,"c":0},{"w":1408233600,"a":0,"d":0,"c":0},{"w":1408838400,"a":0,"d":0,"c":0},{"w":1409443200,"a":0,"d":0,"c":0},{"w":1410048000,"a":0,"d":0,"c":0},{"w":1410652800,"a":0,"d":0,"c":0},{"w":1411257600,"a":0,"d":0,"c":0},{"w":1411862400,"a":0,"d":0,"c":0},{"w":1412467200,"a":0,"d":0,"c":0},{"w":1413072000,"a":0,"d":0,"c":0},{"w":1413676800,"a":0,"d":0,"c":0},{"w":1414281600,"a":0,"d":0,"c":0},{"w":1414886400,"a":0,"d":0,"c":0},{"w":1415491200,"a":0,"d":0,"c":0},{"w":1416096000,"a":0,"d":0,"c":0},{"w":1416700800,"a":0,"d":0,"c":0},{"w":1417305600,"a":0,"d":0,"c":0},{"w":1417910400,"a":0,"d":0,"c":0},{"w":1418515200,"a":0,"d":0,"c":0},{"w":1419120000,"a":0,"d":0,"c":0},{"w":1419724800,"a":0,"d":0,"c":0},{"w":1420329600,"a":0,"d":0,"c":0},{"w":1420934400,"a":0,"d":0,"c":0},{"w":1421539200,"a":0,"d":0,"c":0},{"w":1422144000,"a":0,"d":0,"c":0},{"w":1422748800,"a":0,"d":0,"c":0},{"w":1423353600,"a":0,"d":0,"c":0},{"w":1423958400,"a":0,"d":0,"c":0},{"w":1424563200,"a":0,"d":0,"c":0},{"w":1425168000,"a":0,"d":0,"c":0},{"w":1425772800,"a":0,"d":0,"c":0},{"w":1426377600,"a":0,"d":0,"c":0},{"w":1426982400,"a":0,"d":0,"c":0},{"w":1427587200,"a":0,"d":0,"c":0},{"w":1428192000,"a":0,"d":0,"c":0},{"w":1428796800,"a":0,"d":0,"c":0},{"w":1429401600,"a":0,"d":0,"c":0},{"w":1430006400,"a":0,"d":0,"c":0},{"w":1430611200,"a":0,"d":0,"c":0},{"w":1431216000,"a":0,"d":0,"c":0},{"w":1431820800,"a":0,"d":0,"c":0},{"w":1432425600,"a":0,"d":0,"c":0},{"w":1433030400,"a":0,"d":0,"c":0},{"w":1433635200,"a":0,"d":0,"c":0},{"w":1434240000,"a":0,"d":0,"c":0},{"w":1434844800,"a":0,"d":0,"c":0},{"w":1435449600,"a":0,"d":0,"c":0},{"w":1436054400,"a":0,"d":0,"c":0},{"w":1436659200,"a":0,"d":0,"c":0},{"w":1437264000,"a":0,"d":0,"c":0},{"w":1437868800,"a":0,"d":0,"c":0},{"w":1438473600,"a":0,"d":0,"c":0},{"w":1439078400,"a":0,"d":0,"c":0},{"w":1439683200,"a":0,"d":0,"c":0},{"w":1440288000,"a":0,"d":0,"c":0},{"w":1440892800,"a":0,"d":0,"c":0},{"w":1441497600,"a":0,"d":0,"c":0},{"w":1442102400,"a":0,"d":0,"c":0},{"w":1442707200,"a":0,"d":0,"c":0},{"w":1443312000,"a":0,"d":0,"c":0},{"w":1443916800,"a":0,"d":0,"c":0},{"w":1444521600,"a":0,"d":0,"c":0},{"w":1445126400,"a":0,"d":0,"c":0},{"w":1445731200,"a":0,"d":0,"c":0},{"w":1446336000,"a":0,"d":0,"c":0},{"w":1446940800,"a":0,"d":0,"c":0},{"w":1447545600,"a":0,"d":0,"c":0},{"w":1448150400,"a":0,"d":0,"c":0},{"w":1448755200,"a":0,"d":0,"c":0},{"w":1449360000,"a":0,"d":0,"c":0},{"w":1449964800,"a":0,"d":0,"c":0},{"w":1450569600,"a":0,"d":0,"c":0},{"w":1451174400,"a":0,"d":0,"c":0},{"w":1451779200,"a":0,"d":0,"c":0},{"w":1452384000,"a":0,"d":0,"c":0},{"w":1452988800,"a":0,"d":0,"c":0},{"w":1453593600,"a":0,"d":0,"c":0},{"w":1454198400,"a":0,"d":0,"c":0},{"w":1454803200,"a":0,"d":0,"c":0},{"w":1455408000,"a":0,"d":0,"c":0},{"w":1456012800,"a":0,"d":0,"c":0},{"w":1456617600,"a":0,"d":0,"c":0},{"w":1457222400,"a":0,"d":0,"c":0},{"w":1457827200,"a":0,"d":0,"c":0},{"w":1458432000,"a":0,"d":0,"c":0},{"w":1459036800,"a":0,"d":0,"c":0},{"w":1459641600,"a":0,"d":0,"c":0},{"w":1460246400,"a":0,"d":0,"c":0},{"w":1460851200,"a":0,"d":0,"c":0},{"w":1461456000,"a":0,"d":0,"c":0},{"w":1462060800,"a":0,"d":0,"c":0},{"w":1462665600,"a":0,"d":0,"c":0},{"w":1463270400,"a":0,"d":0,"c":0},{"w":1463875200,"a":0,"d":0,"c":0},{"w":1464480000,"a":0,"d":0,"c":0},{"w":1465084800,"a":0,"d":0,"c":0},{"w":1465689600,"a":0,"d":0,"c":0},{"w":1466294400,"a":0,"d":0,"c":0},{"w":1466899200,"a":0,"d":0,"c":0},{"w":1467504000,"a":0,"d":0,"c":0},{"w":1468108800,"a":0,"d":0,"c":0},{"w":1468713600,"a":0,"d":0,"c":0},{"w":1469318400,"a":0,"d":0,"c":0},{"w":1469923200,"a":0,"d":0,"c":0},{"w":1470528000,"a":0,"d":0,"c":0},{"w":1471132800,"a":0,"d":0,"c":0},{"w":1471737600,"a":0,"d":0,"c":0},{"w":1472342400,"a":0,"d":0,"c":0},{"w":1472947200,"a":0,"d":0,"c":0},{"w":1473552000,"a":0,"d":0,"c":0},{"w":1474156800,"a":0,"d":0,"c":0},{"w":1474761600,"a":0,"d":0,"c":0},{"w":1475366400,"a":0,"d":0,"c":0},{"w":1475971200,"a":0,"d":0,"c":0},{"w":1476576000,"a":0,"d":0,"c":0},{"w":1477180800,"a":0,"d":0,"c":0},{"w":1477785600,"a":0,"d":0,"c":0},{"w":1478390400,"a":0,"d":0,"c":0},{"w":1478995200,"a":0,"d":0,"c":0},{"w":1479600000,"a":0,"d":0,"c":0},{"w":1480204800,"a":0,"d":0,"c":0},{"w":1480809600,"a":0,"d":0,"c":0},{"w":1481414400,"a":0,"d":0,"c":0},{"w":1482019200,"a":0,"d":0,"c":0},{"w":1482624000,"a":0,"d":0,"c":0},{"w":1483228800,"a":0,"d":0,"c":0},{"w":1483833600,"a":0,"d":0,"c":0},{"w":1484438400,"a":0,"d":0,"c":0},{"w":1485043200,"a":0,"d":0,"c":0},{"w":1485648000,"a":0,"d":0,"c":0},{"w":1486252800,"a":0,"d":0,"c":0},{"w":1486857600,"a":0,"d":0,"c":0},{"w":1487462400,"a":0,"d":0,"c":0},{"w":1488067200,"a":0,"d":0,"c":0},{"w":1488672000,"a":0,"d":0,"c":0},{"w":1489276800,"a":0,"d":0,"c":0},{"w":1489881600,"a":0,"d":0,"c":0},{"w":1490486400,"a":0,"d":0,"c":0},{"w":1491091200,"a":0,"d":0,"c":0},{"w":1491696000,"a":0,"d":0,"c":0},{"w":1492300800,"a":0,"d":0,"c":0},{"w":1492905600,"a":0,"d":0,"c":0},{"w":1493510400,"a":0,"d":0,"c":0},{"w":1494115200,"a":0,"d":0,"c":0},{"w":1494720000,"a":0,"d":0,"c":0},{"w":1495324800,"a":0,"d":0,"c":0},{"w":1495929600,"a":0,"d":0,"c":0},{"w":1496534400,"a":0,"d":0,"c":0},{"w":1497139200,"a":0,"d":0,"c":0},{"w":1497744000,"a":0,"d":0,"c":0},{"w":1498348800,"a":0,"d":0,"c":0},{"w":1498953600,"a":0,"d":0,"c":0},{"w":1499558400,"a":0,"d":0,"c":0},{"w":1500163200,"a":0,"d":0,"c":0},{"w":1500768000,"a":0,"d":0,"c":0},{"w":1501372800,"a":0,"d":0,"c":0},{"w":1501977600,"a":0,"d":0,"c":0},{"w":1502582400,"a":0,"d":0,"c":0},{"w":1503187200,"a":0,"d":0,"c":0},{"w":1503792000,"a":0,"d":0,"c":0},{"w":1504396800,"a":0,"d":0,"c":0},{"w":1505001600,"a":0,"d":0,"c":0},{"w":1505606400,"a":0,"d":0,"c":0},{"w":1506211200,"a":0,"d":0,"c":0},{"w":1506816000,"a":0,"d":0,"c":0},{"w":1507420800,"a":0,"d":0,"c":0},{"w":1508025600,"a":0,"d":0,"c":0},{"w":1508630400,"a":0,"d":0,"c":0},{"w":1509235200,"a":0,"d":0,"c":0},{"w":1509840000,"a":0,"d":0,"c":0},{"w":1510444800,"a":0,"d":0,"c":0},{"w":1511049600,"a":0,"d":0,"c":0},{"w":1511654400,"a":0,"d":0,"c":0},{"w":1512259200,"a":0,"d":0,"c":0},{"w":1512864000,"a":0,"d":0,"c":0},{"w":1513468800,"a":0,"d":0,"c":0},{"w":1514073600,"a":0,"d":0,"c":0},{"w":1514678400,"a":0,"d":0,"c":0},{"w":1515283200,"a":0,"d":0,"c":0},{"w":1515888000,"a":0,"d":0,"c":0},{"w":1516492800,"a":0,"d":0,"c":0},{"w":1517097600,"a":0,"d":0,"c":0},{"w":1517702400,"a":0,"d":0,"c":0},{"w":1518307200,"a":0,"d":0,"c":0},{"w":1518912000,"a":0,"d":0,"c":0},{"w":1519516800,"a":0,"d":0,"c":0},{"w":1520121600,"a":0,"d":0,"c":0},{"w":1520726400,"a":0,"d":0,"c":0},{"w":1521331200,"a":0,"d":0,"c":0},{"w":1521936000,"a":0,"d":0,"c":0},{"w":1522540800,"a":0,"d":0,"c":0},{"w":1523145600,"a":0,"d":0,"c":0},{"w":1523750400,"a":0,"d":0,"c":0},{"w":1524355200,"a":0,"d":0,"c":0},{"w":1524960000,"a":0,"d":0,"c":0},{"w":1525564800,"a":0,"d":0,"c":0},{"w":1526169600,"a":0,"d":0,"c":0},{"w":1526774400,"a":0,"d":0,"c":0},{"w":1527379200,"a":0,"d":0,"c":0},{"w":1527984000,"a":0,"d":0,"c":0},{"w":1528588800,"a":0,"d":0,"c":0},{"w":1529193600,"a":0,"d":0,"c":0},{"w":1529798400,"a":0,"d":0,"c":0},{"w":1530403200,"a":0,"d":0,"c":0},{"w":1531008000,"a":0,"d":0,"c":0},{"w":1531612800,"a":0,"d":0,"c":0},{"w":1532217600,"a":0,"d":0,"c":0},{"w":1532822400,"a":0,"d":0,"c":0},{"w":1533427200,"a":0,"d":0,"c":0},{"w":1534032000,"a":0,"d":0,"c":0},{"w":1534636800,"a":0,"d":0,"c":0},{"w":1535241600,"a":0,"d":0,"c":0},{"w":1535846400,"a":0,"d":0,"c":0},{"w":1536451200,"a":0,"d":0,"c":0},{"w":1537056000,"a":0,"d":0,"c":0},{"w":1537660800,"a":0,"d":0,"c":0},{"w":1538265600,"a":0,"d":0,"c":0},{"w":1538870400,"a":0,"d":0,"c":0},{"w":1539475200,"a":0,"d":0,"c":0},{"w":1540080000,"a":0,"d":0,"c":0},{"w":1540684800,"a":0,"d":0,"c":0},{"w":1541289600,"a":0,"d":0,"c":0},{"w":1541894400,"a":0,"d":0,"c":0},{"w":1542499200,"a":0,"d":0,"c":0},{"w":1543104000,"a":0,"d":0,"c":0},{"w":1543708800,"a":0,"d":0,"c":0},{"w":1544313600,"a":0,"d":0,"c":0},{"w":1544918400,"a":0,"d":0,"c":0},{"w":1545523200,"a":0,"d":0,"c":0},{"w":1546128000,"a":0,"d":0,"c":0},{"w":1546732800,"a":0,"d":0,"c":0},{"w":1547337600,"a":0,"d":0,"c":0},{"w":1547942400,"a":0,"d":0,"c":0},{"w":1548547200,"a":0,"d":0,"c":0},{"w":1549152000,"a":0,"d":0,"c":0},{"w":1549756800,"a":0,"d":0,"c":0},{"w":1550361600,"a":0,"d":0,"c":0},{"w":1550966400,"a":0,"d":0,"c":0},{"w":1551571200,"a":0,"d":0,"c":0},{"w":1552176000,"a":0,"d":0,"c":0},{"w":1552780800,"a":0,"d":0,"c":0},{"w":1553385600,"a":0,"d":0,"c":0},{"w":1553990400,"a":0,"d":0,"c":0},{"w":1554595200,"a":0,"d":0,"c":0},{"w":1555200000,"a":0,"d":0,"c":0},{"w":1555804800,"a":0,"d":0,"c":0},{"w":1556409600,"a":0,"d":0,"c":0},{"w":1557014400,"a":0,"d":0,"c":0},{"w":1557619200,"a":0,"d":0,"c":0},{"w":1558224000,"a":0,"d":0,"c":0},{"w":1558828800,"a":0,"d":0,"c":0},{"w":1559433600,"a":0,"d":0,"c":0},{"w":1560038400,"a":0,"d":0,"c":0},{"w":1560643200,"a":0,"d":0,"c":0},{"w":1561248000,"a":0,"d":0,"c":0},{"w":1561852800,"a":0,"d":0,"c":0},{"w":1562457600,"a":0,"d":0,"c":0}],"author":{"login":"matthieuauger","id":1172099,"node_id":"MDQ6VXNlcjExNzIwOTk=","avatar_url":"https://avatars0.githubusercontent.com/u/1172099?v=4","gravatar_id":"","url":"https://api.github.com/users/matthieuauger","html_url":"https://github.com/matthieuauger","followers_url":"https://api.github.com/users/matthieuauger/followers","following_url":"https://api.github.com/users/matthieuauger/following{/other_user}","gists_url":"https://api.github.com/users/matthieuauger/gists{/gist_id}","starred_url":"https://api.github.com/users/matthieuauger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/matthieuauger/subscriptions","organizations_url":"https://api.github.com/users/matthieuauger/orgs","repos_url":"https://api.github.com/users/matthieuauger/repos","events_url":"https://api.github.com/users/matthieuauger/events{/privacy}","received_events_url":"https://api.github.com/users/matthieuauger/received_events","type":"User","site_admin":false}},{"total":3,"weeks":[{"w":1215302400,"a":0,"d":0,"c":0},{"w":1215907200,"a":0,"d":0,"c":0},{"w":1216512000,"a":0,"d":0,"c":0},{"w":1217116800,"a":0,"d":0,"c":0},{"w":1217721600,"a":0,"d":0,"c":0},{"w":1218326400,"a":0,"d":0,"c":0},{"w":1218931200,"a":0,"d":0,"c":0},{"w":1219536000,"a":0,"d":0,"c":0},{"w":1220140800,"a":0,"d":0,"c":0},{"w":1220745600,"a":0,"d":0,"c":0},{"w":1221350400,"a":0,"d":0,"c":0},{"w":1221955200,"a":0,"d":0,"c":0},{"w":1222560000,"a":0,"d":0,"c":0},{"w":1223164800,"a":0,"d":0,"c":0},{"w":1223769600,"a":0,"d":0,"c":0},{"w":1224374400,"a":0,"d":0,"c":0},{"w":1224979200,"a":0,"d":0,"c":0},{"w":1225584000,"a":0,"d":0,"c":0},{"w":1226188800,"a":0,"d":0,"c":0},{"w":1226793600,"a":0,"d":0,"c":0},{"w":1227398400,"a":0,"d":0,"c":0},{"w":1228003200,"a":0,"d":0,"c":0},{"w":1228608000,"a":0,"d":0,"c":0},{"w":1229212800,"a":0,"d":0,"c":0},{"w":1229817600,"a":0,"d":0,"c":0},{"w":1230422400,"a":0,"d":0,"c":0},{"w":1231027200,"a":0,"d":0,"c":0},{"w":1231632000,"a":0,"d":0,"c":0},{"w":1232236800,"a":0,"d":0,"c":0},{"w":1232841600,"a":0,"d":0,"c":0},{"w":1233446400,"a":0,"d":0,"c":0},{"w":1234051200,"a":0,"d":0,"c":0},{"w":1234656000,"a":0,"d":0,"c":0},{"w":1235260800,"a":0,"d":0,"c":0},{"w":1235865600,"a":0,"d":0,"c":0},{"w":1236470400,"a":0,"d":0,"c":0},{"w":1237075200,"a":0,"d":0,"c":0},{"w":1237680000,"a":0,"d":0,"c":0},{"w":1238284800,"a":0,"d":0,"c":0},{"w":1238889600,"a":0,"d":0,"c":0},{"w":1239494400,"a":0,"d":0,"c":0},{"w":1240099200,"a":0,"d":0,"c":0},{"w":1240704000,"a":0,"d":0,"c":0},{"w":1241308800,"a":0,"d":0,"c":0},{"w":1241913600,"a":0,"d":0,"c":0},{"w":1242518400,"a":0,"d":0,"c":0},{"w":1243123200,"a":0,"d":0,"c":0},{"w":1243728000,"a":0,"d":0,"c":0},{"w":1244332800,"a":0,"d":0,"c":0},{"w":1244937600,"a":0,"d":0,"c":0},{"w":1245542400,"a":0,"d":0,"c":0},{"w":1246147200,"a":0,"d":0,"c":0},{"w":1246752000,"a":0,"d":0,"c":0},{"w":1247356800,"a":0,"d":0,"c":0},{"w":1247961600,"a":0,"d":0,"c":0},{"w":1248566400,"a":0,"d":0,"c":0},{"w":1249171200,"a":0,"d":0,"c":0},{"w":1249776000,"a":0,"d":0,"c":0},{"w":1250380800,"a":0,"d":0,"c":0},{"w":1250985600,"a":0,"d":0,"c":0},{"w":1251590400,"a":0,"d":0,"c":0},{"w":1252195200,"a":0,"d":0,"c":0},{"w":1252800000,"a":0,"d":0,"c":0},{"w":1253404800,"a":0,"d":0,"c":0},{"w":1254009600,"a":0,"d":0,"c":0},{"w":1254614400,"a":0,"d":0,"c":0},{"w":1255219200,"a":0,"d":0,"c":0},{"w":1255824000,"a":0,"d":0,"c":0},{"w":1256428800,"a":0,"d":0,"c":0},{"w":1257033600,"a":0,"d":0,"c":0},{"w":1257638400,"a":0,"d":0,"c":0},{"w":1258243200,"a":0,"d":0,"c":0},{"w":1258848000,"a":0,"d":0,"c":0},{"w":1259452800,"a":0,"d":0,"c":0},{"w":1260057600,"a":0,"d":0,"c":0},{"w":1260662400,"a":0,"d":0,"c":0},{"w":1261267200,"a":0,"d":0,"c":0},{"w":1261872000,"a":0,"d":0,"c":0},{"w":1262476800,"a":0,"d":0,"c":0},{"w":1263081600,"a":0,"d":0,"c":0},{"w":1263686400,"a":0,"d":0,"c":0},{"w":1264291200,"a":0,"d":0,"c":0},{"w":1264896000,"a":0,"d":0,"c":0},{"w":1265500800,"a":0,"d":0,"c":0},{"w":1266105600,"a":0,"d":0,"c":0},{"w":1266710400,"a":0,"d":0,"c":0},{"w":1267315200,"a":0,"d":0,"c":0},{"w":1267920000,"a":0,"d":0,"c":0},{"w":1268524800,"a":0,"d":0,"c":0},{"w":1269129600,"a":0,"d":0,"c":0},{"w":1269734400,"a":0,"d":0,"c":0},{"w":1270339200,"a":0,"d":0,"c":0},{"w":1270944000,"a":0,"d":0,"c":0},{"w":1271548800,"a":0,"d":0,"c":0},{"w":1272153600,"a":0,"d":0,"c":0},{"w":1272758400,"a":0,"d":0,"c":0},{"w":1273363200,"a":0,"d":0,"c":0},{"w":1273968000,"a":0,"d":0,"c":0},{"w":1274572800,"a":0,"d":0,"c":0},{"w":1275177600,"a":0,"d":0,"c":0},{"w":1275782400,"a":0,"d":0,"c":0},{"w":1276387200,"a":0,"d":0,"c":0},{"w":1276992000,"a":0,"d":0,"c":0},{"w":1277596800,"a":0,"d":0,"c":0},{"w":1278201600,"a":0,"d":0,"c":0},{"w":1278806400,"a":0,"d":0,"c":0},{"w":1279411200,"a":0,"d":0,"c":0},{"w":1280016000,"a":0,"d":0,"c":0},{"w":1280620800,"a":0,"d":0,"c":0},{"w":1281225600,"a":0,"d":0,"c":0},{"w":1281830400,"a":0,"d":0,"c":0},{"w":1282435200,"a":0,"d":0,"c":0},{"w":1283040000,"a":0,"d":0,"c":0},{"w":1283644800,"a":0,"d":0,"c":0},{"w":1284249600,"a":0,"d":0,"c":0},{"w":1284854400,"a":0,"d":0,"c":0},{"w":1285459200,"a":0,"d":0,"c":0},{"w":1286064000,"a":0,"d":0,"c":0},{"w":1286668800,"a":0,"d":0,"c":0},{"w":1287273600,"a":0,"d":0,"c":0},{"w":1287878400,"a":0,"d":0,"c":0},{"w":1288483200,"a":0,"d":0,"c":0},{"w":1289088000,"a":0,"d":0,"c":0},{"w":1289692800,"a":0,"d":0,"c":0},{"w":1290297600,"a":0,"d":0,"c":0},{"w":1290902400,"a":0,"d":0,"c":0},{"w":1291507200,"a":0,"d":0,"c":0},{"w":1292112000,"a":0,"d":0,"c":0},{"w":1292716800,"a":0,"d":0,"c":0},{"w":1293321600,"a":0,"d":0,"c":0},{"w":1293926400,"a":0,"d":0,"c":0},{"w":1294531200,"a":0,"d":0,"c":0},{"w":1295136000,"a":0,"d":0,"c":0},{"w":1295740800,"a":0,"d":0,"c":0},{"w":1296345600,"a":0,"d":0,"c":0},{"w":1296950400,"a":0,"d":0,"c":0},{"w":1297555200,"a":0,"d":0,"c":0},{"w":1298160000,"a":0,"d":0,"c":0},{"w":1298764800,"a":0,"d":0,"c":0},{"w":1299369600,"a":0,"d":0,"c":0},{"w":1299974400,"a":0,"d":0,"c":0},{"w":1300579200,"a":0,"d":0,"c":0},{"w":1301184000,"a":0,"d":0,"c":0},{"w":1301788800,"a":0,"d":0,"c":0},{"w":1302393600,"a":0,"d":0,"c":0},{"w":1302998400,"a":0,"d":0,"c":0},{"w":1303603200,"a":0,"d":0,"c":0},{"w":1304208000,"a":0,"d":0,"c":0},{"w":1304812800,"a":0,"d":0,"c":0},{"w":1305417600,"a":0,"d":0,"c":0},{"w":1306022400,"a":0,"d":0,"c":0},{"w":1306627200,"a":0,"d":0,"c":0},{"w":1307232000,"a":0,"d":0,"c":0},{"w":1307836800,"a":0,"d":0,"c":0},{"w":1308441600,"a":0,"d":0,"c":0},{"w":1309046400,"a":0,"d":0,"c":0},{"w":1309651200,"a":0,"d":0,"c":0},{"w":1310256000,"a":0,"d":0,"c":0},{"w":1310860800,"a":0,"d":0,"c":0},{"w":1311465600,"a":0,"d":0,"c":0},{"w":1312070400,"a":0,"d":0,"c":0},{"w":1312675200,"a":0,"d":0,"c":0},{"w":1313280000,"a":0,"d":0,"c":0},{"w":1313884800,"a":0,"d":0,"c":0},{"w":1314489600,"a":0,"d":0,"c":0},{"w":1315094400,"a":0,"d":0,"c":0},{"w":1315699200,"a":0,"d":0,"c":0},{"w":1316304000,"a":0,"d":0,"c":0},{"w":1316908800,"a":0,"d":0,"c":0},{"w":1317513600,"a":0,"d":0,"c":0},{"w":1318118400,"a":0,"d":0,"c":0},{"w":1318723200,"a":0,"d":0,"c":0},{"w":1319328000,"a":0,"d":0,"c":0},{"w":1319932800,"a":0,"d":0,"c":0},{"w":1320537600,"a":0,"d":0,"c":0},{"w":1321142400,"a":0,"d":0,"c":0},{"w":1321747200,"a":0,"d":0,"c":0},{"w":1322352000,"a":0,"d":0,"c":0},{"w":1322956800,"a":0,"d":0,"c":0},{"w":1323561600,"a":0,"d":0,"c":0},{"w":1324166400,"a":0,"d":0,"c":0},{"w":1324771200,"a":0,"d":0,"c":0},{"w":1325376000,"a":0,"d":0,"c":0},{"w":1325980800,"a":0,"d":0,"c":0},{"w":1326585600,"a":0,"d":0,"c":0},{"w":1327190400,"a":0,"d":0,"c":0},{"w":1327795200,"a":0,"d":0,"c":0},{"w":1328400000,"a":0,"d":0,"c":0},{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0},{"w":1384646400,"a":0,"d":0,"c":0},{"w":1385251200,"a":0,"d":0,"c":0},{"w":1385856000,"a":0,"d":0,"c":0},{"w":1386460800,"a":0,"d":0,"c":0},{"w":1387065600,"a":0,"d":0,"c":0},{"w":1387670400,"a":0,"d":0,"c":0},{"w":1388275200,"a":0,"d":0,"c":0},{"w":1388880000,"a":0,"d":0,"c":0},{"w":1389484800,"a":0,"d":0,"c":0},{"w":1390089600,"a":0,"d":0,"c":0},{"w":1390694400,"a":0,"d":0,"c":0},{"w":1391299200,"a":0,"d":0,"c":0},{"w":1391904000,"a":0,"d":0,"c":0},{"w":1392508800,"a":0,"d":0,"c":0},{"w":1393113600,"a":0,"d":0,"c":0},{"w":1393718400,"a":0,"d":0,"c":0},{"w":1394323200,"a":0,"d":0,"c":0},{"w":1394928000,"a":0,"d":0,"c":0},{"w":1395532800,"a":0,"d":0,"c":0},{"w":1396137600,"a":0,"d":0,"c":0},{"w":1396742400,"a":0,"d":0,"c":0},{"w":1397347200,"a":0,"d":0,"c":0},{"w":1397952000,"a":0,"d":0,"c":0},{"w":1398556800,"a":0,"d":0,"c":0},{"w":1399161600,"a":0,"d":0,"c":0},{"w":1399766400,"a":0,"d":0,"c":0},{"w":1400371200,"a":0,"d":0,"c":0},{"w":1400976000,"a":0,"d":0,"c":0},{"w":1401580800,"a":0,"d":0,"c":0},{"w":1402185600,"a":0,"d":0,"c":0},{"w":1402790400,"a":0,"d":0,"c":0},{"w":1403395200,"a":0,"d":0,"c":0},{"w":1404000000,"a":0,"d":0,"c":0},{"w":1404604800,"a":0,"d":0,"c":0},{"w":1405209600,"a":0,"d":0,"c":0},{"w":1405814400,"a":0,"d":0,"c":0},{"w":1406419200,"a":0,"d":0,"c":0},{"w":1407024000,"a":0,"d":0,"c":0},{"w":1407628800,"a":0,"d":0,"c":0},{"w":1408233600,"a":0,"d":0,"c":0},{"w":1408838400,"a":0,"d":0,"c":0},{"w":1409443200,"a":0,"d":0,"c":0},{"w":1410048000,"a":0,"d":0,"c":0},{"w":1410652800,"a":0,"d":0,"c":0},{"w":1411257600,"a":0,"d":0,"c":0},{"w":1411862400,"a":0,"d":0,"c":0},{"w":1412467200,"a":0,"d":0,"c":0},{"w":1413072000,"a":0,"d":0,"c":0},{"w":1413676800,"a":0,"d":0,"c":0},{"w":1414281600,"a":0,"d":0,"c":0},{"w":1414886400,"a":0,"d":0,"c":0},{"w":1415491200,"a":0,"d":0,"c":0},{"w":1416096000,"a":0,"d":0,"c":0},{"w":1416700800,"a":0,"d":0,"c":0},{"w":1417305600,"a":0,"d":0,"c":0},{"w":1417910400,"a":0,"d":0,"c":0},{"w":1418515200,"a":0,"d":0,"c":0},{"w":1419120000,"a":0,"d":0,"c":0},{"w":1419724800,"a":0,"d":0,"c":0},{"w":1420329600,"a":0,"d":0,"c":0},{"w":1420934400,"a":0,"d":0,"c":0},{"w":1421539200,"a":0,"d":0,"c":0},{"w":1422144000,"a":0,"d":0,"c":0},{"w":1422748800,"a":0,"d":0,"c":0},{"w":1423353600,"a":0,"d":0,"c":0},{"w":1423958400,"a":0,"d":0,"c":0},{"w":1424563200,"a":0,"d":0,"c":0},{"w":1425168000,"a":0,"d":0,"c":0},{"w":1425772800,"a":0,"d":0,"c":0},{"w":1426377600,"a":0,"d":0,"c":0},{"w":1426982400,"a":0,"d":0,"c":0},{"w":1427587200,"a":0,"d":0,"c":0},{"w":1428192000,"a":0,"d":0,"c":0},{"w":1428796800,"a":0,"d":0,"c":0},{"w":1429401600,"a":0,"d":0,"c":0},{"w":1430006400,"a":0,"d":0,"c":0},{"w":1430611200,"a":0,"d":0,"c":0},{"w":1431216000,"a":0,"d":0,"c":0},{"w":1431820800,"a":0,"d":0,"c":0},{"w":1432425600,"a":0,"d":0,"c":0},{"w":1433030400,"a":0,"d":0,"c":0},{"w":1433635200,"a":0,"d":0,"c":0},{"w":1434240000,"a":0,"d":0,"c":0},{"w":1434844800,"a":0,"d":0,"c":0},{"w":1435449600,"a":0,"d":0,"c":0},{"w":1436054400,"a":0,"d":0,"c":0},{"w":1436659200,"a":0,"d":0,"c":0},{"w":1437264000,"a":0,"d":0,"c":0},{"w":1437868800,"a":0,"d":0,"c":0},{"w":1438473600,"a":0,"d":0,"c":0},{"w":1439078400,"a":0,"d":0,"c":0},{"w":1439683200,"a":0,"d":0,"c":0},{"w":1440288000,"a":0,"d":0,"c":0},{"w":1440892800,"a":0,"d":0,"c":0},{"w":1441497600,"a":0,"d":0,"c":0},{"w":1442102400,"a":0,"d":0,"c":0},{"w":1442707200,"a":0,"d":0,"c":0},{"w":1443312000,"a":0,"d":0,"c":0},{"w":1443916800,"a":0,"d":0,"c":0},{"w":1444521600,"a":0,"d":0,"c":0},{"w":1445126400,"a":0,"d":0,"c":0},{"w":1445731200,"a":0,"d":0,"c":0},{"w":1446336000,"a":0,"d":0,"c":0},{"w":1446940800,"a":0,"d":0,"c":0},{"w":1447545600,"a":0,"d":0,"c":0},{"w":1448150400,"a":0,"d":0,"c":0},{"w":1448755200,"a":0,"d":0,"c":0},{"w":1449360000,"a":0,"d":0,"c":0},{"w":1449964800,"a":0,"d":0,"c":0},{"w":1450569600,"a":0,"d":0,"c":0},{"w":1451174400,"a":0,"d":0,"c":0},{"w":1451779200,"a":0,"d":0,"c":0},{"w":1452384000,"a":0,"d":0,"c":0},{"w":1452988800,"a":0,"d":0,"c":0},{"w":1453593600,"a":0,"d":0,"c":0},{"w":1454198400,"a":0,"d":0,"c":0},{"w":1454803200,"a":0,"d":0,"c":0},{"w":1455408000,"a":0,"d":0,"c":0},{"w":1456012800,"a":0,"d":0,"c":0},{"w":1456617600,"a":0,"d":0,"c":0},{"w":1457222400,"a":0,"d":0,"c":0},{"w":1457827200,"a":0,"d":0,"c":0},{"w":1458432000,"a":0,"d":0,"c":0},{"w":1459036800,"a":0,"d":0,"c":0},{"w":1459641600,"a":0,"d":0,"c":0},{"w":1460246400,"a":0,"d":0,"c":0},{"w":1460851200,"a":0,"d":0,"c":0},{"w":1461456000,"a":0,"d":0,"c":0},{"w":1462060800,"a":0,"d":0,"c":0},{"w":1462665600,"a":0,"d":0,"c":0},{"w":1463270400,"a":0,"d":0,"c":0},{"w":1463875200,"a":0,"d":0,"c":0},{"w":1464480000,"a":0,"d":0,"c":0},{"w":1465084800,"a":0,"d":0,"c":0},{"w":1465689600,"a":0,"d":0,"c":0},{"w":1466294400,"a":0,"d":0,"c":0},{"w":1466899200,"a":0,"d":0,"c":0},{"w":1467504000,"a":0,"d":0,"c":0},{"w":1468108800,"a":0,"d":0,"c":0},{"w":1468713600,"a":0,"d":0,"c":0},{"w":1469318400,"a":0,"d":0,"c":0},{"w":1469923200,"a":0,"d":0,"c":0},{"w":1470528000,"a":0,"d":0,"c":0},{"w":1471132800,"a":0,"d":0,"c":0},{"w":1471737600,"a":0,"d":0,"c":0},{"w":1472342400,"a":0,"d":0,"c":0},{"w":1472947200,"a":0,"d":0,"c":0},{"w":1473552000,"a":0,"d":0,"c":0},{"w":1474156800,"a":0,"d":0,"c":0},{"w":1474761600,"a":0,"d":0,"c":0},{"w":1475366400,"a":0,"d":0,"c":0},{"w":1475971200,"a":0,"d":0,"c":0},{"w":1476576000,"a":0,"d":0,"c":0},{"w":1477180800,"a":0,"d":0,"c":0},{"w":1477785600,"a":0,"d":0,"c":0},{"w":1478390400,"a":0,"d":0,"c":0},{"w":1478995200,"a":0,"d":0,"c":0},{"w":1479600000,"a":0,"d":0,"c":0},{"w":1480204800,"a":0,"d":0,"c":0},{"w":1480809600,"a":0,"d":0,"c":0},{"w":1481414400,"a":0,"d":0,"c":0},{"w":1482019200,"a":0,"d":0,"c":0},{"w":1482624000,"a":0,"d":0,"c":0},{"w":1483228800,"a":0,"d":0,"c":0},{"w":1483833600,"a":0,"d":0,"c":0},{"w":1484438400,"a":0,"d":0,"c":0},{"w":1485043200,"a":0,"d":0,"c":0},{"w":1485648000,"a":0,"d":0,"c":0},{"w":1486252800,"a":0,"d":0,"c":0},{"w":1486857600,"a":0,"d":0,"c":0},{"w":1487462400,"a":0,"d":0,"c":0},{"w":1488067200,"a":0,"d":0,"c":0},{"w":1488672000,"a":0,"d":0,"c":0},{"w":1489276800,"a":0,"d":0,"c":0},{"w":1489881600,"a":0,"d":0,"c":0},{"w":1490486400,"a":0,"d":0,"c":0},{"w":1491091200,"a":0,"d":0,"c":0},{"w":1491696000,"a":0,"d":0,"c":0},{"w":1492300800,"a":0,"d":0,"c":0},{"w":1492905600,"a":0,"d":0,"c":0},{"w":1493510400,"a":0,"d":0,"c":0},{"w":1494115200,"a":0,"d":0,"c":0},{"w":1494720000,"a":0,"d":0,"c":0},{"w":1495324800,"a":0,"d":0,"c":0},{"w":1495929600,"a":0,"d":0,"c":0},{"w":1496534400,"a":0,"d":0,"c":0},{"w":1497139200,"a":0,"d":0,"c":0},{"w":1497744000,"a":0,"d":0,"c":0},{"w":1498348800,"a":0,"d":0,"c":0},{"w":1498953600,"a":0,"d":0,"c":0},{"w":1499558400,"a":0,"d":0,"c":0},{"w":1500163200,"a":0,"d":0,"c":0},{"w":1500768000,"a":0,"d":0,"c":0},{"w":1501372800,"a":0,"d":0,"c":0},{"w":1501977600,"a":0,"d":0,"c":0},{"w":1502582400,"a":0,"d":0,"c":0},{"w":1503187200,"a":0,"d":0,"c":0},{"w":1503792000,"a":0,"d":0,"c":0},{"w":1504396800,"a":0,"d":0,"c":0},{"w":1505001600,"a":0,"d":0,"c":0},{"w":1505606400,"a":0,"d":0,"c":0},{"w":1506211200,"a":0,"d":0,"c":0},{"w":1506816000,"a":0,"d":0,"c":0},{"w":1507420800,"a":0,"d":0,"c":0},{"w":1508025600,"a":0,"d":0,"c":0},{"w":1508630400,"a":0,"d":0,"c":0},{"w":1509235200,"a":0,"d":0,"c":0},{"w":1509840000,"a":0,"d":0,"c":0},{"w":1510444800,"a":0,"d":0,"c":0},{"w":1511049600,"a":0,"d":0,"c":0},{"w":1511654400,"a":0,"d":0,"c":0},{"w":1512259200,"a":0,"d":0,"c":0},{"w":1512864000,"a":0,"d":0,"c":0},{"w":1513468800,"a":0,"d":0,"c":0},{"w":1514073600,"a":0,"d":0,"c":0},{"w":1514678400,"a":0,"d":0,"c":0},{"w":1515283200,"a":0,"d":0,"c":0},{"w":1515888000,"a":0,"d":0,"c":0},{"w":1516492800,"a":0,"d":0,"c":0},{"w":1517097600,"a":0,"d":0,"c":0},{"w":1517702400,"a":0,"d":0,"c":0},{"w":1518307200,"a":0,"d":0,"c":0},{"w":1518912000,"a":0,"d":0,"c":0},{"w":1519516800,"a":0,"d":0,"c":0},{"w":1520121600,"a":0,"d":0,"c":0},{"w":1520726400,"a":0,"d":0,"c":0},{"w":1521331200,"a":0,"d":0,"c":0},{"w":1521936000,"a":0,"d":0,"c":0},{"w":1522540800,"a":0,"d":0,"c":0},{"w":1523145600,"a":0,"d":0,"c":0},{"w":1523750400,"a":0,"d":0,"c":0},{"w":1524355200,"a":0,"d":0,"c":0},{"w":1524960000,"a":0,"d":0,"c":0},{"w":1525564800,"a":0,"d":0,"c":0},{"w":1526169600,"a":0,"d":0,"c":0},{"w":1526774400,"a":0,"d":0,"c":0},{"w":1527379200,"a":0,"d":0,"c":0},{"w":1527984000,"a":0,"d":0,"c":0},{"w":1528588800,"a":0,"d":0,"c":0},{"w":1529193600,"a":0,"d":0,"c":0},{"w":1529798400,"a":0,"d":0,"c":0},{"w":1530403200,"a":0,"d":0,"c":0},{"w":1531008000,"a":0,"d":0,"c":0},{"w":1531612800,"a":0,"d":0,"c":0},{"w":1532217600,"a":0,"d":0,"c":0},{"w":1532822400,"a":0,"d":0,"c":0},{"w":1533427200,"a":0,"d":0,"c":0},{"w":1534032000,"a":0,"d":0,"c":0},{"w":1534636800,"a":0,"d":0,"c":0},{"w":1535241600,"a":0,"d":0,"c":0},{"w":1535846400,"a":0,"d":0,"c":0},{"w":1536451200,"a":0,"d":0,"c":0},{"w":1537056000,"a":0,"d":0,"c":0},{"w":1537660800,"a":0,"d":0,"c":0},{"w":1538265600,"a":0,"d":0,"c":0},{"w":1538870400,"a":0,"d":0,"c":0},{"w":1539475200,"a":0,"d":0,"c":0},{"w":1540080000,"a":0,"d":0,"c":0},{"w":1540684800,"a":0,"d":0,"c":0},{"w":1541289600,"a":0,"d":0,"c":0},{"w":1541894400,"a":0,"d":0,"c":0},{"w":1542499200,"a":0,"d":0,"c":0},{"w":1543104000,"a":0,"d":0,"c":0},{"w":1543708800,"a":0,"d":0,"c":0},{"w":1544313600,"a":0,"d":0,"c":0},{"w":1544918400,"a":0,"d":0,"c":0},{"w":1545523200,"a":18,"d":7,"c":2},{"w":1546128000,"a":2,"d":2,"c":1},{"w":1546732800,"a":0,"d":0,"c":0},{"w":1547337600,"a":0,"d":0,"c":0},{"w":1547942400,"a":0,"d":0,"c":0},{"w":1548547200,"a":0,"d":0,"c":0},{"w":1549152000,"a":0,"d":0,"c":0},{"w":1549756800,"a":0,"d":0,"c":0},{"w":1550361600,"a":0,"d":0,"c":0},{"w":1550966400,"a":0,"d":0,"c":0},{"w":1551571200,"a":0,"d":0,"c":0},{"w":1552176000,"a":0,"d":0,"c":0},{"w":1552780800,"a":0,"d":0,"c":0},{"w":1553385600,"a":0,"d":0,"c":0},{"w":1553990400,"a":0,"d":0,"c":0},{"w":1554595200,"a":0,"d":0,"c":0},{"w":1555200000,"a":0,"d":0,"c":0},{"w":1555804800,"a":0,"d":0,"c":0},{"w":1556409600,"a":0,"d":0,"c":0},{"w":1557014400,"a":0,"d":0,"c":0},{"w":1557619200,"a":0,"d":0,"c":0},{"w":1558224000,"a":0,"d":0,"c":0},{"w":1558828800,"a":0,"d":0,"c":0},{"w":1559433600,"a":0,"d":0,"c":0},{"w":1560038400,"a":0,"d":0,"c":0},{"w":1560643200,"a":0,"d":0,"c":0},{"w":1561248000,"a":0,"d":0,"c":0},{"w":1561852800,"a":0,"d":0,"c":0},{"w":1562457600,"a":0,"d":0,"c":0}],"author":{"login":"dullin","id":7041033,"node_id":"MDQ6VXNlcjcwNDEwMzM=","avatar_url":"https://avatars0.githubusercontent.com/u/7041033?v=4","gravatar_id":"","url":"https://api.github.com/users/dullin","html_url":"https://github.com/dullin","followers_url":"https://api.github.com/users/dullin/followers","following_url":"https://api.github.com/users/dullin/following{/other_user}","gists_url":"https://api.github.com/users/dullin/gists{/gist_id}","starred_url":"https://api.github.com/users/dullin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dullin/subscriptions","organizations_url":"https://api.github.com/users/dullin/orgs","repos_url":"https://api.github.com/users/dullin/repos","events_url":"https://api.github.com/users/dullin/events{/privacy}","received_events_url":"https://api.github.com/users/dullin/received_events","type":"User","site_admin":false}},{"total":3,"weeks":[{"w":1215302400,"a":0,"d":0,"c":0},{"w":1215907200,"a":0,"d":0,"c":0},{"w":1216512000,"a":0,"d":0,"c":0},{"w":1217116800,"a":0,"d":0,"c":0},{"w":1217721600,"a":0,"d":0,"c":0},{"w":1218326400,"a":0,"d":0,"c":0},{"w":1218931200,"a":0,"d":0,"c":0},{"w":1219536000,"a":0,"d":0,"c":0},{"w":1220140800,"a":0,"d":0,"c":0},{"w":1220745600,"a":0,"d":0,"c":0},{"w":1221350400,"a":0,"d":0,"c":0},{"w":1221955200,"a":0,"d":0,"c":0},{"w":1222560000,"a":0,"d":0,"c":0},{"w":1223164800,"a":0,"d":0,"c":0},{"w":1223769600,"a":0,"d":0,"c":0},{"w":1224374400,"a":0,"d":0,"c":0},{"w":1224979200,"a":0,"d":0,"c":0},{"w":1225584000,"a":0,"d":0,"c":0},{"w":1226188800,"a":0,"d":0,"c":0},{"w":1226793600,"a":0,"d":0,"c":0},{"w":1227398400,"a":0,"d":0,"c":0},{"w":1228003200,"a":0,"d":0,"c":0},{"w":1228608000,"a":0,"d":0,"c":0},{"w":1229212800,"a":0,"d":0,"c":0},{"w":1229817600,"a":0,"d":0,"c":0},{"w":1230422400,"a":0,"d":0,"c":0},{"w":1231027200,"a":0,"d":0,"c":0},{"w":1231632000,"a":0,"d":0,"c":0},{"w":1232236800,"a":0,"d":0,"c":0},{"w":1232841600,"a":0,"d":0,"c":0},{"w":1233446400,"a":0,"d":0,"c":0},{"w":1234051200,"a":0,"d":0,"c":0},{"w":1234656000,"a":0,"d":0,"c":0},{"w":1235260800,"a":0,"d":0,"c":0},{"w":1235865600,"a":0,"d":0,"c":0},{"w":1236470400,"a":0,"d":0,"c":0},{"w":1237075200,"a":0,"d":0,"c":0},{"w":1237680000,"a":0,"d":0,"c":0},{"w":1238284800,"a":0,"d":0,"c":0},{"w":1238889600,"a":0,"d":0,"c":0},{"w":1239494400,"a":0,"d":0,"c":0},{"w":1240099200,"a":0,"d":0,"c":0},{"w":1240704000,"a":0,"d":0,"c":0},{"w":1241308800,"a":0,"d":0,"c":0},{"w":1241913600,"a":0,"d":0,"c":0},{"w":1242518400,"a":0,"d":0,"c":0},{"w":1243123200,"a":0,"d":0,"c":0},{"w":1243728000,"a":0,"d":0,"c":0},{"w":1244332800,"a":0,"d":0,"c":0},{"w":1244937600,"a":0,"d":0,"c":0},{"w":1245542400,"a":0,"d":0,"c":0},{"w":1246147200,"a":0,"d":0,"c":0},{"w":1246752000,"a":0,"d":0,"c":0},{"w":1247356800,"a":0,"d":0,"c":0},{"w":1247961600,"a":0,"d":0,"c":0},{"w":1248566400,"a":0,"d":0,"c":0},{"w":1249171200,"a":0,"d":0,"c":0},{"w":1249776000,"a":0,"d":0,"c":0},{"w":1250380800,"a":0,"d":0,"c":0},{"w":1250985600,"a":0,"d":0,"c":0},{"w":1251590400,"a":0,"d":0,"c":0},{"w":1252195200,"a":0,"d":0,"c":0},{"w":1252800000,"a":0,"d":0,"c":0},{"w":1253404800,"a":0,"d":0,"c":0},{"w":1254009600,"a":0,"d":0,"c":0},{"w":1254614400,"a":0,"d":0,"c":0},{"w":1255219200,"a":0,"d":0,"c":0},{"w":1255824000,"a":0,"d":0,"c":0},{"w":1256428800,"a":0,"d":0,"c":0},{"w":1257033600,"a":0,"d":0,"c":0},{"w":1257638400,"a":0,"d":0,"c":0},{"w":1258243200,"a":0,"d":0,"c":0},{"w":1258848000,"a":0,"d":0,"c":0},{"w":1259452800,"a":0,"d":0,"c":0},{"w":1260057600,"a":0,"d":0,"c":0},{"w":1260662400,"a":0,"d":0,"c":0},{"w":1261267200,"a":0,"d":0,"c":0},{"w":1261872000,"a":0,"d":0,"c":0},{"w":1262476800,"a":0,"d":0,"c":0},{"w":1263081600,"a":0,"d":0,"c":0},{"w":1263686400,"a":0,"d":0,"c":0},{"w":1264291200,"a":0,"d":0,"c":0},{"w":1264896000,"a":0,"d":0,"c":0},{"w":1265500800,"a":0,"d":0,"c":0},{"w":1266105600,"a":0,"d":0,"c":0},{"w":1266710400,"a":0,"d":0,"c":0},{"w":1267315200,"a":0,"d":0,"c":0},{"w":1267920000,"a":0,"d":0,"c":0},{"w":1268524800,"a":0,"d":0,"c":0},{"w":1269129600,"a":0,"d":0,"c":0},{"w":1269734400,"a":0,"d":0,"c":0},{"w":1270339200,"a":0,"d":0,"c":0},{"w":1270944000,"a":0,"d":0,"c":0},{"w":1271548800,"a":0,"d":0,"c":0},{"w":1272153600,"a":0,"d":0,"c":0},{"w":1272758400,"a":0,"d":0,"c":0},{"w":1273363200,"a":0,"d":0,"c":0},{"w":1273968000,"a":0,"d":0,"c":0},{"w":1274572800,"a":0,"d":0,"c":0},{"w":1275177600,"a":0,"d":0,"c":0},{"w":1275782400,"a":0,"d":0,"c":0},{"w":1276387200,"a":0,"d":0,"c":0},{"w":1276992000,"a":0,"d":0,"c":0},{"w":1277596800,"a":0,"d":0,"c":0},{"w":1278201600,"a":0,"d":0,"c":0},{"w":1278806400,"a":0,"d":0,"c":0},{"w":1279411200,"a":0,"d":0,"c":0},{"w":1280016000,"a":0,"d":0,"c":0},{"w":1280620800,"a":0,"d":0,"c":0},{"w":1281225600,"a":0,"d":0,"c":0},{"w":1281830400,"a":0,"d":0,"c":0},{"w":1282435200,"a":0,"d":0,"c":0},{"w":1283040000,"a":0,"d":0,"c":0},{"w":1283644800,"a":0,"d":0,"c":0},{"w":1284249600,"a":0,"d":0,"c":0},{"w":1284854400,"a":0,"d":0,"c":0},{"w":1285459200,"a":0,"d":0,"c":0},{"w":1286064000,"a":0,"d":0,"c":0},{"w":1286668800,"a":0,"d":0,"c":0},{"w":1287273600,"a":0,"d":0,"c":0},{"w":1287878400,"a":0,"d":0,"c":0},{"w":1288483200,"a":0,"d":0,"c":0},{"w":1289088000,"a":0,"d":0,"c":0},{"w":1289692800,"a":0,"d":0,"c":0},{"w":1290297600,"a":0,"d":0,"c":0},{"w":1290902400,"a":0,"d":0,"c":0},{"w":1291507200,"a":0,"d":0,"c":0},{"w":1292112000,"a":0,"d":0,"c":0},{"w":1292716800,"a":0,"d":0,"c":0},{"w":1293321600,"a":0,"d":0,"c":0},{"w":1293926400,"a":0,"d":0,"c":0},{"w":1294531200,"a":0,"d":0,"c":0},{"w":1295136000,"a":0,"d":0,"c":0},{"w":1295740800,"a":0,"d":0,"c":0},{"w":1296345600,"a":0,"d":0,"c":0},{"w":1296950400,"a":0,"d":0,"c":0},{"w":1297555200,"a":0,"d":0,"c":0},{"w":1298160000,"a":0,"d":0,"c":0},{"w":1298764800,"a":0,"d":0,"c":0},{"w":1299369600,"a":0,"d":0,"c":0},{"w":1299974400,"a":0,"d":0,"c":0},{"w":1300579200,"a":0,"d":0,"c":0},{"w":1301184000,"a":0,"d":0,"c":0},{"w":1301788800,"a":0,"d":0,"c":0},{"w":1302393600,"a":0,"d":0,"c":0},{"w":1302998400,"a":0,"d":0,"c":0},{"w":1303603200,"a":0,"d":0,"c":0},{"w":1304208000,"a":0,"d":0,"c":0},{"w":1304812800,"a":0,"d":0,"c":0},{"w":1305417600,"a":0,"d":0,"c":0},{"w":1306022400,"a":0,"d":0,"c":0},{"w":1306627200,"a":0,"d":0,"c":0},{"w":1307232000,"a":0,"d":0,"c":0},{"w":1307836800,"a":0,"d":0,"c":0},{"w":1308441600,"a":0,"d":0,"c":0},{"w":1309046400,"a":0,"d":0,"c":0},{"w":1309651200,"a":0,"d":0,"c":0},{"w":1310256000,"a":0,"d":0,"c":0},{"w":1310860800,"a":0,"d":0,"c":0},{"w":1311465600,"a":0,"d":0,"c":0},{"w":1312070400,"a":0,"d":0,"c":0},{"w":1312675200,"a":0,"d":0,"c":0},{"w":1313280000,"a":0,"d":0,"c":0},{"w":1313884800,"a":0,"d":0,"c":0},{"w":1314489600,"a":0,"d":0,"c":0},{"w":1315094400,"a":0,"d":0,"c":0},{"w":1315699200,"a":0,"d":0,"c":0},{"w":1316304000,"a":0,"d":0,"c":0},{"w":1316908800,"a":0,"d":0,"c":0},{"w":1317513600,"a":0,"d":0,"c":0},{"w":1318118400,"a":0,"d":0,"c":0},{"w":1318723200,"a":0,"d":0,"c":0},{"w":1319328000,"a":0,"d":0,"c":0},{"w":1319932800,"a":0,"d":0,"c":0},{"w":1320537600,"a":0,"d":0,"c":0},{"w":1321142400,"a":0,"d":0,"c":0},{"w":1321747200,"a":0,"d":0,"c":0},{"w":1322352000,"a":0,"d":0,"c":0},{"w":1322956800,"a":0,"d":0,"c":0},{"w":1323561600,"a":0,"d":0,"c":0},{"w":1324166400,"a":0,"d":0,"c":0},{"w":1324771200,"a":0,"d":0,"c":0},{"w":1325376000,"a":0,"d":0,"c":0},{"w":1325980800,"a":0,"d":0,"c":0},{"w":1326585600,"a":0,"d":0,"c":0},{"w":1327190400,"a":0,"d":0,"c":0},{"w":1327795200,"a":0,"d":0,"c":0},{"w":1328400000,"a":0,"d":0,"c":0},{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0},{"w":1384646400,"a":0,"d":0,"c":0},{"w":1385251200,"a":0,"d":0,"c":0},{"w":1385856000,"a":0,"d":0,"c":0},{"w":1386460800,"a":0,"d":0,"c":0},{"w":1387065600,"a":0,"d":0,"c":0},{"w":1387670400,"a":0,"d":0,"c":0},{"w":1388275200,"a":0,"d":0,"c":0},{"w":1388880000,"a":0,"d":0,"c":0},{"w":1389484800,"a":0,"d":0,"c":0},{"w":1390089600,"a":0,"d":0,"c":0},{"w":1390694400,"a":0,"d":0,"c":0},{"w":1391299200,"a":0,"d":0,"c":0},{"w":1391904000,"a":0,"d":0,"c":0},{"w":1392508800,"a":0,"d":0,"c":0},{"w":1393113600,"a":0,"d":0,"c":0},{"w":1393718400,"a":0,"d":0,"c":0},{"w":1394323200,"a":0,"d":0,"c":0},{"w":1394928000,"a":0,"d":0,"c":0},{"w":1395532800,"a":0,"d":0,"c":0},{"w":1396137600,"a":0,"d":0,"c":0},{"w":1396742400,"a":0,"d":0,"c":0},{"w":1397347200,"a":0,"d":0,"c":0},{"w":1397952000,"a":0,"d":0,"c":0},{"w":1398556800,"a":0,"d":0,"c":0},{"w":1399161600,"a":0,"d":0,"c":0},{"w":1399766400,"a":0,"d":0,"c":0},{"w":1400371200,"a":0,"d":0,"c":0},{"w":1400976000,"a":0,"d":0,"c":0},{"w":1401580800,"a":0,"d":0,"c":0},{"w":1402185600,"a":0,"d":0,"c":0},{"w":1402790400,"a":0,"d":0,"c":0},{"w":1403395200,"a":0,"d":0,"c":0},{"w":1404000000,"a":0,"d":0,"c":0},{"w":1404604800,"a":0,"d":0,"c":0},{"w":1405209600,"a":0,"d":0,"c":0},{"w":1405814400,"a":0,"d":0,"c":0},{"w":1406419200,"a":0,"d":0,"c":0},{"w":1407024000,"a":0,"d":0,"c":0},{"w":1407628800,"a":0,"d":0,"c":0},{"w":1408233600,"a":0,"d":0,"c":0},{"w":1408838400,"a":0,"d":0,"c":0},{"w":1409443200,"a":0,"d":0,"c":0},{"w":1410048000,"a":0,"d":0,"c":0},{"w":1410652800,"a":0,"d":0,"c":0},{"w":1411257600,"a":0,"d":0,"c":0},{"w":1411862400,"a":0,"d":0,"c":0},{"w":1412467200,"a":0,"d":0,"c":0},{"w":1413072000,"a":0,"d":0,"c":0},{"w":1413676800,"a":0,"d":0,"c":0},{"w":1414281600,"a":0,"d":0,"c":0},{"w":1414886400,"a":0,"d":0,"c":0},{"w":1415491200,"a":13,"d":0,"c":1},{"w":1416096000,"a":0,"d":0,"c":0},{"w":1416700800,"a":907,"d":0,"c":1},{"w":1417305600,"a":0,"d":0,"c":0},{"w":1417910400,"a":0,"d":0,"c":0},{"w":1418515200,"a":0,"d":0,"c":0},{"w":1419120000,"a":0,"d":0,"c":0},{"w":1419724800,"a":0,"d":0,"c":0},{"w":1420329600,"a":0,"d":0,"c":0},{"w":1420934400,"a":0,"d":0,"c":0},{"w":1421539200,"a":0,"d":0,"c":0},{"w":1422144000,"a":0,"d":0,"c":0},{"w":1422748800,"a":0,"d":0,"c":0},{"w":1423353600,"a":0,"d":0,"c":0},{"w":1423958400,"a":0,"d":0,"c":0},{"w":1424563200,"a":0,"d":0,"c":0},{"w":1425168000,"a":0,"d":0,"c":0},{"w":1425772800,"a":0,"d":0,"c":0},{"w":1426377600,"a":0,"d":0,"c":0},{"w":1426982400,"a":0,"d":0,"c":0},{"w":1427587200,"a":0,"d":0,"c":0},{"w":1428192000,"a":0,"d":0,"c":0},{"w":1428796800,"a":0,"d":0,"c":0},{"w":1429401600,"a":0,"d":0,"c":0},{"w":1430006400,"a":0,"d":0,"c":0},{"w":1430611200,"a":0,"d":0,"c":0},{"w":1431216000,"a":0,"d":0,"c":0},{"w":1431820800,"a":0,"d":0,"c":0},{"w":1432425600,"a":0,"d":0,"c":0},{"w":1433030400,"a":0,"d":0,"c":0},{"w":1433635200,"a":0,"d":0,"c":0},{"w":1434240000,"a":0,"d":0,"c":0},{"w":1434844800,"a":0,"d":0,"c":0},{"w":1435449600,"a":0,"d":0,"c":0},{"w":1436054400,"a":0,"d":0,"c":0},{"w":1436659200,"a":0,"d":0,"c":0},{"w":1437264000,"a":0,"d":0,"c":0},{"w":1437868800,"a":0,"d":0,"c":0},{"w":1438473600,"a":0,"d":0,"c":0},{"w":1439078400,"a":0,"d":0,"c":0},{"w":1439683200,"a":0,"d":0,"c":0},{"w":1440288000,"a":0,"d":0,"c":0},{"w":1440892800,"a":0,"d":0,"c":0},{"w":1441497600,"a":0,"d":0,"c":0},{"w":1442102400,"a":0,"d":0,"c":0},{"w":1442707200,"a":0,"d":0,"c":0},{"w":1443312000,"a":0,"d":0,"c":0},{"w":1443916800,"a":0,"d":0,"c":0},{"w":1444521600,"a":0,"d":0,"c":0},{"w":1445126400,"a":0,"d":0,"c":0},{"w":1445731200,"a":0,"d":0,"c":0},{"w":1446336000,"a":0,"d":0,"c":0},{"w":1446940800,"a":0,"d":0,"c":0},{"w":1447545600,"a":0,"d":0,"c":0},{"w":1448150400,"a":0,"d":0,"c":0},{"w":1448755200,"a":76,"d":0,"c":1},{"w":1449360000,"a":0,"d":0,"c":0},{"w":1449964800,"a":0,"d":0,"c":0},{"w":1450569600,"a":0,"d":0,"c":0},{"w":1451174400,"a":0,"d":0,"c":0},{"w":1451779200,"a":0,"d":0,"c":0},{"w":1452384000,"a":0,"d":0,"c":0},{"w":1452988800,"a":0,"d":0,"c":0},{"w":1453593600,"a":0,"d":0,"c":0},{"w":1454198400,"a":0,"d":0,"c":0},{"w":1454803200,"a":0,"d":0,"c":0},{"w":1455408000,"a":0,"d":0,"c":0},{"w":1456012800,"a":0,"d":0,"c":0},{"w":1456617600,"a":0,"d":0,"c":0},{"w":1457222400,"a":0,"d":0,"c":0},{"w":1457827200,"a":0,"d":0,"c":0},{"w":1458432000,"a":0,"d":0,"c":0},{"w":1459036800,"a":0,"d":0,"c":0},{"w":1459641600,"a":0,"d":0,"c":0},{"w":1460246400,"a":0,"d":0,"c":0},{"w":1460851200,"a":0,"d":0,"c":0},{"w":1461456000,"a":0,"d":0,"c":0},{"w":1462060800,"a":0,"d":0,"c":0},{"w":1462665600,"a":0,"d":0,"c":0},{"w":1463270400,"a":0,"d":0,"c":0},{"w":1463875200,"a":0,"d":0,"c":0},{"w":1464480000,"a":0,"d":0,"c":0},{"w":1465084800,"a":0,"d":0,"c":0},{"w":1465689600,"a":0,"d":0,"c":0},{"w":1466294400,"a":0,"d":0,"c":0},{"w":1466899200,"a":0,"d":0,"c":0},{"w":1467504000,"a":0,"d":0,"c":0},{"w":1468108800,"a":0,"d":0,"c":0},{"w":1468713600,"a":0,"d":0,"c":0},{"w":1469318400,"a":0,"d":0,"c":0},{"w":1469923200,"a":0,"d":0,"c":0},{"w":1470528000,"a":0,"d":0,"c":0},{"w":1471132800,"a":0,"d":0,"c":0},{"w":1471737600,"a":0,"d":0,"c":0},{"w":1472342400,"a":0,"d":0,"c":0},{"w":1472947200,"a":0,"d":0,"c":0},{"w":1473552000,"a":0,"d":0,"c":0},{"w":1474156800,"a":0,"d":0,"c":0},{"w":1474761600,"a":0,"d":0,"c":0},{"w":1475366400,"a":0,"d":0,"c":0},{"w":1475971200,"a":0,"d":0,"c":0},{"w":1476576000,"a":0,"d":0,"c":0},{"w":1477180800,"a":0,"d":0,"c":0},{"w":1477785600,"a":0,"d":0,"c":0},{"w":1478390400,"a":0,"d":0,"c":0},{"w":1478995200,"a":0,"d":0,"c":0},{"w":1479600000,"a":0,"d":0,"c":0},{"w":1480204800,"a":0,"d":0,"c":0},{"w":1480809600,"a":0,"d":0,"c":0},{"w":1481414400,"a":0,"d":0,"c":0},{"w":1482019200,"a":0,"d":0,"c":0},{"w":1482624000,"a":0,"d":0,"c":0},{"w":1483228800,"a":0,"d":0,"c":0},{"w":1483833600,"a":0,"d":0,"c":0},{"w":1484438400,"a":0,"d":0,"c":0},{"w":1485043200,"a":0,"d":0,"c":0},{"w":1485648000,"a":0,"d":0,"c":0},{"w":1486252800,"a":0,"d":0,"c":0},{"w":1486857600,"a":0,"d":0,"c":0},{"w":1487462400,"a":0,"d":0,"c":0},{"w":1488067200,"a":0,"d":0,"c":0},{"w":1488672000,"a":0,"d":0,"c":0},{"w":1489276800,"a":0,"d":0,"c":0},{"w":1489881600,"a":0,"d":0,"c":0},{"w":1490486400,"a":0,"d":0,"c":0},{"w":1491091200,"a":0,"d":0,"c":0},{"w":1491696000,"a":0,"d":0,"c":0},{"w":1492300800,"a":0,"d":0,"c":0},{"w":1492905600,"a":0,"d":0,"c":0},{"w":1493510400,"a":0,"d":0,"c":0},{"w":1494115200,"a":0,"d":0,"c":0},{"w":1494720000,"a":0,"d":0,"c":0},{"w":1495324800,"a":0,"d":0,"c":0},{"w":1495929600,"a":0,"d":0,"c":0},{"w":1496534400,"a":0,"d":0,"c":0},{"w":1497139200,"a":0,"d":0,"c":0},{"w":1497744000,"a":0,"d":0,"c":0},{"w":1498348800,"a":0,"d":0,"c":0},{"w":1498953600,"a":0,"d":0,"c":0},{"w":1499558400,"a":0,"d":0,"c":0},{"w":1500163200,"a":0,"d":0,"c":0},{"w":1500768000,"a":0,"d":0,"c":0},{"w":1501372800,"a":0,"d":0,"c":0},{"w":1501977600,"a":0,"d":0,"c":0},{"w":1502582400,"a":0,"d":0,"c":0},{"w":1503187200,"a":0,"d":0,"c":0},{"w":1503792000,"a":0,"d":0,"c":0},{"w":1504396800,"a":0,"d":0,"c":0},{"w":1505001600,"a":0,"d":0,"c":0},{"w":1505606400,"a":0,"d":0,"c":0},{"w":1506211200,"a":0,"d":0,"c":0},{"w":1506816000,"a":0,"d":0,"c":0},{"w":1507420800,"a":0,"d":0,"c":0},{"w":1508025600,"a":0,"d":0,"c":0},{"w":1508630400,"a":0,"d":0,"c":0},{"w":1509235200,"a":0,"d":0,"c":0},{"w":1509840000,"a":0,"d":0,"c":0},{"w":1510444800,"a":0,"d":0,"c":0},{"w":1511049600,"a":0,"d":0,"c":0},{"w":1511654400,"a":0,"d":0,"c":0},{"w":1512259200,"a":0,"d":0,"c":0},{"w":1512864000,"a":0,"d":0,"c":0},{"w":1513468800,"a":0,"d":0,"c":0},{"w":1514073600,"a":0,"d":0,"c":0},{"w":1514678400,"a":0,"d":0,"c":0},{"w":1515283200,"a":0,"d":0,"c":0},{"w":1515888000,"a":0,"d":0,"c":0},{"w":1516492800,"a":0,"d":0,"c":0},{"w":1517097600,"a":0,"d":0,"c":0},{"w":1517702400,"a":0,"d":0,"c":0},{"w":1518307200,"a":0,"d":0,"c":0},{"w":1518912000,"a":0,"d":0,"c":0},{"w":1519516800,"a":0,"d":0,"c":0},{"w":1520121600,"a":0,"d":0,"c":0},{"w":1520726400,"a":0,"d":0,"c":0},{"w":1521331200,"a":0,"d":0,"c":0},{"w":1521936000,"a":0,"d":0,"c":0},{"w":1522540800,"a":0,"d":0,"c":0},{"w":1523145600,"a":0,"d":0,"c":0},{"w":1523750400,"a":0,"d":0,"c":0},{"w":1524355200,"a":0,"d":0,"c":0},{"w":1524960000,"a":0,"d":0,"c":0},{"w":1525564800,"a":0,"d":0,"c":0},{"w":1526169600,"a":0,"d":0,"c":0},{"w":1526774400,"a":0,"d":0,"c":0},{"w":1527379200,"a":0,"d":0,"c":0},{"w":1527984000,"a":0,"d":0,"c":0},{"w":1528588800,"a":0,"d":0,"c":0},{"w":1529193600,"a":0,"d":0,"c":0},{"w":1529798400,"a":0,"d":0,"c":0},{"w":1530403200,"a":0,"d":0,"c":0},{"w":1531008000,"a":0,"d":0,"c":0},{"w":1531612800,"a":0,"d":0,"c":0},{"w":1532217600,"a":0,"d":0,"c":0},{"w":1532822400,"a":0,"d":0,"c":0},{"w":1533427200,"a":0,"d":0,"c":0},{"w":1534032000,"a":0,"d":0,"c":0},{"w":1534636800,"a":0,"d":0,"c":0},{"w":1535241600,"a":0,"d":0,"c":0},{"w":1535846400,"a":0,"d":0,"c":0},{"w":1536451200,"a":0,"d":0,"c":0},{"w":1537056000,"a":0,"d":0,"c":0},{"w":1537660800,"a":0,"d":0,"c":0},{"w":1538265600,"a":0,"d":0,"c":0},{"w":1538870400,"a":0,"d":0,"c":0},{"w":1539475200,"a":0,"d":0,"c":0},{"w":1540080000,"a":0,"d":0,"c":0},{"w":1540684800,"a":0,"d":0,"c":0},{"w":1541289600,"a":0,"d":0,"c":0},{"w":1541894400,"a":0,"d":0,"c":0},{"w":1542499200,"a":0,"d":0,"c":0},{"w":1543104000,"a":0,"d":0,"c":0},{"w":1543708800,"a":0,"d":0,"c":0},{"w":1544313600,"a":0,"d":0,"c":0},{"w":1544918400,"a":0,"d":0,"c":0},{"w":1545523200,"a":0,"d":0,"c":0},{"w":1546128000,"a":0,"d":0,"c":0},{"w":1546732800,"a":0,"d":0,"c":0},{"w":1547337600,"a":0,"d":0,"c":0},{"w":1547942400,"a":0,"d":0,"c":0},{"w":1548547200,"a":0,"d":0,"c":0},{"w":1549152000,"a":0,"d":0,"c":0},{"w":1549756800,"a":0,"d":0,"c":0},{"w":1550361600,"a":0,"d":0,"c":0},{"w":1550966400,"a":0,"d":0,"c":0},{"w":1551571200,"a":0,"d":0,"c":0},{"w":1552176000,"a":0,"d":0,"c":0},{"w":1552780800,"a":0,"d":0,"c":0},{"w":1553385600,"a":0,"d":0,"c":0},{"w":1553990400,"a":0,"d":0,"c":0},{"w":1554595200,"a":0,"d":0,"c":0},{"w":1555200000,"a":0,"d":0,"c":0},{"w":1555804800,"a":0,"d":0,"c":0},{"w":1556409600,"a":0,"d":0,"c":0},{"w":1557014400,"a":0,"d":0,"c":0},{"w":1557619200,"a":0,"d":0,"c":0},{"w":1558224000,"a":0,"d":0,"c":0},{"w":1558828800,"a":0,"d":0,"c":0},{"w":1559433600,"a":0,"d":0,"c":0},{"w":1560038400,"a":0,"d":0,"c":0},{"w":1560643200,"a":0,"d":0,"c":0},{"w":1561248000,"a":0,"d":0,"c":0},{"w":1561852800,"a":0,"d":0,"c":0},{"w":1562457600,"a":0,"d":0,"c":0}],"author":{"login":"ablondin","id":398340,"node_id":"MDQ6VXNlcjM5ODM0MA==","avatar_url":"https://avatars1.githubusercontent.com/u/398340?v=4","gravatar_id":"","url":"https://api.github.com/users/ablondin","html_url":"https://github.com/ablondin","followers_url":"https://api.github.com/users/ablondin/followers","following_url":"https://api.github.com/users/ablondin/following{/other_user}","gists_url":"https://api.github.com/users/ablondin/gists{/gist_id}","starred_url":"https://api.github.com/users/ablondin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ablondin/subscriptions","organizations_url":"https://api.github.com/users/ablondin/orgs","repos_url":"https://api.github.com/users/ablondin/repos","events_url":"https://api.github.com/users/ablondin/events{/privacy}","received_events_url":"https://api.github.com/users/ablondin/received_events","type":"User","site_admin":false}},{"total":4,"weeks":[{"w":1215302400,"a":0,"d":0,"c":0},{"w":1215907200,"a":0,"d":0,"c":0},{"w":1216512000,"a":0,"d":0,"c":0},{"w":1217116800,"a":0,"d":0,"c":0},{"w":1217721600,"a":0,"d":0,"c":0},{"w":1218326400,"a":0,"d":0,"c":0},{"w":1218931200,"a":0,"d":0,"c":0},{"w":1219536000,"a":0,"d":0,"c":0},{"w":1220140800,"a":0,"d":0,"c":0},{"w":1220745600,"a":0,"d":0,"c":0},{"w":1221350400,"a":0,"d":0,"c":0},{"w":1221955200,"a":0,"d":0,"c":0},{"w":1222560000,"a":0,"d":0,"c":0},{"w":1223164800,"a":0,"d":0,"c":0},{"w":1223769600,"a":0,"d":0,"c":0},{"w":1224374400,"a":0,"d":0,"c":0},{"w":1224979200,"a":0,"d":0,"c":0},{"w":1225584000,"a":0,"d":0,"c":0},{"w":1226188800,"a":0,"d":0,"c":0},{"w":1226793600,"a":0,"d":0,"c":0},{"w":1227398400,"a":0,"d":0,"c":0},{"w":1228003200,"a":0,"d":0,"c":0},{"w":1228608000,"a":0,"d":0,"c":0},{"w":1229212800,"a":0,"d":0,"c":0},{"w":1229817600,"a":0,"d":0,"c":0},{"w":1230422400,"a":0,"d":0,"c":0},{"w":1231027200,"a":0,"d":0,"c":0},{"w":1231632000,"a":0,"d":0,"c":0},{"w":1232236800,"a":0,"d":0,"c":0},{"w":1232841600,"a":0,"d":0,"c":0},{"w":1233446400,"a":0,"d":0,"c":0},{"w":1234051200,"a":0,"d":0,"c":0},{"w":1234656000,"a":0,"d":0,"c":0},{"w":1235260800,"a":0,"d":0,"c":0},{"w":1235865600,"a":0,"d":0,"c":0},{"w":1236470400,"a":0,"d":0,"c":0},{"w":1237075200,"a":0,"d":0,"c":0},{"w":1237680000,"a":0,"d":0,"c":0},{"w":1238284800,"a":0,"d":0,"c":0},{"w":1238889600,"a":0,"d":0,"c":0},{"w":1239494400,"a":0,"d":0,"c":0},{"w":1240099200,"a":0,"d":0,"c":0},{"w":1240704000,"a":0,"d":0,"c":0},{"w":1241308800,"a":0,"d":0,"c":0},{"w":1241913600,"a":0,"d":0,"c":0},{"w":1242518400,"a":0,"d":0,"c":0},{"w":1243123200,"a":0,"d":0,"c":0},{"w":1243728000,"a":0,"d":0,"c":0},{"w":1244332800,"a":0,"d":0,"c":0},{"w":1244937600,"a":0,"d":0,"c":0},{"w":1245542400,"a":0,"d":0,"c":0},{"w":1246147200,"a":0,"d":0,"c":0},{"w":1246752000,"a":0,"d":0,"c":0},{"w":1247356800,"a":0,"d":0,"c":0},{"w":1247961600,"a":0,"d":0,"c":0},{"w":1248566400,"a":0,"d":0,"c":0},{"w":1249171200,"a":0,"d":0,"c":0},{"w":1249776000,"a":0,"d":0,"c":0},{"w":1250380800,"a":0,"d":0,"c":0},{"w":1250985600,"a":0,"d":0,"c":0},{"w":1251590400,"a":0,"d":0,"c":0},{"w":1252195200,"a":0,"d":0,"c":0},{"w":1252800000,"a":0,"d":0,"c":0},{"w":1253404800,"a":0,"d":0,"c":0},{"w":1254009600,"a":0,"d":0,"c":0},{"w":1254614400,"a":0,"d":0,"c":0},{"w":1255219200,"a":0,"d":0,"c":0},{"w":1255824000,"a":0,"d":0,"c":0},{"w":1256428800,"a":0,"d":0,"c":0},{"w":1257033600,"a":0,"d":0,"c":0},{"w":1257638400,"a":0,"d":0,"c":0},{"w":1258243200,"a":0,"d":0,"c":0},{"w":1258848000,"a":0,"d":0,"c":0},{"w":1259452800,"a":0,"d":0,"c":0},{"w":1260057600,"a":0,"d":0,"c":0},{"w":1260662400,"a":0,"d":0,"c":0},{"w":1261267200,"a":0,"d":0,"c":0},{"w":1261872000,"a":0,"d":0,"c":0},{"w":1262476800,"a":0,"d":0,"c":0},{"w":1263081600,"a":0,"d":0,"c":0},{"w":1263686400,"a":0,"d":0,"c":0},{"w":1264291200,"a":0,"d":0,"c":0},{"w":1264896000,"a":0,"d":0,"c":0},{"w":1265500800,"a":0,"d":0,"c":0},{"w":1266105600,"a":0,"d":0,"c":0},{"w":1266710400,"a":0,"d":0,"c":0},{"w":1267315200,"a":0,"d":0,"c":0},{"w":1267920000,"a":0,"d":0,"c":0},{"w":1268524800,"a":0,"d":0,"c":0},{"w":1269129600,"a":0,"d":0,"c":0},{"w":1269734400,"a":0,"d":0,"c":0},{"w":1270339200,"a":0,"d":0,"c":0},{"w":1270944000,"a":0,"d":0,"c":0},{"w":1271548800,"a":0,"d":0,"c":0},{"w":1272153600,"a":0,"d":0,"c":0},{"w":1272758400,"a":0,"d":0,"c":0},{"w":1273363200,"a":0,"d":0,"c":0},{"w":1273968000,"a":0,"d":0,"c":0},{"w":1274572800,"a":0,"d":0,"c":0},{"w":1275177600,"a":0,"d":0,"c":0},{"w":1275782400,"a":0,"d":0,"c":0},{"w":1276387200,"a":0,"d":0,"c":0},{"w":1276992000,"a":0,"d":0,"c":0},{"w":1277596800,"a":0,"d":0,"c":0},{"w":1278201600,"a":0,"d":0,"c":0},{"w":1278806400,"a":0,"d":0,"c":0},{"w":1279411200,"a":0,"d":0,"c":0},{"w":1280016000,"a":0,"d":0,"c":0},{"w":1280620800,"a":0,"d":0,"c":0},{"w":1281225600,"a":0,"d":0,"c":0},{"w":1281830400,"a":0,"d":0,"c":0},{"w":1282435200,"a":0,"d":0,"c":0},{"w":1283040000,"a":0,"d":0,"c":0},{"w":1283644800,"a":0,"d":0,"c":0},{"w":1284249600,"a":0,"d":0,"c":0},{"w":1284854400,"a":0,"d":0,"c":0},{"w":1285459200,"a":0,"d":0,"c":0},{"w":1286064000,"a":0,"d":0,"c":0},{"w":1286668800,"a":0,"d":0,"c":0},{"w":1287273600,"a":0,"d":0,"c":0},{"w":1287878400,"a":0,"d":0,"c":0},{"w":1288483200,"a":0,"d":0,"c":0},{"w":1289088000,"a":0,"d":0,"c":0},{"w":1289692800,"a":0,"d":0,"c":0},{"w":1290297600,"a":0,"d":0,"c":0},{"w":1290902400,"a":0,"d":0,"c":0},{"w":1291507200,"a":0,"d":0,"c":0},{"w":1292112000,"a":0,"d":0,"c":0},{"w":1292716800,"a":0,"d":0,"c":0},{"w":1293321600,"a":0,"d":0,"c":0},{"w":1293926400,"a":0,"d":0,"c":0},{"w":1294531200,"a":0,"d":0,"c":0},{"w":1295136000,"a":0,"d":0,"c":0},{"w":1295740800,"a":0,"d":0,"c":0},{"w":1296345600,"a":0,"d":0,"c":0},{"w":1296950400,"a":0,"d":0,"c":0},{"w":1297555200,"a":0,"d":0,"c":0},{"w":1298160000,"a":0,"d":0,"c":0},{"w":1298764800,"a":0,"d":0,"c":0},{"w":1299369600,"a":0,"d":0,"c":0},{"w":1299974400,"a":0,"d":0,"c":0},{"w":1300579200,"a":0,"d":0,"c":0},{"w":1301184000,"a":0,"d":0,"c":0},{"w":1301788800,"a":0,"d":0,"c":0},{"w":1302393600,"a":0,"d":0,"c":0},{"w":1302998400,"a":0,"d":0,"c":0},{"w":1303603200,"a":0,"d":0,"c":0},{"w":1304208000,"a":0,"d":0,"c":0},{"w":1304812800,"a":0,"d":0,"c":0},{"w":1305417600,"a":0,"d":0,"c":0},{"w":1306022400,"a":0,"d":0,"c":0},{"w":1306627200,"a":0,"d":0,"c":0},{"w":1307232000,"a":0,"d":0,"c":0},{"w":1307836800,"a":0,"d":0,"c":0},{"w":1308441600,"a":0,"d":0,"c":0},{"w":1309046400,"a":0,"d":0,"c":0},{"w":1309651200,"a":0,"d":0,"c":0},{"w":1310256000,"a":0,"d":0,"c":0},{"w":1310860800,"a":0,"d":0,"c":0},{"w":1311465600,"a":0,"d":0,"c":0},{"w":1312070400,"a":0,"d":0,"c":0},{"w":1312675200,"a":0,"d":0,"c":0},{"w":1313280000,"a":0,"d":0,"c":0},{"w":1313884800,"a":0,"d":0,"c":0},{"w":1314489600,"a":0,"d":0,"c":0},{"w":1315094400,"a":0,"d":0,"c":0},{"w":1315699200,"a":0,"d":0,"c":0},{"w":1316304000,"a":0,"d":0,"c":0},{"w":1316908800,"a":0,"d":0,"c":0},{"w":1317513600,"a":0,"d":0,"c":0},{"w":1318118400,"a":0,"d":0,"c":0},{"w":1318723200,"a":0,"d":0,"c":0},{"w":1319328000,"a":0,"d":0,"c":0},{"w":1319932800,"a":0,"d":0,"c":0},{"w":1320537600,"a":0,"d":0,"c":0},{"w":1321142400,"a":0,"d":0,"c":0},{"w":1321747200,"a":0,"d":0,"c":0},{"w":1322352000,"a":0,"d":0,"c":0},{"w":1322956800,"a":0,"d":0,"c":0},{"w":1323561600,"a":0,"d":0,"c":0},{"w":1324166400,"a":0,"d":0,"c":0},{"w":1324771200,"a":0,"d":0,"c":0},{"w":1325376000,"a":0,"d":0,"c":0},{"w":1325980800,"a":0,"d":0,"c":0},{"w":1326585600,"a":0,"d":0,"c":0},{"w":1327190400,"a":0,"d":0,"c":0},{"w":1327795200,"a":0,"d":0,"c":0},{"w":1328400000,"a":0,"d":0,"c":0},{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0},{"w":1384646400,"a":0,"d":0,"c":0},{"w":1385251200,"a":0,"d":0,"c":0},{"w":1385856000,"a":0,"d":0,"c":0},{"w":1386460800,"a":0,"d":0,"c":0},{"w":1387065600,"a":0,"d":0,"c":0},{"w":1387670400,"a":0,"d":0,"c":0},{"w":1388275200,"a":0,"d":0,"c":0},{"w":1388880000,"a":0,"d":0,"c":0},{"w":1389484800,"a":0,"d":0,"c":0},{"w":1390089600,"a":0,"d":0,"c":0},{"w":1390694400,"a":0,"d":0,"c":0},{"w":1391299200,"a":0,"d":0,"c":0},{"w":1391904000,"a":0,"d":0,"c":0},{"w":1392508800,"a":0,"d":0,"c":0},{"w":1393113600,"a":0,"d":0,"c":0},{"w":1393718400,"a":0,"d":0,"c":0},{"w":1394323200,"a":0,"d":0,"c":0},{"w":1394928000,"a":0,"d":0,"c":0},{"w":1395532800,"a":0,"d":0,"c":0},{"w":1396137600,"a":0,"d":0,"c":0},{"w":1396742400,"a":0,"d":0,"c":0},{"w":1397347200,"a":0,"d":0,"c":0},{"w":1397952000,"a":0,"d":0,"c":0},{"w":1398556800,"a":0,"d":0,"c":0},{"w":1399161600,"a":0,"d":0,"c":0},{"w":1399766400,"a":0,"d":0,"c":0},{"w":1400371200,"a":0,"d":0,"c":0},{"w":1400976000,"a":0,"d":0,"c":0},{"w":1401580800,"a":0,"d":0,"c":0},{"w":1402185600,"a":0,"d":0,"c":0},{"w":1402790400,"a":0,"d":0,"c":0},{"w":1403395200,"a":0,"d":0,"c":0},{"w":1404000000,"a":0,"d":0,"c":0},{"w":1404604800,"a":0,"d":0,"c":0},{"w":1405209600,"a":0,"d":0,"c":0},{"w":1405814400,"a":0,"d":0,"c":0},{"w":1406419200,"a":0,"d":0,"c":0},{"w":1407024000,"a":0,"d":0,"c":0},{"w":1407628800,"a":0,"d":0,"c":0},{"w":1408233600,"a":0,"d":0,"c":0},{"w":1408838400,"a":0,"d":0,"c":0},{"w":1409443200,"a":0,"d":0,"c":0},{"w":1410048000,"a":0,"d":0,"c":0},{"w":1410652800,"a":0,"d":0,"c":0},{"w":1411257600,"a":0,"d":0,"c":0},{"w":1411862400,"a":0,"d":0,"c":0},{"w":1412467200,"a":0,"d":0,"c":0},{"w":1413072000,"a":0,"d":0,"c":0},{"w":1413676800,"a":0,"d":0,"c":0},{"w":1414281600,"a":0,"d":0,"c":0},{"w":1414886400,"a":0,"d":0,"c":0},{"w":1415491200,"a":0,"d":0,"c":0},{"w":1416096000,"a":0,"d":0,"c":0},{"w":1416700800,"a":0,"d":0,"c":0},{"w":1417305600,"a":0,"d":0,"c":0},{"w":1417910400,"a":0,"d":0,"c":0},{"w":1418515200,"a":0,"d":0,"c":0},{"w":1419120000,"a":0,"d":0,"c":0},{"w":1419724800,"a":0,"d":0,"c":0},{"w":1420329600,"a":0,"d":0,"c":0},{"w":1420934400,"a":180,"d":0,"c":1},{"w":1421539200,"a":0,"d":0,"c":0},{"w":1422144000,"a":0,"d":0,"c":0},{"w":1422748800,"a":0,"d":0,"c":0},{"w":1423353600,"a":0,"d":0,"c":0},{"w":1423958400,"a":0,"d":0,"c":0},{"w":1424563200,"a":0,"d":0,"c":0},{"w":1425168000,"a":0,"d":0,"c":0},{"w":1425772800,"a":0,"d":0,"c":0},{"w":1426377600,"a":0,"d":0,"c":0},{"w":1426982400,"a":0,"d":0,"c":0},{"w":1427587200,"a":0,"d":0,"c":0},{"w":1428192000,"a":0,"d":0,"c":0},{"w":1428796800,"a":0,"d":0,"c":0},{"w":1429401600,"a":0,"d":0,"c":0},{"w":1430006400,"a":0,"d":0,"c":0},{"w":1430611200,"a":0,"d":0,"c":0},{"w":1431216000,"a":0,"d":0,"c":0},{"w":1431820800,"a":0,"d":0,"c":0},{"w":1432425600,"a":25,"d":25,"c":1},{"w":1433030400,"a":83,"d":7,"c":1},{"w":1433635200,"a":0,"d":0,"c":0},{"w":1434240000,"a":0,"d":0,"c":0},{"w":1434844800,"a":0,"d":0,"c":0},{"w":1435449600,"a":0,"d":0,"c":0},{"w":1436054400,"a":0,"d":0,"c":0},{"w":1436659200,"a":0,"d":0,"c":0},{"w":1437264000,"a":0,"d":0,"c":0},{"w":1437868800,"a":0,"d":0,"c":0},{"w":1438473600,"a":0,"d":0,"c":0},{"w":1439078400,"a":0,"d":0,"c":0},{"w":1439683200,"a":0,"d":0,"c":0},{"w":1440288000,"a":0,"d":0,"c":0},{"w":1440892800,"a":0,"d":0,"c":0},{"w":1441497600,"a":0,"d":0,"c":0},{"w":1442102400,"a":0,"d":0,"c":0},{"w":1442707200,"a":0,"d":0,"c":0},{"w":1443312000,"a":0,"d":0,"c":0},{"w":1443916800,"a":0,"d":0,"c":0},{"w":1444521600,"a":0,"d":0,"c":0},{"w":1445126400,"a":0,"d":0,"c":0},{"w":1445731200,"a":0,"d":0,"c":0},{"w":1446336000,"a":0,"d":0,"c":0},{"w":1446940800,"a":0,"d":0,"c":0},{"w":1447545600,"a":0,"d":0,"c":0},{"w":1448150400,"a":0,"d":0,"c":0},{"w":1448755200,"a":0,"d":0,"c":0},{"w":1449360000,"a":0,"d":0,"c":0},{"w":1449964800,"a":0,"d":0,"c":0},{"w":1450569600,"a":0,"d":0,"c":0},{"w":1451174400,"a":0,"d":0,"c":0},{"w":1451779200,"a":0,"d":0,"c":0},{"w":1452384000,"a":0,"d":0,"c":0},{"w":1452988800,"a":0,"d":0,"c":0},{"w":1453593600,"a":0,"d":0,"c":0},{"w":1454198400,"a":19,"d":0,"c":1},{"w":1454803200,"a":0,"d":0,"c":0},{"w":1455408000,"a":0,"d":0,"c":0},{"w":1456012800,"a":0,"d":0,"c":0},{"w":1456617600,"a":0,"d":0,"c":0},{"w":1457222400,"a":0,"d":0,"c":0},{"w":1457827200,"a":0,"d":0,"c":0},{"w":1458432000,"a":0,"d":0,"c":0},{"w":1459036800,"a":0,"d":0,"c":0},{"w":1459641600,"a":0,"d":0,"c":0},{"w":1460246400,"a":0,"d":0,"c":0},{"w":1460851200,"a":0,"d":0,"c":0},{"w":1461456000,"a":0,"d":0,"c":0},{"w":1462060800,"a":0,"d":0,"c":0},{"w":1462665600,"a":0,"d":0,"c":0},{"w":1463270400,"a":0,"d":0,"c":0},{"w":1463875200,"a":0,"d":0,"c":0},{"w":1464480000,"a":0,"d":0,"c":0},{"w":1465084800,"a":0,"d":0,"c":0},{"w":1465689600,"a":0,"d":0,"c":0},{"w":1466294400,"a":0,"d":0,"c":0},{"w":1466899200,"a":0,"d":0,"c":0},{"w":1467504000,"a":0,"d":0,"c":0},{"w":1468108800,"a":0,"d":0,"c":0},{"w":1468713600,"a":0,"d":0,"c":0},{"w":1469318400,"a":0,"d":0,"c":0},{"w":1469923200,"a":0,"d":0,"c":0},{"w":1470528000,"a":0,"d":0,"c":0},{"w":1471132800,"a":0,"d":0,"c":0},{"w":1471737600,"a":0,"d":0,"c":0},{"w":1472342400,"a":0,"d":0,"c":0},{"w":1472947200,"a":0,"d":0,"c":0},{"w":1473552000,"a":0,"d":0,"c":0},{"w":1474156800,"a":0,"d":0,"c":0},{"w":1474761600,"a":0,"d":0,"c":0},{"w":1475366400,"a":0,"d":0,"c":0},{"w":1475971200,"a":0,"d":0,"c":0},{"w":1476576000,"a":0,"d":0,"c":0},{"w":1477180800,"a":0,"d":0,"c":0},{"w":1477785600,"a":0,"d":0,"c":0},{"w":1478390400,"a":0,"d":0,"c":0},{"w":1478995200,"a":0,"d":0,"c":0},{"w":1479600000,"a":0,"d":0,"c":0},{"w":1480204800,"a":0,"d":0,"c":0},{"w":1480809600,"a":0,"d":0,"c":0},{"w":1481414400,"a":0,"d":0,"c":0},{"w":1482019200,"a":0,"d":0,"c":0},{"w":1482624000,"a":0,"d":0,"c":0},{"w":1483228800,"a":0,"d":0,"c":0},{"w":1483833600,"a":0,"d":0,"c":0},{"w":1484438400,"a":0,"d":0,"c":0},{"w":1485043200,"a":0,"d":0,"c":0},{"w":1485648000,"a":0,"d":0,"c":0},{"w":1486252800,"a":0,"d":0,"c":0},{"w":1486857600,"a":0,"d":0,"c":0},{"w":1487462400,"a":0,"d":0,"c":0},{"w":1488067200,"a":0,"d":0,"c":0},{"w":1488672000,"a":0,"d":0,"c":0},{"w":1489276800,"a":0,"d":0,"c":0},{"w":1489881600,"a":0,"d":0,"c":0},{"w":1490486400,"a":0,"d":0,"c":0},{"w":1491091200,"a":0,"d":0,"c":0},{"w":1491696000,"a":0,"d":0,"c":0},{"w":1492300800,"a":0,"d":0,"c":0},{"w":1492905600,"a":0,"d":0,"c":0},{"w":1493510400,"a":0,"d":0,"c":0},{"w":1494115200,"a":0,"d":0,"c":0},{"w":1494720000,"a":0,"d":0,"c":0},{"w":1495324800,"a":0,"d":0,"c":0},{"w":1495929600,"a":0,"d":0,"c":0},{"w":1496534400,"a":0,"d":0,"c":0},{"w":1497139200,"a":0,"d":0,"c":0},{"w":1497744000,"a":0,"d":0,"c":0},{"w":1498348800,"a":0,"d":0,"c":0},{"w":1498953600,"a":0,"d":0,"c":0},{"w":1499558400,"a":0,"d":0,"c":0},{"w":1500163200,"a":0,"d":0,"c":0},{"w":1500768000,"a":0,"d":0,"c":0},{"w":1501372800,"a":0,"d":0,"c":0},{"w":1501977600,"a":0,"d":0,"c":0},{"w":1502582400,"a":0,"d":0,"c":0},{"w":1503187200,"a":0,"d":0,"c":0},{"w":1503792000,"a":0,"d":0,"c":0},{"w":1504396800,"a":0,"d":0,"c":0},{"w":1505001600,"a":0,"d":0,"c":0},{"w":1505606400,"a":0,"d":0,"c":0},{"w":1506211200,"a":0,"d":0,"c":0},{"w":1506816000,"a":0,"d":0,"c":0},{"w":1507420800,"a":0,"d":0,"c":0},{"w":1508025600,"a":0,"d":0,"c":0},{"w":1508630400,"a":0,"d":0,"c":0},{"w":1509235200,"a":0,"d":0,"c":0},{"w":1509840000,"a":0,"d":0,"c":0},{"w":1510444800,"a":0,"d":0,"c":0},{"w":1511049600,"a":0,"d":0,"c":0},{"w":1511654400,"a":0,"d":0,"c":0},{"w":1512259200,"a":0,"d":0,"c":0},{"w":1512864000,"a":0,"d":0,"c":0},{"w":1513468800,"a":0,"d":0,"c":0},{"w":1514073600,"a":0,"d":0,"c":0},{"w":1514678400,"a":0,"d":0,"c":0},{"w":1515283200,"a":0,"d":0,"c":0},{"w":1515888000,"a":0,"d":0,"c":0},{"w":1516492800,"a":0,"d":0,"c":0},{"w":1517097600,"a":0,"d":0,"c":0},{"w":1517702400,"a":0,"d":0,"c":0},{"w":1518307200,"a":0,"d":0,"c":0},{"w":1518912000,"a":0,"d":0,"c":0},{"w":1519516800,"a":0,"d":0,"c":0},{"w":1520121600,"a":0,"d":0,"c":0},{"w":1520726400,"a":0,"d":0,"c":0},{"w":1521331200,"a":0,"d":0,"c":0},{"w":1521936000,"a":0,"d":0,"c":0},{"w":1522540800,"a":0,"d":0,"c":0},{"w":1523145600,"a":0,"d":0,"c":0},{"w":1523750400,"a":0,"d":0,"c":0},{"w":1524355200,"a":0,"d":0,"c":0},{"w":1524960000,"a":0,"d":0,"c":0},{"w":1525564800,"a":0,"d":0,"c":0},{"w":1526169600,"a":0,"d":0,"c":0},{"w":1526774400,"a":0,"d":0,"c":0},{"w":1527379200,"a":0,"d":0,"c":0},{"w":1527984000,"a":0,"d":0,"c":0},{"w":1528588800,"a":0,"d":0,"c":0},{"w":1529193600,"a":0,"d":0,"c":0},{"w":1529798400,"a":0,"d":0,"c":0},{"w":1530403200,"a":0,"d":0,"c":0},{"w":1531008000,"a":0,"d":0,"c":0},{"w":1531612800,"a":0,"d":0,"c":0},{"w":1532217600,"a":0,"d":0,"c":0},{"w":1532822400,"a":0,"d":0,"c":0},{"w":1533427200,"a":0,"d":0,"c":0},{"w":1534032000,"a":0,"d":0,"c":0},{"w":1534636800,"a":0,"d":0,"c":0},{"w":1535241600,"a":0,"d":0,"c":0},{"w":1535846400,"a":0,"d":0,"c":0},{"w":1536451200,"a":0,"d":0,"c":0},{"w":1537056000,"a":0,"d":0,"c":0},{"w":1537660800,"a":0,"d":0,"c":0},{"w":1538265600,"a":0,"d":0,"c":0},{"w":1538870400,"a":0,"d":0,"c":0},{"w":1539475200,"a":0,"d":0,"c":0},{"w":1540080000,"a":0,"d":0,"c":0},{"w":1540684800,"a":0,"d":0,"c":0},{"w":1541289600,"a":0,"d":0,"c":0},{"w":1541894400,"a":0,"d":0,"c":0},{"w":1542499200,"a":0,"d":0,"c":0},{"w":1543104000,"a":0,"d":0,"c":0},{"w":1543708800,"a":0,"d":0,"c":0},{"w":1544313600,"a":0,"d":0,"c":0},{"w":1544918400,"a":0,"d":0,"c":0},{"w":1545523200,"a":0,"d":0,"c":0},{"w":1546128000,"a":0,"d":0,"c":0},{"w":1546732800,"a":0,"d":0,"c":0},{"w":1547337600,"a":0,"d":0,"c":0},{"w":1547942400,"a":0,"d":0,"c":0},{"w":1548547200,"a":0,"d":0,"c":0},{"w":1549152000,"a":0,"d":0,"c":0},{"w":1549756800,"a":0,"d":0,"c":0},{"w":1550361600,"a":0,"d":0,"c":0},{"w":1550966400,"a":0,"d":0,"c":0},{"w":1551571200,"a":0,"d":0,"c":0},{"w":1552176000,"a":0,"d":0,"c":0},{"w":1552780800,"a":0,"d":0,"c":0},{"w":1553385600,"a":0,"d":0,"c":0},{"w":1553990400,"a":0,"d":0,"c":0},{"w":1554595200,"a":0,"d":0,"c":0},{"w":1555200000,"a":0,"d":0,"c":0},{"w":1555804800,"a":0,"d":0,"c":0},{"w":1556409600,"a":0,"d":0,"c":0},{"w":1557014400,"a":0,"d":0,"c":0},{"w":1557619200,"a":0,"d":0,"c":0},{"w":1558224000,"a":0,"d":0,"c":0},{"w":1558828800,"a":0,"d":0,"c":0},{"w":1559433600,"a":0,"d":0,"c":0},{"w":1560038400,"a":0,"d":0,"c":0},{"w":1560643200,"a":0,"d":0,"c":0},{"w":1561248000,"a":0,"d":0,"c":0},{"w":1561852800,"a":0,"d":0,"c":0},{"w":1562457600,"a":0,"d":0,"c":0}],"author":{"login":"MehdiAit","id":3407293,"node_id":"MDQ6VXNlcjM0MDcyOTM=","avatar_url":"https://avatars0.githubusercontent.com/u/3407293?v=4","gravatar_id":"","url":"https://api.github.com/users/MehdiAit","html_url":"https://github.com/MehdiAit","followers_url":"https://api.github.com/users/MehdiAit/followers","following_url":"https://api.github.com/users/MehdiAit/following{/other_user}","gists_url":"https://api.github.com/users/MehdiAit/gists{/gist_id}","starred_url":"https://api.github.com/users/MehdiAit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MehdiAit/subscriptions","organizations_url":"https://api.github.com/users/MehdiAit/orgs","repos_url":"https://api.github.com/users/MehdiAit/repos","events_url":"https://api.github.com/users/MehdiAit/events{/privacy}","received_events_url":"https://api.github.com/users/MehdiAit/received_events","type":"User","site_admin":false}},{"total":4,"weeks":[{"w":1215302400,"a":0,"d":0,"c":0},{"w":1215907200,"a":0,"d":0,"c":0},{"w":1216512000,"a":0,"d":0,"c":0},{"w":1217116800,"a":0,"d":0,"c":0},{"w":1217721600,"a":0,"d":0,"c":0},{"w":1218326400,"a":0,"d":0,"c":0},{"w":1218931200,"a":0,"d":0,"c":0},{"w":1219536000,"a":0,"d":0,"c":0},{"w":1220140800,"a":0,"d":0,"c":0},{"w":1220745600,"a":0,"d":0,"c":0},{"w":1221350400,"a":0,"d":0,"c":0},{"w":1221955200,"a":0,"d":0,"c":0},{"w":1222560000,"a":0,"d":0,"c":0},{"w":1223164800,"a":0,"d":0,"c":0},{"w":1223769600,"a":0,"d":0,"c":0},{"w":1224374400,"a":0,"d":0,"c":0},{"w":1224979200,"a":0,"d":0,"c":0},{"w":1225584000,"a":0,"d":0,"c":0},{"w":1226188800,"a":0,"d":0,"c":0},{"w":1226793600,"a":0,"d":0,"c":0},{"w":1227398400,"a":0,"d":0,"c":0},{"w":1228003200,"a":0,"d":0,"c":0},{"w":1228608000,"a":0,"d":0,"c":0},{"w":1229212800,"a":0,"d":0,"c":0},{"w":1229817600,"a":0,"d":0,"c":0},{"w":1230422400,"a":0,"d":0,"c":0},{"w":1231027200,"a":0,"d":0,"c":0},{"w":1231632000,"a":0,"d":0,"c":0},{"w":1232236800,"a":0,"d":0,"c":0},{"w":1232841600,"a":0,"d":0,"c":0},{"w":1233446400,"a":0,"d":0,"c":0},{"w":1234051200,"a":0,"d":0,"c":0},{"w":1234656000,"a":0,"d":0,"c":0},{"w":1235260800,"a":0,"d":0,"c":0},{"w":1235865600,"a":0,"d":0,"c":0},{"w":1236470400,"a":0,"d":0,"c":0},{"w":1237075200,"a":0,"d":0,"c":0},{"w":1237680000,"a":0,"d":0,"c":0},{"w":1238284800,"a":0,"d":0,"c":0},{"w":1238889600,"a":0,"d":0,"c":0},{"w":1239494400,"a":0,"d":0,"c":0},{"w":1240099200,"a":0,"d":0,"c":0},{"w":1240704000,"a":0,"d":0,"c":0},{"w":1241308800,"a":0,"d":0,"c":0},{"w":1241913600,"a":0,"d":0,"c":0},{"w":1242518400,"a":0,"d":0,"c":0},{"w":1243123200,"a":0,"d":0,"c":0},{"w":1243728000,"a":0,"d":0,"c":0},{"w":1244332800,"a":0,"d":0,"c":0},{"w":1244937600,"a":0,"d":0,"c":0},{"w":1245542400,"a":0,"d":0,"c":0},{"w":1246147200,"a":0,"d":0,"c":0},{"w":1246752000,"a":0,"d":0,"c":0},{"w":1247356800,"a":0,"d":0,"c":0},{"w":1247961600,"a":0,"d":0,"c":0},{"w":1248566400,"a":0,"d":0,"c":0},{"w":1249171200,"a":0,"d":0,"c":0},{"w":1249776000,"a":0,"d":0,"c":0},{"w":1250380800,"a":0,"d":0,"c":0},{"w":1250985600,"a":0,"d":0,"c":0},{"w":1251590400,"a":0,"d":0,"c":0},{"w":1252195200,"a":0,"d":0,"c":0},{"w":1252800000,"a":0,"d":0,"c":0},{"w":1253404800,"a":0,"d":0,"c":0},{"w":1254009600,"a":0,"d":0,"c":0},{"w":1254614400,"a":0,"d":0,"c":0},{"w":1255219200,"a":0,"d":0,"c":0},{"w":1255824000,"a":0,"d":0,"c":0},{"w":1256428800,"a":0,"d":0,"c":0},{"w":1257033600,"a":0,"d":0,"c":0},{"w":1257638400,"a":0,"d":0,"c":0},{"w":1258243200,"a":0,"d":0,"c":0},{"w":1258848000,"a":0,"d":0,"c":0},{"w":1259452800,"a":0,"d":0,"c":0},{"w":1260057600,"a":0,"d":0,"c":0},{"w":1260662400,"a":0,"d":0,"c":0},{"w":1261267200,"a":0,"d":0,"c":0},{"w":1261872000,"a":0,"d":0,"c":0},{"w":1262476800,"a":0,"d":0,"c":0},{"w":1263081600,"a":0,"d":0,"c":0},{"w":1263686400,"a":0,"d":0,"c":0},{"w":1264291200,"a":0,"d":0,"c":0},{"w":1264896000,"a":0,"d":0,"c":0},{"w":1265500800,"a":0,"d":0,"c":0},{"w":1266105600,"a":0,"d":0,"c":0},{"w":1266710400,"a":0,"d":0,"c":0},{"w":1267315200,"a":0,"d":0,"c":0},{"w":1267920000,"a":0,"d":0,"c":0},{"w":1268524800,"a":0,"d":0,"c":0},{"w":1269129600,"a":0,"d":0,"c":0},{"w":1269734400,"a":0,"d":0,"c":0},{"w":1270339200,"a":0,"d":0,"c":0},{"w":1270944000,"a":0,"d":0,"c":0},{"w":1271548800,"a":0,"d":0,"c":0},{"w":1272153600,"a":0,"d":0,"c":0},{"w":1272758400,"a":0,"d":0,"c":0},{"w":1273363200,"a":0,"d":0,"c":0},{"w":1273968000,"a":0,"d":0,"c":0},{"w":1274572800,"a":0,"d":0,"c":0},{"w":1275177600,"a":0,"d":0,"c":0},{"w":1275782400,"a":0,"d":0,"c":0},{"w":1276387200,"a":0,"d":0,"c":0},{"w":1276992000,"a":0,"d":0,"c":0},{"w":1277596800,"a":0,"d":0,"c":0},{"w":1278201600,"a":0,"d":0,"c":0},{"w":1278806400,"a":0,"d":0,"c":0},{"w":1279411200,"a":0,"d":0,"c":0},{"w":1280016000,"a":0,"d":0,"c":0},{"w":1280620800,"a":0,"d":0,"c":0},{"w":1281225600,"a":0,"d":0,"c":0},{"w":1281830400,"a":0,"d":0,"c":0},{"w":1282435200,"a":0,"d":0,"c":0},{"w":1283040000,"a":0,"d":0,"c":0},{"w":1283644800,"a":0,"d":0,"c":0},{"w":1284249600,"a":0,"d":0,"c":0},{"w":1284854400,"a":0,"d":0,"c":0},{"w":1285459200,"a":0,"d":0,"c":0},{"w":1286064000,"a":0,"d":0,"c":0},{"w":1286668800,"a":0,"d":0,"c":0},{"w":1287273600,"a":0,"d":0,"c":0},{"w":1287878400,"a":0,"d":0,"c":0},{"w":1288483200,"a":0,"d":0,"c":0},{"w":1289088000,"a":0,"d":0,"c":0},{"w":1289692800,"a":0,"d":0,"c":0},{"w":1290297600,"a":0,"d":0,"c":0},{"w":1290902400,"a":0,"d":0,"c":0},{"w":1291507200,"a":0,"d":0,"c":0},{"w":1292112000,"a":0,"d":0,"c":0},{"w":1292716800,"a":0,"d":0,"c":0},{"w":1293321600,"a":0,"d":0,"c":0},{"w":1293926400,"a":0,"d":0,"c":0},{"w":1294531200,"a":0,"d":0,"c":0},{"w":1295136000,"a":0,"d":0,"c":0},{"w":1295740800,"a":0,"d":0,"c":0},{"w":1296345600,"a":0,"d":0,"c":0},{"w":1296950400,"a":0,"d":0,"c":0},{"w":1297555200,"a":0,"d":0,"c":0},{"w":1298160000,"a":0,"d":0,"c":0},{"w":1298764800,"a":0,"d":0,"c":0},{"w":1299369600,"a":0,"d":0,"c":0},{"w":1299974400,"a":0,"d":0,"c":0},{"w":1300579200,"a":0,"d":0,"c":0},{"w":1301184000,"a":0,"d":0,"c":0},{"w":1301788800,"a":0,"d":0,"c":0},{"w":1302393600,"a":0,"d":0,"c":0},{"w":1302998400,"a":0,"d":0,"c":0},{"w":1303603200,"a":0,"d":0,"c":0},{"w":1304208000,"a":0,"d":0,"c":0},{"w":1304812800,"a":0,"d":0,"c":0},{"w":1305417600,"a":0,"d":0,"c":0},{"w":1306022400,"a":0,"d":0,"c":0},{"w":1306627200,"a":0,"d":0,"c":0},{"w":1307232000,"a":0,"d":0,"c":0},{"w":1307836800,"a":0,"d":0,"c":0},{"w":1308441600,"a":0,"d":0,"c":0},{"w":1309046400,"a":0,"d":0,"c":0},{"w":1309651200,"a":0,"d":0,"c":0},{"w":1310256000,"a":0,"d":0,"c":0},{"w":1310860800,"a":0,"d":0,"c":0},{"w":1311465600,"a":0,"d":0,"c":0},{"w":1312070400,"a":0,"d":0,"c":0},{"w":1312675200,"a":0,"d":0,"c":0},{"w":1313280000,"a":0,"d":0,"c":0},{"w":1313884800,"a":0,"d":0,"c":0},{"w":1314489600,"a":0,"d":0,"c":0},{"w":1315094400,"a":0,"d":0,"c":0},{"w":1315699200,"a":0,"d":0,"c":0},{"w":1316304000,"a":0,"d":0,"c":0},{"w":1316908800,"a":0,"d":0,"c":0},{"w":1317513600,"a":0,"d":0,"c":0},{"w":1318118400,"a":0,"d":0,"c":0},{"w":1318723200,"a":0,"d":0,"c":0},{"w":1319328000,"a":0,"d":0,"c":0},{"w":1319932800,"a":0,"d":0,"c":0},{"w":1320537600,"a":0,"d":0,"c":0},{"w":1321142400,"a":0,"d":0,"c":0},{"w":1321747200,"a":0,"d":0,"c":0},{"w":1322352000,"a":0,"d":0,"c":0},{"w":1322956800,"a":0,"d":0,"c":0},{"w":1323561600,"a":0,"d":0,"c":0},{"w":1324166400,"a":0,"d":0,"c":0},{"w":1324771200,"a":0,"d":0,"c":0},{"w":1325376000,"a":0,"d":0,"c":0},{"w":1325980800,"a":0,"d":0,"c":0},{"w":1326585600,"a":0,"d":0,"c":0},{"w":1327190400,"a":0,"d":0,"c":0},{"w":1327795200,"a":0,"d":0,"c":0},{"w":1328400000,"a":0,"d":0,"c":0},{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0},{"w":1384646400,"a":0,"d":0,"c":0},{"w":1385251200,"a":0,"d":0,"c":0},{"w":1385856000,"a":0,"d":0,"c":0},{"w":1386460800,"a":0,"d":0,"c":0},{"w":1387065600,"a":0,"d":0,"c":0},{"w":1387670400,"a":0,"d":0,"c":0},{"w":1388275200,"a":0,"d":0,"c":0},{"w":1388880000,"a":0,"d":0,"c":0},{"w":1389484800,"a":0,"d":0,"c":0},{"w":1390089600,"a":0,"d":0,"c":0},{"w":1390694400,"a":0,"d":0,"c":0},{"w":1391299200,"a":0,"d":0,"c":0},{"w":1391904000,"a":0,"d":0,"c":0},{"w":1392508800,"a":0,"d":0,"c":0},{"w":1393113600,"a":0,"d":0,"c":0},{"w":1393718400,"a":0,"d":0,"c":0},{"w":1394323200,"a":0,"d":0,"c":0},{"w":1394928000,"a":0,"d":0,"c":0},{"w":1395532800,"a":0,"d":0,"c":0},{"w":1396137600,"a":0,"d":0,"c":0},{"w":1396742400,"a":0,"d":0,"c":0},{"w":1397347200,"a":0,"d":0,"c":0},{"w":1397952000,"a":0,"d":0,"c":0},{"w":1398556800,"a":0,"d":0,"c":0},{"w":1399161600,"a":0,"d":0,"c":0},{"w":1399766400,"a":0,"d":0,"c":0},{"w":1400371200,"a":0,"d":0,"c":0},{"w":1400976000,"a":0,"d":0,"c":0},{"w":1401580800,"a":0,"d":0,"c":0},{"w":1402185600,"a":0,"d":0,"c":0},{"w":1402790400,"a":0,"d":0,"c":0},{"w":1403395200,"a":0,"d":0,"c":0},{"w":1404000000,"a":0,"d":0,"c":0},{"w":1404604800,"a":0,"d":0,"c":0},{"w":1405209600,"a":0,"d":0,"c":0},{"w":1405814400,"a":0,"d":0,"c":0},{"w":1406419200,"a":0,"d":0,"c":0},{"w":1407024000,"a":0,"d":0,"c":0},{"w":1407628800,"a":0,"d":0,"c":0},{"w":1408233600,"a":0,"d":0,"c":0},{"w":1408838400,"a":0,"d":0,"c":0},{"w":1409443200,"a":0,"d":0,"c":0},{"w":1410048000,"a":0,"d":0,"c":0},{"w":1410652800,"a":0,"d":0,"c":0},{"w":1411257600,"a":0,"d":0,"c":0},{"w":1411862400,"a":0,"d":0,"c":0},{"w":1412467200,"a":0,"d":0,"c":0},{"w":1413072000,"a":0,"d":0,"c":0},{"w":1413676800,"a":0,"d":0,"c":0},{"w":1414281600,"a":0,"d":0,"c":0},{"w":1414886400,"a":0,"d":0,"c":0},{"w":1415491200,"a":0,"d":0,"c":0},{"w":1416096000,"a":0,"d":0,"c":0},{"w":1416700800,"a":0,"d":0,"c":0},{"w":1417305600,"a":0,"d":0,"c":0},{"w":1417910400,"a":0,"d":0,"c":0},{"w":1418515200,"a":0,"d":0,"c":0},{"w":1419120000,"a":0,"d":0,"c":0},{"w":1419724800,"a":0,"d":0,"c":0},{"w":1420329600,"a":0,"d":0,"c":0},{"w":1420934400,"a":0,"d":0,"c":0},{"w":1421539200,"a":0,"d":0,"c":0},{"w":1422144000,"a":0,"d":0,"c":0},{"w":1422748800,"a":0,"d":0,"c":0},{"w":1423353600,"a":0,"d":0,"c":0},{"w":1423958400,"a":0,"d":0,"c":0},{"w":1424563200,"a":0,"d":0,"c":0},{"w":1425168000,"a":0,"d":0,"c":0},{"w":1425772800,"a":0,"d":0,"c":0},{"w":1426377600,"a":0,"d":0,"c":0},{"w":1426982400,"a":0,"d":0,"c":0},{"w":1427587200,"a":0,"d":0,"c":0},{"w":1428192000,"a":0,"d":0,"c":0},{"w":1428796800,"a":0,"d":0,"c":0},{"w":1429401600,"a":0,"d":0,"c":0},{"w":1430006400,"a":0,"d":0,"c":0},{"w":1430611200,"a":0,"d":0,"c":0},{"w":1431216000,"a":0,"d":0,"c":0},{"w":1431820800,"a":0,"d":0,"c":0},{"w":1432425600,"a":0,"d":0,"c":0},{"w":1433030400,"a":0,"d":0,"c":0},{"w":1433635200,"a":65,"d":0,"c":4},{"w":1434240000,"a":0,"d":0,"c":0},{"w":1434844800,"a":0,"d":0,"c":0},{"w":1435449600,"a":0,"d":0,"c":0},{"w":1436054400,"a":0,"d":0,"c":0},{"w":1436659200,"a":0,"d":0,"c":0},{"w":1437264000,"a":0,"d":0,"c":0},{"w":1437868800,"a":0,"d":0,"c":0},{"w":1438473600,"a":0,"d":0,"c":0},{"w":1439078400,"a":0,"d":0,"c":0},{"w":1439683200,"a":0,"d":0,"c":0},{"w":1440288000,"a":0,"d":0,"c":0},{"w":1440892800,"a":0,"d":0,"c":0},{"w":1441497600,"a":0,"d":0,"c":0},{"w":1442102400,"a":0,"d":0,"c":0},{"w":1442707200,"a":0,"d":0,"c":0},{"w":1443312000,"a":0,"d":0,"c":0},{"w":1443916800,"a":0,"d":0,"c":0},{"w":1444521600,"a":0,"d":0,"c":0},{"w":1445126400,"a":0,"d":0,"c":0},{"w":1445731200,"a":0,"d":0,"c":0},{"w":1446336000,"a":0,"d":0,"c":0},{"w":1446940800,"a":0,"d":0,"c":0},{"w":1447545600,"a":0,"d":0,"c":0},{"w":1448150400,"a":0,"d":0,"c":0},{"w":1448755200,"a":0,"d":0,"c":0},{"w":1449360000,"a":0,"d":0,"c":0},{"w":1449964800,"a":0,"d":0,"c":0},{"w":1450569600,"a":0,"d":0,"c":0},{"w":1451174400,"a":0,"d":0,"c":0},{"w":1451779200,"a":0,"d":0,"c":0},{"w":1452384000,"a":0,"d":0,"c":0},{"w":1452988800,"a":0,"d":0,"c":0},{"w":1453593600,"a":0,"d":0,"c":0},{"w":1454198400,"a":0,"d":0,"c":0},{"w":1454803200,"a":0,"d":0,"c":0},{"w":1455408000,"a":0,"d":0,"c":0},{"w":1456012800,"a":0,"d":0,"c":0},{"w":1456617600,"a":0,"d":0,"c":0},{"w":1457222400,"a":0,"d":0,"c":0},{"w":1457827200,"a":0,"d":0,"c":0},{"w":1458432000,"a":0,"d":0,"c":0},{"w":1459036800,"a":0,"d":0,"c":0},{"w":1459641600,"a":0,"d":0,"c":0},{"w":1460246400,"a":0,"d":0,"c":0},{"w":1460851200,"a":0,"d":0,"c":0},{"w":1461456000,"a":0,"d":0,"c":0},{"w":1462060800,"a":0,"d":0,"c":0},{"w":1462665600,"a":0,"d":0,"c":0},{"w":1463270400,"a":0,"d":0,"c":0},{"w":1463875200,"a":0,"d":0,"c":0},{"w":1464480000,"a":0,"d":0,"c":0},{"w":1465084800,"a":0,"d":0,"c":0},{"w":1465689600,"a":0,"d":0,"c":0},{"w":1466294400,"a":0,"d":0,"c":0},{"w":1466899200,"a":0,"d":0,"c":0},{"w":1467504000,"a":0,"d":0,"c":0},{"w":1468108800,"a":0,"d":0,"c":0},{"w":1468713600,"a":0,"d":0,"c":0},{"w":1469318400,"a":0,"d":0,"c":0},{"w":1469923200,"a":0,"d":0,"c":0},{"w":1470528000,"a":0,"d":0,"c":0},{"w":1471132800,"a":0,"d":0,"c":0},{"w":1471737600,"a":0,"d":0,"c":0},{"w":1472342400,"a":0,"d":0,"c":0},{"w":1472947200,"a":0,"d":0,"c":0},{"w":1473552000,"a":0,"d":0,"c":0},{"w":1474156800,"a":0,"d":0,"c":0},{"w":1474761600,"a":0,"d":0,"c":0},{"w":1475366400,"a":0,"d":0,"c":0},{"w":1475971200,"a":0,"d":0,"c":0},{"w":1476576000,"a":0,"d":0,"c":0},{"w":1477180800,"a":0,"d":0,"c":0},{"w":1477785600,"a":0,"d":0,"c":0},{"w":1478390400,"a":0,"d":0,"c":0},{"w":1478995200,"a":0,"d":0,"c":0},{"w":1479600000,"a":0,"d":0,"c":0},{"w":1480204800,"a":0,"d":0,"c":0},{"w":1480809600,"a":0,"d":0,"c":0},{"w":1481414400,"a":0,"d":0,"c":0},{"w":1482019200,"a":0,"d":0,"c":0},{"w":1482624000,"a":0,"d":0,"c":0},{"w":1483228800,"a":0,"d":0,"c":0},{"w":1483833600,"a":0,"d":0,"c":0},{"w":1484438400,"a":0,"d":0,"c":0},{"w":1485043200,"a":0,"d":0,"c":0},{"w":1485648000,"a":0,"d":0,"c":0},{"w":1486252800,"a":0,"d":0,"c":0},{"w":1486857600,"a":0,"d":0,"c":0},{"w":1487462400,"a":0,"d":0,"c":0},{"w":1488067200,"a":0,"d":0,"c":0},{"w":1488672000,"a":0,"d":0,"c":0},{"w":1489276800,"a":0,"d":0,"c":0},{"w":1489881600,"a":0,"d":0,"c":0},{"w":1490486400,"a":0,"d":0,"c":0},{"w":1491091200,"a":0,"d":0,"c":0},{"w":1491696000,"a":0,"d":0,"c":0},{"w":1492300800,"a":0,"d":0,"c":0},{"w":1492905600,"a":0,"d":0,"c":0},{"w":1493510400,"a":0,"d":0,"c":0},{"w":1494115200,"a":0,"d":0,"c":0},{"w":1494720000,"a":0,"d":0,"c":0},{"w":1495324800,"a":0,"d":0,"c":0},{"w":1495929600,"a":0,"d":0,"c":0},{"w":1496534400,"a":0,"d":0,"c":0},{"w":1497139200,"a":0,"d":0,"c":0},{"w":1497744000,"a":0,"d":0,"c":0},{"w":1498348800,"a":0,"d":0,"c":0},{"w":1498953600,"a":0,"d":0,"c":0},{"w":1499558400,"a":0,"d":0,"c":0},{"w":1500163200,"a":0,"d":0,"c":0},{"w":1500768000,"a":0,"d":0,"c":0},{"w":1501372800,"a":0,"d":0,"c":0},{"w":1501977600,"a":0,"d":0,"c":0},{"w":1502582400,"a":0,"d":0,"c":0},{"w":1503187200,"a":0,"d":0,"c":0},{"w":1503792000,"a":0,"d":0,"c":0},{"w":1504396800,"a":0,"d":0,"c":0},{"w":1505001600,"a":0,"d":0,"c":0},{"w":1505606400,"a":0,"d":0,"c":0},{"w":1506211200,"a":0,"d":0,"c":0},{"w":1506816000,"a":0,"d":0,"c":0},{"w":1507420800,"a":0,"d":0,"c":0},{"w":1508025600,"a":0,"d":0,"c":0},{"w":1508630400,"a":0,"d":0,"c":0},{"w":1509235200,"a":0,"d":0,"c":0},{"w":1509840000,"a":0,"d":0,"c":0},{"w":1510444800,"a":0,"d":0,"c":0},{"w":1511049600,"a":0,"d":0,"c":0},{"w":1511654400,"a":0,"d":0,"c":0},{"w":1512259200,"a":0,"d":0,"c":0},{"w":1512864000,"a":0,"d":0,"c":0},{"w":1513468800,"a":0,"d":0,"c":0},{"w":1514073600,"a":0,"d":0,"c":0},{"w":1514678400,"a":0,"d":0,"c":0},{"w":1515283200,"a":0,"d":0,"c":0},{"w":1515888000,"a":0,"d":0,"c":0},{"w":1516492800,"a":0,"d":0,"c":0},{"w":1517097600,"a":0,"d":0,"c":0},{"w":1517702400,"a":0,"d":0,"c":0},{"w":1518307200,"a":0,"d":0,"c":0},{"w":1518912000,"a":0,"d":0,"c":0},{"w":1519516800,"a":0,"d":0,"c":0},{"w":1520121600,"a":0,"d":0,"c":0},{"w":1520726400,"a":0,"d":0,"c":0},{"w":1521331200,"a":0,"d":0,"c":0},{"w":1521936000,"a":0,"d":0,"c":0},{"w":1522540800,"a":0,"d":0,"c":0},{"w":1523145600,"a":0,"d":0,"c":0},{"w":1523750400,"a":0,"d":0,"c":0},{"w":1524355200,"a":0,"d":0,"c":0},{"w":1524960000,"a":0,"d":0,"c":0},{"w":1525564800,"a":0,"d":0,"c":0},{"w":1526169600,"a":0,"d":0,"c":0},{"w":1526774400,"a":0,"d":0,"c":0},{"w":1527379200,"a":0,"d":0,"c":0},{"w":1527984000,"a":0,"d":0,"c":0},{"w":1528588800,"a":0,"d":0,"c":0},{"w":1529193600,"a":0,"d":0,"c":0},{"w":1529798400,"a":0,"d":0,"c":0},{"w":1530403200,"a":0,"d":0,"c":0},{"w":1531008000,"a":0,"d":0,"c":0},{"w":1531612800,"a":0,"d":0,"c":0},{"w":1532217600,"a":0,"d":0,"c":0},{"w":1532822400,"a":0,"d":0,"c":0},{"w":1533427200,"a":0,"d":0,"c":0},{"w":1534032000,"a":0,"d":0,"c":0},{"w":1534636800,"a":0,"d":0,"c":0},{"w":1535241600,"a":0,"d":0,"c":0},{"w":1535846400,"a":0,"d":0,"c":0},{"w":1536451200,"a":0,"d":0,"c":0},{"w":1537056000,"a":0,"d":0,"c":0},{"w":1537660800,"a":0,"d":0,"c":0},{"w":1538265600,"a":0,"d":0,"c":0},{"w":1538870400,"a":0,"d":0,"c":0},{"w":1539475200,"a":0,"d":0,"c":0},{"w":1540080000,"a":0,"d":0,"c":0},{"w":1540684800,"a":0,"d":0,"c":0},{"w":1541289600,"a":0,"d":0,"c":0},{"w":1541894400,"a":0,"d":0,"c":0},{"w":1542499200,"a":0,"d":0,"c":0},{"w":1543104000,"a":0,"d":0,"c":0},{"w":1543708800,"a":0,"d":0,"c":0},{"w":1544313600,"a":0,"d":0,"c":0},{"w":1544918400,"a":0,"d":0,"c":0},{"w":1545523200,"a":0,"d":0,"c":0},{"w":1546128000,"a":0,"d":0,"c":0},{"w":1546732800,"a":0,"d":0,"c":0},{"w":1547337600,"a":0,"d":0,"c":0},{"w":1547942400,"a":0,"d":0,"c":0},{"w":1548547200,"a":0,"d":0,"c":0},{"w":1549152000,"a":0,"d":0,"c":0},{"w":1549756800,"a":0,"d":0,"c":0},{"w":1550361600,"a":0,"d":0,"c":0},{"w":1550966400,"a":0,"d":0,"c":0},{"w":1551571200,"a":0,"d":0,"c":0},{"w":1552176000,"a":0,"d":0,"c":0},{"w":1552780800,"a":0,"d":0,"c":0},{"w":1553385600,"a":0,"d":0,"c":0},{"w":1553990400,"a":0,"d":0,"c":0},{"w":1554595200,"a":0,"d":0,"c":0},{"w":1555200000,"a":0,"d":0,"c":0},{"w":1555804800,"a":0,"d":0,"c":0},{"w":1556409600,"a":0,"d":0,"c":0},{"w":1557014400,"a":0,"d":0,"c":0},{"w":1557619200,"a":0,"d":0,"c":0},{"w":1558224000,"a":0,"d":0,"c":0},{"w":1558828800,"a":0,"d":0,"c":0},{"w":1559433600,"a":0,"d":0,"c":0},{"w":1560038400,"a":0,"d":0,"c":0},{"w":1560643200,"a":0,"d":0,"c":0},{"w":1561248000,"a":0,"d":0,"c":0},{"w":1561852800,"a":0,"d":0,"c":0},{"w":1562457600,"a":0,"d":0,"c":0}],"author":{"login":"AnisBoubaker","id":46570545,"node_id":"MDQ6VXNlcjQ2NTcwNTQ1","avatar_url":"https://avatars0.githubusercontent.com/u/46570545?v=4","gravatar_id":"","url":"https://api.github.com/users/AnisBoubaker","html_url":"https://github.com/AnisBoubaker","followers_url":"https://api.github.com/users/AnisBoubaker/followers","following_url":"https://api.github.com/users/AnisBoubaker/following{/other_user}","gists_url":"https://api.github.com/users/AnisBoubaker/gists{/gist_id}","starred_url":"https://api.github.com/users/AnisBoubaker/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AnisBoubaker/subscriptions","organizations_url":"https://api.github.com/users/AnisBoubaker/orgs","repos_url":"https://api.github.com/users/AnisBoubaker/repos","events_url":"https://api.github.com/users/AnisBoubaker/events{/privacy}","received_events_url":"https://api.github.com/users/AnisBoubaker/received_events","type":"User","site_admin":false}},{"total":5,"weeks":[{"w":1215302400,"a":0,"d":0,"c":0},{"w":1215907200,"a":0,"d":0,"c":0},{"w":1216512000,"a":0,"d":0,"c":0},{"w":1217116800,"a":0,"d":0,"c":0},{"w":1217721600,"a":0,"d":0,"c":0},{"w":1218326400,"a":0,"d":0,"c":0},{"w":1218931200,"a":0,"d":0,"c":0},{"w":1219536000,"a":0,"d":0,"c":0},{"w":1220140800,"a":0,"d":0,"c":0},{"w":1220745600,"a":0,"d":0,"c":0},{"w":1221350400,"a":0,"d":0,"c":0},{"w":1221955200,"a":0,"d":0,"c":0},{"w":1222560000,"a":0,"d":0,"c":0},{"w":1223164800,"a":0,"d":0,"c":0},{"w":1223769600,"a":0,"d":0,"c":0},{"w":1224374400,"a":0,"d":0,"c":0},{"w":1224979200,"a":0,"d":0,"c":0},{"w":1225584000,"a":0,"d":0,"c":0},{"w":1226188800,"a":0,"d":0,"c":0},{"w":1226793600,"a":0,"d":0,"c":0},{"w":1227398400,"a":0,"d":0,"c":0},{"w":1228003200,"a":0,"d":0,"c":0},{"w":1228608000,"a":0,"d":0,"c":0},{"w":1229212800,"a":0,"d":0,"c":0},{"w":1229817600,"a":0,"d":0,"c":0},{"w":1230422400,"a":0,"d":0,"c":0},{"w":1231027200,"a":0,"d":0,"c":0},{"w":1231632000,"a":0,"d":0,"c":0},{"w":1232236800,"a":0,"d":0,"c":0},{"w":1232841600,"a":0,"d":0,"c":0},{"w":1233446400,"a":0,"d":0,"c":0},{"w":1234051200,"a":0,"d":0,"c":0},{"w":1234656000,"a":0,"d":0,"c":0},{"w":1235260800,"a":0,"d":0,"c":0},{"w":1235865600,"a":0,"d":0,"c":0},{"w":1236470400,"a":0,"d":0,"c":0},{"w":1237075200,"a":0,"d":0,"c":0},{"w":1237680000,"a":0,"d":0,"c":0},{"w":1238284800,"a":0,"d":0,"c":0},{"w":1238889600,"a":0,"d":0,"c":0},{"w":1239494400,"a":0,"d":0,"c":0},{"w":1240099200,"a":0,"d":0,"c":0},{"w":1240704000,"a":0,"d":0,"c":0},{"w":1241308800,"a":0,"d":0,"c":0},{"w":1241913600,"a":0,"d":0,"c":0},{"w":1242518400,"a":0,"d":0,"c":0},{"w":1243123200,"a":0,"d":0,"c":0},{"w":1243728000,"a":0,"d":0,"c":0},{"w":1244332800,"a":0,"d":0,"c":0},{"w":1244937600,"a":0,"d":0,"c":0},{"w":1245542400,"a":0,"d":0,"c":0},{"w":1246147200,"a":0,"d":0,"c":0},{"w":1246752000,"a":0,"d":0,"c":0},{"w":1247356800,"a":0,"d":0,"c":0},{"w":1247961600,"a":0,"d":0,"c":0},{"w":1248566400,"a":0,"d":0,"c":0},{"w":1249171200,"a":0,"d":0,"c":0},{"w":1249776000,"a":0,"d":0,"c":0},{"w":1250380800,"a":0,"d":0,"c":0},{"w":1250985600,"a":0,"d":0,"c":0},{"w":1251590400,"a":0,"d":0,"c":0},{"w":1252195200,"a":0,"d":0,"c":0},{"w":1252800000,"a":0,"d":0,"c":0},{"w":1253404800,"a":0,"d":0,"c":0},{"w":1254009600,"a":0,"d":0,"c":0},{"w":1254614400,"a":0,"d":0,"c":0},{"w":1255219200,"a":0,"d":0,"c":0},{"w":1255824000,"a":0,"d":0,"c":0},{"w":1256428800,"a":0,"d":0,"c":0},{"w":1257033600,"a":0,"d":0,"c":0},{"w":1257638400,"a":0,"d":0,"c":0},{"w":1258243200,"a":0,"d":0,"c":0},{"w":1258848000,"a":0,"d":0,"c":0},{"w":1259452800,"a":0,"d":0,"c":0},{"w":1260057600,"a":0,"d":0,"c":0},{"w":1260662400,"a":0,"d":0,"c":0},{"w":1261267200,"a":0,"d":0,"c":0},{"w":1261872000,"a":0,"d":0,"c":0},{"w":1262476800,"a":0,"d":0,"c":0},{"w":1263081600,"a":0,"d":0,"c":0},{"w":1263686400,"a":0,"d":0,"c":0},{"w":1264291200,"a":0,"d":0,"c":0},{"w":1264896000,"a":0,"d":0,"c":0},{"w":1265500800,"a":0,"d":0,"c":0},{"w":1266105600,"a":0,"d":0,"c":0},{"w":1266710400,"a":0,"d":0,"c":0},{"w":1267315200,"a":0,"d":0,"c":0},{"w":1267920000,"a":0,"d":0,"c":0},{"w":1268524800,"a":0,"d":0,"c":0},{"w":1269129600,"a":0,"d":0,"c":0},{"w":1269734400,"a":0,"d":0,"c":0},{"w":1270339200,"a":0,"d":0,"c":0},{"w":1270944000,"a":0,"d":0,"c":0},{"w":1271548800,"a":0,"d":0,"c":0},{"w":1272153600,"a":0,"d":0,"c":0},{"w":1272758400,"a":0,"d":0,"c":0},{"w":1273363200,"a":0,"d":0,"c":0},{"w":1273968000,"a":0,"d":0,"c":0},{"w":1274572800,"a":0,"d":0,"c":0},{"w":1275177600,"a":0,"d":0,"c":0},{"w":1275782400,"a":0,"d":0,"c":0},{"w":1276387200,"a":0,"d":0,"c":0},{"w":1276992000,"a":0,"d":0,"c":0},{"w":1277596800,"a":0,"d":0,"c":0},{"w":1278201600,"a":0,"d":0,"c":0},{"w":1278806400,"a":0,"d":0,"c":0},{"w":1279411200,"a":0,"d":0,"c":0},{"w":1280016000,"a":0,"d":0,"c":0},{"w":1280620800,"a":0,"d":0,"c":0},{"w":1281225600,"a":0,"d":0,"c":0},{"w":1281830400,"a":0,"d":0,"c":0},{"w":1282435200,"a":0,"d":0,"c":0},{"w":1283040000,"a":0,"d":0,"c":0},{"w":1283644800,"a":0,"d":0,"c":0},{"w":1284249600,"a":0,"d":0,"c":0},{"w":1284854400,"a":0,"d":0,"c":0},{"w":1285459200,"a":0,"d":0,"c":0},{"w":1286064000,"a":0,"d":0,"c":0},{"w":1286668800,"a":0,"d":0,"c":0},{"w":1287273600,"a":0,"d":0,"c":0},{"w":1287878400,"a":0,"d":0,"c":0},{"w":1288483200,"a":0,"d":0,"c":0},{"w":1289088000,"a":0,"d":0,"c":0},{"w":1289692800,"a":0,"d":0,"c":0},{"w":1290297600,"a":0,"d":0,"c":0},{"w":1290902400,"a":0,"d":0,"c":0},{"w":1291507200,"a":0,"d":0,"c":0},{"w":1292112000,"a":0,"d":0,"c":0},{"w":1292716800,"a":0,"d":0,"c":0},{"w":1293321600,"a":0,"d":0,"c":0},{"w":1293926400,"a":0,"d":0,"c":0},{"w":1294531200,"a":0,"d":0,"c":0},{"w":1295136000,"a":0,"d":0,"c":0},{"w":1295740800,"a":0,"d":0,"c":0},{"w":1296345600,"a":0,"d":0,"c":0},{"w":1296950400,"a":0,"d":0,"c":0},{"w":1297555200,"a":0,"d":0,"c":0},{"w":1298160000,"a":0,"d":0,"c":0},{"w":1298764800,"a":0,"d":0,"c":0},{"w":1299369600,"a":0,"d":0,"c":0},{"w":1299974400,"a":0,"d":0,"c":0},{"w":1300579200,"a":0,"d":0,"c":0},{"w":1301184000,"a":0,"d":0,"c":0},{"w":1301788800,"a":0,"d":0,"c":0},{"w":1302393600,"a":0,"d":0,"c":0},{"w":1302998400,"a":0,"d":0,"c":0},{"w":1303603200,"a":0,"d":0,"c":0},{"w":1304208000,"a":0,"d":0,"c":0},{"w":1304812800,"a":0,"d":0,"c":0},{"w":1305417600,"a":0,"d":0,"c":0},{"w":1306022400,"a":0,"d":0,"c":0},{"w":1306627200,"a":0,"d":0,"c":0},{"w":1307232000,"a":0,"d":0,"c":0},{"w":1307836800,"a":0,"d":0,"c":0},{"w":1308441600,"a":0,"d":0,"c":0},{"w":1309046400,"a":0,"d":0,"c":0},{"w":1309651200,"a":0,"d":0,"c":0},{"w":1310256000,"a":0,"d":0,"c":0},{"w":1310860800,"a":0,"d":0,"c":0},{"w":1311465600,"a":0,"d":0,"c":0},{"w":1312070400,"a":0,"d":0,"c":0},{"w":1312675200,"a":0,"d":0,"c":0},{"w":1313280000,"a":0,"d":0,"c":0},{"w":1313884800,"a":0,"d":0,"c":0},{"w":1314489600,"a":0,"d":0,"c":0},{"w":1315094400,"a":0,"d":0,"c":0},{"w":1315699200,"a":0,"d":0,"c":0},{"w":1316304000,"a":0,"d":0,"c":0},{"w":1316908800,"a":0,"d":0,"c":0},{"w":1317513600,"a":0,"d":0,"c":0},{"w":1318118400,"a":0,"d":0,"c":0},{"w":1318723200,"a":0,"d":0,"c":0},{"w":1319328000,"a":0,"d":0,"c":0},{"w":1319932800,"a":0,"d":0,"c":0},{"w":1320537600,"a":0,"d":0,"c":0},{"w":1321142400,"a":0,"d":0,"c":0},{"w":1321747200,"a":0,"d":0,"c":0},{"w":1322352000,"a":0,"d":0,"c":0},{"w":1322956800,"a":0,"d":0,"c":0},{"w":1323561600,"a":0,"d":0,"c":0},{"w":1324166400,"a":0,"d":0,"c":0},{"w":1324771200,"a":0,"d":0,"c":0},{"w":1325376000,"a":0,"d":0,"c":0},{"w":1325980800,"a":0,"d":0,"c":0},{"w":1326585600,"a":0,"d":0,"c":0},{"w":1327190400,"a":0,"d":0,"c":0},{"w":1327795200,"a":0,"d":0,"c":0},{"w":1328400000,"a":0,"d":0,"c":0},{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0},{"w":1384646400,"a":0,"d":0,"c":0},{"w":1385251200,"a":0,"d":0,"c":0},{"w":1385856000,"a":0,"d":0,"c":0},{"w":1386460800,"a":0,"d":0,"c":0},{"w":1387065600,"a":0,"d":0,"c":0},{"w":1387670400,"a":0,"d":0,"c":0},{"w":1388275200,"a":0,"d":0,"c":0},{"w":1388880000,"a":0,"d":0,"c":0},{"w":1389484800,"a":0,"d":0,"c":0},{"w":1390089600,"a":0,"d":0,"c":0},{"w":1390694400,"a":0,"d":0,"c":0},{"w":1391299200,"a":0,"d":0,"c":0},{"w":1391904000,"a":0,"d":0,"c":0},{"w":1392508800,"a":0,"d":0,"c":0},{"w":1393113600,"a":0,"d":0,"c":0},{"w":1393718400,"a":0,"d":0,"c":0},{"w":1394323200,"a":0,"d":0,"c":0},{"w":1394928000,"a":0,"d":0,"c":0},{"w":1395532800,"a":0,"d":0,"c":0},{"w":1396137600,"a":0,"d":0,"c":0},{"w":1396742400,"a":0,"d":0,"c":0},{"w":1397347200,"a":0,"d":0,"c":0},{"w":1397952000,"a":0,"d":0,"c":0},{"w":1398556800,"a":0,"d":0,"c":0},{"w":1399161600,"a":0,"d":0,"c":0},{"w":1399766400,"a":0,"d":0,"c":0},{"w":1400371200,"a":0,"d":0,"c":0},{"w":1400976000,"a":0,"d":0,"c":0},{"w":1401580800,"a":0,"d":0,"c":0},{"w":1402185600,"a":0,"d":0,"c":0},{"w":1402790400,"a":0,"d":0,"c":0},{"w":1403395200,"a":0,"d":0,"c":0},{"w":1404000000,"a":0,"d":0,"c":0},{"w":1404604800,"a":0,"d":0,"c":0},{"w":1405209600,"a":0,"d":0,"c":0},{"w":1405814400,"a":0,"d":0,"c":0},{"w":1406419200,"a":0,"d":0,"c":0},{"w":1407024000,"a":0,"d":0,"c":0},{"w":1407628800,"a":0,"d":0,"c":0},{"w":1408233600,"a":0,"d":0,"c":0},{"w":1408838400,"a":0,"d":0,"c":0},{"w":1409443200,"a":0,"d":0,"c":0},{"w":1410048000,"a":0,"d":0,"c":0},{"w":1410652800,"a":0,"d":0,"c":0},{"w":1411257600,"a":0,"d":0,"c":0},{"w":1411862400,"a":0,"d":0,"c":0},{"w":1412467200,"a":0,"d":0,"c":0},{"w":1413072000,"a":0,"d":0,"c":0},{"w":1413676800,"a":0,"d":0,"c":0},{"w":1414281600,"a":0,"d":0,"c":0},{"w":1414886400,"a":0,"d":0,"c":0},{"w":1415491200,"a":0,"d":0,"c":0},{"w":1416096000,"a":0,"d":0,"c":0},{"w":1416700800,"a":0,"d":0,"c":0},{"w":1417305600,"a":0,"d":0,"c":0},{"w":1417910400,"a":0,"d":0,"c":0},{"w":1418515200,"a":0,"d":0,"c":0},{"w":1419120000,"a":0,"d":0,"c":0},{"w":1419724800,"a":0,"d":0,"c":0},{"w":1420329600,"a":0,"d":0,"c":0},{"w":1420934400,"a":0,"d":0,"c":0},{"w":1421539200,"a":0,"d":0,"c":0},{"w":1422144000,"a":0,"d":0,"c":0},{"w":1422748800,"a":0,"d":0,"c":0},{"w":1423353600,"a":0,"d":0,"c":0},{"w":1423958400,"a":0,"d":0,"c":0},{"w":1424563200,"a":0,"d":0,"c":0},{"w":1425168000,"a":0,"d":0,"c":0},{"w":1425772800,"a":0,"d":0,"c":0},{"w":1426377600,"a":0,"d":0,"c":0},{"w":1426982400,"a":0,"d":0,"c":0},{"w":1427587200,"a":0,"d":0,"c":0},{"w":1428192000,"a":0,"d":0,"c":0},{"w":1428796800,"a":0,"d":0,"c":0},{"w":1429401600,"a":0,"d":0,"c":0},{"w":1430006400,"a":0,"d":0,"c":0},{"w":1430611200,"a":0,"d":0,"c":0},{"w":1431216000,"a":0,"d":0,"c":0},{"w":1431820800,"a":0,"d":0,"c":0},{"w":1432425600,"a":0,"d":0,"c":0},{"w":1433030400,"a":0,"d":0,"c":0},{"w":1433635200,"a":142,"d":0,"c":5},{"w":1434240000,"a":0,"d":0,"c":0},{"w":1434844800,"a":0,"d":0,"c":0},{"w":1435449600,"a":0,"d":0,"c":0},{"w":1436054400,"a":0,"d":0,"c":0},{"w":1436659200,"a":0,"d":0,"c":0},{"w":1437264000,"a":0,"d":0,"c":0},{"w":1437868800,"a":0,"d":0,"c":0},{"w":1438473600,"a":0,"d":0,"c":0},{"w":1439078400,"a":0,"d":0,"c":0},{"w":1439683200,"a":0,"d":0,"c":0},{"w":1440288000,"a":0,"d":0,"c":0},{"w":1440892800,"a":0,"d":0,"c":0},{"w":1441497600,"a":0,"d":0,"c":0},{"w":1442102400,"a":0,"d":0,"c":0},{"w":1442707200,"a":0,"d":0,"c":0},{"w":1443312000,"a":0,"d":0,"c":0},{"w":1443916800,"a":0,"d":0,"c":0},{"w":1444521600,"a":0,"d":0,"c":0},{"w":1445126400,"a":0,"d":0,"c":0},{"w":1445731200,"a":0,"d":0,"c":0},{"w":1446336000,"a":0,"d":0,"c":0},{"w":1446940800,"a":0,"d":0,"c":0},{"w":1447545600,"a":0,"d":0,"c":0},{"w":1448150400,"a":0,"d":0,"c":0},{"w":1448755200,"a":0,"d":0,"c":0},{"w":1449360000,"a":0,"d":0,"c":0},{"w":1449964800,"a":0,"d":0,"c":0},{"w":1450569600,"a":0,"d":0,"c":0},{"w":1451174400,"a":0,"d":0,"c":0},{"w":1451779200,"a":0,"d":0,"c":0},{"w":1452384000,"a":0,"d":0,"c":0},{"w":1452988800,"a":0,"d":0,"c":0},{"w":1453593600,"a":0,"d":0,"c":0},{"w":1454198400,"a":0,"d":0,"c":0},{"w":1454803200,"a":0,"d":0,"c":0},{"w":1455408000,"a":0,"d":0,"c":0},{"w":1456012800,"a":0,"d":0,"c":0},{"w":1456617600,"a":0,"d":0,"c":0},{"w":1457222400,"a":0,"d":0,"c":0},{"w":1457827200,"a":0,"d":0,"c":0},{"w":1458432000,"a":0,"d":0,"c":0},{"w":1459036800,"a":0,"d":0,"c":0},{"w":1459641600,"a":0,"d":0,"c":0},{"w":1460246400,"a":0,"d":0,"c":0},{"w":1460851200,"a":0,"d":0,"c":0},{"w":1461456000,"a":0,"d":0,"c":0},{"w":1462060800,"a":0,"d":0,"c":0},{"w":1462665600,"a":0,"d":0,"c":0},{"w":1463270400,"a":0,"d":0,"c":0},{"w":1463875200,"a":0,"d":0,"c":0},{"w":1464480000,"a":0,"d":0,"c":0},{"w":1465084800,"a":0,"d":0,"c":0},{"w":1465689600,"a":0,"d":0,"c":0},{"w":1466294400,"a":0,"d":0,"c":0},{"w":1466899200,"a":0,"d":0,"c":0},{"w":1467504000,"a":0,"d":0,"c":0},{"w":1468108800,"a":0,"d":0,"c":0},{"w":1468713600,"a":0,"d":0,"c":0},{"w":1469318400,"a":0,"d":0,"c":0},{"w":1469923200,"a":0,"d":0,"c":0},{"w":1470528000,"a":0,"d":0,"c":0},{"w":1471132800,"a":0,"d":0,"c":0},{"w":1471737600,"a":0,"d":0,"c":0},{"w":1472342400,"a":0,"d":0,"c":0},{"w":1472947200,"a":0,"d":0,"c":0},{"w":1473552000,"a":0,"d":0,"c":0},{"w":1474156800,"a":0,"d":0,"c":0},{"w":1474761600,"a":0,"d":0,"c":0},{"w":1475366400,"a":0,"d":0,"c":0},{"w":1475971200,"a":0,"d":0,"c":0},{"w":1476576000,"a":0,"d":0,"c":0},{"w":1477180800,"a":0,"d":0,"c":0},{"w":1477785600,"a":0,"d":0,"c":0},{"w":1478390400,"a":0,"d":0,"c":0},{"w":1478995200,"a":0,"d":0,"c":0},{"w":1479600000,"a":0,"d":0,"c":0},{"w":1480204800,"a":0,"d":0,"c":0},{"w":1480809600,"a":0,"d":0,"c":0},{"w":1481414400,"a":0,"d":0,"c":0},{"w":1482019200,"a":0,"d":0,"c":0},{"w":1482624000,"a":0,"d":0,"c":0},{"w":1483228800,"a":0,"d":0,"c":0},{"w":1483833600,"a":0,"d":0,"c":0},{"w":1484438400,"a":0,"d":0,"c":0},{"w":1485043200,"a":0,"d":0,"c":0},{"w":1485648000,"a":0,"d":0,"c":0},{"w":1486252800,"a":0,"d":0,"c":0},{"w":1486857600,"a":0,"d":0,"c":0},{"w":1487462400,"a":0,"d":0,"c":0},{"w":1488067200,"a":0,"d":0,"c":0},{"w":1488672000,"a":0,"d":0,"c":0},{"w":1489276800,"a":0,"d":0,"c":0},{"w":1489881600,"a":0,"d":0,"c":0},{"w":1490486400,"a":0,"d":0,"c":0},{"w":1491091200,"a":0,"d":0,"c":0},{"w":1491696000,"a":0,"d":0,"c":0},{"w":1492300800,"a":0,"d":0,"c":0},{"w":1492905600,"a":0,"d":0,"c":0},{"w":1493510400,"a":0,"d":0,"c":0},{"w":1494115200,"a":0,"d":0,"c":0},{"w":1494720000,"a":0,"d":0,"c":0},{"w":1495324800,"a":0,"d":0,"c":0},{"w":1495929600,"a":0,"d":0,"c":0},{"w":1496534400,"a":0,"d":0,"c":0},{"w":1497139200,"a":0,"d":0,"c":0},{"w":1497744000,"a":0,"d":0,"c":0},{"w":1498348800,"a":0,"d":0,"c":0},{"w":1498953600,"a":0,"d":0,"c":0},{"w":1499558400,"a":0,"d":0,"c":0},{"w":1500163200,"a":0,"d":0,"c":0},{"w":1500768000,"a":0,"d":0,"c":0},{"w":1501372800,"a":0,"d":0,"c":0},{"w":1501977600,"a":0,"d":0,"c":0},{"w":1502582400,"a":0,"d":0,"c":0},{"w":1503187200,"a":0,"d":0,"c":0},{"w":1503792000,"a":0,"d":0,"c":0},{"w":1504396800,"a":0,"d":0,"c":0},{"w":1505001600,"a":0,"d":0,"c":0},{"w":1505606400,"a":0,"d":0,"c":0},{"w":1506211200,"a":0,"d":0,"c":0},{"w":1506816000,"a":0,"d":0,"c":0},{"w":1507420800,"a":0,"d":0,"c":0},{"w":1508025600,"a":0,"d":0,"c":0},{"w":1508630400,"a":0,"d":0,"c":0},{"w":1509235200,"a":0,"d":0,"c":0},{"w":1509840000,"a":0,"d":0,"c":0},{"w":1510444800,"a":0,"d":0,"c":0},{"w":1511049600,"a":0,"d":0,"c":0},{"w":1511654400,"a":0,"d":0,"c":0},{"w":1512259200,"a":0,"d":0,"c":0},{"w":1512864000,"a":0,"d":0,"c":0},{"w":1513468800,"a":0,"d":0,"c":0},{"w":1514073600,"a":0,"d":0,"c":0},{"w":1514678400,"a":0,"d":0,"c":0},{"w":1515283200,"a":0,"d":0,"c":0},{"w":1515888000,"a":0,"d":0,"c":0},{"w":1516492800,"a":0,"d":0,"c":0},{"w":1517097600,"a":0,"d":0,"c":0},{"w":1517702400,"a":0,"d":0,"c":0},{"w":1518307200,"a":0,"d":0,"c":0},{"w":1518912000,"a":0,"d":0,"c":0},{"w":1519516800,"a":0,"d":0,"c":0},{"w":1520121600,"a":0,"d":0,"c":0},{"w":1520726400,"a":0,"d":0,"c":0},{"w":1521331200,"a":0,"d":0,"c":0},{"w":1521936000,"a":0,"d":0,"c":0},{"w":1522540800,"a":0,"d":0,"c":0},{"w":1523145600,"a":0,"d":0,"c":0},{"w":1523750400,"a":0,"d":0,"c":0},{"w":1524355200,"a":0,"d":0,"c":0},{"w":1524960000,"a":0,"d":0,"c":0},{"w":1525564800,"a":0,"d":0,"c":0},{"w":1526169600,"a":0,"d":0,"c":0},{"w":1526774400,"a":0,"d":0,"c":0},{"w":1527379200,"a":0,"d":0,"c":0},{"w":1527984000,"a":0,"d":0,"c":0},{"w":1528588800,"a":0,"d":0,"c":0},{"w":1529193600,"a":0,"d":0,"c":0},{"w":1529798400,"a":0,"d":0,"c":0},{"w":1530403200,"a":0,"d":0,"c":0},{"w":1531008000,"a":0,"d":0,"c":0},{"w":1531612800,"a":0,"d":0,"c":0},{"w":1532217600,"a":0,"d":0,"c":0},{"w":1532822400,"a":0,"d":0,"c":0},{"w":1533427200,"a":0,"d":0,"c":0},{"w":1534032000,"a":0,"d":0,"c":0},{"w":1534636800,"a":0,"d":0,"c":0},{"w":1535241600,"a":0,"d":0,"c":0},{"w":1535846400,"a":0,"d":0,"c":0},{"w":1536451200,"a":0,"d":0,"c":0},{"w":1537056000,"a":0,"d":0,"c":0},{"w":1537660800,"a":0,"d":0,"c":0},{"w":1538265600,"a":0,"d":0,"c":0},{"w":1538870400,"a":0,"d":0,"c":0},{"w":1539475200,"a":0,"d":0,"c":0},{"w":1540080000,"a":0,"d":0,"c":0},{"w":1540684800,"a":0,"d":0,"c":0},{"w":1541289600,"a":0,"d":0,"c":0},{"w":1541894400,"a":0,"d":0,"c":0},{"w":1542499200,"a":0,"d":0,"c":0},{"w":1543104000,"a":0,"d":0,"c":0},{"w":1543708800,"a":0,"d":0,"c":0},{"w":1544313600,"a":0,"d":0,"c":0},{"w":1544918400,"a":0,"d":0,"c":0},{"w":1545523200,"a":0,"d":0,"c":0},{"w":1546128000,"a":0,"d":0,"c":0},{"w":1546732800,"a":0,"d":0,"c":0},{"w":1547337600,"a":0,"d":0,"c":0},{"w":1547942400,"a":0,"d":0,"c":0},{"w":1548547200,"a":0,"d":0,"c":0},{"w":1549152000,"a":0,"d":0,"c":0},{"w":1549756800,"a":0,"d":0,"c":0},{"w":1550361600,"a":0,"d":0,"c":0},{"w":1550966400,"a":0,"d":0,"c":0},{"w":1551571200,"a":0,"d":0,"c":0},{"w":1552176000,"a":0,"d":0,"c":0},{"w":1552780800,"a":0,"d":0,"c":0},{"w":1553385600,"a":0,"d":0,"c":0},{"w":1553990400,"a":0,"d":0,"c":0},{"w":1554595200,"a":0,"d":0,"c":0},{"w":1555200000,"a":0,"d":0,"c":0},{"w":1555804800,"a":0,"d":0,"c":0},{"w":1556409600,"a":0,"d":0,"c":0},{"w":1557014400,"a":0,"d":0,"c":0},{"w":1557619200,"a":0,"d":0,"c":0},{"w":1558224000,"a":0,"d":0,"c":0},{"w":1558828800,"a":0,"d":0,"c":0},{"w":1559433600,"a":0,"d":0,"c":0},{"w":1560038400,"a":0,"d":0,"c":0},{"w":1560643200,"a":0,"d":0,"c":0},{"w":1561248000,"a":0,"d":0,"c":0},{"w":1561852800,"a":0,"d":0,"c":0},{"w":1562457600,"a":0,"d":0,"c":0}],"author":{"login":"renatamc","id":12816791,"node_id":"MDQ6VXNlcjEyODE2Nzkx","avatar_url":"https://avatars0.githubusercontent.com/u/12816791?v=4","gravatar_id":"","url":"https://api.github.com/users/renatamc","html_url":"https://github.com/renatamc","followers_url":"https://api.github.com/users/renatamc/followers","following_url":"https://api.github.com/users/renatamc/following{/other_user}","gists_url":"https://api.github.com/users/renatamc/gists{/gist_id}","starred_url":"https://api.github.com/users/renatamc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/renatamc/subscriptions","organizations_url":"https://api.github.com/users/renatamc/orgs","repos_url":"https://api.github.com/users/renatamc/repos","events_url":"https://api.github.com/users/renatamc/events{/privacy}","received_events_url":"https://api.github.com/users/renatamc/received_events","type":"User","site_admin":false}},{"total":5,"weeks":[{"w":1215302400,"a":0,"d":0,"c":0},{"w":1215907200,"a":0,"d":0,"c":0},{"w":1216512000,"a":0,"d":0,"c":0},{"w":1217116800,"a":0,"d":0,"c":0},{"w":1217721600,"a":0,"d":0,"c":0},{"w":1218326400,"a":0,"d":0,"c":0},{"w":1218931200,"a":0,"d":0,"c":0},{"w":1219536000,"a":0,"d":0,"c":0},{"w":1220140800,"a":0,"d":0,"c":0},{"w":1220745600,"a":0,"d":0,"c":0},{"w":1221350400,"a":0,"d":0,"c":0},{"w":1221955200,"a":0,"d":0,"c":0},{"w":1222560000,"a":0,"d":0,"c":0},{"w":1223164800,"a":0,"d":0,"c":0},{"w":1223769600,"a":0,"d":0,"c":0},{"w":1224374400,"a":0,"d":0,"c":0},{"w":1224979200,"a":0,"d":0,"c":0},{"w":1225584000,"a":0,"d":0,"c":0},{"w":1226188800,"a":0,"d":0,"c":0},{"w":1226793600,"a":0,"d":0,"c":0},{"w":1227398400,"a":0,"d":0,"c":0},{"w":1228003200,"a":0,"d":0,"c":0},{"w":1228608000,"a":0,"d":0,"c":0},{"w":1229212800,"a":0,"d":0,"c":0},{"w":1229817600,"a":0,"d":0,"c":0},{"w":1230422400,"a":0,"d":0,"c":0},{"w":1231027200,"a":0,"d":0,"c":0},{"w":1231632000,"a":0,"d":0,"c":0},{"w":1232236800,"a":0,"d":0,"c":0},{"w":1232841600,"a":0,"d":0,"c":0},{"w":1233446400,"a":0,"d":0,"c":0},{"w":1234051200,"a":0,"d":0,"c":0},{"w":1234656000,"a":0,"d":0,"c":0},{"w":1235260800,"a":0,"d":0,"c":0},{"w":1235865600,"a":0,"d":0,"c":0},{"w":1236470400,"a":0,"d":0,"c":0},{"w":1237075200,"a":0,"d":0,"c":0},{"w":1237680000,"a":0,"d":0,"c":0},{"w":1238284800,"a":0,"d":0,"c":0},{"w":1238889600,"a":0,"d":0,"c":0},{"w":1239494400,"a":0,"d":0,"c":0},{"w":1240099200,"a":0,"d":0,"c":0},{"w":1240704000,"a":0,"d":0,"c":0},{"w":1241308800,"a":0,"d":0,"c":0},{"w":1241913600,"a":0,"d":0,"c":0},{"w":1242518400,"a":0,"d":0,"c":0},{"w":1243123200,"a":0,"d":0,"c":0},{"w":1243728000,"a":0,"d":0,"c":0},{"w":1244332800,"a":0,"d":0,"c":0},{"w":1244937600,"a":0,"d":0,"c":0},{"w":1245542400,"a":0,"d":0,"c":0},{"w":1246147200,"a":0,"d":0,"c":0},{"w":1246752000,"a":0,"d":0,"c":0},{"w":1247356800,"a":0,"d":0,"c":0},{"w":1247961600,"a":0,"d":0,"c":0},{"w":1248566400,"a":0,"d":0,"c":0},{"w":1249171200,"a":0,"d":0,"c":0},{"w":1249776000,"a":0,"d":0,"c":0},{"w":1250380800,"a":0,"d":0,"c":0},{"w":1250985600,"a":0,"d":0,"c":0},{"w":1251590400,"a":0,"d":0,"c":0},{"w":1252195200,"a":0,"d":0,"c":0},{"w":1252800000,"a":0,"d":0,"c":0},{"w":1253404800,"a":0,"d":0,"c":0},{"w":1254009600,"a":0,"d":0,"c":0},{"w":1254614400,"a":0,"d":0,"c":0},{"w":1255219200,"a":0,"d":0,"c":0},{"w":1255824000,"a":0,"d":0,"c":0},{"w":1256428800,"a":0,"d":0,"c":0},{"w":1257033600,"a":0,"d":0,"c":0},{"w":1257638400,"a":0,"d":0,"c":0},{"w":1258243200,"a":0,"d":0,"c":0},{"w":1258848000,"a":0,"d":0,"c":0},{"w":1259452800,"a":0,"d":0,"c":0},{"w":1260057600,"a":0,"d":0,"c":0},{"w":1260662400,"a":0,"d":0,"c":0},{"w":1261267200,"a":0,"d":0,"c":0},{"w":1261872000,"a":0,"d":0,"c":0},{"w":1262476800,"a":0,"d":0,"c":0},{"w":1263081600,"a":0,"d":0,"c":0},{"w":1263686400,"a":0,"d":0,"c":0},{"w":1264291200,"a":0,"d":0,"c":0},{"w":1264896000,"a":0,"d":0,"c":0},{"w":1265500800,"a":0,"d":0,"c":0},{"w":1266105600,"a":0,"d":0,"c":0},{"w":1266710400,"a":0,"d":0,"c":0},{"w":1267315200,"a":0,"d":0,"c":0},{"w":1267920000,"a":0,"d":0,"c":0},{"w":1268524800,"a":0,"d":0,"c":0},{"w":1269129600,"a":0,"d":0,"c":0},{"w":1269734400,"a":0,"d":0,"c":0},{"w":1270339200,"a":0,"d":0,"c":0},{"w":1270944000,"a":0,"d":0,"c":0},{"w":1271548800,"a":0,"d":0,"c":0},{"w":1272153600,"a":0,"d":0,"c":0},{"w":1272758400,"a":0,"d":0,"c":0},{"w":1273363200,"a":0,"d":0,"c":0},{"w":1273968000,"a":0,"d":0,"c":0},{"w":1274572800,"a":0,"d":0,"c":0},{"w":1275177600,"a":0,"d":0,"c":0},{"w":1275782400,"a":0,"d":0,"c":0},{"w":1276387200,"a":0,"d":0,"c":0},{"w":1276992000,"a":0,"d":0,"c":0},{"w":1277596800,"a":0,"d":0,"c":0},{"w":1278201600,"a":0,"d":0,"c":0},{"w":1278806400,"a":0,"d":0,"c":0},{"w":1279411200,"a":0,"d":0,"c":0},{"w":1280016000,"a":0,"d":0,"c":0},{"w":1280620800,"a":0,"d":0,"c":0},{"w":1281225600,"a":0,"d":0,"c":0},{"w":1281830400,"a":0,"d":0,"c":0},{"w":1282435200,"a":0,"d":0,"c":0},{"w":1283040000,"a":0,"d":0,"c":0},{"w":1283644800,"a":0,"d":0,"c":0},{"w":1284249600,"a":0,"d":0,"c":0},{"w":1284854400,"a":0,"d":0,"c":0},{"w":1285459200,"a":0,"d":0,"c":0},{"w":1286064000,"a":0,"d":0,"c":0},{"w":1286668800,"a":0,"d":0,"c":0},{"w":1287273600,"a":0,"d":0,"c":0},{"w":1287878400,"a":0,"d":0,"c":0},{"w":1288483200,"a":0,"d":0,"c":0},{"w":1289088000,"a":0,"d":0,"c":0},{"w":1289692800,"a":0,"d":0,"c":0},{"w":1290297600,"a":0,"d":0,"c":0},{"w":1290902400,"a":0,"d":0,"c":0},{"w":1291507200,"a":0,"d":0,"c":0},{"w":1292112000,"a":0,"d":0,"c":0},{"w":1292716800,"a":0,"d":0,"c":0},{"w":1293321600,"a":0,"d":0,"c":0},{"w":1293926400,"a":0,"d":0,"c":0},{"w":1294531200,"a":0,"d":0,"c":0},{"w":1295136000,"a":0,"d":0,"c":0},{"w":1295740800,"a":0,"d":0,"c":0},{"w":1296345600,"a":0,"d":0,"c":0},{"w":1296950400,"a":0,"d":0,"c":0},{"w":1297555200,"a":0,"d":0,"c":0},{"w":1298160000,"a":0,"d":0,"c":0},{"w":1298764800,"a":0,"d":0,"c":0},{"w":1299369600,"a":0,"d":0,"c":0},{"w":1299974400,"a":0,"d":0,"c":0},{"w":1300579200,"a":0,"d":0,"c":0},{"w":1301184000,"a":0,"d":0,"c":0},{"w":1301788800,"a":0,"d":0,"c":0},{"w":1302393600,"a":0,"d":0,"c":0},{"w":1302998400,"a":0,"d":0,"c":0},{"w":1303603200,"a":0,"d":0,"c":0},{"w":1304208000,"a":0,"d":0,"c":0},{"w":1304812800,"a":0,"d":0,"c":0},{"w":1305417600,"a":0,"d":0,"c":0},{"w":1306022400,"a":0,"d":0,"c":0},{"w":1306627200,"a":0,"d":0,"c":0},{"w":1307232000,"a":0,"d":0,"c":0},{"w":1307836800,"a":0,"d":0,"c":0},{"w":1308441600,"a":0,"d":0,"c":0},{"w":1309046400,"a":0,"d":0,"c":0},{"w":1309651200,"a":0,"d":0,"c":0},{"w":1310256000,"a":0,"d":0,"c":0},{"w":1310860800,"a":0,"d":0,"c":0},{"w":1311465600,"a":0,"d":0,"c":0},{"w":1312070400,"a":0,"d":0,"c":0},{"w":1312675200,"a":0,"d":0,"c":0},{"w":1313280000,"a":0,"d":0,"c":0},{"w":1313884800,"a":0,"d":0,"c":0},{"w":1314489600,"a":0,"d":0,"c":0},{"w":1315094400,"a":0,"d":0,"c":0},{"w":1315699200,"a":0,"d":0,"c":0},{"w":1316304000,"a":0,"d":0,"c":0},{"w":1316908800,"a":0,"d":0,"c":0},{"w":1317513600,"a":0,"d":0,"c":0},{"w":1318118400,"a":0,"d":0,"c":0},{"w":1318723200,"a":0,"d":0,"c":0},{"w":1319328000,"a":0,"d":0,"c":0},{"w":1319932800,"a":0,"d":0,"c":0},{"w":1320537600,"a":0,"d":0,"c":0},{"w":1321142400,"a":0,"d":0,"c":0},{"w":1321747200,"a":0,"d":0,"c":0},{"w":1322352000,"a":0,"d":0,"c":0},{"w":1322956800,"a":0,"d":0,"c":0},{"w":1323561600,"a":0,"d":0,"c":0},{"w":1324166400,"a":0,"d":0,"c":0},{"w":1324771200,"a":0,"d":0,"c":0},{"w":1325376000,"a":0,"d":0,"c":0},{"w":1325980800,"a":0,"d":0,"c":0},{"w":1326585600,"a":0,"d":0,"c":0},{"w":1327190400,"a":0,"d":0,"c":0},{"w":1327795200,"a":0,"d":0,"c":0},{"w":1328400000,"a":0,"d":0,"c":0},{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":140,"d":1,"c":1},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":404,"d":0,"c":1},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":231,"d":211,"c":3},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0},{"w":1384646400,"a":0,"d":0,"c":0},{"w":1385251200,"a":0,"d":0,"c":0},{"w":1385856000,"a":0,"d":0,"c":0},{"w":1386460800,"a":0,"d":0,"c":0},{"w":1387065600,"a":0,"d":0,"c":0},{"w":1387670400,"a":0,"d":0,"c":0},{"w":1388275200,"a":0,"d":0,"c":0},{"w":1388880000,"a":0,"d":0,"c":0},{"w":1389484800,"a":0,"d":0,"c":0},{"w":1390089600,"a":0,"d":0,"c":0},{"w":1390694400,"a":0,"d":0,"c":0},{"w":1391299200,"a":0,"d":0,"c":0},{"w":1391904000,"a":0,"d":0,"c":0},{"w":1392508800,"a":0,"d":0,"c":0},{"w":1393113600,"a":0,"d":0,"c":0},{"w":1393718400,"a":0,"d":0,"c":0},{"w":1394323200,"a":0,"d":0,"c":0},{"w":1394928000,"a":0,"d":0,"c":0},{"w":1395532800,"a":0,"d":0,"c":0},{"w":1396137600,"a":0,"d":0,"c":0},{"w":1396742400,"a":0,"d":0,"c":0},{"w":1397347200,"a":0,"d":0,"c":0},{"w":1397952000,"a":0,"d":0,"c":0},{"w":1398556800,"a":0,"d":0,"c":0},{"w":1399161600,"a":0,"d":0,"c":0},{"w":1399766400,"a":0,"d":0,"c":0},{"w":1400371200,"a":0,"d":0,"c":0},{"w":1400976000,"a":0,"d":0,"c":0},{"w":1401580800,"a":0,"d":0,"c":0},{"w":1402185600,"a":0,"d":0,"c":0},{"w":1402790400,"a":0,"d":0,"c":0},{"w":1403395200,"a":0,"d":0,"c":0},{"w":1404000000,"a":0,"d":0,"c":0},{"w":1404604800,"a":0,"d":0,"c":0},{"w":1405209600,"a":0,"d":0,"c":0},{"w":1405814400,"a":0,"d":0,"c":0},{"w":1406419200,"a":0,"d":0,"c":0},{"w":1407024000,"a":0,"d":0,"c":0},{"w":1407628800,"a":0,"d":0,"c":0},{"w":1408233600,"a":0,"d":0,"c":0},{"w":1408838400,"a":0,"d":0,"c":0},{"w":1409443200,"a":0,"d":0,"c":0},{"w":1410048000,"a":0,"d":0,"c":0},{"w":1410652800,"a":0,"d":0,"c":0},{"w":1411257600,"a":0,"d":0,"c":0},{"w":1411862400,"a":0,"d":0,"c":0},{"w":1412467200,"a":0,"d":0,"c":0},{"w":1413072000,"a":0,"d":0,"c":0},{"w":1413676800,"a":0,"d":0,"c":0},{"w":1414281600,"a":0,"d":0,"c":0},{"w":1414886400,"a":0,"d":0,"c":0},{"w":1415491200,"a":0,"d":0,"c":0},{"w":1416096000,"a":0,"d":0,"c":0},{"w":1416700800,"a":0,"d":0,"c":0},{"w":1417305600,"a":0,"d":0,"c":0},{"w":1417910400,"a":0,"d":0,"c":0},{"w":1418515200,"a":0,"d":0,"c":0},{"w":1419120000,"a":0,"d":0,"c":0},{"w":1419724800,"a":0,"d":0,"c":0},{"w":1420329600,"a":0,"d":0,"c":0},{"w":1420934400,"a":0,"d":0,"c":0},{"w":1421539200,"a":0,"d":0,"c":0},{"w":1422144000,"a":0,"d":0,"c":0},{"w":1422748800,"a":0,"d":0,"c":0},{"w":1423353600,"a":0,"d":0,"c":0},{"w":1423958400,"a":0,"d":0,"c":0},{"w":1424563200,"a":0,"d":0,"c":0},{"w":1425168000,"a":0,"d":0,"c":0},{"w":1425772800,"a":0,"d":0,"c":0},{"w":1426377600,"a":0,"d":0,"c":0},{"w":1426982400,"a":0,"d":0,"c":0},{"w":1427587200,"a":0,"d":0,"c":0},{"w":1428192000,"a":0,"d":0,"c":0},{"w":1428796800,"a":0,"d":0,"c":0},{"w":1429401600,"a":0,"d":0,"c":0},{"w":1430006400,"a":0,"d":0,"c":0},{"w":1430611200,"a":0,"d":0,"c":0},{"w":1431216000,"a":0,"d":0,"c":0},{"w":1431820800,"a":0,"d":0,"c":0},{"w":1432425600,"a":0,"d":0,"c":0},{"w":1433030400,"a":0,"d":0,"c":0},{"w":1433635200,"a":0,"d":0,"c":0},{"w":1434240000,"a":0,"d":0,"c":0},{"w":1434844800,"a":0,"d":0,"c":0},{"w":1435449600,"a":0,"d":0,"c":0},{"w":1436054400,"a":0,"d":0,"c":0},{"w":1436659200,"a":0,"d":0,"c":0},{"w":1437264000,"a":0,"d":0,"c":0},{"w":1437868800,"a":0,"d":0,"c":0},{"w":1438473600,"a":0,"d":0,"c":0},{"w":1439078400,"a":0,"d":0,"c":0},{"w":1439683200,"a":0,"d":0,"c":0},{"w":1440288000,"a":0,"d":0,"c":0},{"w":1440892800,"a":0,"d":0,"c":0},{"w":1441497600,"a":0,"d":0,"c":0},{"w":1442102400,"a":0,"d":0,"c":0},{"w":1442707200,"a":0,"d":0,"c":0},{"w":1443312000,"a":0,"d":0,"c":0},{"w":1443916800,"a":0,"d":0,"c":0},{"w":1444521600,"a":0,"d":0,"c":0},{"w":1445126400,"a":0,"d":0,"c":0},{"w":1445731200,"a":0,"d":0,"c":0},{"w":1446336000,"a":0,"d":0,"c":0},{"w":1446940800,"a":0,"d":0,"c":0},{"w":1447545600,"a":0,"d":0,"c":0},{"w":1448150400,"a":0,"d":0,"c":0},{"w":1448755200,"a":0,"d":0,"c":0},{"w":1449360000,"a":0,"d":0,"c":0},{"w":1449964800,"a":0,"d":0,"c":0},{"w":1450569600,"a":0,"d":0,"c":0},{"w":1451174400,"a":0,"d":0,"c":0},{"w":1451779200,"a":0,"d":0,"c":0},{"w":1452384000,"a":0,"d":0,"c":0},{"w":1452988800,"a":0,"d":0,"c":0},{"w":1453593600,"a":0,"d":0,"c":0},{"w":1454198400,"a":0,"d":0,"c":0},{"w":1454803200,"a":0,"d":0,"c":0},{"w":1455408000,"a":0,"d":0,"c":0},{"w":1456012800,"a":0,"d":0,"c":0},{"w":1456617600,"a":0,"d":0,"c":0},{"w":1457222400,"a":0,"d":0,"c":0},{"w":1457827200,"a":0,"d":0,"c":0},{"w":1458432000,"a":0,"d":0,"c":0},{"w":1459036800,"a":0,"d":0,"c":0},{"w":1459641600,"a":0,"d":0,"c":0},{"w":1460246400,"a":0,"d":0,"c":0},{"w":1460851200,"a":0,"d":0,"c":0},{"w":1461456000,"a":0,"d":0,"c":0},{"w":1462060800,"a":0,"d":0,"c":0},{"w":1462665600,"a":0,"d":0,"c":0},{"w":1463270400,"a":0,"d":0,"c":0},{"w":1463875200,"a":0,"d":0,"c":0},{"w":1464480000,"a":0,"d":0,"c":0},{"w":1465084800,"a":0,"d":0,"c":0},{"w":1465689600,"a":0,"d":0,"c":0},{"w":1466294400,"a":0,"d":0,"c":0},{"w":1466899200,"a":0,"d":0,"c":0},{"w":1467504000,"a":0,"d":0,"c":0},{"w":1468108800,"a":0,"d":0,"c":0},{"w":1468713600,"a":0,"d":0,"c":0},{"w":1469318400,"a":0,"d":0,"c":0},{"w":1469923200,"a":0,"d":0,"c":0},{"w":1470528000,"a":0,"d":0,"c":0},{"w":1471132800,"a":0,"d":0,"c":0},{"w":1471737600,"a":0,"d":0,"c":0},{"w":1472342400,"a":0,"d":0,"c":0},{"w":1472947200,"a":0,"d":0,"c":0},{"w":1473552000,"a":0,"d":0,"c":0},{"w":1474156800,"a":0,"d":0,"c":0},{"w":1474761600,"a":0,"d":0,"c":0},{"w":1475366400,"a":0,"d":0,"c":0},{"w":1475971200,"a":0,"d":0,"c":0},{"w":1476576000,"a":0,"d":0,"c":0},{"w":1477180800,"a":0,"d":0,"c":0},{"w":1477785600,"a":0,"d":0,"c":0},{"w":1478390400,"a":0,"d":0,"c":0},{"w":1478995200,"a":0,"d":0,"c":0},{"w":1479600000,"a":0,"d":0,"c":0},{"w":1480204800,"a":0,"d":0,"c":0},{"w":1480809600,"a":0,"d":0,"c":0},{"w":1481414400,"a":0,"d":0,"c":0},{"w":1482019200,"a":0,"d":0,"c":0},{"w":1482624000,"a":0,"d":0,"c":0},{"w":1483228800,"a":0,"d":0,"c":0},{"w":1483833600,"a":0,"d":0,"c":0},{"w":1484438400,"a":0,"d":0,"c":0},{"w":1485043200,"a":0,"d":0,"c":0},{"w":1485648000,"a":0,"d":0,"c":0},{"w":1486252800,"a":0,"d":0,"c":0},{"w":1486857600,"a":0,"d":0,"c":0},{"w":1487462400,"a":0,"d":0,"c":0},{"w":1488067200,"a":0,"d":0,"c":0},{"w":1488672000,"a":0,"d":0,"c":0},{"w":1489276800,"a":0,"d":0,"c":0},{"w":1489881600,"a":0,"d":0,"c":0},{"w":1490486400,"a":0,"d":0,"c":0},{"w":1491091200,"a":0,"d":0,"c":0},{"w":1491696000,"a":0,"d":0,"c":0},{"w":1492300800,"a":0,"d":0,"c":0},{"w":1492905600,"a":0,"d":0,"c":0},{"w":1493510400,"a":0,"d":0,"c":0},{"w":1494115200,"a":0,"d":0,"c":0},{"w":1494720000,"a":0,"d":0,"c":0},{"w":1495324800,"a":0,"d":0,"c":0},{"w":1495929600,"a":0,"d":0,"c":0},{"w":1496534400,"a":0,"d":0,"c":0},{"w":1497139200,"a":0,"d":0,"c":0},{"w":1497744000,"a":0,"d":0,"c":0},{"w":1498348800,"a":0,"d":0,"c":0},{"w":1498953600,"a":0,"d":0,"c":0},{"w":1499558400,"a":0,"d":0,"c":0},{"w":1500163200,"a":0,"d":0,"c":0},{"w":1500768000,"a":0,"d":0,"c":0},{"w":1501372800,"a":0,"d":0,"c":0},{"w":1501977600,"a":0,"d":0,"c":0},{"w":1502582400,"a":0,"d":0,"c":0},{"w":1503187200,"a":0,"d":0,"c":0},{"w":1503792000,"a":0,"d":0,"c":0},{"w":1504396800,"a":0,"d":0,"c":0},{"w":1505001600,"a":0,"d":0,"c":0},{"w":1505606400,"a":0,"d":0,"c":0},{"w":1506211200,"a":0,"d":0,"c":0},{"w":1506816000,"a":0,"d":0,"c":0},{"w":1507420800,"a":0,"d":0,"c":0},{"w":1508025600,"a":0,"d":0,"c":0},{"w":1508630400,"a":0,"d":0,"c":0},{"w":1509235200,"a":0,"d":0,"c":0},{"w":1509840000,"a":0,"d":0,"c":0},{"w":1510444800,"a":0,"d":0,"c":0},{"w":1511049600,"a":0,"d":0,"c":0},{"w":1511654400,"a":0,"d":0,"c":0},{"w":1512259200,"a":0,"d":0,"c":0},{"w":1512864000,"a":0,"d":0,"c":0},{"w":1513468800,"a":0,"d":0,"c":0},{"w":1514073600,"a":0,"d":0,"c":0},{"w":1514678400,"a":0,"d":0,"c":0},{"w":1515283200,"a":0,"d":0,"c":0},{"w":1515888000,"a":0,"d":0,"c":0},{"w":1516492800,"a":0,"d":0,"c":0},{"w":1517097600,"a":0,"d":0,"c":0},{"w":1517702400,"a":0,"d":0,"c":0},{"w":1518307200,"a":0,"d":0,"c":0},{"w":1518912000,"a":0,"d":0,"c":0},{"w":1519516800,"a":0,"d":0,"c":0},{"w":1520121600,"a":0,"d":0,"c":0},{"w":1520726400,"a":0,"d":0,"c":0},{"w":1521331200,"a":0,"d":0,"c":0},{"w":1521936000,"a":0,"d":0,"c":0},{"w":1522540800,"a":0,"d":0,"c":0},{"w":1523145600,"a":0,"d":0,"c":0},{"w":1523750400,"a":0,"d":0,"c":0},{"w":1524355200,"a":0,"d":0,"c":0},{"w":1524960000,"a":0,"d":0,"c":0},{"w":1525564800,"a":0,"d":0,"c":0},{"w":1526169600,"a":0,"d":0,"c":0},{"w":1526774400,"a":0,"d":0,"c":0},{"w":1527379200,"a":0,"d":0,"c":0},{"w":1527984000,"a":0,"d":0,"c":0},{"w":1528588800,"a":0,"d":0,"c":0},{"w":1529193600,"a":0,"d":0,"c":0},{"w":1529798400,"a":0,"d":0,"c":0},{"w":1530403200,"a":0,"d":0,"c":0},{"w":1531008000,"a":0,"d":0,"c":0},{"w":1531612800,"a":0,"d":0,"c":0},{"w":1532217600,"a":0,"d":0,"c":0},{"w":1532822400,"a":0,"d":0,"c":0},{"w":1533427200,"a":0,"d":0,"c":0},{"w":1534032000,"a":0,"d":0,"c":0},{"w":1534636800,"a":0,"d":0,"c":0},{"w":1535241600,"a":0,"d":0,"c":0},{"w":1535846400,"a":0,"d":0,"c":0},{"w":1536451200,"a":0,"d":0,"c":0},{"w":1537056000,"a":0,"d":0,"c":0},{"w":1537660800,"a":0,"d":0,"c":0},{"w":1538265600,"a":0,"d":0,"c":0},{"w":1538870400,"a":0,"d":0,"c":0},{"w":1539475200,"a":0,"d":0,"c":0},{"w":1540080000,"a":0,"d":0,"c":0},{"w":1540684800,"a":0,"d":0,"c":0},{"w":1541289600,"a":0,"d":0,"c":0},{"w":1541894400,"a":0,"d":0,"c":0},{"w":1542499200,"a":0,"d":0,"c":0},{"w":1543104000,"a":0,"d":0,"c":0},{"w":1543708800,"a":0,"d":0,"c":0},{"w":1544313600,"a":0,"d":0,"c":0},{"w":1544918400,"a":0,"d":0,"c":0},{"w":1545523200,"a":0,"d":0,"c":0},{"w":1546128000,"a":0,"d":0,"c":0},{"w":1546732800,"a":0,"d":0,"c":0},{"w":1547337600,"a":0,"d":0,"c":0},{"w":1547942400,"a":0,"d":0,"c":0},{"w":1548547200,"a":0,"d":0,"c":0},{"w":1549152000,"a":0,"d":0,"c":0},{"w":1549756800,"a":0,"d":0,"c":0},{"w":1550361600,"a":0,"d":0,"c":0},{"w":1550966400,"a":0,"d":0,"c":0},{"w":1551571200,"a":0,"d":0,"c":0},{"w":1552176000,"a":0,"d":0,"c":0},{"w":1552780800,"a":0,"d":0,"c":0},{"w":1553385600,"a":0,"d":0,"c":0},{"w":1553990400,"a":0,"d":0,"c":0},{"w":1554595200,"a":0,"d":0,"c":0},{"w":1555200000,"a":0,"d":0,"c":0},{"w":1555804800,"a":0,"d":0,"c":0},{"w":1556409600,"a":0,"d":0,"c":0},{"w":1557014400,"a":0,"d":0,"c":0},{"w":1557619200,"a":0,"d":0,"c":0},{"w":1558224000,"a":0,"d":0,"c":0},{"w":1558828800,"a":0,"d":0,"c":0},{"w":1559433600,"a":0,"d":0,"c":0},{"w":1560038400,"a":0,"d":0,"c":0},{"w":1560643200,"a":0,"d":0,"c":0},{"w":1561248000,"a":0,"d":0,"c":0},{"w":1561852800,"a":0,"d":0,"c":0},{"w":1562457600,"a":0,"d":0,"c":0}],"author":{"login":"lucasmatthieu","id":1231844,"node_id":"MDQ6VXNlcjEyMzE4NDQ=","avatar_url":"https://avatars0.githubusercontent.com/u/1231844?v=4","gravatar_id":"","url":"https://api.github.com/users/lucasmatthieu","html_url":"https://github.com/lucasmatthieu","followers_url":"https://api.github.com/users/lucasmatthieu/followers","following_url":"https://api.github.com/users/lucasmatthieu/following{/other_user}","gists_url":"https://api.github.com/users/lucasmatthieu/gists{/gist_id}","starred_url":"https://api.github.com/users/lucasmatthieu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lucasmatthieu/subscriptions","organizations_url":"https://api.github.com/users/lucasmatthieu/orgs","repos_url":"https://api.github.com/users/lucasmatthieu/repos","events_url":"https://api.github.com/users/lucasmatthieu/events{/privacy}","received_events_url":"https://api.github.com/users/lucasmatthieu/received_events","type":"User","site_admin":false}},{"total":5,"weeks":[{"w":1215302400,"a":0,"d":0,"c":0},{"w":1215907200,"a":0,"d":0,"c":0},{"w":1216512000,"a":0,"d":0,"c":0},{"w":1217116800,"a":0,"d":0,"c":0},{"w":1217721600,"a":0,"d":0,"c":0},{"w":1218326400,"a":0,"d":0,"c":0},{"w":1218931200,"a":0,"d":0,"c":0},{"w":1219536000,"a":0,"d":0,"c":0},{"w":1220140800,"a":0,"d":0,"c":0},{"w":1220745600,"a":0,"d":0,"c":0},{"w":1221350400,"a":0,"d":0,"c":0},{"w":1221955200,"a":0,"d":0,"c":0},{"w":1222560000,"a":0,"d":0,"c":0},{"w":1223164800,"a":0,"d":0,"c":0},{"w":1223769600,"a":0,"d":0,"c":0},{"w":1224374400,"a":0,"d":0,"c":0},{"w":1224979200,"a":0,"d":0,"c":0},{"w":1225584000,"a":0,"d":0,"c":0},{"w":1226188800,"a":0,"d":0,"c":0},{"w":1226793600,"a":0,"d":0,"c":0},{"w":1227398400,"a":0,"d":0,"c":0},{"w":1228003200,"a":0,"d":0,"c":0},{"w":1228608000,"a":0,"d":0,"c":0},{"w":1229212800,"a":0,"d":0,"c":0},{"w":1229817600,"a":0,"d":0,"c":0},{"w":1230422400,"a":0,"d":0,"c":0},{"w":1231027200,"a":0,"d":0,"c":0},{"w":1231632000,"a":0,"d":0,"c":0},{"w":1232236800,"a":0,"d":0,"c":0},{"w":1232841600,"a":0,"d":0,"c":0},{"w":1233446400,"a":0,"d":0,"c":0},{"w":1234051200,"a":0,"d":0,"c":0},{"w":1234656000,"a":0,"d":0,"c":0},{"w":1235260800,"a":0,"d":0,"c":0},{"w":1235865600,"a":0,"d":0,"c":0},{"w":1236470400,"a":0,"d":0,"c":0},{"w":1237075200,"a":0,"d":0,"c":0},{"w":1237680000,"a":0,"d":0,"c":0},{"w":1238284800,"a":0,"d":0,"c":0},{"w":1238889600,"a":0,"d":0,"c":0},{"w":1239494400,"a":0,"d":0,"c":0},{"w":1240099200,"a":0,"d":0,"c":0},{"w":1240704000,"a":0,"d":0,"c":0},{"w":1241308800,"a":0,"d":0,"c":0},{"w":1241913600,"a":0,"d":0,"c":0},{"w":1242518400,"a":0,"d":0,"c":0},{"w":1243123200,"a":0,"d":0,"c":0},{"w":1243728000,"a":0,"d":0,"c":0},{"w":1244332800,"a":0,"d":0,"c":0},{"w":1244937600,"a":0,"d":0,"c":0},{"w":1245542400,"a":0,"d":0,"c":0},{"w":1246147200,"a":0,"d":0,"c":0},{"w":1246752000,"a":0,"d":0,"c":0},{"w":1247356800,"a":0,"d":0,"c":0},{"w":1247961600,"a":0,"d":0,"c":0},{"w":1248566400,"a":0,"d":0,"c":0},{"w":1249171200,"a":0,"d":0,"c":0},{"w":1249776000,"a":0,"d":0,"c":0},{"w":1250380800,"a":0,"d":0,"c":0},{"w":1250985600,"a":0,"d":0,"c":0},{"w":1251590400,"a":0,"d":0,"c":0},{"w":1252195200,"a":0,"d":0,"c":0},{"w":1252800000,"a":0,"d":0,"c":0},{"w":1253404800,"a":0,"d":0,"c":0},{"w":1254009600,"a":0,"d":0,"c":0},{"w":1254614400,"a":0,"d":0,"c":0},{"w":1255219200,"a":0,"d":0,"c":0},{"w":1255824000,"a":0,"d":0,"c":0},{"w":1256428800,"a":0,"d":0,"c":0},{"w":1257033600,"a":0,"d":0,"c":0},{"w":1257638400,"a":0,"d":0,"c":0},{"w":1258243200,"a":0,"d":0,"c":0},{"w":1258848000,"a":0,"d":0,"c":0},{"w":1259452800,"a":0,"d":0,"c":0},{"w":1260057600,"a":0,"d":0,"c":0},{"w":1260662400,"a":0,"d":0,"c":0},{"w":1261267200,"a":0,"d":0,"c":0},{"w":1261872000,"a":0,"d":0,"c":0},{"w":1262476800,"a":0,"d":0,"c":0},{"w":1263081600,"a":0,"d":0,"c":0},{"w":1263686400,"a":0,"d":0,"c":0},{"w":1264291200,"a":0,"d":0,"c":0},{"w":1264896000,"a":0,"d":0,"c":0},{"w":1265500800,"a":0,"d":0,"c":0},{"w":1266105600,"a":0,"d":0,"c":0},{"w":1266710400,"a":0,"d":0,"c":0},{"w":1267315200,"a":0,"d":0,"c":0},{"w":1267920000,"a":0,"d":0,"c":0},{"w":1268524800,"a":0,"d":0,"c":0},{"w":1269129600,"a":0,"d":0,"c":0},{"w":1269734400,"a":0,"d":0,"c":0},{"w":1270339200,"a":0,"d":0,"c":0},{"w":1270944000,"a":0,"d":0,"c":0},{"w":1271548800,"a":0,"d":0,"c":0},{"w":1272153600,"a":0,"d":0,"c":0},{"w":1272758400,"a":0,"d":0,"c":0},{"w":1273363200,"a":0,"d":0,"c":0},{"w":1273968000,"a":0,"d":0,"c":0},{"w":1274572800,"a":0,"d":0,"c":0},{"w":1275177600,"a":0,"d":0,"c":0},{"w":1275782400,"a":0,"d":0,"c":0},{"w":1276387200,"a":0,"d":0,"c":0},{"w":1276992000,"a":0,"d":0,"c":0},{"w":1277596800,"a":0,"d":0,"c":0},{"w":1278201600,"a":0,"d":0,"c":0},{"w":1278806400,"a":0,"d":0,"c":0},{"w":1279411200,"a":0,"d":0,"c":0},{"w":1280016000,"a":0,"d":0,"c":0},{"w":1280620800,"a":0,"d":0,"c":0},{"w":1281225600,"a":0,"d":0,"c":0},{"w":1281830400,"a":0,"d":0,"c":0},{"w":1282435200,"a":0,"d":0,"c":0},{"w":1283040000,"a":0,"d":0,"c":0},{"w":1283644800,"a":0,"d":0,"c":0},{"w":1284249600,"a":0,"d":0,"c":0},{"w":1284854400,"a":0,"d":0,"c":0},{"w":1285459200,"a":0,"d":0,"c":0},{"w":1286064000,"a":0,"d":0,"c":0},{"w":1286668800,"a":0,"d":0,"c":0},{"w":1287273600,"a":0,"d":0,"c":0},{"w":1287878400,"a":0,"d":0,"c":0},{"w":1288483200,"a":0,"d":0,"c":0},{"w":1289088000,"a":0,"d":0,"c":0},{"w":1289692800,"a":0,"d":0,"c":0},{"w":1290297600,"a":0,"d":0,"c":0},{"w":1290902400,"a":0,"d":0,"c":0},{"w":1291507200,"a":0,"d":0,"c":0},{"w":1292112000,"a":0,"d":0,"c":0},{"w":1292716800,"a":0,"d":0,"c":0},{"w":1293321600,"a":0,"d":0,"c":0},{"w":1293926400,"a":0,"d":0,"c":0},{"w":1294531200,"a":0,"d":0,"c":0},{"w":1295136000,"a":0,"d":0,"c":0},{"w":1295740800,"a":0,"d":0,"c":0},{"w":1296345600,"a":0,"d":0,"c":0},{"w":1296950400,"a":0,"d":0,"c":0},{"w":1297555200,"a":0,"d":0,"c":0},{"w":1298160000,"a":0,"d":0,"c":0},{"w":1298764800,"a":0,"d":0,"c":0},{"w":1299369600,"a":0,"d":0,"c":0},{"w":1299974400,"a":0,"d":0,"c":0},{"w":1300579200,"a":0,"d":0,"c":0},{"w":1301184000,"a":0,"d":0,"c":0},{"w":1301788800,"a":0,"d":0,"c":0},{"w":1302393600,"a":0,"d":0,"c":0},{"w":1302998400,"a":0,"d":0,"c":0},{"w":1303603200,"a":0,"d":0,"c":0},{"w":1304208000,"a":0,"d":0,"c":0},{"w":1304812800,"a":0,"d":0,"c":0},{"w":1305417600,"a":0,"d":0,"c":0},{"w":1306022400,"a":0,"d":0,"c":0},{"w":1306627200,"a":0,"d":0,"c":0},{"w":1307232000,"a":0,"d":0,"c":0},{"w":1307836800,"a":0,"d":0,"c":0},{"w":1308441600,"a":0,"d":0,"c":0},{"w":1309046400,"a":0,"d":0,"c":0},{"w":1309651200,"a":0,"d":0,"c":0},{"w":1310256000,"a":0,"d":0,"c":0},{"w":1310860800,"a":0,"d":0,"c":0},{"w":1311465600,"a":0,"d":0,"c":0},{"w":1312070400,"a":0,"d":0,"c":0},{"w":1312675200,"a":0,"d":0,"c":0},{"w":1313280000,"a":0,"d":0,"c":0},{"w":1313884800,"a":0,"d":0,"c":0},{"w":1314489600,"a":0,"d":0,"c":0},{"w":1315094400,"a":0,"d":0,"c":0},{"w":1315699200,"a":0,"d":0,"c":0},{"w":1316304000,"a":0,"d":0,"c":0},{"w":1316908800,"a":0,"d":0,"c":0},{"w":1317513600,"a":0,"d":0,"c":0},{"w":1318118400,"a":0,"d":0,"c":0},{"w":1318723200,"a":0,"d":0,"c":0},{"w":1319328000,"a":0,"d":0,"c":0},{"w":1319932800,"a":0,"d":0,"c":0},{"w":1320537600,"a":0,"d":0,"c":0},{"w":1321142400,"a":0,"d":0,"c":0},{"w":1321747200,"a":0,"d":0,"c":0},{"w":1322352000,"a":0,"d":0,"c":0},{"w":1322956800,"a":0,"d":0,"c":0},{"w":1323561600,"a":0,"d":0,"c":0},{"w":1324166400,"a":0,"d":0,"c":0},{"w":1324771200,"a":0,"d":0,"c":0},{"w":1325376000,"a":0,"d":0,"c":0},{"w":1325980800,"a":0,"d":0,"c":0},{"w":1326585600,"a":0,"d":0,"c":0},{"w":1327190400,"a":0,"d":0,"c":0},{"w":1327795200,"a":0,"d":0,"c":0},{"w":1328400000,"a":0,"d":0,"c":0},{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0},{"w":1384646400,"a":0,"d":0,"c":0},{"w":1385251200,"a":0,"d":0,"c":0},{"w":1385856000,"a":0,"d":0,"c":0},{"w":1386460800,"a":0,"d":0,"c":0},{"w":1387065600,"a":0,"d":0,"c":0},{"w":1387670400,"a":0,"d":0,"c":0},{"w":1388275200,"a":0,"d":0,"c":0},{"w":1388880000,"a":0,"d":0,"c":0},{"w":1389484800,"a":0,"d":0,"c":0},{"w":1390089600,"a":0,"d":0,"c":0},{"w":1390694400,"a":0,"d":0,"c":0},{"w":1391299200,"a":0,"d":0,"c":0},{"w":1391904000,"a":0,"d":0,"c":0},{"w":1392508800,"a":0,"d":0,"c":0},{"w":1393113600,"a":0,"d":0,"c":0},{"w":1393718400,"a":0,"d":0,"c":0},{"w":1394323200,"a":0,"d":0,"c":0},{"w":1394928000,"a":0,"d":0,"c":0},{"w":1395532800,"a":0,"d":0,"c":0},{"w":1396137600,"a":0,"d":0,"c":0},{"w":1396742400,"a":0,"d":0,"c":0},{"w":1397347200,"a":0,"d":0,"c":0},{"w":1397952000,"a":0,"d":0,"c":0},{"w":1398556800,"a":0,"d":0,"c":0},{"w":1399161600,"a":0,"d":0,"c":0},{"w":1399766400,"a":0,"d":0,"c":0},{"w":1400371200,"a":0,"d":0,"c":0},{"w":1400976000,"a":0,"d":0,"c":0},{"w":1401580800,"a":0,"d":0,"c":0},{"w":1402185600,"a":0,"d":0,"c":0},{"w":1402790400,"a":0,"d":0,"c":0},{"w":1403395200,"a":0,"d":0,"c":0},{"w":1404000000,"a":0,"d":0,"c":0},{"w":1404604800,"a":0,"d":0,"c":0},{"w":1405209600,"a":0,"d":0,"c":0},{"w":1405814400,"a":0,"d":0,"c":0},{"w":1406419200,"a":0,"d":0,"c":0},{"w":1407024000,"a":0,"d":0,"c":0},{"w":1407628800,"a":0,"d":0,"c":0},{"w":1408233600,"a":0,"d":0,"c":0},{"w":1408838400,"a":0,"d":0,"c":0},{"w":1409443200,"a":0,"d":0,"c":0},{"w":1410048000,"a":0,"d":0,"c":0},{"w":1410652800,"a":0,"d":0,"c":0},{"w":1411257600,"a":0,"d":0,"c":0},{"w":1411862400,"a":0,"d":0,"c":0},{"w":1412467200,"a":0,"d":0,"c":0},{"w":1413072000,"a":0,"d":0,"c":0},{"w":1413676800,"a":0,"d":0,"c":0},{"w":1414281600,"a":0,"d":0,"c":0},{"w":1414886400,"a":0,"d":0,"c":0},{"w":1415491200,"a":0,"d":0,"c":0},{"w":1416096000,"a":0,"d":0,"c":0},{"w":1416700800,"a":0,"d":0,"c":0},{"w":1417305600,"a":0,"d":0,"c":0},{"w":1417910400,"a":0,"d":0,"c":0},{"w":1418515200,"a":0,"d":0,"c":0},{"w":1419120000,"a":0,"d":0,"c":0},{"w":1419724800,"a":0,"d":0,"c":0},{"w":1420329600,"a":0,"d":0,"c":0},{"w":1420934400,"a":0,"d":0,"c":0},{"w":1421539200,"a":0,"d":0,"c":0},{"w":1422144000,"a":0,"d":0,"c":0},{"w":1422748800,"a":0,"d":0,"c":0},{"w":1423353600,"a":0,"d":0,"c":0},{"w":1423958400,"a":0,"d":0,"c":0},{"w":1424563200,"a":0,"d":0,"c":0},{"w":1425168000,"a":0,"d":0,"c":0},{"w":1425772800,"a":0,"d":0,"c":0},{"w":1426377600,"a":0,"d":0,"c":0},{"w":1426982400,"a":0,"d":0,"c":0},{"w":1427587200,"a":0,"d":0,"c":0},{"w":1428192000,"a":0,"d":0,"c":0},{"w":1428796800,"a":0,"d":0,"c":0},{"w":1429401600,"a":0,"d":0,"c":0},{"w":1430006400,"a":0,"d":0,"c":0},{"w":1430611200,"a":0,"d":0,"c":0},{"w":1431216000,"a":0,"d":0,"c":0},{"w":1431820800,"a":0,"d":0,"c":0},{"w":1432425600,"a":0,"d":0,"c":0},{"w":1433030400,"a":0,"d":0,"c":0},{"w":1433635200,"a":0,"d":0,"c":0},{"w":1434240000,"a":0,"d":0,"c":0},{"w":1434844800,"a":0,"d":0,"c":0},{"w":1435449600,"a":0,"d":0,"c":0},{"w":1436054400,"a":0,"d":0,"c":0},{"w":1436659200,"a":0,"d":0,"c":0},{"w":1437264000,"a":0,"d":0,"c":0},{"w":1437868800,"a":0,"d":0,"c":0},{"w":1438473600,"a":0,"d":0,"c":0},{"w":1439078400,"a":0,"d":0,"c":0},{"w":1439683200,"a":0,"d":0,"c":0},{"w":1440288000,"a":0,"d":0,"c":0},{"w":1440892800,"a":0,"d":0,"c":0},{"w":1441497600,"a":0,"d":0,"c":0},{"w":1442102400,"a":0,"d":0,"c":0},{"w":1442707200,"a":0,"d":0,"c":0},{"w":1443312000,"a":0,"d":0,"c":0},{"w":1443916800,"a":0,"d":0,"c":0},{"w":1444521600,"a":0,"d":0,"c":0},{"w":1445126400,"a":0,"d":0,"c":0},{"w":1445731200,"a":0,"d":0,"c":0},{"w":1446336000,"a":0,"d":0,"c":0},{"w":1446940800,"a":0,"d":0,"c":0},{"w":1447545600,"a":0,"d":0,"c":0},{"w":1448150400,"a":0,"d":0,"c":0},{"w":1448755200,"a":0,"d":0,"c":0},{"w":1449360000,"a":0,"d":0,"c":0},{"w":1449964800,"a":0,"d":0,"c":0},{"w":1450569600,"a":13,"d":1,"c":1},{"w":1451174400,"a":325,"d":0,"c":2},{"w":1451779200,"a":0,"d":0,"c":0},{"w":1452384000,"a":0,"d":0,"c":0},{"w":1452988800,"a":0,"d":0,"c":0},{"w":1453593600,"a":0,"d":0,"c":0},{"w":1454198400,"a":0,"d":0,"c":0},{"w":1454803200,"a":0,"d":0,"c":0},{"w":1455408000,"a":0,"d":0,"c":0},{"w":1456012800,"a":0,"d":0,"c":0},{"w":1456617600,"a":0,"d":0,"c":0},{"w":1457222400,"a":0,"d":0,"c":0},{"w":1457827200,"a":0,"d":0,"c":0},{"w":1458432000,"a":0,"d":0,"c":0},{"w":1459036800,"a":0,"d":0,"c":0},{"w":1459641600,"a":0,"d":0,"c":0},{"w":1460246400,"a":0,"d":0,"c":0},{"w":1460851200,"a":0,"d":0,"c":0},{"w":1461456000,"a":0,"d":0,"c":0},{"w":1462060800,"a":0,"d":0,"c":0},{"w":1462665600,"a":1,"d":0,"c":1},{"w":1463270400,"a":204,"d":8,"c":1},{"w":1463875200,"a":0,"d":0,"c":0},{"w":1464480000,"a":0,"d":0,"c":0},{"w":1465084800,"a":0,"d":0,"c":0},{"w":1465689600,"a":0,"d":0,"c":0},{"w":1466294400,"a":0,"d":0,"c":0},{"w":1466899200,"a":0,"d":0,"c":0},{"w":1467504000,"a":0,"d":0,"c":0},{"w":1468108800,"a":0,"d":0,"c":0},{"w":1468713600,"a":0,"d":0,"c":0},{"w":1469318400,"a":0,"d":0,"c":0},{"w":1469923200,"a":0,"d":0,"c":0},{"w":1470528000,"a":0,"d":0,"c":0},{"w":1471132800,"a":0,"d":0,"c":0},{"w":1471737600,"a":0,"d":0,"c":0},{"w":1472342400,"a":0,"d":0,"c":0},{"w":1472947200,"a":0,"d":0,"c":0},{"w":1473552000,"a":0,"d":0,"c":0},{"w":1474156800,"a":0,"d":0,"c":0},{"w":1474761600,"a":0,"d":0,"c":0},{"w":1475366400,"a":0,"d":0,"c":0},{"w":1475971200,"a":0,"d":0,"c":0},{"w":1476576000,"a":0,"d":0,"c":0},{"w":1477180800,"a":0,"d":0,"c":0},{"w":1477785600,"a":0,"d":0,"c":0},{"w":1478390400,"a":0,"d":0,"c":0},{"w":1478995200,"a":0,"d":0,"c":0},{"w":1479600000,"a":0,"d":0,"c":0},{"w":1480204800,"a":0,"d":0,"c":0},{"w":1480809600,"a":0,"d":0,"c":0},{"w":1481414400,"a":0,"d":0,"c":0},{"w":1482019200,"a":0,"d":0,"c":0},{"w":1482624000,"a":0,"d":0,"c":0},{"w":1483228800,"a":0,"d":0,"c":0},{"w":1483833600,"a":0,"d":0,"c":0},{"w":1484438400,"a":0,"d":0,"c":0},{"w":1485043200,"a":0,"d":0,"c":0},{"w":1485648000,"a":0,"d":0,"c":0},{"w":1486252800,"a":0,"d":0,"c":0},{"w":1486857600,"a":0,"d":0,"c":0},{"w":1487462400,"a":0,"d":0,"c":0},{"w":1488067200,"a":0,"d":0,"c":0},{"w":1488672000,"a":0,"d":0,"c":0},{"w":1489276800,"a":0,"d":0,"c":0},{"w":1489881600,"a":0,"d":0,"c":0},{"w":1490486400,"a":0,"d":0,"c":0},{"w":1491091200,"a":0,"d":0,"c":0},{"w":1491696000,"a":0,"d":0,"c":0},{"w":1492300800,"a":0,"d":0,"c":0},{"w":1492905600,"a":0,"d":0,"c":0},{"w":1493510400,"a":0,"d":0,"c":0},{"w":1494115200,"a":0,"d":0,"c":0},{"w":1494720000,"a":0,"d":0,"c":0},{"w":1495324800,"a":0,"d":0,"c":0},{"w":1495929600,"a":0,"d":0,"c":0},{"w":1496534400,"a":0,"d":0,"c":0},{"w":1497139200,"a":0,"d":0,"c":0},{"w":1497744000,"a":0,"d":0,"c":0},{"w":1498348800,"a":0,"d":0,"c":0},{"w":1498953600,"a":0,"d":0,"c":0},{"w":1499558400,"a":0,"d":0,"c":0},{"w":1500163200,"a":0,"d":0,"c":0},{"w":1500768000,"a":0,"d":0,"c":0},{"w":1501372800,"a":0,"d":0,"c":0},{"w":1501977600,"a":0,"d":0,"c":0},{"w":1502582400,"a":0,"d":0,"c":0},{"w":1503187200,"a":0,"d":0,"c":0},{"w":1503792000,"a":0,"d":0,"c":0},{"w":1504396800,"a":0,"d":0,"c":0},{"w":1505001600,"a":0,"d":0,"c":0},{"w":1505606400,"a":0,"d":0,"c":0},{"w":1506211200,"a":0,"d":0,"c":0},{"w":1506816000,"a":0,"d":0,"c":0},{"w":1507420800,"a":0,"d":0,"c":0},{"w":1508025600,"a":0,"d":0,"c":0},{"w":1508630400,"a":0,"d":0,"c":0},{"w":1509235200,"a":0,"d":0,"c":0},{"w":1509840000,"a":0,"d":0,"c":0},{"w":1510444800,"a":0,"d":0,"c":0},{"w":1511049600,"a":0,"d":0,"c":0},{"w":1511654400,"a":0,"d":0,"c":0},{"w":1512259200,"a":0,"d":0,"c":0},{"w":1512864000,"a":0,"d":0,"c":0},{"w":1513468800,"a":0,"d":0,"c":0},{"w":1514073600,"a":0,"d":0,"c":0},{"w":1514678400,"a":0,"d":0,"c":0},{"w":1515283200,"a":0,"d":0,"c":0},{"w":1515888000,"a":0,"d":0,"c":0},{"w":1516492800,"a":0,"d":0,"c":0},{"w":1517097600,"a":0,"d":0,"c":0},{"w":1517702400,"a":0,"d":0,"c":0},{"w":1518307200,"a":0,"d":0,"c":0},{"w":1518912000,"a":0,"d":0,"c":0},{"w":1519516800,"a":0,"d":0,"c":0},{"w":1520121600,"a":0,"d":0,"c":0},{"w":1520726400,"a":0,"d":0,"c":0},{"w":1521331200,"a":0,"d":0,"c":0},{"w":1521936000,"a":0,"d":0,"c":0},{"w":1522540800,"a":0,"d":0,"c":0},{"w":1523145600,"a":0,"d":0,"c":0},{"w":1523750400,"a":0,"d":0,"c":0},{"w":1524355200,"a":0,"d":0,"c":0},{"w":1524960000,"a":0,"d":0,"c":0},{"w":1525564800,"a":0,"d":0,"c":0},{"w":1526169600,"a":0,"d":0,"c":0},{"w":1526774400,"a":0,"d":0,"c":0},{"w":1527379200,"a":0,"d":0,"c":0},{"w":1527984000,"a":0,"d":0,"c":0},{"w":1528588800,"a":0,"d":0,"c":0},{"w":1529193600,"a":0,"d":0,"c":0},{"w":1529798400,"a":0,"d":0,"c":0},{"w":1530403200,"a":0,"d":0,"c":0},{"w":1531008000,"a":0,"d":0,"c":0},{"w":1531612800,"a":0,"d":0,"c":0},{"w":1532217600,"a":0,"d":0,"c":0},{"w":1532822400,"a":0,"d":0,"c":0},{"w":1533427200,"a":0,"d":0,"c":0},{"w":1534032000,"a":0,"d":0,"c":0},{"w":1534636800,"a":0,"d":0,"c":0},{"w":1535241600,"a":0,"d":0,"c":0},{"w":1535846400,"a":0,"d":0,"c":0},{"w":1536451200,"a":0,"d":0,"c":0},{"w":1537056000,"a":0,"d":0,"c":0},{"w":1537660800,"a":0,"d":0,"c":0},{"w":1538265600,"a":0,"d":0,"c":0},{"w":1538870400,"a":0,"d":0,"c":0},{"w":1539475200,"a":0,"d":0,"c":0},{"w":1540080000,"a":0,"d":0,"c":0},{"w":1540684800,"a":0,"d":0,"c":0},{"w":1541289600,"a":0,"d":0,"c":0},{"w":1541894400,"a":0,"d":0,"c":0},{"w":1542499200,"a":0,"d":0,"c":0},{"w":1543104000,"a":0,"d":0,"c":0},{"w":1543708800,"a":0,"d":0,"c":0},{"w":1544313600,"a":0,"d":0,"c":0},{"w":1544918400,"a":0,"d":0,"c":0},{"w":1545523200,"a":0,"d":0,"c":0},{"w":1546128000,"a":0,"d":0,"c":0},{"w":1546732800,"a":0,"d":0,"c":0},{"w":1547337600,"a":0,"d":0,"c":0},{"w":1547942400,"a":0,"d":0,"c":0},{"w":1548547200,"a":0,"d":0,"c":0},{"w":1549152000,"a":0,"d":0,"c":0},{"w":1549756800,"a":0,"d":0,"c":0},{"w":1550361600,"a":0,"d":0,"c":0},{"w":1550966400,"a":0,"d":0,"c":0},{"w":1551571200,"a":0,"d":0,"c":0},{"w":1552176000,"a":0,"d":0,"c":0},{"w":1552780800,"a":0,"d":0,"c":0},{"w":1553385600,"a":0,"d":0,"c":0},{"w":1553990400,"a":0,"d":0,"c":0},{"w":1554595200,"a":0,"d":0,"c":0},{"w":1555200000,"a":0,"d":0,"c":0},{"w":1555804800,"a":0,"d":0,"c":0},{"w":1556409600,"a":0,"d":0,"c":0},{"w":1557014400,"a":0,"d":0,"c":0},{"w":1557619200,"a":0,"d":0,"c":0},{"w":1558224000,"a":0,"d":0,"c":0},{"w":1558828800,"a":0,"d":0,"c":0},{"w":1559433600,"a":0,"d":0,"c":0},{"w":1560038400,"a":0,"d":0,"c":0},{"w":1560643200,"a":0,"d":0,"c":0},{"w":1561248000,"a":0,"d":0,"c":0},{"w":1561852800,"a":0,"d":0,"c":0},{"w":1562457600,"a":0,"d":0,"c":0}],"author":{"login":"itsWill","id":6386302,"node_id":"MDQ6VXNlcjYzODYzMDI=","avatar_url":"https://avatars1.githubusercontent.com/u/6386302?v=4","gravatar_id":"","url":"https://api.github.com/users/itsWill","html_url":"https://github.com/itsWill","followers_url":"https://api.github.com/users/itsWill/followers","following_url":"https://api.github.com/users/itsWill/following{/other_user}","gists_url":"https://api.github.com/users/itsWill/gists{/gist_id}","starred_url":"https://api.github.com/users/itsWill/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itsWill/subscriptions","organizations_url":"https://api.github.com/users/itsWill/orgs","repos_url":"https://api.github.com/users/itsWill/repos","events_url":"https://api.github.com/users/itsWill/events{/privacy}","received_events_url":"https://api.github.com/users/itsWill/received_events","type":"User","site_admin":false}},{"total":6,"weeks":[{"w":1215302400,"a":0,"d":0,"c":0},{"w":1215907200,"a":0,"d":0,"c":0},{"w":1216512000,"a":0,"d":0,"c":0},{"w":1217116800,"a":0,"d":0,"c":0},{"w":1217721600,"a":0,"d":0,"c":0},{"w":1218326400,"a":0,"d":0,"c":0},{"w":1218931200,"a":0,"d":0,"c":0},{"w":1219536000,"a":0,"d":0,"c":0},{"w":1220140800,"a":0,"d":0,"c":0},{"w":1220745600,"a":0,"d":0,"c":0},{"w":1221350400,"a":0,"d":0,"c":0},{"w":1221955200,"a":0,"d":0,"c":0},{"w":1222560000,"a":0,"d":0,"c":0},{"w":1223164800,"a":0,"d":0,"c":0},{"w":1223769600,"a":0,"d":0,"c":0},{"w":1224374400,"a":0,"d":0,"c":0},{"w":1224979200,"a":0,"d":0,"c":0},{"w":1225584000,"a":0,"d":0,"c":0},{"w":1226188800,"a":0,"d":0,"c":0},{"w":1226793600,"a":0,"d":0,"c":0},{"w":1227398400,"a":0,"d":0,"c":0},{"w":1228003200,"a":0,"d":0,"c":0},{"w":1228608000,"a":0,"d":0,"c":0},{"w":1229212800,"a":0,"d":0,"c":0},{"w":1229817600,"a":0,"d":0,"c":0},{"w":1230422400,"a":0,"d":0,"c":0},{"w":1231027200,"a":0,"d":0,"c":0},{"w":1231632000,"a":0,"d":0,"c":0},{"w":1232236800,"a":0,"d":0,"c":0},{"w":1232841600,"a":0,"d":0,"c":0},{"w":1233446400,"a":0,"d":0,"c":0},{"w":1234051200,"a":0,"d":0,"c":0},{"w":1234656000,"a":0,"d":0,"c":0},{"w":1235260800,"a":0,"d":0,"c":0},{"w":1235865600,"a":0,"d":0,"c":0},{"w":1236470400,"a":0,"d":0,"c":0},{"w":1237075200,"a":0,"d":0,"c":0},{"w":1237680000,"a":0,"d":0,"c":0},{"w":1238284800,"a":0,"d":0,"c":0},{"w":1238889600,"a":0,"d":0,"c":0},{"w":1239494400,"a":0,"d":0,"c":0},{"w":1240099200,"a":0,"d":0,"c":0},{"w":1240704000,"a":0,"d":0,"c":0},{"w":1241308800,"a":0,"d":0,"c":0},{"w":1241913600,"a":0,"d":0,"c":0},{"w":1242518400,"a":0,"d":0,"c":0},{"w":1243123200,"a":0,"d":0,"c":0},{"w":1243728000,"a":0,"d":0,"c":0},{"w":1244332800,"a":0,"d":0,"c":0},{"w":1244937600,"a":0,"d":0,"c":0},{"w":1245542400,"a":0,"d":0,"c":0},{"w":1246147200,"a":0,"d":0,"c":0},{"w":1246752000,"a":0,"d":0,"c":0},{"w":1247356800,"a":0,"d":0,"c":0},{"w":1247961600,"a":0,"d":0,"c":0},{"w":1248566400,"a":0,"d":0,"c":0},{"w":1249171200,"a":0,"d":0,"c":0},{"w":1249776000,"a":0,"d":0,"c":0},{"w":1250380800,"a":0,"d":0,"c":0},{"w":1250985600,"a":0,"d":0,"c":0},{"w":1251590400,"a":0,"d":0,"c":0},{"w":1252195200,"a":0,"d":0,"c":0},{"w":1252800000,"a":0,"d":0,"c":0},{"w":1253404800,"a":0,"d":0,"c":0},{"w":1254009600,"a":0,"d":0,"c":0},{"w":1254614400,"a":0,"d":0,"c":0},{"w":1255219200,"a":0,"d":0,"c":0},{"w":1255824000,"a":0,"d":0,"c":0},{"w":1256428800,"a":0,"d":0,"c":0},{"w":1257033600,"a":0,"d":0,"c":0},{"w":1257638400,"a":0,"d":0,"c":0},{"w":1258243200,"a":0,"d":0,"c":0},{"w":1258848000,"a":0,"d":0,"c":0},{"w":1259452800,"a":0,"d":0,"c":0},{"w":1260057600,"a":0,"d":0,"c":0},{"w":1260662400,"a":0,"d":0,"c":0},{"w":1261267200,"a":0,"d":0,"c":0},{"w":1261872000,"a":0,"d":0,"c":0},{"w":1262476800,"a":0,"d":0,"c":0},{"w":1263081600,"a":0,"d":0,"c":0},{"w":1263686400,"a":0,"d":0,"c":0},{"w":1264291200,"a":0,"d":0,"c":0},{"w":1264896000,"a":0,"d":0,"c":0},{"w":1265500800,"a":0,"d":0,"c":0},{"w":1266105600,"a":0,"d":0,"c":0},{"w":1266710400,"a":0,"d":0,"c":0},{"w":1267315200,"a":0,"d":0,"c":0},{"w":1267920000,"a":0,"d":0,"c":0},{"w":1268524800,"a":0,"d":0,"c":0},{"w":1269129600,"a":0,"d":0,"c":0},{"w":1269734400,"a":0,"d":0,"c":0},{"w":1270339200,"a":0,"d":0,"c":0},{"w":1270944000,"a":0,"d":0,"c":0},{"w":1271548800,"a":0,"d":0,"c":0},{"w":1272153600,"a":0,"d":0,"c":0},{"w":1272758400,"a":0,"d":0,"c":0},{"w":1273363200,"a":0,"d":0,"c":0},{"w":1273968000,"a":0,"d":0,"c":0},{"w":1274572800,"a":0,"d":0,"c":0},{"w":1275177600,"a":0,"d":0,"c":0},{"w":1275782400,"a":0,"d":0,"c":0},{"w":1276387200,"a":0,"d":0,"c":0},{"w":1276992000,"a":0,"d":0,"c":0},{"w":1277596800,"a":0,"d":0,"c":0},{"w":1278201600,"a":0,"d":0,"c":0},{"w":1278806400,"a":0,"d":0,"c":0},{"w":1279411200,"a":0,"d":0,"c":0},{"w":1280016000,"a":0,"d":0,"c":0},{"w":1280620800,"a":0,"d":0,"c":0},{"w":1281225600,"a":0,"d":0,"c":0},{"w":1281830400,"a":0,"d":0,"c":0},{"w":1282435200,"a":0,"d":0,"c":0},{"w":1283040000,"a":0,"d":0,"c":0},{"w":1283644800,"a":0,"d":0,"c":0},{"w":1284249600,"a":0,"d":0,"c":0},{"w":1284854400,"a":0,"d":0,"c":0},{"w":1285459200,"a":0,"d":0,"c":0},{"w":1286064000,"a":0,"d":0,"c":0},{"w":1286668800,"a":0,"d":0,"c":0},{"w":1287273600,"a":0,"d":0,"c":0},{"w":1287878400,"a":0,"d":0,"c":0},{"w":1288483200,"a":0,"d":0,"c":0},{"w":1289088000,"a":0,"d":0,"c":0},{"w":1289692800,"a":0,"d":0,"c":0},{"w":1290297600,"a":0,"d":0,"c":0},{"w":1290902400,"a":0,"d":0,"c":0},{"w":1291507200,"a":0,"d":0,"c":0},{"w":1292112000,"a":0,"d":0,"c":0},{"w":1292716800,"a":0,"d":0,"c":0},{"w":1293321600,"a":0,"d":0,"c":0},{"w":1293926400,"a":0,"d":0,"c":0},{"w":1294531200,"a":0,"d":0,"c":0},{"w":1295136000,"a":0,"d":0,"c":0},{"w":1295740800,"a":0,"d":0,"c":0},{"w":1296345600,"a":0,"d":0,"c":0},{"w":1296950400,"a":0,"d":0,"c":0},{"w":1297555200,"a":0,"d":0,"c":0},{"w":1298160000,"a":0,"d":0,"c":0},{"w":1298764800,"a":0,"d":0,"c":0},{"w":1299369600,"a":0,"d":0,"c":0},{"w":1299974400,"a":0,"d":0,"c":0},{"w":1300579200,"a":0,"d":0,"c":0},{"w":1301184000,"a":0,"d":0,"c":0},{"w":1301788800,"a":0,"d":0,"c":0},{"w":1302393600,"a":0,"d":0,"c":0},{"w":1302998400,"a":0,"d":0,"c":0},{"w":1303603200,"a":0,"d":0,"c":0},{"w":1304208000,"a":0,"d":0,"c":0},{"w":1304812800,"a":0,"d":0,"c":0},{"w":1305417600,"a":0,"d":0,"c":0},{"w":1306022400,"a":0,"d":0,"c":0},{"w":1306627200,"a":0,"d":0,"c":0},{"w":1307232000,"a":0,"d":0,"c":0},{"w":1307836800,"a":0,"d":0,"c":0},{"w":1308441600,"a":0,"d":0,"c":0},{"w":1309046400,"a":0,"d":0,"c":0},{"w":1309651200,"a":0,"d":0,"c":0},{"w":1310256000,"a":0,"d":0,"c":0},{"w":1310860800,"a":0,"d":0,"c":0},{"w":1311465600,"a":0,"d":0,"c":0},{"w":1312070400,"a":0,"d":0,"c":0},{"w":1312675200,"a":0,"d":0,"c":0},{"w":1313280000,"a":0,"d":0,"c":0},{"w":1313884800,"a":0,"d":0,"c":0},{"w":1314489600,"a":0,"d":0,"c":0},{"w":1315094400,"a":0,"d":0,"c":0},{"w":1315699200,"a":0,"d":0,"c":0},{"w":1316304000,"a":0,"d":0,"c":0},{"w":1316908800,"a":0,"d":0,"c":0},{"w":1317513600,"a":0,"d":0,"c":0},{"w":1318118400,"a":0,"d":0,"c":0},{"w":1318723200,"a":0,"d":0,"c":0},{"w":1319328000,"a":0,"d":0,"c":0},{"w":1319932800,"a":0,"d":0,"c":0},{"w":1320537600,"a":0,"d":0,"c":0},{"w":1321142400,"a":0,"d":0,"c":0},{"w":1321747200,"a":0,"d":0,"c":0},{"w":1322352000,"a":0,"d":0,"c":0},{"w":1322956800,"a":0,"d":0,"c":0},{"w":1323561600,"a":0,"d":0,"c":0},{"w":1324166400,"a":0,"d":0,"c":0},{"w":1324771200,"a":0,"d":0,"c":0},{"w":1325376000,"a":0,"d":0,"c":0},{"w":1325980800,"a":0,"d":0,"c":0},{"w":1326585600,"a":0,"d":0,"c":0},{"w":1327190400,"a":0,"d":0,"c":0},{"w":1327795200,"a":0,"d":0,"c":0},{"w":1328400000,"a":0,"d":0,"c":0},{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0},{"w":1384646400,"a":0,"d":0,"c":0},{"w":1385251200,"a":0,"d":0,"c":0},{"w":1385856000,"a":0,"d":0,"c":0},{"w":1386460800,"a":0,"d":0,"c":0},{"w":1387065600,"a":0,"d":0,"c":0},{"w":1387670400,"a":0,"d":0,"c":0},{"w":1388275200,"a":0,"d":0,"c":0},{"w":1388880000,"a":0,"d":0,"c":0},{"w":1389484800,"a":0,"d":0,"c":0},{"w":1390089600,"a":0,"d":0,"c":0},{"w":1390694400,"a":0,"d":0,"c":0},{"w":1391299200,"a":0,"d":0,"c":0},{"w":1391904000,"a":0,"d":0,"c":0},{"w":1392508800,"a":0,"d":0,"c":0},{"w":1393113600,"a":0,"d":0,"c":0},{"w":1393718400,"a":0,"d":0,"c":0},{"w":1394323200,"a":0,"d":0,"c":0},{"w":1394928000,"a":0,"d":0,"c":0},{"w":1395532800,"a":0,"d":0,"c":0},{"w":1396137600,"a":0,"d":0,"c":0},{"w":1396742400,"a":0,"d":0,"c":0},{"w":1397347200,"a":0,"d":0,"c":0},{"w":1397952000,"a":0,"d":0,"c":0},{"w":1398556800,"a":0,"d":0,"c":0},{"w":1399161600,"a":0,"d":0,"c":0},{"w":1399766400,"a":0,"d":0,"c":0},{"w":1400371200,"a":0,"d":0,"c":0},{"w":1400976000,"a":0,"d":0,"c":0},{"w":1401580800,"a":0,"d":0,"c":0},{"w":1402185600,"a":0,"d":0,"c":0},{"w":1402790400,"a":0,"d":0,"c":0},{"w":1403395200,"a":0,"d":0,"c":0},{"w":1404000000,"a":0,"d":0,"c":0},{"w":1404604800,"a":0,"d":0,"c":0},{"w":1405209600,"a":0,"d":0,"c":0},{"w":1405814400,"a":0,"d":0,"c":0},{"w":1406419200,"a":0,"d":0,"c":0},{"w":1407024000,"a":0,"d":0,"c":0},{"w":1407628800,"a":0,"d":0,"c":0},{"w":1408233600,"a":0,"d":0,"c":0},{"w":1408838400,"a":0,"d":0,"c":0},{"w":1409443200,"a":0,"d":0,"c":0},{"w":1410048000,"a":0,"d":0,"c":0},{"w":1410652800,"a":0,"d":0,"c":0},{"w":1411257600,"a":0,"d":0,"c":0},{"w":1411862400,"a":0,"d":0,"c":0},{"w":1412467200,"a":0,"d":0,"c":0},{"w":1413072000,"a":0,"d":0,"c":0},{"w":1413676800,"a":0,"d":0,"c":0},{"w":1414281600,"a":0,"d":0,"c":0},{"w":1414886400,"a":0,"d":0,"c":0},{"w":1415491200,"a":0,"d":0,"c":0},{"w":1416096000,"a":0,"d":0,"c":0},{"w":1416700800,"a":0,"d":0,"c":0},{"w":1417305600,"a":0,"d":0,"c":0},{"w":1417910400,"a":0,"d":0,"c":0},{"w":1418515200,"a":0,"d":0,"c":0},{"w":1419120000,"a":0,"d":0,"c":0},{"w":1419724800,"a":0,"d":0,"c":0},{"w":1420329600,"a":0,"d":0,"c":0},{"w":1420934400,"a":134,"d":0,"c":1},{"w":1421539200,"a":0,"d":0,"c":0},{"w":1422144000,"a":0,"d":0,"c":0},{"w":1422748800,"a":0,"d":0,"c":0},{"w":1423353600,"a":0,"d":0,"c":0},{"w":1423958400,"a":0,"d":0,"c":0},{"w":1424563200,"a":0,"d":0,"c":0},{"w":1425168000,"a":0,"d":0,"c":0},{"w":1425772800,"a":0,"d":0,"c":0},{"w":1426377600,"a":0,"d":0,"c":0},{"w":1426982400,"a":0,"d":0,"c":0},{"w":1427587200,"a":0,"d":0,"c":0},{"w":1428192000,"a":0,"d":0,"c":0},{"w":1428796800,"a":1148,"d":0,"c":1},{"w":1429401600,"a":0,"d":0,"c":0},{"w":1430006400,"a":0,"d":0,"c":0},{"w":1430611200,"a":0,"d":0,"c":0},{"w":1431216000,"a":0,"d":0,"c":0},{"w":1431820800,"a":164,"d":0,"c":1},{"w":1432425600,"a":103,"d":0,"c":1},{"w":1433030400,"a":0,"d":0,"c":0},{"w":1433635200,"a":114,"d":0,"c":2},{"w":1434240000,"a":0,"d":0,"c":0},{"w":1434844800,"a":0,"d":0,"c":0},{"w":1435449600,"a":0,"d":0,"c":0},{"w":1436054400,"a":0,"d":0,"c":0},{"w":1436659200,"a":0,"d":0,"c":0},{"w":1437264000,"a":0,"d":0,"c":0},{"w":1437868800,"a":0,"d":0,"c":0},{"w":1438473600,"a":0,"d":0,"c":0},{"w":1439078400,"a":0,"d":0,"c":0},{"w":1439683200,"a":0,"d":0,"c":0},{"w":1440288000,"a":0,"d":0,"c":0},{"w":1440892800,"a":0,"d":0,"c":0},{"w":1441497600,"a":0,"d":0,"c":0},{"w":1442102400,"a":0,"d":0,"c":0},{"w":1442707200,"a":0,"d":0,"c":0},{"w":1443312000,"a":0,"d":0,"c":0},{"w":1443916800,"a":0,"d":0,"c":0},{"w":1444521600,"a":0,"d":0,"c":0},{"w":1445126400,"a":0,"d":0,"c":0},{"w":1445731200,"a":0,"d":0,"c":0},{"w":1446336000,"a":0,"d":0,"c":0},{"w":1446940800,"a":0,"d":0,"c":0},{"w":1447545600,"a":0,"d":0,"c":0},{"w":1448150400,"a":0,"d":0,"c":0},{"w":1448755200,"a":0,"d":0,"c":0},{"w":1449360000,"a":0,"d":0,"c":0},{"w":1449964800,"a":0,"d":0,"c":0},{"w":1450569600,"a":0,"d":0,"c":0},{"w":1451174400,"a":0,"d":0,"c":0},{"w":1451779200,"a":0,"d":0,"c":0},{"w":1452384000,"a":0,"d":0,"c":0},{"w":1452988800,"a":0,"d":0,"c":0},{"w":1453593600,"a":0,"d":0,"c":0},{"w":1454198400,"a":0,"d":0,"c":0},{"w":1454803200,"a":0,"d":0,"c":0},{"w":1455408000,"a":0,"d":0,"c":0},{"w":1456012800,"a":0,"d":0,"c":0},{"w":1456617600,"a":0,"d":0,"c":0},{"w":1457222400,"a":0,"d":0,"c":0},{"w":1457827200,"a":0,"d":0,"c":0},{"w":1458432000,"a":0,"d":0,"c":0},{"w":1459036800,"a":0,"d":0,"c":0},{"w":1459641600,"a":0,"d":0,"c":0},{"w":1460246400,"a":0,"d":0,"c":0},{"w":1460851200,"a":0,"d":0,"c":0},{"w":1461456000,"a":0,"d":0,"c":0},{"w":1462060800,"a":0,"d":0,"c":0},{"w":1462665600,"a":0,"d":0,"c":0},{"w":1463270400,"a":0,"d":0,"c":0},{"w":1463875200,"a":0,"d":0,"c":0},{"w":1464480000,"a":0,"d":0,"c":0},{"w":1465084800,"a":0,"d":0,"c":0},{"w":1465689600,"a":0,"d":0,"c":0},{"w":1466294400,"a":0,"d":0,"c":0},{"w":1466899200,"a":0,"d":0,"c":0},{"w":1467504000,"a":0,"d":0,"c":0},{"w":1468108800,"a":0,"d":0,"c":0},{"w":1468713600,"a":0,"d":0,"c":0},{"w":1469318400,"a":0,"d":0,"c":0},{"w":1469923200,"a":0,"d":0,"c":0},{"w":1470528000,"a":0,"d":0,"c":0},{"w":1471132800,"a":0,"d":0,"c":0},{"w":1471737600,"a":0,"d":0,"c":0},{"w":1472342400,"a":0,"d":0,"c":0},{"w":1472947200,"a":0,"d":0,"c":0},{"w":1473552000,"a":0,"d":0,"c":0},{"w":1474156800,"a":0,"d":0,"c":0},{"w":1474761600,"a":0,"d":0,"c":0},{"w":1475366400,"a":0,"d":0,"c":0},{"w":1475971200,"a":0,"d":0,"c":0},{"w":1476576000,"a":0,"d":0,"c":0},{"w":1477180800,"a":0,"d":0,"c":0},{"w":1477785600,"a":0,"d":0,"c":0},{"w":1478390400,"a":0,"d":0,"c":0},{"w":1478995200,"a":0,"d":0,"c":0},{"w":1479600000,"a":0,"d":0,"c":0},{"w":1480204800,"a":0,"d":0,"c":0},{"w":1480809600,"a":0,"d":0,"c":0},{"w":1481414400,"a":0,"d":0,"c":0},{"w":1482019200,"a":0,"d":0,"c":0},{"w":1482624000,"a":0,"d":0,"c":0},{"w":1483228800,"a":0,"d":0,"c":0},{"w":1483833600,"a":0,"d":0,"c":0},{"w":1484438400,"a":0,"d":0,"c":0},{"w":1485043200,"a":0,"d":0,"c":0},{"w":1485648000,"a":0,"d":0,"c":0},{"w":1486252800,"a":0,"d":0,"c":0},{"w":1486857600,"a":0,"d":0,"c":0},{"w":1487462400,"a":0,"d":0,"c":0},{"w":1488067200,"a":0,"d":0,"c":0},{"w":1488672000,"a":0,"d":0,"c":0},{"w":1489276800,"a":0,"d":0,"c":0},{"w":1489881600,"a":0,"d":0,"c":0},{"w":1490486400,"a":0,"d":0,"c":0},{"w":1491091200,"a":0,"d":0,"c":0},{"w":1491696000,"a":0,"d":0,"c":0},{"w":1492300800,"a":0,"d":0,"c":0},{"w":1492905600,"a":0,"d":0,"c":0},{"w":1493510400,"a":0,"d":0,"c":0},{"w":1494115200,"a":0,"d":0,"c":0},{"w":1494720000,"a":0,"d":0,"c":0},{"w":1495324800,"a":0,"d":0,"c":0},{"w":1495929600,"a":0,"d":0,"c":0},{"w":1496534400,"a":0,"d":0,"c":0},{"w":1497139200,"a":0,"d":0,"c":0},{"w":1497744000,"a":0,"d":0,"c":0},{"w":1498348800,"a":0,"d":0,"c":0},{"w":1498953600,"a":0,"d":0,"c":0},{"w":1499558400,"a":0,"d":0,"c":0},{"w":1500163200,"a":0,"d":0,"c":0},{"w":1500768000,"a":0,"d":0,"c":0},{"w":1501372800,"a":0,"d":0,"c":0},{"w":1501977600,"a":0,"d":0,"c":0},{"w":1502582400,"a":0,"d":0,"c":0},{"w":1503187200,"a":0,"d":0,"c":0},{"w":1503792000,"a":0,"d":0,"c":0},{"w":1504396800,"a":0,"d":0,"c":0},{"w":1505001600,"a":0,"d":0,"c":0},{"w":1505606400,"a":0,"d":0,"c":0},{"w":1506211200,"a":0,"d":0,"c":0},{"w":1506816000,"a":0,"d":0,"c":0},{"w":1507420800,"a":0,"d":0,"c":0},{"w":1508025600,"a":0,"d":0,"c":0},{"w":1508630400,"a":0,"d":0,"c":0},{"w":1509235200,"a":0,"d":0,"c":0},{"w":1509840000,"a":0,"d":0,"c":0},{"w":1510444800,"a":0,"d":0,"c":0},{"w":1511049600,"a":0,"d":0,"c":0},{"w":1511654400,"a":0,"d":0,"c":0},{"w":1512259200,"a":0,"d":0,"c":0},{"w":1512864000,"a":0,"d":0,"c":0},{"w":1513468800,"a":0,"d":0,"c":0},{"w":1514073600,"a":0,"d":0,"c":0},{"w":1514678400,"a":0,"d":0,"c":0},{"w":1515283200,"a":0,"d":0,"c":0},{"w":1515888000,"a":0,"d":0,"c":0},{"w":1516492800,"a":0,"d":0,"c":0},{"w":1517097600,"a":0,"d":0,"c":0},{"w":1517702400,"a":0,"d":0,"c":0},{"w":1518307200,"a":0,"d":0,"c":0},{"w":1518912000,"a":0,"d":0,"c":0},{"w":1519516800,"a":0,"d":0,"c":0},{"w":1520121600,"a":0,"d":0,"c":0},{"w":1520726400,"a":0,"d":0,"c":0},{"w":1521331200,"a":0,"d":0,"c":0},{"w":1521936000,"a":0,"d":0,"c":0},{"w":1522540800,"a":0,"d":0,"c":0},{"w":1523145600,"a":0,"d":0,"c":0},{"w":1523750400,"a":0,"d":0,"c":0},{"w":1524355200,"a":0,"d":0,"c":0},{"w":1524960000,"a":0,"d":0,"c":0},{"w":1525564800,"a":0,"d":0,"c":0},{"w":1526169600,"a":0,"d":0,"c":0},{"w":1526774400,"a":0,"d":0,"c":0},{"w":1527379200,"a":0,"d":0,"c":0},{"w":1527984000,"a":0,"d":0,"c":0},{"w":1528588800,"a":0,"d":0,"c":0},{"w":1529193600,"a":0,"d":0,"c":0},{"w":1529798400,"a":0,"d":0,"c":0},{"w":1530403200,"a":0,"d":0,"c":0},{"w":1531008000,"a":0,"d":0,"c":0},{"w":1531612800,"a":0,"d":0,"c":0},{"w":1532217600,"a":0,"d":0,"c":0},{"w":1532822400,"a":0,"d":0,"c":0},{"w":1533427200,"a":0,"d":0,"c":0},{"w":1534032000,"a":0,"d":0,"c":0},{"w":1534636800,"a":0,"d":0,"c":0},{"w":1535241600,"a":0,"d":0,"c":0},{"w":1535846400,"a":0,"d":0,"c":0},{"w":1536451200,"a":0,"d":0,"c":0},{"w":1537056000,"a":0,"d":0,"c":0},{"w":1537660800,"a":0,"d":0,"c":0},{"w":1538265600,"a":0,"d":0,"c":0},{"w":1538870400,"a":0,"d":0,"c":0},{"w":1539475200,"a":0,"d":0,"c":0},{"w":1540080000,"a":0,"d":0,"c":0},{"w":1540684800,"a":0,"d":0,"c":0},{"w":1541289600,"a":0,"d":0,"c":0},{"w":1541894400,"a":0,"d":0,"c":0},{"w":1542499200,"a":0,"d":0,"c":0},{"w":1543104000,"a":0,"d":0,"c":0},{"w":1543708800,"a":0,"d":0,"c":0},{"w":1544313600,"a":0,"d":0,"c":0},{"w":1544918400,"a":0,"d":0,"c":0},{"w":1545523200,"a":0,"d":0,"c":0},{"w":1546128000,"a":0,"d":0,"c":0},{"w":1546732800,"a":0,"d":0,"c":0},{"w":1547337600,"a":0,"d":0,"c":0},{"w":1547942400,"a":0,"d":0,"c":0},{"w":1548547200,"a":0,"d":0,"c":0},{"w":1549152000,"a":0,"d":0,"c":0},{"w":1549756800,"a":0,"d":0,"c":0},{"w":1550361600,"a":0,"d":0,"c":0},{"w":1550966400,"a":0,"d":0,"c":0},{"w":1551571200,"a":0,"d":0,"c":0},{"w":1552176000,"a":0,"d":0,"c":0},{"w":1552780800,"a":0,"d":0,"c":0},{"w":1553385600,"a":0,"d":0,"c":0},{"w":1553990400,"a":0,"d":0,"c":0},{"w":1554595200,"a":0,"d":0,"c":0},{"w":1555200000,"a":0,"d":0,"c":0},{"w":1555804800,"a":0,"d":0,"c":0},{"w":1556409600,"a":0,"d":0,"c":0},{"w":1557014400,"a":0,"d":0,"c":0},{"w":1557619200,"a":0,"d":0,"c":0},{"w":1558224000,"a":0,"d":0,"c":0},{"w":1558828800,"a":0,"d":0,"c":0},{"w":1559433600,"a":0,"d":0,"c":0},{"w":1560038400,"a":0,"d":0,"c":0},{"w":1560643200,"a":0,"d":0,"c":0},{"w":1561248000,"a":0,"d":0,"c":0},{"w":1561852800,"a":0,"d":0,"c":0},{"w":1562457600,"a":0,"d":0,"c":0}],"author":{"login":"Tagachi","id":8526489,"node_id":"MDQ6VXNlcjg1MjY0ODk=","avatar_url":"https://avatars0.githubusercontent.com/u/8526489?v=4","gravatar_id":"","url":"https://api.github.com/users/Tagachi","html_url":"https://github.com/Tagachi","followers_url":"https://api.github.com/users/Tagachi/followers","following_url":"https://api.github.com/users/Tagachi/following{/other_user}","gists_url":"https://api.github.com/users/Tagachi/gists{/gist_id}","starred_url":"https://api.github.com/users/Tagachi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Tagachi/subscriptions","organizations_url":"https://api.github.com/users/Tagachi/orgs","repos_url":"https://api.github.com/users/Tagachi/repos","events_url":"https://api.github.com/users/Tagachi/events{/privacy}","received_events_url":"https://api.github.com/users/Tagachi/received_events","type":"User","site_admin":false}},{"total":6,"weeks":[{"w":1215302400,"a":0,"d":0,"c":0},{"w":1215907200,"a":0,"d":0,"c":0},{"w":1216512000,"a":0,"d":0,"c":0},{"w":1217116800,"a":0,"d":0,"c":0},{"w":1217721600,"a":0,"d":0,"c":0},{"w":1218326400,"a":0,"d":0,"c":0},{"w":1218931200,"a":0,"d":0,"c":0},{"w":1219536000,"a":0,"d":0,"c":0},{"w":1220140800,"a":0,"d":0,"c":0},{"w":1220745600,"a":0,"d":0,"c":0},{"w":1221350400,"a":0,"d":0,"c":0},{"w":1221955200,"a":0,"d":0,"c":0},{"w":1222560000,"a":0,"d":0,"c":0},{"w":1223164800,"a":0,"d":0,"c":0},{"w":1223769600,"a":0,"d":0,"c":0},{"w":1224374400,"a":0,"d":0,"c":0},{"w":1224979200,"a":0,"d":0,"c":0},{"w":1225584000,"a":0,"d":0,"c":0},{"w":1226188800,"a":0,"d":0,"c":0},{"w":1226793600,"a":0,"d":0,"c":0},{"w":1227398400,"a":0,"d":0,"c":0},{"w":1228003200,"a":0,"d":0,"c":0},{"w":1228608000,"a":0,"d":0,"c":0},{"w":1229212800,"a":0,"d":0,"c":0},{"w":1229817600,"a":0,"d":0,"c":0},{"w":1230422400,"a":0,"d":0,"c":0},{"w":1231027200,"a":0,"d":0,"c":0},{"w":1231632000,"a":0,"d":0,"c":0},{"w":1232236800,"a":0,"d":0,"c":0},{"w":1232841600,"a":0,"d":0,"c":0},{"w":1233446400,"a":0,"d":0,"c":0},{"w":1234051200,"a":0,"d":0,"c":0},{"w":1234656000,"a":0,"d":0,"c":0},{"w":1235260800,"a":0,"d":0,"c":0},{"w":1235865600,"a":0,"d":0,"c":0},{"w":1236470400,"a":0,"d":0,"c":0},{"w":1237075200,"a":0,"d":0,"c":0},{"w":1237680000,"a":0,"d":0,"c":0},{"w":1238284800,"a":0,"d":0,"c":0},{"w":1238889600,"a":0,"d":0,"c":0},{"w":1239494400,"a":0,"d":0,"c":0},{"w":1240099200,"a":0,"d":0,"c":0},{"w":1240704000,"a":0,"d":0,"c":0},{"w":1241308800,"a":0,"d":0,"c":0},{"w":1241913600,"a":0,"d":0,"c":0},{"w":1242518400,"a":0,"d":0,"c":0},{"w":1243123200,"a":0,"d":0,"c":0},{"w":1243728000,"a":0,"d":0,"c":0},{"w":1244332800,"a":0,"d":0,"c":0},{"w":1244937600,"a":0,"d":0,"c":0},{"w":1245542400,"a":0,"d":0,"c":0},{"w":1246147200,"a":0,"d":0,"c":0},{"w":1246752000,"a":0,"d":0,"c":0},{"w":1247356800,"a":0,"d":0,"c":0},{"w":1247961600,"a":0,"d":0,"c":0},{"w":1248566400,"a":0,"d":0,"c":0},{"w":1249171200,"a":0,"d":0,"c":0},{"w":1249776000,"a":0,"d":0,"c":0},{"w":1250380800,"a":0,"d":0,"c":0},{"w":1250985600,"a":0,"d":0,"c":0},{"w":1251590400,"a":0,"d":0,"c":0},{"w":1252195200,"a":0,"d":0,"c":0},{"w":1252800000,"a":0,"d":0,"c":0},{"w":1253404800,"a":0,"d":0,"c":0},{"w":1254009600,"a":0,"d":0,"c":0},{"w":1254614400,"a":0,"d":0,"c":0},{"w":1255219200,"a":0,"d":0,"c":0},{"w":1255824000,"a":0,"d":0,"c":0},{"w":1256428800,"a":0,"d":0,"c":0},{"w":1257033600,"a":0,"d":0,"c":0},{"w":1257638400,"a":0,"d":0,"c":0},{"w":1258243200,"a":0,"d":0,"c":0},{"w":1258848000,"a":0,"d":0,"c":0},{"w":1259452800,"a":0,"d":0,"c":0},{"w":1260057600,"a":0,"d":0,"c":0},{"w":1260662400,"a":0,"d":0,"c":0},{"w":1261267200,"a":0,"d":0,"c":0},{"w":1261872000,"a":0,"d":0,"c":0},{"w":1262476800,"a":0,"d":0,"c":0},{"w":1263081600,"a":0,"d":0,"c":0},{"w":1263686400,"a":0,"d":0,"c":0},{"w":1264291200,"a":0,"d":0,"c":0},{"w":1264896000,"a":0,"d":0,"c":0},{"w":1265500800,"a":0,"d":0,"c":0},{"w":1266105600,"a":0,"d":0,"c":0},{"w":1266710400,"a":0,"d":0,"c":0},{"w":1267315200,"a":0,"d":0,"c":0},{"w":1267920000,"a":0,"d":0,"c":0},{"w":1268524800,"a":0,"d":0,"c":0},{"w":1269129600,"a":0,"d":0,"c":0},{"w":1269734400,"a":0,"d":0,"c":0},{"w":1270339200,"a":0,"d":0,"c":0},{"w":1270944000,"a":0,"d":0,"c":0},{"w":1271548800,"a":0,"d":0,"c":0},{"w":1272153600,"a":0,"d":0,"c":0},{"w":1272758400,"a":0,"d":0,"c":0},{"w":1273363200,"a":0,"d":0,"c":0},{"w":1273968000,"a":0,"d":0,"c":0},{"w":1274572800,"a":0,"d":0,"c":0},{"w":1275177600,"a":0,"d":0,"c":0},{"w":1275782400,"a":0,"d":0,"c":0},{"w":1276387200,"a":0,"d":0,"c":0},{"w":1276992000,"a":0,"d":0,"c":0},{"w":1277596800,"a":0,"d":0,"c":0},{"w":1278201600,"a":0,"d":0,"c":0},{"w":1278806400,"a":0,"d":0,"c":0},{"w":1279411200,"a":0,"d":0,"c":0},{"w":1280016000,"a":0,"d":0,"c":0},{"w":1280620800,"a":0,"d":0,"c":0},{"w":1281225600,"a":0,"d":0,"c":0},{"w":1281830400,"a":0,"d":0,"c":0},{"w":1282435200,"a":0,"d":0,"c":0},{"w":1283040000,"a":0,"d":0,"c":0},{"w":1283644800,"a":0,"d":0,"c":0},{"w":1284249600,"a":0,"d":0,"c":0},{"w":1284854400,"a":0,"d":0,"c":0},{"w":1285459200,"a":0,"d":0,"c":0},{"w":1286064000,"a":0,"d":0,"c":0},{"w":1286668800,"a":0,"d":0,"c":0},{"w":1287273600,"a":0,"d":0,"c":0},{"w":1287878400,"a":0,"d":0,"c":0},{"w":1288483200,"a":0,"d":0,"c":0},{"w":1289088000,"a":0,"d":0,"c":0},{"w":1289692800,"a":0,"d":0,"c":0},{"w":1290297600,"a":0,"d":0,"c":0},{"w":1290902400,"a":0,"d":0,"c":0},{"w":1291507200,"a":0,"d":0,"c":0},{"w":1292112000,"a":0,"d":0,"c":0},{"w":1292716800,"a":0,"d":0,"c":0},{"w":1293321600,"a":0,"d":0,"c":0},{"w":1293926400,"a":0,"d":0,"c":0},{"w":1294531200,"a":0,"d":0,"c":0},{"w":1295136000,"a":0,"d":0,"c":0},{"w":1295740800,"a":0,"d":0,"c":0},{"w":1296345600,"a":0,"d":0,"c":0},{"w":1296950400,"a":0,"d":0,"c":0},{"w":1297555200,"a":0,"d":0,"c":0},{"w":1298160000,"a":0,"d":0,"c":0},{"w":1298764800,"a":0,"d":0,"c":0},{"w":1299369600,"a":0,"d":0,"c":0},{"w":1299974400,"a":0,"d":0,"c":0},{"w":1300579200,"a":0,"d":0,"c":0},{"w":1301184000,"a":0,"d":0,"c":0},{"w":1301788800,"a":0,"d":0,"c":0},{"w":1302393600,"a":0,"d":0,"c":0},{"w":1302998400,"a":0,"d":0,"c":0},{"w":1303603200,"a":0,"d":0,"c":0},{"w":1304208000,"a":0,"d":0,"c":0},{"w":1304812800,"a":0,"d":0,"c":0},{"w":1305417600,"a":0,"d":0,"c":0},{"w":1306022400,"a":0,"d":0,"c":0},{"w":1306627200,"a":0,"d":0,"c":0},{"w":1307232000,"a":0,"d":0,"c":0},{"w":1307836800,"a":0,"d":0,"c":0},{"w":1308441600,"a":0,"d":0,"c":0},{"w":1309046400,"a":0,"d":0,"c":0},{"w":1309651200,"a":0,"d":0,"c":0},{"w":1310256000,"a":0,"d":0,"c":0},{"w":1310860800,"a":0,"d":0,"c":0},{"w":1311465600,"a":0,"d":0,"c":0},{"w":1312070400,"a":0,"d":0,"c":0},{"w":1312675200,"a":0,"d":0,"c":0},{"w":1313280000,"a":0,"d":0,"c":0},{"w":1313884800,"a":0,"d":0,"c":0},{"w":1314489600,"a":0,"d":0,"c":0},{"w":1315094400,"a":0,"d":0,"c":0},{"w":1315699200,"a":0,"d":0,"c":0},{"w":1316304000,"a":0,"d":0,"c":0},{"w":1316908800,"a":0,"d":0,"c":0},{"w":1317513600,"a":0,"d":0,"c":0},{"w":1318118400,"a":0,"d":0,"c":0},{"w":1318723200,"a":0,"d":0,"c":0},{"w":1319328000,"a":0,"d":0,"c":0},{"w":1319932800,"a":0,"d":0,"c":0},{"w":1320537600,"a":0,"d":0,"c":0},{"w":1321142400,"a":0,"d":0,"c":0},{"w":1321747200,"a":0,"d":0,"c":0},{"w":1322352000,"a":0,"d":0,"c":0},{"w":1322956800,"a":0,"d":0,"c":0},{"w":1323561600,"a":0,"d":0,"c":0},{"w":1324166400,"a":0,"d":0,"c":0},{"w":1324771200,"a":0,"d":0,"c":0},{"w":1325376000,"a":0,"d":0,"c":0},{"w":1325980800,"a":0,"d":0,"c":0},{"w":1326585600,"a":0,"d":0,"c":0},{"w":1327190400,"a":0,"d":0,"c":0},{"w":1327795200,"a":0,"d":0,"c":0},{"w":1328400000,"a":0,"d":0,"c":0},{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":75,"d":21,"c":4},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":9,"d":13,"c":1},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":26,"d":3,"c":1},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0},{"w":1384646400,"a":0,"d":0,"c":0},{"w":1385251200,"a":0,"d":0,"c":0},{"w":1385856000,"a":0,"d":0,"c":0},{"w":1386460800,"a":0,"d":0,"c":0},{"w":1387065600,"a":0,"d":0,"c":0},{"w":1387670400,"a":0,"d":0,"c":0},{"w":1388275200,"a":0,"d":0,"c":0},{"w":1388880000,"a":0,"d":0,"c":0},{"w":1389484800,"a":0,"d":0,"c":0},{"w":1390089600,"a":0,"d":0,"c":0},{"w":1390694400,"a":0,"d":0,"c":0},{"w":1391299200,"a":0,"d":0,"c":0},{"w":1391904000,"a":0,"d":0,"c":0},{"w":1392508800,"a":0,"d":0,"c":0},{"w":1393113600,"a":0,"d":0,"c":0},{"w":1393718400,"a":0,"d":0,"c":0},{"w":1394323200,"a":0,"d":0,"c":0},{"w":1394928000,"a":0,"d":0,"c":0},{"w":1395532800,"a":0,"d":0,"c":0},{"w":1396137600,"a":0,"d":0,"c":0},{"w":1396742400,"a":0,"d":0,"c":0},{"w":1397347200,"a":0,"d":0,"c":0},{"w":1397952000,"a":0,"d":0,"c":0},{"w":1398556800,"a":0,"d":0,"c":0},{"w":1399161600,"a":0,"d":0,"c":0},{"w":1399766400,"a":0,"d":0,"c":0},{"w":1400371200,"a":0,"d":0,"c":0},{"w":1400976000,"a":0,"d":0,"c":0},{"w":1401580800,"a":0,"d":0,"c":0},{"w":1402185600,"a":0,"d":0,"c":0},{"w":1402790400,"a":0,"d":0,"c":0},{"w":1403395200,"a":0,"d":0,"c":0},{"w":1404000000,"a":0,"d":0,"c":0},{"w":1404604800,"a":0,"d":0,"c":0},{"w":1405209600,"a":0,"d":0,"c":0},{"w":1405814400,"a":0,"d":0,"c":0},{"w":1406419200,"a":0,"d":0,"c":0},{"w":1407024000,"a":0,"d":0,"c":0},{"w":1407628800,"a":0,"d":0,"c":0},{"w":1408233600,"a":0,"d":0,"c":0},{"w":1408838400,"a":0,"d":0,"c":0},{"w":1409443200,"a":0,"d":0,"c":0},{"w":1410048000,"a":0,"d":0,"c":0},{"w":1410652800,"a":0,"d":0,"c":0},{"w":1411257600,"a":0,"d":0,"c":0},{"w":1411862400,"a":0,"d":0,"c":0},{"w":1412467200,"a":0,"d":0,"c":0},{"w":1413072000,"a":0,"d":0,"c":0},{"w":1413676800,"a":0,"d":0,"c":0},{"w":1414281600,"a":0,"d":0,"c":0},{"w":1414886400,"a":0,"d":0,"c":0},{"w":1415491200,"a":0,"d":0,"c":0},{"w":1416096000,"a":0,"d":0,"c":0},{"w":1416700800,"a":0,"d":0,"c":0},{"w":1417305600,"a":0,"d":0,"c":0},{"w":1417910400,"a":0,"d":0,"c":0},{"w":1418515200,"a":0,"d":0,"c":0},{"w":1419120000,"a":0,"d":0,"c":0},{"w":1419724800,"a":0,"d":0,"c":0},{"w":1420329600,"a":0,"d":0,"c":0},{"w":1420934400,"a":0,"d":0,"c":0},{"w":1421539200,"a":0,"d":0,"c":0},{"w":1422144000,"a":0,"d":0,"c":0},{"w":1422748800,"a":0,"d":0,"c":0},{"w":1423353600,"a":0,"d":0,"c":0},{"w":1423958400,"a":0,"d":0,"c":0},{"w":1424563200,"a":0,"d":0,"c":0},{"w":1425168000,"a":0,"d":0,"c":0},{"w":1425772800,"a":0,"d":0,"c":0},{"w":1426377600,"a":0,"d":0,"c":0},{"w":1426982400,"a":0,"d":0,"c":0},{"w":1427587200,"a":0,"d":0,"c":0},{"w":1428192000,"a":0,"d":0,"c":0},{"w":1428796800,"a":0,"d":0,"c":0},{"w":1429401600,"a":0,"d":0,"c":0},{"w":1430006400,"a":0,"d":0,"c":0},{"w":1430611200,"a":0,"d":0,"c":0},{"w":1431216000,"a":0,"d":0,"c":0},{"w":1431820800,"a":0,"d":0,"c":0},{"w":1432425600,"a":0,"d":0,"c":0},{"w":1433030400,"a":0,"d":0,"c":0},{"w":1433635200,"a":0,"d":0,"c":0},{"w":1434240000,"a":0,"d":0,"c":0},{"w":1434844800,"a":0,"d":0,"c":0},{"w":1435449600,"a":0,"d":0,"c":0},{"w":1436054400,"a":0,"d":0,"c":0},{"w":1436659200,"a":0,"d":0,"c":0},{"w":1437264000,"a":0,"d":0,"c":0},{"w":1437868800,"a":0,"d":0,"c":0},{"w":1438473600,"a":0,"d":0,"c":0},{"w":1439078400,"a":0,"d":0,"c":0},{"w":1439683200,"a":0,"d":0,"c":0},{"w":1440288000,"a":0,"d":0,"c":0},{"w":1440892800,"a":0,"d":0,"c":0},{"w":1441497600,"a":0,"d":0,"c":0},{"w":1442102400,"a":0,"d":0,"c":0},{"w":1442707200,"a":0,"d":0,"c":0},{"w":1443312000,"a":0,"d":0,"c":0},{"w":1443916800,"a":0,"d":0,"c":0},{"w":1444521600,"a":0,"d":0,"c":0},{"w":1445126400,"a":0,"d":0,"c":0},{"w":1445731200,"a":0,"d":0,"c":0},{"w":1446336000,"a":0,"d":0,"c":0},{"w":1446940800,"a":0,"d":0,"c":0},{"w":1447545600,"a":0,"d":0,"c":0},{"w":1448150400,"a":0,"d":0,"c":0},{"w":1448755200,"a":0,"d":0,"c":0},{"w":1449360000,"a":0,"d":0,"c":0},{"w":1449964800,"a":0,"d":0,"c":0},{"w":1450569600,"a":0,"d":0,"c":0},{"w":1451174400,"a":0,"d":0,"c":0},{"w":1451779200,"a":0,"d":0,"c":0},{"w":1452384000,"a":0,"d":0,"c":0},{"w":1452988800,"a":0,"d":0,"c":0},{"w":1453593600,"a":0,"d":0,"c":0},{"w":1454198400,"a":0,"d":0,"c":0},{"w":1454803200,"a":0,"d":0,"c":0},{"w":1455408000,"a":0,"d":0,"c":0},{"w":1456012800,"a":0,"d":0,"c":0},{"w":1456617600,"a":0,"d":0,"c":0},{"w":1457222400,"a":0,"d":0,"c":0},{"w":1457827200,"a":0,"d":0,"c":0},{"w":1458432000,"a":0,"d":0,"c":0},{"w":1459036800,"a":0,"d":0,"c":0},{"w":1459641600,"a":0,"d":0,"c":0},{"w":1460246400,"a":0,"d":0,"c":0},{"w":1460851200,"a":0,"d":0,"c":0},{"w":1461456000,"a":0,"d":0,"c":0},{"w":1462060800,"a":0,"d":0,"c":0},{"w":1462665600,"a":0,"d":0,"c":0},{"w":1463270400,"a":0,"d":0,"c":0},{"w":1463875200,"a":0,"d":0,"c":0},{"w":1464480000,"a":0,"d":0,"c":0},{"w":1465084800,"a":0,"d":0,"c":0},{"w":1465689600,"a":0,"d":0,"c":0},{"w":1466294400,"a":0,"d":0,"c":0},{"w":1466899200,"a":0,"d":0,"c":0},{"w":1467504000,"a":0,"d":0,"c":0},{"w":1468108800,"a":0,"d":0,"c":0},{"w":1468713600,"a":0,"d":0,"c":0},{"w":1469318400,"a":0,"d":0,"c":0},{"w":1469923200,"a":0,"d":0,"c":0},{"w":1470528000,"a":0,"d":0,"c":0},{"w":1471132800,"a":0,"d":0,"c":0},{"w":1471737600,"a":0,"d":0,"c":0},{"w":1472342400,"a":0,"d":0,"c":0},{"w":1472947200,"a":0,"d":0,"c":0},{"w":1473552000,"a":0,"d":0,"c":0},{"w":1474156800,"a":0,"d":0,"c":0},{"w":1474761600,"a":0,"d":0,"c":0},{"w":1475366400,"a":0,"d":0,"c":0},{"w":1475971200,"a":0,"d":0,"c":0},{"w":1476576000,"a":0,"d":0,"c":0},{"w":1477180800,"a":0,"d":0,"c":0},{"w":1477785600,"a":0,"d":0,"c":0},{"w":1478390400,"a":0,"d":0,"c":0},{"w":1478995200,"a":0,"d":0,"c":0},{"w":1479600000,"a":0,"d":0,"c":0},{"w":1480204800,"a":0,"d":0,"c":0},{"w":1480809600,"a":0,"d":0,"c":0},{"w":1481414400,"a":0,"d":0,"c":0},{"w":1482019200,"a":0,"d":0,"c":0},{"w":1482624000,"a":0,"d":0,"c":0},{"w":1483228800,"a":0,"d":0,"c":0},{"w":1483833600,"a":0,"d":0,"c":0},{"w":1484438400,"a":0,"d":0,"c":0},{"w":1485043200,"a":0,"d":0,"c":0},{"w":1485648000,"a":0,"d":0,"c":0},{"w":1486252800,"a":0,"d":0,"c":0},{"w":1486857600,"a":0,"d":0,"c":0},{"w":1487462400,"a":0,"d":0,"c":0},{"w":1488067200,"a":0,"d":0,"c":0},{"w":1488672000,"a":0,"d":0,"c":0},{"w":1489276800,"a":0,"d":0,"c":0},{"w":1489881600,"a":0,"d":0,"c":0},{"w":1490486400,"a":0,"d":0,"c":0},{"w":1491091200,"a":0,"d":0,"c":0},{"w":1491696000,"a":0,"d":0,"c":0},{"w":1492300800,"a":0,"d":0,"c":0},{"w":1492905600,"a":0,"d":0,"c":0},{"w":1493510400,"a":0,"d":0,"c":0},{"w":1494115200,"a":0,"d":0,"c":0},{"w":1494720000,"a":0,"d":0,"c":0},{"w":1495324800,"a":0,"d":0,"c":0},{"w":1495929600,"a":0,"d":0,"c":0},{"w":1496534400,"a":0,"d":0,"c":0},{"w":1497139200,"a":0,"d":0,"c":0},{"w":1497744000,"a":0,"d":0,"c":0},{"w":1498348800,"a":0,"d":0,"c":0},{"w":1498953600,"a":0,"d":0,"c":0},{"w":1499558400,"a":0,"d":0,"c":0},{"w":1500163200,"a":0,"d":0,"c":0},{"w":1500768000,"a":0,"d":0,"c":0},{"w":1501372800,"a":0,"d":0,"c":0},{"w":1501977600,"a":0,"d":0,"c":0},{"w":1502582400,"a":0,"d":0,"c":0},{"w":1503187200,"a":0,"d":0,"c":0},{"w":1503792000,"a":0,"d":0,"c":0},{"w":1504396800,"a":0,"d":0,"c":0},{"w":1505001600,"a":0,"d":0,"c":0},{"w":1505606400,"a":0,"d":0,"c":0},{"w":1506211200,"a":0,"d":0,"c":0},{"w":1506816000,"a":0,"d":0,"c":0},{"w":1507420800,"a":0,"d":0,"c":0},{"w":1508025600,"a":0,"d":0,"c":0},{"w":1508630400,"a":0,"d":0,"c":0},{"w":1509235200,"a":0,"d":0,"c":0},{"w":1509840000,"a":0,"d":0,"c":0},{"w":1510444800,"a":0,"d":0,"c":0},{"w":1511049600,"a":0,"d":0,"c":0},{"w":1511654400,"a":0,"d":0,"c":0},{"w":1512259200,"a":0,"d":0,"c":0},{"w":1512864000,"a":0,"d":0,"c":0},{"w":1513468800,"a":0,"d":0,"c":0},{"w":1514073600,"a":0,"d":0,"c":0},{"w":1514678400,"a":0,"d":0,"c":0},{"w":1515283200,"a":0,"d":0,"c":0},{"w":1515888000,"a":0,"d":0,"c":0},{"w":1516492800,"a":0,"d":0,"c":0},{"w":1517097600,"a":0,"d":0,"c":0},{"w":1517702400,"a":0,"d":0,"c":0},{"w":1518307200,"a":0,"d":0,"c":0},{"w":1518912000,"a":0,"d":0,"c":0},{"w":1519516800,"a":0,"d":0,"c":0},{"w":1520121600,"a":0,"d":0,"c":0},{"w":1520726400,"a":0,"d":0,"c":0},{"w":1521331200,"a":0,"d":0,"c":0},{"w":1521936000,"a":0,"d":0,"c":0},{"w":1522540800,"a":0,"d":0,"c":0},{"w":1523145600,"a":0,"d":0,"c":0},{"w":1523750400,"a":0,"d":0,"c":0},{"w":1524355200,"a":0,"d":0,"c":0},{"w":1524960000,"a":0,"d":0,"c":0},{"w":1525564800,"a":0,"d":0,"c":0},{"w":1526169600,"a":0,"d":0,"c":0},{"w":1526774400,"a":0,"d":0,"c":0},{"w":1527379200,"a":0,"d":0,"c":0},{"w":1527984000,"a":0,"d":0,"c":0},{"w":1528588800,"a":0,"d":0,"c":0},{"w":1529193600,"a":0,"d":0,"c":0},{"w":1529798400,"a":0,"d":0,"c":0},{"w":1530403200,"a":0,"d":0,"c":0},{"w":1531008000,"a":0,"d":0,"c":0},{"w":1531612800,"a":0,"d":0,"c":0},{"w":1532217600,"a":0,"d":0,"c":0},{"w":1532822400,"a":0,"d":0,"c":0},{"w":1533427200,"a":0,"d":0,"c":0},{"w":1534032000,"a":0,"d":0,"c":0},{"w":1534636800,"a":0,"d":0,"c":0},{"w":1535241600,"a":0,"d":0,"c":0},{"w":1535846400,"a":0,"d":0,"c":0},{"w":1536451200,"a":0,"d":0,"c":0},{"w":1537056000,"a":0,"d":0,"c":0},{"w":1537660800,"a":0,"d":0,"c":0},{"w":1538265600,"a":0,"d":0,"c":0},{"w":1538870400,"a":0,"d":0,"c":0},{"w":1539475200,"a":0,"d":0,"c":0},{"w":1540080000,"a":0,"d":0,"c":0},{"w":1540684800,"a":0,"d":0,"c":0},{"w":1541289600,"a":0,"d":0,"c":0},{"w":1541894400,"a":0,"d":0,"c":0},{"w":1542499200,"a":0,"d":0,"c":0},{"w":1543104000,"a":0,"d":0,"c":0},{"w":1543708800,"a":0,"d":0,"c":0},{"w":1544313600,"a":0,"d":0,"c":0},{"w":1544918400,"a":0,"d":0,"c":0},{"w":1545523200,"a":0,"d":0,"c":0},{"w":1546128000,"a":0,"d":0,"c":0},{"w":1546732800,"a":0,"d":0,"c":0},{"w":1547337600,"a":0,"d":0,"c":0},{"w":1547942400,"a":0,"d":0,"c":0},{"w":1548547200,"a":0,"d":0,"c":0},{"w":1549152000,"a":0,"d":0,"c":0},{"w":1549756800,"a":0,"d":0,"c":0},{"w":1550361600,"a":0,"d":0,"c":0},{"w":1550966400,"a":0,"d":0,"c":0},{"w":1551571200,"a":0,"d":0,"c":0},{"w":1552176000,"a":0,"d":0,"c":0},{"w":1552780800,"a":0,"d":0,"c":0},{"w":1553385600,"a":0,"d":0,"c":0},{"w":1553990400,"a":0,"d":0,"c":0},{"w":1554595200,"a":0,"d":0,"c":0},{"w":1555200000,"a":0,"d":0,"c":0},{"w":1555804800,"a":0,"d":0,"c":0},{"w":1556409600,"a":0,"d":0,"c":0},{"w":1557014400,"a":0,"d":0,"c":0},{"w":1557619200,"a":0,"d":0,"c":0},{"w":1558224000,"a":0,"d":0,"c":0},{"w":1558828800,"a":0,"d":0,"c":0},{"w":1559433600,"a":0,"d":0,"c":0},{"w":1560038400,"a":0,"d":0,"c":0},{"w":1560643200,"a":0,"d":0,"c":0},{"w":1561248000,"a":0,"d":0,"c":0},{"w":1561852800,"a":0,"d":0,"c":0},{"w":1562457600,"a":0,"d":0,"c":0}],"author":{"login":"Dresdof","id":1213151,"node_id":"MDQ6VXNlcjEyMTMxNTE=","avatar_url":"https://avatars1.githubusercontent.com/u/1213151?v=4","gravatar_id":"","url":"https://api.github.com/users/Dresdof","html_url":"https://github.com/Dresdof","followers_url":"https://api.github.com/users/Dresdof/followers","following_url":"https://api.github.com/users/Dresdof/following{/other_user}","gists_url":"https://api.github.com/users/Dresdof/gists{/gist_id}","starred_url":"https://api.github.com/users/Dresdof/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Dresdof/subscriptions","organizations_url":"https://api.github.com/users/Dresdof/orgs","repos_url":"https://api.github.com/users/Dresdof/repos","events_url":"https://api.github.com/users/Dresdof/events{/privacy}","received_events_url":"https://api.github.com/users/Dresdof/received_events","type":"User","site_admin":false}},{"total":6,"weeks":[{"w":1215302400,"a":0,"d":0,"c":0},{"w":1215907200,"a":0,"d":0,"c":0},{"w":1216512000,"a":0,"d":0,"c":0},{"w":1217116800,"a":0,"d":0,"c":0},{"w":1217721600,"a":0,"d":0,"c":0},{"w":1218326400,"a":0,"d":0,"c":0},{"w":1218931200,"a":0,"d":0,"c":0},{"w":1219536000,"a":0,"d":0,"c":0},{"w":1220140800,"a":0,"d":0,"c":0},{"w":1220745600,"a":0,"d":0,"c":0},{"w":1221350400,"a":0,"d":0,"c":0},{"w":1221955200,"a":0,"d":0,"c":0},{"w":1222560000,"a":0,"d":0,"c":0},{"w":1223164800,"a":0,"d":0,"c":0},{"w":1223769600,"a":0,"d":0,"c":0},{"w":1224374400,"a":0,"d":0,"c":0},{"w":1224979200,"a":0,"d":0,"c":0},{"w":1225584000,"a":0,"d":0,"c":0},{"w":1226188800,"a":0,"d":0,"c":0},{"w":1226793600,"a":0,"d":0,"c":0},{"w":1227398400,"a":0,"d":0,"c":0},{"w":1228003200,"a":0,"d":0,"c":0},{"w":1228608000,"a":0,"d":0,"c":0},{"w":1229212800,"a":0,"d":0,"c":0},{"w":1229817600,"a":0,"d":0,"c":0},{"w":1230422400,"a":0,"d":0,"c":0},{"w":1231027200,"a":0,"d":0,"c":0},{"w":1231632000,"a":0,"d":0,"c":0},{"w":1232236800,"a":0,"d":0,"c":0},{"w":1232841600,"a":0,"d":0,"c":0},{"w":1233446400,"a":0,"d":0,"c":0},{"w":1234051200,"a":0,"d":0,"c":0},{"w":1234656000,"a":0,"d":0,"c":0},{"w":1235260800,"a":0,"d":0,"c":0},{"w":1235865600,"a":0,"d":0,"c":0},{"w":1236470400,"a":0,"d":0,"c":0},{"w":1237075200,"a":0,"d":0,"c":0},{"w":1237680000,"a":0,"d":0,"c":0},{"w":1238284800,"a":0,"d":0,"c":0},{"w":1238889600,"a":0,"d":0,"c":0},{"w":1239494400,"a":0,"d":0,"c":0},{"w":1240099200,"a":0,"d":0,"c":0},{"w":1240704000,"a":0,"d":0,"c":0},{"w":1241308800,"a":0,"d":0,"c":0},{"w":1241913600,"a":0,"d":0,"c":0},{"w":1242518400,"a":0,"d":0,"c":0},{"w":1243123200,"a":0,"d":0,"c":0},{"w":1243728000,"a":0,"d":0,"c":0},{"w":1244332800,"a":0,"d":0,"c":0},{"w":1244937600,"a":0,"d":0,"c":0},{"w":1245542400,"a":0,"d":0,"c":0},{"w":1246147200,"a":0,"d":0,"c":0},{"w":1246752000,"a":0,"d":0,"c":0},{"w":1247356800,"a":0,"d":0,"c":0},{"w":1247961600,"a":0,"d":0,"c":0},{"w":1248566400,"a":0,"d":0,"c":0},{"w":1249171200,"a":0,"d":0,"c":0},{"w":1249776000,"a":0,"d":0,"c":0},{"w":1250380800,"a":0,"d":0,"c":0},{"w":1250985600,"a":0,"d":0,"c":0},{"w":1251590400,"a":0,"d":0,"c":0},{"w":1252195200,"a":0,"d":0,"c":0},{"w":1252800000,"a":0,"d":0,"c":0},{"w":1253404800,"a":0,"d":0,"c":0},{"w":1254009600,"a":0,"d":0,"c":0},{"w":1254614400,"a":0,"d":0,"c":0},{"w":1255219200,"a":0,"d":0,"c":0},{"w":1255824000,"a":0,"d":0,"c":0},{"w":1256428800,"a":0,"d":0,"c":0},{"w":1257033600,"a":0,"d":0,"c":0},{"w":1257638400,"a":0,"d":0,"c":0},{"w":1258243200,"a":0,"d":0,"c":0},{"w":1258848000,"a":0,"d":0,"c":0},{"w":1259452800,"a":0,"d":0,"c":0},{"w":1260057600,"a":0,"d":0,"c":0},{"w":1260662400,"a":0,"d":0,"c":0},{"w":1261267200,"a":0,"d":0,"c":0},{"w":1261872000,"a":0,"d":0,"c":0},{"w":1262476800,"a":0,"d":0,"c":0},{"w":1263081600,"a":0,"d":0,"c":0},{"w":1263686400,"a":0,"d":0,"c":0},{"w":1264291200,"a":0,"d":0,"c":0},{"w":1264896000,"a":0,"d":0,"c":0},{"w":1265500800,"a":0,"d":0,"c":0},{"w":1266105600,"a":0,"d":0,"c":0},{"w":1266710400,"a":0,"d":0,"c":0},{"w":1267315200,"a":0,"d":0,"c":0},{"w":1267920000,"a":0,"d":0,"c":0},{"w":1268524800,"a":0,"d":0,"c":0},{"w":1269129600,"a":0,"d":0,"c":0},{"w":1269734400,"a":0,"d":0,"c":0},{"w":1270339200,"a":0,"d":0,"c":0},{"w":1270944000,"a":0,"d":0,"c":0},{"w":1271548800,"a":0,"d":0,"c":0},{"w":1272153600,"a":0,"d":0,"c":0},{"w":1272758400,"a":0,"d":0,"c":0},{"w":1273363200,"a":0,"d":0,"c":0},{"w":1273968000,"a":0,"d":0,"c":0},{"w":1274572800,"a":0,"d":0,"c":0},{"w":1275177600,"a":0,"d":0,"c":0},{"w":1275782400,"a":0,"d":0,"c":0},{"w":1276387200,"a":0,"d":0,"c":0},{"w":1276992000,"a":0,"d":0,"c":0},{"w":1277596800,"a":0,"d":0,"c":0},{"w":1278201600,"a":0,"d":0,"c":0},{"w":1278806400,"a":0,"d":0,"c":0},{"w":1279411200,"a":0,"d":0,"c":0},{"w":1280016000,"a":0,"d":0,"c":0},{"w":1280620800,"a":0,"d":0,"c":0},{"w":1281225600,"a":0,"d":0,"c":0},{"w":1281830400,"a":0,"d":0,"c":0},{"w":1282435200,"a":0,"d":0,"c":0},{"w":1283040000,"a":0,"d":0,"c":0},{"w":1283644800,"a":0,"d":0,"c":0},{"w":1284249600,"a":0,"d":0,"c":0},{"w":1284854400,"a":0,"d":0,"c":0},{"w":1285459200,"a":0,"d":0,"c":0},{"w":1286064000,"a":0,"d":0,"c":0},{"w":1286668800,"a":0,"d":0,"c":0},{"w":1287273600,"a":0,"d":0,"c":0},{"w":1287878400,"a":0,"d":0,"c":0},{"w":1288483200,"a":0,"d":0,"c":0},{"w":1289088000,"a":0,"d":0,"c":0},{"w":1289692800,"a":0,"d":0,"c":0},{"w":1290297600,"a":0,"d":0,"c":0},{"w":1290902400,"a":0,"d":0,"c":0},{"w":1291507200,"a":0,"d":0,"c":0},{"w":1292112000,"a":0,"d":0,"c":0},{"w":1292716800,"a":0,"d":0,"c":0},{"w":1293321600,"a":0,"d":0,"c":0},{"w":1293926400,"a":0,"d":0,"c":0},{"w":1294531200,"a":0,"d":0,"c":0},{"w":1295136000,"a":0,"d":0,"c":0},{"w":1295740800,"a":0,"d":0,"c":0},{"w":1296345600,"a":0,"d":0,"c":0},{"w":1296950400,"a":0,"d":0,"c":0},{"w":1297555200,"a":0,"d":0,"c":0},{"w":1298160000,"a":0,"d":0,"c":0},{"w":1298764800,"a":0,"d":0,"c":0},{"w":1299369600,"a":0,"d":0,"c":0},{"w":1299974400,"a":0,"d":0,"c":0},{"w":1300579200,"a":0,"d":0,"c":0},{"w":1301184000,"a":0,"d":0,"c":0},{"w":1301788800,"a":0,"d":0,"c":0},{"w":1302393600,"a":0,"d":0,"c":0},{"w":1302998400,"a":0,"d":0,"c":0},{"w":1303603200,"a":0,"d":0,"c":0},{"w":1304208000,"a":0,"d":0,"c":0},{"w":1304812800,"a":0,"d":0,"c":0},{"w":1305417600,"a":0,"d":0,"c":0},{"w":1306022400,"a":0,"d":0,"c":0},{"w":1306627200,"a":0,"d":0,"c":0},{"w":1307232000,"a":0,"d":0,"c":0},{"w":1307836800,"a":0,"d":0,"c":0},{"w":1308441600,"a":0,"d":0,"c":0},{"w":1309046400,"a":0,"d":0,"c":0},{"w":1309651200,"a":0,"d":0,"c":0},{"w":1310256000,"a":0,"d":0,"c":0},{"w":1310860800,"a":0,"d":0,"c":0},{"w":1311465600,"a":0,"d":0,"c":0},{"w":1312070400,"a":0,"d":0,"c":0},{"w":1312675200,"a":0,"d":0,"c":0},{"w":1313280000,"a":0,"d":0,"c":0},{"w":1313884800,"a":0,"d":0,"c":0},{"w":1314489600,"a":0,"d":0,"c":0},{"w":1315094400,"a":0,"d":0,"c":0},{"w":1315699200,"a":0,"d":0,"c":0},{"w":1316304000,"a":0,"d":0,"c":0},{"w":1316908800,"a":0,"d":0,"c":0},{"w":1317513600,"a":0,"d":0,"c":0},{"w":1318118400,"a":0,"d":0,"c":0},{"w":1318723200,"a":0,"d":0,"c":0},{"w":1319328000,"a":0,"d":0,"c":0},{"w":1319932800,"a":0,"d":0,"c":0},{"w":1320537600,"a":0,"d":0,"c":0},{"w":1321142400,"a":0,"d":0,"c":0},{"w":1321747200,"a":0,"d":0,"c":0},{"w":1322352000,"a":0,"d":0,"c":0},{"w":1322956800,"a":0,"d":0,"c":0},{"w":1323561600,"a":0,"d":0,"c":0},{"w":1324166400,"a":0,"d":0,"c":0},{"w":1324771200,"a":0,"d":0,"c":0},{"w":1325376000,"a":0,"d":0,"c":0},{"w":1325980800,"a":0,"d":0,"c":0},{"w":1326585600,"a":0,"d":0,"c":0},{"w":1327190400,"a":0,"d":0,"c":0},{"w":1327795200,"a":0,"d":0,"c":0},{"w":1328400000,"a":0,"d":0,"c":0},{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0},{"w":1384646400,"a":0,"d":0,"c":0},{"w":1385251200,"a":0,"d":0,"c":0},{"w":1385856000,"a":0,"d":0,"c":0},{"w":1386460800,"a":0,"d":0,"c":0},{"w":1387065600,"a":0,"d":0,"c":0},{"w":1387670400,"a":0,"d":0,"c":0},{"w":1388275200,"a":0,"d":0,"c":0},{"w":1388880000,"a":0,"d":0,"c":0},{"w":1389484800,"a":0,"d":0,"c":0},{"w":1390089600,"a":0,"d":0,"c":0},{"w":1390694400,"a":0,"d":0,"c":0},{"w":1391299200,"a":0,"d":0,"c":0},{"w":1391904000,"a":0,"d":0,"c":0},{"w":1392508800,"a":0,"d":0,"c":0},{"w":1393113600,"a":0,"d":0,"c":0},{"w":1393718400,"a":0,"d":0,"c":0},{"w":1394323200,"a":0,"d":0,"c":0},{"w":1394928000,"a":0,"d":0,"c":0},{"w":1395532800,"a":0,"d":0,"c":0},{"w":1396137600,"a":0,"d":0,"c":0},{"w":1396742400,"a":0,"d":0,"c":0},{"w":1397347200,"a":0,"d":0,"c":0},{"w":1397952000,"a":0,"d":0,"c":0},{"w":1398556800,"a":0,"d":0,"c":0},{"w":1399161600,"a":0,"d":0,"c":0},{"w":1399766400,"a":0,"d":0,"c":0},{"w":1400371200,"a":0,"d":0,"c":0},{"w":1400976000,"a":0,"d":0,"c":0},{"w":1401580800,"a":0,"d":0,"c":0},{"w":1402185600,"a":0,"d":0,"c":0},{"w":1402790400,"a":0,"d":0,"c":0},{"w":1403395200,"a":0,"d":0,"c":0},{"w":1404000000,"a":0,"d":0,"c":0},{"w":1404604800,"a":0,"d":0,"c":0},{"w":1405209600,"a":0,"d":0,"c":0},{"w":1405814400,"a":0,"d":0,"c":0},{"w":1406419200,"a":0,"d":0,"c":0},{"w":1407024000,"a":0,"d":0,"c":0},{"w":1407628800,"a":0,"d":0,"c":0},{"w":1408233600,"a":0,"d":0,"c":0},{"w":1408838400,"a":0,"d":0,"c":0},{"w":1409443200,"a":0,"d":0,"c":0},{"w":1410048000,"a":0,"d":0,"c":0},{"w":1410652800,"a":0,"d":0,"c":0},{"w":1411257600,"a":0,"d":0,"c":0},{"w":1411862400,"a":0,"d":0,"c":0},{"w":1412467200,"a":0,"d":0,"c":0},{"w":1413072000,"a":0,"d":0,"c":0},{"w":1413676800,"a":0,"d":0,"c":0},{"w":1414281600,"a":0,"d":0,"c":0},{"w":1414886400,"a":0,"d":0,"c":0},{"w":1415491200,"a":0,"d":0,"c":0},{"w":1416096000,"a":0,"d":0,"c":0},{"w":1416700800,"a":0,"d":0,"c":0},{"w":1417305600,"a":0,"d":0,"c":0},{"w":1417910400,"a":0,"d":0,"c":0},{"w":1418515200,"a":0,"d":0,"c":0},{"w":1419120000,"a":0,"d":0,"c":0},{"w":1419724800,"a":0,"d":0,"c":0},{"w":1420329600,"a":0,"d":0,"c":0},{"w":1420934400,"a":0,"d":0,"c":0},{"w":1421539200,"a":0,"d":0,"c":0},{"w":1422144000,"a":0,"d":0,"c":0},{"w":1422748800,"a":0,"d":0,"c":0},{"w":1423353600,"a":0,"d":0,"c":0},{"w":1423958400,"a":0,"d":0,"c":0},{"w":1424563200,"a":0,"d":0,"c":0},{"w":1425168000,"a":0,"d":0,"c":0},{"w":1425772800,"a":0,"d":0,"c":0},{"w":1426377600,"a":0,"d":0,"c":0},{"w":1426982400,"a":0,"d":0,"c":0},{"w":1427587200,"a":0,"d":0,"c":0},{"w":1428192000,"a":0,"d":0,"c":0},{"w":1428796800,"a":0,"d":0,"c":0},{"w":1429401600,"a":0,"d":0,"c":0},{"w":1430006400,"a":0,"d":0,"c":0},{"w":1430611200,"a":0,"d":0,"c":0},{"w":1431216000,"a":0,"d":0,"c":0},{"w":1431820800,"a":0,"d":0,"c":0},{"w":1432425600,"a":0,"d":0,"c":0},{"w":1433030400,"a":0,"d":0,"c":0},{"w":1433635200,"a":0,"d":0,"c":0},{"w":1434240000,"a":0,"d":0,"c":0},{"w":1434844800,"a":0,"d":0,"c":0},{"w":1435449600,"a":0,"d":0,"c":0},{"w":1436054400,"a":0,"d":0,"c":0},{"w":1436659200,"a":0,"d":0,"c":0},{"w":1437264000,"a":0,"d":0,"c":0},{"w":1437868800,"a":0,"d":0,"c":0},{"w":1438473600,"a":0,"d":0,"c":0},{"w":1439078400,"a":0,"d":0,"c":0},{"w":1439683200,"a":0,"d":0,"c":0},{"w":1440288000,"a":0,"d":0,"c":0},{"w":1440892800,"a":0,"d":0,"c":0},{"w":1441497600,"a":0,"d":0,"c":0},{"w":1442102400,"a":0,"d":0,"c":0},{"w":1442707200,"a":0,"d":0,"c":0},{"w":1443312000,"a":0,"d":0,"c":0},{"w":1443916800,"a":0,"d":0,"c":0},{"w":1444521600,"a":0,"d":0,"c":0},{"w":1445126400,"a":0,"d":0,"c":0},{"w":1445731200,"a":0,"d":0,"c":0},{"w":1446336000,"a":0,"d":0,"c":0},{"w":1446940800,"a":0,"d":0,"c":0},{"w":1447545600,"a":0,"d":0,"c":0},{"w":1448150400,"a":0,"d":0,"c":0},{"w":1448755200,"a":0,"d":0,"c":0},{"w":1449360000,"a":0,"d":0,"c":0},{"w":1449964800,"a":0,"d":0,"c":0},{"w":1450569600,"a":0,"d":0,"c":0},{"w":1451174400,"a":0,"d":0,"c":0},{"w":1451779200,"a":0,"d":0,"c":0},{"w":1452384000,"a":0,"d":0,"c":0},{"w":1452988800,"a":0,"d":0,"c":0},{"w":1453593600,"a":0,"d":0,"c":0},{"w":1454198400,"a":0,"d":0,"c":0},{"w":1454803200,"a":0,"d":0,"c":0},{"w":1455408000,"a":0,"d":0,"c":0},{"w":1456012800,"a":0,"d":0,"c":0},{"w":1456617600,"a":0,"d":0,"c":0},{"w":1457222400,"a":0,"d":0,"c":0},{"w":1457827200,"a":0,"d":0,"c":0},{"w":1458432000,"a":0,"d":0,"c":0},{"w":1459036800,"a":0,"d":0,"c":0},{"w":1459641600,"a":0,"d":0,"c":0},{"w":1460246400,"a":0,"d":0,"c":0},{"w":1460851200,"a":0,"d":0,"c":0},{"w":1461456000,"a":0,"d":0,"c":0},{"w":1462060800,"a":0,"d":0,"c":0},{"w":1462665600,"a":0,"d":0,"c":0},{"w":1463270400,"a":0,"d":0,"c":0},{"w":1463875200,"a":0,"d":0,"c":0},{"w":1464480000,"a":0,"d":0,"c":0},{"w":1465084800,"a":0,"d":0,"c":0},{"w":1465689600,"a":0,"d":0,"c":0},{"w":1466294400,"a":0,"d":0,"c":0},{"w":1466899200,"a":0,"d":0,"c":0},{"w":1467504000,"a":0,"d":0,"c":0},{"w":1468108800,"a":0,"d":0,"c":0},{"w":1468713600,"a":0,"d":0,"c":0},{"w":1469318400,"a":0,"d":0,"c":0},{"w":1469923200,"a":0,"d":0,"c":0},{"w":1470528000,"a":0,"d":0,"c":0},{"w":1471132800,"a":0,"d":0,"c":0},{"w":1471737600,"a":0,"d":0,"c":0},{"w":1472342400,"a":0,"d":0,"c":0},{"w":1472947200,"a":0,"d":0,"c":0},{"w":1473552000,"a":0,"d":0,"c":0},{"w":1474156800,"a":0,"d":0,"c":0},{"w":1474761600,"a":0,"d":0,"c":0},{"w":1475366400,"a":0,"d":0,"c":0},{"w":1475971200,"a":0,"d":0,"c":0},{"w":1476576000,"a":0,"d":0,"c":0},{"w":1477180800,"a":0,"d":0,"c":0},{"w":1477785600,"a":0,"d":0,"c":0},{"w":1478390400,"a":0,"d":0,"c":0},{"w":1478995200,"a":0,"d":0,"c":0},{"w":1479600000,"a":0,"d":0,"c":0},{"w":1480204800,"a":0,"d":0,"c":0},{"w":1480809600,"a":0,"d":0,"c":0},{"w":1481414400,"a":0,"d":0,"c":0},{"w":1482019200,"a":0,"d":0,"c":0},{"w":1482624000,"a":0,"d":0,"c":0},{"w":1483228800,"a":0,"d":0,"c":0},{"w":1483833600,"a":0,"d":0,"c":0},{"w":1484438400,"a":0,"d":0,"c":0},{"w":1485043200,"a":0,"d":0,"c":0},{"w":1485648000,"a":0,"d":0,"c":0},{"w":1486252800,"a":0,"d":0,"c":0},{"w":1486857600,"a":0,"d":0,"c":0},{"w":1487462400,"a":0,"d":0,"c":0},{"w":1488067200,"a":0,"d":0,"c":0},{"w":1488672000,"a":0,"d":0,"c":0},{"w":1489276800,"a":0,"d":0,"c":0},{"w":1489881600,"a":0,"d":0,"c":0},{"w":1490486400,"a":0,"d":0,"c":0},{"w":1491091200,"a":0,"d":0,"c":0},{"w":1491696000,"a":0,"d":0,"c":0},{"w":1492300800,"a":0,"d":0,"c":0},{"w":1492905600,"a":0,"d":0,"c":0},{"w":1493510400,"a":0,"d":0,"c":0},{"w":1494115200,"a":0,"d":0,"c":0},{"w":1494720000,"a":0,"d":0,"c":0},{"w":1495324800,"a":884,"d":0,"c":1},{"w":1495929600,"a":0,"d":0,"c":0},{"w":1496534400,"a":0,"d":0,"c":0},{"w":1497139200,"a":0,"d":0,"c":0},{"w":1497744000,"a":412,"d":95,"c":1},{"w":1498348800,"a":0,"d":0,"c":0},{"w":1498953600,"a":0,"d":0,"c":0},{"w":1499558400,"a":0,"d":0,"c":0},{"w":1500163200,"a":0,"d":0,"c":0},{"w":1500768000,"a":0,"d":0,"c":0},{"w":1501372800,"a":0,"d":0,"c":0},{"w":1501977600,"a":0,"d":0,"c":0},{"w":1502582400,"a":0,"d":0,"c":0},{"w":1503187200,"a":0,"d":0,"c":0},{"w":1503792000,"a":0,"d":0,"c":0},{"w":1504396800,"a":0,"d":0,"c":0},{"w":1505001600,"a":0,"d":0,"c":0},{"w":1505606400,"a":0,"d":0,"c":0},{"w":1506211200,"a":0,"d":0,"c":0},{"w":1506816000,"a":0,"d":0,"c":0},{"w":1507420800,"a":0,"d":0,"c":0},{"w":1508025600,"a":0,"d":0,"c":0},{"w":1508630400,"a":0,"d":0,"c":0},{"w":1509235200,"a":0,"d":0,"c":0},{"w":1509840000,"a":0,"d":0,"c":0},{"w":1510444800,"a":0,"d":0,"c":0},{"w":1511049600,"a":0,"d":0,"c":0},{"w":1511654400,"a":0,"d":0,"c":0},{"w":1512259200,"a":0,"d":0,"c":0},{"w":1512864000,"a":0,"d":0,"c":0},{"w":1513468800,"a":0,"d":0,"c":0},{"w":1514073600,"a":0,"d":0,"c":0},{"w":1514678400,"a":0,"d":0,"c":0},{"w":1515283200,"a":0,"d":0,"c":0},{"w":1515888000,"a":0,"d":0,"c":0},{"w":1516492800,"a":0,"d":0,"c":0},{"w":1517097600,"a":0,"d":0,"c":0},{"w":1517702400,"a":0,"d":0,"c":0},{"w":1518307200,"a":0,"d":0,"c":0},{"w":1518912000,"a":0,"d":0,"c":0},{"w":1519516800,"a":0,"d":0,"c":0},{"w":1520121600,"a":0,"d":0,"c":0},{"w":1520726400,"a":0,"d":0,"c":0},{"w":1521331200,"a":0,"d":0,"c":0},{"w":1521936000,"a":0,"d":0,"c":0},{"w":1522540800,"a":0,"d":0,"c":0},{"w":1523145600,"a":0,"d":0,"c":0},{"w":1523750400,"a":0,"d":0,"c":0},{"w":1524355200,"a":0,"d":0,"c":0},{"w":1524960000,"a":0,"d":0,"c":0},{"w":1525564800,"a":0,"d":0,"c":0},{"w":1526169600,"a":0,"d":0,"c":0},{"w":1526774400,"a":0,"d":0,"c":0},{"w":1527379200,"a":0,"d":0,"c":0},{"w":1527984000,"a":0,"d":0,"c":0},{"w":1528588800,"a":0,"d":0,"c":0},{"w":1529193600,"a":0,"d":0,"c":0},{"w":1529798400,"a":0,"d":0,"c":0},{"w":1530403200,"a":0,"d":0,"c":0},{"w":1531008000,"a":0,"d":0,"c":0},{"w":1531612800,"a":0,"d":0,"c":0},{"w":1532217600,"a":0,"d":0,"c":0},{"w":1532822400,"a":0,"d":0,"c":0},{"w":1533427200,"a":0,"d":0,"c":0},{"w":1534032000,"a":0,"d":0,"c":0},{"w":1534636800,"a":0,"d":0,"c":0},{"w":1535241600,"a":0,"d":0,"c":0},{"w":1535846400,"a":0,"d":0,"c":0},{"w":1536451200,"a":0,"d":0,"c":0},{"w":1537056000,"a":0,"d":0,"c":0},{"w":1537660800,"a":0,"d":0,"c":0},{"w":1538265600,"a":0,"d":0,"c":0},{"w":1538870400,"a":0,"d":0,"c":0},{"w":1539475200,"a":0,"d":0,"c":0},{"w":1540080000,"a":0,"d":0,"c":0},{"w":1540684800,"a":0,"d":0,"c":0},{"w":1541289600,"a":0,"d":0,"c":0},{"w":1541894400,"a":0,"d":0,"c":0},{"w":1542499200,"a":0,"d":0,"c":0},{"w":1543104000,"a":0,"d":0,"c":0},{"w":1543708800,"a":0,"d":0,"c":0},{"w":1544313600,"a":0,"d":0,"c":0},{"w":1544918400,"a":0,"d":0,"c":0},{"w":1545523200,"a":0,"d":0,"c":0},{"w":1546128000,"a":0,"d":0,"c":0},{"w":1546732800,"a":0,"d":0,"c":0},{"w":1547337600,"a":0,"d":0,"c":0},{"w":1547942400,"a":0,"d":0,"c":0},{"w":1548547200,"a":0,"d":0,"c":0},{"w":1549152000,"a":0,"d":0,"c":0},{"w":1549756800,"a":0,"d":0,"c":0},{"w":1550361600,"a":0,"d":0,"c":0},{"w":1550966400,"a":77,"d":103,"c":1},{"w":1551571200,"a":0,"d":0,"c":0},{"w":1552176000,"a":0,"d":0,"c":0},{"w":1552780800,"a":0,"d":0,"c":0},{"w":1553385600,"a":0,"d":0,"c":0},{"w":1553990400,"a":0,"d":0,"c":0},{"w":1554595200,"a":126,"d":0,"c":1},{"w":1555200000,"a":0,"d":0,"c":0},{"w":1555804800,"a":0,"d":0,"c":0},{"w":1556409600,"a":0,"d":0,"c":0},{"w":1557014400,"a":0,"d":0,"c":0},{"w":1557619200,"a":0,"d":0,"c":0},{"w":1558224000,"a":0,"d":0,"c":0},{"w":1558828800,"a":14,"d":0,"c":2},{"w":1559433600,"a":0,"d":0,"c":0},{"w":1560038400,"a":0,"d":0,"c":0},{"w":1560643200,"a":0,"d":0,"c":0},{"w":1561248000,"a":0,"d":0,"c":0},{"w":1561852800,"a":0,"d":0,"c":0},{"w":1562457600,"a":0,"d":0,"c":0}],"author":{"login":"Delja","id":26239416,"node_id":"MDQ6VXNlcjI2MjM5NDE2","avatar_url":"https://avatars1.githubusercontent.com/u/26239416?v=4","gravatar_id":"","url":"https://api.github.com/users/Delja","html_url":"https://github.com/Delja","followers_url":"https://api.github.com/users/Delja/followers","following_url":"https://api.github.com/users/Delja/following{/other_user}","gists_url":"https://api.github.com/users/Delja/gists{/gist_id}","starred_url":"https://api.github.com/users/Delja/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Delja/subscriptions","organizations_url":"https://api.github.com/users/Delja/orgs","repos_url":"https://api.github.com/users/Delja/repos","events_url":"https://api.github.com/users/Delja/events{/privacy}","received_events_url":"https://api.github.com/users/Delja/received_events","type":"User","site_admin":false}},{"total":7,"weeks":[{"w":1215302400,"a":0,"d":0,"c":0},{"w":1215907200,"a":0,"d":0,"c":0},{"w":1216512000,"a":0,"d":0,"c":0},{"w":1217116800,"a":0,"d":0,"c":0},{"w":1217721600,"a":0,"d":0,"c":0},{"w":1218326400,"a":0,"d":0,"c":0},{"w":1218931200,"a":0,"d":0,"c":0},{"w":1219536000,"a":0,"d":0,"c":0},{"w":1220140800,"a":0,"d":0,"c":0},{"w":1220745600,"a":0,"d":0,"c":0},{"w":1221350400,"a":0,"d":0,"c":0},{"w":1221955200,"a":0,"d":0,"c":0},{"w":1222560000,"a":0,"d":0,"c":0},{"w":1223164800,"a":0,"d":0,"c":0},{"w":1223769600,"a":0,"d":0,"c":0},{"w":1224374400,"a":0,"d":0,"c":0},{"w":1224979200,"a":0,"d":0,"c":0},{"w":1225584000,"a":0,"d":0,"c":0},{"w":1226188800,"a":0,"d":0,"c":0},{"w":1226793600,"a":0,"d":0,"c":0},{"w":1227398400,"a":0,"d":0,"c":0},{"w":1228003200,"a":0,"d":0,"c":0},{"w":1228608000,"a":0,"d":0,"c":0},{"w":1229212800,"a":0,"d":0,"c":0},{"w":1229817600,"a":0,"d":0,"c":0},{"w":1230422400,"a":0,"d":0,"c":0},{"w":1231027200,"a":0,"d":0,"c":0},{"w":1231632000,"a":0,"d":0,"c":0},{"w":1232236800,"a":0,"d":0,"c":0},{"w":1232841600,"a":0,"d":0,"c":0},{"w":1233446400,"a":0,"d":0,"c":0},{"w":1234051200,"a":0,"d":0,"c":0},{"w":1234656000,"a":0,"d":0,"c":0},{"w":1235260800,"a":0,"d":0,"c":0},{"w":1235865600,"a":0,"d":0,"c":0},{"w":1236470400,"a":0,"d":0,"c":0},{"w":1237075200,"a":0,"d":0,"c":0},{"w":1237680000,"a":0,"d":0,"c":0},{"w":1238284800,"a":0,"d":0,"c":0},{"w":1238889600,"a":0,"d":0,"c":0},{"w":1239494400,"a":0,"d":0,"c":0},{"w":1240099200,"a":0,"d":0,"c":0},{"w":1240704000,"a":0,"d":0,"c":0},{"w":1241308800,"a":0,"d":0,"c":0},{"w":1241913600,"a":0,"d":0,"c":0},{"w":1242518400,"a":0,"d":0,"c":0},{"w":1243123200,"a":0,"d":0,"c":0},{"w":1243728000,"a":0,"d":0,"c":0},{"w":1244332800,"a":0,"d":0,"c":0},{"w":1244937600,"a":0,"d":0,"c":0},{"w":1245542400,"a":0,"d":0,"c":0},{"w":1246147200,"a":0,"d":0,"c":0},{"w":1246752000,"a":0,"d":0,"c":0},{"w":1247356800,"a":0,"d":0,"c":0},{"w":1247961600,"a":0,"d":0,"c":0},{"w":1248566400,"a":0,"d":0,"c":0},{"w":1249171200,"a":0,"d":0,"c":0},{"w":1249776000,"a":398,"d":14,"c":4},{"w":1250380800,"a":70,"d":26,"c":3},{"w":1250985600,"a":0,"d":0,"c":0},{"w":1251590400,"a":0,"d":0,"c":0},{"w":1252195200,"a":0,"d":0,"c":0},{"w":1252800000,"a":0,"d":0,"c":0},{"w":1253404800,"a":0,"d":0,"c":0},{"w":1254009600,"a":0,"d":0,"c":0},{"w":1254614400,"a":0,"d":0,"c":0},{"w":1255219200,"a":0,"d":0,"c":0},{"w":1255824000,"a":0,"d":0,"c":0},{"w":1256428800,"a":0,"d":0,"c":0},{"w":1257033600,"a":0,"d":0,"c":0},{"w":1257638400,"a":0,"d":0,"c":0},{"w":1258243200,"a":0,"d":0,"c":0},{"w":1258848000,"a":0,"d":0,"c":0},{"w":1259452800,"a":0,"d":0,"c":0},{"w":1260057600,"a":0,"d":0,"c":0},{"w":1260662400,"a":0,"d":0,"c":0},{"w":1261267200,"a":0,"d":0,"c":0},{"w":1261872000,"a":0,"d":0,"c":0},{"w":1262476800,"a":0,"d":0,"c":0},{"w":1263081600,"a":0,"d":0,"c":0},{"w":1263686400,"a":0,"d":0,"c":0},{"w":1264291200,"a":0,"d":0,"c":0},{"w":1264896000,"a":0,"d":0,"c":0},{"w":1265500800,"a":0,"d":0,"c":0},{"w":1266105600,"a":0,"d":0,"c":0},{"w":1266710400,"a":0,"d":0,"c":0},{"w":1267315200,"a":0,"d":0,"c":0},{"w":1267920000,"a":0,"d":0,"c":0},{"w":1268524800,"a":0,"d":0,"c":0},{"w":1269129600,"a":0,"d":0,"c":0},{"w":1269734400,"a":0,"d":0,"c":0},{"w":1270339200,"a":0,"d":0,"c":0},{"w":1270944000,"a":0,"d":0,"c":0},{"w":1271548800,"a":0,"d":0,"c":0},{"w":1272153600,"a":0,"d":0,"c":0},{"w":1272758400,"a":0,"d":0,"c":0},{"w":1273363200,"a":0,"d":0,"c":0},{"w":1273968000,"a":0,"d":0,"c":0},{"w":1274572800,"a":0,"d":0,"c":0},{"w":1275177600,"a":0,"d":0,"c":0},{"w":1275782400,"a":0,"d":0,"c":0},{"w":1276387200,"a":0,"d":0,"c":0},{"w":1276992000,"a":0,"d":0,"c":0},{"w":1277596800,"a":0,"d":0,"c":0},{"w":1278201600,"a":0,"d":0,"c":0},{"w":1278806400,"a":0,"d":0,"c":0},{"w":1279411200,"a":0,"d":0,"c":0},{"w":1280016000,"a":0,"d":0,"c":0},{"w":1280620800,"a":0,"d":0,"c":0},{"w":1281225600,"a":0,"d":0,"c":0},{"w":1281830400,"a":0,"d":0,"c":0},{"w":1282435200,"a":0,"d":0,"c":0},{"w":1283040000,"a":0,"d":0,"c":0},{"w":1283644800,"a":0,"d":0,"c":0},{"w":1284249600,"a":0,"d":0,"c":0},{"w":1284854400,"a":0,"d":0,"c":0},{"w":1285459200,"a":0,"d":0,"c":0},{"w":1286064000,"a":0,"d":0,"c":0},{"w":1286668800,"a":0,"d":0,"c":0},{"w":1287273600,"a":0,"d":0,"c":0},{"w":1287878400,"a":0,"d":0,"c":0},{"w":1288483200,"a":0,"d":0,"c":0},{"w":1289088000,"a":0,"d":0,"c":0},{"w":1289692800,"a":0,"d":0,"c":0},{"w":1290297600,"a":0,"d":0,"c":0},{"w":1290902400,"a":0,"d":0,"c":0},{"w":1291507200,"a":0,"d":0,"c":0},{"w":1292112000,"a":0,"d":0,"c":0},{"w":1292716800,"a":0,"d":0,"c":0},{"w":1293321600,"a":0,"d":0,"c":0},{"w":1293926400,"a":0,"d":0,"c":0},{"w":1294531200,"a":0,"d":0,"c":0},{"w":1295136000,"a":0,"d":0,"c":0},{"w":1295740800,"a":0,"d":0,"c":0},{"w":1296345600,"a":0,"d":0,"c":0},{"w":1296950400,"a":0,"d":0,"c":0},{"w":1297555200,"a":0,"d":0,"c":0},{"w":1298160000,"a":0,"d":0,"c":0},{"w":1298764800,"a":0,"d":0,"c":0},{"w":1299369600,"a":0,"d":0,"c":0},{"w":1299974400,"a":0,"d":0,"c":0},{"w":1300579200,"a":0,"d":0,"c":0},{"w":1301184000,"a":0,"d":0,"c":0},{"w":1301788800,"a":0,"d":0,"c":0},{"w":1302393600,"a":0,"d":0,"c":0},{"w":1302998400,"a":0,"d":0,"c":0},{"w":1303603200,"a":0,"d":0,"c":0},{"w":1304208000,"a":0,"d":0,"c":0},{"w":1304812800,"a":0,"d":0,"c":0},{"w":1305417600,"a":0,"d":0,"c":0},{"w":1306022400,"a":0,"d":0,"c":0},{"w":1306627200,"a":0,"d":0,"c":0},{"w":1307232000,"a":0,"d":0,"c":0},{"w":1307836800,"a":0,"d":0,"c":0},{"w":1308441600,"a":0,"d":0,"c":0},{"w":1309046400,"a":0,"d":0,"c":0},{"w":1309651200,"a":0,"d":0,"c":0},{"w":1310256000,"a":0,"d":0,"c":0},{"w":1310860800,"a":0,"d":0,"c":0},{"w":1311465600,"a":0,"d":0,"c":0},{"w":1312070400,"a":0,"d":0,"c":0},{"w":1312675200,"a":0,"d":0,"c":0},{"w":1313280000,"a":0,"d":0,"c":0},{"w":1313884800,"a":0,"d":0,"c":0},{"w":1314489600,"a":0,"d":0,"c":0},{"w":1315094400,"a":0,"d":0,"c":0},{"w":1315699200,"a":0,"d":0,"c":0},{"w":1316304000,"a":0,"d":0,"c":0},{"w":1316908800,"a":0,"d":0,"c":0},{"w":1317513600,"a":0,"d":0,"c":0},{"w":1318118400,"a":0,"d":0,"c":0},{"w":1318723200,"a":0,"d":0,"c":0},{"w":1319328000,"a":0,"d":0,"c":0},{"w":1319932800,"a":0,"d":0,"c":0},{"w":1320537600,"a":0,"d":0,"c":0},{"w":1321142400,"a":0,"d":0,"c":0},{"w":1321747200,"a":0,"d":0,"c":0},{"w":1322352000,"a":0,"d":0,"c":0},{"w":1322956800,"a":0,"d":0,"c":0},{"w":1323561600,"a":0,"d":0,"c":0},{"w":1324166400,"a":0,"d":0,"c":0},{"w":1324771200,"a":0,"d":0,"c":0},{"w":1325376000,"a":0,"d":0,"c":0},{"w":1325980800,"a":0,"d":0,"c":0},{"w":1326585600,"a":0,"d":0,"c":0},{"w":1327190400,"a":0,"d":0,"c":0},{"w":1327795200,"a":0,"d":0,"c":0},{"w":1328400000,"a":0,"d":0,"c":0},{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0},{"w":1384646400,"a":0,"d":0,"c":0},{"w":1385251200,"a":0,"d":0,"c":0},{"w":1385856000,"a":0,"d":0,"c":0},{"w":1386460800,"a":0,"d":0,"c":0},{"w":1387065600,"a":0,"d":0,"c":0},{"w":1387670400,"a":0,"d":0,"c":0},{"w":1388275200,"a":0,"d":0,"c":0},{"w":1388880000,"a":0,"d":0,"c":0},{"w":1389484800,"a":0,"d":0,"c":0},{"w":1390089600,"a":0,"d":0,"c":0},{"w":1390694400,"a":0,"d":0,"c":0},{"w":1391299200,"a":0,"d":0,"c":0},{"w":1391904000,"a":0,"d":0,"c":0},{"w":1392508800,"a":0,"d":0,"c":0},{"w":1393113600,"a":0,"d":0,"c":0},{"w":1393718400,"a":0,"d":0,"c":0},{"w":1394323200,"a":0,"d":0,"c":0},{"w":1394928000,"a":0,"d":0,"c":0},{"w":1395532800,"a":0,"d":0,"c":0},{"w":1396137600,"a":0,"d":0,"c":0},{"w":1396742400,"a":0,"d":0,"c":0},{"w":1397347200,"a":0,"d":0,"c":0},{"w":1397952000,"a":0,"d":0,"c":0},{"w":1398556800,"a":0,"d":0,"c":0},{"w":1399161600,"a":0,"d":0,"c":0},{"w":1399766400,"a":0,"d":0,"c":0},{"w":1400371200,"a":0,"d":0,"c":0},{"w":1400976000,"a":0,"d":0,"c":0},{"w":1401580800,"a":0,"d":0,"c":0},{"w":1402185600,"a":0,"d":0,"c":0},{"w":1402790400,"a":0,"d":0,"c":0},{"w":1403395200,"a":0,"d":0,"c":0},{"w":1404000000,"a":0,"d":0,"c":0},{"w":1404604800,"a":0,"d":0,"c":0},{"w":1405209600,"a":0,"d":0,"c":0},{"w":1405814400,"a":0,"d":0,"c":0},{"w":1406419200,"a":0,"d":0,"c":0},{"w":1407024000,"a":0,"d":0,"c":0},{"w":1407628800,"a":0,"d":0,"c":0},{"w":1408233600,"a":0,"d":0,"c":0},{"w":1408838400,"a":0,"d":0,"c":0},{"w":1409443200,"a":0,"d":0,"c":0},{"w":1410048000,"a":0,"d":0,"c":0},{"w":1410652800,"a":0,"d":0,"c":0},{"w":1411257600,"a":0,"d":0,"c":0},{"w":1411862400,"a":0,"d":0,"c":0},{"w":1412467200,"a":0,"d":0,"c":0},{"w":1413072000,"a":0,"d":0,"c":0},{"w":1413676800,"a":0,"d":0,"c":0},{"w":1414281600,"a":0,"d":0,"c":0},{"w":1414886400,"a":0,"d":0,"c":0},{"w":1415491200,"a":0,"d":0,"c":0},{"w":1416096000,"a":0,"d":0,"c":0},{"w":1416700800,"a":0,"d":0,"c":0},{"w":1417305600,"a":0,"d":0,"c":0},{"w":1417910400,"a":0,"d":0,"c":0},{"w":1418515200,"a":0,"d":0,"c":0},{"w":1419120000,"a":0,"d":0,"c":0},{"w":1419724800,"a":0,"d":0,"c":0},{"w":1420329600,"a":0,"d":0,"c":0},{"w":1420934400,"a":0,"d":0,"c":0},{"w":1421539200,"a":0,"d":0,"c":0},{"w":1422144000,"a":0,"d":0,"c":0},{"w":1422748800,"a":0,"d":0,"c":0},{"w":1423353600,"a":0,"d":0,"c":0},{"w":1423958400,"a":0,"d":0,"c":0},{"w":1424563200,"a":0,"d":0,"c":0},{"w":1425168000,"a":0,"d":0,"c":0},{"w":1425772800,"a":0,"d":0,"c":0},{"w":1426377600,"a":0,"d":0,"c":0},{"w":1426982400,"a":0,"d":0,"c":0},{"w":1427587200,"a":0,"d":0,"c":0},{"w":1428192000,"a":0,"d":0,"c":0},{"w":1428796800,"a":0,"d":0,"c":0},{"w":1429401600,"a":0,"d":0,"c":0},{"w":1430006400,"a":0,"d":0,"c":0},{"w":1430611200,"a":0,"d":0,"c":0},{"w":1431216000,"a":0,"d":0,"c":0},{"w":1431820800,"a":0,"d":0,"c":0},{"w":1432425600,"a":0,"d":0,"c":0},{"w":1433030400,"a":0,"d":0,"c":0},{"w":1433635200,"a":0,"d":0,"c":0},{"w":1434240000,"a":0,"d":0,"c":0},{"w":1434844800,"a":0,"d":0,"c":0},{"w":1435449600,"a":0,"d":0,"c":0},{"w":1436054400,"a":0,"d":0,"c":0},{"w":1436659200,"a":0,"d":0,"c":0},{"w":1437264000,"a":0,"d":0,"c":0},{"w":1437868800,"a":0,"d":0,"c":0},{"w":1438473600,"a":0,"d":0,"c":0},{"w":1439078400,"a":0,"d":0,"c":0},{"w":1439683200,"a":0,"d":0,"c":0},{"w":1440288000,"a":0,"d":0,"c":0},{"w":1440892800,"a":0,"d":0,"c":0},{"w":1441497600,"a":0,"d":0,"c":0},{"w":1442102400,"a":0,"d":0,"c":0},{"w":1442707200,"a":0,"d":0,"c":0},{"w":1443312000,"a":0,"d":0,"c":0},{"w":1443916800,"a":0,"d":0,"c":0},{"w":1444521600,"a":0,"d":0,"c":0},{"w":1445126400,"a":0,"d":0,"c":0},{"w":1445731200,"a":0,"d":0,"c":0},{"w":1446336000,"a":0,"d":0,"c":0},{"w":1446940800,"a":0,"d":0,"c":0},{"w":1447545600,"a":0,"d":0,"c":0},{"w":1448150400,"a":0,"d":0,"c":0},{"w":1448755200,"a":0,"d":0,"c":0},{"w":1449360000,"a":0,"d":0,"c":0},{"w":1449964800,"a":0,"d":0,"c":0},{"w":1450569600,"a":0,"d":0,"c":0},{"w":1451174400,"a":0,"d":0,"c":0},{"w":1451779200,"a":0,"d":0,"c":0},{"w":1452384000,"a":0,"d":0,"c":0},{"w":1452988800,"a":0,"d":0,"c":0},{"w":1453593600,"a":0,"d":0,"c":0},{"w":1454198400,"a":0,"d":0,"c":0},{"w":1454803200,"a":0,"d":0,"c":0},{"w":1455408000,"a":0,"d":0,"c":0},{"w":1456012800,"a":0,"d":0,"c":0},{"w":1456617600,"a":0,"d":0,"c":0},{"w":1457222400,"a":0,"d":0,"c":0},{"w":1457827200,"a":0,"d":0,"c":0},{"w":1458432000,"a":0,"d":0,"c":0},{"w":1459036800,"a":0,"d":0,"c":0},{"w":1459641600,"a":0,"d":0,"c":0},{"w":1460246400,"a":0,"d":0,"c":0},{"w":1460851200,"a":0,"d":0,"c":0},{"w":1461456000,"a":0,"d":0,"c":0},{"w":1462060800,"a":0,"d":0,"c":0},{"w":1462665600,"a":0,"d":0,"c":0},{"w":1463270400,"a":0,"d":0,"c":0},{"w":1463875200,"a":0,"d":0,"c":0},{"w":1464480000,"a":0,"d":0,"c":0},{"w":1465084800,"a":0,"d":0,"c":0},{"w":1465689600,"a":0,"d":0,"c":0},{"w":1466294400,"a":0,"d":0,"c":0},{"w":1466899200,"a":0,"d":0,"c":0},{"w":1467504000,"a":0,"d":0,"c":0},{"w":1468108800,"a":0,"d":0,"c":0},{"w":1468713600,"a":0,"d":0,"c":0},{"w":1469318400,"a":0,"d":0,"c":0},{"w":1469923200,"a":0,"d":0,"c":0},{"w":1470528000,"a":0,"d":0,"c":0},{"w":1471132800,"a":0,"d":0,"c":0},{"w":1471737600,"a":0,"d":0,"c":0},{"w":1472342400,"a":0,"d":0,"c":0},{"w":1472947200,"a":0,"d":0,"c":0},{"w":1473552000,"a":0,"d":0,"c":0},{"w":1474156800,"a":0,"d":0,"c":0},{"w":1474761600,"a":0,"d":0,"c":0},{"w":1475366400,"a":0,"d":0,"c":0},{"w":1475971200,"a":0,"d":0,"c":0},{"w":1476576000,"a":0,"d":0,"c":0},{"w":1477180800,"a":0,"d":0,"c":0},{"w":1477785600,"a":0,"d":0,"c":0},{"w":1478390400,"a":0,"d":0,"c":0},{"w":1478995200,"a":0,"d":0,"c":0},{"w":1479600000,"a":0,"d":0,"c":0},{"w":1480204800,"a":0,"d":0,"c":0},{"w":1480809600,"a":0,"d":0,"c":0},{"w":1481414400,"a":0,"d":0,"c":0},{"w":1482019200,"a":0,"d":0,"c":0},{"w":1482624000,"a":0,"d":0,"c":0},{"w":1483228800,"a":0,"d":0,"c":0},{"w":1483833600,"a":0,"d":0,"c":0},{"w":1484438400,"a":0,"d":0,"c":0},{"w":1485043200,"a":0,"d":0,"c":0},{"w":1485648000,"a":0,"d":0,"c":0},{"w":1486252800,"a":0,"d":0,"c":0},{"w":1486857600,"a":0,"d":0,"c":0},{"w":1487462400,"a":0,"d":0,"c":0},{"w":1488067200,"a":0,"d":0,"c":0},{"w":1488672000,"a":0,"d":0,"c":0},{"w":1489276800,"a":0,"d":0,"c":0},{"w":1489881600,"a":0,"d":0,"c":0},{"w":1490486400,"a":0,"d":0,"c":0},{"w":1491091200,"a":0,"d":0,"c":0},{"w":1491696000,"a":0,"d":0,"c":0},{"w":1492300800,"a":0,"d":0,"c":0},{"w":1492905600,"a":0,"d":0,"c":0},{"w":1493510400,"a":0,"d":0,"c":0},{"w":1494115200,"a":0,"d":0,"c":0},{"w":1494720000,"a":0,"d":0,"c":0},{"w":1495324800,"a":0,"d":0,"c":0},{"w":1495929600,"a":0,"d":0,"c":0},{"w":1496534400,"a":0,"d":0,"c":0},{"w":1497139200,"a":0,"d":0,"c":0},{"w":1497744000,"a":0,"d":0,"c":0},{"w":1498348800,"a":0,"d":0,"c":0},{"w":1498953600,"a":0,"d":0,"c":0},{"w":1499558400,"a":0,"d":0,"c":0},{"w":1500163200,"a":0,"d":0,"c":0},{"w":1500768000,"a":0,"d":0,"c":0},{"w":1501372800,"a":0,"d":0,"c":0},{"w":1501977600,"a":0,"d":0,"c":0},{"w":1502582400,"a":0,"d":0,"c":0},{"w":1503187200,"a":0,"d":0,"c":0},{"w":1503792000,"a":0,"d":0,"c":0},{"w":1504396800,"a":0,"d":0,"c":0},{"w":1505001600,"a":0,"d":0,"c":0},{"w":1505606400,"a":0,"d":0,"c":0},{"w":1506211200,"a":0,"d":0,"c":0},{"w":1506816000,"a":0,"d":0,"c":0},{"w":1507420800,"a":0,"d":0,"c":0},{"w":1508025600,"a":0,"d":0,"c":0},{"w":1508630400,"a":0,"d":0,"c":0},{"w":1509235200,"a":0,"d":0,"c":0},{"w":1509840000,"a":0,"d":0,"c":0},{"w":1510444800,"a":0,"d":0,"c":0},{"w":1511049600,"a":0,"d":0,"c":0},{"w":1511654400,"a":0,"d":0,"c":0},{"w":1512259200,"a":0,"d":0,"c":0},{"w":1512864000,"a":0,"d":0,"c":0},{"w":1513468800,"a":0,"d":0,"c":0},{"w":1514073600,"a":0,"d":0,"c":0},{"w":1514678400,"a":0,"d":0,"c":0},{"w":1515283200,"a":0,"d":0,"c":0},{"w":1515888000,"a":0,"d":0,"c":0},{"w":1516492800,"a":0,"d":0,"c":0},{"w":1517097600,"a":0,"d":0,"c":0},{"w":1517702400,"a":0,"d":0,"c":0},{"w":1518307200,"a":0,"d":0,"c":0},{"w":1518912000,"a":0,"d":0,"c":0},{"w":1519516800,"a":0,"d":0,"c":0},{"w":1520121600,"a":0,"d":0,"c":0},{"w":1520726400,"a":0,"d":0,"c":0},{"w":1521331200,"a":0,"d":0,"c":0},{"w":1521936000,"a":0,"d":0,"c":0},{"w":1522540800,"a":0,"d":0,"c":0},{"w":1523145600,"a":0,"d":0,"c":0},{"w":1523750400,"a":0,"d":0,"c":0},{"w":1524355200,"a":0,"d":0,"c":0},{"w":1524960000,"a":0,"d":0,"c":0},{"w":1525564800,"a":0,"d":0,"c":0},{"w":1526169600,"a":0,"d":0,"c":0},{"w":1526774400,"a":0,"d":0,"c":0},{"w":1527379200,"a":0,"d":0,"c":0},{"w":1527984000,"a":0,"d":0,"c":0},{"w":1528588800,"a":0,"d":0,"c":0},{"w":1529193600,"a":0,"d":0,"c":0},{"w":1529798400,"a":0,"d":0,"c":0},{"w":1530403200,"a":0,"d":0,"c":0},{"w":1531008000,"a":0,"d":0,"c":0},{"w":1531612800,"a":0,"d":0,"c":0},{"w":1532217600,"a":0,"d":0,"c":0},{"w":1532822400,"a":0,"d":0,"c":0},{"w":1533427200,"a":0,"d":0,"c":0},{"w":1534032000,"a":0,"d":0,"c":0},{"w":1534636800,"a":0,"d":0,"c":0},{"w":1535241600,"a":0,"d":0,"c":0},{"w":1535846400,"a":0,"d":0,"c":0},{"w":1536451200,"a":0,"d":0,"c":0},{"w":1537056000,"a":0,"d":0,"c":0},{"w":1537660800,"a":0,"d":0,"c":0},{"w":1538265600,"a":0,"d":0,"c":0},{"w":1538870400,"a":0,"d":0,"c":0},{"w":1539475200,"a":0,"d":0,"c":0},{"w":1540080000,"a":0,"d":0,"c":0},{"w":1540684800,"a":0,"d":0,"c":0},{"w":1541289600,"a":0,"d":0,"c":0},{"w":1541894400,"a":0,"d":0,"c":0},{"w":1542499200,"a":0,"d":0,"c":0},{"w":1543104000,"a":0,"d":0,"c":0},{"w":1543708800,"a":0,"d":0,"c":0},{"w":1544313600,"a":0,"d":0,"c":0},{"w":1544918400,"a":0,"d":0,"c":0},{"w":1545523200,"a":0,"d":0,"c":0},{"w":1546128000,"a":0,"d":0,"c":0},{"w":1546732800,"a":0,"d":0,"c":0},{"w":1547337600,"a":0,"d":0,"c":0},{"w":1547942400,"a":0,"d":0,"c":0},{"w":1548547200,"a":0,"d":0,"c":0},{"w":1549152000,"a":0,"d":0,"c":0},{"w":1549756800,"a":0,"d":0,"c":0},{"w":1550361600,"a":0,"d":0,"c":0},{"w":1550966400,"a":0,"d":0,"c":0},{"w":1551571200,"a":0,"d":0,"c":0},{"w":1552176000,"a":0,"d":0,"c":0},{"w":1552780800,"a":0,"d":0,"c":0},{"w":1553385600,"a":0,"d":0,"c":0},{"w":1553990400,"a":0,"d":0,"c":0},{"w":1554595200,"a":0,"d":0,"c":0},{"w":1555200000,"a":0,"d":0,"c":0},{"w":1555804800,"a":0,"d":0,"c":0},{"w":1556409600,"a":0,"d":0,"c":0},{"w":1557014400,"a":0,"d":0,"c":0},{"w":1557619200,"a":0,"d":0,"c":0},{"w":1558224000,"a":0,"d":0,"c":0},{"w":1558828800,"a":0,"d":0,"c":0},{"w":1559433600,"a":0,"d":0,"c":0},{"w":1560038400,"a":0,"d":0,"c":0},{"w":1560643200,"a":0,"d":0,"c":0},{"w":1561248000,"a":0,"d":0,"c":0},{"w":1561852800,"a":0,"d":0,"c":0},{"w":1562457600,"a":0,"d":0,"c":0}],"author":{"login":"JulienChevalier","id":13573494,"node_id":"MDQ6VXNlcjEzNTczNDk0","avatar_url":"https://avatars3.githubusercontent.com/u/13573494?v=4","gravatar_id":"","url":"https://api.github.com/users/JulienChevalier","html_url":"https://github.com/JulienChevalier","followers_url":"https://api.github.com/users/JulienChevalier/followers","following_url":"https://api.github.com/users/JulienChevalier/following{/other_user}","gists_url":"https://api.github.com/users/JulienChevalier/gists{/gist_id}","starred_url":"https://api.github.com/users/JulienChevalier/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JulienChevalier/subscriptions","organizations_url":"https://api.github.com/users/JulienChevalier/orgs","repos_url":"https://api.github.com/users/JulienChevalier/repos","events_url":"https://api.github.com/users/JulienChevalier/events{/privacy}","received_events_url":"https://api.github.com/users/JulienChevalier/received_events","type":"User","site_admin":false}},{"total":7,"weeks":[{"w":1215302400,"a":0,"d":0,"c":0},{"w":1215907200,"a":0,"d":0,"c":0},{"w":1216512000,"a":0,"d":0,"c":0},{"w":1217116800,"a":0,"d":0,"c":0},{"w":1217721600,"a":0,"d":0,"c":0},{"w":1218326400,"a":0,"d":0,"c":0},{"w":1218931200,"a":0,"d":0,"c":0},{"w":1219536000,"a":0,"d":0,"c":0},{"w":1220140800,"a":0,"d":0,"c":0},{"w":1220745600,"a":0,"d":0,"c":0},{"w":1221350400,"a":0,"d":0,"c":0},{"w":1221955200,"a":0,"d":0,"c":0},{"w":1222560000,"a":0,"d":0,"c":0},{"w":1223164800,"a":0,"d":0,"c":0},{"w":1223769600,"a":0,"d":0,"c":0},{"w":1224374400,"a":0,"d":0,"c":0},{"w":1224979200,"a":0,"d":0,"c":0},{"w":1225584000,"a":0,"d":0,"c":0},{"w":1226188800,"a":0,"d":0,"c":0},{"w":1226793600,"a":0,"d":0,"c":0},{"w":1227398400,"a":0,"d":0,"c":0},{"w":1228003200,"a":0,"d":0,"c":0},{"w":1228608000,"a":0,"d":0,"c":0},{"w":1229212800,"a":0,"d":0,"c":0},{"w":1229817600,"a":0,"d":0,"c":0},{"w":1230422400,"a":0,"d":0,"c":0},{"w":1231027200,"a":0,"d":0,"c":0},{"w":1231632000,"a":0,"d":0,"c":0},{"w":1232236800,"a":0,"d":0,"c":0},{"w":1232841600,"a":0,"d":0,"c":0},{"w":1233446400,"a":0,"d":0,"c":0},{"w":1234051200,"a":0,"d":0,"c":0},{"w":1234656000,"a":0,"d":0,"c":0},{"w":1235260800,"a":0,"d":0,"c":0},{"w":1235865600,"a":0,"d":0,"c":0},{"w":1236470400,"a":0,"d":0,"c":0},{"w":1237075200,"a":0,"d":0,"c":0},{"w":1237680000,"a":0,"d":0,"c":0},{"w":1238284800,"a":0,"d":0,"c":0},{"w":1238889600,"a":0,"d":0,"c":0},{"w":1239494400,"a":0,"d":0,"c":0},{"w":1240099200,"a":0,"d":0,"c":0},{"w":1240704000,"a":0,"d":0,"c":0},{"w":1241308800,"a":0,"d":0,"c":0},{"w":1241913600,"a":0,"d":0,"c":0},{"w":1242518400,"a":0,"d":0,"c":0},{"w":1243123200,"a":0,"d":0,"c":0},{"w":1243728000,"a":0,"d":0,"c":0},{"w":1244332800,"a":0,"d":0,"c":0},{"w":1244937600,"a":0,"d":0,"c":0},{"w":1245542400,"a":0,"d":0,"c":0},{"w":1246147200,"a":0,"d":0,"c":0},{"w":1246752000,"a":0,"d":0,"c":0},{"w":1247356800,"a":0,"d":0,"c":0},{"w":1247961600,"a":0,"d":0,"c":0},{"w":1248566400,"a":0,"d":0,"c":0},{"w":1249171200,"a":0,"d":0,"c":0},{"w":1249776000,"a":0,"d":0,"c":0},{"w":1250380800,"a":0,"d":0,"c":0},{"w":1250985600,"a":0,"d":0,"c":0},{"w":1251590400,"a":0,"d":0,"c":0},{"w":1252195200,"a":0,"d":0,"c":0},{"w":1252800000,"a":0,"d":0,"c":0},{"w":1253404800,"a":0,"d":0,"c":0},{"w":1254009600,"a":0,"d":0,"c":0},{"w":1254614400,"a":0,"d":0,"c":0},{"w":1255219200,"a":0,"d":0,"c":0},{"w":1255824000,"a":0,"d":0,"c":0},{"w":1256428800,"a":0,"d":0,"c":0},{"w":1257033600,"a":0,"d":0,"c":0},{"w":1257638400,"a":0,"d":0,"c":0},{"w":1258243200,"a":0,"d":0,"c":0},{"w":1258848000,"a":0,"d":0,"c":0},{"w":1259452800,"a":0,"d":0,"c":0},{"w":1260057600,"a":0,"d":0,"c":0},{"w":1260662400,"a":0,"d":0,"c":0},{"w":1261267200,"a":0,"d":0,"c":0},{"w":1261872000,"a":0,"d":0,"c":0},{"w":1262476800,"a":0,"d":0,"c":0},{"w":1263081600,"a":0,"d":0,"c":0},{"w":1263686400,"a":0,"d":0,"c":0},{"w":1264291200,"a":0,"d":0,"c":0},{"w":1264896000,"a":0,"d":0,"c":0},{"w":1265500800,"a":0,"d":0,"c":0},{"w":1266105600,"a":0,"d":0,"c":0},{"w":1266710400,"a":0,"d":0,"c":0},{"w":1267315200,"a":0,"d":0,"c":0},{"w":1267920000,"a":0,"d":0,"c":0},{"w":1268524800,"a":0,"d":0,"c":0},{"w":1269129600,"a":0,"d":0,"c":0},{"w":1269734400,"a":0,"d":0,"c":0},{"w":1270339200,"a":0,"d":0,"c":0},{"w":1270944000,"a":0,"d":0,"c":0},{"w":1271548800,"a":0,"d":0,"c":0},{"w":1272153600,"a":0,"d":0,"c":0},{"w":1272758400,"a":0,"d":0,"c":0},{"w":1273363200,"a":0,"d":0,"c":0},{"w":1273968000,"a":0,"d":0,"c":0},{"w":1274572800,"a":0,"d":0,"c":0},{"w":1275177600,"a":0,"d":0,"c":0},{"w":1275782400,"a":0,"d":0,"c":0},{"w":1276387200,"a":0,"d":0,"c":0},{"w":1276992000,"a":0,"d":0,"c":0},{"w":1277596800,"a":0,"d":0,"c":0},{"w":1278201600,"a":0,"d":0,"c":0},{"w":1278806400,"a":0,"d":0,"c":0},{"w":1279411200,"a":0,"d":0,"c":0},{"w":1280016000,"a":0,"d":0,"c":0},{"w":1280620800,"a":0,"d":0,"c":0},{"w":1281225600,"a":0,"d":0,"c":0},{"w":1281830400,"a":0,"d":0,"c":0},{"w":1282435200,"a":0,"d":0,"c":0},{"w":1283040000,"a":0,"d":0,"c":0},{"w":1283644800,"a":0,"d":0,"c":0},{"w":1284249600,"a":0,"d":0,"c":0},{"w":1284854400,"a":0,"d":0,"c":0},{"w":1285459200,"a":0,"d":0,"c":0},{"w":1286064000,"a":0,"d":0,"c":0},{"w":1286668800,"a":0,"d":0,"c":0},{"w":1287273600,"a":0,"d":0,"c":0},{"w":1287878400,"a":0,"d":0,"c":0},{"w":1288483200,"a":0,"d":0,"c":0},{"w":1289088000,"a":0,"d":0,"c":0},{"w":1289692800,"a":0,"d":0,"c":0},{"w":1290297600,"a":0,"d":0,"c":0},{"w":1290902400,"a":0,"d":0,"c":0},{"w":1291507200,"a":0,"d":0,"c":0},{"w":1292112000,"a":0,"d":0,"c":0},{"w":1292716800,"a":0,"d":0,"c":0},{"w":1293321600,"a":0,"d":0,"c":0},{"w":1293926400,"a":0,"d":0,"c":0},{"w":1294531200,"a":0,"d":0,"c":0},{"w":1295136000,"a":0,"d":0,"c":0},{"w":1295740800,"a":0,"d":0,"c":0},{"w":1296345600,"a":0,"d":0,"c":0},{"w":1296950400,"a":0,"d":0,"c":0},{"w":1297555200,"a":0,"d":0,"c":0},{"w":1298160000,"a":0,"d":0,"c":0},{"w":1298764800,"a":0,"d":0,"c":0},{"w":1299369600,"a":0,"d":0,"c":0},{"w":1299974400,"a":0,"d":0,"c":0},{"w":1300579200,"a":0,"d":0,"c":0},{"w":1301184000,"a":0,"d":0,"c":0},{"w":1301788800,"a":0,"d":0,"c":0},{"w":1302393600,"a":0,"d":0,"c":0},{"w":1302998400,"a":0,"d":0,"c":0},{"w":1303603200,"a":0,"d":0,"c":0},{"w":1304208000,"a":0,"d":0,"c":0},{"w":1304812800,"a":0,"d":0,"c":0},{"w":1305417600,"a":0,"d":0,"c":0},{"w":1306022400,"a":0,"d":0,"c":0},{"w":1306627200,"a":0,"d":0,"c":0},{"w":1307232000,"a":0,"d":0,"c":0},{"w":1307836800,"a":0,"d":0,"c":0},{"w":1308441600,"a":0,"d":0,"c":0},{"w":1309046400,"a":0,"d":0,"c":0},{"w":1309651200,"a":0,"d":0,"c":0},{"w":1310256000,"a":0,"d":0,"c":0},{"w":1310860800,"a":0,"d":0,"c":0},{"w":1311465600,"a":0,"d":0,"c":0},{"w":1312070400,"a":0,"d":0,"c":0},{"w":1312675200,"a":0,"d":0,"c":0},{"w":1313280000,"a":0,"d":0,"c":0},{"w":1313884800,"a":0,"d":0,"c":0},{"w":1314489600,"a":0,"d":0,"c":0},{"w":1315094400,"a":0,"d":0,"c":0},{"w":1315699200,"a":0,"d":0,"c":0},{"w":1316304000,"a":0,"d":0,"c":0},{"w":1316908800,"a":0,"d":0,"c":0},{"w":1317513600,"a":0,"d":0,"c":0},{"w":1318118400,"a":0,"d":0,"c":0},{"w":1318723200,"a":0,"d":0,"c":0},{"w":1319328000,"a":0,"d":0,"c":0},{"w":1319932800,"a":0,"d":0,"c":0},{"w":1320537600,"a":0,"d":0,"c":0},{"w":1321142400,"a":0,"d":0,"c":0},{"w":1321747200,"a":0,"d":0,"c":0},{"w":1322352000,"a":0,"d":0,"c":0},{"w":1322956800,"a":0,"d":0,"c":0},{"w":1323561600,"a":0,"d":0,"c":0},{"w":1324166400,"a":0,"d":0,"c":0},{"w":1324771200,"a":0,"d":0,"c":0},{"w":1325376000,"a":0,"d":0,"c":0},{"w":1325980800,"a":0,"d":0,"c":0},{"w":1326585600,"a":0,"d":0,"c":0},{"w":1327190400,"a":0,"d":0,"c":0},{"w":1327795200,"a":0,"d":0,"c":0},{"w":1328400000,"a":0,"d":0,"c":0},{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0},{"w":1384646400,"a":0,"d":0,"c":0},{"w":1385251200,"a":0,"d":0,"c":0},{"w":1385856000,"a":0,"d":0,"c":0},{"w":1386460800,"a":0,"d":0,"c":0},{"w":1387065600,"a":0,"d":0,"c":0},{"w":1387670400,"a":0,"d":0,"c":0},{"w":1388275200,"a":0,"d":0,"c":0},{"w":1388880000,"a":0,"d":0,"c":0},{"w":1389484800,"a":0,"d":0,"c":0},{"w":1390089600,"a":0,"d":0,"c":0},{"w":1390694400,"a":34,"d":1,"c":7},{"w":1391299200,"a":0,"d":0,"c":0},{"w":1391904000,"a":0,"d":0,"c":0},{"w":1392508800,"a":0,"d":0,"c":0},{"w":1393113600,"a":0,"d":0,"c":0},{"w":1393718400,"a":0,"d":0,"c":0},{"w":1394323200,"a":0,"d":0,"c":0},{"w":1394928000,"a":0,"d":0,"c":0},{"w":1395532800,"a":0,"d":0,"c":0},{"w":1396137600,"a":0,"d":0,"c":0},{"w":1396742400,"a":0,"d":0,"c":0},{"w":1397347200,"a":0,"d":0,"c":0},{"w":1397952000,"a":0,"d":0,"c":0},{"w":1398556800,"a":0,"d":0,"c":0},{"w":1399161600,"a":0,"d":0,"c":0},{"w":1399766400,"a":0,"d":0,"c":0},{"w":1400371200,"a":0,"d":0,"c":0},{"w":1400976000,"a":0,"d":0,"c":0},{"w":1401580800,"a":0,"d":0,"c":0},{"w":1402185600,"a":0,"d":0,"c":0},{"w":1402790400,"a":0,"d":0,"c":0},{"w":1403395200,"a":0,"d":0,"c":0},{"w":1404000000,"a":0,"d":0,"c":0},{"w":1404604800,"a":0,"d":0,"c":0},{"w":1405209600,"a":0,"d":0,"c":0},{"w":1405814400,"a":0,"d":0,"c":0},{"w":1406419200,"a":0,"d":0,"c":0},{"w":1407024000,"a":0,"d":0,"c":0},{"w":1407628800,"a":0,"d":0,"c":0},{"w":1408233600,"a":0,"d":0,"c":0},{"w":1408838400,"a":0,"d":0,"c":0},{"w":1409443200,"a":0,"d":0,"c":0},{"w":1410048000,"a":0,"d":0,"c":0},{"w":1410652800,"a":0,"d":0,"c":0},{"w":1411257600,"a":0,"d":0,"c":0},{"w":1411862400,"a":0,"d":0,"c":0},{"w":1412467200,"a":0,"d":0,"c":0},{"w":1413072000,"a":0,"d":0,"c":0},{"w":1413676800,"a":0,"d":0,"c":0},{"w":1414281600,"a":0,"d":0,"c":0},{"w":1414886400,"a":0,"d":0,"c":0},{"w":1415491200,"a":0,"d":0,"c":0},{"w":1416096000,"a":0,"d":0,"c":0},{"w":1416700800,"a":0,"d":0,"c":0},{"w":1417305600,"a":0,"d":0,"c":0},{"w":1417910400,"a":0,"d":0,"c":0},{"w":1418515200,"a":0,"d":0,"c":0},{"w":1419120000,"a":0,"d":0,"c":0},{"w":1419724800,"a":0,"d":0,"c":0},{"w":1420329600,"a":0,"d":0,"c":0},{"w":1420934400,"a":0,"d":0,"c":0},{"w":1421539200,"a":0,"d":0,"c":0},{"w":1422144000,"a":0,"d":0,"c":0},{"w":1422748800,"a":0,"d":0,"c":0},{"w":1423353600,"a":0,"d":0,"c":0},{"w":1423958400,"a":0,"d":0,"c":0},{"w":1424563200,"a":0,"d":0,"c":0},{"w":1425168000,"a":0,"d":0,"c":0},{"w":1425772800,"a":0,"d":0,"c":0},{"w":1426377600,"a":0,"d":0,"c":0},{"w":1426982400,"a":0,"d":0,"c":0},{"w":1427587200,"a":0,"d":0,"c":0},{"w":1428192000,"a":0,"d":0,"c":0},{"w":1428796800,"a":0,"d":0,"c":0},{"w":1429401600,"a":0,"d":0,"c":0},{"w":1430006400,"a":0,"d":0,"c":0},{"w":1430611200,"a":0,"d":0,"c":0},{"w":1431216000,"a":0,"d":0,"c":0},{"w":1431820800,"a":0,"d":0,"c":0},{"w":1432425600,"a":0,"d":0,"c":0},{"w":1433030400,"a":0,"d":0,"c":0},{"w":1433635200,"a":0,"d":0,"c":0},{"w":1434240000,"a":0,"d":0,"c":0},{"w":1434844800,"a":0,"d":0,"c":0},{"w":1435449600,"a":0,"d":0,"c":0},{"w":1436054400,"a":0,"d":0,"c":0},{"w":1436659200,"a":0,"d":0,"c":0},{"w":1437264000,"a":0,"d":0,"c":0},{"w":1437868800,"a":0,"d":0,"c":0},{"w":1438473600,"a":0,"d":0,"c":0},{"w":1439078400,"a":0,"d":0,"c":0},{"w":1439683200,"a":0,"d":0,"c":0},{"w":1440288000,"a":0,"d":0,"c":0},{"w":1440892800,"a":0,"d":0,"c":0},{"w":1441497600,"a":0,"d":0,"c":0},{"w":1442102400,"a":0,"d":0,"c":0},{"w":1442707200,"a":0,"d":0,"c":0},{"w":1443312000,"a":0,"d":0,"c":0},{"w":1443916800,"a":0,"d":0,"c":0},{"w":1444521600,"a":0,"d":0,"c":0},{"w":1445126400,"a":0,"d":0,"c":0},{"w":1445731200,"a":0,"d":0,"c":0},{"w":1446336000,"a":0,"d":0,"c":0},{"w":1446940800,"a":0,"d":0,"c":0},{"w":1447545600,"a":0,"d":0,"c":0},{"w":1448150400,"a":0,"d":0,"c":0},{"w":1448755200,"a":0,"d":0,"c":0},{"w":1449360000,"a":0,"d":0,"c":0},{"w":1449964800,"a":0,"d":0,"c":0},{"w":1450569600,"a":0,"d":0,"c":0},{"w":1451174400,"a":0,"d":0,"c":0},{"w":1451779200,"a":0,"d":0,"c":0},{"w":1452384000,"a":0,"d":0,"c":0},{"w":1452988800,"a":0,"d":0,"c":0},{"w":1453593600,"a":0,"d":0,"c":0},{"w":1454198400,"a":0,"d":0,"c":0},{"w":1454803200,"a":0,"d":0,"c":0},{"w":1455408000,"a":0,"d":0,"c":0},{"w":1456012800,"a":0,"d":0,"c":0},{"w":1456617600,"a":0,"d":0,"c":0},{"w":1457222400,"a":0,"d":0,"c":0},{"w":1457827200,"a":0,"d":0,"c":0},{"w":1458432000,"a":0,"d":0,"c":0},{"w":1459036800,"a":0,"d":0,"c":0},{"w":1459641600,"a":0,"d":0,"c":0},{"w":1460246400,"a":0,"d":0,"c":0},{"w":1460851200,"a":0,"d":0,"c":0},{"w":1461456000,"a":0,"d":0,"c":0},{"w":1462060800,"a":0,"d":0,"c":0},{"w":1462665600,"a":0,"d":0,"c":0},{"w":1463270400,"a":0,"d":0,"c":0},{"w":1463875200,"a":0,"d":0,"c":0},{"w":1464480000,"a":0,"d":0,"c":0},{"w":1465084800,"a":0,"d":0,"c":0},{"w":1465689600,"a":0,"d":0,"c":0},{"w":1466294400,"a":0,"d":0,"c":0},{"w":1466899200,"a":0,"d":0,"c":0},{"w":1467504000,"a":0,"d":0,"c":0},{"w":1468108800,"a":0,"d":0,"c":0},{"w":1468713600,"a":0,"d":0,"c":0},{"w":1469318400,"a":0,"d":0,"c":0},{"w":1469923200,"a":0,"d":0,"c":0},{"w":1470528000,"a":0,"d":0,"c":0},{"w":1471132800,"a":0,"d":0,"c":0},{"w":1471737600,"a":0,"d":0,"c":0},{"w":1472342400,"a":0,"d":0,"c":0},{"w":1472947200,"a":0,"d":0,"c":0},{"w":1473552000,"a":0,"d":0,"c":0},{"w":1474156800,"a":0,"d":0,"c":0},{"w":1474761600,"a":0,"d":0,"c":0},{"w":1475366400,"a":0,"d":0,"c":0},{"w":1475971200,"a":0,"d":0,"c":0},{"w":1476576000,"a":0,"d":0,"c":0},{"w":1477180800,"a":0,"d":0,"c":0},{"w":1477785600,"a":0,"d":0,"c":0},{"w":1478390400,"a":0,"d":0,"c":0},{"w":1478995200,"a":0,"d":0,"c":0},{"w":1479600000,"a":0,"d":0,"c":0},{"w":1480204800,"a":0,"d":0,"c":0},{"w":1480809600,"a":0,"d":0,"c":0},{"w":1481414400,"a":0,"d":0,"c":0},{"w":1482019200,"a":0,"d":0,"c":0},{"w":1482624000,"a":0,"d":0,"c":0},{"w":1483228800,"a":0,"d":0,"c":0},{"w":1483833600,"a":0,"d":0,"c":0},{"w":1484438400,"a":0,"d":0,"c":0},{"w":1485043200,"a":0,"d":0,"c":0},{"w":1485648000,"a":0,"d":0,"c":0},{"w":1486252800,"a":0,"d":0,"c":0},{"w":1486857600,"a":0,"d":0,"c":0},{"w":1487462400,"a":0,"d":0,"c":0},{"w":1488067200,"a":0,"d":0,"c":0},{"w":1488672000,"a":0,"d":0,"c":0},{"w":1489276800,"a":0,"d":0,"c":0},{"w":1489881600,"a":0,"d":0,"c":0},{"w":1490486400,"a":0,"d":0,"c":0},{"w":1491091200,"a":0,"d":0,"c":0},{"w":1491696000,"a":0,"d":0,"c":0},{"w":1492300800,"a":0,"d":0,"c":0},{"w":1492905600,"a":0,"d":0,"c":0},{"w":1493510400,"a":0,"d":0,"c":0},{"w":1494115200,"a":0,"d":0,"c":0},{"w":1494720000,"a":0,"d":0,"c":0},{"w":1495324800,"a":0,"d":0,"c":0},{"w":1495929600,"a":0,"d":0,"c":0},{"w":1496534400,"a":0,"d":0,"c":0},{"w":1497139200,"a":0,"d":0,"c":0},{"w":1497744000,"a":0,"d":0,"c":0},{"w":1498348800,"a":0,"d":0,"c":0},{"w":1498953600,"a":0,"d":0,"c":0},{"w":1499558400,"a":0,"d":0,"c":0},{"w":1500163200,"a":0,"d":0,"c":0},{"w":1500768000,"a":0,"d":0,"c":0},{"w":1501372800,"a":0,"d":0,"c":0},{"w":1501977600,"a":0,"d":0,"c":0},{"w":1502582400,"a":0,"d":0,"c":0},{"w":1503187200,"a":0,"d":0,"c":0},{"w":1503792000,"a":0,"d":0,"c":0},{"w":1504396800,"a":0,"d":0,"c":0},{"w":1505001600,"a":0,"d":0,"c":0},{"w":1505606400,"a":0,"d":0,"c":0},{"w":1506211200,"a":0,"d":0,"c":0},{"w":1506816000,"a":0,"d":0,"c":0},{"w":1507420800,"a":0,"d":0,"c":0},{"w":1508025600,"a":0,"d":0,"c":0},{"w":1508630400,"a":0,"d":0,"c":0},{"w":1509235200,"a":0,"d":0,"c":0},{"w":1509840000,"a":0,"d":0,"c":0},{"w":1510444800,"a":0,"d":0,"c":0},{"w":1511049600,"a":0,"d":0,"c":0},{"w":1511654400,"a":0,"d":0,"c":0},{"w":1512259200,"a":0,"d":0,"c":0},{"w":1512864000,"a":0,"d":0,"c":0},{"w":1513468800,"a":0,"d":0,"c":0},{"w":1514073600,"a":0,"d":0,"c":0},{"w":1514678400,"a":0,"d":0,"c":0},{"w":1515283200,"a":0,"d":0,"c":0},{"w":1515888000,"a":0,"d":0,"c":0},{"w":1516492800,"a":0,"d":0,"c":0},{"w":1517097600,"a":0,"d":0,"c":0},{"w":1517702400,"a":0,"d":0,"c":0},{"w":1518307200,"a":0,"d":0,"c":0},{"w":1518912000,"a":0,"d":0,"c":0},{"w":1519516800,"a":0,"d":0,"c":0},{"w":1520121600,"a":0,"d":0,"c":0},{"w":1520726400,"a":0,"d":0,"c":0},{"w":1521331200,"a":0,"d":0,"c":0},{"w":1521936000,"a":0,"d":0,"c":0},{"w":1522540800,"a":0,"d":0,"c":0},{"w":1523145600,"a":0,"d":0,"c":0},{"w":1523750400,"a":0,"d":0,"c":0},{"w":1524355200,"a":0,"d":0,"c":0},{"w":1524960000,"a":0,"d":0,"c":0},{"w":1525564800,"a":0,"d":0,"c":0},{"w":1526169600,"a":0,"d":0,"c":0},{"w":1526774400,"a":0,"d":0,"c":0},{"w":1527379200,"a":0,"d":0,"c":0},{"w":1527984000,"a":0,"d":0,"c":0},{"w":1528588800,"a":0,"d":0,"c":0},{"w":1529193600,"a":0,"d":0,"c":0},{"w":1529798400,"a":0,"d":0,"c":0},{"w":1530403200,"a":0,"d":0,"c":0},{"w":1531008000,"a":0,"d":0,"c":0},{"w":1531612800,"a":0,"d":0,"c":0},{"w":1532217600,"a":0,"d":0,"c":0},{"w":1532822400,"a":0,"d":0,"c":0},{"w":1533427200,"a":0,"d":0,"c":0},{"w":1534032000,"a":0,"d":0,"c":0},{"w":1534636800,"a":0,"d":0,"c":0},{"w":1535241600,"a":0,"d":0,"c":0},{"w":1535846400,"a":0,"d":0,"c":0},{"w":1536451200,"a":0,"d":0,"c":0},{"w":1537056000,"a":0,"d":0,"c":0},{"w":1537660800,"a":0,"d":0,"c":0},{"w":1538265600,"a":0,"d":0,"c":0},{"w":1538870400,"a":0,"d":0,"c":0},{"w":1539475200,"a":0,"d":0,"c":0},{"w":1540080000,"a":0,"d":0,"c":0},{"w":1540684800,"a":0,"d":0,"c":0},{"w":1541289600,"a":0,"d":0,"c":0},{"w":1541894400,"a":0,"d":0,"c":0},{"w":1542499200,"a":0,"d":0,"c":0},{"w":1543104000,"a":0,"d":0,"c":0},{"w":1543708800,"a":0,"d":0,"c":0},{"w":1544313600,"a":0,"d":0,"c":0},{"w":1544918400,"a":0,"d":0,"c":0},{"w":1545523200,"a":0,"d":0,"c":0},{"w":1546128000,"a":0,"d":0,"c":0},{"w":1546732800,"a":0,"d":0,"c":0},{"w":1547337600,"a":0,"d":0,"c":0},{"w":1547942400,"a":0,"d":0,"c":0},{"w":1548547200,"a":0,"d":0,"c":0},{"w":1549152000,"a":0,"d":0,"c":0},{"w":1549756800,"a":0,"d":0,"c":0},{"w":1550361600,"a":0,"d":0,"c":0},{"w":1550966400,"a":0,"d":0,"c":0},{"w":1551571200,"a":0,"d":0,"c":0},{"w":1552176000,"a":0,"d":0,"c":0},{"w":1552780800,"a":0,"d":0,"c":0},{"w":1553385600,"a":0,"d":0,"c":0},{"w":1553990400,"a":0,"d":0,"c":0},{"w":1554595200,"a":0,"d":0,"c":0},{"w":1555200000,"a":0,"d":0,"c":0},{"w":1555804800,"a":0,"d":0,"c":0},{"w":1556409600,"a":0,"d":0,"c":0},{"w":1557014400,"a":0,"d":0,"c":0},{"w":1557619200,"a":0,"d":0,"c":0},{"w":1558224000,"a":0,"d":0,"c":0},{"w":1558828800,"a":0,"d":0,"c":0},{"w":1559433600,"a":0,"d":0,"c":0},{"w":1560038400,"a":0,"d":0,"c":0},{"w":1560643200,"a":0,"d":0,"c":0},{"w":1561248000,"a":0,"d":0,"c":0},{"w":1561852800,"a":0,"d":0,"c":0},{"w":1562457600,"a":0,"d":0,"c":0}],"author":{"login":"GeoffreyHecht","id":6412112,"node_id":"MDQ6VXNlcjY0MTIxMTI=","avatar_url":"https://avatars1.githubusercontent.com/u/6412112?v=4","gravatar_id":"","url":"https://api.github.com/users/GeoffreyHecht","html_url":"https://github.com/GeoffreyHecht","followers_url":"https://api.github.com/users/GeoffreyHecht/followers","following_url":"https://api.github.com/users/GeoffreyHecht/following{/other_user}","gists_url":"https://api.github.com/users/GeoffreyHecht/gists{/gist_id}","starred_url":"https://api.github.com/users/GeoffreyHecht/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GeoffreyHecht/subscriptions","organizations_url":"https://api.github.com/users/GeoffreyHecht/orgs","repos_url":"https://api.github.com/users/GeoffreyHecht/repos","events_url":"https://api.github.com/users/GeoffreyHecht/events{/privacy}","received_events_url":"https://api.github.com/users/GeoffreyHecht/received_events","type":"User","site_admin":false}},{"total":10,"weeks":[{"w":1215302400,"a":0,"d":0,"c":0},{"w":1215907200,"a":0,"d":0,"c":0},{"w":1216512000,"a":0,"d":0,"c":0},{"w":1217116800,"a":0,"d":0,"c":0},{"w":1217721600,"a":0,"d":0,"c":0},{"w":1218326400,"a":0,"d":0,"c":0},{"w":1218931200,"a":0,"d":0,"c":0},{"w":1219536000,"a":0,"d":0,"c":0},{"w":1220140800,"a":0,"d":0,"c":0},{"w":1220745600,"a":0,"d":0,"c":0},{"w":1221350400,"a":0,"d":0,"c":0},{"w":1221955200,"a":0,"d":0,"c":0},{"w":1222560000,"a":0,"d":0,"c":0},{"w":1223164800,"a":0,"d":0,"c":0},{"w":1223769600,"a":0,"d":0,"c":0},{"w":1224374400,"a":0,"d":0,"c":0},{"w":1224979200,"a":0,"d":0,"c":0},{"w":1225584000,"a":0,"d":0,"c":0},{"w":1226188800,"a":0,"d":0,"c":0},{"w":1226793600,"a":0,"d":0,"c":0},{"w":1227398400,"a":0,"d":0,"c":0},{"w":1228003200,"a":0,"d":0,"c":0},{"w":1228608000,"a":0,"d":0,"c":0},{"w":1229212800,"a":0,"d":0,"c":0},{"w":1229817600,"a":0,"d":0,"c":0},{"w":1230422400,"a":0,"d":0,"c":0},{"w":1231027200,"a":0,"d":0,"c":0},{"w":1231632000,"a":0,"d":0,"c":0},{"w":1232236800,"a":0,"d":0,"c":0},{"w":1232841600,"a":0,"d":0,"c":0},{"w":1233446400,"a":0,"d":0,"c":0},{"w":1234051200,"a":0,"d":0,"c":0},{"w":1234656000,"a":0,"d":0,"c":0},{"w":1235260800,"a":0,"d":0,"c":0},{"w":1235865600,"a":0,"d":0,"c":0},{"w":1236470400,"a":0,"d":0,"c":0},{"w":1237075200,"a":0,"d":0,"c":0},{"w":1237680000,"a":0,"d":0,"c":0},{"w":1238284800,"a":0,"d":0,"c":0},{"w":1238889600,"a":0,"d":0,"c":0},{"w":1239494400,"a":0,"d":0,"c":0},{"w":1240099200,"a":0,"d":0,"c":0},{"w":1240704000,"a":0,"d":0,"c":0},{"w":1241308800,"a":0,"d":0,"c":0},{"w":1241913600,"a":0,"d":0,"c":0},{"w":1242518400,"a":0,"d":0,"c":0},{"w":1243123200,"a":0,"d":0,"c":0},{"w":1243728000,"a":0,"d":0,"c":0},{"w":1244332800,"a":0,"d":0,"c":0},{"w":1244937600,"a":0,"d":0,"c":0},{"w":1245542400,"a":0,"d":0,"c":0},{"w":1246147200,"a":0,"d":0,"c":0},{"w":1246752000,"a":0,"d":0,"c":0},{"w":1247356800,"a":0,"d":0,"c":0},{"w":1247961600,"a":0,"d":0,"c":0},{"w":1248566400,"a":0,"d":0,"c":0},{"w":1249171200,"a":0,"d":0,"c":0},{"w":1249776000,"a":0,"d":0,"c":0},{"w":1250380800,"a":0,"d":0,"c":0},{"w":1250985600,"a":0,"d":0,"c":0},{"w":1251590400,"a":0,"d":0,"c":0},{"w":1252195200,"a":0,"d":0,"c":0},{"w":1252800000,"a":0,"d":0,"c":0},{"w":1253404800,"a":0,"d":0,"c":0},{"w":1254009600,"a":0,"d":0,"c":0},{"w":1254614400,"a":0,"d":0,"c":0},{"w":1255219200,"a":0,"d":0,"c":0},{"w":1255824000,"a":0,"d":0,"c":0},{"w":1256428800,"a":0,"d":0,"c":0},{"w":1257033600,"a":0,"d":0,"c":0},{"w":1257638400,"a":0,"d":0,"c":0},{"w":1258243200,"a":0,"d":0,"c":0},{"w":1258848000,"a":0,"d":0,"c":0},{"w":1259452800,"a":0,"d":0,"c":0},{"w":1260057600,"a":0,"d":0,"c":0},{"w":1260662400,"a":0,"d":0,"c":0},{"w":1261267200,"a":0,"d":0,"c":0},{"w":1261872000,"a":0,"d":0,"c":0},{"w":1262476800,"a":0,"d":0,"c":0},{"w":1263081600,"a":0,"d":0,"c":0},{"w":1263686400,"a":0,"d":0,"c":0},{"w":1264291200,"a":0,"d":0,"c":0},{"w":1264896000,"a":0,"d":0,"c":0},{"w":1265500800,"a":0,"d":0,"c":0},{"w":1266105600,"a":0,"d":0,"c":0},{"w":1266710400,"a":0,"d":0,"c":0},{"w":1267315200,"a":0,"d":0,"c":0},{"w":1267920000,"a":0,"d":0,"c":0},{"w":1268524800,"a":0,"d":0,"c":0},{"w":1269129600,"a":0,"d":0,"c":0},{"w":1269734400,"a":0,"d":0,"c":0},{"w":1270339200,"a":0,"d":0,"c":0},{"w":1270944000,"a":0,"d":0,"c":0},{"w":1271548800,"a":0,"d":0,"c":0},{"w":1272153600,"a":0,"d":0,"c":0},{"w":1272758400,"a":0,"d":0,"c":0},{"w":1273363200,"a":0,"d":0,"c":0},{"w":1273968000,"a":0,"d":0,"c":0},{"w":1274572800,"a":0,"d":0,"c":0},{"w":1275177600,"a":0,"d":0,"c":0},{"w":1275782400,"a":0,"d":0,"c":0},{"w":1276387200,"a":0,"d":0,"c":0},{"w":1276992000,"a":0,"d":0,"c":0},{"w":1277596800,"a":0,"d":0,"c":0},{"w":1278201600,"a":0,"d":0,"c":0},{"w":1278806400,"a":0,"d":0,"c":0},{"w":1279411200,"a":0,"d":0,"c":0},{"w":1280016000,"a":0,"d":0,"c":0},{"w":1280620800,"a":0,"d":0,"c":0},{"w":1281225600,"a":0,"d":0,"c":0},{"w":1281830400,"a":0,"d":0,"c":0},{"w":1282435200,"a":0,"d":0,"c":0},{"w":1283040000,"a":0,"d":0,"c":0},{"w":1283644800,"a":0,"d":0,"c":0},{"w":1284249600,"a":0,"d":0,"c":0},{"w":1284854400,"a":0,"d":0,"c":0},{"w":1285459200,"a":0,"d":0,"c":0},{"w":1286064000,"a":0,"d":0,"c":0},{"w":1286668800,"a":0,"d":0,"c":0},{"w":1287273600,"a":0,"d":0,"c":0},{"w":1287878400,"a":0,"d":0,"c":0},{"w":1288483200,"a":0,"d":0,"c":0},{"w":1289088000,"a":0,"d":0,"c":0},{"w":1289692800,"a":0,"d":0,"c":0},{"w":1290297600,"a":0,"d":0,"c":0},{"w":1290902400,"a":0,"d":0,"c":0},{"w":1291507200,"a":0,"d":0,"c":0},{"w":1292112000,"a":0,"d":0,"c":0},{"w":1292716800,"a":0,"d":0,"c":0},{"w":1293321600,"a":0,"d":0,"c":0},{"w":1293926400,"a":0,"d":0,"c":0},{"w":1294531200,"a":0,"d":0,"c":0},{"w":1295136000,"a":0,"d":0,"c":0},{"w":1295740800,"a":0,"d":0,"c":0},{"w":1296345600,"a":0,"d":0,"c":0},{"w":1296950400,"a":0,"d":0,"c":0},{"w":1297555200,"a":0,"d":0,"c":0},{"w":1298160000,"a":0,"d":0,"c":0},{"w":1298764800,"a":0,"d":0,"c":0},{"w":1299369600,"a":0,"d":0,"c":0},{"w":1299974400,"a":0,"d":0,"c":0},{"w":1300579200,"a":0,"d":0,"c":0},{"w":1301184000,"a":0,"d":0,"c":0},{"w":1301788800,"a":0,"d":0,"c":0},{"w":1302393600,"a":0,"d":0,"c":0},{"w":1302998400,"a":0,"d":0,"c":0},{"w":1303603200,"a":0,"d":0,"c":0},{"w":1304208000,"a":0,"d":0,"c":0},{"w":1304812800,"a":0,"d":0,"c":0},{"w":1305417600,"a":0,"d":0,"c":0},{"w":1306022400,"a":0,"d":0,"c":0},{"w":1306627200,"a":0,"d":0,"c":0},{"w":1307232000,"a":0,"d":0,"c":0},{"w":1307836800,"a":0,"d":0,"c":0},{"w":1308441600,"a":0,"d":0,"c":0},{"w":1309046400,"a":0,"d":0,"c":0},{"w":1309651200,"a":0,"d":0,"c":0},{"w":1310256000,"a":0,"d":0,"c":0},{"w":1310860800,"a":0,"d":0,"c":0},{"w":1311465600,"a":0,"d":0,"c":0},{"w":1312070400,"a":0,"d":0,"c":0},{"w":1312675200,"a":0,"d":0,"c":0},{"w":1313280000,"a":0,"d":0,"c":0},{"w":1313884800,"a":0,"d":0,"c":0},{"w":1314489600,"a":0,"d":0,"c":0},{"w":1315094400,"a":0,"d":0,"c":0},{"w":1315699200,"a":0,"d":0,"c":0},{"w":1316304000,"a":0,"d":0,"c":0},{"w":1316908800,"a":0,"d":0,"c":0},{"w":1317513600,"a":0,"d":0,"c":0},{"w":1318118400,"a":0,"d":0,"c":0},{"w":1318723200,"a":0,"d":0,"c":0},{"w":1319328000,"a":0,"d":0,"c":0},{"w":1319932800,"a":0,"d":0,"c":0},{"w":1320537600,"a":0,"d":0,"c":0},{"w":1321142400,"a":0,"d":0,"c":0},{"w":1321747200,"a":0,"d":0,"c":0},{"w":1322352000,"a":0,"d":0,"c":0},{"w":1322956800,"a":0,"d":0,"c":0},{"w":1323561600,"a":0,"d":0,"c":0},{"w":1324166400,"a":0,"d":0,"c":0},{"w":1324771200,"a":0,"d":0,"c":0},{"w":1325376000,"a":0,"d":0,"c":0},{"w":1325980800,"a":0,"d":0,"c":0},{"w":1326585600,"a":0,"d":0,"c":0},{"w":1327190400,"a":0,"d":0,"c":0},{"w":1327795200,"a":0,"d":0,"c":0},{"w":1328400000,"a":0,"d":0,"c":0},{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":2865,"d":997,"c":9},{"w":1368316800,"a":162,"d":7,"c":1},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0},{"w":1384646400,"a":0,"d":0,"c":0},{"w":1385251200,"a":0,"d":0,"c":0},{"w":1385856000,"a":0,"d":0,"c":0},{"w":1386460800,"a":0,"d":0,"c":0},{"w":1387065600,"a":0,"d":0,"c":0},{"w":1387670400,"a":0,"d":0,"c":0},{"w":1388275200,"a":0,"d":0,"c":0},{"w":1388880000,"a":0,"d":0,"c":0},{"w":1389484800,"a":0,"d":0,"c":0},{"w":1390089600,"a":0,"d":0,"c":0},{"w":1390694400,"a":0,"d":0,"c":0},{"w":1391299200,"a":0,"d":0,"c":0},{"w":1391904000,"a":0,"d":0,"c":0},{"w":1392508800,"a":0,"d":0,"c":0},{"w":1393113600,"a":0,"d":0,"c":0},{"w":1393718400,"a":0,"d":0,"c":0},{"w":1394323200,"a":0,"d":0,"c":0},{"w":1394928000,"a":0,"d":0,"c":0},{"w":1395532800,"a":0,"d":0,"c":0},{"w":1396137600,"a":0,"d":0,"c":0},{"w":1396742400,"a":0,"d":0,"c":0},{"w":1397347200,"a":0,"d":0,"c":0},{"w":1397952000,"a":0,"d":0,"c":0},{"w":1398556800,"a":0,"d":0,"c":0},{"w":1399161600,"a":0,"d":0,"c":0},{"w":1399766400,"a":0,"d":0,"c":0},{"w":1400371200,"a":0,"d":0,"c":0},{"w":1400976000,"a":0,"d":0,"c":0},{"w":1401580800,"a":0,"d":0,"c":0},{"w":1402185600,"a":0,"d":0,"c":0},{"w":1402790400,"a":0,"d":0,"c":0},{"w":1403395200,"a":0,"d":0,"c":0},{"w":1404000000,"a":0,"d":0,"c":0},{"w":1404604800,"a":0,"d":0,"c":0},{"w":1405209600,"a":0,"d":0,"c":0},{"w":1405814400,"a":0,"d":0,"c":0},{"w":1406419200,"a":0,"d":0,"c":0},{"w":1407024000,"a":0,"d":0,"c":0},{"w":1407628800,"a":0,"d":0,"c":0},{"w":1408233600,"a":0,"d":0,"c":0},{"w":1408838400,"a":0,"d":0,"c":0},{"w":1409443200,"a":0,"d":0,"c":0},{"w":1410048000,"a":0,"d":0,"c":0},{"w":1410652800,"a":0,"d":0,"c":0},{"w":1411257600,"a":0,"d":0,"c":0},{"w":1411862400,"a":0,"d":0,"c":0},{"w":1412467200,"a":0,"d":0,"c":0},{"w":1413072000,"a":0,"d":0,"c":0},{"w":1413676800,"a":0,"d":0,"c":0},{"w":1414281600,"a":0,"d":0,"c":0},{"w":1414886400,"a":0,"d":0,"c":0},{"w":1415491200,"a":0,"d":0,"c":0},{"w":1416096000,"a":0,"d":0,"c":0},{"w":1416700800,"a":0,"d":0,"c":0},{"w":1417305600,"a":0,"d":0,"c":0},{"w":1417910400,"a":0,"d":0,"c":0},{"w":1418515200,"a":0,"d":0,"c":0},{"w":1419120000,"a":0,"d":0,"c":0},{"w":1419724800,"a":0,"d":0,"c":0},{"w":1420329600,"a":0,"d":0,"c":0},{"w":1420934400,"a":0,"d":0,"c":0},{"w":1421539200,"a":0,"d":0,"c":0},{"w":1422144000,"a":0,"d":0,"c":0},{"w":1422748800,"a":0,"d":0,"c":0},{"w":1423353600,"a":0,"d":0,"c":0},{"w":1423958400,"a":0,"d":0,"c":0},{"w":1424563200,"a":0,"d":0,"c":0},{"w":1425168000,"a":0,"d":0,"c":0},{"w":1425772800,"a":0,"d":0,"c":0},{"w":1426377600,"a":0,"d":0,"c":0},{"w":1426982400,"a":0,"d":0,"c":0},{"w":1427587200,"a":0,"d":0,"c":0},{"w":1428192000,"a":0,"d":0,"c":0},{"w":1428796800,"a":0,"d":0,"c":0},{"w":1429401600,"a":0,"d":0,"c":0},{"w":1430006400,"a":0,"d":0,"c":0},{"w":1430611200,"a":0,"d":0,"c":0},{"w":1431216000,"a":0,"d":0,"c":0},{"w":1431820800,"a":0,"d":0,"c":0},{"w":1432425600,"a":0,"d":0,"c":0},{"w":1433030400,"a":0,"d":0,"c":0},{"w":1433635200,"a":0,"d":0,"c":0},{"w":1434240000,"a":0,"d":0,"c":0},{"w":1434844800,"a":0,"d":0,"c":0},{"w":1435449600,"a":0,"d":0,"c":0},{"w":1436054400,"a":0,"d":0,"c":0},{"w":1436659200,"a":0,"d":0,"c":0},{"w":1437264000,"a":0,"d":0,"c":0},{"w":1437868800,"a":0,"d":0,"c":0},{"w":1438473600,"a":0,"d":0,"c":0},{"w":1439078400,"a":0,"d":0,"c":0},{"w":1439683200,"a":0,"d":0,"c":0},{"w":1440288000,"a":0,"d":0,"c":0},{"w":1440892800,"a":0,"d":0,"c":0},{"w":1441497600,"a":0,"d":0,"c":0},{"w":1442102400,"a":0,"d":0,"c":0},{"w":1442707200,"a":0,"d":0,"c":0},{"w":1443312000,"a":0,"d":0,"c":0},{"w":1443916800,"a":0,"d":0,"c":0},{"w":1444521600,"a":0,"d":0,"c":0},{"w":1445126400,"a":0,"d":0,"c":0},{"w":1445731200,"a":0,"d":0,"c":0},{"w":1446336000,"a":0,"d":0,"c":0},{"w":1446940800,"a":0,"d":0,"c":0},{"w":1447545600,"a":0,"d":0,"c":0},{"w":1448150400,"a":0,"d":0,"c":0},{"w":1448755200,"a":0,"d":0,"c":0},{"w":1449360000,"a":0,"d":0,"c":0},{"w":1449964800,"a":0,"d":0,"c":0},{"w":1450569600,"a":0,"d":0,"c":0},{"w":1451174400,"a":0,"d":0,"c":0},{"w":1451779200,"a":0,"d":0,"c":0},{"w":1452384000,"a":0,"d":0,"c":0},{"w":1452988800,"a":0,"d":0,"c":0},{"w":1453593600,"a":0,"d":0,"c":0},{"w":1454198400,"a":0,"d":0,"c":0},{"w":1454803200,"a":0,"d":0,"c":0},{"w":1455408000,"a":0,"d":0,"c":0},{"w":1456012800,"a":0,"d":0,"c":0},{"w":1456617600,"a":0,"d":0,"c":0},{"w":1457222400,"a":0,"d":0,"c":0},{"w":1457827200,"a":0,"d":0,"c":0},{"w":1458432000,"a":0,"d":0,"c":0},{"w":1459036800,"a":0,"d":0,"c":0},{"w":1459641600,"a":0,"d":0,"c":0},{"w":1460246400,"a":0,"d":0,"c":0},{"w":1460851200,"a":0,"d":0,"c":0},{"w":1461456000,"a":0,"d":0,"c":0},{"w":1462060800,"a":0,"d":0,"c":0},{"w":1462665600,"a":0,"d":0,"c":0},{"w":1463270400,"a":0,"d":0,"c":0},{"w":1463875200,"a":0,"d":0,"c":0},{"w":1464480000,"a":0,"d":0,"c":0},{"w":1465084800,"a":0,"d":0,"c":0},{"w":1465689600,"a":0,"d":0,"c":0},{"w":1466294400,"a":0,"d":0,"c":0},{"w":1466899200,"a":0,"d":0,"c":0},{"w":1467504000,"a":0,"d":0,"c":0},{"w":1468108800,"a":0,"d":0,"c":0},{"w":1468713600,"a":0,"d":0,"c":0},{"w":1469318400,"a":0,"d":0,"c":0},{"w":1469923200,"a":0,"d":0,"c":0},{"w":1470528000,"a":0,"d":0,"c":0},{"w":1471132800,"a":0,"d":0,"c":0},{"w":1471737600,"a":0,"d":0,"c":0},{"w":1472342400,"a":0,"d":0,"c":0},{"w":1472947200,"a":0,"d":0,"c":0},{"w":1473552000,"a":0,"d":0,"c":0},{"w":1474156800,"a":0,"d":0,"c":0},{"w":1474761600,"a":0,"d":0,"c":0},{"w":1475366400,"a":0,"d":0,"c":0},{"w":1475971200,"a":0,"d":0,"c":0},{"w":1476576000,"a":0,"d":0,"c":0},{"w":1477180800,"a":0,"d":0,"c":0},{"w":1477785600,"a":0,"d":0,"c":0},{"w":1478390400,"a":0,"d":0,"c":0},{"w":1478995200,"a":0,"d":0,"c":0},{"w":1479600000,"a":0,"d":0,"c":0},{"w":1480204800,"a":0,"d":0,"c":0},{"w":1480809600,"a":0,"d":0,"c":0},{"w":1481414400,"a":0,"d":0,"c":0},{"w":1482019200,"a":0,"d":0,"c":0},{"w":1482624000,"a":0,"d":0,"c":0},{"w":1483228800,"a":0,"d":0,"c":0},{"w":1483833600,"a":0,"d":0,"c":0},{"w":1484438400,"a":0,"d":0,"c":0},{"w":1485043200,"a":0,"d":0,"c":0},{"w":1485648000,"a":0,"d":0,"c":0},{"w":1486252800,"a":0,"d":0,"c":0},{"w":1486857600,"a":0,"d":0,"c":0},{"w":1487462400,"a":0,"d":0,"c":0},{"w":1488067200,"a":0,"d":0,"c":0},{"w":1488672000,"a":0,"d":0,"c":0},{"w":1489276800,"a":0,"d":0,"c":0},{"w":1489881600,"a":0,"d":0,"c":0},{"w":1490486400,"a":0,"d":0,"c":0},{"w":1491091200,"a":0,"d":0,"c":0},{"w":1491696000,"a":0,"d":0,"c":0},{"w":1492300800,"a":0,"d":0,"c":0},{"w":1492905600,"a":0,"d":0,"c":0},{"w":1493510400,"a":0,"d":0,"c":0},{"w":1494115200,"a":0,"d":0,"c":0},{"w":1494720000,"a":0,"d":0,"c":0},{"w":1495324800,"a":0,"d":0,"c":0},{"w":1495929600,"a":0,"d":0,"c":0},{"w":1496534400,"a":0,"d":0,"c":0},{"w":1497139200,"a":0,"d":0,"c":0},{"w":1497744000,"a":0,"d":0,"c":0},{"w":1498348800,"a":0,"d":0,"c":0},{"w":1498953600,"a":0,"d":0,"c":0},{"w":1499558400,"a":0,"d":0,"c":0},{"w":1500163200,"a":0,"d":0,"c":0},{"w":1500768000,"a":0,"d":0,"c":0},{"w":1501372800,"a":0,"d":0,"c":0},{"w":1501977600,"a":0,"d":0,"c":0},{"w":1502582400,"a":0,"d":0,"c":0},{"w":1503187200,"a":0,"d":0,"c":0},{"w":1503792000,"a":0,"d":0,"c":0},{"w":1504396800,"a":0,"d":0,"c":0},{"w":1505001600,"a":0,"d":0,"c":0},{"w":1505606400,"a":0,"d":0,"c":0},{"w":1506211200,"a":0,"d":0,"c":0},{"w":1506816000,"a":0,"d":0,"c":0},{"w":1507420800,"a":0,"d":0,"c":0},{"w":1508025600,"a":0,"d":0,"c":0},{"w":1508630400,"a":0,"d":0,"c":0},{"w":1509235200,"a":0,"d":0,"c":0},{"w":1509840000,"a":0,"d":0,"c":0},{"w":1510444800,"a":0,"d":0,"c":0},{"w":1511049600,"a":0,"d":0,"c":0},{"w":1511654400,"a":0,"d":0,"c":0},{"w":1512259200,"a":0,"d":0,"c":0},{"w":1512864000,"a":0,"d":0,"c":0},{"w":1513468800,"a":0,"d":0,"c":0},{"w":1514073600,"a":0,"d":0,"c":0},{"w":1514678400,"a":0,"d":0,"c":0},{"w":1515283200,"a":0,"d":0,"c":0},{"w":1515888000,"a":0,"d":0,"c":0},{"w":1516492800,"a":0,"d":0,"c":0},{"w":1517097600,"a":0,"d":0,"c":0},{"w":1517702400,"a":0,"d":0,"c":0},{"w":1518307200,"a":0,"d":0,"c":0},{"w":1518912000,"a":0,"d":0,"c":0},{"w":1519516800,"a":0,"d":0,"c":0},{"w":1520121600,"a":0,"d":0,"c":0},{"w":1520726400,"a":0,"d":0,"c":0},{"w":1521331200,"a":0,"d":0,"c":0},{"w":1521936000,"a":0,"d":0,"c":0},{"w":1522540800,"a":0,"d":0,"c":0},{"w":1523145600,"a":0,"d":0,"c":0},{"w":1523750400,"a":0,"d":0,"c":0},{"w":1524355200,"a":0,"d":0,"c":0},{"w":1524960000,"a":0,"d":0,"c":0},{"w":1525564800,"a":0,"d":0,"c":0},{"w":1526169600,"a":0,"d":0,"c":0},{"w":1526774400,"a":0,"d":0,"c":0},{"w":1527379200,"a":0,"d":0,"c":0},{"w":1527984000,"a":0,"d":0,"c":0},{"w":1528588800,"a":0,"d":0,"c":0},{"w":1529193600,"a":0,"d":0,"c":0},{"w":1529798400,"a":0,"d":0,"c":0},{"w":1530403200,"a":0,"d":0,"c":0},{"w":1531008000,"a":0,"d":0,"c":0},{"w":1531612800,"a":0,"d":0,"c":0},{"w":1532217600,"a":0,"d":0,"c":0},{"w":1532822400,"a":0,"d":0,"c":0},{"w":1533427200,"a":0,"d":0,"c":0},{"w":1534032000,"a":0,"d":0,"c":0},{"w":1534636800,"a":0,"d":0,"c":0},{"w":1535241600,"a":0,"d":0,"c":0},{"w":1535846400,"a":0,"d":0,"c":0},{"w":1536451200,"a":0,"d":0,"c":0},{"w":1537056000,"a":0,"d":0,"c":0},{"w":1537660800,"a":0,"d":0,"c":0},{"w":1538265600,"a":0,"d":0,"c":0},{"w":1538870400,"a":0,"d":0,"c":0},{"w":1539475200,"a":0,"d":0,"c":0},{"w":1540080000,"a":0,"d":0,"c":0},{"w":1540684800,"a":0,"d":0,"c":0},{"w":1541289600,"a":0,"d":0,"c":0},{"w":1541894400,"a":0,"d":0,"c":0},{"w":1542499200,"a":0,"d":0,"c":0},{"w":1543104000,"a":0,"d":0,"c":0},{"w":1543708800,"a":0,"d":0,"c":0},{"w":1544313600,"a":0,"d":0,"c":0},{"w":1544918400,"a":0,"d":0,"c":0},{"w":1545523200,"a":0,"d":0,"c":0},{"w":1546128000,"a":0,"d":0,"c":0},{"w":1546732800,"a":0,"d":0,"c":0},{"w":1547337600,"a":0,"d":0,"c":0},{"w":1547942400,"a":0,"d":0,"c":0},{"w":1548547200,"a":0,"d":0,"c":0},{"w":1549152000,"a":0,"d":0,"c":0},{"w":1549756800,"a":0,"d":0,"c":0},{"w":1550361600,"a":0,"d":0,"c":0},{"w":1550966400,"a":0,"d":0,"c":0},{"w":1551571200,"a":0,"d":0,"c":0},{"w":1552176000,"a":0,"d":0,"c":0},{"w":1552780800,"a":0,"d":0,"c":0},{"w":1553385600,"a":0,"d":0,"c":0},{"w":1553990400,"a":0,"d":0,"c":0},{"w":1554595200,"a":0,"d":0,"c":0},{"w":1555200000,"a":0,"d":0,"c":0},{"w":1555804800,"a":0,"d":0,"c":0},{"w":1556409600,"a":0,"d":0,"c":0},{"w":1557014400,"a":0,"d":0,"c":0},{"w":1557619200,"a":0,"d":0,"c":0},{"w":1558224000,"a":0,"d":0,"c":0},{"w":1558828800,"a":0,"d":0,"c":0},{"w":1559433600,"a":0,"d":0,"c":0},{"w":1560038400,"a":0,"d":0,"c":0},{"w":1560643200,"a":0,"d":0,"c":0},{"w":1561248000,"a":0,"d":0,"c":0},{"w":1561852800,"a":0,"d":0,"c":0},{"w":1562457600,"a":0,"d":0,"c":0}],"author":{"login":"nheu","id":3933505,"node_id":"MDQ6VXNlcjM5MzM1MDU=","avatar_url":"https://avatars1.githubusercontent.com/u/3933505?v=4","gravatar_id":"","url":"https://api.github.com/users/nheu","html_url":"https://github.com/nheu","followers_url":"https://api.github.com/users/nheu/followers","following_url":"https://api.github.com/users/nheu/following{/other_user}","gists_url":"https://api.github.com/users/nheu/gists{/gist_id}","starred_url":"https://api.github.com/users/nheu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nheu/subscriptions","organizations_url":"https://api.github.com/users/nheu/orgs","repos_url":"https://api.github.com/users/nheu/repos","events_url":"https://api.github.com/users/nheu/events{/privacy}","received_events_url":"https://api.github.com/users/nheu/received_events","type":"User","site_admin":false}},{"total":13,"weeks":[{"w":1215302400,"a":0,"d":0,"c":0},{"w":1215907200,"a":0,"d":0,"c":0},{"w":1216512000,"a":0,"d":0,"c":0},{"w":1217116800,"a":0,"d":0,"c":0},{"w":1217721600,"a":0,"d":0,"c":0},{"w":1218326400,"a":0,"d":0,"c":0},{"w":1218931200,"a":0,"d":0,"c":0},{"w":1219536000,"a":0,"d":0,"c":0},{"w":1220140800,"a":0,"d":0,"c":0},{"w":1220745600,"a":0,"d":0,"c":0},{"w":1221350400,"a":0,"d":0,"c":0},{"w":1221955200,"a":0,"d":0,"c":0},{"w":1222560000,"a":0,"d":0,"c":0},{"w":1223164800,"a":0,"d":0,"c":0},{"w":1223769600,"a":0,"d":0,"c":0},{"w":1224374400,"a":0,"d":0,"c":0},{"w":1224979200,"a":0,"d":0,"c":0},{"w":1225584000,"a":0,"d":0,"c":0},{"w":1226188800,"a":0,"d":0,"c":0},{"w":1226793600,"a":0,"d":0,"c":0},{"w":1227398400,"a":0,"d":0,"c":0},{"w":1228003200,"a":0,"d":0,"c":0},{"w":1228608000,"a":0,"d":0,"c":0},{"w":1229212800,"a":0,"d":0,"c":0},{"w":1229817600,"a":0,"d":0,"c":0},{"w":1230422400,"a":0,"d":0,"c":0},{"w":1231027200,"a":0,"d":0,"c":0},{"w":1231632000,"a":0,"d":0,"c":0},{"w":1232236800,"a":0,"d":0,"c":0},{"w":1232841600,"a":0,"d":0,"c":0},{"w":1233446400,"a":0,"d":0,"c":0},{"w":1234051200,"a":0,"d":0,"c":0},{"w":1234656000,"a":0,"d":0,"c":0},{"w":1235260800,"a":0,"d":0,"c":0},{"w":1235865600,"a":0,"d":0,"c":0},{"w":1236470400,"a":0,"d":0,"c":0},{"w":1237075200,"a":0,"d":0,"c":0},{"w":1237680000,"a":0,"d":0,"c":0},{"w":1238284800,"a":0,"d":0,"c":0},{"w":1238889600,"a":0,"d":0,"c":0},{"w":1239494400,"a":0,"d":0,"c":0},{"w":1240099200,"a":0,"d":0,"c":0},{"w":1240704000,"a":0,"d":0,"c":0},{"w":1241308800,"a":0,"d":0,"c":0},{"w":1241913600,"a":0,"d":0,"c":0},{"w":1242518400,"a":0,"d":0,"c":0},{"w":1243123200,"a":0,"d":0,"c":0},{"w":1243728000,"a":0,"d":0,"c":0},{"w":1244332800,"a":0,"d":0,"c":0},{"w":1244937600,"a":0,"d":0,"c":0},{"w":1245542400,"a":0,"d":0,"c":0},{"w":1246147200,"a":0,"d":0,"c":0},{"w":1246752000,"a":0,"d":0,"c":0},{"w":1247356800,"a":0,"d":0,"c":0},{"w":1247961600,"a":0,"d":0,"c":0},{"w":1248566400,"a":0,"d":0,"c":0},{"w":1249171200,"a":0,"d":0,"c":0},{"w":1249776000,"a":0,"d":0,"c":0},{"w":1250380800,"a":0,"d":0,"c":0},{"w":1250985600,"a":0,"d":0,"c":0},{"w":1251590400,"a":0,"d":0,"c":0},{"w":1252195200,"a":0,"d":0,"c":0},{"w":1252800000,"a":0,"d":0,"c":0},{"w":1253404800,"a":0,"d":0,"c":0},{"w":1254009600,"a":0,"d":0,"c":0},{"w":1254614400,"a":0,"d":0,"c":0},{"w":1255219200,"a":0,"d":0,"c":0},{"w":1255824000,"a":0,"d":0,"c":0},{"w":1256428800,"a":0,"d":0,"c":0},{"w":1257033600,"a":0,"d":0,"c":0},{"w":1257638400,"a":0,"d":0,"c":0},{"w":1258243200,"a":0,"d":0,"c":0},{"w":1258848000,"a":0,"d":0,"c":0},{"w":1259452800,"a":0,"d":0,"c":0},{"w":1260057600,"a":0,"d":0,"c":0},{"w":1260662400,"a":0,"d":0,"c":0},{"w":1261267200,"a":0,"d":0,"c":0},{"w":1261872000,"a":0,"d":0,"c":0},{"w":1262476800,"a":0,"d":0,"c":0},{"w":1263081600,"a":0,"d":0,"c":0},{"w":1263686400,"a":0,"d":0,"c":0},{"w":1264291200,"a":0,"d":0,"c":0},{"w":1264896000,"a":0,"d":0,"c":0},{"w":1265500800,"a":0,"d":0,"c":0},{"w":1266105600,"a":0,"d":0,"c":0},{"w":1266710400,"a":0,"d":0,"c":0},{"w":1267315200,"a":0,"d":0,"c":0},{"w":1267920000,"a":0,"d":0,"c":0},{"w":1268524800,"a":0,"d":0,"c":0},{"w":1269129600,"a":0,"d":0,"c":0},{"w":1269734400,"a":0,"d":0,"c":0},{"w":1270339200,"a":0,"d":0,"c":0},{"w":1270944000,"a":0,"d":0,"c":0},{"w":1271548800,"a":0,"d":0,"c":0},{"w":1272153600,"a":0,"d":0,"c":0},{"w":1272758400,"a":0,"d":0,"c":0},{"w":1273363200,"a":0,"d":0,"c":0},{"w":1273968000,"a":0,"d":0,"c":0},{"w":1274572800,"a":0,"d":0,"c":0},{"w":1275177600,"a":0,"d":0,"c":0},{"w":1275782400,"a":0,"d":0,"c":0},{"w":1276387200,"a":0,"d":0,"c":0},{"w":1276992000,"a":0,"d":0,"c":0},{"w":1277596800,"a":0,"d":0,"c":0},{"w":1278201600,"a":0,"d":0,"c":0},{"w":1278806400,"a":0,"d":0,"c":0},{"w":1279411200,"a":0,"d":0,"c":0},{"w":1280016000,"a":0,"d":0,"c":0},{"w":1280620800,"a":0,"d":0,"c":0},{"w":1281225600,"a":0,"d":0,"c":0},{"w":1281830400,"a":0,"d":0,"c":0},{"w":1282435200,"a":0,"d":0,"c":0},{"w":1283040000,"a":0,"d":0,"c":0},{"w":1283644800,"a":0,"d":0,"c":0},{"w":1284249600,"a":0,"d":0,"c":0},{"w":1284854400,"a":0,"d":0,"c":0},{"w":1285459200,"a":0,"d":0,"c":0},{"w":1286064000,"a":0,"d":0,"c":0},{"w":1286668800,"a":0,"d":0,"c":0},{"w":1287273600,"a":0,"d":0,"c":0},{"w":1287878400,"a":0,"d":0,"c":0},{"w":1288483200,"a":0,"d":0,"c":0},{"w":1289088000,"a":0,"d":0,"c":0},{"w":1289692800,"a":0,"d":0,"c":0},{"w":1290297600,"a":0,"d":0,"c":0},{"w":1290902400,"a":0,"d":0,"c":0},{"w":1291507200,"a":0,"d":0,"c":0},{"w":1292112000,"a":0,"d":0,"c":0},{"w":1292716800,"a":0,"d":0,"c":0},{"w":1293321600,"a":0,"d":0,"c":0},{"w":1293926400,"a":0,"d":0,"c":0},{"w":1294531200,"a":0,"d":0,"c":0},{"w":1295136000,"a":0,"d":0,"c":0},{"w":1295740800,"a":0,"d":0,"c":0},{"w":1296345600,"a":0,"d":0,"c":0},{"w":1296950400,"a":0,"d":0,"c":0},{"w":1297555200,"a":0,"d":0,"c":0},{"w":1298160000,"a":0,"d":0,"c":0},{"w":1298764800,"a":0,"d":0,"c":0},{"w":1299369600,"a":0,"d":0,"c":0},{"w":1299974400,"a":0,"d":0,"c":0},{"w":1300579200,"a":0,"d":0,"c":0},{"w":1301184000,"a":0,"d":0,"c":0},{"w":1301788800,"a":0,"d":0,"c":0},{"w":1302393600,"a":0,"d":0,"c":0},{"w":1302998400,"a":0,"d":0,"c":0},{"w":1303603200,"a":0,"d":0,"c":0},{"w":1304208000,"a":0,"d":0,"c":0},{"w":1304812800,"a":0,"d":0,"c":0},{"w":1305417600,"a":0,"d":0,"c":0},{"w":1306022400,"a":0,"d":0,"c":0},{"w":1306627200,"a":0,"d":0,"c":0},{"w":1307232000,"a":0,"d":0,"c":0},{"w":1307836800,"a":0,"d":0,"c":0},{"w":1308441600,"a":0,"d":0,"c":0},{"w":1309046400,"a":0,"d":0,"c":0},{"w":1309651200,"a":0,"d":0,"c":0},{"w":1310256000,"a":0,"d":0,"c":0},{"w":1310860800,"a":0,"d":0,"c":0},{"w":1311465600,"a":0,"d":0,"c":0},{"w":1312070400,"a":0,"d":0,"c":0},{"w":1312675200,"a":0,"d":0,"c":0},{"w":1313280000,"a":0,"d":0,"c":0},{"w":1313884800,"a":0,"d":0,"c":0},{"w":1314489600,"a":0,"d":0,"c":0},{"w":1315094400,"a":0,"d":0,"c":0},{"w":1315699200,"a":0,"d":0,"c":0},{"w":1316304000,"a":0,"d":0,"c":0},{"w":1316908800,"a":0,"d":0,"c":0},{"w":1317513600,"a":0,"d":0,"c":0},{"w":1318118400,"a":0,"d":0,"c":0},{"w":1318723200,"a":0,"d":0,"c":0},{"w":1319328000,"a":0,"d":0,"c":0},{"w":1319932800,"a":0,"d":0,"c":0},{"w":1320537600,"a":0,"d":0,"c":0},{"w":1321142400,"a":0,"d":0,"c":0},{"w":1321747200,"a":0,"d":0,"c":0},{"w":1322352000,"a":0,"d":0,"c":0},{"w":1322956800,"a":0,"d":0,"c":0},{"w":1323561600,"a":0,"d":0,"c":0},{"w":1324166400,"a":0,"d":0,"c":0},{"w":1324771200,"a":0,"d":0,"c":0},{"w":1325376000,"a":0,"d":0,"c":0},{"w":1325980800,"a":0,"d":0,"c":0},{"w":1326585600,"a":0,"d":0,"c":0},{"w":1327190400,"a":0,"d":0,"c":0},{"w":1327795200,"a":0,"d":0,"c":0},{"w":1328400000,"a":0,"d":0,"c":0},{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0},{"w":1384646400,"a":0,"d":0,"c":0},{"w":1385251200,"a":0,"d":0,"c":0},{"w":1385856000,"a":0,"d":0,"c":0},{"w":1386460800,"a":0,"d":0,"c":0},{"w":1387065600,"a":0,"d":0,"c":0},{"w":1387670400,"a":0,"d":0,"c":0},{"w":1388275200,"a":0,"d":0,"c":0},{"w":1388880000,"a":0,"d":0,"c":0},{"w":1389484800,"a":0,"d":0,"c":0},{"w":1390089600,"a":0,"d":0,"c":0},{"w":1390694400,"a":0,"d":0,"c":0},{"w":1391299200,"a":0,"d":0,"c":0},{"w":1391904000,"a":0,"d":0,"c":0},{"w":1392508800,"a":0,"d":0,"c":0},{"w":1393113600,"a":0,"d":0,"c":0},{"w":1393718400,"a":0,"d":0,"c":0},{"w":1394323200,"a":0,"d":0,"c":0},{"w":1394928000,"a":0,"d":0,"c":0},{"w":1395532800,"a":0,"d":0,"c":0},{"w":1396137600,"a":0,"d":0,"c":0},{"w":1396742400,"a":0,"d":0,"c":0},{"w":1397347200,"a":0,"d":0,"c":0},{"w":1397952000,"a":0,"d":0,"c":0},{"w":1398556800,"a":0,"d":0,"c":0},{"w":1399161600,"a":0,"d":0,"c":0},{"w":1399766400,"a":0,"d":0,"c":0},{"w":1400371200,"a":0,"d":0,"c":0},{"w":1400976000,"a":0,"d":0,"c":0},{"w":1401580800,"a":0,"d":0,"c":0},{"w":1402185600,"a":0,"d":0,"c":0},{"w":1402790400,"a":0,"d":0,"c":0},{"w":1403395200,"a":0,"d":0,"c":0},{"w":1404000000,"a":0,"d":0,"c":0},{"w":1404604800,"a":0,"d":0,"c":0},{"w":1405209600,"a":0,"d":0,"c":0},{"w":1405814400,"a":0,"d":0,"c":0},{"w":1406419200,"a":0,"d":0,"c":0},{"w":1407024000,"a":0,"d":0,"c":0},{"w":1407628800,"a":0,"d":0,"c":0},{"w":1408233600,"a":0,"d":0,"c":0},{"w":1408838400,"a":0,"d":0,"c":0},{"w":1409443200,"a":0,"d":0,"c":0},{"w":1410048000,"a":0,"d":0,"c":0},{"w":1410652800,"a":0,"d":0,"c":0},{"w":1411257600,"a":0,"d":0,"c":0},{"w":1411862400,"a":0,"d":0,"c":0},{"w":1412467200,"a":0,"d":0,"c":0},{"w":1413072000,"a":0,"d":0,"c":0},{"w":1413676800,"a":0,"d":0,"c":0},{"w":1414281600,"a":0,"d":0,"c":0},{"w":1414886400,"a":0,"d":0,"c":0},{"w":1415491200,"a":0,"d":0,"c":0},{"w":1416096000,"a":0,"d":0,"c":0},{"w":1416700800,"a":0,"d":0,"c":0},{"w":1417305600,"a":0,"d":0,"c":0},{"w":1417910400,"a":0,"d":0,"c":0},{"w":1418515200,"a":0,"d":0,"c":0},{"w":1419120000,"a":0,"d":0,"c":0},{"w":1419724800,"a":0,"d":0,"c":0},{"w":1420329600,"a":0,"d":0,"c":0},{"w":1420934400,"a":0,"d":0,"c":0},{"w":1421539200,"a":0,"d":0,"c":0},{"w":1422144000,"a":0,"d":0,"c":0},{"w":1422748800,"a":0,"d":0,"c":0},{"w":1423353600,"a":0,"d":0,"c":0},{"w":1423958400,"a":0,"d":0,"c":0},{"w":1424563200,"a":0,"d":0,"c":0},{"w":1425168000,"a":0,"d":0,"c":0},{"w":1425772800,"a":0,"d":0,"c":0},{"w":1426377600,"a":0,"d":0,"c":0},{"w":1426982400,"a":0,"d":0,"c":0},{"w":1427587200,"a":0,"d":0,"c":0},{"w":1428192000,"a":0,"d":0,"c":0},{"w":1428796800,"a":0,"d":0,"c":0},{"w":1429401600,"a":0,"d":0,"c":0},{"w":1430006400,"a":0,"d":0,"c":0},{"w":1430611200,"a":0,"d":0,"c":0},{"w":1431216000,"a":0,"d":0,"c":0},{"w":1431820800,"a":0,"d":0,"c":0},{"w":1432425600,"a":0,"d":0,"c":0},{"w":1433030400,"a":0,"d":0,"c":0},{"w":1433635200,"a":0,"d":0,"c":0},{"w":1434240000,"a":0,"d":0,"c":0},{"w":1434844800,"a":0,"d":0,"c":0},{"w":1435449600,"a":0,"d":0,"c":0},{"w":1436054400,"a":0,"d":0,"c":0},{"w":1436659200,"a":0,"d":0,"c":0},{"w":1437264000,"a":0,"d":0,"c":0},{"w":1437868800,"a":0,"d":0,"c":0},{"w":1438473600,"a":0,"d":0,"c":0},{"w":1439078400,"a":0,"d":0,"c":0},{"w":1439683200,"a":0,"d":0,"c":0},{"w":1440288000,"a":0,"d":0,"c":0},{"w":1440892800,"a":0,"d":0,"c":0},{"w":1441497600,"a":0,"d":0,"c":0},{"w":1442102400,"a":0,"d":0,"c":0},{"w":1442707200,"a":0,"d":0,"c":0},{"w":1443312000,"a":0,"d":0,"c":0},{"w":1443916800,"a":0,"d":0,"c":0},{"w":1444521600,"a":0,"d":0,"c":0},{"w":1445126400,"a":0,"d":0,"c":0},{"w":1445731200,"a":0,"d":0,"c":0},{"w":1446336000,"a":35,"d":8,"c":3},{"w":1446940800,"a":0,"d":0,"c":0},{"w":1447545600,"a":0,"d":0,"c":0},{"w":1448150400,"a":112,"d":0,"c":2},{"w":1448755200,"a":0,"d":0,"c":0},{"w":1449360000,"a":0,"d":0,"c":0},{"w":1449964800,"a":0,"d":0,"c":0},{"w":1450569600,"a":0,"d":0,"c":0},{"w":1451174400,"a":0,"d":0,"c":0},{"w":1451779200,"a":0,"d":0,"c":0},{"w":1452384000,"a":0,"d":0,"c":0},{"w":1452988800,"a":0,"d":0,"c":0},{"w":1453593600,"a":0,"d":0,"c":0},{"w":1454198400,"a":0,"d":0,"c":0},{"w":1454803200,"a":0,"d":0,"c":0},{"w":1455408000,"a":0,"d":0,"c":0},{"w":1456012800,"a":0,"d":0,"c":0},{"w":1456617600,"a":0,"d":0,"c":0},{"w":1457222400,"a":0,"d":0,"c":0},{"w":1457827200,"a":0,"d":0,"c":0},{"w":1458432000,"a":0,"d":0,"c":0},{"w":1459036800,"a":0,"d":0,"c":0},{"w":1459641600,"a":0,"d":0,"c":0},{"w":1460246400,"a":0,"d":0,"c":0},{"w":1460851200,"a":0,"d":0,"c":0},{"w":1461456000,"a":0,"d":0,"c":0},{"w":1462060800,"a":0,"d":0,"c":0},{"w":1462665600,"a":848,"d":296,"c":8},{"w":1463270400,"a":0,"d":0,"c":0},{"w":1463875200,"a":0,"d":0,"c":0},{"w":1464480000,"a":0,"d":0,"c":0},{"w":1465084800,"a":0,"d":0,"c":0},{"w":1465689600,"a":0,"d":0,"c":0},{"w":1466294400,"a":0,"d":0,"c":0},{"w":1466899200,"a":0,"d":0,"c":0},{"w":1467504000,"a":0,"d":0,"c":0},{"w":1468108800,"a":0,"d":0,"c":0},{"w":1468713600,"a":0,"d":0,"c":0},{"w":1469318400,"a":0,"d":0,"c":0},{"w":1469923200,"a":0,"d":0,"c":0},{"w":1470528000,"a":0,"d":0,"c":0},{"w":1471132800,"a":0,"d":0,"c":0},{"w":1471737600,"a":0,"d":0,"c":0},{"w":1472342400,"a":0,"d":0,"c":0},{"w":1472947200,"a":0,"d":0,"c":0},{"w":1473552000,"a":0,"d":0,"c":0},{"w":1474156800,"a":0,"d":0,"c":0},{"w":1474761600,"a":0,"d":0,"c":0},{"w":1475366400,"a":0,"d":0,"c":0},{"w":1475971200,"a":0,"d":0,"c":0},{"w":1476576000,"a":0,"d":0,"c":0},{"w":1477180800,"a":0,"d":0,"c":0},{"w":1477785600,"a":0,"d":0,"c":0},{"w":1478390400,"a":0,"d":0,"c":0},{"w":1478995200,"a":0,"d":0,"c":0},{"w":1479600000,"a":0,"d":0,"c":0},{"w":1480204800,"a":0,"d":0,"c":0},{"w":1480809600,"a":0,"d":0,"c":0},{"w":1481414400,"a":0,"d":0,"c":0},{"w":1482019200,"a":0,"d":0,"c":0},{"w":1482624000,"a":0,"d":0,"c":0},{"w":1483228800,"a":0,"d":0,"c":0},{"w":1483833600,"a":0,"d":0,"c":0},{"w":1484438400,"a":0,"d":0,"c":0},{"w":1485043200,"a":0,"d":0,"c":0},{"w":1485648000,"a":0,"d":0,"c":0},{"w":1486252800,"a":0,"d":0,"c":0},{"w":1486857600,"a":0,"d":0,"c":0},{"w":1487462400,"a":0,"d":0,"c":0},{"w":1488067200,"a":0,"d":0,"c":0},{"w":1488672000,"a":0,"d":0,"c":0},{"w":1489276800,"a":0,"d":0,"c":0},{"w":1489881600,"a":0,"d":0,"c":0},{"w":1490486400,"a":0,"d":0,"c":0},{"w":1491091200,"a":0,"d":0,"c":0},{"w":1491696000,"a":0,"d":0,"c":0},{"w":1492300800,"a":0,"d":0,"c":0},{"w":1492905600,"a":0,"d":0,"c":0},{"w":1493510400,"a":0,"d":0,"c":0},{"w":1494115200,"a":0,"d":0,"c":0},{"w":1494720000,"a":0,"d":0,"c":0},{"w":1495324800,"a":0,"d":0,"c":0},{"w":1495929600,"a":0,"d":0,"c":0},{"w":1496534400,"a":0,"d":0,"c":0},{"w":1497139200,"a":0,"d":0,"c":0},{"w":1497744000,"a":0,"d":0,"c":0},{"w":1498348800,"a":0,"d":0,"c":0},{"w":1498953600,"a":0,"d":0,"c":0},{"w":1499558400,"a":0,"d":0,"c":0},{"w":1500163200,"a":0,"d":0,"c":0},{"w":1500768000,"a":0,"d":0,"c":0},{"w":1501372800,"a":0,"d":0,"c":0},{"w":1501977600,"a":0,"d":0,"c":0},{"w":1502582400,"a":0,"d":0,"c":0},{"w":1503187200,"a":0,"d":0,"c":0},{"w":1503792000,"a":0,"d":0,"c":0},{"w":1504396800,"a":0,"d":0,"c":0},{"w":1505001600,"a":0,"d":0,"c":0},{"w":1505606400,"a":0,"d":0,"c":0},{"w":1506211200,"a":0,"d":0,"c":0},{"w":1506816000,"a":0,"d":0,"c":0},{"w":1507420800,"a":0,"d":0,"c":0},{"w":1508025600,"a":0,"d":0,"c":0},{"w":1508630400,"a":0,"d":0,"c":0},{"w":1509235200,"a":0,"d":0,"c":0},{"w":1509840000,"a":0,"d":0,"c":0},{"w":1510444800,"a":0,"d":0,"c":0},{"w":1511049600,"a":0,"d":0,"c":0},{"w":1511654400,"a":0,"d":0,"c":0},{"w":1512259200,"a":0,"d":0,"c":0},{"w":1512864000,"a":0,"d":0,"c":0},{"w":1513468800,"a":0,"d":0,"c":0},{"w":1514073600,"a":0,"d":0,"c":0},{"w":1514678400,"a":0,"d":0,"c":0},{"w":1515283200,"a":0,"d":0,"c":0},{"w":1515888000,"a":0,"d":0,"c":0},{"w":1516492800,"a":0,"d":0,"c":0},{"w":1517097600,"a":0,"d":0,"c":0},{"w":1517702400,"a":0,"d":0,"c":0},{"w":1518307200,"a":0,"d":0,"c":0},{"w":1518912000,"a":0,"d":0,"c":0},{"w":1519516800,"a":0,"d":0,"c":0},{"w":1520121600,"a":0,"d":0,"c":0},{"w":1520726400,"a":0,"d":0,"c":0},{"w":1521331200,"a":0,"d":0,"c":0},{"w":1521936000,"a":0,"d":0,"c":0},{"w":1522540800,"a":0,"d":0,"c":0},{"w":1523145600,"a":0,"d":0,"c":0},{"w":1523750400,"a":0,"d":0,"c":0},{"w":1524355200,"a":0,"d":0,"c":0},{"w":1524960000,"a":0,"d":0,"c":0},{"w":1525564800,"a":0,"d":0,"c":0},{"w":1526169600,"a":0,"d":0,"c":0},{"w":1526774400,"a":0,"d":0,"c":0},{"w":1527379200,"a":0,"d":0,"c":0},{"w":1527984000,"a":0,"d":0,"c":0},{"w":1528588800,"a":0,"d":0,"c":0},{"w":1529193600,"a":0,"d":0,"c":0},{"w":1529798400,"a":0,"d":0,"c":0},{"w":1530403200,"a":0,"d":0,"c":0},{"w":1531008000,"a":0,"d":0,"c":0},{"w":1531612800,"a":0,"d":0,"c":0},{"w":1532217600,"a":0,"d":0,"c":0},{"w":1532822400,"a":0,"d":0,"c":0},{"w":1533427200,"a":0,"d":0,"c":0},{"w":1534032000,"a":0,"d":0,"c":0},{"w":1534636800,"a":0,"d":0,"c":0},{"w":1535241600,"a":0,"d":0,"c":0},{"w":1535846400,"a":0,"d":0,"c":0},{"w":1536451200,"a":0,"d":0,"c":0},{"w":1537056000,"a":0,"d":0,"c":0},{"w":1537660800,"a":0,"d":0,"c":0},{"w":1538265600,"a":0,"d":0,"c":0},{"w":1538870400,"a":0,"d":0,"c":0},{"w":1539475200,"a":0,"d":0,"c":0},{"w":1540080000,"a":0,"d":0,"c":0},{"w":1540684800,"a":0,"d":0,"c":0},{"w":1541289600,"a":0,"d":0,"c":0},{"w":1541894400,"a":0,"d":0,"c":0},{"w":1542499200,"a":0,"d":0,"c":0},{"w":1543104000,"a":0,"d":0,"c":0},{"w":1543708800,"a":0,"d":0,"c":0},{"w":1544313600,"a":0,"d":0,"c":0},{"w":1544918400,"a":0,"d":0,"c":0},{"w":1545523200,"a":0,"d":0,"c":0},{"w":1546128000,"a":0,"d":0,"c":0},{"w":1546732800,"a":0,"d":0,"c":0},{"w":1547337600,"a":0,"d":0,"c":0},{"w":1547942400,"a":0,"d":0,"c":0},{"w":1548547200,"a":0,"d":0,"c":0},{"w":1549152000,"a":0,"d":0,"c":0},{"w":1549756800,"a":0,"d":0,"c":0},{"w":1550361600,"a":0,"d":0,"c":0},{"w":1550966400,"a":0,"d":0,"c":0},{"w":1551571200,"a":0,"d":0,"c":0},{"w":1552176000,"a":0,"d":0,"c":0},{"w":1552780800,"a":0,"d":0,"c":0},{"w":1553385600,"a":0,"d":0,"c":0},{"w":1553990400,"a":0,"d":0,"c":0},{"w":1554595200,"a":0,"d":0,"c":0},{"w":1555200000,"a":0,"d":0,"c":0},{"w":1555804800,"a":0,"d":0,"c":0},{"w":1556409600,"a":0,"d":0,"c":0},{"w":1557014400,"a":0,"d":0,"c":0},{"w":1557619200,"a":0,"d":0,"c":0},{"w":1558224000,"a":0,"d":0,"c":0},{"w":1558828800,"a":0,"d":0,"c":0},{"w":1559433600,"a":0,"d":0,"c":0},{"w":1560038400,"a":0,"d":0,"c":0},{"w":1560643200,"a":0,"d":0,"c":0},{"w":1561248000,"a":0,"d":0,"c":0},{"w":1561852800,"a":0,"d":0,"c":0},{"w":1562457600,"a":0,"d":0,"c":0}],"author":{"login":"ppepos","id":6002658,"node_id":"MDQ6VXNlcjYwMDI2NTg=","avatar_url":"https://avatars1.githubusercontent.com/u/6002658?v=4","gravatar_id":"","url":"https://api.github.com/users/ppepos","html_url":"https://github.com/ppepos","followers_url":"https://api.github.com/users/ppepos/followers","following_url":"https://api.github.com/users/ppepos/following{/other_user}","gists_url":"https://api.github.com/users/ppepos/gists{/gist_id}","starred_url":"https://api.github.com/users/ppepos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ppepos/subscriptions","organizations_url":"https://api.github.com/users/ppepos/orgs","repos_url":"https://api.github.com/users/ppepos/repos","events_url":"https://api.github.com/users/ppepos/events{/privacy}","received_events_url":"https://api.github.com/users/ppepos/received_events","type":"User","site_admin":false}},{"total":29,"weeks":[{"w":1215302400,"a":0,"d":0,"c":0},{"w":1215907200,"a":0,"d":0,"c":0},{"w":1216512000,"a":0,"d":0,"c":0},{"w":1217116800,"a":0,"d":0,"c":0},{"w":1217721600,"a":0,"d":0,"c":0},{"w":1218326400,"a":0,"d":0,"c":0},{"w":1218931200,"a":0,"d":0,"c":0},{"w":1219536000,"a":0,"d":0,"c":0},{"w":1220140800,"a":0,"d":0,"c":0},{"w":1220745600,"a":0,"d":0,"c":0},{"w":1221350400,"a":0,"d":0,"c":0},{"w":1221955200,"a":0,"d":0,"c":0},{"w":1222560000,"a":0,"d":0,"c":0},{"w":1223164800,"a":0,"d":0,"c":0},{"w":1223769600,"a":0,"d":0,"c":0},{"w":1224374400,"a":0,"d":0,"c":0},{"w":1224979200,"a":0,"d":0,"c":0},{"w":1225584000,"a":0,"d":0,"c":0},{"w":1226188800,"a":0,"d":0,"c":0},{"w":1226793600,"a":0,"d":0,"c":0},{"w":1227398400,"a":0,"d":0,"c":0},{"w":1228003200,"a":0,"d":0,"c":0},{"w":1228608000,"a":0,"d":0,"c":0},{"w":1229212800,"a":0,"d":0,"c":0},{"w":1229817600,"a":0,"d":0,"c":0},{"w":1230422400,"a":0,"d":0,"c":0},{"w":1231027200,"a":0,"d":0,"c":0},{"w":1231632000,"a":0,"d":0,"c":0},{"w":1232236800,"a":0,"d":0,"c":0},{"w":1232841600,"a":0,"d":0,"c":0},{"w":1233446400,"a":0,"d":0,"c":0},{"w":1234051200,"a":0,"d":0,"c":0},{"w":1234656000,"a":0,"d":0,"c":0},{"w":1235260800,"a":0,"d":0,"c":0},{"w":1235865600,"a":0,"d":0,"c":0},{"w":1236470400,"a":0,"d":0,"c":0},{"w":1237075200,"a":0,"d":0,"c":0},{"w":1237680000,"a":0,"d":0,"c":0},{"w":1238284800,"a":0,"d":0,"c":0},{"w":1238889600,"a":0,"d":0,"c":0},{"w":1239494400,"a":0,"d":0,"c":0},{"w":1240099200,"a":0,"d":0,"c":0},{"w":1240704000,"a":0,"d":0,"c":0},{"w":1241308800,"a":0,"d":0,"c":0},{"w":1241913600,"a":0,"d":0,"c":0},{"w":1242518400,"a":0,"d":0,"c":0},{"w":1243123200,"a":0,"d":0,"c":0},{"w":1243728000,"a":0,"d":0,"c":0},{"w":1244332800,"a":0,"d":0,"c":0},{"w":1244937600,"a":0,"d":0,"c":0},{"w":1245542400,"a":0,"d":0,"c":0},{"w":1246147200,"a":0,"d":0,"c":0},{"w":1246752000,"a":0,"d":0,"c":0},{"w":1247356800,"a":0,"d":0,"c":0},{"w":1247961600,"a":0,"d":0,"c":0},{"w":1248566400,"a":0,"d":0,"c":0},{"w":1249171200,"a":0,"d":0,"c":0},{"w":1249776000,"a":0,"d":0,"c":0},{"w":1250380800,"a":0,"d":0,"c":0},{"w":1250985600,"a":0,"d":0,"c":0},{"w":1251590400,"a":0,"d":0,"c":0},{"w":1252195200,"a":0,"d":0,"c":0},{"w":1252800000,"a":0,"d":0,"c":0},{"w":1253404800,"a":0,"d":0,"c":0},{"w":1254009600,"a":0,"d":0,"c":0},{"w":1254614400,"a":0,"d":0,"c":0},{"w":1255219200,"a":0,"d":0,"c":0},{"w":1255824000,"a":0,"d":0,"c":0},{"w":1256428800,"a":0,"d":0,"c":0},{"w":1257033600,"a":0,"d":0,"c":0},{"w":1257638400,"a":0,"d":0,"c":0},{"w":1258243200,"a":0,"d":0,"c":0},{"w":1258848000,"a":0,"d":0,"c":0},{"w":1259452800,"a":0,"d":0,"c":0},{"w":1260057600,"a":0,"d":0,"c":0},{"w":1260662400,"a":0,"d":0,"c":0},{"w":1261267200,"a":0,"d":0,"c":0},{"w":1261872000,"a":0,"d":0,"c":0},{"w":1262476800,"a":0,"d":0,"c":0},{"w":1263081600,"a":0,"d":0,"c":0},{"w":1263686400,"a":0,"d":0,"c":0},{"w":1264291200,"a":0,"d":0,"c":0},{"w":1264896000,"a":0,"d":0,"c":0},{"w":1265500800,"a":0,"d":0,"c":0},{"w":1266105600,"a":0,"d":0,"c":0},{"w":1266710400,"a":0,"d":0,"c":0},{"w":1267315200,"a":0,"d":0,"c":0},{"w":1267920000,"a":0,"d":0,"c":0},{"w":1268524800,"a":0,"d":0,"c":0},{"w":1269129600,"a":0,"d":0,"c":0},{"w":1269734400,"a":0,"d":0,"c":0},{"w":1270339200,"a":0,"d":0,"c":0},{"w":1270944000,"a":0,"d":0,"c":0},{"w":1271548800,"a":0,"d":0,"c":0},{"w":1272153600,"a":0,"d":0,"c":0},{"w":1272758400,"a":0,"d":0,"c":0},{"w":1273363200,"a":0,"d":0,"c":0},{"w":1273968000,"a":0,"d":0,"c":0},{"w":1274572800,"a":0,"d":0,"c":0},{"w":1275177600,"a":0,"d":0,"c":0},{"w":1275782400,"a":0,"d":0,"c":0},{"w":1276387200,"a":0,"d":0,"c":0},{"w":1276992000,"a":0,"d":0,"c":0},{"w":1277596800,"a":0,"d":0,"c":0},{"w":1278201600,"a":0,"d":0,"c":0},{"w":1278806400,"a":0,"d":0,"c":0},{"w":1279411200,"a":0,"d":0,"c":0},{"w":1280016000,"a":0,"d":0,"c":0},{"w":1280620800,"a":0,"d":0,"c":0},{"w":1281225600,"a":0,"d":0,"c":0},{"w":1281830400,"a":0,"d":0,"c":0},{"w":1282435200,"a":0,"d":0,"c":0},{"w":1283040000,"a":0,"d":0,"c":0},{"w":1283644800,"a":0,"d":0,"c":0},{"w":1284249600,"a":0,"d":0,"c":0},{"w":1284854400,"a":0,"d":0,"c":0},{"w":1285459200,"a":0,"d":0,"c":0},{"w":1286064000,"a":0,"d":0,"c":0},{"w":1286668800,"a":0,"d":0,"c":0},{"w":1287273600,"a":0,"d":0,"c":0},{"w":1287878400,"a":0,"d":0,"c":0},{"w":1288483200,"a":0,"d":0,"c":0},{"w":1289088000,"a":0,"d":0,"c":0},{"w":1289692800,"a":0,"d":0,"c":0},{"w":1290297600,"a":0,"d":0,"c":0},{"w":1290902400,"a":0,"d":0,"c":0},{"w":1291507200,"a":0,"d":0,"c":0},{"w":1292112000,"a":0,"d":0,"c":0},{"w":1292716800,"a":0,"d":0,"c":0},{"w":1293321600,"a":0,"d":0,"c":0},{"w":1293926400,"a":0,"d":0,"c":0},{"w":1294531200,"a":0,"d":0,"c":0},{"w":1295136000,"a":0,"d":0,"c":0},{"w":1295740800,"a":0,"d":0,"c":0},{"w":1296345600,"a":0,"d":0,"c":0},{"w":1296950400,"a":0,"d":0,"c":0},{"w":1297555200,"a":0,"d":0,"c":0},{"w":1298160000,"a":0,"d":0,"c":0},{"w":1298764800,"a":0,"d":0,"c":0},{"w":1299369600,"a":0,"d":0,"c":0},{"w":1299974400,"a":0,"d":0,"c":0},{"w":1300579200,"a":0,"d":0,"c":0},{"w":1301184000,"a":0,"d":0,"c":0},{"w":1301788800,"a":0,"d":0,"c":0},{"w":1302393600,"a":0,"d":0,"c":0},{"w":1302998400,"a":0,"d":0,"c":0},{"w":1303603200,"a":0,"d":0,"c":0},{"w":1304208000,"a":0,"d":0,"c":0},{"w":1304812800,"a":0,"d":0,"c":0},{"w":1305417600,"a":0,"d":0,"c":0},{"w":1306022400,"a":0,"d":0,"c":0},{"w":1306627200,"a":0,"d":0,"c":0},{"w":1307232000,"a":0,"d":0,"c":0},{"w":1307836800,"a":0,"d":0,"c":0},{"w":1308441600,"a":0,"d":0,"c":0},{"w":1309046400,"a":0,"d":0,"c":0},{"w":1309651200,"a":0,"d":0,"c":0},{"w":1310256000,"a":0,"d":0,"c":0},{"w":1310860800,"a":0,"d":0,"c":0},{"w":1311465600,"a":0,"d":0,"c":0},{"w":1312070400,"a":0,"d":0,"c":0},{"w":1312675200,"a":0,"d":0,"c":0},{"w":1313280000,"a":0,"d":0,"c":0},{"w":1313884800,"a":0,"d":0,"c":0},{"w":1314489600,"a":0,"d":0,"c":0},{"w":1315094400,"a":0,"d":0,"c":0},{"w":1315699200,"a":0,"d":0,"c":0},{"w":1316304000,"a":0,"d":0,"c":0},{"w":1316908800,"a":0,"d":0,"c":0},{"w":1317513600,"a":0,"d":0,"c":0},{"w":1318118400,"a":0,"d":0,"c":0},{"w":1318723200,"a":0,"d":0,"c":0},{"w":1319328000,"a":0,"d":0,"c":0},{"w":1319932800,"a":0,"d":0,"c":0},{"w":1320537600,"a":0,"d":0,"c":0},{"w":1321142400,"a":0,"d":0,"c":0},{"w":1321747200,"a":0,"d":0,"c":0},{"w":1322352000,"a":0,"d":0,"c":0},{"w":1322956800,"a":0,"d":0,"c":0},{"w":1323561600,"a":0,"d":0,"c":0},{"w":1324166400,"a":0,"d":0,"c":0},{"w":1324771200,"a":0,"d":0,"c":0},{"w":1325376000,"a":0,"d":0,"c":0},{"w":1325980800,"a":0,"d":0,"c":0},{"w":1326585600,"a":0,"d":0,"c":0},{"w":1327190400,"a":0,"d":0,"c":0},{"w":1327795200,"a":0,"d":0,"c":0},{"w":1328400000,"a":0,"d":0,"c":0},{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0},{"w":1384646400,"a":0,"d":0,"c":0},{"w":1385251200,"a":0,"d":0,"c":0},{"w":1385856000,"a":0,"d":0,"c":0},{"w":1386460800,"a":0,"d":0,"c":0},{"w":1387065600,"a":0,"d":0,"c":0},{"w":1387670400,"a":0,"d":0,"c":0},{"w":1388275200,"a":0,"d":0,"c":0},{"w":1388880000,"a":0,"d":0,"c":0},{"w":1389484800,"a":0,"d":0,"c":0},{"w":1390089600,"a":0,"d":0,"c":0},{"w":1390694400,"a":1,"d":0,"c":1},{"w":1391299200,"a":0,"d":0,"c":0},{"w":1391904000,"a":0,"d":0,"c":0},{"w":1392508800,"a":0,"d":0,"c":0},{"w":1393113600,"a":0,"d":0,"c":0},{"w":1393718400,"a":0,"d":0,"c":0},{"w":1394323200,"a":0,"d":0,"c":0},{"w":1394928000,"a":0,"d":0,"c":0},{"w":1395532800,"a":0,"d":0,"c":0},{"w":1396137600,"a":0,"d":0,"c":0},{"w":1396742400,"a":0,"d":0,"c":0},{"w":1397347200,"a":0,"d":0,"c":0},{"w":1397952000,"a":741,"d":2,"c":1},{"w":1398556800,"a":44,"d":48,"c":4},{"w":1399161600,"a":311,"d":0,"c":1},{"w":1399766400,"a":0,"d":0,"c":0},{"w":1400371200,"a":5,"d":2,"c":1},{"w":1400976000,"a":0,"d":0,"c":0},{"w":1401580800,"a":0,"d":0,"c":0},{"w":1402185600,"a":321,"d":38,"c":8},{"w":1402790400,"a":0,"d":0,"c":0},{"w":1403395200,"a":6339,"d":60,"c":12},{"w":1404000000,"a":9,"d":0,"c":1},{"w":1404604800,"a":0,"d":0,"c":0},{"w":1405209600,"a":0,"d":0,"c":0},{"w":1405814400,"a":0,"d":0,"c":0},{"w":1406419200,"a":0,"d":0,"c":0},{"w":1407024000,"a":0,"d":0,"c":0},{"w":1407628800,"a":0,"d":0,"c":0},{"w":1408233600,"a":0,"d":0,"c":0},{"w":1408838400,"a":0,"d":0,"c":0},{"w":1409443200,"a":0,"d":0,"c":0},{"w":1410048000,"a":0,"d":0,"c":0},{"w":1410652800,"a":0,"d":0,"c":0},{"w":1411257600,"a":0,"d":0,"c":0},{"w":1411862400,"a":0,"d":0,"c":0},{"w":1412467200,"a":0,"d":0,"c":0},{"w":1413072000,"a":0,"d":0,"c":0},{"w":1413676800,"a":0,"d":0,"c":0},{"w":1414281600,"a":0,"d":0,"c":0},{"w":1414886400,"a":0,"d":0,"c":0},{"w":1415491200,"a":0,"d":0,"c":0},{"w":1416096000,"a":0,"d":0,"c":0},{"w":1416700800,"a":0,"d":0,"c":0},{"w":1417305600,"a":0,"d":0,"c":0},{"w":1417910400,"a":0,"d":0,"c":0},{"w":1418515200,"a":0,"d":0,"c":0},{"w":1419120000,"a":0,"d":0,"c":0},{"w":1419724800,"a":0,"d":0,"c":0},{"w":1420329600,"a":0,"d":0,"c":0},{"w":1420934400,"a":0,"d":0,"c":0},{"w":1421539200,"a":0,"d":0,"c":0},{"w":1422144000,"a":0,"d":0,"c":0},{"w":1422748800,"a":0,"d":0,"c":0},{"w":1423353600,"a":0,"d":0,"c":0},{"w":1423958400,"a":0,"d":0,"c":0},{"w":1424563200,"a":0,"d":0,"c":0},{"w":1425168000,"a":0,"d":0,"c":0},{"w":1425772800,"a":0,"d":0,"c":0},{"w":1426377600,"a":0,"d":0,"c":0},{"w":1426982400,"a":0,"d":0,"c":0},{"w":1427587200,"a":0,"d":0,"c":0},{"w":1428192000,"a":0,"d":0,"c":0},{"w":1428796800,"a":0,"d":0,"c":0},{"w":1429401600,"a":0,"d":0,"c":0},{"w":1430006400,"a":0,"d":0,"c":0},{"w":1430611200,"a":0,"d":0,"c":0},{"w":1431216000,"a":0,"d":0,"c":0},{"w":1431820800,"a":0,"d":0,"c":0},{"w":1432425600,"a":0,"d":0,"c":0},{"w":1433030400,"a":0,"d":0,"c":0},{"w":1433635200,"a":0,"d":0,"c":0},{"w":1434240000,"a":0,"d":0,"c":0},{"w":1434844800,"a":0,"d":0,"c":0},{"w":1435449600,"a":0,"d":0,"c":0},{"w":1436054400,"a":0,"d":0,"c":0},{"w":1436659200,"a":0,"d":0,"c":0},{"w":1437264000,"a":0,"d":0,"c":0},{"w":1437868800,"a":0,"d":0,"c":0},{"w":1438473600,"a":0,"d":0,"c":0},{"w":1439078400,"a":0,"d":0,"c":0},{"w":1439683200,"a":0,"d":0,"c":0},{"w":1440288000,"a":0,"d":0,"c":0},{"w":1440892800,"a":0,"d":0,"c":0},{"w":1441497600,"a":0,"d":0,"c":0},{"w":1442102400,"a":0,"d":0,"c":0},{"w":1442707200,"a":0,"d":0,"c":0},{"w":1443312000,"a":0,"d":0,"c":0},{"w":1443916800,"a":0,"d":0,"c":0},{"w":1444521600,"a":0,"d":0,"c":0},{"w":1445126400,"a":0,"d":0,"c":0},{"w":1445731200,"a":0,"d":0,"c":0},{"w":1446336000,"a":0,"d":0,"c":0},{"w":1446940800,"a":0,"d":0,"c":0},{"w":1447545600,"a":0,"d":0,"c":0},{"w":1448150400,"a":0,"d":0,"c":0},{"w":1448755200,"a":0,"d":0,"c":0},{"w":1449360000,"a":0,"d":0,"c":0},{"w":1449964800,"a":0,"d":0,"c":0},{"w":1450569600,"a":0,"d":0,"c":0},{"w":1451174400,"a":0,"d":0,"c":0},{"w":1451779200,"a":0,"d":0,"c":0},{"w":1452384000,"a":0,"d":0,"c":0},{"w":1452988800,"a":0,"d":0,"c":0},{"w":1453593600,"a":0,"d":0,"c":0},{"w":1454198400,"a":0,"d":0,"c":0},{"w":1454803200,"a":0,"d":0,"c":0},{"w":1455408000,"a":0,"d":0,"c":0},{"w":1456012800,"a":0,"d":0,"c":0},{"w":1456617600,"a":0,"d":0,"c":0},{"w":1457222400,"a":0,"d":0,"c":0},{"w":1457827200,"a":0,"d":0,"c":0},{"w":1458432000,"a":0,"d":0,"c":0},{"w":1459036800,"a":0,"d":0,"c":0},{"w":1459641600,"a":0,"d":0,"c":0},{"w":1460246400,"a":0,"d":0,"c":0},{"w":1460851200,"a":0,"d":0,"c":0},{"w":1461456000,"a":0,"d":0,"c":0},{"w":1462060800,"a":0,"d":0,"c":0},{"w":1462665600,"a":0,"d":0,"c":0},{"w":1463270400,"a":0,"d":0,"c":0},{"w":1463875200,"a":0,"d":0,"c":0},{"w":1464480000,"a":0,"d":0,"c":0},{"w":1465084800,"a":0,"d":0,"c":0},{"w":1465689600,"a":0,"d":0,"c":0},{"w":1466294400,"a":0,"d":0,"c":0},{"w":1466899200,"a":0,"d":0,"c":0},{"w":1467504000,"a":0,"d":0,"c":0},{"w":1468108800,"a":0,"d":0,"c":0},{"w":1468713600,"a":0,"d":0,"c":0},{"w":1469318400,"a":0,"d":0,"c":0},{"w":1469923200,"a":0,"d":0,"c":0},{"w":1470528000,"a":0,"d":0,"c":0},{"w":1471132800,"a":0,"d":0,"c":0},{"w":1471737600,"a":0,"d":0,"c":0},{"w":1472342400,"a":0,"d":0,"c":0},{"w":1472947200,"a":0,"d":0,"c":0},{"w":1473552000,"a":0,"d":0,"c":0},{"w":1474156800,"a":0,"d":0,"c":0},{"w":1474761600,"a":0,"d":0,"c":0},{"w":1475366400,"a":0,"d":0,"c":0},{"w":1475971200,"a":0,"d":0,"c":0},{"w":1476576000,"a":0,"d":0,"c":0},{"w":1477180800,"a":0,"d":0,"c":0},{"w":1477785600,"a":0,"d":0,"c":0},{"w":1478390400,"a":0,"d":0,"c":0},{"w":1478995200,"a":0,"d":0,"c":0},{"w":1479600000,"a":0,"d":0,"c":0},{"w":1480204800,"a":0,"d":0,"c":0},{"w":1480809600,"a":0,"d":0,"c":0},{"w":1481414400,"a":0,"d":0,"c":0},{"w":1482019200,"a":0,"d":0,"c":0},{"w":1482624000,"a":0,"d":0,"c":0},{"w":1483228800,"a":0,"d":0,"c":0},{"w":1483833600,"a":0,"d":0,"c":0},{"w":1484438400,"a":0,"d":0,"c":0},{"w":1485043200,"a":0,"d":0,"c":0},{"w":1485648000,"a":0,"d":0,"c":0},{"w":1486252800,"a":0,"d":0,"c":0},{"w":1486857600,"a":0,"d":0,"c":0},{"w":1487462400,"a":0,"d":0,"c":0},{"w":1488067200,"a":0,"d":0,"c":0},{"w":1488672000,"a":0,"d":0,"c":0},{"w":1489276800,"a":0,"d":0,"c":0},{"w":1489881600,"a":0,"d":0,"c":0},{"w":1490486400,"a":0,"d":0,"c":0},{"w":1491091200,"a":0,"d":0,"c":0},{"w":1491696000,"a":0,"d":0,"c":0},{"w":1492300800,"a":0,"d":0,"c":0},{"w":1492905600,"a":0,"d":0,"c":0},{"w":1493510400,"a":0,"d":0,"c":0},{"w":1494115200,"a":0,"d":0,"c":0},{"w":1494720000,"a":0,"d":0,"c":0},{"w":1495324800,"a":0,"d":0,"c":0},{"w":1495929600,"a":0,"d":0,"c":0},{"w":1496534400,"a":0,"d":0,"c":0},{"w":1497139200,"a":0,"d":0,"c":0},{"w":1497744000,"a":0,"d":0,"c":0},{"w":1498348800,"a":0,"d":0,"c":0},{"w":1498953600,"a":0,"d":0,"c":0},{"w":1499558400,"a":0,"d":0,"c":0},{"w":1500163200,"a":0,"d":0,"c":0},{"w":1500768000,"a":0,"d":0,"c":0},{"w":1501372800,"a":0,"d":0,"c":0},{"w":1501977600,"a":0,"d":0,"c":0},{"w":1502582400,"a":0,"d":0,"c":0},{"w":1503187200,"a":0,"d":0,"c":0},{"w":1503792000,"a":0,"d":0,"c":0},{"w":1504396800,"a":0,"d":0,"c":0},{"w":1505001600,"a":0,"d":0,"c":0},{"w":1505606400,"a":0,"d":0,"c":0},{"w":1506211200,"a":0,"d":0,"c":0},{"w":1506816000,"a":0,"d":0,"c":0},{"w":1507420800,"a":0,"d":0,"c":0},{"w":1508025600,"a":0,"d":0,"c":0},{"w":1508630400,"a":0,"d":0,"c":0},{"w":1509235200,"a":0,"d":0,"c":0},{"w":1509840000,"a":0,"d":0,"c":0},{"w":1510444800,"a":0,"d":0,"c":0},{"w":1511049600,"a":0,"d":0,"c":0},{"w":1511654400,"a":0,"d":0,"c":0},{"w":1512259200,"a":0,"d":0,"c":0},{"w":1512864000,"a":0,"d":0,"c":0},{"w":1513468800,"a":0,"d":0,"c":0},{"w":1514073600,"a":0,"d":0,"c":0},{"w":1514678400,"a":0,"d":0,"c":0},{"w":1515283200,"a":0,"d":0,"c":0},{"w":1515888000,"a":0,"d":0,"c":0},{"w":1516492800,"a":0,"d":0,"c":0},{"w":1517097600,"a":0,"d":0,"c":0},{"w":1517702400,"a":0,"d":0,"c":0},{"w":1518307200,"a":0,"d":0,"c":0},{"w":1518912000,"a":0,"d":0,"c":0},{"w":1519516800,"a":0,"d":0,"c":0},{"w":1520121600,"a":0,"d":0,"c":0},{"w":1520726400,"a":0,"d":0,"c":0},{"w":1521331200,"a":0,"d":0,"c":0},{"w":1521936000,"a":0,"d":0,"c":0},{"w":1522540800,"a":0,"d":0,"c":0},{"w":1523145600,"a":0,"d":0,"c":0},{"w":1523750400,"a":0,"d":0,"c":0},{"w":1524355200,"a":0,"d":0,"c":0},{"w":1524960000,"a":0,"d":0,"c":0},{"w":1525564800,"a":0,"d":0,"c":0},{"w":1526169600,"a":0,"d":0,"c":0},{"w":1526774400,"a":0,"d":0,"c":0},{"w":1527379200,"a":0,"d":0,"c":0},{"w":1527984000,"a":0,"d":0,"c":0},{"w":1528588800,"a":0,"d":0,"c":0},{"w":1529193600,"a":0,"d":0,"c":0},{"w":1529798400,"a":0,"d":0,"c":0},{"w":1530403200,"a":0,"d":0,"c":0},{"w":1531008000,"a":0,"d":0,"c":0},{"w":1531612800,"a":0,"d":0,"c":0},{"w":1532217600,"a":0,"d":0,"c":0},{"w":1532822400,"a":0,"d":0,"c":0},{"w":1533427200,"a":0,"d":0,"c":0},{"w":1534032000,"a":0,"d":0,"c":0},{"w":1534636800,"a":0,"d":0,"c":0},{"w":1535241600,"a":0,"d":0,"c":0},{"w":1535846400,"a":0,"d":0,"c":0},{"w":1536451200,"a":0,"d":0,"c":0},{"w":1537056000,"a":0,"d":0,"c":0},{"w":1537660800,"a":0,"d":0,"c":0},{"w":1538265600,"a":0,"d":0,"c":0},{"w":1538870400,"a":0,"d":0,"c":0},{"w":1539475200,"a":0,"d":0,"c":0},{"w":1540080000,"a":0,"d":0,"c":0},{"w":1540684800,"a":0,"d":0,"c":0},{"w":1541289600,"a":0,"d":0,"c":0},{"w":1541894400,"a":0,"d":0,"c":0},{"w":1542499200,"a":0,"d":0,"c":0},{"w":1543104000,"a":0,"d":0,"c":0},{"w":1543708800,"a":0,"d":0,"c":0},{"w":1544313600,"a":0,"d":0,"c":0},{"w":1544918400,"a":0,"d":0,"c":0},{"w":1545523200,"a":0,"d":0,"c":0},{"w":1546128000,"a":0,"d":0,"c":0},{"w":1546732800,"a":0,"d":0,"c":0},{"w":1547337600,"a":0,"d":0,"c":0},{"w":1547942400,"a":0,"d":0,"c":0},{"w":1548547200,"a":0,"d":0,"c":0},{"w":1549152000,"a":0,"d":0,"c":0},{"w":1549756800,"a":0,"d":0,"c":0},{"w":1550361600,"a":0,"d":0,"c":0},{"w":1550966400,"a":0,"d":0,"c":0},{"w":1551571200,"a":0,"d":0,"c":0},{"w":1552176000,"a":0,"d":0,"c":0},{"w":1552780800,"a":0,"d":0,"c":0},{"w":1553385600,"a":0,"d":0,"c":0},{"w":1553990400,"a":0,"d":0,"c":0},{"w":1554595200,"a":0,"d":0,"c":0},{"w":1555200000,"a":0,"d":0,"c":0},{"w":1555804800,"a":0,"d":0,"c":0},{"w":1556409600,"a":0,"d":0,"c":0},{"w":1557014400,"a":0,"d":0,"c":0},{"w":1557619200,"a":0,"d":0,"c":0},{"w":1558224000,"a":0,"d":0,"c":0},{"w":1558828800,"a":0,"d":0,"c":0},{"w":1559433600,"a":0,"d":0,"c":0},{"w":1560038400,"a":0,"d":0,"c":0},{"w":1560643200,"a":0,"d":0,"c":0},{"w":1561248000,"a":0,"d":0,"c":0},{"w":1561852800,"a":0,"d":0,"c":0},{"w":1562457600,"a":0,"d":0,"c":0}],"author":{"login":"Djomanix","id":3929556,"node_id":"MDQ6VXNlcjM5Mjk1NTY=","avatar_url":"https://avatars1.githubusercontent.com/u/3929556?v=4","gravatar_id":"","url":"https://api.github.com/users/Djomanix","html_url":"https://github.com/Djomanix","followers_url":"https://api.github.com/users/Djomanix/followers","following_url":"https://api.github.com/users/Djomanix/following{/other_user}","gists_url":"https://api.github.com/users/Djomanix/gists{/gist_id}","starred_url":"https://api.github.com/users/Djomanix/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Djomanix/subscriptions","organizations_url":"https://api.github.com/users/Djomanix/orgs","repos_url":"https://api.github.com/users/Djomanix/repos","events_url":"https://api.github.com/users/Djomanix/events{/privacy}","received_events_url":"https://api.github.com/users/Djomanix/received_events","type":"User","site_admin":false}},{"total":35,"weeks":[{"w":1215302400,"a":0,"d":0,"c":0},{"w":1215907200,"a":0,"d":0,"c":0},{"w":1216512000,"a":0,"d":0,"c":0},{"w":1217116800,"a":0,"d":0,"c":0},{"w":1217721600,"a":0,"d":0,"c":0},{"w":1218326400,"a":0,"d":0,"c":0},{"w":1218931200,"a":0,"d":0,"c":0},{"w":1219536000,"a":0,"d":0,"c":0},{"w":1220140800,"a":0,"d":0,"c":0},{"w":1220745600,"a":0,"d":0,"c":0},{"w":1221350400,"a":0,"d":0,"c":0},{"w":1221955200,"a":0,"d":0,"c":0},{"w":1222560000,"a":0,"d":0,"c":0},{"w":1223164800,"a":0,"d":0,"c":0},{"w":1223769600,"a":0,"d":0,"c":0},{"w":1224374400,"a":0,"d":0,"c":0},{"w":1224979200,"a":0,"d":0,"c":0},{"w":1225584000,"a":0,"d":0,"c":0},{"w":1226188800,"a":0,"d":0,"c":0},{"w":1226793600,"a":0,"d":0,"c":0},{"w":1227398400,"a":0,"d":0,"c":0},{"w":1228003200,"a":0,"d":0,"c":0},{"w":1228608000,"a":0,"d":0,"c":0},{"w":1229212800,"a":0,"d":0,"c":0},{"w":1229817600,"a":0,"d":0,"c":0},{"w":1230422400,"a":0,"d":0,"c":0},{"w":1231027200,"a":0,"d":0,"c":0},{"w":1231632000,"a":0,"d":0,"c":0},{"w":1232236800,"a":0,"d":0,"c":0},{"w":1232841600,"a":0,"d":0,"c":0},{"w":1233446400,"a":0,"d":0,"c":0},{"w":1234051200,"a":0,"d":0,"c":0},{"w":1234656000,"a":0,"d":0,"c":0},{"w":1235260800,"a":0,"d":0,"c":0},{"w":1235865600,"a":0,"d":0,"c":0},{"w":1236470400,"a":0,"d":0,"c":0},{"w":1237075200,"a":0,"d":0,"c":0},{"w":1237680000,"a":0,"d":0,"c":0},{"w":1238284800,"a":0,"d":0,"c":0},{"w":1238889600,"a":0,"d":0,"c":0},{"w":1239494400,"a":0,"d":0,"c":0},{"w":1240099200,"a":0,"d":0,"c":0},{"w":1240704000,"a":0,"d":0,"c":0},{"w":1241308800,"a":0,"d":0,"c":0},{"w":1241913600,"a":0,"d":0,"c":0},{"w":1242518400,"a":0,"d":0,"c":0},{"w":1243123200,"a":0,"d":0,"c":0},{"w":1243728000,"a":0,"d":0,"c":0},{"w":1244332800,"a":0,"d":0,"c":0},{"w":1244937600,"a":0,"d":0,"c":0},{"w":1245542400,"a":0,"d":0,"c":0},{"w":1246147200,"a":0,"d":0,"c":0},{"w":1246752000,"a":0,"d":0,"c":0},{"w":1247356800,"a":0,"d":0,"c":0},{"w":1247961600,"a":0,"d":0,"c":0},{"w":1248566400,"a":0,"d":0,"c":0},{"w":1249171200,"a":0,"d":0,"c":0},{"w":1249776000,"a":0,"d":0,"c":0},{"w":1250380800,"a":0,"d":0,"c":0},{"w":1250985600,"a":0,"d":0,"c":0},{"w":1251590400,"a":0,"d":0,"c":0},{"w":1252195200,"a":0,"d":0,"c":0},{"w":1252800000,"a":0,"d":0,"c":0},{"w":1253404800,"a":0,"d":0,"c":0},{"w":1254009600,"a":0,"d":0,"c":0},{"w":1254614400,"a":0,"d":0,"c":0},{"w":1255219200,"a":0,"d":0,"c":0},{"w":1255824000,"a":0,"d":0,"c":0},{"w":1256428800,"a":0,"d":0,"c":0},{"w":1257033600,"a":0,"d":0,"c":0},{"w":1257638400,"a":0,"d":0,"c":0},{"w":1258243200,"a":0,"d":0,"c":0},{"w":1258848000,"a":0,"d":0,"c":0},{"w":1259452800,"a":0,"d":0,"c":0},{"w":1260057600,"a":0,"d":0,"c":0},{"w":1260662400,"a":0,"d":0,"c":0},{"w":1261267200,"a":0,"d":0,"c":0},{"w":1261872000,"a":0,"d":0,"c":0},{"w":1262476800,"a":0,"d":0,"c":0},{"w":1263081600,"a":0,"d":0,"c":0},{"w":1263686400,"a":0,"d":0,"c":0},{"w":1264291200,"a":0,"d":0,"c":0},{"w":1264896000,"a":0,"d":0,"c":0},{"w":1265500800,"a":0,"d":0,"c":0},{"w":1266105600,"a":0,"d":0,"c":0},{"w":1266710400,"a":0,"d":0,"c":0},{"w":1267315200,"a":0,"d":0,"c":0},{"w":1267920000,"a":0,"d":0,"c":0},{"w":1268524800,"a":0,"d":0,"c":0},{"w":1269129600,"a":0,"d":0,"c":0},{"w":1269734400,"a":0,"d":0,"c":0},{"w":1270339200,"a":0,"d":0,"c":0},{"w":1270944000,"a":0,"d":0,"c":0},{"w":1271548800,"a":0,"d":0,"c":0},{"w":1272153600,"a":0,"d":0,"c":0},{"w":1272758400,"a":0,"d":0,"c":0},{"w":1273363200,"a":0,"d":0,"c":0},{"w":1273968000,"a":0,"d":0,"c":0},{"w":1274572800,"a":0,"d":0,"c":0},{"w":1275177600,"a":0,"d":0,"c":0},{"w":1275782400,"a":0,"d":0,"c":0},{"w":1276387200,"a":0,"d":0,"c":0},{"w":1276992000,"a":0,"d":0,"c":0},{"w":1277596800,"a":0,"d":0,"c":0},{"w":1278201600,"a":0,"d":0,"c":0},{"w":1278806400,"a":0,"d":0,"c":0},{"w":1279411200,"a":0,"d":0,"c":0},{"w":1280016000,"a":0,"d":0,"c":0},{"w":1280620800,"a":0,"d":0,"c":0},{"w":1281225600,"a":0,"d":0,"c":0},{"w":1281830400,"a":0,"d":0,"c":0},{"w":1282435200,"a":0,"d":0,"c":0},{"w":1283040000,"a":0,"d":0,"c":0},{"w":1283644800,"a":0,"d":0,"c":0},{"w":1284249600,"a":0,"d":0,"c":0},{"w":1284854400,"a":0,"d":0,"c":0},{"w":1285459200,"a":0,"d":0,"c":0},{"w":1286064000,"a":0,"d":0,"c":0},{"w":1286668800,"a":0,"d":0,"c":0},{"w":1287273600,"a":0,"d":0,"c":0},{"w":1287878400,"a":0,"d":0,"c":0},{"w":1288483200,"a":0,"d":0,"c":0},{"w":1289088000,"a":0,"d":0,"c":0},{"w":1289692800,"a":0,"d":0,"c":0},{"w":1290297600,"a":0,"d":0,"c":0},{"w":1290902400,"a":0,"d":0,"c":0},{"w":1291507200,"a":0,"d":0,"c":0},{"w":1292112000,"a":0,"d":0,"c":0},{"w":1292716800,"a":0,"d":0,"c":0},{"w":1293321600,"a":0,"d":0,"c":0},{"w":1293926400,"a":0,"d":0,"c":0},{"w":1294531200,"a":0,"d":0,"c":0},{"w":1295136000,"a":0,"d":0,"c":0},{"w":1295740800,"a":0,"d":0,"c":0},{"w":1296345600,"a":0,"d":0,"c":0},{"w":1296950400,"a":0,"d":0,"c":0},{"w":1297555200,"a":0,"d":0,"c":0},{"w":1298160000,"a":0,"d":0,"c":0},{"w":1298764800,"a":0,"d":0,"c":0},{"w":1299369600,"a":0,"d":0,"c":0},{"w":1299974400,"a":0,"d":0,"c":0},{"w":1300579200,"a":0,"d":0,"c":0},{"w":1301184000,"a":0,"d":0,"c":0},{"w":1301788800,"a":0,"d":0,"c":0},{"w":1302393600,"a":0,"d":0,"c":0},{"w":1302998400,"a":0,"d":0,"c":0},{"w":1303603200,"a":0,"d":0,"c":0},{"w":1304208000,"a":0,"d":0,"c":0},{"w":1304812800,"a":0,"d":0,"c":0},{"w":1305417600,"a":0,"d":0,"c":0},{"w":1306022400,"a":0,"d":0,"c":0},{"w":1306627200,"a":0,"d":0,"c":0},{"w":1307232000,"a":0,"d":0,"c":0},{"w":1307836800,"a":0,"d":0,"c":0},{"w":1308441600,"a":0,"d":0,"c":0},{"w":1309046400,"a":0,"d":0,"c":0},{"w":1309651200,"a":0,"d":0,"c":0},{"w":1310256000,"a":0,"d":0,"c":0},{"w":1310860800,"a":0,"d":0,"c":0},{"w":1311465600,"a":0,"d":0,"c":0},{"w":1312070400,"a":0,"d":0,"c":0},{"w":1312675200,"a":0,"d":0,"c":0},{"w":1313280000,"a":0,"d":0,"c":0},{"w":1313884800,"a":0,"d":0,"c":0},{"w":1314489600,"a":0,"d":0,"c":0},{"w":1315094400,"a":0,"d":0,"c":0},{"w":1315699200,"a":0,"d":0,"c":0},{"w":1316304000,"a":0,"d":0,"c":0},{"w":1316908800,"a":0,"d":0,"c":0},{"w":1317513600,"a":0,"d":0,"c":0},{"w":1318118400,"a":0,"d":0,"c":0},{"w":1318723200,"a":0,"d":0,"c":0},{"w":1319328000,"a":0,"d":0,"c":0},{"w":1319932800,"a":0,"d":0,"c":0},{"w":1320537600,"a":0,"d":0,"c":0},{"w":1321142400,"a":0,"d":0,"c":0},{"w":1321747200,"a":0,"d":0,"c":0},{"w":1322352000,"a":0,"d":0,"c":0},{"w":1322956800,"a":0,"d":0,"c":0},{"w":1323561600,"a":0,"d":0,"c":0},{"w":1324166400,"a":0,"d":0,"c":0},{"w":1324771200,"a":0,"d":0,"c":0},{"w":1325376000,"a":0,"d":0,"c":0},{"w":1325980800,"a":0,"d":0,"c":0},{"w":1326585600,"a":0,"d":0,"c":0},{"w":1327190400,"a":0,"d":0,"c":0},{"w":1327795200,"a":0,"d":0,"c":0},{"w":1328400000,"a":0,"d":0,"c":0},{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0},{"w":1384646400,"a":0,"d":0,"c":0},{"w":1385251200,"a":0,"d":0,"c":0},{"w":1385856000,"a":0,"d":0,"c":0},{"w":1386460800,"a":0,"d":0,"c":0},{"w":1387065600,"a":0,"d":0,"c":0},{"w":1387670400,"a":0,"d":0,"c":0},{"w":1388275200,"a":0,"d":0,"c":0},{"w":1388880000,"a":0,"d":0,"c":0},{"w":1389484800,"a":0,"d":0,"c":0},{"w":1390089600,"a":0,"d":0,"c":0},{"w":1390694400,"a":0,"d":0,"c":0},{"w":1391299200,"a":0,"d":0,"c":0},{"w":1391904000,"a":0,"d":0,"c":0},{"w":1392508800,"a":0,"d":0,"c":0},{"w":1393113600,"a":0,"d":0,"c":0},{"w":1393718400,"a":0,"d":0,"c":0},{"w":1394323200,"a":0,"d":0,"c":0},{"w":1394928000,"a":0,"d":0,"c":0},{"w":1395532800,"a":0,"d":0,"c":0},{"w":1396137600,"a":0,"d":0,"c":0},{"w":1396742400,"a":0,"d":0,"c":0},{"w":1397347200,"a":0,"d":0,"c":0},{"w":1397952000,"a":0,"d":0,"c":0},{"w":1398556800,"a":0,"d":0,"c":0},{"w":1399161600,"a":0,"d":0,"c":0},{"w":1399766400,"a":0,"d":0,"c":0},{"w":1400371200,"a":0,"d":0,"c":0},{"w":1400976000,"a":0,"d":0,"c":0},{"w":1401580800,"a":0,"d":0,"c":0},{"w":1402185600,"a":1492,"d":5,"c":5},{"w":1402790400,"a":0,"d":0,"c":0},{"w":1403395200,"a":0,"d":0,"c":0},{"w":1404000000,"a":1,"d":0,"c":1},{"w":1404604800,"a":100,"d":0,"c":2},{"w":1405209600,"a":1286,"d":5,"c":6},{"w":1405814400,"a":377,"d":195,"c":7},{"w":1406419200,"a":0,"d":0,"c":0},{"w":1407024000,"a":2370,"d":138,"c":10},{"w":1407628800,"a":0,"d":0,"c":0},{"w":1408233600,"a":0,"d":0,"c":0},{"w":1408838400,"a":0,"d":0,"c":0},{"w":1409443200,"a":0,"d":0,"c":0},{"w":1410048000,"a":0,"d":0,"c":0},{"w":1410652800,"a":0,"d":0,"c":0},{"w":1411257600,"a":0,"d":0,"c":0},{"w":1411862400,"a":0,"d":0,"c":0},{"w":1412467200,"a":0,"d":0,"c":0},{"w":1413072000,"a":0,"d":0,"c":0},{"w":1413676800,"a":0,"d":0,"c":0},{"w":1414281600,"a":0,"d":0,"c":0},{"w":1414886400,"a":0,"d":0,"c":0},{"w":1415491200,"a":0,"d":0,"c":0},{"w":1416096000,"a":0,"d":0,"c":0},{"w":1416700800,"a":0,"d":0,"c":0},{"w":1417305600,"a":0,"d":0,"c":0},{"w":1417910400,"a":0,"d":0,"c":0},{"w":1418515200,"a":0,"d":0,"c":0},{"w":1419120000,"a":0,"d":0,"c":0},{"w":1419724800,"a":0,"d":0,"c":0},{"w":1420329600,"a":0,"d":0,"c":0},{"w":1420934400,"a":0,"d":0,"c":0},{"w":1421539200,"a":0,"d":0,"c":0},{"w":1422144000,"a":0,"d":0,"c":0},{"w":1422748800,"a":0,"d":0,"c":0},{"w":1423353600,"a":0,"d":0,"c":0},{"w":1423958400,"a":0,"d":0,"c":0},{"w":1424563200,"a":0,"d":0,"c":0},{"w":1425168000,"a":0,"d":0,"c":0},{"w":1425772800,"a":0,"d":0,"c":0},{"w":1426377600,"a":0,"d":0,"c":0},{"w":1426982400,"a":0,"d":0,"c":0},{"w":1427587200,"a":0,"d":0,"c":0},{"w":1428192000,"a":0,"d":0,"c":0},{"w":1428796800,"a":0,"d":0,"c":0},{"w":1429401600,"a":0,"d":0,"c":0},{"w":1430006400,"a":0,"d":0,"c":0},{"w":1430611200,"a":0,"d":0,"c":0},{"w":1431216000,"a":0,"d":0,"c":0},{"w":1431820800,"a":0,"d":0,"c":0},{"w":1432425600,"a":0,"d":0,"c":0},{"w":1433030400,"a":0,"d":0,"c":0},{"w":1433635200,"a":0,"d":0,"c":0},{"w":1434240000,"a":0,"d":0,"c":0},{"w":1434844800,"a":0,"d":0,"c":0},{"w":1435449600,"a":0,"d":0,"c":0},{"w":1436054400,"a":0,"d":0,"c":0},{"w":1436659200,"a":0,"d":0,"c":0},{"w":1437264000,"a":0,"d":0,"c":0},{"w":1437868800,"a":0,"d":0,"c":0},{"w":1438473600,"a":0,"d":0,"c":0},{"w":1439078400,"a":0,"d":0,"c":0},{"w":1439683200,"a":0,"d":0,"c":0},{"w":1440288000,"a":0,"d":0,"c":0},{"w":1440892800,"a":0,"d":0,"c":0},{"w":1441497600,"a":0,"d":0,"c":0},{"w":1442102400,"a":0,"d":0,"c":0},{"w":1442707200,"a":0,"d":0,"c":0},{"w":1443312000,"a":0,"d":0,"c":0},{"w":1443916800,"a":0,"d":0,"c":0},{"w":1444521600,"a":0,"d":0,"c":0},{"w":1445126400,"a":0,"d":0,"c":0},{"w":1445731200,"a":0,"d":0,"c":0},{"w":1446336000,"a":0,"d":0,"c":0},{"w":1446940800,"a":0,"d":0,"c":0},{"w":1447545600,"a":25,"d":22,"c":3},{"w":1448150400,"a":0,"d":0,"c":0},{"w":1448755200,"a":0,"d":0,"c":0},{"w":1449360000,"a":0,"d":0,"c":0},{"w":1449964800,"a":0,"d":0,"c":0},{"w":1450569600,"a":0,"d":0,"c":0},{"w":1451174400,"a":0,"d":0,"c":0},{"w":1451779200,"a":0,"d":0,"c":0},{"w":1452384000,"a":0,"d":0,"c":0},{"w":1452988800,"a":0,"d":0,"c":0},{"w":1453593600,"a":0,"d":0,"c":0},{"w":1454198400,"a":0,"d":0,"c":0},{"w":1454803200,"a":0,"d":0,"c":0},{"w":1455408000,"a":0,"d":0,"c":0},{"w":1456012800,"a":0,"d":0,"c":0},{"w":1456617600,"a":0,"d":0,"c":0},{"w":1457222400,"a":0,"d":0,"c":0},{"w":1457827200,"a":0,"d":0,"c":0},{"w":1458432000,"a":0,"d":0,"c":0},{"w":1459036800,"a":0,"d":0,"c":0},{"w":1459641600,"a":0,"d":0,"c":0},{"w":1460246400,"a":0,"d":0,"c":0},{"w":1460851200,"a":0,"d":0,"c":0},{"w":1461456000,"a":0,"d":0,"c":0},{"w":1462060800,"a":0,"d":0,"c":0},{"w":1462665600,"a":103,"d":0,"c":1},{"w":1463270400,"a":0,"d":0,"c":0},{"w":1463875200,"a":0,"d":0,"c":0},{"w":1464480000,"a":0,"d":0,"c":0},{"w":1465084800,"a":0,"d":0,"c":0},{"w":1465689600,"a":0,"d":0,"c":0},{"w":1466294400,"a":0,"d":0,"c":0},{"w":1466899200,"a":0,"d":0,"c":0},{"w":1467504000,"a":0,"d":0,"c":0},{"w":1468108800,"a":0,"d":0,"c":0},{"w":1468713600,"a":0,"d":0,"c":0},{"w":1469318400,"a":0,"d":0,"c":0},{"w":1469923200,"a":0,"d":0,"c":0},{"w":1470528000,"a":0,"d":0,"c":0},{"w":1471132800,"a":0,"d":0,"c":0},{"w":1471737600,"a":0,"d":0,"c":0},{"w":1472342400,"a":0,"d":0,"c":0},{"w":1472947200,"a":0,"d":0,"c":0},{"w":1473552000,"a":0,"d":0,"c":0},{"w":1474156800,"a":0,"d":0,"c":0},{"w":1474761600,"a":0,"d":0,"c":0},{"w":1475366400,"a":0,"d":0,"c":0},{"w":1475971200,"a":0,"d":0,"c":0},{"w":1476576000,"a":0,"d":0,"c":0},{"w":1477180800,"a":0,"d":0,"c":0},{"w":1477785600,"a":0,"d":0,"c":0},{"w":1478390400,"a":0,"d":0,"c":0},{"w":1478995200,"a":0,"d":0,"c":0},{"w":1479600000,"a":0,"d":0,"c":0},{"w":1480204800,"a":0,"d":0,"c":0},{"w":1480809600,"a":0,"d":0,"c":0},{"w":1481414400,"a":0,"d":0,"c":0},{"w":1482019200,"a":0,"d":0,"c":0},{"w":1482624000,"a":0,"d":0,"c":0},{"w":1483228800,"a":0,"d":0,"c":0},{"w":1483833600,"a":0,"d":0,"c":0},{"w":1484438400,"a":0,"d":0,"c":0},{"w":1485043200,"a":0,"d":0,"c":0},{"w":1485648000,"a":0,"d":0,"c":0},{"w":1486252800,"a":0,"d":0,"c":0},{"w":1486857600,"a":0,"d":0,"c":0},{"w":1487462400,"a":0,"d":0,"c":0},{"w":1488067200,"a":0,"d":0,"c":0},{"w":1488672000,"a":0,"d":0,"c":0},{"w":1489276800,"a":0,"d":0,"c":0},{"w":1489881600,"a":0,"d":0,"c":0},{"w":1490486400,"a":0,"d":0,"c":0},{"w":1491091200,"a":0,"d":0,"c":0},{"w":1491696000,"a":0,"d":0,"c":0},{"w":1492300800,"a":0,"d":0,"c":0},{"w":1492905600,"a":0,"d":0,"c":0},{"w":1493510400,"a":0,"d":0,"c":0},{"w":1494115200,"a":0,"d":0,"c":0},{"w":1494720000,"a":0,"d":0,"c":0},{"w":1495324800,"a":0,"d":0,"c":0},{"w":1495929600,"a":0,"d":0,"c":0},{"w":1496534400,"a":0,"d":0,"c":0},{"w":1497139200,"a":0,"d":0,"c":0},{"w":1497744000,"a":0,"d":0,"c":0},{"w":1498348800,"a":0,"d":0,"c":0},{"w":1498953600,"a":0,"d":0,"c":0},{"w":1499558400,"a":0,"d":0,"c":0},{"w":1500163200,"a":0,"d":0,"c":0},{"w":1500768000,"a":0,"d":0,"c":0},{"w":1501372800,"a":0,"d":0,"c":0},{"w":1501977600,"a":0,"d":0,"c":0},{"w":1502582400,"a":0,"d":0,"c":0},{"w":1503187200,"a":0,"d":0,"c":0},{"w":1503792000,"a":0,"d":0,"c":0},{"w":1504396800,"a":0,"d":0,"c":0},{"w":1505001600,"a":0,"d":0,"c":0},{"w":1505606400,"a":0,"d":0,"c":0},{"w":1506211200,"a":0,"d":0,"c":0},{"w":1506816000,"a":0,"d":0,"c":0},{"w":1507420800,"a":0,"d":0,"c":0},{"w":1508025600,"a":0,"d":0,"c":0},{"w":1508630400,"a":0,"d":0,"c":0},{"w":1509235200,"a":0,"d":0,"c":0},{"w":1509840000,"a":0,"d":0,"c":0},{"w":1510444800,"a":0,"d":0,"c":0},{"w":1511049600,"a":0,"d":0,"c":0},{"w":1511654400,"a":0,"d":0,"c":0},{"w":1512259200,"a":0,"d":0,"c":0},{"w":1512864000,"a":0,"d":0,"c":0},{"w":1513468800,"a":0,"d":0,"c":0},{"w":1514073600,"a":0,"d":0,"c":0},{"w":1514678400,"a":0,"d":0,"c":0},{"w":1515283200,"a":0,"d":0,"c":0},{"w":1515888000,"a":0,"d":0,"c":0},{"w":1516492800,"a":0,"d":0,"c":0},{"w":1517097600,"a":0,"d":0,"c":0},{"w":1517702400,"a":0,"d":0,"c":0},{"w":1518307200,"a":0,"d":0,"c":0},{"w":1518912000,"a":0,"d":0,"c":0},{"w":1519516800,"a":0,"d":0,"c":0},{"w":1520121600,"a":0,"d":0,"c":0},{"w":1520726400,"a":0,"d":0,"c":0},{"w":1521331200,"a":0,"d":0,"c":0},{"w":1521936000,"a":0,"d":0,"c":0},{"w":1522540800,"a":0,"d":0,"c":0},{"w":1523145600,"a":0,"d":0,"c":0},{"w":1523750400,"a":0,"d":0,"c":0},{"w":1524355200,"a":0,"d":0,"c":0},{"w":1524960000,"a":0,"d":0,"c":0},{"w":1525564800,"a":0,"d":0,"c":0},{"w":1526169600,"a":0,"d":0,"c":0},{"w":1526774400,"a":0,"d":0,"c":0},{"w":1527379200,"a":0,"d":0,"c":0},{"w":1527984000,"a":0,"d":0,"c":0},{"w":1528588800,"a":0,"d":0,"c":0},{"w":1529193600,"a":0,"d":0,"c":0},{"w":1529798400,"a":0,"d":0,"c":0},{"w":1530403200,"a":0,"d":0,"c":0},{"w":1531008000,"a":0,"d":0,"c":0},{"w":1531612800,"a":0,"d":0,"c":0},{"w":1532217600,"a":0,"d":0,"c":0},{"w":1532822400,"a":0,"d":0,"c":0},{"w":1533427200,"a":0,"d":0,"c":0},{"w":1534032000,"a":0,"d":0,"c":0},{"w":1534636800,"a":0,"d":0,"c":0},{"w":1535241600,"a":0,"d":0,"c":0},{"w":1535846400,"a":0,"d":0,"c":0},{"w":1536451200,"a":0,"d":0,"c":0},{"w":1537056000,"a":0,"d":0,"c":0},{"w":1537660800,"a":0,"d":0,"c":0},{"w":1538265600,"a":0,"d":0,"c":0},{"w":1538870400,"a":0,"d":0,"c":0},{"w":1539475200,"a":0,"d":0,"c":0},{"w":1540080000,"a":0,"d":0,"c":0},{"w":1540684800,"a":0,"d":0,"c":0},{"w":1541289600,"a":0,"d":0,"c":0},{"w":1541894400,"a":0,"d":0,"c":0},{"w":1542499200,"a":0,"d":0,"c":0},{"w":1543104000,"a":0,"d":0,"c":0},{"w":1543708800,"a":0,"d":0,"c":0},{"w":1544313600,"a":0,"d":0,"c":0},{"w":1544918400,"a":0,"d":0,"c":0},{"w":1545523200,"a":0,"d":0,"c":0},{"w":1546128000,"a":0,"d":0,"c":0},{"w":1546732800,"a":0,"d":0,"c":0},{"w":1547337600,"a":0,"d":0,"c":0},{"w":1547942400,"a":0,"d":0,"c":0},{"w":1548547200,"a":0,"d":0,"c":0},{"w":1549152000,"a":0,"d":0,"c":0},{"w":1549756800,"a":0,"d":0,"c":0},{"w":1550361600,"a":0,"d":0,"c":0},{"w":1550966400,"a":0,"d":0,"c":0},{"w":1551571200,"a":0,"d":0,"c":0},{"w":1552176000,"a":0,"d":0,"c":0},{"w":1552780800,"a":0,"d":0,"c":0},{"w":1553385600,"a":0,"d":0,"c":0},{"w":1553990400,"a":0,"d":0,"c":0},{"w":1554595200,"a":0,"d":0,"c":0},{"w":1555200000,"a":0,"d":0,"c":0},{"w":1555804800,"a":0,"d":0,"c":0},{"w":1556409600,"a":0,"d":0,"c":0},{"w":1557014400,"a":0,"d":0,"c":0},{"w":1557619200,"a":0,"d":0,"c":0},{"w":1558224000,"a":0,"d":0,"c":0},{"w":1558828800,"a":0,"d":0,"c":0},{"w":1559433600,"a":0,"d":0,"c":0},{"w":1560038400,"a":0,"d":0,"c":0},{"w":1560643200,"a":0,"d":0,"c":0},{"w":1561248000,"a":0,"d":0,"c":0},{"w":1561852800,"a":0,"d":0,"c":0},{"w":1562457600,"a":0,"d":0,"c":0}],"author":{"login":"Freddrickk","id":5316424,"node_id":"MDQ6VXNlcjUzMTY0MjQ=","avatar_url":"https://avatars2.githubusercontent.com/u/5316424?v=4","gravatar_id":"","url":"https://api.github.com/users/Freddrickk","html_url":"https://github.com/Freddrickk","followers_url":"https://api.github.com/users/Freddrickk/followers","following_url":"https://api.github.com/users/Freddrickk/following{/other_user}","gists_url":"https://api.github.com/users/Freddrickk/gists{/gist_id}","starred_url":"https://api.github.com/users/Freddrickk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Freddrickk/subscriptions","organizations_url":"https://api.github.com/users/Freddrickk/orgs","repos_url":"https://api.github.com/users/Freddrickk/repos","events_url":"https://api.github.com/users/Freddrickk/events{/privacy}","received_events_url":"https://api.github.com/users/Freddrickk/received_events","type":"User","site_admin":false}},{"total":50,"weeks":[{"w":1215302400,"a":0,"d":0,"c":0},{"w":1215907200,"a":0,"d":0,"c":0},{"w":1216512000,"a":0,"d":0,"c":0},{"w":1217116800,"a":0,"d":0,"c":0},{"w":1217721600,"a":0,"d":0,"c":0},{"w":1218326400,"a":0,"d":0,"c":0},{"w":1218931200,"a":0,"d":0,"c":0},{"w":1219536000,"a":0,"d":0,"c":0},{"w":1220140800,"a":0,"d":0,"c":0},{"w":1220745600,"a":0,"d":0,"c":0},{"w":1221350400,"a":0,"d":0,"c":0},{"w":1221955200,"a":0,"d":0,"c":0},{"w":1222560000,"a":0,"d":0,"c":0},{"w":1223164800,"a":0,"d":0,"c":0},{"w":1223769600,"a":0,"d":0,"c":0},{"w":1224374400,"a":0,"d":0,"c":0},{"w":1224979200,"a":0,"d":0,"c":0},{"w":1225584000,"a":0,"d":0,"c":0},{"w":1226188800,"a":0,"d":0,"c":0},{"w":1226793600,"a":0,"d":0,"c":0},{"w":1227398400,"a":0,"d":0,"c":0},{"w":1228003200,"a":0,"d":0,"c":0},{"w":1228608000,"a":0,"d":0,"c":0},{"w":1229212800,"a":0,"d":0,"c":0},{"w":1229817600,"a":0,"d":0,"c":0},{"w":1230422400,"a":0,"d":0,"c":0},{"w":1231027200,"a":0,"d":0,"c":0},{"w":1231632000,"a":0,"d":0,"c":0},{"w":1232236800,"a":0,"d":0,"c":0},{"w":1232841600,"a":0,"d":0,"c":0},{"w":1233446400,"a":0,"d":0,"c":0},{"w":1234051200,"a":0,"d":0,"c":0},{"w":1234656000,"a":0,"d":0,"c":0},{"w":1235260800,"a":0,"d":0,"c":0},{"w":1235865600,"a":0,"d":0,"c":0},{"w":1236470400,"a":0,"d":0,"c":0},{"w":1237075200,"a":0,"d":0,"c":0},{"w":1237680000,"a":0,"d":0,"c":0},{"w":1238284800,"a":0,"d":0,"c":0},{"w":1238889600,"a":0,"d":0,"c":0},{"w":1239494400,"a":0,"d":0,"c":0},{"w":1240099200,"a":0,"d":0,"c":0},{"w":1240704000,"a":0,"d":0,"c":0},{"w":1241308800,"a":0,"d":0,"c":0},{"w":1241913600,"a":0,"d":0,"c":0},{"w":1242518400,"a":0,"d":0,"c":0},{"w":1243123200,"a":0,"d":0,"c":0},{"w":1243728000,"a":0,"d":0,"c":0},{"w":1244332800,"a":0,"d":0,"c":0},{"w":1244937600,"a":0,"d":0,"c":0},{"w":1245542400,"a":0,"d":0,"c":0},{"w":1246147200,"a":0,"d":0,"c":0},{"w":1246752000,"a":0,"d":0,"c":0},{"w":1247356800,"a":0,"d":0,"c":0},{"w":1247961600,"a":0,"d":0,"c":0},{"w":1248566400,"a":0,"d":0,"c":0},{"w":1249171200,"a":0,"d":0,"c":0},{"w":1249776000,"a":0,"d":0,"c":0},{"w":1250380800,"a":0,"d":0,"c":0},{"w":1250985600,"a":0,"d":0,"c":0},{"w":1251590400,"a":0,"d":0,"c":0},{"w":1252195200,"a":0,"d":0,"c":0},{"w":1252800000,"a":0,"d":0,"c":0},{"w":1253404800,"a":0,"d":0,"c":0},{"w":1254009600,"a":0,"d":0,"c":0},{"w":1254614400,"a":0,"d":0,"c":0},{"w":1255219200,"a":0,"d":0,"c":0},{"w":1255824000,"a":0,"d":0,"c":0},{"w":1256428800,"a":0,"d":0,"c":0},{"w":1257033600,"a":0,"d":0,"c":0},{"w":1257638400,"a":0,"d":0,"c":0},{"w":1258243200,"a":0,"d":0,"c":0},{"w":1258848000,"a":0,"d":0,"c":0},{"w":1259452800,"a":0,"d":0,"c":0},{"w":1260057600,"a":0,"d":0,"c":0},{"w":1260662400,"a":0,"d":0,"c":0},{"w":1261267200,"a":0,"d":0,"c":0},{"w":1261872000,"a":0,"d":0,"c":0},{"w":1262476800,"a":0,"d":0,"c":0},{"w":1263081600,"a":0,"d":0,"c":0},{"w":1263686400,"a":0,"d":0,"c":0},{"w":1264291200,"a":0,"d":0,"c":0},{"w":1264896000,"a":0,"d":0,"c":0},{"w":1265500800,"a":0,"d":0,"c":0},{"w":1266105600,"a":0,"d":0,"c":0},{"w":1266710400,"a":0,"d":0,"c":0},{"w":1267315200,"a":0,"d":0,"c":0},{"w":1267920000,"a":0,"d":0,"c":0},{"w":1268524800,"a":0,"d":0,"c":0},{"w":1269129600,"a":0,"d":0,"c":0},{"w":1269734400,"a":0,"d":0,"c":0},{"w":1270339200,"a":0,"d":0,"c":0},{"w":1270944000,"a":0,"d":0,"c":0},{"w":1271548800,"a":0,"d":0,"c":0},{"w":1272153600,"a":0,"d":0,"c":0},{"w":1272758400,"a":0,"d":0,"c":0},{"w":1273363200,"a":0,"d":0,"c":0},{"w":1273968000,"a":0,"d":0,"c":0},{"w":1274572800,"a":0,"d":0,"c":0},{"w":1275177600,"a":0,"d":0,"c":0},{"w":1275782400,"a":0,"d":0,"c":0},{"w":1276387200,"a":0,"d":0,"c":0},{"w":1276992000,"a":0,"d":0,"c":0},{"w":1277596800,"a":0,"d":0,"c":0},{"w":1278201600,"a":0,"d":0,"c":0},{"w":1278806400,"a":0,"d":0,"c":0},{"w":1279411200,"a":0,"d":0,"c":0},{"w":1280016000,"a":0,"d":0,"c":0},{"w":1280620800,"a":0,"d":0,"c":0},{"w":1281225600,"a":0,"d":0,"c":0},{"w":1281830400,"a":0,"d":0,"c":0},{"w":1282435200,"a":0,"d":0,"c":0},{"w":1283040000,"a":0,"d":0,"c":0},{"w":1283644800,"a":0,"d":0,"c":0},{"w":1284249600,"a":0,"d":0,"c":0},{"w":1284854400,"a":0,"d":0,"c":0},{"w":1285459200,"a":0,"d":0,"c":0},{"w":1286064000,"a":0,"d":0,"c":0},{"w":1286668800,"a":0,"d":0,"c":0},{"w":1287273600,"a":0,"d":0,"c":0},{"w":1287878400,"a":0,"d":0,"c":0},{"w":1288483200,"a":0,"d":0,"c":0},{"w":1289088000,"a":0,"d":0,"c":0},{"w":1289692800,"a":0,"d":0,"c":0},{"w":1290297600,"a":0,"d":0,"c":0},{"w":1290902400,"a":0,"d":0,"c":0},{"w":1291507200,"a":0,"d":0,"c":0},{"w":1292112000,"a":0,"d":0,"c":0},{"w":1292716800,"a":0,"d":0,"c":0},{"w":1293321600,"a":0,"d":0,"c":0},{"w":1293926400,"a":0,"d":0,"c":0},{"w":1294531200,"a":0,"d":0,"c":0},{"w":1295136000,"a":0,"d":0,"c":0},{"w":1295740800,"a":0,"d":0,"c":0},{"w":1296345600,"a":0,"d":0,"c":0},{"w":1296950400,"a":0,"d":0,"c":0},{"w":1297555200,"a":0,"d":0,"c":0},{"w":1298160000,"a":0,"d":0,"c":0},{"w":1298764800,"a":0,"d":0,"c":0},{"w":1299369600,"a":0,"d":0,"c":0},{"w":1299974400,"a":0,"d":0,"c":0},{"w":1300579200,"a":0,"d":0,"c":0},{"w":1301184000,"a":0,"d":0,"c":0},{"w":1301788800,"a":0,"d":0,"c":0},{"w":1302393600,"a":0,"d":0,"c":0},{"w":1302998400,"a":0,"d":0,"c":0},{"w":1303603200,"a":0,"d":0,"c":0},{"w":1304208000,"a":0,"d":0,"c":0},{"w":1304812800,"a":0,"d":0,"c":0},{"w":1305417600,"a":0,"d":0,"c":0},{"w":1306022400,"a":0,"d":0,"c":0},{"w":1306627200,"a":0,"d":0,"c":0},{"w":1307232000,"a":0,"d":0,"c":0},{"w":1307836800,"a":0,"d":0,"c":0},{"w":1308441600,"a":0,"d":0,"c":0},{"w":1309046400,"a":0,"d":0,"c":0},{"w":1309651200,"a":0,"d":0,"c":0},{"w":1310256000,"a":0,"d":0,"c":0},{"w":1310860800,"a":0,"d":0,"c":0},{"w":1311465600,"a":0,"d":0,"c":0},{"w":1312070400,"a":0,"d":0,"c":0},{"w":1312675200,"a":0,"d":0,"c":0},{"w":1313280000,"a":0,"d":0,"c":0},{"w":1313884800,"a":0,"d":0,"c":0},{"w":1314489600,"a":0,"d":0,"c":0},{"w":1315094400,"a":0,"d":0,"c":0},{"w":1315699200,"a":0,"d":0,"c":0},{"w":1316304000,"a":0,"d":0,"c":0},{"w":1316908800,"a":0,"d":0,"c":0},{"w":1317513600,"a":0,"d":0,"c":0},{"w":1318118400,"a":0,"d":0,"c":0},{"w":1318723200,"a":0,"d":0,"c":0},{"w":1319328000,"a":0,"d":0,"c":0},{"w":1319932800,"a":0,"d":0,"c":0},{"w":1320537600,"a":0,"d":0,"c":0},{"w":1321142400,"a":0,"d":0,"c":0},{"w":1321747200,"a":0,"d":0,"c":0},{"w":1322352000,"a":0,"d":0,"c":0},{"w":1322956800,"a":0,"d":0,"c":0},{"w":1323561600,"a":0,"d":0,"c":0},{"w":1324166400,"a":0,"d":0,"c":0},{"w":1324771200,"a":0,"d":0,"c":0},{"w":1325376000,"a":0,"d":0,"c":0},{"w":1325980800,"a":0,"d":0,"c":0},{"w":1326585600,"a":0,"d":0,"c":0},{"w":1327190400,"a":0,"d":0,"c":0},{"w":1327795200,"a":0,"d":0,"c":0},{"w":1328400000,"a":0,"d":0,"c":0},{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0},{"w":1384646400,"a":0,"d":0,"c":0},{"w":1385251200,"a":0,"d":0,"c":0},{"w":1385856000,"a":0,"d":0,"c":0},{"w":1386460800,"a":0,"d":0,"c":0},{"w":1387065600,"a":0,"d":0,"c":0},{"w":1387670400,"a":0,"d":0,"c":0},{"w":1388275200,"a":0,"d":0,"c":0},{"w":1388880000,"a":0,"d":0,"c":0},{"w":1389484800,"a":0,"d":0,"c":0},{"w":1390089600,"a":0,"d":0,"c":0},{"w":1390694400,"a":0,"d":0,"c":0},{"w":1391299200,"a":0,"d":0,"c":0},{"w":1391904000,"a":0,"d":0,"c":0},{"w":1392508800,"a":0,"d":0,"c":0},{"w":1393113600,"a":0,"d":0,"c":0},{"w":1393718400,"a":0,"d":0,"c":0},{"w":1394323200,"a":0,"d":0,"c":0},{"w":1394928000,"a":0,"d":0,"c":0},{"w":1395532800,"a":0,"d":0,"c":0},{"w":1396137600,"a":0,"d":0,"c":0},{"w":1396742400,"a":0,"d":0,"c":0},{"w":1397347200,"a":0,"d":0,"c":0},{"w":1397952000,"a":0,"d":0,"c":0},{"w":1398556800,"a":0,"d":0,"c":0},{"w":1399161600,"a":324,"d":0,"c":2},{"w":1399766400,"a":0,"d":0,"c":0},{"w":1400371200,"a":0,"d":0,"c":0},{"w":1400976000,"a":0,"d":0,"c":0},{"w":1401580800,"a":0,"d":0,"c":0},{"w":1402185600,"a":377,"d":1,"c":2},{"w":1402790400,"a":0,"d":0,"c":0},{"w":1403395200,"a":0,"d":0,"c":0},{"w":1404000000,"a":0,"d":0,"c":0},{"w":1404604800,"a":0,"d":0,"c":0},{"w":1405209600,"a":185,"d":53,"c":4},{"w":1405814400,"a":14,"d":15,"c":1},{"w":1406419200,"a":0,"d":0,"c":0},{"w":1407024000,"a":0,"d":0,"c":0},{"w":1407628800,"a":0,"d":0,"c":0},{"w":1408233600,"a":0,"d":0,"c":0},{"w":1408838400,"a":0,"d":0,"c":0},{"w":1409443200,"a":0,"d":0,"c":0},{"w":1410048000,"a":203,"d":57,"c":4},{"w":1410652800,"a":15,"d":0,"c":1},{"w":1411257600,"a":0,"d":0,"c":0},{"w":1411862400,"a":0,"d":0,"c":0},{"w":1412467200,"a":0,"d":0,"c":0},{"w":1413072000,"a":0,"d":0,"c":0},{"w":1413676800,"a":0,"d":0,"c":0},{"w":1414281600,"a":176,"d":30,"c":1},{"w":1414886400,"a":12,"d":9,"c":1},{"w":1415491200,"a":0,"d":0,"c":0},{"w":1416096000,"a":56,"d":21,"c":2},{"w":1416700800,"a":19,"d":3,"c":1},{"w":1417305600,"a":46,"d":13,"c":3},{"w":1417910400,"a":32,"d":26,"c":2},{"w":1418515200,"a":50,"d":27,"c":1},{"w":1419120000,"a":0,"d":0,"c":0},{"w":1419724800,"a":0,"d":0,"c":0},{"w":1420329600,"a":0,"d":0,"c":0},{"w":1420934400,"a":23,"d":13,"c":1},{"w":1421539200,"a":346,"d":2,"c":2},{"w":1422144000,"a":0,"d":0,"c":0},{"w":1422748800,"a":0,"d":0,"c":0},{"w":1423353600,"a":225,"d":0,"c":1},{"w":1423958400,"a":0,"d":0,"c":0},{"w":1424563200,"a":0,"d":0,"c":0},{"w":1425168000,"a":0,"d":0,"c":0},{"w":1425772800,"a":92,"d":19,"c":3},{"w":1426377600,"a":1459,"d":1442,"c":1},{"w":1426982400,"a":0,"d":0,"c":0},{"w":1427587200,"a":0,"d":0,"c":0},{"w":1428192000,"a":0,"d":0,"c":0},{"w":1428796800,"a":0,"d":0,"c":0},{"w":1429401600,"a":1,"d":1,"c":1},{"w":1430006400,"a":54,"d":0,"c":1},{"w":1430611200,"a":46,"d":30,"c":1},{"w":1431216000,"a":8,"d":10,"c":1},{"w":1431820800,"a":106,"d":51,"c":1},{"w":1432425600,"a":223,"d":90,"c":3},{"w":1433030400,"a":1149,"d":4,"c":6},{"w":1433635200,"a":0,"d":0,"c":0},{"w":1434240000,"a":16,"d":11,"c":3},{"w":1434844800,"a":0,"d":0,"c":0},{"w":1435449600,"a":0,"d":0,"c":0},{"w":1436054400,"a":0,"d":0,"c":0},{"w":1436659200,"a":0,"d":0,"c":0},{"w":1437264000,"a":0,"d":0,"c":0},{"w":1437868800,"a":0,"d":0,"c":0},{"w":1438473600,"a":0,"d":0,"c":0},{"w":1439078400,"a":0,"d":0,"c":0},{"w":1439683200,"a":0,"d":0,"c":0},{"w":1440288000,"a":0,"d":0,"c":0},{"w":1440892800,"a":0,"d":0,"c":0},{"w":1441497600,"a":0,"d":0,"c":0},{"w":1442102400,"a":0,"d":0,"c":0},{"w":1442707200,"a":0,"d":0,"c":0},{"w":1443312000,"a":0,"d":0,"c":0},{"w":1443916800,"a":0,"d":0,"c":0},{"w":1444521600,"a":0,"d":0,"c":0},{"w":1445126400,"a":0,"d":0,"c":0},{"w":1445731200,"a":0,"d":0,"c":0},{"w":1446336000,"a":0,"d":0,"c":0},{"w":1446940800,"a":0,"d":0,"c":0},{"w":1447545600,"a":0,"d":0,"c":0},{"w":1448150400,"a":0,"d":0,"c":0},{"w":1448755200,"a":0,"d":0,"c":0},{"w":1449360000,"a":0,"d":0,"c":0},{"w":1449964800,"a":0,"d":0,"c":0},{"w":1450569600,"a":0,"d":0,"c":0},{"w":1451174400,"a":0,"d":0,"c":0},{"w":1451779200,"a":0,"d":0,"c":0},{"w":1452384000,"a":0,"d":0,"c":0},{"w":1452988800,"a":0,"d":0,"c":0},{"w":1453593600,"a":0,"d":0,"c":0},{"w":1454198400,"a":0,"d":0,"c":0},{"w":1454803200,"a":0,"d":0,"c":0},{"w":1455408000,"a":0,"d":0,"c":0},{"w":1456012800,"a":0,"d":0,"c":0},{"w":1456617600,"a":0,"d":0,"c":0},{"w":1457222400,"a":0,"d":0,"c":0},{"w":1457827200,"a":0,"d":0,"c":0},{"w":1458432000,"a":0,"d":0,"c":0},{"w":1459036800,"a":0,"d":0,"c":0},{"w":1459641600,"a":0,"d":0,"c":0},{"w":1460246400,"a":0,"d":0,"c":0},{"w":1460851200,"a":0,"d":0,"c":0},{"w":1461456000,"a":0,"d":0,"c":0},{"w":1462060800,"a":0,"d":0,"c":0},{"w":1462665600,"a":0,"d":0,"c":0},{"w":1463270400,"a":0,"d":0,"c":0},{"w":1463875200,"a":0,"d":0,"c":0},{"w":1464480000,"a":0,"d":0,"c":0},{"w":1465084800,"a":0,"d":0,"c":0},{"w":1465689600,"a":0,"d":0,"c":0},{"w":1466294400,"a":0,"d":0,"c":0},{"w":1466899200,"a":0,"d":0,"c":0},{"w":1467504000,"a":0,"d":0,"c":0},{"w":1468108800,"a":0,"d":0,"c":0},{"w":1468713600,"a":0,"d":0,"c":0},{"w":1469318400,"a":0,"d":0,"c":0},{"w":1469923200,"a":0,"d":0,"c":0},{"w":1470528000,"a":0,"d":0,"c":0},{"w":1471132800,"a":0,"d":0,"c":0},{"w":1471737600,"a":0,"d":0,"c":0},{"w":1472342400,"a":0,"d":0,"c":0},{"w":1472947200,"a":0,"d":0,"c":0},{"w":1473552000,"a":0,"d":0,"c":0},{"w":1474156800,"a":0,"d":0,"c":0},{"w":1474761600,"a":0,"d":0,"c":0},{"w":1475366400,"a":0,"d":0,"c":0},{"w":1475971200,"a":0,"d":0,"c":0},{"w":1476576000,"a":0,"d":0,"c":0},{"w":1477180800,"a":0,"d":0,"c":0},{"w":1477785600,"a":0,"d":0,"c":0},{"w":1478390400,"a":0,"d":0,"c":0},{"w":1478995200,"a":0,"d":0,"c":0},{"w":1479600000,"a":0,"d":0,"c":0},{"w":1480204800,"a":0,"d":0,"c":0},{"w":1480809600,"a":0,"d":0,"c":0},{"w":1481414400,"a":0,"d":0,"c":0},{"w":1482019200,"a":0,"d":0,"c":0},{"w":1482624000,"a":0,"d":0,"c":0},{"w":1483228800,"a":0,"d":0,"c":0},{"w":1483833600,"a":0,"d":0,"c":0},{"w":1484438400,"a":0,"d":0,"c":0},{"w":1485043200,"a":0,"d":0,"c":0},{"w":1485648000,"a":0,"d":0,"c":0},{"w":1486252800,"a":0,"d":0,"c":0},{"w":1486857600,"a":0,"d":0,"c":0},{"w":1487462400,"a":0,"d":0,"c":0},{"w":1488067200,"a":0,"d":0,"c":0},{"w":1488672000,"a":0,"d":0,"c":0},{"w":1489276800,"a":0,"d":0,"c":0},{"w":1489881600,"a":0,"d":0,"c":0},{"w":1490486400,"a":0,"d":0,"c":0},{"w":1491091200,"a":0,"d":0,"c":0},{"w":1491696000,"a":0,"d":0,"c":0},{"w":1492300800,"a":0,"d":0,"c":0},{"w":1492905600,"a":0,"d":0,"c":0},{"w":1493510400,"a":0,"d":0,"c":0},{"w":1494115200,"a":0,"d":0,"c":0},{"w":1494720000,"a":0,"d":0,"c":0},{"w":1495324800,"a":0,"d":0,"c":0},{"w":1495929600,"a":0,"d":0,"c":0},{"w":1496534400,"a":0,"d":0,"c":0},{"w":1497139200,"a":0,"d":0,"c":0},{"w":1497744000,"a":0,"d":0,"c":0},{"w":1498348800,"a":0,"d":0,"c":0},{"w":1498953600,"a":0,"d":0,"c":0},{"w":1499558400,"a":0,"d":0,"c":0},{"w":1500163200,"a":0,"d":0,"c":0},{"w":1500768000,"a":0,"d":0,"c":0},{"w":1501372800,"a":0,"d":0,"c":0},{"w":1501977600,"a":0,"d":0,"c":0},{"w":1502582400,"a":0,"d":0,"c":0},{"w":1503187200,"a":0,"d":0,"c":0},{"w":1503792000,"a":0,"d":0,"c":0},{"w":1504396800,"a":0,"d":0,"c":0},{"w":1505001600,"a":0,"d":0,"c":0},{"w":1505606400,"a":0,"d":0,"c":0},{"w":1506211200,"a":0,"d":0,"c":0},{"w":1506816000,"a":0,"d":0,"c":0},{"w":1507420800,"a":0,"d":0,"c":0},{"w":1508025600,"a":0,"d":0,"c":0},{"w":1508630400,"a":0,"d":0,"c":0},{"w":1509235200,"a":0,"d":0,"c":0},{"w":1509840000,"a":0,"d":0,"c":0},{"w":1510444800,"a":0,"d":0,"c":0},{"w":1511049600,"a":0,"d":0,"c":0},{"w":1511654400,"a":0,"d":0,"c":0},{"w":1512259200,"a":0,"d":0,"c":0},{"w":1512864000,"a":0,"d":0,"c":0},{"w":1513468800,"a":0,"d":0,"c":0},{"w":1514073600,"a":0,"d":0,"c":0},{"w":1514678400,"a":0,"d":0,"c":0},{"w":1515283200,"a":0,"d":0,"c":0},{"w":1515888000,"a":0,"d":0,"c":0},{"w":1516492800,"a":0,"d":0,"c":0},{"w":1517097600,"a":0,"d":0,"c":0},{"w":1517702400,"a":0,"d":0,"c":0},{"w":1518307200,"a":0,"d":0,"c":0},{"w":1518912000,"a":0,"d":0,"c":0},{"w":1519516800,"a":0,"d":0,"c":0},{"w":1520121600,"a":0,"d":0,"c":0},{"w":1520726400,"a":0,"d":0,"c":0},{"w":1521331200,"a":0,"d":0,"c":0},{"w":1521936000,"a":0,"d":0,"c":0},{"w":1522540800,"a":0,"d":0,"c":0},{"w":1523145600,"a":0,"d":0,"c":0},{"w":1523750400,"a":0,"d":0,"c":0},{"w":1524355200,"a":0,"d":0,"c":0},{"w":1524960000,"a":0,"d":0,"c":0},{"w":1525564800,"a":0,"d":0,"c":0},{"w":1526169600,"a":0,"d":0,"c":0},{"w":1526774400,"a":0,"d":0,"c":0},{"w":1527379200,"a":0,"d":0,"c":0},{"w":1527984000,"a":0,"d":0,"c":0},{"w":1528588800,"a":0,"d":0,"c":0},{"w":1529193600,"a":0,"d":0,"c":0},{"w":1529798400,"a":0,"d":0,"c":0},{"w":1530403200,"a":0,"d":0,"c":0},{"w":1531008000,"a":0,"d":0,"c":0},{"w":1531612800,"a":0,"d":0,"c":0},{"w":1532217600,"a":0,"d":0,"c":0},{"w":1532822400,"a":0,"d":0,"c":0},{"w":1533427200,"a":0,"d":0,"c":0},{"w":1534032000,"a":0,"d":0,"c":0},{"w":1534636800,"a":0,"d":0,"c":0},{"w":1535241600,"a":0,"d":0,"c":0},{"w":1535846400,"a":0,"d":0,"c":0},{"w":1536451200,"a":0,"d":0,"c":0},{"w":1537056000,"a":0,"d":0,"c":0},{"w":1537660800,"a":0,"d":0,"c":0},{"w":1538265600,"a":0,"d":0,"c":0},{"w":1538870400,"a":0,"d":0,"c":0},{"w":1539475200,"a":0,"d":0,"c":0},{"w":1540080000,"a":0,"d":0,"c":0},{"w":1540684800,"a":0,"d":0,"c":0},{"w":1541289600,"a":0,"d":0,"c":0},{"w":1541894400,"a":0,"d":0,"c":0},{"w":1542499200,"a":0,"d":0,"c":0},{"w":1543104000,"a":0,"d":0,"c":0},{"w":1543708800,"a":0,"d":0,"c":0},{"w":1544313600,"a":0,"d":0,"c":0},{"w":1544918400,"a":0,"d":0,"c":0},{"w":1545523200,"a":0,"d":0,"c":0},{"w":1546128000,"a":0,"d":0,"c":0},{"w":1546732800,"a":0,"d":0,"c":0},{"w":1547337600,"a":0,"d":0,"c":0},{"w":1547942400,"a":0,"d":0,"c":0},{"w":1548547200,"a":0,"d":0,"c":0},{"w":1549152000,"a":0,"d":0,"c":0},{"w":1549756800,"a":0,"d":0,"c":0},{"w":1550361600,"a":0,"d":0,"c":0},{"w":1550966400,"a":0,"d":0,"c":0},{"w":1551571200,"a":0,"d":0,"c":0},{"w":1552176000,"a":0,"d":0,"c":0},{"w":1552780800,"a":0,"d":0,"c":0},{"w":1553385600,"a":0,"d":0,"c":0},{"w":1553990400,"a":0,"d":0,"c":0},{"w":1554595200,"a":0,"d":0,"c":0},{"w":1555200000,"a":0,"d":0,"c":0},{"w":1555804800,"a":0,"d":0,"c":0},{"w":1556409600,"a":0,"d":0,"c":0},{"w":1557014400,"a":0,"d":0,"c":0},{"w":1557619200,"a":0,"d":0,"c":0},{"w":1558224000,"a":0,"d":0,"c":0},{"w":1558828800,"a":0,"d":0,"c":0},{"w":1559433600,"a":0,"d":0,"c":0},{"w":1560038400,"a":0,"d":0,"c":0},{"w":1560643200,"a":0,"d":0,"c":0},{"w":1561248000,"a":0,"d":0,"c":0},{"w":1561852800,"a":0,"d":0,"c":0},{"w":1562457600,"a":0,"d":0,"c":0}],"author":{"login":"jpages","id":2535352,"node_id":"MDQ6VXNlcjI1MzUzNTI=","avatar_url":"https://avatars1.githubusercontent.com/u/2535352?v=4","gravatar_id":"","url":"https://api.github.com/users/jpages","html_url":"https://github.com/jpages","followers_url":"https://api.github.com/users/jpages/followers","following_url":"https://api.github.com/users/jpages/following{/other_user}","gists_url":"https://api.github.com/users/jpages/gists{/gist_id}","starred_url":"https://api.github.com/users/jpages/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jpages/subscriptions","organizations_url":"https://api.github.com/users/jpages/orgs","repos_url":"https://api.github.com/users/jpages/repos","events_url":"https://api.github.com/users/jpages/events{/privacy}","received_events_url":"https://api.github.com/users/jpages/received_events","type":"User","site_admin":false}},{"total":94,"weeks":[{"w":1215302400,"a":0,"d":0,"c":0},{"w":1215907200,"a":0,"d":0,"c":0},{"w":1216512000,"a":0,"d":0,"c":0},{"w":1217116800,"a":0,"d":0,"c":0},{"w":1217721600,"a":0,"d":0,"c":0},{"w":1218326400,"a":0,"d":0,"c":0},{"w":1218931200,"a":0,"d":0,"c":0},{"w":1219536000,"a":0,"d":0,"c":0},{"w":1220140800,"a":0,"d":0,"c":0},{"w":1220745600,"a":0,"d":0,"c":0},{"w":1221350400,"a":0,"d":0,"c":0},{"w":1221955200,"a":0,"d":0,"c":0},{"w":1222560000,"a":0,"d":0,"c":0},{"w":1223164800,"a":0,"d":0,"c":0},{"w":1223769600,"a":0,"d":0,"c":0},{"w":1224374400,"a":0,"d":0,"c":0},{"w":1224979200,"a":0,"d":0,"c":0},{"w":1225584000,"a":0,"d":0,"c":0},{"w":1226188800,"a":0,"d":0,"c":0},{"w":1226793600,"a":0,"d":0,"c":0},{"w":1227398400,"a":0,"d":0,"c":0},{"w":1228003200,"a":0,"d":0,"c":0},{"w":1228608000,"a":0,"d":0,"c":0},{"w":1229212800,"a":0,"d":0,"c":0},{"w":1229817600,"a":0,"d":0,"c":0},{"w":1230422400,"a":0,"d":0,"c":0},{"w":1231027200,"a":0,"d":0,"c":0},{"w":1231632000,"a":0,"d":0,"c":0},{"w":1232236800,"a":0,"d":0,"c":0},{"w":1232841600,"a":0,"d":0,"c":0},{"w":1233446400,"a":0,"d":0,"c":0},{"w":1234051200,"a":0,"d":0,"c":0},{"w":1234656000,"a":0,"d":0,"c":0},{"w":1235260800,"a":0,"d":0,"c":0},{"w":1235865600,"a":0,"d":0,"c":0},{"w":1236470400,"a":0,"d":0,"c":0},{"w":1237075200,"a":0,"d":0,"c":0},{"w":1237680000,"a":0,"d":0,"c":0},{"w":1238284800,"a":0,"d":0,"c":0},{"w":1238889600,"a":0,"d":0,"c":0},{"w":1239494400,"a":0,"d":0,"c":0},{"w":1240099200,"a":0,"d":0,"c":0},{"w":1240704000,"a":0,"d":0,"c":0},{"w":1241308800,"a":0,"d":0,"c":0},{"w":1241913600,"a":0,"d":0,"c":0},{"w":1242518400,"a":0,"d":0,"c":0},{"w":1243123200,"a":0,"d":0,"c":0},{"w":1243728000,"a":0,"d":0,"c":0},{"w":1244332800,"a":0,"d":0,"c":0},{"w":1244937600,"a":0,"d":0,"c":0},{"w":1245542400,"a":0,"d":0,"c":0},{"w":1246147200,"a":0,"d":0,"c":0},{"w":1246752000,"a":0,"d":0,"c":0},{"w":1247356800,"a":0,"d":0,"c":0},{"w":1247961600,"a":0,"d":0,"c":0},{"w":1248566400,"a":0,"d":0,"c":0},{"w":1249171200,"a":0,"d":0,"c":0},{"w":1249776000,"a":0,"d":0,"c":0},{"w":1250380800,"a":0,"d":0,"c":0},{"w":1250985600,"a":0,"d":0,"c":0},{"w":1251590400,"a":0,"d":0,"c":0},{"w":1252195200,"a":0,"d":0,"c":0},{"w":1252800000,"a":0,"d":0,"c":0},{"w":1253404800,"a":0,"d":0,"c":0},{"w":1254009600,"a":0,"d":0,"c":0},{"w":1254614400,"a":0,"d":0,"c":0},{"w":1255219200,"a":0,"d":0,"c":0},{"w":1255824000,"a":0,"d":0,"c":0},{"w":1256428800,"a":0,"d":0,"c":0},{"w":1257033600,"a":0,"d":0,"c":0},{"w":1257638400,"a":0,"d":0,"c":0},{"w":1258243200,"a":0,"d":0,"c":0},{"w":1258848000,"a":0,"d":0,"c":0},{"w":1259452800,"a":0,"d":0,"c":0},{"w":1260057600,"a":0,"d":0,"c":0},{"w":1260662400,"a":0,"d":0,"c":0},{"w":1261267200,"a":0,"d":0,"c":0},{"w":1261872000,"a":0,"d":0,"c":0},{"w":1262476800,"a":0,"d":0,"c":0},{"w":1263081600,"a":0,"d":0,"c":0},{"w":1263686400,"a":0,"d":0,"c":0},{"w":1264291200,"a":0,"d":0,"c":0},{"w":1264896000,"a":0,"d":0,"c":0},{"w":1265500800,"a":0,"d":0,"c":0},{"w":1266105600,"a":0,"d":0,"c":0},{"w":1266710400,"a":0,"d":0,"c":0},{"w":1267315200,"a":0,"d":0,"c":0},{"w":1267920000,"a":0,"d":0,"c":0},{"w":1268524800,"a":0,"d":0,"c":0},{"w":1269129600,"a":0,"d":0,"c":0},{"w":1269734400,"a":0,"d":0,"c":0},{"w":1270339200,"a":0,"d":0,"c":0},{"w":1270944000,"a":0,"d":0,"c":0},{"w":1271548800,"a":0,"d":0,"c":0},{"w":1272153600,"a":0,"d":0,"c":0},{"w":1272758400,"a":0,"d":0,"c":0},{"w":1273363200,"a":0,"d":0,"c":0},{"w":1273968000,"a":0,"d":0,"c":0},{"w":1274572800,"a":0,"d":0,"c":0},{"w":1275177600,"a":0,"d":0,"c":0},{"w":1275782400,"a":0,"d":0,"c":0},{"w":1276387200,"a":0,"d":0,"c":0},{"w":1276992000,"a":0,"d":0,"c":0},{"w":1277596800,"a":0,"d":0,"c":0},{"w":1278201600,"a":0,"d":0,"c":0},{"w":1278806400,"a":0,"d":0,"c":0},{"w":1279411200,"a":0,"d":0,"c":0},{"w":1280016000,"a":0,"d":0,"c":0},{"w":1280620800,"a":0,"d":0,"c":0},{"w":1281225600,"a":0,"d":0,"c":0},{"w":1281830400,"a":0,"d":0,"c":0},{"w":1282435200,"a":0,"d":0,"c":0},{"w":1283040000,"a":0,"d":0,"c":0},{"w":1283644800,"a":0,"d":0,"c":0},{"w":1284249600,"a":0,"d":0,"c":0},{"w":1284854400,"a":0,"d":0,"c":0},{"w":1285459200,"a":0,"d":0,"c":0},{"w":1286064000,"a":0,"d":0,"c":0},{"w":1286668800,"a":0,"d":0,"c":0},{"w":1287273600,"a":0,"d":0,"c":0},{"w":1287878400,"a":0,"d":0,"c":0},{"w":1288483200,"a":0,"d":0,"c":0},{"w":1289088000,"a":0,"d":0,"c":0},{"w":1289692800,"a":0,"d":0,"c":0},{"w":1290297600,"a":0,"d":0,"c":0},{"w":1290902400,"a":0,"d":0,"c":0},{"w":1291507200,"a":0,"d":0,"c":0},{"w":1292112000,"a":0,"d":0,"c":0},{"w":1292716800,"a":0,"d":0,"c":0},{"w":1293321600,"a":0,"d":0,"c":0},{"w":1293926400,"a":0,"d":0,"c":0},{"w":1294531200,"a":0,"d":0,"c":0},{"w":1295136000,"a":0,"d":0,"c":0},{"w":1295740800,"a":0,"d":0,"c":0},{"w":1296345600,"a":0,"d":0,"c":0},{"w":1296950400,"a":0,"d":0,"c":0},{"w":1297555200,"a":0,"d":0,"c":0},{"w":1298160000,"a":0,"d":0,"c":0},{"w":1298764800,"a":0,"d":0,"c":0},{"w":1299369600,"a":0,"d":0,"c":0},{"w":1299974400,"a":0,"d":0,"c":0},{"w":1300579200,"a":0,"d":0,"c":0},{"w":1301184000,"a":0,"d":0,"c":0},{"w":1301788800,"a":0,"d":0,"c":0},{"w":1302393600,"a":0,"d":0,"c":0},{"w":1302998400,"a":0,"d":0,"c":0},{"w":1303603200,"a":0,"d":0,"c":0},{"w":1304208000,"a":0,"d":0,"c":0},{"w":1304812800,"a":0,"d":0,"c":0},{"w":1305417600,"a":0,"d":0,"c":0},{"w":1306022400,"a":0,"d":0,"c":0},{"w":1306627200,"a":0,"d":0,"c":0},{"w":1307232000,"a":0,"d":0,"c":0},{"w":1307836800,"a":0,"d":0,"c":0},{"w":1308441600,"a":0,"d":0,"c":0},{"w":1309046400,"a":0,"d":0,"c":0},{"w":1309651200,"a":0,"d":0,"c":0},{"w":1310256000,"a":0,"d":0,"c":0},{"w":1310860800,"a":0,"d":0,"c":0},{"w":1311465600,"a":0,"d":0,"c":0},{"w":1312070400,"a":0,"d":0,"c":0},{"w":1312675200,"a":0,"d":0,"c":0},{"w":1313280000,"a":0,"d":0,"c":0},{"w":1313884800,"a":0,"d":0,"c":0},{"w":1314489600,"a":0,"d":0,"c":0},{"w":1315094400,"a":0,"d":0,"c":0},{"w":1315699200,"a":0,"d":0,"c":0},{"w":1316304000,"a":0,"d":0,"c":0},{"w":1316908800,"a":0,"d":0,"c":0},{"w":1317513600,"a":0,"d":0,"c":0},{"w":1318118400,"a":0,"d":0,"c":0},{"w":1318723200,"a":0,"d":0,"c":0},{"w":1319328000,"a":0,"d":0,"c":0},{"w":1319932800,"a":0,"d":0,"c":0},{"w":1320537600,"a":0,"d":0,"c":0},{"w":1321142400,"a":0,"d":0,"c":0},{"w":1321747200,"a":0,"d":0,"c":0},{"w":1322352000,"a":0,"d":0,"c":0},{"w":1322956800,"a":0,"d":0,"c":0},{"w":1323561600,"a":0,"d":0,"c":0},{"w":1324166400,"a":0,"d":0,"c":0},{"w":1324771200,"a":0,"d":0,"c":0},{"w":1325376000,"a":0,"d":0,"c":0},{"w":1325980800,"a":0,"d":0,"c":0},{"w":1326585600,"a":0,"d":0,"c":0},{"w":1327190400,"a":0,"d":0,"c":0},{"w":1327795200,"a":0,"d":0,"c":0},{"w":1328400000,"a":0,"d":0,"c":0},{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":277,"d":24,"c":3},{"w":1367712000,"a":9,"d":0,"c":1},{"w":1368316800,"a":2,"d":2,"c":1},{"w":1368921600,"a":1271,"d":163,"c":18},{"w":1369526400,"a":260,"d":73,"c":8},{"w":1370131200,"a":8,"d":8,"c":1},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":1249,"d":5,"c":52},{"w":1372550400,"a":198,"d":27,"c":10},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0},{"w":1384646400,"a":0,"d":0,"c":0},{"w":1385251200,"a":0,"d":0,"c":0},{"w":1385856000,"a":0,"d":0,"c":0},{"w":1386460800,"a":0,"d":0,"c":0},{"w":1387065600,"a":0,"d":0,"c":0},{"w":1387670400,"a":0,"d":0,"c":0},{"w":1388275200,"a":0,"d":0,"c":0},{"w":1388880000,"a":0,"d":0,"c":0},{"w":1389484800,"a":0,"d":0,"c":0},{"w":1390089600,"a":0,"d":0,"c":0},{"w":1390694400,"a":0,"d":0,"c":0},{"w":1391299200,"a":0,"d":0,"c":0},{"w":1391904000,"a":0,"d":0,"c":0},{"w":1392508800,"a":0,"d":0,"c":0},{"w":1393113600,"a":0,"d":0,"c":0},{"w":1393718400,"a":0,"d":0,"c":0},{"w":1394323200,"a":0,"d":0,"c":0},{"w":1394928000,"a":0,"d":0,"c":0},{"w":1395532800,"a":0,"d":0,"c":0},{"w":1396137600,"a":0,"d":0,"c":0},{"w":1396742400,"a":0,"d":0,"c":0},{"w":1397347200,"a":0,"d":0,"c":0},{"w":1397952000,"a":0,"d":0,"c":0},{"w":1398556800,"a":0,"d":0,"c":0},{"w":1399161600,"a":0,"d":0,"c":0},{"w":1399766400,"a":0,"d":0,"c":0},{"w":1400371200,"a":0,"d":0,"c":0},{"w":1400976000,"a":0,"d":0,"c":0},{"w":1401580800,"a":0,"d":0,"c":0},{"w":1402185600,"a":0,"d":0,"c":0},{"w":1402790400,"a":0,"d":0,"c":0},{"w":1403395200,"a":0,"d":0,"c":0},{"w":1404000000,"a":0,"d":0,"c":0},{"w":1404604800,"a":0,"d":0,"c":0},{"w":1405209600,"a":0,"d":0,"c":0},{"w":1405814400,"a":0,"d":0,"c":0},{"w":1406419200,"a":0,"d":0,"c":0},{"w":1407024000,"a":0,"d":0,"c":0},{"w":1407628800,"a":0,"d":0,"c":0},{"w":1408233600,"a":0,"d":0,"c":0},{"w":1408838400,"a":0,"d":0,"c":0},{"w":1409443200,"a":0,"d":0,"c":0},{"w":1410048000,"a":0,"d":0,"c":0},{"w":1410652800,"a":0,"d":0,"c":0},{"w":1411257600,"a":0,"d":0,"c":0},{"w":1411862400,"a":0,"d":0,"c":0},{"w":1412467200,"a":0,"d":0,"c":0},{"w":1413072000,"a":0,"d":0,"c":0},{"w":1413676800,"a":0,"d":0,"c":0},{"w":1414281600,"a":0,"d":0,"c":0},{"w":1414886400,"a":0,"d":0,"c":0},{"w":1415491200,"a":0,"d":0,"c":0},{"w":1416096000,"a":0,"d":0,"c":0},{"w":1416700800,"a":0,"d":0,"c":0},{"w":1417305600,"a":0,"d":0,"c":0},{"w":1417910400,"a":0,"d":0,"c":0},{"w":1418515200,"a":0,"d":0,"c":0},{"w":1419120000,"a":0,"d":0,"c":0},{"w":1419724800,"a":0,"d":0,"c":0},{"w":1420329600,"a":0,"d":0,"c":0},{"w":1420934400,"a":0,"d":0,"c":0},{"w":1421539200,"a":0,"d":0,"c":0},{"w":1422144000,"a":0,"d":0,"c":0},{"w":1422748800,"a":0,"d":0,"c":0},{"w":1423353600,"a":0,"d":0,"c":0},{"w":1423958400,"a":0,"d":0,"c":0},{"w":1424563200,"a":0,"d":0,"c":0},{"w":1425168000,"a":0,"d":0,"c":0},{"w":1425772800,"a":0,"d":0,"c":0},{"w":1426377600,"a":0,"d":0,"c":0},{"w":1426982400,"a":0,"d":0,"c":0},{"w":1427587200,"a":0,"d":0,"c":0},{"w":1428192000,"a":0,"d":0,"c":0},{"w":1428796800,"a":0,"d":0,"c":0},{"w":1429401600,"a":0,"d":0,"c":0},{"w":1430006400,"a":0,"d":0,"c":0},{"w":1430611200,"a":0,"d":0,"c":0},{"w":1431216000,"a":0,"d":0,"c":0},{"w":1431820800,"a":0,"d":0,"c":0},{"w":1432425600,"a":0,"d":0,"c":0},{"w":1433030400,"a":0,"d":0,"c":0},{"w":1433635200,"a":0,"d":0,"c":0},{"w":1434240000,"a":0,"d":0,"c":0},{"w":1434844800,"a":0,"d":0,"c":0},{"w":1435449600,"a":0,"d":0,"c":0},{"w":1436054400,"a":0,"d":0,"c":0},{"w":1436659200,"a":0,"d":0,"c":0},{"w":1437264000,"a":0,"d":0,"c":0},{"w":1437868800,"a":0,"d":0,"c":0},{"w":1438473600,"a":0,"d":0,"c":0},{"w":1439078400,"a":0,"d":0,"c":0},{"w":1439683200,"a":0,"d":0,"c":0},{"w":1440288000,"a":0,"d":0,"c":0},{"w":1440892800,"a":0,"d":0,"c":0},{"w":1441497600,"a":0,"d":0,"c":0},{"w":1442102400,"a":0,"d":0,"c":0},{"w":1442707200,"a":0,"d":0,"c":0},{"w":1443312000,"a":0,"d":0,"c":0},{"w":1443916800,"a":0,"d":0,"c":0},{"w":1444521600,"a":0,"d":0,"c":0},{"w":1445126400,"a":0,"d":0,"c":0},{"w":1445731200,"a":0,"d":0,"c":0},{"w":1446336000,"a":0,"d":0,"c":0},{"w":1446940800,"a":0,"d":0,"c":0},{"w":1447545600,"a":0,"d":0,"c":0},{"w":1448150400,"a":0,"d":0,"c":0},{"w":1448755200,"a":0,"d":0,"c":0},{"w":1449360000,"a":0,"d":0,"c":0},{"w":1449964800,"a":0,"d":0,"c":0},{"w":1450569600,"a":0,"d":0,"c":0},{"w":1451174400,"a":0,"d":0,"c":0},{"w":1451779200,"a":0,"d":0,"c":0},{"w":1452384000,"a":0,"d":0,"c":0},{"w":1452988800,"a":0,"d":0,"c":0},{"w":1453593600,"a":0,"d":0,"c":0},{"w":1454198400,"a":0,"d":0,"c":0},{"w":1454803200,"a":0,"d":0,"c":0},{"w":1455408000,"a":0,"d":0,"c":0},{"w":1456012800,"a":0,"d":0,"c":0},{"w":1456617600,"a":0,"d":0,"c":0},{"w":1457222400,"a":0,"d":0,"c":0},{"w":1457827200,"a":0,"d":0,"c":0},{"w":1458432000,"a":0,"d":0,"c":0},{"w":1459036800,"a":0,"d":0,"c":0},{"w":1459641600,"a":0,"d":0,"c":0},{"w":1460246400,"a":0,"d":0,"c":0},{"w":1460851200,"a":0,"d":0,"c":0},{"w":1461456000,"a":0,"d":0,"c":0},{"w":1462060800,"a":0,"d":0,"c":0},{"w":1462665600,"a":0,"d":0,"c":0},{"w":1463270400,"a":0,"d":0,"c":0},{"w":1463875200,"a":0,"d":0,"c":0},{"w":1464480000,"a":0,"d":0,"c":0},{"w":1465084800,"a":0,"d":0,"c":0},{"w":1465689600,"a":0,"d":0,"c":0},{"w":1466294400,"a":0,"d":0,"c":0},{"w":1466899200,"a":0,"d":0,"c":0},{"w":1467504000,"a":0,"d":0,"c":0},{"w":1468108800,"a":0,"d":0,"c":0},{"w":1468713600,"a":0,"d":0,"c":0},{"w":1469318400,"a":0,"d":0,"c":0},{"w":1469923200,"a":0,"d":0,"c":0},{"w":1470528000,"a":0,"d":0,"c":0},{"w":1471132800,"a":0,"d":0,"c":0},{"w":1471737600,"a":0,"d":0,"c":0},{"w":1472342400,"a":0,"d":0,"c":0},{"w":1472947200,"a":0,"d":0,"c":0},{"w":1473552000,"a":0,"d":0,"c":0},{"w":1474156800,"a":0,"d":0,"c":0},{"w":1474761600,"a":0,"d":0,"c":0},{"w":1475366400,"a":0,"d":0,"c":0},{"w":1475971200,"a":0,"d":0,"c":0},{"w":1476576000,"a":0,"d":0,"c":0},{"w":1477180800,"a":0,"d":0,"c":0},{"w":1477785600,"a":0,"d":0,"c":0},{"w":1478390400,"a":0,"d":0,"c":0},{"w":1478995200,"a":0,"d":0,"c":0},{"w":1479600000,"a":0,"d":0,"c":0},{"w":1480204800,"a":0,"d":0,"c":0},{"w":1480809600,"a":0,"d":0,"c":0},{"w":1481414400,"a":0,"d":0,"c":0},{"w":1482019200,"a":0,"d":0,"c":0},{"w":1482624000,"a":0,"d":0,"c":0},{"w":1483228800,"a":0,"d":0,"c":0},{"w":1483833600,"a":0,"d":0,"c":0},{"w":1484438400,"a":0,"d":0,"c":0},{"w":1485043200,"a":0,"d":0,"c":0},{"w":1485648000,"a":0,"d":0,"c":0},{"w":1486252800,"a":0,"d":0,"c":0},{"w":1486857600,"a":0,"d":0,"c":0},{"w":1487462400,"a":0,"d":0,"c":0},{"w":1488067200,"a":0,"d":0,"c":0},{"w":1488672000,"a":0,"d":0,"c":0},{"w":1489276800,"a":0,"d":0,"c":0},{"w":1489881600,"a":0,"d":0,"c":0},{"w":1490486400,"a":0,"d":0,"c":0},{"w":1491091200,"a":0,"d":0,"c":0},{"w":1491696000,"a":0,"d":0,"c":0},{"w":1492300800,"a":0,"d":0,"c":0},{"w":1492905600,"a":0,"d":0,"c":0},{"w":1493510400,"a":0,"d":0,"c":0},{"w":1494115200,"a":0,"d":0,"c":0},{"w":1494720000,"a":0,"d":0,"c":0},{"w":1495324800,"a":0,"d":0,"c":0},{"w":1495929600,"a":0,"d":0,"c":0},{"w":1496534400,"a":0,"d":0,"c":0},{"w":1497139200,"a":0,"d":0,"c":0},{"w":1497744000,"a":0,"d":0,"c":0},{"w":1498348800,"a":0,"d":0,"c":0},{"w":1498953600,"a":0,"d":0,"c":0},{"w":1499558400,"a":0,"d":0,"c":0},{"w":1500163200,"a":0,"d":0,"c":0},{"w":1500768000,"a":0,"d":0,"c":0},{"w":1501372800,"a":0,"d":0,"c":0},{"w":1501977600,"a":0,"d":0,"c":0},{"w":1502582400,"a":0,"d":0,"c":0},{"w":1503187200,"a":0,"d":0,"c":0},{"w":1503792000,"a":0,"d":0,"c":0},{"w":1504396800,"a":0,"d":0,"c":0},{"w":1505001600,"a":0,"d":0,"c":0},{"w":1505606400,"a":0,"d":0,"c":0},{"w":1506211200,"a":0,"d":0,"c":0},{"w":1506816000,"a":0,"d":0,"c":0},{"w":1507420800,"a":0,"d":0,"c":0},{"w":1508025600,"a":0,"d":0,"c":0},{"w":1508630400,"a":0,"d":0,"c":0},{"w":1509235200,"a":0,"d":0,"c":0},{"w":1509840000,"a":0,"d":0,"c":0},{"w":1510444800,"a":0,"d":0,"c":0},{"w":1511049600,"a":0,"d":0,"c":0},{"w":1511654400,"a":0,"d":0,"c":0},{"w":1512259200,"a":0,"d":0,"c":0},{"w":1512864000,"a":0,"d":0,"c":0},{"w":1513468800,"a":0,"d":0,"c":0},{"w":1514073600,"a":0,"d":0,"c":0},{"w":1514678400,"a":0,"d":0,"c":0},{"w":1515283200,"a":0,"d":0,"c":0},{"w":1515888000,"a":0,"d":0,"c":0},{"w":1516492800,"a":0,"d":0,"c":0},{"w":1517097600,"a":0,"d":0,"c":0},{"w":1517702400,"a":0,"d":0,"c":0},{"w":1518307200,"a":0,"d":0,"c":0},{"w":1518912000,"a":0,"d":0,"c":0},{"w":1519516800,"a":0,"d":0,"c":0},{"w":1520121600,"a":0,"d":0,"c":0},{"w":1520726400,"a":0,"d":0,"c":0},{"w":1521331200,"a":0,"d":0,"c":0},{"w":1521936000,"a":0,"d":0,"c":0},{"w":1522540800,"a":0,"d":0,"c":0},{"w":1523145600,"a":0,"d":0,"c":0},{"w":1523750400,"a":0,"d":0,"c":0},{"w":1524355200,"a":0,"d":0,"c":0},{"w":1524960000,"a":0,"d":0,"c":0},{"w":1525564800,"a":0,"d":0,"c":0},{"w":1526169600,"a":0,"d":0,"c":0},{"w":1526774400,"a":0,"d":0,"c":0},{"w":1527379200,"a":0,"d":0,"c":0},{"w":1527984000,"a":0,"d":0,"c":0},{"w":1528588800,"a":0,"d":0,"c":0},{"w":1529193600,"a":0,"d":0,"c":0},{"w":1529798400,"a":0,"d":0,"c":0},{"w":1530403200,"a":0,"d":0,"c":0},{"w":1531008000,"a":0,"d":0,"c":0},{"w":1531612800,"a":0,"d":0,"c":0},{"w":1532217600,"a":0,"d":0,"c":0},{"w":1532822400,"a":0,"d":0,"c":0},{"w":1533427200,"a":0,"d":0,"c":0},{"w":1534032000,"a":0,"d":0,"c":0},{"w":1534636800,"a":0,"d":0,"c":0},{"w":1535241600,"a":0,"d":0,"c":0},{"w":1535846400,"a":0,"d":0,"c":0},{"w":1536451200,"a":0,"d":0,"c":0},{"w":1537056000,"a":0,"d":0,"c":0},{"w":1537660800,"a":0,"d":0,"c":0},{"w":1538265600,"a":0,"d":0,"c":0},{"w":1538870400,"a":0,"d":0,"c":0},{"w":1539475200,"a":0,"d":0,"c":0},{"w":1540080000,"a":0,"d":0,"c":0},{"w":1540684800,"a":0,"d":0,"c":0},{"w":1541289600,"a":0,"d":0,"c":0},{"w":1541894400,"a":0,"d":0,"c":0},{"w":1542499200,"a":0,"d":0,"c":0},{"w":1543104000,"a":0,"d":0,"c":0},{"w":1543708800,"a":0,"d":0,"c":0},{"w":1544313600,"a":0,"d":0,"c":0},{"w":1544918400,"a":0,"d":0,"c":0},{"w":1545523200,"a":0,"d":0,"c":0},{"w":1546128000,"a":0,"d":0,"c":0},{"w":1546732800,"a":0,"d":0,"c":0},{"w":1547337600,"a":0,"d":0,"c":0},{"w":1547942400,"a":0,"d":0,"c":0},{"w":1548547200,"a":0,"d":0,"c":0},{"w":1549152000,"a":0,"d":0,"c":0},{"w":1549756800,"a":0,"d":0,"c":0},{"w":1550361600,"a":0,"d":0,"c":0},{"w":1550966400,"a":0,"d":0,"c":0},{"w":1551571200,"a":0,"d":0,"c":0},{"w":1552176000,"a":0,"d":0,"c":0},{"w":1552780800,"a":0,"d":0,"c":0},{"w":1553385600,"a":0,"d":0,"c":0},{"w":1553990400,"a":0,"d":0,"c":0},{"w":1554595200,"a":0,"d":0,"c":0},{"w":1555200000,"a":0,"d":0,"c":0},{"w":1555804800,"a":0,"d":0,"c":0},{"w":1556409600,"a":0,"d":0,"c":0},{"w":1557014400,"a":0,"d":0,"c":0},{"w":1557619200,"a":0,"d":0,"c":0},{"w":1558224000,"a":0,"d":0,"c":0},{"w":1558828800,"a":0,"d":0,"c":0},{"w":1559433600,"a":0,"d":0,"c":0},{"w":1560038400,"a":0,"d":0,"c":0},{"w":1560643200,"a":0,"d":0,"c":0},{"w":1561248000,"a":0,"d":0,"c":0},{"w":1561852800,"a":0,"d":0,"c":0},{"w":1562457600,"a":0,"d":0,"c":0}],"author":{"login":"StefanLage","id":3008132,"node_id":"MDQ6VXNlcjMwMDgxMzI=","avatar_url":"https://avatars1.githubusercontent.com/u/3008132?v=4","gravatar_id":"","url":"https://api.github.com/users/StefanLage","html_url":"https://github.com/StefanLage","followers_url":"https://api.github.com/users/StefanLage/followers","following_url":"https://api.github.com/users/StefanLage/following{/other_user}","gists_url":"https://api.github.com/users/StefanLage/gists{/gist_id}","starred_url":"https://api.github.com/users/StefanLage/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/StefanLage/subscriptions","organizations_url":"https://api.github.com/users/StefanLage/orgs","repos_url":"https://api.github.com/users/StefanLage/repos","events_url":"https://api.github.com/users/StefanLage/events{/privacy}","received_events_url":"https://api.github.com/users/StefanLage/received_events","type":"User","site_admin":false}},{"total":97,"weeks":[{"w":1215302400,"a":0,"d":0,"c":0},{"w":1215907200,"a":0,"d":0,"c":0},{"w":1216512000,"a":0,"d":0,"c":0},{"w":1217116800,"a":0,"d":0,"c":0},{"w":1217721600,"a":0,"d":0,"c":0},{"w":1218326400,"a":0,"d":0,"c":0},{"w":1218931200,"a":0,"d":0,"c":0},{"w":1219536000,"a":0,"d":0,"c":0},{"w":1220140800,"a":0,"d":0,"c":0},{"w":1220745600,"a":0,"d":0,"c":0},{"w":1221350400,"a":0,"d":0,"c":0},{"w":1221955200,"a":0,"d":0,"c":0},{"w":1222560000,"a":0,"d":0,"c":0},{"w":1223164800,"a":0,"d":0,"c":0},{"w":1223769600,"a":0,"d":0,"c":0},{"w":1224374400,"a":0,"d":0,"c":0},{"w":1224979200,"a":0,"d":0,"c":0},{"w":1225584000,"a":0,"d":0,"c":0},{"w":1226188800,"a":0,"d":0,"c":0},{"w":1226793600,"a":0,"d":0,"c":0},{"w":1227398400,"a":0,"d":0,"c":0},{"w":1228003200,"a":0,"d":0,"c":0},{"w":1228608000,"a":0,"d":0,"c":0},{"w":1229212800,"a":0,"d":0,"c":0},{"w":1229817600,"a":0,"d":0,"c":0},{"w":1230422400,"a":0,"d":0,"c":0},{"w":1231027200,"a":0,"d":0,"c":0},{"w":1231632000,"a":0,"d":0,"c":0},{"w":1232236800,"a":0,"d":0,"c":0},{"w":1232841600,"a":0,"d":0,"c":0},{"w":1233446400,"a":0,"d":0,"c":0},{"w":1234051200,"a":0,"d":0,"c":0},{"w":1234656000,"a":0,"d":0,"c":0},{"w":1235260800,"a":0,"d":0,"c":0},{"w":1235865600,"a":0,"d":0,"c":0},{"w":1236470400,"a":0,"d":0,"c":0},{"w":1237075200,"a":0,"d":0,"c":0},{"w":1237680000,"a":0,"d":0,"c":0},{"w":1238284800,"a":0,"d":0,"c":0},{"w":1238889600,"a":0,"d":0,"c":0},{"w":1239494400,"a":0,"d":0,"c":0},{"w":1240099200,"a":0,"d":0,"c":0},{"w":1240704000,"a":0,"d":0,"c":0},{"w":1241308800,"a":0,"d":0,"c":0},{"w":1241913600,"a":0,"d":0,"c":0},{"w":1242518400,"a":0,"d":0,"c":0},{"w":1243123200,"a":0,"d":0,"c":0},{"w":1243728000,"a":0,"d":0,"c":0},{"w":1244332800,"a":0,"d":0,"c":0},{"w":1244937600,"a":0,"d":0,"c":0},{"w":1245542400,"a":0,"d":0,"c":0},{"w":1246147200,"a":0,"d":0,"c":0},{"w":1246752000,"a":0,"d":0,"c":0},{"w":1247356800,"a":0,"d":0,"c":0},{"w":1247961600,"a":0,"d":0,"c":0},{"w":1248566400,"a":0,"d":0,"c":0},{"w":1249171200,"a":0,"d":0,"c":0},{"w":1249776000,"a":0,"d":0,"c":0},{"w":1250380800,"a":0,"d":0,"c":0},{"w":1250985600,"a":0,"d":0,"c":0},{"w":1251590400,"a":0,"d":0,"c":0},{"w":1252195200,"a":0,"d":0,"c":0},{"w":1252800000,"a":0,"d":0,"c":0},{"w":1253404800,"a":0,"d":0,"c":0},{"w":1254009600,"a":0,"d":0,"c":0},{"w":1254614400,"a":0,"d":0,"c":0},{"w":1255219200,"a":0,"d":0,"c":0},{"w":1255824000,"a":0,"d":0,"c":0},{"w":1256428800,"a":0,"d":0,"c":0},{"w":1257033600,"a":0,"d":0,"c":0},{"w":1257638400,"a":0,"d":0,"c":0},{"w":1258243200,"a":0,"d":0,"c":0},{"w":1258848000,"a":0,"d":0,"c":0},{"w":1259452800,"a":0,"d":0,"c":0},{"w":1260057600,"a":0,"d":0,"c":0},{"w":1260662400,"a":0,"d":0,"c":0},{"w":1261267200,"a":0,"d":0,"c":0},{"w":1261872000,"a":0,"d":0,"c":0},{"w":1262476800,"a":0,"d":0,"c":0},{"w":1263081600,"a":0,"d":0,"c":0},{"w":1263686400,"a":0,"d":0,"c":0},{"w":1264291200,"a":0,"d":0,"c":0},{"w":1264896000,"a":0,"d":0,"c":0},{"w":1265500800,"a":0,"d":0,"c":0},{"w":1266105600,"a":0,"d":0,"c":0},{"w":1266710400,"a":0,"d":0,"c":0},{"w":1267315200,"a":0,"d":0,"c":0},{"w":1267920000,"a":0,"d":0,"c":0},{"w":1268524800,"a":0,"d":0,"c":0},{"w":1269129600,"a":0,"d":0,"c":0},{"w":1269734400,"a":0,"d":0,"c":0},{"w":1270339200,"a":0,"d":0,"c":0},{"w":1270944000,"a":0,"d":0,"c":0},{"w":1271548800,"a":0,"d":0,"c":0},{"w":1272153600,"a":0,"d":0,"c":0},{"w":1272758400,"a":0,"d":0,"c":0},{"w":1273363200,"a":0,"d":0,"c":0},{"w":1273968000,"a":0,"d":0,"c":0},{"w":1274572800,"a":0,"d":0,"c":0},{"w":1275177600,"a":0,"d":0,"c":0},{"w":1275782400,"a":0,"d":0,"c":0},{"w":1276387200,"a":0,"d":0,"c":0},{"w":1276992000,"a":0,"d":0,"c":0},{"w":1277596800,"a":0,"d":0,"c":0},{"w":1278201600,"a":0,"d":0,"c":0},{"w":1278806400,"a":0,"d":0,"c":0},{"w":1279411200,"a":0,"d":0,"c":0},{"w":1280016000,"a":0,"d":0,"c":0},{"w":1280620800,"a":0,"d":0,"c":0},{"w":1281225600,"a":0,"d":0,"c":0},{"w":1281830400,"a":0,"d":0,"c":0},{"w":1282435200,"a":0,"d":0,"c":0},{"w":1283040000,"a":0,"d":0,"c":0},{"w":1283644800,"a":0,"d":0,"c":0},{"w":1284249600,"a":0,"d":0,"c":0},{"w":1284854400,"a":0,"d":0,"c":0},{"w":1285459200,"a":0,"d":0,"c":0},{"w":1286064000,"a":0,"d":0,"c":0},{"w":1286668800,"a":0,"d":0,"c":0},{"w":1287273600,"a":0,"d":0,"c":0},{"w":1287878400,"a":0,"d":0,"c":0},{"w":1288483200,"a":0,"d":0,"c":0},{"w":1289088000,"a":0,"d":0,"c":0},{"w":1289692800,"a":0,"d":0,"c":0},{"w":1290297600,"a":0,"d":0,"c":0},{"w":1290902400,"a":0,"d":0,"c":0},{"w":1291507200,"a":0,"d":0,"c":0},{"w":1292112000,"a":0,"d":0,"c":0},{"w":1292716800,"a":0,"d":0,"c":0},{"w":1293321600,"a":0,"d":0,"c":0},{"w":1293926400,"a":0,"d":0,"c":0},{"w":1294531200,"a":0,"d":0,"c":0},{"w":1295136000,"a":0,"d":0,"c":0},{"w":1295740800,"a":0,"d":0,"c":0},{"w":1296345600,"a":0,"d":0,"c":0},{"w":1296950400,"a":0,"d":0,"c":0},{"w":1297555200,"a":0,"d":0,"c":0},{"w":1298160000,"a":0,"d":0,"c":0},{"w":1298764800,"a":0,"d":0,"c":0},{"w":1299369600,"a":0,"d":0,"c":0},{"w":1299974400,"a":0,"d":0,"c":0},{"w":1300579200,"a":0,"d":0,"c":0},{"w":1301184000,"a":0,"d":0,"c":0},{"w":1301788800,"a":0,"d":0,"c":0},{"w":1302393600,"a":0,"d":0,"c":0},{"w":1302998400,"a":0,"d":0,"c":0},{"w":1303603200,"a":0,"d":0,"c":0},{"w":1304208000,"a":0,"d":0,"c":0},{"w":1304812800,"a":0,"d":0,"c":0},{"w":1305417600,"a":0,"d":0,"c":0},{"w":1306022400,"a":0,"d":0,"c":0},{"w":1306627200,"a":0,"d":0,"c":0},{"w":1307232000,"a":0,"d":0,"c":0},{"w":1307836800,"a":0,"d":0,"c":0},{"w":1308441600,"a":0,"d":0,"c":0},{"w":1309046400,"a":0,"d":0,"c":0},{"w":1309651200,"a":0,"d":0,"c":0},{"w":1310256000,"a":0,"d":0,"c":0},{"w":1310860800,"a":0,"d":0,"c":0},{"w":1311465600,"a":0,"d":0,"c":0},{"w":1312070400,"a":0,"d":0,"c":0},{"w":1312675200,"a":0,"d":0,"c":0},{"w":1313280000,"a":0,"d":0,"c":0},{"w":1313884800,"a":0,"d":0,"c":0},{"w":1314489600,"a":0,"d":0,"c":0},{"w":1315094400,"a":0,"d":0,"c":0},{"w":1315699200,"a":0,"d":0,"c":0},{"w":1316304000,"a":0,"d":0,"c":0},{"w":1316908800,"a":0,"d":0,"c":0},{"w":1317513600,"a":0,"d":0,"c":0},{"w":1318118400,"a":0,"d":0,"c":0},{"w":1318723200,"a":0,"d":0,"c":0},{"w":1319328000,"a":0,"d":0,"c":0},{"w":1319932800,"a":0,"d":0,"c":0},{"w":1320537600,"a":0,"d":0,"c":0},{"w":1321142400,"a":0,"d":0,"c":0},{"w":1321747200,"a":0,"d":0,"c":0},{"w":1322352000,"a":0,"d":0,"c":0},{"w":1322956800,"a":0,"d":0,"c":0},{"w":1323561600,"a":0,"d":0,"c":0},{"w":1324166400,"a":0,"d":0,"c":0},{"w":1324771200,"a":0,"d":0,"c":0},{"w":1325376000,"a":0,"d":0,"c":0},{"w":1325980800,"a":0,"d":0,"c":0},{"w":1326585600,"a":0,"d":0,"c":0},{"w":1327190400,"a":0,"d":0,"c":0},{"w":1327795200,"a":0,"d":0,"c":0},{"w":1328400000,"a":0,"d":0,"c":0},{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0},{"w":1384646400,"a":0,"d":0,"c":0},{"w":1385251200,"a":0,"d":0,"c":0},{"w":1385856000,"a":0,"d":0,"c":0},{"w":1386460800,"a":0,"d":0,"c":0},{"w":1387065600,"a":0,"d":0,"c":0},{"w":1387670400,"a":0,"d":0,"c":0},{"w":1388275200,"a":0,"d":0,"c":0},{"w":1388880000,"a":0,"d":0,"c":0},{"w":1389484800,"a":0,"d":0,"c":0},{"w":1390089600,"a":0,"d":0,"c":0},{"w":1390694400,"a":0,"d":0,"c":0},{"w":1391299200,"a":0,"d":0,"c":0},{"w":1391904000,"a":0,"d":0,"c":0},{"w":1392508800,"a":0,"d":0,"c":0},{"w":1393113600,"a":0,"d":0,"c":0},{"w":1393718400,"a":0,"d":0,"c":0},{"w":1394323200,"a":0,"d":0,"c":0},{"w":1394928000,"a":0,"d":0,"c":0},{"w":1395532800,"a":0,"d":0,"c":0},{"w":1396137600,"a":0,"d":0,"c":0},{"w":1396742400,"a":0,"d":0,"c":0},{"w":1397347200,"a":0,"d":0,"c":0},{"w":1397952000,"a":0,"d":0,"c":0},{"w":1398556800,"a":0,"d":0,"c":0},{"w":1399161600,"a":0,"d":0,"c":0},{"w":1399766400,"a":0,"d":0,"c":0},{"w":1400371200,"a":0,"d":0,"c":0},{"w":1400976000,"a":0,"d":0,"c":0},{"w":1401580800,"a":0,"d":0,"c":0},{"w":1402185600,"a":0,"d":0,"c":0},{"w":1402790400,"a":0,"d":0,"c":0},{"w":1403395200,"a":0,"d":0,"c":0},{"w":1404000000,"a":0,"d":0,"c":0},{"w":1404604800,"a":0,"d":0,"c":0},{"w":1405209600,"a":0,"d":0,"c":0},{"w":1405814400,"a":0,"d":0,"c":0},{"w":1406419200,"a":0,"d":0,"c":0},{"w":1407024000,"a":0,"d":0,"c":0},{"w":1407628800,"a":0,"d":0,"c":0},{"w":1408233600,"a":0,"d":0,"c":0},{"w":1408838400,"a":0,"d":0,"c":0},{"w":1409443200,"a":0,"d":0,"c":0},{"w":1410048000,"a":0,"d":0,"c":0},{"w":1410652800,"a":0,"d":0,"c":0},{"w":1411257600,"a":0,"d":0,"c":0},{"w":1411862400,"a":0,"d":0,"c":0},{"w":1412467200,"a":0,"d":0,"c":0},{"w":1413072000,"a":0,"d":0,"c":0},{"w":1413676800,"a":0,"d":0,"c":0},{"w":1414281600,"a":0,"d":0,"c":0},{"w":1414886400,"a":0,"d":0,"c":0},{"w":1415491200,"a":0,"d":0,"c":0},{"w":1416096000,"a":0,"d":0,"c":0},{"w":1416700800,"a":0,"d":0,"c":0},{"w":1417305600,"a":0,"d":0,"c":0},{"w":1417910400,"a":0,"d":0,"c":0},{"w":1418515200,"a":0,"d":0,"c":0},{"w":1419120000,"a":0,"d":0,"c":0},{"w":1419724800,"a":0,"d":0,"c":0},{"w":1420329600,"a":0,"d":0,"c":0},{"w":1420934400,"a":163,"d":55,"c":2},{"w":1421539200,"a":45,"d":17,"c":4},{"w":1422144000,"a":0,"d":0,"c":0},{"w":1422748800,"a":0,"d":0,"c":0},{"w":1423353600,"a":0,"d":0,"c":0},{"w":1423958400,"a":0,"d":0,"c":0},{"w":1424563200,"a":0,"d":0,"c":0},{"w":1425168000,"a":0,"d":0,"c":0},{"w":1425772800,"a":0,"d":0,"c":0},{"w":1426377600,"a":0,"d":0,"c":0},{"w":1426982400,"a":145,"d":0,"c":4},{"w":1427587200,"a":47,"d":9,"c":3},{"w":1428192000,"a":55,"d":18,"c":4},{"w":1428796800,"a":0,"d":0,"c":0},{"w":1429401600,"a":0,"d":0,"c":0},{"w":1430006400,"a":0,"d":0,"c":0},{"w":1430611200,"a":0,"d":0,"c":0},{"w":1431216000,"a":0,"d":0,"c":0},{"w":1431820800,"a":1608,"d":0,"c":6},{"w":1432425600,"a":0,"d":0,"c":0},{"w":1433030400,"a":427,"d":162,"c":5},{"w":1433635200,"a":83,"d":0,"c":3},{"w":1434240000,"a":0,"d":0,"c":0},{"w":1434844800,"a":720,"d":158,"c":15},{"w":1435449600,"a":0,"d":0,"c":0},{"w":1436054400,"a":0,"d":0,"c":0},{"w":1436659200,"a":0,"d":0,"c":0},{"w":1437264000,"a":47,"d":38,"c":1},{"w":1437868800,"a":14,"d":10,"c":1},{"w":1438473600,"a":0,"d":0,"c":0},{"w":1439078400,"a":0,"d":0,"c":0},{"w":1439683200,"a":0,"d":0,"c":0},{"w":1440288000,"a":14,"d":14,"c":1},{"w":1440892800,"a":0,"d":0,"c":0},{"w":1441497600,"a":2,"d":3,"c":2},{"w":1442102400,"a":88,"d":2,"c":3},{"w":1442707200,"a":139,"d":78,"c":1},{"w":1443312000,"a":0,"d":0,"c":0},{"w":1443916800,"a":0,"d":0,"c":0},{"w":1444521600,"a":0,"d":0,"c":0},{"w":1445126400,"a":0,"d":0,"c":0},{"w":1445731200,"a":0,"d":0,"c":0},{"w":1446336000,"a":0,"d":0,"c":0},{"w":1446940800,"a":0,"d":0,"c":0},{"w":1447545600,"a":0,"d":0,"c":0},{"w":1448150400,"a":160,"d":7,"c":3},{"w":1448755200,"a":117,"d":0,"c":2},{"w":1449360000,"a":0,"d":0,"c":0},{"w":1449964800,"a":0,"d":0,"c":0},{"w":1450569600,"a":0,"d":0,"c":0},{"w":1451174400,"a":0,"d":0,"c":0},{"w":1451779200,"a":0,"d":0,"c":0},{"w":1452384000,"a":0,"d":0,"c":0},{"w":1452988800,"a":0,"d":0,"c":0},{"w":1453593600,"a":0,"d":0,"c":0},{"w":1454198400,"a":0,"d":0,"c":0},{"w":1454803200,"a":0,"d":0,"c":0},{"w":1455408000,"a":0,"d":0,"c":0},{"w":1456012800,"a":0,"d":0,"c":0},{"w":1456617600,"a":0,"d":0,"c":0},{"w":1457222400,"a":0,"d":0,"c":0},{"w":1457827200,"a":0,"d":0,"c":0},{"w":1458432000,"a":0,"d":0,"c":0},{"w":1459036800,"a":0,"d":0,"c":0},{"w":1459641600,"a":16790,"d":15794,"c":7},{"w":1460246400,"a":0,"d":0,"c":0},{"w":1460851200,"a":17,"d":13,"c":1},{"w":1461456000,"a":0,"d":0,"c":0},{"w":1462060800,"a":0,"d":0,"c":0},{"w":1462665600,"a":0,"d":0,"c":0},{"w":1463270400,"a":0,"d":0,"c":0},{"w":1463875200,"a":0,"d":0,"c":0},{"w":1464480000,"a":0,"d":0,"c":0},{"w":1465084800,"a":0,"d":0,"c":0},{"w":1465689600,"a":0,"d":0,"c":0},{"w":1466294400,"a":0,"d":0,"c":0},{"w":1466899200,"a":0,"d":0,"c":0},{"w":1467504000,"a":21,"d":2,"c":1},{"w":1468108800,"a":0,"d":0,"c":0},{"w":1468713600,"a":0,"d":0,"c":0},{"w":1469318400,"a":0,"d":0,"c":0},{"w":1469923200,"a":0,"d":0,"c":0},{"w":1470528000,"a":0,"d":0,"c":0},{"w":1471132800,"a":0,"d":0,"c":0},{"w":1471737600,"a":0,"d":0,"c":0},{"w":1472342400,"a":0,"d":0,"c":0},{"w":1472947200,"a":0,"d":0,"c":0},{"w":1473552000,"a":74,"d":0,"c":1},{"w":1474156800,"a":0,"d":0,"c":0},{"w":1474761600,"a":241,"d":0,"c":1},{"w":1475366400,"a":0,"d":0,"c":0},{"w":1475971200,"a":0,"d":0,"c":0},{"w":1476576000,"a":0,"d":0,"c":0},{"w":1477180800,"a":0,"d":0,"c":0},{"w":1477785600,"a":137,"d":0,"c":1},{"w":1478390400,"a":0,"d":0,"c":0},{"w":1478995200,"a":0,"d":0,"c":0},{"w":1479600000,"a":0,"d":0,"c":0},{"w":1480204800,"a":0,"d":0,"c":0},{"w":1480809600,"a":0,"d":0,"c":0},{"w":1481414400,"a":0,"d":0,"c":0},{"w":1482019200,"a":0,"d":0,"c":0},{"w":1482624000,"a":0,"d":0,"c":0},{"w":1483228800,"a":0,"d":0,"c":0},{"w":1483833600,"a":0,"d":0,"c":0},{"w":1484438400,"a":428,"d":0,"c":2},{"w":1485043200,"a":0,"d":0,"c":0},{"w":1485648000,"a":576,"d":0,"c":7},{"w":1486252800,"a":0,"d":0,"c":0},{"w":1486857600,"a":1,"d":1,"c":1},{"w":1487462400,"a":1,"d":0,"c":1},{"w":1488067200,"a":1,"d":0,"c":1},{"w":1488672000,"a":0,"d":0,"c":0},{"w":1489276800,"a":0,"d":0,"c":0},{"w":1489881600,"a":0,"d":0,"c":0},{"w":1490486400,"a":35,"d":98,"c":4},{"w":1491091200,"a":6,"d":6,"c":2},{"w":1491696000,"a":0,"d":0,"c":0},{"w":1492300800,"a":0,"d":0,"c":0},{"w":1492905600,"a":0,"d":0,"c":0},{"w":1493510400,"a":0,"d":0,"c":0},{"w":1494115200,"a":335,"d":98,"c":5},{"w":1494720000,"a":0,"d":0,"c":0},{"w":1495324800,"a":0,"d":0,"c":0},{"w":1495929600,"a":0,"d":0,"c":0},{"w":1496534400,"a":0,"d":0,"c":0},{"w":1497139200,"a":0,"d":0,"c":0},{"w":1497744000,"a":0,"d":0,"c":0},{"w":1498348800,"a":0,"d":0,"c":0},{"w":1498953600,"a":0,"d":0,"c":0},{"w":1499558400,"a":0,"d":0,"c":0},{"w":1500163200,"a":0,"d":0,"c":0},{"w":1500768000,"a":0,"d":0,"c":0},{"w":1501372800,"a":0,"d":0,"c":0},{"w":1501977600,"a":0,"d":0,"c":0},{"w":1502582400,"a":0,"d":0,"c":0},{"w":1503187200,"a":0,"d":0,"c":0},{"w":1503792000,"a":0,"d":0,"c":0},{"w":1504396800,"a":0,"d":0,"c":0},{"w":1505001600,"a":0,"d":0,"c":0},{"w":1505606400,"a":0,"d":0,"c":0},{"w":1506211200,"a":0,"d":0,"c":0},{"w":1506816000,"a":0,"d":0,"c":0},{"w":1507420800,"a":0,"d":0,"c":0},{"w":1508025600,"a":0,"d":0,"c":0},{"w":1508630400,"a":0,"d":0,"c":0},{"w":1509235200,"a":0,"d":0,"c":0},{"w":1509840000,"a":0,"d":0,"c":0},{"w":1510444800,"a":0,"d":0,"c":0},{"w":1511049600,"a":0,"d":0,"c":0},{"w":1511654400,"a":0,"d":0,"c":0},{"w":1512259200,"a":0,"d":0,"c":0},{"w":1512864000,"a":0,"d":0,"c":0},{"w":1513468800,"a":0,"d":0,"c":0},{"w":1514073600,"a":0,"d":0,"c":0},{"w":1514678400,"a":0,"d":0,"c":0},{"w":1515283200,"a":0,"d":0,"c":0},{"w":1515888000,"a":0,"d":0,"c":0},{"w":1516492800,"a":78,"d":4,"c":2},{"w":1517097600,"a":0,"d":0,"c":0},{"w":1517702400,"a":0,"d":0,"c":0},{"w":1518307200,"a":0,"d":0,"c":0},{"w":1518912000,"a":0,"d":0,"c":0},{"w":1519516800,"a":0,"d":0,"c":0},{"w":1520121600,"a":0,"d":0,"c":0},{"w":1520726400,"a":0,"d":0,"c":0},{"w":1521331200,"a":0,"d":0,"c":0},{"w":1521936000,"a":0,"d":0,"c":0},{"w":1522540800,"a":0,"d":0,"c":0},{"w":1523145600,"a":0,"d":0,"c":0},{"w":1523750400,"a":0,"d":0,"c":0},{"w":1524355200,"a":0,"d":0,"c":0},{"w":1524960000,"a":0,"d":0,"c":0},{"w":1525564800,"a":0,"d":0,"c":0},{"w":1526169600,"a":0,"d":0,"c":0},{"w":1526774400,"a":0,"d":0,"c":0},{"w":1527379200,"a":0,"d":0,"c":0},{"w":1527984000,"a":0,"d":0,"c":0},{"w":1528588800,"a":0,"d":0,"c":0},{"w":1529193600,"a":0,"d":0,"c":0},{"w":1529798400,"a":0,"d":0,"c":0},{"w":1530403200,"a":0,"d":0,"c":0},{"w":1531008000,"a":0,"d":0,"c":0},{"w":1531612800,"a":0,"d":0,"c":0},{"w":1532217600,"a":0,"d":0,"c":0},{"w":1532822400,"a":0,"d":0,"c":0},{"w":1533427200,"a":0,"d":0,"c":0},{"w":1534032000,"a":0,"d":0,"c":0},{"w":1534636800,"a":0,"d":0,"c":0},{"w":1535241600,"a":0,"d":0,"c":0},{"w":1535846400,"a":0,"d":0,"c":0},{"w":1536451200,"a":0,"d":0,"c":0},{"w":1537056000,"a":0,"d":0,"c":0},{"w":1537660800,"a":0,"d":0,"c":0},{"w":1538265600,"a":0,"d":0,"c":0},{"w":1538870400,"a":0,"d":0,"c":0},{"w":1539475200,"a":0,"d":0,"c":0},{"w":1540080000,"a":0,"d":0,"c":0},{"w":1540684800,"a":0,"d":0,"c":0},{"w":1541289600,"a":0,"d":0,"c":0},{"w":1541894400,"a":0,"d":0,"c":0},{"w":1542499200,"a":0,"d":0,"c":0},{"w":1543104000,"a":0,"d":0,"c":0},{"w":1543708800,"a":0,"d":0,"c":0},{"w":1544313600,"a":0,"d":0,"c":0},{"w":1544918400,"a":0,"d":0,"c":0},{"w":1545523200,"a":0,"d":0,"c":0},{"w":1546128000,"a":0,"d":0,"c":0},{"w":1546732800,"a":0,"d":0,"c":0},{"w":1547337600,"a":0,"d":0,"c":0},{"w":1547942400,"a":0,"d":0,"c":0},{"w":1548547200,"a":0,"d":0,"c":0},{"w":1549152000,"a":0,"d":0,"c":0},{"w":1549756800,"a":0,"d":0,"c":0},{"w":1550361600,"a":0,"d":0,"c":0},{"w":1550966400,"a":0,"d":0,"c":0},{"w":1551571200,"a":0,"d":0,"c":0},{"w":1552176000,"a":0,"d":0,"c":0},{"w":1552780800,"a":0,"d":0,"c":0},{"w":1553385600,"a":0,"d":0,"c":0},{"w":1553990400,"a":0,"d":0,"c":0},{"w":1554595200,"a":0,"d":0,"c":0},{"w":1555200000,"a":0,"d":0,"c":0},{"w":1555804800,"a":0,"d":0,"c":0},{"w":1556409600,"a":0,"d":0,"c":0},{"w":1557014400,"a":0,"d":0,"c":0},{"w":1557619200,"a":0,"d":0,"c":0},{"w":1558224000,"a":0,"d":0,"c":0},{"w":1558828800,"a":0,"d":0,"c":0},{"w":1559433600,"a":0,"d":0,"c":0},{"w":1560038400,"a":0,"d":0,"c":0},{"w":1560643200,"a":0,"d":0,"c":0},{"w":1561248000,"a":0,"d":0,"c":0},{"w":1561852800,"a":0,"d":0,"c":0},{"w":1562457600,"a":0,"d":0,"c":0}],"author":{"login":"BlackMinou","id":6372714,"node_id":"MDQ6VXNlcjYzNzI3MTQ=","avatar_url":"https://avatars0.githubusercontent.com/u/6372714?v=4","gravatar_id":"","url":"https://api.github.com/users/BlackMinou","html_url":"https://github.com/BlackMinou","followers_url":"https://api.github.com/users/BlackMinou/followers","following_url":"https://api.github.com/users/BlackMinou/following{/other_user}","gists_url":"https://api.github.com/users/BlackMinou/gists{/gist_id}","starred_url":"https://api.github.com/users/BlackMinou/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/BlackMinou/subscriptions","organizations_url":"https://api.github.com/users/BlackMinou/orgs","repos_url":"https://api.github.com/users/BlackMinou/repos","events_url":"https://api.github.com/users/BlackMinou/events{/privacy}","received_events_url":"https://api.github.com/users/BlackMinou/received_events","type":"User","site_admin":false}},{"total":109,"weeks":[{"w":1215302400,"a":0,"d":0,"c":0},{"w":1215907200,"a":0,"d":0,"c":0},{"w":1216512000,"a":0,"d":0,"c":0},{"w":1217116800,"a":0,"d":0,"c":0},{"w":1217721600,"a":0,"d":0,"c":0},{"w":1218326400,"a":0,"d":0,"c":0},{"w":1218931200,"a":0,"d":0,"c":0},{"w":1219536000,"a":0,"d":0,"c":0},{"w":1220140800,"a":0,"d":0,"c":0},{"w":1220745600,"a":0,"d":0,"c":0},{"w":1221350400,"a":0,"d":0,"c":0},{"w":1221955200,"a":0,"d":0,"c":0},{"w":1222560000,"a":0,"d":0,"c":0},{"w":1223164800,"a":0,"d":0,"c":0},{"w":1223769600,"a":0,"d":0,"c":0},{"w":1224374400,"a":11,"d":0,"c":1},{"w":1224979200,"a":0,"d":0,"c":0},{"w":1225584000,"a":0,"d":0,"c":0},{"w":1226188800,"a":0,"d":0,"c":0},{"w":1226793600,"a":0,"d":0,"c":0},{"w":1227398400,"a":0,"d":0,"c":0},{"w":1228003200,"a":0,"d":0,"c":0},{"w":1228608000,"a":0,"d":0,"c":0},{"w":1229212800,"a":0,"d":0,"c":0},{"w":1229817600,"a":0,"d":0,"c":0},{"w":1230422400,"a":0,"d":0,"c":0},{"w":1231027200,"a":0,"d":0,"c":0},{"w":1231632000,"a":0,"d":0,"c":0},{"w":1232236800,"a":0,"d":0,"c":0},{"w":1232841600,"a":0,"d":0,"c":0},{"w":1233446400,"a":0,"d":0,"c":0},{"w":1234051200,"a":0,"d":0,"c":0},{"w":1234656000,"a":0,"d":0,"c":0},{"w":1235260800,"a":0,"d":0,"c":0},{"w":1235865600,"a":0,"d":0,"c":0},{"w":1236470400,"a":0,"d":0,"c":0},{"w":1237075200,"a":0,"d":0,"c":0},{"w":1237680000,"a":0,"d":0,"c":0},{"w":1238284800,"a":0,"d":0,"c":0},{"w":1238889600,"a":0,"d":0,"c":0},{"w":1239494400,"a":0,"d":0,"c":0},{"w":1240099200,"a":0,"d":0,"c":0},{"w":1240704000,"a":0,"d":0,"c":0},{"w":1241308800,"a":0,"d":0,"c":0},{"w":1241913600,"a":0,"d":0,"c":0},{"w":1242518400,"a":0,"d":0,"c":0},{"w":1243123200,"a":0,"d":0,"c":0},{"w":1243728000,"a":0,"d":0,"c":0},{"w":1244332800,"a":0,"d":0,"c":0},{"w":1244937600,"a":84,"d":3,"c":1},{"w":1245542400,"a":77,"d":9,"c":4},{"w":1246147200,"a":45,"d":0,"c":1},{"w":1246752000,"a":705,"d":747,"c":8},{"w":1247356800,"a":104,"d":83,"c":5},{"w":1247961600,"a":434,"d":111,"c":10},{"w":1248566400,"a":113,"d":6,"c":5},{"w":1249171200,"a":845,"d":719,"c":4},{"w":1249776000,"a":338,"d":72,"c":4},{"w":1250380800,"a":592,"d":117,"c":5},{"w":1250985600,"a":74,"d":63,"c":5},{"w":1251590400,"a":8,"d":0,"c":2},{"w":1252195200,"a":43,"d":47,"c":4},{"w":1252800000,"a":97,"d":31,"c":5},{"w":1253404800,"a":617,"d":3450,"c":6},{"w":1254009600,"a":0,"d":0,"c":0},{"w":1254614400,"a":0,"d":0,"c":0},{"w":1255219200,"a":0,"d":0,"c":0},{"w":1255824000,"a":332,"d":3,"c":7},{"w":1256428800,"a":1,"d":0,"c":1},{"w":1257033600,"a":0,"d":0,"c":0},{"w":1257638400,"a":0,"d":0,"c":0},{"w":1258243200,"a":145,"d":0,"c":3},{"w":1258848000,"a":113,"d":212,"c":7},{"w":1259452800,"a":357,"d":48,"c":7},{"w":1260057600,"a":104,"d":0,"c":1},{"w":1260662400,"a":0,"d":0,"c":0},{"w":1261267200,"a":0,"d":0,"c":0},{"w":1261872000,"a":0,"d":0,"c":0},{"w":1262476800,"a":0,"d":0,"c":0},{"w":1263081600,"a":0,"d":0,"c":0},{"w":1263686400,"a":0,"d":0,"c":0},{"w":1264291200,"a":0,"d":0,"c":0},{"w":1264896000,"a":0,"d":0,"c":0},{"w":1265500800,"a":0,"d":0,"c":0},{"w":1266105600,"a":0,"d":0,"c":0},{"w":1266710400,"a":0,"d":0,"c":0},{"w":1267315200,"a":0,"d":0,"c":0},{"w":1267920000,"a":0,"d":0,"c":0},{"w":1268524800,"a":0,"d":0,"c":0},{"w":1269129600,"a":0,"d":0,"c":0},{"w":1269734400,"a":0,"d":0,"c":0},{"w":1270339200,"a":0,"d":0,"c":0},{"w":1270944000,"a":0,"d":0,"c":0},{"w":1271548800,"a":0,"d":0,"c":0},{"w":1272153600,"a":0,"d":0,"c":0},{"w":1272758400,"a":0,"d":0,"c":0},{"w":1273363200,"a":0,"d":0,"c":0},{"w":1273968000,"a":0,"d":0,"c":0},{"w":1274572800,"a":0,"d":0,"c":0},{"w":1275177600,"a":0,"d":0,"c":0},{"w":1275782400,"a":0,"d":0,"c":0},{"w":1276387200,"a":0,"d":0,"c":0},{"w":1276992000,"a":0,"d":0,"c":0},{"w":1277596800,"a":0,"d":0,"c":0},{"w":1278201600,"a":0,"d":0,"c":0},{"w":1278806400,"a":0,"d":0,"c":0},{"w":1279411200,"a":0,"d":0,"c":0},{"w":1280016000,"a":0,"d":0,"c":0},{"w":1280620800,"a":0,"d":0,"c":0},{"w":1281225600,"a":0,"d":0,"c":0},{"w":1281830400,"a":0,"d":0,"c":0},{"w":1282435200,"a":0,"d":0,"c":0},{"w":1283040000,"a":0,"d":0,"c":0},{"w":1283644800,"a":0,"d":0,"c":0},{"w":1284249600,"a":0,"d":0,"c":0},{"w":1284854400,"a":0,"d":0,"c":0},{"w":1285459200,"a":0,"d":0,"c":0},{"w":1286064000,"a":0,"d":0,"c":0},{"w":1286668800,"a":0,"d":0,"c":0},{"w":1287273600,"a":0,"d":0,"c":0},{"w":1287878400,"a":0,"d":0,"c":0},{"w":1288483200,"a":0,"d":0,"c":0},{"w":1289088000,"a":0,"d":0,"c":0},{"w":1289692800,"a":0,"d":0,"c":0},{"w":1290297600,"a":0,"d":0,"c":0},{"w":1290902400,"a":0,"d":0,"c":0},{"w":1291507200,"a":0,"d":0,"c":0},{"w":1292112000,"a":0,"d":0,"c":0},{"w":1292716800,"a":4,"d":2,"c":2},{"w":1293321600,"a":0,"d":0,"c":0},{"w":1293926400,"a":66,"d":6,"c":5},{"w":1294531200,"a":0,"d":0,"c":0},{"w":1295136000,"a":7,"d":4,"c":3},{"w":1295740800,"a":5,"d":3,"c":1},{"w":1296345600,"a":22,"d":1,"c":1},{"w":1296950400,"a":1,"d":1,"c":1},{"w":1297555200,"a":0,"d":0,"c":0},{"w":1298160000,"a":0,"d":0,"c":0},{"w":1298764800,"a":0,"d":0,"c":0},{"w":1299369600,"a":0,"d":0,"c":0},{"w":1299974400,"a":0,"d":0,"c":0},{"w":1300579200,"a":0,"d":0,"c":0},{"w":1301184000,"a":0,"d":0,"c":0},{"w":1301788800,"a":0,"d":0,"c":0},{"w":1302393600,"a":0,"d":0,"c":0},{"w":1302998400,"a":0,"d":0,"c":0},{"w":1303603200,"a":0,"d":0,"c":0},{"w":1304208000,"a":0,"d":0,"c":0},{"w":1304812800,"a":0,"d":0,"c":0},{"w":1305417600,"a":0,"d":0,"c":0},{"w":1306022400,"a":0,"d":0,"c":0},{"w":1306627200,"a":0,"d":0,"c":0},{"w":1307232000,"a":0,"d":0,"c":0},{"w":1307836800,"a":0,"d":0,"c":0},{"w":1308441600,"a":0,"d":0,"c":0},{"w":1309046400,"a":0,"d":0,"c":0},{"w":1309651200,"a":0,"d":0,"c":0},{"w":1310256000,"a":0,"d":0,"c":0},{"w":1310860800,"a":0,"d":0,"c":0},{"w":1311465600,"a":0,"d":0,"c":0},{"w":1312070400,"a":0,"d":0,"c":0},{"w":1312675200,"a":0,"d":0,"c":0},{"w":1313280000,"a":0,"d":0,"c":0},{"w":1313884800,"a":0,"d":0,"c":0},{"w":1314489600,"a":0,"d":0,"c":0},{"w":1315094400,"a":0,"d":0,"c":0},{"w":1315699200,"a":0,"d":0,"c":0},{"w":1316304000,"a":0,"d":0,"c":0},{"w":1316908800,"a":0,"d":0,"c":0},{"w":1317513600,"a":0,"d":0,"c":0},{"w":1318118400,"a":0,"d":0,"c":0},{"w":1318723200,"a":0,"d":0,"c":0},{"w":1319328000,"a":0,"d":0,"c":0},{"w":1319932800,"a":0,"d":0,"c":0},{"w":1320537600,"a":0,"d":0,"c":0},{"w":1321142400,"a":0,"d":0,"c":0},{"w":1321747200,"a":0,"d":0,"c":0},{"w":1322352000,"a":0,"d":0,"c":0},{"w":1322956800,"a":0,"d":0,"c":0},{"w":1323561600,"a":0,"d":0,"c":0},{"w":1324166400,"a":0,"d":0,"c":0},{"w":1324771200,"a":0,"d":0,"c":0},{"w":1325376000,"a":0,"d":0,"c":0},{"w":1325980800,"a":0,"d":0,"c":0},{"w":1326585600,"a":0,"d":0,"c":0},{"w":1327190400,"a":0,"d":0,"c":0},{"w":1327795200,"a":0,"d":0,"c":0},{"w":1328400000,"a":0,"d":0,"c":0},{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0},{"w":1384646400,"a":0,"d":0,"c":0},{"w":1385251200,"a":0,"d":0,"c":0},{"w":1385856000,"a":0,"d":0,"c":0},{"w":1386460800,"a":0,"d":0,"c":0},{"w":1387065600,"a":0,"d":0,"c":0},{"w":1387670400,"a":0,"d":0,"c":0},{"w":1388275200,"a":0,"d":0,"c":0},{"w":1388880000,"a":0,"d":0,"c":0},{"w":1389484800,"a":0,"d":0,"c":0},{"w":1390089600,"a":0,"d":0,"c":0},{"w":1390694400,"a":0,"d":0,"c":0},{"w":1391299200,"a":0,"d":0,"c":0},{"w":1391904000,"a":0,"d":0,"c":0},{"w":1392508800,"a":0,"d":0,"c":0},{"w":1393113600,"a":0,"d":0,"c":0},{"w":1393718400,"a":0,"d":0,"c":0},{"w":1394323200,"a":0,"d":0,"c":0},{"w":1394928000,"a":0,"d":0,"c":0},{"w":1395532800,"a":0,"d":0,"c":0},{"w":1396137600,"a":0,"d":0,"c":0},{"w":1396742400,"a":0,"d":0,"c":0},{"w":1397347200,"a":0,"d":0,"c":0},{"w":1397952000,"a":0,"d":0,"c":0},{"w":1398556800,"a":0,"d":0,"c":0},{"w":1399161600,"a":0,"d":0,"c":0},{"w":1399766400,"a":0,"d":0,"c":0},{"w":1400371200,"a":0,"d":0,"c":0},{"w":1400976000,"a":0,"d":0,"c":0},{"w":1401580800,"a":0,"d":0,"c":0},{"w":1402185600,"a":0,"d":0,"c":0},{"w":1402790400,"a":0,"d":0,"c":0},{"w":1403395200,"a":0,"d":0,"c":0},{"w":1404000000,"a":0,"d":0,"c":0},{"w":1404604800,"a":0,"d":0,"c":0},{"w":1405209600,"a":0,"d":0,"c":0},{"w":1405814400,"a":0,"d":0,"c":0},{"w":1406419200,"a":0,"d":0,"c":0},{"w":1407024000,"a":0,"d":0,"c":0},{"w":1407628800,"a":0,"d":0,"c":0},{"w":1408233600,"a":0,"d":0,"c":0},{"w":1408838400,"a":0,"d":0,"c":0},{"w":1409443200,"a":0,"d":0,"c":0},{"w":1410048000,"a":0,"d":0,"c":0},{"w":1410652800,"a":0,"d":0,"c":0},{"w":1411257600,"a":0,"d":0,"c":0},{"w":1411862400,"a":0,"d":0,"c":0},{"w":1412467200,"a":0,"d":0,"c":0},{"w":1413072000,"a":0,"d":0,"c":0},{"w":1413676800,"a":0,"d":0,"c":0},{"w":1414281600,"a":0,"d":0,"c":0},{"w":1414886400,"a":0,"d":0,"c":0},{"w":1415491200,"a":0,"d":0,"c":0},{"w":1416096000,"a":0,"d":0,"c":0},{"w":1416700800,"a":0,"d":0,"c":0},{"w":1417305600,"a":0,"d":0,"c":0},{"w":1417910400,"a":0,"d":0,"c":0},{"w":1418515200,"a":0,"d":0,"c":0},{"w":1419120000,"a":0,"d":0,"c":0},{"w":1419724800,"a":0,"d":0,"c":0},{"w":1420329600,"a":0,"d":0,"c":0},{"w":1420934400,"a":0,"d":0,"c":0},{"w":1421539200,"a":0,"d":0,"c":0},{"w":1422144000,"a":0,"d":0,"c":0},{"w":1422748800,"a":0,"d":0,"c":0},{"w":1423353600,"a":0,"d":0,"c":0},{"w":1423958400,"a":0,"d":0,"c":0},{"w":1424563200,"a":0,"d":0,"c":0},{"w":1425168000,"a":0,"d":0,"c":0},{"w":1425772800,"a":0,"d":0,"c":0},{"w":1426377600,"a":0,"d":0,"c":0},{"w":1426982400,"a":0,"d":0,"c":0},{"w":1427587200,"a":0,"d":0,"c":0},{"w":1428192000,"a":0,"d":0,"c":0},{"w":1428796800,"a":0,"d":0,"c":0},{"w":1429401600,"a":0,"d":0,"c":0},{"w":1430006400,"a":0,"d":0,"c":0},{"w":1430611200,"a":0,"d":0,"c":0},{"w":1431216000,"a":0,"d":0,"c":0},{"w":1431820800,"a":0,"d":0,"c":0},{"w":1432425600,"a":0,"d":0,"c":0},{"w":1433030400,"a":0,"d":0,"c":0},{"w":1433635200,"a":0,"d":0,"c":0},{"w":1434240000,"a":0,"d":0,"c":0},{"w":1434844800,"a":0,"d":0,"c":0},{"w":1435449600,"a":0,"d":0,"c":0},{"w":1436054400,"a":0,"d":0,"c":0},{"w":1436659200,"a":0,"d":0,"c":0},{"w":1437264000,"a":0,"d":0,"c":0},{"w":1437868800,"a":0,"d":0,"c":0},{"w":1438473600,"a":0,"d":0,"c":0},{"w":1439078400,"a":0,"d":0,"c":0},{"w":1439683200,"a":0,"d":0,"c":0},{"w":1440288000,"a":0,"d":0,"c":0},{"w":1440892800,"a":0,"d":0,"c":0},{"w":1441497600,"a":0,"d":0,"c":0},{"w":1442102400,"a":0,"d":0,"c":0},{"w":1442707200,"a":0,"d":0,"c":0},{"w":1443312000,"a":0,"d":0,"c":0},{"w":1443916800,"a":0,"d":0,"c":0},{"w":1444521600,"a":0,"d":0,"c":0},{"w":1445126400,"a":0,"d":0,"c":0},{"w":1445731200,"a":0,"d":0,"c":0},{"w":1446336000,"a":0,"d":0,"c":0},{"w":1446940800,"a":0,"d":0,"c":0},{"w":1447545600,"a":0,"d":0,"c":0},{"w":1448150400,"a":0,"d":0,"c":0},{"w":1448755200,"a":0,"d":0,"c":0},{"w":1449360000,"a":0,"d":0,"c":0},{"w":1449964800,"a":0,"d":0,"c":0},{"w":1450569600,"a":0,"d":0,"c":0},{"w":1451174400,"a":0,"d":0,"c":0},{"w":1451779200,"a":0,"d":0,"c":0},{"w":1452384000,"a":0,"d":0,"c":0},{"w":1452988800,"a":0,"d":0,"c":0},{"w":1453593600,"a":0,"d":0,"c":0},{"w":1454198400,"a":0,"d":0,"c":0},{"w":1454803200,"a":0,"d":0,"c":0},{"w":1455408000,"a":0,"d":0,"c":0},{"w":1456012800,"a":0,"d":0,"c":0},{"w":1456617600,"a":0,"d":0,"c":0},{"w":1457222400,"a":0,"d":0,"c":0},{"w":1457827200,"a":0,"d":0,"c":0},{"w":1458432000,"a":0,"d":0,"c":0},{"w":1459036800,"a":0,"d":0,"c":0},{"w":1459641600,"a":0,"d":0,"c":0},{"w":1460246400,"a":0,"d":0,"c":0},{"w":1460851200,"a":0,"d":0,"c":0},{"w":1461456000,"a":0,"d":0,"c":0},{"w":1462060800,"a":0,"d":0,"c":0},{"w":1462665600,"a":0,"d":0,"c":0},{"w":1463270400,"a":0,"d":0,"c":0},{"w":1463875200,"a":0,"d":0,"c":0},{"w":1464480000,"a":0,"d":0,"c":0},{"w":1465084800,"a":0,"d":0,"c":0},{"w":1465689600,"a":0,"d":0,"c":0},{"w":1466294400,"a":0,"d":0,"c":0},{"w":1466899200,"a":0,"d":0,"c":0},{"w":1467504000,"a":0,"d":0,"c":0},{"w":1468108800,"a":0,"d":0,"c":0},{"w":1468713600,"a":0,"d":0,"c":0},{"w":1469318400,"a":0,"d":0,"c":0},{"w":1469923200,"a":0,"d":0,"c":0},{"w":1470528000,"a":0,"d":0,"c":0},{"w":1471132800,"a":0,"d":0,"c":0},{"w":1471737600,"a":0,"d":0,"c":0},{"w":1472342400,"a":0,"d":0,"c":0},{"w":1472947200,"a":0,"d":0,"c":0},{"w":1473552000,"a":0,"d":0,"c":0},{"w":1474156800,"a":0,"d":0,"c":0},{"w":1474761600,"a":0,"d":0,"c":0},{"w":1475366400,"a":0,"d":0,"c":0},{"w":1475971200,"a":0,"d":0,"c":0},{"w":1476576000,"a":0,"d":0,"c":0},{"w":1477180800,"a":0,"d":0,"c":0},{"w":1477785600,"a":0,"d":0,"c":0},{"w":1478390400,"a":0,"d":0,"c":0},{"w":1478995200,"a":0,"d":0,"c":0},{"w":1479600000,"a":0,"d":0,"c":0},{"w":1480204800,"a":0,"d":0,"c":0},{"w":1480809600,"a":0,"d":0,"c":0},{"w":1481414400,"a":0,"d":0,"c":0},{"w":1482019200,"a":0,"d":0,"c":0},{"w":1482624000,"a":0,"d":0,"c":0},{"w":1483228800,"a":0,"d":0,"c":0},{"w":1483833600,"a":0,"d":0,"c":0},{"w":1484438400,"a":0,"d":0,"c":0},{"w":1485043200,"a":0,"d":0,"c":0},{"w":1485648000,"a":0,"d":0,"c":0},{"w":1486252800,"a":0,"d":0,"c":0},{"w":1486857600,"a":0,"d":0,"c":0},{"w":1487462400,"a":0,"d":0,"c":0},{"w":1488067200,"a":0,"d":0,"c":0},{"w":1488672000,"a":0,"d":0,"c":0},{"w":1489276800,"a":0,"d":0,"c":0},{"w":1489881600,"a":0,"d":0,"c":0},{"w":1490486400,"a":0,"d":0,"c":0},{"w":1491091200,"a":0,"d":0,"c":0},{"w":1491696000,"a":0,"d":0,"c":0},{"w":1492300800,"a":0,"d":0,"c":0},{"w":1492905600,"a":0,"d":0,"c":0},{"w":1493510400,"a":0,"d":0,"c":0},{"w":1494115200,"a":0,"d":0,"c":0},{"w":1494720000,"a":0,"d":0,"c":0},{"w":1495324800,"a":0,"d":0,"c":0},{"w":1495929600,"a":0,"d":0,"c":0},{"w":1496534400,"a":0,"d":0,"c":0},{"w":1497139200,"a":0,"d":0,"c":0},{"w":1497744000,"a":0,"d":0,"c":0},{"w":1498348800,"a":0,"d":0,"c":0},{"w":1498953600,"a":0,"d":0,"c":0},{"w":1499558400,"a":0,"d":0,"c":0},{"w":1500163200,"a":0,"d":0,"c":0},{"w":1500768000,"a":0,"d":0,"c":0},{"w":1501372800,"a":0,"d":0,"c":0},{"w":1501977600,"a":0,"d":0,"c":0},{"w":1502582400,"a":0,"d":0,"c":0},{"w":1503187200,"a":0,"d":0,"c":0},{"w":1503792000,"a":0,"d":0,"c":0},{"w":1504396800,"a":0,"d":0,"c":0},{"w":1505001600,"a":0,"d":0,"c":0},{"w":1505606400,"a":0,"d":0,"c":0},{"w":1506211200,"a":0,"d":0,"c":0},{"w":1506816000,"a":0,"d":0,"c":0},{"w":1507420800,"a":0,"d":0,"c":0},{"w":1508025600,"a":0,"d":0,"c":0},{"w":1508630400,"a":0,"d":0,"c":0},{"w":1509235200,"a":0,"d":0,"c":0},{"w":1509840000,"a":0,"d":0,"c":0},{"w":1510444800,"a":0,"d":0,"c":0},{"w":1511049600,"a":0,"d":0,"c":0},{"w":1511654400,"a":0,"d":0,"c":0},{"w":1512259200,"a":0,"d":0,"c":0},{"w":1512864000,"a":0,"d":0,"c":0},{"w":1513468800,"a":0,"d":0,"c":0},{"w":1514073600,"a":0,"d":0,"c":0},{"w":1514678400,"a":0,"d":0,"c":0},{"w":1515283200,"a":0,"d":0,"c":0},{"w":1515888000,"a":0,"d":0,"c":0},{"w":1516492800,"a":0,"d":0,"c":0},{"w":1517097600,"a":0,"d":0,"c":0},{"w":1517702400,"a":0,"d":0,"c":0},{"w":1518307200,"a":0,"d":0,"c":0},{"w":1518912000,"a":0,"d":0,"c":0},{"w":1519516800,"a":0,"d":0,"c":0},{"w":1520121600,"a":0,"d":0,"c":0},{"w":1520726400,"a":0,"d":0,"c":0},{"w":1521331200,"a":0,"d":0,"c":0},{"w":1521936000,"a":0,"d":0,"c":0},{"w":1522540800,"a":0,"d":0,"c":0},{"w":1523145600,"a":0,"d":0,"c":0},{"w":1523750400,"a":0,"d":0,"c":0},{"w":1524355200,"a":0,"d":0,"c":0},{"w":1524960000,"a":0,"d":0,"c":0},{"w":1525564800,"a":0,"d":0,"c":0},{"w":1526169600,"a":0,"d":0,"c":0},{"w":1526774400,"a":0,"d":0,"c":0},{"w":1527379200,"a":0,"d":0,"c":0},{"w":1527984000,"a":0,"d":0,"c":0},{"w":1528588800,"a":0,"d":0,"c":0},{"w":1529193600,"a":0,"d":0,"c":0},{"w":1529798400,"a":0,"d":0,"c":0},{"w":1530403200,"a":0,"d":0,"c":0},{"w":1531008000,"a":0,"d":0,"c":0},{"w":1531612800,"a":0,"d":0,"c":0},{"w":1532217600,"a":0,"d":0,"c":0},{"w":1532822400,"a":0,"d":0,"c":0},{"w":1533427200,"a":0,"d":0,"c":0},{"w":1534032000,"a":0,"d":0,"c":0},{"w":1534636800,"a":0,"d":0,"c":0},{"w":1535241600,"a":0,"d":0,"c":0},{"w":1535846400,"a":0,"d":0,"c":0},{"w":1536451200,"a":0,"d":0,"c":0},{"w":1537056000,"a":0,"d":0,"c":0},{"w":1537660800,"a":0,"d":0,"c":0},{"w":1538265600,"a":0,"d":0,"c":0},{"w":1538870400,"a":0,"d":0,"c":0},{"w":1539475200,"a":0,"d":0,"c":0},{"w":1540080000,"a":0,"d":0,"c":0},{"w":1540684800,"a":0,"d":0,"c":0},{"w":1541289600,"a":0,"d":0,"c":0},{"w":1541894400,"a":0,"d":0,"c":0},{"w":1542499200,"a":0,"d":0,"c":0},{"w":1543104000,"a":0,"d":0,"c":0},{"w":1543708800,"a":0,"d":0,"c":0},{"w":1544313600,"a":0,"d":0,"c":0},{"w":1544918400,"a":0,"d":0,"c":0},{"w":1545523200,"a":0,"d":0,"c":0},{"w":1546128000,"a":0,"d":0,"c":0},{"w":1546732800,"a":0,"d":0,"c":0},{"w":1547337600,"a":0,"d":0,"c":0},{"w":1547942400,"a":0,"d":0,"c":0},{"w":1548547200,"a":0,"d":0,"c":0},{"w":1549152000,"a":0,"d":0,"c":0},{"w":1549756800,"a":0,"d":0,"c":0},{"w":1550361600,"a":0,"d":0,"c":0},{"w":1550966400,"a":0,"d":0,"c":0},{"w":1551571200,"a":0,"d":0,"c":0},{"w":1552176000,"a":0,"d":0,"c":0},{"w":1552780800,"a":0,"d":0,"c":0},{"w":1553385600,"a":0,"d":0,"c":0},{"w":1553990400,"a":0,"d":0,"c":0},{"w":1554595200,"a":0,"d":0,"c":0},{"w":1555200000,"a":0,"d":0,"c":0},{"w":1555804800,"a":0,"d":0,"c":0},{"w":1556409600,"a":0,"d":0,"c":0},{"w":1557014400,"a":0,"d":0,"c":0},{"w":1557619200,"a":0,"d":0,"c":0},{"w":1558224000,"a":0,"d":0,"c":0},{"w":1558828800,"a":0,"d":0,"c":0},{"w":1559433600,"a":0,"d":0,"c":0},{"w":1560038400,"a":0,"d":0,"c":0},{"w":1560643200,"a":0,"d":0,"c":0},{"w":1561248000,"a":0,"d":0,"c":0},{"w":1561852800,"a":0,"d":0,"c":0},{"w":1562457600,"a":0,"d":0,"c":0}],"author":{"login":"calestar","id":388096,"node_id":"MDQ6VXNlcjM4ODA5Ng==","avatar_url":"https://avatars1.githubusercontent.com/u/388096?v=4","gravatar_id":"","url":"https://api.github.com/users/calestar","html_url":"https://github.com/calestar","followers_url":"https://api.github.com/users/calestar/followers","following_url":"https://api.github.com/users/calestar/following{/other_user}","gists_url":"https://api.github.com/users/calestar/gists{/gist_id}","starred_url":"https://api.github.com/users/calestar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/calestar/subscriptions","organizations_url":"https://api.github.com/users/calestar/orgs","repos_url":"https://api.github.com/users/calestar/repos","events_url":"https://api.github.com/users/calestar/events{/privacy}","received_events_url":"https://api.github.com/users/calestar/received_events","type":"User","site_admin":false}},{"total":315,"weeks":[{"w":1215302400,"a":0,"d":0,"c":0},{"w":1215907200,"a":0,"d":0,"c":0},{"w":1216512000,"a":0,"d":0,"c":0},{"w":1217116800,"a":0,"d":0,"c":0},{"w":1217721600,"a":0,"d":0,"c":0},{"w":1218326400,"a":0,"d":0,"c":0},{"w":1218931200,"a":0,"d":0,"c":0},{"w":1219536000,"a":0,"d":0,"c":0},{"w":1220140800,"a":0,"d":0,"c":0},{"w":1220745600,"a":0,"d":0,"c":0},{"w":1221350400,"a":0,"d":0,"c":0},{"w":1221955200,"a":0,"d":0,"c":0},{"w":1222560000,"a":0,"d":0,"c":0},{"w":1223164800,"a":0,"d":0,"c":0},{"w":1223769600,"a":0,"d":0,"c":0},{"w":1224374400,"a":0,"d":0,"c":0},{"w":1224979200,"a":0,"d":0,"c":0},{"w":1225584000,"a":0,"d":0,"c":0},{"w":1226188800,"a":0,"d":0,"c":0},{"w":1226793600,"a":0,"d":0,"c":0},{"w":1227398400,"a":0,"d":0,"c":0},{"w":1228003200,"a":0,"d":0,"c":0},{"w":1228608000,"a":0,"d":0,"c":0},{"w":1229212800,"a":0,"d":0,"c":0},{"w":1229817600,"a":0,"d":0,"c":0},{"w":1230422400,"a":0,"d":0,"c":0},{"w":1231027200,"a":0,"d":0,"c":0},{"w":1231632000,"a":0,"d":0,"c":0},{"w":1232236800,"a":0,"d":0,"c":0},{"w":1232841600,"a":0,"d":0,"c":0},{"w":1233446400,"a":0,"d":0,"c":0},{"w":1234051200,"a":0,"d":0,"c":0},{"w":1234656000,"a":0,"d":0,"c":0},{"w":1235260800,"a":0,"d":0,"c":0},{"w":1235865600,"a":0,"d":0,"c":0},{"w":1236470400,"a":0,"d":0,"c":0},{"w":1237075200,"a":0,"d":0,"c":0},{"w":1237680000,"a":0,"d":0,"c":0},{"w":1238284800,"a":0,"d":0,"c":0},{"w":1238889600,"a":0,"d":0,"c":0},{"w":1239494400,"a":0,"d":0,"c":0},{"w":1240099200,"a":0,"d":0,"c":0},{"w":1240704000,"a":0,"d":0,"c":0},{"w":1241308800,"a":0,"d":0,"c":0},{"w":1241913600,"a":0,"d":0,"c":0},{"w":1242518400,"a":0,"d":0,"c":0},{"w":1243123200,"a":0,"d":0,"c":0},{"w":1243728000,"a":0,"d":0,"c":0},{"w":1244332800,"a":0,"d":0,"c":0},{"w":1244937600,"a":0,"d":0,"c":0},{"w":1245542400,"a":0,"d":0,"c":0},{"w":1246147200,"a":0,"d":0,"c":0},{"w":1246752000,"a":0,"d":0,"c":0},{"w":1247356800,"a":0,"d":0,"c":0},{"w":1247961600,"a":0,"d":0,"c":0},{"w":1248566400,"a":0,"d":0,"c":0},{"w":1249171200,"a":0,"d":0,"c":0},{"w":1249776000,"a":0,"d":0,"c":0},{"w":1250380800,"a":0,"d":0,"c":0},{"w":1250985600,"a":0,"d":0,"c":0},{"w":1251590400,"a":0,"d":0,"c":0},{"w":1252195200,"a":0,"d":0,"c":0},{"w":1252800000,"a":0,"d":0,"c":0},{"w":1253404800,"a":0,"d":0,"c":0},{"w":1254009600,"a":0,"d":0,"c":0},{"w":1254614400,"a":0,"d":0,"c":0},{"w":1255219200,"a":0,"d":0,"c":0},{"w":1255824000,"a":0,"d":0,"c":0},{"w":1256428800,"a":0,"d":0,"c":0},{"w":1257033600,"a":0,"d":0,"c":0},{"w":1257638400,"a":0,"d":0,"c":0},{"w":1258243200,"a":0,"d":0,"c":0},{"w":1258848000,"a":0,"d":0,"c":0},{"w":1259452800,"a":0,"d":0,"c":0},{"w":1260057600,"a":0,"d":0,"c":0},{"w":1260662400,"a":0,"d":0,"c":0},{"w":1261267200,"a":0,"d":0,"c":0},{"w":1261872000,"a":0,"d":0,"c":0},{"w":1262476800,"a":0,"d":0,"c":0},{"w":1263081600,"a":0,"d":0,"c":0},{"w":1263686400,"a":0,"d":0,"c":0},{"w":1264291200,"a":0,"d":0,"c":0},{"w":1264896000,"a":0,"d":0,"c":0},{"w":1265500800,"a":0,"d":0,"c":0},{"w":1266105600,"a":0,"d":0,"c":0},{"w":1266710400,"a":0,"d":0,"c":0},{"w":1267315200,"a":0,"d":0,"c":0},{"w":1267920000,"a":0,"d":0,"c":0},{"w":1268524800,"a":0,"d":0,"c":0},{"w":1269129600,"a":0,"d":0,"c":0},{"w":1269734400,"a":0,"d":0,"c":0},{"w":1270339200,"a":0,"d":0,"c":0},{"w":1270944000,"a":0,"d":0,"c":0},{"w":1271548800,"a":0,"d":0,"c":0},{"w":1272153600,"a":0,"d":0,"c":0},{"w":1272758400,"a":0,"d":0,"c":0},{"w":1273363200,"a":0,"d":0,"c":0},{"w":1273968000,"a":0,"d":0,"c":0},{"w":1274572800,"a":0,"d":0,"c":0},{"w":1275177600,"a":0,"d":0,"c":0},{"w":1275782400,"a":0,"d":0,"c":0},{"w":1276387200,"a":0,"d":0,"c":0},{"w":1276992000,"a":0,"d":0,"c":0},{"w":1277596800,"a":0,"d":0,"c":0},{"w":1278201600,"a":0,"d":0,"c":0},{"w":1278806400,"a":0,"d":0,"c":0},{"w":1279411200,"a":0,"d":0,"c":0},{"w":1280016000,"a":0,"d":0,"c":0},{"w":1280620800,"a":0,"d":0,"c":0},{"w":1281225600,"a":0,"d":0,"c":0},{"w":1281830400,"a":0,"d":0,"c":0},{"w":1282435200,"a":0,"d":0,"c":0},{"w":1283040000,"a":0,"d":0,"c":0},{"w":1283644800,"a":0,"d":0,"c":0},{"w":1284249600,"a":0,"d":0,"c":0},{"w":1284854400,"a":0,"d":0,"c":0},{"w":1285459200,"a":0,"d":0,"c":0},{"w":1286064000,"a":0,"d":0,"c":0},{"w":1286668800,"a":0,"d":0,"c":0},{"w":1287273600,"a":0,"d":0,"c":0},{"w":1287878400,"a":0,"d":0,"c":0},{"w":1288483200,"a":0,"d":0,"c":0},{"w":1289088000,"a":0,"d":0,"c":0},{"w":1289692800,"a":0,"d":0,"c":0},{"w":1290297600,"a":0,"d":0,"c":0},{"w":1290902400,"a":0,"d":0,"c":0},{"w":1291507200,"a":0,"d":0,"c":0},{"w":1292112000,"a":0,"d":0,"c":0},{"w":1292716800,"a":0,"d":0,"c":0},{"w":1293321600,"a":0,"d":0,"c":0},{"w":1293926400,"a":0,"d":0,"c":0},{"w":1294531200,"a":0,"d":0,"c":0},{"w":1295136000,"a":0,"d":0,"c":0},{"w":1295740800,"a":0,"d":0,"c":0},{"w":1296345600,"a":0,"d":0,"c":0},{"w":1296950400,"a":0,"d":0,"c":0},{"w":1297555200,"a":0,"d":0,"c":0},{"w":1298160000,"a":0,"d":0,"c":0},{"w":1298764800,"a":0,"d":0,"c":0},{"w":1299369600,"a":0,"d":0,"c":0},{"w":1299974400,"a":0,"d":0,"c":0},{"w":1300579200,"a":0,"d":0,"c":0},{"w":1301184000,"a":0,"d":0,"c":0},{"w":1301788800,"a":0,"d":0,"c":0},{"w":1302393600,"a":0,"d":0,"c":0},{"w":1302998400,"a":0,"d":0,"c":0},{"w":1303603200,"a":0,"d":0,"c":0},{"w":1304208000,"a":0,"d":0,"c":0},{"w":1304812800,"a":0,"d":0,"c":0},{"w":1305417600,"a":0,"d":0,"c":0},{"w":1306022400,"a":0,"d":0,"c":0},{"w":1306627200,"a":0,"d":0,"c":0},{"w":1307232000,"a":0,"d":0,"c":0},{"w":1307836800,"a":0,"d":0,"c":0},{"w":1308441600,"a":0,"d":0,"c":0},{"w":1309046400,"a":0,"d":0,"c":0},{"w":1309651200,"a":0,"d":0,"c":0},{"w":1310256000,"a":0,"d":0,"c":0},{"w":1310860800,"a":0,"d":0,"c":0},{"w":1311465600,"a":0,"d":0,"c":0},{"w":1312070400,"a":0,"d":0,"c":0},{"w":1312675200,"a":0,"d":0,"c":0},{"w":1313280000,"a":0,"d":0,"c":0},{"w":1313884800,"a":0,"d":0,"c":0},{"w":1314489600,"a":0,"d":0,"c":0},{"w":1315094400,"a":0,"d":0,"c":0},{"w":1315699200,"a":0,"d":0,"c":0},{"w":1316304000,"a":0,"d":0,"c":0},{"w":1316908800,"a":0,"d":0,"c":0},{"w":1317513600,"a":0,"d":0,"c":0},{"w":1318118400,"a":0,"d":0,"c":0},{"w":1318723200,"a":0,"d":0,"c":0},{"w":1319328000,"a":0,"d":0,"c":0},{"w":1319932800,"a":0,"d":0,"c":0},{"w":1320537600,"a":0,"d":0,"c":0},{"w":1321142400,"a":0,"d":0,"c":0},{"w":1321747200,"a":0,"d":0,"c":0},{"w":1322352000,"a":0,"d":0,"c":0},{"w":1322956800,"a":0,"d":0,"c":0},{"w":1323561600,"a":0,"d":0,"c":0},{"w":1324166400,"a":0,"d":0,"c":0},{"w":1324771200,"a":0,"d":0,"c":0},{"w":1325376000,"a":0,"d":0,"c":0},{"w":1325980800,"a":0,"d":0,"c":0},{"w":1326585600,"a":0,"d":0,"c":0},{"w":1327190400,"a":0,"d":0,"c":0},{"w":1327795200,"a":0,"d":0,"c":0},{"w":1328400000,"a":0,"d":0,"c":0},{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":0,"d":0,"c":0},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":0,"d":0,"c":0},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":0,"d":0,"c":0},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":0,"d":0,"c":0},{"w":1384646400,"a":0,"d":0,"c":0},{"w":1385251200,"a":0,"d":0,"c":0},{"w":1385856000,"a":0,"d":0,"c":0},{"w":1386460800,"a":0,"d":0,"c":0},{"w":1387065600,"a":0,"d":0,"c":0},{"w":1387670400,"a":0,"d":0,"c":0},{"w":1388275200,"a":0,"d":0,"c":0},{"w":1388880000,"a":0,"d":0,"c":0},{"w":1389484800,"a":0,"d":0,"c":0},{"w":1390089600,"a":0,"d":0,"c":0},{"w":1390694400,"a":0,"d":0,"c":0},{"w":1391299200,"a":0,"d":0,"c":0},{"w":1391904000,"a":0,"d":0,"c":0},{"w":1392508800,"a":0,"d":0,"c":0},{"w":1393113600,"a":0,"d":0,"c":0},{"w":1393718400,"a":0,"d":0,"c":0},{"w":1394323200,"a":0,"d":0,"c":0},{"w":1394928000,"a":0,"d":0,"c":0},{"w":1395532800,"a":0,"d":0,"c":0},{"w":1396137600,"a":0,"d":0,"c":0},{"w":1396742400,"a":0,"d":0,"c":0},{"w":1397347200,"a":0,"d":0,"c":0},{"w":1397952000,"a":0,"d":0,"c":0},{"w":1398556800,"a":0,"d":0,"c":0},{"w":1399161600,"a":0,"d":0,"c":0},{"w":1399766400,"a":0,"d":0,"c":0},{"w":1400371200,"a":0,"d":0,"c":0},{"w":1400976000,"a":0,"d":0,"c":0},{"w":1401580800,"a":0,"d":0,"c":0},{"w":1402185600,"a":0,"d":0,"c":0},{"w":1402790400,"a":0,"d":0,"c":0},{"w":1403395200,"a":0,"d":0,"c":0},{"w":1404000000,"a":0,"d":0,"c":0},{"w":1404604800,"a":0,"d":0,"c":0},{"w":1405209600,"a":0,"d":0,"c":0},{"w":1405814400,"a":0,"d":0,"c":0},{"w":1406419200,"a":0,"d":0,"c":0},{"w":1407024000,"a":0,"d":0,"c":0},{"w":1407628800,"a":0,"d":0,"c":0},{"w":1408233600,"a":0,"d":0,"c":0},{"w":1408838400,"a":0,"d":0,"c":0},{"w":1409443200,"a":0,"d":0,"c":0},{"w":1410048000,"a":145,"d":89,"c":2},{"w":1410652800,"a":4047,"d":3,"c":3},{"w":1411257600,"a":755,"d":0,"c":1},{"w":1411862400,"a":364,"d":33,"c":4},{"w":1412467200,"a":1644,"d":18,"c":3},{"w":1413072000,"a":22,"d":17,"c":3},{"w":1413676800,"a":149,"d":18,"c":7},{"w":1414281600,"a":276,"d":7,"c":7},{"w":1414886400,"a":3369,"d":195,"c":21},{"w":1415491200,"a":348,"d":593,"c":12},{"w":1416096000,"a":453,"d":59,"c":12},{"w":1416700800,"a":13960,"d":302,"c":33},{"w":1417305600,"a":8579,"d":141,"c":24},{"w":1417910400,"a":5797,"d":397,"c":33},{"w":1418515200,"a":3721,"d":2880,"c":37},{"w":1419120000,"a":0,"d":0,"c":0},{"w":1419724800,"a":39,"d":0,"c":1},{"w":1420329600,"a":0,"d":0,"c":0},{"w":1420934400,"a":0,"d":0,"c":0},{"w":1421539200,"a":0,"d":0,"c":0},{"w":1422144000,"a":0,"d":0,"c":0},{"w":1422748800,"a":0,"d":0,"c":0},{"w":1423353600,"a":0,"d":0,"c":0},{"w":1423958400,"a":0,"d":0,"c":0},{"w":1424563200,"a":0,"d":0,"c":0},{"w":1425168000,"a":0,"d":0,"c":0},{"w":1425772800,"a":0,"d":0,"c":0},{"w":1426377600,"a":0,"d":0,"c":0},{"w":1426982400,"a":0,"d":0,"c":0},{"w":1427587200,"a":0,"d":0,"c":0},{"w":1428192000,"a":0,"d":0,"c":0},{"w":1428796800,"a":0,"d":0,"c":0},{"w":1429401600,"a":0,"d":0,"c":0},{"w":1430006400,"a":0,"d":0,"c":0},{"w":1430611200,"a":0,"d":0,"c":0},{"w":1431216000,"a":0,"d":0,"c":0},{"w":1431820800,"a":0,"d":0,"c":0},{"w":1432425600,"a":0,"d":0,"c":0},{"w":1433030400,"a":0,"d":0,"c":0},{"w":1433635200,"a":0,"d":0,"c":0},{"w":1434240000,"a":0,"d":0,"c":0},{"w":1434844800,"a":0,"d":0,"c":0},{"w":1435449600,"a":0,"d":0,"c":0},{"w":1436054400,"a":0,"d":0,"c":0},{"w":1436659200,"a":0,"d":0,"c":0},{"w":1437264000,"a":0,"d":0,"c":0},{"w":1437868800,"a":0,"d":0,"c":0},{"w":1438473600,"a":0,"d":0,"c":0},{"w":1439078400,"a":0,"d":0,"c":0},{"w":1439683200,"a":0,"d":0,"c":0},{"w":1440288000,"a":0,"d":0,"c":0},{"w":1440892800,"a":0,"d":0,"c":0},{"w":1441497600,"a":0,"d":0,"c":0},{"w":1442102400,"a":0,"d":0,"c":0},{"w":1442707200,"a":0,"d":0,"c":0},{"w":1443312000,"a":0,"d":0,"c":0},{"w":1443916800,"a":0,"d":0,"c":0},{"w":1444521600,"a":0,"d":0,"c":0},{"w":1445126400,"a":0,"d":0,"c":0},{"w":1445731200,"a":0,"d":0,"c":0},{"w":1446336000,"a":0,"d":0,"c":0},{"w":1446940800,"a":0,"d":0,"c":0},{"w":1447545600,"a":0,"d":0,"c":0},{"w":1448150400,"a":0,"d":0,"c":0},{"w":1448755200,"a":0,"d":0,"c":0},{"w":1449360000,"a":0,"d":0,"c":0},{"w":1449964800,"a":0,"d":0,"c":0},{"w":1450569600,"a":0,"d":0,"c":0},{"w":1451174400,"a":0,"d":0,"c":0},{"w":1451779200,"a":0,"d":0,"c":0},{"w":1452384000,"a":0,"d":0,"c":0},{"w":1452988800,"a":0,"d":0,"c":0},{"w":1453593600,"a":0,"d":0,"c":0},{"w":1454198400,"a":0,"d":0,"c":0},{"w":1454803200,"a":0,"d":0,"c":0},{"w":1455408000,"a":0,"d":0,"c":0},{"w":1456012800,"a":0,"d":0,"c":0},{"w":1456617600,"a":0,"d":0,"c":0},{"w":1457222400,"a":0,"d":0,"c":0},{"w":1457827200,"a":0,"d":0,"c":0},{"w":1458432000,"a":0,"d":0,"c":0},{"w":1459036800,"a":0,"d":0,"c":0},{"w":1459641600,"a":0,"d":0,"c":0},{"w":1460246400,"a":0,"d":0,"c":0},{"w":1460851200,"a":0,"d":0,"c":0},{"w":1461456000,"a":0,"d":0,"c":0},{"w":1462060800,"a":0,"d":0,"c":0},{"w":1462665600,"a":1,"d":1,"c":1},{"w":1463270400,"a":0,"d":0,"c":0},{"w":1463875200,"a":26,"d":12,"c":2},{"w":1464480000,"a":2,"d":5,"c":2},{"w":1465084800,"a":143,"d":10,"c":3},{"w":1465689600,"a":0,"d":0,"c":0},{"w":1466294400,"a":4,"d":8,"c":4},{"w":1466899200,"a":7,"d":7,"c":5},{"w":1467504000,"a":11,"d":11,"c":5},{"w":1468108800,"a":8,"d":4,"c":2},{"w":1468713600,"a":5,"d":9,"c":1},{"w":1469318400,"a":0,"d":0,"c":0},{"w":1469923200,"a":41,"d":12,"c":6},{"w":1470528000,"a":51,"d":0,"c":2},{"w":1471132800,"a":1,"d":7,"c":2},{"w":1471737600,"a":125,"d":35,"c":5},{"w":1472342400,"a":3,"d":3,"c":1},{"w":1472947200,"a":0,"d":0,"c":0},{"w":1473552000,"a":0,"d":0,"c":0},{"w":1474156800,"a":0,"d":0,"c":0},{"w":1474761600,"a":0,"d":0,"c":0},{"w":1475366400,"a":0,"d":0,"c":0},{"w":1475971200,"a":0,"d":0,"c":0},{"w":1476576000,"a":0,"d":0,"c":0},{"w":1477180800,"a":0,"d":0,"c":0},{"w":1477785600,"a":0,"d":0,"c":0},{"w":1478390400,"a":0,"d":0,"c":0},{"w":1478995200,"a":0,"d":0,"c":0},{"w":1479600000,"a":0,"d":0,"c":0},{"w":1480204800,"a":0,"d":0,"c":0},{"w":1480809600,"a":0,"d":0,"c":0},{"w":1481414400,"a":0,"d":0,"c":0},{"w":1482019200,"a":0,"d":0,"c":0},{"w":1482624000,"a":0,"d":0,"c":0},{"w":1483228800,"a":0,"d":0,"c":0},{"w":1483833600,"a":0,"d":0,"c":0},{"w":1484438400,"a":0,"d":0,"c":0},{"w":1485043200,"a":0,"d":0,"c":0},{"w":1485648000,"a":0,"d":0,"c":0},{"w":1486252800,"a":0,"d":0,"c":0},{"w":1486857600,"a":0,"d":0,"c":0},{"w":1487462400,"a":0,"d":0,"c":0},{"w":1488067200,"a":0,"d":0,"c":0},{"w":1488672000,"a":1,"d":1,"c":1},{"w":1489276800,"a":0,"d":0,"c":0},{"w":1489881600,"a":19,"d":24,"c":7},{"w":1490486400,"a":5,"d":4,"c":2},{"w":1491091200,"a":0,"d":0,"c":0},{"w":1491696000,"a":0,"d":0,"c":0},{"w":1492300800,"a":0,"d":0,"c":0},{"w":1492905600,"a":0,"d":0,"c":0},{"w":1493510400,"a":693,"d":13,"c":2},{"w":1494115200,"a":16,"d":7,"c":3},{"w":1494720000,"a":40,"d":26,"c":8},{"w":1495324800,"a":58,"d":27,"c":6},{"w":1495929600,"a":187,"d":105,"c":15},{"w":1496534400,"a":17101,"d":16543,"c":15},{"w":1497139200,"a":88,"d":27,"c":9},{"w":1497744000,"a":0,"d":0,"c":0},{"w":1498348800,"a":555,"d":215,"c":2},{"w":1498953600,"a":0,"d":0,"c":0},{"w":1499558400,"a":5,"d":0,"c":1},{"w":1500163200,"a":0,"d":0,"c":0},{"w":1500768000,"a":0,"d":0,"c":0},{"w":1501372800,"a":0,"d":0,"c":0},{"w":1501977600,"a":0,"d":0,"c":0},{"w":1502582400,"a":0,"d":0,"c":0},{"w":1503187200,"a":0,"d":0,"c":0},{"w":1503792000,"a":0,"d":0,"c":0},{"w":1504396800,"a":0,"d":0,"c":0},{"w":1505001600,"a":0,"d":0,"c":0},{"w":1505606400,"a":0,"d":0,"c":0},{"w":1506211200,"a":0,"d":0,"c":0},{"w":1506816000,"a":0,"d":0,"c":0},{"w":1507420800,"a":0,"d":0,"c":0},{"w":1508025600,"a":0,"d":0,"c":0},{"w":1508630400,"a":0,"d":0,"c":0},{"w":1509235200,"a":0,"d":0,"c":0},{"w":1509840000,"a":0,"d":0,"c":0},{"w":1510444800,"a":0,"d":0,"c":0},{"w":1511049600,"a":0,"d":0,"c":0},{"w":1511654400,"a":0,"d":0,"c":0},{"w":1512259200,"a":0,"d":0,"c":0},{"w":1512864000,"a":0,"d":0,"c":0},{"w":1513468800,"a":0,"d":0,"c":0},{"w":1514073600,"a":0,"d":0,"c":0},{"w":1514678400,"a":0,"d":0,"c":0},{"w":1515283200,"a":0,"d":0,"c":0},{"w":1515888000,"a":0,"d":0,"c":0},{"w":1516492800,"a":0,"d":0,"c":0},{"w":1517097600,"a":0,"d":0,"c":0},{"w":1517702400,"a":0,"d":0,"c":0},{"w":1518307200,"a":0,"d":0,"c":0},{"w":1518912000,"a":0,"d":0,"c":0},{"w":1519516800,"a":0,"d":0,"c":0},{"w":1520121600,"a":0,"d":0,"c":0},{"w":1520726400,"a":0,"d":0,"c":0},{"w":1521331200,"a":0,"d":0,"c":0},{"w":1521936000,"a":0,"d":0,"c":0},{"w":1522540800,"a":0,"d":0,"c":0},{"w":1523145600,"a":0,"d":0,"c":0},{"w":1523750400,"a":0,"d":0,"c":0},{"w":1524355200,"a":0,"d":0,"c":0},{"w":1524960000,"a":0,"d":0,"c":0},{"w":1525564800,"a":0,"d":0,"c":0},{"w":1526169600,"a":0,"d":0,"c":0},{"w":1526774400,"a":0,"d":0,"c":0},{"w":1527379200,"a":0,"d":0,"c":0},{"w":1527984000,"a":0,"d":0,"c":0},{"w":1528588800,"a":0,"d":0,"c":0},{"w":1529193600,"a":0,"d":0,"c":0},{"w":1529798400,"a":0,"d":0,"c":0},{"w":1530403200,"a":0,"d":0,"c":0},{"w":1531008000,"a":0,"d":0,"c":0},{"w":1531612800,"a":0,"d":0,"c":0},{"w":1532217600,"a":0,"d":0,"c":0},{"w":1532822400,"a":0,"d":0,"c":0},{"w":1533427200,"a":0,"d":0,"c":0},{"w":1534032000,"a":0,"d":0,"c":0},{"w":1534636800,"a":0,"d":0,"c":0},{"w":1535241600,"a":0,"d":0,"c":0},{"w":1535846400,"a":0,"d":0,"c":0},{"w":1536451200,"a":0,"d":0,"c":0},{"w":1537056000,"a":0,"d":0,"c":0},{"w":1537660800,"a":0,"d":0,"c":0},{"w":1538265600,"a":0,"d":0,"c":0},{"w":1538870400,"a":0,"d":0,"c":0},{"w":1539475200,"a":0,"d":0,"c":0},{"w":1540080000,"a":0,"d":0,"c":0},{"w":1540684800,"a":0,"d":0,"c":0},{"w":1541289600,"a":0,"d":0,"c":0},{"w":1541894400,"a":0,"d":0,"c":0},{"w":1542499200,"a":0,"d":0,"c":0},{"w":1543104000,"a":0,"d":0,"c":0},{"w":1543708800,"a":0,"d":0,"c":0},{"w":1544313600,"a":0,"d":0,"c":0},{"w":1544918400,"a":0,"d":0,"c":0},{"w":1545523200,"a":0,"d":0,"c":0},{"w":1546128000,"a":0,"d":0,"c":0},{"w":1546732800,"a":0,"d":0,"c":0},{"w":1547337600,"a":0,"d":0,"c":0},{"w":1547942400,"a":0,"d":0,"c":0},{"w":1548547200,"a":0,"d":0,"c":0},{"w":1549152000,"a":0,"d":0,"c":0},{"w":1549756800,"a":0,"d":0,"c":0},{"w":1550361600,"a":0,"d":0,"c":0},{"w":1550966400,"a":0,"d":0,"c":0},{"w":1551571200,"a":0,"d":0,"c":0},{"w":1552176000,"a":0,"d":0,"c":0},{"w":1552780800,"a":0,"d":0,"c":0},{"w":1553385600,"a":0,"d":0,"c":0},{"w":1553990400,"a":0,"d":0,"c":0},{"w":1554595200,"a":0,"d":0,"c":0},{"w":1555200000,"a":0,"d":0,"c":0},{"w":1555804800,"a":0,"d":0,"c":0},{"w":1556409600,"a":0,"d":0,"c":0},{"w":1557014400,"a":0,"d":0,"c":0},{"w":1557619200,"a":0,"d":0,"c":0},{"w":1558224000,"a":0,"d":0,"c":0},{"w":1558828800,"a":0,"d":0,"c":0},{"w":1559433600,"a":0,"d":0,"c":0},{"w":1560038400,"a":0,"d":0,"c":0},{"w":1560643200,"a":0,"d":0,"c":0},{"w":1561248000,"a":0,"d":0,"c":0},{"w":1561852800,"a":0,"d":0,"c":0},{"w":1562457600,"a":0,"d":0,"c":0}],"author":{"login":"jcbrinfo","id":6044484,"node_id":"MDQ6VXNlcjYwNDQ0ODQ=","avatar_url":"https://avatars0.githubusercontent.com/u/6044484?v=4","gravatar_id":"","url":"https://api.github.com/users/jcbrinfo","html_url":"https://github.com/jcbrinfo","followers_url":"https://api.github.com/users/jcbrinfo/followers","following_url":"https://api.github.com/users/jcbrinfo/following{/other_user}","gists_url":"https://api.github.com/users/jcbrinfo/gists{/gist_id}","starred_url":"https://api.github.com/users/jcbrinfo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jcbrinfo/subscriptions","organizations_url":"https://api.github.com/users/jcbrinfo/orgs","repos_url":"https://api.github.com/users/jcbrinfo/repos","events_url":"https://api.github.com/users/jcbrinfo/events{/privacy}","received_events_url":"https://api.github.com/users/jcbrinfo/received_events","type":"User","site_admin":false}},{"total":611,"weeks":[{"w":1215302400,"a":0,"d":0,"c":0},{"w":1215907200,"a":0,"d":0,"c":0},{"w":1216512000,"a":0,"d":0,"c":0},{"w":1217116800,"a":0,"d":0,"c":0},{"w":1217721600,"a":0,"d":0,"c":0},{"w":1218326400,"a":0,"d":0,"c":0},{"w":1218931200,"a":0,"d":0,"c":0},{"w":1219536000,"a":0,"d":0,"c":0},{"w":1220140800,"a":0,"d":0,"c":0},{"w":1220745600,"a":0,"d":0,"c":0},{"w":1221350400,"a":0,"d":0,"c":0},{"w":1221955200,"a":0,"d":0,"c":0},{"w":1222560000,"a":0,"d":0,"c":0},{"w":1223164800,"a":0,"d":0,"c":0},{"w":1223769600,"a":0,"d":0,"c":0},{"w":1224374400,"a":0,"d":0,"c":0},{"w":1224979200,"a":0,"d":0,"c":0},{"w":1225584000,"a":0,"d":0,"c":0},{"w":1226188800,"a":0,"d":0,"c":0},{"w":1226793600,"a":0,"d":0,"c":0},{"w":1227398400,"a":0,"d":0,"c":0},{"w":1228003200,"a":0,"d":0,"c":0},{"w":1228608000,"a":0,"d":0,"c":0},{"w":1229212800,"a":0,"d":0,"c":0},{"w":1229817600,"a":0,"d":0,"c":0},{"w":1230422400,"a":0,"d":0,"c":0},{"w":1231027200,"a":0,"d":0,"c":0},{"w":1231632000,"a":0,"d":0,"c":0},{"w":1232236800,"a":0,"d":0,"c":0},{"w":1232841600,"a":0,"d":0,"c":0},{"w":1233446400,"a":0,"d":0,"c":0},{"w":1234051200,"a":0,"d":0,"c":0},{"w":1234656000,"a":0,"d":0,"c":0},{"w":1235260800,"a":0,"d":0,"c":0},{"w":1235865600,"a":0,"d":0,"c":0},{"w":1236470400,"a":0,"d":0,"c":0},{"w":1237075200,"a":0,"d":0,"c":0},{"w":1237680000,"a":0,"d":0,"c":0},{"w":1238284800,"a":0,"d":0,"c":0},{"w":1238889600,"a":0,"d":0,"c":0},{"w":1239494400,"a":0,"d":0,"c":0},{"w":1240099200,"a":0,"d":0,"c":0},{"w":1240704000,"a":0,"d":0,"c":0},{"w":1241308800,"a":0,"d":0,"c":0},{"w":1241913600,"a":0,"d":0,"c":0},{"w":1242518400,"a":0,"d":0,"c":0},{"w":1243123200,"a":0,"d":0,"c":0},{"w":1243728000,"a":0,"d":0,"c":0},{"w":1244332800,"a":0,"d":0,"c":0},{"w":1244937600,"a":0,"d":0,"c":0},{"w":1245542400,"a":0,"d":0,"c":0},{"w":1246147200,"a":0,"d":0,"c":0},{"w":1246752000,"a":0,"d":0,"c":0},{"w":1247356800,"a":0,"d":0,"c":0},{"w":1247961600,"a":0,"d":0,"c":0},{"w":1248566400,"a":0,"d":0,"c":0},{"w":1249171200,"a":0,"d":0,"c":0},{"w":1249776000,"a":0,"d":0,"c":0},{"w":1250380800,"a":0,"d":0,"c":0},{"w":1250985600,"a":0,"d":0,"c":0},{"w":1251590400,"a":0,"d":0,"c":0},{"w":1252195200,"a":0,"d":0,"c":0},{"w":1252800000,"a":0,"d":0,"c":0},{"w":1253404800,"a":0,"d":0,"c":0},{"w":1254009600,"a":0,"d":0,"c":0},{"w":1254614400,"a":0,"d":0,"c":0},{"w":1255219200,"a":0,"d":0,"c":0},{"w":1255824000,"a":0,"d":0,"c":0},{"w":1256428800,"a":0,"d":0,"c":0},{"w":1257033600,"a":0,"d":0,"c":0},{"w":1257638400,"a":0,"d":0,"c":0},{"w":1258243200,"a":0,"d":0,"c":0},{"w":1258848000,"a":0,"d":0,"c":0},{"w":1259452800,"a":0,"d":0,"c":0},{"w":1260057600,"a":0,"d":0,"c":0},{"w":1260662400,"a":0,"d":0,"c":0},{"w":1261267200,"a":0,"d":0,"c":0},{"w":1261872000,"a":0,"d":0,"c":0},{"w":1262476800,"a":0,"d":0,"c":0},{"w":1263081600,"a":0,"d":0,"c":0},{"w":1263686400,"a":0,"d":0,"c":0},{"w":1264291200,"a":0,"d":0,"c":0},{"w":1264896000,"a":0,"d":0,"c":0},{"w":1265500800,"a":0,"d":0,"c":0},{"w":1266105600,"a":0,"d":0,"c":0},{"w":1266710400,"a":0,"d":0,"c":0},{"w":1267315200,"a":0,"d":0,"c":0},{"w":1267920000,"a":0,"d":0,"c":0},{"w":1268524800,"a":0,"d":0,"c":0},{"w":1269129600,"a":0,"d":0,"c":0},{"w":1269734400,"a":0,"d":0,"c":0},{"w":1270339200,"a":0,"d":0,"c":0},{"w":1270944000,"a":0,"d":0,"c":0},{"w":1271548800,"a":0,"d":0,"c":0},{"w":1272153600,"a":0,"d":0,"c":0},{"w":1272758400,"a":0,"d":0,"c":0},{"w":1273363200,"a":0,"d":0,"c":0},{"w":1273968000,"a":0,"d":0,"c":0},{"w":1274572800,"a":0,"d":0,"c":0},{"w":1275177600,"a":0,"d":0,"c":0},{"w":1275782400,"a":0,"d":0,"c":0},{"w":1276387200,"a":0,"d":0,"c":0},{"w":1276992000,"a":0,"d":0,"c":0},{"w":1277596800,"a":0,"d":0,"c":0},{"w":1278201600,"a":0,"d":0,"c":0},{"w":1278806400,"a":0,"d":0,"c":0},{"w":1279411200,"a":0,"d":0,"c":0},{"w":1280016000,"a":0,"d":0,"c":0},{"w":1280620800,"a":0,"d":0,"c":0},{"w":1281225600,"a":0,"d":0,"c":0},{"w":1281830400,"a":0,"d":0,"c":0},{"w":1282435200,"a":0,"d":0,"c":0},{"w":1283040000,"a":0,"d":0,"c":0},{"w":1283644800,"a":0,"d":0,"c":0},{"w":1284249600,"a":0,"d":0,"c":0},{"w":1284854400,"a":0,"d":0,"c":0},{"w":1285459200,"a":0,"d":0,"c":0},{"w":1286064000,"a":0,"d":0,"c":0},{"w":1286668800,"a":0,"d":0,"c":0},{"w":1287273600,"a":0,"d":0,"c":0},{"w":1287878400,"a":0,"d":0,"c":0},{"w":1288483200,"a":0,"d":0,"c":0},{"w":1289088000,"a":0,"d":0,"c":0},{"w":1289692800,"a":0,"d":0,"c":0},{"w":1290297600,"a":0,"d":0,"c":0},{"w":1290902400,"a":0,"d":0,"c":0},{"w":1291507200,"a":0,"d":0,"c":0},{"w":1292112000,"a":0,"d":0,"c":0},{"w":1292716800,"a":0,"d":0,"c":0},{"w":1293321600,"a":0,"d":0,"c":0},{"w":1293926400,"a":0,"d":0,"c":0},{"w":1294531200,"a":0,"d":0,"c":0},{"w":1295136000,"a":0,"d":0,"c":0},{"w":1295740800,"a":0,"d":0,"c":0},{"w":1296345600,"a":0,"d":0,"c":0},{"w":1296950400,"a":0,"d":0,"c":0},{"w":1297555200,"a":0,"d":0,"c":0},{"w":1298160000,"a":0,"d":0,"c":0},{"w":1298764800,"a":0,"d":0,"c":0},{"w":1299369600,"a":0,"d":0,"c":0},{"w":1299974400,"a":0,"d":0,"c":0},{"w":1300579200,"a":0,"d":0,"c":0},{"w":1301184000,"a":0,"d":0,"c":0},{"w":1301788800,"a":0,"d":0,"c":0},{"w":1302393600,"a":0,"d":0,"c":0},{"w":1302998400,"a":0,"d":0,"c":0},{"w":1303603200,"a":0,"d":0,"c":0},{"w":1304208000,"a":0,"d":0,"c":0},{"w":1304812800,"a":0,"d":0,"c":0},{"w":1305417600,"a":0,"d":0,"c":0},{"w":1306022400,"a":0,"d":0,"c":0},{"w":1306627200,"a":0,"d":0,"c":0},{"w":1307232000,"a":0,"d":0,"c":0},{"w":1307836800,"a":0,"d":0,"c":0},{"w":1308441600,"a":0,"d":0,"c":0},{"w":1309046400,"a":0,"d":0,"c":0},{"w":1309651200,"a":0,"d":0,"c":0},{"w":1310256000,"a":0,"d":0,"c":0},{"w":1310860800,"a":0,"d":0,"c":0},{"w":1311465600,"a":0,"d":0,"c":0},{"w":1312070400,"a":0,"d":0,"c":0},{"w":1312675200,"a":0,"d":0,"c":0},{"w":1313280000,"a":0,"d":0,"c":0},{"w":1313884800,"a":0,"d":0,"c":0},{"w":1314489600,"a":0,"d":0,"c":0},{"w":1315094400,"a":0,"d":0,"c":0},{"w":1315699200,"a":0,"d":0,"c":0},{"w":1316304000,"a":0,"d":0,"c":0},{"w":1316908800,"a":0,"d":0,"c":0},{"w":1317513600,"a":0,"d":0,"c":0},{"w":1318118400,"a":0,"d":0,"c":0},{"w":1318723200,"a":0,"d":0,"c":0},{"w":1319328000,"a":0,"d":0,"c":0},{"w":1319932800,"a":0,"d":0,"c":0},{"w":1320537600,"a":0,"d":0,"c":0},{"w":1321142400,"a":0,"d":0,"c":0},{"w":1321747200,"a":0,"d":0,"c":0},{"w":1322352000,"a":0,"d":0,"c":0},{"w":1322956800,"a":0,"d":0,"c":0},{"w":1323561600,"a":0,"d":0,"c":0},{"w":1324166400,"a":0,"d":0,"c":0},{"w":1324771200,"a":0,"d":0,"c":0},{"w":1325376000,"a":0,"d":0,"c":0},{"w":1325980800,"a":0,"d":0,"c":0},{"w":1326585600,"a":0,"d":0,"c":0},{"w":1327190400,"a":0,"d":0,"c":0},{"w":1327795200,"a":0,"d":0,"c":0},{"w":1328400000,"a":0,"d":0,"c":0},{"w":1329004800,"a":0,"d":0,"c":0},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":0,"d":0,"c":0},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":0,"d":0,"c":0},{"w":1359244800,"a":0,"d":0,"c":0},{"w":1359849600,"a":0,"d":0,"c":0},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":0,"d":0,"c":0},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":309,"d":3,"c":13},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":184,"d":0,"c":6},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":0,"d":0,"c":0},{"w":1370131200,"a":0,"d":0,"c":0},{"w":1370736000,"a":0,"d":0,"c":0},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":0,"d":0,"c":0},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":0,"d":0,"c":0},{"w":1375574400,"a":0,"d":0,"c":0},{"w":1376179200,"a":0,"d":0,"c":0},{"w":1376784000,"a":0,"d":0,"c":0},{"w":1377388800,"a":87032,"d":62035,"c":7},{"w":1377993600,"a":95,"d":14,"c":3},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":33,"d":21,"c":2},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":68,"d":0,"c":1},{"w":1381622400,"a":0,"d":0,"c":0},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":0,"d":0,"c":0},{"w":1384041600,"a":44,"d":26,"c":2},{"w":1384646400,"a":0,"d":0,"c":0},{"w":1385251200,"a":0,"d":0,"c":0},{"w":1385856000,"a":0,"d":0,"c":0},{"w":1386460800,"a":0,"d":0,"c":0},{"w":1387065600,"a":0,"d":0,"c":0},{"w":1387670400,"a":0,"d":0,"c":0},{"w":1388275200,"a":0,"d":0,"c":0},{"w":1388880000,"a":0,"d":0,"c":0},{"w":1389484800,"a":330,"d":85,"c":8},{"w":1390089600,"a":0,"d":0,"c":0},{"w":1390694400,"a":168,"d":15,"c":3},{"w":1391299200,"a":0,"d":0,"c":0},{"w":1391904000,"a":242,"d":37,"c":4},{"w":1392508800,"a":169,"d":232,"c":3},{"w":1393113600,"a":175,"d":176,"c":5},{"w":1393718400,"a":311,"d":266,"c":11},{"w":1394323200,"a":0,"d":0,"c":0},{"w":1394928000,"a":0,"d":0,"c":0},{"w":1395532800,"a":699,"d":123,"c":15},{"w":1396137600,"a":532,"d":4,"c":4},{"w":1396742400,"a":237,"d":79,"c":10},{"w":1397347200,"a":0,"d":0,"c":0},{"w":1397952000,"a":0,"d":0,"c":0},{"w":1398556800,"a":391,"d":875,"c":11},{"w":1399161600,"a":1,"d":0,"c":1},{"w":1399766400,"a":53,"d":18,"c":2},{"w":1400371200,"a":0,"d":0,"c":0},{"w":1400976000,"a":0,"d":0,"c":0},{"w":1401580800,"a":1234,"d":1084,"c":30},{"w":1402185600,"a":119,"d":6,"c":4},{"w":1402790400,"a":152,"d":200,"c":3},{"w":1403395200,"a":635,"d":132,"c":10},{"w":1404000000,"a":430,"d":0,"c":1},{"w":1404604800,"a":6,"d":0,"c":1},{"w":1405209600,"a":53,"d":0,"c":1},{"w":1405814400,"a":480,"d":4,"c":16},{"w":1406419200,"a":647,"d":1,"c":6},{"w":1407024000,"a":732,"d":14,"c":8},{"w":1407628800,"a":3,"d":3,"c":1},{"w":1408233600,"a":643,"d":0,"c":4},{"w":1408838400,"a":192,"d":29,"c":9},{"w":1409443200,"a":20,"d":1415,"c":2},{"w":1410048000,"a":208,"d":122,"c":2},{"w":1410652800,"a":394,"d":6,"c":6},{"w":1411257600,"a":612,"d":9,"c":5},{"w":1411862400,"a":1158,"d":0,"c":4},{"w":1412467200,"a":141,"d":85,"c":6},{"w":1413072000,"a":364,"d":115,"c":4},{"w":1413676800,"a":1275,"d":0,"c":3},{"w":1414281600,"a":110,"d":39,"c":8},{"w":1414886400,"a":10093,"d":496,"c":3},{"w":1415491200,"a":287,"d":74,"c":5},{"w":1416096000,"a":113,"d":24,"c":2},{"w":1416700800,"a":0,"d":0,"c":0},{"w":1417305600,"a":96,"d":25,"c":2},{"w":1417910400,"a":183,"d":190,"c":5},{"w":1418515200,"a":0,"d":0,"c":0},{"w":1419120000,"a":7,"d":5,"c":1},{"w":1419724800,"a":0,"d":0,"c":0},{"w":1420329600,"a":0,"d":0,"c":0},{"w":1420934400,"a":98,"d":60,"c":4},{"w":1421539200,"a":0,"d":0,"c":0},{"w":1422144000,"a":8,"d":12,"c":2},{"w":1422748800,"a":31,"d":29,"c":4},{"w":1423353600,"a":442,"d":442,"c":2},{"w":1423958400,"a":0,"d":0,"c":0},{"w":1424563200,"a":0,"d":0,"c":0},{"w":1425168000,"a":0,"d":0,"c":0},{"w":1425772800,"a":0,"d":0,"c":0},{"w":1426377600,"a":0,"d":0,"c":0},{"w":1426982400,"a":0,"d":0,"c":0},{"w":1427587200,"a":752,"d":644,"c":4},{"w":1428192000,"a":0,"d":0,"c":0},{"w":1428796800,"a":0,"d":0,"c":0},{"w":1429401600,"a":613,"d":13,"c":5},{"w":1430006400,"a":0,"d":0,"c":0},{"w":1430611200,"a":112,"d":8,"c":3},{"w":1431216000,"a":423,"d":359,"c":7},{"w":1431820800,"a":216,"d":147,"c":3},{"w":1432425600,"a":30638,"d":27245,"c":16},{"w":1433030400,"a":5153,"d":6309,"c":8},{"w":1433635200,"a":857,"d":0,"c":3},{"w":1434240000,"a":25249,"d":18,"c":5},{"w":1434844800,"a":0,"d":0,"c":0},{"w":1435449600,"a":235,"d":0,"c":1},{"w":1436054400,"a":1193,"d":453,"c":15},{"w":1436659200,"a":12,"d":2,"c":2},{"w":1437264000,"a":1135,"d":319,"c":6},{"w":1437868800,"a":1159,"d":1207,"c":13},{"w":1438473600,"a":14776,"d":16925,"c":19},{"w":1439078400,"a":1734,"d":358,"c":16},{"w":1439683200,"a":47210,"d":536,"c":6},{"w":1440288000,"a":103,"d":15,"c":6},{"w":1440892800,"a":97688,"d":46046,"c":6},{"w":1441497600,"a":321,"d":166,"c":12},{"w":1442102400,"a":256,"d":139,"c":5},{"w":1442707200,"a":344,"d":254,"c":7},{"w":1443312000,"a":0,"d":0,"c":0},{"w":1443916800,"a":0,"d":0,"c":0},{"w":1444521600,"a":0,"d":0,"c":0},{"w":1445126400,"a":112,"d":0,"c":2},{"w":1445731200,"a":143,"d":60,"c":6},{"w":1446336000,"a":4015,"d":3915,"c":4},{"w":1446940800,"a":0,"d":0,"c":0},{"w":1447545600,"a":21,"d":18,"c":3},{"w":1448150400,"a":1930,"d":1045,"c":10},{"w":1448755200,"a":73,"d":7,"c":1},{"w":1449360000,"a":1167,"d":599,"c":22},{"w":1449964800,"a":555,"d":446,"c":12},{"w":1450569600,"a":0,"d":0,"c":0},{"w":1451174400,"a":15,"d":1,"c":1},{"w":1451779200,"a":0,"d":0,"c":0},{"w":1452384000,"a":0,"d":0,"c":0},{"w":1452988800,"a":0,"d":0,"c":0},{"w":1453593600,"a":0,"d":0,"c":0},{"w":1454198400,"a":0,"d":0,"c":0},{"w":1454803200,"a":0,"d":0,"c":0},{"w":1455408000,"a":0,"d":0,"c":0},{"w":1456012800,"a":0,"d":0,"c":0},{"w":1456617600,"a":0,"d":0,"c":0},{"w":1457222400,"a":0,"d":0,"c":0},{"w":1457827200,"a":0,"d":0,"c":0},{"w":1458432000,"a":509,"d":26,"c":5},{"w":1459036800,"a":0,"d":0,"c":0},{"w":1459641600,"a":161,"d":33,"c":1},{"w":1460246400,"a":679,"d":0,"c":2},{"w":1460851200,"a":5551,"d":24,"c":6},{"w":1461456000,"a":321,"d":597,"c":8},{"w":1462060800,"a":378,"d":125,"c":13},{"w":1462665600,"a":280,"d":1,"c":5},{"w":1463270400,"a":216,"d":103,"c":8},{"w":1463875200,"a":81,"d":0,"c":5},{"w":1464480000,"a":0,"d":0,"c":0},{"w":1465084800,"a":235,"d":199,"c":4},{"w":1465689600,"a":37,"d":60,"c":4},{"w":1466294400,"a":0,"d":0,"c":0},{"w":1466899200,"a":34,"d":1,"c":2},{"w":1467504000,"a":43,"d":1094,"c":5},{"w":1468108800,"a":307,"d":146,"c":1},{"w":1468713600,"a":0,"d":0,"c":0},{"w":1469318400,"a":0,"d":0,"c":0},{"w":1469923200,"a":0,"d":0,"c":0},{"w":1470528000,"a":0,"d":0,"c":0},{"w":1471132800,"a":0,"d":0,"c":0},{"w":1471737600,"a":10,"d":4,"c":2},{"w":1472342400,"a":0,"d":0,"c":0},{"w":1472947200,"a":36,"d":0,"c":2},{"w":1473552000,"a":0,"d":0,"c":0},{"w":1474156800,"a":0,"d":0,"c":0},{"w":1474761600,"a":0,"d":0,"c":0},{"w":1475366400,"a":0,"d":0,"c":0},{"w":1475971200,"a":0,"d":0,"c":0},{"w":1476576000,"a":0,"d":0,"c":0},{"w":1477180800,"a":0,"d":0,"c":0},{"w":1477785600,"a":0,"d":0,"c":0},{"w":1478390400,"a":0,"d":0,"c":0},{"w":1478995200,"a":0,"d":0,"c":0},{"w":1479600000,"a":0,"d":0,"c":0},{"w":1480204800,"a":0,"d":0,"c":0},{"w":1480809600,"a":34,"d":3,"c":2},{"w":1481414400,"a":0,"d":0,"c":0},{"w":1482019200,"a":6,"d":4,"c":1},{"w":1482624000,"a":0,"d":0,"c":0},{"w":1483228800,"a":0,"d":0,"c":0},{"w":1483833600,"a":0,"d":0,"c":0},{"w":1484438400,"a":0,"d":0,"c":0},{"w":1485043200,"a":0,"d":0,"c":0},{"w":1485648000,"a":0,"d":0,"c":0},{"w":1486252800,"a":0,"d":0,"c":0},{"w":1486857600,"a":0,"d":0,"c":0},{"w":1487462400,"a":0,"d":0,"c":0},{"w":1488067200,"a":0,"d":0,"c":0},{"w":1488672000,"a":0,"d":0,"c":0},{"w":1489276800,"a":0,"d":0,"c":0},{"w":1489881600,"a":0,"d":0,"c":0},{"w":1490486400,"a":0,"d":0,"c":0},{"w":1491091200,"a":0,"d":0,"c":0},{"w":1491696000,"a":0,"d":0,"c":0},{"w":1492300800,"a":0,"d":0,"c":0},{"w":1492905600,"a":0,"d":0,"c":0},{"w":1493510400,"a":0,"d":0,"c":0},{"w":1494115200,"a":11,"d":1,"c":2},{"w":1494720000,"a":0,"d":0,"c":0},{"w":1495324800,"a":0,"d":0,"c":0},{"w":1495929600,"a":0,"d":0,"c":0},{"w":1496534400,"a":0,"d":0,"c":0},{"w":1497139200,"a":0,"d":0,"c":0},{"w":1497744000,"a":0,"d":0,"c":0},{"w":1498348800,"a":0,"d":0,"c":0},{"w":1498953600,"a":0,"d":0,"c":0},{"w":1499558400,"a":0,"d":0,"c":0},{"w":1500163200,"a":0,"d":0,"c":0},{"w":1500768000,"a":0,"d":0,"c":0},{"w":1501372800,"a":0,"d":0,"c":0},{"w":1501977600,"a":0,"d":0,"c":0},{"w":1502582400,"a":0,"d":0,"c":0},{"w":1503187200,"a":0,"d":0,"c":0},{"w":1503792000,"a":0,"d":0,"c":0},{"w":1504396800,"a":0,"d":0,"c":0},{"w":1505001600,"a":0,"d":0,"c":0},{"w":1505606400,"a":0,"d":0,"c":0},{"w":1506211200,"a":0,"d":0,"c":0},{"w":1506816000,"a":0,"d":0,"c":0},{"w":1507420800,"a":0,"d":0,"c":0},{"w":1508025600,"a":0,"d":0,"c":0},{"w":1508630400,"a":0,"d":0,"c":0},{"w":1509235200,"a":0,"d":0,"c":0},{"w":1509840000,"a":0,"d":0,"c":0},{"w":1510444800,"a":0,"d":0,"c":0},{"w":1511049600,"a":0,"d":0,"c":0},{"w":1511654400,"a":0,"d":0,"c":0},{"w":1512259200,"a":0,"d":0,"c":0},{"w":1512864000,"a":0,"d":0,"c":0},{"w":1513468800,"a":0,"d":0,"c":0},{"w":1514073600,"a":0,"d":0,"c":0},{"w":1514678400,"a":0,"d":0,"c":0},{"w":1515283200,"a":0,"d":0,"c":0},{"w":1515888000,"a":0,"d":0,"c":0},{"w":1516492800,"a":0,"d":0,"c":0},{"w":1517097600,"a":0,"d":0,"c":0},{"w":1517702400,"a":0,"d":0,"c":0},{"w":1518307200,"a":0,"d":0,"c":0},{"w":1518912000,"a":0,"d":0,"c":0},{"w":1519516800,"a":0,"d":0,"c":0},{"w":1520121600,"a":0,"d":0,"c":0},{"w":1520726400,"a":0,"d":0,"c":0},{"w":1521331200,"a":0,"d":0,"c":0},{"w":1521936000,"a":131,"d":99,"c":3},{"w":1522540800,"a":92,"d":60,"c":4},{"w":1523145600,"a":0,"d":0,"c":0},{"w":1523750400,"a":0,"d":0,"c":0},{"w":1524355200,"a":82,"d":34,"c":1},{"w":1524960000,"a":156,"d":105,"c":3},{"w":1525564800,"a":512,"d":7957,"c":15},{"w":1526169600,"a":564,"d":749,"c":2},{"w":1526774400,"a":0,"d":0,"c":0},{"w":1527379200,"a":0,"d":0,"c":0},{"w":1527984000,"a":18,"d":53,"c":1},{"w":1528588800,"a":0,"d":0,"c":0},{"w":1529193600,"a":0,"d":0,"c":0},{"w":1529798400,"a":0,"d":0,"c":0},{"w":1530403200,"a":0,"d":0,"c":0},{"w":1531008000,"a":0,"d":0,"c":0},{"w":1531612800,"a":0,"d":0,"c":0},{"w":1532217600,"a":0,"d":0,"c":0},{"w":1532822400,"a":0,"d":0,"c":0},{"w":1533427200,"a":0,"d":0,"c":0},{"w":1534032000,"a":0,"d":0,"c":0},{"w":1534636800,"a":0,"d":0,"c":0},{"w":1535241600,"a":0,"d":0,"c":0},{"w":1535846400,"a":0,"d":0,"c":0},{"w":1536451200,"a":0,"d":0,"c":0},{"w":1537056000,"a":0,"d":0,"c":0},{"w":1537660800,"a":0,"d":0,"c":0},{"w":1538265600,"a":0,"d":0,"c":0},{"w":1538870400,"a":0,"d":0,"c":0},{"w":1539475200,"a":0,"d":0,"c":0},{"w":1540080000,"a":0,"d":0,"c":0},{"w":1540684800,"a":0,"d":0,"c":0},{"w":1541289600,"a":0,"d":0,"c":0},{"w":1541894400,"a":0,"d":0,"c":0},{"w":1542499200,"a":0,"d":0,"c":0},{"w":1543104000,"a":0,"d":0,"c":0},{"w":1543708800,"a":0,"d":0,"c":0},{"w":1544313600,"a":0,"d":0,"c":0},{"w":1544918400,"a":0,"d":0,"c":0},{"w":1545523200,"a":0,"d":0,"c":0},{"w":1546128000,"a":0,"d":0,"c":0},{"w":1546732800,"a":0,"d":0,"c":0},{"w":1547337600,"a":0,"d":0,"c":0},{"w":1547942400,"a":0,"d":0,"c":0},{"w":1548547200,"a":0,"d":0,"c":0},{"w":1549152000,"a":0,"d":0,"c":0},{"w":1549756800,"a":0,"d":0,"c":0},{"w":1550361600,"a":0,"d":0,"c":0},{"w":1550966400,"a":0,"d":0,"c":0},{"w":1551571200,"a":0,"d":0,"c":0},{"w":1552176000,"a":0,"d":0,"c":0},{"w":1552780800,"a":0,"d":0,"c":0},{"w":1553385600,"a":0,"d":0,"c":0},{"w":1553990400,"a":0,"d":0,"c":0},{"w":1554595200,"a":0,"d":0,"c":0},{"w":1555200000,"a":0,"d":0,"c":0},{"w":1555804800,"a":0,"d":0,"c":0},{"w":1556409600,"a":0,"d":0,"c":0},{"w":1557014400,"a":0,"d":0,"c":0},{"w":1557619200,"a":0,"d":0,"c":0},{"w":1558224000,"a":0,"d":0,"c":0},{"w":1558828800,"a":0,"d":0,"c":0},{"w":1559433600,"a":0,"d":0,"c":0},{"w":1560038400,"a":0,"d":0,"c":0},{"w":1560643200,"a":0,"d":0,"c":0},{"w":1561248000,"a":0,"d":0,"c":0},{"w":1561852800,"a":0,"d":0,"c":0},{"w":1562457600,"a":0,"d":0,"c":0}],"author":{"login":"R4PaSs","id":1444825,"node_id":"MDQ6VXNlcjE0NDQ4MjU=","avatar_url":"https://avatars3.githubusercontent.com/u/1444825?v=4","gravatar_id":"","url":"https://api.github.com/users/R4PaSs","html_url":"https://github.com/R4PaSs","followers_url":"https://api.github.com/users/R4PaSs/followers","following_url":"https://api.github.com/users/R4PaSs/following{/other_user}","gists_url":"https://api.github.com/users/R4PaSs/gists{/gist_id}","starred_url":"https://api.github.com/users/R4PaSs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/R4PaSs/subscriptions","organizations_url":"https://api.github.com/users/R4PaSs/orgs","repos_url":"https://api.github.com/users/R4PaSs/repos","events_url":"https://api.github.com/users/R4PaSs/events{/privacy}","received_events_url":"https://api.github.com/users/R4PaSs/received_events","type":"User","site_admin":false}},{"total":2033,"weeks":[{"w":1215302400,"a":0,"d":0,"c":0},{"w":1215907200,"a":0,"d":0,"c":0},{"w":1216512000,"a":0,"d":0,"c":0},{"w":1217116800,"a":0,"d":0,"c":0},{"w":1217721600,"a":0,"d":0,"c":0},{"w":1218326400,"a":0,"d":0,"c":0},{"w":1218931200,"a":0,"d":0,"c":0},{"w":1219536000,"a":0,"d":0,"c":0},{"w":1220140800,"a":0,"d":0,"c":0},{"w":1220745600,"a":0,"d":0,"c":0},{"w":1221350400,"a":0,"d":0,"c":0},{"w":1221955200,"a":0,"d":0,"c":0},{"w":1222560000,"a":0,"d":0,"c":0},{"w":1223164800,"a":0,"d":0,"c":0},{"w":1223769600,"a":0,"d":0,"c":0},{"w":1224374400,"a":0,"d":0,"c":0},{"w":1224979200,"a":0,"d":0,"c":0},{"w":1225584000,"a":0,"d":0,"c":0},{"w":1226188800,"a":0,"d":0,"c":0},{"w":1226793600,"a":0,"d":0,"c":0},{"w":1227398400,"a":0,"d":0,"c":0},{"w":1228003200,"a":0,"d":0,"c":0},{"w":1228608000,"a":0,"d":0,"c":0},{"w":1229212800,"a":0,"d":0,"c":0},{"w":1229817600,"a":0,"d":0,"c":0},{"w":1230422400,"a":0,"d":0,"c":0},{"w":1231027200,"a":0,"d":0,"c":0},{"w":1231632000,"a":0,"d":0,"c":0},{"w":1232236800,"a":0,"d":0,"c":0},{"w":1232841600,"a":0,"d":0,"c":0},{"w":1233446400,"a":0,"d":0,"c":0},{"w":1234051200,"a":0,"d":0,"c":0},{"w":1234656000,"a":0,"d":0,"c":0},{"w":1235260800,"a":0,"d":0,"c":0},{"w":1235865600,"a":0,"d":0,"c":0},{"w":1236470400,"a":0,"d":0,"c":0},{"w":1237075200,"a":0,"d":0,"c":0},{"w":1237680000,"a":0,"d":0,"c":0},{"w":1238284800,"a":0,"d":0,"c":0},{"w":1238889600,"a":0,"d":0,"c":0},{"w":1239494400,"a":0,"d":0,"c":0},{"w":1240099200,"a":0,"d":0,"c":0},{"w":1240704000,"a":0,"d":0,"c":0},{"w":1241308800,"a":0,"d":0,"c":0},{"w":1241913600,"a":0,"d":0,"c":0},{"w":1242518400,"a":0,"d":0,"c":0},{"w":1243123200,"a":0,"d":0,"c":0},{"w":1243728000,"a":0,"d":0,"c":0},{"w":1244332800,"a":0,"d":0,"c":0},{"w":1244937600,"a":0,"d":0,"c":0},{"w":1245542400,"a":0,"d":0,"c":0},{"w":1246147200,"a":0,"d":0,"c":0},{"w":1246752000,"a":0,"d":0,"c":0},{"w":1247356800,"a":0,"d":0,"c":0},{"w":1247961600,"a":0,"d":0,"c":0},{"w":1248566400,"a":0,"d":0,"c":0},{"w":1249171200,"a":0,"d":0,"c":0},{"w":1249776000,"a":0,"d":0,"c":0},{"w":1250380800,"a":0,"d":0,"c":0},{"w":1250985600,"a":0,"d":0,"c":0},{"w":1251590400,"a":0,"d":0,"c":0},{"w":1252195200,"a":0,"d":0,"c":0},{"w":1252800000,"a":0,"d":0,"c":0},{"w":1253404800,"a":0,"d":0,"c":0},{"w":1254009600,"a":0,"d":0,"c":0},{"w":1254614400,"a":0,"d":0,"c":0},{"w":1255219200,"a":0,"d":0,"c":0},{"w":1255824000,"a":0,"d":0,"c":0},{"w":1256428800,"a":0,"d":0,"c":0},{"w":1257033600,"a":0,"d":0,"c":0},{"w":1257638400,"a":0,"d":0,"c":0},{"w":1258243200,"a":0,"d":0,"c":0},{"w":1258848000,"a":0,"d":0,"c":0},{"w":1259452800,"a":0,"d":0,"c":0},{"w":1260057600,"a":0,"d":0,"c":0},{"w":1260662400,"a":0,"d":0,"c":0},{"w":1261267200,"a":0,"d":0,"c":0},{"w":1261872000,"a":0,"d":0,"c":0},{"w":1262476800,"a":0,"d":0,"c":0},{"w":1263081600,"a":0,"d":0,"c":0},{"w":1263686400,"a":0,"d":0,"c":0},{"w":1264291200,"a":0,"d":0,"c":0},{"w":1264896000,"a":0,"d":0,"c":0},{"w":1265500800,"a":0,"d":0,"c":0},{"w":1266105600,"a":0,"d":0,"c":0},{"w":1266710400,"a":0,"d":0,"c":0},{"w":1267315200,"a":0,"d":0,"c":0},{"w":1267920000,"a":0,"d":0,"c":0},{"w":1268524800,"a":0,"d":0,"c":0},{"w":1269129600,"a":0,"d":0,"c":0},{"w":1269734400,"a":0,"d":0,"c":0},{"w":1270339200,"a":0,"d":0,"c":0},{"w":1270944000,"a":0,"d":0,"c":0},{"w":1271548800,"a":0,"d":0,"c":0},{"w":1272153600,"a":0,"d":0,"c":0},{"w":1272758400,"a":0,"d":0,"c":0},{"w":1273363200,"a":0,"d":0,"c":0},{"w":1273968000,"a":0,"d":0,"c":0},{"w":1274572800,"a":0,"d":0,"c":0},{"w":1275177600,"a":0,"d":0,"c":0},{"w":1275782400,"a":0,"d":0,"c":0},{"w":1276387200,"a":0,"d":0,"c":0},{"w":1276992000,"a":0,"d":0,"c":0},{"w":1277596800,"a":0,"d":0,"c":0},{"w":1278201600,"a":0,"d":0,"c":0},{"w":1278806400,"a":0,"d":0,"c":0},{"w":1279411200,"a":0,"d":0,"c":0},{"w":1280016000,"a":0,"d":0,"c":0},{"w":1280620800,"a":0,"d":0,"c":0},{"w":1281225600,"a":0,"d":0,"c":0},{"w":1281830400,"a":0,"d":0,"c":0},{"w":1282435200,"a":0,"d":0,"c":0},{"w":1283040000,"a":0,"d":0,"c":0},{"w":1283644800,"a":0,"d":0,"c":0},{"w":1284249600,"a":0,"d":0,"c":0},{"w":1284854400,"a":0,"d":0,"c":0},{"w":1285459200,"a":0,"d":0,"c":0},{"w":1286064000,"a":0,"d":0,"c":0},{"w":1286668800,"a":0,"d":0,"c":0},{"w":1287273600,"a":0,"d":0,"c":0},{"w":1287878400,"a":0,"d":0,"c":0},{"w":1288483200,"a":0,"d":0,"c":0},{"w":1289088000,"a":0,"d":0,"c":0},{"w":1289692800,"a":0,"d":0,"c":0},{"w":1290297600,"a":0,"d":0,"c":0},{"w":1290902400,"a":0,"d":0,"c":0},{"w":1291507200,"a":0,"d":0,"c":0},{"w":1292112000,"a":0,"d":0,"c":0},{"w":1292716800,"a":0,"d":0,"c":0},{"w":1293321600,"a":0,"d":0,"c":0},{"w":1293926400,"a":0,"d":0,"c":0},{"w":1294531200,"a":0,"d":0,"c":0},{"w":1295136000,"a":0,"d":0,"c":0},{"w":1295740800,"a":0,"d":0,"c":0},{"w":1296345600,"a":0,"d":0,"c":0},{"w":1296950400,"a":0,"d":0,"c":0},{"w":1297555200,"a":2380,"d":0,"c":1},{"w":1298160000,"a":0,"d":0,"c":0},{"w":1298764800,"a":0,"d":0,"c":0},{"w":1299369600,"a":0,"d":0,"c":0},{"w":1299974400,"a":0,"d":0,"c":0},{"w":1300579200,"a":0,"d":0,"c":0},{"w":1301184000,"a":94,"d":85,"c":1},{"w":1301788800,"a":0,"d":0,"c":0},{"w":1302393600,"a":26,"d":23,"c":5},{"w":1302998400,"a":0,"d":0,"c":0},{"w":1303603200,"a":119,"d":7,"c":1},{"w":1304208000,"a":0,"d":0,"c":0},{"w":1304812800,"a":0,"d":0,"c":0},{"w":1305417600,"a":0,"d":0,"c":0},{"w":1306022400,"a":0,"d":0,"c":0},{"w":1306627200,"a":0,"d":0,"c":0},{"w":1307232000,"a":0,"d":0,"c":0},{"w":1307836800,"a":0,"d":0,"c":0},{"w":1308441600,"a":0,"d":0,"c":0},{"w":1309046400,"a":0,"d":0,"c":0},{"w":1309651200,"a":0,"d":0,"c":0},{"w":1310256000,"a":0,"d":0,"c":0},{"w":1310860800,"a":0,"d":0,"c":0},{"w":1311465600,"a":0,"d":0,"c":0},{"w":1312070400,"a":0,"d":0,"c":0},{"w":1312675200,"a":0,"d":0,"c":0},{"w":1313280000,"a":0,"d":0,"c":0},{"w":1313884800,"a":0,"d":0,"c":0},{"w":1314489600,"a":0,"d":0,"c":0},{"w":1315094400,"a":0,"d":0,"c":0},{"w":1315699200,"a":0,"d":0,"c":0},{"w":1316304000,"a":0,"d":0,"c":0},{"w":1316908800,"a":0,"d":0,"c":0},{"w":1317513600,"a":0,"d":0,"c":0},{"w":1318118400,"a":0,"d":0,"c":0},{"w":1318723200,"a":0,"d":0,"c":0},{"w":1319328000,"a":0,"d":0,"c":0},{"w":1319932800,"a":0,"d":0,"c":0},{"w":1320537600,"a":0,"d":0,"c":0},{"w":1321142400,"a":0,"d":0,"c":0},{"w":1321747200,"a":0,"d":0,"c":0},{"w":1322352000,"a":0,"d":0,"c":0},{"w":1322956800,"a":0,"d":0,"c":0},{"w":1323561600,"a":0,"d":0,"c":0},{"w":1324166400,"a":0,"d":0,"c":0},{"w":1324771200,"a":0,"d":0,"c":0},{"w":1325376000,"a":0,"d":0,"c":0},{"w":1325980800,"a":0,"d":0,"c":0},{"w":1326585600,"a":0,"d":0,"c":0},{"w":1327190400,"a":0,"d":0,"c":0},{"w":1327795200,"a":0,"d":0,"c":0},{"w":1328400000,"a":636,"d":17,"c":2},{"w":1329004800,"a":101,"d":3,"c":3},{"w":1329609600,"a":0,"d":0,"c":0},{"w":1330214400,"a":0,"d":0,"c":0},{"w":1330819200,"a":0,"d":0,"c":0},{"w":1331424000,"a":0,"d":0,"c":0},{"w":1332028800,"a":0,"d":0,"c":0},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":1734,"d":1462,"c":3},{"w":1335052800,"a":71,"d":37,"c":4},{"w":1335657600,"a":248,"d":65,"c":4},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":0,"d":0,"c":0},{"w":1338681600,"a":0,"d":0,"c":0},{"w":1339286400,"a":1,"d":1,"c":1},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":0,"d":0,"c":0},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":0,"d":0,"c":0},{"w":1348963200,"a":1163,"d":3,"c":4},{"w":1349568000,"a":450,"d":1,"c":1},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":752,"d":32,"c":4},{"w":1354406400,"a":3160,"d":635,"c":32},{"w":1355011200,"a":1374,"d":255,"c":12},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":137,"d":487,"c":4},{"w":1359244800,"a":3011,"d":2975,"c":1},{"w":1359849600,"a":1657,"d":2297,"c":37},{"w":1360454400,"a":91,"d":0,"c":1},{"w":1361059200,"a":110,"d":0,"c":1},{"w":1361664000,"a":1244,"d":1235,"c":10},{"w":1362268800,"a":580,"d":618,"c":26},{"w":1362873600,"a":49,"d":22,"c":3},{"w":1363478400,"a":0,"d":0,"c":0},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":0,"d":0,"c":0},{"w":1368921600,"a":0,"d":0,"c":0},{"w":1369526400,"a":89,"d":16,"c":2},{"w":1370131200,"a":104,"d":0,"c":1},{"w":1370736000,"a":219,"d":0,"c":2},{"w":1371340800,"a":1492,"d":664,"c":23},{"w":1371945600,"a":16,"d":16,"c":2},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":224,"d":153,"c":6},{"w":1373760000,"a":3264,"d":2771,"c":26},{"w":1374364800,"a":769,"d":814,"c":20},{"w":1374969600,"a":2488,"d":2365,"c":25},{"w":1375574400,"a":252,"d":375,"c":6},{"w":1376179200,"a":495,"d":285,"c":2},{"w":1376784000,"a":3557,"d":1319,"c":1},{"w":1377388800,"a":3320,"d":1807,"c":15},{"w":1377993600,"a":57,"d":133,"c":2},{"w":1378598400,"a":548,"d":294,"c":7},{"w":1379203200,"a":621,"d":549,"c":2},{"w":1379808000,"a":7,"d":7,"c":1},{"w":1380412800,"a":343,"d":0,"c":1},{"w":1381017600,"a":1682,"d":1264,"c":3},{"w":1381622400,"a":862,"d":54,"c":2},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":0,"d":0,"c":0},{"w":1383436800,"a":5668,"d":9764,"c":5},{"w":1384041600,"a":0,"d":0,"c":0},{"w":1384646400,"a":0,"d":0,"c":0},{"w":1385251200,"a":0,"d":0,"c":0},{"w":1385856000,"a":0,"d":0,"c":0},{"w":1386460800,"a":0,"d":0,"c":0},{"w":1387065600,"a":0,"d":0,"c":0},{"w":1387670400,"a":0,"d":0,"c":0},{"w":1388275200,"a":0,"d":0,"c":0},{"w":1388880000,"a":0,"d":0,"c":0},{"w":1389484800,"a":272,"d":116,"c":4},{"w":1390089600,"a":0,"d":0,"c":0},{"w":1390694400,"a":102,"d":83,"c":13},{"w":1391299200,"a":2371,"d":2319,"c":6},{"w":1391904000,"a":3363,"d":3117,"c":16},{"w":1392508800,"a":3688,"d":2787,"c":10},{"w":1393113600,"a":1734,"d":1361,"c":14},{"w":1393718400,"a":1888,"d":930,"c":19},{"w":1394323200,"a":1,"d":1,"c":1},{"w":1394928000,"a":0,"d":0,"c":0},{"w":1395532800,"a":229,"d":13,"c":10},{"w":1396137600,"a":0,"d":0,"c":0},{"w":1396742400,"a":0,"d":1,"c":1},{"w":1397347200,"a":0,"d":0,"c":0},{"w":1397952000,"a":272,"d":89,"c":1},{"w":1398556800,"a":159,"d":987,"c":14},{"w":1399161600,"a":2902,"d":1343,"c":14},{"w":1399766400,"a":0,"d":0,"c":0},{"w":1400371200,"a":0,"d":0,"c":0},{"w":1400976000,"a":1,"d":1,"c":1},{"w":1401580800,"a":9841,"d":3034,"c":10},{"w":1402185600,"a":97,"d":78,"c":1},{"w":1402790400,"a":258,"d":148,"c":12},{"w":1403395200,"a":527,"d":10,"c":8},{"w":1404000000,"a":749,"d":369,"c":9},{"w":1404604800,"a":759,"d":365,"c":6},{"w":1405209600,"a":2442,"d":89,"c":8},{"w":1405814400,"a":1611,"d":32,"c":15},{"w":1406419200,"a":164,"d":1,"c":1},{"w":1407024000,"a":4786,"d":0,"c":2},{"w":1407628800,"a":0,"d":0,"c":0},{"w":1408233600,"a":0,"d":0,"c":0},{"w":1408838400,"a":1119,"d":369,"c":11},{"w":1409443200,"a":5682,"d":265,"c":16},{"w":1410048000,"a":396,"d":227,"c":2},{"w":1410652800,"a":0,"d":0,"c":0},{"w":1411257600,"a":3071,"d":167,"c":21},{"w":1411862400,"a":0,"d":0,"c":0},{"w":1412467200,"a":0,"d":0,"c":0},{"w":1413072000,"a":0,"d":0,"c":0},{"w":1413676800,"a":0,"d":0,"c":0},{"w":1414281600,"a":0,"d":0,"c":0},{"w":1414886400,"a":0,"d":0,"c":0},{"w":1415491200,"a":0,"d":0,"c":0},{"w":1416096000,"a":554,"d":195,"c":36},{"w":1416700800,"a":337,"d":310,"c":10},{"w":1417305600,"a":478,"d":207,"c":12},{"w":1417910400,"a":3429,"d":2789,"c":97},{"w":1418515200,"a":969,"d":32,"c":12},{"w":1419120000,"a":227,"d":46,"c":5},{"w":1419724800,"a":13,"d":6,"c":1},{"w":1420329600,"a":78,"d":111,"c":6},{"w":1420934400,"a":2833,"d":144,"c":15},{"w":1421539200,"a":825,"d":2,"c":7},{"w":1422144000,"a":196,"d":2,"c":3},{"w":1422748800,"a":4244,"d":1754,"c":46},{"w":1423353600,"a":16,"d":16,"c":3},{"w":1423958400,"a":1127,"d":1081,"c":12},{"w":1424563200,"a":4023,"d":2835,"c":37},{"w":1425168000,"a":0,"d":0,"c":0},{"w":1425772800,"a":0,"d":0,"c":0},{"w":1426377600,"a":0,"d":0,"c":0},{"w":1426982400,"a":0,"d":0,"c":0},{"w":1427587200,"a":105,"d":1,"c":1},{"w":1428192000,"a":0,"d":0,"c":0},{"w":1428796800,"a":0,"d":0,"c":0},{"w":1429401600,"a":973,"d":585,"c":28},{"w":1430006400,"a":0,"d":0,"c":0},{"w":1430611200,"a":5788,"d":954,"c":27},{"w":1431216000,"a":823,"d":900,"c":18},{"w":1431820800,"a":551,"d":660,"c":33},{"w":1432425600,"a":1856,"d":1294,"c":59},{"w":1433030400,"a":2232,"d":2827,"c":20},{"w":1433635200,"a":2294,"d":239,"c":22},{"w":1434240000,"a":0,"d":0,"c":0},{"w":1434844800,"a":1913,"d":320,"c":13},{"w":1435449600,"a":286,"d":7,"c":6},{"w":1436054400,"a":1184,"d":83,"c":21},{"w":1436659200,"a":1105,"d":23,"c":17},{"w":1437264000,"a":934,"d":0,"c":1},{"w":1437868800,"a":8,"d":4,"c":1},{"w":1438473600,"a":14,"d":4,"c":3},{"w":1439078400,"a":19,"d":16,"c":4},{"w":1439683200,"a":0,"d":0,"c":0},{"w":1440288000,"a":0,"d":0,"c":0},{"w":1440892800,"a":0,"d":2,"c":1},{"w":1441497600,"a":27,"d":10,"c":3},{"w":1442102400,"a":0,"d":0,"c":0},{"w":1442707200,"a":0,"d":0,"c":0},{"w":1443312000,"a":0,"d":0,"c":0},{"w":1443916800,"a":0,"d":0,"c":0},{"w":1444521600,"a":1795,"d":20,"c":21},{"w":1445126400,"a":104,"d":38,"c":4},{"w":1445731200,"a":1,"d":1,"c":1},{"w":1446336000,"a":0,"d":0,"c":0},{"w":1446940800,"a":0,"d":0,"c":0},{"w":1447545600,"a":0,"d":0,"c":0},{"w":1448150400,"a":118,"d":130,"c":4},{"w":1448755200,"a":54,"d":21,"c":5},{"w":1449360000,"a":1338,"d":514,"c":9},{"w":1449964800,"a":1284,"d":839,"c":31},{"w":1450569600,"a":0,"d":0,"c":0},{"w":1451174400,"a":0,"d":0,"c":0},{"w":1451779200,"a":0,"d":0,"c":0},{"w":1452384000,"a":0,"d":0,"c":0},{"w":1452988800,"a":0,"d":0,"c":0},{"w":1453593600,"a":0,"d":0,"c":0},{"w":1454198400,"a":0,"d":0,"c":0},{"w":1454803200,"a":0,"d":0,"c":0},{"w":1455408000,"a":0,"d":0,"c":0},{"w":1456012800,"a":0,"d":0,"c":0},{"w":1456617600,"a":0,"d":0,"c":0},{"w":1457222400,"a":0,"d":0,"c":0},{"w":1457827200,"a":0,"d":0,"c":0},{"w":1458432000,"a":0,"d":0,"c":0},{"w":1459036800,"a":0,"d":0,"c":0},{"w":1459641600,"a":0,"d":0,"c":0},{"w":1460246400,"a":0,"d":0,"c":0},{"w":1460851200,"a":483,"d":102,"c":29},{"w":1461456000,"a":0,"d":0,"c":0},{"w":1462060800,"a":0,"d":0,"c":0},{"w":1462665600,"a":0,"d":0,"c":0},{"w":1463270400,"a":4957,"d":379,"c":39},{"w":1463875200,"a":1621,"d":1054,"c":34},{"w":1464480000,"a":8333,"d":1695,"c":49},{"w":1465084800,"a":1172,"d":380,"c":22},{"w":1465689600,"a":0,"d":0,"c":0},{"w":1466294400,"a":1121,"d":340,"c":14},{"w":1466899200,"a":491,"d":254,"c":4},{"w":1467504000,"a":1244,"d":227,"c":11},{"w":1468108800,"a":0,"d":0,"c":0},{"w":1468713600,"a":233,"d":157,"c":3},{"w":1469318400,"a":0,"d":0,"c":0},{"w":1469923200,"a":1444,"d":126,"c":17},{"w":1470528000,"a":844,"d":89,"c":7},{"w":1471132800,"a":2977,"d":1625,"c":34},{"w":1471737600,"a":1251,"d":588,"c":32},{"w":1472342400,"a":88,"d":41,"c":5},{"w":1472947200,"a":0,"d":0,"c":0},{"w":1473552000,"a":0,"d":0,"c":0},{"w":1474156800,"a":0,"d":0,"c":0},{"w":1474761600,"a":0,"d":0,"c":0},{"w":1475366400,"a":0,"d":0,"c":0},{"w":1475971200,"a":0,"d":0,"c":0},{"w":1476576000,"a":0,"d":0,"c":0},{"w":1477180800,"a":0,"d":0,"c":0},{"w":1477785600,"a":251,"d":315,"c":2},{"w":1478390400,"a":0,"d":0,"c":0},{"w":1478995200,"a":72,"d":21,"c":5},{"w":1479600000,"a":10819,"d":0,"c":1},{"w":1480204800,"a":828,"d":179,"c":18},{"w":1480809600,"a":545,"d":468,"c":14},{"w":1481414400,"a":102,"d":59,"c":2},{"w":1482019200,"a":0,"d":0,"c":0},{"w":1482624000,"a":0,"d":0,"c":0},{"w":1483228800,"a":0,"d":0,"c":0},{"w":1483833600,"a":0,"d":0,"c":0},{"w":1484438400,"a":38,"d":15,"c":1},{"w":1485043200,"a":0,"d":0,"c":0},{"w":1485648000,"a":174,"d":20,"c":5},{"w":1486252800,"a":28,"d":1,"c":4},{"w":1486857600,"a":1072,"d":84,"c":12},{"w":1487462400,"a":133,"d":10,"c":3},{"w":1488067200,"a":7,"d":0,"c":2},{"w":1488672000,"a":3,"d":3,"c":1},{"w":1489276800,"a":0,"d":0,"c":0},{"w":1489881600,"a":0,"d":0,"c":0},{"w":1490486400,"a":0,"d":0,"c":0},{"w":1491091200,"a":0,"d":0,"c":0},{"w":1491696000,"a":0,"d":0,"c":0},{"w":1492300800,"a":0,"d":0,"c":0},{"w":1492905600,"a":0,"d":0,"c":0},{"w":1493510400,"a":0,"d":0,"c":0},{"w":1494115200,"a":1544,"d":1445,"c":10},{"w":1494720000,"a":690,"d":285,"c":10},{"w":1495324800,"a":209,"d":23,"c":3},{"w":1495929600,"a":9,"d":0,"c":1},{"w":1496534400,"a":2073,"d":1891,"c":41},{"w":1497139200,"a":243,"d":113,"c":12},{"w":1497744000,"a":126,"d":2,"c":3},{"w":1498348800,"a":0,"d":0,"c":0},{"w":1498953600,"a":0,"d":0,"c":0},{"w":1499558400,"a":0,"d":0,"c":0},{"w":1500163200,"a":0,"d":0,"c":0},{"w":1500768000,"a":0,"d":0,"c":0},{"w":1501372800,"a":0,"d":0,"c":0},{"w":1501977600,"a":0,"d":0,"c":0},{"w":1502582400,"a":1525,"d":735,"c":30},{"w":1503187200,"a":0,"d":0,"c":0},{"w":1503792000,"a":462,"d":262,"c":8},{"w":1504396800,"a":0,"d":0,"c":0},{"w":1505001600,"a":0,"d":0,"c":0},{"w":1505606400,"a":636,"d":122,"c":10},{"w":1506211200,"a":1669,"d":281,"c":19},{"w":1506816000,"a":2,"d":2,"c":1},{"w":1507420800,"a":209,"d":205,"c":9},{"w":1508025600,"a":324,"d":300,"c":13},{"w":1508630400,"a":12377,"d":11966,"c":35},{"w":1509235200,"a":0,"d":0,"c":0},{"w":1509840000,"a":6219,"d":6557,"c":5},{"w":1510444800,"a":40,"d":18,"c":1},{"w":1511049600,"a":1678,"d":758,"c":13},{"w":1511654400,"a":2585,"d":3669,"c":5},{"w":1512259200,"a":26,"d":4,"c":2},{"w":1512864000,"a":0,"d":0,"c":0},{"w":1513468800,"a":3,"d":8602,"c":2},{"w":1514073600,"a":0,"d":0,"c":0},{"w":1514678400,"a":0,"d":0,"c":0},{"w":1515283200,"a":0,"d":0,"c":0},{"w":1515888000,"a":1,"d":1,"c":1},{"w":1516492800,"a":58,"d":43,"c":3},{"w":1517097600,"a":0,"d":0,"c":0},{"w":1517702400,"a":0,"d":0,"c":0},{"w":1518307200,"a":0,"d":0,"c":0},{"w":1518912000,"a":0,"d":0,"c":0},{"w":1519516800,"a":0,"d":0,"c":0},{"w":1520121600,"a":0,"d":0,"c":0},{"w":1520726400,"a":0,"d":0,"c":0},{"w":1521331200,"a":0,"d":0,"c":0},{"w":1521936000,"a":0,"d":0,"c":0},{"w":1522540800,"a":0,"d":0,"c":0},{"w":1523145600,"a":0,"d":0,"c":0},{"w":1523750400,"a":0,"d":0,"c":0},{"w":1524355200,"a":0,"d":0,"c":0},{"w":1524960000,"a":18748,"d":14905,"c":40},{"w":1525564800,"a":2002,"d":483,"c":33},{"w":1526169600,"a":3526,"d":1969,"c":48},{"w":1526774400,"a":0,"d":0,"c":0},{"w":1527379200,"a":19054,"d":2465,"c":37},{"w":1527984000,"a":0,"d":0,"c":0},{"w":1528588800,"a":915,"d":995,"c":23},{"w":1529193600,"a":11045,"d":10671,"c":11},{"w":1529798400,"a":0,"d":0,"c":0},{"w":1530403200,"a":0,"d":0,"c":0},{"w":1531008000,"a":0,"d":0,"c":0},{"w":1531612800,"a":0,"d":0,"c":0},{"w":1532217600,"a":0,"d":0,"c":0},{"w":1532822400,"a":0,"d":0,"c":0},{"w":1533427200,"a":0,"d":0,"c":0},{"w":1534032000,"a":0,"d":0,"c":0},{"w":1534636800,"a":0,"d":0,"c":0},{"w":1535241600,"a":0,"d":0,"c":0},{"w":1535846400,"a":0,"d":0,"c":0},{"w":1536451200,"a":0,"d":0,"c":0},{"w":1537056000,"a":0,"d":0,"c":0},{"w":1537660800,"a":0,"d":0,"c":0},{"w":1538265600,"a":0,"d":0,"c":0},{"w":1538870400,"a":0,"d":0,"c":0},{"w":1539475200,"a":0,"d":0,"c":0},{"w":1540080000,"a":0,"d":0,"c":0},{"w":1540684800,"a":0,"d":0,"c":0},{"w":1541289600,"a":0,"d":0,"c":0},{"w":1541894400,"a":0,"d":0,"c":0},{"w":1542499200,"a":0,"d":0,"c":0},{"w":1543104000,"a":0,"d":0,"c":0},{"w":1543708800,"a":0,"d":0,"c":0},{"w":1544313600,"a":0,"d":0,"c":0},{"w":1544918400,"a":0,"d":0,"c":0},{"w":1545523200,"a":0,"d":0,"c":0},{"w":1546128000,"a":0,"d":0,"c":0},{"w":1546732800,"a":0,"d":0,"c":0},{"w":1547337600,"a":0,"d":0,"c":0},{"w":1547942400,"a":0,"d":0,"c":0},{"w":1548547200,"a":0,"d":0,"c":0},{"w":1549152000,"a":0,"d":0,"c":0},{"w":1549756800,"a":0,"d":0,"c":0},{"w":1550361600,"a":0,"d":0,"c":0},{"w":1550966400,"a":0,"d":0,"c":0},{"w":1551571200,"a":0,"d":0,"c":0},{"w":1552176000,"a":0,"d":0,"c":0},{"w":1552780800,"a":0,"d":0,"c":0},{"w":1553385600,"a":0,"d":0,"c":0},{"w":1553990400,"a":0,"d":0,"c":0},{"w":1554595200,"a":0,"d":0,"c":0},{"w":1555200000,"a":0,"d":0,"c":0},{"w":1555804800,"a":0,"d":0,"c":0},{"w":1556409600,"a":0,"d":0,"c":0},{"w":1557014400,"a":0,"d":0,"c":0},{"w":1557619200,"a":0,"d":0,"c":0},{"w":1558224000,"a":0,"d":0,"c":0},{"w":1558828800,"a":0,"d":0,"c":0},{"w":1559433600,"a":0,"d":0,"c":0},{"w":1560038400,"a":843,"d":95,"c":13},{"w":1560643200,"a":960,"d":4297,"c":5},{"w":1561248000,"a":0,"d":0,"c":0},{"w":1561852800,"a":0,"d":0,"c":0},{"w":1562457600,"a":0,"d":0,"c":0}],"author":{"login":"Morriar","id":583144,"node_id":"MDQ6VXNlcjU4MzE0NA==","avatar_url":"https://avatars2.githubusercontent.com/u/583144?v=4","gravatar_id":"","url":"https://api.github.com/users/Morriar","html_url":"https://github.com/Morriar","followers_url":"https://api.github.com/users/Morriar/followers","following_url":"https://api.github.com/users/Morriar/following{/other_user}","gists_url":"https://api.github.com/users/Morriar/gists{/gist_id}","starred_url":"https://api.github.com/users/Morriar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Morriar/subscriptions","organizations_url":"https://api.github.com/users/Morriar/orgs","repos_url":"https://api.github.com/users/Morriar/repos","events_url":"https://api.github.com/users/Morriar/events{/privacy}","received_events_url":"https://api.github.com/users/Morriar/received_events","type":"User","site_admin":false}},{"total":3265,"weeks":[{"w":1215302400,"a":0,"d":0,"c":0},{"w":1215907200,"a":0,"d":0,"c":0},{"w":1216512000,"a":0,"d":0,"c":0},{"w":1217116800,"a":0,"d":0,"c":0},{"w":1217721600,"a":0,"d":0,"c":0},{"w":1218326400,"a":0,"d":0,"c":0},{"w":1218931200,"a":0,"d":0,"c":0},{"w":1219536000,"a":0,"d":0,"c":0},{"w":1220140800,"a":0,"d":0,"c":0},{"w":1220745600,"a":0,"d":0,"c":0},{"w":1221350400,"a":0,"d":0,"c":0},{"w":1221955200,"a":0,"d":0,"c":0},{"w":1222560000,"a":0,"d":0,"c":0},{"w":1223164800,"a":0,"d":0,"c":0},{"w":1223769600,"a":0,"d":0,"c":0},{"w":1224374400,"a":0,"d":0,"c":0},{"w":1224979200,"a":0,"d":0,"c":0},{"w":1225584000,"a":0,"d":0,"c":0},{"w":1226188800,"a":0,"d":0,"c":0},{"w":1226793600,"a":0,"d":0,"c":0},{"w":1227398400,"a":0,"d":0,"c":0},{"w":1228003200,"a":0,"d":0,"c":0},{"w":1228608000,"a":0,"d":0,"c":0},{"w":1229212800,"a":0,"d":0,"c":0},{"w":1229817600,"a":0,"d":0,"c":0},{"w":1230422400,"a":0,"d":0,"c":0},{"w":1231027200,"a":0,"d":0,"c":0},{"w":1231632000,"a":0,"d":0,"c":0},{"w":1232236800,"a":0,"d":0,"c":0},{"w":1232841600,"a":0,"d":0,"c":0},{"w":1233446400,"a":0,"d":0,"c":0},{"w":1234051200,"a":0,"d":0,"c":0},{"w":1234656000,"a":0,"d":0,"c":0},{"w":1235260800,"a":0,"d":0,"c":0},{"w":1235865600,"a":0,"d":0,"c":0},{"w":1236470400,"a":0,"d":0,"c":0},{"w":1237075200,"a":0,"d":0,"c":0},{"w":1237680000,"a":0,"d":0,"c":0},{"w":1238284800,"a":0,"d":0,"c":0},{"w":1238889600,"a":0,"d":0,"c":0},{"w":1239494400,"a":0,"d":0,"c":0},{"w":1240099200,"a":0,"d":0,"c":0},{"w":1240704000,"a":0,"d":0,"c":0},{"w":1241308800,"a":0,"d":0,"c":0},{"w":1241913600,"a":0,"d":0,"c":0},{"w":1242518400,"a":0,"d":0,"c":0},{"w":1243123200,"a":0,"d":0,"c":0},{"w":1243728000,"a":0,"d":0,"c":0},{"w":1244332800,"a":0,"d":0,"c":0},{"w":1244937600,"a":0,"d":0,"c":0},{"w":1245542400,"a":0,"d":0,"c":0},{"w":1246147200,"a":0,"d":0,"c":0},{"w":1246752000,"a":0,"d":0,"c":0},{"w":1247356800,"a":559,"d":0,"c":1},{"w":1247961600,"a":0,"d":0,"c":0},{"w":1248566400,"a":0,"d":0,"c":0},{"w":1249171200,"a":0,"d":0,"c":0},{"w":1249776000,"a":0,"d":0,"c":0},{"w":1250380800,"a":0,"d":0,"c":0},{"w":1250985600,"a":0,"d":0,"c":0},{"w":1251590400,"a":0,"d":0,"c":0},{"w":1252195200,"a":0,"d":0,"c":0},{"w":1252800000,"a":0,"d":0,"c":0},{"w":1253404800,"a":0,"d":0,"c":0},{"w":1254009600,"a":0,"d":0,"c":0},{"w":1254614400,"a":0,"d":0,"c":0},{"w":1255219200,"a":0,"d":0,"c":0},{"w":1255824000,"a":0,"d":0,"c":0},{"w":1256428800,"a":0,"d":0,"c":0},{"w":1257033600,"a":0,"d":0,"c":0},{"w":1257638400,"a":0,"d":0,"c":0},{"w":1258243200,"a":0,"d":0,"c":0},{"w":1258848000,"a":0,"d":0,"c":0},{"w":1259452800,"a":0,"d":0,"c":0},{"w":1260057600,"a":0,"d":0,"c":0},{"w":1260662400,"a":18,"d":2,"c":2},{"w":1261267200,"a":0,"d":0,"c":0},{"w":1261872000,"a":0,"d":0,"c":0},{"w":1262476800,"a":0,"d":0,"c":0},{"w":1263081600,"a":0,"d":0,"c":0},{"w":1263686400,"a":0,"d":0,"c":0},{"w":1264291200,"a":0,"d":0,"c":0},{"w":1264896000,"a":0,"d":0,"c":0},{"w":1265500800,"a":0,"d":0,"c":0},{"w":1266105600,"a":0,"d":0,"c":0},{"w":1266710400,"a":0,"d":0,"c":0},{"w":1267315200,"a":0,"d":0,"c":0},{"w":1267920000,"a":0,"d":0,"c":0},{"w":1268524800,"a":0,"d":0,"c":0},{"w":1269129600,"a":0,"d":0,"c":0},{"w":1269734400,"a":0,"d":0,"c":0},{"w":1270339200,"a":0,"d":0,"c":0},{"w":1270944000,"a":0,"d":0,"c":0},{"w":1271548800,"a":0,"d":0,"c":0},{"w":1272153600,"a":0,"d":0,"c":0},{"w":1272758400,"a":0,"d":0,"c":0},{"w":1273363200,"a":0,"d":0,"c":0},{"w":1273968000,"a":0,"d":0,"c":0},{"w":1274572800,"a":0,"d":0,"c":0},{"w":1275177600,"a":0,"d":0,"c":0},{"w":1275782400,"a":0,"d":0,"c":0},{"w":1276387200,"a":0,"d":0,"c":0},{"w":1276992000,"a":0,"d":0,"c":0},{"w":1277596800,"a":0,"d":0,"c":0},{"w":1278201600,"a":0,"d":0,"c":0},{"w":1278806400,"a":0,"d":0,"c":0},{"w":1279411200,"a":0,"d":0,"c":0},{"w":1280016000,"a":0,"d":0,"c":0},{"w":1280620800,"a":0,"d":0,"c":0},{"w":1281225600,"a":0,"d":0,"c":0},{"w":1281830400,"a":0,"d":0,"c":0},{"w":1282435200,"a":0,"d":0,"c":0},{"w":1283040000,"a":0,"d":0,"c":0},{"w":1283644800,"a":0,"d":0,"c":0},{"w":1284249600,"a":0,"d":0,"c":0},{"w":1284854400,"a":12,"d":2,"c":3},{"w":1285459200,"a":0,"d":0,"c":0},{"w":1286064000,"a":0,"d":0,"c":0},{"w":1286668800,"a":0,"d":0,"c":0},{"w":1287273600,"a":0,"d":0,"c":0},{"w":1287878400,"a":0,"d":0,"c":0},{"w":1288483200,"a":0,"d":0,"c":0},{"w":1289088000,"a":0,"d":0,"c":0},{"w":1289692800,"a":0,"d":0,"c":0},{"w":1290297600,"a":0,"d":0,"c":0},{"w":1290902400,"a":0,"d":0,"c":0},{"w":1291507200,"a":0,"d":0,"c":0},{"w":1292112000,"a":0,"d":0,"c":0},{"w":1292716800,"a":0,"d":0,"c":0},{"w":1293321600,"a":0,"d":0,"c":0},{"w":1293926400,"a":0,"d":0,"c":0},{"w":1294531200,"a":0,"d":0,"c":0},{"w":1295136000,"a":0,"d":0,"c":0},{"w":1295740800,"a":44,"d":3,"c":1},{"w":1296345600,"a":0,"d":0,"c":0},{"w":1296950400,"a":0,"d":0,"c":0},{"w":1297555200,"a":0,"d":0,"c":0},{"w":1298160000,"a":0,"d":0,"c":0},{"w":1298764800,"a":0,"d":0,"c":0},{"w":1299369600,"a":0,"d":0,"c":0},{"w":1299974400,"a":6,"d":2,"c":1},{"w":1300579200,"a":0,"d":1,"c":1},{"w":1301184000,"a":10,"d":0,"c":1},{"w":1301788800,"a":7,"d":0,"c":1},{"w":1302393600,"a":0,"d":0,"c":0},{"w":1302998400,"a":0,"d":0,"c":0},{"w":1303603200,"a":0,"d":0,"c":0},{"w":1304208000,"a":0,"d":0,"c":0},{"w":1304812800,"a":0,"d":0,"c":0},{"w":1305417600,"a":0,"d":0,"c":0},{"w":1306022400,"a":0,"d":0,"c":0},{"w":1306627200,"a":0,"d":0,"c":0},{"w":1307232000,"a":23,"d":0,"c":1},{"w":1307836800,"a":593,"d":0,"c":1},{"w":1308441600,"a":0,"d":0,"c":0},{"w":1309046400,"a":0,"d":0,"c":0},{"w":1309651200,"a":0,"d":0,"c":0},{"w":1310256000,"a":0,"d":0,"c":0},{"w":1310860800,"a":0,"d":0,"c":0},{"w":1311465600,"a":0,"d":0,"c":0},{"w":1312070400,"a":536,"d":21,"c":3},{"w":1312675200,"a":893,"d":569,"c":6},{"w":1313280000,"a":107301,"d":90129,"c":11},{"w":1313884800,"a":0,"d":0,"c":0},{"w":1314489600,"a":0,"d":0,"c":0},{"w":1315094400,"a":0,"d":0,"c":0},{"w":1315699200,"a":0,"d":0,"c":0},{"w":1316304000,"a":0,"d":0,"c":0},{"w":1316908800,"a":0,"d":0,"c":0},{"w":1317513600,"a":0,"d":0,"c":0},{"w":1318118400,"a":9,"d":6,"c":2},{"w":1318723200,"a":0,"d":0,"c":0},{"w":1319328000,"a":0,"d":0,"c":0},{"w":1319932800,"a":1,"d":1,"c":1},{"w":1320537600,"a":1,"d":0,"c":1},{"w":1321142400,"a":0,"d":0,"c":0},{"w":1321747200,"a":0,"d":0,"c":0},{"w":1322352000,"a":63881,"d":44609,"c":1},{"w":1322956800,"a":0,"d":0,"c":0},{"w":1323561600,"a":0,"d":0,"c":0},{"w":1324166400,"a":0,"d":0,"c":0},{"w":1324771200,"a":0,"d":0,"c":0},{"w":1325376000,"a":0,"d":0,"c":0},{"w":1325980800,"a":0,"d":0,"c":0},{"w":1326585600,"a":0,"d":0,"c":0},{"w":1327190400,"a":0,"d":0,"c":0},{"w":1327795200,"a":0,"d":0,"c":0},{"w":1328400000,"a":323111,"d":325970,"c":4},{"w":1329004800,"a":225,"d":248,"c":13},{"w":1329609600,"a":248,"d":25,"c":7},{"w":1330214400,"a":12828,"d":3769,"c":10},{"w":1330819200,"a":102,"d":4,"c":2},{"w":1331424000,"a":49,"d":0,"c":1},{"w":1332028800,"a":9,"d":9,"c":1},{"w":1332633600,"a":410,"d":29,"c":2},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":0,"d":0,"c":0},{"w":1334448000,"a":0,"d":0,"c":0},{"w":1335052800,"a":196,"d":104,"c":2},{"w":1335657600,"a":0,"d":0,"c":0},{"w":1336262400,"a":0,"d":0,"c":0},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":0,"d":0,"c":0},{"w":1338076800,"a":233,"d":13,"c":7},{"w":1338681600,"a":65,"d":4,"c":3},{"w":1339286400,"a":0,"d":0,"c":0},{"w":1339891200,"a":0,"d":0,"c":0},{"w":1340496000,"a":45,"d":4,"c":1},{"w":1341100800,"a":0,"d":0,"c":0},{"w":1341705600,"a":14,"d":4,"c":1},{"w":1342310400,"a":0,"d":0,"c":0},{"w":1342915200,"a":0,"d":0,"c":0},{"w":1343520000,"a":0,"d":0,"c":0},{"w":1344124800,"a":0,"d":0,"c":0},{"w":1344729600,"a":0,"d":0,"c":0},{"w":1345334400,"a":0,"d":0,"c":0},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":3,"d":0,"c":1},{"w":1347148800,"a":152,"d":152,"c":1},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":703,"d":1,"c":3},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":0,"d":0,"c":0},{"w":1350172800,"a":0,"d":0,"c":0},{"w":1350777600,"a":0,"d":0,"c":0},{"w":1351382400,"a":0,"d":0,"c":0},{"w":1351987200,"a":0,"d":0,"c":0},{"w":1352592000,"a":0,"d":0,"c":0},{"w":1353196800,"a":0,"d":0,"c":0},{"w":1353801600,"a":0,"d":0,"c":0},{"w":1354406400,"a":0,"d":0,"c":0},{"w":1355011200,"a":0,"d":0,"c":0},{"w":1355616000,"a":0,"d":0,"c":0},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":0,"d":0,"c":0},{"w":1358640000,"a":4043,"d":1,"c":1},{"w":1359244800,"a":21292,"d":15327,"c":6},{"w":1359849600,"a":904,"d":22,"c":7},{"w":1360454400,"a":0,"d":0,"c":0},{"w":1361059200,"a":579,"d":168,"c":5},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":76,"d":68,"c":1},{"w":1362873600,"a":0,"d":0,"c":0},{"w":1363478400,"a":2,"d":1,"c":2},{"w":1364083200,"a":0,"d":0,"c":0},{"w":1364688000,"a":0,"d":0,"c":0},{"w":1365292800,"a":0,"d":0,"c":0},{"w":1365897600,"a":0,"d":0,"c":0},{"w":1366502400,"a":0,"d":0,"c":0},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":0,"d":0,"c":0},{"w":1368316800,"a":2510,"d":2451,"c":7},{"w":1368921600,"a":808,"d":0,"c":4},{"w":1369526400,"a":310,"d":14,"c":6},{"w":1370131200,"a":9,"d":36,"c":2},{"w":1370736000,"a":61,"d":4,"c":3},{"w":1371340800,"a":0,"d":0,"c":0},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":0,"d":0,"c":0},{"w":1373155200,"a":0,"d":0,"c":0},{"w":1373760000,"a":544,"d":1,"c":4},{"w":1374364800,"a":0,"d":0,"c":0},{"w":1374969600,"a":2076,"d":305,"c":14},{"w":1375574400,"a":312,"d":9,"c":7},{"w":1376179200,"a":182,"d":0,"c":1},{"w":1376784000,"a":7853,"d":1097,"c":40},{"w":1377388800,"a":162,"d":147,"c":5},{"w":1377993600,"a":0,"d":0,"c":0},{"w":1378598400,"a":0,"d":0,"c":0},{"w":1379203200,"a":116,"d":9,"c":2},{"w":1379808000,"a":0,"d":0,"c":0},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":1,"d":1,"c":1},{"w":1381622400,"a":542,"d":1031,"c":7},{"w":1382227200,"a":0,"d":0,"c":0},{"w":1382832000,"a":814,"d":84,"c":8},{"w":1383436800,"a":820,"d":815,"c":8},{"w":1384041600,"a":809,"d":23,"c":10},{"w":1384646400,"a":0,"d":0,"c":0},{"w":1385251200,"a":1692,"d":107,"c":18},{"w":1385856000,"a":26,"d":8,"c":2},{"w":1386460800,"a":0,"d":0,"c":0},{"w":1387065600,"a":0,"d":0,"c":0},{"w":1387670400,"a":0,"d":0,"c":0},{"w":1388275200,"a":0,"d":0,"c":0},{"w":1388880000,"a":0,"d":0,"c":0},{"w":1389484800,"a":43,"d":6,"c":4},{"w":1390089600,"a":197,"d":104,"c":9},{"w":1390694400,"a":1296,"d":1438,"c":16},{"w":1391299200,"a":19406,"d":384,"c":22},{"w":1391904000,"a":469,"d":47,"c":22},{"w":1392508800,"a":154352,"d":94,"c":17},{"w":1393113600,"a":783,"d":51,"c":18},{"w":1393718400,"a":461,"d":415,"c":39},{"w":1394323200,"a":1322,"d":200,"c":40},{"w":1394928000,"a":136,"d":12,"c":6},{"w":1395532800,"a":0,"d":0,"c":0},{"w":1396137600,"a":208516,"d":168984,"c":49},{"w":1396742400,"a":289,"d":91,"c":12},{"w":1397347200,"a":909,"d":156,"c":13},{"w":1397952000,"a":43082,"d":1872,"c":12},{"w":1398556800,"a":2887,"d":2555,"c":35},{"w":1399161600,"a":267,"d":187,"c":22},{"w":1399766400,"a":252,"d":110,"c":16},{"w":1400371200,"a":7,"d":2,"c":2},{"w":1400976000,"a":428,"d":266,"c":11},{"w":1401580800,"a":603,"d":599,"c":11},{"w":1402185600,"a":4475,"d":4013,"c":20},{"w":1402790400,"a":2124,"d":176,"c":19},{"w":1403395200,"a":263,"d":114,"c":23},{"w":1404000000,"a":1305,"d":6,"c":7},{"w":1404604800,"a":780,"d":276,"c":19},{"w":1405209600,"a":1846,"d":293,"c":25},{"w":1405814400,"a":2986,"d":138,"c":27},{"w":1406419200,"a":1460,"d":42,"c":23},{"w":1407024000,"a":1259,"d":364,"c":21},{"w":1407628800,"a":64,"d":40,"c":5},{"w":1408233600,"a":128,"d":0,"c":1},{"w":1408838400,"a":261,"d":3,"c":4},{"w":1409443200,"a":657,"d":648,"c":9},{"w":1410048000,"a":2679,"d":2037,"c":13},{"w":1410652800,"a":44,"d":18,"c":8},{"w":1411257600,"a":351,"d":23,"c":6},{"w":1411862400,"a":144,"d":82,"c":9},{"w":1412467200,"a":111,"d":4,"c":5},{"w":1413072000,"a":59,"d":49,"c":4},{"w":1413676800,"a":364,"d":343,"c":3},{"w":1414281600,"a":1335,"d":89,"c":19},{"w":1414886400,"a":281,"d":76,"c":17},{"w":1415491200,"a":300,"d":98,"c":16},{"w":1416096000,"a":322,"d":62,"c":16},{"w":1416700800,"a":1589,"d":81,"c":32},{"w":1417305600,"a":655,"d":121,"c":31},{"w":1417910400,"a":689,"d":93,"c":32},{"w":1418515200,"a":338,"d":249,"c":11},{"w":1419120000,"a":707,"d":344,"c":25},{"w":1419724800,"a":888,"d":130,"c":21},{"w":1420329600,"a":936,"d":701,"c":27},{"w":1420934400,"a":1230,"d":982,"c":7},{"w":1421539200,"a":175,"d":68,"c":8},{"w":1422144000,"a":454,"d":383,"c":21},{"w":1422748800,"a":605,"d":111,"c":14},{"w":1423353600,"a":126,"d":5,"c":6},{"w":1423958400,"a":85,"d":69,"c":6},{"w":1424563200,"a":68,"d":47,"c":3},{"w":1425168000,"a":570,"d":21,"c":9},{"w":1425772800,"a":615,"d":206,"c":17},{"w":1426377600,"a":191,"d":65,"c":11},{"w":1426982400,"a":929,"d":35,"c":8},{"w":1427587200,"a":308,"d":187,"c":11},{"w":1428192000,"a":70,"d":155,"c":9},{"w":1428796800,"a":214,"d":17,"c":9},{"w":1429401600,"a":682,"d":58,"c":8},{"w":1430006400,"a":11,"d":14,"c":3},{"w":1430611200,"a":3537,"d":3013,"c":49},{"w":1431216000,"a":497,"d":260,"c":20},{"w":1431820800,"a":2823,"d":888,"c":36},{"w":1432425600,"a":2419,"d":2064,"c":58},{"w":1433030400,"a":1415,"d":1226,"c":38},{"w":1433635200,"a":213,"d":390,"c":28},{"w":1434240000,"a":771,"d":714,"c":35},{"w":1434844800,"a":194,"d":196,"c":19},{"w":1435449600,"a":3535,"d":217,"c":45},{"w":1436054400,"a":306,"d":134,"c":16},{"w":1436659200,"a":288,"d":97,"c":12},{"w":1437264000,"a":1292,"d":932,"c":72},{"w":1437868800,"a":3147,"d":448,"c":59},{"w":1438473600,"a":501,"d":143,"c":23},{"w":1439078400,"a":7095,"d":4964,"c":24},{"w":1439683200,"a":612,"d":668,"c":24},{"w":1440288000,"a":2282,"d":1995,"c":51},{"w":1440892800,"a":399,"d":128,"c":32},{"w":1441497600,"a":412,"d":118,"c":24},{"w":1442102400,"a":1516,"d":154509,"c":34},{"w":1442707200,"a":366,"d":18,"c":4},{"w":1443312000,"a":906,"d":184,"c":13},{"w":1443916800,"a":88,"d":58,"c":4},{"w":1444521600,"a":30,"d":26,"c":6},{"w":1445126400,"a":151,"d":15,"c":7},{"w":1445731200,"a":686,"d":70,"c":17},{"w":1446336000,"a":190,"d":29,"c":18},{"w":1446940800,"a":2767,"d":141,"c":28},{"w":1447545600,"a":555,"d":373,"c":27},{"w":1448150400,"a":585,"d":72,"c":18},{"w":1448755200,"a":916,"d":79,"c":14},{"w":1449360000,"a":5647,"d":170,"c":24},{"w":1449964800,"a":18630,"d":5195,"c":20},{"w":1450569600,"a":5,"d":0,"c":1},{"w":1451174400,"a":14491,"d":37,"c":6},{"w":1451779200,"a":196,"d":11,"c":3},{"w":1452384000,"a":2362,"d":926,"c":14},{"w":1452988800,"a":1087,"d":72,"c":29},{"w":1453593600,"a":162,"d":84,"c":8},{"w":1454198400,"a":13806,"d":145,"c":12},{"w":1454803200,"a":1441,"d":145,"c":29},{"w":1455408000,"a":559,"d":146,"c":20},{"w":1456012800,"a":69,"d":31,"c":7},{"w":1456617600,"a":58,"d":3,"c":4},{"w":1457222400,"a":1834,"d":61,"c":14},{"w":1457827200,"a":658,"d":74,"c":23},{"w":1458432000,"a":226,"d":37,"c":10},{"w":1459036800,"a":1051,"d":97,"c":14},{"w":1459641600,"a":284,"d":159,"c":25},{"w":1460246400,"a":128,"d":34,"c":11},{"w":1460851200,"a":1150,"d":196,"c":21},{"w":1461456000,"a":44,"d":20,"c":3},{"w":1462060800,"a":264,"d":157,"c":10},{"w":1462665600,"a":182,"d":33,"c":16},{"w":1463270400,"a":2661,"d":1745,"c":22},{"w":1463875200,"a":368,"d":379,"c":11},{"w":1464480000,"a":47,"d":28,"c":3},{"w":1465084800,"a":0,"d":0,"c":0},{"w":1465689600,"a":126,"d":108,"c":14},{"w":1466294400,"a":835,"d":501,"c":33},{"w":1466899200,"a":37,"d":24,"c":5},{"w":1467504000,"a":0,"d":0,"c":0},{"w":1468108800,"a":0,"d":0,"c":0},{"w":1468713600,"a":560,"d":153,"c":15},{"w":1469318400,"a":90,"d":43,"c":8},{"w":1469923200,"a":131,"d":41,"c":13},{"w":1470528000,"a":674,"d":532,"c":24},{"w":1471132800,"a":166,"d":40,"c":11},{"w":1471737600,"a":13,"d":6,"c":5},{"w":1472342400,"a":170,"d":116,"c":15},{"w":1472947200,"a":462,"d":102,"c":26},{"w":1473552000,"a":1385,"d":1485,"c":17},{"w":1474156800,"a":137,"d":75,"c":13},{"w":1474761600,"a":260,"d":71,"c":15},{"w":1475366400,"a":0,"d":0,"c":0},{"w":1475971200,"a":588,"d":96,"c":27},{"w":1476576000,"a":57,"d":2,"c":4},{"w":1477180800,"a":17,"d":8,"c":3},{"w":1477785600,"a":0,"d":0,"c":0},{"w":1478390400,"a":4,"d":1747,"c":1},{"w":1478995200,"a":64,"d":58,"c":6},{"w":1479600000,"a":0,"d":0,"c":0},{"w":1480204800,"a":0,"d":0,"c":0},{"w":1480809600,"a":474,"d":472,"c":3},{"w":1481414400,"a":82,"d":82,"c":2},{"w":1482019200,"a":147,"d":154,"c":2},{"w":1482624000,"a":10,"d":5,"c":2},{"w":1483228800,"a":75,"d":42,"c":1},{"w":1483833600,"a":0,"d":0,"c":0},{"w":1484438400,"a":0,"d":0,"c":0},{"w":1485043200,"a":0,"d":0,"c":0},{"w":1485648000,"a":235,"d":25,"c":6},{"w":1486252800,"a":550,"d":377,"c":10},{"w":1486857600,"a":30,"d":7,"c":1},{"w":1487462400,"a":474,"d":223,"c":16},{"w":1488067200,"a":518587,"d":350506,"c":5},{"w":1488672000,"a":33,"d":10,"c":3},{"w":1489276800,"a":225,"d":16,"c":9},{"w":1489881600,"a":1061,"d":166,"c":7},{"w":1490486400,"a":358,"d":9,"c":6},{"w":1491091200,"a":3958,"d":2635,"c":16},{"w":1491696000,"a":86,"d":31,"c":5},{"w":1492300800,"a":200,"d":14,"c":2},{"w":1492905600,"a":2,"d":3,"c":2},{"w":1493510400,"a":308,"d":128,"c":11},{"w":1494115200,"a":219,"d":190,"c":7},{"w":1494720000,"a":239,"d":125,"c":9},{"w":1495324800,"a":1097,"d":191,"c":10},{"w":1495929600,"a":154,"d":44,"c":7},{"w":1496534400,"a":248,"d":66,"c":11},{"w":1497139200,"a":1647,"d":70,"c":9},{"w":1497744000,"a":874,"d":110,"c":7},{"w":1498348800,"a":2536,"d":2355,"c":15},{"w":1498953600,"a":158,"d":5,"c":4},{"w":1499558400,"a":260,"d":86,"c":11},{"w":1500163200,"a":319,"d":98,"c":15},{"w":1500768000,"a":4165,"d":208,"c":20},{"w":1501372800,"a":1147,"d":1941,"c":8},{"w":1501977600,"a":63,"d":15,"c":3},{"w":1502582400,"a":800,"d":59,"c":6},{"w":1503187200,"a":100,"d":37,"c":8},{"w":1503792000,"a":279,"d":18,"c":7},{"w":1504396800,"a":883,"d":620,"c":21},{"w":1505001600,"a":198,"d":2,"c":5},{"w":1505606400,"a":100,"d":96,"c":5},{"w":1506211200,"a":127,"d":38,"c":10},{"w":1506816000,"a":516,"d":121,"c":12},{"w":1507420800,"a":68,"d":16,"c":4},{"w":1508025600,"a":79,"d":36,"c":7},{"w":1508630400,"a":504,"d":169,"c":6},{"w":1509235200,"a":16,"d":8,"c":4},{"w":1509840000,"a":59,"d":44,"c":9},{"w":1510444800,"a":100,"d":44,"c":10},{"w":1511049600,"a":7,"d":8,"c":2},{"w":1511654400,"a":3,"d":1,"c":1},{"w":1512259200,"a":7,"d":0,"c":2},{"w":1512864000,"a":644,"d":29,"c":14},{"w":1513468800,"a":111,"d":12,"c":5},{"w":1514073600,"a":2,"d":2,"c":1},{"w":1514678400,"a":9,"d":5,"c":2},{"w":1515283200,"a":8,"d":55236,"c":12},{"w":1515888000,"a":47,"d":34,"c":11},{"w":1516492800,"a":69,"d":9269,"c":6},{"w":1517097600,"a":0,"d":0,"c":0},{"w":1517702400,"a":0,"d":0,"c":0},{"w":1518307200,"a":736,"d":129,"c":14},{"w":1518912000,"a":1,"d":1,"c":1},{"w":1519516800,"a":910,"d":723,"c":14},{"w":1520121600,"a":96,"d":49,"c":6},{"w":1520726400,"a":51,"d":31,"c":3},{"w":1521331200,"a":0,"d":0,"c":0},{"w":1521936000,"a":425,"d":409,"c":5},{"w":1522540800,"a":11,"d":1,"c":1},{"w":1523145600,"a":0,"d":0,"c":0},{"w":1523750400,"a":0,"d":0,"c":0},{"w":1524355200,"a":0,"d":0,"c":0},{"w":1524960000,"a":0,"d":640,"c":1},{"w":1525564800,"a":9,"d":6,"c":4},{"w":1526169600,"a":0,"d":0,"c":0},{"w":1526774400,"a":70,"d":27,"c":3},{"w":1527379200,"a":0,"d":0,"c":0},{"w":1527984000,"a":230,"d":156,"c":10},{"w":1528588800,"a":0,"d":0,"c":0},{"w":1529193600,"a":0,"d":0,"c":0},{"w":1529798400,"a":0,"d":0,"c":0},{"w":1530403200,"a":0,"d":0,"c":0},{"w":1531008000,"a":0,"d":0,"c":0},{"w":1531612800,"a":192,"d":21,"c":6},{"w":1532217600,"a":10,"d":9,"c":2},{"w":1532822400,"a":0,"d":0,"c":0},{"w":1533427200,"a":0,"d":0,"c":0},{"w":1534032000,"a":0,"d":0,"c":0},{"w":1534636800,"a":0,"d":0,"c":0},{"w":1535241600,"a":0,"d":0,"c":0},{"w":1535846400,"a":0,"d":0,"c":0},{"w":1536451200,"a":0,"d":0,"c":0},{"w":1537056000,"a":0,"d":0,"c":0},{"w":1537660800,"a":0,"d":0,"c":0},{"w":1538265600,"a":0,"d":0,"c":0},{"w":1538870400,"a":0,"d":0,"c":0},{"w":1539475200,"a":0,"d":0,"c":0},{"w":1540080000,"a":0,"d":0,"c":0},{"w":1540684800,"a":0,"d":0,"c":0},{"w":1541289600,"a":0,"d":0,"c":0},{"w":1541894400,"a":0,"d":0,"c":0},{"w":1542499200,"a":0,"d":0,"c":0},{"w":1543104000,"a":0,"d":0,"c":0},{"w":1543708800,"a":0,"d":0,"c":0},{"w":1544313600,"a":0,"d":0,"c":0},{"w":1544918400,"a":0,"d":0,"c":0},{"w":1545523200,"a":0,"d":0,"c":0},{"w":1546128000,"a":0,"d":0,"c":0},{"w":1546732800,"a":107,"d":21,"c":2},{"w":1547337600,"a":0,"d":0,"c":0},{"w":1547942400,"a":13,"d":6,"c":1},{"w":1548547200,"a":0,"d":0,"c":0},{"w":1549152000,"a":0,"d":0,"c":0},{"w":1549756800,"a":4,"d":9,"c":3},{"w":1550361600,"a":208,"d":59,"c":2},{"w":1550966400,"a":133,"d":84,"c":10},{"w":1551571200,"a":0,"d":0,"c":0},{"w":1552176000,"a":0,"d":0,"c":0},{"w":1552780800,"a":0,"d":0,"c":0},{"w":1553385600,"a":0,"d":0,"c":0},{"w":1553990400,"a":0,"d":0,"c":0},{"w":1554595200,"a":0,"d":0,"c":0},{"w":1555200000,"a":0,"d":0,"c":0},{"w":1555804800,"a":0,"d":0,"c":0},{"w":1556409600,"a":0,"d":0,"c":0},{"w":1557014400,"a":0,"d":0,"c":0},{"w":1557619200,"a":0,"d":0,"c":0},{"w":1558224000,"a":0,"d":0,"c":0},{"w":1558828800,"a":0,"d":0,"c":0},{"w":1559433600,"a":0,"d":0,"c":0},{"w":1560038400,"a":0,"d":0,"c":0},{"w":1560643200,"a":0,"d":0,"c":0},{"w":1561248000,"a":0,"d":0,"c":0},{"w":1561852800,"a":0,"d":0,"c":0},{"w":1562457600,"a":0,"d":0,"c":0}],"author":{"login":"xymus","id":208057,"node_id":"MDQ6VXNlcjIwODA1Nw==","avatar_url":"https://avatars0.githubusercontent.com/u/208057?v=4","gravatar_id":"","url":"https://api.github.com/users/xymus","html_url":"https://github.com/xymus","followers_url":"https://api.github.com/users/xymus/followers","following_url":"https://api.github.com/users/xymus/following{/other_user}","gists_url":"https://api.github.com/users/xymus/gists{/gist_id}","starred_url":"https://api.github.com/users/xymus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xymus/subscriptions","organizations_url":"https://api.github.com/users/xymus/orgs","repos_url":"https://api.github.com/users/xymus/repos","events_url":"https://api.github.com/users/xymus/events{/privacy}","received_events_url":"https://api.github.com/users/xymus/received_events","type":"User","site_admin":false}},{"total":4536,"weeks":[{"w":1215302400,"a":336225,"d":0,"c":1},{"w":1215907200,"a":0,"d":0,"c":0},{"w":1216512000,"a":0,"d":0,"c":0},{"w":1217116800,"a":0,"d":0,"c":0},{"w":1217721600,"a":0,"d":0,"c":0},{"w":1218326400,"a":0,"d":0,"c":0},{"w":1218931200,"a":0,"d":0,"c":0},{"w":1219536000,"a":0,"d":0,"c":0},{"w":1220140800,"a":0,"d":0,"c":0},{"w":1220745600,"a":205,"d":4,"c":2},{"w":1221350400,"a":0,"d":0,"c":0},{"w":1221955200,"a":0,"d":0,"c":0},{"w":1222560000,"a":0,"d":0,"c":0},{"w":1223164800,"a":0,"d":0,"c":0},{"w":1223769600,"a":0,"d":0,"c":0},{"w":1224374400,"a":0,"d":0,"c":0},{"w":1224979200,"a":0,"d":0,"c":0},{"w":1225584000,"a":0,"d":0,"c":0},{"w":1226188800,"a":17933,"d":12108,"c":8},{"w":1226793600,"a":5542,"d":5054,"c":1},{"w":1227398400,"a":50883,"d":50865,"c":7},{"w":1228003200,"a":0,"d":0,"c":0},{"w":1228608000,"a":0,"d":0,"c":0},{"w":1229212800,"a":0,"d":0,"c":0},{"w":1229817600,"a":173820,"d":154140,"c":26},{"w":1230422400,"a":378,"d":326,"c":4},{"w":1231027200,"a":0,"d":0,"c":0},{"w":1231632000,"a":0,"d":0,"c":0},{"w":1232236800,"a":33548,"d":10420,"c":21},{"w":1232841600,"a":221249,"d":156096,"c":18},{"w":1233446400,"a":30887,"d":76015,"c":8},{"w":1234051200,"a":188,"d":165,"c":6},{"w":1234656000,"a":0,"d":0,"c":0},{"w":1235260800,"a":105,"d":81,"c":4},{"w":1235865600,"a":0,"d":0,"c":0},{"w":1236470400,"a":0,"d":0,"c":0},{"w":1237075200,"a":0,"d":0,"c":0},{"w":1237680000,"a":24,"d":0,"c":2},{"w":1238284800,"a":0,"d":0,"c":0},{"w":1238889600,"a":133,"d":197,"c":2},{"w":1239494400,"a":0,"d":0,"c":0},{"w":1240099200,"a":0,"d":0,"c":0},{"w":1240704000,"a":0,"d":0,"c":0},{"w":1241308800,"a":0,"d":0,"c":0},{"w":1241913600,"a":0,"d":0,"c":0},{"w":1242518400,"a":17287,"d":11282,"c":4},{"w":1243123200,"a":0,"d":0,"c":0},{"w":1243728000,"a":350,"d":237,"c":6},{"w":1244332800,"a":80928,"d":82623,"c":35},{"w":1244937600,"a":1231,"d":799,"c":24},{"w":1245542400,"a":216695,"d":122952,"c":28},{"w":1246147200,"a":1297,"d":30,"c":12},{"w":1246752000,"a":920,"d":713,"c":21},{"w":1247356800,"a":844,"d":776,"c":5},{"w":1247961600,"a":22770,"d":14816,"c":15},{"w":1248566400,"a":82839,"d":56641,"c":31},{"w":1249171200,"a":18652,"d":17308,"c":13},{"w":1249776000,"a":462,"d":176,"c":13},{"w":1250380800,"a":11327,"d":10145,"c":23},{"w":1250985600,"a":737436,"d":334624,"c":23},{"w":1251590400,"a":6616,"d":6827,"c":5},{"w":1252195200,"a":0,"d":0,"c":0},{"w":1252800000,"a":152,"d":20,"c":2},{"w":1253404800,"a":0,"d":0,"c":0},{"w":1254009600,"a":0,"d":0,"c":0},{"w":1254614400,"a":0,"d":0,"c":0},{"w":1255219200,"a":0,"d":0,"c":0},{"w":1255824000,"a":0,"d":0,"c":0},{"w":1256428800,"a":0,"d":0,"c":0},{"w":1257033600,"a":0,"d":0,"c":0},{"w":1257638400,"a":0,"d":0,"c":0},{"w":1258243200,"a":0,"d":0,"c":0},{"w":1258848000,"a":0,"d":0,"c":0},{"w":1259452800,"a":0,"d":0,"c":0},{"w":1260057600,"a":0,"d":0,"c":0},{"w":1260662400,"a":0,"d":0,"c":0},{"w":1261267200,"a":0,"d":0,"c":0},{"w":1261872000,"a":0,"d":0,"c":0},{"w":1262476800,"a":493,"d":34,"c":8},{"w":1263081600,"a":752,"d":353,"c":9},{"w":1263686400,"a":263,"d":139,"c":9},{"w":1264291200,"a":671,"d":373,"c":5},{"w":1264896000,"a":129,"d":73,"c":1},{"w":1265500800,"a":437,"d":245,"c":5},{"w":1266105600,"a":0,"d":0,"c":0},{"w":1266710400,"a":0,"d":0,"c":0},{"w":1267315200,"a":0,"d":0,"c":0},{"w":1267920000,"a":6935,"d":6847,"c":1},{"w":1268524800,"a":0,"d":0,"c":0},{"w":1269129600,"a":0,"d":0,"c":0},{"w":1269734400,"a":0,"d":0,"c":0},{"w":1270339200,"a":0,"d":0,"c":0},{"w":1270944000,"a":0,"d":0,"c":0},{"w":1271548800,"a":0,"d":0,"c":0},{"w":1272153600,"a":0,"d":0,"c":0},{"w":1272758400,"a":0,"d":0,"c":0},{"w":1273363200,"a":0,"d":0,"c":0},{"w":1273968000,"a":0,"d":0,"c":0},{"w":1274572800,"a":0,"d":0,"c":0},{"w":1275177600,"a":0,"d":0,"c":0},{"w":1275782400,"a":0,"d":0,"c":0},{"w":1276387200,"a":9254,"d":8839,"c":6},{"w":1276992000,"a":21,"d":30,"c":2},{"w":1277596800,"a":0,"d":0,"c":0},{"w":1278201600,"a":0,"d":0,"c":0},{"w":1278806400,"a":153,"d":132,"c":5},{"w":1279411200,"a":235,"d":38,"c":2},{"w":1280016000,"a":20,"d":19,"c":2},{"w":1280620800,"a":25312,"d":66874,"c":7},{"w":1281225600,"a":0,"d":0,"c":0},{"w":1281830400,"a":0,"d":0,"c":0},{"w":1282435200,"a":0,"d":0,"c":0},{"w":1283040000,"a":0,"d":0,"c":0},{"w":1283644800,"a":0,"d":0,"c":0},{"w":1284249600,"a":0,"d":0,"c":0},{"w":1284854400,"a":466,"d":7565,"c":1},{"w":1285459200,"a":0,"d":0,"c":0},{"w":1286064000,"a":0,"d":0,"c":0},{"w":1286668800,"a":0,"d":0,"c":0},{"w":1287273600,"a":0,"d":0,"c":0},{"w":1287878400,"a":0,"d":0,"c":0},{"w":1288483200,"a":0,"d":0,"c":0},{"w":1289088000,"a":0,"d":0,"c":0},{"w":1289692800,"a":0,"d":0,"c":0},{"w":1290297600,"a":0,"d":0,"c":0},{"w":1290902400,"a":0,"d":0,"c":0},{"w":1291507200,"a":0,"d":0,"c":0},{"w":1292112000,"a":2,"d":0,"c":1},{"w":1292716800,"a":0,"d":0,"c":0},{"w":1293321600,"a":0,"d":0,"c":0},{"w":1293926400,"a":4862,"d":3262,"c":5},{"w":1294531200,"a":0,"d":0,"c":0},{"w":1295136000,"a":898,"d":869,"c":4},{"w":1295740800,"a":234514,"d":627606,"c":8},{"w":1296345600,"a":0,"d":0,"c":0},{"w":1296950400,"a":3652,"d":1788,"c":14},{"w":1297555200,"a":12822,"d":10627,"c":12},{"w":1298160000,"a":66,"d":66,"c":1},{"w":1298764800,"a":0,"d":0,"c":0},{"w":1299369600,"a":0,"d":0,"c":0},{"w":1299974400,"a":0,"d":0,"c":0},{"w":1300579200,"a":6529,"d":5282,"c":7},{"w":1301184000,"a":368,"d":1,"c":4},{"w":1301788800,"a":0,"d":0,"c":0},{"w":1302393600,"a":0,"d":0,"c":0},{"w":1302998400,"a":0,"d":0,"c":0},{"w":1303603200,"a":25485,"d":433,"c":5},{"w":1304208000,"a":0,"d":0,"c":0},{"w":1304812800,"a":0,"d":0,"c":0},{"w":1305417600,"a":0,"d":0,"c":0},{"w":1306022400,"a":0,"d":0,"c":0},{"w":1306627200,"a":0,"d":0,"c":0},{"w":1307232000,"a":0,"d":0,"c":0},{"w":1307836800,"a":0,"d":0,"c":0},{"w":1308441600,"a":4,"d":768,"c":1},{"w":1309046400,"a":1,"d":3,"c":2},{"w":1309651200,"a":0,"d":0,"c":0},{"w":1310256000,"a":0,"d":0,"c":0},{"w":1310860800,"a":0,"d":0,"c":0},{"w":1311465600,"a":0,"d":0,"c":0},{"w":1312070400,"a":0,"d":0,"c":0},{"w":1312675200,"a":0,"d":0,"c":0},{"w":1313280000,"a":0,"d":0,"c":0},{"w":1313884800,"a":0,"d":0,"c":0},{"w":1314489600,"a":0,"d":0,"c":0},{"w":1315094400,"a":0,"d":0,"c":0},{"w":1315699200,"a":0,"d":0,"c":0},{"w":1316304000,"a":0,"d":0,"c":0},{"w":1316908800,"a":0,"d":0,"c":0},{"w":1317513600,"a":0,"d":0,"c":0},{"w":1318118400,"a":0,"d":0,"c":0},{"w":1318723200,"a":5,"d":10,"c":1},{"w":1319328000,"a":0,"d":0,"c":0},{"w":1319932800,"a":0,"d":1,"c":1},{"w":1320537600,"a":0,"d":0,"c":0},{"w":1321142400,"a":0,"d":0,"c":0},{"w":1321747200,"a":338,"d":132,"c":5},{"w":1322352000,"a":0,"d":0,"c":0},{"w":1322956800,"a":0,"d":0,"c":0},{"w":1323561600,"a":0,"d":0,"c":0},{"w":1324166400,"a":0,"d":0,"c":0},{"w":1324771200,"a":0,"d":0,"c":0},{"w":1325376000,"a":19,"d":14,"c":5},{"w":1325980800,"a":0,"d":0,"c":0},{"w":1326585600,"a":11,"d":7,"c":1},{"w":1327190400,"a":2,"d":2,"c":1},{"w":1327795200,"a":1670,"d":803,"c":6},{"w":1328400000,"a":307530,"d":304546,"c":17},{"w":1329004800,"a":81421,"d":70183,"c":32},{"w":1329609600,"a":36651,"d":63012,"c":18},{"w":1330214400,"a":5541,"d":5057,"c":7},{"w":1330819200,"a":259,"d":208,"c":3},{"w":1331424000,"a":94,"d":90,"c":2},{"w":1332028800,"a":20,"d":18,"c":2},{"w":1332633600,"a":0,"d":0,"c":0},{"w":1333238400,"a":0,"d":0,"c":0},{"w":1333843200,"a":19504,"d":9297,"c":11},{"w":1334448000,"a":103767,"d":103808,"c":22},{"w":1335052800,"a":1935,"d":1525,"c":17},{"w":1335657600,"a":140,"d":25,"c":15},{"w":1336262400,"a":139,"d":87,"c":5},{"w":1336867200,"a":0,"d":0,"c":0},{"w":1337472000,"a":64,"d":12,"c":3},{"w":1338076800,"a":112,"d":83,"c":6},{"w":1338681600,"a":558,"d":0,"c":1},{"w":1339286400,"a":3,"d":7,"c":3},{"w":1339891200,"a":19,"d":7,"c":5},{"w":1340496000,"a":175,"d":205,"c":8},{"w":1341100800,"a":651,"d":367,"c":9},{"w":1341705600,"a":0,"d":0,"c":0},{"w":1342310400,"a":72,"d":26,"c":7},{"w":1342915200,"a":14,"d":1,"c":2},{"w":1343520000,"a":659,"d":358,"c":21},{"w":1344124800,"a":536,"d":89,"c":21},{"w":1344729600,"a":62,"d":55,"c":6},{"w":1345334400,"a":208,"d":138,"c":16},{"w":1345939200,"a":0,"d":0,"c":0},{"w":1346544000,"a":0,"d":0,"c":0},{"w":1347148800,"a":0,"d":0,"c":0},{"w":1347753600,"a":0,"d":0,"c":0},{"w":1348358400,"a":396,"d":0,"c":3},{"w":1348963200,"a":0,"d":0,"c":0},{"w":1349568000,"a":1,"d":1,"c":1},{"w":1350172800,"a":1797,"d":193,"c":18},{"w":1350777600,"a":1326,"d":176,"c":16},{"w":1351382400,"a":234,"d":77,"c":15},{"w":1351987200,"a":491,"d":275,"c":16},{"w":1352592000,"a":272,"d":83,"c":13},{"w":1353196800,"a":804,"d":124,"c":23},{"w":1353801600,"a":383,"d":582,"c":32},{"w":1354406400,"a":2013,"d":494,"c":48},{"w":1355011200,"a":2630,"d":383,"c":45},{"w":1355616000,"a":40,"d":50,"c":6},{"w":1356220800,"a":0,"d":0,"c":0},{"w":1356825600,"a":0,"d":0,"c":0},{"w":1357430400,"a":0,"d":0,"c":0},{"w":1358035200,"a":538,"d":79,"c":2},{"w":1358640000,"a":263,"d":486,"c":13},{"w":1359244800,"a":128,"d":17,"c":6},{"w":1359849600,"a":68,"d":6,"c":7},{"w":1360454400,"a":142086,"d":108181,"c":2},{"w":1361059200,"a":16804,"d":16808,"c":4},{"w":1361664000,"a":0,"d":0,"c":0},{"w":1362268800,"a":75,"d":50,"c":6},{"w":1362873600,"a":202,"d":4,"c":9},{"w":1363478400,"a":2,"d":0,"c":1},{"w":1364083200,"a":2,"d":6,"c":2},{"w":1364688000,"a":355,"d":228,"c":6},{"w":1365292800,"a":162,"d":48,"c":5},{"w":1365897600,"a":563,"d":465,"c":3},{"w":1366502400,"a":411,"d":362,"c":6},{"w":1367107200,"a":0,"d":0,"c":0},{"w":1367712000,"a":4,"d":0,"c":1},{"w":1368316800,"a":24,"d":33,"c":9},{"w":1368921600,"a":60,"d":25,"c":5},{"w":1369526400,"a":5,"d":4,"c":5},{"w":1370131200,"a":102,"d":59,"c":5},{"w":1370736000,"a":334,"d":181,"c":6},{"w":1371340800,"a":141,"d":49,"c":6},{"w":1371945600,"a":0,"d":0,"c":0},{"w":1372550400,"a":326,"d":98,"c":10},{"w":1373155200,"a":1370,"d":1404,"c":3},{"w":1373760000,"a":31731,"d":18675,"c":35},{"w":1374364800,"a":2568,"d":932,"c":33},{"w":1374969600,"a":127284,"d":76490,"c":26},{"w":1375574400,"a":3972,"d":2139,"c":45},{"w":1376179200,"a":5520,"d":1106,"c":50},{"w":1376784000,"a":62562,"d":39802,"c":36},{"w":1377388800,"a":1481,"d":996,"c":11},{"w":1377993600,"a":13674,"d":13557,"c":11},{"w":1378598400,"a":4,"d":1,"c":2},{"w":1379203200,"a":0,"d":0,"c":0},{"w":1379808000,"a":37,"d":39,"c":1},{"w":1380412800,"a":0,"d":0,"c":0},{"w":1381017600,"a":9,"d":5,"c":3},{"w":1381622400,"a":12202,"d":5909,"c":42},{"w":1382227200,"a":370,"d":82,"c":20},{"w":1382832000,"a":1070,"d":305,"c":27},{"w":1383436800,"a":487,"d":460,"c":12},{"w":1384041600,"a":636818,"d":594910,"c":19},{"w":1384646400,"a":87,"d":71,"c":7},{"w":1385251200,"a":210336,"d":228089,"c":27},{"w":1385856000,"a":0,"d":0,"c":0},{"w":1386460800,"a":0,"d":0,"c":0},{"w":1387065600,"a":0,"d":0,"c":0},{"w":1387670400,"a":0,"d":0,"c":0},{"w":1388275200,"a":0,"d":0,"c":0},{"w":1388880000,"a":8,"d":5,"c":1},{"w":1389484800,"a":99,"d":45,"c":10},{"w":1390089600,"a":0,"d":0,"c":0},{"w":1390694400,"a":685,"d":236,"c":10},{"w":1391299200,"a":564,"d":1426,"c":17},{"w":1391904000,"a":11684,"d":11996,"c":19},{"w":1392508800,"a":211707,"d":222550,"c":17},{"w":1393113600,"a":579,"d":127,"c":18},{"w":1393718400,"a":404,"d":125,"c":19},{"w":1394323200,"a":2656,"d":2219,"c":42},{"w":1394928000,"a":1467,"d":883,"c":56},{"w":1395532800,"a":1058,"d":391,"c":45},{"w":1396137600,"a":521,"d":2391,"c":27},{"w":1396742400,"a":23378,"d":59794,"c":37},{"w":1397347200,"a":14843,"d":15393,"c":30},{"w":1397952000,"a":2564,"d":1433,"c":43},{"w":1398556800,"a":415,"d":322,"c":16},{"w":1399161600,"a":210,"d":21,"c":7},{"w":1399766400,"a":399,"d":142,"c":24},{"w":1400371200,"a":70,"d":573,"c":6},{"w":1400976000,"a":1935,"d":1644,"c":20},{"w":1401580800,"a":628,"d":190,"c":26},{"w":1402185600,"a":4544,"d":4152,"c":43},{"w":1402790400,"a":2955,"d":666,"c":32},{"w":1403395200,"a":2253,"d":1001,"c":9},{"w":1404000000,"a":207,"d":33,"c":9},{"w":1404604800,"a":3331,"d":76,"c":25},{"w":1405209600,"a":13005,"d":16850,"c":46},{"w":1405814400,"a":1066,"d":342,"c":50},{"w":1406419200,"a":426165,"d":564875,"c":22},{"w":1407024000,"a":816,"d":159,"c":25},{"w":1407628800,"a":3221,"d":1678,"c":23},{"w":1408233600,"a":725,"d":516,"c":6},{"w":1408838400,"a":1440,"d":744,"c":37},{"w":1409443200,"a":20046,"d":20565,"c":43},{"w":1410048000,"a":168,"d":135,"c":6},{"w":1410652800,"a":13814,"d":15779,"c":24},{"w":1411257600,"a":7971,"d":13053,"c":41},{"w":1411862400,"a":3018,"d":2603,"c":21},{"w":1412467200,"a":1045,"d":450,"c":37},{"w":1413072000,"a":1453,"d":298,"c":20},{"w":1413676800,"a":16282,"d":10579,"c":13},{"w":1414281600,"a":299636,"d":259415,"c":29},{"w":1414886400,"a":1932,"d":1247,"c":44},{"w":1415491200,"a":412,"d":573,"c":22},{"w":1416096000,"a":597,"d":142,"c":25},{"w":1416700800,"a":947,"d":342,"c":32},{"w":1417305600,"a":1554,"d":1081,"c":63},{"w":1417910400,"a":1537,"d":915,"c":31},{"w":1418515200,"a":8921,"d":7008,"c":58},{"w":1419120000,"a":183,"d":144,"c":11},{"w":1419724800,"a":150,"d":59,"c":17},{"w":1420329600,"a":265,"d":103,"c":21},{"w":1420934400,"a":103,"d":113,"c":5},{"w":1421539200,"a":10,"d":2,"c":4},{"w":1422144000,"a":42,"d":38,"c":7},{"w":1422748800,"a":502669,"d":520115,"c":26},{"w":1423353600,"a":218,"d":37,"c":9},{"w":1423958400,"a":196,"d":12,"c":9},{"w":1424563200,"a":15583,"d":16430,"c":42},{"w":1425168000,"a":137,"d":45,"c":18},{"w":1425772800,"a":586,"d":64,"c":19},{"w":1426377600,"a":867,"d":186,"c":25},{"w":1426982400,"a":489,"d":370,"c":21},{"w":1427587200,"a":14860,"d":13188,"c":61},{"w":1428192000,"a":4404,"d":3768,"c":48},{"w":1428796800,"a":24642,"d":20874,"c":63},{"w":1429401600,"a":17766,"d":15372,"c":23},{"w":1430006400,"a":0,"d":0,"c":0},{"w":1430611200,"a":25883,"d":24362,"c":23},{"w":1431216000,"a":527,"d":10,"c":7},{"w":1431820800,"a":264,"d":141,"c":17},{"w":1432425600,"a":844,"d":604,"c":37},{"w":1433030400,"a":533,"d":66,"c":26},{"w":1433635200,"a":538954,"d":347378,"c":43},{"w":1434240000,"a":547,"d":121,"c":30},{"w":1434844800,"a":282,"d":7,"c":4},{"w":1435449600,"a":3538,"d":3334,"c":5},{"w":1436054400,"a":189,"d":50,"c":15},{"w":1436659200,"a":239,"d":190,"c":25},{"w":1437264000,"a":1009,"d":119,"c":32},{"w":1437868800,"a":0,"d":0,"c":0},{"w":1438473600,"a":3771,"d":1030,"c":35},{"w":1439078400,"a":2,"d":21,"c":2},{"w":1439683200,"a":1178,"d":755,"c":31},{"w":1440288000,"a":22701,"d":20082,"c":71},{"w":1440892800,"a":45,"d":1,"c":2},{"w":1441497600,"a":593,"d":314,"c":20},{"w":1442102400,"a":301,"d":171,"c":36},{"w":1442707200,"a":2868,"d":76,"c":29},{"w":1443312000,"a":1,"d":1,"c":1},{"w":1443916800,"a":9246,"d":8983,"c":41},{"w":1444521600,"a":612,"d":205,"c":16},{"w":1445126400,"a":912,"d":318,"c":51},{"w":1445731200,"a":63,"d":36,"c":10},{"w":1446336000,"a":245,"d":39,"c":12},{"w":1446940800,"a":367,"d":48,"c":20},{"w":1447545600,"a":122,"d":173,"c":3},{"w":1448150400,"a":242,"d":427,"c":17},{"w":1448755200,"a":538,"d":95,"c":23},{"w":1449360000,"a":97,"d":58,"c":4},{"w":1449964800,"a":5251,"d":4794,"c":19},{"w":1450569600,"a":0,"d":0,"c":0},{"w":1451174400,"a":0,"d":0,"c":0},{"w":1451779200,"a":0,"d":0,"c":0},{"w":1452384000,"a":0,"d":0,"c":0},{"w":1452988800,"a":90,"d":0,"c":2},{"w":1453593600,"a":781285,"d":711178,"c":5},{"w":1454198400,"a":491,"d":55,"c":8},{"w":1454803200,"a":14,"d":32,"c":5},{"w":1455408000,"a":62,"d":18,"c":9},{"w":1456012800,"a":182,"d":27,"c":7},{"w":1456617600,"a":135,"d":75,"c":10},{"w":1457222400,"a":95,"d":26,"c":7},{"w":1457827200,"a":0,"d":0,"c":0},{"w":1458432000,"a":2018,"d":1188,"c":19},{"w":1459036800,"a":0,"d":0,"c":0},{"w":1459641600,"a":253,"d":40,"c":8},{"w":1460246400,"a":314,"d":237,"c":1},{"w":1460851200,"a":1541,"d":123,"c":20},{"w":1461456000,"a":224,"d":181,"c":11},{"w":1462060800,"a":1249,"d":367,"c":29},{"w":1462665600,"a":332,"d":44,"c":14},{"w":1463270400,"a":669,"d":282,"c":27},{"w":1463875200,"a":571,"d":256,"c":19},{"w":1464480000,"a":393,"d":129,"c":27},{"w":1465084800,"a":657,"d":460,"c":24},{"w":1465689600,"a":450,"d":242,"c":11},{"w":1466294400,"a":1038,"d":88,"c":26},{"w":1466899200,"a":0,"d":0,"c":0},{"w":1467504000,"a":125,"d":0,"c":2},{"w":1468108800,"a":16,"d":18,"c":2},{"w":1468713600,"a":0,"d":0,"c":0},{"w":1469318400,"a":0,"d":0,"c":0},{"w":1469923200,"a":0,"d":0,"c":0},{"w":1470528000,"a":542,"d":78,"c":16},{"w":1471132800,"a":406,"d":2,"c":7},{"w":1471737600,"a":80,"d":25,"c":7},{"w":1472342400,"a":0,"d":0,"c":0},{"w":1472947200,"a":0,"d":0,"c":0},{"w":1473552000,"a":0,"d":0,"c":0},{"w":1474156800,"a":0,"d":0,"c":0},{"w":1474761600,"a":0,"d":0,"c":0},{"w":1475366400,"a":0,"d":0,"c":0},{"w":1475971200,"a":0,"d":0,"c":0},{"w":1476576000,"a":0,"d":0,"c":0},{"w":1477180800,"a":0,"d":0,"c":0},{"w":1477785600,"a":0,"d":0,"c":0},{"w":1478390400,"a":0,"d":0,"c":0},{"w":1478995200,"a":0,"d":0,"c":0},{"w":1479600000,"a":0,"d":0,"c":0},{"w":1480204800,"a":0,"d":0,"c":0},{"w":1480809600,"a":0,"d":0,"c":0},{"w":1481414400,"a":0,"d":0,"c":0},{"w":1482019200,"a":0,"d":0,"c":0},{"w":1482624000,"a":0,"d":0,"c":0},{"w":1483228800,"a":0,"d":0,"c":0},{"w":1483833600,"a":0,"d":0,"c":0},{"w":1484438400,"a":0,"d":0,"c":0},{"w":1485043200,"a":0,"d":0,"c":0},{"w":1485648000,"a":99,"d":65,"c":7},{"w":1486252800,"a":2287,"d":2320,"c":13},{"w":1486857600,"a":11,"d":5,"c":2},{"w":1487462400,"a":0,"d":0,"c":0},{"w":1488067200,"a":232,"d":7,"c":9},{"w":1488672000,"a":9356,"d":8815,"c":6},{"w":1489276800,"a":0,"d":0,"c":0},{"w":1489881600,"a":1,"d":0,"c":1},{"w":1490486400,"a":0,"d":0,"c":0},{"w":1491091200,"a":0,"d":0,"c":0},{"w":1491696000,"a":0,"d":0,"c":0},{"w":1492300800,"a":352,"d":6,"c":5},{"w":1492905600,"a":480,"d":104,"c":17},{"w":1493510400,"a":2,"d":2,"c":1},{"w":1494115200,"a":363,"d":10,"c":6},{"w":1494720000,"a":0,"d":0,"c":0},{"w":1495324800,"a":0,"d":0,"c":0},{"w":1495929600,"a":0,"d":0,"c":0},{"w":1496534400,"a":120,"d":3,"c":6},{"w":1497139200,"a":268,"d":28,"c":10},{"w":1497744000,"a":103,"d":33,"c":10},{"w":1498348800,"a":73,"d":21,"c":10},{"w":1498953600,"a":0,"d":0,"c":0},{"w":1499558400,"a":0,"d":0,"c":0},{"w":1500163200,"a":0,"d":0,"c":0},{"w":1500768000,"a":0,"d":0,"c":0},{"w":1501372800,"a":13,"d":10,"c":3},{"w":1501977600,"a":0,"d":0,"c":0},{"w":1502582400,"a":0,"d":0,"c":0},{"w":1503187200,"a":0,"d":0,"c":0},{"w":1503792000,"a":1,"d":1,"c":1},{"w":1504396800,"a":0,"d":0,"c":0},{"w":1505001600,"a":0,"d":0,"c":0},{"w":1505606400,"a":0,"d":0,"c":0},{"w":1506211200,"a":0,"d":0,"c":0},{"w":1506816000,"a":0,"d":0,"c":0},{"w":1507420800,"a":0,"d":0,"c":0},{"w":1508025600,"a":0,"d":0,"c":0},{"w":1508630400,"a":63,"d":4,"c":5},{"w":1509235200,"a":0,"d":0,"c":0},{"w":1509840000,"a":0,"d":0,"c":0},{"w":1510444800,"a":0,"d":0,"c":0},{"w":1511049600,"a":260,"d":70,"c":11},{"w":1511654400,"a":1349,"d":1176,"c":8},{"w":1512259200,"a":100,"d":0,"c":2},{"w":1512864000,"a":0,"d":0,"c":0},{"w":1513468800,"a":26,"d":0,"c":1},{"w":1514073600,"a":0,"d":0,"c":0},{"w":1514678400,"a":0,"d":0,"c":0},{"w":1515283200,"a":0,"d":399,"c":1},{"w":1515888000,"a":0,"d":0,"c":0},{"w":1516492800,"a":0,"d":0,"c":0},{"w":1517097600,"a":0,"d":0,"c":0},{"w":1517702400,"a":0,"d":0,"c":0},{"w":1518307200,"a":0,"d":0,"c":0},{"w":1518912000,"a":0,"d":0,"c":0},{"w":1519516800,"a":195,"d":61,"c":8},{"w":1520121600,"a":0,"d":0,"c":0},{"w":1520726400,"a":0,"d":0,"c":0},{"w":1521331200,"a":0,"d":0,"c":0},{"w":1521936000,"a":0,"d":0,"c":0},{"w":1522540800,"a":30,"d":0,"c":1},{"w":1523145600,"a":0,"d":0,"c":0},{"w":1523750400,"a":0,"d":0,"c":0},{"w":1524355200,"a":0,"d":0,"c":0},{"w":1524960000,"a":1251,"d":1091,"c":7},{"w":1525564800,"a":51,"d":12,"c":7},{"w":1526169600,"a":0,"d":0,"c":0},{"w":1526774400,"a":3,"d":1,"c":1},{"w":1527379200,"a":228,"d":159,"c":10},{"w":1527984000,"a":2,"d":1,"c":2},{"w":1528588800,"a":0,"d":0,"c":0},{"w":1529193600,"a":0,"d":0,"c":0},{"w":1529798400,"a":0,"d":0,"c":0},{"w":1530403200,"a":0,"d":0,"c":0},{"w":1531008000,"a":0,"d":0,"c":0},{"w":1531612800,"a":0,"d":0,"c":0},{"w":1532217600,"a":0,"d":0,"c":0},{"w":1532822400,"a":0,"d":0,"c":0},{"w":1533427200,"a":0,"d":0,"c":0},{"w":1534032000,"a":4,"d":4,"c":1},{"w":1534636800,"a":0,"d":0,"c":0},{"w":1535241600,"a":0,"d":0,"c":0},{"w":1535846400,"a":0,"d":0,"c":0},{"w":1536451200,"a":0,"d":0,"c":0},{"w":1537056000,"a":0,"d":0,"c":0},{"w":1537660800,"a":0,"d":0,"c":0},{"w":1538265600,"a":0,"d":0,"c":0},{"w":1538870400,"a":0,"d":0,"c":0},{"w":1539475200,"a":0,"d":0,"c":0},{"w":1540080000,"a":0,"d":0,"c":0},{"w":1540684800,"a":0,"d":0,"c":0},{"w":1541289600,"a":0,"d":0,"c":0},{"w":1541894400,"a":0,"d":0,"c":0},{"w":1542499200,"a":0,"d":0,"c":0},{"w":1543104000,"a":0,"d":0,"c":0},{"w":1543708800,"a":0,"d":0,"c":0},{"w":1544313600,"a":0,"d":0,"c":0},{"w":1544918400,"a":0,"d":0,"c":0},{"w":1545523200,"a":0,"d":0,"c":0},{"w":1546128000,"a":0,"d":0,"c":0},{"w":1546732800,"a":0,"d":0,"c":0},{"w":1547337600,"a":0,"d":0,"c":0},{"w":1547942400,"a":0,"d":0,"c":0},{"w":1548547200,"a":0,"d":0,"c":0},{"w":1549152000,"a":0,"d":0,"c":0},{"w":1549756800,"a":0,"d":0,"c":0},{"w":1550361600,"a":682,"d":157,"c":29},{"w":1550966400,"a":55,"d":16,"c":5},{"w":1551571200,"a":0,"d":0,"c":0},{"w":1552176000,"a":0,"d":0,"c":0},{"w":1552780800,"a":0,"d":0,"c":0},{"w":1553385600,"a":0,"d":0,"c":0},{"w":1553990400,"a":0,"d":0,"c":0},{"w":1554595200,"a":0,"d":0,"c":0},{"w":1555200000,"a":0,"d":0,"c":0},{"w":1555804800,"a":0,"d":0,"c":0},{"w":1556409600,"a":0,"d":0,"c":0},{"w":1557014400,"a":0,"d":0,"c":0},{"w":1557619200,"a":0,"d":0,"c":0},{"w":1558224000,"a":0,"d":0,"c":0},{"w":1558828800,"a":360,"d":25,"c":3},{"w":1559433600,"a":0,"d":0,"c":0},{"w":1560038400,"a":0,"d":0,"c":0},{"w":1560643200,"a":1,"d":0,"c":1},{"w":1561248000,"a":0,"d":0,"c":0},{"w":1561852800,"a":0,"d":0,"c":0},{"w":1562457600,"a":0,"d":0,"c":0}],"author":{"login":"privat","id":135828,"node_id":"MDQ6VXNlcjEzNTgyOA==","avatar_url":"https://avatars1.githubusercontent.com/u/135828?v=4","gravatar_id":"","url":"https://api.github.com/users/privat","html_url":"https://github.com/privat","followers_url":"https://api.github.com/users/privat/followers","following_url":"https://api.github.com/users/privat/following{/other_user}","gists_url":"https://api.github.com/users/privat/gists{/gist_id}","starred_url":"https://api.github.com/users/privat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/privat/subscriptions","organizations_url":"https://api.github.com/users/privat/orgs","repos_url":"https://api.github.com/users/privat/repos","events_url":"https://api.github.com/users/privat/events{/privacy}","received_events_url":"https://api.github.com/users/privat/received_events","type":"User","site_admin":false}}]
\ No newline at end of file
diff --git a/lib/github/tests/mock/repo_pulls_945_comments.res b/lib/github/tests/mock/repo_pulls_945_comments.res
new file mode 100644 (file)
index 0000000..8f8161f
--- /dev/null
@@ -0,0 +1 @@
+[{"url":"https://api.github.com/repos/nitlang/nit/pulls/comments/21010363","pull_request_review_id":null,"id":21010363,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIxMDEwMzYz","diff_hunk":"@@ -981,11 +983,11 @@ redef class AAttrPropdef\n \n \t\t\t\tif mtype == null then return\n \t\t\tend\n-\t\telse if ntype != null then\n+\t\telse if ntype != null and inherited_type == mtype then\n \t\t\tif nexpr isa ANewExpr then\n \t\t\t\tvar xmtype = modelbuilder.resolve_mtype(mmodule, mclassdef, nexpr.n_type)\n \t\t\t\tif xmtype == mtype then\n-\t\t\t\t\tmodelbuilder.advice(ntype, \"useless-type\", \"Warning: useless type definition\")\n+\t\t\t\t\tmodelbuilder.advice(ntype, \"useless-type\", \"Warning: useless type definition {inherited_type or else \"?\"}\")","path":"src/modelize/modelize_property.nit","position":null,"original_position":26,"commit_id":"ce5e187a87ed5c41144ea5637188a0677d840fdc","original_commit_id":"5f0ab1c7f3c560a67867d5eb08f5c3082f251c20","user":{"login":"jcbrinfo","id":6044484,"node_id":"MDQ6VXNlcjYwNDQ0ODQ=","avatar_url":"https://avatars0.githubusercontent.com/u/6044484?v=4","gravatar_id":"","url":"https://api.github.com/users/jcbrinfo","html_url":"https://github.com/jcbrinfo","followers_url":"https://api.github.com/users/jcbrinfo/followers","following_url":"https://api.github.com/users/jcbrinfo/following{/other_user}","gists_url":"https://api.github.com/users/jcbrinfo/gists{/gist_id}","starred_url":"https://api.github.com/users/jcbrinfo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jcbrinfo/subscriptions","organizations_url":"https://api.github.com/users/jcbrinfo/orgs","repos_url":"https://api.github.com/users/jcbrinfo/repos","events_url":"https://api.github.com/users/jcbrinfo/events{/privacy}","received_events_url":"https://api.github.com/users/jcbrinfo/received_events","type":"User","site_admin":false},"body":"Warning: `inherited_type` is always non null here.\n","created_at":"2014-11-27T20:39:29Z","updated_at":"2014-11-28T01:05:12Z","html_url":"https://github.com/nitlang/nit/pull/945#discussion_r21010363","pull_request_url":"https://api.github.com/repos/nitlang/nit/pulls/945","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/nitlang/nit/pulls/comments/21010363"},"html":{"href":"https://github.com/nitlang/nit/pull/945#discussion_r21010363"},"pull_request":{"href":"https://api.github.com/repos/nitlang/nit/pulls/945"}}},{"url":"https://api.github.com/repos/nitlang/nit/pulls/comments/21010554","pull_request_review_id":null,"id":21010554,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIxMDEwNTU0","diff_hunk":"@@ -981,11 +983,11 @@ redef class AAttrPropdef\n \n \t\t\t\tif mtype == null then return\n \t\t\tend\n-\t\telse if ntype != null then\n+\t\telse if ntype != null and inherited_type == mtype then\n \t\t\tif nexpr isa ANewExpr then\n \t\t\t\tvar xmtype = modelbuilder.resolve_mtype(mmodule, mclassdef, nexpr.n_type)\n \t\t\t\tif xmtype == mtype then\n-\t\t\t\t\tmodelbuilder.advice(ntype, \"useless-type\", \"Warning: useless type definition\")\n+\t\t\t\t\tmodelbuilder.advice(ntype, \"useless-type\", \"Warning: useless type definition {inherited_type or else \"?\"}\")","path":"src/modelize/modelize_property.nit","position":null,"original_position":26,"commit_id":"ce5e187a87ed5c41144ea5637188a0677d840fdc","original_commit_id":"5f0ab1c7f3c560a67867d5eb08f5c3082f251c20","user":{"login":"privat","id":135828,"node_id":"MDQ6VXNlcjEzNTgyOA==","avatar_url":"https://avatars1.githubusercontent.com/u/135828?v=4","gravatar_id":"","url":"https://api.github.com/users/privat","html_url":"https://github.com/privat","followers_url":"https://api.github.com/users/privat/followers","following_url":"https://api.github.com/users/privat/following{/other_user}","gists_url":"https://api.github.com/users/privat/gists{/gist_id}","starred_url":"https://api.github.com/users/privat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/privat/subscriptions","organizations_url":"https://api.github.com/users/privat/orgs","repos_url":"https://api.github.com/users/privat/repos","events_url":"https://api.github.com/users/privat/events{/privacy}","received_events_url":"https://api.github.com/users/privat/received_events","type":"User","site_admin":false},"body":"Oups. C'est du debug qui traine :/\n","created_at":"2014-11-27T20:50:42Z","updated_at":"2014-11-28T01:05:12Z","html_url":"https://github.com/nitlang/nit/pull/945#discussion_r21010554","pull_request_url":"https://api.github.com/repos/nitlang/nit/pulls/945","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/nitlang/nit/pulls/comments/21010554"},"html":{"href":"https://github.com/nitlang/nit/pull/945#discussion_r21010554"},"pull_request":{"href":"https://api.github.com/repos/nitlang/nit/pulls/945"}}}]
\ No newline at end of file
diff --git a/lib/github/tests/mock/repo_pulls_nit.res b/lib/github/tests/mock/repo_pulls_nit.res
new file mode 100644 (file)
index 0000000..ecdc180
--- /dev/null
@@ -0,0 +1 @@
+[{"url":"https://api.github.com/repos/nitlang/nit/pulls/2755","id":290413900,"node_id":"MDExOlB1bGxSZXF1ZXN0MjkwNDEzOTAw","html_url":"https://github.com/nitlang/nit/pull/2755","diff_url":"https://github.com/nitlang/nit/pull/2755.diff","patch_url":"https://github.com/nitlang/nit/pull/2755.patch","issue_url":"https://api.github.com/repos/nitlang/nit/issues/2755","number":2755,"state":"open","locked":false,"title":"nitrpg: Move `nitrpg` to its own repository","user":{"login":"Morriar","id":583144,"node_id":"MDQ6VXNlcjU4MzE0NA==","avatar_url":"https://avatars2.githubusercontent.com/u/583144?v=4","gravatar_id":"","url":"https://api.github.com/users/Morriar","html_url":"https://github.com/Morriar","followers_url":"https://api.github.com/users/Morriar/followers","following_url":"https://api.github.com/users/Morriar/following{/other_user}","gists_url":"https://api.github.com/users/Morriar/gists{/gist_id}","starred_url":"https://api.github.com/users/Morriar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Morriar/subscriptions","organizations_url":"https://api.github.com/users/Morriar/orgs","repos_url":"https://api.github.com/users/Morriar/repos","events_url":"https://api.github.com/users/Morriar/events{/privacy}","received_events_url":"https://api.github.com/users/Morriar/received_events","type":"User","site_admin":false},"body":"`nitrpg` is broken since a long time. I think https:/api.github.com actually changed twice since it broke. I don't plan on killing it yet but I moved it to its own repository until I worked again on it (or never).\r\n\r\nSee https://github.com/Morriar/nitrpg.\r\n\r\nSigned-off-by: Alexandre Terrasa <alexandre@moz-code.org>","created_at":"2019-06-20T23:34:44Z","updated_at":"2019-06-21T00:45:47Z","closed_at":null,"merged_at":null,"merge_commit_sha":"1acf6cf46daaebea63410ee86a365ecf4eb291f3","assignee":null,"assignees":[],"requested_reviewers":[{"login":"privat","id":135828,"node_id":"MDQ6VXNlcjEzNTgyOA==","avatar_url":"https://avatars1.githubusercontent.com/u/135828?v=4","gravatar_id":"","url":"https://api.github.com/users/privat","html_url":"https://github.com/privat","followers_url":"https://api.github.com/users/privat/followers","following_url":"https://api.github.com/users/privat/following{/other_user}","gists_url":"https://api.github.com/users/privat/gists{/gist_id}","starred_url":"https://api.github.com/users/privat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/privat/subscriptions","organizations_url":"https://api.github.com/users/privat/orgs","repos_url":"https://api.github.com/users/privat/repos","events_url":"https://api.github.com/users/privat/events{/privacy}","received_events_url":"https://api.github.com/users/privat/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[{"id":1252784180,"node_id":"MDU6TGFiZWwxMjUyNzg0MTgw","url":"https://api.github.com/repos/nitlang/nit/labels/ok_to_test","name":"ok_to_test","color":"1e179e","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/nitlang/nit/pulls/2755/commits","review_comments_url":"https://api.github.com/repos/nitlang/nit/pulls/2755/comments","review_comment_url":"https://api.github.com/repos/nitlang/nit/pulls/comments{/number}","comments_url":"https://api.github.com/repos/nitlang/nit/issues/2755/comments","statuses_url":"https://api.github.com/repos/nitlang/nit/statuses/5dbab8fac6905d57abf78076c58916b0b34b35ce","head":{"label":"Morriar:at-move-nitrpg","ref":"at-move-nitrpg","sha":"5dbab8fac6905d57abf78076c58916b0b34b35ce","user":{"login":"Morriar","id":583144,"node_id":"MDQ6VXNlcjU4MzE0NA==","avatar_url":"https://avatars2.githubusercontent.com/u/583144?v=4","gravatar_id":"","url":"https://api.github.com/users/Morriar","html_url":"https://github.com/Morriar","followers_url":"https://api.github.com/users/Morriar/followers","following_url":"https://api.github.com/users/Morriar/following{/other_user}","gists_url":"https://api.github.com/users/Morriar/gists{/gist_id}","starred_url":"https://api.github.com/users/Morriar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Morriar/subscriptions","organizations_url":"https://api.github.com/users/Morriar/orgs","repos_url":"https://api.github.com/users/Morriar/repos","events_url":"https://api.github.com/users/Morriar/events{/privacy}","received_events_url":"https://api.github.com/users/Morriar/received_events","type":"User","site_admin":false},"repo":{"id":1456691,"node_id":"MDEwOlJlcG9zaXRvcnkxNDU2Njkx","name":"nit","full_name":"Morriar/nit","private":false,"owner":{"login":"Morriar","id":583144,"node_id":"MDQ6VXNlcjU4MzE0NA==","avatar_url":"https://avatars2.githubusercontent.com/u/583144?v=4","gravatar_id":"","url":"https://api.github.com/users/Morriar","html_url":"https://github.com/Morriar","followers_url":"https://api.github.com/users/Morriar/followers","following_url":"https://api.github.com/users/Morriar/following{/other_user}","gists_url":"https://api.github.com/users/Morriar/gists{/gist_id}","starred_url":"https://api.github.com/users/Morriar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Morriar/subscriptions","organizations_url":"https://api.github.com/users/Morriar/orgs","repos_url":"https://api.github.com/users/Morriar/repos","events_url":"https://api.github.com/users/Morriar/events{/privacy}","received_events_url":"https://api.github.com/users/Morriar/received_events","type":"User","site_admin":false},"html_url":"https://github.com/Morriar/nit","description":"Nit language","fork":true,"url":"https://api.github.com/repos/Morriar/nit","forks_url":"https://api.github.com/repos/Morriar/nit/forks","keys_url":"https://api.github.com/repos/Morriar/nit/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Morriar/nit/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Morriar/nit/teams","hooks_url":"https://api.github.com/repos/Morriar/nit/hooks","issue_events_url":"https://api.github.com/repos/Morriar/nit/issues/events{/number}","events_url":"https://api.github.com/repos/Morriar/nit/events","assignees_url":"https://api.github.com/repos/Morriar/nit/assignees{/user}","branches_url":"https://api.github.com/repos/Morriar/nit/branches{/branch}","tags_url":"https://api.github.com/repos/Morriar/nit/tags","blobs_url":"https://api.github.com/repos/Morriar/nit/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Morriar/nit/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Morriar/nit/git/refs{/sha}","trees_url":"https://api.github.com/repos/Morriar/nit/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Morriar/nit/statuses/{sha}","languages_url":"https://api.github.com/repos/Morriar/nit/languages","stargazers_url":"https://api.github.com/repos/Morriar/nit/stargazers","contributors_url":"https://api.github.com/repos/Morriar/nit/contributors","subscribers_url":"https://api.github.com/repos/Morriar/nit/subscribers","subscription_url":"https://api.github.com/repos/Morriar/nit/subscription","commits_url":"https://api.github.com/repos/Morriar/nit/commits{/sha}","git_commits_url":"https://api.github.com/repos/Morriar/nit/git/commits{/sha}","comments_url":"https://api.github.com/repos/Morriar/nit/comments{/number}","issue_comment_url":"https://api.github.com/repos/Morriar/nit/issues/comments{/number}","contents_url":"https://api.github.com/repos/Morriar/nit/contents/{+path}","compare_url":"https://api.github.com/repos/Morriar/nit/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Morriar/nit/merges","archive_url":"https://api.github.com/repos/Morriar/nit/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Morriar/nit/downloads","issues_url":"https://api.github.com/repos/Morriar/nit/issues{/number}","pulls_url":"https://api.github.com/repos/Morriar/nit/pulls{/number}","milestones_url":"https://api.github.com/repos/Morriar/nit/milestones{/number}","notifications_url":"https://api.github.com/repos/Morriar/nit/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Morriar/nit/labels{/name}","releases_url":"https://api.github.com/repos/Morriar/nit/releases{/id}","deployments_url":"https://api.github.com/repos/Morriar/nit/deployments","created_at":"2011-03-08T22:16:33Z","updated_at":"2018-08-23T01:37:28Z","pushed_at":"2019-06-20T23:32:07Z","git_url":"git://github.com/Morriar/nit.git","ssh_url":"git@github.com:Morriar/nit.git","clone_url":"https://github.com/Morriar/nit.git","svn_url":"https://github.com/Morriar/nit","homepage":"http://nitlanguage.org","size":208064,"stargazers_count":2,"watchers_count":2,"language":"C","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":2,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":16,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":2,"open_issues":16,"watchers":2,"default_branch":"master"}},"base":{"label":"nitlang:master","ref":"master","sha":"8fd264ae263d5418c56671414b9788c5d67621b4","user":{"login":"nitlang","id":5420298,"node_id":"MDEyOk9yZ2FuaXphdGlvbjU0MjAyOTg=","avatar_url":"https://avatars1.githubusercontent.com/u/5420298?v=4","gravatar_id":"","url":"https://api.github.com/users/nitlang","html_url":"https://github.com/nitlang","followers_url":"https://api.github.com/users/nitlang/followers","following_url":"https://api.github.com/users/nitlang/following{/other_user}","gists_url":"https://api.github.com/users/nitlang/gists{/gist_id}","starred_url":"https://api.github.com/users/nitlang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nitlang/subscriptions","organizations_url":"https://api.github.com/users/nitlang/orgs","repos_url":"https://api.github.com/users/nitlang/repos","events_url":"https://api.github.com/users/nitlang/events{/privacy}","received_events_url":"https://api.github.com/users/nitlang/received_events","type":"Organization","site_admin":false},"repo":{"id":328597,"node_id":"MDEwOlJlcG9zaXRvcnkzMjg1OTc=","name":"nit","full_name":"nitlang/nit","private":false,"owner":{"login":"nitlang","id":5420298,"node_id":"MDEyOk9yZ2FuaXphdGlvbjU0MjAyOTg=","avatar_url":"https://avatars1.githubusercontent.com/u/5420298?v=4","gravatar_id":"","url":"https://api.github.com/users/nitlang","html_url":"https://github.com/nitlang","followers_url":"https://api.github.com/users/nitlang/followers","following_url":"https://api.github.com/users/nitlang/following{/other_user}","gists_url":"https://api.github.com/users/nitlang/gists{/gist_id}","starred_url":"https://api.github.com/users/nitlang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nitlang/subscriptions","organizations_url":"https://api.github.com/users/nitlang/orgs","repos_url":"https://api.github.com/users/nitlang/repos","events_url":"https://api.github.com/users/nitlang/events{/privacy}","received_events_url":"https://api.github.com/users/nitlang/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/nitlang/nit","description":"Nit language","fork":false,"url":"https://api.github.com/repos/nitlang/nit","forks_url":"https://api.github.com/repos/nitlang/nit/forks","keys_url":"https://api.github.com/repos/nitlang/nit/keys{/key_id}","collaborators_url":"https://api.github.com/repos/nitlang/nit/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/nitlang/nit/teams","hooks_url":"https://api.github.com/repos/nitlang/nit/hooks","issue_events_url":"https://api.github.com/repos/nitlang/nit/issues/events{/number}","events_url":"https://api.github.com/repos/nitlang/nit/events","assignees_url":"https://api.github.com/repos/nitlang/nit/assignees{/user}","branches_url":"https://api.github.com/repos/nitlang/nit/branches{/branch}","tags_url":"https://api.github.com/repos/nitlang/nit/tags","blobs_url":"https://api.github.com/repos/nitlang/nit/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/nitlang/nit/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/nitlang/nit/git/refs{/sha}","trees_url":"https://api.github.com/repos/nitlang/nit/git/trees{/sha}","statuses_url":"https://api.github.com/repos/nitlang/nit/statuses/{sha}","languages_url":"https://api.github.com/repos/nitlang/nit/languages","stargazers_url":"https://api.github.com/repos/nitlang/nit/stargazers","contributors_url":"https://api.github.com/repos/nitlang/nit/contributors","subscribers_url":"https://api.github.com/repos/nitlang/nit/subscribers","subscription_url":"https://api.github.com/repos/nitlang/nit/subscription","commits_url":"https://api.github.com/repos/nitlang/nit/commits{/sha}","git_commits_url":"https://api.github.com/repos/nitlang/nit/git/commits{/sha}","comments_url":"https://api.github.com/repos/nitlang/nit/comments{/number}","issue_comment_url":"https://api.github.com/repos/nitlang/nit/issues/comments{/number}","contents_url":"https://api.github.com/repos/nitlang/nit/contents/{+path}","compare_url":"https://api.github.com/repos/nitlang/nit/compare/{base}...{head}","merges_url":"https://api.github.com/repos/nitlang/nit/merges","archive_url":"https://api.github.com/repos/nitlang/nit/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/nitlang/nit/downloads","issues_url":"https://api.github.com/repos/nitlang/nit/issues{/number}","pulls_url":"https://api.github.com/repos/nitlang/nit/pulls{/number}","milestones_url":"https://api.github.com/repos/nitlang/nit/milestones{/number}","notifications_url":"https://api.github.com/repos/nitlang/nit/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/nitlang/nit/labels{/name}","releases_url":"https://api.github.com/repos/nitlang/nit/releases{/id}","deployments_url":"https://api.github.com/repos/nitlang/nit/deployments","created_at":"2009-10-06T15:03:00Z","updated_at":"2019-06-20T18:53:54Z","pushed_at":"2019-06-20T23:34:45Z","git_url":"git://github.com/nitlang/nit.git","ssh_url":"git@github.com:nitlang/nit.git","clone_url":"https://github.com/nitlang/nit.git","svn_url":"https://github.com/nitlang/nit","homepage":"http://nitlanguage.org","size":123163,"stargazers_count":187,"watchers_count":187,"language":"C","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":58,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":174,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":58,"open_issues":174,"watchers":187,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/nitlang/nit/pulls/2755"},"html":{"href":"https://github.com/nitlang/nit/pull/2755"},"issue":{"href":"https://api.github.com/repos/nitlang/nit/issues/2755"},"comments":{"href":"https://api.github.com/repos/nitlang/nit/issues/2755/comments"},"review_comments":{"href":"https://api.github.com/repos/nitlang/nit/pulls/2755/comments"},"review_comment":{"href":"https://api.github.com/repos/nitlang/nit/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/nitlang/nit/pulls/2755/commits"},"statuses":{"href":"https://api.github.com/repos/nitlang/nit/statuses/5dbab8fac6905d57abf78076c58916b0b34b35ce"}},"author_association":"MEMBER"},{"url":"https://api.github.com/repos/nitlang/nit/pulls/2754","id":290326110,"node_id":"MDExOlB1bGxSZXF1ZXN0MjkwMzI2MTEw","html_url":"https://github.com/nitlang/nit/pull/2754","diff_url":"https://github.com/nitlang/nit/pull/2754.diff","patch_url":"https://github.com/nitlang/nit/pull/2754.patch","issue_url":"https://api.github.com/repos/nitlang/nit/issues/2754","number":2754,"state":"open","locked":false,"title":"First (and small) integration of the ICU library in Nit : locale and case modification","user":{"login":"anadaouda","id":36400538,"node_id":"MDQ6VXNlcjM2NDAwNTM4","avatar_url":"https://avatars1.githubusercontent.com/u/36400538?v=4","gravatar_id":"","url":"https://api.github.com/users/anadaouda","html_url":"https://github.com/anadaouda","followers_url":"https://api.github.com/users/anadaouda/followers","following_url":"https://api.github.com/users/anadaouda/following{/other_user}","gists_url":"https://api.github.com/users/anadaouda/gists{/gist_id}","starred_url":"https://api.github.com/users/anadaouda/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/anadaouda/subscriptions","organizations_url":"https://api.github.com/users/anadaouda/orgs","repos_url":"https://api.github.com/users/anadaouda/repos","events_url":"https://api.github.com/users/anadaouda/events{/privacy}","received_events_url":"https://api.github.com/users/anadaouda/received_events","type":"User","site_admin":false},"body":"## ICU\r\nICU (International Components for Unicode) is an API which implements algorithms provided by the Unicode Consortium in C.\r\n\r\n## locale.nit\r\nLocale object which makes sure that the name of the locale is valid and handled by the ICU library\r\n\r\n## caseModification.nit\r\nAddition of `uppercase`, `lowercase` and `title` in the `String` and `CString` classes using a `CaseModification` object.","created_at":"2019-06-20T18:28:52Z","updated_at":"2019-06-20T18:48:05Z","closed_at":null,"merged_at":null,"merge_commit_sha":"b4da82a7ab077e2c08741a576c3d920f09d22a84","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":1252784180,"node_id":"MDU6TGFiZWwxMjUyNzg0MTgw","url":"https://api.github.com/repos/nitlang/nit/labels/ok_to_test","name":"ok_to_test","color":"1e179e","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/nitlang/nit/pulls/2754/commits","review_comments_url":"https://api.github.com/repos/nitlang/nit/pulls/2754/comments","review_comment_url":"https://api.github.com/repos/nitlang/nit/pulls/comments{/number}","comments_url":"https://api.github.com/repos/nitlang/nit/issues/2754/comments","statuses_url":"https://api.github.com/repos/nitlang/nit/statuses/fbb5f6c481cd45ef2f20f62138723dd428eb060d","head":{"label":"anadaouda:icu","ref":"icu","sha":"fbb5f6c481cd45ef2f20f62138723dd428eb060d","user":{"login":"anadaouda","id":36400538,"node_id":"MDQ6VXNlcjM2NDAwNTM4","avatar_url":"https://avatars1.githubusercontent.com/u/36400538?v=4","gravatar_id":"","url":"https://api.github.com/users/anadaouda","html_url":"https://github.com/anadaouda","followers_url":"https://api.github.com/users/anadaouda/followers","following_url":"https://api.github.com/users/anadaouda/following{/other_user}","gists_url":"https://api.github.com/users/anadaouda/gists{/gist_id}","starred_url":"https://api.github.com/users/anadaouda/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/anadaouda/subscriptions","organizations_url":"https://api.github.com/users/anadaouda/orgs","repos_url":"https://api.github.com/users/anadaouda/repos","events_url":"https://api.github.com/users/anadaouda/events{/privacy}","received_events_url":"https://api.github.com/users/anadaouda/received_events","type":"User","site_admin":false},"repo":{"id":192944232,"node_id":"MDEwOlJlcG9zaXRvcnkxOTI5NDQyMzI=","name":"nit","full_name":"anadaouda/nit","private":false,"owner":{"login":"anadaouda","id":36400538,"node_id":"MDQ6VXNlcjM2NDAwNTM4","avatar_url":"https://avatars1.githubusercontent.com/u/36400538?v=4","gravatar_id":"","url":"https://api.github.com/users/anadaouda","html_url":"https://github.com/anadaouda","followers_url":"https://api.github.com/users/anadaouda/followers","following_url":"https://api.github.com/users/anadaouda/following{/other_user}","gists_url":"https://api.github.com/users/anadaouda/gists{/gist_id}","starred_url":"https://api.github.com/users/anadaouda/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/anadaouda/subscriptions","organizations_url":"https://api.github.com/users/anadaouda/orgs","repos_url":"https://api.github.com/users/anadaouda/repos","events_url":"https://api.github.com/users/anadaouda/events{/privacy}","received_events_url":"https://api.github.com/users/anadaouda/received_events","type":"User","site_admin":false},"html_url":"https://github.com/anadaouda/nit","description":"Nit language","fork":true,"url":"https://api.github.com/repos/anadaouda/nit","forks_url":"https://api.github.com/repos/anadaouda/nit/forks","keys_url":"https://api.github.com/repos/anadaouda/nit/keys{/key_id}","collaborators_url":"https://api.github.com/repos/anadaouda/nit/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/anadaouda/nit/teams","hooks_url":"https://api.github.com/repos/anadaouda/nit/hooks","issue_events_url":"https://api.github.com/repos/anadaouda/nit/issues/events{/number}","events_url":"https://api.github.com/repos/anadaouda/nit/events","assignees_url":"https://api.github.com/repos/anadaouda/nit/assignees{/user}","branches_url":"https://api.github.com/repos/anadaouda/nit/branches{/branch}","tags_url":"https://api.github.com/repos/anadaouda/nit/tags","blobs_url":"https://api.github.com/repos/anadaouda/nit/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/anadaouda/nit/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/anadaouda/nit/git/refs{/sha}","trees_url":"https://api.github.com/repos/anadaouda/nit/git/trees{/sha}","statuses_url":"https://api.github.com/repos/anadaouda/nit/statuses/{sha}","languages_url":"https://api.github.com/repos/anadaouda/nit/languages","stargazers_url":"https://api.github.com/repos/anadaouda/nit/stargazers","contributors_url":"https://api.github.com/repos/anadaouda/nit/contributors","subscribers_url":"https://api.github.com/repos/anadaouda/nit/subscribers","subscription_url":"https://api.github.com/repos/anadaouda/nit/subscription","commits_url":"https://api.github.com/repos/anadaouda/nit/commits{/sha}","git_commits_url":"https://api.github.com/repos/anadaouda/nit/git/commits{/sha}","comments_url":"https://api.github.com/repos/anadaouda/nit/comments{/number}","issue_comment_url":"https://api.github.com/repos/anadaouda/nit/issues/comments{/number}","contents_url":"https://api.github.com/repos/anadaouda/nit/contents/{+path}","compare_url":"https://api.github.com/repos/anadaouda/nit/compare/{base}...{head}","merges_url":"https://api.github.com/repos/anadaouda/nit/merges","archive_url":"https://api.github.com/repos/anadaouda/nit/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/anadaouda/nit/downloads","issues_url":"https://api.github.com/repos/anadaouda/nit/issues{/number}","pulls_url":"https://api.github.com/repos/anadaouda/nit/pulls{/number}","milestones_url":"https://api.github.com/repos/anadaouda/nit/milestones{/number}","notifications_url":"https://api.github.com/repos/anadaouda/nit/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/anadaouda/nit/labels{/name}","releases_url":"https://api.github.com/repos/anadaouda/nit/releases{/id}","deployments_url":"https://api.github.com/repos/anadaouda/nit/deployments","created_at":"2019-06-20T15:25:48Z","updated_at":"2019-06-20T18:32:09Z","pushed_at":"2019-06-20T18:03:33Z","git_url":"git://github.com/anadaouda/nit.git","ssh_url":"git@github.com:anadaouda/nit.git","clone_url":"https://github.com/anadaouda/nit.git","svn_url":"https://github.com/anadaouda/nit","homepage":"http://nitlanguage.org","size":123094,"stargazers_count":0,"watchers_count":0,"language":"C","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"nitlang:master","ref":"master","sha":"9248f1c81c08b6c0ec7785678dbb1d7440b885d9","user":{"login":"nitlang","id":5420298,"node_id":"MDEyOk9yZ2FuaXphdGlvbjU0MjAyOTg=","avatar_url":"https://avatars1.githubusercontent.com/u/5420298?v=4","gravatar_id":"","url":"https://api.github.com/users/nitlang","html_url":"https://github.com/nitlang","followers_url":"https://api.github.com/users/nitlang/followers","following_url":"https://api.github.com/users/nitlang/following{/other_user}","gists_url":"https://api.github.com/users/nitlang/gists{/gist_id}","starred_url":"https://api.github.com/users/nitlang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nitlang/subscriptions","organizations_url":"https://api.github.com/users/nitlang/orgs","repos_url":"https://api.github.com/users/nitlang/repos","events_url":"https://api.github.com/users/nitlang/events{/privacy}","received_events_url":"https://api.github.com/users/nitlang/received_events","type":"Organization","site_admin":false},"repo":{"id":328597,"node_id":"MDEwOlJlcG9zaXRvcnkzMjg1OTc=","name":"nit","full_name":"nitlang/nit","private":false,"owner":{"login":"nitlang","id":5420298,"node_id":"MDEyOk9yZ2FuaXphdGlvbjU0MjAyOTg=","avatar_url":"https://avatars1.githubusercontent.com/u/5420298?v=4","gravatar_id":"","url":"https://api.github.com/users/nitlang","html_url":"https://github.com/nitlang","followers_url":"https://api.github.com/users/nitlang/followers","following_url":"https://api.github.com/users/nitlang/following{/other_user}","gists_url":"https://api.github.com/users/nitlang/gists{/gist_id}","starred_url":"https://api.github.com/users/nitlang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nitlang/subscriptions","organizations_url":"https://api.github.com/users/nitlang/orgs","repos_url":"https://api.github.com/users/nitlang/repos","events_url":"https://api.github.com/users/nitlang/events{/privacy}","received_events_url":"https://api.github.com/users/nitlang/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/nitlang/nit","description":"Nit language","fork":false,"url":"https://api.github.com/repos/nitlang/nit","forks_url":"https://api.github.com/repos/nitlang/nit/forks","keys_url":"https://api.github.com/repos/nitlang/nit/keys{/key_id}","collaborators_url":"https://api.github.com/repos/nitlang/nit/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/nitlang/nit/teams","hooks_url":"https://api.github.com/repos/nitlang/nit/hooks","issue_events_url":"https://api.github.com/repos/nitlang/nit/issues/events{/number}","events_url":"https://api.github.com/repos/nitlang/nit/events","assignees_url":"https://api.github.com/repos/nitlang/nit/assignees{/user}","branches_url":"https://api.github.com/repos/nitlang/nit/branches{/branch}","tags_url":"https://api.github.com/repos/nitlang/nit/tags","blobs_url":"https://api.github.com/repos/nitlang/nit/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/nitlang/nit/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/nitlang/nit/git/refs{/sha}","trees_url":"https://api.github.com/repos/nitlang/nit/git/trees{/sha}","statuses_url":"https://api.github.com/repos/nitlang/nit/statuses/{sha}","languages_url":"https://api.github.com/repos/nitlang/nit/languages","stargazers_url":"https://api.github.com/repos/nitlang/nit/stargazers","contributors_url":"https://api.github.com/repos/nitlang/nit/contributors","subscribers_url":"https://api.github.com/repos/nitlang/nit/subscribers","subscription_url":"https://api.github.com/repos/nitlang/nit/subscription","commits_url":"https://api.github.com/repos/nitlang/nit/commits{/sha}","git_commits_url":"https://api.github.com/repos/nitlang/nit/git/commits{/sha}","comments_url":"https://api.github.com/repos/nitlang/nit/comments{/number}","issue_comment_url":"https://api.github.com/repos/nitlang/nit/issues/comments{/number}","contents_url":"https://api.github.com/repos/nitlang/nit/contents/{+path}","compare_url":"https://api.github.com/repos/nitlang/nit/compare/{base}...{head}","merges_url":"https://api.github.com/repos/nitlang/nit/merges","archive_url":"https://api.github.com/repos/nitlang/nit/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/nitlang/nit/downloads","issues_url":"https://api.github.com/repos/nitlang/nit/issues{/number}","pulls_url":"https://api.github.com/repos/nitlang/nit/pulls{/number}","milestones_url":"https://api.github.com/repos/nitlang/nit/milestones{/number}","notifications_url":"https://api.github.com/repos/nitlang/nit/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/nitlang/nit/labels{/name}","releases_url":"https://api.github.com/repos/nitlang/nit/releases{/id}","deployments_url":"https://api.github.com/repos/nitlang/nit/deployments","created_at":"2009-10-06T15:03:00Z","updated_at":"2019-06-20T18:53:54Z","pushed_at":"2019-06-20T23:34:45Z","git_url":"git://github.com/nitlang/nit.git","ssh_url":"git@github.com:nitlang/nit.git","clone_url":"https://github.com/nitlang/nit.git","svn_url":"https://github.com/nitlang/nit","homepage":"http://nitlanguage.org","size":123163,"stargazers_count":187,"watchers_count":187,"language":"C","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":58,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":174,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":58,"open_issues":174,"watchers":187,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/nitlang/nit/pulls/2754"},"html":{"href":"https://github.com/nitlang/nit/pull/2754"},"issue":{"href":"https://api.github.com/repos/nitlang/nit/issues/2754"},"comments":{"href":"https://api.github.com/repos/nitlang/nit/issues/2754/comments"},"review_comments":{"href":"https://api.github.com/repos/nitlang/nit/pulls/2754/comments"},"review_comment":{"href":"https://api.github.com/repos/nitlang/nit/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/nitlang/nit/pulls/2754/commits"},"statuses":{"href":"https://api.github.com/repos/nitlang/nit/statuses/fbb5f6c481cd45ef2f20f62138723dd428eb060d"}},"author_association":"FIRST_TIME_CONTRIBUTOR"},{"url":"https://api.github.com/repos/nitlang/nit/pulls/2753","id":289519734,"node_id":"MDExOlB1bGxSZXF1ZXN0Mjg5NTE5NzM0","html_url":"https://github.com/nitlang/nit/pull/2753","diff_url":"https://github.com/nitlang/nit/pull/2753.diff","patch_url":"https://github.com/nitlang/nit/pull/2753.patch","issue_url":"https://api.github.com/repos/nitlang/nit/issues/2753","number":2753,"state":"open","locked":false,"title":"Mock Github API tests","user":{"login":"Morriar","id":583144,"node_id":"MDQ6VXNlcjU4MzE0NA==","avatar_url":"https://avatars2.githubusercontent.com/u/583144?v=4","gravatar_id":"","url":"https://api.github.com/users/Morriar","html_url":"https://github.com/Morriar","followers_url":"https://api.github.com/users/Morriar/followers","following_url":"https://api.github.com/users/Morriar/following{/other_user}","gists_url":"https://api.github.com/users/Morriar/gists{/gist_id}","starred_url":"https://api.github.com/users/Morriar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Morriar/subscriptions","organizations_url":"https://api.github.com/users/Morriar/orgs","repos_url":"https://api.github.com/users/Morriar/repos","events_url":"https://api.github.com/users/Morriar/events{/privacy}","received_events_url":"https://api.github.com/users/Morriar/received_events","type":"User","site_admin":false},"body":"This PR adds a mock to GithubAPI so we can avoid sending requests to the API on CI.\r\n\r\nFor each API call we save the actual Github response body from the API and reuse it during the tests.\r\nThe attribute `update_responses_cache` can be set to `true` so the cache files are updated from the API when `nitunit` is called.","created_at":"2019-06-19T02:53:50Z","updated_at":"2019-06-20T18:27:49Z","closed_at":null,"merged_at":null,"merge_commit_sha":"e28d2edb92bfefd354d6fd4916cb861661d69dcf","assignee":null,"assignees":[],"requested_reviewers":[{"login":"privat","id":135828,"node_id":"MDQ6VXNlcjEzNTgyOA==","avatar_url":"https://avatars1.githubusercontent.com/u/135828?v=4","gravatar_id":"","url":"https://api.github.com/users/privat","html_url":"https://github.com/privat","followers_url":"https://api.github.com/users/privat/followers","following_url":"https://api.github.com/users/privat/following{/other_user}","gists_url":"https://api.github.com/users/privat/gists{/gist_id}","starred_url":"https://api.github.com/users/privat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/privat/subscriptions","organizations_url":"https://api.github.com/users/privat/orgs","repos_url":"https://api.github.com/users/privat/repos","events_url":"https://api.github.com/users/privat/events{/privacy}","received_events_url":"https://api.github.com/users/privat/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[{"id":1252784180,"node_id":"MDU6TGFiZWwxMjUyNzg0MTgw","url":"https://api.github.com/repos/nitlang/nit/labels/ok_to_test","name":"ok_to_test","color":"1e179e","default":false},{"id":225254102,"node_id":"MDU6TGFiZWwyMjUyNTQxMDI=","url":"https://api.github.com/repos/nitlang/nit/labels/tests_are_ok","name":"tests_are_ok","color":"00b800","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/nitlang/nit/pulls/2753/commits","review_comments_url":"https://api.github.com/repos/nitlang/nit/pulls/2753/comments","review_comment_url":"https://api.github.com/repos/nitlang/nit/pulls/comments{/number}","comments_url":"https://api.github.com/repos/nitlang/nit/issues/2753/comments","statuses_url":"https://api.github.com/repos/nitlang/nit/statuses/5c19395e548326c9d78dff9b274e3e7b93c1704f","head":{"label":"Morriar:at-github_mock","ref":"at-github_mock","sha":"5c19395e548326c9d78dff9b274e3e7b93c1704f","user":{"login":"Morriar","id":583144,"node_id":"MDQ6VXNlcjU4MzE0NA==","avatar_url":"https://avatars2.githubusercontent.com/u/583144?v=4","gravatar_id":"","url":"https://api.github.com/users/Morriar","html_url":"https://github.com/Morriar","followers_url":"https://api.github.com/users/Morriar/followers","following_url":"https://api.github.com/users/Morriar/following{/other_user}","gists_url":"https://api.github.com/users/Morriar/gists{/gist_id}","starred_url":"https://api.github.com/users/Morriar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Morriar/subscriptions","organizations_url":"https://api.github.com/users/Morriar/orgs","repos_url":"https://api.github.com/users/Morriar/repos","events_url":"https://api.github.com/users/Morriar/events{/privacy}","received_events_url":"https://api.github.com/users/Morriar/received_events","type":"User","site_admin":false},"repo":{"id":1456691,"node_id":"MDEwOlJlcG9zaXRvcnkxNDU2Njkx","name":"nit","full_name":"Morriar/nit","private":false,"owner":{"login":"Morriar","id":583144,"node_id":"MDQ6VXNlcjU4MzE0NA==","avatar_url":"https://avatars2.githubusercontent.com/u/583144?v=4","gravatar_id":"","url":"https://api.github.com/users/Morriar","html_url":"https://github.com/Morriar","followers_url":"https://api.github.com/users/Morriar/followers","following_url":"https://api.github.com/users/Morriar/following{/other_user}","gists_url":"https://api.github.com/users/Morriar/gists{/gist_id}","starred_url":"https://api.github.com/users/Morriar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Morriar/subscriptions","organizations_url":"https://api.github.com/users/Morriar/orgs","repos_url":"https://api.github.com/users/Morriar/repos","events_url":"https://api.github.com/users/Morriar/events{/privacy}","received_events_url":"https://api.github.com/users/Morriar/received_events","type":"User","site_admin":false},"html_url":"https://github.com/Morriar/nit","description":"Nit language","fork":true,"url":"https://api.github.com/repos/Morriar/nit","forks_url":"https://api.github.com/repos/Morriar/nit/forks","keys_url":"https://api.github.com/repos/Morriar/nit/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Morriar/nit/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Morriar/nit/teams","hooks_url":"https://api.github.com/repos/Morriar/nit/hooks","issue_events_url":"https://api.github.com/repos/Morriar/nit/issues/events{/number}","events_url":"https://api.github.com/repos/Morriar/nit/events","assignees_url":"https://api.github.com/repos/Morriar/nit/assignees{/user}","branches_url":"https://api.github.com/repos/Morriar/nit/branches{/branch}","tags_url":"https://api.github.com/repos/Morriar/nit/tags","blobs_url":"https://api.github.com/repos/Morriar/nit/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Morriar/nit/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Morriar/nit/git/refs{/sha}","trees_url":"https://api.github.com/repos/Morriar/nit/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Morriar/nit/statuses/{sha}","languages_url":"https://api.github.com/repos/Morriar/nit/languages","stargazers_url":"https://api.github.com/repos/Morriar/nit/stargazers","contributors_url":"https://api.github.com/repos/Morriar/nit/contributors","subscribers_url":"https://api.github.com/repos/Morriar/nit/subscribers","subscription_url":"https://api.github.com/repos/Morriar/nit/subscription","commits_url":"https://api.github.com/repos/Morriar/nit/commits{/sha}","git_commits_url":"https://api.github.com/repos/Morriar/nit/git/commits{/sha}","comments_url":"https://api.github.com/repos/Morriar/nit/comments{/number}","issue_comment_url":"https://api.github.com/repos/Morriar/nit/issues/comments{/number}","contents_url":"https://api.github.com/repos/Morriar/nit/contents/{+path}","compare_url":"https://api.github.com/repos/Morriar/nit/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Morriar/nit/merges","archive_url":"https://api.github.com/repos/Morriar/nit/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Morriar/nit/downloads","issues_url":"https://api.github.com/repos/Morriar/nit/issues{/number}","pulls_url":"https://api.github.com/repos/Morriar/nit/pulls{/number}","milestones_url":"https://api.github.com/repos/Morriar/nit/milestones{/number}","notifications_url":"https://api.github.com/repos/Morriar/nit/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Morriar/nit/labels{/name}","releases_url":"https://api.github.com/repos/Morriar/nit/releases{/id}","deployments_url":"https://api.github.com/repos/Morriar/nit/deployments","created_at":"2011-03-08T22:16:33Z","updated_at":"2018-08-23T01:37:28Z","pushed_at":"2019-06-20T23:32:07Z","git_url":"git://github.com/Morriar/nit.git","ssh_url":"git@github.com:Morriar/nit.git","clone_url":"https://github.com/Morriar/nit.git","svn_url":"https://github.com/Morriar/nit","homepage":"http://nitlanguage.org","size":208064,"stargazers_count":2,"watchers_count":2,"language":"C","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":2,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":16,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":2,"open_issues":16,"watchers":2,"default_branch":"master"}},"base":{"label":"nitlang:master","ref":"master","sha":"9248f1c81c08b6c0ec7785678dbb1d7440b885d9","user":{"login":"nitlang","id":5420298,"node_id":"MDEyOk9yZ2FuaXphdGlvbjU0MjAyOTg=","avatar_url":"https://avatars1.githubusercontent.com/u/5420298?v=4","gravatar_id":"","url":"https://api.github.com/users/nitlang","html_url":"https://github.com/nitlang","followers_url":"https://api.github.com/users/nitlang/followers","following_url":"https://api.github.com/users/nitlang/following{/other_user}","gists_url":"https://api.github.com/users/nitlang/gists{/gist_id}","starred_url":"https://api.github.com/users/nitlang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nitlang/subscriptions","organizations_url":"https://api.github.com/users/nitlang/orgs","repos_url":"https://api.github.com/users/nitlang/repos","events_url":"https://api.github.com/users/nitlang/events{/privacy}","received_events_url":"https://api.github.com/users/nitlang/received_events","type":"Organization","site_admin":false},"repo":{"id":328597,"node_id":"MDEwOlJlcG9zaXRvcnkzMjg1OTc=","name":"nit","full_name":"nitlang/nit","private":false,"owner":{"login":"nitlang","id":5420298,"node_id":"MDEyOk9yZ2FuaXphdGlvbjU0MjAyOTg=","avatar_url":"https://avatars1.githubusercontent.com/u/5420298?v=4","gravatar_id":"","url":"https://api.github.com/users/nitlang","html_url":"https://github.com/nitlang","followers_url":"https://api.github.com/users/nitlang/followers","following_url":"https://api.github.com/users/nitlang/following{/other_user}","gists_url":"https://api.github.com/users/nitlang/gists{/gist_id}","starred_url":"https://api.github.com/users/nitlang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nitlang/subscriptions","organizations_url":"https://api.github.com/users/nitlang/orgs","repos_url":"https://api.github.com/users/nitlang/repos","events_url":"https://api.github.com/users/nitlang/events{/privacy}","received_events_url":"https://api.github.com/users/nitlang/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/nitlang/nit","description":"Nit language","fork":false,"url":"https://api.github.com/repos/nitlang/nit","forks_url":"https://api.github.com/repos/nitlang/nit/forks","keys_url":"https://api.github.com/repos/nitlang/nit/keys{/key_id}","collaborators_url":"https://api.github.com/repos/nitlang/nit/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/nitlang/nit/teams","hooks_url":"https://api.github.com/repos/nitlang/nit/hooks","issue_events_url":"https://api.github.com/repos/nitlang/nit/issues/events{/number}","events_url":"https://api.github.com/repos/nitlang/nit/events","assignees_url":"https://api.github.com/repos/nitlang/nit/assignees{/user}","branches_url":"https://api.github.com/repos/nitlang/nit/branches{/branch}","tags_url":"https://api.github.com/repos/nitlang/nit/tags","blobs_url":"https://api.github.com/repos/nitlang/nit/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/nitlang/nit/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/nitlang/nit/git/refs{/sha}","trees_url":"https://api.github.com/repos/nitlang/nit/git/trees{/sha}","statuses_url":"https://api.github.com/repos/nitlang/nit/statuses/{sha}","languages_url":"https://api.github.com/repos/nitlang/nit/languages","stargazers_url":"https://api.github.com/repos/nitlang/nit/stargazers","contributors_url":"https://api.github.com/repos/nitlang/nit/contributors","subscribers_url":"https://api.github.com/repos/nitlang/nit/subscribers","subscription_url":"https://api.github.com/repos/nitlang/nit/subscription","commits_url":"https://api.github.com/repos/nitlang/nit/commits{/sha}","git_commits_url":"https://api.github.com/repos/nitlang/nit/git/commits{/sha}","comments_url":"https://api.github.com/repos/nitlang/nit/comments{/number}","issue_comment_url":"https://api.github.com/repos/nitlang/nit/issues/comments{/number}","contents_url":"https://api.github.com/repos/nitlang/nit/contents/{+path}","compare_url":"https://api.github.com/repos/nitlang/nit/compare/{base}...{head}","merges_url":"https://api.github.com/repos/nitlang/nit/merges","archive_url":"https://api.github.com/repos/nitlang/nit/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/nitlang/nit/downloads","issues_url":"https://api.github.com/repos/nitlang/nit/issues{/number}","pulls_url":"https://api.github.com/repos/nitlang/nit/pulls{/number}","milestones_url":"https://api.github.com/repos/nitlang/nit/milestones{/number}","notifications_url":"https://api.github.com/repos/nitlang/nit/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/nitlang/nit/labels{/name}","releases_url":"https://api.github.com/repos/nitlang/nit/releases{/id}","deployments_url":"https://api.github.com/repos/nitlang/nit/deployments","created_at":"2009-10-06T15:03:00Z","updated_at":"2019-06-20T18:53:54Z","pushed_at":"2019-06-20T23:34:45Z","git_url":"git://github.com/nitlang/nit.git","ssh_url":"git@github.com:nitlang/nit.git","clone_url":"https://github.com/nitlang/nit.git","svn_url":"https://github.com/nitlang/nit","homepage":"http://nitlanguage.org","size":123163,"stargazers_count":187,"watchers_count":187,"language":"C","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":58,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":174,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":58,"open_issues":174,"watchers":187,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/nitlang/nit/pulls/2753"},"html":{"href":"https://github.com/nitlang/nit/pull/2753"},"issue":{"href":"https://api.github.com/repos/nitlang/nit/issues/2753"},"comments":{"href":"https://api.github.com/repos/nitlang/nit/issues/2753/comments"},"review_comments":{"href":"https://api.github.com/repos/nitlang/nit/pulls/2753/comments"},"review_comment":{"href":"https://api.github.com/repos/nitlang/nit/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/nitlang/nit/pulls/2753/commits"},"statuses":{"href":"https://api.github.com/repos/nitlang/nit/statuses/5c19395e548326c9d78dff9b274e3e7b93c1704f"}},"author_association":"MEMBER"}]
\ No newline at end of file
diff --git a/lib/github/tests/mock/repo_search_issues_nit.res b/lib/github/tests/mock/repo_search_issues_nit.res
new file mode 100644 (file)
index 0000000..b745c2e
--- /dev/null
@@ -0,0 +1 @@
+{"total_count":151,"incomplete_results":false,"items":[{"url":"https://api.github.com/repos/nitlang/nit/issues/2747","repository_url":"https://api.github.com/repos/nitlang/nit","labels_url":"https://api.github.com/repos/nitlang/nit/issues/2747/labels{/name}","comments_url":"https://api.github.com/repos/nitlang/nit/issues/2747/comments","events_url":"https://api.github.com/repos/nitlang/nit/issues/2747/events","html_url":"https://github.com/nitlang/nit/pull/2747","id":444577497,"node_id":"MDExOlB1bGxSZXF1ZXN0Mjc5MjA5MjEx","number":2747,"title":"Introduction of contracts in Nit","user":{"login":"Delja","id":26239416,"node_id":"MDQ6VXNlcjI2MjM5NDE2","avatar_url":"https://avatars1.githubusercontent.com/u/26239416?v=4","gravatar_id":"","url":"https://api.github.com/users/Delja","html_url":"https://github.com/Delja","followers_url":"https://api.github.com/users/Delja/followers","following_url":"https://api.github.com/users/Delja/following{/other_user}","gists_url":"https://api.github.com/users/Delja/gists{/gist_id}","starred_url":"https://api.github.com/users/Delja/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Delja/subscriptions","organizations_url":"https://api.github.com/users/Delja/orgs","repos_url":"https://api.github.com/users/Delja/repos","events_url":"https://api.github.com/users/Delja/events{/privacy}","received_events_url":"https://api.github.com/users/Delja/received_events","type":"User","site_admin":false},"labels":[{"id":1252784180,"node_id":"MDU6TGFiZWwxMjUyNzg0MTgw","url":"https://api.github.com/repos/nitlang/nit/labels/ok_to_test","name":"ok_to_test","color":"1e179e","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2019-05-15T18:16:56Z","updated_at":"2019-06-17T15:08:13Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/nitlang/nit/pulls/2747","html_url":"https://github.com/nitlang/nit/pull/2747","diff_url":"https://github.com/nitlang/nit/pull/2747.diff","patch_url":"https://github.com/nitlang/nit/pull/2747.patch"},"body":"# Contract\r\n\r\nAdding contract programming (Design by contract) in Nit language. Contracts works with nit annotations.\r\n\r\n## Annotations\r\n\r\nTo define a new contract you need to use the corresponding annotation. For example it is possible to define a contract that x must be strictly greater than 5. To do it would be necessary to define the contract in the following way `expects (x > 5)`. All expressions returning a boolean (comparison...) can be used as a condition.\r\n\r\nTwo annotations were added:\r\n\t\r\n- `expects` to indicate the conditions need to the execution of the methods\r\n- `ensures` to indicate the conditions of guarantee at the end of the execution of the methods\r\n\r\n## Method contract (ensures, expects)\r\n\r\nFor each method it is possible to define preconditions (`expects`) and  post-conditions (`ensures`). If the call of the method satisfies the prerequisites of the method, the caller may assume that the return conditions will be satisfied.\r\n\r\nThe method contracts can access all the parameters of the method as well as the set of attributes/methods visible in the context of the method. i.e the set of parameters and the set of methods and attributes of the current class can be used (attributes declare locally in the method can not be used). For post-conditions (ensures) the `result` attribute has been added to perform a check on the return value of the method.\r\n\r\n## Process\r\n\r\nA phase is executed to check all the methods. This check is done to know if:\r\n\r\n- The method is annoted (redefined or not)\r\n\r\n- The method is a redefinition of a method already having a contract (i.e a method that does not add any new conditions to the existing contract).\r\n\r\nWhen a contract is detected the code it's `extended` to add the verification features. A method is created to check the conditions of the contract.\r\n\r\n### Exemple\r\n\r\n#### Expect:\r\n```\r\nclass MyClass\r\n\tfun foo(x: Int)\r\n\tis\r\n\t\texpects(x > 0)\r\n\tdo\r\n\t\t[...]\r\n\tend\r\nend\r\n```\r\nRepresentation of the compiled class\r\n```\r\nclass MyClass\r\n\tfun foo(x: Int)\r\n\tis\r\n\t\texpects(x > 0)\r\n\tdo\r\n\t\tfoo_expects(x)\r\n\t\t[...]\r\n\tend\r\n\t\r\n\tfun foo_expects(x: Int)\r\n\tdo\r\n\t\tassert x > 0\r\n\tend\r\nend\r\n```\r\n#### Ensure:\r\n```\r\nclass MyClass\r\n\tfun foo(x: Int): Bool\r\n\tis\r\n\t\tensures(result == true)\r\n\tdo\r\n\t\t[...]\r\n\t\treturn true\r\n\tend\r\nend\r\n```\r\nRepresentation of the compiled class\r\n\r\n```\r\nclass MyClass\r\n\tfun foo(x: Int): Bool\r\n\tis\r\n\t\tensures(result == true)\r\n\tdo\r\n\t\t[...]\r\n\t\tvar result = true\r\n\t\tfoo_ensures(x, result)\r\n\t\treturn result\r\n\tend\r\n\t\r\n\tfun foo_ensures(x: Int, result: Bool)\r\n\tdo\r\n\t\tassert result == true\r\n\tend\r\nend\r\n```\r\n\r\n## Inheritance\r\n\r\nContracts support redefinition and adding condition. Noted that when a contract is defines in a parent class, it is no longer possible to remove this contract on all the classes that inherit or redefine them. They only need to be increased according to different subtyping rules.\r\n\r\nAll preconditions (expects) can be weakened. i.e it is possible to provide a new alternative to validate the contract. This corresponds to the use of a logical OR between the old and the new conditions.\r\n\r\nAll post-conditions (ensure) can be consolidate. i.e the new condition of the contract will provide a new guarantee to the user of the method. This rule can be translates into a logical AND between the old and the new conditions.\r\n\r\n### Exemple\r\n\r\n#### Expect\r\n\r\n```\r\nclass SubMyClass\r\n\tsuper MyClass\r\n\t\r\n\tredef fun foo(x: Int)\r\n\tis\r\n\t\texpects(x > 0, x == 0)\r\n\tdo\r\n\t\tfoo_expects(x)\r\n\t\t[...]\r\n\tend\r\n\t\r\n\tredef fun foo_expects(x: Int)\r\n\tdo\r\n\t\tif x == 0 then return\r\n\t\tassert super(x)\r\n\tend\r\nend\r\n```\r\n\r\n#### Ensure\r\n```\r\nclass SubMyClass\r\n\tsuper MyClass\r\n\t\r\n\tredef fun foo(x: Int): Bool\r\n\tis\r\n\t\tensures(result == true, x > 0)\r\n\tdo\r\n\t\t[...]\r\n\t\tvar result = true\r\n\t\tfoo_ensure(x, result)\r\n\t\treturn result\r\n\tend\r\n\t\r\n\tredef fun foo_ensures(x: Int, result: Bool)\r\n\tdo\r\n\t\tassert x > 0\r\n\t\tassert super(x, result)\r\n\tend\r\nend\r\n```\r\n\r\nSummary\r\n\r\n| Annotation    |  Inheritance condition type  | \r\n| ------------- | -------------| \r\n| expects       |        And (&&) |\r\n| ensures       |        Or (\\|\\|)  |\r\n\r\n## Invocation \r\n\r\nThe contracts extend the annotated methods by adding the call to the verification method. This means that once the method extended the execution of contracts will be systematically call (does not matter external or internal call). This part is subject to evolution in the months to come.\r\n","score":25.116352},{"url":"https://api.github.com/repos/nitlang/nit/issues/394","repository_url":"https://api.github.com/repos/nitlang/nit","labels_url":"https://api.github.com/repos/nitlang/nit/issues/394/labels{/name}","comments_url":"https://api.github.com/repos/nitlang/nit/issues/394/comments","events_url":"https://api.github.com/repos/nitlang/nit/issues/394/events","html_url":"https://github.com/nitlang/nit/issues/394","id":31243843,"node_id":"MDU6SXNzdWUzMTI0Mzg0Mw==","number":394,"title":"Receveurs nullables","user":{"login":"jpages","id":2535352,"node_id":"MDQ6VXNlcjI1MzUzNTI=","avatar_url":"https://avatars1.githubusercontent.com/u/2535352?v=4","gravatar_id":"","url":"https://api.github.com/users/jpages","html_url":"https://github.com/jpages","followers_url":"https://api.github.com/users/jpages/followers","following_url":"https://api.github.com/users/jpages/following{/other_user}","gists_url":"https://api.github.com/users/jpages/gists{/gist_id}","starred_url":"https://api.github.com/users/jpages/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jpages/subscriptions","organizations_url":"https://api.github.com/users/jpages/orgs","repos_url":"https://api.github.com/users/jpages/repos","events_url":"https://api.github.com/users/jpages/events{/privacy}","received_events_url":"https://api.github.com/users/jpages/received_events","type":"User","site_admin":false},"labels":[{"id":55675455,"node_id":"MDU6TGFiZWw1NTY3NTQ1NQ==","url":"https://api.github.com/repos/nitlang/nit/labels/spec","name":"spec","color":"207de5","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/nitlang/nit/milestones/4","html_url":"https://github.com/nitlang/nit/milestone/4","labels_url":"https://api.github.com/repos/nitlang/nit/milestones/4/labels","id":795157,"node_id":"MDk6TWlsZXN0b25lNzk1MTU3","number":4,"title":"v1.0prealpha","description":"The first public version that we are proud off and can be used sanely by non Nit people.","creator":{"login":"privat","id":135828,"node_id":"MDQ6VXNlcjEzNTgyOA==","avatar_url":"https://avatars1.githubusercontent.com/u/135828?v=4","gravatar_id":"","url":"https://api.github.com/users/privat","html_url":"https://github.com/privat","followers_url":"https://api.github.com/users/privat/followers","following_url":"https://api.github.com/users/privat/following{/other_user}","gists_url":"https://api.github.com/users/privat/gists{/gist_id}","starred_url":"https://api.github.com/users/privat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/privat/subscriptions","organizations_url":"https://api.github.com/users/privat/orgs","repos_url":"https://api.github.com/users/privat/repos","events_url":"https://api.github.com/users/privat/events{/privacy}","received_events_url":"https://api.github.com/users/privat/received_events","type":"User","site_admin":false},"open_issues":22,"closed_issues":22,"state":"open","created_at":"2014-09-19T00:16:45Z","updated_at":"2017-06-02T12:43:15Z","due_on":null,"closed_at":null},"comments":6,"created_at":"2014-04-10T13:47:18Z","updated_at":"2015-05-21T15:19:28Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"Dans le code suivant : \n\n``` ruby\n\nmodule test_nullable\n\nclass A\n    fun foo\n    do\n        print \"foo dans A\"\n    end\nend\n\nclass B\n    var p: nullable A\n\n    init\n    do\n    end\nend\n\nvar test = new B\n\n#Erreur de compilation ?\ntest.p.foo\n```\n\nOn s'attend à avoir une erreur de compilation qui nous dit que p est nullable et que cela empêche d'appeler `foo` sans faire de cast vers not null.\n\nPourtant actuellement, nit et nitg ne disent rien et une erreur est produite au runtime.\n","score":19.246428},{"url":"https://api.github.com/repos/nitlang/nit/issues/808","repository_url":"https://api.github.com/repos/nitlang/nit","labels_url":"https://api.github.com/repos/nitlang/nit/issues/808/labels{/name}","comments_url":"https://api.github.com/repos/nitlang/nit/issues/808/comments","events_url":"https://api.github.com/repos/nitlang/nit/issues/808/events","html_url":"https://github.com/nitlang/nit/issues/808","id":44962286,"node_id":"MDU6SXNzdWU0NDk2MjI4Ng==","number":808,"title":"Appel de méthodes abstraites non redéfinies","user":{"login":"colinvidal","id":7349453,"node_id":"MDQ6VXNlcjczNDk0NTM=","avatar_url":"https://avatars0.githubusercontent.com/u/7349453?v=4","gravatar_id":"","url":"https://api.github.com/users/colinvidal","html_url":"https://github.com/colinvidal","followers_url":"https://api.github.com/users/colinvidal/followers","following_url":"https://api.github.com/users/colinvidal/following{/other_user}","gists_url":"https://api.github.com/users/colinvidal/gists{/gist_id}","starred_url":"https://api.github.com/users/colinvidal/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/colinvidal/subscriptions","organizations_url":"https://api.github.com/users/colinvidal/orgs","repos_url":"https://api.github.com/users/colinvidal/repos","events_url":"https://api.github.com/users/colinvidal/events{/privacy}","received_events_url":"https://api.github.com/users/colinvidal/received_events","type":"User","site_admin":false},"labels":[{"id":55675455,"node_id":"MDU6TGFiZWw1NTY3NTQ1NQ==","url":"https://api.github.com/repos/nitlang/nit/labels/spec","name":"spec","color":"207de5","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/nitlang/nit/milestones/4","html_url":"https://github.com/nitlang/nit/milestone/4","labels_url":"https://api.github.com/repos/nitlang/nit/milestones/4/labels","id":795157,"node_id":"MDk6TWlsZXN0b25lNzk1MTU3","number":4,"title":"v1.0prealpha","description":"The first public version that we are proud off and can be used sanely by non Nit people.","creator":{"login":"privat","id":135828,"node_id":"MDQ6VXNlcjEzNTgyOA==","avatar_url":"https://avatars1.githubusercontent.com/u/135828?v=4","gravatar_id":"","url":"https://api.github.com/users/privat","html_url":"https://github.com/privat","followers_url":"https://api.github.com/users/privat/followers","following_url":"https://api.github.com/users/privat/following{/other_user}","gists_url":"https://api.github.com/users/privat/gists{/gist_id}","starred_url":"https://api.github.com/users/privat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/privat/subscriptions","organizations_url":"https://api.github.com/users/privat/orgs","repos_url":"https://api.github.com/users/privat/repos","events_url":"https://api.github.com/users/privat/events{/privacy}","received_events_url":"https://api.github.com/users/privat/received_events","type":"User","site_admin":false},"open_issues":22,"closed_issues":22,"state":"open","created_at":"2014-09-19T00:16:45Z","updated_at":"2017-06-02T12:43:15Z","due_on":null,"closed_at":null},"comments":2,"created_at":"2014-10-06T09:09:06Z","updated_at":"2014-10-06T13:21:53Z","closed_at":null,"author_association":"NONE","body":"Avec le code suivant \n\n```\nclass A fun foo is abstract end\nclass B super A fun bar do self.foo end end\nvar b = new B\nb.bar\n```\n\nNitg ne détecte aucune erreur (avec nitg -W il y en a beaucoup, mais rien a voir avec ça), donc ça amène à une exception à l'exécution lors de l'appel à foo sur self (var a = new A a.foo pose le même soucis).\nTesté avec version v0.6.9-12-gd65a790.\n","score":19.246391}]}
\ No newline at end of file
index 7176aaa..19538e4 100644 (file)
@@ -23,31 +23,31 @@ intrude import api
 #
 # Cache files can be automatically created and updated by setting
 # `update_responses_cache` to `true` then running `nitunit`.
-class MockGithubCurl
-       super GithubCurl
+class MockGithubAPI
+       super GithubAPI
 
        # Mock so it returns the response from a file
        #
        # See `update_responses_cache`.
-       redef fun get_and_parse(uri) do
-               print uri # for debugging
+       redef fun send(method, path, headers, body) do
+               print path # for debugging
 
-               var path = uri.replace("https://api.github.com/", "/")
                assert has_response(path)
 
                if update_responses_cache then
                        var file = response_file(path)
-                       save_actual_response(uri, file)
+                       save_actual_response(path, file)
                end
 
-               var response = response_string(path).parse_json
+               var response = response_string(path)
                if response_is_error(path) then
-                       var title = "GithubAPIError"
-                       var msg = response.as(JsonObject)["message"].as(String)
-                       var err = new GithubError(msg, title)
-                       err.json["requested_uri"] = uri
-                       err.json["status_code"] = response_code(path)
-                       return err
+                       last_error = new GithubAPIError(
+                               response.parse_json.as(JsonObject)["message"].as(String),
+                               response_code(path).to_i,
+                               path
+                       )
+                       was_error = true
+                       return null
                end
                return response
        end
@@ -57,17 +57,27 @@ class MockGithubCurl
                map["/user"] = "user_Morriar"
                map["/users/Morriar"] = "user_Morriar"
                map["/repos/nitlang/nit"] = "repo_nit"
+               map["/repos/nitlang/nit/labels?page=1&per_page=3"] = "repo_labels_nit"
                map["/repos/nitlang/nit/labels/ok_will_merge"] = "repo_labels_ok_will_merge"
+               map["/repos/nitlang/nit/milestones?page=1&per_page=3"] = "repo_milestones_nit"
                map["/repos/nitlang/nit/milestones/4"] = "repo_milestones_4"
-               map["/repos/nitlang/nit/branches"] = "repo_branches_nit"
+               map["/repos/nitlang/nit/branches?page=1&per_page=2"] = "repo_branches_nit"
                map["/repos/nitlang/nit/branches/master"] = "repo_branches_master"
+               map["/repos/nitlang/nit/issues?page=1&per_page=3"] = "repo_issues_nit"
                map["/repos/nitlang/nit/issues/1000"] = "repo_issues_1000"
+               map["/repos/nitlang/nit/issues/1000/comments?page=1&per_page=3"] = "repo_issues_comments_nit"
                map["/repos/nitlang/nit/issues/comments/6020149"] = "repo_issues_comments_6020149"
+               map["/repos/nitlang/nit/issues/1000/events?page=1&per_page=3"] = "repo_issues_events_nit"
                map["/repos/nitlang/nit/issues/events/199674194"] = "repo_issues_events_199674194"
+               map["/repos/nitlang/nit/pulls?page=1&per_page=3"] = "repo_pulls_nit"
                map["/repos/nitlang/nit/pulls/1000"] = "repo_pulls_1000"
+               map["/repos/nitlang/nit/pulls/945/comments?page=1&per_page=3"] = "repo_pulls_945_comments"
+               map["/repos/nitlang/nit/pulls/comments/21010363"] = "repo_pulls_comment_21010363"
                map["/repos/nitlang/nit/commits/64ce1f"] = "repo_commits_64ce1f"
+               map["/repos/nitlang/nit/commits/4e3c688d/status"] = "repo_commits_4e3c68_status"
                map["/repos/nitlang/nit/comments/8982707"] = "repo_comments_8982707"
-               map["/repos/nitlang/nit/pulls/comments/21010363"] = "repo_pulls_comment_21010363"
+               map["/search/issues?q=foo repo:nitlang/nit&page=1&per_page=3"] = "repo_search_issues_nit"
+               map["/repos/nitlang/nit/stats/contributors"] = "repo_nit_contributors"
                # errors
                map["/users/not_found/not_found"] = "errors_404"
                return map
@@ -126,9 +136,9 @@ class MockGithubCurl
        private fun save_actual_response(uri, file: String) do
                assert update_responses_cache
 
-               var request = new CurlHTTPRequest(uri)
-               request.user_agent = actual_curl.user_agent
-               request.headers = actual_curl.header
+               var request = new CurlHTTPRequest("{api_url}{sanitize_uri(uri)}")
+               request.user_agent = actual_api.user_agent
+               request.headers = actual_api.new_headers
                var response = request.execute
 
                if response isa CurlResponseSuccess then
@@ -141,22 +151,16 @@ class MockGithubCurl
        end
 
        # Actual GithubCurl instance used for caching
-       private var actual_curl = new GithubCurl(get_github_oauth, "nitunit")
+       private var actual_api = new GithubAPI(get_github_oauth, "nitunit")
 end
 
 class TestGithubAPI
        test
 
-       var mock = new MockGithubCurl("test", "test")
-
-       fun api: GithubAPI do
-               var api = new GithubAPI("test")
-               api.ghcurl = mock
-               return api
-       end
+       fun api: MockGithubAPI do return new MockGithubAPI("test", "test")
 
        fun test_deserialize is test do
-               var response = mock.response_string("/users/Morriar")
+               var response = api.response_string("/users/Morriar")
                var obj = api.deserialize(response)
                assert obj isa User
                assert obj.login == "Morriar"
@@ -172,45 +176,25 @@ class TestGithubAPI
                var obj = api.get("/users/Morriar")
                assert not api.was_error
                assert api.last_error == null
-               assert obj isa JsonObject
-               assert obj["login"] == "Morriar"
-       end
-
-       fun test_get_404 is test do
-               var api = self.api
-               var res = api.get("/users/not_found/not_found")
-               assert res == null
-               assert api.was_error
-               var err = api.last_error
-               assert err isa GithubError
-               assert err.name == "GithubAPIError"
-               assert err.message == "Not Found"
-       end
-
-       fun test_load_from_github is test do
-               var api = self.api
-               var obj = api.load_from_github("/users/Morriar")
-               assert not api.was_error
-               assert api.last_error == null
                assert obj isa User
                assert obj.login == "Morriar"
        end
 
-       fun test_load_from_github_404 is test do
+       fun test_get_404 is test do
                var api = self.api
-               var res = api.load_from_github("/users/not_found/not_found")
+               var res = api.get("/users/not_found/not_found")
                assert res == null
                assert api.was_error
                var err = api.last_error
-               assert err isa GithubError
-               assert err.name == "GithubAPIError"
+               assert err isa GithubAPIError
+               assert err.status_code == 404
                assert err.message == "Not Found"
        end
 
        # TODO test more error cases
 
        fun test_get_auth_user is test do
-               var user = api.load_auth_user
+               var user = api.get_auth_user
                assert user isa User
                assert user.login == "Morriar"
                assert user.avatar_url == "https://avatars2.githubusercontent.com/u/583144?v=4"
@@ -220,7 +204,7 @@ class TestGithubAPI
        end
 
        fun test_get_user is test do
-               var user = api.load_user("Morriar")
+               var user = api.get_user("Morriar")
                assert user isa User
                assert user.login == "Morriar"
                assert user.avatar_url == "https://avatars2.githubusercontent.com/u/583144?v=4"
@@ -230,7 +214,7 @@ class TestGithubAPI
        end
 
        fun test_get_repo is test do
-               var repo = api.load_repo("nitlang/nit")
+               var repo = api.get_repo("nitlang/nit")
                assert repo isa Repo
                assert repo.full_name == "nitlang/nit"
                assert repo.name == "nit"
@@ -238,39 +222,81 @@ class TestGithubAPI
                assert repo.default_branch == "master"
        end
 
-       private var repo: Repo is lazy do return api.load_repo("nitlang/nit").as(not null)
-
        fun test_get_branches is test do
-               var branches = api.load_repo_branches(repo)
+               var branches = api.get_repo_branches("nitlang/nit", 1, 2)
                assert branches.length == 2
                assert branches.first.name == "master"
                assert branches.last.name == "next"
        end
 
-       # TODO issues
-       # TODO repo_last_issue
-       # TODO labels
-       # TODO milestones
-       # TODO pulls
-       # TODO contrib_stats
+       fun test_get_issues is test do
+               var issues = api.get_repo_issues("nitlang/nit", 1, 3)
+               assert issues.length == 3
+               assert issues.first.title == "nitrpg: Move `nitrpg` to its own repository"
+               assert issues.last.title == "Mock Github API tests"
+       end
+
+       fun test_search_issues is test do
+               var results = api.search_repo_issues("nitlang/nit", "foo", 1, 3)
+               assert results isa SearchResults
+               assert results.items.length == 3
+               assert results.items.first.as(Issue).title == "Introduction of contracts in Nit"
+               assert results.items.last.as(Issue).title == "Appel de méthodes abstraites non redéfinies"
+       end
+
+       fun test_get_labels is test do
+               var labels = api.get_repo_labels("nitlang/nit", 1, 3)
+               assert labels.length == 3
+               assert labels.first.name == "API"
+               assert labels.last.name == "NEP"
+       end
+
+       fun test_get_milestones is test do
+               var milestones = api.get_repo_milestones("nitlang/nit", 1, 3)
+               assert milestones.length == 3
+               assert milestones.first.title == "v1.0prealpha"
+               assert milestones.last.title == "nitdoc - Abstraction levels"
+       end
+
+       fun test_get_pulls is test do
+               var pulls = api.get_repo_pulls("nitlang/nit", 1, 3)
+               assert pulls.length == 3
+               assert pulls.first.title == "nitrpg: Move `nitrpg` to its own repository"
+               assert pulls.last.title == "Mock Github API tests"
+       end
 
        fun test_get_branch is test do
-               var branch = api.load_branch(repo, "master")
+               var branch = api.get_branch("nitlang/nit", "master")
                assert branch isa Branch
                assert branch.name == "master"
        end
 
-       # TODO branch commits
-
        fun test_get_commit is test do
-               var commit = api.load_commit(repo, "64ce1f")
+               var commit = api.get_commit("nitlang/nit", "64ce1f")
                assert commit isa Commit
                assert commit.sha == "64ce1f587209024f5de46d06c70526a569ff537f"
                # TODO other fields
        end
 
+       fun test_get_commit_status is test do
+               var status = api.get_commit_status("nitlang/nit", "4e3c688d")
+               assert status isa CommitStatus
+               assert status.state == "failure"
+               assert status.sha == "4e3c688d2c4b875c00f206eb4c4b6f2c4f34c096"
+               assert status.total_count == 1
+
+               var sub = status.statuses.first
+               assert sub.state == "failure"
+               assert sub.description == "Merged pipeline on gitlab: failed"
+               assert sub.context == "gitlab-ci"
+
+               var repo = status.repository
+               assert repo isa Repo
+               assert repo.full_name == "nitlang/nit"
+       end
+
        fun test_get_issue is test do
-               var issue = api.load_issue(repo, 1000)
+               var issue = api.get_issue("nitlang/nit", 1000)
                assert issue isa Issue
                assert issue.number == 1000
                assert issue.title == "Raise nitc from the dead"
@@ -283,12 +309,23 @@ class TestGithubAPI
                assert issue.is_pull_request
        end
 
-       # TODO issue comments
-       # TODO issue events
+       fun test_get_issue_comments is test do
+               var comments = api.get_issue_comments("nitlang/nit", 1000, 1, 3)
+               assert comments.length == 3
+               assert comments.first.user.login == "R4PaSs"
+               assert comments.last.user.login == "xymus"
+       end
+
+       fun test_get_issue_events is test do
+               var events = api.get_issue_events("nitlang/nit", 1000, 1, 3)
+               assert events.length == 3
+               assert events.first.actor.login == "privat"
+               assert events.last.actor.login == "xymus"
+       end
 
        fun test_get_pull is test do
-               var pull = api.load_pull(repo, 1000)
-               assert pull isa Issue
+               var pull = api.get_pull("nitlang/nit", 1000)
+               assert pull isa PullRequest
                assert pull.number == 1000
                assert pull.title == "Raise nitc from the dead"
                assert pull.user.as(User).login == "privat"
@@ -299,21 +336,36 @@ class TestGithubAPI
                assert pull.body == "Raise dead on `nitc`.\nIt's super effective...\n"
        end
 
+       fun test_get_pull_comments is test do
+               var comments = api.get_pull_comments("nitlang/nit", 945, 1, 3)
+               assert comments.length == 2
+               assert comments.first.path == "src/modelize/modelize_property.nit"
+       end
+
+       fun test_get_pull_comment is test do
+               var comment = api.get_pull_comment("nitlang/nit", 21010363)
+               assert comment isa PullComment
+               assert comment.path == "src/modelize/modelize_property.nit"
+               assert comment.original_position == 26
+               assert comment.pull_number == 945
+               # TODO other fields
+       end
+
        fun test_get_label is test do
-               var labl = api.load_label(repo, "ok_will_merge")
+               var labl = api.get_label("nitlang/nit", "ok_will_merge")
                assert labl isa Label
                assert labl.name == "ok_will_merge"
        end
 
        fun test_get_milestone is test do
-               var milestone = api.load_milestone(repo, 4)
+               var milestone = api.get_milestone("nitlang/nit", 4)
                assert milestone isa Milestone
                assert milestone.title == "v1.0prealpha"
                # TODO other fields
        end
 
        fun test_get_issue_event is test do
-               var event = api.load_issue_event(repo, 199674194)
+               var event = api.get_issue_event("nitlang/nit", 199674194)
                assert event isa IssueEvent
                assert event.actor.login == "privat"
                assert event.event == "labeled"
@@ -321,7 +373,7 @@ class TestGithubAPI
        end
 
        fun test_get_issue_comment is test do
-               var comment = api.load_issue_comment(repo, 6020149)
+               var comment = api.get_issue_comment("nitlang/nit", 6020149)
                assert comment isa IssueComment
                assert comment.user.login == "privat"
                assert comment.created_at.to_s == "2012-05-30T20:16:54Z"
@@ -329,18 +381,17 @@ class TestGithubAPI
        end
 
        fun test_get_comment is test do
-               var comment = api.load_commit_comment(repo, 8982707)
+               var comment = api.get_commit_comment("nitlang/nit", 8982707)
                assert comment isa CommitComment
                assert comment.user.login == "Morriar"
                assert comment.body == "For testing purposes...\n"
                assert comment.commit_id == "7eacb86d1e24b7e72bc9ac869bf7182c0300ceca"
        end
 
-       fun test_get_review_comments is test do
-               var comment = api.load_review_comment(repo, 21010363)
-               assert comment isa ReviewComment
-               assert comment.path == "src/modelize/modelize_property.nit"
-               assert comment.original_position == 26
-               assert comment.pull_number == 945
+       fun test_contributor_stats is test do
+               var stats = api.get_repo_contrib_stats("nitlang/nit")
+               assert stats.last.author.login == "privat"
+               assert stats.last.total == 4536
+               assert stats.last.weeks.length == 575
        end
 end
diff --git a/lib/github/tests/test_wallet.nit b/lib/github/tests/test_wallet.nit
new file mode 100644 (file)
index 0000000..e38c1d7
--- /dev/null
@@ -0,0 +1,69 @@
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+module test_wallet is test
+
+import wallet
+
+redef class GithubAPI
+
+       # Tokens mocked as valid
+       #
+       # All other tokens will be considered as bad credentials.
+       var valid_tokens = ["t1", "t2"]
+
+       # Mock so it returns the response from a file
+       #
+       # See `update_responses_cache`.
+       redef fun get_auth_user do
+               if not valid_tokens.has(auth) then
+                       was_error = true
+                       last_error = new GithubAPIError("""{
+                               "message":"Bad credentials",
+                               "documentation_url":"https://developer.github.com/v3"
+                       }""", 401, "/user")
+                       return null
+               end
+
+               was_error = false
+               last_error = null
+               return new User("test")
+       end
+end
+
+class TestGithubWallet
+       test
+
+       fun test_get_next_token is test do
+               var wallet = new GithubWallet(["t1", "t2", "t3"])
+
+               for j in [1..3] do
+                       for i in [1..3] do assert wallet.get_next_token == "t{i}"
+               end
+       end
+
+       fun test_get_api_only_bad is test do
+               var wallet = new GithubWallet(["bad1", "bad2"])
+               assert wallet.api.auth == "bad2"
+               assert wallet.api.auth == "bad2"
+       end
+
+       fun test_get_api is test do
+               var wallet = new GithubWallet(["bad1", "t1", "t2", "bad2"])
+               assert wallet.api.auth == "t1"
+               assert wallet.api.auth == "t2"
+               assert wallet.api.auth == "t1"
+               assert wallet.api.auth == "t2"
+       end
+end
index 985f7aa..000d042 100644 (file)
@@ -45,7 +45,7 @@
 # or
 #
 # ~~~
-# wallet = new GithubWallet.from_tokens(["token 1", "token 2"])
+# wallet = new GithubWallet(["token 1", "token 2"])
 # ~~~
 #
 # The `show_status` method can be used to display a summary of the validity of
@@ -69,7 +69,7 @@
 # instance with a fresh rate limit.
 #
 # ~~~
-# wallet = new GithubWallet.from_tokens(["token 1", "token 2"])
+# wallet = new GithubWallet(["token 1", "token 2"])
 # var api = wallet.api
 # ~~~
 #
 module wallet
 
 import github
-import console
+import logger
 
 # Github OAuth tokens wallet
 class GithubWallet
 
        # Github API tokens
-       var tokens = new Array[String]
+       var tokens = new Array[String] is optional
 
-       # Init `self` from a collection of tokens
-       init from_tokens(tokens: Collection[String]) do self.tokens.add_all tokens
-
-       # Do not use colors in console output
-       var no_colors = false is writable
-
-       # Display debug information about the token processing
-       var verbose = false is writable
+       # Logger used to display info about tokens state
+       var logger = new Logger is optional, writable
 
        # Add a new token in the wallet
        fun add(token: String) do tokens.add token
@@ -107,14 +101,14 @@ class GithubWallet
        fun api: GithubAPI do
                var token
                if tokens.is_empty then
-                       message "No tokens, using `get_github_oauth`"
+                       logger.warn "No tokens, using `get_github_oauth`"
                        token = get_github_oauth
                else
                        token = get_next_token
                        var tried = 0
                        while not check_token(token) do
                                if tried >= tokens.length - 1 then
-                                       message "Exhausted all tokens, using {token}"
+                                       logger.warn "Exhausted all tokens, using {token}"
                                        break
                                end
                                tried += 1
@@ -151,17 +145,16 @@ class GithubWallet
 
        # Check if a token is valid
        fun check_token(token: String): Bool do
-               message "Try token {token}"
+               logger.debug "Try token {token}"
                var api = new GithubAPI(token)
-               api.load_repo("nitlang/nit")
+               api.get_auth_user
                return not api.was_error
        end
 
-       # Print a message depending on `verbose`
-       fun message(message: String) do if verbose then print "[Github Wallet] {message}"
-
        # Show wallet status in console
-       fun show_status do
+       fun show_status(no_color: nullable Bool) do
+               no_color = no_color or else false
+
                if tokens.is_empty then
                        print "Wallet is empty"
                        return
@@ -170,9 +163,9 @@ class GithubWallet
                for token in tokens do
                        var status
                        if check_token(token) then
-                               status = if no_colors then "OK" else "OK".green
+                               status = if no_color then "OK" else "OK".green
                        else
-                               status = if no_colors then "KO" else "KO".red
+                               status = if no_color then "KO" else "KO".red
                        end
                        print " * [{status}] {token}"
                end
index 3dd71fb..285d032 100644 (file)
@@ -199,7 +199,7 @@ class GithubOAuthCallBack
 
                # Load github user
                var gh_api = new GithubAPI(access_token)
-               var user = gh_api.load_auth_user
+               var user = gh_api.get_auth_user
                if user == null then
                        res.error 401
                        return
index 81153c7..0a51e03 100644 (file)
@@ -109,7 +109,7 @@ pre {
        color: #333;
 }
 
-.nitdoc .synopsys {
+.nitdoc .synopsis {
        margin-top: 0;
 }
 
index 63a1356..4c61f1e 100644 (file)
@@ -22,7 +22,7 @@
        color: #333;
 }
 
-.nitdoc .synopsys {
+.nitdoc .synopsis {
        margin-top: 0;
 }
 
index ccfcdd0..9e4fc8d 100644 (file)
@@ -73,7 +73,7 @@ entity-list:hover .btn-filter {
 
 /* doc */
 
-.nitdoc .synopsys {
+.nitdoc .synopsis {
        margin-top: 0;
 }
 
index 8086bfd..dcf9b82 100644 (file)
 
 NITCOPT=--semi-global
 OLDNITCOPT=--semi-global
-OBJS=nitc nitpick nit nitls nitunit nitpm nitx nitlight nitserial nitrestful nitpackage
+OBJS=nitc nitpick nit nitls nitunit nitx nitlight nitserial nitrestful nitpackage
 SRCS=$(patsubst %,%.nit,$(OBJS))
 BINS=$(patsubst %,../bin/%,$(OBJS))
-MOREOBJS=nitdoc nitweb nitcatalog nitmetrics nitpretty nitweb
+MOREOBJS=nitdoc nitweb nitcatalog nitmetrics nitpretty nitweb nitpm
 MORESRCS=$(patsubst %,%.nit,$(MOREOBJS))
 MOREBINS=$(patsubst %,../bin/%,$(MOREOBJS))
 DEPS=$(wildcard *.nit */*.nit) parser/parser.nit
index e786374..f04c86d 100644 (file)
@@ -196,7 +196,7 @@ class MakefileToolchain
                var time1 = get_time
                self.toolcontext.info("*** END WRITING C: {time1-time0} ***", 2)
 
-               if not toolcontext.check_errors then return
+               toolcontext.check_errors
 
                # Execute the Makefile
 
index 24d1593..011aeef 100644 (file)
 module test_commands
 
 import commands_base
-import frontend
-import frontend::parse_examples
+import test_frontend
 
 # Nitunit test suite specific to commands
 class TestCommands
-
-       # The path to the testunit being executed
-       #
-       # Used to retrieve the path to sources to compile.
-       var test_path: String = "NIT_TESTING_PATH".environ.dirname is lazy
-
-       # Test program to compile
-       #
-       # Default is `$NIT_DIR/tests/test_prog`.
-       var test_src: String = test_path / "../../../../tests/test_prog" is lazy
-
-       # Model used for tests
-       var test_model: Model is noinit
-
-       # ModelBuilder used for tests
-       var test_builder: ModelBuilder is noinit
-
-       # Mainmodule used for tests
-       var test_main: MModule is noinit
-
-       # Initialize test variables
-       #
-       # Must be called before test execution.
-       # FIXME should be before_all
-       fun build_test_env is before do
-               var toolcontext = new ToolContext
-
-               # build model
-               var model = new Model
-               var modelbuilder = new ModelBuilder(model, toolcontext)
-               var mmodules = modelbuilder.parse_full([test_src])
-
-               # process
-               modelbuilder.run_phases
-               toolcontext.run_global_phases(mmodules)
-               var mainmodule = toolcontext.make_main_module(mmodules)
-
-               test_main = mainmodule
-               test_model = model
-               test_builder = modelbuilder
-       end
+       super TestModel
 end
index 6ec000f..1b86587 100644 (file)
@@ -400,7 +400,7 @@ redef class MDoc
        var html_synopsis: Writable is lazy do
                var res = new Template
                var syn = inline_proc.process(content.first)
-               res.add "<span class=\"synopsys nitdoc\">{syn}</span>"
+               res.add "<span class=\"synopsis nitdoc\">{syn}</span>"
                return res
        end
 
@@ -420,13 +420,13 @@ redef class MDoc
                var decorator = markdown_proc.decorator.as(NitdocDecorator)
                decorator.current_mdoc = self
                res.add "<div class=\"nitdoc\">"
-               # do not use DocUnit as synopsys
+               # do not use DocUnit as synopsis
                if not lines.is_empty then
                        if not lines.first.has_prefix("    ") and
                           not lines.first.has_prefix("\t") then
-                               # parse synopsys
+                               # parse synopsis
                                var syn = inline_proc.process(lines.shift)
-                               res.add "<h1 class=\"synopsys\">{syn}</h1>"
+                               res.add "<h1 class=\"synopsis\">{syn}</h1>"
                        end
                end
                # check for annotations
@@ -565,7 +565,7 @@ redef class Model
 
        # Get a markdown inline processor for Nitdoc comments.
        #
-       # This processor is specificaly designed to inlinable doc elements like synopsys.
+       # This processor is specificaly designed to inlinable doc elements like synopsis.
        var nitdoc_inline_processor: MarkdownProcessor is lazy, writable do
                var proc = new MarkdownProcessor
                proc.decorator = new InlineDecorator
index 4a442c5..55351fb 100644 (file)
@@ -35,7 +35,7 @@ redef class MDoc
                return res.write_to_string
        end
 
-       # Returns the synopsys formatted for the console
+       # Returns the synopsis formatted for the console
        fun cs_short_comment(no_color: nullable Bool): String do
                if no_color == null or not no_color then
                        return content.first.green
index 371d4cb..5b6b45f 100644 (file)
@@ -1 +1 @@
-<ul><li><a href="test_prog_58d_58dObject" title="Root of everything.">Object</a> - <span class="synopsys nitdoc">Root of everything.</span></li></ul>
+<ul><li><a href="test_prog_58d_58dObject" title="Root of everything.">Object</a> - <span class="synopsis nitdoc">Root of everything.</span></li></ul>
index b851952..6663e41 100644 (file)
@@ -1 +1 @@
-<ul><li><a href="test_prog_36dCharacter_36dObject_58d_58dinit">init</a></li><li><a href="test_prog_36dCharacter_36dtotal_strengh" title="The actual strength of the character.">total_strengh</a> - <span class="synopsys nitdoc">The actual strength of the character.</span></li></ul>
+<ul><li><a href="test_prog_36dCharacter_36dObject_58d_58dinit">init</a></li><li><a href="test_prog_36dCharacter_36dtotal_strengh" title="The actual strength of the character.">total_strengh</a> - <span class="synopsis nitdoc">The actual strength of the character.</span></li></ul>
index 04cf46a..d09e45e 100644 (file)
@@ -1 +1 @@
-<ul><li><a href="test_prog_58d_58dAlcoholic" title="Alcoholics are good to nothing escept taking punches.">Alcoholic</a> - <span class="synopsys nitdoc">Alcoholics are good to nothing escept taking punches.</span></li><li><a href="test_prog_58d_58dMagician" title="Magicians know magic and how to use it.">Magician</a> - <span class="synopsys nitdoc">Magicians know magic and how to use it.</span></li><li><a href="test_prog_58d_58dWarrior" title="Warriors are good for fighting.">Warrior</a> - <span class="synopsys nitdoc">Warriors are good for fighting.</span></li></ul>
+<ul><li><a href="test_prog_58d_58dAlcoholic" title="Alcoholics are good to nothing escept taking punches.">Alcoholic</a> - <span class="synopsis nitdoc">Alcoholics are good to nothing escept taking punches.</span></li><li><a href="test_prog_58d_58dMagician" title="Magicians know magic and how to use it.">Magician</a> - <span class="synopsis nitdoc">Magicians know magic and how to use it.</span></li><li><a href="test_prog_58d_58dWarrior" title="Warriors are good for fighting.">Warrior</a> - <span class="synopsis nitdoc">Warriors are good for fighting.</span></li></ul>
index fb53356..c949391 100644 (file)
@@ -1 +1 @@
-<h3><a href="test_prog_58d_58dCharacter" title="Characters can be played by both the human or the machine.">Character</a> - <span class="synopsys nitdoc">Characters can be played by both the human or the machine.</span></h3><div class="nitdoc"></div>
+<h3><a href="test_prog_58d_58dCharacter" title="Characters can be played by both the human or the machine.">Character</a> - <span class="synopsis nitdoc">Characters can be played by both the human or the machine.</span></h3><div class="nitdoc"></div>
index 04cf46a..d09e45e 100644 (file)
@@ -1 +1 @@
-<ul><li><a href="test_prog_58d_58dAlcoholic" title="Alcoholics are good to nothing escept taking punches.">Alcoholic</a> - <span class="synopsys nitdoc">Alcoholics are good to nothing escept taking punches.</span></li><li><a href="test_prog_58d_58dMagician" title="Magicians know magic and how to use it.">Magician</a> - <span class="synopsys nitdoc">Magicians know magic and how to use it.</span></li><li><a href="test_prog_58d_58dWarrior" title="Warriors are good for fighting.">Warrior</a> - <span class="synopsys nitdoc">Warriors are good for fighting.</span></li></ul>
+<ul><li><a href="test_prog_58d_58dAlcoholic" title="Alcoholics are good to nothing escept taking punches.">Alcoholic</a> - <span class="synopsis nitdoc">Alcoholics are good to nothing escept taking punches.</span></li><li><a href="test_prog_58d_58dMagician" title="Magicians know magic and how to use it.">Magician</a> - <span class="synopsis nitdoc">Magicians know magic and how to use it.</span></li><li><a href="test_prog_58d_58dWarrior" title="Warriors are good for fighting.">Warrior</a> - <span class="synopsis nitdoc">Warriors are good for fighting.</span></li></ul>
index e00f6c0..fc5836b 100644 (file)
@@ -1 +1 @@
-<ul><li><a href="test_prog_58d_58dtest_prog" title="A test program with a fake model to check model tools.">test_prog</a> - <span class="synopsys nitdoc">A test program with a fake model to check model tools.</span></li></ul>
+<ul><li><a href="test_prog_58d_58dtest_prog" title="A test program with a fake model to check model tools.">test_prog</a> - <span class="synopsis nitdoc">A test program with a fake model to check model tools.</span></li></ul>
index 59e52b3..e6f0d3a 100644 (file)
@@ -1 +1 @@
-<ul><li><a href="test_prog_58d_58dcareers" title="Careers of the game.">careers</a> - <span class="synopsys nitdoc">Careers of the game.</span></li><li><a href="test_prog_58d_58dcharacter" title="Characters are playable entity in the world.">character</a> - <span class="synopsys nitdoc">Characters are playable entity in the world.</span></li><li><a href="test_prog_58d_58dcombat" title="COmbat interactions between characters.">combat</a> - <span class="synopsys nitdoc">COmbat interactions between characters.</span></li><li><a href="excluded_58d_58dexcluded">excluded</a></li><li><a href="test_prog_58d_58dgame" title="A game abstraction for RPG.">game</a> - <span class="synopsys nitdoc">A game abstraction for RPG.</span></li><li><a href="test_prog_58d_58dgame_examples">game_examples</a></li><li><a href="test_prog_58d_58dplatform" title="Declares base types allowed on the platform.">platform</a> - <span class="synopsys nitdoc">Declares base types allowed on the platform.</span></li><li><a href="test_prog_58d_58draces" title="Races of the game.">races</a> - <span class="synopsys nitdoc">Races of the game.</span></li><li><a href="test_prog_58d_58drpg" title="A worlg RPG abstraction.">rpg</a> - <span class="synopsys nitdoc">A worlg RPG abstraction.</span></li><li><a href="test_prog_58d_58dtest_game">test_game</a></li><li><a href="test_prog_58d_58dtest_prog" title="A test program with a fake model to check model tools.">test_prog</a> - <span class="synopsys nitdoc">A test program with a fake model to check model tools.</span></li></ul>
+<ul><li><a href="test_prog_58d_58dcareers" title="Careers of the game.">careers</a> - <span class="synopsis nitdoc">Careers of the game.</span></li><li><a href="test_prog_58d_58dcharacter" title="Characters are playable entity in the world.">character</a> - <span class="synopsis nitdoc">Characters are playable entity in the world.</span></li><li><a href="test_prog_58d_58dcombat" title="COmbat interactions between characters.">combat</a> - <span class="synopsis nitdoc">COmbat interactions between characters.</span></li><li><a href="excluded_58d_58dexcluded">excluded</a></li><li><a href="test_prog_58d_58dgame" title="A game abstraction for RPG.">game</a> - <span class="synopsis nitdoc">A game abstraction for RPG.</span></li><li><a href="test_prog_58d_58dgame_examples">game_examples</a></li><li><a href="test_prog_58d_58dplatform" title="Declares base types allowed on the platform.">platform</a> - <span class="synopsis nitdoc">Declares base types allowed on the platform.</span></li><li><a href="test_prog_58d_58draces" title="Races of the game.">races</a> - <span class="synopsis nitdoc">Races of the game.</span></li><li><a href="test_prog_58d_58drpg" title="A worlg RPG abstraction.">rpg</a> - <span class="synopsis nitdoc">A worlg RPG abstraction.</span></li><li><a href="test_prog_58d_58dtest_game">test_game</a></li><li><a href="test_prog_58d_58dtest_prog" title="A test program with a fake model to check model tools.">test_prog</a> - <span class="synopsis nitdoc">A test program with a fake model to check model tools.</span></li></ul>
index 2953e58..3d4fcc3 100644 (file)
@@ -1 +1 @@
-<ul><li><a href="test_prog_58d_58dCareer" title="A `Career` gives a characteristic bonus or malus to the character.">Career</a> - <span class="synopsys nitdoc">A <code class="nitcode"><span class="nitcode"><span class="line"><span class="nc_t">Career</span></span></span></code> gives a characteristic bonus or malus to the character.</span></li></ul>
+<ul><li><a href="test_prog_58d_58dCareer" title="A `Career` gives a characteristic bonus or malus to the character.">Career</a> - <span class="synopsis nitdoc">A <code class="nitcode"><span class="nitcode"><span class="line"><span class="nc_t">Career</span></span></span></code> gives a characteristic bonus or malus to the character.</span></li></ul>
index 2953e58..3d4fcc3 100644 (file)
@@ -1 +1 @@
-<ul><li><a href="test_prog_58d_58dCareer" title="A `Career` gives a characteristic bonus or malus to the character.">Career</a> - <span class="synopsys nitdoc">A <code class="nitcode"><span class="nitcode"><span class="line"><span class="nc_t">Career</span></span></span></code> gives a characteristic bonus or malus to the character.</span></li></ul>
+<ul><li><a href="test_prog_58d_58dCareer" title="A `Career` gives a characteristic bonus or malus to the character.">Career</a> - <span class="synopsis nitdoc">A <code class="nitcode"><span class="nitcode"><span class="line"><span class="nc_t">Career</span></span></span></code> gives a characteristic bonus or malus to the character.</span></li></ul>
index 26a3c60..359d753 100644 (file)
@@ -12,7 +12,7 @@
                "class_name": "MClass",
                "full_name": "test_prog::Object",
                "visibility": "public",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">Root of everything.</span>",
+               "html_synopsis": "<span class=\"synopsis nitdoc\">Root of everything.</span>",
                "modifiers": ["interface"]
        }],
        "page": null,
index b49877d..0b60952 100644 (file)
@@ -38,7 +38,7 @@
                "class_name": "MMethodDef",
                "full_name": "test_prog$Character$total_strengh",
                "visibility": "public",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">The actual strength of the character.</span>",
+               "html_synopsis": "<span class=\"synopsis nitdoc\">The actual strength of the character.</span>",
                "modifiers": ["fun"],
                "is_intro": true,
                "msignature": {
@@ -47,7 +47,7 @@
                        "return_mtype": {
                                "name": "Int",
                                "synopsis": "Some services about Integers.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                        }
                }
        }],
index 0f1dd96..bc08d45 100644 (file)
@@ -12,7 +12,7 @@
                "class_name": "MClass",
                "full_name": "test_prog::Alcoholic",
                "visibility": "public",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">Alcoholics are good to nothing escept taking punches.</span>",
+               "html_synopsis": "<span class=\"synopsis nitdoc\">Alcoholics are good to nothing escept taking punches.</span>",
                "modifiers": ["class"]
        }, {
                "name": "Magician",
@@ -27,7 +27,7 @@
                "class_name": "MClass",
                "full_name": "test_prog::Magician",
                "visibility": "public",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">Magicians know magic and how to use it.</span>",
+               "html_synopsis": "<span class=\"synopsis nitdoc\">Magicians know magic and how to use it.</span>",
                "modifiers": ["class"]
        }, {
                "name": "Warrior",
@@ -42,7 +42,7 @@
                "class_name": "MClass",
                "full_name": "test_prog::Warrior",
                "visibility": "public",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">Warriors are good for fighting.</span>",
+               "html_synopsis": "<span class=\"synopsis nitdoc\">Warriors are good for fighting.</span>",
                "modifiers": ["class"]
        }],
        "page": null,
index 0f1dd96..bc08d45 100644 (file)
@@ -12,7 +12,7 @@
                "class_name": "MClass",
                "full_name": "test_prog::Alcoholic",
                "visibility": "public",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">Alcoholics are good to nothing escept taking punches.</span>",
+               "html_synopsis": "<span class=\"synopsis nitdoc\">Alcoholics are good to nothing escept taking punches.</span>",
                "modifiers": ["class"]
        }, {
                "name": "Magician",
@@ -27,7 +27,7 @@
                "class_name": "MClass",
                "full_name": "test_prog::Magician",
                "visibility": "public",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">Magicians know magic and how to use it.</span>",
+               "html_synopsis": "<span class=\"synopsis nitdoc\">Magicians know magic and how to use it.</span>",
                "modifiers": ["class"]
        }, {
                "name": "Warrior",
@@ -42,7 +42,7 @@
                "class_name": "MClass",
                "full_name": "test_prog::Warrior",
                "visibility": "public",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">Warriors are good for fighting.</span>",
+               "html_synopsis": "<span class=\"synopsis nitdoc\">Warriors are good for fighting.</span>",
                "modifiers": ["class"]
        }],
        "page": null,
index e229fc7..280be8f 100644 (file)
@@ -11,6 +11,6 @@
        "class_name": "MClass",
        "full_name": "test_prog::Character",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Characters can be played by both the human or the machine.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Characters can be played by both the human or the machine.</span>",
        "modifiers": ["class"]
 }
index e483a2e..88019d8 100644 (file)
@@ -20,7 +20,7 @@
                "static_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }, {
                "name": "_intelligence_bonus",
@@ -43,7 +43,7 @@
                "static_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }, {
                "name": "_strength_bonus",
@@ -66,7 +66,7 @@
                "static_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }, {
                "name": "endurance_bonus",
@@ -89,7 +89,7 @@
                        "return_mtype": {
                                "name": "Int",
                                "synopsis": "Some services about Integers.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                        }
                }
        }, {
                                "mtype": {
                                        "name": "Int",
                                        "synopsis": "Some services about Integers.",
-                                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                                }
                        }],
                        "return_mtype": null
                        "return_mtype": {
                                "name": "Int",
                                "synopsis": "Some services about Integers.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                        }
                }
        }, {
                                "mtype": {
                                        "name": "Int",
                                        "synopsis": "Some services about Integers.",
-                                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                                }
                        }],
                        "return_mtype": null
                        "return_mtype": {
                                "name": "Int",
                                "synopsis": "Some services about Integers.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                        }
                }
        }, {
                                "mtype": {
                                        "name": "Int",
                                        "synopsis": "Some services about Integers.",
-                                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                                }
                        }],
                        "return_mtype": null
index 529d91b..33c44c6 100644 (file)
@@ -12,7 +12,7 @@
                "class_name": "MModule",
                "full_name": "test_prog::test_prog",
                "visibility": "public",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">A test program with a fake model to check model tools.</span>",
+               "html_synopsis": "<span class=\"synopsis nitdoc\">A test program with a fake model to check model tools.</span>",
                "modifiers": ["module"]
        }]
 }
index 5d6c8d9..b4597e1 100644 (file)
@@ -12,7 +12,7 @@
                "class_name": "MModule",
                "full_name": "test_prog::careers",
                "visibility": "public",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">Careers of the game.</span>",
+               "html_synopsis": "<span class=\"synopsis nitdoc\">Careers of the game.</span>",
                "modifiers": ["module"]
        }, {
                "name": "character",
@@ -27,7 +27,7 @@
                "class_name": "MModule",
                "full_name": "test_prog::character",
                "visibility": "public",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">Characters are playable entity in the world.</span>",
+               "html_synopsis": "<span class=\"synopsis nitdoc\">Characters are playable entity in the world.</span>",
                "modifiers": ["module"]
        }, {
                "name": "combat",
@@ -42,7 +42,7 @@
                "class_name": "MModule",
                "full_name": "test_prog::combat",
                "visibility": "public",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">COmbat interactions between characters.</span>",
+               "html_synopsis": "<span class=\"synopsis nitdoc\">COmbat interactions between characters.</span>",
                "modifiers": ["module"]
        }, {
                "name": "excluded",
@@ -68,7 +68,7 @@
                "class_name": "MModule",
                "full_name": "test_prog::game",
                "visibility": "public",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">A game abstraction for RPG.</span>",
+               "html_synopsis": "<span class=\"synopsis nitdoc\">A game abstraction for RPG.</span>",
                "modifiers": ["module"]
        }, {
                "name": "game_examples",
@@ -95,7 +95,7 @@
                "class_name": "MModule",
                "full_name": "test_prog::platform",
                "visibility": "public",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">Declares base types allowed on the platform.</span>",
+               "html_synopsis": "<span class=\"synopsis nitdoc\">Declares base types allowed on the platform.</span>",
                "modifiers": ["module"]
        }, {
                "name": "races",
                "class_name": "MModule",
                "full_name": "test_prog::races",
                "visibility": "public",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">Races of the game.</span>",
+               "html_synopsis": "<span class=\"synopsis nitdoc\">Races of the game.</span>",
                "modifiers": ["module"]
        }, {
                "name": "rpg",
                "class_name": "MModule",
                "full_name": "test_prog::rpg",
                "visibility": "public",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">A worlg RPG abstraction.</span>",
+               "html_synopsis": "<span class=\"synopsis nitdoc\">A worlg RPG abstraction.</span>",
                "modifiers": ["module"]
        }, {
                "name": "test_game",
                "class_name": "MModule",
                "full_name": "test_prog::test_prog",
                "visibility": "public",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">A test program with a fake model to check model tools.</span>",
+               "html_synopsis": "<span class=\"synopsis nitdoc\">A test program with a fake model to check model tools.</span>",
                "modifiers": ["module"]
        }],
        "page": null,
index 5e2fe63..f734635 100644 (file)
@@ -12,7 +12,7 @@
                "class_name": "MClass",
                "full_name": "test_prog::Career",
                "visibility": "public",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">A <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Career</span></span></span></code> gives a characteristic bonus or malus to the character.</span>",
+               "html_synopsis": "<span class=\"synopsis nitdoc\">A <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Career</span></span></span></code> gives a characteristic bonus or malus to the character.</span>",
                "modifiers": ["abstract class"]
        }],
        "page": null,
index 93e7114..853bacb 100644 (file)
@@ -12,7 +12,7 @@
                "class_name": "MClass",
                "full_name": "test_prog::Career",
                "visibility": "public",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">A <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Career</span></span></span></code> gives a characteristic bonus or malus to the character.</span>",
+               "html_synopsis": "<span class=\"synopsis nitdoc\">A <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Career</span></span></span></code> gives a characteristic bonus or malus to the character.</span>",
                "modifiers": ["abstract class"]
        }],
        "page": 1,
index d2f6c12..480eda7 100644 (file)
 module test_json_model is test
 
 import json_model
-import frontend
+import test_frontend
 
 class TestModelSerialization
+       super TestModel
        test
 
-       var suite_path: String = "NIT_TESTING_PATH".environ
-       var lib_path: String = "{suite_path.dirname}/../../../../tests/test_prog"
-
-       var mainmodule: MModule is noinit
-
-       private var model: Model do
-               var toolcontext = new ToolContext
-               var model = new Model
-               var mbuilder = new ModelBuilder(model, toolcontext)
-               var mmodules = mbuilder.parse_full([lib_path])
-               if mmodules.is_empty then return model
-               mbuilder.run_phases
-               toolcontext.run_global_phases(mmodules)
-               mainmodule = mmodules.first
-               return model
-       end
-
        fun test_refs_to_full_json is test do
                var mentities = new Array[MEntity]
-               mentities.add model.mpackages.first
-               mentities.add model.mmodules.first
-               mentities.add model.mclasses.first
+               mentities.add test_model.mpackages.first
+               mentities.add test_model.mmodules.first
+               mentities.add test_model.mclasses.first
                for mentity in mentities do
                        print ((new MEntityRef(mentity)).serialize_to_json(pretty = true, plain = true))
                end
        end
 
        fun test_packages_to_full_json is test do
-               for mentity in model.mpackages do
+               for mentity in test_model.mpackages do
                        print mentity.serialize_to_json(pretty = true, plain = true)
                end
        end
 
        fun test_groups_to_full_json is test do
-               for mpackage in model.mpackages do
+               for mpackage in test_model.mpackages do
                        for mentity in mpackage.mgroups do
                                print mentity.serialize_to_json(pretty = true, plain = true)
                        end
@@ -62,19 +46,19 @@ class TestModelSerialization
        end
 
        fun test_modules_to_full_json is test do
-               for mentity in model.mmodules do
+               for mentity in test_model.mmodules do
                        print mentity.serialize_to_json(pretty = true, plain = true)
                end
        end
 
        fun test_classes_to_full_json is test do
-               for mentity in model.mclasses do
+               for mentity in test_model.mclasses do
                        print mentity.serialize_to_json(pretty = true, plain = true)
                end
        end
 
        fun test_classdefs_to_full_json is test do
-               for mclass in model.mclasses do
+               for mclass in test_model.mclasses do
                        for mentity in mclass.mclassdefs do
                                print mentity.serialize_to_json(pretty = true, plain = true)
                        end
@@ -82,13 +66,13 @@ class TestModelSerialization
        end
 
        fun test_props_to_full_json is test do
-               for mentity in model.mproperties do
+               for mentity in test_model.mproperties do
                        print mentity.serialize_to_json(pretty = true, plain = true)
                end
        end
 
        fun test_propdefs_to_full_json is test do
-               for mprop in model.mproperties do
+               for mprop in test_model.mproperties do
                        for mentity in mprop.mpropdefs do
                                print mentity.serialize_to_json(pretty = true, plain = true)
                        end
index 42e562f..7c30dab 100644 (file)
@@ -11,7 +11,7 @@
        "class_name": "MClassDef",
        "full_name": "test_prog$Object",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Root of everything.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Root of everything.</span>",
        "modifiers": ["interface"],
        "is_intro": true
 }
@@ -28,7 +28,7 @@
        "class_name": "MClassDef",
        "full_name": "test_prog$Int",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>",
        "modifiers": ["class"],
        "is_intro": true
 }
@@ -45,7 +45,7 @@
        "class_name": "MClassDef",
        "full_name": "test_prog$Float",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Floats.</span>",
        "modifiers": ["class"],
        "is_intro": true
 }
@@ -62,7 +62,7 @@
        "class_name": "MClassDef",
        "full_name": "test_prog$Bool",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>",
        "modifiers": ["class"],
        "is_intro": true
 }
@@ -79,7 +79,7 @@
        "class_name": "MClassDef",
        "full_name": "test_prog$String",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Strings (there is no chars...).</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Strings (there is no chars...).</span>",
        "modifiers": ["class"],
        "is_intro": true
 }
@@ -96,7 +96,7 @@
        "class_name": "MClassDef",
        "full_name": "test_prog$List",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">List of things.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">List of things.</span>",
        "modifiers": ["class"],
        "is_intro": true,
        "mparameters": [{
                "mtype": {
                        "name": "nullable Object",
                        "synopsis": "Root of everything.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Root of everything.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Root of everything.</span>"
                }
        }]
 }
        "class_name": "MClassDef",
        "full_name": "test_prog$Sys",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Sys</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Sys</span>",
        "modifiers": ["class"],
        "is_intro": true
 }
        "class_name": "MClassDef",
        "full_name": "test_prog::test_prog$Sys",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Sys</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Sys</span>",
        "modifiers": ["redef", "class"]
 }
 {
        "class_name": "MClassDef",
        "full_name": "test_prog$Career",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">A <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Career</span></span></span></code> gives a characteristic bonus or malus to the character.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">A <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Career</span></span></span></code> gives a characteristic bonus or malus to the character.</span>",
        "modifiers": ["abstract class"],
        "is_intro": true
 }
        "class_name": "MClassDef",
        "full_name": "test_prog$Warrior",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Warriors are good for fighting.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Warriors are good for fighting.</span>",
        "modifiers": ["class"],
        "is_intro": true
 }
        "class_name": "MClassDef",
        "full_name": "test_prog$Magician",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Magicians know magic and how to use it.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Magicians know magic and how to use it.</span>",
        "modifiers": ["class"],
        "is_intro": true
 }
        "class_name": "MClassDef",
        "full_name": "test_prog$Alcoholic",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Alcoholics are good to nothing escept taking punches.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Alcoholics are good to nothing escept taking punches.</span>",
        "modifiers": ["class"],
        "is_intro": true
 }
        "class_name": "MClassDef",
        "full_name": "test_prog$Race",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Race determines basic characteristics and what the character will be able to do in life.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Race determines basic characteristics and what the character will be able to do in life.</span>",
        "modifiers": ["abstract class"],
        "is_intro": true
 }
        "class_name": "MClassDef",
        "full_name": "test_prog$Human",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Humans are able to do everithing.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Humans are able to do everithing.</span>",
        "modifiers": ["class"],
        "is_intro": true
 }
        "class_name": "MClassDef",
        "full_name": "test_prog$Dwarf",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Dwarves make strong warriors.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Dwarves make strong warriors.</span>",
        "modifiers": ["class"],
        "is_intro": true
 }
        "class_name": "MClassDef",
        "full_name": "test_prog::combat$Dwarf",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Dwarves can be used as weapons.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Dwarves can be used as weapons.</span>",
        "modifiers": ["redef", "class"]
 }
 {
        "class_name": "MClassDef",
        "full_name": "test_prog$Elf",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Elves make good magicians.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Elves make good magicians.</span>",
        "modifiers": ["class"],
        "is_intro": true
 }
        "class_name": "MClassDef",
        "full_name": "test_prog$Character",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Characters can be played by both the human or the machine.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Characters can be played by both the human or the machine.</span>",
        "modifiers": ["class"],
        "is_intro": true
 }
        "class_name": "MClassDef",
        "full_name": "test_prog::combat$Character",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Characters are now <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Comabatable</span></span></span></code></span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Characters are now <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Comabatable</span></span></span></code></span>",
        "modifiers": ["redef", "class"]
 }
 {
        "class_name": "MClassDef",
        "full_name": "test_prog$Weapon",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Something that can be used to attack someone and inflict damage.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Something that can be used to attack someone and inflict damage.</span>",
        "modifiers": ["interface"],
        "is_intro": true
 }
        "class_name": "MClassDef",
        "full_name": "test_prog$Combatable",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Something that can be combatted, it can <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">attack</span></span></span></code> and <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">defend</span></span></span></code>.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Something that can be combatted, it can <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">attack</span></span></span></code> and <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">defend</span></span></span></code>.</span>",
        "modifiers": ["interface"],
        "is_intro": true
 }
        "class_name": "MClassDef",
        "full_name": "test_prog$Game",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">This is the interface you have to implement to use ure gaming platform.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">This is the interface you have to implement to use ure gaming platform.</span>",
        "modifiers": ["interface"],
        "is_intro": true
 }
        "class_name": "MClassDef",
        "full_name": "test_prog$MyGame",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">This is an example of how to implement the Game interface</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">This is an example of how to implement the Game interface</span>",
        "modifiers": ["class"],
        "is_intro": true
 }
index 18c77c4..bd913fb 100644 (file)
@@ -11,7 +11,7 @@
        "class_name": "MClass",
        "full_name": "test_prog::Object",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Root of everything.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Root of everything.</span>",
        "modifiers": ["interface"]
 }
 {
@@ -27,7 +27,7 @@
        "class_name": "MClass",
        "full_name": "test_prog::Int",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>",
        "modifiers": ["class"]
 }
 {
@@ -43,7 +43,7 @@
        "class_name": "MClass",
        "full_name": "test_prog::Float",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Floats.</span>",
        "modifiers": ["class"]
 }
 {
@@ -59,7 +59,7 @@
        "class_name": "MClass",
        "full_name": "test_prog::Bool",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>",
        "modifiers": ["class"]
 }
 {
@@ -75,7 +75,7 @@
        "class_name": "MClass",
        "full_name": "test_prog::String",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Strings (there is no chars...).</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Strings (there is no chars...).</span>",
        "modifiers": ["class"]
 }
 {
        "class_name": "MClass",
        "full_name": "test_prog::List",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">List of things.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">List of things.</span>",
        "modifiers": ["class"],
        "mparameters": [{
                "name": "E",
                "mtype": {
                        "name": "nullable Object",
                        "synopsis": "Root of everything.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Root of everything.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Root of everything.</span>"
                }
        }]
 }
        "class_name": "MClass",
        "full_name": "test_prog::Sys",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Sys</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Sys</span>",
        "modifiers": ["class"]
 }
 {
        "class_name": "MClass",
        "full_name": "test_prog::Career",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">A <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Career</span></span></span></code> gives a characteristic bonus or malus to the character.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">A <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Career</span></span></span></code> gives a characteristic bonus or malus to the character.</span>",
        "modifiers": ["abstract class"]
 }
 {
        "class_name": "MClass",
        "full_name": "test_prog::Warrior",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Warriors are good for fighting.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Warriors are good for fighting.</span>",
        "modifiers": ["class"]
 }
 {
        "class_name": "MClass",
        "full_name": "test_prog::Magician",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Magicians know magic and how to use it.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Magicians know magic and how to use it.</span>",
        "modifiers": ["class"]
 }
 {
        "class_name": "MClass",
        "full_name": "test_prog::Alcoholic",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Alcoholics are good to nothing escept taking punches.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Alcoholics are good to nothing escept taking punches.</span>",
        "modifiers": ["class"]
 }
 {
        "class_name": "MClass",
        "full_name": "test_prog::Race",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Race determines basic characteristics and what the character will be able to do in life.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Race determines basic characteristics and what the character will be able to do in life.</span>",
        "modifiers": ["abstract class"]
 }
 {
        "class_name": "MClass",
        "full_name": "test_prog::Human",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Humans are able to do everithing.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Humans are able to do everithing.</span>",
        "modifiers": ["class"]
 }
 {
        "class_name": "MClass",
        "full_name": "test_prog::Dwarf",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Dwarves make strong warriors.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Dwarves make strong warriors.</span>",
        "modifiers": ["class"]
 }
 {
        "class_name": "MClass",
        "full_name": "test_prog::Elf",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Elves make good magicians.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Elves make good magicians.</span>",
        "modifiers": ["class"]
 }
 {
        "class_name": "MClass",
        "full_name": "test_prog::Character",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Characters can be played by both the human or the machine.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Characters can be played by both the human or the machine.</span>",
        "modifiers": ["class"]
 }
 {
        "class_name": "MClass",
        "full_name": "test_prog::Weapon",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Something that can be used to attack someone and inflict damage.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Something that can be used to attack someone and inflict damage.</span>",
        "modifiers": ["interface"]
 }
 {
        "class_name": "MClass",
        "full_name": "test_prog::Combatable",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Something that can be combatted, it can <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">attack</span></span></span></code> and <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">defend</span></span></span></code>.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Something that can be combatted, it can <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">attack</span></span></span></code> and <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">defend</span></span></span></code>.</span>",
        "modifiers": ["interface"]
 }
 {
        "class_name": "MClass",
        "full_name": "test_prog::Game",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">This is the interface you have to implement to use ure gaming platform.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">This is the interface you have to implement to use ure gaming platform.</span>",
        "modifiers": ["interface"]
 }
 {
        "class_name": "MClass",
        "full_name": "test_prog::MyGame",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">This is an example of how to implement the Game interface</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">This is an example of how to implement the Game interface</span>",
        "modifiers": ["class"]
 }
 {
index 885eefe..48db918 100644 (file)
@@ -8,7 +8,7 @@
        "class_name": "MGroup",
        "full_name": "test_prog>",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Test program for model tools.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Test program for model tools.</span>",
        "modifiers": ["group"]
 }
 {
@@ -37,7 +37,7 @@
        "class_name": "MGroup",
        "full_name": "test_prog>game>",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Gaming group</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Gaming group</span>",
        "modifiers": ["group"]
 }
 {
@@ -66,7 +66,7 @@
        "class_name": "MGroup",
        "full_name": "test_prog>platform>",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Fictive Crappy Platform.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Fictive Crappy Platform.</span>",
        "modifiers": ["group"]
 }
 {
@@ -82,7 +82,7 @@
        "class_name": "MGroup",
        "full_name": "test_prog>rpg>",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Role Playing Game group</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Role Playing Game group</span>",
        "modifiers": ["group"]
 }
 {
index 857fcb1..ee79241 100644 (file)
@@ -36,7 +36,7 @@
        "class_name": "MModule",
        "full_name": "test_prog::game",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">A game abstraction for RPG.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">A game abstraction for RPG.</span>",
        "modifiers": ["module"]
 }
 {
@@ -52,7 +52,7 @@
        "class_name": "MModule",
        "full_name": "test_prog::platform",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Declares base types allowed on the platform.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Declares base types allowed on the platform.</span>",
        "modifiers": ["module"]
 }
 {
@@ -68,7 +68,7 @@
        "class_name": "MModule",
        "full_name": "test_prog::careers",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Careers of the game.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Careers of the game.</span>",
        "modifiers": ["module"]
 }
 {
@@ -84,7 +84,7 @@
        "class_name": "MModule",
        "full_name": "test_prog::character",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Characters are playable entity in the world.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Characters are playable entity in the world.</span>",
        "modifiers": ["module"]
 }
 {
        "class_name": "MModule",
        "full_name": "test_prog::combat",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">COmbat interactions between characters.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">COmbat interactions between characters.</span>",
        "modifiers": ["module"]
 }
 {
        "class_name": "MModule",
        "full_name": "test_prog::races",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Races of the game.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Races of the game.</span>",
        "modifiers": ["module"]
 }
 {
        "class_name": "MModule",
        "full_name": "test_prog::rpg",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">A worlg RPG abstraction.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">A worlg RPG abstraction.</span>",
        "modifiers": ["module"]
 }
 {
        "class_name": "MModule",
        "full_name": "test_prog::test_prog",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">A test program with a fake model to check model tools.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">A test program with a fake model to check model tools.</span>",
        "modifiers": ["module"]
 }
 {
        "visibility": "public",
        "modifiers": ["module"]
 }
+{
+       "name": "test_prog-m",
+       "namespace": [{
+               "name": "test_prog-m"
+       }],
+       "class_name": "MModule",
+       "full_name": "test_prog-m",
+       "visibility": "public",
+       "modifiers": ["module"]
+}
index 8715a80..6291dc0 100644 (file)
@@ -8,7 +8,7 @@
        "class_name": "MPackage",
        "full_name": "test_prog",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Test program for model tools.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Test program for model tools.</span>",
        "modifiers": ["package"],
        "license": "Apache-2.0",
        "tags": ["test", "game"]
index ea14337..802b1ec 100644 (file)
        "class_name": "MVirtualTypeDef",
        "full_name": "test_prog$Object$OTHER",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Used for comparisons.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Used for comparisons.</span>",
        "modifiers": ["type"],
        "is_intro": true,
        "bound": {
                "name": "nullable Object",
                "synopsis": "Root of everything.",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">Root of everything.</span>"
+               "html_synopsis": "<span class=\"synopsis nitdoc\">Root of everything.</span>"
        }
 }
 {
@@ -39,7 +39,7 @@
        "class_name": "MMethodDef",
        "full_name": "test_prog$Object$==",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Is <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">other</span></span></span></code> equqls to <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">self</span></span></span></code>?</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Is <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">other</span></span></span></code> equqls to <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">self</span></span></span></code>?</span>",
        "modifiers": ["intern", "fun"],
        "is_intro": true,
        "msignature": {
                        "mtype": {
                                "name": "OTHER",
                                "synopsis": "Used for comparisons.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Used for comparisons.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Used for comparisons.</span>"
                        }
                }],
                "return_mtype": {
                        "name": "Bool",
                        "synopsis": "Booleans, `true` or `false`.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>"
                }
        }
 }
@@ -76,7 +76,7 @@
        "class_name": "MMethodDef",
        "full_name": "test_prog$Object$!=",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Is <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">other</span></span></span></code> different from <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">self</span></span></span></code>?</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Is <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">other</span></span></span></code> different from <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">self</span></span></span></code>?</span>",
        "modifiers": ["fun"],
        "is_intro": true,
        "msignature": {
                        "mtype": {
                                "name": "OTHER",
                                "synopsis": "Used for comparisons.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Used for comparisons.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Used for comparisons.</span>"
                        }
                }],
                "return_mtype": {
                        "name": "Bool",
                        "synopsis": "Booleans, `true` or `false`.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>"
                }
        }
 }
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
                        "mtype": {
                                "name": "Int",
                                "synopsis": "Some services about Integers.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
                        "mtype": {
                                "name": "Int",
                                "synopsis": "Some services about Integers.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
                        "mtype": {
                                "name": "Int",
                                "synopsis": "Some services about Integers.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
                        "mtype": {
                                "name": "Int",
                                "synopsis": "Some services about Integers.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
                        "mtype": {
                                "name": "Int",
                                "synopsis": "Some services about Integers.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": {
                        "name": "Bool",
                        "synopsis": "Booleans, `true` or `false`.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>"
                }
        }
 }
                "return_mtype": {
                        "name": "Float",
                        "synopsis": "Some services about Floats.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Floats.</span>"
                }
        }
 }
                        "mtype": {
                                "name": "Float",
                                "synopsis": "Some services about Floats.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Floats.</span>"
                        }
                }],
                "return_mtype": {
                        "name": "Float",
                        "synopsis": "Some services about Floats.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Floats.</span>"
                }
        }
 }
                        "mtype": {
                                "name": "Float",
                                "synopsis": "Some services about Floats.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Floats.</span>"
                        }
                }],
                "return_mtype": {
                        "name": "Float",
                        "synopsis": "Some services about Floats.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Floats.</span>"
                }
        }
 }
                        "mtype": {
                                "name": "Float",
                                "synopsis": "Some services about Floats.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Floats.</span>"
                        }
                }],
                "return_mtype": {
                        "name": "Float",
                        "synopsis": "Some services about Floats.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Floats.</span>"
                }
        }
 }
                        "mtype": {
                                "name": "Float",
                                "synopsis": "Some services about Floats.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Floats.</span>"
                        }
                }],
                "return_mtype": {
                        "name": "Float",
                        "synopsis": "Some services about Floats.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Floats.</span>"
                }
        }
 }
                        "mtype": {
                                "name": "Float",
                                "synopsis": "Some services about Floats.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Floats.</span>"
                        }
                }],
                "return_mtype": {
                        "name": "Bool",
                        "synopsis": "Booleans, `true` or `false`.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>"
                }
        }
 }
        "static_mtype": {
                "name": "Int",
                "synopsis": "Some services about Integers.",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
        }
 }
 {
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
                        "mtype": {
                                "name": "Int",
                                "synopsis": "Some services about Integers.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": null
        "static_mtype": {
                "name": "Int",
                "synopsis": "Some services about Integers.",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
        }
 }
 {
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
                        "mtype": {
                                "name": "Int",
                                "synopsis": "Some services about Integers.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": null
        "static_mtype": {
                "name": "Int",
                "synopsis": "Some services about Integers.",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
        }
 }
 {
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
                        "mtype": {
                                "name": "Int",
                                "synopsis": "Some services about Integers.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": null
        "class_name": "MAttributeDef",
        "full_name": "test_prog$Race$_base_strength",
        "visibility": "private",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Used to represents how strong the race is.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Used to represents how strong the race is.</span>",
        "modifiers": ["private", "var"],
        "is_intro": true,
        "static_mtype": {
                "name": "Int",
                "synopsis": "Some services about Integers.",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
        }
 }
 {
        "class_name": "MMethodDef",
        "full_name": "test_prog$Race$base_strength",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Used to represents how strong the race is.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Used to represents how strong the race is.</span>",
        "modifiers": ["fun"],
        "is_intro": true,
        "msignature": {
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
        "class_name": "MMethodDef",
        "full_name": "test_prog$Race$base_strength=",
        "visibility": "protected",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Used to represents how strong the race is.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Used to represents how strong the race is.</span>",
        "modifiers": ["protected", "fun"],
        "is_intro": true,
        "msignature": {
                        "mtype": {
                                "name": "Int",
                                "synopsis": "Some services about Integers.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": null
        "class_name": "MAttributeDef",
        "full_name": "test_prog$Race$_base_endurance",
        "visibility": "private",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Used to represents how the race can absorb damage.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Used to represents how the race can absorb damage.</span>",
        "modifiers": ["private", "var"],
        "is_intro": true,
        "static_mtype": {
                "name": "Int",
                "synopsis": "Some services about Integers.",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
        }
 }
 {
        "class_name": "MMethodDef",
        "full_name": "test_prog$Race$base_endurance",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Used to represents how the race can absorb damage.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Used to represents how the race can absorb damage.</span>",
        "modifiers": ["fun"],
        "is_intro": true,
        "msignature": {
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
        "class_name": "MMethodDef",
        "full_name": "test_prog$Race$base_endurance=",
        "visibility": "protected",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Used to represents how the race can absorb damage.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Used to represents how the race can absorb damage.</span>",
        "modifiers": ["protected", "fun"],
        "is_intro": true,
        "msignature": {
                        "mtype": {
                                "name": "Int",
                                "synopsis": "Some services about Integers.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": null
        "class_name": "MAttributeDef",
        "full_name": "test_prog$Race$_base_intelligence",
        "visibility": "private",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Is this race smart?</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Is this race smart?</span>",
        "modifiers": ["private", "var"],
        "is_intro": true,
        "static_mtype": {
                "name": "Int",
                "synopsis": "Some services about Integers.",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
        }
 }
 {
        "class_name": "MMethodDef",
        "full_name": "test_prog$Race$base_intelligence",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Is this race smart?</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Is this race smart?</span>",
        "modifiers": ["fun"],
        "is_intro": true,
        "msignature": {
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
        "class_name": "MMethodDef",
        "full_name": "test_prog$Race$base_intelligence=",
        "visibility": "protected",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Is this race smart?</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Is this race smart?</span>",
        "modifiers": ["protected", "fun"],
        "is_intro": true,
        "msignature": {
                        "mtype": {
                                "name": "Int",
                                "synopsis": "Some services about Integers.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": null
        "class_name": "MAttributeDef",
        "full_name": "test_prog$Character$_race",
        "visibility": "private",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">The <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Race</span></span></span></code> of the character.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">The <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Race</span></span></span></code> of the character.</span>",
        "modifiers": ["private", "var"],
        "is_intro": true,
        "static_mtype": {
                "name": "Race",
                "synopsis": "Race determines basic characteristics and what the character will be able to do in life.",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">Race determines basic characteristics and what the character will be able to do in life.</span>"
+               "html_synopsis": "<span class=\"synopsis nitdoc\">Race determines basic characteristics and what the character will be able to do in life.</span>"
        }
 }
 {
        "class_name": "MMethodDef",
        "full_name": "test_prog$Character$race",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">The <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Race</span></span></span></code> of the character.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">The <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Race</span></span></span></code> of the character.</span>",
        "modifiers": ["fun"],
        "is_intro": true,
        "msignature": {
                "return_mtype": {
                        "name": "Race",
                        "synopsis": "Race determines basic characteristics and what the character will be able to do in life.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Race determines basic characteristics and what the character will be able to do in life.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Race determines basic characteristics and what the character will be able to do in life.</span>"
                }
        }
 }
        "class_name": "MMethodDef",
        "full_name": "test_prog$Character$race=",
        "visibility": "protected",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">The <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Race</span></span></span></code> of the character.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">The <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Race</span></span></span></code> of the character.</span>",
        "modifiers": ["protected", "fun"],
        "is_intro": true,
        "msignature": {
                        "mtype": {
                                "name": "Race",
                                "synopsis": "Race determines basic characteristics and what the character will be able to do in life.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Race determines basic characteristics and what the character will be able to do in life.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Race determines basic characteristics and what the character will be able to do in life.</span>"
                        }
                }],
                "return_mtype": null
        "class_name": "MAttributeDef",
        "full_name": "test_prog$Character$_career",
        "visibility": "private",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">The current <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Career</span></span></span></code> of the character.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">The current <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Career</span></span></span></code> of the character.</span>",
        "modifiers": ["private", "var"],
        "is_intro": true,
        "static_mtype": {
                "name": "nullable Career",
                "synopsis": "A `Career` gives a characteristic bonus or malus to the character.",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">A <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Career</span></span></span></code> gives a characteristic bonus or malus to the character.</span>"
+               "html_synopsis": "<span class=\"synopsis nitdoc\">A <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Career</span></span></span></code> gives a characteristic bonus or malus to the character.</span>"
        }
 }
 {
        "class_name": "MMethodDef",
        "full_name": "test_prog$Character$career",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">The current <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Career</span></span></span></code> of the character.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">The current <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Career</span></span></span></code> of the character.</span>",
        "modifiers": ["fun"],
        "is_intro": true,
        "msignature": {
                "return_mtype": {
                        "name": "nullable Career",
                        "synopsis": "A `Career` gives a characteristic bonus or malus to the character.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">A <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Career</span></span></span></code> gives a characteristic bonus or malus to the character.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">A <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Career</span></span></span></code> gives a characteristic bonus or malus to the character.</span>"
                }
        }
 }
        "class_name": "MMethodDef",
        "full_name": "test_prog$Character$career=",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">The current <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Career</span></span></span></code> of the character.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">The current <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Career</span></span></span></code> of the character.</span>",
        "modifiers": ["fun"],
        "is_intro": true,
        "msignature": {
                        "mtype": {
                                "name": "nullable Career",
                                "synopsis": "A `Career` gives a characteristic bonus or malus to the character.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">A <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Career</span></span></span></code> gives a characteristic bonus or malus to the character.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">A <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Career</span></span></span></code> gives a characteristic bonus or malus to the character.</span>"
                        }
                }],
                "return_mtype": null
        "static_mtype": {
                "name": "String",
                "synopsis": "Strings (there is no chars...).",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">Strings (there is no chars...).</span>"
+               "html_synopsis": "<span class=\"synopsis nitdoc\">Strings (there is no chars...).</span>"
        }
 }
 {
                "return_mtype": {
                        "name": "String",
                        "synopsis": "Strings (there is no chars...).",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Strings (there is no chars...).</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Strings (there is no chars...).</span>"
                }
        }
 }
                        "mtype": {
                                "name": "String",
                                "synopsis": "Strings (there is no chars...).",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Strings (there is no chars...).</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Strings (there is no chars...).</span>"
                        }
                }],
                "return_mtype": null
        "static_mtype": {
                "name": "Int",
                "synopsis": "Some services about Integers.",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
        }
 }
 {
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
                        "mtype": {
                                "name": "Int",
                                "synopsis": "Some services about Integers.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": null
        "static_mtype": {
                "name": "Bool",
                "synopsis": "Booleans, `true` or `false`.",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>"
+               "html_synopsis": "<span class=\"synopsis nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>"
        }
 }
 {
                "return_mtype": {
                        "name": "Bool",
                        "synopsis": "Booleans, `true` or `false`.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>"
                }
        }
 }
                        "mtype": {
                                "name": "Bool",
                                "synopsis": "Booleans, `true` or `false`.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>"
                        }
                }],
                "return_mtype": null
        "class_name": "MMethodDef",
        "full_name": "test_prog$Character$total_strengh",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">The actual strength of the character.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">The actual strength of the character.</span>",
        "modifiers": ["fun"],
        "is_intro": true,
        "msignature": {
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
        "class_name": "MMethodDef",
        "full_name": "test_prog$Character$total_endurance",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">The actual endurance of the character.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">The actual endurance of the character.</span>",
        "modifiers": ["fun"],
        "is_intro": true,
        "msignature": {
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
        "class_name": "MMethodDef",
        "full_name": "test_prog$Character$total_intelligence",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">The acutal intelligence of the character.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">The acutal intelligence of the character.</span>",
        "modifiers": ["fun"],
        "is_intro": true,
        "msignature": {
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
        "class_name": "MMethodDef",
        "full_name": "test_prog$Character$max_health",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Maximum health of the character.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Maximum health of the character.</span>",
        "modifiers": ["fun"],
        "is_intro": true,
        "msignature": {
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
        "class_name": "MAttributeDef",
        "full_name": "test_prog$Character$_health",
        "visibility": "private",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">The current <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">health</span></span></span></code> of the character.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">The current <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">health</span></span></span></code> of the character.</span>",
        "modifiers": ["private", "var"],
        "is_intro": true,
        "static_mtype": {
                "name": "Int",
                "synopsis": "Some services about Integers.",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
        }
 }
 {
        "class_name": "MMethodDef",
        "full_name": "test_prog$Character$health",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">The current <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">health</span></span></span></code> of the character.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">The current <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">health</span></span></span></code> of the character.</span>",
        "modifiers": ["fun"],
        "is_intro": true,
        "msignature": {
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
        "class_name": "MMethodDef",
        "full_name": "test_prog$Character$health=",
        "visibility": "protected",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">The current <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">health</span></span></span></code> of the character.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">The current <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">health</span></span></span></code> of the character.</span>",
        "modifiers": ["protected", "fun"],
        "is_intro": true,
        "msignature": {
                        "mtype": {
                                "name": "Int",
                                "synopsis": "Some services about Integers.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": null
        "class_name": "MMethodDef",
        "full_name": "test_prog$Weapon$dps",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Damage per second inflicted by this weapon.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Damage per second inflicted by this weapon.</span>",
        "modifiers": ["abstract", "fun"],
        "is_intro": true,
        "msignature": {
                "return_mtype": {
                        "name": "Float",
                        "synopsis": "Some services about Floats.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Floats.</span>"
                }
        }
 }
        "class_name": "MMethodDef",
        "full_name": "test_prog::combat$Dwarf$Weapon::dps",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Dwarf <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">dps</span></span></span></code> are based on the dwarf <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">base_endurance</span></span></span></code> (represents weight here)</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Dwarf <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">dps</span></span></span></code> are based on the dwarf <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">base_endurance</span></span></span></code> (represents weight here)</span>",
        "modifiers": ["redef", "fun"],
        "msignature": {
                "arity": 0,
                "return_mtype": {
                        "name": "Float",
                        "synopsis": "Some services about Floats.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Floats.</span>"
                }
        }
 }
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
        "class_name": "MMethodDef",
        "full_name": "test_prog::combat$Character$Combatable::hit_points",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Use character <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">health</span></span></span></code> to determines hit_points.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Use character <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">health</span></span></span></code> to determines hit_points.</span>",
        "modifiers": ["redef", "fun"],
        "msignature": {
                "arity": 0,
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
        "class_name": "MMethodDef",
        "full_name": "test_prog$Combatable$attack",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">A <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Combatable</span></span></span></code> can attack a <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">target</span></span></span></code> that is also a <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Combatable</span></span></span></code>.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">A <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Combatable</span></span></span></code> can attack a <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">target</span></span></span></code> that is also a <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Combatable</span></span></span></code>.</span>",
        "modifiers": ["abstract", "fun"],
        "is_intro": true,
        "msignature": {
                        "mtype": {
                                "name": "Combatable",
                                "synopsis": "Something that can be combatted, it can `attack` and `defend`.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Something that can be combatted, it can <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">attack</span></span></span></code> and <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">defend</span></span></span></code>.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Something that can be combatted, it can <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">attack</span></span></span></code> and <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">defend</span></span></span></code>.</span>"
                        }
                }, {
                        "is_vararg": false,
                        "mtype": {
                                "name": "Weapon",
                                "synopsis": "Something that can be used to attack someone and inflict damage.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Something that can be used to attack someone and inflict damage.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Something that can be used to attack someone and inflict damage.</span>"
                        }
                }],
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
        "class_name": "MMethodDef",
        "full_name": "test_prog$Combatable$direct_attack",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Like <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">attack</span></span></span></code> but cannot be defended.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Like <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">attack</span></span></span></code> but cannot be defended.</span>",
        "modifiers": ["abstract", "fun"],
        "is_intro": true,
        "msignature": {
                        "mtype": {
                                "name": "Combatable",
                                "synopsis": "Something that can be combatted, it can `attack` and `defend`.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Something that can be combatted, it can <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">attack</span></span></span></code> and <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">defend</span></span></span></code>.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Something that can be combatted, it can <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">attack</span></span></span></code> and <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">defend</span></span></span></code>.</span>"
                        }
                }, {
                        "is_vararg": false,
                        "mtype": {
                                "name": "Weapon",
                                "synopsis": "Something that can be used to attack someone and inflict damage.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Something that can be used to attack someone and inflict damage.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Something that can be used to attack someone and inflict damage.</span>"
                        }
                }],
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
        "class_name": "MMethodDef",
        "full_name": "test_prog$Combatable$defend",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\"><code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Combatable</span></span></span></code> can defend against attacks.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\"><code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Combatable</span></span></span></code> can defend against attacks.</span>",
        "modifiers": ["abstract", "fun"],
        "is_intro": true,
        "msignature": {
                        "mtype": {
                                "name": "Int",
                                "synopsis": "Some services about Integers.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
        "class_name": "MMethodDef",
        "full_name": "test_prog$Combatable$is_dead",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Is the character still have hit_points?</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Is the character still have hit_points?</span>",
        "modifiers": ["fun"],
        "is_intro": true,
        "msignature": {
                "return_mtype": {
                        "name": "Bool",
                        "synopsis": "Booleans, `true` or `false`.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>"
                }
        }
 }
        "class_name": "MMethodDef",
        "full_name": "test_prog$Game$player_characters",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Characters played by human players.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Characters played by human players.</span>",
        "modifiers": ["abstract", "fun"],
        "is_intro": true,
        "msignature": {
                "return_mtype": {
                        "name": "List[Character]",
                        "synopsis": "List of things.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">List of things.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">List of things.</span>"
                }
        }
 }
        "class_name": "MMethodDef",
        "full_name": "test_prog$MyGame$Game::player_characters",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Characters played by human players.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Characters played by human players.</span>",
        "modifiers": ["redef", "fun"],
        "msignature": {
                "arity": 0,
                "return_mtype": {
                        "name": "List[Character]",
                        "synopsis": "List of things.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">List of things.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">List of things.</span>"
                }
        }
 }
        "class_name": "MMethodDef",
        "full_name": "test_prog$TestGame$Game::player_characters",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Characters played by human players.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Characters played by human players.</span>",
        "modifiers": ["redef", "fun"],
        "msignature": {
                "arity": 0,
                "return_mtype": {
                        "name": "List[Character]",
                        "synopsis": "List of things.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">List of things.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">List of things.</span>"
                }
        }
 }
        "class_name": "MMethodDef",
        "full_name": "test_prog$Game$computer_characters",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Characters players by computer.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Characters players by computer.</span>",
        "modifiers": ["abstract", "fun"],
        "is_intro": true,
        "msignature": {
                "return_mtype": {
                        "name": "List[Character]",
                        "synopsis": "List of things.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">List of things.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">List of things.</span>"
                }
        }
 }
        "class_name": "MMethodDef",
        "full_name": "test_prog$MyGame$Game::computer_characters",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Characters players by computer.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Characters players by computer.</span>",
        "modifiers": ["redef", "fun"],
        "msignature": {
                "arity": 0,
                "return_mtype": {
                        "name": "List[Character]",
                        "synopsis": "List of things.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">List of things.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">List of things.</span>"
                }
        }
 }
        "class_name": "MMethodDef",
        "full_name": "test_prog$Game$start_game",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Start the game.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Start the game.</span>",
        "modifiers": ["abstract", "fun"],
        "is_intro": true,
        "msignature": {
        "class_name": "MMethodDef",
        "full_name": "test_prog$MyGame$Game::start_game",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Start the game.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Start the game.</span>",
        "modifiers": ["redef", "fun"],
        "msignature": {
                "arity": 0,
        "class_name": "MMethodDef",
        "full_name": "test_prog$Game$pause_game",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Pause the game.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Pause the game.</span>",
        "modifiers": ["abstract", "fun"],
        "is_intro": true,
        "msignature": {
        "class_name": "MMethodDef",
        "full_name": "test_prog$MyGame$Game::pause_game",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Pause the game.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Pause the game.</span>",
        "modifiers": ["redef", "fun"],
        "msignature": {
                "arity": 0,
        "class_name": "MMethodDef",
        "full_name": "test_prog$Game$stop_game",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Stop the game.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Stop the game.</span>",
        "modifiers": ["abstract", "fun"],
        "is_intro": true,
        "msignature": {
        "class_name": "MMethodDef",
        "full_name": "test_prog$MyGame$Game::stop_game",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Stop the game.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Stop the game.</span>",
        "modifiers": ["redef", "fun"],
        "msignature": {
                "arity": 0,
        "static_mtype": {
                "name": "List[Character]",
                "synopsis": "List of things.",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">List of things.</span>"
+               "html_synopsis": "<span class=\"synopsis nitdoc\">List of things.</span>"
        }
 }
 {
                        "mtype": {
                                "name": "List[Character]",
                                "synopsis": "List of things.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">List of things.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">List of things.</span>"
                        }
                }],
                "return_mtype": null
        "static_mtype": {
                "name": "List[Character]",
                "synopsis": "List of things.",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">List of things.</span>"
+               "html_synopsis": "<span class=\"synopsis nitdoc\">List of things.</span>"
        }
 }
 {
                        "mtype": {
                                "name": "List[Character]",
                                "synopsis": "List of things.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">List of things.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">List of things.</span>"
                        }
                }],
                "return_mtype": null
        "static_mtype": {
                "name": "List[Character]",
                "synopsis": "List of things.",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">List of things.</span>"
+               "html_synopsis": "<span class=\"synopsis nitdoc\">List of things.</span>"
        }
 }
 {
                        "mtype": {
                                "name": "List[Character]",
                                "synopsis": "List of things.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">List of things.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">List of things.</span>"
                        }
                }],
                "return_mtype": null
index 961fa79..09644aa 100644 (file)
        "class_name": "MVirtualTypeProp",
        "full_name": "test_prog::Object::OTHER",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Used for comparisons.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Used for comparisons.</span>",
        "modifiers": ["type"],
        "bound": {
                "name": "nullable Object",
                "synopsis": "Root of everything.",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">Root of everything.</span>"
+               "html_synopsis": "<span class=\"synopsis nitdoc\">Root of everything.</span>"
        }
 }
 {
@@ -38,7 +38,7 @@
        "class_name": "MMethod",
        "full_name": "test_prog::Object::==",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Is <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">other</span></span></span></code> equqls to <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">self</span></span></span></code>?</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Is <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">other</span></span></span></code> equqls to <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">self</span></span></span></code>?</span>",
        "modifiers": ["intern", "fun"],
        "msignature": {
                "arity": 1,
                        "mtype": {
                                "name": "OTHER",
                                "synopsis": "Used for comparisons.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Used for comparisons.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Used for comparisons.</span>"
                        }
                }],
                "return_mtype": {
                        "name": "Bool",
                        "synopsis": "Booleans, `true` or `false`.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>"
                }
        }
 }
@@ -74,7 +74,7 @@
        "class_name": "MMethod",
        "full_name": "test_prog::Object::!=",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Is <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">other</span></span></span></code> different from <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">self</span></span></span></code>?</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Is <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">other</span></span></span></code> different from <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">self</span></span></span></code>?</span>",
        "modifiers": ["fun"],
        "msignature": {
                "arity": 1,
                        "mtype": {
                                "name": "OTHER",
                                "synopsis": "Used for comparisons.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Used for comparisons.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Used for comparisons.</span>"
                        }
                }],
                "return_mtype": {
                        "name": "Bool",
                        "synopsis": "Booleans, `true` or `false`.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>"
                }
        }
 }
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
                        "mtype": {
                                "name": "Int",
                                "synopsis": "Some services about Integers.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
                        "mtype": {
                                "name": "Int",
                                "synopsis": "Some services about Integers.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
                        "mtype": {
                                "name": "Int",
                                "synopsis": "Some services about Integers.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
                        "mtype": {
                                "name": "Int",
                                "synopsis": "Some services about Integers.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
                        "mtype": {
                                "name": "Int",
                                "synopsis": "Some services about Integers.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": {
                        "name": "Bool",
                        "synopsis": "Booleans, `true` or `false`.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>"
                }
        }
 }
                "return_mtype": {
                        "name": "Float",
                        "synopsis": "Some services about Floats.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Floats.</span>"
                }
        }
 }
                        "mtype": {
                                "name": "Float",
                                "synopsis": "Some services about Floats.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Floats.</span>"
                        }
                }],
                "return_mtype": {
                        "name": "Float",
                        "synopsis": "Some services about Floats.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Floats.</span>"
                }
        }
 }
                        "mtype": {
                                "name": "Float",
                                "synopsis": "Some services about Floats.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Floats.</span>"
                        }
                }],
                "return_mtype": {
                        "name": "Float",
                        "synopsis": "Some services about Floats.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Floats.</span>"
                }
        }
 }
                        "mtype": {
                                "name": "Float",
                                "synopsis": "Some services about Floats.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Floats.</span>"
                        }
                }],
                "return_mtype": {
                        "name": "Float",
                        "synopsis": "Some services about Floats.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Floats.</span>"
                }
        }
 }
                        "mtype": {
                                "name": "Float",
                                "synopsis": "Some services about Floats.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Floats.</span>"
                        }
                }],
                "return_mtype": {
                        "name": "Float",
                        "synopsis": "Some services about Floats.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Floats.</span>"
                }
        }
 }
                        "mtype": {
                                "name": "Float",
                                "synopsis": "Some services about Floats.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Floats.</span>"
                        }
                }],
                "return_mtype": {
                        "name": "Bool",
                        "synopsis": "Booleans, `true` or `false`.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>"
                }
        }
 }
        "static_mtype": {
                "name": "Int",
                "synopsis": "Some services about Integers.",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
        }
 }
 {
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
                        "mtype": {
                                "name": "Int",
                                "synopsis": "Some services about Integers.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": null
        "static_mtype": {
                "name": "Int",
                "synopsis": "Some services about Integers.",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
        }
 }
 {
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
                        "mtype": {
                                "name": "Int",
                                "synopsis": "Some services about Integers.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": null
        "static_mtype": {
                "name": "Int",
                "synopsis": "Some services about Integers.",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
        }
 }
 {
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
                        "mtype": {
                                "name": "Int",
                                "synopsis": "Some services about Integers.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": null
        "class_name": "MAttribute",
        "full_name": "test_prog::races::Race::_base_strength",
        "visibility": "private",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Used to represents how strong the race is.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Used to represents how strong the race is.</span>",
        "modifiers": ["private", "var"],
        "static_mtype": {
                "name": "Int",
                "synopsis": "Some services about Integers.",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
        }
 }
 {
        "class_name": "MMethod",
        "full_name": "test_prog::Race::base_strength",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Used to represents how strong the race is.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Used to represents how strong the race is.</span>",
        "modifiers": ["fun"],
        "msignature": {
                "arity": 0,
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
        "class_name": "MMethod",
        "full_name": "test_prog::Race::base_strength=",
        "visibility": "protected",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Used to represents how strong the race is.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Used to represents how strong the race is.</span>",
        "modifiers": ["protected", "fun"],
        "msignature": {
                "arity": 1,
                        "mtype": {
                                "name": "Int",
                                "synopsis": "Some services about Integers.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": null
        "class_name": "MAttribute",
        "full_name": "test_prog::races::Race::_base_endurance",
        "visibility": "private",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Used to represents how the race can absorb damage.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Used to represents how the race can absorb damage.</span>",
        "modifiers": ["private", "var"],
        "static_mtype": {
                "name": "Int",
                "synopsis": "Some services about Integers.",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
        }
 }
 {
        "class_name": "MMethod",
        "full_name": "test_prog::Race::base_endurance",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Used to represents how the race can absorb damage.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Used to represents how the race can absorb damage.</span>",
        "modifiers": ["fun"],
        "msignature": {
                "arity": 0,
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
        "class_name": "MMethod",
        "full_name": "test_prog::Race::base_endurance=",
        "visibility": "protected",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Used to represents how the race can absorb damage.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Used to represents how the race can absorb damage.</span>",
        "modifiers": ["protected", "fun"],
        "msignature": {
                "arity": 1,
                        "mtype": {
                                "name": "Int",
                                "synopsis": "Some services about Integers.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": null
        "class_name": "MAttribute",
        "full_name": "test_prog::races::Race::_base_intelligence",
        "visibility": "private",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Is this race smart?</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Is this race smart?</span>",
        "modifiers": ["private", "var"],
        "static_mtype": {
                "name": "Int",
                "synopsis": "Some services about Integers.",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
        }
 }
 {
        "class_name": "MMethod",
        "full_name": "test_prog::Race::base_intelligence",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Is this race smart?</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Is this race smart?</span>",
        "modifiers": ["fun"],
        "msignature": {
                "arity": 0,
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
        "class_name": "MMethod",
        "full_name": "test_prog::Race::base_intelligence=",
        "visibility": "protected",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Is this race smart?</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Is this race smart?</span>",
        "modifiers": ["protected", "fun"],
        "msignature": {
                "arity": 1,
                        "mtype": {
                                "name": "Int",
                                "synopsis": "Some services about Integers.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": null
        "class_name": "MAttribute",
        "full_name": "test_prog::character::Character::_race",
        "visibility": "private",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">The <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Race</span></span></span></code> of the character.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">The <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Race</span></span></span></code> of the character.</span>",
        "modifiers": ["private", "var"],
        "static_mtype": {
                "name": "Race",
                "synopsis": "Race determines basic characteristics and what the character will be able to do in life.",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">Race determines basic characteristics and what the character will be able to do in life.</span>"
+               "html_synopsis": "<span class=\"synopsis nitdoc\">Race determines basic characteristics and what the character will be able to do in life.</span>"
        }
 }
 {
        "class_name": "MMethod",
        "full_name": "test_prog::Character::race",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">The <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Race</span></span></span></code> of the character.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">The <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Race</span></span></span></code> of the character.</span>",
        "modifiers": ["fun"],
        "msignature": {
                "arity": 0,
                "return_mtype": {
                        "name": "Race",
                        "synopsis": "Race determines basic characteristics and what the character will be able to do in life.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Race determines basic characteristics and what the character will be able to do in life.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Race determines basic characteristics and what the character will be able to do in life.</span>"
                }
        }
 }
        "class_name": "MMethod",
        "full_name": "test_prog::Character::race=",
        "visibility": "protected",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">The <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Race</span></span></span></code> of the character.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">The <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Race</span></span></span></code> of the character.</span>",
        "modifiers": ["protected", "fun"],
        "msignature": {
                "arity": 1,
                        "mtype": {
                                "name": "Race",
                                "synopsis": "Race determines basic characteristics and what the character will be able to do in life.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Race determines basic characteristics and what the character will be able to do in life.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Race determines basic characteristics and what the character will be able to do in life.</span>"
                        }
                }],
                "return_mtype": null
        "class_name": "MAttribute",
        "full_name": "test_prog::character::Character::_career",
        "visibility": "private",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">The current <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Career</span></span></span></code> of the character.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">The current <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Career</span></span></span></code> of the character.</span>",
        "modifiers": ["private", "var"],
        "static_mtype": {
                "name": "nullable Career",
                "synopsis": "A `Career` gives a characteristic bonus or malus to the character.",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">A <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Career</span></span></span></code> gives a characteristic bonus or malus to the character.</span>"
+               "html_synopsis": "<span class=\"synopsis nitdoc\">A <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Career</span></span></span></code> gives a characteristic bonus or malus to the character.</span>"
        }
 }
 {
        "class_name": "MMethod",
        "full_name": "test_prog::Character::career",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">The current <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Career</span></span></span></code> of the character.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">The current <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Career</span></span></span></code> of the character.</span>",
        "modifiers": ["fun"],
        "msignature": {
                "arity": 0,
                "return_mtype": {
                        "name": "nullable Career",
                        "synopsis": "A `Career` gives a characteristic bonus or malus to the character.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">A <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Career</span></span></span></code> gives a characteristic bonus or malus to the character.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">A <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Career</span></span></span></code> gives a characteristic bonus or malus to the character.</span>"
                }
        }
 }
        "class_name": "MMethod",
        "full_name": "test_prog::Character::career=",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">The current <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Career</span></span></span></code> of the character.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">The current <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Career</span></span></span></code> of the character.</span>",
        "modifiers": ["fun"],
        "msignature": {
                "arity": 1,
                        "mtype": {
                                "name": "nullable Career",
                                "synopsis": "A `Career` gives a characteristic bonus or malus to the character.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">A <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Career</span></span></span></code> gives a characteristic bonus or malus to the character.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">A <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Career</span></span></span></code> gives a characteristic bonus or malus to the character.</span>"
                        }
                }],
                "return_mtype": null
        "static_mtype": {
                "name": "String",
                "synopsis": "Strings (there is no chars...).",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">Strings (there is no chars...).</span>"
+               "html_synopsis": "<span class=\"synopsis nitdoc\">Strings (there is no chars...).</span>"
        }
 }
 {
                "return_mtype": {
                        "name": "String",
                        "synopsis": "Strings (there is no chars...).",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Strings (there is no chars...).</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Strings (there is no chars...).</span>"
                }
        }
 }
                        "mtype": {
                                "name": "String",
                                "synopsis": "Strings (there is no chars...).",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Strings (there is no chars...).</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Strings (there is no chars...).</span>"
                        }
                }],
                "return_mtype": null
        "static_mtype": {
                "name": "Int",
                "synopsis": "Some services about Integers.",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
        }
 }
 {
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
                        "mtype": {
                                "name": "Int",
                                "synopsis": "Some services about Integers.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": null
        "static_mtype": {
                "name": "Bool",
                "synopsis": "Booleans, `true` or `false`.",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>"
+               "html_synopsis": "<span class=\"synopsis nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>"
        }
 }
 {
                "return_mtype": {
                        "name": "Bool",
                        "synopsis": "Booleans, `true` or `false`.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>"
                }
        }
 }
                        "mtype": {
                                "name": "Bool",
                                "synopsis": "Booleans, `true` or `false`.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>"
                        }
                }],
                "return_mtype": null
        "class_name": "MMethod",
        "full_name": "test_prog::Character::total_strengh",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">The actual strength of the character.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">The actual strength of the character.</span>",
        "modifiers": ["fun"],
        "msignature": {
                "arity": 0,
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
        "class_name": "MMethod",
        "full_name": "test_prog::Character::total_endurance",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">The actual endurance of the character.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">The actual endurance of the character.</span>",
        "modifiers": ["fun"],
        "msignature": {
                "arity": 0,
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
        "class_name": "MMethod",
        "full_name": "test_prog::Character::total_intelligence",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">The acutal intelligence of the character.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">The acutal intelligence of the character.</span>",
        "modifiers": ["fun"],
        "msignature": {
                "arity": 0,
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
        "class_name": "MMethod",
        "full_name": "test_prog::Character::max_health",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Maximum health of the character.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Maximum health of the character.</span>",
        "modifiers": ["fun"],
        "msignature": {
                "arity": 0,
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
        "class_name": "MAttribute",
        "full_name": "test_prog::character::Character::_health",
        "visibility": "private",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">The current <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">health</span></span></span></code> of the character.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">The current <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">health</span></span></span></code> of the character.</span>",
        "modifiers": ["private", "var"],
        "static_mtype": {
                "name": "Int",
                "synopsis": "Some services about Integers.",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
        }
 }
 {
        "class_name": "MMethod",
        "full_name": "test_prog::Character::health",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">The current <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">health</span></span></span></code> of the character.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">The current <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">health</span></span></span></code> of the character.</span>",
        "modifiers": ["fun"],
        "msignature": {
                "arity": 0,
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
        "class_name": "MMethod",
        "full_name": "test_prog::Character::health=",
        "visibility": "protected",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">The current <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">health</span></span></span></code> of the character.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">The current <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">health</span></span></span></code> of the character.</span>",
        "modifiers": ["protected", "fun"],
        "msignature": {
                "arity": 1,
                        "mtype": {
                                "name": "Int",
                                "synopsis": "Some services about Integers.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": null
        "class_name": "MMethod",
        "full_name": "test_prog::Weapon::dps",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Damage per second inflicted by this weapon.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Damage per second inflicted by this weapon.</span>",
        "modifiers": ["abstract", "fun"],
        "msignature": {
                "arity": 0,
                "return_mtype": {
                        "name": "Float",
                        "synopsis": "Some services about Floats.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Floats.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Floats.</span>"
                }
        }
 }
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
        "class_name": "MMethod",
        "full_name": "test_prog::Combatable::attack",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">A <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Combatable</span></span></span></code> can attack a <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">target</span></span></span></code> that is also a <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Combatable</span></span></span></code>.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">A <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Combatable</span></span></span></code> can attack a <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">target</span></span></span></code> that is also a <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Combatable</span></span></span></code>.</span>",
        "modifiers": ["abstract", "fun"],
        "msignature": {
                "arity": 2,
                        "mtype": {
                                "name": "Combatable",
                                "synopsis": "Something that can be combatted, it can `attack` and `defend`.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Something that can be combatted, it can <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">attack</span></span></span></code> and <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">defend</span></span></span></code>.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Something that can be combatted, it can <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">attack</span></span></span></code> and <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">defend</span></span></span></code>.</span>"
                        }
                }, {
                        "is_vararg": false,
                        "mtype": {
                                "name": "Weapon",
                                "synopsis": "Something that can be used to attack someone and inflict damage.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Something that can be used to attack someone and inflict damage.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Something that can be used to attack someone and inflict damage.</span>"
                        }
                }],
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
        "class_name": "MMethod",
        "full_name": "test_prog::Combatable::direct_attack",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Like <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">attack</span></span></span></code> but cannot be defended.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Like <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">attack</span></span></span></code> but cannot be defended.</span>",
        "modifiers": ["abstract", "fun"],
        "msignature": {
                "arity": 2,
                        "mtype": {
                                "name": "Combatable",
                                "synopsis": "Something that can be combatted, it can `attack` and `defend`.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Something that can be combatted, it can <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">attack</span></span></span></code> and <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">defend</span></span></span></code>.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Something that can be combatted, it can <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">attack</span></span></span></code> and <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_i\">defend</span></span></span></code>.</span>"
                        }
                }, {
                        "is_vararg": false,
                        "mtype": {
                                "name": "Weapon",
                                "synopsis": "Something that can be used to attack someone and inflict damage.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Something that can be used to attack someone and inflict damage.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Something that can be used to attack someone and inflict damage.</span>"
                        }
                }],
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
        "class_name": "MMethod",
        "full_name": "test_prog::Combatable::defend",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\"><code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Combatable</span></span></span></code> can defend against attacks.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\"><code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_t\">Combatable</span></span></span></code> can defend against attacks.</span>",
        "modifiers": ["abstract", "fun"],
        "msignature": {
                "arity": 1,
                        "mtype": {
                                "name": "Int",
                                "synopsis": "Some services about Integers.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                        }
                }],
                "return_mtype": {
                        "name": "Int",
                        "synopsis": "Some services about Integers.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Some services about Integers.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Some services about Integers.</span>"
                }
        }
 }
        "class_name": "MMethod",
        "full_name": "test_prog::Combatable::is_dead",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Is the character still have hit_points?</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Is the character still have hit_points?</span>",
        "modifiers": ["fun"],
        "msignature": {
                "arity": 0,
                "return_mtype": {
                        "name": "Bool",
                        "synopsis": "Booleans, `true` or `false`.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">Booleans, <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">true</span></span></span></code> or <code class=\"nitcode\"><span class=\"nitcode\"><span class=\"line\"><span class=\"nc_k\">false</span></span></span></code>.</span>"
                }
        }
 }
        "class_name": "MMethod",
        "full_name": "test_prog::Game::player_characters",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Characters played by human players.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Characters played by human players.</span>",
        "modifiers": ["abstract", "fun"],
        "msignature": {
                "arity": 0,
                "return_mtype": {
                        "name": "List[Character]",
                        "synopsis": "List of things.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">List of things.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">List of things.</span>"
                }
        }
 }
        "class_name": "MMethod",
        "full_name": "test_prog::Game::computer_characters",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Characters players by computer.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Characters players by computer.</span>",
        "modifiers": ["abstract", "fun"],
        "msignature": {
                "arity": 0,
                "return_mtype": {
                        "name": "List[Character]",
                        "synopsis": "List of things.",
-                       "html_synopsis": "<span class=\"synopsys nitdoc\">List of things.</span>"
+                       "html_synopsis": "<span class=\"synopsis nitdoc\">List of things.</span>"
                }
        }
 }
        "class_name": "MMethod",
        "full_name": "test_prog::Game::start_game",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Start the game.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Start the game.</span>",
        "modifiers": ["abstract", "fun"],
        "msignature": {
                "arity": 0,
        "class_name": "MMethod",
        "full_name": "test_prog::Game::pause_game",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Pause the game.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Pause the game.</span>",
        "modifiers": ["abstract", "fun"],
        "msignature": {
                "arity": 0,
        "class_name": "MMethod",
        "full_name": "test_prog::Game::stop_game",
        "visibility": "public",
-       "html_synopsis": "<span class=\"synopsys nitdoc\">Stop the game.</span>",
+       "html_synopsis": "<span class=\"synopsis nitdoc\">Stop the game.</span>",
        "modifiers": ["abstract", "fun"],
        "msignature": {
                "arity": 0,
        "static_mtype": {
                "name": "List[Character]",
                "synopsis": "List of things.",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">List of things.</span>"
+               "html_synopsis": "<span class=\"synopsis nitdoc\">List of things.</span>"
        }
 }
 {
                        "mtype": {
                                "name": "List[Character]",
                                "synopsis": "List of things.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">List of things.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">List of things.</span>"
                        }
                }],
                "return_mtype": null
        "static_mtype": {
                "name": "List[Character]",
                "synopsis": "List of things.",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">List of things.</span>"
+               "html_synopsis": "<span class=\"synopsis nitdoc\">List of things.</span>"
        }
 }
 {
                        "mtype": {
                                "name": "List[Character]",
                                "synopsis": "List of things.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">List of things.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">List of things.</span>"
                        }
                }],
                "return_mtype": null
        "static_mtype": {
                "name": "List[Character]",
                "synopsis": "List of things.",
-               "html_synopsis": "<span class=\"synopsys nitdoc\">List of things.</span>"
+               "html_synopsis": "<span class=\"synopsis nitdoc\">List of things.</span>"
        }
 }
 {
                        "mtype": {
                                "name": "List[Character]",
                                "synopsis": "List of things.",
-                               "html_synopsis": "<span class=\"synopsys nitdoc\">List of things.</span>"
+                               "html_synopsis": "<span class=\"synopsis nitdoc\">List of things.</span>"
                        }
                }],
                "return_mtype": null
diff --git a/src/frontend/test_frontend.nit b/src/frontend/test_frontend.nit
new file mode 100644 (file)
index 0000000..2503e1e
--- /dev/null
@@ -0,0 +1,76 @@
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Testing Model with `nitunit`
+#
+# This module introduce useful tools if you want to test Model with nitunit.
+# It provides an abstract test suite `TestModel` that can load a `Model` from
+# Nit files.
+#
+# See `TestModel::test_src`.
+module test_frontend is test
+
+import frontend
+import frontend::parse_examples
+
+# An abstract NitUnit that loads a `Model` from Nit files.
+#
+# To define a custom test using `TestModel`:
+#
+# ~~~
+# class MyTest
+#      super TestModel
+#      test
+#
+#      redef var test_src = "path/to/files"
+#
+#      fun my_test is test do
+#              assert test_model.mmodules.length == 10
+#      end
+# end
+# ~~~
+abstract class TestModel
+
+       # Path this unit test is executed in
+       var test_path: String = "NIT_TESTING_PATH".environ.dirname is lazy
+
+       # Test program to compile
+       #
+       # Change this source in your test suite.
+       # Default is `$NIT_DIR/tests/test_prog`.
+       #
+       # You can use either a file or a directory.
+       var test_src: String = "NIT_DIR".environ / "tests/test_prog" is lazy
+
+       # ToolContext used for the ModelBuilder
+       var test_context = new ToolContext
+
+       # Model used for tests
+       var test_model = new Model
+
+       # ModelBuilder used for tests
+       var test_builder = new ModelBuilder(test_model, test_context)
+
+       # Mainmodule used for tests
+       var test_main: MModule is noinit
+
+       # Build the test environment
+       fun build_test_env is before do
+               var mmodules = test_builder.parse_full([test_src])
+               test_builder.run_phases
+               test_context.run_global_phases(mmodules)
+               var mainmodule = test_context.make_main_module(mmodules)
+               test_main = mainmodule
+       end
+end
index b2a8f2e..fda1b50 100644 (file)
 module test_code_index is test
 
 import code_index
-import frontend
+import test_frontend
 
 class TestCodeIndex
+       super TestModel
        test
 
        # CodeIndex used in tests
-       var test_index: CodeIndex is noinit
+       var test_index = new CodeIndex(test_context)
 
-       # Initialize test variables
-       #
-       # Must be called before test execution.
-       # FIXME should be before_all
-       fun build_test_env is before do
-               var test_path = "NIT_TESTING_PATH".environ.dirname
-               var test_src = test_path / "../../../tests/test_prog"
-
-               # build model
-               var toolcontext = new ToolContext
-               var model = new Model
-               var modelbuilder = new ModelBuilder(model, toolcontext)
-               var mmodules = modelbuilder.parse_full([test_src])
-               modelbuilder.run_phases
-               toolcontext.run_global_phases(mmodules)
-
-               # create index
-               var index = new CodeIndex(toolcontext)
-               for mmodule in mmodules do
-                       index.index_mentity(mmodule)
+       redef fun build_test_env do
+               super
+               for mmodule in test_model.mmodules do
+                       test_index.index_mentity(mmodule)
                end
-               test_index = index
-               modelbuilder.paths.add test_src
+               test_builder.paths.add test_src
        end
 
        fun test_find1 is test do
index f9126e4..7276e78 100644 (file)
@@ -19,7 +19,7 @@ module readme_metrics
 
 import metrics_base
 import model::model_collect
-import markdown
+import markdown2
 
 redef class ToolContext
 
@@ -47,69 +47,21 @@ private class ReadmeMetricsPhase
 end
 
 # A Markdown decorator that collects metrics about a Readme content
-class MetricsDecorator
-       super HTMLDecorator
+class MarkdownMetrics
+       super MdVisitor
 
-       # Count blocks
-       var block_counter = new Counter[String]
+       # Count nodes
+       var nodes_counter = new Counter[String]
 
-       # Count sections
-       var headline_counter = new Counter[Int]
+       # Count heading levels
+       var headings_counter = new Counter[Int]
 
-       redef fun add_ruler(v, block) do
-               block_counter.inc block.class_name
-               super
-       end
-
-       redef fun add_headline(v, block) do
-               block_counter.inc block.class_name
-               headline_counter.inc block.depth
-               super
-       end
-
-       redef fun add_paragraph(v, block) do
-               block_counter.inc block.class_name
-               super
-       end
-
-       redef fun add_code(v, block) do
-               block_counter.inc block.class_name
-               super
-       end
-
-       redef fun add_blockquote(v, block) do
-               block_counter.inc block.class_name
-               super
-       end
-
-       redef fun add_unorderedlist(v, block) do
-               block_counter.inc block.class_name
-               super
-       end
-
-       redef fun add_orderedlist(v, block) do
-               block_counter.inc block.class_name
-               super
-       end
-
-       redef fun add_listitem(v, block) do
-               block_counter.inc block.class_name
-               super
-       end
-
-       redef fun add_image(v, link, name, comment) do
-               block_counter.inc "Image"
-               super
-       end
-
-       redef fun add_link(v, link, name, comment) do
-               block_counter.inc "Link"
-               super
-       end
-
-       redef fun add_span_code(v, text, from, to) do
-               block_counter.inc "SpanCode"
-               super
+       redef fun visit(node) do
+               nodes_counter.inc node.class_name
+               if node isa MdHeading then
+                       headings_counter.inc node.level
+               end
+               node.visit_all self
        end
 end
 
@@ -206,8 +158,16 @@ class ReadmeMetric
                self["has_readme"] = 1
                self["md_lines"] = md_lines.length
 
-               collect_sections_metrics
-               collect_blocs_metrics
+               var parser = new MdParser
+               var node = parser.parse(md_lines.join("\n"))
+               var v = new MarkdownMetrics
+               v.enter_visit(node)
+               for md_node, value in v.nodes_counter do
+                       self[md_node] = value
+               end
+               for level, value in v.headings_counter do
+                       self["HL {level}"] = value
+               end
        end
 
        # Path to the package
@@ -242,29 +202,4 @@ class ReadmeMetric
                if path == null then return new Array[String]
                return path.to_path.read_lines
        end
-
-       # Markdown decorator used to visit Markdown content
-       var md_decorator: MetricsDecorator is lazy do
-               var md_decorator = new MetricsDecorator
-               var md_proc = new MarkdownProcessor
-               md_proc.decorator = md_decorator
-               md_proc.process(md_lines.join("\n"))
-               return md_decorator
-       end
-
-       # Collect metrics related to section headings
-       fun collect_sections_metrics do
-               self["nb_section"] = md_decorator.headline_counter.sum
-               for lvl, count in md_decorator.headline_counter do
-                       self["HL {lvl}"] = count
-               end
-       end
-
-       # Collect metrics related to Markdown blocks
-       fun collect_blocs_metrics do
-               self["md_blocks"] = md_decorator.block_counter.sum
-               for block, count in md_decorator.block_counter do
-                       self[block] = count
-               end
-       end
 end
index 3463b07..b173445 100644 (file)
@@ -297,7 +297,13 @@ private class TypeVisitor
                return mclass.mclass_type
        end
 
-       fun get_method(node: ANode, recvtype: MType, name: String, recv_is_self: Bool): nullable CallSite
+       # Construction of a specific callsite according to the current context.
+       # Three entry points exist to create a callsite based on knowledge.
+       # The `build_callsite_by_name` is a top entry point, the method find the mpropdefs to call by the name of this.
+       # see `build_callsite_by_property` and `build_callsite_by_propdef` for more detail.
+       # If you already know the mpropdef to call use directly the `get_method_by_propdef` method
+       # If you just know the mproperty use the `build_callsite_by_property` method to display error if no `mpropdef` is found in the context
+       fun build_callsite_by_name(node: ANode, recvtype: MType, name: String, recv_is_self: Bool): nullable CallSite
        do
                var unsafe_type = self.anchor_to(recvtype)
 
@@ -327,23 +333,37 @@ private class TypeVisitor
 
                assert mproperty isa MMethod
 
+               return build_callsite_by_property(node, recvtype, mproperty, recv_is_self)
+       end
+
+       # The `build_callsite_by_property` finds the mpropdefs to call by the `MMethod`.
+       # If the mpropdef is found in the context it builds a new `Callsite`.
+       fun build_callsite_by_property(node: ANode, recvtype: MType, mproperty: MMethod, recv_is_self: Bool): nullable CallSite
+       do
+               var unsafe_type = self.anchor_to(recvtype)
+
+               if recvtype isa MNullType then
+                       var objclass = get_mclass(node, "Object")
+                       if objclass == null then return null # Forward error
+                       unsafe_type = objclass.mclass_type
+               end
                # `null` only accepts some methods of object.
                if recvtype isa MNullType and not mproperty.is_null_safe then
-                       self.error(node, "Error: method `{name}` called on `null`.")
+                       self.error(node, "Error: method `{mproperty.name}` called on `null`.")
                        return null
                else if unsafe_type isa MNullableType and not mproperty.is_null_safe then
                        modelbuilder.advice(node, "call-on-nullable", "Warning: method call on a nullable receiver `{recvtype}`.")
                end
 
                if is_toplevel_context and recv_is_self and not mproperty.is_toplevel then
-                       error(node, "Error: `{name}` is not a top-level method, thus need a receiver.")
+                       error(node, "Error: `{mproperty.name}` is not a top-level method, thus need a receiver.")
                end
                if not recv_is_self and mproperty.is_toplevel then
-                       error(node, "Error: cannot call `{name}`, a top-level method, with a receiver.")
+                       error(node, "Error: cannot call `{mproperty.name}`, a top-level method, with a receiver.")
                end
 
                if mproperty.visibility == protected_visibility and not recv_is_self and self.mmodule.visibility_for(mproperty.intro_mclassdef.mmodule) < intrude_visibility and not modelbuilder.toolcontext.opt_ignore_visibility.value then
-                       self.modelbuilder.error(node, "Error: method `{name}` is protected and can only accessed by `self`.")
+                       self.modelbuilder.error(node, "Error: method `{mproperty.name}` is protected and can only accessed by `self`.")
                        return null
                end
 
@@ -351,25 +371,31 @@ private class TypeVisitor
                if info != null and self.mpropdef.mproperty.deprecation == null then
                        var mdoc = info.mdoc
                        if mdoc != null then
-                               self.modelbuilder.warning(node, "deprecated-method", "Deprecation Warning: method `{name}` is deprecated: {mdoc.content.first}")
+                               self.modelbuilder.warning(node, "deprecated-method", "Deprecation Warning: method `{mproperty.name}` is deprecated: {mdoc.content.first}")
                        else
-                               self.modelbuilder.warning(node, "deprecated-method", "Deprecation Warning: method `{name}` is deprecated.")
+                               self.modelbuilder.warning(node, "deprecated-method", "Deprecation Warning: method `{mproperty.name}` is deprecated.")
                        end
                end
 
                var propdefs = mproperty.lookup_definitions(self.mmodule, unsafe_type)
                var mpropdef
                if propdefs.length == 0 then
-                       self.modelbuilder.error(node, "Type Error: no definition found for property `{name}` in `{unsafe_type}`.")
-                       return null
+                       self.modelbuilder.error(node, "Type Error: no definition found for property `{mproperty.name}` in `{unsafe_type}`.")
+                       abort
+                       #return null
                else if propdefs.length == 1 then
                        mpropdef = propdefs.first
                else
-                       self.modelbuilder.warning(node, "property-conflict", "Warning: conflicting property definitions for property `{name}` in `{unsafe_type}`: {propdefs.join(" ")}")
+                       self.modelbuilder.warning(node, "property-conflict", "Warning: conflicting property definitions for property `{mproperty.name}` in `{unsafe_type}`: {propdefs.join(" ")}")
                        mpropdef = mproperty.intro
                end
 
+               return build_callsite_by_propdef(node, recvtype, mpropdef, recv_is_self)
+       end
 
+       # The `build_callsite_by_propdef` builds the callsite directly with the `mprodef` passed in argument.
+       fun build_callsite_by_propdef(node: ANode, recvtype: MType, mpropdef: MMethodDef, recv_is_self: Bool): nullable CallSite
+       do
                var msignature = mpropdef.new_msignature or else mpropdef.msignature
                if msignature == null then return null # skip error
                msignature = resolve_for(msignature, recvtype, recv_is_self).as(MSignature)
@@ -386,16 +412,16 @@ private class TypeVisitor
                        end
                end
 
-               var callsite = new CallSite(node.hot_location, recvtype, mmodule, anchor, recv_is_self, mproperty, mpropdef, msignature, erasure_cast)
+               var callsite = new CallSite(node.hot_location, recvtype, mmodule, anchor, recv_is_self, mpropdef.mproperty, mpropdef, msignature, erasure_cast)
                return callsite
        end
 
-       fun try_get_method(node: ANode, recvtype: MType, name: String, recv_is_self: Bool): nullable CallSite
+       fun try_build_callsite_by_name(node: ANode, recvtype: MType, name: String, recv_is_self: Bool): nullable CallSite
        do
                var unsafe_type = self.anchor_to(recvtype)
                var mproperty = self.try_get_mproperty_by_name2(node, unsafe_type, name)
                if mproperty == null then return null
-               return get_method(node, recvtype, name, recv_is_self)
+               return build_callsite_by_name(node, recvtype, name, recv_is_self)
        end
 
 
@@ -1113,7 +1139,7 @@ redef class AReassignFormExpr
 
                self.read_type = readtype
 
-               var callsite = v.get_method(self.n_assign_op, readtype, reassign_name, false)
+               var callsite = v.build_callsite_by_name(self.n_assign_op, readtype, reassign_name, false)
                if callsite == null then return null # Skip error
                self.reassign_callsite = callsite
 
@@ -1318,7 +1344,7 @@ redef class AForGroup
                if objcla == null then return
 
                # check iterator method
-               var itdef = v.get_method(self, mtype, "iterator", n_expr isa ASelfExpr)
+               var itdef = v.build_callsite_by_name(self, mtype, "iterator", n_expr isa ASelfExpr)
                if itdef == null then
                        v.error(self, "Type Error: `for` expects a type providing an `iterator` method, got `{mtype}`.")
                        return
@@ -1375,31 +1401,31 @@ redef class AForGroup
                self.coltype = mtype.as(MClassType)
 
                # get methods is_ok, next, item
-               var ikdef = v.get_method(self, ittype, "is_ok", false)
+               var ikdef = v.build_callsite_by_name(self, ittype, "is_ok", false)
                if ikdef == null then
                        v.error(self, "Type Error: `for` expects a method `is_ok` in type `{ittype}`.")
                        return
                end
                self.method_is_ok = ikdef
 
-               var itemdef = v.get_method(self, ittype, "item", false)
+               var itemdef = v.build_callsite_by_name(self, ittype, "item", false)
                if itemdef == null then
                        v.error(self, "Type Error: `for` expects a method `item` in type `{ittype}`.")
                        return
                end
                self.method_item = itemdef
 
-               var nextdef = v.get_method(self, ittype, "next", false)
+               var nextdef = v.build_callsite_by_name(self, ittype, "next", false)
                if nextdef == null then
                        v.error(self, "Type Error: `for` expects a method `next` in type {ittype}.")
                        return
                end
                self.method_next = nextdef
 
-               self.method_finish = v.try_get_method(self, ittype, "finish", false)
+               self.method_finish = v.try_build_callsite_by_name(self, ittype, "finish", false)
 
                if is_map then
-                       var keydef = v.get_method(self, ittype, "key", false)
+                       var keydef = v.build_callsite_by_name(self, ittype, "key", false)
                        if keydef == null then
                                v.error(self, "Type Error: `for` expects a method `key` in type `{ittype}`.")
                                return
@@ -1412,12 +1438,12 @@ redef class AForGroup
                        var vtype = variable.declared_type.as(not null)
 
                        if n_expr isa AOrangeExpr then
-                               self.method_lt = v.get_method(self, vtype, "<", false)
+                               self.method_lt = v.build_callsite_by_name(self, vtype, "<", false)
                        else
-                               self.method_lt = v.get_method(self, vtype, "<=", false)
+                               self.method_lt = v.build_callsite_by_name(self, vtype, "<=", false)
                        end
 
-                       self.method_successor = v.get_method(self, vtype, "successor", false)
+                       self.method_successor = v.build_callsite_by_name(self, vtype, "successor", false)
                end
        end
 end
@@ -1431,8 +1457,8 @@ redef class AWithExpr
                var mtype = v.visit_expr(n_expr)
                if mtype == null then return
 
-               method_start = v.get_method(self, mtype, "start", n_expr isa ASelfExpr)
-               method_finish = v.get_method(self, mtype, "finish", n_expr isa ASelfExpr)
+               method_start = v.build_callsite_by_name(self, mtype, "start", n_expr isa ASelfExpr)
+               method_finish = v.build_callsite_by_name(self, mtype, "finish", n_expr isa ASelfExpr)
 
                v.visit_stmt(n_block)
                self.mtype = n_block.mtype
@@ -1605,10 +1631,10 @@ redef class AugmentedStringFormExpr
                var mclass = v.get_mclass(self, "String")
                if mclass == null then return # Forward error
                if is_bytestring then
-                       to_bytes_with_copy = v.get_method(self, v.mmodule.c_string_type, "to_bytes_with_copy", false)
+                       to_bytes_with_copy = v.build_callsite_by_name(self, v.mmodule.c_string_type, "to_bytes_with_copy", false)
                        mclass = v.get_mclass(self, "Bytes")
                else if is_re then
-                       to_re = v.get_method(self, mclass.mclass_type, "to_re", false)
+                       to_re = v.build_callsite_by_name(self, mclass.mclass_type, "to_re", false)
                        for i in suffix.chars do
                                mclass = v.get_mclass(self, "Regex")
                                if mclass == null then
@@ -1618,13 +1644,13 @@ redef class AugmentedStringFormExpr
                                var service = ""
                                if i == 'i' then
                                        service = "ignore_case="
-                                       ignore_case = v.get_method(self, mclass.mclass_type, service, false)
+                                       ignore_case = v.build_callsite_by_name(self, mclass.mclass_type, service, false)
                                else if i == 'm' then
                                        service = "newline="
-                                       newline = v.get_method(self, mclass.mclass_type, service, false)
+                                       newline = v.build_callsite_by_name(self, mclass.mclass_type, service, false)
                                else if i == 'b' then
                                        service = "extended="
-                                       extended = v.get_method(self, mclass.mclass_type, service, false)
+                                       extended = v.build_callsite_by_name(self, mclass.mclass_type, service, false)
                                else
                                        v.error(self, "Type Error: Unrecognized suffix {i} in prefixed Regex")
                                        abort
@@ -1718,8 +1744,8 @@ redef class AArrayExpr
                if mclass == null then return # Forward error
                var array_mtype = mclass.get_mtype([mtype])
 
-               with_capacity_callsite = v.get_method(self, array_mtype, "with_capacity", false)
-               push_callsite = v.get_method(self, array_mtype, "push", false)
+               with_capacity_callsite = v.build_callsite_by_name(self, array_mtype, "with_capacity", false)
+               push_callsite = v.build_callsite_by_name(self, array_mtype, "push", false)
 
                self.mtype = array_mtype
        end
@@ -1753,9 +1779,9 @@ redef class ARangeExpr
                # get the constructor
                var callsite
                if self isa ACrangeExpr then
-                       callsite = v.get_method(self, mtype, "init", false)
+                       callsite = v.build_callsite_by_name(self, mtype, "init", false)
                else if self isa AOrangeExpr then
-                       callsite = v.get_method(self, mtype, "without_last", false)
+                       callsite = v.build_callsite_by_name(self, mtype, "without_last", false)
                else
                        abort
                end
@@ -1930,7 +1956,7 @@ redef class ASendExpr
                                var systype = sysclass.mclass_type
                                mproperty = v.try_get_mproperty_by_name2(node, systype, name)
                                if mproperty != null then
-                                       callsite = v.get_method(node, systype, name, false)
+                                       callsite = v.build_callsite_by_name(node, systype, name, false)
                                        if callsite == null then return # Forward error
                                        # Update information, we are looking at `sys` now, not `self`
                                        nrecv.is_sys = true
@@ -1942,7 +1968,7 @@ redef class ASendExpr
                end
                if callsite == null then
                        # If still nothing, just exit
-                       callsite = v.get_method(node, recvtype, name, nrecv isa ASelfExpr)
+                       callsite = v.build_callsite_by_name(node, recvtype, name, nrecv isa ASelfExpr)
                        if callsite == null then return
                end
 
@@ -2076,7 +2102,7 @@ redef class ASendReassignFormExpr
                if recvtype == null then return # Forward error
 
                var for_self = self.n_expr isa ASelfExpr
-               var callsite = v.get_method(node, recvtype, name, for_self)
+               var callsite = v.build_callsite_by_name(node, recvtype, name, for_self)
 
                if callsite == null then return
                self.callsite = callsite
@@ -2091,7 +2117,7 @@ redef class ASendReassignFormExpr
                        return
                end
 
-               var wcallsite = v.get_method(node, recvtype, name + "=", self.n_expr isa ASelfExpr)
+               var wcallsite = v.build_callsite_by_name(node, recvtype, name + "=", self.n_expr isa ASelfExpr)
                if wcallsite == null then return
                self.write_callsite = wcallsite
 
@@ -2314,7 +2340,7 @@ redef class ANewExpr
                        return
                end
 
-               var callsite = v.get_method(node, recvtype, name, false)
+               var callsite = v.build_callsite_by_name(node, recvtype, name, false)
                if callsite == null then return
 
                if not callsite.mproperty.is_new then
index ba1a276..5eff78e 100644 (file)
@@ -6,3 +6,4 @@ base_simple3.nit
 -n -e 'print line' test_prog/README.md test_prog/test_prog.nit
 test_ffi_c_interpreter.nit
 -
+--keep-going test_keep_going.nit --run --dir out/
index b68b2f2..d590e01 100644 (file)
@@ -9,3 +9,4 @@ test_define.nit -D text=hello -D num=42 -D flag --dir out/ ; out/test_define
 --log --log-dir $WRITE test_prog -o out/test_prog.bin
 test_define.nit --semi-global -D text=hello -D num=42 -D flag --dir out/ ; out/test_define
 --run ../examples/print_arguments.nit 1 2 3 --dir out/
+--keep-going test_keep_going.nit --run --dir out/
index 0d24e60..4beb4fb 100644 (file)
@@ -5,6 +5,7 @@ nit_args4
 nit_args5
 nit_args6
 nit_args8
+nit_args9
 nitvm_args1
 nitvm_args3
 nitin
index 697b17e..097ca87 100644 (file)
@@ -5,6 +5,7 @@ nit_args4
 nit_args5
 nit_args6
 nit_args8
+nit_args9
 nitvm_args1
 nitvm_args3
 nitin
diff --git a/tests/sav/nit_args9.res b/tests/sav/nit_args9.res
new file mode 100644 (file)
index 0000000..1a3a40c
--- /dev/null
@@ -0,0 +1,25 @@
+\e[0;33mtest_keep_going.nit:15,11--14\e[0m: Error: class `Fail` not found in module `test_keep_going`.
+       fun plop: \e[1;31mFail\e[0m
+                 ^
+\e[0;33mtest_keep_going.nit:40,2--11\e[0m: Error: unreachable statement.
+               \e[1;31m999.output\e[0m
+               ^
+\e[0;33mtest_keep_going.nit:26,2--5\e[0m: Error: method or variable `fail` unknown in `Sys`.
+               \e[1;31mfail\e[0m
+               ^
+\e[0;33mtest_keep_going.nit:30,14--17\e[0m: Error: class `Fail` not found in module `test_keep_going`.
+               var x = new \e[1;31mFail\e[0m
+                           ^
+\e[0;33mtest_keep_going.nit:35,5\e[0m: Type Error: expected `Bool`, got `Int`.
+               if \e[1;31m1\e[0m then abort
+                  ^
+\e[0;33mtest_keep_going.nit:44,18--21\e[0m: Error: method `fail` does not exists in `Sys`.
+               var a = new Sys.\e[1;31mfail\e[0m
+                               ^
+1
+2
+3
+4
+5
+6
+7
diff --git a/tests/sav/nitc_args12.res b/tests/sav/nitc_args12.res
new file mode 100644 (file)
index 0000000..4181eb7
--- /dev/null
@@ -0,0 +1,26 @@
+\e[0;33mtest_keep_going.nit:15,11--14\e[0m: Error: class `Fail` not found in module `test_keep_going`.
+       fun plop: \e[1;31mFail\e[0m
+                 ^
+\e[0;33mtest_keep_going.nit:40,2--11\e[0m: Error: unreachable statement.
+               \e[1;31m999.output\e[0m
+               ^
+\e[0;33mtest_keep_going.nit:26,2--5\e[0m: Error: method or variable `fail` unknown in `Sys`.
+               \e[1;31mfail\e[0m
+               ^
+\e[0;33mtest_keep_going.nit:30,14--17\e[0m: Error: class `Fail` not found in module `test_keep_going`.
+               var x = new \e[1;31mFail\e[0m
+                           ^
+\e[0;33mtest_keep_going.nit:35,5\e[0m: Type Error: expected `Bool`, got `Int`.
+               if \e[1;31m1\e[0m then abort
+                  ^
+\e[0;33mtest_keep_going.nit:44,18--21\e[0m: Error: method `fail` does not exists in `Sys`.
+               var a = new Sys.\e[1;31mfail\e[0m
+                               ^
+Errors: 6. Warnings: 0.
+1
+2
+3
+4
+5
+6
+7
index 7ab7a71..040f43c 100644 (file)
@@ -30,7 +30,7 @@
 <div class="content"><div style="float: left">
        <h1 class="package-name">test_prog&nbsp;-&nbsp;</h1>
 </div>
-<div class="nitdoc"><h1 class="synopsys">Test program for model tools.</h1><p>This program creates a fake model that can be used to test tools like:</p>
+<div class="nitdoc"><h1 class="synopsis">Test program for model tools.</h1><p>This program creates a fake model that can be used to test tools like:</p>
 <ul>
 <li><code class="nitcode"><span class="nitcode"><span class="line"><span class="nc_i">nitdoc</span></span></span></code></li>
 <li><code class="nitcode"><span class="nitcode"><span class="line"><span class="nc_i">nitmetrics</span></span></span></code></li>
 <p>An image:</p>
 <p><img src="../res/c94d8a73ccfe143ebde7599e88f5f5ce.png" alt="Tinks3D"/></p>
 </div><h2>Content</h2><ul>
-<li><strong>test_prog</strong>: <span class="synopsys nitdoc">Test program for model tools.</span> (test_prog)<ul>
+<li><strong>test_prog</strong>: <span class="synopsis nitdoc">Test program for model tools.</span> (test_prog)<ul>
 <li><strong>examples</strong> (test_prog/examples)<ul>
 <li><strong>game_examples</strong> (test_prog/examples/game_examples.nit)</li>
 </ul>
 </li>
-<li><strong>game</strong>: <span class="synopsys nitdoc">Gaming group</span> (test_prog/game)<ul>
-<li><strong>game</strong>: <span class="synopsys nitdoc">A game abstraction for RPG.</span> (test_prog/game/game.nit)</li>
+<li><strong>game</strong>: <span class="synopsis nitdoc">Gaming group</span> (test_prog/game)<ul>
+<li><strong>game</strong>: <span class="synopsis nitdoc">A game abstraction for RPG.</span> (test_prog/game/game.nit)</li>
 </ul>
 </li>
-<li><strong>platform</strong>: <span class="synopsys nitdoc">Fictive Crappy Platform.</span> (test_prog/platform)<ul>
-<li><strong>platform</strong>: <span class="synopsys nitdoc">Declares base types allowed on the platform.</span> (test_prog/platform/platform.nit)</li>
+<li><strong>platform</strong>: <span class="synopsis nitdoc">Fictive Crappy Platform.</span> (test_prog/platform)<ul>
+<li><strong>platform</strong>: <span class="synopsis nitdoc">Declares base types allowed on the platform.</span> (test_prog/platform/platform.nit)</li>
 </ul>
 </li>
-<li><strong>rpg</strong>: <span class="synopsys nitdoc">Role Playing Game group</span> (test_prog/rpg)<ul>
-<li><strong>careers</strong>: <span class="synopsys nitdoc">Careers of the game.</span> (test_prog/rpg/careers.nit)</li>
-<li><strong>character</strong>: <span class="synopsys nitdoc">Characters are playable entity in the world.</span> (test_prog/rpg/character.nit)</li>
-<li><strong>combat</strong>: <span class="synopsys nitdoc">COmbat interactions between characters.</span> (test_prog/rpg/combat.nit)</li>
-<li><strong>races</strong>: <span class="synopsys nitdoc">Races of the game.</span> (test_prog/rpg/races.nit)</li>
-<li><strong>rpg</strong>: <span class="synopsys nitdoc">A worlg RPG abstraction.</span> (test_prog/rpg/rpg.nit)</li>
+<li><strong>rpg</strong>: <span class="synopsis nitdoc">Role Playing Game group</span> (test_prog/rpg)<ul>
+<li><strong>careers</strong>: <span class="synopsis nitdoc">Careers of the game.</span> (test_prog/rpg/careers.nit)</li>
+<li><strong>character</strong>: <span class="synopsis nitdoc">Characters are playable entity in the world.</span> (test_prog/rpg/character.nit)</li>
+<li><strong>combat</strong>: <span class="synopsis nitdoc">COmbat interactions between characters.</span> (test_prog/rpg/combat.nit)</li>
+<li><strong>races</strong>: <span class="synopsis nitdoc">Races of the game.</span> (test_prog/rpg/races.nit)</li>
+<li><strong>rpg</strong>: <span class="synopsis nitdoc">A worlg RPG abstraction.</span> (test_prog/rpg/rpg.nit)</li>
 </ul>
 </li>
-<li><strong>test_prog</strong>: <span class="synopsys nitdoc">A test program with a fake model to check model tools.</span> (test_prog/test_prog.nit)</li>
+<li><strong>test_prog</strong>: <span class="synopsis nitdoc">A test program with a fake model to check model tools.</span> (test_prog/test_prog.nit)</li>
 <li><strong>tests</strong> (test_prog/tests)<ul>
 <li><strong>test_game</strong> (test_prog/tests/test_game.nit)</li>
 </ul>
index 8c804fd..b36a61b 100644 (file)
@@ -7,11 +7,11 @@ Warning: no source file for `excluded`
   * has_package 1
   * has_readme 1
   * md_lines 12
-  * nb_section 0
-  * md_blocks 14
-  * BlockParagraph 4
-  * BlockUnorderedList 1
-  * BlockListItem 4
-  * SpanCode 4
-  * Image 1
+  * MdDocument 1
+  * MdParagraph 8
+  * MdText 6
+  * MdUnorderedList 1
+  * MdListItem 4
+  * MdCode 4
+  * MdImage 1
 readme.csv