[
  {
    "path": ".buildpacks",
    "content": "https://github.com/jayzes/heroku-buildpack-jpegoptim\nhttps://github.com/heroku/heroku-buildpack-ruby\nhttps://github.com/heroku/heroku-buildpack-nodejs"
  },
  {
    "path": ".codeclimate.yml",
    "content": "---\nversion: \"2\"\nchecks:\n  identical-code:\n    enabled: false\n  similar-code:\n    enabled: false\nplugins:\n  brakeman:\n    enabled: true\n  bundler-audit:\n    enabled: true\n  coffeelint:\n    enabled: true\n  duplication:\n    enabled: true\n    config:\n      languages:\n        ruby:\n          count_threshold: 3\n  eslint:\n    enabled: true\n    exclude_patterns:\n    - \"app/assets/javascripts/bootstrap.js\"\n    - \"app/assets/javascripts/bootstrap-tags.js\"\n    - \"app/assets/javascripts/jquery_ujs.js\"\n    - \"app/assets/javascripts/jquery-ui.js\"\n  fixme:\n    enabled: true\n  rubocop:\n    enabled: true\n    channel: rubocop-1-39-0\nexclude_patterns:\n- \"config/\"\n- \"db/\"\n- \"features/\"\n- \"script/\"\n- \"spec/\"\n- \"vendor/\"\n- \"public/\"\n- \"app/assets/javascripts/bootstrap.js\"\n- \"app/assets/javascripts/bootstrap-tags.js\"\n- \"app/assets/javascripts/jquery_ujs.js\"\n- \"app/assets/javascripts/jquery-ui.js\"\n"
  },
  {
    "path": ".coveralls.yml",
    "content": "repo_token: HRkua0MTRxARFHN0VnQGzrqRskIv3crds"
  },
  {
    "path": ".dockerignore",
    "content": ""
  },
  {
    "path": ".eslintignore",
    "content": "**/*{.,-}min.js\n"
  },
  {
    "path": ".eslintrc",
    "content": "ecmaFeatures:\n  modules: true\n  jsx: true\n\nenv:\n  amd: true\n  browser: true\n  es6: true\n  jquery: true\n  node: true\n\n# http://eslint.org/docs/rules/\nrules:\n  # Possible Errors\n  comma-dangle: [2, never]\n  no-cond-assign: 2\n  no-console: 0\n  no-constant-condition: 2\n  no-control-regex: 2\n  no-debugger: 2\n  no-dupe-args: 2\n  no-dupe-keys: 2\n  no-duplicate-case: 2\n  no-empty: 2\n  no-empty-character-class: 2\n  no-ex-assign: 2\n  no-extra-boolean-cast: 2\n  no-extra-parens: 0\n  no-extra-semi: 2\n  no-func-assign: 2\n  no-inner-declarations: [2, functions]\n  no-invalid-regexp: 2\n  no-irregular-whitespace: 2\n  no-negated-in-lhs: 2\n  no-obj-calls: 2\n  no-regex-spaces: 2\n  no-sparse-arrays: 2\n  no-unexpected-multiline: 2\n  no-unreachable: 2\n  use-isnan: 2\n  valid-jsdoc: 0\n  valid-typeof: 2\n\n  # Best Practices\n  accessor-pairs: 2\n  block-scoped-var: 0\n  complexity: [2, 6]\n  consistent-return: 0\n  curly: 0\n  default-case: 0\n  dot-location: 0\n  dot-notation: 0\n  eqeqeq: 2\n  guard-for-in: 2\n  no-alert: 2\n  no-caller: 2\n  no-case-declarations: 2\n  no-div-regex: 2\n  no-else-return: 0\n  no-empty-label: 2\n  no-empty-pattern: 2\n  no-eq-null: 2\n  no-eval: 2\n  no-extend-native: 2\n  no-extra-bind: 2\n  no-fallthrough: 2\n  no-floating-decimal: 0\n  no-implicit-coercion: 0\n  no-implied-eval: 2\n  no-invalid-this: 0\n  no-iterator: 2\n  no-labels: 0\n  no-lone-blocks: 2\n  no-loop-func: 2\n  no-magic-number: 0\n  no-multi-spaces: 0\n  no-multi-str: 0\n  no-native-reassign: 2\n  no-new-func: 2\n  no-new-wrappers: 2\n  no-new: 2\n  no-octal-escape: 2\n  no-octal: 2\n  no-proto: 2\n  no-redeclare: 2\n  no-return-assign: 2\n  no-script-url: 2\n  no-self-compare: 2\n  no-sequences: 0\n  no-throw-literal: 0\n  no-unused-expressions: 2\n  no-useless-call: 2\n  no-useless-concat: 2\n  no-void: 2\n  no-warning-comments: 0\n  no-with: 2\n  radix: 2\n  vars-on-top: 0\n  wrap-iife: 2\n  yoda: 0\n\n  # Strict\n  strict: 0\n\n  # Variables\n  init-declarations: 0\n  no-catch-shadow: 2\n  no-delete-var: 2\n  no-label-var: 2\n  no-shadow-restricted-names: 2\n  no-shadow: 0\n  no-undef-init: 2\n  no-undef: 0\n  no-undefined: 0\n  no-unused-vars: 0\n  no-use-before-define: 0\n\n  # Node.js and CommonJS\n  callback-return: 2\n  global-require: 2\n  handle-callback-err: 2\n  no-mixed-requires: 0\n  no-new-require: 0\n  no-path-concat: 2\n  no-process-exit: 2\n  no-restricted-modules: 0\n  no-sync: 0\n\n  # Stylistic Issues\n  array-bracket-spacing: 0\n  block-spacing: 0\n  brace-style: 0\n  camelcase: 0\n  comma-spacing: 0\n  comma-style: 0\n  computed-property-spacing: 0\n  consistent-this: 0\n  eol-last: 0\n  func-names: 0\n  func-style: 0\n  id-length: 0\n  id-match: 0\n  indent: 0\n  jsx-quotes: 0\n  key-spacing: 0\n  linebreak-style: 0\n  lines-around-comment: 0\n  max-depth: 0\n  max-len: 0\n  max-nested-callbacks: 0\n  max-params: 0\n  max-statements: [2, 30]\n  new-cap: 0\n  new-parens: 0\n  newline-after-var: 0\n  no-array-constructor: 0\n  no-bitwise: 0\n  no-continue: 0\n  no-inline-comments: 0\n  no-lonely-if: 0\n  no-mixed-spaces-and-tabs: 0\n  no-multiple-empty-lines: 0\n  no-negated-condition: 0\n  no-nested-ternary: 0\n  no-new-object: 0\n  no-plusplus: 0\n  no-restricted-syntax: 0\n  no-spaced-func: 0\n  no-ternary: 0\n  no-trailing-spaces: 0\n  no-underscore-dangle: 0\n  no-unneeded-ternary: 0\n  object-curly-spacing: 0\n  one-var: 0\n  operator-assignment: 0\n  operator-linebreak: 0\n  padded-blocks: 0\n  quote-props: 0\n  quotes: 0\n  require-jsdoc: 0\n  semi-spacing: 0\n  semi: 0\n  sort-vars: 0\n  space-after-keywords: 0\n  space-before-blocks: 0\n  space-before-function-paren: 0\n  space-before-keywords: 0\n  space-in-parens: 0\n  space-infix-ops: 0\n  space-return-throw-case: 0\n  space-unary-ops: 0\n  spaced-comment: 0\n  wrap-regex: 0\n\n  # ECMAScript 6\n  arrow-body-style: 0\n  arrow-parens: 0\n  arrow-spacing: 0\n  constructor-super: 0\n  generator-star-spacing: 0\n  no-arrow-condition: 0\n  no-class-assign: 0\n  no-const-assign: 0\n  no-dupe-class-members: 0\n  no-this-before-super: 0\n  no-var: 0\n  object-shorthand: 0\n  prefer-arrow-callback: 0\n  prefer-const: 0\n  prefer-reflect: 0\n  prefer-spread: 0\n  prefer-template: 0\n  require-yield: 0\n"
  },
  {
    "path": ".gitignore",
    "content": "# See https://help.github.com/articles/ignoring-files for more about ignoring files.\n#\n# If you find yourself ignoring temporary files generated by your text editor\n# or operating system, you probably want to add a global ignore instead:\n#   git config --global core.excludesfile '~/.gitignore_global'\n\n# Ignore bundler config.\n/.bundle\n\n/vendor/bundle\n\n# Ignore coverage results\n\n/coverage\n\n# Ignore the default SQLite database.\n/db/*.sqlite3\n/db/*.sqlite3-journal\n\n# Ignore all logfiles and tempfiles.\n/log/*.log\n/tmp\n\n# scm revert files\n**.orig\n\n# Mac finder artifacts\n.DS_Store\n\n# Netbeans project directory\n/nbproject/\n\n# RubyMine project files\n.idea\n/.idea/*\n\n# Textmate project files\n/*.tmproj\n\n# vim artifacts\n**.swp\n\n# Ignore application configuration\n#/config/application.yml\n.env\n.env_develop_server\n\n# Ignore Railroady docs\n\ndoc/**/*\n\n# Versioning\n.rvmrc.env\n\n.rvmrc\n# .ruby-version\n# .ruby-gemset\n\n# Ignore Precompiled Assets\npublic/assets/**\n\n# Plugin files\n.floo\n.flooignore\n\n# Zeus config\nzeus.json\n\n.pryrc\n\nfeatures/support/fixtures/req_cache/\n\nconfig/secrets.yml\nconfig/settings.local.yml\nconfig/settings/*.local.yml\nconfig/environments/*.local.yml\n#\n# Guard config\nGuardfile\n\n.vagrant/\ntags\n.byebug_history\n\nnode_modules/*\n\nvendor/assets/javascripts/moment.min.js\n# vendor/assets/javascripts/moment-timezone-with-data-2012-2022.js\nvendor/assets/javascripts/bootstrap-datepicker.js\nvendor/assets/javascripts/bootstrap-timepicker.min.js\nvendor/assets/javascripts/typeahead.jquery.js\nvendor/assets/javascripts/nprogress.js\n\nlatest.dump\ncertbot.log\n\n\n# Ignore vscode config\n\n.vscode/**/*\n\n# db/schema.rb\n\nrerun.txt\n\n# Ignore VCR\nfeatures/support/fixtures/cassettes/**\n/config/master.key\n\n/app/assets/builds/*\n!/app/assets/builds/.keep\n"
  },
  {
    "path": ".rspec",
    "content": "--require rails_helper\n--format documentation\n--color\n--order rand"
  },
  {
    "path": ".rubocop.yml",
    "content": "inherit_from: .rubocop_todo.yml\n\nAllCops:\n  Exclude:\n    - 'bin/*'\n    - 'db/schema.rb'\n    - 'node_modules/**/*'\n    - 'server/**/*'\n    - 'vendor/**/*'\n  TargetRubyVersion: 3.0.5\n  NewCops: enable\n\nrequire: rubocop-rails\n\nGemspec/DeprecatedAttributeAssignment:\n  Enabled: true\nLayout/SpaceBeforeBrackets: # (new in 1.7)\n  Enabled: true\nLint/AmbiguousAssignment: # (new in 1.7)\n  Enabled: true\nLint/DeprecatedConstants: # (new in 1.8)\n  Enabled: true\nLint/DuplicateBranch: # (new in 1.3)\n  Enabled: true\nLint/DuplicateRegexpCharacterClassElement: # (new in 1.1)\n  Enabled: true\nLint/EmptyBlock: # (new in 1.1)\n  Enabled: true\nLint/EmptyClass: # (new in 1.3)\n  Enabled: true\nLint/LambdaWithoutLiteralBlock: # (new in 1.8)\n  Enabled: true\nLint/NoReturnInBeginEndBlocks: # (new in 1.2)\n  Enabled: true\nLint/NumberedParameterAssignment: # (new in 1.9)\n  Enabled: true\nLint/OrAssignmentToConstant: # (new in 1.9)\n  Enabled: true\nLint/RedundantDirGlobSort: # (new in 1.8)\n  Enabled: true\nLint/SymbolConversion: # (new in 1.9)\n  Enabled: true\nLint/ToEnumArguments: # (new in 1.1)\n  Enabled: true\nLint/TripleQuotes: # (new in 1.9)\n  Enabled: true\nLint/UnexpectedBlockArity: # (new in 1.5)\n  Enabled: true\nLint/UnmodifiedReduceAccumulator: # (new in 1.1)\n  Enabled: true\nStyle/ArgumentsForwarding: # (new in 1.1)\n  Enabled: true\nStyle/CollectionCompact: # (new in 1.2)\n  Enabled: true\nStyle/DocumentDynamicEvalDefinition: # (new in 1.1)\n  Enabled: true\nStyle/EndlessMethod: # (new in 1.8)\n  Enabled: true\nStyle/HashConversion: # (new in 1.10)\n  Enabled: true\nStyle/HashExcept: # (new in 1.7)\n  Enabled: true\nStyle/IfWithBooleanLiteralBranches: # (new in 1.9)\n  Enabled: true\nStyle/NegatedIfElseCondition: # (new in 1.2)\n  Enabled: true\nStyle/NilLambda: # (new in 1.3)\n  Enabled: true\nStyle/RedundantArgument: # (new in 1.4)\n  Enabled: true\nStyle/StringChars: # (new in 1.12)\n  Enabled: true\nStyle/SwapValues: # (new in 1.1)\n  Enabled: true\nLayout/DefEndAlignment:\n  AutoCorrect: true\n\nLayout/EndAlignment:\n  AutoCorrect: true\n  EnforcedStyleAlignWith: keyword\n\nLayout/IndentationConsistency:\n  EnforcedStyle: normal\n\nLint/AssignmentInCondition:\n  Enabled: false\n\nLint/Debugger:\n  Enabled: true\n\nNaming/FileName:\n  Description: Use snake_case for source file names.\n  StyleGuide: https://github.com/bbatsov/ruby-style-guide#snake-case-files\n  Enabled: false\n\nStyle/Alias:\n  EnforcedStyle: prefer_alias_method\n\nStyle/AsciiComments:\n  Enabled: false\n\nStyle/AutoResourceCleanup:\n  Enabled: true\n\nStyle/ClassAndModuleChildren:\n  Enabled: false\n\nStyle/CollectionMethods:\n  Description: Preferred collection methods.\n  StyleGuide: https://github.com/bbatsov/ruby-style-guide#map-find-select-reduce-size\n  Enabled: true\n  PreferredMethods:\n    collect: map\n    collect!: map!\n    find: detect\n    find_all: select\n    reduce: inject\n\nStyle/Documentation:\n  Enabled: false\n\nStyle/PercentLiteralDelimiters:\n  PreferredDelimiters:\n    '%i': '()'\n    '%I': '()'\n    '%r': '{}'\n    '%w': '()'\n    '%W': '()'\n\nStyle/StringLiterals:\n  EnforcedStyle: single_quotes"
  },
  {
    "path": ".rubocop_todo.yml",
    "content": "# This configuration was generated by\n# `rubocop --auto-gen-config --auto-gen-only-exclude --exclude-limit 10000`\n# on 2023-03-08 12:54:14 UTC using RuboCop version 1.46.0.\n# The point is for the user to remove these configuration records\n# one by one as the offenses are removed from the code base.\n# Note that changes in the inspected code, or installation of new\n# versions of RuboCop, may require this file to be generated again.\n\n# Offense count: 6\n# Configuration parameters: AllowedMethods, AllowedPatterns.\nLint/AmbiguousBlockAssociation:\n  Exclude:\n    - 'features/step_definitions/event_steps.rb'\n    - 'spec/migrations/event_time_refactor_spec.rb'\n\n# Offense count: 2\n# Configuration parameters: AllowedMethods.\n# AllowedMethods: enums\nLint/ConstantDefinitionInBlock:\n  Exclude:\n    - 'spec/controllers/concerns/deactivated_user_finder_spec.rb'\n    - 'spec/controllers/concerns/statistics_spec.rb'\n\n# Offense count: 2\n# Configuration parameters: DebuggerMethods.\nLint/Debugger:\n  Exclude:\n    - 'features/step_definitions/basic_steps.rb'\n\n# Offense count: 4\n# Configuration parameters: IgnoreLiteralBranches, IgnoreConstantBranches.\nLint/DuplicateBranch:\n  Exclude:\n    - 'app/controllers/subscriptions_controller.rb'\n    - 'features/step_definitions/basic_steps.rb'\n    - 'features/step_definitions/event_steps.rb'\n    - 'lib/custom_errors.rb'\n\n# Offense count: 2\n# Configuration parameters: AllowComments, AllowEmptyLambdas.\nLint/EmptyBlock:\n  Exclude:\n    - 'lib/tasks/cucumber.rake'\n    - 'spec/factories/payment_source.rb'\n\n# Offense count: 1\nLint/MissingSuper:\n  Exclude:\n    - 'lib/agile_ventures/errors.rb'\n\n# Offense count: 2\nLint/RescueException:\n  Exclude:\n    - 'app/controllers/projects_controller.rb'\n    - 'app/helpers/articles_helper.rb'\n\n# Offense count: 1\n# Configuration parameters: IgnoreImplicitReferences.\nLint/ShadowedArgument:\n  Exclude:\n    - 'features/step_definitions/jitsi_steps.rb'\n\n# Offense count: 3\nLint/ShadowingOuterLocalVariable:\n  Exclude:\n    - 'app/controllers/concerns/statistics.rb'\n    - 'app/controllers/dashboard_controller.rb'\n    - 'db/seeds.rb'\n\n# Offense count: 2\n# Configuration parameters: AllowComments, AllowNil.\nLint/SuppressedException:\n  Exclude:\n    - 'config/application.rb'\n    - 'lib/validators/uri_validator.rb'\n\n# Offense count: 1\n# Configuration parameters: AllowKeywordBlockArguments.\nLint/UnderscorePrefixedVariableName:\n  Exclude:\n    - 'app/models/event.rb'\n\n# Offense count: 14\nLint/UselessAssignment:\n  Exclude:\n    - 'app/controllers/concerns/statistics.rb'\n    - 'app/controllers/dashboard_controller.rb'\n    - 'app/jobs/github_commits_job.rb'\n    - 'app/models/event.rb'\n    - 'features/step_definitions/user_steps.rb'\n    - 'spec/models/event_spec.rb'\n    - 'spec/models/language_project_spec.rb'\n    - 'spec/models/user_spec.rb'\n    - 'spec/support/privileged_user_helper.rb'\n    - 'spec/support/shared_examples/shared_example_for_disqus.rb'\n\n# Offense count: 33\n# Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes, Max.\nMetrics/AbcSize:\n  Exclude:\n    - 'app/controllers/articles_controller.rb'\n    - 'app/controllers/authentications_controller.rb'\n    - 'app/controllers/calendar_controller.rb'\n    - 'app/controllers/concerns/statistics.rb'\n    - 'app/controllers/dashboard_controller.rb'\n    - 'app/controllers/documents_controller.rb'\n    - 'app/controllers/event_instances_controller.rb'\n    - 'app/controllers/events_controller.rb'\n    - 'app/controllers/paypal_agreement_controller.rb'\n    - 'app/controllers/projects_controller.rb'\n    - 'app/controllers/registrations_controller.rb'\n    - 'app/controllers/subscriptions_controller.rb'\n    - 'app/controllers/users_controller.rb'\n    - 'app/helpers/application_helper.rb'\n    - 'app/helpers/disqus_helper.rb'\n    - 'app/helpers/documents_helper.rb'\n    - 'app/helpers/visitors_helper.rb'\n    - 'app/jobs/github_commits_job.rb'\n    - 'app/models/event.rb'\n    - 'db/migrate/20140725131327_event_combine_date_and_time_fields.rb'\n    - 'db/migrate/20230314192607_create_active_storage_tables.active_storage.rb'\n    - 'db/migrate/20180828145628_vanity_migration.rb'\n    - 'features/step_definitions/basic_steps.rb'\n    - 'features/step_definitions/email_steps.rb'\n\n# Offense count: 91\n# Configuration parameters: CountComments, Max, CountAsOne, AllowedMethods, AllowedPatterns.\n# AllowedMethods: refine\nMetrics/BlockLength:\n  Exclude:\n    - 'config/environments/development.rb'\n    - 'config/environments/production.rb'\n    - 'config/routes.rb'\n    - 'db/migrate/20180828145628_vanity_migration.rb'\n    - 'features/support/puffing_billy.rb'\n    - 'lib/tasks/cucumber.rake'\n    - 'spec/controllers/application_controller_spec.rb'\n    - 'spec/controllers/articles_controller_spec.rb'\n    - 'spec/controllers/authentications_controller_spec.rb'\n    - 'spec/controllers/concerns/statistics_spec.rb'\n    - 'spec/controllers/documents_controller_spec.rb'\n    - 'spec/controllers/event_instances_controller_spec.rb'\n    - 'spec/controllers/static_pages_controller_spec.rb'\n    - 'spec/controllers/users_controller_spec.rb'\n    - 'spec/factories/event_instances.rb'\n    - 'spec/features/project_create_and_approval_spec.rb'\n    - 'spec/helpers/application_helper_spec.rb'\n    - 'spec/helpers/articles_helper_spec.rb'\n    - 'spec/helpers/devise_helper_spec.rb'\n    - 'spec/helpers/event_helper_spec.rb'\n    - 'spec/helpers/layout_helper_spec.rb'\n    - 'spec/jobs/github_commits_job_spec.rb'\n    - 'spec/jobs/github_readme_files_job_spec.rb'\n    - 'spec/lib/custom_errors_spec.rb'\n    - 'spec/lib/validators/image_url_validator_spec.rb'\n    - 'spec/mailers/mailer_spec.rb'\n    - 'spec/mailers/project_mailer_spec.rb'\n    - 'spec/migrations/event_time_refactor_spec.rb'\n    - 'spec/models/article_spec.rb'\n    - 'spec/models/document_spec.rb'\n    - 'spec/models/event_instance_spec.rb'\n    - 'spec/models/event_spec.rb'\n    - 'spec/models/project_spec.rb'\n    - 'spec/models/static_page_spec.rb'\n    - 'spec/models/user_spec.rb'\n    - 'spec/presenters/event_instance_presenter_spec.rb'\n    - 'spec/presenters/users/user_presenter_spec.rb'\n    - 'spec/rails_helper.rb'\n    - 'spec/requests/authentications_spec.rb'\n    - 'spec/services/add_subscription_to_user_for_plan_spec.rb'\n    - 'spec/services/hangout_notification_service_spec.rb'\n    - 'spec/services/karma_calculator_spec.rb'\n    - 'spec/services/youtube_notification_service_spec.rb'\n    - 'spec/support/shared_examples/shared_example_for_hangout_button.rb'\n\n# Offense count: 5\n# Configuration parameters: CountComments, Max, CountAsOne.\nMetrics/ClassLength:\n  Exclude:\n    - 'app/controllers/events_controller.rb'\n    - 'app/controllers/projects_controller.rb'\n    - 'app/controllers/subscriptions_controller.rb'\n    - 'app/models/event.rb'\n    - 'app/models/user.rb'\n\n# Offense count: 5\n# Configuration parameters: AllowedMethods, AllowedPatterns, Max.\nMetrics/CyclomaticComplexity:\n  Exclude:\n    - 'app/controllers/authentications_controller.rb'\n    - 'app/models/event.rb'\n    - 'features/step_definitions/basic_steps.rb'\n    - 'features/step_definitions/contained_search_steps.rb'\n    - 'features/support/selectors.rb'\n\n# Offense count: 45\n# Configuration parameters: CountComments, Max, CountAsOne, AllowedMethods, AllowedPatterns.\nMetrics/MethodLength:\n  Exclude:\n    - 'app/controllers/articles_controller.rb'\n    - 'app/controllers/authentications_controller.rb'\n    - 'app/controllers/calendar_controller.rb'\n    - 'app/controllers/concerns/statistics.rb'\n    - 'app/controllers/documents_controller.rb'\n    - 'app/controllers/event_instances_controller.rb'\n    - 'app/controllers/events_controller.rb'\n    - 'app/controllers/projects_controller.rb'\n    - 'app/controllers/registrations_controller.rb'\n    - 'app/controllers/subscriptions_controller.rb'\n    - 'app/controllers/users_controller.rb'\n    - 'app/helpers/application_helper.rb'\n    - 'app/helpers/articles_helper.rb'\n    - 'app/helpers/devise_helper.rb'\n    - 'app/helpers/disqus_helper.rb'\n    - 'app/helpers/visitors_helper.rb'\n    - 'app/jobs/github_commits_job.rb'\n    - 'app/models/event.rb'\n    - 'app/services/paypal_service.rb'\n    - 'db/migrate/20140109040839_devise_create_users.rb'\n    - 'db/migrate/20140215192014_acts_as_taggable_on_migration.rb'\n    - 'db/migrate/20140225215805_create_events.rb'\n    - 'db/migrate/20140417124942_acts_as_votable_migration.rb'\n    - 'db/migrate/20140725131327_event_combine_date_and_time_fields.rb'\n    - 'db/migrate/20140914202645_create_activities.rb'\n    - 'db/migrate/20161103011445_create_friendly_id_slugs.rb'\n    - 'db/migrate/20180828145628_vanity_migration.rb'\n    - 'db/migrate/20230314192607_create_active_storage_tables.active_storage.rb'\n    - 'features/step_definitions/basic_steps.rb'\n    - 'features/step_definitions/contained_search_steps.rb'\n    - 'features/step_definitions/user_steps.rb'\n    - 'features/support/helpers.rb'\n    - 'features/support/selectors.rb'\n    - 'lib/custom_errors.rb'\n    - 'lib/validators/pivotal_tracker_url_validator.rb'\n\n# Offense count: 1\n# Configuration parameters: CountComments, Max, CountAsOne.\nMetrics/ModuleLength:\n  Exclude:\n    - 'app/helpers/application_helper.rb'\n\n# Offense count: 3\n# Configuration parameters: Max, CountKeywordArgs, MaxOptionalParameters.\nMetrics/ParameterLists:\n  Exclude:\n    - 'app/services/add_subscription_to_user_for_plan.rb'\n    - 'features/step_definitions/email_steps.rb'\n    - 'lib/paypal.rb'\n\n# Offense count: 2\n# Configuration parameters: AllowedMethods, AllowedPatterns, Max.\nMetrics/PerceivedComplexity:\n  Exclude:\n    - 'app/controllers/authentications_controller.rb'\n\n# Offense count: 11\nNaming/AccessorMethodName:\n  Exclude:\n    - 'app/controllers/application_controller.rb'\n    - 'app/controllers/dashboard_controller.rb'\n    - 'app/controllers/documents_controller.rb'\n    - 'app/controllers/projects_controller.rb'\n    - 'app/controllers/users_controller.rb'\n    - 'app/controllers/visitors_controller.rb'\n    - 'db/seeds.rb'\n    - 'spec/support/helpers.rb'\n    - 'spec/support/privileged_user_helper.rb'\n\n# Offense count: 4\n# Configuration parameters: EnforcedStyleForLeadingUnderscores.\n# SupportedStylesForLeadingUnderscores: disallowed, required, optional\nNaming/MemoizedInstanceVariableName:\n  Exclude:\n    - 'app/controllers/projects_controller.rb'\n    - 'features/support/helpers.rb'\n    - 'lib/core_ext/active_record/base_extension.rb'\n\n# Offense count: 5\n# Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames.\n# AllowedNames: as, at, by, cc, db, id, if, in, io, ip, of, on, os, pp, to\nNaming/MethodParameterName:\n  Exclude:\n    - 'app/helpers/application_helper.rb'\n    - 'db/migrate/20140725131327_event_combine_date_and_time_fields.rb'\n\n# Offense count: 13\n# Configuration parameters: NamePrefix, ForbiddenPrefixes, AllowedMethods, MethodDefinitionMacros.\n# NamePrefix: is_, has_, have_\n# ForbiddenPrefixes: is_, has_, have_\n# AllowedMethods: is_a?\n# MethodDefinitionMacros: define_method, define_singleton_method\nNaming/PredicateName:\n  Exclude:\n    - 'app/controllers/subscriptions_controller.rb'\n    - 'app/helpers/application_helper.rb'\n    - 'app/models/user.rb'\n    - 'app/presenters/users/user_presenter.rb'\n    - 'features/support/helpers.rb'\n    - 'lib/validators/image_url_validator.rb'\n    - 'lib/validators/pivotal_tracker_url_validator.rb'\n\n# Offense count: 12\n# Configuration parameters: EnforcedStyle, CheckMethodNames, CheckSymbols, AllowedIdentifiers, AllowedPatterns.\n# SupportedStyles: snake_case, normalcase, non_integer\n# AllowedIdentifiers: capture3, iso8601, rfc1123_date, rfc822, rfc2822, rfc3339, x86_64\nNaming/VariableNumber:\n  Exclude:\n    - 'features/step_definitions/youtube_steps.rb'\n    - 'spec/controllers/documents_controller_spec.rb'\n    - 'spec/lib/custom_errors_spec.rb'\n    - 'spec/models/user_spec.rb'\n\n# Offense count: 5\n# This cop supports unsafe autocorrection (--autocorrect-all).\nRails/ActionControllerFlashBeforeRender:\n  Exclude:\n    - 'app/controllers/articles_controller.rb'\n    - 'app/controllers/event_instances_controller.rb'\n    - 'app/controllers/projects_controller.rb'\n\n# Offense count: 2\n# This cop supports unsafe autocorrection (--autocorrect-all).\nRails/ApplicationController:\n  Exclude:\n    - 'spec/controllers/concerns/deactivated_user_finder_spec.rb'\n    - 'spec/controllers/concerns/statistics_spec.rb'\n\n# Offense count: 1\n# This cop supports unsafe autocorrection (--autocorrect-all).\nRails/ApplicationMailer:\n  Exclude:\n    - 'app/mailers/mailer.rb'\n\n# Offense count: 7\n# This cop supports unsafe autocorrection (--autocorrect-all).\n# Configuration parameters: NilOrEmpty, NotPresent, UnlessPresent.\nRails/Blank:\n  Exclude:\n    - 'app/controllers/users_controller.rb'\n    - 'app/helpers/application_helper.rb'\n    - 'app/models/user.rb'\n    - 'app/presenters/event_instance_presenter.rb'\n    - 'features/step_definitions/premium_steps.rb'\n    - 'lib/validators/image_url_validator.rb'\n\n# Offense count: 11\n# Configuration parameters: Database, Include.\n# SupportedDatabases: mysql, postgresql\n# Include: db/migrate/*.rb\nRails/BulkChangeTable:\n  Exclude:\n    - 'db/migrate/20140120014041_add_first_last_names_to_users.rb'\n    - 'db/migrate/20140220091703_add_latitude_and_longitude_to_user.rb'\n    - 'db/migrate/20140220131347_add_country_region_city_to_user.rb'\n    - 'db/migrate/20140707211758_add_category_to_hangout.rb'\n    - 'db/migrate/20140725131327_event_combine_date_and_time_fields.rb'\n    - 'db/migrate/20140730123120_add_project_and_host_to_hangout.rb'\n    - 'db/migrate/20180810180605_add_karma_breakdown_elements_to_karma_table.rb'\n    - 'db/migrate/20221215192333_change_exclusions_in_events.rb'\n    - 'db/migrate/20221215193425_change_participants_in_event_instances.rb'\n\n# Offense count: 9\n# Configuration parameters: Include.\n# Include: db/migrate/*.rb\nRails/CreateTableWithTimestamps:\n  Exclude:\n    - 'db/migrate/20140215192014_acts_as_taggable_on_migration.rb'\n    - 'db/migrate/20140618153610_create_commit_counts.rb'\n    - 'db/migrate/20160923135850_add_subscriptions.rb'\n    - 'db/migrate/20160923145243_add_payment_sources.rb'\n    - 'db/migrate/20160928152822_add_hangout_participants_snapshots.rb'\n    - 'db/migrate/20180813125658_create_languages.rb'\n    - 'db/migrate/20180828145628_vanity_migration.rb'\n    - 'db/migrate/20181220155404_create_slack_channel.rb'\n    - 'db/migrate/20230314192607_create_active_storage_tables.active_storage.rb'\n\n\n# Offense count: 5\n# Configuration parameters: EnforcedStyle, AllowToTime.\n# SupportedStyles: strict, flexible\nRails/Date:\n  Exclude:\n    - 'app/models/event_date.rb'\n    - 'db/seeds/events.rb'\n    - 'spec/models/event_date_spec.rb'\n\n# Offense count: 85\n# This cop supports unsafe autocorrection (--autocorrect-all).\n# Configuration parameters: Whitelist, AllowedMethods, AllowedReceivers.\n# Whitelist: find_by_sql, find_by_token_for\n# AllowedMethods: find_by_sql, find_by_token_for\n# AllowedReceivers: Gem::Specification, page\nRails/DynamicFindBy:\n  Exclude:\n    - 'app/controllers/authentications_controller.rb'\n    - 'app/controllers/documents_controller.rb'\n    - 'app/helpers/application_helper.rb'\n    - 'app/jobs/github_commits_job.rb'\n    - 'app/jobs/github_static_pages_job.rb'\n    - 'app/models/static_page.rb'\n    - 'db/migrate/20140716134701_import_getting_started_static_page.rb'\n    - 'db/seeds.rb'\n    - 'features/step_definitions/article_votes_steps.rb'\n    - 'features/step_definitions/articles_steps.rb'\n    - 'features/step_definitions/avatar_steps.rb'\n    - 'features/step_definitions/basic_steps.rb'\n    - 'features/step_definitions/devops_steps.rb'\n    - 'features/step_definitions/documents_steps.rb'\n    - 'features/step_definitions/event_steps.rb'\n    - 'features/step_definitions/hangout_steps.rb'\n    - 'features/step_definitions/pages_steps.rb'\n    - 'features/step_definitions/projects_steps.rb'\n    - 'features/step_definitions/scrums_steps.rb'\n    - 'features/step_definitions/sponsors_steps.rb'\n    - 'features/step_definitions/user_steps.rb'\n    - 'features/step_definitions/youtube_steps.rb'\n    - 'features/support/helpers.rb'\n    - 'lib/tasks/import_pages.rake'\n    - 'spec/controllers/documents_controller_spec.rb'\n    - 'spec/controllers/event_instances_controller_spec.rb'\n    - 'spec/models/user_spec.rb'\n\n# Offense count: 1\n# Configuration parameters: Include.\n# Include: app/**/*.rb, config/**/*.rb, lib/**/*.rb\nRails/Exit:\n  Exclude:\n    - 'config/zeus/custom_plan.rb'\n\n# Offense count: 17\n# Configuration parameters: EnforcedStyle.\n# SupportedStyles: slashes, arguments\nRails/FilePath:\n  Exclude:\n    - 'app/controllers/application_controller.rb'\n    - 'config/application.rb'\n    - 'config/environments/development.rb'\n    - 'config/initializers/reload_api.rb'\n    - 'config/initializers/vcr.rb'\n    - 'config/initializers/website_one.rb'\n    - 'db/migrate/20140716134701_import_getting_started_static_page.rb'\n    - 'db/seeds.rb'\n    - 'lib/tasks/cucumber.rake'\n    - 'lib/tasks/db_dump.rake'\n    - 'lib/tasks/import_pages.rake'\n    - 'spec/rails_helper.rb'\n    - 'spec/support/helpers.rb'\n\n# Offense count: 6\n# Configuration parameters: Include.\n# Include: app/models/**/*.rb\nRails/HasAndBelongsToMany:\n  Exclude:\n    - 'app/models/event.rb'\n    - 'app/models/language.rb'\n    - 'app/models/project.rb'\n    - 'app/models/slack_channel.rb'\n\n# Offense count: 16\n# Configuration parameters: Include.\n# Include: app/models/**/*.rb\nRails/HasManyOrHasOneDependent:\n  Exclude:\n    - 'app/models/event.rb'\n    - 'app/models/event_instance.rb'\n    - 'app/models/project.rb'\n    - 'app/models/subscription.rb'\n    - 'app/models/user.rb'\n\n# Offense count: 18\n# Configuration parameters: Include.\n# Include: app/helpers/**/*.rb\nRails/HelperInstanceVariable:\n  Exclude:\n    - 'app/helpers/documents_helper.rb'\n    - 'app/helpers/event_helper.rb'\n    - 'app/helpers/layout_helper.rb'\n    - 'app/helpers/projects_helper.rb'\n    - 'app/helpers/static_pages_helper.rb'\n    - 'app/helpers/subscriptions_helper.rb'\n\n# Offense count: 40\nRails/I18nLocaleTexts:\n  Exclude:\n    - 'app/controllers/application_controller.rb'\n    - 'app/controllers/articles_controller.rb'\n    - 'app/controllers/authentications_controller.rb'\n    - 'app/controllers/documents_controller.rb'\n    - 'app/controllers/event_instances_controller.rb'\n    - 'app/controllers/events_controller.rb'\n    - 'app/controllers/projects_controller.rb'\n    - 'app/controllers/registrations_controller.rb'\n    - 'app/controllers/subscriptions_controller.rb'\n    - 'app/controllers/users_controller.rb'\n    - 'app/mailers/mailer.rb'\n    - 'lib/mercury/authentication.rb'\n    - 'spec/helpers/layout_helper_spec.rb'\n\n# Offense count: 2\n# Configuration parameters: IgnoreScopes, Include.\n# Include: app/models/**/*.rb\nRails/InverseOf:\n  Exclude:\n    - 'app/models/subscription.rb'\n\n# Offense count: 2\n# Configuration parameters: Include.\n# Include: app/controllers/**/*.rb, app/mailers/**/*.rb\nRails/LexicallyScopedActionFilter:\n  Exclude:\n    - 'app/controllers/documents_controller.rb'\n    - 'app/controllers/events_controller.rb'\n\n# Offense count: 1\n# This cop supports unsafe autocorrection (--autocorrect-all).\nRails/NegateInclude:\n  Exclude:\n    - 'lib/validators/uri_validator.rb'\n\n# Offense count: 8\n# This cop supports unsafe autocorrection (--autocorrect-all).\n# Configuration parameters: Include.\n# Include: app/**/*.rb, config/**/*.rb, db/**/*.rb, lib/**/*.rb\nRails/Output:\n  Exclude:\n    - 'db/migrate/20140716134701_import_getting_started_static_page.rb'\n    - 'db/seeds.rb'\n\n# Offense count: 12\nRails/OutputSafety:\n  Exclude:\n    - 'app/controllers/projects_controller.rb'\n    - 'app/helpers/application_helper.rb'\n    - 'app/helpers/articles_helper.rb'\n    - 'app/helpers/devise_helper.rb'\n    - 'app/helpers/disqus_helper.rb'\n    - 'app/helpers/scrums_helper.rb'\n    - 'app/helpers/visitors_helper.rb'\n    - 'app/presenters/event_instance_presenter.rb'\n    - 'app/services/markdown_converter.rb'\n\n# Offense count: 7\n# This cop supports unsafe autocorrection (--autocorrect-all).\n# Configuration parameters: Include.\n# Include: **/Rakefile, **/*.rake\nRails/RakeEnvironment:\n  Exclude:\n    - 'lib/tasks/brakeman.rake'\n    - 'lib/tasks/bundle-audit.rake'\n    - 'lib/tasks/cucumber.rake'\n\n# Offense count: 4\n# This cop supports unsafe autocorrection (--autocorrect-all).\nRails/RedundantPresenceValidationOnBelongsTo:\n  Exclude:\n    - 'app/models/article.rb'\n    - 'app/models/commit_count.rb'\n    - 'app/models/document.rb'\n    - 'app/models/status.rb'\n\n# Offense count: 12\n# Configuration parameters: Include.\n# Include: db/**/*.rb\nRails/ReversibleMigration:\n  Exclude:\n    - 'db/migrate/20140404100037_remove_pivotaltracker_id_from_projects.rb'\n    - 'db/migrate/20140913183322_change_column.rb'\n    - 'db/migrate/20180515093331_remove_newsletter.rb'\n    - 'db/migrate/20210702172212_drop_vanity_tables.rb'\n    - 'db/migrate/20221215192333_change_exclusions_in_events.rb'\n    - 'db/migrate/20221215193425_change_participants_in_event_instances.rb'\n\n# Offense count: 3\n# This cop supports unsafe autocorrection (--autocorrect-all).\nRails/RootPathnameMethods:\n  Exclude:\n    - 'config/initializers/website_one.rb'\n    - 'db/seeds.rb'\n\n# Offense count: 5\n# Configuration parameters: ForbiddenMethods, AllowedMethods.\n# ForbiddenMethods: decrement!, decrement_counter, increment!, increment_counter, insert, insert!, insert_all, insert_all!, toggle!, touch, touch_all, update_all, update_attribute, update_column, update_columns, update_counters, upsert, upsert_all\nRails/SkipsModelValidations:\n  Exclude:\n    - 'app/models/follow.rb'\n    - 'db/migrate/20150520184236_add_hoa_status_to_event_instances.rb'\n    - 'spec/helpers/documents_helper_spec.rb'\n    - 'spec/models/event_spec.rb'\n\n# Offense count: 30\n# This cop supports unsafe autocorrection (--autocorrect-all).\n# Configuration parameters: EnforcedStyle.\n# SupportedStyles: strict, flexible\nRails/TimeZone:\n  Exclude:\n    - 'app/controllers/articles_controller.rb'\n    - 'app/controllers/event_instances_controller.rb'\n    - 'app/controllers/events_controller.rb'\n    - 'app/controllers/subscriptions_controller.rb'\n    - 'app/helpers/visitors_helper.rb'\n    - 'app/models/event.rb'\n    - 'app/models/null_user.rb'\n    - 'features/step_definitions/basic_steps.rb'\n    - 'features/step_definitions/devops_steps.rb'\n    - 'features/step_definitions/event_steps.rb'\n    - 'features/step_definitions/hangout_steps.rb'\n    - 'features/step_definitions/user_steps.rb'\n    - 'features/step_definitions/youtube_steps.rb'\n    - 'spec/controllers/calendar_controller_spec.rb'\n    - 'spec/controllers/concerns/statistics_spec.rb'\n    - 'spec/controllers/event_instances_controller_spec.rb'\n    - 'spec/factories/event_instances.rb'\n    - 'spec/factories/subscriptions.rb'\n\n# Offense count: 3\n# Configuration parameters: Include.\n# Include: app/models/**/*.rb\nRails/UniqueValidationWithoutIndex:\n  Exclude:\n    - 'app/models/authentication.rb'\n    - 'app/models/commit_count.rb'\n    - 'app/models/language.rb'\n\n# Offense count: 1\n# This cop supports unsafe autocorrection (--autocorrect-all).\nRails/WhereEquals:\n  Exclude:\n    - 'app/helpers/documents_helper.rb'\n\n# Offense count: 2\nSecurity/Eval:\n  Exclude:\n    - 'features/step_definitions/basic_steps.rb'\n    - 'features/step_definitions/event_steps.rb'\n\n# Offense count: 2\n# This cop supports safe autocorrection (--autocorrect).\n# Configuration parameters: AllowOnConstant, AllowOnSelfClass.\nStyle/CaseEquality:\n  Exclude:\n    - 'app/controllers/subscriptions_controller.rb'\n    - 'app/services/paypal_service.rb'\n\n# Offense count: 1\n# This cop supports safe autocorrection (--autocorrect).\nStyle/ComparableClamp:\n  Exclude:\n    - 'app/models/user.rb'\n\n# Offense count: 2\nStyle/DocumentDynamicEvalDefinition:\n  Exclude:\n    - 'features/step_definitions/basic_steps.rb'\n    - 'features/step_definitions/event_steps.rb'\n\n# Offense count: 2\n# This cop supports safe autocorrection (--autocorrect).\nStyle/EvalWithLocation:\n  Exclude:\n    - 'features/step_definitions/basic_steps.rb'\n    - 'features/step_definitions/event_steps.rb'\n\n# Offense count: 12\n# Configuration parameters: AllowedVariables.\nStyle/GlobalVars:\n  Exclude:\n    - 'features/step_definitions/devops_steps.rb'\n    - 'features/support/hooks.rb'\n\n# Offense count: 1\n# This cop supports unsafe autocorrection (--autocorrect-all).\n# Configuration parameters: InverseMethods, InverseBlocks.\nStyle/InverseMethods:\n  Exclude:\n    - 'lib/validators/uri_validator.rb'\n\n# Offense count: 2\nStyle/MissingRespondToMissing:\n  Exclude:\n    - 'app/helpers/features.rb'\n    - 'app/presenters/base_presenter.rb'\n\n# Offense count: 4\nStyle/MixinUsage:\n  Exclude:\n    - 'app/services/hangout_notification_service.rb'\n    - 'app/services/youtube_notification_service.rb'\n    - 'spec/factories/users.rb'\n    - 'spec/support/shared_examples/shared_example_for_hangout_button.rb'\n\n# Offense count: 3\nStyle/MultilineBlockChain:\n  Exclude:\n    - 'app/models/event.rb'\n    - 'lib/tasks/import_pages.rake'\n\n# Offense count: 1\nStyle/OpenStructUse:\n  Exclude:\n    - 'spec/requests/paypal_agreement_spec.rb'\n\n# Offense count: 349\n# This cop supports safe autocorrection (--autocorrect).\n# Configuration parameters: Max, AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns.\n# URISchemes: http, https\nLayout/LineLength:\n  Exclude:\n    - 'Guardfile'\n    - 'app/controllers/events_controller.rb'\n    - 'app/controllers/projects_controller.rb'\n    - 'app/controllers/subscriptions_controller.rb'\n    - 'app/helpers/application_helper.rb'\n    - 'app/helpers/articles_helper.rb'\n    - 'app/helpers/documents_helper.rb'\n    - 'app/helpers/event_helper.rb'\n    - 'app/jobs/github_commits_job.rb'\n    - 'app/models/event.rb'\n    - 'app/services/karma_calculator.rb'\n    - 'config/initializers/devise.rb'\n    - 'config/initializers/exception_notification.rb'\n    - 'db/seeds.rb'\n    - 'db/seeds/event_instances.rb'\n    - 'db/seeds/events.rb'\n    - 'features/step_definitions/basic_steps.rb'\n    - 'features/step_definitions/devops_steps.rb'\n    - 'features/step_definitions/email_steps.rb'\n    - 'features/step_definitions/event_steps.rb'\n    - 'features/step_definitions/hangout_steps.rb'\n    - 'features/step_definitions/projects_steps.rb'\n    - 'features/step_definitions/user_steps.rb'\n    - 'features/step_definitions/youtube_steps.rb'\n    - 'lib/paypal.rb'\n    - 'lib/tasks/import_pages.rake'\n    - 'spec/controllers/users_controller_spec.rb'\n    - 'spec/helpers/articles_helper_spec.rb'\n    - 'spec/migrations/event_time_refactor_spec.rb'\n    - 'spec/models/event_spec.rb'\n    - 'spec/requests/authentications_spec.rb'\n    - 'spec/requests/legacy_api_subscriptions_spec.rb'\n    - 'spec/services/hangout_notification_service_spec.rb'\n    - 'spec/services/youtube_notification_service_spec.rb'\n"
  },
  {
    "path": ".ruby-gemset",
    "content": "wso\n"
  },
  {
    "path": ".ruby-version",
    "content": "3.2.1\n"
  },
  {
    "path": ".semaphore/semaphore.yml",
    "content": "version: v1.0\nname: WebsiteOne - CI\nagent:\n  machine:\n    type: e1-standard-2\n    os_image: ubuntu2004\nblocks:\n  - name: Test\n    task:\n      env_vars:\n        - name: RAILS_ENV\n          value: test\n        - name: CC_TEST_REPORTER_ID\n          value: c70a143fe21eb298eb2a98131dfc592947ea7ebfb87fbff9d9f69e724721d636\n        - name: STRIPE_SECRET_KEY\n          value: sk_test_4O7CTmoS1jwlDAX3z1abLYWm\n        - name: STRIPE_PUBLISHABLE_KEY\n          value: pk_test_4O7CBxlnqMFgw0BAmpKmOjTn\n      secrets:\n        - name: stripe-sk\n        - name: stripe-pbk\n        - name: cc_test_id\n\n      jobs:\n        - name: Test\n          commands:\n            - checkout\n            - sem-service start postgres 13\n            - sem-version ruby 3.2.1\n            - sudo -u postgres createuser -s semaphore\n            - createdb -U postgres -h 0.0.0.0 websiteone_test\n            - cache restore\n            - bundle config set --local path 'vendor/bundle'\n            - bundle install\n            - mkdir -p tmp/pids\n            - npm install yarn\n            - yarn install\n            - bundle exec rake assets:clobber\n            - bundle exec rake assets:precompile\n            - cache store\n            - 'RAILS_ENV=test bundle exec rake db:migrate'\n            - 'curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter'\n            - chmod +x ./cc-test-reporter\n            - ./cc-test-reporter before-build\n            - 'npx jasmine-browser-runner runSpecs'\n            - 'bundle exec rake ci:tests'\n            # - cat $HOME/cucumber_report.json || true\n            -  ./cc-test-reporter after-build\n"
  },
  {
    "path": ".simplecov",
    "content": "# frozen_string_literal: true\n\nif ENV['COVERAGE']\n  SimpleCov.start 'rails' do\n    add_filter ['/test/', '/features/', '/spec/', 'lib/tasks']\n\n    add_group 'Models', 'app/models'\n    add_group 'Controllers', 'app/controllers'\n    add_group 'Presenters', 'app/presenters'\n    add_group 'Helpers', 'app/helpers'\n    add_group 'Services', 'app/services'\n    add_group 'Mailers', 'app/mailers'\n    add_group 'Jobs', 'app/jobs'\n  end\nend\n"
  },
  {
    "path": "CODE_OF_CONDUCT.md",
    "content": "# Contributor Covenant Code of Conduct\n\n## Our Pledge\n\nIn the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.\n\n## Our Standards\n\nExamples of behavior that contributes to creating a positive environment include:\n\n* Using welcoming and inclusive language\n* Being respectful of differing viewpoints and experiences\n* Gracefully accepting constructive criticism\n* Focusing on what is best for the community\n* Showing empathy towards other community members\n\nExamples of unacceptable behavior by participants include:\n\n* The use of sexualized language or imagery and unwelcome sexual attention or advances\n* Trolling, insulting/derogatory comments, and personal or political attacks\n* Public or private harassment\n* Publishing others' private information, such as a physical or electronic address, without explicit permission\n* Other conduct which could reasonably be considered inappropriate in a professional setting\n\n## Our Responsibilities\n\nProject maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.\n\nProject maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.\n\n## Scope\n\nThis Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.\n\n## Enforcement\n\nInstances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at info@agileventures.org. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.\n\nProject maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.\n\n## Attribution\n\nThis Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]\n\n[homepage]: http://contributor-covenant.org\n[version]: http://contributor-covenant.org/version/1/4/\n"
  },
  {
    "path": "CONTRIBUTING.md",
    "content": "# Contributing to WebSiteOne (WSO)\n\nSo you'd like to contribute to the WebSiteOne codebase?  That's wonderful, we're excited to have your help :-)\n\nPlease do come and say hello in our [Slack chat](https://agileventures.slack.com/messages/websiteone). You can get an invite by signing up at [AgileVentures](https://www.agileventures.org) or emailing [info@agileventures.org](mailto:info@agileventures.org).  We sometimes have [weekly meetings](https://www.agileventures.org/events/websiteone-planning) to coordinate our efforts and we try to do planning poker voting on tickets before starting work on them.  Feel free to join any [event](https://www.agileventures.org/events/) to ask questions, to listen in, or just say hi :-)\n\nGetting set up with the system on your local machine can be tricky depending on your platform and your devops skills.\n\n## Getting Started\n\nThis describes how to contribute to WebSiteOne:  the tools we use to track and coordinate the work that is happening and that needs to happen. This also describes the *workflow* -- the processes and sequences for getting contributions merged into the project in an organized and coherent way.\n\nFirst be sure that you've set up your development environment following all the steps\n in **[Setting Up for Development on WebSiteOne _(Project Set Up)_](https://github.com/AgileVentures/WebsiteOne/blob/develop/docs/project_setup.md)**\n\n\nWe keep our code on [GitHub](http://github.com), use [git](https://git-scm.com) for version control and [Github](https://github.com/orgs/AgileVentures/projects) to manage our projects.  Sometimes we use [ZenHub](https://zenhub.com) to organize work on features, chores and bugfixes.\n\n\n## General Steps\nTo get involved please follow these steps:\n\n#### 1. Get the system working on your development environment:\n\n   1. [install WSO on your dev environment (locally)](https://github.com/AgileVentures/WebsiteOne/blob/develop/docs/project_setup.md) or [on docker](https://github.com/AgileVentures/WebsiteOne/tree/develop/docker)\n\n   2. get tests passing (unit and integration tests in `spec/` and acceptance tests in `features`)\n\n   3. check that the site can be run manually (locally)\n\n   4. (optional) deploy to a remote (e.g. Heroku, drie, google, etc.) and ensure it runs there\n\n#### 2. Look at what needs to be done on our Github [projects](https://github.com/orgs/AgileVentures/projects):\n\n  1. review [open PRs](https://github.com/AgileVentures/WebsiteOne/pulls) on GitHub - leave comments or collaborate if interested\n  \n  2. review [open Issues](https://github.com/AgileVentures/WebsiteOne/issues) on GitHub and leave a comment if you are interested or if you are working on the issue\n\n##### Voting\n\n  In the past, items needed to be voted on before work could start:\n  Voting happens in scrums or the weekly meeting (currently Fridays).  Note that even without the meetings you can get a vote on any issue you're thinking of working on by using the Async voting bot in the [#websiteone slack channel](https://agileventures.slack.com/messages/C029E8G80/details/), using the following syntax: `/voter ISSUE NAME https://github.com/AgileVentures/WebsiteOne/issues/number`.\n\ne.g. \n\n```\n/voter make a press-kit link in the footer https://github.com/AgileVentures/WebsiteOne/issues/1738\n```\n\nMore on how to handle a vote can be found at: https://github.com/AgileVentures/AgileVentures/blob/master/ASYNC_VOTING.md#automated-async-vote\n\n## git and GitHub\nOur **default working branch is `develop`**.  We do work by creating branches off `develop` for new features and bugfixes.\n\nAny *feature* should include appropriate Cucumber acceptance tests and RSpec unit tests.  We try to avoid view and controller specs, and focus purely on unit tests at the model and service level where possible.\n\nA *bugfix* may include an acceptance test depending on where the bug occurred, but fixing a bug should start with the creation of a test that replicates the bug, so that any bugfix submission will include an appropriate test as well as the fix itself.\n\nEach developer will usually work with a [fork](https://help.github.com/articles/fork-a-repo/) of the [main repository on Agile Ventures](https://github.com/AgileVentures/WebSiteOne). Before starting work on a new feature or bugfix, please ensure you have [synced your fork to upstream/develop](https://help.github.com/articles/syncing-a-fork/):\n\n```\ngit pull upstream develop\n```\n\nNote that you should be re-syncing often on your feature/bugfix branch to ensure that you are always building on top of very latest develop code.\n\n### Pull Requests: naming, syncing, size\nHere is [how to create and submit a pull requests](https://github.com/AgileVentures/WebsiteOne/blob/develop/docs/how_to_submit_a_pull_request_on_github.md).\n\nEvery pull request should refer to a corresponding GitHub issue, and when you create feature/bug-fix branches please include the id of the relevant issue, e.g.\n\n```\ngit checkout -b 799_add_contributing_md\n```\n\nPlease ensure that each commit in your pull request makes a single coherent change and that the overall pull request only includes commits related to the specific GitHub issue that the pull request is addressing.  This helps the project managers understand the PRs and merge them more quickly.\n\nWhatever you are working on, or however far you get please do open a \"Work in Progress\" (WIP) [pull request](https://help.github.com/articles/creating-a-pull-request/) (just prepend your PR title with \"[WIP]\" ) so that others in the team can comment on your approach.  Even if you hate your horrible code :-) please throw it up there and we'll help guide your code to fit in with the rest of the project.\n\n\nBefore you make a pull request it is a great idea to sync again to the upstream develop branch to reduce the chance that there will be any merge conflicts arising from other PRs that have been merged to develop since you started work:\n\n```\ngit pull upstream develop\n```\n\nIn your pull request description please include a sensible description of your code and a tag `fixes #<issue-id>` e.g. :\n\n```\nThis PR adds a CONTRIBUTING.md file and a docs directory\n\nfixes #799\n```\n\nwhich will associate the pull request with the issue.\n\nThis all adds up to a work flow that should look something like this:\n\n0) ensure issue has full description of change and has been voted on\n1) create branch prefixed with id of issue (moves issue into 'in progress')  \n2) create failing test on the branch (acceptance level)  \n3) create failing tests (unit level)  \n4) get test to pass with functionality  \n5) submit pull request with fixes #xyz   \n6) pull request reviewed  \n7) changes to original PR if required  \n8) pull request merged (presence of \"fixes #xyz\" then moves issue to 'done')\n9) code moved to staging and checked against production data clone\n10) code moved to production\n\nAcceptance Tests and Caching\n----------------------------\n\nWe have unit tests in RSpec and acceptance tests in Cucumber.  At the start of the project we were doing unit, controller and view unit tests in RSpec, but have since stepped back from that requirement, finding it seems rather brittle.  For any new functionality we recommend a simple combination of unit tests in RSpec and acceptance tests in Cucumber, and ensuring that as much logic as possible is moved out of views and controllers into models, services, presenters and helpers where they can be easily unit tested.  This allows us to avoid brittle controller and view tests.\n\nWe have several challenges with the current acceptance tests.  One is that some of the javascript tests fail intermittently, particularly on CI.  Partly in an attempt to address this issue we added comprehensive [VCR](https://github.com/vcr/vcr) and [PuffingBilly](https://github.com/oesmith/puffing-billy) sandboxing of network interactions in the acceptance tests.  While these caches allow some of our tests to run faster, and avoid us hitting third party services, they can be very confusing to develop against.\n\nThe principle is that one should avoid having tests depend on 3rd party systems over the network, and that we shouldn't spam 3rd party remote services with our test runs.  However the reality is more complicated.  For example in talking to 3rd party Stripe, they've said that they are happy to support test run hits \"within reason\".  Also, a cached network interaction can make it seem like a part of the system is working, when in fact it will fail in production due to a real change to the network service.  The action here should be to delete the relevant cache files, re-run, save the new cache files (which VCR and PuffingBilly should handle for us) and then commit the new cache files to git.\n\nThe reality is that it is often difficult to work out which are the relevant cache files (particularly if you're new to the project) and it's easy to mis-understand what's happening with the caches.  A common reaction to seeing lots of cache files (files in `features/support/fixtures/`) when you run `git status` is to add them to `.gitignore` (which happened on LocalSupport and caused lots of confusion) or simply delete them.\n\nThere's a Gordian Knot here which is that we'd like it that if a tests passes on your machine, then it should pass on my machine.  However, if the test relies on a 3rd party network service, then all bets are off.  With some reliable network services that's not such a big deal, but it can be very confusing.  If we just add the cache files to `.gitignore` we can get into some very confusing situations where developers don't realise they are running against cached network interactions.  Simply deleting the cache files (`rm -rf features/support/fixtures/`) and re-checking out ( via `git checkout features/support/fixtures/`) is av perfectly reasonable way to get back to a baseline, but you still might be confused about which cache files you should be checking in with your tests.\n\nIn the ideal world the `develop` branch would run green for you and there would be no extraneous files.  Then you add your new test and it's implementation.  Once it's all working you will likely have a bunch of cache files.  These should be deleted in the first instance since some may be due to erroneous network interactions as you were developing.  Assuming you have got to a reliable green test stage you can clean up (`rake vcr_billy_caches:reset`) and then re-run.  At this point, if you got another complete green run (for safety just run your new tests) any new cache files are associated with your tests, and these should be checked in to ensure that your new test/functionality will run the same everywhere.\n\nHowever the above is complicated and we are actively looking for some sort of testing solution that allows us to avoid the intermittent failing tests, maybe dropping the whole caching approach is one way forward.\n\nAirbrake Issues\n---------------\n\nCurrently Airbrake automatically opens github issues when we have an error on production.  We suspect that a good portion of them are related to performance, i.e. heroku's business model is based on limiting our memory size, and when we run out of memory then some requests die giving the run for longer than 150000ms errors or what have you.\n\n\nPull Request Review\n-------------------\n\nA project manager will review your pull request as soon as possible.  Usually the project manager will need to sign off in order to merge a pull request.\n\nThe project manager will review the pull request for coherence with the specified feature or bug fix, and give feedback on code quality, user experience, documentation and git style.  Please respond to comments from the project managers with explanation, or further commits to your pull request in order to get merged in as quickly as possible.\n\nTo maximize flexibility add the project manager as a collaborator to your WebSiteOne fork in order to allow them to help you fix your pull request, but this is not required.\n\nIf your tests are passing locally, but failing on CI, please have a look at the fails and if you can't fix, please do reach out to the project manager.\n\n\n"
  },
  {
    "path": "Dockerfile",
    "content": "# Use the official Ruby image from Docker Hub\n# https://hub.docker.com/_/ruby\n\n# [START cloudrun_rails_base_image]\n# Pinning the OS to buster because the nodejs install script is buster-specific.\n# Be sure to update the nodejs install command if the base image OS is updated.\nFROM ruby:3.2.1 as base\n# [END cloudrun_rails_base_image]\n\nRUN (curl -sS https://deb.nodesource.com/gpgkey/nodesource.gpg.key | gpg --dearmor | apt-key add -) && \\\n    echo \"deb https://deb.nodesource.com/node_14.x buster main\"      > /etc/apt/sources.list.d/nodesource.list && \\\n    apt-get update && apt-get install -y nodejs lsb-release\n\nRUN (curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -) && \\\n    echo \"deb https://dl.yarnpkg.com/debian/ stable main\" | tee /etc/apt/sources.list.d/yarn.list && \\\n    apt-get update && apt-get install -y yarn\n\nRUN apt-get update -qq && apt-get install -y dos2unix postgresql-client\n\nRUN mkdir /WebsiteOne\nWORKDIR /WebsiteOne\n\nCOPY Gemfile /WebsiteOne/Gemfile\nCOPY Gemfile.lock /WebsiteOne/Gemfile.lock\n\n#Production or staging, use middle 2 config lines below when bundling\nRUN gem install bundler && \\\n#    bundle config set --local deployment 'true' && \\\n#    bundle config set --local without 'development test' && \\\n    bundle install\n\nCOPY package.json /WebsiteOne/package.json\nCOPY scripts /WebsiteOne/scripts\nCOPY vendor/assets/javascripts /WebsiteOne/assets/javascripts\n\nFROM base\n\n# To execute tests, install chromium\nRUN apt install -y xvfb chromium chromium-driver\n\nRUN dos2unix scripts/copy_javascript_dependencies.cjs\nRUN yarn install\nCOPY . /WebsiteOne\nRUN bundle exec rake assets:precompile\n\n#Production or staging, take out 'bundle' line above and use the following\n# ENV RAILS_ENV=production\n# ENV RAILS_SERVE_STATIC_FILES=true\n# # Redirect Rails log to STDOUT for Cloud Run to capture\n# ENV RAILS_LOG_TO_STDOUT=true\n# # [START cloudrun_rails_dockerfile_key]\n# ARG MASTER_KEY\n# ENV RAILS_MASTER_KEY=${MASTER_KEY}\n# # [END cloudrun_rails_dockerfile_key]\n\n# # pre-compile Rails assets with master key\n# RUN bundle exec rake assets:precompile\n# EXPOSE 8080\n# CMD [\"bin/rails\", \"server\", \"-b\", \"0.0.0.0\", \"-p\", \"8080\"]\n\n# Also add lines below to database.yml under 'production:'\n#  username: av\n#  password: <%= Rails.application.credentials.gcp[:db_password] %>\n#  host: /cloudsql/av-wso:us-central1:postgres\n"
  },
  {
    "path": "Gemfile",
    "content": "# frozen_string_literal: true\n\nsource 'https://rubygems.org'\n\nruby '3.2.1'\n\n# Rather than loading the entire Rails framework, we charry pick the parts we use\ngem 'actionmailer', '~> 7.0.4.3'\ngem 'actionpack', '~> 7.0.4.3'\ngem 'actionview', '~> 7.0.4.3'\ngem 'activejob', '~> 7.0.4.3'\ngem 'activemodel', '~> 7.0.4.3'\ngem 'activerecord', '~> 7.0.4.3'\ngem 'activestorage', '~> 7.0.4.3'\ngem 'activesupport', '~> 7.0.4.3'\ngem 'cssbundling-rails'\ngem 'jsbundling-rails'\ngem 'railties', '~> 7.0.4.3'\ngem 'redis'\ngem 'sprockets'\ngem 'sprockets-rails'\ngem 'stimulus-rails'\ngem 'turbo-rails'\n\n# Gems used in production\ngem 'acts_as_follower', git: 'https://github.com/AgileVentures/acts_as_follower.git'\ngem 'acts-as-taggable-on'\ngem 'acts_as_tree'\ngem 'acts_as_votable', '~> 0.12.1'\ngem 'addressable'\ngem 'bootsnap', '~> 1.9'\ngem 'bootstrap-sass'\ngem 'cocoon'\ngem 'code_climate_badges', git: 'https://github.com/AgileVentures/codeclimate_badges'\ngem 'coderay'\ngem 'colored'\ngem 'config'\ngem 'devise', '~> 4.7'\ngem 'eventmachine', '~> 1.2.7'\ngem 'exception_notification'\ngem 'factory_bot_rails'\ngem 'faker'\ngem 'font-awesome-rails'\ngem 'friendly_id'\ngem 'geocoder'\ngem 'icalendar'\ngem 'jbuilder'\ngem 'jquery-rails'\ngem 'jvectormap-rails', '~> 2.0'\ngem 'jwt'\ngem 'kaminari'\ngem 'kramdown', '~> 2.1'\ngem 'local_time', '~> 2.1'\ngem 'mime-types', '~> 3.3', '>= 3.3.1'\ngem 'nokogiri', '~> 1.14.2'\ngem 'octokit'\ngem 'omniauth'\ngem 'omniauth-github'\ngem 'omniauth-google-oauth2'\ngem 'omniauth-oauth2'\ngem 'omniauth-rails_csrf_protection'\ngem 'paper_trail', '~> 12.0'\ngem 'paranoia', '~> 2.4'\ngem 'paypal-sdk-rest'\ngem 'pg'\ngem 'pivotal-tracker-api', git: 'https://github.com/AgileVentures/pivotal-tracker-api.git'\ngem 'public_activity'\ngem 'puma'\ngem 'rack-cache'\ngem 'rack-cors', require: 'rack/cors'\ngem 'rack-timeout'\ngem 'rails_autolink'\ngem 'recaptcha', require: 'recaptcha/rails'\ngem 'redcarpet'\ngem 'ruby-gitter'\ngem 'sass-rails', '>= 5'\ngem 'seed_dump'\ngem 'slack-ruby-client'\ngem 'sorted_set', '~> 1.0', '>= 1.0.3'\ngem 'spinjs-rails'\ngem 'stripe'\ngem 'sucker_punch'\ngem 'utf8-cleaner'\ngem 'vanity'\ngem 'verbs'\ngem 'will_paginate-bootstrap'\ngem 'youtube_rails', '~> 1.2.3'\n\ngroup :production do\n  gem 'mini_racer' # for environment without pre-existing js runtimes\nend\n\ngroup :test do\n  gem 'capybara'\n  gem 'capybara-screenshot'\n  gem 'cucumber-rails', require: false\n  gem 'cuprite'\n  gem 'database_cleaner'\n  gem 'delorean' # gem is discontinued\n  gem 'faraday-retry'\n  gem 'launchy'\n  gem 'puffing-billy'\n  gem 'rails-controller-testing', '~> 1.0', '>= 1.0.2'\n  gem 'rubocop-performance', '~> 1.5', '>= 1.5.2'\n  gem 'rubocop-rails', '~> 2.10', '>= 2.10.1'\n  gem 'rubocop-rspec', '>=1.28'\n  gem 'shoulda-matchers', require: false\n  gem 'stripe-ruby-mock', '~> 3.1.0.rc2', require: 'stripe_mock'\n  gem 'vcr'\n  gem 'webdrivers'\n  gem 'webmock'\nend\n\ngroup :development do\n  gem 'better_errors'\n  gem 'derailed_benchmarks'\n  gem 'letter_opener'\nend\n\ngroup :development, :test do\n  gem 'awesome_print'\n  gem 'binding_of_caller'\n  gem 'brakeman', require: false\n  gem 'bullet'\n  gem 'bundler-audit', require: false\n  gem 'constant-redefinition'\n  gem 'coveralls_reborn', require: false\n  gem 'dotenv-rails'\n  gem 'foreman'\n  gem 'guard'\n  gem 'guard-cucumber'\n  gem 'guard-livereload'\n  gem 'guard-rspec'\n  gem 'hirb'\n  gem 'pry-nav'\n  gem 'pry-rails'\n  gem 'railroady'\n  gem 'rails-erd'\n  gem 'rb-readline'\n  gem 'rspec-activemodel-mocks'\n  gem 'rspec-html-matchers'\n  gem 'rspec-rails'\n  gem 'simplecov', '~> 0.17.1'\nend\n\ngit_source(:github) { |repo| \"https://github.com/#{repo}.git\" }\ngem 'ice_cube', github: 'ice-cube-ruby/ice_cube', ref: '6b97e77c106cd6662cb7292a5f59b01e4ccaedc6'\n"
  },
  {
    "path": "LICENSE",
    "content": "The MIT License (MIT)\n\nCopyright (c) 2014 AgileVentures\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software is furnished to do so,\nsubject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\nCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nNote that the following files:\n\n* app/assets/images/jobs.svg\n* app/assets/images/lady-dev.svg\n* app/assets/images/real-projects.svg\n* app/assets/images/runners.svg\n* app/assets/images/standups.svg\n\nAre not MIT License and are subject to the [Shutterstock Licensing terms](https://www.shutterstock.com/license)  "
  },
  {
    "path": "Procfile",
    "content": "web: bundle exec puma -C config/puma.rb\n"
  },
  {
    "path": "Procfile.dev",
    "content": "web: unset PORT && bin/rails server\njs: yarn build --watch\ncss: yarn build:css --watch\n"
  },
  {
    "path": "README.md",
    "content": "# AgileVentures WebSiteOne\n\n[![Maintainability](https://api.codeclimate.com/v1/badges/8bbffaef68e73422ca40/maintainability)](https://codeclimate.com/github/AgileVentures/WebsiteOne/maintainability) [![Test Coverage](https://api.codeclimate.com/v1/badges/8bbffaef68e73422ca40/test_coverage)](https://codeclimate.com/github/AgileVentures/WebsiteOne/test_coverage)\n\n## Legacy code\n\nThis [Ruby on Rails](http://rubyonrails.org/) app powers the [AgileVentures main developer site](http://agileventures.org/), showing lists of active [projects](https://www.agileventures.org/projects), [members](https://www.agileventures.org/users), [upcoming events](https://www.agileventures.org/events), [past event recordings](https://www.agileventures.org/scrums), as well as information for how to [get involved](https://www.agileventures.org/membership-plans).\n\n## Installation\n\nSee the [Project Setup](docs/project_setup.md) documentation\n\n## Contributing\n\nSee our [Contribution guidelines](CONTRIBUTING.md)\n\n## History\n\nin 2011, inspired by Dave Patterson and Armando Fox's UCBerkeley Software Engineering Massive Open Online Class (MOOC),  Sam Joseph had the idea for a global online pairing community where everyone worked together to use the agile development methodology to deliver solutions to IT charities and non-profits.  Thomas Ochman joined as project manager and led the development of the WebSiteOne codebase with Bryan Yap serving as technical lead.  Initialy Sam was the notional \"client\", not getting involved in the tech development, and many different volunteers contributed code.  During this phase the events, projects and user systems were developed.  There was also a blog like articles system.  Yaro Appletov led a tight integration with Google hangouts to allow recordable hangouts to be launched from the site and report back telemetry.\n\nLater Raoul Diffou joined to take over as project manager as Thomas and Bryan had less and less time for the project.  Sam took over the technical lead role in 2016 and also stared pairing with Raoul as project manager.  Later in 2016 as Raoul had less and less time Sam became the sole project manager.  During the course of 2016 Sam and long time AV contributor Michael revised the events framework, and replaced the articles system with a Premium payments framework intended to help ensure AV was sustainable into the future.  In 2017 Google withdrew their Hangouts API breaking various functionality in the site.  Sam and Lokesh Sharma replaced the API integration with manual updates, and Sam pulled in the agile-bot node microservice so that WSO now communicates directly with Slack to alert members about new online meetings and their recordings.  In 2022 AV contributor Matt Lindsey did some cleanup by replacing the mercury document editor with active text and updated the asset pipeline.\n\n## Approaches\n\n* Agile Development\n  * In the past we had regular sprints, offered daily standups, and got regular feedback from end users.  We have discussions on Slack and occasional meetings now.\n* Behaviour Driven Development (BDD)\n  * We use Cucumber and RSpec testing tools that describe the behaviours of the system and its units\n  * We try to work outside in, starting with acceptance tests, dropping to integration tests, then unit tests and then writing application code\n  * We do spike application code occasionally to work out what's going on, but then either throw away the spike, or make sure all our tests break before wrapping the application code in tests (by strategically or globally breaking things)\n  * Where possible we go for declarative over imperative scenarios in our acceptance tests, trying to boil down the high level features to be easily comprehensible in terms of user intention\n* Domain Driven Design (DDD)\n  * Sometimes we switch to inside out, trying to adjust the underlying entity schema to better represent the domain model\n* Self-documenting code\n  * We prefer executable documentation (tests) and relatively short methods where the method and variable names effectively document the code\n\n## Reading material\n\n* [Imperative vs Declarative Cucumber](http://fasteragile.com/blog/2015/01/19/declarative-user-stories-translate-to-good-cucumber-features/)\n\n## Admin rake tasks\n\n```bash\nrake fetch_github_last_updates\nrake fetch_github_languages\nrake fetch_github_content_for_static_pages\nrake fetch_github_readme_files\nrake fetch_github_commits\nrake karma_calculator\nrake geocode:all\nrake user:create_anonymous\nrake vcr_billy_caches:reset\n```\n\nUpdating the live static pages (like 'About' and 'Getting Started') requires the administrator to run `rake fetch_github:content_for_static_pages.`\n"
  },
  {
    "path": "Rakefile",
    "content": "# frozen_string_literal: true\n\n# Add your own tasks in files placed in lib/tasks ending in .rake,\n# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.\n\nrequire File.expand_path('config/application', __dir__)\n\nRails.application.load_tasks\n"
  },
  {
    "path": "app/assets/builds/.keep",
    "content": ""
  },
  {
    "path": "app/assets/config/manifest.js",
    "content": "//= link_tree ../builds/ \n//= link_tree ../images/\n//= link application.css\n//= link jquery-ui.js\n//= link bootstrap.js\n//= link lolex.js\n//= link disqus.js\n//= link 404.js\n//= link subscriptions.css\n//= link google-analytics.js\n//= link cookies_banner.js"
  },
  {
    "path": "app/assets/images/.keep",
    "content": ""
  },
  {
    "path": "app/assets/javascripts/application.js",
    "content": "import \"./jq\"\nimport \"./jquery-ui\"\nimport * as WebsiteOne from './websiteone';\nimport \"./bootstrap\";\nimport \"./bootstrap-tags\";\nimport \"moment\";\nimport \"moment-timezone\";\nimport \"fullcalendar\";\nimport \"@nathanvda/cocoon\";\nimport \"trix\";\nimport './global-modules/*.js';\nimport './documents';\nimport './users';\nimport LocalTime from \"local-time\";\nimport './controllers/*.js';\n\n\nLocalTime.start()\n\n$(function() {\n  if (!window.WebsiteOne._registered) {\n    $(document).ready(window.WebsiteOne._init);\n    $(document).on('page:load', window.WebsiteOne._init);\n\n    window.WebsiteOne._registered = true;\n  }\n});\n\n$(function() {\n  $('#calendar').fullCalendar({\n    header: {\n      right: 'prev, next, today, month, agendaWeek, agendaDay'\n    },\n    events: function(start, end, timezone, callback) {\n      var timezoneoffset = new Date().getTimezoneOffset();\n      var events = [];\n      $.ajax({\n        url: '/events.json',\n        success: function(doc) {\n          $.map(doc, function(event) {\n            event.start = moment.utc(event.start).local();\n            event.end = moment.utc(event.end).local();\n            events.push(event);\n          });\n          callback(events);\n        }\n      });\n    }\n  });\n});\n\nfunction infiniteScroll(params) {\n  $(window).scroll(function() {\n    var url = $('.pagination a[rel=\"next\"]').attr('href');\n    if (url && $(window).scrollTop() > $(document).height() - $(window).height() - 450) {\n      $('.pagination').text(\"Please Wait...\");\n      return $.getScript(url + params);\n    }\n  });\n}\n"
  },
  {
    "path": "app/assets/javascripts/bootstrap-datepicker.js",
    "content": "/* =========================================================\n * bootstrap-datepicker.js\n * Repo: https://github.com/uxsolutions/bootstrap-datepicker/\n * Demo: https://eternicode.github.io/bootstrap-datepicker/\n * Docs: https://bootstrap-datepicker.readthedocs.org/\n * =========================================================\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ========================================================= */\n\n(function(factory){\n    if (typeof define === 'function' && define.amd) {\n        define(['jquery'], factory);\n    } else if (typeof exports === 'object') {\n        factory(require('jquery'));\n    } else {\n        factory(jQuery);\n    }\n}(function($, undefined){\n\tfunction UTCDate(){\n\t\treturn new Date(Date.UTC.apply(Date, arguments));\n\t}\n\tfunction UTCToday(){\n\t\tvar today = new Date();\n\t\treturn UTCDate(today.getFullYear(), today.getMonth(), today.getDate());\n\t}\n\tfunction isUTCEquals(date1, date2) {\n\t\treturn (\n\t\t\tdate1.getUTCFullYear() === date2.getUTCFullYear() &&\n\t\t\tdate1.getUTCMonth() === date2.getUTCMonth() &&\n\t\t\tdate1.getUTCDate() === date2.getUTCDate()\n\t\t);\n\t}\n\tfunction alias(method, deprecationMsg){\n\t\treturn function(){\n\t\t\tif (deprecationMsg !== undefined) {\n\t\t\t\t$.fn.datepicker.deprecated(deprecationMsg);\n\t\t\t}\n\n\t\t\treturn this[method].apply(this, arguments);\n\t\t};\n\t}\n\tfunction isValidDate(d) {\n\t\treturn d && !isNaN(d.getTime());\n\t}\n\n\tvar DateArray = (function(){\n\t\tvar extras = {\n\t\t\tget: function(i){\n\t\t\t\treturn this.slice(i)[0];\n\t\t\t},\n\t\t\tcontains: function(d){\n\t\t\t\t// Array.indexOf is not cross-browser;\n\t\t\t\t// $.inArray doesn't work with Dates\n\t\t\t\tvar val = d && d.valueOf();\n\t\t\t\tfor (var i=0, l=this.length; i < l; i++)\n          // Use date arithmetic to allow dates with different times to match\n          if (0 <= this[i].valueOf() - val && this[i].valueOf() - val < 1000*60*60*24)\n\t\t\t\t\t\treturn i;\n\t\t\t\treturn -1;\n\t\t\t},\n\t\t\tremove: function(i){\n\t\t\t\tthis.splice(i,1);\n\t\t\t},\n\t\t\treplace: function(new_array){\n\t\t\t\tif (!new_array)\n\t\t\t\t\treturn;\n\t\t\t\tif (!$.isArray(new_array))\n\t\t\t\t\tnew_array = [new_array];\n\t\t\t\tthis.clear();\n\t\t\t\tthis.push.apply(this, new_array);\n\t\t\t},\n\t\t\tclear: function(){\n\t\t\t\tthis.length = 0;\n\t\t\t},\n\t\t\tcopy: function(){\n\t\t\t\tvar a = new DateArray();\n\t\t\t\ta.replace(this);\n\t\t\t\treturn a;\n\t\t\t}\n\t\t};\n\n\t\treturn function(){\n\t\t\tvar a = [];\n\t\t\ta.push.apply(a, arguments);\n\t\t\t$.extend(a, extras);\n\t\t\treturn a;\n\t\t};\n\t})();\n\n\n\t// Picker object\n\n\tvar Datepicker = function(element, options){\n\t\t$.data(element, 'datepicker', this);\n\n\t\tthis._events = [];\n\t\tthis._secondaryEvents = [];\n\n\t\tthis._process_options(options);\n\n\t\tthis.dates = new DateArray();\n\t\tthis.viewDate = this.o.defaultViewDate;\n\t\tthis.focusDate = null;\n\n\t\tthis.element = $(element);\n\t\tthis.isInput = this.element.is('input');\n\t\tthis.inputField = this.isInput ? this.element : this.element.find('input');\n\t\tthis.component = this.element.hasClass('date') ? this.element.find('.add-on, .input-group-addon, .input-group-append, .input-group-prepend, .btn') : false;\n\t\tif (this.component && this.component.length === 0)\n\t\t\tthis.component = false;\n\t\tthis.isInline = !this.component && this.element.is('div');\n\n\t\tthis.picker = $(DPGlobal.template);\n\n\t\t// Checking templates and inserting\n\t\tif (this._check_template(this.o.templates.leftArrow)) {\n\t\t\tthis.picker.find('.prev').html(this.o.templates.leftArrow);\n\t\t}\n\n\t\tif (this._check_template(this.o.templates.rightArrow)) {\n\t\t\tthis.picker.find('.next').html(this.o.templates.rightArrow);\n\t\t}\n\n\t\tthis._buildEvents();\n\t\tthis._attachEvents();\n\n\t\tif (this.isInline){\n\t\t\tthis.picker.addClass('datepicker-inline').appendTo(this.element);\n\t\t}\n\t\telse {\n\t\t\tthis.picker.addClass('datepicker-dropdown dropdown-menu');\n\t\t}\n\n\t\tif (this.o.rtl){\n\t\t\tthis.picker.addClass('datepicker-rtl');\n\t\t}\n\n\t\tif (this.o.calendarWeeks) {\n\t\t\tthis.picker.find('.datepicker-days .datepicker-switch, thead .datepicker-title, tfoot .today, tfoot .clear')\n\t\t\t\t.attr('colspan', function(i, val){\n\t\t\t\t\treturn Number(val) + 1;\n\t\t\t\t});\n\t\t}\n\n\t\tthis._process_options({\n\t\t\tstartDate: this._o.startDate,\n\t\t\tendDate: this._o.endDate,\n\t\t\tdaysOfWeekDisabled: this.o.daysOfWeekDisabled,\n\t\t\tdaysOfWeekHighlighted: this.o.daysOfWeekHighlighted,\n\t\t\tdatesDisabled: this.o.datesDisabled\n\t\t});\n\n\t\tthis._allow_update = false;\n\t\tthis.setViewMode(this.o.startView);\n\t\tthis._allow_update = true;\n\n\t\tthis.fillDow();\n\t\tthis.fillMonths();\n\n\t\tthis.update();\n\n\t\tif (this.isInline){\n\t\t\tthis.show();\n\t\t}\n\t};\n\n\tDatepicker.prototype = {\n\t\tconstructor: Datepicker,\n\n\t\t_resolveViewName: function(view){\n\t\t\t$.each(DPGlobal.viewModes, function(i, viewMode){\n\t\t\t\tif (view === i || $.inArray(view, viewMode.names) !== -1){\n\t\t\t\t\tview = i;\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn view;\n\t\t},\n\n\t\t_resolveDaysOfWeek: function(daysOfWeek){\n\t\t\tif (!$.isArray(daysOfWeek))\n\t\t\t\tdaysOfWeek = daysOfWeek.split(/[,\\s]*/);\n\t\t\treturn $.map(daysOfWeek, Number);\n\t\t},\n\n\t\t_check_template: function(tmp){\n\t\t\ttry {\n\t\t\t\t// If empty\n\t\t\t\tif (tmp === undefined || tmp === \"\") {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\t// If no html, everything ok\n\t\t\t\tif ((tmp.match(/[<>]/g) || []).length <= 0) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\t// Checking if html is fine\n\t\t\t\tvar jDom = $(tmp);\n\t\t\t\treturn jDom.length > 0;\n\t\t\t}\n\t\t\tcatch (ex) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\n\t\t_process_options: function(opts){\n\t\t\t// Store raw options for reference\n\t\t\tthis._o = $.extend({}, this._o, opts);\n\t\t\t// Processed options\n\t\t\tvar o = this.o = $.extend({}, this._o);\n\n\t\t\t// Check if \"de-DE\" style date is available, if not language should\n\t\t\t// fallback to 2 letter code eg \"de\"\n\t\t\tvar lang = o.language;\n\t\t\tif (!dates[lang]){\n\t\t\t\tlang = lang.split('-')[0];\n\t\t\t\tif (!dates[lang])\n\t\t\t\t\tlang = defaults.language;\n\t\t\t}\n\t\t\to.language = lang;\n\n\t\t\t// Retrieve view index from any aliases\n\t\t\to.startView = this._resolveViewName(o.startView);\n\t\t\to.minViewMode = this._resolveViewName(o.minViewMode);\n\t\t\to.maxViewMode = this._resolveViewName(o.maxViewMode);\n\n\t\t\t// Check view is between min and max\n\t\t\to.startView = Math.max(this.o.minViewMode, Math.min(this.o.maxViewMode, o.startView));\n\n\t\t\t// true, false, or Number > 0\n\t\t\tif (o.multidate !== true){\n\t\t\t\to.multidate = Number(o.multidate) || false;\n\t\t\t\tif (o.multidate !== false)\n\t\t\t\t\to.multidate = Math.max(0, o.multidate);\n\t\t\t}\n\t\t\to.multidateSeparator = String(o.multidateSeparator);\n\n\t\t\to.weekStart %= 7;\n\t\t\to.weekEnd = (o.weekStart + 6) % 7;\n\n\t\t\tvar format = DPGlobal.parseFormat(o.format);\n\t\t\tif (o.startDate !== -Infinity){\n\t\t\t\tif (!!o.startDate){\n\t\t\t\t\tif (o.startDate instanceof Date)\n\t\t\t\t\t\to.startDate = this._local_to_utc(this._zero_time(o.startDate));\n\t\t\t\t\telse\n\t\t\t\t\t\to.startDate = DPGlobal.parseDate(o.startDate, format, o.language, o.assumeNearbyYear);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\to.startDate = -Infinity;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (o.endDate !== Infinity){\n\t\t\t\tif (!!o.endDate){\n\t\t\t\t\tif (o.endDate instanceof Date)\n\t\t\t\t\t\to.endDate = this._local_to_utc(this._zero_time(o.endDate));\n\t\t\t\t\telse\n\t\t\t\t\t\to.endDate = DPGlobal.parseDate(o.endDate, format, o.language, o.assumeNearbyYear);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\to.endDate = Infinity;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\to.daysOfWeekDisabled = this._resolveDaysOfWeek(o.daysOfWeekDisabled||[]);\n\t\t\to.daysOfWeekHighlighted = this._resolveDaysOfWeek(o.daysOfWeekHighlighted||[]);\n\n\t\t\to.datesDisabled = o.datesDisabled||[];\n\t\t\tif (!$.isArray(o.datesDisabled)) {\n\t\t\t\to.datesDisabled = o.datesDisabled.split(',');\n\t\t\t}\n\t\t\to.datesDisabled = $.map(o.datesDisabled, function(d){\n\t\t\t\treturn DPGlobal.parseDate(d, format, o.language, o.assumeNearbyYear);\n\t\t\t});\n\n\t\t\tvar plc = String(o.orientation).toLowerCase().split(/\\s+/g),\n\t\t\t\t_plc = o.orientation.toLowerCase();\n\t\t\tplc = $.grep(plc, function(word){\n\t\t\t\treturn /^auto|left|right|top|bottom$/.test(word);\n\t\t\t});\n\t\t\to.orientation = {x: 'auto', y: 'auto'};\n\t\t\tif (!_plc || _plc === 'auto')\n\t\t\t\t; // no action\n\t\t\telse if (plc.length === 1){\n\t\t\t\tswitch (plc[0]){\n\t\t\t\t\tcase 'top':\n\t\t\t\t\tcase 'bottom':\n\t\t\t\t\t\to.orientation.y = plc[0];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'left':\n\t\t\t\t\tcase 'right':\n\t\t\t\t\t\to.orientation.x = plc[0];\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\t_plc = $.grep(plc, function(word){\n\t\t\t\t\treturn /^left|right$/.test(word);\n\t\t\t\t});\n\t\t\t\to.orientation.x = _plc[0] || 'auto';\n\n\t\t\t\t_plc = $.grep(plc, function(word){\n\t\t\t\t\treturn /^top|bottom$/.test(word);\n\t\t\t\t});\n\t\t\t\to.orientation.y = _plc[0] || 'auto';\n\t\t\t}\n\t\t\tif (o.defaultViewDate instanceof Date || typeof o.defaultViewDate === 'string') {\n\t\t\t\to.defaultViewDate = DPGlobal.parseDate(o.defaultViewDate, format, o.language, o.assumeNearbyYear);\n\t\t\t} else if (o.defaultViewDate) {\n\t\t\t\tvar year = o.defaultViewDate.year || new Date().getFullYear();\n\t\t\t\tvar month = o.defaultViewDate.month || 0;\n\t\t\t\tvar day = o.defaultViewDate.day || 1;\n\t\t\t\to.defaultViewDate = UTCDate(year, month, day);\n\t\t\t} else {\n\t\t\t\to.defaultViewDate = UTCToday();\n\t\t\t}\n\t\t},\n\t\t_applyEvents: function(evs){\n\t\t\tfor (var i=0, el, ch, ev; i < evs.length; i++){\n\t\t\t\tel = evs[i][0];\n\t\t\t\tif (evs[i].length === 2){\n\t\t\t\t\tch = undefined;\n\t\t\t\t\tev = evs[i][1];\n\t\t\t\t} else if (evs[i].length === 3){\n\t\t\t\t\tch = evs[i][1];\n\t\t\t\t\tev = evs[i][2];\n\t\t\t\t}\n\t\t\t\tel.on(ev, ch);\n\t\t\t}\n\t\t},\n\t\t_unapplyEvents: function(evs){\n\t\t\tfor (var i=0, el, ev, ch; i < evs.length; i++){\n\t\t\t\tel = evs[i][0];\n\t\t\t\tif (evs[i].length === 2){\n\t\t\t\t\tch = undefined;\n\t\t\t\t\tev = evs[i][1];\n\t\t\t\t} else if (evs[i].length === 3){\n\t\t\t\t\tch = evs[i][1];\n\t\t\t\t\tev = evs[i][2];\n\t\t\t\t}\n\t\t\t\tel.off(ev, ch);\n\t\t\t}\n\t\t},\n\t\t_buildEvents: function(){\n            var events = {\n                keyup: $.proxy(function(e){\n                    if ($.inArray(e.keyCode, [27, 37, 39, 38, 40, 32, 13, 9]) === -1)\n                        this.update();\n                }, this),\n                keydown: $.proxy(this.keydown, this),\n                paste: $.proxy(this.paste, this)\n            };\n\n            if (this.o.showOnFocus === true) {\n                events.focus = $.proxy(this.show, this);\n            }\n\n            if (this.isInput) { // single input\n                this._events = [\n                    [this.element, events]\n                ];\n            }\n            // component: input + button\n            else if (this.component && this.inputField.length) {\n                this._events = [\n                    // For components that are not readonly, allow keyboard nav\n                    [this.inputField, events],\n                    [this.component, {\n                        click: $.proxy(this.show, this)\n                    }]\n                ];\n            }\n\t\t\telse {\n\t\t\t\tthis._events = [\n\t\t\t\t\t[this.element, {\n\t\t\t\t\t\tclick: $.proxy(this.show, this),\n\t\t\t\t\t\tkeydown: $.proxy(this.keydown, this)\n\t\t\t\t\t}]\n\t\t\t\t];\n\t\t\t}\n\t\t\tthis._events.push(\n\t\t\t\t// Component: listen for blur on element descendants\n\t\t\t\t[this.element, '*', {\n\t\t\t\t\tblur: $.proxy(function(e){\n\t\t\t\t\t\tthis._focused_from = e.target;\n\t\t\t\t\t}, this)\n\t\t\t\t}],\n\t\t\t\t// Input: listen for blur on element\n\t\t\t\t[this.element, {\n\t\t\t\t\tblur: $.proxy(function(e){\n\t\t\t\t\t\tthis._focused_from = e.target;\n\t\t\t\t\t}, this)\n\t\t\t\t}]\n\t\t\t);\n\n\t\t\tif (this.o.immediateUpdates) {\n\t\t\t\t// Trigger input updates immediately on changed year/month\n\t\t\t\tthis._events.push([this.element, {\n\t\t\t\t\t'changeYear changeMonth': $.proxy(function(e){\n\t\t\t\t\t\tthis.update(e.date);\n\t\t\t\t\t}, this)\n\t\t\t\t}]);\n\t\t\t}\n\n\t\t\tthis._secondaryEvents = [\n\t\t\t\t[this.picker, {\n\t\t\t\t\tclick: $.proxy(this.click, this)\n\t\t\t\t}],\n\t\t\t\t[this.picker, '.prev, .next', {\n\t\t\t\t\tclick: $.proxy(this.navArrowsClick, this)\n\t\t\t\t}],\n\t\t\t\t[this.picker, '.day:not(.disabled)', {\n\t\t\t\t\tclick: $.proxy(this.dayCellClick, this)\n\t\t\t\t}],\n\t\t\t\t[$(window), {\n\t\t\t\t\tresize: $.proxy(this.place, this)\n\t\t\t\t}],\n\t\t\t\t[$(document), {\n\t\t\t\t\t'mousedown touchstart': $.proxy(function(e){\n\t\t\t\t\t\t// Clicked outside the datepicker, hide it\n\t\t\t\t\t\tif (!(\n\t\t\t\t\t\t\tthis.element.is(e.target) ||\n\t\t\t\t\t\t\tthis.element.find(e.target).length ||\n\t\t\t\t\t\t\tthis.picker.is(e.target) ||\n\t\t\t\t\t\t\tthis.picker.find(e.target).length ||\n\t\t\t\t\t\t\tthis.isInline\n\t\t\t\t\t\t)){\n\t\t\t\t\t\t\tthis.hide();\n\t\t\t\t\t\t}\n\t\t\t\t\t}, this)\n\t\t\t\t}]\n\t\t\t];\n\t\t},\n\t\t_attachEvents: function(){\n\t\t\tthis._detachEvents();\n\t\t\tthis._applyEvents(this._events);\n\t\t},\n\t\t_detachEvents: function(){\n\t\t\tthis._unapplyEvents(this._events);\n\t\t},\n\t\t_attachSecondaryEvents: function(){\n\t\t\tthis._detachSecondaryEvents();\n\t\t\tthis._applyEvents(this._secondaryEvents);\n\t\t},\n\t\t_detachSecondaryEvents: function(){\n\t\t\tthis._unapplyEvents(this._secondaryEvents);\n\t\t},\n\t\t_trigger: function(event, altdate){\n\t\t\tvar date = altdate || this.dates.get(-1),\n\t\t\t\tlocal_date = this._utc_to_local(date);\n\n\t\t\tthis.element.trigger({\n\t\t\t\ttype: event,\n\t\t\t\tdate: local_date,\n\t\t\t\tviewMode: this.viewMode,\n\t\t\t\tdates: $.map(this.dates, this._utc_to_local),\n\t\t\t\tformat: $.proxy(function(ix, format){\n\t\t\t\t\tif (arguments.length === 0){\n\t\t\t\t\t\tix = this.dates.length - 1;\n\t\t\t\t\t\tformat = this.o.format;\n\t\t\t\t\t} else if (typeof ix === 'string'){\n\t\t\t\t\t\tformat = ix;\n\t\t\t\t\t\tix = this.dates.length - 1;\n\t\t\t\t\t}\n\t\t\t\t\tformat = format || this.o.format;\n\t\t\t\t\tvar date = this.dates.get(ix);\n\t\t\t\t\treturn DPGlobal.formatDate(date, format, this.o.language);\n\t\t\t\t}, this)\n\t\t\t});\n\t\t},\n\n\t\tshow: function(){\n\t\t\tif (this.inputField.is(':disabled') || (this.inputField.prop('readonly') && this.o.enableOnReadonly === false))\n\t\t\t\treturn;\n\t\t\tif (!this.isInline)\n\t\t\t\tthis.picker.appendTo(this.o.container);\n\t\t\tthis.place();\n\t\t\tthis.picker.show();\n\t\t\tthis._attachSecondaryEvents();\n\t\t\tthis._trigger('show');\n\t\t\tif ((window.navigator.msMaxTouchPoints || 'ontouchstart' in document) && this.o.disableTouchKeyboard) {\n\t\t\t\t$(this.element).blur();\n\t\t\t}\n\t\t\treturn this;\n\t\t},\n\n\t\thide: function(){\n\t\t\tif (this.isInline || !this.picker.is(':visible'))\n\t\t\t\treturn this;\n\t\t\tthis.focusDate = null;\n\t\t\tthis.picker.hide().detach();\n\t\t\tthis._detachSecondaryEvents();\n\t\t\tthis.setViewMode(this.o.startView);\n\n\t\t\tif (this.o.forceParse && this.inputField.val())\n\t\t\t\tthis.setValue();\n\t\t\tthis._trigger('hide');\n\t\t\treturn this;\n\t\t},\n\n\t\tdestroy: function(){\n\t\t\tthis.hide();\n\t\t\tthis._detachEvents();\n\t\t\tthis._detachSecondaryEvents();\n\t\t\tthis.picker.remove();\n\t\t\tdelete this.element.data().datepicker;\n\t\t\tif (!this.isInput){\n\t\t\t\tdelete this.element.data().date;\n\t\t\t}\n\t\t\treturn this;\n\t\t},\n\n\t\tpaste: function(e){\n\t\t\tvar dateString;\n\t\t\tif (e.originalEvent.clipboardData && e.originalEvent.clipboardData.types\n\t\t\t\t&& $.inArray('text/plain', e.originalEvent.clipboardData.types) !== -1) {\n\t\t\t\tdateString = e.originalEvent.clipboardData.getData('text/plain');\n\t\t\t} else if (window.clipboardData) {\n\t\t\t\tdateString = window.clipboardData.getData('Text');\n\t\t\t} else {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.setDate(dateString);\n\t\t\tthis.update();\n\t\t\te.preventDefault();\n\t\t},\n\n\t\t_utc_to_local: function(utc){\n\t\t\tif (!utc) {\n\t\t\t\treturn utc;\n\t\t\t}\n\n\t\t\tvar local = new Date(utc.getTime() + (utc.getTimezoneOffset() * 60000));\n\n\t\t\tif (local.getTimezoneOffset() !== utc.getTimezoneOffset()) {\n\t\t\t\tlocal = new Date(utc.getTime() + (local.getTimezoneOffset() * 60000));\n\t\t\t}\n\n\t\t\treturn local;\n\t\t},\n\t\t_local_to_utc: function(local){\n\t\t\treturn local && new Date(local.getTime() - (local.getTimezoneOffset()*60000));\n\t\t},\n\t\t_zero_time: function(local){\n\t\t\treturn local && new Date(local.getFullYear(), local.getMonth(), local.getDate());\n\t\t},\n\t\t_zero_utc_time: function(utc){\n\t\t\treturn utc && UTCDate(utc.getUTCFullYear(), utc.getUTCMonth(), utc.getUTCDate());\n\t\t},\n\n\t\tgetDates: function(){\n\t\t\treturn $.map(this.dates, this._utc_to_local);\n\t\t},\n\n\t\tgetUTCDates: function(){\n\t\t\treturn $.map(this.dates, function(d){\n\t\t\t\treturn new Date(d);\n\t\t\t});\n\t\t},\n\n\t\tgetDate: function(){\n\t\t\treturn this._utc_to_local(this.getUTCDate());\n\t\t},\n\n\t\tgetUTCDate: function(){\n\t\t\tvar selected_date = this.dates.get(-1);\n\t\t\tif (selected_date !== undefined) {\n\t\t\t\treturn new Date(selected_date);\n\t\t\t} else {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t},\n\n\t\tclearDates: function(){\n\t\t\tthis.inputField.val('');\n\t\t\tthis.update();\n\t\t\tthis._trigger('changeDate');\n\n\t\t\tif (this.o.autoclose) {\n\t\t\t\tthis.hide();\n\t\t\t}\n\t\t},\n\n\t\tsetDates: function(){\n\t\t\tvar args = $.isArray(arguments[0]) ? arguments[0] : arguments;\n\t\t\tthis.update.apply(this, args);\n\t\t\tthis._trigger('changeDate');\n\t\t\tthis.setValue();\n\t\t\treturn this;\n\t\t},\n\n\t\tsetUTCDates: function(){\n\t\t\tvar args = $.isArray(arguments[0]) ? arguments[0] : arguments;\n\t\t\tthis.setDates.apply(this, $.map(args, this._utc_to_local));\n\t\t\treturn this;\n\t\t},\n\n\t\tsetDate: alias('setDates'),\n\t\tsetUTCDate: alias('setUTCDates'),\n\t\tremove: alias('destroy', 'Method `remove` is deprecated and will be removed in version 2.0. Use `destroy` instead'),\n\n\t\tsetValue: function(){\n\t\t\tvar formatted = this.getFormattedDate();\n\t\t\tthis.inputField.val(formatted);\n\t\t\treturn this;\n\t\t},\n\n\t\tgetFormattedDate: function(format){\n\t\t\tif (format === undefined)\n\t\t\t\tformat = this.o.format;\n\n\t\t\tvar lang = this.o.language;\n\t\t\treturn $.map(this.dates, function(d){\n\t\t\t\treturn DPGlobal.formatDate(d, format, lang);\n\t\t\t}).join(this.o.multidateSeparator);\n\t\t},\n\n\t\tgetStartDate: function(){\n\t\t\treturn this.o.startDate;\n\t\t},\n\n\t\tsetStartDate: function(startDate){\n\t\t\tthis._process_options({startDate: startDate});\n\t\t\tthis.update();\n\t\t\tthis.updateNavArrows();\n\t\t\treturn this;\n\t\t},\n\n\t\tgetEndDate: function(){\n\t\t\treturn this.o.endDate;\n\t\t},\n\n\t\tsetEndDate: function(endDate){\n\t\t\tthis._process_options({endDate: endDate});\n\t\t\tthis.update();\n\t\t\tthis.updateNavArrows();\n\t\t\treturn this;\n\t\t},\n\n\t\tsetDaysOfWeekDisabled: function(daysOfWeekDisabled){\n\t\t\tthis._process_options({daysOfWeekDisabled: daysOfWeekDisabled});\n\t\t\tthis.update();\n\t\t\treturn this;\n\t\t},\n\n\t\tsetDaysOfWeekHighlighted: function(daysOfWeekHighlighted){\n\t\t\tthis._process_options({daysOfWeekHighlighted: daysOfWeekHighlighted});\n\t\t\tthis.update();\n\t\t\treturn this;\n\t\t},\n\n\t\tsetDatesDisabled: function(datesDisabled){\n\t\t\tthis._process_options({datesDisabled: datesDisabled});\n\t\t\tthis.update();\n\t\t\treturn this;\n\t\t},\n\n\t\tplace: function(){\n\t\t\tif (this.isInline)\n\t\t\t\treturn this;\n\t\t\tvar calendarWidth = this.picker.outerWidth(),\n\t\t\t\tcalendarHeight = this.picker.outerHeight(),\n\t\t\t\tvisualPadding = 10,\n\t\t\t\tcontainer = $(this.o.container),\n\t\t\t\twindowWidth = container.width(),\n\t\t\t\tscrollTop = this.o.container === 'body' ? $(document).scrollTop() : container.scrollTop(),\n\t\t\t\tappendOffset = container.offset();\n\n\t\t\tvar parentsZindex = [0];\n\t\t\tthis.element.parents().each(function(){\n\t\t\t\tvar itemZIndex = $(this).css('z-index');\n\t\t\t\tif (itemZIndex !== 'auto' && Number(itemZIndex) !== 0) parentsZindex.push(Number(itemZIndex));\n\t\t\t});\n\t\t\tvar zIndex = Math.max.apply(Math, parentsZindex) + this.o.zIndexOffset;\n\t\t\tvar offset = this.component ? this.component.parent().offset() : this.element.offset();\n\t\t\tvar height = this.component ? this.component.outerHeight(true) : this.element.outerHeight(false);\n\t\t\tvar width = this.component ? this.component.outerWidth(true) : this.element.outerWidth(false);\n\t\t\tvar left = offset.left - appendOffset.left;\n\t\t\tvar top = offset.top - appendOffset.top;\n\n\t\t\tif (this.o.container !== 'body') {\n\t\t\t\ttop += scrollTop;\n\t\t\t}\n\n\t\t\tthis.picker.removeClass(\n\t\t\t\t'datepicker-orient-top datepicker-orient-bottom '+\n\t\t\t\t'datepicker-orient-right datepicker-orient-left'\n\t\t\t);\n\n\t\t\tif (this.o.orientation.x !== 'auto'){\n\t\t\t\tthis.picker.addClass('datepicker-orient-' + this.o.orientation.x);\n\t\t\t\tif (this.o.orientation.x === 'right')\n\t\t\t\t\tleft -= calendarWidth - width;\n\t\t\t}\n\t\t\t// auto x orientation is best-placement: if it crosses a window\n\t\t\t// edge, fudge it sideways\n\t\t\telse {\n\t\t\t\tif (offset.left < 0) {\n\t\t\t\t\t// component is outside the window on the left side. Move it into visible range\n\t\t\t\t\tthis.picker.addClass('datepicker-orient-left');\n\t\t\t\t\tleft -= offset.left - visualPadding;\n\t\t\t\t} else if (left + calendarWidth > windowWidth) {\n\t\t\t\t\t// the calendar passes the widow right edge. Align it to component right side\n\t\t\t\t\tthis.picker.addClass('datepicker-orient-right');\n\t\t\t\t\tleft += width - calendarWidth;\n\t\t\t\t} else {\n\t\t\t\t\tif (this.o.rtl) {\n\t\t\t\t\t\t// Default to right\n\t\t\t\t\t\tthis.picker.addClass('datepicker-orient-right');\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Default to left\n\t\t\t\t\t\tthis.picker.addClass('datepicker-orient-left');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// auto y orientation is best-situation: top or bottom, no fudging,\n\t\t\t// decision based on which shows more of the calendar\n\t\t\tvar yorient = this.o.orientation.y,\n\t\t\t\ttop_overflow;\n\t\t\tif (yorient === 'auto'){\n\t\t\t\ttop_overflow = -scrollTop + top - calendarHeight;\n\t\t\t\tyorient = top_overflow < 0 ? 'bottom' : 'top';\n\t\t\t}\n\n\t\t\tthis.picker.addClass('datepicker-orient-' + yorient);\n\t\t\tif (yorient === 'top')\n\t\t\t\ttop -= calendarHeight + parseInt(this.picker.css('padding-top'));\n\t\t\telse\n\t\t\t\ttop += height;\n\n\t\t\tif (this.o.rtl) {\n\t\t\t\tvar right = windowWidth - (left + width);\n\t\t\t\tthis.picker.css({\n\t\t\t\t\ttop: top,\n\t\t\t\t\tright: right,\n\t\t\t\t\tzIndex: zIndex\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.picker.css({\n\t\t\t\t\ttop: top,\n\t\t\t\t\tleft: left,\n\t\t\t\t\tzIndex: zIndex\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn this;\n\t\t},\n\n\t\t_allow_update: true,\n\t\tupdate: function(){\n\t\t\tif (!this._allow_update)\n\t\t\t\treturn this;\n\n\t\t\tvar oldDates = this.dates.copy(),\n\t\t\t\tdates = [],\n\t\t\t\tfromArgs = false;\n\t\t\tif (arguments.length){\n\t\t\t\t$.each(arguments, $.proxy(function(i, date){\n\t\t\t\t\tif (date instanceof Date)\n\t\t\t\t\t\tdate = this._local_to_utc(date);\n\t\t\t\t\tdates.push(date);\n\t\t\t\t}, this));\n\t\t\t\tfromArgs = true;\n\t\t\t} else {\n\t\t\t\tdates = this.isInput\n\t\t\t\t\t\t? this.element.val()\n\t\t\t\t\t\t: this.element.data('date') || this.inputField.val();\n\t\t\t\tif (dates && this.o.multidate)\n\t\t\t\t\tdates = dates.split(this.o.multidateSeparator);\n\t\t\t\telse\n\t\t\t\t\tdates = [dates];\n\t\t\t\tdelete this.element.data().date;\n\t\t\t}\n\n\t\t\tdates = $.map(dates, $.proxy(function(date){\n\t\t\t\treturn DPGlobal.parseDate(date, this.o.format, this.o.language, this.o.assumeNearbyYear);\n\t\t\t}, this));\n\t\t\tdates = $.grep(dates, $.proxy(function(date){\n\t\t\t\treturn (\n\t\t\t\t\t!this.dateWithinRange(date) ||\n\t\t\t\t\t!date\n\t\t\t\t);\n\t\t\t}, this), true);\n\t\t\tthis.dates.replace(dates);\n\n\t\t\tif (this.o.updateViewDate) {\n\t\t\t\tif (this.dates.length)\n\t\t\t\t\tthis.viewDate = new Date(this.dates.get(-1));\n\t\t\t\telse if (this.viewDate < this.o.startDate)\n\t\t\t\t\tthis.viewDate = new Date(this.o.startDate);\n\t\t\t\telse if (this.viewDate > this.o.endDate)\n\t\t\t\t\tthis.viewDate = new Date(this.o.endDate);\n\t\t\t\telse\n\t\t\t\t\tthis.viewDate = this.o.defaultViewDate;\n\t\t\t}\n\n\t\t\tif (fromArgs){\n\t\t\t\t// setting date by clicking\n\t\t\t\tthis.setValue();\n\t\t\t\tthis.element.change();\n\t\t\t}\n\t\t\telse if (this.dates.length){\n\t\t\t\t// setting date by typing\n\t\t\t\tif (String(oldDates) !== String(this.dates) && fromArgs) {\n\t\t\t\t\tthis._trigger('changeDate');\n\t\t\t\t\tthis.element.change();\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!this.dates.length && oldDates.length) {\n\t\t\t\tthis._trigger('clearDate');\n\t\t\t\tthis.element.change();\n\t\t\t}\n\n\t\t\tthis.fill();\n\t\t\treturn this;\n\t\t},\n\n\t\tfillDow: function(){\n      if (this.o.showWeekDays) {\n\t\t\tvar dowCnt = this.o.weekStart,\n\t\t\t\thtml = '<tr>';\n\t\t\tif (this.o.calendarWeeks){\n\t\t\t\thtml += '<th class=\"cw\">&#160;</th>';\n\t\t\t}\n\t\t\twhile (dowCnt < this.o.weekStart + 7){\n\t\t\t\thtml += '<th class=\"dow';\n        if ($.inArray(dowCnt, this.o.daysOfWeekDisabled) !== -1)\n          html += ' disabled';\n        html += '\">'+dates[this.o.language].daysMin[(dowCnt++)%7]+'</th>';\n\t\t\t}\n\t\t\thtml += '</tr>';\n\t\t\tthis.picker.find('.datepicker-days thead').append(html);\n      }\n\t\t},\n\n\t\tfillMonths: function(){\n      var localDate = this._utc_to_local(this.viewDate);\n\t\t\tvar html = '';\n\t\t\tvar focused;\n\t\t\tfor (var i = 0; i < 12; i++){\n\t\t\t\tfocused = localDate && localDate.getMonth() === i ? ' focused' : '';\n\t\t\t\thtml += '<span class=\"month' + focused + '\">' + dates[this.o.language].monthsShort[i] + '</span>';\n\t\t\t}\n\t\t\tthis.picker.find('.datepicker-months td').html(html);\n\t\t},\n\n\t\tsetRange: function(range){\n\t\t\tif (!range || !range.length)\n\t\t\t\tdelete this.range;\n\t\t\telse\n\t\t\t\tthis.range = $.map(range, function(d){\n\t\t\t\t\treturn d.valueOf();\n\t\t\t\t});\n\t\t\tthis.fill();\n\t\t},\n\n\t\tgetClassNames: function(date){\n\t\t\tvar cls = [],\n\t\t\t\tyear = this.viewDate.getUTCFullYear(),\n\t\t\t\tmonth = this.viewDate.getUTCMonth(),\n\t\t\t\ttoday = UTCToday();\n\t\t\tif (date.getUTCFullYear() < year || (date.getUTCFullYear() === year && date.getUTCMonth() < month)){\n\t\t\t\tcls.push('old');\n\t\t\t} else if (date.getUTCFullYear() > year || (date.getUTCFullYear() === year && date.getUTCMonth() > month)){\n\t\t\t\tcls.push('new');\n\t\t\t}\n\t\t\tif (this.focusDate && date.valueOf() === this.focusDate.valueOf())\n\t\t\t\tcls.push('focused');\n\t\t\t// Compare internal UTC date with UTC today, not local today\n\t\t\tif (this.o.todayHighlight && isUTCEquals(date, today)) {\n\t\t\t\tcls.push('today');\n\t\t\t}\n\t\t\tif (this.dates.contains(date) !== -1)\n\t\t\t\tcls.push('active');\n\t\t\tif (!this.dateWithinRange(date)){\n\t\t\t\tcls.push('disabled');\n\t\t\t}\n\t\t\tif (this.dateIsDisabled(date)){\n\t\t\t\tcls.push('disabled', 'disabled-date');\n\t\t\t}\n\t\t\tif ($.inArray(date.getUTCDay(), this.o.daysOfWeekHighlighted) !== -1){\n\t\t\t\tcls.push('highlighted');\n\t\t\t}\n\n\t\t\tif (this.range){\n\t\t\t\tif (date > this.range[0] && date < this.range[this.range.length-1]){\n\t\t\t\t\tcls.push('range');\n\t\t\t\t}\n\t\t\t\tif ($.inArray(date.valueOf(), this.range) !== -1){\n\t\t\t\t\tcls.push('selected');\n\t\t\t\t}\n\t\t\t\tif (date.valueOf() === this.range[0]){\n          cls.push('range-start');\n        }\n        if (date.valueOf() === this.range[this.range.length-1]){\n          cls.push('range-end');\n        }\n\t\t\t}\n\t\t\treturn cls;\n\t\t},\n\n\t\t_fill_yearsView: function(selector, cssClass, factor, year, startYear, endYear, beforeFn){\n\t\t\tvar html = '';\n\t\t\tvar step = factor / 10;\n\t\t\tvar view = this.picker.find(selector);\n\t\t\tvar startVal = Math.floor(year / factor) * factor;\n\t\t\tvar endVal = startVal + step * 9;\n\t\t\tvar focusedVal = Math.floor(this.viewDate.getFullYear() / step) * step;\n\t\t\tvar selected = $.map(this.dates, function(d){\n\t\t\t\treturn Math.floor(d.getUTCFullYear() / step) * step;\n\t\t\t});\n\n\t\t\tvar classes, tooltip, before;\n\t\t\tfor (var currVal = startVal - step; currVal <= endVal + step; currVal += step) {\n\t\t\t\tclasses = [cssClass];\n\t\t\t\ttooltip = null;\n\n\t\t\t\tif (currVal === startVal - step) {\n\t\t\t\t\tclasses.push('old');\n\t\t\t\t} else if (currVal === endVal + step) {\n\t\t\t\t\tclasses.push('new');\n\t\t\t\t}\n\t\t\t\tif ($.inArray(currVal, selected) !== -1) {\n\t\t\t\t\tclasses.push('active');\n\t\t\t\t}\n\t\t\t\tif (currVal < startYear || currVal > endYear) {\n\t\t\t\t\tclasses.push('disabled');\n\t\t\t\t}\n\t\t\t\tif (currVal === focusedVal) {\n\t\t\t\t  classes.push('focused');\n        }\n\n\t\t\t\tif (beforeFn !== $.noop) {\n\t\t\t\t\tbefore = beforeFn(new Date(currVal, 0, 1));\n\t\t\t\t\tif (before === undefined) {\n\t\t\t\t\t\tbefore = {};\n\t\t\t\t\t} else if (typeof before === 'boolean') {\n\t\t\t\t\t\tbefore = {enabled: before};\n\t\t\t\t\t} else if (typeof before === 'string') {\n\t\t\t\t\t\tbefore = {classes: before};\n\t\t\t\t\t}\n\t\t\t\t\tif (before.enabled === false) {\n\t\t\t\t\t\tclasses.push('disabled');\n\t\t\t\t\t}\n\t\t\t\t\tif (before.classes) {\n\t\t\t\t\t\tclasses = classes.concat(before.classes.split(/\\s+/));\n\t\t\t\t\t}\n\t\t\t\t\tif (before.tooltip) {\n\t\t\t\t\t\ttooltip = before.tooltip;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\thtml += '<span class=\"' + classes.join(' ') + '\"' + (tooltip ? ' title=\"' + tooltip + '\"' : '') + '>' + currVal + '</span>';\n\t\t\t}\n\n\t\t\tview.find('.datepicker-switch').text(startVal + '-' + endVal);\n\t\t\tview.find('td').html(html);\n\t\t},\n\n\t\tfill: function(){\n\t\t\tvar d = new Date(this.viewDate),\n\t\t\t\tyear = d.getUTCFullYear(),\n\t\t\t\tmonth = d.getUTCMonth(),\n\t\t\t\tstartYear = this.o.startDate !== -Infinity ? this.o.startDate.getUTCFullYear() : -Infinity,\n\t\t\t\tstartMonth = this.o.startDate !== -Infinity ? this.o.startDate.getUTCMonth() : -Infinity,\n\t\t\t\tendYear = this.o.endDate !== Infinity ? this.o.endDate.getUTCFullYear() : Infinity,\n\t\t\t\tendMonth = this.o.endDate !== Infinity ? this.o.endDate.getUTCMonth() : Infinity,\n\t\t\t\ttodaytxt = dates[this.o.language].today || dates['en'].today || '',\n\t\t\t\tcleartxt = dates[this.o.language].clear || dates['en'].clear || '',\n        titleFormat = dates[this.o.language].titleFormat || dates['en'].titleFormat,\n        todayDate = UTCToday(),\n        titleBtnVisible = (this.o.todayBtn === true || this.o.todayBtn === 'linked') && todayDate >= this.o.startDate && todayDate <= this.o.endDate && !this.weekOfDateIsDisabled(todayDate),\n\t\t\t\ttooltip,\n\t\t\t\tbefore;\n\t\t\tif (isNaN(year) || isNaN(month))\n\t\t\t\treturn;\n\t\t\tthis.picker.find('.datepicker-days .datepicker-switch')\n\t\t\t\t\t\t.text(DPGlobal.formatDate(d, titleFormat, this.o.language));\n\t\t\tthis.picker.find('tfoot .today')\n\t\t\t\t\t\t.text(todaytxt)\n            .css('display', titleBtnVisible ? 'table-cell' : 'none');\n\t\t\tthis.picker.find('tfoot .clear')\n\t\t\t\t\t\t.text(cleartxt)\n\t\t\t\t\t\t.css('display', this.o.clearBtn === true ? 'table-cell' : 'none');\n\t\t\tthis.picker.find('thead .datepicker-title')\n\t\t\t\t\t\t.text(this.o.title)\n\t\t\t\t\t\t.css('display', typeof this.o.title === 'string' && this.o.title !== '' ? 'table-cell' : 'none');\n\t\t\tthis.updateNavArrows();\n\t\t\tthis.fillMonths();\n\t\t\tvar prevMonth = UTCDate(year, month, 0),\n\t\t\t\tday = prevMonth.getUTCDate();\n\t\t\tprevMonth.setUTCDate(day - (prevMonth.getUTCDay() - this.o.weekStart + 7)%7);\n\t\t\tvar nextMonth = new Date(prevMonth);\n\t\t\tif (prevMonth.getUTCFullYear() < 100){\n        nextMonth.setUTCFullYear(prevMonth.getUTCFullYear());\n      }\n\t\t\tnextMonth.setUTCDate(nextMonth.getUTCDate() + 42);\n\t\t\tnextMonth = nextMonth.valueOf();\n\t\t\tvar html = [];\n\t\t\tvar weekDay, clsName;\n\t\t\twhile (prevMonth.valueOf() < nextMonth){\n\t\t\t\tweekDay = prevMonth.getUTCDay();\n\t\t\t\tif (weekDay === this.o.weekStart){\n\t\t\t\t\thtml.push('<tr>');\n\t\t\t\t\tif (this.o.calendarWeeks){\n\t\t\t\t\t\t// ISO 8601: First week contains first thursday.\n\t\t\t\t\t\t// ISO also states week starts on Monday, but we can be more abstract here.\n\t\t\t\t\t\tvar\n\t\t\t\t\t\t\t// Start of current week: based on weekstart/current date\n\t\t\t\t\t\t\tws = new Date(+prevMonth + (this.o.weekStart - weekDay - 7) % 7 * 864e5),\n\t\t\t\t\t\t\t// Thursday of this week\n\t\t\t\t\t\t\tth = new Date(Number(ws) + (7 + 4 - ws.getUTCDay()) % 7 * 864e5),\n\t\t\t\t\t\t\t// First Thursday of year, year from thursday\n\t\t\t\t\t\t\tyth = new Date(Number(yth = UTCDate(th.getUTCFullYear(), 0, 1)) + (7 + 4 - yth.getUTCDay()) % 7 * 864e5),\n\t\t\t\t\t\t\t// Calendar week: ms between thursdays, div ms per day, div 7 days\n\t\t\t\t\t\t\tcalWeek = (th - yth) / 864e5 / 7 + 1;\n\t\t\t\t\t\thtml.push('<td class=\"cw\">'+ calWeek +'</td>');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tclsName = this.getClassNames(prevMonth);\n\t\t\t\tclsName.push('day');\n\n\t\t\t\tvar content = prevMonth.getUTCDate();\n\n\t\t\t\tif (this.o.beforeShowDay !== $.noop){\n\t\t\t\t\tbefore = this.o.beforeShowDay(this._utc_to_local(prevMonth));\n\t\t\t\t\tif (before === undefined)\n\t\t\t\t\t\tbefore = {};\n\t\t\t\t\telse if (typeof before === 'boolean')\n\t\t\t\t\t\tbefore = {enabled: before};\n\t\t\t\t\telse if (typeof before === 'string')\n\t\t\t\t\t\tbefore = {classes: before};\n\t\t\t\t\tif (before.enabled === false)\n\t\t\t\t\t\tclsName.push('disabled');\n\t\t\t\t\tif (before.classes)\n\t\t\t\t\t\tclsName = clsName.concat(before.classes.split(/\\s+/));\n\t\t\t\t\tif (before.tooltip)\n\t\t\t\t\t\ttooltip = before.tooltip;\n\t\t\t\t\tif (before.content)\n\t\t\t\t\t\tcontent = before.content;\n\t\t\t\t}\n\n\t\t\t\t//Check if uniqueSort exists (supported by jquery >=1.12 and >=2.2)\n\t\t\t\t//Fallback to unique function for older jquery versions\n\t\t\t\tif ($.isFunction($.uniqueSort)) {\n\t\t\t\t\tclsName = $.uniqueSort(clsName);\n\t\t\t\t} else {\n\t\t\t\t\tclsName = $.unique(clsName);\n\t\t\t\t}\n\n\t\t\t\thtml.push('<td class=\"'+clsName.join(' ')+'\"' + (tooltip ? ' title=\"'+tooltip+'\"' : '') + ' data-date=\"' + prevMonth.getTime().toString() + '\">' + content + '</td>');\n\t\t\t\ttooltip = null;\n\t\t\t\tif (weekDay === this.o.weekEnd){\n\t\t\t\t\thtml.push('</tr>');\n\t\t\t\t}\n\t\t\t\tprevMonth.setUTCDate(prevMonth.getUTCDate() + 1);\n\t\t\t}\n\t\t\tthis.picker.find('.datepicker-days tbody').html(html.join(''));\n\n\t\t\tvar monthsTitle = dates[this.o.language].monthsTitle || dates['en'].monthsTitle || 'Months';\n\t\t\tvar months = this.picker.find('.datepicker-months')\n\t\t\t\t\t\t.find('.datepicker-switch')\n\t\t\t\t\t\t\t.text(this.o.maxViewMode < 2 ? monthsTitle : year)\n\t\t\t\t\t\t\t.end()\n\t\t\t\t\t\t.find('tbody span').removeClass('active');\n\n\t\t\t$.each(this.dates, function(i, d){\n\t\t\t\tif (d.getUTCFullYear() === year)\n\t\t\t\t\tmonths.eq(d.getUTCMonth()).addClass('active');\n\t\t\t});\n\n\t\t\tif (year < startYear || year > endYear){\n\t\t\t\tmonths.addClass('disabled');\n\t\t\t}\n\t\t\tif (year === startYear){\n\t\t\t\tmonths.slice(0, startMonth).addClass('disabled');\n\t\t\t}\n\t\t\tif (year === endYear){\n\t\t\t\tmonths.slice(endMonth+1).addClass('disabled');\n\t\t\t}\n\n\t\t\tif (this.o.beforeShowMonth !== $.noop){\n\t\t\t\tvar that = this;\n\t\t\t\t$.each(months, function(i, month){\n          var moDate = new Date(year, i, 1);\n          var before = that.o.beforeShowMonth(moDate);\n\t\t\t\t\tif (before === undefined)\n\t\t\t\t\t\tbefore = {};\n\t\t\t\t\telse if (typeof before === 'boolean')\n\t\t\t\t\t\tbefore = {enabled: before};\n\t\t\t\t\telse if (typeof before === 'string')\n\t\t\t\t\t\tbefore = {classes: before};\n\t\t\t\t\tif (before.enabled === false && !$(month).hasClass('disabled'))\n\t\t\t\t\t    $(month).addClass('disabled');\n\t\t\t\t\tif (before.classes)\n\t\t\t\t\t    $(month).addClass(before.classes);\n\t\t\t\t\tif (before.tooltip)\n\t\t\t\t\t    $(month).prop('title', before.tooltip);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Generating decade/years picker\n\t\t\tthis._fill_yearsView(\n\t\t\t\t'.datepicker-years',\n\t\t\t\t'year',\n\t\t\t\t10,\n\t\t\t\tyear,\n\t\t\t\tstartYear,\n\t\t\t\tendYear,\n\t\t\t\tthis.o.beforeShowYear\n\t\t\t);\n\n\t\t\t// Generating century/decades picker\n\t\t\tthis._fill_yearsView(\n\t\t\t\t'.datepicker-decades',\n\t\t\t\t'decade',\n\t\t\t\t100,\n\t\t\t\tyear,\n\t\t\t\tstartYear,\n\t\t\t\tendYear,\n\t\t\t\tthis.o.beforeShowDecade\n\t\t\t);\n\n\t\t\t// Generating millennium/centuries picker\n\t\t\tthis._fill_yearsView(\n\t\t\t\t'.datepicker-centuries',\n\t\t\t\t'century',\n\t\t\t\t1000,\n\t\t\t\tyear,\n\t\t\t\tstartYear,\n\t\t\t\tendYear,\n\t\t\t\tthis.o.beforeShowCentury\n\t\t\t);\n\t\t},\n\n\t\tupdateNavArrows: function(){\n\t\t\tif (!this._allow_update)\n\t\t\t\treturn;\n\n\t\t\tvar d = new Date(this.viewDate),\n\t\t\t\tyear = d.getUTCFullYear(),\n\t\t\t\tmonth = d.getUTCMonth(),\n\t\t\t\tstartYear = this.o.startDate !== -Infinity ? this.o.startDate.getUTCFullYear() : -Infinity,\n\t\t\t\tstartMonth = this.o.startDate !== -Infinity ? this.o.startDate.getUTCMonth() : -Infinity,\n\t\t\t\tendYear = this.o.endDate !== Infinity ? this.o.endDate.getUTCFullYear() : Infinity,\n\t\t\t\tendMonth = this.o.endDate !== Infinity ? this.o.endDate.getUTCMonth() : Infinity,\n\t\t\t\tprevIsDisabled,\n\t\t\t\tnextIsDisabled,\n\t\t\t\tfactor = 1;\n\t\t\tswitch (this.viewMode){\n\t\t\t\tcase 4:\n\t\t\t\t\tfactor *= 10;\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 3:\n\t\t\t\t\tfactor *= 10;\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 2:\n\t\t\t\t\tfactor *= 10;\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 1:\n\t\t\t\t\tprevIsDisabled = Math.floor(year / factor) * factor <= startYear;\n\t\t\t\t\tnextIsDisabled = Math.floor(year / factor) * factor + factor > endYear;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0:\n\t\t\t\t\tprevIsDisabled = year <= startYear && month <= startMonth;\n\t\t\t\t\tnextIsDisabled = year >= endYear && month >= endMonth;\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tthis.picker.find('.prev').toggleClass('disabled', prevIsDisabled);\n\t\t\tthis.picker.find('.next').toggleClass('disabled', nextIsDisabled);\n\t\t},\n\n\t\tclick: function(e){\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\n\t\t\tvar target, dir, day, year, month;\n\t\t\ttarget = $(e.target);\n\n\t\t\t// Clicked on the switch\n\t\t\tif (target.hasClass('datepicker-switch') && this.viewMode !== this.o.maxViewMode){\n\t\t\t\tthis.setViewMode(this.viewMode + 1);\n\t\t\t}\n\n\t\t\t// Clicked on today button\n\t\t\tif (target.hasClass('today') && !target.hasClass('day')){\n\t\t\t\tthis.setViewMode(0);\n\t\t\t\tthis._setDate(UTCToday(), this.o.todayBtn === 'linked' ? null : 'view');\n\t\t\t}\n\n\t\t\t// Clicked on clear button\n\t\t\tif (target.hasClass('clear')){\n\t\t\t\tthis.clearDates();\n\t\t\t}\n\n\t\t\tif (!target.hasClass('disabled')){\n\t\t\t\t// Clicked on a month, year, decade, century\n\t\t\t\tif (target.hasClass('month')\n\t\t\t\t\t\t|| target.hasClass('year')\n\t\t\t\t\t\t|| target.hasClass('decade')\n\t\t\t\t\t\t|| target.hasClass('century')) {\n\t\t\t\t\tthis.viewDate.setUTCDate(1);\n\n\t\t\t\t\tday = 1;\n\t\t\t\t\tif (this.viewMode === 1){\n\t\t\t\t\t\tmonth = target.parent().find('span').index(target);\n\t\t\t\t\t\tyear = this.viewDate.getUTCFullYear();\n\t\t\t\t\t\tthis.viewDate.setUTCMonth(month);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmonth = 0;\n\t\t\t\t\t\tyear = Number(target.text());\n\t\t\t\t\t\tthis.viewDate.setUTCFullYear(year);\n\t\t\t\t\t}\n\n\t\t\t\t\tthis._trigger(DPGlobal.viewModes[this.viewMode - 1].e, this.viewDate);\n\n\t\t\t\t\tif (this.viewMode === this.o.minViewMode){\n\t\t\t\t\t\tthis._setDate(UTCDate(year, month, day));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.setViewMode(this.viewMode - 1);\n\t\t\t\t\t\tthis.fill();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (this.picker.is(':visible') && this._focused_from){\n\t\t\t\tthis._focused_from.focus();\n\t\t\t}\n\t\t\tdelete this._focused_from;\n\t\t},\n\n\t\tdayCellClick: function(e){\n\t\t\tvar $target = $(e.currentTarget);\n\t\t\tvar timestamp = $target.data('date');\n\t\t\tvar date = new Date(timestamp);\n\n\t\t\tif (this.o.updateViewDate) {\n\t\t\t\tif (date.getUTCFullYear() !== this.viewDate.getUTCFullYear()) {\n\t\t\t\t\tthis._trigger('changeYear', this.viewDate);\n\t\t\t\t}\n\n\t\t\t\tif (date.getUTCMonth() !== this.viewDate.getUTCMonth()) {\n\t\t\t\t\tthis._trigger('changeMonth', this.viewDate);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis._setDate(date);\n\t\t},\n\n\t\t// Clicked on prev or next\n\t\tnavArrowsClick: function(e){\n\t\t\tvar $target = $(e.currentTarget);\n\t\t\tvar dir = $target.hasClass('prev') ? -1 : 1;\n\t\t\tif (this.viewMode !== 0){\n\t\t\t\tdir *= DPGlobal.viewModes[this.viewMode].navStep * 12;\n\t\t\t}\n\t\t\tthis.viewDate = this.moveMonth(this.viewDate, dir);\n\t\t\tthis._trigger(DPGlobal.viewModes[this.viewMode].e, this.viewDate);\n\t\t\tthis.fill();\n\t\t},\n\n\t\t_toggle_multidate: function(date){\n\t\t\tvar ix = this.dates.contains(date);\n\t\t\tif (!date){\n\t\t\t\tthis.dates.clear();\n\t\t\t}\n\n\t\t\tif (ix !== -1){\n\t\t\t\tif (this.o.multidate === true || this.o.multidate > 1 || this.o.toggleActive){\n\t\t\t\t\tthis.dates.remove(ix);\n\t\t\t\t}\n\t\t\t} else if (this.o.multidate === false) {\n\t\t\t\tthis.dates.clear();\n\t\t\t\tthis.dates.push(date);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.dates.push(date);\n\t\t\t}\n\n\t\t\tif (typeof this.o.multidate === 'number')\n\t\t\t\twhile (this.dates.length > this.o.multidate)\n\t\t\t\t\tthis.dates.remove(0);\n\t\t},\n\n\t\t_setDate: function(date, which){\n\t\t\tif (!which || which === 'date')\n\t\t\t\tthis._toggle_multidate(date && new Date(date));\n\t\t\tif ((!which && this.o.updateViewDate) || which === 'view')\n\t\t\t\tthis.viewDate = date && new Date(date);\n\n\t\t\tthis.fill();\n\t\t\tthis.setValue();\n\t\t\tif (!which || which !== 'view') {\n\t\t\t\tthis._trigger('changeDate');\n\t\t\t}\n\t\t\tthis.inputField.trigger('change');\n\t\t\tif (this.o.autoclose && (!which || which === 'date')){\n\t\t\t\tthis.hide();\n\t\t\t}\n\t\t},\n\n\t\tmoveDay: function(date, dir){\n\t\t\tvar newDate = new Date(date);\n\t\t\tnewDate.setUTCDate(date.getUTCDate() + dir);\n\n\t\t\treturn newDate;\n\t\t},\n\n\t\tmoveWeek: function(date, dir){\n\t\t\treturn this.moveDay(date, dir * 7);\n\t\t},\n\n\t\tmoveMonth: function(date, dir){\n\t\t\tif (!isValidDate(date))\n\t\t\t\treturn this.o.defaultViewDate;\n\t\t\tif (!dir)\n\t\t\t\treturn date;\n\t\t\tvar new_date = new Date(date.valueOf()),\n\t\t\t\tday = new_date.getUTCDate(),\n\t\t\t\tmonth = new_date.getUTCMonth(),\n\t\t\t\tmag = Math.abs(dir),\n\t\t\t\tnew_month, test;\n\t\t\tdir = dir > 0 ? 1 : -1;\n\t\t\tif (mag === 1){\n\t\t\t\ttest = dir === -1\n\t\t\t\t\t// If going back one month, make sure month is not current month\n\t\t\t\t\t// (eg, Mar 31 -> Feb 31 == Feb 28, not Mar 02)\n\t\t\t\t\t? function(){\n\t\t\t\t\t\treturn new_date.getUTCMonth() === month;\n\t\t\t\t\t}\n\t\t\t\t\t// If going forward one month, make sure month is as expected\n\t\t\t\t\t// (eg, Jan 31 -> Feb 31 == Feb 28, not Mar 02)\n\t\t\t\t\t: function(){\n\t\t\t\t\t\treturn new_date.getUTCMonth() !== new_month;\n\t\t\t\t\t};\n\t\t\t\tnew_month = month + dir;\n\t\t\t\tnew_date.setUTCMonth(new_month);\n\t\t\t\t// Dec -> Jan (12) or Jan -> Dec (-1) -- limit expected date to 0-11\n\t\t\t\tnew_month = (new_month + 12) % 12;\n\t\t\t}\n\t\t\telse {\n\t\t\t\t// For magnitudes >1, move one month at a time...\n\t\t\t\tfor (var i=0; i < mag; i++)\n\t\t\t\t\t// ...which might decrease the day (eg, Jan 31 to Feb 28, etc)...\n\t\t\t\t\tnew_date = this.moveMonth(new_date, dir);\n\t\t\t\t// ...then reset the day, keeping it in the new month\n\t\t\t\tnew_month = new_date.getUTCMonth();\n\t\t\t\tnew_date.setUTCDate(day);\n\t\t\t\ttest = function(){\n\t\t\t\t\treturn new_month !== new_date.getUTCMonth();\n\t\t\t\t};\n\t\t\t}\n\t\t\t// Common date-resetting loop -- if date is beyond end of month, make it\n\t\t\t// end of month\n\t\t\twhile (test()){\n\t\t\t\tnew_date.setUTCDate(--day);\n\t\t\t\tnew_date.setUTCMonth(new_month);\n\t\t\t}\n\t\t\treturn new_date;\n\t\t},\n\n\t\tmoveYear: function(date, dir){\n\t\t\treturn this.moveMonth(date, dir*12);\n\t\t},\n\n\t\tmoveAvailableDate: function(date, dir, fn){\n\t\t\tdo {\n\t\t\t\tdate = this[fn](date, dir);\n\n\t\t\t\tif (!this.dateWithinRange(date))\n\t\t\t\t\treturn false;\n\n\t\t\t\tfn = 'moveDay';\n\t\t\t}\n\t\t\twhile (this.dateIsDisabled(date));\n\n\t\t\treturn date;\n\t\t},\n\n\t\tweekOfDateIsDisabled: function(date){\n\t\t\treturn $.inArray(date.getUTCDay(), this.o.daysOfWeekDisabled) !== -1;\n\t\t},\n\n\t\tdateIsDisabled: function(date){\n\t\t\treturn (\n\t\t\t\tthis.weekOfDateIsDisabled(date) ||\n\t\t\t\t$.grep(this.o.datesDisabled, function(d){\n\t\t\t\t\treturn isUTCEquals(date, d);\n\t\t\t\t}).length > 0\n\t\t\t);\n\t\t},\n\n\t\tdateWithinRange: function(date){\n\t\t\treturn date >= this.o.startDate && date <= this.o.endDate;\n\t\t},\n\n\t\tkeydown: function(e){\n\t\t\tif (!this.picker.is(':visible')){\n\t\t\t\tif (e.keyCode === 40 || e.keyCode === 27) { // allow down to re-show picker\n\t\t\t\t\tthis.show();\n\t\t\t\t\te.stopPropagation();\n        }\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar dateChanged = false,\n\t\t\t\tdir, newViewDate,\n\t\t\t\tfocusDate = this.focusDate || this.viewDate;\n\t\t\tswitch (e.keyCode){\n\t\t\t\tcase 27: // escape\n\t\t\t\t\tif (this.focusDate){\n\t\t\t\t\t\tthis.focusDate = null;\n\t\t\t\t\t\tthis.viewDate = this.dates.get(-1) || this.viewDate;\n\t\t\t\t\t\tthis.fill();\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t\tthis.hide();\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\te.stopPropagation();\n\t\t\t\t\tbreak;\n\t\t\t\tcase 37: // left\n\t\t\t\tcase 38: // up\n\t\t\t\tcase 39: // right\n\t\t\t\tcase 40: // down\n\t\t\t\t\tif (!this.o.keyboardNavigation || this.o.daysOfWeekDisabled.length === 7)\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdir = e.keyCode === 37 || e.keyCode === 38 ? -1 : 1;\n          if (this.viewMode === 0) {\n  \t\t\t\t\tif (e.ctrlKey){\n  \t\t\t\t\t\tnewViewDate = this.moveAvailableDate(focusDate, dir, 'moveYear');\n\n  \t\t\t\t\t\tif (newViewDate)\n  \t\t\t\t\t\t\tthis._trigger('changeYear', this.viewDate);\n  \t\t\t\t\t} else if (e.shiftKey){\n  \t\t\t\t\t\tnewViewDate = this.moveAvailableDate(focusDate, dir, 'moveMonth');\n\n  \t\t\t\t\t\tif (newViewDate)\n  \t\t\t\t\t\t\tthis._trigger('changeMonth', this.viewDate);\n  \t\t\t\t\t} else if (e.keyCode === 37 || e.keyCode === 39){\n  \t\t\t\t\t\tnewViewDate = this.moveAvailableDate(focusDate, dir, 'moveDay');\n  \t\t\t\t\t} else if (!this.weekOfDateIsDisabled(focusDate)){\n  \t\t\t\t\t\tnewViewDate = this.moveAvailableDate(focusDate, dir, 'moveWeek');\n  \t\t\t\t\t}\n          } else if (this.viewMode === 1) {\n            if (e.keyCode === 38 || e.keyCode === 40) {\n              dir = dir * 4;\n            }\n            newViewDate = this.moveAvailableDate(focusDate, dir, 'moveMonth');\n          } else if (this.viewMode === 2) {\n            if (e.keyCode === 38 || e.keyCode === 40) {\n              dir = dir * 4;\n            }\n            newViewDate = this.moveAvailableDate(focusDate, dir, 'moveYear');\n          }\n\t\t\t\t\tif (newViewDate){\n\t\t\t\t\t\tthis.focusDate = this.viewDate = newViewDate;\n\t\t\t\t\t\tthis.setValue();\n\t\t\t\t\t\tthis.fill();\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 13: // enter\n\t\t\t\t\tif (!this.o.forceParse)\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tfocusDate = this.focusDate || this.dates.get(-1) || this.viewDate;\n\t\t\t\t\tif (this.o.keyboardNavigation) {\n\t\t\t\t\t\tthis._toggle_multidate(focusDate);\n\t\t\t\t\t\tdateChanged = true;\n\t\t\t\t\t}\n\t\t\t\t\tthis.focusDate = null;\n\t\t\t\t\tthis.viewDate = this.dates.get(-1) || this.viewDate;\n\t\t\t\t\tthis.setValue();\n\t\t\t\t\tthis.fill();\n\t\t\t\t\tif (this.picker.is(':visible')){\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\tif (this.o.autoclose)\n\t\t\t\t\t\t\tthis.hide();\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 9: // tab\n\t\t\t\t\tthis.focusDate = null;\n\t\t\t\t\tthis.viewDate = this.dates.get(-1) || this.viewDate;\n\t\t\t\t\tthis.fill();\n\t\t\t\t\tthis.hide();\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (dateChanged){\n\t\t\t\tif (this.dates.length)\n\t\t\t\t\tthis._trigger('changeDate');\n\t\t\t\telse\n\t\t\t\t\tthis._trigger('clearDate');\n\t\t\t\tthis.inputField.trigger('change');\n\t\t\t}\n\t\t},\n\n\t\tsetViewMode: function(viewMode){\n\t\t\tthis.viewMode = viewMode;\n\t\t\tthis.picker\n\t\t\t\t.children('div')\n\t\t\t\t.hide()\n\t\t\t\t.filter('.datepicker-' + DPGlobal.viewModes[this.viewMode].clsName)\n\t\t\t\t\t.show();\n\t\t\tthis.updateNavArrows();\n      this._trigger('changeViewMode', new Date(this.viewDate));\n\t\t}\n\t};\n\n\tvar DateRangePicker = function(element, options){\n\t\t$.data(element, 'datepicker', this);\n\t\tthis.element = $(element);\n\t\tthis.inputs = $.map(options.inputs, function(i){\n\t\t\treturn i.jquery ? i[0] : i;\n\t\t});\n\t\tdelete options.inputs;\n\n\t\tthis.keepEmptyValues = options.keepEmptyValues;\n\t\tdelete options.keepEmptyValues;\n\n\t\tdatepickerPlugin.call($(this.inputs), options)\n\t\t\t.on('changeDate', $.proxy(this.dateUpdated, this));\n\n\t\tthis.pickers = $.map(this.inputs, function(i){\n\t\t\treturn $.data(i, 'datepicker');\n\t\t});\n\t\tthis.updateDates();\n\t};\n\tDateRangePicker.prototype = {\n\t\tupdateDates: function(){\n\t\t\tthis.dates = $.map(this.pickers, function(i){\n\t\t\t\treturn i.getUTCDate();\n\t\t\t});\n\t\t\tthis.updateRanges();\n\t\t},\n\t\tupdateRanges: function(){\n\t\t\tvar range = $.map(this.dates, function(d){\n\t\t\t\treturn d.valueOf();\n\t\t\t});\n\t\t\t$.each(this.pickers, function(i, p){\n\t\t\t\tp.setRange(range);\n\t\t\t});\n\t\t},\n\t\tclearDates: function(){\n\t\t\t$.each(this.pickers, function(i, p){\n\t\t\t\tp.clearDates();\n\t\t\t});\n\t\t},\n\t\tdateUpdated: function(e){\n\t\t\t// `this.updating` is a workaround for preventing infinite recursion\n\t\t\t// between `changeDate` triggering and `setUTCDate` calling.  Until\n\t\t\t// there is a better mechanism.\n\t\t\tif (this.updating)\n\t\t\t\treturn;\n\t\t\tthis.updating = true;\n\n\t\t\tvar dp = $.data(e.target, 'datepicker');\n\n\t\t\tif (dp === undefined) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar new_date = dp.getUTCDate(),\n\t\t\t\tkeep_empty_values = this.keepEmptyValues,\n\t\t\t\ti = $.inArray(e.target, this.inputs),\n\t\t\t\tj = i - 1,\n\t\t\t\tk = i + 1,\n\t\t\t\tl = this.inputs.length;\n\t\t\tif (i === -1)\n\t\t\t\treturn;\n\n\t\t\t$.each(this.pickers, function(i, p){\n\t\t\t\tif (!p.getUTCDate() && (p === dp || !keep_empty_values))\n\t\t\t\t\tp.setUTCDate(new_date);\n\t\t\t});\n\n\t\t\tif (new_date < this.dates[j]){\n\t\t\t\t// Date being moved earlier/left\n\t\t\t\twhile (j >= 0 && new_date < this.dates[j]){\n\t\t\t\t\tthis.pickers[j--].setUTCDate(new_date);\n\t\t\t\t}\n\t\t\t} else if (new_date > this.dates[k]){\n\t\t\t\t// Date being moved later/right\n\t\t\t\twhile (k < l && new_date > this.dates[k]){\n\t\t\t\t\tthis.pickers[k++].setUTCDate(new_date);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.updateDates();\n\n\t\t\tdelete this.updating;\n\t\t},\n\t\tdestroy: function(){\n\t\t\t$.map(this.pickers, function(p){ p.destroy(); });\n\t\t\t$(this.inputs).off('changeDate', this.dateUpdated);\n\t\t\tdelete this.element.data().datepicker;\n\t\t},\n\t\tremove: alias('destroy', 'Method `remove` is deprecated and will be removed in version 2.0. Use `destroy` instead')\n\t};\n\n\tfunction opts_from_el(el, prefix){\n\t\t// Derive options from element data-attrs\n\t\tvar data = $(el).data(),\n\t\t\tout = {}, inkey,\n\t\t\treplace = new RegExp('^' + prefix.toLowerCase() + '([A-Z])');\n\t\tprefix = new RegExp('^' + prefix.toLowerCase());\n\t\tfunction re_lower(_,a){\n\t\t\treturn a.toLowerCase();\n\t\t}\n\t\tfor (var key in data)\n\t\t\tif (prefix.test(key)){\n\t\t\t\tinkey = key.replace(replace, re_lower);\n\t\t\t\tout[inkey] = data[key];\n\t\t\t}\n\t\treturn out;\n\t}\n\n\tfunction opts_from_locale(lang){\n\t\t// Derive options from locale plugins\n\t\tvar out = {};\n\t\t// Check if \"de-DE\" style date is available, if not language should\n\t\t// fallback to 2 letter code eg \"de\"\n\t\tif (!dates[lang]){\n\t\t\tlang = lang.split('-')[0];\n\t\t\tif (!dates[lang])\n\t\t\t\treturn;\n\t\t}\n\t\tvar d = dates[lang];\n\t\t$.each(locale_opts, function(i,k){\n\t\t\tif (k in d)\n\t\t\t\tout[k] = d[k];\n\t\t});\n\t\treturn out;\n\t}\n\n\tvar old = $.fn.datepicker;\n\tvar datepickerPlugin = function(option){\n\t\tvar args = Array.apply(null, arguments);\n\t\targs.shift();\n\t\tvar internal_return;\n\t\tthis.each(function(){\n\t\t\tvar $this = $(this),\n\t\t\t\tdata = $this.data('datepicker'),\n\t\t\t\toptions = typeof option === 'object' && option;\n\t\t\tif (!data){\n\t\t\t\tvar elopts = opts_from_el(this, 'date'),\n\t\t\t\t\t// Preliminary otions\n\t\t\t\t\txopts = $.extend({}, defaults, elopts, options),\n\t\t\t\t\tlocopts = opts_from_locale(xopts.language),\n\t\t\t\t\t// Options priority: js args, data-attrs, locales, defaults\n\t\t\t\t\topts = $.extend({}, defaults, locopts, elopts, options);\n\t\t\t\tif ($this.hasClass('input-daterange') || opts.inputs){\n\t\t\t\t\t$.extend(opts, {\n\t\t\t\t\t\tinputs: opts.inputs || $this.find('input').toArray()\n\t\t\t\t\t});\n\t\t\t\t\tdata = new DateRangePicker(this, opts);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tdata = new Datepicker(this, opts);\n\t\t\t\t}\n\t\t\t\t$this.data('datepicker', data);\n\t\t\t}\n\t\t\tif (typeof option === 'string' && typeof data[option] === 'function'){\n\t\t\t\tinternal_return = data[option].apply(data, args);\n\t\t\t}\n\t\t});\n\n\t\tif (\n\t\t\tinternal_return === undefined ||\n\t\t\tinternal_return instanceof Datepicker ||\n\t\t\tinternal_return instanceof DateRangePicker\n\t\t)\n\t\t\treturn this;\n\n\t\tif (this.length > 1)\n\t\t\tthrow new Error('Using only allowed for the collection of a single element (' + option + ' function)');\n\t\telse\n\t\t\treturn internal_return;\n\t};\n\t$.fn.datepicker = datepickerPlugin;\n\n\tvar defaults = $.fn.datepicker.defaults = {\n\t\tassumeNearbyYear: false,\n\t\tautoclose: false,\n\t\tbeforeShowDay: $.noop,\n\t\tbeforeShowMonth: $.noop,\n\t\tbeforeShowYear: $.noop,\n\t\tbeforeShowDecade: $.noop,\n\t\tbeforeShowCentury: $.noop,\n\t\tcalendarWeeks: false,\n\t\tclearBtn: false,\n\t\ttoggleActive: false,\n\t\tdaysOfWeekDisabled: [],\n\t\tdaysOfWeekHighlighted: [],\n\t\tdatesDisabled: [],\n\t\tendDate: Infinity,\n\t\tforceParse: true,\n\t\tformat: 'mm/dd/yyyy',\n\t\tkeepEmptyValues: false,\n\t\tkeyboardNavigation: true,\n\t\tlanguage: 'en',\n\t\tminViewMode: 0,\n\t\tmaxViewMode: 4,\n\t\tmultidate: false,\n\t\tmultidateSeparator: ',',\n\t\torientation: \"auto\",\n\t\trtl: false,\n\t\tstartDate: -Infinity,\n\t\tstartView: 0,\n\t\ttodayBtn: false,\n\t\ttodayHighlight: false,\n\t\tupdateViewDate: true,\n\t\tweekStart: 0,\n\t\tdisableTouchKeyboard: false,\n\t\tenableOnReadonly: true,\n\t\tshowOnFocus: true,\n\t\tzIndexOffset: 10,\n\t\tcontainer: 'body',\n\t\timmediateUpdates: false,\n\t\ttitle: '',\n\t\ttemplates: {\n\t\t\tleftArrow: '&#x00AB;',\n\t\t\trightArrow: '&#x00BB;'\n\t\t},\n    showWeekDays: true\n\t};\n\tvar locale_opts = $.fn.datepicker.locale_opts = [\n\t\t'format',\n\t\t'rtl',\n\t\t'weekStart'\n\t];\n\t$.fn.datepicker.Constructor = Datepicker;\n\tvar dates = $.fn.datepicker.dates = {\n\t\ten: {\n\t\t\tdays: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n\t\t\tdaysShort: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n\t\t\tdaysMin: [\"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"],\n\t\t\tmonths: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"],\n\t\t\tmonthsShort: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"],\n\t\t\ttoday: \"Today\",\n\t\t\tclear: \"Clear\",\n\t\t\ttitleFormat: \"MM yyyy\"\n\t\t}\n\t};\n\n\tvar DPGlobal = {\n\t\tviewModes: [\n\t\t\t{\n\t\t\t\tnames: ['days', 'month'],\n\t\t\t\tclsName: 'days',\n\t\t\t\te: 'changeMonth'\n\t\t\t},\n\t\t\t{\n\t\t\t\tnames: ['months', 'year'],\n\t\t\t\tclsName: 'months',\n\t\t\t\te: 'changeYear',\n\t\t\t\tnavStep: 1\n\t\t\t},\n\t\t\t{\n\t\t\t\tnames: ['years', 'decade'],\n\t\t\t\tclsName: 'years',\n\t\t\t\te: 'changeDecade',\n\t\t\t\tnavStep: 10\n\t\t\t},\n\t\t\t{\n\t\t\t\tnames: ['decades', 'century'],\n\t\t\t\tclsName: 'decades',\n\t\t\t\te: 'changeCentury',\n\t\t\t\tnavStep: 100\n\t\t\t},\n\t\t\t{\n\t\t\t\tnames: ['centuries', 'millennium'],\n\t\t\t\tclsName: 'centuries',\n\t\t\t\te: 'changeMillennium',\n\t\t\t\tnavStep: 1000\n\t\t\t}\n\t\t],\n\t\tvalidParts: /dd?|DD?|mm?|MM?|yy(?:yy)?/g,\n\t\tnonpunctuation: /[^ -\\/:-@\\u5e74\\u6708\\u65e5\\[-`{-~\\t\\n\\r]+/g,\n\t\tparseFormat: function(format){\n\t\t\tif (typeof format.toValue === 'function' && typeof format.toDisplay === 'function')\n                return format;\n            // IE treats \\0 as a string end in inputs (truncating the value),\n\t\t\t// so it's a bad format delimiter, anyway\n\t\t\tvar separators = format.replace(this.validParts, '\\0').split('\\0'),\n\t\t\t\tparts = format.match(this.validParts);\n\t\t\tif (!separators || !separators.length || !parts || parts.length === 0){\n\t\t\t\tthrow new Error(\"Invalid date format.\");\n\t\t\t}\n\t\t\treturn {separators: separators, parts: parts};\n\t\t},\n\t\tparseDate: function(date, format, language, assumeNearby){\n\t\t\tif (!date)\n\t\t\t\treturn undefined;\n\t\t\tif (date instanceof Date)\n\t\t\t\treturn date;\n\t\t\tif (typeof format === 'string')\n\t\t\t\tformat = DPGlobal.parseFormat(format);\n\t\t\tif (format.toValue)\n\t\t\t\treturn format.toValue(date, format, language);\n\t\t\tvar fn_map = {\n\t\t\t\t\td: 'moveDay',\n\t\t\t\t\tm: 'moveMonth',\n\t\t\t\t\tw: 'moveWeek',\n\t\t\t\t\ty: 'moveYear'\n\t\t\t\t},\n\t\t\t\tdateAliases = {\n\t\t\t\t\tyesterday: '-1d',\n\t\t\t\t\ttoday: '+0d',\n\t\t\t\t\ttomorrow: '+1d'\n\t\t\t\t},\n\t\t\t\tparts, part, dir, i, fn;\n\t\t\tif (date in dateAliases){\n\t\t\t\tdate = dateAliases[date];\n\t\t\t}\n\t\t\tif (/^[\\-+]\\d+[dmwy]([\\s,]+[\\-+]\\d+[dmwy])*$/i.test(date)){\n\t\t\t\tparts = date.match(/([\\-+]\\d+)([dmwy])/gi);\n\t\t\t\tdate = new Date();\n\t\t\t\tfor (i=0; i < parts.length; i++){\n\t\t\t\t\tpart = parts[i].match(/([\\-+]\\d+)([dmwy])/i);\n\t\t\t\t\tdir = Number(part[1]);\n\t\t\t\t\tfn = fn_map[part[2].toLowerCase()];\n\t\t\t\t\tdate = Datepicker.prototype[fn](date, dir);\n\t\t\t\t}\n\t\t\t\treturn Datepicker.prototype._zero_utc_time(date);\n\t\t\t}\n\n\t\t\tparts = date && date.match(this.nonpunctuation) || [];\n\n\t\t\tfunction applyNearbyYear(year, threshold){\n\t\t\t\tif (threshold === true)\n\t\t\t\t\tthreshold = 10;\n\n\t\t\t\t// if year is 2 digits or less, than the user most likely is trying to get a recent century\n\t\t\t\tif (year < 100){\n\t\t\t\t\tyear += 2000;\n\t\t\t\t\t// if the new year is more than threshold years in advance, use last century\n\t\t\t\t\tif (year > ((new Date()).getFullYear()+threshold)){\n\t\t\t\t\t\tyear -= 100;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn year;\n\t\t\t}\n\n\t\t\tvar parsed = {},\n\t\t\t\tsetters_order = ['yyyy', 'yy', 'M', 'MM', 'm', 'mm', 'd', 'dd'],\n\t\t\t\tsetters_map = {\n\t\t\t\t\tyyyy: function(d,v){\n\t\t\t\t\t\treturn d.setUTCFullYear(assumeNearby ? applyNearbyYear(v, assumeNearby) : v);\n\t\t\t\t\t},\n\t\t\t\t\tm: function(d,v){\n\t\t\t\t\t\tif (isNaN(d))\n\t\t\t\t\t\t\treturn d;\n\t\t\t\t\t\tv -= 1;\n\t\t\t\t\t\twhile (v < 0) v += 12;\n\t\t\t\t\t\tv %= 12;\n\t\t\t\t\t\td.setUTCMonth(v);\n\t\t\t\t\t\twhile (d.getUTCMonth() !== v)\n\t\t\t\t\t\t\td.setUTCDate(d.getUTCDate()-1);\n\t\t\t\t\t\treturn d;\n\t\t\t\t\t},\n\t\t\t\t\td: function(d,v){\n\t\t\t\t\t\treturn d.setUTCDate(v);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tval, filtered;\n\t\t\tsetters_map['yy'] = setters_map['yyyy'];\n\t\t\tsetters_map['M'] = setters_map['MM'] = setters_map['mm'] = setters_map['m'];\n\t\t\tsetters_map['dd'] = setters_map['d'];\n\t\t\tdate = UTCToday();\n\t\t\tvar fparts = format.parts.slice();\n\t\t\t// Remove noop parts\n\t\t\tif (parts.length !== fparts.length){\n\t\t\t\tfparts = $(fparts).filter(function(i,p){\n\t\t\t\t\treturn $.inArray(p, setters_order) !== -1;\n\t\t\t\t}).toArray();\n\t\t\t}\n\t\t\t// Process remainder\n\t\t\tfunction match_part(){\n\t\t\t\tvar m = this.slice(0, parts[i].length),\n\t\t\t\t\tp = parts[i].slice(0, m.length);\n\t\t\t\treturn m.toLowerCase() === p.toLowerCase();\n\t\t\t}\n\t\t\tif (parts.length === fparts.length){\n\t\t\t\tvar cnt;\n\t\t\t\tfor (i=0, cnt = fparts.length; i < cnt; i++){\n\t\t\t\t\tval = parseInt(parts[i], 10);\n\t\t\t\t\tpart = fparts[i];\n\t\t\t\t\tif (isNaN(val)){\n\t\t\t\t\t\tswitch (part){\n\t\t\t\t\t\t\tcase 'MM':\n\t\t\t\t\t\t\t\tfiltered = $(dates[language].months).filter(match_part);\n\t\t\t\t\t\t\t\tval = $.inArray(filtered[0], dates[language].months) + 1;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'M':\n\t\t\t\t\t\t\t\tfiltered = $(dates[language].monthsShort).filter(match_part);\n\t\t\t\t\t\t\t\tval = $.inArray(filtered[0], dates[language].monthsShort) + 1;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tparsed[part] = val;\n\t\t\t\t}\n\t\t\t\tvar _date, s;\n\t\t\t\tfor (i=0; i < setters_order.length; i++){\n\t\t\t\t\ts = setters_order[i];\n\t\t\t\t\tif (s in parsed && !isNaN(parsed[s])){\n\t\t\t\t\t\t_date = new Date(date);\n\t\t\t\t\t\tsetters_map[s](_date, parsed[s]);\n\t\t\t\t\t\tif (!isNaN(_date))\n\t\t\t\t\t\t\tdate = _date;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn date;\n\t\t},\n\t\tformatDate: function(date, format, language){\n\t\t\tif (!date)\n\t\t\t\treturn '';\n\t\t\tif (typeof format === 'string')\n\t\t\t\tformat = DPGlobal.parseFormat(format);\n\t\t\tif (format.toDisplay)\n                return format.toDisplay(date, format, language);\n            var val = {\n\t\t\t\td: date.getUTCDate(),\n\t\t\t\tD: dates[language].daysShort[date.getUTCDay()],\n\t\t\t\tDD: dates[language].days[date.getUTCDay()],\n\t\t\t\tm: date.getUTCMonth() + 1,\n\t\t\t\tM: dates[language].monthsShort[date.getUTCMonth()],\n\t\t\t\tMM: dates[language].months[date.getUTCMonth()],\n\t\t\t\tyy: date.getUTCFullYear().toString().substring(2),\n\t\t\t\tyyyy: date.getUTCFullYear()\n\t\t\t};\n\t\t\tval.dd = (val.d < 10 ? '0' : '') + val.d;\n\t\t\tval.mm = (val.m < 10 ? '0' : '') + val.m;\n\t\t\tdate = [];\n\t\t\tvar seps = $.extend([], format.separators);\n\t\t\tfor (var i=0, cnt = format.parts.length; i <= cnt; i++){\n\t\t\t\tif (seps.length)\n\t\t\t\t\tdate.push(seps.shift());\n\t\t\t\tdate.push(val[format.parts[i]]);\n\t\t\t}\n\t\t\treturn date.join('');\n\t\t},\n\t\theadTemplate: '<thead>'+\n\t\t\t              '<tr>'+\n\t\t\t                '<th colspan=\"7\" class=\"datepicker-title\"></th>'+\n\t\t\t              '</tr>'+\n\t\t\t\t\t\t\t'<tr>'+\n\t\t\t\t\t\t\t\t'<th class=\"prev\">'+defaults.templates.leftArrow+'</th>'+\n\t\t\t\t\t\t\t\t'<th colspan=\"5\" class=\"datepicker-switch\"></th>'+\n\t\t\t\t\t\t\t\t'<th class=\"next\">'+defaults.templates.rightArrow+'</th>'+\n\t\t\t\t\t\t\t'</tr>'+\n\t\t\t\t\t\t'</thead>',\n\t\tcontTemplate: '<tbody><tr><td colspan=\"7\"></td></tr></tbody>',\n\t\tfootTemplate: '<tfoot>'+\n\t\t\t\t\t\t\t'<tr>'+\n\t\t\t\t\t\t\t\t'<th colspan=\"7\" class=\"today\"></th>'+\n\t\t\t\t\t\t\t'</tr>'+\n\t\t\t\t\t\t\t'<tr>'+\n\t\t\t\t\t\t\t\t'<th colspan=\"7\" class=\"clear\"></th>'+\n\t\t\t\t\t\t\t'</tr>'+\n\t\t\t\t\t\t'</tfoot>'\n\t};\n\tDPGlobal.template = '<div class=\"datepicker\">'+\n\t\t\t\t\t\t\t'<div class=\"datepicker-days\">'+\n\t\t\t\t\t\t\t\t'<table class=\"table-condensed\">'+\n\t\t\t\t\t\t\t\t\tDPGlobal.headTemplate+\n\t\t\t\t\t\t\t\t\t'<tbody></tbody>'+\n\t\t\t\t\t\t\t\t\tDPGlobal.footTemplate+\n\t\t\t\t\t\t\t\t'</table>'+\n\t\t\t\t\t\t\t'</div>'+\n\t\t\t\t\t\t\t'<div class=\"datepicker-months\">'+\n\t\t\t\t\t\t\t\t'<table class=\"table-condensed\">'+\n\t\t\t\t\t\t\t\t\tDPGlobal.headTemplate+\n\t\t\t\t\t\t\t\t\tDPGlobal.contTemplate+\n\t\t\t\t\t\t\t\t\tDPGlobal.footTemplate+\n\t\t\t\t\t\t\t\t'</table>'+\n\t\t\t\t\t\t\t'</div>'+\n\t\t\t\t\t\t\t'<div class=\"datepicker-years\">'+\n\t\t\t\t\t\t\t\t'<table class=\"table-condensed\">'+\n\t\t\t\t\t\t\t\t\tDPGlobal.headTemplate+\n\t\t\t\t\t\t\t\t\tDPGlobal.contTemplate+\n\t\t\t\t\t\t\t\t\tDPGlobal.footTemplate+\n\t\t\t\t\t\t\t\t'</table>'+\n\t\t\t\t\t\t\t'</div>'+\n\t\t\t\t\t\t\t'<div class=\"datepicker-decades\">'+\n\t\t\t\t\t\t\t\t'<table class=\"table-condensed\">'+\n\t\t\t\t\t\t\t\t\tDPGlobal.headTemplate+\n\t\t\t\t\t\t\t\t\tDPGlobal.contTemplate+\n\t\t\t\t\t\t\t\t\tDPGlobal.footTemplate+\n\t\t\t\t\t\t\t\t'</table>'+\n\t\t\t\t\t\t\t'</div>'+\n\t\t\t\t\t\t\t'<div class=\"datepicker-centuries\">'+\n\t\t\t\t\t\t\t\t'<table class=\"table-condensed\">'+\n\t\t\t\t\t\t\t\t\tDPGlobal.headTemplate+\n\t\t\t\t\t\t\t\t\tDPGlobal.contTemplate+\n\t\t\t\t\t\t\t\t\tDPGlobal.footTemplate+\n\t\t\t\t\t\t\t\t'</table>'+\n\t\t\t\t\t\t\t'</div>'+\n\t\t\t\t\t\t'</div>';\n\n\t$.fn.datepicker.DPGlobal = DPGlobal;\n\n\n\t/* DATEPICKER NO CONFLICT\n\t* =================== */\n\n\t$.fn.datepicker.noConflict = function(){\n\t\t$.fn.datepicker = old;\n\t\treturn this;\n\t};\n\n\t/* DATEPICKER VERSION\n\t * =================== */\n\t$.fn.datepicker.version = '1.9.0';\n\n\t$.fn.datepicker.deprecated = function(msg){\n\t\tvar console = window.console;\n\t\tif (console && console.warn) {\n\t\t\tconsole.warn('DEPRECATED: ' + msg);\n\t\t}\n\t};\n\n\n\t/* DATEPICKER DATA-API\n\t* ================== */\n\n\t$(document).on(\n\t\t'focus.datepicker.data-api click.datepicker.data-api',\n\t\t'[data-provide=\"datepicker\"]',\n\t\tfunction(e){\n\t\t\tvar $this = $(this);\n\t\t\tif ($this.data('datepicker'))\n\t\t\t\treturn;\n\t\t\te.preventDefault();\n\t\t\t// component click requires us to explicitly show it\n\t\t\tdatepickerPlugin.call($this, 'show');\n\t\t}\n\t);\n\t$(function(){\n\t\tdatepickerPlugin.call($('[data-provide=\"datepicker-inline\"]'));\n\t});\n\n}));\n"
  },
  {
    "path": "app/assets/javascripts/bootstrap-tags.js",
    "content": "/*!\n * bootstrap-tags 1.1.0\n * https://github.com/maxwells/bootstrap-tags\n * Copyright 2013 Max Lahey; Licensed MIT\n */\n\n(function($) {\n    (function() {\n        window.Tags || (window.Tags = {});\n        jQuery(function() {\n            $.tags = function(element, options) {\n                var key, tag, tagData, value, _i, _len, _ref, _this = this;\n                if (options == null) {\n                    options = {};\n                }\n                for (key in options) {\n                    value = options[key];\n                    this[key] = value;\n                }\n                this.bootstrapVersion || (this.bootstrapVersion = \"3\");\n                this.readOnly || (this.readOnly = false);\n                this.suggestions || (this.suggestions = []);\n                this.restrictTo = options.restrictTo != null ? options.restrictTo.concat(this.suggestions) : false;\n                this.exclude || (this.exclude = false);\n                this.displayPopovers = options.popovers != null ? true : options.popoverData != null;\n                this.popoverTrigger || (this.popoverTrigger = \"hover\");\n                this.tagClass || (this.tagClass = \"btn-info\");\n                this.tagSize || (this.tagSize = \"md\");\n                this.promptText || (this.promptText = \"Enter tags...\");\n                this.caseInsensitive || (this.caseInsensitive = false);\n                this.readOnlyEmptyMessage || (this.readOnlyEmptyMessage = \"No tags to display...\");\n                this.beforeAddingTag || (this.beforeAddingTag = function(tag) {});\n                this.afterAddingTag || (this.afterAddingTag = function(tag) {});\n                this.beforeDeletingTag || (this.beforeDeletingTag = function(tag) {});\n                this.afterDeletingTag || (this.afterDeletingTag = function(tag) {});\n                this.definePopover || (this.definePopover = function(tag) {\n                    return 'associated content for \"' + tag + '\"';\n                });\n                this.excludes || (this.excludes = function() {\n                    return false;\n                });\n                this.tagRemoved || (this.tagRemoved = function(tag) {});\n                this.pressedReturn || (this.pressedReturn = function(e) {});\n                this.pressedDelete || (this.pressedDelete = function(e) {});\n                this.pressedDown || (this.pressedDown = function(e) {});\n                this.pressedUp || (this.pressedUp = function(e) {});\n                this.$element = $(element);\n                if (options.tagData != null) {\n                    this.tagsArray = options.tagData;\n                } else {\n                    tagData = $(\".tag-data\", this.$element).html();\n                    this.tagsArray = tagData != null ? tagData.split(\",\") : [];\n                }\n                if (options.popoverData) {\n                    this.popoverArray = options.popoverData;\n                } else {\n                    this.popoverArray = [];\n                    _ref = this.tagsArray;\n                    for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n                        tag = _ref[_i];\n                        this.popoverArray.push(null);\n                    }\n                }\n                this.getTags = function() {\n                    return _this.tagsArray;\n                };\n                this.getTagsContent = function() {\n                    return _this.popoverArray;\n                };\n                this.getTagsWithContent = function() {\n                    var combined, i, _j, _ref1;\n                    combined = [];\n                    for (i = _j = 0, _ref1 = _this.tagsArray.length - 1; 0 <= _ref1 ? _j <= _ref1 : _j >= _ref1; i = 0 <= _ref1 ? ++_j : --_j) {\n                        combined.push({\n                            tag: _this.tagsArray[i],\n                            content: _this.popoverArray[i]\n                        });\n                    }\n                    return combined;\n                };\n                this.getTag = function(tag) {\n                    var index;\n                    index = _this.tagsArray.indexOf(tag);\n                    if (index > -1) {\n                        return _this.tagsArray[index];\n                    } else {\n                        return null;\n                    }\n                };\n                this.getTagWithContent = function(tag) {\n                    var index;\n                    index = _this.tagsArray.indexOf(tag);\n                    return {\n                        tag: _this.tagsArray[index],\n                        content: _this.popoverArray[index]\n                    };\n                };\n                this.hasTag = function(tag) {\n                    return _this.tagsArray.indexOf(tag) > -1;\n                };\n                this.removeTagClicked = function(e) {\n                    if (e.currentTarget.tagName === \"A\") {\n                        _this.removeTag($(\"span\", e.currentTarget.parentElement).html());\n                        $(e.currentTarget.parentNode).remove();\n                    }\n                    return _this;\n                };\n                this.removeLastTag = function() {\n                    _this.removeTag(_this.tagsArray[_this.tagsArray.length - 1]);\n                    return _this;\n                };\n                this.removeTag = function(tag) {\n                    if (_this.tagsArray.indexOf(tag) > -1) {\n                        if (_this.beforeDeletingTag(tag) === false) {\n                            return;\n                        }\n                        _this.popoverArray.splice(_this.tagsArray.indexOf(tag), 1);\n                        _this.tagsArray.splice(_this.tagsArray.indexOf(tag), 1);\n                        _this.renderTags();\n                        _this.afterDeletingTag(tag);\n                    }\n                    return _this;\n                };\n                this.addTag = function(tag) {\n                    var associatedContent;\n                    if ((_this.restrictTo === false || _this.restrictTo.indexOf(tag) !== -1) && _this.tagsArray.indexOf(tag) < 0 && tag.length > 0 && (_this.exclude === false || _this.exclude.indexOf(tag) === -1) && !_this.excludes(tag)) {\n                        if (_this.beforeAddingTag(tag) === false) {\n                            return;\n                        }\n                        associatedContent = _this.definePopover(tag);\n                        _this.popoverArray.push(associatedContent || null);\n                        _this.tagsArray.push(tag);\n                        _this.afterAddingTag(tag);\n                        _this.renderTags();\n                    }\n                    return _this;\n                };\n                this.addTagWithContent = function(tag, content) {\n                    if ((_this.restrictTo === false || _this.restrictTo.indexOf(tag) !== -1) && _this.tagsArray.indexOf(tag) < 0 && tag.length > 0) {\n                        if (_this.beforeAddingTag(tag) === false) {\n                            return;\n                        }\n                        _this.tagsArray.push(tag);\n                        _this.popoverArray.push(content);\n                        _this.afterAddingTag(tag);\n                        _this.renderTags();\n                    }\n                    return _this;\n                };\n                this.renameTag = function(name, newName) {\n                    _this.tagsArray[_this.tagsArray.indexOf(name)] = newName;\n                    _this.renderTags();\n                    return _this;\n                };\n                this.setPopover = function(tag, popoverContent) {\n                    _this.popoverArray[_this.tagsArray.indexOf(tag)] = popoverContent;\n                    _this.renderTags();\n                    return _this;\n                };\n                this.keyDownHandler = function(e) {\n                    var k, numSuggestions;\n                    k = e.keyCode != null ? e.keyCode : e.which;\n                    switch (k) {\n                      case 13:\n                        _this.pressedReturn(e);\n                        tag = e.target.value;\n                        if (_this.suggestedIndex !== -1) {\n                            tag = _this.suggestionList[_this.suggestedIndex];\n                        }\n                        _this.addTag(tag);\n                        e.target.value = \"\";\n                        _this.renderTags();\n                        return _this.hideSuggestions();\n\n                      case 46:\n                      case 8:\n                        _this.pressedDelete(e);\n                        if (e.target.value === \"\") {\n                            _this.removeLastTag();\n                        }\n                        if (e.target.value.length === 1) {\n                            return _this.hideSuggestions();\n                        }\n                        break;\n\n                      case 40:\n                        _this.pressedDown(e);\n                        if (_this.input.val() === \"\" && (_this.suggestedIndex === -1 || _this.suggestedIndex == null)) {\n                            _this.makeSuggestions(e, true);\n                        }\n                        numSuggestions = _this.suggestionList.length;\n                        _this.suggestedIndex = _this.suggestedIndex < numSuggestions - 1 ? _this.suggestedIndex + 1 : numSuggestions - 1;\n                        _this.selectSuggested(_this.suggestedIndex);\n                        if (_this.suggestedIndex >= 0) {\n                            return _this.scrollSuggested(_this.suggestedIndex);\n                        }\n                        break;\n\n                      case 38:\n                        _this.pressedUp(e);\n                        _this.suggestedIndex = _this.suggestedIndex > 0 ? _this.suggestedIndex - 1 : 0;\n                        _this.selectSuggested(_this.suggestedIndex);\n                        if (_this.suggestedIndex >= 0) {\n                            return _this.scrollSuggested(_this.suggestedIndex);\n                        }\n                        break;\n\n                      case 9:\n                      case 27:\n                        _this.hideSuggestions();\n                        return _this.suggestedIndex = -1;\n                    }\n                };\n                this.keyUpHandler = function(e) {\n                    var k;\n                    k = e.keyCode != null ? e.keyCode : e.which;\n                    if (k !== 40 && k !== 38 && k !== 27) {\n                        return _this.makeSuggestions(e, false);\n                    }\n                };\n                this.getSuggestions = function(str, overrideLengthCheck) {\n                    var _this = this;\n                    if (this.caseInsensitive) {\n                        str = str.toLowerCase();\n                    }\n                    this.suggestionList = [];\n                    $.each(this.suggestions, function(i, suggestion) {\n                        var suggestionVal;\n                        suggestionVal = _this.caseInsensitive ? suggestion.substring(0, str.length) : suggestion.substring(0, str.length).toLowerCase();\n                        if (_this.tagsArray.indexOf(suggestion) < 0 && suggestionVal === str && (str.length > 0 || overrideLengthCheck)) {\n                            return _this.suggestionList.push(suggestion);\n                        }\n                    });\n                    return this.suggestionList;\n                };\n                this.makeSuggestions = function(e, overrideLengthCheck) {\n                    var val;\n                    val = e.target.value != null ? e.target.value : e.target.textContent;\n                    _this.suggestedIndex = -1;\n                    _this.$suggestionList.html(\"\");\n                    $.each(_this.getSuggestions(val, overrideLengthCheck), function(i, suggestion) {\n                        return _this.$suggestionList.append(_this.template(\"tags_suggestion\", {\n                            suggestion: suggestion\n                        }));\n                    });\n                    _this.$(\".tags-suggestion\").mouseover(_this.selectSuggestedMouseOver);\n                    _this.$(\".tags-suggestion\").click(_this.suggestedClicked);\n                    if (_this.suggestionList.length > 0) {\n                        return _this.showSuggestions();\n                    } else {\n                        return _this.hideSuggestions();\n                    }\n                };\n                this.suggestedClicked = function(e) {\n                    tag = e.target.textContent;\n                    if (_this.suggestedIndex !== -1) {\n                        tag = _this.suggestionList[_this.suggestedIndex];\n                    }\n                    _this.addTag(tag);\n                    _this.input.val(\"\");\n                    _this.makeSuggestions(e, false);\n                    _this.input.focus();\n                    return _this.hideSuggestions();\n                };\n                this.hideSuggestions = function() {\n                    return _this.$(\".tags-suggestion-list\").css({\n                        display: \"none\"\n                    });\n                };\n                this.showSuggestions = function() {\n                    return _this.$(\".tags-suggestion-list\").css({\n                        display: \"block\"\n                    });\n                };\n                this.selectSuggestedMouseOver = function(e) {\n                    $(\".tags-suggestion\").removeClass(\"tags-suggestion-highlighted\");\n                    $(e.target).addClass(\"tags-suggestion-highlighted\");\n                    $(e.target).mouseout(_this.selectSuggestedMousedOut);\n                    return _this.suggestedIndex = _this.$(\".tags-suggestion\").index($(e.target));\n                };\n                this.selectSuggestedMousedOut = function(e) {\n                    return $(e.target).removeClass(\"tags-suggestion-highlighted\");\n                };\n                this.selectSuggested = function(i) {\n                    var tagElement;\n                    $(\".tags-suggestion\").removeClass(\"tags-suggestion-highlighted\");\n                    tagElement = _this.$(\".tags-suggestion\").eq(i);\n                    return tagElement.addClass(\"tags-suggestion-highlighted\");\n                };\n                this.scrollSuggested = function(i) {\n                    var pos, tagElement, topElement, topPos;\n                    tagElement = _this.$(\".tags-suggestion\").eq(i);\n                    topElement = _this.$(\".tags-suggestion\").eq(0);\n                    pos = tagElement.position();\n                    topPos = topElement.position();\n                    if (pos != null) {\n                        return _this.$(\".tags-suggestion-list\").scrollTop(pos.top - topPos.top);\n                    }\n                };\n                this.adjustInputPosition = function() {\n                    var pBottom, pLeft, pTop, pWidth, tagElement, tagPosition;\n                    tagElement = _this.$(\".tag\").last();\n                    tagPosition = tagElement.position();\n                    pLeft = tagPosition != null ? tagPosition.left + tagElement.outerWidth(true) : 0;\n                    pTop = tagPosition != null ? tagPosition.top : 0;\n                    pWidth = _this.$element.width() - pLeft;\n                    $(\".tags-input\", _this.$element).css({\n                        paddingLeft: Math.max(pLeft, 0),\n                        paddingTop: Math.max(pTop, 0),\n                        width: pWidth\n                    });\n                    pBottom = tagPosition != null ? tagPosition.top + tagElement.outerHeight(true) : 22;\n                    return _this.$element.css({\n                        paddingBottom: pBottom - _this.$element.height()\n                    });\n                };\n                this.renderTags = function() {\n                    var tagList;\n                    tagList = _this.$(\".tags\");\n                    tagList.html(\"\");\n                    _this.input.attr(\"placeholder\", _this.tagsArray.length === 0 ? _this.promptText : \"\");\n                    $.each(_this.tagsArray, function(i, tag) {\n                        tag = $(_this.formatTag(i, tag));\n                        $(\"a\", tag).click(_this.removeTagClicked);\n                        $(\"a\", tag).mouseover(_this.toggleCloseColor);\n                        $(\"a\", tag).mouseout(_this.toggleCloseColor);\n                        if (_this.displayPopovers) {\n                            _this.initializePopoverFor(tag, _this.tagsArray[i], _this.popoverArray[i]);\n                        }\n                        return tagList.append(tag);\n                    });\n                    return _this.adjustInputPosition();\n                };\n                this.renderReadOnly = function() {\n                    var tagList;\n                    tagList = _this.$(\".tags\");\n                    tagList.html(_this.tagsArray.length === 0 ? _this.readOnlyEmptyMessage : \"\");\n                    return $.each(_this.tagsArray, function(i, tag) {\n                        tag = $(_this.formatTag(i, tag, true));\n                        if (_this.displayPopovers) {\n                            _this.initializePopoverFor(tag, _this.tagsArray[i], _this.popoverArray[i]);\n                        }\n                        return tagList.append(tag);\n                    });\n                };\n                this.initializePopoverFor = function(tag, title, content) {\n                    options = {\n                        title: title,\n                        content: content,\n                        placement: \"bottom\"\n                    };\n                    if (_this.popoverTrigger === \"hoverShowClickHide\") {\n                        $(tag).mouseover(function() {\n                            $(tag).popover(\"show\");\n                            return $(\".tag\").not(tag).popover(\"hide\");\n                        });\n                        $(document).click(function() {\n                            return $(tag).popover(\"hide\");\n                        });\n                    } else {\n                        options.trigger = _this.popoverTrigger;\n                    }\n                    return $(tag).popover(options);\n                };\n                this.toggleCloseColor = function(e) {\n                    var opacity, tagAnchor;\n                    tagAnchor = $(e.currentTarget);\n                    opacity = tagAnchor.css(\"opacity\");\n                    opacity = opacity < .8 ? 1 : .6;\n                    return tagAnchor.css({\n                        opacity: opacity\n                    });\n                };\n                this.formatTag = function(i, tag, isReadOnly) {\n                    var escapedTag;\n                    if (isReadOnly == null) {\n                        isReadOnly = false;\n                    }\n                    escapedTag = tag.replace(\"<\", \"&lt;\").replace(\">\", \"&gt;\");\n                    return _this.template(\"tag\", {\n                        tag: escapedTag,\n                        tagClass: _this.tagClass,\n                        isPopover: _this.displayPopovers,\n                        isReadOnly: isReadOnly,\n                        tagSize: _this.tagSize\n                    });\n                };\n                this.addDocumentListeners = function() {\n                    return $(document).mouseup(function(e) {\n                        var container;\n                        container = _this.$(\".tags-suggestion-list\");\n                        if (container.has(e.target).length === 0) {\n                            return _this.hideSuggestions();\n                        }\n                    });\n                };\n                this.template = function(name, options) {\n                    return Tags.Templates.Template(this.getBootstrapVersion(), name, options);\n                };\n                this.$ = function(selector) {\n                    return $(selector, this.$element);\n                };\n                this.getBootstrapVersion = function() {\n                    return Tags.bootstrapVersion || this.bootstrapVersion;\n                };\n                this.initializeDom = function() {\n                    return this.$element.append(this.template(\"tags_container\"));\n                };\n                this.init = function() {\n                    this.$element.addClass(\"bootstrap-tags\").addClass(\"bootstrap-\" + this.getBootstrapVersion());\n                    this.initializeDom();\n                    if (this.readOnly) {\n                        this.renderReadOnly();\n                        this.removeTag = function() {};\n                        this.removeTagClicked = function() {};\n                        this.removeLastTag = function() {};\n                        this.addTag = function() {};\n                        this.addTagWithContent = function() {};\n                        this.renameTag = function() {};\n                        return this.setPopover = function() {};\n                    } else {\n                        this.input = $(this.template(\"input\", {\n                            tagSize: this.tagSize\n                        }));\n                        this.input.keydown(this.keyDownHandler);\n                        this.input.keyup(this.keyUpHandler);\n                        this.$element.append(this.input);\n                        this.$suggestionList = $(this.template(\"suggestion_list\"));\n                        this.$element.append(this.$suggestionList);\n                        this.renderTags();\n                        return this.addDocumentListeners();\n                    }\n                };\n                this.init();\n                return this;\n            };\n            return $.fn.tags = function(options) {\n                var stopOn, tagsObject;\n                tagsObject = {};\n                stopOn = typeof options === \"number\" ? options : -1;\n                this.each(function(i, el) {\n                    var $el;\n                    $el = $(el);\n                    if ($el.data(\"tags\") == null) {\n                        $el.data(\"tags\", new $.tags(this, options));\n                    }\n                    if (stopOn === i || i === 0) {\n                        return tagsObject = $el.data(\"tags\");\n                    }\n                });\n                return tagsObject;\n            };\n        });\n    }).call(this);\n    (function() {\n        window.Tags || (window.Tags = {});\n        Tags.Helpers || (Tags.Helpers = {});\n        Tags.Helpers.addPadding = function(string, amount, doPadding) {\n            if (amount == null) {\n                amount = 1;\n            }\n            if (doPadding == null) {\n                doPadding = true;\n            }\n            if (!doPadding) {\n                return string;\n            }\n            if (amount === 0) {\n                return string;\n            }\n            return Tags.Helpers.addPadding(\"&nbsp\" + string + \"&nbsp\", amount - 1);\n        };\n    }).call(this);\n    (function() {\n        var _base;\n        window.Tags || (window.Tags = {});\n        Tags.Templates || (Tags.Templates = {});\n        (_base = Tags.Templates)[\"2\"] || (_base[\"2\"] = {});\n        Tags.Templates[\"2\"].input = function(options) {\n            var tagSize;\n            if (options == null) {\n                options = {};\n            }\n            tagSize = function() {\n                switch (options.tagSize) {\n                  case \"sm\":\n                    return \"small\";\n\n                  case \"md\":\n                    return \"medium\";\n\n                  case \"lg\":\n                    return \"large\";\n                }\n            }();\n            return \"<input type='text' class='tags-input input-\" + tagSize + \"' />\";\n        };\n    }).call(this);\n    (function() {\n        var _base;\n        window.Tags || (window.Tags = {});\n        Tags.Templates || (Tags.Templates = {});\n        (_base = Tags.Templates)[\"2\"] || (_base[\"2\"] = {});\n        Tags.Templates[\"2\"].tag = function(options) {\n            if (options == null) {\n                options = {};\n            }\n            return \"<div class='tag label \" + options.tagClass + \" \" + options.tagSize + \"' \" + (options.isPopover ? \"rel='popover'\" : \"\") + \">    <span>\" + Tags.Helpers.addPadding(options.tag, 2, options.isReadOnly) + \"</span>    \" + (options.isReadOnly ? \"\" : \"<a><i class='remove icon-remove-sign icon-white' /></a>\") + \"  </div>\";\n        };\n    }).call(this);\n    (function() {\n        var _base;\n        window.Tags || (window.Tags = {});\n        Tags.Templates || (Tags.Templates = {});\n        (_base = Tags.Templates)[\"3\"] || (_base[\"3\"] = {});\n        Tags.Templates[\"3\"].input = function(options) {\n            if (options == null) {\n                options = {};\n            }\n            return \"<input type='text' class='form-control tags-input input-\" + options.tagSize + \"' />\";\n        };\n    }).call(this);\n    (function() {\n        var _base;\n        window.Tags || (window.Tags = {});\n        Tags.Templates || (Tags.Templates = {});\n        (_base = Tags.Templates)[\"3\"] || (_base[\"3\"] = {});\n        Tags.Templates[\"3\"].tag = function(options) {\n            if (options == null) {\n                options = {};\n            }\n            return \"<div class='tag label \" + options.tagClass + \" \" + options.tagSize + \"' \" + (options.isPopover ? \"rel='popover'\" : \"\") + \">    <span>\" + Tags.Helpers.addPadding(options.tag, 2, options.isReadOnly) + \"</span>    \" + (options.isReadOnly ? \"\" : \"<a><i class='remove glyphicon glyphicon-remove-sign glyphicon-white' /></a>\") + \"  </div>\";\n        };\n    }).call(this);\n    (function() {\n        var _base;\n        window.Tags || (window.Tags = {});\n        Tags.Templates || (Tags.Templates = {});\n        (_base = Tags.Templates).shared || (_base.shared = {});\n        Tags.Templates.shared.suggestion_list = function(options) {\n            if (options == null) {\n                options = {};\n            }\n            return '<ul class=\"tags-suggestion-list dropdown-menu\"></ul>';\n        };\n    }).call(this);\n    (function() {\n        var _base;\n        window.Tags || (window.Tags = {});\n        Tags.Templates || (Tags.Templates = {});\n        (_base = Tags.Templates).shared || (_base.shared = {});\n        Tags.Templates.shared.tags_container = function(options) {\n            if (options == null) {\n                options = {};\n            }\n            return '<div class=\"tags\"></div>';\n        };\n    }).call(this);\n    (function() {\n        var _base;\n        window.Tags || (window.Tags = {});\n        Tags.Templates || (Tags.Templates = {});\n        (_base = Tags.Templates).shared || (_base.shared = {});\n        Tags.Templates.shared.tags_suggestion = function(options) {\n            if (options == null) {\n                options = {};\n            }\n            return \"<li class='tags-suggestion'>\" + options.suggestion + \"</li>\";\n        };\n    }).call(this);\n    (function() {\n        window.Tags || (window.Tags = {});\n        Tags.Templates || (Tags.Templates = {});\n        Tags.Templates.Template = function(version, templateName, options) {\n            if (Tags.Templates[version] != null) {\n                if (Tags.Templates[version][templateName] != null) {\n                    return Tags.Templates[version][templateName](options);\n                }\n            }\n            return Tags.Templates.shared[templateName](options);\n        };\n    }).call(this);\n})(window.jQuery);"
  },
  {
    "path": "app/assets/javascripts/bootstrap.js",
    "content": "/*!\n * Bootstrap v3.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under the MIT license\n */\n\nif (typeof jQuery === 'undefined') {\n  throw new Error('Bootstrap\\'s JavaScript requires jQuery')\n}\n\n+function ($) {\n  'use strict';\n  var version = $.fn.jquery.split(' ')[0].split('.')\n  if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] > 3)) {\n    throw new Error('Bootstrap\\'s JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4')\n  }\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: transition.js v3.4.1\n * https://getbootstrap.com/docs/3.4/javascript/#transitions\n * ========================================================================\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n  'use strict';\n\n  // CSS TRANSITION SUPPORT (Shoutout: https://modernizr.com/)\n  // ============================================================\n\n  function transitionEnd() {\n    var el = document.createElement('bootstrap')\n\n    var transEndEventNames = {\n      WebkitTransition : 'webkitTransitionEnd',\n      MozTransition    : 'transitionend',\n      OTransition      : 'oTransitionEnd otransitionend',\n      transition       : 'transitionend'\n    }\n\n    for (var name in transEndEventNames) {\n      if (el.style[name] !== undefined) {\n        return { end: transEndEventNames[name] }\n      }\n    }\n\n    return false // explicit for ie8 (  ._.)\n  }\n\n  // https://blog.alexmaccaw.com/css-transitions\n  $.fn.emulateTransitionEnd = function (duration) {\n    var called = false\n    var $el = this\n    $(this).one('bsTransitionEnd', function () { called = true })\n    var callback = function () { if (!called) $($el).trigger($.support.transition.end) }\n    setTimeout(callback, duration)\n    return this\n  }\n\n  $(function () {\n    $.support.transition = transitionEnd()\n\n    if (!$.support.transition) return\n\n    $.event.special.bsTransitionEnd = {\n      bindType: $.support.transition.end,\n      delegateType: $.support.transition.end,\n      handle: function (e) {\n        if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments)\n      }\n    }\n  })\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: alert.js v3.4.1\n * https://getbootstrap.com/docs/3.4/javascript/#alerts\n * ========================================================================\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n  'use strict';\n\n  // ALERT CLASS DEFINITION\n  // ======================\n\n  var dismiss = '[data-dismiss=\"alert\"]'\n  var Alert   = function (el) {\n    $(el).on('click', dismiss, this.close)\n  }\n\n  Alert.VERSION = '3.4.1'\n\n  Alert.TRANSITION_DURATION = 150\n\n  Alert.prototype.close = function (e) {\n    var $this    = $(this)\n    var selector = $this.attr('data-target')\n\n    if (!selector) {\n      selector = $this.attr('href')\n      selector = selector && selector.replace(/.*(?=#[^\\s]*$)/, '') // strip for ie7\n    }\n\n    selector    = selector === '#' ? [] : selector\n    var $parent = $(document).find(selector)\n\n    if (e) e.preventDefault()\n\n    if (!$parent.length) {\n      $parent = $this.closest('.alert')\n    }\n\n    $parent.trigger(e = $.Event('close.bs.alert'))\n\n    if (e.isDefaultPrevented()) return\n\n    $parent.removeClass('in')\n\n    function removeElement() {\n      // detach from parent, fire event then clean up data\n      $parent.detach().trigger('closed.bs.alert').remove()\n    }\n\n    $.support.transition && $parent.hasClass('fade') ?\n      $parent\n        .one('bsTransitionEnd', removeElement)\n        .emulateTransitionEnd(Alert.TRANSITION_DURATION) :\n      removeElement()\n  }\n\n\n  // ALERT PLUGIN DEFINITION\n  // =======================\n\n  function Plugin(option) {\n    return this.each(function () {\n      var $this = $(this)\n      var data  = $this.data('bs.alert')\n\n      if (!data) $this.data('bs.alert', (data = new Alert(this)))\n      if (typeof option == 'string') data[option].call($this)\n    })\n  }\n\n  var old = $.fn.alert\n\n  $.fn.alert             = Plugin\n  $.fn.alert.Constructor = Alert\n\n\n  // ALERT NO CONFLICT\n  // =================\n\n  $.fn.alert.noConflict = function () {\n    $.fn.alert = old\n    return this\n  }\n\n\n  // ALERT DATA-API\n  // ==============\n\n  $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close)\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: button.js v3.4.1\n * https://getbootstrap.com/docs/3.4/javascript/#buttons\n * ========================================================================\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n  'use strict';\n\n  // BUTTON PUBLIC CLASS DEFINITION\n  // ==============================\n\n  var Button = function (element, options) {\n    this.$element  = $(element)\n    this.options   = $.extend({}, Button.DEFAULTS, options)\n    this.isLoading = false\n  }\n\n  Button.VERSION  = '3.4.1'\n\n  Button.DEFAULTS = {\n    loadingText: 'loading...'\n  }\n\n  Button.prototype.setState = function (state) {\n    var d    = 'disabled'\n    var $el  = this.$element\n    var val  = $el.is('input') ? 'val' : 'html'\n    var data = $el.data()\n\n    state += 'Text'\n\n    if (data.resetText == null) $el.data('resetText', $el[val]())\n\n    // push to event loop to allow forms to submit\n    setTimeout($.proxy(function () {\n      $el[val](data[state] == null ? this.options[state] : data[state])\n\n      if (state == 'loadingText') {\n        this.isLoading = true\n        $el.addClass(d).attr(d, d).prop(d, true)\n      } else if (this.isLoading) {\n        this.isLoading = false\n        $el.removeClass(d).removeAttr(d).prop(d, false)\n      }\n    }, this), 0)\n  }\n\n  Button.prototype.toggle = function () {\n    var changed = true\n    var $parent = this.$element.closest('[data-toggle=\"buttons\"]')\n\n    if ($parent.length) {\n      var $input = this.$element.find('input')\n      if ($input.prop('type') == 'radio') {\n        if ($input.prop('checked')) changed = false\n        $parent.find('.active').removeClass('active')\n        this.$element.addClass('active')\n      } else if ($input.prop('type') == 'checkbox') {\n        if (($input.prop('checked')) !== this.$element.hasClass('active')) changed = false\n        this.$element.toggleClass('active')\n      }\n      $input.prop('checked', this.$element.hasClass('active'))\n      if (changed) $input.trigger('change')\n    } else {\n      this.$element.attr('aria-pressed', !this.$element.hasClass('active'))\n      this.$element.toggleClass('active')\n    }\n  }\n\n\n  // BUTTON PLUGIN DEFINITION\n  // ========================\n\n  function Plugin(option) {\n    return this.each(function () {\n      var $this   = $(this)\n      var data    = $this.data('bs.button')\n      var options = typeof option == 'object' && option\n\n      if (!data) $this.data('bs.button', (data = new Button(this, options)))\n\n      if (option == 'toggle') data.toggle()\n      else if (option) data.setState(option)\n    })\n  }\n\n  var old = $.fn.button\n\n  $.fn.button             = Plugin\n  $.fn.button.Constructor = Button\n\n\n  // BUTTON NO CONFLICT\n  // ==================\n\n  $.fn.button.noConflict = function () {\n    $.fn.button = old\n    return this\n  }\n\n\n  // BUTTON DATA-API\n  // ===============\n\n  $(document)\n    .on('click.bs.button.data-api', '[data-toggle^=\"button\"]', function (e) {\n      var $btn = $(e.target).closest('.btn')\n      Plugin.call($btn, 'toggle')\n      if (!($(e.target).is('input[type=\"radio\"], input[type=\"checkbox\"]'))) {\n        // Prevent double click on radios, and the double selections (so cancellation) on checkboxes\n        e.preventDefault()\n        // The target component still receive the focus\n        if ($btn.is('input,button')) $btn.trigger('focus')\n        else $btn.find('input:visible,button:visible').first().trigger('focus')\n      }\n    })\n    .on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^=\"button\"]', function (e) {\n      $(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type))\n    })\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: carousel.js v3.4.1\n * https://getbootstrap.com/docs/3.4/javascript/#carousel\n * ========================================================================\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n  'use strict';\n\n  // CAROUSEL CLASS DEFINITION\n  // =========================\n\n  var Carousel = function (element, options) {\n    this.$element    = $(element)\n    this.$indicators = this.$element.find('.carousel-indicators')\n    this.options     = options\n    this.paused      = null\n    this.sliding     = null\n    this.interval    = null\n    this.$active     = null\n    this.$items      = null\n\n    this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this))\n\n    this.options.pause == 'hover' && !('ontouchstart' in document.documentElement) && this.$element\n      .on('mouseenter.bs.carousel', $.proxy(this.pause, this))\n      .on('mouseleave.bs.carousel', $.proxy(this.cycle, this))\n  }\n\n  Carousel.VERSION  = '3.4.1'\n\n  Carousel.TRANSITION_DURATION = 600\n\n  Carousel.DEFAULTS = {\n    interval: 5000,\n    pause: 'hover',\n    wrap: true,\n    keyboard: true\n  }\n\n  Carousel.prototype.keydown = function (e) {\n    if (/input|textarea/i.test(e.target.tagName)) return\n    switch (e.which) {\n      case 37: this.prev(); break\n      case 39: this.next(); break\n      default: return\n    }\n\n    e.preventDefault()\n  }\n\n  Carousel.prototype.cycle = function (e) {\n    e || (this.paused = false)\n\n    this.interval && clearInterval(this.interval)\n\n    this.options.interval\n      && !this.paused\n      && (this.interval = setInterval($.proxy(this.next, this), this.options.interval))\n\n    return this\n  }\n\n  Carousel.prototype.getItemIndex = function (item) {\n    this.$items = item.parent().children('.item')\n    return this.$items.index(item || this.$active)\n  }\n\n  Carousel.prototype.getItemForDirection = function (direction, active) {\n    var activeIndex = this.getItemIndex(active)\n    var willWrap = (direction == 'prev' && activeIndex === 0)\n                || (direction == 'next' && activeIndex == (this.$items.length - 1))\n    if (willWrap && !this.options.wrap) return active\n    var delta = direction == 'prev' ? -1 : 1\n    var itemIndex = (activeIndex + delta) % this.$items.length\n    return this.$items.eq(itemIndex)\n  }\n\n  Carousel.prototype.to = function (pos) {\n    var that        = this\n    var activeIndex = this.getItemIndex(this.$active = this.$element.find('.item.active'))\n\n    if (pos > (this.$items.length - 1) || pos < 0) return\n\n    if (this.sliding)       return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) // yes, \"slid\"\n    if (activeIndex == pos) return this.pause().cycle()\n\n    return this.slide(pos > activeIndex ? 'next' : 'prev', this.$items.eq(pos))\n  }\n\n  Carousel.prototype.pause = function (e) {\n    e || (this.paused = true)\n\n    if (this.$element.find('.next, .prev').length && $.support.transition) {\n      this.$element.trigger($.support.transition.end)\n      this.cycle(true)\n    }\n\n    this.interval = clearInterval(this.interval)\n\n    return this\n  }\n\n  Carousel.prototype.next = function () {\n    if (this.sliding) return\n    return this.slide('next')\n  }\n\n  Carousel.prototype.prev = function () {\n    if (this.sliding) return\n    return this.slide('prev')\n  }\n\n  Carousel.prototype.slide = function (type, next) {\n    var $active   = this.$element.find('.item.active')\n    var $next     = next || this.getItemForDirection(type, $active)\n    var isCycling = this.interval\n    var direction = type == 'next' ? 'left' : 'right'\n    var that      = this\n\n    if ($next.hasClass('active')) return (this.sliding = false)\n\n    var relatedTarget = $next[0]\n    var slideEvent = $.Event('slide.bs.carousel', {\n      relatedTarget: relatedTarget,\n      direction: direction\n    })\n    this.$element.trigger(slideEvent)\n    if (slideEvent.isDefaultPrevented()) return\n\n    this.sliding = true\n\n    isCycling && this.pause()\n\n    if (this.$indicators.length) {\n      this.$indicators.find('.active').removeClass('active')\n      var $nextIndicator = $(this.$indicators.children()[this.getItemIndex($next)])\n      $nextIndicator && $nextIndicator.addClass('active')\n    }\n\n    var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, \"slid\"\n    if ($.support.transition && this.$element.hasClass('slide')) {\n      $next.addClass(type)\n      if (typeof $next === 'object' && $next.length) {\n        $next[0].offsetWidth // force reflow\n      }\n      $active.addClass(direction)\n      $next.addClass(direction)\n      $active\n        .one('bsTransitionEnd', function () {\n          $next.removeClass([type, direction].join(' ')).addClass('active')\n          $active.removeClass(['active', direction].join(' '))\n          that.sliding = false\n          setTimeout(function () {\n            that.$element.trigger(slidEvent)\n          }, 0)\n        })\n        .emulateTransitionEnd(Carousel.TRANSITION_DURATION)\n    } else {\n      $active.removeClass('active')\n      $next.addClass('active')\n      this.sliding = false\n      this.$element.trigger(slidEvent)\n    }\n\n    isCycling && this.cycle()\n\n    return this\n  }\n\n\n  // CAROUSEL PLUGIN DEFINITION\n  // ==========================\n\n  function Plugin(option) {\n    return this.each(function () {\n      var $this   = $(this)\n      var data    = $this.data('bs.carousel')\n      var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option)\n      var action  = typeof option == 'string' ? option : options.slide\n\n      if (!data) $this.data('bs.carousel', (data = new Carousel(this, options)))\n      if (typeof option == 'number') data.to(option)\n      else if (action) data[action]()\n      else if (options.interval) data.pause().cycle()\n    })\n  }\n\n  var old = $.fn.carousel\n\n  $.fn.carousel             = Plugin\n  $.fn.carousel.Constructor = Carousel\n\n\n  // CAROUSEL NO CONFLICT\n  // ====================\n\n  $.fn.carousel.noConflict = function () {\n    $.fn.carousel = old\n    return this\n  }\n\n\n  // CAROUSEL DATA-API\n  // =================\n\n  var clickHandler = function (e) {\n    var $this   = $(this)\n    var href    = $this.attr('href')\n    if (href) {\n      href = href.replace(/.*(?=#[^\\s]+$)/, '') // strip for ie7\n    }\n\n    var target  = $this.attr('data-target') || href\n    var $target = $(document).find(target)\n\n    if (!$target.hasClass('carousel')) return\n\n    var options = $.extend({}, $target.data(), $this.data())\n    var slideIndex = $this.attr('data-slide-to')\n    if (slideIndex) options.interval = false\n\n    Plugin.call($target, options)\n\n    if (slideIndex) {\n      $target.data('bs.carousel').to(slideIndex)\n    }\n\n    e.preventDefault()\n  }\n\n  $(document)\n    .on('click.bs.carousel.data-api', '[data-slide]', clickHandler)\n    .on('click.bs.carousel.data-api', '[data-slide-to]', clickHandler)\n\n  $(window).on('load', function () {\n    $('[data-ride=\"carousel\"]').each(function () {\n      var $carousel = $(this)\n      Plugin.call($carousel, $carousel.data())\n    })\n  })\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: collapse.js v3.4.1\n * https://getbootstrap.com/docs/3.4/javascript/#collapse\n * ========================================================================\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n/* jshint latedef: false */\n\n+function ($) {\n  'use strict';\n\n  // COLLAPSE PUBLIC CLASS DEFINITION\n  // ================================\n\n  var Collapse = function (element, options) {\n    this.$element      = $(element)\n    this.options       = $.extend({}, Collapse.DEFAULTS, options)\n    this.$trigger      = $('[data-toggle=\"collapse\"][href=\"#' + element.id + '\"],' +\n                           '[data-toggle=\"collapse\"][data-target=\"#' + element.id + '\"]')\n    this.transitioning = null\n\n    if (this.options.parent) {\n      this.$parent = this.getParent()\n    } else {\n      this.addAriaAndCollapsedClass(this.$element, this.$trigger)\n    }\n\n    if (this.options.toggle) this.toggle()\n  }\n\n  Collapse.VERSION  = '3.4.1'\n\n  Collapse.TRANSITION_DURATION = 350\n\n  Collapse.DEFAULTS = {\n    toggle: true\n  }\n\n  Collapse.prototype.dimension = function () {\n    var hasWidth = this.$element.hasClass('width')\n    return hasWidth ? 'width' : 'height'\n  }\n\n  Collapse.prototype.show = function () {\n    if (this.transitioning || this.$element.hasClass('in')) return\n\n    var activesData\n    var actives = this.$parent && this.$parent.children('.panel').children('.in, .collapsing')\n\n    if (actives && actives.length) {\n      activesData = actives.data('bs.collapse')\n      if (activesData && activesData.transitioning) return\n    }\n\n    var startEvent = $.Event('show.bs.collapse')\n    this.$element.trigger(startEvent)\n    if (startEvent.isDefaultPrevented()) return\n\n    if (actives && actives.length) {\n      Plugin.call(actives, 'hide')\n      activesData || actives.data('bs.collapse', null)\n    }\n\n    var dimension = this.dimension()\n\n    this.$element\n      .removeClass('collapse')\n      .addClass('collapsing')[dimension](0)\n      .attr('aria-expanded', true)\n\n    this.$trigger\n      .removeClass('collapsed')\n      .attr('aria-expanded', true)\n\n    this.transitioning = 1\n\n    var complete = function () {\n      this.$element\n        .removeClass('collapsing')\n        .addClass('collapse in')[dimension]('')\n      this.transitioning = 0\n      this.$element\n        .trigger('shown.bs.collapse')\n    }\n\n    if (!$.support.transition) return complete.call(this)\n\n    var scrollSize = $.camelCase(['scroll', dimension].join('-'))\n\n    this.$element\n      .one('bsTransitionEnd', $.proxy(complete, this))\n      .emulateTransitionEnd(Collapse.TRANSITION_DURATION)[dimension](this.$element[0][scrollSize])\n  }\n\n  Collapse.prototype.hide = function () {\n    if (this.transitioning || !this.$element.hasClass('in')) return\n\n    var startEvent = $.Event('hide.bs.collapse')\n    this.$element.trigger(startEvent)\n    if (startEvent.isDefaultPrevented()) return\n\n    var dimension = this.dimension()\n\n    this.$element[dimension](this.$element[dimension]())[0].offsetHeight\n\n    this.$element\n      .addClass('collapsing')\n      .removeClass('collapse in')\n      .attr('aria-expanded', false)\n\n    this.$trigger\n      .addClass('collapsed')\n      .attr('aria-expanded', false)\n\n    this.transitioning = 1\n\n    var complete = function () {\n      this.transitioning = 0\n      this.$element\n        .removeClass('collapsing')\n        .addClass('collapse')\n        .trigger('hidden.bs.collapse')\n    }\n\n    if (!$.support.transition) return complete.call(this)\n\n    this.$element\n      [dimension](0)\n      .one('bsTransitionEnd', $.proxy(complete, this))\n      .emulateTransitionEnd(Collapse.TRANSITION_DURATION)\n  }\n\n  Collapse.prototype.toggle = function () {\n    this[this.$element.hasClass('in') ? 'hide' : 'show']()\n  }\n\n  Collapse.prototype.getParent = function () {\n    return $(document).find(this.options.parent)\n      .find('[data-toggle=\"collapse\"][data-parent=\"' + this.options.parent + '\"]')\n      .each($.proxy(function (i, element) {\n        var $element = $(element)\n        this.addAriaAndCollapsedClass(getTargetFromTrigger($element), $element)\n      }, this))\n      .end()\n  }\n\n  Collapse.prototype.addAriaAndCollapsedClass = function ($element, $trigger) {\n    var isOpen = $element.hasClass('in')\n\n    $element.attr('aria-expanded', isOpen)\n    $trigger\n      .toggleClass('collapsed', !isOpen)\n      .attr('aria-expanded', isOpen)\n  }\n\n  function getTargetFromTrigger($trigger) {\n    var href\n    var target = $trigger.attr('data-target')\n      || (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\\s]+$)/, '') // strip for ie7\n\n    return $(document).find(target)\n  }\n\n\n  // COLLAPSE PLUGIN DEFINITION\n  // ==========================\n\n  function Plugin(option) {\n    return this.each(function () {\n      var $this   = $(this)\n      var data    = $this.data('bs.collapse')\n      var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option)\n\n      if (!data && options.toggle && /show|hide/.test(option)) options.toggle = false\n      if (!data) $this.data('bs.collapse', (data = new Collapse(this, options)))\n      if (typeof option == 'string') data[option]()\n    })\n  }\n\n  var old = $.fn.collapse\n\n  $.fn.collapse             = Plugin\n  $.fn.collapse.Constructor = Collapse\n\n\n  // COLLAPSE NO CONFLICT\n  // ====================\n\n  $.fn.collapse.noConflict = function () {\n    $.fn.collapse = old\n    return this\n  }\n\n\n  // COLLAPSE DATA-API\n  // =================\n\n  $(document).on('click.bs.collapse.data-api', '[data-toggle=\"collapse\"]', function (e) {\n    var $this   = $(this)\n\n    if (!$this.attr('data-target')) e.preventDefault()\n\n    var $target = getTargetFromTrigger($this)\n    var data    = $target.data('bs.collapse')\n    var option  = data ? 'toggle' : $this.data()\n\n    Plugin.call($target, option)\n  })\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: dropdown.js v3.4.1\n * https://getbootstrap.com/docs/3.4/javascript/#dropdowns\n * ========================================================================\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n  'use strict';\n\n  // DROPDOWN CLASS DEFINITION\n  // =========================\n\n  var backdrop = '.dropdown-backdrop'\n  var toggle   = '[data-toggle=\"dropdown\"]'\n  var Dropdown = function (element) {\n    $(element).on('click.bs.dropdown', this.toggle)\n  }\n\n  Dropdown.VERSION = '3.4.1'\n\n  function getParent($this) {\n    var selector = $this.attr('data-target')\n\n    if (!selector) {\n      selector = $this.attr('href')\n      selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\\s]*$)/, '') // strip for ie7\n    }\n\n    var $parent = selector !== '#' ? $(document).find(selector) : null\n\n    return $parent && $parent.length ? $parent : $this.parent()\n  }\n\n  function clearMenus(e) {\n    if (e && e.which === 3) return\n    $(backdrop).remove()\n    $(toggle).each(function () {\n      var $this         = $(this)\n      var $parent       = getParent($this)\n      var relatedTarget = { relatedTarget: this }\n\n      if (!$parent.hasClass('open')) return\n\n      if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return\n\n      $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))\n\n      if (e.isDefaultPrevented()) return\n\n      $this.attr('aria-expanded', 'false')\n      $parent.removeClass('open').trigger($.Event('hidden.bs.dropdown', relatedTarget))\n    })\n  }\n\n  Dropdown.prototype.toggle = function (e) {\n    var $this = $(this)\n\n    if ($this.is('.disabled, :disabled')) return\n\n    var $parent  = getParent($this)\n    var isActive = $parent.hasClass('open')\n\n    clearMenus()\n\n    if (!isActive) {\n      if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) {\n        // if mobile we use a backdrop because click events don't delegate\n        $(document.createElement('div'))\n          .addClass('dropdown-backdrop')\n          .insertAfter($(this))\n          .on('click', clearMenus)\n      }\n\n      var relatedTarget = { relatedTarget: this }\n      $parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget))\n\n      if (e.isDefaultPrevented()) return\n\n      $this\n        .trigger('focus')\n        .attr('aria-expanded', 'true')\n\n      $parent\n        .toggleClass('open')\n        .trigger($.Event('shown.bs.dropdown', relatedTarget))\n    }\n\n    return false\n  }\n\n  Dropdown.prototype.keydown = function (e) {\n    if (!/(38|40|27|32)/.test(e.which) || /input|textarea/i.test(e.target.tagName)) return\n\n    var $this = $(this)\n\n    e.preventDefault()\n    e.stopPropagation()\n\n    if ($this.is('.disabled, :disabled')) return\n\n    var $parent  = getParent($this)\n    var isActive = $parent.hasClass('open')\n\n    if (!isActive && e.which != 27 || isActive && e.which == 27) {\n      if (e.which == 27) $parent.find(toggle).trigger('focus')\n      return $this.trigger('click')\n    }\n\n    var desc = ' li:not(.disabled):visible a'\n    var $items = $parent.find('.dropdown-menu' + desc)\n\n    if (!$items.length) return\n\n    var index = $items.index(e.target)\n\n    if (e.which == 38 && index > 0)                 index--         // up\n    if (e.which == 40 && index < $items.length - 1) index++         // down\n    if (!~index)                                    index = 0\n\n    $items.eq(index).trigger('focus')\n  }\n\n\n  // DROPDOWN PLUGIN DEFINITION\n  // ==========================\n\n  function Plugin(option) {\n    return this.each(function () {\n      var $this = $(this)\n      var data  = $this.data('bs.dropdown')\n\n      if (!data) $this.data('bs.dropdown', (data = new Dropdown(this)))\n      if (typeof option == 'string') data[option].call($this)\n    })\n  }\n\n  var old = $.fn.dropdown\n\n  $.fn.dropdown             = Plugin\n  $.fn.dropdown.Constructor = Dropdown\n\n\n  // DROPDOWN NO CONFLICT\n  // ====================\n\n  $.fn.dropdown.noConflict = function () {\n    $.fn.dropdown = old\n    return this\n  }\n\n\n  // APPLY TO STANDARD DROPDOWN ELEMENTS\n  // ===================================\n\n  $(document)\n    .on('click.bs.dropdown.data-api', clearMenus)\n    .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })\n    .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle)\n    .on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown)\n    .on('keydown.bs.dropdown.data-api', '.dropdown-menu', Dropdown.prototype.keydown)\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: modal.js v3.4.1\n * https://getbootstrap.com/docs/3.4/javascript/#modals\n * ========================================================================\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n  'use strict';\n\n  // MODAL CLASS DEFINITION\n  // ======================\n\n  var Modal = function (element, options) {\n    this.options = options\n    this.$body = $(document.body)\n    this.$element = $(element)\n    this.$dialog = this.$element.find('.modal-dialog')\n    this.$backdrop = null\n    this.isShown = null\n    this.originalBodyPad = null\n    this.scrollbarWidth = 0\n    this.ignoreBackdropClick = false\n    this.fixedContent = '.navbar-fixed-top, .navbar-fixed-bottom'\n\n    if (this.options.remote) {\n      this.$element\n        .find('.modal-content')\n        .load(this.options.remote, $.proxy(function () {\n          this.$element.trigger('loaded.bs.modal')\n        }, this))\n    }\n  }\n\n  Modal.VERSION = '3.4.1'\n\n  Modal.TRANSITION_DURATION = 300\n  Modal.BACKDROP_TRANSITION_DURATION = 150\n\n  Modal.DEFAULTS = {\n    backdrop: true,\n    keyboard: true,\n    show: true\n  }\n\n  Modal.prototype.toggle = function (_relatedTarget) {\n    return this.isShown ? this.hide() : this.show(_relatedTarget)\n  }\n\n  Modal.prototype.show = function (_relatedTarget) {\n    var that = this\n    var e = $.Event('show.bs.modal', { relatedTarget: _relatedTarget })\n\n    this.$element.trigger(e)\n\n    if (this.isShown || e.isDefaultPrevented()) return\n\n    this.isShown = true\n\n    this.checkScrollbar()\n    this.setScrollbar()\n    this.$body.addClass('modal-open')\n\n    this.escape()\n    this.resize()\n\n    this.$element.on('click.dismiss.bs.modal', '[data-dismiss=\"modal\"]', $.proxy(this.hide, this))\n\n    this.$dialog.on('mousedown.dismiss.bs.modal', function () {\n      that.$element.one('mouseup.dismiss.bs.modal', function (e) {\n        if ($(e.target).is(that.$element)) that.ignoreBackdropClick = true\n      })\n    })\n\n    this.backdrop(function () {\n      var transition = $.support.transition && that.$element.hasClass('fade')\n\n      if (!that.$element.parent().length) {\n        that.$element.appendTo(that.$body) // don't move modals dom position\n      }\n\n      that.$element\n        .show()\n        .scrollTop(0)\n\n      that.adjustDialog()\n\n      if (transition) {\n        that.$element[0].offsetWidth // force reflow\n      }\n\n      that.$element.addClass('in')\n\n      that.enforceFocus()\n\n      var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget })\n\n      transition ?\n        that.$dialog // wait for modal to slide in\n          .one('bsTransitionEnd', function () {\n            that.$element.trigger('focus').trigger(e)\n          })\n          .emulateTransitionEnd(Modal.TRANSITION_DURATION) :\n        that.$element.trigger('focus').trigger(e)\n    })\n  }\n\n  Modal.prototype.hide = function (e) {\n    if (e) e.preventDefault()\n\n    e = $.Event('hide.bs.modal')\n\n    this.$element.trigger(e)\n\n    if (!this.isShown || e.isDefaultPrevented()) return\n\n    this.isShown = false\n\n    this.escape()\n    this.resize()\n\n    $(document).off('focusin.bs.modal')\n\n    this.$element\n      .removeClass('in')\n      .off('click.dismiss.bs.modal')\n      .off('mouseup.dismiss.bs.modal')\n\n    this.$dialog.off('mousedown.dismiss.bs.modal')\n\n    $.support.transition && this.$element.hasClass('fade') ?\n      this.$element\n        .one('bsTransitionEnd', $.proxy(this.hideModal, this))\n        .emulateTransitionEnd(Modal.TRANSITION_DURATION) :\n      this.hideModal()\n  }\n\n  Modal.prototype.enforceFocus = function () {\n    $(document)\n      .off('focusin.bs.modal') // guard against infinite focus loop\n      .on('focusin.bs.modal', $.proxy(function (e) {\n        if (document !== e.target &&\n          this.$element[0] !== e.target &&\n          !this.$element.has(e.target).length) {\n          this.$element.trigger('focus')\n        }\n      }, this))\n  }\n\n  Modal.prototype.escape = function () {\n    if (this.isShown && this.options.keyboard) {\n      this.$element.on('keydown.dismiss.bs.modal', $.proxy(function (e) {\n        e.which == 27 && this.hide()\n      }, this))\n    } else if (!this.isShown) {\n      this.$element.off('keydown.dismiss.bs.modal')\n    }\n  }\n\n  Modal.prototype.resize = function () {\n    if (this.isShown) {\n      $(window).on('resize.bs.modal', $.proxy(this.handleUpdate, this))\n    } else {\n      $(window).off('resize.bs.modal')\n    }\n  }\n\n  Modal.prototype.hideModal = function () {\n    var that = this\n    this.$element.hide()\n    this.backdrop(function () {\n      that.$body.removeClass('modal-open')\n      that.resetAdjustments()\n      that.resetScrollbar()\n      that.$element.trigger('hidden.bs.modal')\n    })\n  }\n\n  Modal.prototype.removeBackdrop = function () {\n    this.$backdrop && this.$backdrop.remove()\n    this.$backdrop = null\n  }\n\n  Modal.prototype.backdrop = function (callback) {\n    var that = this\n    var animate = this.$element.hasClass('fade') ? 'fade' : ''\n\n    if (this.isShown && this.options.backdrop) {\n      var doAnimate = $.support.transition && animate\n\n      this.$backdrop = $(document.createElement('div'))\n        .addClass('modal-backdrop ' + animate)\n        .appendTo(this.$body)\n\n      this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) {\n        if (this.ignoreBackdropClick) {\n          this.ignoreBackdropClick = false\n          return\n        }\n        if (e.target !== e.currentTarget) return\n        this.options.backdrop == 'static'\n          ? this.$element[0].focus()\n          : this.hide()\n      }, this))\n\n      if (doAnimate) this.$backdrop[0].offsetWidth // force reflow\n\n      this.$backdrop.addClass('in')\n\n      if (!callback) return\n\n      doAnimate ?\n        this.$backdrop\n          .one('bsTransitionEnd', callback)\n          .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) :\n        callback()\n\n    } else if (!this.isShown && this.$backdrop) {\n      this.$backdrop.removeClass('in')\n\n      var callbackRemove = function () {\n        that.removeBackdrop()\n        callback && callback()\n      }\n      $.support.transition && this.$element.hasClass('fade') ?\n        this.$backdrop\n          .one('bsTransitionEnd', callbackRemove)\n          .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) :\n        callbackRemove()\n\n    } else if (callback) {\n      callback()\n    }\n  }\n\n  // these following methods are used to handle overflowing modals\n\n  Modal.prototype.handleUpdate = function () {\n    this.adjustDialog()\n  }\n\n  Modal.prototype.adjustDialog = function () {\n    var modalIsOverflowing = this.$element[0].scrollHeight > document.documentElement.clientHeight\n\n    this.$element.css({\n      paddingLeft: !this.bodyIsOverflowing && modalIsOverflowing ? this.scrollbarWidth : '',\n      paddingRight: this.bodyIsOverflowing && !modalIsOverflowing ? this.scrollbarWidth : ''\n    })\n  }\n\n  Modal.prototype.resetAdjustments = function () {\n    this.$element.css({\n      paddingLeft: '',\n      paddingRight: ''\n    })\n  }\n\n  Modal.prototype.checkScrollbar = function () {\n    var fullWindowWidth = window.innerWidth\n    if (!fullWindowWidth) { // workaround for missing window.innerWidth in IE8\n      var documentElementRect = document.documentElement.getBoundingClientRect()\n      fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left)\n    }\n    this.bodyIsOverflowing = document.body.clientWidth < fullWindowWidth\n    this.scrollbarWidth = this.measureScrollbar()\n  }\n\n  Modal.prototype.setScrollbar = function () {\n    var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10)\n    this.originalBodyPad = document.body.style.paddingRight || ''\n    var scrollbarWidth = this.scrollbarWidth\n    if (this.bodyIsOverflowing) {\n      this.$body.css('padding-right', bodyPad + scrollbarWidth)\n      $(this.fixedContent).each(function (index, element) {\n        var actualPadding = element.style.paddingRight\n        var calculatedPadding = $(element).css('padding-right')\n        $(element)\n          .data('padding-right', actualPadding)\n          .css('padding-right', parseFloat(calculatedPadding) + scrollbarWidth + 'px')\n      })\n    }\n  }\n\n  Modal.prototype.resetScrollbar = function () {\n    this.$body.css('padding-right', this.originalBodyPad)\n    $(this.fixedContent).each(function (index, element) {\n      var padding = $(element).data('padding-right')\n      $(element).removeData('padding-right')\n      element.style.paddingRight = padding ? padding : ''\n    })\n  }\n\n  Modal.prototype.measureScrollbar = function () { // thx walsh\n    var scrollDiv = document.createElement('div')\n    scrollDiv.className = 'modal-scrollbar-measure'\n    this.$body.append(scrollDiv)\n    var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth\n    this.$body[0].removeChild(scrollDiv)\n    return scrollbarWidth\n  }\n\n\n  // MODAL PLUGIN DEFINITION\n  // =======================\n\n  function Plugin(option, _relatedTarget) {\n    return this.each(function () {\n      var $this = $(this)\n      var data = $this.data('bs.modal')\n      var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option)\n\n      if (!data) $this.data('bs.modal', (data = new Modal(this, options)))\n      if (typeof option == 'string') data[option](_relatedTarget)\n      else if (options.show) data.show(_relatedTarget)\n    })\n  }\n\n  var old = $.fn.modal\n\n  $.fn.modal = Plugin\n  $.fn.modal.Constructor = Modal\n\n\n  // MODAL NO CONFLICT\n  // =================\n\n  $.fn.modal.noConflict = function () {\n    $.fn.modal = old\n    return this\n  }\n\n\n  // MODAL DATA-API\n  // ==============\n\n  $(document).on('click.bs.modal.data-api', '[data-toggle=\"modal\"]', function (e) {\n    var $this = $(this)\n    var href = $this.attr('href')\n    var target = $this.attr('data-target') ||\n      (href && href.replace(/.*(?=#[^\\s]+$)/, '')) // strip for ie7\n\n    var $target = $(document).find(target)\n    var option = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())\n\n    if ($this.is('a')) e.preventDefault()\n\n    $target.one('show.bs.modal', function (showEvent) {\n      if (showEvent.isDefaultPrevented()) return // only register focus restorer if modal will actually get shown\n      $target.one('hidden.bs.modal', function () {\n        $this.is(':visible') && $this.trigger('focus')\n      })\n    })\n    Plugin.call($target, option, this)\n  })\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: tooltip.js v3.4.1\n * https://getbootstrap.com/docs/3.4/javascript/#tooltip\n * Inspired by the original jQuery.tipsy by Jason Frame\n * ========================================================================\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n+function ($) {\n  'use strict';\n\n  var DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']\n\n  var uriAttrs = [\n    'background',\n    'cite',\n    'href',\n    'itemtype',\n    'longdesc',\n    'poster',\n    'src',\n    'xlink:href'\n  ]\n\n  var ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\n  var DefaultWhitelist = {\n    // Global attributes allowed on any supplied element below.\n    '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n    a: ['target', 'href', 'title', 'rel'],\n    area: [],\n    b: [],\n    br: [],\n    col: [],\n    code: [],\n    div: [],\n    em: [],\n    hr: [],\n    h1: [],\n    h2: [],\n    h3: [],\n    h4: [],\n    h5: [],\n    h6: [],\n    i: [],\n    img: ['src', 'alt', 'title', 'width', 'height'],\n    li: [],\n    ol: [],\n    p: [],\n    pre: [],\n    s: [],\n    small: [],\n    span: [],\n    sub: [],\n    sup: [],\n    strong: [],\n    u: [],\n    ul: []\n  }\n\n  /**\n   * A pattern that recognizes a commonly useful subset of URLs that are safe.\n   *\n   * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n   */\n  var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi\n\n  /**\n   * A pattern that matches safe data URLs. Only matches image, video and audio types.\n   *\n   * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n   */\n  var DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i\n\n  function allowedAttribute(attr, allowedAttributeList) {\n    var attrName = attr.nodeName.toLowerCase()\n\n    if ($.inArray(attrName, allowedAttributeList) !== -1) {\n      if ($.inArray(attrName, uriAttrs) !== -1) {\n        return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n      }\n\n      return true\n    }\n\n    var regExp = $(allowedAttributeList).filter(function (index, value) {\n      return value instanceof RegExp\n    })\n\n    // Check if a regular expression validates the attribute.\n    for (var i = 0, l = regExp.length; i < l; i++) {\n      if (attrName.match(regExp[i])) {\n        return true\n      }\n    }\n\n    return false\n  }\n\n  function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n    if (unsafeHtml.length === 0) {\n      return unsafeHtml\n    }\n\n    if (sanitizeFn && typeof sanitizeFn === 'function') {\n      return sanitizeFn(unsafeHtml)\n    }\n\n    // IE 8 and below don't support createHTMLDocument\n    if (!document.implementation || !document.implementation.createHTMLDocument) {\n      return unsafeHtml\n    }\n\n    var createdDocument = document.implementation.createHTMLDocument('sanitization')\n    createdDocument.body.innerHTML = unsafeHtml\n\n    var whitelistKeys = $.map(whiteList, function (el, i) { return i })\n    var elements = $(createdDocument.body).find('*')\n\n    for (var i = 0, len = elements.length; i < len; i++) {\n      var el = elements[i]\n      var elName = el.nodeName.toLowerCase()\n\n      if ($.inArray(elName, whitelistKeys) === -1) {\n        el.parentNode.removeChild(el)\n\n        continue\n      }\n\n      var attributeList = $.map(el.attributes, function (el) { return el })\n      var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n      for (var j = 0, len2 = attributeList.length; j < len2; j++) {\n        if (!allowedAttribute(attributeList[j], whitelistedAttributes)) {\n          el.removeAttribute(attributeList[j].nodeName)\n        }\n      }\n    }\n\n    return createdDocument.body.innerHTML\n  }\n\n  // TOOLTIP PUBLIC CLASS DEFINITION\n  // ===============================\n\n  var Tooltip = function (element, options) {\n    this.type       = null\n    this.options    = null\n    this.enabled    = null\n    this.timeout    = null\n    this.hoverState = null\n    this.$element   = null\n    this.inState    = null\n\n    this.init('tooltip', element, options)\n  }\n\n  Tooltip.VERSION  = '3.4.1'\n\n  Tooltip.TRANSITION_DURATION = 150\n\n  Tooltip.DEFAULTS = {\n    animation: true,\n    placement: 'top',\n    selector: false,\n    template: '<div class=\"tooltip\" role=\"tooltip\"><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>',\n    trigger: 'hover focus',\n    title: '',\n    delay: 0,\n    html: false,\n    container: false,\n    viewport: {\n      selector: 'body',\n      padding: 0\n    },\n    sanitize : true,\n    sanitizeFn : null,\n    whiteList : DefaultWhitelist\n  }\n\n  Tooltip.prototype.init = function (type, element, options) {\n    this.enabled   = true\n    this.type      = type\n    this.$element  = $(element)\n    this.options   = this.getOptions(options)\n    this.$viewport = this.options.viewport && $(document).find($.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : (this.options.viewport.selector || this.options.viewport))\n    this.inState   = { click: false, hover: false, focus: false }\n\n    if (this.$element[0] instanceof document.constructor && !this.options.selector) {\n      throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!')\n    }\n\n    var triggers = this.options.trigger.split(' ')\n\n    for (var i = triggers.length; i--;) {\n      var trigger = triggers[i]\n\n      if (trigger == 'click') {\n        this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))\n      } else if (trigger != 'manual') {\n        var eventIn  = trigger == 'hover' ? 'mouseenter' : 'focusin'\n        var eventOut = trigger == 'hover' ? 'mouseleave' : 'focusout'\n\n        this.$element.on(eventIn  + '.' + this.type, this.options.selector, $.proxy(this.enter, this))\n        this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))\n      }\n    }\n\n    this.options.selector ?\n      (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :\n      this.fixTitle()\n  }\n\n  Tooltip.prototype.getDefaults = function () {\n    return Tooltip.DEFAULTS\n  }\n\n  Tooltip.prototype.getOptions = function (options) {\n    var dataAttributes = this.$element.data()\n\n    for (var dataAttr in dataAttributes) {\n      if (dataAttributes.hasOwnProperty(dataAttr) && $.inArray(dataAttr, DISALLOWED_ATTRIBUTES) !== -1) {\n        delete dataAttributes[dataAttr]\n      }\n    }\n\n    options = $.extend({}, this.getDefaults(), dataAttributes, options)\n\n    if (options.delay && typeof options.delay == 'number') {\n      options.delay = {\n        show: options.delay,\n        hide: options.delay\n      }\n    }\n\n    if (options.sanitize) {\n      options.template = sanitizeHtml(options.template, options.whiteList, options.sanitizeFn)\n    }\n\n    return options\n  }\n\n  Tooltip.prototype.getDelegateOptions = function () {\n    var options  = {}\n    var defaults = this.getDefaults()\n\n    this._options && $.each(this._options, function (key, value) {\n      if (defaults[key] != value) options[key] = value\n    })\n\n    return options\n  }\n\n  Tooltip.prototype.enter = function (obj) {\n    var self = obj instanceof this.constructor ?\n      obj : $(obj.currentTarget).data('bs.' + this.type)\n\n    if (!self) {\n      self = new this.constructor(obj.currentTarget, this.getDelegateOptions())\n      $(obj.currentTarget).data('bs.' + this.type, self)\n    }\n\n    if (obj instanceof $.Event) {\n      self.inState[obj.type == 'focusin' ? 'focus' : 'hover'] = true\n    }\n\n    if (self.tip().hasClass('in') || self.hoverState == 'in') {\n      self.hoverState = 'in'\n      return\n    }\n\n    clearTimeout(self.timeout)\n\n    self.hoverState = 'in'\n\n    if (!self.options.delay || !self.options.delay.show) return self.show()\n\n    self.timeout = setTimeout(function () {\n      if (self.hoverState == 'in') self.show()\n    }, self.options.delay.show)\n  }\n\n  Tooltip.prototype.isInStateTrue = function () {\n    for (var key in this.inState) {\n      if (this.inState[key]) return true\n    }\n\n    return false\n  }\n\n  Tooltip.prototype.leave = function (obj) {\n    var self = obj instanceof this.constructor ?\n      obj : $(obj.currentTarget).data('bs.' + this.type)\n\n    if (!self) {\n      self = new this.constructor(obj.currentTarget, this.getDelegateOptions())\n      $(obj.currentTarget).data('bs.' + this.type, self)\n    }\n\n    if (obj instanceof $.Event) {\n      self.inState[obj.type == 'focusout' ? 'focus' : 'hover'] = false\n    }\n\n    if (self.isInStateTrue()) return\n\n    clearTimeout(self.timeout)\n\n    self.hoverState = 'out'\n\n    if (!self.options.delay || !self.options.delay.hide) return self.hide()\n\n    self.timeout = setTimeout(function () {\n      if (self.hoverState == 'out') self.hide()\n    }, self.options.delay.hide)\n  }\n\n  Tooltip.prototype.show = function () {\n    var e = $.Event('show.bs.' + this.type)\n\n    if (this.hasContent() && this.enabled) {\n      this.$element.trigger(e)\n\n      var inDom = $.contains(this.$element[0].ownerDocument.documentElement, this.$element[0])\n      if (e.isDefaultPrevented() || !inDom) return\n      var that = this\n\n      var $tip = this.tip()\n\n      var tipId = this.getUID(this.type)\n\n      this.setContent()\n      $tip.attr('id', tipId)\n      this.$element.attr('aria-describedby', tipId)\n\n      if (this.options.animation) $tip.addClass('fade')\n\n      var placement = typeof this.options.placement == 'function' ?\n        this.options.placement.call(this, $tip[0], this.$element[0]) :\n        this.options.placement\n\n      var autoToken = /\\s?auto?\\s?/i\n      var autoPlace = autoToken.test(placement)\n      if (autoPlace) placement = placement.replace(autoToken, '') || 'top'\n\n      $tip\n        .detach()\n        .css({ top: 0, left: 0, display: 'block' })\n        .addClass(placement)\n        .data('bs.' + this.type, this)\n\n      this.options.container ? $tip.appendTo($(document).find(this.options.container)) : $tip.insertAfter(this.$element)\n      this.$element.trigger('inserted.bs.' + this.type)\n\n      var pos          = this.getPosition()\n      var actualWidth  = $tip[0].offsetWidth\n      var actualHeight = $tip[0].offsetHeight\n\n      if (autoPlace) {\n        var orgPlacement = placement\n        var viewportDim = this.getPosition(this.$viewport)\n\n        placement = placement == 'bottom' && pos.bottom + actualHeight > viewportDim.bottom ? 'top'    :\n                    placement == 'top'    && pos.top    - actualHeight < viewportDim.top    ? 'bottom' :\n                    placement == 'right'  && pos.right  + actualWidth  > viewportDim.width  ? 'left'   :\n                    placement == 'left'   && pos.left   - actualWidth  < viewportDim.left   ? 'right'  :\n                    placement\n\n        $tip\n          .removeClass(orgPlacement)\n          .addClass(placement)\n      }\n\n      var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight)\n\n      this.applyPlacement(calculatedOffset, placement)\n\n      var complete = function () {\n        var prevHoverState = that.hoverState\n        that.$element.trigger('shown.bs.' + that.type)\n        that.hoverState = null\n\n        if (prevHoverState == 'out') that.leave(that)\n      }\n\n      $.support.transition && this.$tip.hasClass('fade') ?\n        $tip\n          .one('bsTransitionEnd', complete)\n          .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :\n        complete()\n    }\n  }\n\n  Tooltip.prototype.applyPlacement = function (offset, placement) {\n    var $tip   = this.tip()\n    var width  = $tip[0].offsetWidth\n    var height = $tip[0].offsetHeight\n\n    // manually read margins because getBoundingClientRect includes difference\n    var marginTop = parseInt($tip.css('margin-top'), 10)\n    var marginLeft = parseInt($tip.css('margin-left'), 10)\n\n    // we must check for NaN for ie 8/9\n    if (isNaN(marginTop))  marginTop  = 0\n    if (isNaN(marginLeft)) marginLeft = 0\n\n    offset.top  += marginTop\n    offset.left += marginLeft\n\n    // $.fn.offset doesn't round pixel values\n    // so we use setOffset directly with our own function B-0\n    $.offset.setOffset($tip[0], $.extend({\n      using: function (props) {\n        $tip.css({\n          top: Math.round(props.top),\n          left: Math.round(props.left)\n        })\n      }\n    }, offset), 0)\n\n    $tip.addClass('in')\n\n    // check to see if placing tip in new offset caused the tip to resize itself\n    var actualWidth  = $tip[0].offsetWidth\n    var actualHeight = $tip[0].offsetHeight\n\n    if (placement == 'top' && actualHeight != height) {\n      offset.top = offset.top + height - actualHeight\n    }\n\n    var delta = this.getViewportAdjustedDelta(placement, offset, actualWidth, actualHeight)\n\n    if (delta.left) offset.left += delta.left\n    else offset.top += delta.top\n\n    var isVertical          = /top|bottom/.test(placement)\n    var arrowDelta          = isVertical ? delta.left * 2 - width + actualWidth : delta.top * 2 - height + actualHeight\n    var arrowOffsetPosition = isVertical ? 'offsetWidth' : 'offsetHeight'\n\n    $tip.offset(offset)\n    this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], isVertical)\n  }\n\n  Tooltip.prototype.replaceArrow = function (delta, dimension, isVertical) {\n    this.arrow()\n      .css(isVertical ? 'left' : 'top', 50 * (1 - delta / dimension) + '%')\n      .css(isVertical ? 'top' : 'left', '')\n  }\n\n  Tooltip.prototype.setContent = function () {\n    var $tip  = this.tip()\n    var title = this.getTitle()\n\n    if (this.options.html) {\n      if (this.options.sanitize) {\n        title = sanitizeHtml(title, this.options.whiteList, this.options.sanitizeFn)\n      }\n\n      $tip.find('.tooltip-inner').html(title)\n    } else {\n      $tip.find('.tooltip-inner').text(title)\n    }\n\n    $tip.removeClass('fade in top bottom left right')\n  }\n\n  Tooltip.prototype.hide = function (callback) {\n    var that = this\n    var $tip = $(this.$tip)\n    var e    = $.Event('hide.bs.' + this.type)\n\n    function complete() {\n      if (that.hoverState != 'in') $tip.detach()\n      if (that.$element) { // TODO: Check whether guarding this code with this `if` is really necessary.\n        that.$element\n          .removeAttr('aria-describedby')\n          .trigger('hidden.bs.' + that.type)\n      }\n      callback && callback()\n    }\n\n    this.$element.trigger(e)\n\n    if (e.isDefaultPrevented()) return\n\n    $tip.removeClass('in')\n\n    $.support.transition && $tip.hasClass('fade') ?\n      $tip\n        .one('bsTransitionEnd', complete)\n        .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :\n      complete()\n\n    this.hoverState = null\n\n    return this\n  }\n\n  Tooltip.prototype.fixTitle = function () {\n    var $e = this.$element\n    if ($e.attr('title') || typeof $e.attr('data-original-title') != 'string') {\n      $e.attr('data-original-title', $e.attr('title') || '').attr('title', '')\n    }\n  }\n\n  Tooltip.prototype.hasContent = function () {\n    return this.getTitle()\n  }\n\n  Tooltip.prototype.getPosition = function ($element) {\n    $element   = $element || this.$element\n\n    var el     = $element[0]\n    var isBody = el.tagName == 'BODY'\n\n    var elRect    = el.getBoundingClientRect()\n    if (elRect.width == null) {\n      // width and height are missing in IE8, so compute them manually; see https://github.com/twbs/bootstrap/issues/14093\n      elRect = $.extend({}, elRect, { width: elRect.right - elRect.left, height: elRect.bottom - elRect.top })\n    }\n    var isSvg = window.SVGElement && el instanceof window.SVGElement\n    // Avoid using $.offset() on SVGs since it gives incorrect results in jQuery 3.\n    // See https://github.com/twbs/bootstrap/issues/20280\n    var elOffset  = isBody ? { top: 0, left: 0 } : (isSvg ? null : $element.offset())\n    var scroll    = { scroll: isBody ? document.documentElement.scrollTop || document.body.scrollTop : $element.scrollTop() }\n    var outerDims = isBody ? { width: $(window).width(), height: $(window).height() } : null\n\n    return $.extend({}, elRect, scroll, outerDims, elOffset)\n  }\n\n  Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) {\n    return placement == 'bottom' ? { top: pos.top + pos.height,   left: pos.left + pos.width / 2 - actualWidth / 2 } :\n           placement == 'top'    ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } :\n           placement == 'left'   ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } :\n        /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width }\n\n  }\n\n  Tooltip.prototype.getViewportAdjustedDelta = function (placement, pos, actualWidth, actualHeight) {\n    var delta = { top: 0, left: 0 }\n    if (!this.$viewport) return delta\n\n    var viewportPadding = this.options.viewport && this.options.viewport.padding || 0\n    var viewportDimensions = this.getPosition(this.$viewport)\n\n    if (/right|left/.test(placement)) {\n      var topEdgeOffset    = pos.top - viewportPadding - viewportDimensions.scroll\n      var bottomEdgeOffset = pos.top + viewportPadding - viewportDimensions.scroll + actualHeight\n      if (topEdgeOffset < viewportDimensions.top) { // top overflow\n        delta.top = viewportDimensions.top - topEdgeOffset\n      } else if (bottomEdgeOffset > viewportDimensions.top + viewportDimensions.height) { // bottom overflow\n        delta.top = viewportDimensions.top + viewportDimensions.height - bottomEdgeOffset\n      }\n    } else {\n      var leftEdgeOffset  = pos.left - viewportPadding\n      var rightEdgeOffset = pos.left + viewportPadding + actualWidth\n      if (leftEdgeOffset < viewportDimensions.left) { // left overflow\n        delta.left = viewportDimensions.left - leftEdgeOffset\n      } else if (rightEdgeOffset > viewportDimensions.right) { // right overflow\n        delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset\n      }\n    }\n\n    return delta\n  }\n\n  Tooltip.prototype.getTitle = function () {\n    var title\n    var $e = this.$element\n    var o  = this.options\n\n    title = $e.attr('data-original-title')\n      || (typeof o.title == 'function' ? o.title.call($e[0]) :  o.title)\n\n    return title\n  }\n\n  Tooltip.prototype.getUID = function (prefix) {\n    do prefix += ~~(Math.random() * 1000000)\n    while (document.getElementById(prefix))\n    return prefix\n  }\n\n  Tooltip.prototype.tip = function () {\n    if (!this.$tip) {\n      this.$tip = $(this.options.template)\n      if (this.$tip.length != 1) {\n        throw new Error(this.type + ' `template` option must consist of exactly 1 top-level element!')\n      }\n    }\n    return this.$tip\n  }\n\n  Tooltip.prototype.arrow = function () {\n    return (this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow'))\n  }\n\n  Tooltip.prototype.enable = function () {\n    this.enabled = true\n  }\n\n  Tooltip.prototype.disable = function () {\n    this.enabled = false\n  }\n\n  Tooltip.prototype.toggleEnabled = function () {\n    this.enabled = !this.enabled\n  }\n\n  Tooltip.prototype.toggle = function (e) {\n    var self = this\n    if (e) {\n      self = $(e.currentTarget).data('bs.' + this.type)\n      if (!self) {\n        self = new this.constructor(e.currentTarget, this.getDelegateOptions())\n        $(e.currentTarget).data('bs.' + this.type, self)\n      }\n    }\n\n    if (e) {\n      self.inState.click = !self.inState.click\n      if (self.isInStateTrue()) self.enter(self)\n      else self.leave(self)\n    } else {\n      self.tip().hasClass('in') ? self.leave(self) : self.enter(self)\n    }\n  }\n\n  Tooltip.prototype.destroy = function () {\n    var that = this\n    clearTimeout(this.timeout)\n    this.hide(function () {\n      that.$element.off('.' + that.type).removeData('bs.' + that.type)\n      if (that.$tip) {\n        that.$tip.detach()\n      }\n      that.$tip = null\n      that.$arrow = null\n      that.$viewport = null\n      that.$element = null\n    })\n  }\n\n  Tooltip.prototype.sanitizeHtml = function (unsafeHtml) {\n    return sanitizeHtml(unsafeHtml, this.options.whiteList, this.options.sanitizeFn)\n  }\n\n  // TOOLTIP PLUGIN DEFINITION\n  // =========================\n\n  function Plugin(option) {\n    return this.each(function () {\n      var $this   = $(this)\n      var data    = $this.data('bs.tooltip')\n      var options = typeof option == 'object' && option\n\n      if (!data && /destroy|hide/.test(option)) return\n      if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))\n      if (typeof option == 'string') data[option]()\n    })\n  }\n\n  var old = $.fn.tooltip\n\n  $.fn.tooltip             = Plugin\n  $.fn.tooltip.Constructor = Tooltip\n\n\n  // TOOLTIP NO CONFLICT\n  // ===================\n\n  $.fn.tooltip.noConflict = function () {\n    $.fn.tooltip = old\n    return this\n  }\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: popover.js v3.4.1\n * https://getbootstrap.com/docs/3.4/javascript/#popovers\n * ========================================================================\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n  'use strict';\n\n  // POPOVER PUBLIC CLASS DEFINITION\n  // ===============================\n\n  var Popover = function (element, options) {\n    this.init('popover', element, options)\n  }\n\n  if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')\n\n  Popover.VERSION  = '3.4.1'\n\n  Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {\n    placement: 'right',\n    trigger: 'click',\n    content: '',\n    template: '<div class=\"popover\" role=\"tooltip\"><div class=\"arrow\"></div><h3 class=\"popover-title\"></h3><div class=\"popover-content\"></div></div>'\n  })\n\n\n  // NOTE: POPOVER EXTENDS tooltip.js\n  // ================================\n\n  Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype)\n\n  Popover.prototype.constructor = Popover\n\n  Popover.prototype.getDefaults = function () {\n    return Popover.DEFAULTS\n  }\n\n  Popover.prototype.setContent = function () {\n    var $tip    = this.tip()\n    var title   = this.getTitle()\n    var content = this.getContent()\n\n    if (this.options.html) {\n      var typeContent = typeof content\n\n      if (this.options.sanitize) {\n        title = this.sanitizeHtml(title)\n\n        if (typeContent === 'string') {\n          content = this.sanitizeHtml(content)\n        }\n      }\n\n      $tip.find('.popover-title').html(title)\n      $tip.find('.popover-content').children().detach().end()[\n        typeContent === 'string' ? 'html' : 'append'\n      ](content)\n    } else {\n      $tip.find('.popover-title').text(title)\n      $tip.find('.popover-content').children().detach().end().text(content)\n    }\n\n    $tip.removeClass('fade top bottom left right in')\n\n    // IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do\n    // this manually by checking the contents.\n    if (!$tip.find('.popover-title').html()) $tip.find('.popover-title').hide()\n  }\n\n  Popover.prototype.hasContent = function () {\n    return this.getTitle() || this.getContent()\n  }\n\n  Popover.prototype.getContent = function () {\n    var $e = this.$element\n    var o  = this.options\n\n    return $e.attr('data-content')\n      || (typeof o.content == 'function' ?\n        o.content.call($e[0]) :\n        o.content)\n  }\n\n  Popover.prototype.arrow = function () {\n    return (this.$arrow = this.$arrow || this.tip().find('.arrow'))\n  }\n\n\n  // POPOVER PLUGIN DEFINITION\n  // =========================\n\n  function Plugin(option) {\n    return this.each(function () {\n      var $this   = $(this)\n      var data    = $this.data('bs.popover')\n      var options = typeof option == 'object' && option\n\n      if (!data && /destroy|hide/.test(option)) return\n      if (!data) $this.data('bs.popover', (data = new Popover(this, options)))\n      if (typeof option == 'string') data[option]()\n    })\n  }\n\n  var old = $.fn.popover\n\n  $.fn.popover             = Plugin\n  $.fn.popover.Constructor = Popover\n\n\n  // POPOVER NO CONFLICT\n  // ===================\n\n  $.fn.popover.noConflict = function () {\n    $.fn.popover = old\n    return this\n  }\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: scrollspy.js v3.4.1\n * https://getbootstrap.com/docs/3.4/javascript/#scrollspy\n * ========================================================================\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n  'use strict';\n\n  // SCROLLSPY CLASS DEFINITION\n  // ==========================\n\n  function ScrollSpy(element, options) {\n    this.$body          = $(document.body)\n    this.$scrollElement = $(element).is(document.body) ? $(window) : $(element)\n    this.options        = $.extend({}, ScrollSpy.DEFAULTS, options)\n    this.selector       = (this.options.target || '') + ' .nav li > a'\n    this.offsets        = []\n    this.targets        = []\n    this.activeTarget   = null\n    this.scrollHeight   = 0\n\n    this.$scrollElement.on('scroll.bs.scrollspy', $.proxy(this.process, this))\n    this.refresh()\n    this.process()\n  }\n\n  ScrollSpy.VERSION  = '3.4.1'\n\n  ScrollSpy.DEFAULTS = {\n    offset: 10\n  }\n\n  ScrollSpy.prototype.getScrollHeight = function () {\n    return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight)\n  }\n\n  ScrollSpy.prototype.refresh = function () {\n    var that          = this\n    var offsetMethod  = 'offset'\n    var offsetBase    = 0\n\n    this.offsets      = []\n    this.targets      = []\n    this.scrollHeight = this.getScrollHeight()\n\n    if (!$.isWindow(this.$scrollElement[0])) {\n      offsetMethod = 'position'\n      offsetBase   = this.$scrollElement.scrollTop()\n    }\n\n    this.$body\n      .find(this.selector)\n      .map(function () {\n        var $el   = $(this)\n        var href  = $el.data('target') || $el.attr('href')\n        var $href = /^#./.test(href) && $(href)\n\n        return ($href\n          && $href.length\n          && $href.is(':visible')\n          && [[$href[offsetMethod]().top + offsetBase, href]]) || null\n      })\n      .sort(function (a, b) { return a[0] - b[0] })\n      .each(function () {\n        that.offsets.push(this[0])\n        that.targets.push(this[1])\n      })\n  }\n\n  ScrollSpy.prototype.process = function () {\n    var scrollTop    = this.$scrollElement.scrollTop() + this.options.offset\n    var scrollHeight = this.getScrollHeight()\n    var maxScroll    = this.options.offset + scrollHeight - this.$scrollElement.height()\n    var offsets      = this.offsets\n    var targets      = this.targets\n    var activeTarget = this.activeTarget\n    var i\n\n    if (this.scrollHeight != scrollHeight) {\n      this.refresh()\n    }\n\n    if (scrollTop >= maxScroll) {\n      return activeTarget != (i = targets[targets.length - 1]) && this.activate(i)\n    }\n\n    if (activeTarget && scrollTop < offsets[0]) {\n      this.activeTarget = null\n      return this.clear()\n    }\n\n    for (i = offsets.length; i--;) {\n      activeTarget != targets[i]\n        && scrollTop >= offsets[i]\n        && (offsets[i + 1] === undefined || scrollTop < offsets[i + 1])\n        && this.activate(targets[i])\n    }\n  }\n\n  ScrollSpy.prototype.activate = function (target) {\n    this.activeTarget = target\n\n    this.clear()\n\n    var selector = this.selector +\n      '[data-target=\"' + target + '\"],' +\n      this.selector + '[href=\"' + target + '\"]'\n\n    var active = $(selector)\n      .parents('li')\n      .addClass('active')\n\n    if (active.parent('.dropdown-menu').length) {\n      active = active\n        .closest('li.dropdown')\n        .addClass('active')\n    }\n\n    active.trigger('activate.bs.scrollspy')\n  }\n\n  ScrollSpy.prototype.clear = function () {\n    $(this.selector)\n      .parentsUntil(this.options.target, '.active')\n      .removeClass('active')\n  }\n\n\n  // SCROLLSPY PLUGIN DEFINITION\n  // ===========================\n\n  function Plugin(option) {\n    return this.each(function () {\n      var $this   = $(this)\n      var data    = $this.data('bs.scrollspy')\n      var options = typeof option == 'object' && option\n\n      if (!data) $this.data('bs.scrollspy', (data = new ScrollSpy(this, options)))\n      if (typeof option == 'string') data[option]()\n    })\n  }\n\n  var old = $.fn.scrollspy\n\n  $.fn.scrollspy             = Plugin\n  $.fn.scrollspy.Constructor = ScrollSpy\n\n\n  // SCROLLSPY NO CONFLICT\n  // =====================\n\n  $.fn.scrollspy.noConflict = function () {\n    $.fn.scrollspy = old\n    return this\n  }\n\n\n  // SCROLLSPY DATA-API\n  // ==================\n\n  $(window).on('load.bs.scrollspy.data-api', function () {\n    $('[data-spy=\"scroll\"]').each(function () {\n      var $spy = $(this)\n      Plugin.call($spy, $spy.data())\n    })\n  })\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: tab.js v3.4.1\n * https://getbootstrap.com/docs/3.4/javascript/#tabs\n * ========================================================================\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n  'use strict';\n\n  // TAB CLASS DEFINITION\n  // ====================\n\n  var Tab = function (element) {\n    // jscs:disable requireDollarBeforejQueryAssignment\n    this.element = $(element)\n    // jscs:enable requireDollarBeforejQueryAssignment\n  }\n\n  Tab.VERSION = '3.4.1'\n\n  Tab.TRANSITION_DURATION = 150\n\n  Tab.prototype.show = function () {\n    var $this    = this.element\n    var $ul      = $this.closest('ul:not(.dropdown-menu)')\n    var selector = $this.data('target')\n\n    if (!selector) {\n      selector = $this.attr('href')\n      selector = selector && selector.replace(/.*(?=#[^\\s]*$)/, '') // strip for ie7\n    }\n\n    if ($this.parent('li').hasClass('active')) return\n\n    var $previous = $ul.find('.active:last a')\n    var hideEvent = $.Event('hide.bs.tab', {\n      relatedTarget: $this[0]\n    })\n    var showEvent = $.Event('show.bs.tab', {\n      relatedTarget: $previous[0]\n    })\n\n    $previous.trigger(hideEvent)\n    $this.trigger(showEvent)\n\n    if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) return\n\n    var $target = $(document).find(selector)\n\n    this.activate($this.closest('li'), $ul)\n    this.activate($target, $target.parent(), function () {\n      $previous.trigger({\n        type: 'hidden.bs.tab',\n        relatedTarget: $this[0]\n      })\n      $this.trigger({\n        type: 'shown.bs.tab',\n        relatedTarget: $previous[0]\n      })\n    })\n  }\n\n  Tab.prototype.activate = function (element, container, callback) {\n    var $active    = container.find('> .active')\n    var transition = callback\n      && $.support.transition\n      && ($active.length && $active.hasClass('fade') || !!container.find('> .fade').length)\n\n    function next() {\n      $active\n        .removeClass('active')\n        .find('> .dropdown-menu > .active')\n        .removeClass('active')\n        .end()\n        .find('[data-toggle=\"tab\"]')\n        .attr('aria-expanded', false)\n\n      element\n        .addClass('active')\n        .find('[data-toggle=\"tab\"]')\n        .attr('aria-expanded', true)\n\n      if (transition) {\n        element[0].offsetWidth // reflow for transition\n        element.addClass('in')\n      } else {\n        element.removeClass('fade')\n      }\n\n      if (element.parent('.dropdown-menu').length) {\n        element\n          .closest('li.dropdown')\n          .addClass('active')\n          .end()\n          .find('[data-toggle=\"tab\"]')\n          .attr('aria-expanded', true)\n      }\n\n      callback && callback()\n    }\n\n    $active.length && transition ?\n      $active\n        .one('bsTransitionEnd', next)\n        .emulateTransitionEnd(Tab.TRANSITION_DURATION) :\n      next()\n\n    $active.removeClass('in')\n  }\n\n\n  // TAB PLUGIN DEFINITION\n  // =====================\n\n  function Plugin(option) {\n    return this.each(function () {\n      var $this = $(this)\n      var data  = $this.data('bs.tab')\n\n      if (!data) $this.data('bs.tab', (data = new Tab(this)))\n      if (typeof option == 'string') data[option]()\n    })\n  }\n\n  var old = $.fn.tab\n\n  $.fn.tab             = Plugin\n  $.fn.tab.Constructor = Tab\n\n\n  // TAB NO CONFLICT\n  // ===============\n\n  $.fn.tab.noConflict = function () {\n    $.fn.tab = old\n    return this\n  }\n\n\n  // TAB DATA-API\n  // ============\n\n  var clickHandler = function (e) {\n    e.preventDefault()\n    Plugin.call($(this), 'show')\n  }\n\n  $(document)\n    .on('click.bs.tab.data-api', '[data-toggle=\"tab\"]', clickHandler)\n    .on('click.bs.tab.data-api', '[data-toggle=\"pill\"]', clickHandler)\n\n}(jQuery);\n\n/* ========================================================================\n * Bootstrap: affix.js v3.4.1\n * https://getbootstrap.com/docs/3.4/javascript/#affix\n * ========================================================================\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * ======================================================================== */\n\n\n+function ($) {\n  'use strict';\n\n  // AFFIX CLASS DEFINITION\n  // ======================\n\n  var Affix = function (element, options) {\n    this.options = $.extend({}, Affix.DEFAULTS, options)\n\n    var target = this.options.target === Affix.DEFAULTS.target ? $(this.options.target) : $(document).find(this.options.target)\n\n    this.$target = target\n      .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this))\n      .on('click.bs.affix.data-api',  $.proxy(this.checkPositionWithEventLoop, this))\n\n    this.$element     = $(element)\n    this.affixed      = null\n    this.unpin        = null\n    this.pinnedOffset = null\n\n    this.checkPosition()\n  }\n\n  Affix.VERSION  = '3.4.1'\n\n  Affix.RESET    = 'affix affix-top affix-bottom'\n\n  Affix.DEFAULTS = {\n    offset: 0,\n    target: window\n  }\n\n  Affix.prototype.getState = function (scrollHeight, height, offsetTop, offsetBottom) {\n    var scrollTop    = this.$target.scrollTop()\n    var position     = this.$element.offset()\n    var targetHeight = this.$target.height()\n\n    if (offsetTop != null && this.affixed == 'top') return scrollTop < offsetTop ? 'top' : false\n\n    if (this.affixed == 'bottom') {\n      if (offsetTop != null) return (scrollTop + this.unpin <= position.top) ? false : 'bottom'\n      return (scrollTop + targetHeight <= scrollHeight - offsetBottom) ? false : 'bottom'\n    }\n\n    var initializing   = this.affixed == null\n    var colliderTop    = initializing ? scrollTop : position.top\n    var colliderHeight = initializing ? targetHeight : height\n\n    if (offsetTop != null && scrollTop <= offsetTop) return 'top'\n    if (offsetBottom != null && (colliderTop + colliderHeight >= scrollHeight - offsetBottom)) return 'bottom'\n\n    return false\n  }\n\n  Affix.prototype.getPinnedOffset = function () {\n    if (this.pinnedOffset) return this.pinnedOffset\n    this.$element.removeClass(Affix.RESET).addClass('affix')\n    var scrollTop = this.$target.scrollTop()\n    var position  = this.$element.offset()\n    return (this.pinnedOffset = position.top - scrollTop)\n  }\n\n  Affix.prototype.checkPositionWithEventLoop = function () {\n    setTimeout($.proxy(this.checkPosition, this), 1)\n  }\n\n  Affix.prototype.checkPosition = function () {\n    if (!this.$element.is(':visible')) return\n\n    var height       = this.$element.height()\n    var offset       = this.options.offset\n    var offsetTop    = offset.top\n    var offsetBottom = offset.bottom\n    var scrollHeight = Math.max($(document).height(), $(document.body).height())\n\n    if (typeof offset != 'object')         offsetBottom = offsetTop = offset\n    if (typeof offsetTop == 'function')    offsetTop    = offset.top(this.$element)\n    if (typeof offsetBottom == 'function') offsetBottom = offset.bottom(this.$element)\n\n    var affix = this.getState(scrollHeight, height, offsetTop, offsetBottom)\n\n    if (this.affixed != affix) {\n      if (this.unpin != null) this.$element.css('top', '')\n\n      var affixType = 'affix' + (affix ? '-' + affix : '')\n      var e         = $.Event(affixType + '.bs.affix')\n\n      this.$element.trigger(e)\n\n      if (e.isDefaultPrevented()) return\n\n      this.affixed = affix\n      this.unpin = affix == 'bottom' ? this.getPinnedOffset() : null\n\n      this.$element\n        .removeClass(Affix.RESET)\n        .addClass(affixType)\n        .trigger(affixType.replace('affix', 'affixed') + '.bs.affix')\n    }\n\n    if (affix == 'bottom') {\n      this.$element.offset({\n        top: scrollHeight - height - offsetBottom\n      })\n    }\n  }\n\n\n  // AFFIX PLUGIN DEFINITION\n  // =======================\n\n  function Plugin(option) {\n    return this.each(function () {\n      var $this   = $(this)\n      var data    = $this.data('bs.affix')\n      var options = typeof option == 'object' && option\n\n      if (!data) $this.data('bs.affix', (data = new Affix(this, options)))\n      if (typeof option == 'string') data[option]()\n    })\n  }\n\n  var old = $.fn.affix\n\n  $.fn.affix             = Plugin\n  $.fn.affix.Constructor = Affix\n\n\n  // AFFIX NO CONFLICT\n  // =================\n\n  $.fn.affix.noConflict = function () {\n    $.fn.affix = old\n    return this\n  }\n\n\n  // AFFIX DATA-API\n  // ==============\n\n  $(window).on('load', function () {\n    $('[data-spy=\"affix\"]').each(function () {\n      var $spy = $(this)\n      var data = $spy.data()\n\n      data.offset = data.offset || {}\n\n      if (data.offsetBottom != null) data.offset.bottom = data.offsetBottom\n      if (data.offsetTop    != null) data.offset.top    = data.offsetTop\n\n      Plugin.call($spy, data)\n    })\n  })\n\n}(jQuery);\n"
  },
  {
    "path": "app/assets/javascripts/controllers/application.js",
    "content": "import { Application } from \"@hotwired/stimulus\"\nimport \"@hotwired/turbo-rails\"\n\nconst application = Application.start()\n\n// Configure Stimulus development experience\napplication.debug = false\nwindow.Stimulus   = application\n\nexport { application }\n"
  },
  {
    "path": "app/assets/javascripts/controllers/events_controller.js",
    "content": "import { Controller } from \"@hotwired/stimulus\"\n\nexport default class extends Controller {\n  static targets = [ \"local_time\" ]\n  connect() {\n    if (this.local_timeTarget) {\n      this.local_timeTarget.innerHTML += (\"&nbsp;\" + moment.tz.guess());\n    }\n  }\n}\n"
  },
  {
    "path": "app/assets/javascripts/controllers/events_form_controller.js",
    "content": "import { Controller } from \"@hotwired/stimulus\"\n\nexport default class extends Controller {\n  static targets = [ \"start\", \"start_tz\"]\n  connect() {\n    if (this.start_tzTarget) {\n      $('#start_time_tz').setToUserTimeZone(moment.tz.guess());\n    }\n    if (this.startTarget) {\n      var normalized_start_date_time = moment.utc($('#start_datetime').val(), \"YYYY-MM-DDThh:mm\");\n      var local_start_date_time = normalized_start_date_time.tz(moment.tz.guess());\n      $('#start_datetime').val(local_start_date_time.format(\"YYYY-MM-DDTHH:mm\"));\n      if (normalized_start_date_time.toDate().getUTCDate() !== normalized_start_date_time.toDate().getDate())\n          var daysOfWeek = document.querySelectorAll('#daysOfWeek>label>input')\n          if (daysOfWeek) {\n            var arrayOfdays = []\n            daysOfWeek.forEach(function (checkBox) { arrayOfdays.push(checkBox.checked) })\n            var tmp;\n            if (normalized_start_date_time._offset > 0) {\n                tmp = arrayOfdays.pop()\n                arrayOfdays.unshift(tmp)\n            } else {\n                tmp = arrayOfdays.shift()\n                arrayOfdays.push(tmp)\n            }\n            daysOfWeek.forEach(function (checkBox, index) { checkBox.checked = arrayOfdays[index] })\n        }\n    }\n    this.repeats();\n    this.repeat_ends_on();\n  }\n  repeats() {\n    console.log('in events_repeats_controller repeats')\n    $('.event_option').hide();\n    switch ($('#event_repeats').val()) {\n        case 'never':\n            // Nothing\n            break;\n        case 'biweekly':    \n        case 'weekly':\n            $('#repeats_options').show();\n            $('#repeats_weekly_options').show();\n            $('.event_option').show();\n            this.repeat_ends_on();\n            break;\n    }\n  }\n  repeat_ends_on(){\n    console.log('in events_repeats_controller repeat_ends_on')\n    switch ($('#event_repeat_ends_string').val()) {\n      case 'never':\n          $('#repeat_ends_on_label').hide();\n          $('#event_repeat_ends_on_1i').hide();\n          $('#event_repeat_ends_on_2i').hide();\n          $('#event_repeat_ends_on_3i').hide();\n          break;\n      case 'on':\n          $('#repeat_ends_on_label').show();\n          $('#event_repeat_ends_on_1i').show();\n          $('#event_repeat_ends_on_2i').show();\n          $('#event_repeat_ends_on_3i').show();\n          break;\n    }\n  }\n}\n\njQuery.fn.setToUserTimeZone = function (timezone) {\n  var regEx = new RegExp(timezone);\n\n  $('option', $(this[0])).each(function (index, option) {\n\n      var $option = $(option);\n\n      if ($option.html().match(regEx)) {\n          $option.prop({ selected: 'true' });\n          return false;\n      }\n  });\n};"
  },
  {
    "path": "app/assets/javascripts/controllers/index.js",
    "content": "// This file is auto-generated by ./bin/rails stimulus:manifest:update\n// Run that command whenever you add a new controller or create them with\n// ./bin/rails generate stimulus controllerName\n\nimport { application } from \"./application\"\n\nimport EventsController from \"./events_controller\"\napplication.register(\"events\", EventsController)\n\nimport EventsFormController from \"./events_form_controller\"\napplication.register(\"events-form\", EventsFormController)\n\nimport ProjectsController from \"./projects_controller\"\napplication.register(\"projects\", ProjectsController)\n\nimport ProjectsLanguagesController from \"./projects_languages_controller\"\napplication.register(\"projects-languages\", ProjectsLanguagesController)\n"
  },
  {
    "path": "app/assets/javascripts/controllers/projects_controller.js",
    "content": "import { Controller } from \"@hotwired/stimulus\"\n\nexport default class extends Controller {\n  show_hidden() {\n    $('a').css({ display: \"\" });\n    $('i.fa').css({ display: \"\" });\n    $('div.a').css({ display: \"\" });\n  }\n}\n"
  },
  {
    "path": "app/assets/javascripts/controllers/projects_languages_controller.js",
    "content": "import { Controller } from \"@hotwired/stimulus\"\n\nexport default class extends Controller {\n  language() {\n    this.element.requestSubmit();\n  }\n}"
  },
  {
    "path": "app/assets/javascripts/cookies_banner.js",
    "content": "if (sessionStorage.getItem('banner') === 'hide') {\n  document.querySelector('.cookies-banner-modal').style.display = 'none';\n} else {\n  document.querySelector('.close').addEventListener('click', () => {\n    sessionStorage.setItem('banner', 'hide')\n    document.querySelector('.cookies-banner-modal').style.display = 'none';\n  })\n}\n"
  },
  {
    "path": "app/assets/javascripts/disqus.js",
    "content": "var disqus_div = $('#disqus_thread'),\n    disqus_shortname = disqus_div.data('disqus-shortname'),\n    disqus_identifier = disqus_div.data('disqus-identifier'),\n    disqus_title = disqus_div.data('disqus-title'),\n    disqus_url = disqus_div.data('disqus-url');\n\n//DISQUS EMBED SCRIPT\nvar dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;\ndsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';\n(document.getElementsByTagName('head')[0] || \n document.getElementsByTagName('body')[0]).appendChild(dsq);\n\n"
  },
  {
    "path": "app/assets/javascripts/documents.js",
    "content": "WebsiteOne.define('Documents', function(){\n    function init(){\n        $('#revisions-anchor').on('click', function(e){\n            e.preventDefault();\n            $('#revisions').slideToggle('slow');\n            $(\"#arrow\").toggleClass(\"fa-arrow-up\").toggleClass(\"fa-arrow-down\");\n        });\n    }\n\n    return {\n        init: init\n    };\n});\n"
  },
  {
    "path": "app/assets/javascripts/global-modules/accordion_collapse.js",
    "content": "WebsiteOne.define('AccordionCollapse', function() {\n\n  WebsiteOne.toggleCaret = function(child) {\n    var collapsedClass = 'fa-caret-down';\n    var expandedClass = 'fa-caret-right';\n\n    if (child.hasClass(collapsedClass)) {\n      child.removeClass(collapsedClass).addClass(expandedClass);\n    } else if (child.hasClass(expandedClass)) {\n      child.removeClass(expandedClass).addClass(collapsedClass);\n    }\n  };\n\n  return {\n    init: function() {\n      $('.collapse-button').on('click', function() {\n        var child = $(this).find('i.fa');\n        WebsiteOne.toggleCaret(child);\n      });\n    }\n  }\n});\n"
  },
  {
    "path": "app/assets/javascripts/global-modules/affix_navbar.js",
    "content": "WebsiteOne.define('AffixedNavbar', function() {\n\n  function AffixedNavbar() {\n    var isAffixed, affixedNav, header, main, footer, thresholdTop,\n        isListening = false;\n\n    this.onScroll = function() {\n      var scrollTop = $(this).scrollTop();\n      if (scrollTop > thresholdTop && !isAffixed) {\n        affixedNav.addClass('affix');\n        header.css({ 'margin-bottom': affixedNav.height() + parseInt(affixedNav.css('margin-bottom'))});\n        isAffixed = true;\n      } else if (scrollTop < thresholdTop && isAffixed) {\n        // remove affix if the scroll is below threshold\n        affixedNav.removeClass('affix');\n        header.css({ 'margin-bottom': 0 });\n        isAffixed = false;\n      }\n    };\n\n    this.init = function() {\n      affixedNav = $('#nav');\n      header = $('#main_header');\n      main = $('#main');\n      thresholdTop = header.height();\n      footer = $('#footer');\n      isAffixed = affixedNav.hasClass('affix');\n\n      if (!isListening) {\n        $(window).scroll(this.onScroll);\n        $(window).scroll();\n        isListening = true;\n      }\n    }\n  }\n\n  return new AffixedNavbar();\n});\n"
  },
  {
    "path": "app/assets/javascripts/global-modules/event_countdown.js",
    "content": "WebsiteOne.define('EventCountdown', function () {\n\n    function EventCountdown() {\n        var countdownClock, eventName, eventTime, eventDuration, eventUrl, textToAppend;\n        var self = this;\n\n        this.format = function(num) {\n            return (0 <= num && num < 10) ? '0' + num : num.toString();\n        };\n\n        this.update = function() {\n            var timeToEvent = eventTime - new Date(),\n                timeInSeconds = Math.floor(timeToEvent / 1000),\n                timeInMins = Math.floor(timeInSeconds / 60),\n                timeInHours = Math.floor(timeInMins / 60);\n\n            if (timeInSeconds <= 0) {\n                if (timeInMins + eventDuration <= 0) {\n                  countdownClock.html('<a href=\"' + eventUrl + '\">' + eventName +\n                                      '</a> has ended.');\n                } else {\n                  countdownClock.html('<a href=\"' + eventUrl + '\">' + eventName +\n                                      '</a> is live!');\n                  setTimeout(self.update, 1000);\n                }\n            } else {\n                var tmp = '<p>';\n                if (timeInHours > 0) {\n                    tmp += self.format(timeInHours) + ':';\n                }\n\n                countdownClock.html(tmp + self.format(timeInMins % 60) +\n                    ':' + self.format(timeInSeconds % 60) +\n                    textToAppend);\n                setTimeout(self.update, 1000);\n            }\n        };\n\n        this.init = function() {\n            clearTimeout(self.update);\n\n            countdownClock = $('#next-event');\n            if (countdownClock.length > 0) {\n                eventTime = Date.parse(countdownClock.data('event-time'));\n                eventDuration = countdownClock.data('event-duration');\n                eventUrl = countdownClock.data('event-url');\n                eventName = countdownClock.data('event-name');\n                textToAppend = ' to <a href=\"' + eventUrl + '\">' + eventName + '</a></p>';\n\n                self.update();\n            } else {\n                eventName = null;\n                eventTime = null;\n                eventUrl = null;\n                textToAppend = null;\n            }\n        }\n    }\n\n    return new EventCountdown();\n});\n"
  },
  {
    "path": "app/assets/javascripts/global-modules/flash.js",
    "content": "WebsiteOne.define('FlashMessages', function() {\n  return {\n    init: function() {\n      var flash = $('#flash-container');\n      if (flash.length > 0) {\n        window.setTimeout(function() {\n          flash.fadeTo(500, 0).slideUp(500, function(){\n            $(this).remove();\n          });\n        }, 5000);\n      }\n    }\n  }\n});\n"
  },
  {
    "path": "app/assets/javascripts/google-analytics.js",
    "content": "\n// read user id from cookie\nfunction readCookie(cookieName) {\n var re = new RegExp('[; ]'+cookieName+'=([^\\\\s;]*)');\n var sMatch = (' '+document.cookie).match(re);\n if (cookieName && sMatch) return unescape(sMatch[1]);\n return '';\n}\n\n// set user id from current user\nvar userId = readCookie(\"user_id\");\n\n(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\nm=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n})(window,document,'script','//www.google-analytics.com/analytics.js','ga');\n\nga('create', 'UA-47795185-1', 'auto');\n// sets google analytics userId\nga('set', 'userId', userId );\nga('send', 'pageview');\n// session unification needs to be turned on in google analytics admin to link users before they sign up"
  },
  {
    "path": "app/assets/javascripts/hangout_play_on_hover.js",
    "content": "var tag = document.createElement('script');\ntag.src = \"https://www.youtube.com/iframe_api\";\nvar firstScriptTag = document.getElementsByTagName('script')[0];\nfirstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\n\nvar players = {}\nvar iframe\nvar currentPlayerId = null\nvar currentPlayer = null\n\n$('#hg-container').on(\"mouseenter\", \".card\", function () {\n  if (currentPlayerId && players[currentPlayerId]) {\n    players[currentPlayerId].pauseVideo();\n  }\n  currentPlayerId = $(this).find('iframe').attr('id');\n  iframe = document.getElementById(currentPlayerId);\n\n  if (!players[currentPlayerId]) {\n    players[currentPlayerId] = new YT.Player(iframe, {\n      playerVars: { 'autoplay': 1 },\n      events: { 'onReady': onPlayerReady }\n    });\n  }\n  else if (currentPlayerId && players[currentPlayerId]) {\n    players[currentPlayerId].playVideo();\n  } else {\n    console.log(\"player not ready\")\n  }\n});\nfunction onPlayerReady(event) {\n  event.target.playVideo()\n}\n\nfunction onYouTubeIframeAPIReady() {\n}"
  },
  {
    "path": "app/assets/javascripts/inspectlet.js",
    "content": "// snippet for inspectlet session recording software\n// https://www.inspectlet.com\n// inspectlet login: wsoinspectlet@gmail.com, password: websiteone\n// gmail account set up as admin: wsoinspectlet@gmail.com, Pass: websiteone\n\n\n(function() {\n\twindow.__insp = window.__insp || [];\n\t__insp.push(['wid', 1674848404]);\n\tvar ldinsp = function(){\n\t\tif(typeof window.__inspld != \"undefined\") return; window.__inspld = 1; var insp = document.createElement('script'); insp.type = 'text/javascript'; insp.async = true; insp.id = \"inspsync\"; insp.src = ('https:' == document.location.protocol ? 'https' : 'http') + '://cdn.inspectlet.com/inspectlet.js?wid=1674848404&r=' + Math.floor(new Date().getTime()/3600000); var x = document.getElementsByTagName('script')[0]; x.parentNode.insertBefore(insp, x); };\n\tsetTimeout(ldinsp, 0);\n})();\n\n"
  },
  {
    "path": "app/assets/javascripts/jq.js",
    "content": "import jquery from \"jquery\";\nwindow.jQuery = jquery;\nwindow.$ = jquery;\nimport moment from \"moment\";\nwindow.moment = moment;\n"
  },
  {
    "path": "app/assets/javascripts/jquery-ui.js",
    "content": "/*! jQuery UI - v1.11.4 - 2015-03-11\n* http://jqueryui.com\n* Includes: core.js, widget.js, mouse.js, position.js, accordion.js, autocomplete.js, button.js, datepicker.js, dialog.js, draggable.js, droppable.js, effect.js, effect-blind.js, effect-bounce.js, effect-clip.js, effect-drop.js, effect-explode.js, effect-fade.js, effect-fold.js, effect-highlight.js, effect-puff.js, effect-pulsate.js, effect-scale.js, effect-shake.js, effect-size.js, effect-slide.js, effect-transfer.js, menu.js, progressbar.js, resizable.js, selectable.js, selectmenu.js, slider.js, sortable.js, spinner.js, tabs.js, tooltip.js\n* Copyright 2015 jQuery Foundation and other contributors; Licensed MIT */\n\n(function( factory ) {\n\tif ( typeof define === \"function\" && define.amd ) {\n\n\t\t// AMD. Register as an anonymous module.\n\t\tdefine([ \"jquery\" ], factory );\n\t} else {\n\n\t\t// Browser globals\n\t\tfactory( jQuery );\n\t}\n}(function( $ ) {\n/*!\n * jQuery UI Core 1.11.4\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/category/ui-core/\n */\n\n\n// $.ui might exist from components with no dependencies, e.g., $.ui.position\n$.ui = $.ui || {};\n\n$.extend( $.ui, {\n\tversion: \"1.11.4\",\n\n\tkeyCode: {\n\t\tBACKSPACE: 8,\n\t\tCOMMA: 188,\n\t\tDELETE: 46,\n\t\tDOWN: 40,\n\t\tEND: 35,\n\t\tENTER: 13,\n\t\tESCAPE: 27,\n\t\tHOME: 36,\n\t\tLEFT: 37,\n\t\tPAGE_DOWN: 34,\n\t\tPAGE_UP: 33,\n\t\tPERIOD: 190,\n\t\tRIGHT: 39,\n\t\tSPACE: 32,\n\t\tTAB: 9,\n\t\tUP: 38\n\t}\n});\n\n// plugins\n$.fn.extend({\n\tscrollParent: function( includeHidden ) {\n\t\tvar position = this.css( \"position\" ),\n\t\t\texcludeStaticParent = position === \"absolute\",\n\t\t\toverflowRegex = includeHidden ? /(auto|scroll|hidden)/ : /(auto|scroll)/,\n\t\t\tscrollParent = this.parents().filter( function() {\n\t\t\t\tvar parent = $( this );\n\t\t\t\tif ( excludeStaticParent && parent.css( \"position\" ) === \"static\" ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\treturn overflowRegex.test( parent.css( \"overflow\" ) + parent.css( \"overflow-y\" ) + parent.css( \"overflow-x\" ) );\n\t\t\t}).eq( 0 );\n\n\t\treturn position === \"fixed\" || !scrollParent.length ? $( this[ 0 ].ownerDocument || document ) : scrollParent;\n\t},\n\n\tuniqueId: (function() {\n\t\tvar uuid = 0;\n\n\t\treturn function() {\n\t\t\treturn this.each(function() {\n\t\t\t\tif ( !this.id ) {\n\t\t\t\t\tthis.id = \"ui-id-\" + ( ++uuid );\n\t\t\t\t}\n\t\t\t});\n\t\t};\n\t})(),\n\n\tremoveUniqueId: function() {\n\t\treturn this.each(function() {\n\t\t\tif ( /^ui-id-\\d+$/.test( this.id ) ) {\n\t\t\t\t$( this ).removeAttr( \"id\" );\n\t\t\t}\n\t\t});\n\t}\n});\n\n// selectors\nfunction focusable( element, isTabIndexNotNaN ) {\n\tvar map, mapName, img,\n\t\tnodeName = element.nodeName.toLowerCase();\n\tif ( \"area\" === nodeName ) {\n\t\tmap = element.parentNode;\n\t\tmapName = map.name;\n\t\tif ( !element.href || !mapName || map.nodeName.toLowerCase() !== \"map\" ) {\n\t\t\treturn false;\n\t\t}\n\t\timg = $( \"img[usemap='#\" + mapName + \"']\" )[ 0 ];\n\t\treturn !!img && visible( img );\n\t}\n\treturn ( /^(input|select|textarea|button|object)$/.test( nodeName ) ?\n\t\t!element.disabled :\n\t\t\"a\" === nodeName ?\n\t\t\telement.href || isTabIndexNotNaN :\n\t\t\tisTabIndexNotNaN) &&\n\t\t// the element and all of its ancestors must be visible\n\t\tvisible( element );\n}\n\nfunction visible( element ) {\n\treturn $.expr.filters.visible( element ) &&\n\t\t!$( element ).parents().addBack().filter(function() {\n\t\t\treturn $.css( this, \"visibility\" ) === \"hidden\";\n\t\t}).length;\n}\n\n$.extend( $.expr[ \":\" ], {\n\tdata: $.expr.createPseudo ?\n\t\t$.expr.createPseudo(function( dataName ) {\n\t\t\treturn function( elem ) {\n\t\t\t\treturn !!$.data( elem, dataName );\n\t\t\t};\n\t\t}) :\n\t\t// support: jQuery <1.8\n\t\tfunction( elem, i, match ) {\n\t\t\treturn !!$.data( elem, match[ 3 ] );\n\t\t},\n\n\tfocusable: function( element ) {\n\t\treturn focusable( element, !isNaN( $.attr( element, \"tabindex\" ) ) );\n\t},\n\n\ttabbable: function( element ) {\n\t\tvar tabIndex = $.attr( element, \"tabindex\" ),\n\t\t\tisTabIndexNaN = isNaN( tabIndex );\n\t\treturn ( isTabIndexNaN || tabIndex >= 0 ) && focusable( element, !isTabIndexNaN );\n\t}\n});\n\n// support: jQuery <1.8\nif ( !$( \"<a>\" ).outerWidth( 1 ).jquery ) {\n\t$.each( [ \"Width\", \"Height\" ], function( i, name ) {\n\t\tvar side = name === \"Width\" ? [ \"Left\", \"Right\" ] : [ \"Top\", \"Bottom\" ],\n\t\t\ttype = name.toLowerCase(),\n\t\t\torig = {\n\t\t\t\tinnerWidth: $.fn.innerWidth,\n\t\t\t\tinnerHeight: $.fn.innerHeight,\n\t\t\t\touterWidth: $.fn.outerWidth,\n\t\t\t\touterHeight: $.fn.outerHeight\n\t\t\t};\n\n\t\tfunction reduce( elem, size, border, margin ) {\n\t\t\t$.each( side, function() {\n\t\t\t\tsize -= parseFloat( $.css( elem, \"padding\" + this ) ) || 0;\n\t\t\t\tif ( border ) {\n\t\t\t\t\tsize -= parseFloat( $.css( elem, \"border\" + this + \"Width\" ) ) || 0;\n\t\t\t\t}\n\t\t\t\tif ( margin ) {\n\t\t\t\t\tsize -= parseFloat( $.css( elem, \"margin\" + this ) ) || 0;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn size;\n\t\t}\n\n\t\t$.fn[ \"inner\" + name ] = function( size ) {\n\t\t\tif ( size === undefined ) {\n\t\t\t\treturn orig[ \"inner\" + name ].call( this );\n\t\t\t}\n\n\t\t\treturn this.each(function() {\n\t\t\t\t$( this ).css( type, reduce( this, size ) + \"px\" );\n\t\t\t});\n\t\t};\n\n\t\t$.fn[ \"outer\" + name] = function( size, margin ) {\n\t\t\tif ( typeof size !== \"number\" ) {\n\t\t\t\treturn orig[ \"outer\" + name ].call( this, size );\n\t\t\t}\n\n\t\t\treturn this.each(function() {\n\t\t\t\t$( this).css( type, reduce( this, size, true, margin ) + \"px\" );\n\t\t\t});\n\t\t};\n\t});\n}\n\n// support: jQuery <1.8\nif ( !$.fn.addBack ) {\n\t$.fn.addBack = function( selector ) {\n\t\treturn this.add( selector == null ?\n\t\t\tthis.prevObject : this.prevObject.filter( selector )\n\t\t);\n\t};\n}\n\n// support: jQuery 1.6.1, 1.6.2 (http://bugs.jquery.com/ticket/9413)\nif ( $( \"<a>\" ).data( \"a-b\", \"a\" ).removeData( \"a-b\" ).data( \"a-b\" ) ) {\n\t$.fn.removeData = (function( removeData ) {\n\t\treturn function( key ) {\n\t\t\tif ( arguments.length ) {\n\t\t\t\treturn removeData.call( this, $.camelCase( key ) );\n\t\t\t} else {\n\t\t\t\treturn removeData.call( this );\n\t\t\t}\n\t\t};\n\t})( $.fn.removeData );\n}\n\n// deprecated\n$.ui.ie = !!/msie [\\w.]+/.exec( navigator.userAgent.toLowerCase() );\n\n$.fn.extend({\n\tfocus: (function( orig ) {\n\t\treturn function( delay, fn ) {\n\t\t\treturn typeof delay === \"number\" ?\n\t\t\t\tthis.each(function() {\n\t\t\t\t\tvar elem = this;\n\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\t$( elem ).focus();\n\t\t\t\t\t\tif ( fn ) {\n\t\t\t\t\t\t\tfn.call( elem );\n\t\t\t\t\t\t}\n\t\t\t\t\t}, delay );\n\t\t\t\t}) :\n\t\t\t\torig.apply( this, arguments );\n\t\t};\n\t})( $.fn.focus ),\n\n\tdisableSelection: (function() {\n\t\tvar eventType = \"onselectstart\" in document.createElement( \"div\" ) ?\n\t\t\t\"selectstart\" :\n\t\t\t\"mousedown\";\n\n\t\treturn function() {\n\t\t\treturn this.bind( eventType + \".ui-disableSelection\", function( event ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t});\n\t\t};\n\t})(),\n\n\tenableSelection: function() {\n\t\treturn this.unbind( \".ui-disableSelection\" );\n\t},\n\n\tzIndex: function( zIndex ) {\n\t\tif ( zIndex !== undefined ) {\n\t\t\treturn this.css( \"zIndex\", zIndex );\n\t\t}\n\n\t\tif ( this.length ) {\n\t\t\tvar elem = $( this[ 0 ] ), position, value;\n\t\t\twhile ( elem.length && elem[ 0 ] !== document ) {\n\t\t\t\t// Ignore z-index if position is set to a value where z-index is ignored by the browser\n\t\t\t\t// This makes behavior of this function consistent across browsers\n\t\t\t\t// WebKit always returns auto if the element is positioned\n\t\t\t\tposition = elem.css( \"position\" );\n\t\t\t\tif ( position === \"absolute\" || position === \"relative\" || position === \"fixed\" ) {\n\t\t\t\t\t// IE returns 0 when zIndex is not specified\n\t\t\t\t\t// other browsers return a string\n\t\t\t\t\t// we ignore the case of nested elements with an explicit value of 0\n\t\t\t\t\t// <div style=\"z-index: -10;\"><div style=\"z-index: 0;\"></div></div>\n\t\t\t\t\tvalue = parseInt( elem.css( \"zIndex\" ), 10 );\n\t\t\t\t\tif ( !isNaN( value ) && value !== 0 ) {\n\t\t\t\t\t\treturn value;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telem = elem.parent();\n\t\t\t}\n\t\t}\n\n\t\treturn 0;\n\t}\n});\n\n// $.ui.plugin is deprecated. Use $.widget() extensions instead.\n$.ui.plugin = {\n\tadd: function( module, option, set ) {\n\t\tvar i,\n\t\t\tproto = $.ui[ module ].prototype;\n\t\tfor ( i in set ) {\n\t\t\tproto.plugins[ i ] = proto.plugins[ i ] || [];\n\t\t\tproto.plugins[ i ].push( [ option, set[ i ] ] );\n\t\t}\n\t},\n\tcall: function( instance, name, args, allowDisconnected ) {\n\t\tvar i,\n\t\t\tset = instance.plugins[ name ];\n\n\t\tif ( !set ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( !allowDisconnected && ( !instance.element[ 0 ].parentNode || instance.element[ 0 ].parentNode.nodeType === 11 ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfor ( i = 0; i < set.length; i++ ) {\n\t\t\tif ( instance.options[ set[ i ][ 0 ] ] ) {\n\t\t\t\tset[ i ][ 1 ].apply( instance.element, args );\n\t\t\t}\n\t\t}\n\t}\n};\n\n\n/*!\n * jQuery UI Widget 1.11.4\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/jQuery.widget/\n */\n\n\nvar widget_uuid = 0,\n\twidget_slice = Array.prototype.slice;\n\n$.cleanData = (function( orig ) {\n\treturn function( elems ) {\n\t\tvar events, elem, i;\n\t\tfor ( i = 0; (elem = elems[i]) != null; i++ ) {\n\t\t\ttry {\n\n\t\t\t\t// Only trigger remove when necessary to save time\n\t\t\t\tevents = $._data( elem, \"events\" );\n\t\t\t\tif ( events && events.remove ) {\n\t\t\t\t\t$( elem ).triggerHandler( \"remove\" );\n\t\t\t\t}\n\n\t\t\t// http://bugs.jquery.com/ticket/8235\n\t\t\t} catch ( e ) {}\n\t\t}\n\t\torig( elems );\n\t};\n})( $.cleanData );\n\n$.widget = function( name, base, prototype ) {\n\tvar fullName, existingConstructor, constructor, basePrototype,\n\t\t// proxiedPrototype allows the provided prototype to remain unmodified\n\t\t// so that it can be used as a mixin for multiple widgets (#8876)\n\t\tproxiedPrototype = {},\n\t\tnamespace = name.split( \".\" )[ 0 ];\n\n\tname = name.split( \".\" )[ 1 ];\n\tfullName = namespace + \"-\" + name;\n\n\tif ( !prototype ) {\n\t\tprototype = base;\n\t\tbase = $.Widget;\n\t}\n\n\t// create selector for plugin\n\t$.expr[ \":\" ][ fullName.toLowerCase() ] = function( elem ) {\n\t\treturn !!$.data( elem, fullName );\n\t};\n\n\t$[ namespace ] = $[ namespace ] || {};\n\texistingConstructor = $[ namespace ][ name ];\n\tconstructor = $[ namespace ][ name ] = function( options, element ) {\n\t\t// allow instantiation without \"new\" keyword\n\t\tif ( !this._createWidget ) {\n\t\t\treturn new constructor( options, element );\n\t\t}\n\n\t\t// allow instantiation without initializing for simple inheritance\n\t\t// must use \"new\" keyword (the code above always passes args)\n\t\tif ( arguments.length ) {\n\t\t\tthis._createWidget( options, element );\n\t\t}\n\t};\n\t// extend with the existing constructor to carry over any static properties\n\t$.extend( constructor, existingConstructor, {\n\t\tversion: prototype.version,\n\t\t// copy the object used to create the prototype in case we need to\n\t\t// redefine the widget later\n\t\t_proto: $.extend( {}, prototype ),\n\t\t// track widgets that inherit from this widget in case this widget is\n\t\t// redefined after a widget inherits from it\n\t\t_childConstructors: []\n\t});\n\n\tbasePrototype = new base();\n\t// we need to make the options hash a property directly on the new instance\n\t// otherwise we'll modify the options hash on the prototype that we're\n\t// inheriting from\n\tbasePrototype.options = $.widget.extend( {}, basePrototype.options );\n\t$.each( prototype, function( prop, value ) {\n\t\tif ( !$.isFunction( value ) ) {\n\t\t\tproxiedPrototype[ prop ] = value;\n\t\t\treturn;\n\t\t}\n\t\tproxiedPrototype[ prop ] = (function() {\n\t\t\tvar _super = function() {\n\t\t\t\t\treturn base.prototype[ prop ].apply( this, arguments );\n\t\t\t\t},\n\t\t\t\t_superApply = function( args ) {\n\t\t\t\t\treturn base.prototype[ prop ].apply( this, args );\n\t\t\t\t};\n\t\t\treturn function() {\n\t\t\t\tvar __super = this._super,\n\t\t\t\t\t__superApply = this._superApply,\n\t\t\t\t\treturnValue;\n\n\t\t\t\tthis._super = _super;\n\t\t\t\tthis._superApply = _superApply;\n\n\t\t\t\treturnValue = value.apply( this, arguments );\n\n\t\t\t\tthis._super = __super;\n\t\t\t\tthis._superApply = __superApply;\n\n\t\t\t\treturn returnValue;\n\t\t\t};\n\t\t})();\n\t});\n\tconstructor.prototype = $.widget.extend( basePrototype, {\n\t\t// TODO: remove support for widgetEventPrefix\n\t\t// always use the name + a colon as the prefix, e.g., draggable:start\n\t\t// don't prefix for widgets that aren't DOM-based\n\t\twidgetEventPrefix: existingConstructor ? (basePrototype.widgetEventPrefix || name) : name\n\t}, proxiedPrototype, {\n\t\tconstructor: constructor,\n\t\tnamespace: namespace,\n\t\twidgetName: name,\n\t\twidgetFullName: fullName\n\t});\n\n\t// If this widget is being redefined then we need to find all widgets that\n\t// are inheriting from it and redefine all of them so that they inherit from\n\t// the new version of this widget. We're essentially trying to replace one\n\t// level in the prototype chain.\n\tif ( existingConstructor ) {\n\t\t$.each( existingConstructor._childConstructors, function( i, child ) {\n\t\t\tvar childPrototype = child.prototype;\n\n\t\t\t// redefine the child widget using the same prototype that was\n\t\t\t// originally used, but inherit from the new version of the base\n\t\t\t$.widget( childPrototype.namespace + \".\" + childPrototype.widgetName, constructor, child._proto );\n\t\t});\n\t\t// remove the list of existing child constructors from the old constructor\n\t\t// so the old child constructors can be garbage collected\n\t\tdelete existingConstructor._childConstructors;\n\t} else {\n\t\tbase._childConstructors.push( constructor );\n\t}\n\n\t$.widget.bridge( name, constructor );\n\n\treturn constructor;\n};\n\n$.widget.extend = function( target ) {\n\tvar input = widget_slice.call( arguments, 1 ),\n\t\tinputIndex = 0,\n\t\tinputLength = input.length,\n\t\tkey,\n\t\tvalue;\n\tfor ( ; inputIndex < inputLength; inputIndex++ ) {\n\t\tfor ( key in input[ inputIndex ] ) {\n\t\t\tvalue = input[ inputIndex ][ key ];\n\t\t\tif ( input[ inputIndex ].hasOwnProperty( key ) && value !== undefined ) {\n\t\t\t\t// Clone objects\n\t\t\t\tif ( $.isPlainObject( value ) ) {\n\t\t\t\t\ttarget[ key ] = $.isPlainObject( target[ key ] ) ?\n\t\t\t\t\t\t$.widget.extend( {}, target[ key ], value ) :\n\t\t\t\t\t\t// Don't extend strings, arrays, etc. with objects\n\t\t\t\t\t\t$.widget.extend( {}, value );\n\t\t\t\t// Copy everything else by reference\n\t\t\t\t} else {\n\t\t\t\t\ttarget[ key ] = value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn target;\n};\n\n$.widget.bridge = function( name, object ) {\n\tvar fullName = object.prototype.widgetFullName || name;\n\t$.fn[ name ] = function( options ) {\n\t\tvar isMethodCall = typeof options === \"string\",\n\t\t\targs = widget_slice.call( arguments, 1 ),\n\t\t\treturnValue = this;\n\n\t\tif ( isMethodCall ) {\n\t\t\tthis.each(function() {\n\t\t\t\tvar methodValue,\n\t\t\t\t\tinstance = $.data( this, fullName );\n\t\t\t\tif ( options === \"instance\" ) {\n\t\t\t\t\treturnValue = instance;\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tif ( !instance ) {\n\t\t\t\t\treturn $.error( \"cannot call methods on \" + name + \" prior to initialization; \" +\n\t\t\t\t\t\t\"attempted to call method '\" + options + \"'\" );\n\t\t\t\t}\n\t\t\t\tif ( !$.isFunction( instance[options] ) || options.charAt( 0 ) === \"_\" ) {\n\t\t\t\t\treturn $.error( \"no such method '\" + options + \"' for \" + name + \" widget instance\" );\n\t\t\t\t}\n\t\t\t\tmethodValue = instance[ options ].apply( instance, args );\n\t\t\t\tif ( methodValue !== instance && methodValue !== undefined ) {\n\t\t\t\t\treturnValue = methodValue && methodValue.jquery ?\n\t\t\t\t\t\treturnValue.pushStack( methodValue.get() ) :\n\t\t\t\t\t\tmethodValue;\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\n\t\t\t// Allow multiple hashes to be passed on init\n\t\t\tif ( args.length ) {\n\t\t\t\toptions = $.widget.extend.apply( null, [ options ].concat(args) );\n\t\t\t}\n\n\t\t\tthis.each(function() {\n\t\t\t\tvar instance = $.data( this, fullName );\n\t\t\t\tif ( instance ) {\n\t\t\t\t\tinstance.option( options || {} );\n\t\t\t\t\tif ( instance._init ) {\n\t\t\t\t\t\tinstance._init();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t$.data( this, fullName, new object( options, this ) );\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\treturn returnValue;\n\t};\n};\n\n$.Widget = function( /* options, element */ ) {};\n$.Widget._childConstructors = [];\n\n$.Widget.prototype = {\n\twidgetName: \"widget\",\n\twidgetEventPrefix: \"\",\n\tdefaultElement: \"<div>\",\n\toptions: {\n\t\tdisabled: false,\n\n\t\t// callbacks\n\t\tcreate: null\n\t},\n\t_createWidget: function( options, element ) {\n\t\telement = $( element || this.defaultElement || this )[ 0 ];\n\t\tthis.element = $( element );\n\t\tthis.uuid = widget_uuid++;\n\t\tthis.eventNamespace = \".\" + this.widgetName + this.uuid;\n\n\t\tthis.bindings = $();\n\t\tthis.hoverable = $();\n\t\tthis.focusable = $();\n\n\t\tif ( element !== this ) {\n\t\t\t$.data( element, this.widgetFullName, this );\n\t\t\tthis._on( true, this.element, {\n\t\t\t\tremove: function( event ) {\n\t\t\t\t\tif ( event.target === element ) {\n\t\t\t\t\t\tthis.destroy();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t\tthis.document = $( element.style ?\n\t\t\t\t// element within the document\n\t\t\t\telement.ownerDocument :\n\t\t\t\t// element is window or document\n\t\t\t\telement.document || element );\n\t\t\tthis.window = $( this.document[0].defaultView || this.document[0].parentWindow );\n\t\t}\n\n\t\tthis.options = $.widget.extend( {},\n\t\t\tthis.options,\n\t\t\tthis._getCreateOptions(),\n\t\t\toptions );\n\n\t\tthis._create();\n\t\tthis._trigger( \"create\", null, this._getCreateEventData() );\n\t\tthis._init();\n\t},\n\t_getCreateOptions: $.noop,\n\t_getCreateEventData: $.noop,\n\t_create: $.noop,\n\t_init: $.noop,\n\n\tdestroy: function() {\n\t\tthis._destroy();\n\t\t// we can probably remove the unbind calls in 2.0\n\t\t// all event bindings should go through this._on()\n\t\tthis.element\n\t\t\t.unbind( this.eventNamespace )\n\t\t\t.removeData( this.widgetFullName )\n\t\t\t// support: jquery <1.6.3\n\t\t\t// http://bugs.jquery.com/ticket/9413\n\t\t\t.removeData( $.camelCase( this.widgetFullName ) );\n\t\tthis.widget()\n\t\t\t.unbind( this.eventNamespace )\n\t\t\t.removeAttr( \"aria-disabled\" )\n\t\t\t.removeClass(\n\t\t\t\tthis.widgetFullName + \"-disabled \" +\n\t\t\t\t\"ui-state-disabled\" );\n\n\t\t// clean up events and states\n\t\tthis.bindings.unbind( this.eventNamespace );\n\t\tthis.hoverable.removeClass( \"ui-state-hover\" );\n\t\tthis.focusable.removeClass( \"ui-state-focus\" );\n\t},\n\t_destroy: $.noop,\n\n\twidget: function() {\n\t\treturn this.element;\n\t},\n\n\toption: function( key, value ) {\n\t\tvar options = key,\n\t\t\tparts,\n\t\t\tcurOption,\n\t\t\ti;\n\n\t\tif ( arguments.length === 0 ) {\n\t\t\t// don't return a reference to the internal hash\n\t\t\treturn $.widget.extend( {}, this.options );\n\t\t}\n\n\t\tif ( typeof key === \"string\" ) {\n\t\t\t// handle nested keys, e.g., \"foo.bar\" => { foo: { bar: ___ } }\n\t\t\toptions = {};\n\t\t\tparts = key.split( \".\" );\n\t\t\tkey = parts.shift();\n\t\t\tif ( parts.length ) {\n\t\t\t\tcurOption = options[ key ] = $.widget.extend( {}, this.options[ key ] );\n\t\t\t\tfor ( i = 0; i < parts.length - 1; i++ ) {\n\t\t\t\t\tcurOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {};\n\t\t\t\t\tcurOption = curOption[ parts[ i ] ];\n\t\t\t\t}\n\t\t\t\tkey = parts.pop();\n\t\t\t\tif ( arguments.length === 1 ) {\n\t\t\t\t\treturn curOption[ key ] === undefined ? null : curOption[ key ];\n\t\t\t\t}\n\t\t\t\tcurOption[ key ] = value;\n\t\t\t} else {\n\t\t\t\tif ( arguments.length === 1 ) {\n\t\t\t\t\treturn this.options[ key ] === undefined ? null : this.options[ key ];\n\t\t\t\t}\n\t\t\t\toptions[ key ] = value;\n\t\t\t}\n\t\t}\n\n\t\tthis._setOptions( options );\n\n\t\treturn this;\n\t},\n\t_setOptions: function( options ) {\n\t\tvar key;\n\n\t\tfor ( key in options ) {\n\t\t\tthis._setOption( key, options[ key ] );\n\t\t}\n\n\t\treturn this;\n\t},\n\t_setOption: function( key, value ) {\n\t\tthis.options[ key ] = value;\n\n\t\tif ( key === \"disabled\" ) {\n\t\t\tthis.widget()\n\t\t\t\t.toggleClass( this.widgetFullName + \"-disabled\", !!value );\n\n\t\t\t// If the widget is becoming disabled, then nothing is interactive\n\t\t\tif ( value ) {\n\t\t\t\tthis.hoverable.removeClass( \"ui-state-hover\" );\n\t\t\t\tthis.focusable.removeClass( \"ui-state-focus\" );\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tenable: function() {\n\t\treturn this._setOptions({ disabled: false });\n\t},\n\tdisable: function() {\n\t\treturn this._setOptions({ disabled: true });\n\t},\n\n\t_on: function( suppressDisabledCheck, element, handlers ) {\n\t\tvar delegateElement,\n\t\t\tinstance = this;\n\n\t\t// no suppressDisabledCheck flag, shuffle arguments\n\t\tif ( typeof suppressDisabledCheck !== \"boolean\" ) {\n\t\t\thandlers = element;\n\t\t\telement = suppressDisabledCheck;\n\t\t\tsuppressDisabledCheck = false;\n\t\t}\n\n\t\t// no element argument, shuffle and use this.element\n\t\tif ( !handlers ) {\n\t\t\thandlers = element;\n\t\t\telement = this.element;\n\t\t\tdelegateElement = this.widget();\n\t\t} else {\n\t\t\telement = delegateElement = $( element );\n\t\t\tthis.bindings = this.bindings.add( element );\n\t\t}\n\n\t\t$.each( handlers, function( event, handler ) {\n\t\t\tfunction handlerProxy() {\n\t\t\t\t// allow widgets to customize the disabled handling\n\t\t\t\t// - disabled as an array instead of boolean\n\t\t\t\t// - disabled class as method for disabling individual parts\n\t\t\t\tif ( !suppressDisabledCheck &&\n\t\t\t\t\t\t( instance.options.disabled === true ||\n\t\t\t\t\t\t\t$( this ).hasClass( \"ui-state-disabled\" ) ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\treturn ( typeof handler === \"string\" ? instance[ handler ] : handler )\n\t\t\t\t\t.apply( instance, arguments );\n\t\t\t}\n\n\t\t\t// copy the guid so direct unbinding works\n\t\t\tif ( typeof handler !== \"string\" ) {\n\t\t\t\thandlerProxy.guid = handler.guid =\n\t\t\t\t\thandler.guid || handlerProxy.guid || $.guid++;\n\t\t\t}\n\n\t\t\tvar match = event.match( /^([\\w:-]*)\\s*(.*)$/ ),\n\t\t\t\teventName = match[1] + instance.eventNamespace,\n\t\t\t\tselector = match[2];\n\t\t\tif ( selector ) {\n\t\t\t\tdelegateElement.delegate( selector, eventName, handlerProxy );\n\t\t\t} else {\n\t\t\t\telement.bind( eventName, handlerProxy );\n\t\t\t}\n\t\t});\n\t},\n\n\t_off: function( element, eventName ) {\n\t\teventName = (eventName || \"\").split( \" \" ).join( this.eventNamespace + \" \" ) +\n\t\t\tthis.eventNamespace;\n\t\telement.unbind( eventName ).undelegate( eventName );\n\n\t\t// Clear the stack to avoid memory leaks (#10056)\n\t\tthis.bindings = $( this.bindings.not( element ).get() );\n\t\tthis.focusable = $( this.focusable.not( element ).get() );\n\t\tthis.hoverable = $( this.hoverable.not( element ).get() );\n\t},\n\n\t_delay: function( handler, delay ) {\n\t\tfunction handlerProxy() {\n\t\t\treturn ( typeof handler === \"string\" ? instance[ handler ] : handler )\n\t\t\t\t.apply( instance, arguments );\n\t\t}\n\t\tvar instance = this;\n\t\treturn setTimeout( handlerProxy, delay || 0 );\n\t},\n\n\t_hoverable: function( element ) {\n\t\tthis.hoverable = this.hoverable.add( element );\n\t\tthis._on( element, {\n\t\t\tmouseenter: function( event ) {\n\t\t\t\t$( event.currentTarget ).addClass( \"ui-state-hover\" );\n\t\t\t},\n\t\t\tmouseleave: function( event ) {\n\t\t\t\t$( event.currentTarget ).removeClass( \"ui-state-hover\" );\n\t\t\t}\n\t\t});\n\t},\n\n\t_focusable: function( element ) {\n\t\tthis.focusable = this.focusable.add( element );\n\t\tthis._on( element, {\n\t\t\tfocusin: function( event ) {\n\t\t\t\t$( event.currentTarget ).addClass( \"ui-state-focus\" );\n\t\t\t},\n\t\t\tfocusout: function( event ) {\n\t\t\t\t$( event.currentTarget ).removeClass( \"ui-state-focus\" );\n\t\t\t}\n\t\t});\n\t},\n\n\t_trigger: function( type, event, data ) {\n\t\tvar prop, orig,\n\t\t\tcallback = this.options[ type ];\n\n\t\tdata = data || {};\n\t\tevent = $.Event( event );\n\t\tevent.type = ( type === this.widgetEventPrefix ?\n\t\t\ttype :\n\t\t\tthis.widgetEventPrefix + type ).toLowerCase();\n\t\t// the original event may come from any element\n\t\t// so we need to reset the target on the new event\n\t\tevent.target = this.element[ 0 ];\n\n\t\t// copy original event properties over to the new event\n\t\torig = event.originalEvent;\n\t\tif ( orig ) {\n\t\t\tfor ( prop in orig ) {\n\t\t\t\tif ( !( prop in event ) ) {\n\t\t\t\t\tevent[ prop ] = orig[ prop ];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.element.trigger( event, data );\n\t\treturn !( $.isFunction( callback ) &&\n\t\t\tcallback.apply( this.element[0], [ event ].concat( data ) ) === false ||\n\t\t\tevent.isDefaultPrevented() );\n\t}\n};\n\n$.each( { show: \"fadeIn\", hide: \"fadeOut\" }, function( method, defaultEffect ) {\n\t$.Widget.prototype[ \"_\" + method ] = function( element, options, callback ) {\n\t\tif ( typeof options === \"string\" ) {\n\t\t\toptions = { effect: options };\n\t\t}\n\t\tvar hasOptions,\n\t\t\teffectName = !options ?\n\t\t\t\tmethod :\n\t\t\t\toptions === true || typeof options === \"number\" ?\n\t\t\t\t\tdefaultEffect :\n\t\t\t\t\toptions.effect || defaultEffect;\n\t\toptions = options || {};\n\t\tif ( typeof options === \"number\" ) {\n\t\t\toptions = { duration: options };\n\t\t}\n\t\thasOptions = !$.isEmptyObject( options );\n\t\toptions.complete = callback;\n\t\tif ( options.delay ) {\n\t\t\telement.delay( options.delay );\n\t\t}\n\t\tif ( hasOptions && $.effects && $.effects.effect[ effectName ] ) {\n\t\t\telement[ method ]( options );\n\t\t} else if ( effectName !== method && element[ effectName ] ) {\n\t\t\telement[ effectName ]( options.duration, options.easing, callback );\n\t\t} else {\n\t\t\telement.queue(function( next ) {\n\t\t\t\t$( this )[ method ]();\n\t\t\t\tif ( callback ) {\n\t\t\t\t\tcallback.call( element[ 0 ] );\n\t\t\t\t}\n\t\t\t\tnext();\n\t\t\t});\n\t\t}\n\t};\n});\n\nvar widget = $.widget;\n\n\n/*!\n * jQuery UI Mouse 1.11.4\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/mouse/\n */\n\n\nvar mouseHandled = false;\n$( document ).mouseup( function() {\n\tmouseHandled = false;\n});\n\nvar mouse = $.widget(\"ui.mouse\", {\n\tversion: \"1.11.4\",\n\toptions: {\n\t\tcancel: \"input,textarea,button,select,option\",\n\t\tdistance: 1,\n\t\tdelay: 0\n\t},\n\t_mouseInit: function() {\n\t\tvar that = this;\n\n\t\tthis.element\n\t\t\t.bind(\"mousedown.\" + this.widgetName, function(event) {\n\t\t\t\treturn that._mouseDown(event);\n\t\t\t})\n\t\t\t.bind(\"click.\" + this.widgetName, function(event) {\n\t\t\t\tif (true === $.data(event.target, that.widgetName + \".preventClickEvent\")) {\n\t\t\t\t\t$.removeData(event.target, that.widgetName + \".preventClickEvent\");\n\t\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t});\n\n\t\tthis.started = false;\n\t},\n\n\t// TODO: make sure destroying one instance of mouse doesn't mess with\n\t// other instances of mouse\n\t_mouseDestroy: function() {\n\t\tthis.element.unbind(\".\" + this.widgetName);\n\t\tif ( this._mouseMoveDelegate ) {\n\t\t\tthis.document\n\t\t\t\t.unbind(\"mousemove.\" + this.widgetName, this._mouseMoveDelegate)\n\t\t\t\t.unbind(\"mouseup.\" + this.widgetName, this._mouseUpDelegate);\n\t\t}\n\t},\n\n\t_mouseDown: function(event) {\n\t\t// don't let more than one widget handle mouseStart\n\t\tif ( mouseHandled ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._mouseMoved = false;\n\n\t\t// we may have missed mouseup (out of window)\n\t\t(this._mouseStarted && this._mouseUp(event));\n\n\t\tthis._mouseDownEvent = event;\n\n\t\tvar that = this,\n\t\t\tbtnIsLeft = (event.which === 1),\n\t\t\t// event.target.nodeName works around a bug in IE 8 with\n\t\t\t// disabled inputs (#7620)\n\t\t\telIsCancel = (typeof this.options.cancel === \"string\" && event.target.nodeName ? $(event.target).closest(this.options.cancel).length : false);\n\t\tif (!btnIsLeft || elIsCancel || !this._mouseCapture(event)) {\n\t\t\treturn true;\n\t\t}\n\n\t\tthis.mouseDelayMet = !this.options.delay;\n\t\tif (!this.mouseDelayMet) {\n\t\t\tthis._mouseDelayTimer = setTimeout(function() {\n\t\t\t\tthat.mouseDelayMet = true;\n\t\t\t}, this.options.delay);\n\t\t}\n\n\t\tif (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) {\n\t\t\tthis._mouseStarted = (this._mouseStart(event) !== false);\n\t\t\tif (!this._mouseStarted) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\t// Click event may never have fired (Gecko & Opera)\n\t\tif (true === $.data(event.target, this.widgetName + \".preventClickEvent\")) {\n\t\t\t$.removeData(event.target, this.widgetName + \".preventClickEvent\");\n\t\t}\n\n\t\t// these delegates are required to keep context\n\t\tthis._mouseMoveDelegate = function(event) {\n\t\t\treturn that._mouseMove(event);\n\t\t};\n\t\tthis._mouseUpDelegate = function(event) {\n\t\t\treturn that._mouseUp(event);\n\t\t};\n\n\t\tthis.document\n\t\t\t.bind( \"mousemove.\" + this.widgetName, this._mouseMoveDelegate )\n\t\t\t.bind( \"mouseup.\" + this.widgetName, this._mouseUpDelegate );\n\n\t\tevent.preventDefault();\n\n\t\tmouseHandled = true;\n\t\treturn true;\n\t},\n\n\t_mouseMove: function(event) {\n\t\t// Only check for mouseups outside the document if you've moved inside the document\n\t\t// at least once. This prevents the firing of mouseup in the case of IE<9, which will\n\t\t// fire a mousemove event if content is placed under the cursor. See #7778\n\t\t// Support: IE <9\n\t\tif ( this._mouseMoved ) {\n\t\t\t// IE mouseup check - mouseup happened when mouse was out of window\n\t\t\tif ($.ui.ie && ( !document.documentMode || document.documentMode < 9 ) && !event.button) {\n\t\t\t\treturn this._mouseUp(event);\n\n\t\t\t// Iframe mouseup check - mouseup occurred in another document\n\t\t\t} else if ( !event.which ) {\n\t\t\t\treturn this._mouseUp( event );\n\t\t\t}\n\t\t}\n\n\t\tif ( event.which || event.button ) {\n\t\t\tthis._mouseMoved = true;\n\t\t}\n\n\t\tif (this._mouseStarted) {\n\t\t\tthis._mouseDrag(event);\n\t\t\treturn event.preventDefault();\n\t\t}\n\n\t\tif (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) {\n\t\t\tthis._mouseStarted =\n\t\t\t\t(this._mouseStart(this._mouseDownEvent, event) !== false);\n\t\t\t(this._mouseStarted ? this._mouseDrag(event) : this._mouseUp(event));\n\t\t}\n\n\t\treturn !this._mouseStarted;\n\t},\n\n\t_mouseUp: function(event) {\n\t\tthis.document\n\t\t\t.unbind( \"mousemove.\" + this.widgetName, this._mouseMoveDelegate )\n\t\t\t.unbind( \"mouseup.\" + this.widgetName, this._mouseUpDelegate );\n\n\t\tif (this._mouseStarted) {\n\t\t\tthis._mouseStarted = false;\n\n\t\t\tif (event.target === this._mouseDownEvent.target) {\n\t\t\t\t$.data(event.target, this.widgetName + \".preventClickEvent\", true);\n\t\t\t}\n\n\t\t\tthis._mouseStop(event);\n\t\t}\n\n\t\tmouseHandled = false;\n\t\treturn false;\n\t},\n\n\t_mouseDistanceMet: function(event) {\n\t\treturn (Math.max(\n\t\t\t\tMath.abs(this._mouseDownEvent.pageX - event.pageX),\n\t\t\t\tMath.abs(this._mouseDownEvent.pageY - event.pageY)\n\t\t\t) >= this.options.distance\n\t\t);\n\t},\n\n\t_mouseDelayMet: function(/* event */) {\n\t\treturn this.mouseDelayMet;\n\t},\n\n\t// These are placeholder methods, to be overriden by extending plugin\n\t_mouseStart: function(/* event */) {},\n\t_mouseDrag: function(/* event */) {},\n\t_mouseStop: function(/* event */) {},\n\t_mouseCapture: function(/* event */) { return true; }\n});\n\n\n/*!\n * jQuery UI Position 1.11.4\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/position/\n */\n\n(function() {\n\n$.ui = $.ui || {};\n\nvar cachedScrollbarWidth, supportsOffsetFractions,\n\tmax = Math.max,\n\tabs = Math.abs,\n\tround = Math.round,\n\trhorizontal = /left|center|right/,\n\trvertical = /top|center|bottom/,\n\troffset = /[\\+\\-]\\d+(\\.[\\d]+)?%?/,\n\trposition = /^\\w+/,\n\trpercent = /%$/,\n\t_position = $.fn.position;\n\nfunction getOffsets( offsets, width, height ) {\n\treturn [\n\t\tparseFloat( offsets[ 0 ] ) * ( rpercent.test( offsets[ 0 ] ) ? width / 100 : 1 ),\n\t\tparseFloat( offsets[ 1 ] ) * ( rpercent.test( offsets[ 1 ] ) ? height / 100 : 1 )\n\t];\n}\n\nfunction parseCss( element, property ) {\n\treturn parseInt( $.css( element, property ), 10 ) || 0;\n}\n\nfunction getDimensions( elem ) {\n\tvar raw = elem[0];\n\tif ( raw.nodeType === 9 ) {\n\t\treturn {\n\t\t\twidth: elem.width(),\n\t\t\theight: elem.height(),\n\t\t\toffset: { top: 0, left: 0 }\n\t\t};\n\t}\n\tif ( $.isWindow( raw ) ) {\n\t\treturn {\n\t\t\twidth: elem.width(),\n\t\t\theight: elem.height(),\n\t\t\toffset: { top: elem.scrollTop(), left: elem.scrollLeft() }\n\t\t};\n\t}\n\tif ( raw.preventDefault ) {\n\t\treturn {\n\t\t\twidth: 0,\n\t\t\theight: 0,\n\t\t\toffset: { top: raw.pageY, left: raw.pageX }\n\t\t};\n\t}\n\treturn {\n\t\twidth: elem.outerWidth(),\n\t\theight: elem.outerHeight(),\n\t\toffset: elem.offset()\n\t};\n}\n\n$.position = {\n\tscrollbarWidth: function() {\n\t\tif ( cachedScrollbarWidth !== undefined ) {\n\t\t\treturn cachedScrollbarWidth;\n\t\t}\n\t\tvar w1, w2,\n\t\t\tdiv = $( \"<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>\" ),\n\t\t\tinnerDiv = div.children()[0];\n\n\t\t$( \"body\" ).append( div );\n\t\tw1 = innerDiv.offsetWidth;\n\t\tdiv.css( \"overflow\", \"scroll\" );\n\n\t\tw2 = innerDiv.offsetWidth;\n\n\t\tif ( w1 === w2 ) {\n\t\t\tw2 = div[0].clientWidth;\n\t\t}\n\n\t\tdiv.remove();\n\n\t\treturn (cachedScrollbarWidth = w1 - w2);\n\t},\n\tgetScrollInfo: function( within ) {\n\t\tvar overflowX = within.isWindow || within.isDocument ? \"\" :\n\t\t\t\twithin.element.css( \"overflow-x\" ),\n\t\t\toverflowY = within.isWindow || within.isDocument ? \"\" :\n\t\t\t\twithin.element.css( \"overflow-y\" ),\n\t\t\thasOverflowX = overflowX === \"scroll\" ||\n\t\t\t\t( overflowX === \"auto\" && within.width < within.element[0].scrollWidth ),\n\t\t\thasOverflowY = overflowY === \"scroll\" ||\n\t\t\t\t( overflowY === \"auto\" && within.height < within.element[0].scrollHeight );\n\t\treturn {\n\t\t\twidth: hasOverflowY ? $.position.scrollbarWidth() : 0,\n\t\t\theight: hasOverflowX ? $.position.scrollbarWidth() : 0\n\t\t};\n\t},\n\tgetWithinInfo: function( element ) {\n\t\tvar withinElement = $( element || window ),\n\t\t\tisWindow = $.isWindow( withinElement[0] ),\n\t\t\tisDocument = !!withinElement[ 0 ] && withinElement[ 0 ].nodeType === 9;\n\t\treturn {\n\t\t\telement: withinElement,\n\t\t\tisWindow: isWindow,\n\t\t\tisDocument: isDocument,\n\t\t\toffset: withinElement.offset() || { left: 0, top: 0 },\n\t\t\tscrollLeft: withinElement.scrollLeft(),\n\t\t\tscrollTop: withinElement.scrollTop(),\n\n\t\t\t// support: jQuery 1.6.x\n\t\t\t// jQuery 1.6 doesn't support .outerWidth/Height() on documents or windows\n\t\t\twidth: isWindow || isDocument ? withinElement.width() : withinElement.outerWidth(),\n\t\t\theight: isWindow || isDocument ? withinElement.height() : withinElement.outerHeight()\n\t\t};\n\t}\n};\n\n$.fn.position = function( options ) {\n\tif ( !options || !options.of ) {\n\t\treturn _position.apply( this, arguments );\n\t}\n\n\t// make a copy, we don't want to modify arguments\n\toptions = $.extend( {}, options );\n\n\tvar atOffset, targetWidth, targetHeight, targetOffset, basePosition, dimensions,\n\t\ttarget = $( options.of ),\n\t\twithin = $.position.getWithinInfo( options.within ),\n\t\tscrollInfo = $.position.getScrollInfo( within ),\n\t\tcollision = ( options.collision || \"flip\" ).split( \" \" ),\n\t\toffsets = {};\n\n\tdimensions = getDimensions( target );\n\tif ( target[0].preventDefault ) {\n\t\t// force left top to allow flipping\n\t\toptions.at = \"left top\";\n\t}\n\ttargetWidth = dimensions.width;\n\ttargetHeight = dimensions.height;\n\ttargetOffset = dimensions.offset;\n\t// clone to reuse original targetOffset later\n\tbasePosition = $.extend( {}, targetOffset );\n\n\t// force my and at to have valid horizontal and vertical positions\n\t// if a value is missing or invalid, it will be converted to center\n\t$.each( [ \"my\", \"at\" ], function() {\n\t\tvar pos = ( options[ this ] || \"\" ).split( \" \" ),\n\t\t\thorizontalOffset,\n\t\t\tverticalOffset;\n\n\t\tif ( pos.length === 1) {\n\t\t\tpos = rhorizontal.test( pos[ 0 ] ) ?\n\t\t\t\tpos.concat( [ \"center\" ] ) :\n\t\t\t\trvertical.test( pos[ 0 ] ) ?\n\t\t\t\t\t[ \"center\" ].concat( pos ) :\n\t\t\t\t\t[ \"center\", \"center\" ];\n\t\t}\n\t\tpos[ 0 ] = rhorizontal.test( pos[ 0 ] ) ? pos[ 0 ] : \"center\";\n\t\tpos[ 1 ] = rvertical.test( pos[ 1 ] ) ? pos[ 1 ] : \"center\";\n\n\t\t// calculate offsets\n\t\thorizontalOffset = roffset.exec( pos[ 0 ] );\n\t\tverticalOffset = roffset.exec( pos[ 1 ] );\n\t\toffsets[ this ] = [\n\t\t\thorizontalOffset ? horizontalOffset[ 0 ] : 0,\n\t\t\tverticalOffset ? verticalOffset[ 0 ] : 0\n\t\t];\n\n\t\t// reduce to just the positions without the offsets\n\t\toptions[ this ] = [\n\t\t\trposition.exec( pos[ 0 ] )[ 0 ],\n\t\t\trposition.exec( pos[ 1 ] )[ 0 ]\n\t\t];\n\t});\n\n\t// normalize collision option\n\tif ( collision.length === 1 ) {\n\t\tcollision[ 1 ] = collision[ 0 ];\n\t}\n\n\tif ( options.at[ 0 ] === \"right\" ) {\n\t\tbasePosition.left += targetWidth;\n\t} else if ( options.at[ 0 ] === \"center\" ) {\n\t\tbasePosition.left += targetWidth / 2;\n\t}\n\n\tif ( options.at[ 1 ] === \"bottom\" ) {\n\t\tbasePosition.top += targetHeight;\n\t} else if ( options.at[ 1 ] === \"center\" ) {\n\t\tbasePosition.top += targetHeight / 2;\n\t}\n\n\tatOffset = getOffsets( offsets.at, targetWidth, targetHeight );\n\tbasePosition.left += atOffset[ 0 ];\n\tbasePosition.top += atOffset[ 1 ];\n\n\treturn this.each(function() {\n\t\tvar collisionPosition, using,\n\t\t\telem = $( this ),\n\t\t\telemWidth = elem.outerWidth(),\n\t\t\telemHeight = elem.outerHeight(),\n\t\t\tmarginLeft = parseCss( this, \"marginLeft\" ),\n\t\t\tmarginTop = parseCss( this, \"marginTop\" ),\n\t\t\tcollisionWidth = elemWidth + marginLeft + parseCss( this, \"marginRight\" ) + scrollInfo.width,\n\t\t\tcollisionHeight = elemHeight + marginTop + parseCss( this, \"marginBottom\" ) + scrollInfo.height,\n\t\t\tposition = $.extend( {}, basePosition ),\n\t\t\tmyOffset = getOffsets( offsets.my, elem.outerWidth(), elem.outerHeight() );\n\n\t\tif ( options.my[ 0 ] === \"right\" ) {\n\t\t\tposition.left -= elemWidth;\n\t\t} else if ( options.my[ 0 ] === \"center\" ) {\n\t\t\tposition.left -= elemWidth / 2;\n\t\t}\n\n\t\tif ( options.my[ 1 ] === \"bottom\" ) {\n\t\t\tposition.top -= elemHeight;\n\t\t} else if ( options.my[ 1 ] === \"center\" ) {\n\t\t\tposition.top -= elemHeight / 2;\n\t\t}\n\n\t\tposition.left += myOffset[ 0 ];\n\t\tposition.top += myOffset[ 1 ];\n\n\t\t// if the browser doesn't support fractions, then round for consistent results\n\t\tif ( !supportsOffsetFractions ) {\n\t\t\tposition.left = round( position.left );\n\t\t\tposition.top = round( position.top );\n\t\t}\n\n\t\tcollisionPosition = {\n\t\t\tmarginLeft: marginLeft,\n\t\t\tmarginTop: marginTop\n\t\t};\n\n\t\t$.each( [ \"left\", \"top\" ], function( i, dir ) {\n\t\t\tif ( $.ui.position[ collision[ i ] ] ) {\n\t\t\t\t$.ui.position[ collision[ i ] ][ dir ]( position, {\n\t\t\t\t\ttargetWidth: targetWidth,\n\t\t\t\t\ttargetHeight: targetHeight,\n\t\t\t\t\telemWidth: elemWidth,\n\t\t\t\t\telemHeight: elemHeight,\n\t\t\t\t\tcollisionPosition: collisionPosition,\n\t\t\t\t\tcollisionWidth: collisionWidth,\n\t\t\t\t\tcollisionHeight: collisionHeight,\n\t\t\t\t\toffset: [ atOffset[ 0 ] + myOffset[ 0 ], atOffset [ 1 ] + myOffset[ 1 ] ],\n\t\t\t\t\tmy: options.my,\n\t\t\t\t\tat: options.at,\n\t\t\t\t\twithin: within,\n\t\t\t\t\telem: elem\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\tif ( options.using ) {\n\t\t\t// adds feedback as second argument to using callback, if present\n\t\t\tusing = function( props ) {\n\t\t\t\tvar left = targetOffset.left - position.left,\n\t\t\t\t\tright = left + targetWidth - elemWidth,\n\t\t\t\t\ttop = targetOffset.top - position.top,\n\t\t\t\t\tbottom = top + targetHeight - elemHeight,\n\t\t\t\t\tfeedback = {\n\t\t\t\t\t\ttarget: {\n\t\t\t\t\t\t\telement: target,\n\t\t\t\t\t\t\tleft: targetOffset.left,\n\t\t\t\t\t\t\ttop: targetOffset.top,\n\t\t\t\t\t\t\twidth: targetWidth,\n\t\t\t\t\t\t\theight: targetHeight\n\t\t\t\t\t\t},\n\t\t\t\t\t\telement: {\n\t\t\t\t\t\t\telement: elem,\n\t\t\t\t\t\t\tleft: position.left,\n\t\t\t\t\t\t\ttop: position.top,\n\t\t\t\t\t\t\twidth: elemWidth,\n\t\t\t\t\t\t\theight: elemHeight\n\t\t\t\t\t\t},\n\t\t\t\t\t\thorizontal: right < 0 ? \"left\" : left > 0 ? \"right\" : \"center\",\n\t\t\t\t\t\tvertical: bottom < 0 ? \"top\" : top > 0 ? \"bottom\" : \"middle\"\n\t\t\t\t\t};\n\t\t\t\tif ( targetWidth < elemWidth && abs( left + right ) < targetWidth ) {\n\t\t\t\t\tfeedback.horizontal = \"center\";\n\t\t\t\t}\n\t\t\t\tif ( targetHeight < elemHeight && abs( top + bottom ) < targetHeight ) {\n\t\t\t\t\tfeedback.vertical = \"middle\";\n\t\t\t\t}\n\t\t\t\tif ( max( abs( left ), abs( right ) ) > max( abs( top ), abs( bottom ) ) ) {\n\t\t\t\t\tfeedback.important = \"horizontal\";\n\t\t\t\t} else {\n\t\t\t\t\tfeedback.important = \"vertical\";\n\t\t\t\t}\n\t\t\t\toptions.using.call( this, props, feedback );\n\t\t\t};\n\t\t}\n\n\t\telem.offset( $.extend( position, { using: using } ) );\n\t});\n};\n\n$.ui.position = {\n\tfit: {\n\t\tleft: function( position, data ) {\n\t\t\tvar within = data.within,\n\t\t\t\twithinOffset = within.isWindow ? within.scrollLeft : within.offset.left,\n\t\t\t\touterWidth = within.width,\n\t\t\t\tcollisionPosLeft = position.left - data.collisionPosition.marginLeft,\n\t\t\t\toverLeft = withinOffset - collisionPosLeft,\n\t\t\t\toverRight = collisionPosLeft + data.collisionWidth - outerWidth - withinOffset,\n\t\t\t\tnewOverRight;\n\n\t\t\t// element is wider than within\n\t\t\tif ( data.collisionWidth > outerWidth ) {\n\t\t\t\t// element is initially over the left side of within\n\t\t\t\tif ( overLeft > 0 && overRight <= 0 ) {\n\t\t\t\t\tnewOverRight = position.left + overLeft + data.collisionWidth - outerWidth - withinOffset;\n\t\t\t\t\tposition.left += overLeft - newOverRight;\n\t\t\t\t// element is initially over right side of within\n\t\t\t\t} else if ( overRight > 0 && overLeft <= 0 ) {\n\t\t\t\t\tposition.left = withinOffset;\n\t\t\t\t// element is initially over both left and right sides of within\n\t\t\t\t} else {\n\t\t\t\t\tif ( overLeft > overRight ) {\n\t\t\t\t\t\tposition.left = withinOffset + outerWidth - data.collisionWidth;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tposition.left = withinOffset;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t// too far left -> align with left edge\n\t\t\t} else if ( overLeft > 0 ) {\n\t\t\t\tposition.left += overLeft;\n\t\t\t// too far right -> align with right edge\n\t\t\t} else if ( overRight > 0 ) {\n\t\t\t\tposition.left -= overRight;\n\t\t\t// adjust based on position and margin\n\t\t\t} else {\n\t\t\t\tposition.left = max( position.left - collisionPosLeft, position.left );\n\t\t\t}\n\t\t},\n\t\ttop: function( position, data ) {\n\t\t\tvar within = data.within,\n\t\t\t\twithinOffset = within.isWindow ? within.scrollTop : within.offset.top,\n\t\t\t\touterHeight = data.within.height,\n\t\t\t\tcollisionPosTop = position.top - data.collisionPosition.marginTop,\n\t\t\t\toverTop = withinOffset - collisionPosTop,\n\t\t\t\toverBottom = collisionPosTop + data.collisionHeight - outerHeight - withinOffset,\n\t\t\t\tnewOverBottom;\n\n\t\t\t// element is taller than within\n\t\t\tif ( data.collisionHeight > outerHeight ) {\n\t\t\t\t// element is initially over the top of within\n\t\t\t\tif ( overTop > 0 && overBottom <= 0 ) {\n\t\t\t\t\tnewOverBottom = position.top + overTop + data.collisionHeight - outerHeight - withinOffset;\n\t\t\t\t\tposition.top += overTop - newOverBottom;\n\t\t\t\t// element is initially over bottom of within\n\t\t\t\t} else if ( overBottom > 0 && overTop <= 0 ) {\n\t\t\t\t\tposition.top = withinOffset;\n\t\t\t\t// element is initially over both top and bottom of within\n\t\t\t\t} else {\n\t\t\t\t\tif ( overTop > overBottom ) {\n\t\t\t\t\t\tposition.top = withinOffset + outerHeight - data.collisionHeight;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tposition.top = withinOffset;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t// too far up -> align with top\n\t\t\t} else if ( overTop > 0 ) {\n\t\t\t\tposition.top += overTop;\n\t\t\t// too far down -> align with bottom edge\n\t\t\t} else if ( overBottom > 0 ) {\n\t\t\t\tposition.top -= overBottom;\n\t\t\t// adjust based on position and margin\n\t\t\t} else {\n\t\t\t\tposition.top = max( position.top - collisionPosTop, position.top );\n\t\t\t}\n\t\t}\n\t},\n\tflip: {\n\t\tleft: function( position, data ) {\n\t\t\tvar within = data.within,\n\t\t\t\twithinOffset = within.offset.left + within.scrollLeft,\n\t\t\t\touterWidth = within.width,\n\t\t\t\toffsetLeft = within.isWindow ? within.scrollLeft : within.offset.left,\n\t\t\t\tcollisionPosLeft = position.left - data.collisionPosition.marginLeft,\n\t\t\t\toverLeft = collisionPosLeft - offsetLeft,\n\t\t\t\toverRight = collisionPosLeft + data.collisionWidth - outerWidth - offsetLeft,\n\t\t\t\tmyOffset = data.my[ 0 ] === \"left\" ?\n\t\t\t\t\t-data.elemWidth :\n\t\t\t\t\tdata.my[ 0 ] === \"right\" ?\n\t\t\t\t\t\tdata.elemWidth :\n\t\t\t\t\t\t0,\n\t\t\t\tatOffset = data.at[ 0 ] === \"left\" ?\n\t\t\t\t\tdata.targetWidth :\n\t\t\t\t\tdata.at[ 0 ] === \"right\" ?\n\t\t\t\t\t\t-data.targetWidth :\n\t\t\t\t\t\t0,\n\t\t\t\toffset = -2 * data.offset[ 0 ],\n\t\t\t\tnewOverRight,\n\t\t\t\tnewOverLeft;\n\n\t\t\tif ( overLeft < 0 ) {\n\t\t\t\tnewOverRight = position.left + myOffset + atOffset + offset + data.collisionWidth - outerWidth - withinOffset;\n\t\t\t\tif ( newOverRight < 0 || newOverRight < abs( overLeft ) ) {\n\t\t\t\t\tposition.left += myOffset + atOffset + offset;\n\t\t\t\t}\n\t\t\t} else if ( overRight > 0 ) {\n\t\t\t\tnewOverLeft = position.left - data.collisionPosition.marginLeft + myOffset + atOffset + offset - offsetLeft;\n\t\t\t\tif ( newOverLeft > 0 || abs( newOverLeft ) < overRight ) {\n\t\t\t\t\tposition.left += myOffset + atOffset + offset;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\ttop: function( position, data ) {\n\t\t\tvar within = data.within,\n\t\t\t\twithinOffset = within.offset.top + within.scrollTop,\n\t\t\t\touterHeight = within.height,\n\t\t\t\toffsetTop = within.isWindow ? within.scrollTop : within.offset.top,\n\t\t\t\tcollisionPosTop = position.top - data.collisionPosition.marginTop,\n\t\t\t\toverTop = collisionPosTop - offsetTop,\n\t\t\t\toverBottom = collisionPosTop + data.collisionHeight - outerHeight - offsetTop,\n\t\t\t\ttop = data.my[ 1 ] === \"top\",\n\t\t\t\tmyOffset = top ?\n\t\t\t\t\t-data.elemHeight :\n\t\t\t\t\tdata.my[ 1 ] === \"bottom\" ?\n\t\t\t\t\t\tdata.elemHeight :\n\t\t\t\t\t\t0,\n\t\t\t\tatOffset = data.at[ 1 ] === \"top\" ?\n\t\t\t\t\tdata.targetHeight :\n\t\t\t\t\tdata.at[ 1 ] === \"bottom\" ?\n\t\t\t\t\t\t-data.targetHeight :\n\t\t\t\t\t\t0,\n\t\t\t\toffset = -2 * data.offset[ 1 ],\n\t\t\t\tnewOverTop,\n\t\t\t\tnewOverBottom;\n\t\t\tif ( overTop < 0 ) {\n\t\t\t\tnewOverBottom = position.top + myOffset + atOffset + offset + data.collisionHeight - outerHeight - withinOffset;\n\t\t\t\tif ( newOverBottom < 0 || newOverBottom < abs( overTop ) ) {\n\t\t\t\t\tposition.top += myOffset + atOffset + offset;\n\t\t\t\t}\n\t\t\t} else if ( overBottom > 0 ) {\n\t\t\t\tnewOverTop = position.top - data.collisionPosition.marginTop + myOffset + atOffset + offset - offsetTop;\n\t\t\t\tif ( newOverTop > 0 || abs( newOverTop ) < overBottom ) {\n\t\t\t\t\tposition.top += myOffset + atOffset + offset;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\tflipfit: {\n\t\tleft: function() {\n\t\t\t$.ui.position.flip.left.apply( this, arguments );\n\t\t\t$.ui.position.fit.left.apply( this, arguments );\n\t\t},\n\t\ttop: function() {\n\t\t\t$.ui.position.flip.top.apply( this, arguments );\n\t\t\t$.ui.position.fit.top.apply( this, arguments );\n\t\t}\n\t}\n};\n\n// fraction support test\n(function() {\n\tvar testElement, testElementParent, testElementStyle, offsetLeft, i,\n\t\tbody = document.getElementsByTagName( \"body\" )[ 0 ],\n\t\tdiv = document.createElement( \"div\" );\n\n\t//Create a \"fake body\" for testing based on method used in jQuery.support\n\ttestElement = document.createElement( body ? \"div\" : \"body\" );\n\ttestElementStyle = {\n\t\tvisibility: \"hidden\",\n\t\twidth: 0,\n\t\theight: 0,\n\t\tborder: 0,\n\t\tmargin: 0,\n\t\tbackground: \"none\"\n\t};\n\tif ( body ) {\n\t\t$.extend( testElementStyle, {\n\t\t\tposition: \"absolute\",\n\t\t\tleft: \"-1000px\",\n\t\t\ttop: \"-1000px\"\n\t\t});\n\t}\n\tfor ( i in testElementStyle ) {\n\t\ttestElement.style[ i ] = testElementStyle[ i ];\n\t}\n\ttestElement.appendChild( div );\n\ttestElementParent = body || document.documentElement;\n\ttestElementParent.insertBefore( testElement, testElementParent.firstChild );\n\n\tdiv.style.cssText = \"position: absolute; left: 10.7432222px;\";\n\n\toffsetLeft = $( div ).offset().left;\n\tsupportsOffsetFractions = offsetLeft > 10 && offsetLeft < 11;\n\n\ttestElement.innerHTML = \"\";\n\ttestElementParent.removeChild( testElement );\n})();\n\n})();\n\nvar position = $.ui.position;\n\n\n/*!\n * jQuery UI Accordion 1.11.4\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/accordion/\n */\n\n\nvar accordion = $.widget( \"ui.accordion\", {\n\tversion: \"1.11.4\",\n\toptions: {\n\t\tactive: 0,\n\t\tanimate: {},\n\t\tcollapsible: false,\n\t\tevent: \"click\",\n\t\theader: \"> li > :first-child,> :not(li):even\",\n\t\theightStyle: \"auto\",\n\t\ticons: {\n\t\t\tactiveHeader: \"ui-icon-triangle-1-s\",\n\t\t\theader: \"ui-icon-triangle-1-e\"\n\t\t},\n\n\t\t// callbacks\n\t\tactivate: null,\n\t\tbeforeActivate: null\n\t},\n\n\thideProps: {\n\t\tborderTopWidth: \"hide\",\n\t\tborderBottomWidth: \"hide\",\n\t\tpaddingTop: \"hide\",\n\t\tpaddingBottom: \"hide\",\n\t\theight: \"hide\"\n\t},\n\n\tshowProps: {\n\t\tborderTopWidth: \"show\",\n\t\tborderBottomWidth: \"show\",\n\t\tpaddingTop: \"show\",\n\t\tpaddingBottom: \"show\",\n\t\theight: \"show\"\n\t},\n\n\t_create: function() {\n\t\tvar options = this.options;\n\t\tthis.prevShow = this.prevHide = $();\n\t\tthis.element.addClass( \"ui-accordion ui-widget ui-helper-reset\" )\n\t\t\t// ARIA\n\t\t\t.attr( \"role\", \"tablist\" );\n\n\t\t// don't allow collapsible: false and active: false / null\n\t\tif ( !options.collapsible && (options.active === false || options.active == null) ) {\n\t\t\toptions.active = 0;\n\t\t}\n\n\t\tthis._processPanels();\n\t\t// handle negative values\n\t\tif ( options.active < 0 ) {\n\t\t\toptions.active += this.headers.length;\n\t\t}\n\t\tthis._refresh();\n\t},\n\n\t_getCreateEventData: function() {\n\t\treturn {\n\t\t\theader: this.active,\n\t\t\tpanel: !this.active.length ? $() : this.active.next()\n\t\t};\n\t},\n\n\t_createIcons: function() {\n\t\tvar icons = this.options.icons;\n\t\tif ( icons ) {\n\t\t\t$( \"<span>\" )\n\t\t\t\t.addClass( \"ui-accordion-header-icon ui-icon \" + icons.header )\n\t\t\t\t.prependTo( this.headers );\n\t\t\tthis.active.children( \".ui-accordion-header-icon\" )\n\t\t\t\t.removeClass( icons.header )\n\t\t\t\t.addClass( icons.activeHeader );\n\t\t\tthis.headers.addClass( \"ui-accordion-icons\" );\n\t\t}\n\t},\n\n\t_destroyIcons: function() {\n\t\tthis.headers\n\t\t\t.removeClass( \"ui-accordion-icons\" )\n\t\t\t.children( \".ui-accordion-header-icon\" )\n\t\t\t\t.remove();\n\t},\n\n\t_destroy: function() {\n\t\tvar contents;\n\n\t\t// clean up main element\n\t\tthis.element\n\t\t\t.removeClass( \"ui-accordion ui-widget ui-helper-reset\" )\n\t\t\t.removeAttr( \"role\" );\n\n\t\t// clean up headers\n\t\tthis.headers\n\t\t\t.removeClass( \"ui-accordion-header ui-accordion-header-active ui-state-default \" +\n\t\t\t\t\"ui-corner-all ui-state-active ui-state-disabled ui-corner-top\" )\n\t\t\t.removeAttr( \"role\" )\n\t\t\t.removeAttr( \"aria-expanded\" )\n\t\t\t.removeAttr( \"aria-selected\" )\n\t\t\t.removeAttr( \"aria-controls\" )\n\t\t\t.removeAttr( \"tabIndex\" )\n\t\t\t.removeUniqueId();\n\n\t\tthis._destroyIcons();\n\n\t\t// clean up content panels\n\t\tcontents = this.headers.next()\n\t\t\t.removeClass( \"ui-helper-reset ui-widget-content ui-corner-bottom \" +\n\t\t\t\t\"ui-accordion-content ui-accordion-content-active ui-state-disabled\" )\n\t\t\t.css( \"display\", \"\" )\n\t\t\t.removeAttr( \"role\" )\n\t\t\t.removeAttr( \"aria-hidden\" )\n\t\t\t.removeAttr( \"aria-labelledby\" )\n\t\t\t.removeUniqueId();\n\n\t\tif ( this.options.heightStyle !== \"content\" ) {\n\t\t\tcontents.css( \"height\", \"\" );\n\t\t}\n\t},\n\n\t_setOption: function( key, value ) {\n\t\tif ( key === \"active\" ) {\n\t\t\t// _activate() will handle invalid values and update this.options\n\t\t\tthis._activate( value );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( key === \"event\" ) {\n\t\t\tif ( this.options.event ) {\n\t\t\t\tthis._off( this.headers, this.options.event );\n\t\t\t}\n\t\t\tthis._setupEvents( value );\n\t\t}\n\n\t\tthis._super( key, value );\n\n\t\t// setting collapsible: false while collapsed; open first panel\n\t\tif ( key === \"collapsible\" && !value && this.options.active === false ) {\n\t\t\tthis._activate( 0 );\n\t\t}\n\n\t\tif ( key === \"icons\" ) {\n\t\t\tthis._destroyIcons();\n\t\t\tif ( value ) {\n\t\t\t\tthis._createIcons();\n\t\t\t}\n\t\t}\n\n\t\t// #5332 - opacity doesn't cascade to positioned elements in IE\n\t\t// so we need to add the disabled class to the headers and panels\n\t\tif ( key === \"disabled\" ) {\n\t\t\tthis.element\n\t\t\t\t.toggleClass( \"ui-state-disabled\", !!value )\n\t\t\t\t.attr( \"aria-disabled\", value );\n\t\t\tthis.headers.add( this.headers.next() )\n\t\t\t\t.toggleClass( \"ui-state-disabled\", !!value );\n\t\t}\n\t},\n\n\t_keydown: function( event ) {\n\t\tif ( event.altKey || event.ctrlKey ) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar keyCode = $.ui.keyCode,\n\t\t\tlength = this.headers.length,\n\t\t\tcurrentIndex = this.headers.index( event.target ),\n\t\t\ttoFocus = false;\n\n\t\tswitch ( event.keyCode ) {\n\t\t\tcase keyCode.RIGHT:\n\t\t\tcase keyCode.DOWN:\n\t\t\t\ttoFocus = this.headers[ ( currentIndex + 1 ) % length ];\n\t\t\t\tbreak;\n\t\t\tcase keyCode.LEFT:\n\t\t\tcase keyCode.UP:\n\t\t\t\ttoFocus = this.headers[ ( currentIndex - 1 + length ) % length ];\n\t\t\t\tbreak;\n\t\t\tcase keyCode.SPACE:\n\t\t\tcase keyCode.ENTER:\n\t\t\t\tthis._eventHandler( event );\n\t\t\t\tbreak;\n\t\t\tcase keyCode.HOME:\n\t\t\t\ttoFocus = this.headers[ 0 ];\n\t\t\t\tbreak;\n\t\t\tcase keyCode.END:\n\t\t\t\ttoFocus = this.headers[ length - 1 ];\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif ( toFocus ) {\n\t\t\t$( event.target ).attr( \"tabIndex\", -1 );\n\t\t\t$( toFocus ).attr( \"tabIndex\", 0 );\n\t\t\ttoFocus.focus();\n\t\t\tevent.preventDefault();\n\t\t}\n\t},\n\n\t_panelKeyDown: function( event ) {\n\t\tif ( event.keyCode === $.ui.keyCode.UP && event.ctrlKey ) {\n\t\t\t$( event.currentTarget ).prev().focus();\n\t\t}\n\t},\n\n\trefresh: function() {\n\t\tvar options = this.options;\n\t\tthis._processPanels();\n\n\t\t// was collapsed or no panel\n\t\tif ( ( options.active === false && options.collapsible === true ) || !this.headers.length ) {\n\t\t\toptions.active = false;\n\t\t\tthis.active = $();\n\t\t// active false only when collapsible is true\n\t\t} else if ( options.active === false ) {\n\t\t\tthis._activate( 0 );\n\t\t// was active, but active panel is gone\n\t\t} else if ( this.active.length && !$.contains( this.element[ 0 ], this.active[ 0 ] ) ) {\n\t\t\t// all remaining panel are disabled\n\t\t\tif ( this.headers.length === this.headers.find(\".ui-state-disabled\").length ) {\n\t\t\t\toptions.active = false;\n\t\t\t\tthis.active = $();\n\t\t\t// activate previous panel\n\t\t\t} else {\n\t\t\t\tthis._activate( Math.max( 0, options.active - 1 ) );\n\t\t\t}\n\t\t// was active, active panel still exists\n\t\t} else {\n\t\t\t// make sure active index is correct\n\t\t\toptions.active = this.headers.index( this.active );\n\t\t}\n\n\t\tthis._destroyIcons();\n\n\t\tthis._refresh();\n\t},\n\n\t_processPanels: function() {\n\t\tvar prevHeaders = this.headers,\n\t\t\tprevPanels = this.panels;\n\n\t\tthis.headers = this.element.find( this.options.header )\n\t\t\t.addClass( \"ui-accordion-header ui-state-default ui-corner-all\" );\n\n\t\tthis.panels = this.headers.next()\n\t\t\t.addClass( \"ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom\" )\n\t\t\t.filter( \":not(.ui-accordion-content-active)\" )\n\t\t\t.hide();\n\n\t\t// Avoid memory leaks (#10056)\n\t\tif ( prevPanels ) {\n\t\t\tthis._off( prevHeaders.not( this.headers ) );\n\t\t\tthis._off( prevPanels.not( this.panels ) );\n\t\t}\n\t},\n\n\t_refresh: function() {\n\t\tvar maxHeight,\n\t\t\toptions = this.options,\n\t\t\theightStyle = options.heightStyle,\n\t\t\tparent = this.element.parent();\n\n\t\tthis.active = this._findActive( options.active )\n\t\t\t.addClass( \"ui-accordion-header-active ui-state-active ui-corner-top\" )\n\t\t\t.removeClass( \"ui-corner-all\" );\n\t\tthis.active.next()\n\t\t\t.addClass( \"ui-accordion-content-active\" )\n\t\t\t.show();\n\n\t\tthis.headers\n\t\t\t.attr( \"role\", \"tab\" )\n\t\t\t.each(function() {\n\t\t\t\tvar header = $( this ),\n\t\t\t\t\theaderId = header.uniqueId().attr( \"id\" ),\n\t\t\t\t\tpanel = header.next(),\n\t\t\t\t\tpanelId = panel.uniqueId().attr( \"id\" );\n\t\t\t\theader.attr( \"aria-controls\", panelId );\n\t\t\t\tpanel.attr( \"aria-labelledby\", headerId );\n\t\t\t})\n\t\t\t.next()\n\t\t\t\t.attr( \"role\", \"tabpanel\" );\n\n\t\tthis.headers\n\t\t\t.not( this.active )\n\t\t\t.attr({\n\t\t\t\t\"aria-selected\": \"false\",\n\t\t\t\t\"aria-expanded\": \"false\",\n\t\t\t\ttabIndex: -1\n\t\t\t})\n\t\t\t.next()\n\t\t\t\t.attr({\n\t\t\t\t\t\"aria-hidden\": \"true\"\n\t\t\t\t})\n\t\t\t\t.hide();\n\n\t\t// make sure at least one header is in the tab order\n\t\tif ( !this.active.length ) {\n\t\t\tthis.headers.eq( 0 ).attr( \"tabIndex\", 0 );\n\t\t} else {\n\t\t\tthis.active.attr({\n\t\t\t\t\"aria-selected\": \"true\",\n\t\t\t\t\"aria-expanded\": \"true\",\n\t\t\t\ttabIndex: 0\n\t\t\t})\n\t\t\t.next()\n\t\t\t\t.attr({\n\t\t\t\t\t\"aria-hidden\": \"false\"\n\t\t\t\t});\n\t\t}\n\n\t\tthis._createIcons();\n\n\t\tthis._setupEvents( options.event );\n\n\t\tif ( heightStyle === \"fill\" ) {\n\t\t\tmaxHeight = parent.height();\n\t\t\tthis.element.siblings( \":visible\" ).each(function() {\n\t\t\t\tvar elem = $( this ),\n\t\t\t\t\tposition = elem.css( \"position\" );\n\n\t\t\t\tif ( position === \"absolute\" || position === \"fixed\" ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tmaxHeight -= elem.outerHeight( true );\n\t\t\t});\n\n\t\t\tthis.headers.each(function() {\n\t\t\t\tmaxHeight -= $( this ).outerHeight( true );\n\t\t\t});\n\n\t\t\tthis.headers.next()\n\t\t\t\t.each(function() {\n\t\t\t\t\t$( this ).height( Math.max( 0, maxHeight -\n\t\t\t\t\t\t$( this ).innerHeight() + $( this ).height() ) );\n\t\t\t\t})\n\t\t\t\t.css( \"overflow\", \"auto\" );\n\t\t} else if ( heightStyle === \"auto\" ) {\n\t\t\tmaxHeight = 0;\n\t\t\tthis.headers.next()\n\t\t\t\t.each(function() {\n\t\t\t\t\tmaxHeight = Math.max( maxHeight, $( this ).css( \"height\", \"\" ).height() );\n\t\t\t\t})\n\t\t\t\t.height( maxHeight );\n\t\t}\n\t},\n\n\t_activate: function( index ) {\n\t\tvar active = this._findActive( index )[ 0 ];\n\n\t\t// trying to activate the already active panel\n\t\tif ( active === this.active[ 0 ] ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// trying to collapse, simulate a click on the currently active header\n\t\tactive = active || this.active[ 0 ];\n\n\t\tthis._eventHandler({\n\t\t\ttarget: active,\n\t\t\tcurrentTarget: active,\n\t\t\tpreventDefault: $.noop\n\t\t});\n\t},\n\n\t_findActive: function( selector ) {\n\t\treturn typeof selector === \"number\" ? this.headers.eq( selector ) : $();\n\t},\n\n\t_setupEvents: function( event ) {\n\t\tvar events = {\n\t\t\tkeydown: \"_keydown\"\n\t\t};\n\t\tif ( event ) {\n\t\t\t$.each( event.split( \" \" ), function( index, eventName ) {\n\t\t\t\tevents[ eventName ] = \"_eventHandler\";\n\t\t\t});\n\t\t}\n\n\t\tthis._off( this.headers.add( this.headers.next() ) );\n\t\tthis._on( this.headers, events );\n\t\tthis._on( this.headers.next(), { keydown: \"_panelKeyDown\" });\n\t\tthis._hoverable( this.headers );\n\t\tthis._focusable( this.headers );\n\t},\n\n\t_eventHandler: function( event ) {\n\t\tvar options = this.options,\n\t\t\tactive = this.active,\n\t\t\tclicked = $( event.currentTarget ),\n\t\t\tclickedIsActive = clicked[ 0 ] === active[ 0 ],\n\t\t\tcollapsing = clickedIsActive && options.collapsible,\n\t\t\ttoShow = collapsing ? $() : clicked.next(),\n\t\t\ttoHide = active.next(),\n\t\t\teventData = {\n\t\t\t\toldHeader: active,\n\t\t\t\toldPanel: toHide,\n\t\t\t\tnewHeader: collapsing ? $() : clicked,\n\t\t\t\tnewPanel: toShow\n\t\t\t};\n\n\t\tevent.preventDefault();\n\n\t\tif (\n\t\t\t\t// click on active header, but not collapsible\n\t\t\t\t( clickedIsActive && !options.collapsible ) ||\n\t\t\t\t// allow canceling activation\n\t\t\t\t( this._trigger( \"beforeActivate\", event, eventData ) === false ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\toptions.active = collapsing ? false : this.headers.index( clicked );\n\n\t\t// when the call to ._toggle() comes after the class changes\n\t\t// it causes a very odd bug in IE 8 (see #6720)\n\t\tthis.active = clickedIsActive ? $() : clicked;\n\t\tthis._toggle( eventData );\n\n\t\t// switch classes\n\t\t// corner classes on the previously active header stay after the animation\n\t\tactive.removeClass( \"ui-accordion-header-active ui-state-active\" );\n\t\tif ( options.icons ) {\n\t\t\tactive.children( \".ui-accordion-header-icon\" )\n\t\t\t\t.removeClass( options.icons.activeHeader )\n\t\t\t\t.addClass( options.icons.header );\n\t\t}\n\n\t\tif ( !clickedIsActive ) {\n\t\t\tclicked\n\t\t\t\t.removeClass( \"ui-corner-all\" )\n\t\t\t\t.addClass( \"ui-accordion-header-active ui-state-active ui-corner-top\" );\n\t\t\tif ( options.icons ) {\n\t\t\t\tclicked.children( \".ui-accordion-header-icon\" )\n\t\t\t\t\t.removeClass( options.icons.header )\n\t\t\t\t\t.addClass( options.icons.activeHeader );\n\t\t\t}\n\n\t\t\tclicked\n\t\t\t\t.next()\n\t\t\t\t.addClass( \"ui-accordion-content-active\" );\n\t\t}\n\t},\n\n\t_toggle: function( data ) {\n\t\tvar toShow = data.newPanel,\n\t\t\ttoHide = this.prevShow.length ? this.prevShow : data.oldPanel;\n\n\t\t// handle activating a panel during the animation for another activation\n\t\tthis.prevShow.add( this.prevHide ).stop( true, true );\n\t\tthis.prevShow = toShow;\n\t\tthis.prevHide = toHide;\n\n\t\tif ( this.options.animate ) {\n\t\t\tthis._animate( toShow, toHide, data );\n\t\t} else {\n\t\t\ttoHide.hide();\n\t\t\ttoShow.show();\n\t\t\tthis._toggleComplete( data );\n\t\t}\n\n\t\ttoHide.attr({\n\t\t\t\"aria-hidden\": \"true\"\n\t\t});\n\t\ttoHide.prev().attr({\n\t\t\t\"aria-selected\": \"false\",\n\t\t\t\"aria-expanded\": \"false\"\n\t\t});\n\t\t// if we're switching panels, remove the old header from the tab order\n\t\t// if we're opening from collapsed state, remove the previous header from the tab order\n\t\t// if we're collapsing, then keep the collapsing header in the tab order\n\t\tif ( toShow.length && toHide.length ) {\n\t\t\ttoHide.prev().attr({\n\t\t\t\t\"tabIndex\": -1,\n\t\t\t\t\"aria-expanded\": \"false\"\n\t\t\t});\n\t\t} else if ( toShow.length ) {\n\t\t\tthis.headers.filter(function() {\n\t\t\t\treturn parseInt( $( this ).attr( \"tabIndex\" ), 10 ) === 0;\n\t\t\t})\n\t\t\t.attr( \"tabIndex\", -1 );\n\t\t}\n\n\t\ttoShow\n\t\t\t.attr( \"aria-hidden\", \"false\" )\n\t\t\t.prev()\n\t\t\t\t.attr({\n\t\t\t\t\t\"aria-selected\": \"true\",\n\t\t\t\t\t\"aria-expanded\": \"true\",\n\t\t\t\t\ttabIndex: 0\n\t\t\t\t});\n\t},\n\n\t_animate: function( toShow, toHide, data ) {\n\t\tvar total, easing, duration,\n\t\t\tthat = this,\n\t\t\tadjust = 0,\n\t\t\tboxSizing = toShow.css( \"box-sizing\" ),\n\t\t\tdown = toShow.length &&\n\t\t\t\t( !toHide.length || ( toShow.index() < toHide.index() ) ),\n\t\t\tanimate = this.options.animate || {},\n\t\t\toptions = down && animate.down || animate,\n\t\t\tcomplete = function() {\n\t\t\t\tthat._toggleComplete( data );\n\t\t\t};\n\n\t\tif ( typeof options === \"number\" ) {\n\t\t\tduration = options;\n\t\t}\n\t\tif ( typeof options === \"string\" ) {\n\t\t\teasing = options;\n\t\t}\n\t\t// fall back from options to animation in case of partial down settings\n\t\teasing = easing || options.easing || animate.easing;\n\t\tduration = duration || options.duration || animate.duration;\n\n\t\tif ( !toHide.length ) {\n\t\t\treturn toShow.animate( this.showProps, duration, easing, complete );\n\t\t}\n\t\tif ( !toShow.length ) {\n\t\t\treturn toHide.animate( this.hideProps, duration, easing, complete );\n\t\t}\n\n\t\ttotal = toShow.show().outerHeight();\n\t\ttoHide.animate( this.hideProps, {\n\t\t\tduration: duration,\n\t\t\teasing: easing,\n\t\t\tstep: function( now, fx ) {\n\t\t\t\tfx.now = Math.round( now );\n\t\t\t}\n\t\t});\n\t\ttoShow\n\t\t\t.hide()\n\t\t\t.animate( this.showProps, {\n\t\t\t\tduration: duration,\n\t\t\t\teasing: easing,\n\t\t\t\tcomplete: complete,\n\t\t\t\tstep: function( now, fx ) {\n\t\t\t\t\tfx.now = Math.round( now );\n\t\t\t\t\tif ( fx.prop !== \"height\" ) {\n\t\t\t\t\t\tif ( boxSizing === \"content-box\" ) {\n\t\t\t\t\t\t\tadjust += fx.now;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if ( that.options.heightStyle !== \"content\" ) {\n\t\t\t\t\t\tfx.now = Math.round( total - toHide.outerHeight() - adjust );\n\t\t\t\t\t\tadjust = 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t},\n\n\t_toggleComplete: function( data ) {\n\t\tvar toHide = data.oldPanel;\n\n\t\ttoHide\n\t\t\t.removeClass( \"ui-accordion-content-active\" )\n\t\t\t.prev()\n\t\t\t\t.removeClass( \"ui-corner-top\" )\n\t\t\t\t.addClass( \"ui-corner-all\" );\n\n\t\t// Work around for rendering bug in IE (#5421)\n\t\tif ( toHide.length ) {\n\t\t\ttoHide.parent()[ 0 ].className = toHide.parent()[ 0 ].className;\n\t\t}\n\t\tthis._trigger( \"activate\", null, data );\n\t}\n});\n\n\n/*!\n * jQuery UI Menu 1.11.4\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/menu/\n */\n\n\nvar menu = $.widget( \"ui.menu\", {\n\tversion: \"1.11.4\",\n\tdefaultElement: \"<ul>\",\n\tdelay: 300,\n\toptions: {\n\t\ticons: {\n\t\t\tsubmenu: \"ui-icon-carat-1-e\"\n\t\t},\n\t\titems: \"> *\",\n\t\tmenus: \"ul\",\n\t\tposition: {\n\t\t\tmy: \"left-1 top\",\n\t\t\tat: \"right top\"\n\t\t},\n\t\trole: \"menu\",\n\n\t\t// callbacks\n\t\tblur: null,\n\t\tfocus: null,\n\t\tselect: null\n\t},\n\n\t_create: function() {\n\t\tthis.activeMenu = this.element;\n\n\t\t// Flag used to prevent firing of the click handler\n\t\t// as the event bubbles up through nested menus\n\t\tthis.mouseHandled = false;\n\t\tthis.element\n\t\t\t.uniqueId()\n\t\t\t.addClass( \"ui-menu ui-widget ui-widget-content\" )\n\t\t\t.toggleClass( \"ui-menu-icons\", !!this.element.find( \".ui-icon\" ).length )\n\t\t\t.attr({\n\t\t\t\trole: this.options.role,\n\t\t\t\ttabIndex: 0\n\t\t\t});\n\n\t\tif ( this.options.disabled ) {\n\t\t\tthis.element\n\t\t\t\t.addClass( \"ui-state-disabled\" )\n\t\t\t\t.attr( \"aria-disabled\", \"true\" );\n\t\t}\n\n\t\tthis._on({\n\t\t\t// Prevent focus from sticking to links inside menu after clicking\n\t\t\t// them (focus should always stay on UL during navigation).\n\t\t\t\"mousedown .ui-menu-item\": function( event ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t},\n\t\t\t\"click .ui-menu-item\": function( event ) {\n\t\t\t\tvar target = $( event.target );\n\t\t\t\tif ( !this.mouseHandled && target.not( \".ui-state-disabled\" ).length ) {\n\t\t\t\t\tthis.select( event );\n\n\t\t\t\t\t// Only set the mouseHandled flag if the event will bubble, see #9469.\n\t\t\t\t\tif ( !event.isPropagationStopped() ) {\n\t\t\t\t\t\tthis.mouseHandled = true;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Open submenu on click\n\t\t\t\t\tif ( target.has( \".ui-menu\" ).length ) {\n\t\t\t\t\t\tthis.expand( event );\n\t\t\t\t\t} else if ( !this.element.is( \":focus\" ) && $( this.document[ 0 ].activeElement ).closest( \".ui-menu\" ).length ) {\n\n\t\t\t\t\t\t// Redirect focus to the menu\n\t\t\t\t\t\tthis.element.trigger( \"focus\", [ true ] );\n\n\t\t\t\t\t\t// If the active item is on the top level, let it stay active.\n\t\t\t\t\t\t// Otherwise, blur the active item since it is no longer visible.\n\t\t\t\t\t\tif ( this.active && this.active.parents( \".ui-menu\" ).length === 1 ) {\n\t\t\t\t\t\t\tclearTimeout( this.timer );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"mouseenter .ui-menu-item\": function( event ) {\n\t\t\t\t// Ignore mouse events while typeahead is active, see #10458.\n\t\t\t\t// Prevents focusing the wrong item when typeahead causes a scroll while the mouse\n\t\t\t\t// is over an item in the menu\n\t\t\t\tif ( this.previousFilter ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tvar target = $( event.currentTarget );\n\t\t\t\t// Remove ui-state-active class from siblings of the newly focused menu item\n\t\t\t\t// to avoid a jump caused by adjacent elements both having a class with a border\n\t\t\t\ttarget.siblings( \".ui-state-active\" ).removeClass( \"ui-state-active\" );\n\t\t\t\tthis.focus( event, target );\n\t\t\t},\n\t\t\tmouseleave: \"collapseAll\",\n\t\t\t\"mouseleave .ui-menu\": \"collapseAll\",\n\t\t\tfocus: function( event, keepActiveItem ) {\n\t\t\t\t// If there's already an active item, keep it active\n\t\t\t\t// If not, activate the first item\n\t\t\t\tvar item = this.active || this.element.find( this.options.items ).eq( 0 );\n\n\t\t\t\tif ( !keepActiveItem ) {\n\t\t\t\t\tthis.focus( event, item );\n\t\t\t\t}\n\t\t\t},\n\t\t\tblur: function( event ) {\n\t\t\t\tthis._delay(function() {\n\t\t\t\t\tif ( !$.contains( this.element[0], this.document[0].activeElement ) ) {\n\t\t\t\t\t\tthis.collapseAll( event );\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t\tkeydown: \"_keydown\"\n\t\t});\n\n\t\tthis.refresh();\n\n\t\t// Clicks outside of a menu collapse any open menus\n\t\tthis._on( this.document, {\n\t\t\tclick: function( event ) {\n\t\t\t\tif ( this._closeOnDocumentClick( event ) ) {\n\t\t\t\t\tthis.collapseAll( event );\n\t\t\t\t}\n\n\t\t\t\t// Reset the mouseHandled flag\n\t\t\t\tthis.mouseHandled = false;\n\t\t\t}\n\t\t});\n\t},\n\n\t_destroy: function() {\n\t\t// Destroy (sub)menus\n\t\tthis.element\n\t\t\t.removeAttr( \"aria-activedescendant\" )\n\t\t\t.find( \".ui-menu\" ).addBack()\n\t\t\t\t.removeClass( \"ui-menu ui-widget ui-widget-content ui-menu-icons ui-front\" )\n\t\t\t\t.removeAttr( \"role\" )\n\t\t\t\t.removeAttr( \"tabIndex\" )\n\t\t\t\t.removeAttr( \"aria-labelledby\" )\n\t\t\t\t.removeAttr( \"aria-expanded\" )\n\t\t\t\t.removeAttr( \"aria-hidden\" )\n\t\t\t\t.removeAttr( \"aria-disabled\" )\n\t\t\t\t.removeUniqueId()\n\t\t\t\t.show();\n\n\t\t// Destroy menu items\n\t\tthis.element.find( \".ui-menu-item\" )\n\t\t\t.removeClass( \"ui-menu-item\" )\n\t\t\t.removeAttr( \"role\" )\n\t\t\t.removeAttr( \"aria-disabled\" )\n\t\t\t.removeUniqueId()\n\t\t\t.removeClass( \"ui-state-hover\" )\n\t\t\t.removeAttr( \"tabIndex\" )\n\t\t\t.removeAttr( \"role\" )\n\t\t\t.removeAttr( \"aria-haspopup\" )\n\t\t\t.children().each( function() {\n\t\t\t\tvar elem = $( this );\n\t\t\t\tif ( elem.data( \"ui-menu-submenu-carat\" ) ) {\n\t\t\t\t\telem.remove();\n\t\t\t\t}\n\t\t\t});\n\n\t\t// Destroy menu dividers\n\t\tthis.element.find( \".ui-menu-divider\" ).removeClass( \"ui-menu-divider ui-widget-content\" );\n\t},\n\n\t_keydown: function( event ) {\n\t\tvar match, prev, character, skip,\n\t\t\tpreventDefault = true;\n\n\t\tswitch ( event.keyCode ) {\n\t\tcase $.ui.keyCode.PAGE_UP:\n\t\t\tthis.previousPage( event );\n\t\t\tbreak;\n\t\tcase $.ui.keyCode.PAGE_DOWN:\n\t\t\tthis.nextPage( event );\n\t\t\tbreak;\n\t\tcase $.ui.keyCode.HOME:\n\t\t\tthis._move( \"first\", \"first\", event );\n\t\t\tbreak;\n\t\tcase $.ui.keyCode.END:\n\t\t\tthis._move( \"last\", \"last\", event );\n\t\t\tbreak;\n\t\tcase $.ui.keyCode.UP:\n\t\t\tthis.previous( event );\n\t\t\tbreak;\n\t\tcase $.ui.keyCode.DOWN:\n\t\t\tthis.next( event );\n\t\t\tbreak;\n\t\tcase $.ui.keyCode.LEFT:\n\t\t\tthis.collapse( event );\n\t\t\tbreak;\n\t\tcase $.ui.keyCode.RIGHT:\n\t\t\tif ( this.active && !this.active.is( \".ui-state-disabled\" ) ) {\n\t\t\t\tthis.expand( event );\n\t\t\t}\n\t\t\tbreak;\n\t\tcase $.ui.keyCode.ENTER:\n\t\tcase $.ui.keyCode.SPACE:\n\t\t\tthis._activate( event );\n\t\t\tbreak;\n\t\tcase $.ui.keyCode.ESCAPE:\n\t\t\tthis.collapse( event );\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tpreventDefault = false;\n\t\t\tprev = this.previousFilter || \"\";\n\t\t\tcharacter = String.fromCharCode( event.keyCode );\n\t\t\tskip = false;\n\n\t\t\tclearTimeout( this.filterTimer );\n\n\t\t\tif ( character === prev ) {\n\t\t\t\tskip = true;\n\t\t\t} else {\n\t\t\t\tcharacter = prev + character;\n\t\t\t}\n\n\t\t\tmatch = this._filterMenuItems( character );\n\t\t\tmatch = skip && match.index( this.active.next() ) !== -1 ?\n\t\t\t\tthis.active.nextAll( \".ui-menu-item\" ) :\n\t\t\t\tmatch;\n\n\t\t\t// If no matches on the current filter, reset to the last character pressed\n\t\t\t// to move down the menu to the first item that starts with that character\n\t\t\tif ( !match.length ) {\n\t\t\t\tcharacter = String.fromCharCode( event.keyCode );\n\t\t\t\tmatch = this._filterMenuItems( character );\n\t\t\t}\n\n\t\t\tif ( match.length ) {\n\t\t\t\tthis.focus( event, match );\n\t\t\t\tthis.previousFilter = character;\n\t\t\t\tthis.filterTimer = this._delay(function() {\n\t\t\t\t\tdelete this.previousFilter;\n\t\t\t\t}, 1000 );\n\t\t\t} else {\n\t\t\t\tdelete this.previousFilter;\n\t\t\t}\n\t\t}\n\n\t\tif ( preventDefault ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t},\n\n\t_activate: function( event ) {\n\t\tif ( !this.active.is( \".ui-state-disabled\" ) ) {\n\t\t\tif ( this.active.is( \"[aria-haspopup='true']\" ) ) {\n\t\t\t\tthis.expand( event );\n\t\t\t} else {\n\t\t\t\tthis.select( event );\n\t\t\t}\n\t\t}\n\t},\n\n\trefresh: function() {\n\t\tvar menus, items,\n\t\t\tthat = this,\n\t\t\ticon = this.options.icons.submenu,\n\t\t\tsubmenus = this.element.find( this.options.menus );\n\n\t\tthis.element.toggleClass( \"ui-menu-icons\", !!this.element.find( \".ui-icon\" ).length );\n\n\t\t// Initialize nested menus\n\t\tsubmenus.filter( \":not(.ui-menu)\" )\n\t\t\t.addClass( \"ui-menu ui-widget ui-widget-content ui-front\" )\n\t\t\t.hide()\n\t\t\t.attr({\n\t\t\t\trole: this.options.role,\n\t\t\t\t\"aria-hidden\": \"true\",\n\t\t\t\t\"aria-expanded\": \"false\"\n\t\t\t})\n\t\t\t.each(function() {\n\t\t\t\tvar menu = $( this ),\n\t\t\t\t\titem = menu.parent(),\n\t\t\t\t\tsubmenuCarat = $( \"<span>\" )\n\t\t\t\t\t\t.addClass( \"ui-menu-icon ui-icon \" + icon )\n\t\t\t\t\t\t.data( \"ui-menu-submenu-carat\", true );\n\n\t\t\t\titem\n\t\t\t\t\t.attr( \"aria-haspopup\", \"true\" )\n\t\t\t\t\t.prepend( submenuCarat );\n\t\t\t\tmenu.attr( \"aria-labelledby\", item.attr( \"id\" ) );\n\t\t\t});\n\n\t\tmenus = submenus.add( this.element );\n\t\titems = menus.find( this.options.items );\n\n\t\t// Initialize menu-items containing spaces and/or dashes only as dividers\n\t\titems.not( \".ui-menu-item\" ).each(function() {\n\t\t\tvar item = $( this );\n\t\t\tif ( that._isDivider( item ) ) {\n\t\t\t\titem.addClass( \"ui-widget-content ui-menu-divider\" );\n\t\t\t}\n\t\t});\n\n\t\t// Don't refresh list items that are already adapted\n\t\titems.not( \".ui-menu-item, .ui-menu-divider\" )\n\t\t\t.addClass( \"ui-menu-item\" )\n\t\t\t.uniqueId()\n\t\t\t.attr({\n\t\t\t\ttabIndex: -1,\n\t\t\t\trole: this._itemRole()\n\t\t\t});\n\n\t\t// Add aria-disabled attribute to any disabled menu item\n\t\titems.filter( \".ui-state-disabled\" ).attr( \"aria-disabled\", \"true\" );\n\n\t\t// If the active item has been removed, blur the menu\n\t\tif ( this.active && !$.contains( this.element[ 0 ], this.active[ 0 ] ) ) {\n\t\t\tthis.blur();\n\t\t}\n\t},\n\n\t_itemRole: function() {\n\t\treturn {\n\t\t\tmenu: \"menuitem\",\n\t\t\tlistbox: \"option\"\n\t\t}[ this.options.role ];\n\t},\n\n\t_setOption: function( key, value ) {\n\t\tif ( key === \"icons\" ) {\n\t\t\tthis.element.find( \".ui-menu-icon\" )\n\t\t\t\t.removeClass( this.options.icons.submenu )\n\t\t\t\t.addClass( value.submenu );\n\t\t}\n\t\tif ( key === \"disabled\" ) {\n\t\t\tthis.element\n\t\t\t\t.toggleClass( \"ui-state-disabled\", !!value )\n\t\t\t\t.attr( \"aria-disabled\", value );\n\t\t}\n\t\tthis._super( key, value );\n\t},\n\n\tfocus: function( event, item ) {\n\t\tvar nested, focused;\n\t\tthis.blur( event, event && event.type === \"focus\" );\n\n\t\tthis._scrollIntoView( item );\n\n\t\tthis.active = item.first();\n\t\tfocused = this.active.addClass( \"ui-state-focus\" ).removeClass( \"ui-state-active\" );\n\t\t// Only update aria-activedescendant if there's a role\n\t\t// otherwise we assume focus is managed elsewhere\n\t\tif ( this.options.role ) {\n\t\t\tthis.element.attr( \"aria-activedescendant\", focused.attr( \"id\" ) );\n\t\t}\n\n\t\t// Highlight active parent menu item, if any\n\t\tthis.active\n\t\t\t.parent()\n\t\t\t.closest( \".ui-menu-item\" )\n\t\t\t.addClass( \"ui-state-active\" );\n\n\t\tif ( event && event.type === \"keydown\" ) {\n\t\t\tthis._close();\n\t\t} else {\n\t\t\tthis.timer = this._delay(function() {\n\t\t\t\tthis._close();\n\t\t\t}, this.delay );\n\t\t}\n\n\t\tnested = item.children( \".ui-menu\" );\n\t\tif ( nested.length && event && ( /^mouse/.test( event.type ) ) ) {\n\t\t\tthis._startOpening(nested);\n\t\t}\n\t\tthis.activeMenu = item.parent();\n\n\t\tthis._trigger( \"focus\", event, { item: item } );\n\t},\n\n\t_scrollIntoView: function( item ) {\n\t\tvar borderTop, paddingTop, offset, scroll, elementHeight, itemHeight;\n\t\tif ( this._hasScroll() ) {\n\t\t\tborderTop = parseFloat( $.css( this.activeMenu[0], \"borderTopWidth\" ) ) || 0;\n\t\t\tpaddingTop = parseFloat( $.css( this.activeMenu[0], \"paddingTop\" ) ) || 0;\n\t\t\toffset = item.offset().top - this.activeMenu.offset().top - borderTop - paddingTop;\n\t\t\tscroll = this.activeMenu.scrollTop();\n\t\t\telementHeight = this.activeMenu.height();\n\t\t\titemHeight = item.outerHeight();\n\n\t\t\tif ( offset < 0 ) {\n\t\t\t\tthis.activeMenu.scrollTop( scroll + offset );\n\t\t\t} else if ( offset + itemHeight > elementHeight ) {\n\t\t\t\tthis.activeMenu.scrollTop( scroll + offset - elementHeight + itemHeight );\n\t\t\t}\n\t\t}\n\t},\n\n\tblur: function( event, fromFocus ) {\n\t\tif ( !fromFocus ) {\n\t\t\tclearTimeout( this.timer );\n\t\t}\n\n\t\tif ( !this.active ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.active.removeClass( \"ui-state-focus\" );\n\t\tthis.active = null;\n\n\t\tthis._trigger( \"blur\", event, { item: this.active } );\n\t},\n\n\t_startOpening: function( submenu ) {\n\t\tclearTimeout( this.timer );\n\n\t\t// Don't open if already open fixes a Firefox bug that caused a .5 pixel\n\t\t// shift in the submenu position when mousing over the carat icon\n\t\tif ( submenu.attr( \"aria-hidden\" ) !== \"true\" ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.timer = this._delay(function() {\n\t\t\tthis._close();\n\t\t\tthis._open( submenu );\n\t\t}, this.delay );\n\t},\n\n\t_open: function( submenu ) {\n\t\tvar position = $.extend({\n\t\t\tof: this.active\n\t\t}, this.options.position );\n\n\t\tclearTimeout( this.timer );\n\t\tthis.element.find( \".ui-menu\" ).not( submenu.parents( \".ui-menu\" ) )\n\t\t\t.hide()\n\t\t\t.attr( \"aria-hidden\", \"true\" );\n\n\t\tsubmenu\n\t\t\t.show()\n\t\t\t.removeAttr( \"aria-hidden\" )\n\t\t\t.attr( \"aria-expanded\", \"true\" )\n\t\t\t.position( position );\n\t},\n\n\tcollapseAll: function( event, all ) {\n\t\tclearTimeout( this.timer );\n\t\tthis.timer = this._delay(function() {\n\t\t\t// If we were passed an event, look for the submenu that contains the event\n\t\t\tvar currentMenu = all ? this.element :\n\t\t\t\t$( event && event.target ).closest( this.element.find( \".ui-menu\" ) );\n\n\t\t\t// If we found no valid submenu ancestor, use the main menu to close all sub menus anyway\n\t\t\tif ( !currentMenu.length ) {\n\t\t\t\tcurrentMenu = this.element;\n\t\t\t}\n\n\t\t\tthis._close( currentMenu );\n\n\t\t\tthis.blur( event );\n\t\t\tthis.activeMenu = currentMenu;\n\t\t}, this.delay );\n\t},\n\n\t// With no arguments, closes the currently active menu - if nothing is active\n\t// it closes all menus.  If passed an argument, it will search for menus BELOW\n\t_close: function( startMenu ) {\n\t\tif ( !startMenu ) {\n\t\t\tstartMenu = this.active ? this.active.parent() : this.element;\n\t\t}\n\n\t\tstartMenu\n\t\t\t.find( \".ui-menu\" )\n\t\t\t\t.hide()\n\t\t\t\t.attr( \"aria-hidden\", \"true\" )\n\t\t\t\t.attr( \"aria-expanded\", \"false\" )\n\t\t\t.end()\n\t\t\t.find( \".ui-state-active\" ).not( \".ui-state-focus\" )\n\t\t\t\t.removeClass( \"ui-state-active\" );\n\t},\n\n\t_closeOnDocumentClick: function( event ) {\n\t\treturn !$( event.target ).closest( \".ui-menu\" ).length;\n\t},\n\n\t_isDivider: function( item ) {\n\n\t\t// Match hyphen, em dash, en dash\n\t\treturn !/[^\\-\\u2014\\u2013\\s]/.test( item.text() );\n\t},\n\n\tcollapse: function( event ) {\n\t\tvar newItem = this.active &&\n\t\t\tthis.active.parent().closest( \".ui-menu-item\", this.element );\n\t\tif ( newItem && newItem.length ) {\n\t\t\tthis._close();\n\t\t\tthis.focus( event, newItem );\n\t\t}\n\t},\n\n\texpand: function( event ) {\n\t\tvar newItem = this.active &&\n\t\t\tthis.active\n\t\t\t\t.children( \".ui-menu \" )\n\t\t\t\t.find( this.options.items )\n\t\t\t\t.first();\n\n\t\tif ( newItem && newItem.length ) {\n\t\t\tthis._open( newItem.parent() );\n\n\t\t\t// Delay so Firefox will not hide activedescendant change in expanding submenu from AT\n\t\t\tthis._delay(function() {\n\t\t\t\tthis.focus( event, newItem );\n\t\t\t});\n\t\t}\n\t},\n\n\tnext: function( event ) {\n\t\tthis._move( \"next\", \"first\", event );\n\t},\n\n\tprevious: function( event ) {\n\t\tthis._move( \"prev\", \"last\", event );\n\t},\n\n\tisFirstItem: function() {\n\t\treturn this.active && !this.active.prevAll( \".ui-menu-item\" ).length;\n\t},\n\n\tisLastItem: function() {\n\t\treturn this.active && !this.active.nextAll( \".ui-menu-item\" ).length;\n\t},\n\n\t_move: function( direction, filter, event ) {\n\t\tvar next;\n\t\tif ( this.active ) {\n\t\t\tif ( direction === \"first\" || direction === \"last\" ) {\n\t\t\t\tnext = this.active\n\t\t\t\t\t[ direction === \"first\" ? \"prevAll\" : \"nextAll\" ]( \".ui-menu-item\" )\n\t\t\t\t\t.eq( -1 );\n\t\t\t} else {\n\t\t\t\tnext = this.active\n\t\t\t\t\t[ direction + \"All\" ]( \".ui-menu-item\" )\n\t\t\t\t\t.eq( 0 );\n\t\t\t}\n\t\t}\n\t\tif ( !next || !next.length || !this.active ) {\n\t\t\tnext = this.activeMenu.find( this.options.items )[ filter ]();\n\t\t}\n\n\t\tthis.focus( event, next );\n\t},\n\n\tnextPage: function( event ) {\n\t\tvar item, base, height;\n\n\t\tif ( !this.active ) {\n\t\t\tthis.next( event );\n\t\t\treturn;\n\t\t}\n\t\tif ( this.isLastItem() ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( this._hasScroll() ) {\n\t\t\tbase = this.active.offset().top;\n\t\t\theight = this.element.height();\n\t\t\tthis.active.nextAll( \".ui-menu-item\" ).each(function() {\n\t\t\t\titem = $( this );\n\t\t\t\treturn item.offset().top - base - height < 0;\n\t\t\t});\n\n\t\t\tthis.focus( event, item );\n\t\t} else {\n\t\t\tthis.focus( event, this.activeMenu.find( this.options.items )\n\t\t\t\t[ !this.active ? \"first\" : \"last\" ]() );\n\t\t}\n\t},\n\n\tpreviousPage: function( event ) {\n\t\tvar item, base, height;\n\t\tif ( !this.active ) {\n\t\t\tthis.next( event );\n\t\t\treturn;\n\t\t}\n\t\tif ( this.isFirstItem() ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( this._hasScroll() ) {\n\t\t\tbase = this.active.offset().top;\n\t\t\theight = this.element.height();\n\t\t\tthis.active.prevAll( \".ui-menu-item\" ).each(function() {\n\t\t\t\titem = $( this );\n\t\t\t\treturn item.offset().top - base + height > 0;\n\t\t\t});\n\n\t\t\tthis.focus( event, item );\n\t\t} else {\n\t\t\tthis.focus( event, this.activeMenu.find( this.options.items ).first() );\n\t\t}\n\t},\n\n\t_hasScroll: function() {\n\t\treturn this.element.outerHeight() < this.element.prop( \"scrollHeight\" );\n\t},\n\n\tselect: function( event ) {\n\t\t// TODO: It should never be possible to not have an active item at this\n\t\t// point, but the tests don't trigger mouseenter before click.\n\t\tthis.active = this.active || $( event.target ).closest( \".ui-menu-item\" );\n\t\tvar ui = { item: this.active };\n\t\tif ( !this.active.has( \".ui-menu\" ).length ) {\n\t\t\tthis.collapseAll( event, true );\n\t\t}\n\t\tthis._trigger( \"select\", event, ui );\n\t},\n\n\t_filterMenuItems: function(character) {\n\t\tvar escapedCharacter = character.replace( /[\\-\\[\\]{}()*+?.,\\\\\\^$|#\\s]/g, \"\\\\$&\" ),\n\t\t\tregex = new RegExp( \"^\" + escapedCharacter, \"i\" );\n\n\t\treturn this.activeMenu\n\t\t\t.find( this.options.items )\n\n\t\t\t// Only match on items, not dividers or other content (#10571)\n\t\t\t.filter( \".ui-menu-item\" )\n\t\t\t.filter(function() {\n\t\t\t\treturn regex.test( $.trim( $( this ).text() ) );\n\t\t\t});\n\t}\n});\n\n\n/*!\n * jQuery UI Autocomplete 1.11.4\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/autocomplete/\n */\n\n\n$.widget( \"ui.autocomplete\", {\n\tversion: \"1.11.4\",\n\tdefaultElement: \"<input>\",\n\toptions: {\n\t\tappendTo: null,\n\t\tautoFocus: false,\n\t\tdelay: 300,\n\t\tminLength: 1,\n\t\tposition: {\n\t\t\tmy: \"left top\",\n\t\t\tat: \"left bottom\",\n\t\t\tcollision: \"none\"\n\t\t},\n\t\tsource: null,\n\n\t\t// callbacks\n\t\tchange: null,\n\t\tclose: null,\n\t\tfocus: null,\n\t\topen: null,\n\t\tresponse: null,\n\t\tsearch: null,\n\t\tselect: null\n\t},\n\n\trequestIndex: 0,\n\tpending: 0,\n\n\t_create: function() {\n\t\t// Some browsers only repeat keydown events, not keypress events,\n\t\t// so we use the suppressKeyPress flag to determine if we've already\n\t\t// handled the keydown event. #7269\n\t\t// Unfortunately the code for & in keypress is the same as the up arrow,\n\t\t// so we use the suppressKeyPressRepeat flag to avoid handling keypress\n\t\t// events when we know the keydown event was used to modify the\n\t\t// search term. #7799\n\t\tvar suppressKeyPress, suppressKeyPressRepeat, suppressInput,\n\t\t\tnodeName = this.element[ 0 ].nodeName.toLowerCase(),\n\t\t\tisTextarea = nodeName === \"textarea\",\n\t\t\tisInput = nodeName === \"input\";\n\n\t\tthis.isMultiLine =\n\t\t\t// Textareas are always multi-line\n\t\t\tisTextarea ? true :\n\t\t\t// Inputs are always single-line, even if inside a contentEditable element\n\t\t\t// IE also treats inputs as contentEditable\n\t\t\tisInput ? false :\n\t\t\t// All other element types are determined by whether or not they're contentEditable\n\t\t\tthis.element.prop( \"isContentEditable\" );\n\n\t\tthis.valueMethod = this.element[ isTextarea || isInput ? \"val\" : \"text\" ];\n\t\tthis.isNewMenu = true;\n\n\t\tthis.element\n\t\t\t.addClass( \"ui-autocomplete-input\" )\n\t\t\t.attr( \"autocomplete\", \"off\" );\n\n\t\tthis._on( this.element, {\n\t\t\tkeydown: function( event ) {\n\t\t\t\tif ( this.element.prop( \"readOnly\" ) ) {\n\t\t\t\t\tsuppressKeyPress = true;\n\t\t\t\t\tsuppressInput = true;\n\t\t\t\t\tsuppressKeyPressRepeat = true;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tsuppressKeyPress = false;\n\t\t\t\tsuppressInput = false;\n\t\t\t\tsuppressKeyPressRepeat = false;\n\t\t\t\tvar keyCode = $.ui.keyCode;\n\t\t\t\tswitch ( event.keyCode ) {\n\t\t\t\tcase keyCode.PAGE_UP:\n\t\t\t\t\tsuppressKeyPress = true;\n\t\t\t\t\tthis._move( \"previousPage\", event );\n\t\t\t\t\tbreak;\n\t\t\t\tcase keyCode.PAGE_DOWN:\n\t\t\t\t\tsuppressKeyPress = true;\n\t\t\t\t\tthis._move( \"nextPage\", event );\n\t\t\t\t\tbreak;\n\t\t\t\tcase keyCode.UP:\n\t\t\t\t\tsuppressKeyPress = true;\n\t\t\t\t\tthis._keyEvent( \"previous\", event );\n\t\t\t\t\tbreak;\n\t\t\t\tcase keyCode.DOWN:\n\t\t\t\t\tsuppressKeyPress = true;\n\t\t\t\t\tthis._keyEvent( \"next\", event );\n\t\t\t\t\tbreak;\n\t\t\t\tcase keyCode.ENTER:\n\t\t\t\t\t// when menu is open and has focus\n\t\t\t\t\tif ( this.menu.active ) {\n\t\t\t\t\t\t// #6055 - Opera still allows the keypress to occur\n\t\t\t\t\t\t// which causes forms to submit\n\t\t\t\t\t\tsuppressKeyPress = true;\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tthis.menu.select( event );\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase keyCode.TAB:\n\t\t\t\t\tif ( this.menu.active ) {\n\t\t\t\t\t\tthis.menu.select( event );\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase keyCode.ESCAPE:\n\t\t\t\t\tif ( this.menu.element.is( \":visible\" ) ) {\n\t\t\t\t\t\tif ( !this.isMultiLine ) {\n\t\t\t\t\t\t\tthis._value( this.term );\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis.close( event );\n\t\t\t\t\t\t// Different browsers have different default behavior for escape\n\t\t\t\t\t\t// Single press can mean undo or clear\n\t\t\t\t\t\t// Double press in IE means clear the whole form\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tsuppressKeyPressRepeat = true;\n\t\t\t\t\t// search timeout should be triggered before the input value is changed\n\t\t\t\t\tthis._searchTimeout( event );\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t},\n\t\t\tkeypress: function( event ) {\n\t\t\t\tif ( suppressKeyPress ) {\n\t\t\t\t\tsuppressKeyPress = false;\n\t\t\t\t\tif ( !this.isMultiLine || this.menu.element.is( \":visible\" ) ) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif ( suppressKeyPressRepeat ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// replicate some key handlers to allow them to repeat in Firefox and Opera\n\t\t\t\tvar keyCode = $.ui.keyCode;\n\t\t\t\tswitch ( event.keyCode ) {\n\t\t\t\tcase keyCode.PAGE_UP:\n\t\t\t\t\tthis._move( \"previousPage\", event );\n\t\t\t\t\tbreak;\n\t\t\t\tcase keyCode.PAGE_DOWN:\n\t\t\t\t\tthis._move( \"nextPage\", event );\n\t\t\t\t\tbreak;\n\t\t\t\tcase keyCode.UP:\n\t\t\t\t\tthis._keyEvent( \"previous\", event );\n\t\t\t\t\tbreak;\n\t\t\t\tcase keyCode.DOWN:\n\t\t\t\t\tthis._keyEvent( \"next\", event );\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t},\n\t\t\tinput: function( event ) {\n\t\t\t\tif ( suppressInput ) {\n\t\t\t\t\tsuppressInput = false;\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis._searchTimeout( event );\n\t\t\t},\n\t\t\tfocus: function() {\n\t\t\t\tthis.selectedItem = null;\n\t\t\t\tthis.previous = this._value();\n\t\t\t},\n\t\t\tblur: function( event ) {\n\t\t\t\tif ( this.cancelBlur ) {\n\t\t\t\t\tdelete this.cancelBlur;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tclearTimeout( this.searching );\n\t\t\t\tthis.close( event );\n\t\t\t\tthis._change( event );\n\t\t\t}\n\t\t});\n\n\t\tthis._initSource();\n\t\tthis.menu = $( \"<ul>\" )\n\t\t\t.addClass( \"ui-autocomplete ui-front\" )\n\t\t\t.appendTo( this._appendTo() )\n\t\t\t.menu({\n\t\t\t\t// disable ARIA support, the live region takes care of that\n\t\t\t\trole: null\n\t\t\t})\n\t\t\t.hide()\n\t\t\t.menu( \"instance\" );\n\n\t\tthis._on( this.menu.element, {\n\t\t\tmousedown: function( event ) {\n\t\t\t\t// prevent moving focus out of the text field\n\t\t\t\tevent.preventDefault();\n\n\t\t\t\t// IE doesn't prevent moving focus even with event.preventDefault()\n\t\t\t\t// so we set a flag to know when we should ignore the blur event\n\t\t\t\tthis.cancelBlur = true;\n\t\t\t\tthis._delay(function() {\n\t\t\t\t\tdelete this.cancelBlur;\n\t\t\t\t});\n\n\t\t\t\t// clicking on the scrollbar causes focus to shift to the body\n\t\t\t\t// but we can't detect a mouseup or a click immediately afterward\n\t\t\t\t// so we have to track the next mousedown and close the menu if\n\t\t\t\t// the user clicks somewhere outside of the autocomplete\n\t\t\t\tvar menuElement = this.menu.element[ 0 ];\n\t\t\t\tif ( !$( event.target ).closest( \".ui-menu-item\" ).length ) {\n\t\t\t\t\tthis._delay(function() {\n\t\t\t\t\t\tvar that = this;\n\t\t\t\t\t\tthis.document.one( \"mousedown\", function( event ) {\n\t\t\t\t\t\t\tif ( event.target !== that.element[ 0 ] &&\n\t\t\t\t\t\t\t\t\tevent.target !== menuElement &&\n\t\t\t\t\t\t\t\t\t!$.contains( menuElement, event.target ) ) {\n\t\t\t\t\t\t\t\tthat.close();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tmenufocus: function( event, ui ) {\n\t\t\t\tvar label, item;\n\t\t\t\t// support: Firefox\n\t\t\t\t// Prevent accidental activation of menu items in Firefox (#7024 #9118)\n\t\t\t\tif ( this.isNewMenu ) {\n\t\t\t\t\tthis.isNewMenu = false;\n\t\t\t\t\tif ( event.originalEvent && /^mouse/.test( event.originalEvent.type ) ) {\n\t\t\t\t\t\tthis.menu.blur();\n\n\t\t\t\t\t\tthis.document.one( \"mousemove\", function() {\n\t\t\t\t\t\t\t$( event.target ).trigger( event.originalEvent );\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\titem = ui.item.data( \"ui-autocomplete-item\" );\n\t\t\t\tif ( false !== this._trigger( \"focus\", event, { item: item } ) ) {\n\t\t\t\t\t// use value to match what will end up in the input, if it was a key event\n\t\t\t\t\tif ( event.originalEvent && /^key/.test( event.originalEvent.type ) ) {\n\t\t\t\t\t\tthis._value( item.value );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Announce the value in the liveRegion\n\t\t\t\tlabel = ui.item.attr( \"aria-label\" ) || item.value;\n\t\t\t\tif ( label && $.trim( label ).length ) {\n\t\t\t\t\tthis.liveRegion.children().hide();\n\t\t\t\t\t$( \"<div>\" ).text( label ).appendTo( this.liveRegion );\n\t\t\t\t}\n\t\t\t},\n\t\t\tmenuselect: function( event, ui ) {\n\t\t\t\tvar item = ui.item.data( \"ui-autocomplete-item\" ),\n\t\t\t\t\tprevious = this.previous;\n\n\t\t\t\t// only trigger when focus was lost (click on menu)\n\t\t\t\tif ( this.element[ 0 ] !== this.document[ 0 ].activeElement ) {\n\t\t\t\t\tthis.element.focus();\n\t\t\t\t\tthis.previous = previous;\n\t\t\t\t\t// #6109 - IE triggers two focus events and the second\n\t\t\t\t\t// is asynchronous, so we need to reset the previous\n\t\t\t\t\t// term synchronously and asynchronously :-(\n\t\t\t\t\tthis._delay(function() {\n\t\t\t\t\t\tthis.previous = previous;\n\t\t\t\t\t\tthis.selectedItem = item;\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif ( false !== this._trigger( \"select\", event, { item: item } ) ) {\n\t\t\t\t\tthis._value( item.value );\n\t\t\t\t}\n\t\t\t\t// reset the term after the select event\n\t\t\t\t// this allows custom select handling to work properly\n\t\t\t\tthis.term = this._value();\n\n\t\t\t\tthis.close( event );\n\t\t\t\tthis.selectedItem = item;\n\t\t\t}\n\t\t});\n\n\t\tthis.liveRegion = $( \"<span>\", {\n\t\t\t\trole: \"status\",\n\t\t\t\t\"aria-live\": \"assertive\",\n\t\t\t\t\"aria-relevant\": \"additions\"\n\t\t\t})\n\t\t\t.addClass( \"ui-helper-hidden-accessible\" )\n\t\t\t.appendTo( this.document[ 0 ].body );\n\n\t\t// turning off autocomplete prevents the browser from remembering the\n\t\t// value when navigating through history, so we re-enable autocomplete\n\t\t// if the page is unloaded before the widget is destroyed. #7790\n\t\tthis._on( this.window, {\n\t\t\tbeforeunload: function() {\n\t\t\t\tthis.element.removeAttr( \"autocomplete\" );\n\t\t\t}\n\t\t});\n\t},\n\n\t_destroy: function() {\n\t\tclearTimeout( this.searching );\n\t\tthis.element\n\t\t\t.removeClass( \"ui-autocomplete-input\" )\n\t\t\t.removeAttr( \"autocomplete\" );\n\t\tthis.menu.element.remove();\n\t\tthis.liveRegion.remove();\n\t},\n\n\t_setOption: function( key, value ) {\n\t\tthis._super( key, value );\n\t\tif ( key === \"source\" ) {\n\t\t\tthis._initSource();\n\t\t}\n\t\tif ( key === \"appendTo\" ) {\n\t\t\tthis.menu.element.appendTo( this._appendTo() );\n\t\t}\n\t\tif ( key === \"disabled\" && value && this.xhr ) {\n\t\t\tthis.xhr.abort();\n\t\t}\n\t},\n\n\t_appendTo: function() {\n\t\tvar element = this.options.appendTo;\n\n\t\tif ( element ) {\n\t\t\telement = element.jquery || element.nodeType ?\n\t\t\t\t$( element ) :\n\t\t\t\tthis.document.find( element ).eq( 0 );\n\t\t}\n\n\t\tif ( !element || !element[ 0 ] ) {\n\t\t\telement = this.element.closest( \".ui-front\" );\n\t\t}\n\n\t\tif ( !element.length ) {\n\t\t\telement = this.document[ 0 ].body;\n\t\t}\n\n\t\treturn element;\n\t},\n\n\t_initSource: function() {\n\t\tvar array, url,\n\t\t\tthat = this;\n\t\tif ( $.isArray( this.options.source ) ) {\n\t\t\tarray = this.options.source;\n\t\t\tthis.source = function( request, response ) {\n\t\t\t\tresponse( $.ui.autocomplete.filter( array, request.term ) );\n\t\t\t};\n\t\t} else if ( typeof this.options.source === \"string\" ) {\n\t\t\turl = this.options.source;\n\t\t\tthis.source = function( request, response ) {\n\t\t\t\tif ( that.xhr ) {\n\t\t\t\t\tthat.xhr.abort();\n\t\t\t\t}\n\t\t\t\tthat.xhr = $.ajax({\n\t\t\t\t\turl: url,\n\t\t\t\t\tdata: request,\n\t\t\t\t\tdataType: \"json\",\n\t\t\t\t\tsuccess: function( data ) {\n\t\t\t\t\t\tresponse( data );\n\t\t\t\t\t},\n\t\t\t\t\terror: function() {\n\t\t\t\t\t\tresponse([]);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t};\n\t\t} else {\n\t\t\tthis.source = this.options.source;\n\t\t}\n\t},\n\n\t_searchTimeout: function( event ) {\n\t\tclearTimeout( this.searching );\n\t\tthis.searching = this._delay(function() {\n\n\t\t\t// Search if the value has changed, or if the user retypes the same value (see #7434)\n\t\t\tvar equalValues = this.term === this._value(),\n\t\t\t\tmenuVisible = this.menu.element.is( \":visible\" ),\n\t\t\t\tmodifierKey = event.altKey || event.ctrlKey || event.metaKey || event.shiftKey;\n\n\t\t\tif ( !equalValues || ( equalValues && !menuVisible && !modifierKey ) ) {\n\t\t\t\tthis.selectedItem = null;\n\t\t\t\tthis.search( null, event );\n\t\t\t}\n\t\t}, this.options.delay );\n\t},\n\n\tsearch: function( value, event ) {\n\t\tvalue = value != null ? value : this._value();\n\n\t\t// always save the actual value, not the one passed as an argument\n\t\tthis.term = this._value();\n\n\t\tif ( value.length < this.options.minLength ) {\n\t\t\treturn this.close( event );\n\t\t}\n\n\t\tif ( this._trigger( \"search\", event ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn this._search( value );\n\t},\n\n\t_search: function( value ) {\n\t\tthis.pending++;\n\t\tthis.element.addClass( \"ui-autocomplete-loading\" );\n\t\tthis.cancelSearch = false;\n\n\t\tthis.source( { term: value }, this._response() );\n\t},\n\n\t_response: function() {\n\t\tvar index = ++this.requestIndex;\n\n\t\treturn $.proxy(function( content ) {\n\t\t\tif ( index === this.requestIndex ) {\n\t\t\t\tthis.__response( content );\n\t\t\t}\n\n\t\t\tthis.pending--;\n\t\t\tif ( !this.pending ) {\n\t\t\t\tthis.element.removeClass( \"ui-autocomplete-loading\" );\n\t\t\t}\n\t\t}, this );\n\t},\n\n\t__response: function( content ) {\n\t\tif ( content ) {\n\t\t\tcontent = this._normalize( content );\n\t\t}\n\t\tthis._trigger( \"response\", null, { content: content } );\n\t\tif ( !this.options.disabled && content && content.length && !this.cancelSearch ) {\n\t\t\tthis._suggest( content );\n\t\t\tthis._trigger( \"open\" );\n\t\t} else {\n\t\t\t// use ._close() instead of .close() so we don't cancel future searches\n\t\t\tthis._close();\n\t\t}\n\t},\n\n\tclose: function( event ) {\n\t\tthis.cancelSearch = true;\n\t\tthis._close( event );\n\t},\n\n\t_close: function( event ) {\n\t\tif ( this.menu.element.is( \":visible\" ) ) {\n\t\t\tthis.menu.element.hide();\n\t\t\tthis.menu.blur();\n\t\t\tthis.isNewMenu = true;\n\t\t\tthis._trigger( \"close\", event );\n\t\t}\n\t},\n\n\t_change: function( event ) {\n\t\tif ( this.previous !== this._value() ) {\n\t\t\tthis._trigger( \"change\", event, { item: this.selectedItem } );\n\t\t}\n\t},\n\n\t_normalize: function( items ) {\n\t\t// assume all items have the right format when the first item is complete\n\t\tif ( items.length && items[ 0 ].label && items[ 0 ].value ) {\n\t\t\treturn items;\n\t\t}\n\t\treturn $.map( items, function( item ) {\n\t\t\tif ( typeof item === \"string\" ) {\n\t\t\t\treturn {\n\t\t\t\t\tlabel: item,\n\t\t\t\t\tvalue: item\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn $.extend( {}, item, {\n\t\t\t\tlabel: item.label || item.value,\n\t\t\t\tvalue: item.value || item.label\n\t\t\t});\n\t\t});\n\t},\n\n\t_suggest: function( items ) {\n\t\tvar ul = this.menu.element.empty();\n\t\tthis._renderMenu( ul, items );\n\t\tthis.isNewMenu = true;\n\t\tthis.menu.refresh();\n\n\t\t// size and position menu\n\t\tul.show();\n\t\tthis._resizeMenu();\n\t\tul.position( $.extend({\n\t\t\tof: this.element\n\t\t}, this.options.position ) );\n\n\t\tif ( this.options.autoFocus ) {\n\t\t\tthis.menu.next();\n\t\t}\n\t},\n\n\t_resizeMenu: function() {\n\t\tvar ul = this.menu.element;\n\t\tul.outerWidth( Math.max(\n\t\t\t// Firefox wraps long text (possibly a rounding bug)\n\t\t\t// so we add 1px to avoid the wrapping (#7513)\n\t\t\tul.width( \"\" ).outerWidth() + 1,\n\t\t\tthis.element.outerWidth()\n\t\t) );\n\t},\n\n\t_renderMenu: function( ul, items ) {\n\t\tvar that = this;\n\t\t$.each( items, function( index, item ) {\n\t\t\tthat._renderItemData( ul, item );\n\t\t});\n\t},\n\n\t_renderItemData: function( ul, item ) {\n\t\treturn this._renderItem( ul, item ).data( \"ui-autocomplete-item\", item );\n\t},\n\n\t_renderItem: function( ul, item ) {\n\t\treturn $( \"<li>\" ).text( item.label ).appendTo( ul );\n\t},\n\n\t_move: function( direction, event ) {\n\t\tif ( !this.menu.element.is( \":visible\" ) ) {\n\t\t\tthis.search( null, event );\n\t\t\treturn;\n\t\t}\n\t\tif ( this.menu.isFirstItem() && /^previous/.test( direction ) ||\n\t\t\t\tthis.menu.isLastItem() && /^next/.test( direction ) ) {\n\n\t\t\tif ( !this.isMultiLine ) {\n\t\t\t\tthis._value( this.term );\n\t\t\t}\n\n\t\t\tthis.menu.blur();\n\t\t\treturn;\n\t\t}\n\t\tthis.menu[ direction ]( event );\n\t},\n\n\twidget: function() {\n\t\treturn this.menu.element;\n\t},\n\n\t_value: function() {\n\t\treturn this.valueMethod.apply( this.element, arguments );\n\t},\n\n\t_keyEvent: function( keyEvent, event ) {\n\t\tif ( !this.isMultiLine || this.menu.element.is( \":visible\" ) ) {\n\t\t\tthis._move( keyEvent, event );\n\n\t\t\t// prevents moving cursor to beginning/end of the text field in some browsers\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n});\n\n$.extend( $.ui.autocomplete, {\n\tescapeRegex: function( value ) {\n\t\treturn value.replace( /[\\-\\[\\]{}()*+?.,\\\\\\^$|#\\s]/g, \"\\\\$&\" );\n\t},\n\tfilter: function( array, term ) {\n\t\tvar matcher = new RegExp( $.ui.autocomplete.escapeRegex( term ), \"i\" );\n\t\treturn $.grep( array, function( value ) {\n\t\t\treturn matcher.test( value.label || value.value || value );\n\t\t});\n\t}\n});\n\n// live region extension, adding a `messages` option\n// NOTE: This is an experimental API. We are still investigating\n// a full solution for string manipulation and internationalization.\n$.widget( \"ui.autocomplete\", $.ui.autocomplete, {\n\toptions: {\n\t\tmessages: {\n\t\t\tnoResults: \"No search results.\",\n\t\t\tresults: function( amount ) {\n\t\t\t\treturn amount + ( amount > 1 ? \" results are\" : \" result is\" ) +\n\t\t\t\t\t\" available, use up and down arrow keys to navigate.\";\n\t\t\t}\n\t\t}\n\t},\n\n\t__response: function( content ) {\n\t\tvar message;\n\t\tthis._superApply( arguments );\n\t\tif ( this.options.disabled || this.cancelSearch ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( content && content.length ) {\n\t\t\tmessage = this.options.messages.results( content.length );\n\t\t} else {\n\t\t\tmessage = this.options.messages.noResults;\n\t\t}\n\t\tthis.liveRegion.children().hide();\n\t\t$( \"<div>\" ).text( message ).appendTo( this.liveRegion );\n\t}\n});\n\nvar autocomplete = $.ui.autocomplete;\n\n\n/*!\n * jQuery UI Button 1.11.4\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/button/\n */\n\n\nvar lastActive,\n\tbaseClasses = \"ui-button ui-widget ui-state-default ui-corner-all\",\n\ttypeClasses = \"ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only\",\n\tformResetHandler = function() {\n\t\tvar form = $( this );\n\t\tsetTimeout(function() {\n\t\t\tform.find( \":ui-button\" ).button( \"refresh\" );\n\t\t}, 1 );\n\t},\n\tradioGroup = function( radio ) {\n\t\tvar name = radio.name,\n\t\t\tform = radio.form,\n\t\t\tradios = $( [] );\n\t\tif ( name ) {\n\t\t\tname = name.replace( /'/g, \"\\\\'\" );\n\t\t\tif ( form ) {\n\t\t\t\tradios = $( form ).find( \"[name='\" + name + \"'][type=radio]\" );\n\t\t\t} else {\n\t\t\t\tradios = $( \"[name='\" + name + \"'][type=radio]\", radio.ownerDocument )\n\t\t\t\t\t.filter(function() {\n\t\t\t\t\t\treturn !this.form;\n\t\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn radios;\n\t};\n\n$.widget( \"ui.button\", {\n\tversion: \"1.11.4\",\n\tdefaultElement: \"<button>\",\n\toptions: {\n\t\tdisabled: null,\n\t\ttext: true,\n\t\tlabel: null,\n\t\ticons: {\n\t\t\tprimary: null,\n\t\t\tsecondary: null\n\t\t}\n\t},\n\t_create: function() {\n\t\tthis.element.closest( \"form\" )\n\t\t\t.unbind( \"reset\" + this.eventNamespace )\n\t\t\t.bind( \"reset\" + this.eventNamespace, formResetHandler );\n\n\t\tif ( typeof this.options.disabled !== \"boolean\" ) {\n\t\t\tthis.options.disabled = !!this.element.prop( \"disabled\" );\n\t\t} else {\n\t\t\tthis.element.prop( \"disabled\", this.options.disabled );\n\t\t}\n\n\t\tthis._determineButtonType();\n\t\tthis.hasTitle = !!this.buttonElement.attr( \"title\" );\n\n\t\tvar that = this,\n\t\t\toptions = this.options,\n\t\t\ttoggleButton = this.type === \"checkbox\" || this.type === \"radio\",\n\t\t\tactiveClass = !toggleButton ? \"ui-state-active\" : \"\";\n\n\t\tif ( options.label === null ) {\n\t\t\toptions.label = (this.type === \"input\" ? this.buttonElement.val() : this.buttonElement.html());\n\t\t}\n\n\t\tthis._hoverable( this.buttonElement );\n\n\t\tthis.buttonElement\n\t\t\t.addClass( baseClasses )\n\t\t\t.attr( \"role\", \"button\" )\n\t\t\t.bind( \"mouseenter\" + this.eventNamespace, function() {\n\t\t\t\tif ( options.disabled ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif ( this === lastActive ) {\n\t\t\t\t\t$( this ).addClass( \"ui-state-active\" );\n\t\t\t\t}\n\t\t\t})\n\t\t\t.bind( \"mouseleave\" + this.eventNamespace, function() {\n\t\t\t\tif ( options.disabled ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t$( this ).removeClass( activeClass );\n\t\t\t})\n\t\t\t.bind( \"click\" + this.eventNamespace, function( event ) {\n\t\t\t\tif ( options.disabled ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t\t}\n\t\t\t});\n\n\t\t// Can't use _focusable() because the element that receives focus\n\t\t// and the element that gets the ui-state-focus class are different\n\t\tthis._on({\n\t\t\tfocus: function() {\n\t\t\t\tthis.buttonElement.addClass( \"ui-state-focus\" );\n\t\t\t},\n\t\t\tblur: function() {\n\t\t\t\tthis.buttonElement.removeClass( \"ui-state-focus\" );\n\t\t\t}\n\t\t});\n\n\t\tif ( toggleButton ) {\n\t\t\tthis.element.bind( \"change\" + this.eventNamespace, function() {\n\t\t\t\tthat.refresh();\n\t\t\t});\n\t\t}\n\n\t\tif ( this.type === \"checkbox\" ) {\n\t\t\tthis.buttonElement.bind( \"click\" + this.eventNamespace, function() {\n\t\t\t\tif ( options.disabled ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t});\n\t\t} else if ( this.type === \"radio\" ) {\n\t\t\tthis.buttonElement.bind( \"click\" + this.eventNamespace, function() {\n\t\t\t\tif ( options.disabled ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\t$( this ).addClass( \"ui-state-active\" );\n\t\t\t\tthat.buttonElement.attr( \"aria-pressed\", \"true\" );\n\n\t\t\t\tvar radio = that.element[ 0 ];\n\t\t\t\tradioGroup( radio )\n\t\t\t\t\t.not( radio )\n\t\t\t\t\t.map(function() {\n\t\t\t\t\t\treturn $( this ).button( \"widget\" )[ 0 ];\n\t\t\t\t\t})\n\t\t\t\t\t.removeClass( \"ui-state-active\" )\n\t\t\t\t\t.attr( \"aria-pressed\", \"false\" );\n\t\t\t});\n\t\t} else {\n\t\t\tthis.buttonElement\n\t\t\t\t.bind( \"mousedown\" + this.eventNamespace, function() {\n\t\t\t\t\tif ( options.disabled ) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\t$( this ).addClass( \"ui-state-active\" );\n\t\t\t\t\tlastActive = this;\n\t\t\t\t\tthat.document.one( \"mouseup\", function() {\n\t\t\t\t\t\tlastActive = null;\n\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t\t.bind( \"mouseup\" + this.eventNamespace, function() {\n\t\t\t\t\tif ( options.disabled ) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\t$( this ).removeClass( \"ui-state-active\" );\n\t\t\t\t})\n\t\t\t\t.bind( \"keydown\" + this.eventNamespace, function(event) {\n\t\t\t\t\tif ( options.disabled ) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\tif ( event.keyCode === $.ui.keyCode.SPACE || event.keyCode === $.ui.keyCode.ENTER ) {\n\t\t\t\t\t\t$( this ).addClass( \"ui-state-active\" );\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t// see #8559, we bind to blur here in case the button element loses\n\t\t\t\t// focus between keydown and keyup, it would be left in an \"active\" state\n\t\t\t\t.bind( \"keyup\" + this.eventNamespace + \" blur\" + this.eventNamespace, function() {\n\t\t\t\t\t$( this ).removeClass( \"ui-state-active\" );\n\t\t\t\t});\n\n\t\t\tif ( this.buttonElement.is(\"a\") ) {\n\t\t\t\tthis.buttonElement.keyup(function(event) {\n\t\t\t\t\tif ( event.keyCode === $.ui.keyCode.SPACE ) {\n\t\t\t\t\t\t// TODO pass through original event correctly (just as 2nd argument doesn't work)\n\t\t\t\t\t\t$( this ).click();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tthis._setOption( \"disabled\", options.disabled );\n\t\tthis._resetButton();\n\t},\n\n\t_determineButtonType: function() {\n\t\tvar ancestor, labelSelector, checked;\n\n\t\tif ( this.element.is(\"[type=checkbox]\") ) {\n\t\t\tthis.type = \"checkbox\";\n\t\t} else if ( this.element.is(\"[type=radio]\") ) {\n\t\t\tthis.type = \"radio\";\n\t\t} else if ( this.element.is(\"input\") ) {\n\t\t\tthis.type = \"input\";\n\t\t} else {\n\t\t\tthis.type = \"button\";\n\t\t}\n\n\t\tif ( this.type === \"checkbox\" || this.type === \"radio\" ) {\n\t\t\t// we don't search against the document in case the element\n\t\t\t// is disconnected from the DOM\n\t\t\tancestor = this.element.parents().last();\n\t\t\tlabelSelector = \"label[for='\" + this.element.attr(\"id\") + \"']\";\n\t\t\tthis.buttonElement = ancestor.find( labelSelector );\n\t\t\tif ( !this.buttonElement.length ) {\n\t\t\t\tancestor = ancestor.length ? ancestor.siblings() : this.element.siblings();\n\t\t\t\tthis.buttonElement = ancestor.filter( labelSelector );\n\t\t\t\tif ( !this.buttonElement.length ) {\n\t\t\t\t\tthis.buttonElement = ancestor.find( labelSelector );\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.element.addClass( \"ui-helper-hidden-accessible\" );\n\n\t\t\tchecked = this.element.is( \":checked\" );\n\t\t\tif ( checked ) {\n\t\t\t\tthis.buttonElement.addClass( \"ui-state-active\" );\n\t\t\t}\n\t\t\tthis.buttonElement.prop( \"aria-pressed\", checked );\n\t\t} else {\n\t\t\tthis.buttonElement = this.element;\n\t\t}\n\t},\n\n\twidget: function() {\n\t\treturn this.buttonElement;\n\t},\n\n\t_destroy: function() {\n\t\tthis.element\n\t\t\t.removeClass( \"ui-helper-hidden-accessible\" );\n\t\tthis.buttonElement\n\t\t\t.removeClass( baseClasses + \" ui-state-active \" + typeClasses )\n\t\t\t.removeAttr( \"role\" )\n\t\t\t.removeAttr( \"aria-pressed\" )\n\t\t\t.html( this.buttonElement.find(\".ui-button-text\").html() );\n\n\t\tif ( !this.hasTitle ) {\n\t\t\tthis.buttonElement.removeAttr( \"title\" );\n\t\t}\n\t},\n\n\t_setOption: function( key, value ) {\n\t\tthis._super( key, value );\n\t\tif ( key === \"disabled\" ) {\n\t\t\tthis.widget().toggleClass( \"ui-state-disabled\", !!value );\n\t\t\tthis.element.prop( \"disabled\", !!value );\n\t\t\tif ( value ) {\n\t\t\t\tif ( this.type === \"checkbox\" || this.type === \"radio\" ) {\n\t\t\t\t\tthis.buttonElement.removeClass( \"ui-state-focus\" );\n\t\t\t\t} else {\n\t\t\t\t\tthis.buttonElement.removeClass( \"ui-state-focus ui-state-active\" );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tthis._resetButton();\n\t},\n\n\trefresh: function() {\n\t\t//See #8237 & #8828\n\t\tvar isDisabled = this.element.is( \"input, button\" ) ? this.element.is( \":disabled\" ) : this.element.hasClass( \"ui-button-disabled\" );\n\n\t\tif ( isDisabled !== this.options.disabled ) {\n\t\t\tthis._setOption( \"disabled\", isDisabled );\n\t\t}\n\t\tif ( this.type === \"radio\" ) {\n\t\t\tradioGroup( this.element[0] ).each(function() {\n\t\t\t\tif ( $( this ).is( \":checked\" ) ) {\n\t\t\t\t\t$( this ).button( \"widget\" )\n\t\t\t\t\t\t.addClass( \"ui-state-active\" )\n\t\t\t\t\t\t.attr( \"aria-pressed\", \"true\" );\n\t\t\t\t} else {\n\t\t\t\t\t$( this ).button( \"widget\" )\n\t\t\t\t\t\t.removeClass( \"ui-state-active\" )\n\t\t\t\t\t\t.attr( \"aria-pressed\", \"false\" );\n\t\t\t\t}\n\t\t\t});\n\t\t} else if ( this.type === \"checkbox\" ) {\n\t\t\tif ( this.element.is( \":checked\" ) ) {\n\t\t\t\tthis.buttonElement\n\t\t\t\t\t.addClass( \"ui-state-active\" )\n\t\t\t\t\t.attr( \"aria-pressed\", \"true\" );\n\t\t\t} else {\n\t\t\t\tthis.buttonElement\n\t\t\t\t\t.removeClass( \"ui-state-active\" )\n\t\t\t\t\t.attr( \"aria-pressed\", \"false\" );\n\t\t\t}\n\t\t}\n\t},\n\n\t_resetButton: function() {\n\t\tif ( this.type === \"input\" ) {\n\t\t\tif ( this.options.label ) {\n\t\t\t\tthis.element.val( this.options.label );\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tvar buttonElement = this.buttonElement.removeClass( typeClasses ),\n\t\t\tbuttonText = $( \"<span></span>\", this.document[0] )\n\t\t\t\t.addClass( \"ui-button-text\" )\n\t\t\t\t.html( this.options.label )\n\t\t\t\t.appendTo( buttonElement.empty() )\n\t\t\t\t.text(),\n\t\t\ticons = this.options.icons,\n\t\t\tmultipleIcons = icons.primary && icons.secondary,\n\t\t\tbuttonClasses = [];\n\n\t\tif ( icons.primary || icons.secondary ) {\n\t\t\tif ( this.options.text ) {\n\t\t\t\tbuttonClasses.push( \"ui-button-text-icon\" + ( multipleIcons ? \"s\" : ( icons.primary ? \"-primary\" : \"-secondary\" ) ) );\n\t\t\t}\n\n\t\t\tif ( icons.primary ) {\n\t\t\t\tbuttonElement.prepend( \"<span class='ui-button-icon-primary ui-icon \" + icons.primary + \"'></span>\" );\n\t\t\t}\n\n\t\t\tif ( icons.secondary ) {\n\t\t\t\tbuttonElement.append( \"<span class='ui-button-icon-secondary ui-icon \" + icons.secondary + \"'></span>\" );\n\t\t\t}\n\n\t\t\tif ( !this.options.text ) {\n\t\t\t\tbuttonClasses.push( multipleIcons ? \"ui-button-icons-only\" : \"ui-button-icon-only\" );\n\n\t\t\t\tif ( !this.hasTitle ) {\n\t\t\t\t\tbuttonElement.attr( \"title\", $.trim( buttonText ) );\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tbuttonClasses.push( \"ui-button-text-only\" );\n\t\t}\n\t\tbuttonElement.addClass( buttonClasses.join( \" \" ) );\n\t}\n});\n\n$.widget( \"ui.buttonset\", {\n\tversion: \"1.11.4\",\n\toptions: {\n\t\titems: \"button, input[type=button], input[type=submit], input[type=reset], input[type=checkbox], input[type=radio], a, :data(ui-button)\"\n\t},\n\n\t_create: function() {\n\t\tthis.element.addClass( \"ui-buttonset\" );\n\t},\n\n\t_init: function() {\n\t\tthis.refresh();\n\t},\n\n\t_setOption: function( key, value ) {\n\t\tif ( key === \"disabled\" ) {\n\t\t\tthis.buttons.button( \"option\", key, value );\n\t\t}\n\n\t\tthis._super( key, value );\n\t},\n\n\trefresh: function() {\n\t\tvar rtl = this.element.css( \"direction\" ) === \"rtl\",\n\t\t\tallButtons = this.element.find( this.options.items ),\n\t\t\texistingButtons = allButtons.filter( \":ui-button\" );\n\n\t\t// Initialize new buttons\n\t\tallButtons.not( \":ui-button\" ).button();\n\n\t\t// Refresh existing buttons\n\t\texistingButtons.button( \"refresh\" );\n\n\t\tthis.buttons = allButtons\n\t\t\t.map(function() {\n\t\t\t\treturn $( this ).button( \"widget\" )[ 0 ];\n\t\t\t})\n\t\t\t\t.removeClass( \"ui-corner-all ui-corner-left ui-corner-right\" )\n\t\t\t\t.filter( \":first\" )\n\t\t\t\t\t.addClass( rtl ? \"ui-corner-right\" : \"ui-corner-left\" )\n\t\t\t\t.end()\n\t\t\t\t.filter( \":last\" )\n\t\t\t\t\t.addClass( rtl ? \"ui-corner-left\" : \"ui-corner-right\" )\n\t\t\t\t.end()\n\t\t\t.end();\n\t},\n\n\t_destroy: function() {\n\t\tthis.element.removeClass( \"ui-buttonset\" );\n\t\tthis.buttons\n\t\t\t.map(function() {\n\t\t\t\treturn $( this ).button( \"widget\" )[ 0 ];\n\t\t\t})\n\t\t\t\t.removeClass( \"ui-corner-left ui-corner-right\" )\n\t\t\t.end()\n\t\t\t.button( \"destroy\" );\n\t}\n});\n\nvar button = $.ui.button;\n\n\n/*!\n * jQuery UI Datepicker 1.11.4\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/datepicker/\n */\n\n\n$.extend($.ui, { datepicker: { version: \"1.11.4\" } });\n\nvar datepicker_instActive;\n\nfunction datepicker_getZindex( elem ) {\n\tvar position, value;\n\twhile ( elem.length && elem[ 0 ] !== document ) {\n\t\t// Ignore z-index if position is set to a value where z-index is ignored by the browser\n\t\t// This makes behavior of this function consistent across browsers\n\t\t// WebKit always returns auto if the element is positioned\n\t\tposition = elem.css( \"position\" );\n\t\tif ( position === \"absolute\" || position === \"relative\" || position === \"fixed\" ) {\n\t\t\t// IE returns 0 when zIndex is not specified\n\t\t\t// other browsers return a string\n\t\t\t// we ignore the case of nested elements with an explicit value of 0\n\t\t\t// <div style=\"z-index: -10;\"><div style=\"z-index: 0;\"></div></div>\n\t\t\tvalue = parseInt( elem.css( \"zIndex\" ), 10 );\n\t\t\tif ( !isNaN( value ) && value !== 0 ) {\n\t\t\t\treturn value;\n\t\t\t}\n\t\t}\n\t\telem = elem.parent();\n\t}\n\n\treturn 0;\n}\n/* Date picker manager.\n   Use the singleton instance of this class, $.datepicker, to interact with the date picker.\n   Settings for (groups of) date pickers are maintained in an instance object,\n   allowing multiple different settings on the same page. */\n\nfunction Datepicker() {\n\tthis._curInst = null; // The current instance in use\n\tthis._keyEvent = false; // If the last event was a key event\n\tthis._disabledInputs = []; // List of date picker inputs that have been disabled\n\tthis._datepickerShowing = false; // True if the popup picker is showing , false if not\n\tthis._inDialog = false; // True if showing within a \"dialog\", false if not\n\tthis._mainDivId = \"ui-datepicker-div\"; // The ID of the main datepicker division\n\tthis._inlineClass = \"ui-datepicker-inline\"; // The name of the inline marker class\n\tthis._appendClass = \"ui-datepicker-append\"; // The name of the append marker class\n\tthis._triggerClass = \"ui-datepicker-trigger\"; // The name of the trigger marker class\n\tthis._dialogClass = \"ui-datepicker-dialog\"; // The name of the dialog marker class\n\tthis._disableClass = \"ui-datepicker-disabled\"; // The name of the disabled covering marker class\n\tthis._unselectableClass = \"ui-datepicker-unselectable\"; // The name of the unselectable cell marker class\n\tthis._currentClass = \"ui-datepicker-current-day\"; // The name of the current day marker class\n\tthis._dayOverClass = \"ui-datepicker-days-cell-over\"; // The name of the day hover marker class\n\tthis.regional = []; // Available regional settings, indexed by language code\n\tthis.regional[\"\"] = { // Default regional settings\n\t\tcloseText: \"Done\", // Display text for close link\n\t\tprevText: \"Prev\", // Display text for previous month link\n\t\tnextText: \"Next\", // Display text for next month link\n\t\tcurrentText: \"Today\", // Display text for current month link\n\t\tmonthNames: [\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\n\t\t\t\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"], // Names of months for drop-down and formatting\n\t\tmonthNamesShort: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"], // For formatting\n\t\tdayNames: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"], // For formatting\n\t\tdayNamesShort: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"], // For formatting\n\t\tdayNamesMin: [\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"], // Column headings for days starting at Sunday\n\t\tweekHeader: \"Wk\", // Column header for week of the year\n\t\tdateFormat: \"mm/dd/yy\", // See format options on parseDate\n\t\tfirstDay: 0, // The first day of the week, Sun = 0, Mon = 1, ...\n\t\tisRTL: false, // True if right-to-left language, false if left-to-right\n\t\tshowMonthAfterYear: false, // True if the year select precedes month, false for month then year\n\t\tyearSuffix: \"\" // Additional text to append to the year in the month headers\n\t};\n\tthis._defaults = { // Global defaults for all the date picker instances\n\t\tshowOn: \"focus\", // \"focus\" for popup on focus,\n\t\t\t// \"button\" for trigger button, or \"both\" for either\n\t\tshowAnim: \"fadeIn\", // Name of jQuery animation for popup\n\t\tshowOptions: {}, // Options for enhanced animations\n\t\tdefaultDate: null, // Used when field is blank: actual date,\n\t\t\t// +/-number for offset from today, null for today\n\t\tappendText: \"\", // Display text following the input box, e.g. showing the format\n\t\tbuttonText: \"...\", // Text for trigger button\n\t\tbuttonImage: \"\", // URL for trigger button image\n\t\tbuttonImageOnly: false, // True if the image appears alone, false if it appears on a button\n\t\thideIfNoPrevNext: false, // True to hide next/previous month links\n\t\t\t// if not applicable, false to just disable them\n\t\tnavigationAsDateFormat: false, // True if date formatting applied to prev/today/next links\n\t\tgotoCurrent: false, // True if today link goes back to current selection instead\n\t\tchangeMonth: false, // True if month can be selected directly, false if only prev/next\n\t\tchangeYear: false, // True if year can be selected directly, false if only prev/next\n\t\tyearRange: \"c-10:c+10\", // Range of years to display in drop-down,\n\t\t\t// either relative to today's year (-nn:+nn), relative to currently displayed year\n\t\t\t// (c-nn:c+nn), absolute (nnnn:nnnn), or a combination of the above (nnnn:-n)\n\t\tshowOtherMonths: false, // True to show dates in other months, false to leave blank\n\t\tselectOtherMonths: false, // True to allow selection of dates in other months, false for unselectable\n\t\tshowWeek: false, // True to show week of the year, false to not show it\n\t\tcalculateWeek: this.iso8601Week, // How to calculate the week of the year,\n\t\t\t// takes a Date and returns the number of the week for it\n\t\tshortYearCutoff: \"+10\", // Short year values < this are in the current century,\n\t\t\t// > this are in the previous century,\n\t\t\t// string value starting with \"+\" for current year + value\n\t\tminDate: null, // The earliest selectable date, or null for no limit\n\t\tmaxDate: null, // The latest selectable date, or null for no limit\n\t\tduration: \"fast\", // Duration of display/closure\n\t\tbeforeShowDay: null, // Function that takes a date and returns an array with\n\t\t\t// [0] = true if selectable, false if not, [1] = custom CSS class name(s) or \"\",\n\t\t\t// [2] = cell title (optional), e.g. $.datepicker.noWeekends\n\t\tbeforeShow: null, // Function that takes an input field and\n\t\t\t// returns a set of custom settings for the date picker\n\t\tonSelect: null, // Define a callback function when a date is selected\n\t\tonChangeMonthYear: null, // Define a callback function when the month or year is changed\n\t\tonClose: null, // Define a callback function when the datepicker is closed\n\t\tnumberOfMonths: 1, // Number of months to show at a time\n\t\tshowCurrentAtPos: 0, // The position in multipe months at which to show the current month (starting at 0)\n\t\tstepMonths: 1, // Number of months to step back/forward\n\t\tstepBigMonths: 12, // Number of months to step back/forward for the big links\n\t\taltField: \"\", // Selector for an alternate field to store selected dates into\n\t\taltFormat: \"\", // The date format to use for the alternate field\n\t\tconstrainInput: true, // The input is constrained by the current date format\n\t\tshowButtonPanel: false, // True to show button panel, false to not show it\n\t\tautoSize: false, // True to size the input for the date format, false to leave as is\n\t\tdisabled: false // The initial disabled state\n\t};\n\t$.extend(this._defaults, this.regional[\"\"]);\n\tthis.regional.en = $.extend( true, {}, this.regional[ \"\" ]);\n\tthis.regional[ \"en-US\" ] = $.extend( true, {}, this.regional.en );\n\tthis.dpDiv = datepicker_bindHover($(\"<div id='\" + this._mainDivId + \"' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>\"));\n}\n\n$.extend(Datepicker.prototype, {\n\t/* Class name added to elements to indicate already configured with a date picker. */\n\tmarkerClassName: \"hasDatepicker\",\n\n\t//Keep track of the maximum number of rows displayed (see #7043)\n\tmaxRows: 4,\n\n\t// TODO rename to \"widget\" when switching to widget factory\n\t_widgetDatepicker: function() {\n\t\treturn this.dpDiv;\n\t},\n\n\t/* Override the default settings for all instances of the date picker.\n\t * @param  settings  object - the new settings to use as defaults (anonymous object)\n\t * @return the manager object\n\t */\n\tsetDefaults: function(settings) {\n\t\tdatepicker_extendRemove(this._defaults, settings || {});\n\t\treturn this;\n\t},\n\n\t/* Attach the date picker to a jQuery selection.\n\t * @param  target\telement - the target input field or division or span\n\t * @param  settings  object - the new settings to use for this date picker instance (anonymous)\n\t */\n\t_attachDatepicker: function(target, settings) {\n\t\tvar nodeName, inline, inst;\n\t\tnodeName = target.nodeName.toLowerCase();\n\t\tinline = (nodeName === \"div\" || nodeName === \"span\");\n\t\tif (!target.id) {\n\t\t\tthis.uuid += 1;\n\t\t\ttarget.id = \"dp\" + this.uuid;\n\t\t}\n\t\tinst = this._newInst($(target), inline);\n\t\tinst.settings = $.extend({}, settings || {});\n\t\tif (nodeName === \"input\") {\n\t\t\tthis._connectDatepicker(target, inst);\n\t\t} else if (inline) {\n\t\t\tthis._inlineDatepicker(target, inst);\n\t\t}\n\t},\n\n\t/* Create a new instance object. */\n\t_newInst: function(target, inline) {\n\t\tvar id = target[0].id.replace(/([^A-Za-z0-9_\\-])/g, \"\\\\\\\\$1\"); // escape jQuery meta chars\n\t\treturn {id: id, input: target, // associated target\n\t\t\tselectedDay: 0, selectedMonth: 0, selectedYear: 0, // current selection\n\t\t\tdrawMonth: 0, drawYear: 0, // month being drawn\n\t\t\tinline: inline, // is datepicker inline or not\n\t\t\tdpDiv: (!inline ? this.dpDiv : // presentation div\n\t\t\tdatepicker_bindHover($(\"<div class='\" + this._inlineClass + \" ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>\")))};\n\t},\n\n\t/* Attach the date picker to an input field. */\n\t_connectDatepicker: function(target, inst) {\n\t\tvar input = $(target);\n\t\tinst.append = $([]);\n\t\tinst.trigger = $([]);\n\t\tif (input.hasClass(this.markerClassName)) {\n\t\t\treturn;\n\t\t}\n\t\tthis._attachments(input, inst);\n\t\tinput.addClass(this.markerClassName).keydown(this._doKeyDown).\n\t\t\tkeypress(this._doKeyPress).keyup(this._doKeyUp);\n\t\tthis._autoSize(inst);\n\t\t$.data(target, \"datepicker\", inst);\n\t\t//If disabled option is true, disable the datepicker once it has been attached to the input (see ticket #5665)\n\t\tif( inst.settings.disabled ) {\n\t\t\tthis._disableDatepicker( target );\n\t\t}\n\t},\n\n\t/* Make attachments based on settings. */\n\t_attachments: function(input, inst) {\n\t\tvar showOn, buttonText, buttonImage,\n\t\t\tappendText = this._get(inst, \"appendText\"),\n\t\t\tisRTL = this._get(inst, \"isRTL\");\n\n\t\tif (inst.append) {\n\t\t\tinst.append.remove();\n\t\t}\n\t\tif (appendText) {\n\t\t\tinst.append = $(\"<span class='\" + this._appendClass + \"'>\" + appendText + \"</span>\");\n\t\t\tinput[isRTL ? \"before\" : \"after\"](inst.append);\n\t\t}\n\n\t\tinput.unbind(\"focus\", this._showDatepicker);\n\n\t\tif (inst.trigger) {\n\t\t\tinst.trigger.remove();\n\t\t}\n\n\t\tshowOn = this._get(inst, \"showOn\");\n\t\tif (showOn === \"focus\" || showOn === \"both\") { // pop-up date picker when in the marked field\n\t\t\tinput.focus(this._showDatepicker);\n\t\t}\n\t\tif (showOn === \"button\" || showOn === \"both\") { // pop-up date picker when button clicked\n\t\t\tbuttonText = this._get(inst, \"buttonText\");\n\t\t\tbuttonImage = this._get(inst, \"buttonImage\");\n\t\t\tinst.trigger = $(this._get(inst, \"buttonImageOnly\") ?\n\t\t\t\t$(\"<img/>\").addClass(this._triggerClass).\n\t\t\t\t\tattr({ src: buttonImage, alt: buttonText, title: buttonText }) :\n\t\t\t\t$(\"<button type='button'></button>\").addClass(this._triggerClass).\n\t\t\t\t\thtml(!buttonImage ? buttonText : $(\"<img/>\").attr(\n\t\t\t\t\t{ src:buttonImage, alt:buttonText, title:buttonText })));\n\t\t\tinput[isRTL ? \"before\" : \"after\"](inst.trigger);\n\t\t\tinst.trigger.click(function() {\n\t\t\t\tif ($.datepicker._datepickerShowing && $.datepicker._lastInput === input[0]) {\n\t\t\t\t\t$.datepicker._hideDatepicker();\n\t\t\t\t} else if ($.datepicker._datepickerShowing && $.datepicker._lastInput !== input[0]) {\n\t\t\t\t\t$.datepicker._hideDatepicker();\n\t\t\t\t\t$.datepicker._showDatepicker(input[0]);\n\t\t\t\t} else {\n\t\t\t\t\t$.datepicker._showDatepicker(input[0]);\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t});\n\t\t}\n\t},\n\n\t/* Apply the maximum length for the date format. */\n\t_autoSize: function(inst) {\n\t\tif (this._get(inst, \"autoSize\") && !inst.inline) {\n\t\t\tvar findMax, max, maxI, i,\n\t\t\t\tdate = new Date(2009, 12 - 1, 20), // Ensure double digits\n\t\t\t\tdateFormat = this._get(inst, \"dateFormat\");\n\n\t\t\tif (dateFormat.match(/[DM]/)) {\n\t\t\t\tfindMax = function(names) {\n\t\t\t\t\tmax = 0;\n\t\t\t\t\tmaxI = 0;\n\t\t\t\t\tfor (i = 0; i < names.length; i++) {\n\t\t\t\t\t\tif (names[i].length > max) {\n\t\t\t\t\t\t\tmax = names[i].length;\n\t\t\t\t\t\t\tmaxI = i;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn maxI;\n\t\t\t\t};\n\t\t\t\tdate.setMonth(findMax(this._get(inst, (dateFormat.match(/MM/) ?\n\t\t\t\t\t\"monthNames\" : \"monthNamesShort\"))));\n\t\t\t\tdate.setDate(findMax(this._get(inst, (dateFormat.match(/DD/) ?\n\t\t\t\t\t\"dayNames\" : \"dayNamesShort\"))) + 20 - date.getDay());\n\t\t\t}\n\t\t\tinst.input.attr(\"size\", this._formatDate(inst, date).length);\n\t\t}\n\t},\n\n\t/* Attach an inline date picker to a div. */\n\t_inlineDatepicker: function(target, inst) {\n\t\tvar divSpan = $(target);\n\t\tif (divSpan.hasClass(this.markerClassName)) {\n\t\t\treturn;\n\t\t}\n\t\tdivSpan.addClass(this.markerClassName).append(inst.dpDiv);\n\t\t$.data(target, \"datepicker\", inst);\n\t\tthis._setDate(inst, this._getDefaultDate(inst), true);\n\t\tthis._updateDatepicker(inst);\n\t\tthis._updateAlternate(inst);\n\t\t//If disabled option is true, disable the datepicker before showing it (see ticket #5665)\n\t\tif( inst.settings.disabled ) {\n\t\t\tthis._disableDatepicker( target );\n\t\t}\n\t\t// Set display:block in place of inst.dpDiv.show() which won't work on disconnected elements\n\t\t// http://bugs.jqueryui.com/ticket/7552 - A Datepicker created on a detached div has zero height\n\t\tinst.dpDiv.css( \"display\", \"block\" );\n\t},\n\n\t/* Pop-up the date picker in a \"dialog\" box.\n\t * @param  input element - ignored\n\t * @param  date\tstring or Date - the initial date to display\n\t * @param  onSelect  function - the function to call when a date is selected\n\t * @param  settings  object - update the dialog date picker instance's settings (anonymous object)\n\t * @param  pos int[2] - coordinates for the dialog's position within the screen or\n\t *\t\t\t\t\tevent - with x/y coordinates or\n\t *\t\t\t\t\tleave empty for default (screen centre)\n\t * @return the manager object\n\t */\n\t_dialogDatepicker: function(input, date, onSelect, settings, pos) {\n\t\tvar id, browserWidth, browserHeight, scrollX, scrollY,\n\t\t\tinst = this._dialogInst; // internal instance\n\n\t\tif (!inst) {\n\t\t\tthis.uuid += 1;\n\t\t\tid = \"dp\" + this.uuid;\n\t\t\tthis._dialogInput = $(\"<input type='text' id='\" + id +\n\t\t\t\t\"' style='position: absolute; top: -100px; width: 0px;'/>\");\n\t\t\tthis._dialogInput.keydown(this._doKeyDown);\n\t\t\t$(\"body\").append(this._dialogInput);\n\t\t\tinst = this._dialogInst = this._newInst(this._dialogInput, false);\n\t\t\tinst.settings = {};\n\t\t\t$.data(this._dialogInput[0], \"datepicker\", inst);\n\t\t}\n\t\tdatepicker_extendRemove(inst.settings, settings || {});\n\t\tdate = (date && date.constructor === Date ? this._formatDate(inst, date) : date);\n\t\tthis._dialogInput.val(date);\n\n\t\tthis._pos = (pos ? (pos.length ? pos : [pos.pageX, pos.pageY]) : null);\n\t\tif (!this._pos) {\n\t\t\tbrowserWidth = document.documentElement.clientWidth;\n\t\t\tbrowserHeight = document.documentElement.clientHeight;\n\t\t\tscrollX = document.documentElement.scrollLeft || document.body.scrollLeft;\n\t\t\tscrollY = document.documentElement.scrollTop || document.body.scrollTop;\n\t\t\tthis._pos = // should use actual width/height below\n\t\t\t\t[(browserWidth / 2) - 100 + scrollX, (browserHeight / 2) - 150 + scrollY];\n\t\t}\n\n\t\t// move input on screen for focus, but hidden behind dialog\n\t\tthis._dialogInput.css(\"left\", (this._pos[0] + 20) + \"px\").css(\"top\", this._pos[1] + \"px\");\n\t\tinst.settings.onSelect = onSelect;\n\t\tthis._inDialog = true;\n\t\tthis.dpDiv.addClass(this._dialogClass);\n\t\tthis._showDatepicker(this._dialogInput[0]);\n\t\tif ($.blockUI) {\n\t\t\t$.blockUI(this.dpDiv);\n\t\t}\n\t\t$.data(this._dialogInput[0], \"datepicker\", inst);\n\t\treturn this;\n\t},\n\n\t/* Detach a datepicker from its control.\n\t * @param  target\telement - the target input field or division or span\n\t */\n\t_destroyDatepicker: function(target) {\n\t\tvar nodeName,\n\t\t\t$target = $(target),\n\t\t\tinst = $.data(target, \"datepicker\");\n\n\t\tif (!$target.hasClass(this.markerClassName)) {\n\t\t\treturn;\n\t\t}\n\n\t\tnodeName = target.nodeName.toLowerCase();\n\t\t$.removeData(target, \"datepicker\");\n\t\tif (nodeName === \"input\") {\n\t\t\tinst.append.remove();\n\t\t\tinst.trigger.remove();\n\t\t\t$target.removeClass(this.markerClassName).\n\t\t\t\tunbind(\"focus\", this._showDatepicker).\n\t\t\t\tunbind(\"keydown\", this._doKeyDown).\n\t\t\t\tunbind(\"keypress\", this._doKeyPress).\n\t\t\t\tunbind(\"keyup\", this._doKeyUp);\n\t\t} else if (nodeName === \"div\" || nodeName === \"span\") {\n\t\t\t$target.removeClass(this.markerClassName).empty();\n\t\t}\n\n\t\tif ( datepicker_instActive === inst ) {\n\t\t\tdatepicker_instActive = null;\n\t\t}\n\t},\n\n\t/* Enable the date picker to a jQuery selection.\n\t * @param  target\telement - the target input field or division or span\n\t */\n\t_enableDatepicker: function(target) {\n\t\tvar nodeName, inline,\n\t\t\t$target = $(target),\n\t\t\tinst = $.data(target, \"datepicker\");\n\n\t\tif (!$target.hasClass(this.markerClassName)) {\n\t\t\treturn;\n\t\t}\n\n\t\tnodeName = target.nodeName.toLowerCase();\n\t\tif (nodeName === \"input\") {\n\t\t\ttarget.disabled = false;\n\t\t\tinst.trigger.filter(\"button\").\n\t\t\t\teach(function() { this.disabled = false; }).end().\n\t\t\t\tfilter(\"img\").css({opacity: \"1.0\", cursor: \"\"});\n\t\t} else if (nodeName === \"div\" || nodeName === \"span\") {\n\t\t\tinline = $target.children(\".\" + this._inlineClass);\n\t\t\tinline.children().removeClass(\"ui-state-disabled\");\n\t\t\tinline.find(\"select.ui-datepicker-month, select.ui-datepicker-year\").\n\t\t\t\tprop(\"disabled\", false);\n\t\t}\n\t\tthis._disabledInputs = $.map(this._disabledInputs,\n\t\t\tfunction(value) { return (value === target ? null : value); }); // delete entry\n\t},\n\n\t/* Disable the date picker to a jQuery selection.\n\t * @param  target\telement - the target input field or division or span\n\t */\n\t_disableDatepicker: function(target) {\n\t\tvar nodeName, inline,\n\t\t\t$target = $(target),\n\t\t\tinst = $.data(target, \"datepicker\");\n\n\t\tif (!$target.hasClass(this.markerClassName)) {\n\t\t\treturn;\n\t\t}\n\n\t\tnodeName = target.nodeName.toLowerCase();\n\t\tif (nodeName === \"input\") {\n\t\t\ttarget.disabled = true;\n\t\t\tinst.trigger.filter(\"button\").\n\t\t\t\teach(function() { this.disabled = true; }).end().\n\t\t\t\tfilter(\"img\").css({opacity: \"0.5\", cursor: \"default\"});\n\t\t} else if (nodeName === \"div\" || nodeName === \"span\") {\n\t\t\tinline = $target.children(\".\" + this._inlineClass);\n\t\t\tinline.children().addClass(\"ui-state-disabled\");\n\t\t\tinline.find(\"select.ui-datepicker-month, select.ui-datepicker-year\").\n\t\t\t\tprop(\"disabled\", true);\n\t\t}\n\t\tthis._disabledInputs = $.map(this._disabledInputs,\n\t\t\tfunction(value) { return (value === target ? null : value); }); // delete entry\n\t\tthis._disabledInputs[this._disabledInputs.length] = target;\n\t},\n\n\t/* Is the first field in a jQuery collection disabled as a datepicker?\n\t * @param  target\telement - the target input field or division or span\n\t * @return boolean - true if disabled, false if enabled\n\t */\n\t_isDisabledDatepicker: function(target) {\n\t\tif (!target) {\n\t\t\treturn false;\n\t\t}\n\t\tfor (var i = 0; i < this._disabledInputs.length; i++) {\n\t\t\tif (this._disabledInputs[i] === target) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t},\n\n\t/* Retrieve the instance data for the target control.\n\t * @param  target  element - the target input field or division or span\n\t * @return  object - the associated instance data\n\t * @throws  error if a jQuery problem getting data\n\t */\n\t_getInst: function(target) {\n\t\ttry {\n\t\t\treturn $.data(target, \"datepicker\");\n\t\t}\n\t\tcatch (err) {\n\t\t\tthrow \"Missing instance data for this datepicker\";\n\t\t}\n\t},\n\n\t/* Update or retrieve the settings for a date picker attached to an input field or division.\n\t * @param  target  element - the target input field or division or span\n\t * @param  name\tobject - the new settings to update or\n\t *\t\t\t\tstring - the name of the setting to change or retrieve,\n\t *\t\t\t\twhen retrieving also \"all\" for all instance settings or\n\t *\t\t\t\t\"defaults\" for all global defaults\n\t * @param  value   any - the new value for the setting\n\t *\t\t\t\t(omit if above is an object or to retrieve a value)\n\t */\n\t_optionDatepicker: function(target, name, value) {\n\t\tvar settings, date, minDate, maxDate,\n\t\t\tinst = this._getInst(target);\n\n\t\tif (arguments.length === 2 && typeof name === \"string\") {\n\t\t\treturn (name === \"defaults\" ? $.extend({}, $.datepicker._defaults) :\n\t\t\t\t(inst ? (name === \"all\" ? $.extend({}, inst.settings) :\n\t\t\t\tthis._get(inst, name)) : null));\n\t\t}\n\n\t\tsettings = name || {};\n\t\tif (typeof name === \"string\") {\n\t\t\tsettings = {};\n\t\t\tsettings[name] = value;\n\t\t}\n\n\t\tif (inst) {\n\t\t\tif (this._curInst === inst) {\n\t\t\t\tthis._hideDatepicker();\n\t\t\t}\n\n\t\t\tdate = this._getDateDatepicker(target, true);\n\t\t\tminDate = this._getMinMaxDate(inst, \"min\");\n\t\t\tmaxDate = this._getMinMaxDate(inst, \"max\");\n\t\t\tdatepicker_extendRemove(inst.settings, settings);\n\t\t\t// reformat the old minDate/maxDate values if dateFormat changes and a new minDate/maxDate isn't provided\n\t\t\tif (minDate !== null && settings.dateFormat !== undefined && settings.minDate === undefined) {\n\t\t\t\tinst.settings.minDate = this._formatDate(inst, minDate);\n\t\t\t}\n\t\t\tif (maxDate !== null && settings.dateFormat !== undefined && settings.maxDate === undefined) {\n\t\t\t\tinst.settings.maxDate = this._formatDate(inst, maxDate);\n\t\t\t}\n\t\t\tif ( \"disabled\" in settings ) {\n\t\t\t\tif ( settings.disabled ) {\n\t\t\t\t\tthis._disableDatepicker(target);\n\t\t\t\t} else {\n\t\t\t\t\tthis._enableDatepicker(target);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis._attachments($(target), inst);\n\t\t\tthis._autoSize(inst);\n\t\t\tthis._setDate(inst, date);\n\t\t\tthis._updateAlternate(inst);\n\t\t\tthis._updateDatepicker(inst);\n\t\t}\n\t},\n\n\t// change method deprecated\n\t_changeDatepicker: function(target, name, value) {\n\t\tthis._optionDatepicker(target, name, value);\n\t},\n\n\t/* Redraw the date picker attached to an input field or division.\n\t * @param  target  element - the target input field or division or span\n\t */\n\t_refreshDatepicker: function(target) {\n\t\tvar inst = this._getInst(target);\n\t\tif (inst) {\n\t\t\tthis._updateDatepicker(inst);\n\t\t}\n\t},\n\n\t/* Set the dates for a jQuery selection.\n\t * @param  target element - the target input field or division or span\n\t * @param  date\tDate - the new date\n\t */\n\t_setDateDatepicker: function(target, date) {\n\t\tvar inst = this._getInst(target);\n\t\tif (inst) {\n\t\t\tthis._setDate(inst, date);\n\t\t\tthis._updateDatepicker(inst);\n\t\t\tthis._updateAlternate(inst);\n\t\t}\n\t},\n\n\t/* Get the date(s) for the first entry in a jQuery selection.\n\t * @param  target element - the target input field or division or span\n\t * @param  noDefault boolean - true if no default date is to be used\n\t * @return Date - the current date\n\t */\n\t_getDateDatepicker: function(target, noDefault) {\n\t\tvar inst = this._getInst(target);\n\t\tif (inst && !inst.inline) {\n\t\t\tthis._setDateFromField(inst, noDefault);\n\t\t}\n\t\treturn (inst ? this._getDate(inst) : null);\n\t},\n\n\t/* Handle keystrokes. */\n\t_doKeyDown: function(event) {\n\t\tvar onSelect, dateStr, sel,\n\t\t\tinst = $.datepicker._getInst(event.target),\n\t\t\thandled = true,\n\t\t\tisRTL = inst.dpDiv.is(\".ui-datepicker-rtl\");\n\n\t\tinst._keyEvent = true;\n\t\tif ($.datepicker._datepickerShowing) {\n\t\t\tswitch (event.keyCode) {\n\t\t\t\tcase 9: $.datepicker._hideDatepicker();\n\t\t\t\t\t\thandled = false;\n\t\t\t\t\t\tbreak; // hide on tab out\n\t\t\t\tcase 13: sel = $(\"td.\" + $.datepicker._dayOverClass + \":not(.\" +\n\t\t\t\t\t\t\t\t\t$.datepicker._currentClass + \")\", inst.dpDiv);\n\t\t\t\t\t\tif (sel[0]) {\n\t\t\t\t\t\t\t$.datepicker._selectDay(event.target, inst.selectedMonth, inst.selectedYear, sel[0]);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tonSelect = $.datepicker._get(inst, \"onSelect\");\n\t\t\t\t\t\tif (onSelect) {\n\t\t\t\t\t\t\tdateStr = $.datepicker._formatDate(inst);\n\n\t\t\t\t\t\t\t// trigger custom callback\n\t\t\t\t\t\t\tonSelect.apply((inst.input ? inst.input[0] : null), [dateStr, inst]);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t$.datepicker._hideDatepicker();\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn false; // don't submit the form\n\t\t\t\tcase 27: $.datepicker._hideDatepicker();\n\t\t\t\t\t\tbreak; // hide on escape\n\t\t\t\tcase 33: $.datepicker._adjustDate(event.target, (event.ctrlKey ?\n\t\t\t\t\t\t\t-$.datepicker._get(inst, \"stepBigMonths\") :\n\t\t\t\t\t\t\t-$.datepicker._get(inst, \"stepMonths\")), \"M\");\n\t\t\t\t\t\tbreak; // previous month/year on page up/+ ctrl\n\t\t\t\tcase 34: $.datepicker._adjustDate(event.target, (event.ctrlKey ?\n\t\t\t\t\t\t\t+$.datepicker._get(inst, \"stepBigMonths\") :\n\t\t\t\t\t\t\t+$.datepicker._get(inst, \"stepMonths\")), \"M\");\n\t\t\t\t\t\tbreak; // next month/year on page down/+ ctrl\n\t\t\t\tcase 35: if (event.ctrlKey || event.metaKey) {\n\t\t\t\t\t\t\t$.datepicker._clearDate(event.target);\n\t\t\t\t\t\t}\n\t\t\t\t\t\thandled = event.ctrlKey || event.metaKey;\n\t\t\t\t\t\tbreak; // clear on ctrl or command +end\n\t\t\t\tcase 36: if (event.ctrlKey || event.metaKey) {\n\t\t\t\t\t\t\t$.datepicker._gotoToday(event.target);\n\t\t\t\t\t\t}\n\t\t\t\t\t\thandled = event.ctrlKey || event.metaKey;\n\t\t\t\t\t\tbreak; // current on ctrl or command +home\n\t\t\t\tcase 37: if (event.ctrlKey || event.metaKey) {\n\t\t\t\t\t\t\t$.datepicker._adjustDate(event.target, (isRTL ? +1 : -1), \"D\");\n\t\t\t\t\t\t}\n\t\t\t\t\t\thandled = event.ctrlKey || event.metaKey;\n\t\t\t\t\t\t// -1 day on ctrl or command +left\n\t\t\t\t\t\tif (event.originalEvent.altKey) {\n\t\t\t\t\t\t\t$.datepicker._adjustDate(event.target, (event.ctrlKey ?\n\t\t\t\t\t\t\t\t-$.datepicker._get(inst, \"stepBigMonths\") :\n\t\t\t\t\t\t\t\t-$.datepicker._get(inst, \"stepMonths\")), \"M\");\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// next month/year on alt +left on Mac\n\t\t\t\t\t\tbreak;\n\t\t\t\tcase 38: if (event.ctrlKey || event.metaKey) {\n\t\t\t\t\t\t\t$.datepicker._adjustDate(event.target, -7, \"D\");\n\t\t\t\t\t\t}\n\t\t\t\t\t\thandled = event.ctrlKey || event.metaKey;\n\t\t\t\t\t\tbreak; // -1 week on ctrl or command +up\n\t\t\t\tcase 39: if (event.ctrlKey || event.metaKey) {\n\t\t\t\t\t\t\t$.datepicker._adjustDate(event.target, (isRTL ? -1 : +1), \"D\");\n\t\t\t\t\t\t}\n\t\t\t\t\t\thandled = event.ctrlKey || event.metaKey;\n\t\t\t\t\t\t// +1 day on ctrl or command +right\n\t\t\t\t\t\tif (event.originalEvent.altKey) {\n\t\t\t\t\t\t\t$.datepicker._adjustDate(event.target, (event.ctrlKey ?\n\t\t\t\t\t\t\t\t+$.datepicker._get(inst, \"stepBigMonths\") :\n\t\t\t\t\t\t\t\t+$.datepicker._get(inst, \"stepMonths\")), \"M\");\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// next month/year on alt +right\n\t\t\t\t\t\tbreak;\n\t\t\t\tcase 40: if (event.ctrlKey || event.metaKey) {\n\t\t\t\t\t\t\t$.datepicker._adjustDate(event.target, +7, \"D\");\n\t\t\t\t\t\t}\n\t\t\t\t\t\thandled = event.ctrlKey || event.metaKey;\n\t\t\t\t\t\tbreak; // +1 week on ctrl or command +down\n\t\t\t\tdefault: handled = false;\n\t\t\t}\n\t\t} else if (event.keyCode === 36 && event.ctrlKey) { // display the date picker on ctrl+home\n\t\t\t$.datepicker._showDatepicker(this);\n\t\t} else {\n\t\t\thandled = false;\n\t\t}\n\n\t\tif (handled) {\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t}\n\t},\n\n\t/* Filter entered characters - based on date format. */\n\t_doKeyPress: function(event) {\n\t\tvar chars, chr,\n\t\t\tinst = $.datepicker._getInst(event.target);\n\n\t\tif ($.datepicker._get(inst, \"constrainInput\")) {\n\t\t\tchars = $.datepicker._possibleChars($.datepicker._get(inst, \"dateFormat\"));\n\t\t\tchr = String.fromCharCode(event.charCode == null ? event.keyCode : event.charCode);\n\t\t\treturn event.ctrlKey || event.metaKey || (chr < \" \" || !chars || chars.indexOf(chr) > -1);\n\t\t}\n\t},\n\n\t/* Synchronise manual entry and field/alternate field. */\n\t_doKeyUp: function(event) {\n\t\tvar date,\n\t\t\tinst = $.datepicker._getInst(event.target);\n\n\t\tif (inst.input.val() !== inst.lastVal) {\n\t\t\ttry {\n\t\t\t\tdate = $.datepicker.parseDate($.datepicker._get(inst, \"dateFormat\"),\n\t\t\t\t\t(inst.input ? inst.input.val() : null),\n\t\t\t\t\t$.datepicker._getFormatConfig(inst));\n\n\t\t\t\tif (date) { // only if valid\n\t\t\t\t\t$.datepicker._setDateFromField(inst);\n\t\t\t\t\t$.datepicker._updateAlternate(inst);\n\t\t\t\t\t$.datepicker._updateDatepicker(inst);\n\t\t\t\t}\n\t\t\t}\n\t\t\tcatch (err) {\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t},\n\n\t/* Pop-up the date picker for a given input field.\n\t * If false returned from beforeShow event handler do not show.\n\t * @param  input  element - the input field attached to the date picker or\n\t *\t\t\t\t\tevent - if triggered by focus\n\t */\n\t_showDatepicker: function(input) {\n\t\tinput = input.target || input;\n\t\tif (input.nodeName.toLowerCase() !== \"input\") { // find from button/image trigger\n\t\t\tinput = $(\"input\", input.parentNode)[0];\n\t\t}\n\n\t\tif ($.datepicker._isDisabledDatepicker(input) || $.datepicker._lastInput === input) { // already here\n\t\t\treturn;\n\t\t}\n\n\t\tvar inst, beforeShow, beforeShowSettings, isFixed,\n\t\t\toffset, showAnim, duration;\n\n\t\tinst = $.datepicker._getInst(input);\n\t\tif ($.datepicker._curInst && $.datepicker._curInst !== inst) {\n\t\t\t$.datepicker._curInst.dpDiv.stop(true, true);\n\t\t\tif ( inst && $.datepicker._datepickerShowing ) {\n\t\t\t\t$.datepicker._hideDatepicker( $.datepicker._curInst.input[0] );\n\t\t\t}\n\t\t}\n\n\t\tbeforeShow = $.datepicker._get(inst, \"beforeShow\");\n\t\tbeforeShowSettings = beforeShow ? beforeShow.apply(input, [input, inst]) : {};\n\t\tif(beforeShowSettings === false){\n\t\t\treturn;\n\t\t}\n\t\tdatepicker_extendRemove(inst.settings, beforeShowSettings);\n\n\t\tinst.lastVal = null;\n\t\t$.datepicker._lastInput = input;\n\t\t$.datepicker._setDateFromField(inst);\n\n\t\tif ($.datepicker._inDialog) { // hide cursor\n\t\t\tinput.value = \"\";\n\t\t}\n\t\tif (!$.datepicker._pos) { // position below input\n\t\t\t$.datepicker._pos = $.datepicker._findPos(input);\n\t\t\t$.datepicker._pos[1] += input.offsetHeight; // add the height\n\t\t}\n\n\t\tisFixed = false;\n\t\t$(input).parents().each(function() {\n\t\t\tisFixed |= $(this).css(\"position\") === \"fixed\";\n\t\t\treturn !isFixed;\n\t\t});\n\n\t\toffset = {left: $.datepicker._pos[0], top: $.datepicker._pos[1]};\n\t\t$.datepicker._pos = null;\n\t\t//to avoid flashes on Firefox\n\t\tinst.dpDiv.empty();\n\t\t// determine sizing offscreen\n\t\tinst.dpDiv.css({position: \"absolute\", display: \"block\", top: \"-1000px\"});\n\t\t$.datepicker._updateDatepicker(inst);\n\t\t// fix width for dynamic number of date pickers\n\t\t// and adjust position before showing\n\t\toffset = $.datepicker._checkOffset(inst, offset, isFixed);\n\t\tinst.dpDiv.css({position: ($.datepicker._inDialog && $.blockUI ?\n\t\t\t\"static\" : (isFixed ? \"fixed\" : \"absolute\")), display: \"none\",\n\t\t\tleft: offset.left + \"px\", top: offset.top + \"px\"});\n\n\t\tif (!inst.inline) {\n\t\t\tshowAnim = $.datepicker._get(inst, \"showAnim\");\n\t\t\tduration = $.datepicker._get(inst, \"duration\");\n\t\t\tinst.dpDiv.css( \"z-index\", datepicker_getZindex( $( input ) ) + 1 );\n\t\t\t$.datepicker._datepickerShowing = true;\n\n\t\t\tif ( $.effects && $.effects.effect[ showAnim ] ) {\n\t\t\t\tinst.dpDiv.show(showAnim, $.datepicker._get(inst, \"showOptions\"), duration);\n\t\t\t} else {\n\t\t\t\tinst.dpDiv[showAnim || \"show\"](showAnim ? duration : null);\n\t\t\t}\n\n\t\t\tif ( $.datepicker._shouldFocusInput( inst ) ) {\n\t\t\t\tinst.input.focus();\n\t\t\t}\n\n\t\t\t$.datepicker._curInst = inst;\n\t\t}\n\t},\n\n\t/* Generate the date picker content. */\n\t_updateDatepicker: function(inst) {\n\t\tthis.maxRows = 4; //Reset the max number of rows being displayed (see #7043)\n\t\tdatepicker_instActive = inst; // for delegate hover events\n\t\tinst.dpDiv.empty().append(this._generateHTML(inst));\n\t\tthis._attachHandlers(inst);\n\n\t\tvar origyearshtml,\n\t\t\tnumMonths = this._getNumberOfMonths(inst),\n\t\t\tcols = numMonths[1],\n\t\t\twidth = 17,\n\t\t\tactiveCell = inst.dpDiv.find( \".\" + this._dayOverClass + \" a\" );\n\n\t\tif ( activeCell.length > 0 ) {\n\t\t\tdatepicker_handleMouseover.apply( activeCell.get( 0 ) );\n\t\t}\n\n\t\tinst.dpDiv.removeClass(\"ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4\").width(\"\");\n\t\tif (cols > 1) {\n\t\t\tinst.dpDiv.addClass(\"ui-datepicker-multi-\" + cols).css(\"width\", (width * cols) + \"em\");\n\t\t}\n\t\tinst.dpDiv[(numMonths[0] !== 1 || numMonths[1] !== 1 ? \"add\" : \"remove\") +\n\t\t\t\"Class\"](\"ui-datepicker-multi\");\n\t\tinst.dpDiv[(this._get(inst, \"isRTL\") ? \"add\" : \"remove\") +\n\t\t\t\"Class\"](\"ui-datepicker-rtl\");\n\n\t\tif (inst === $.datepicker._curInst && $.datepicker._datepickerShowing && $.datepicker._shouldFocusInput( inst ) ) {\n\t\t\tinst.input.focus();\n\t\t}\n\n\t\t// deffered render of the years select (to avoid flashes on Firefox)\n\t\tif( inst.yearshtml ){\n\t\t\torigyearshtml = inst.yearshtml;\n\t\t\tsetTimeout(function(){\n\t\t\t\t//assure that inst.yearshtml didn't change.\n\t\t\t\tif( origyearshtml === inst.yearshtml && inst.yearshtml ){\n\t\t\t\t\tinst.dpDiv.find(\"select.ui-datepicker-year:first\").replaceWith(inst.yearshtml);\n\t\t\t\t}\n\t\t\t\torigyearshtml = inst.yearshtml = null;\n\t\t\t}, 0);\n\t\t}\n\t},\n\n\t// #6694 - don't focus the input if it's already focused\n\t// this breaks the change event in IE\n\t// Support: IE and jQuery <1.9\n\t_shouldFocusInput: function( inst ) {\n\t\treturn inst.input && inst.input.is( \":visible\" ) && !inst.input.is( \":disabled\" ) && !inst.input.is( \":focus\" );\n\t},\n\n\t/* Check positioning to remain on screen. */\n\t_checkOffset: function(inst, offset, isFixed) {\n\t\tvar dpWidth = inst.dpDiv.outerWidth(),\n\t\t\tdpHeight = inst.dpDiv.outerHeight(),\n\t\t\tinputWidth = inst.input ? inst.input.outerWidth() : 0,\n\t\t\tinputHeight = inst.input ? inst.input.outerHeight() : 0,\n\t\t\tviewWidth = document.documentElement.clientWidth + (isFixed ? 0 : $(document).scrollLeft()),\n\t\t\tviewHeight = document.documentElement.clientHeight + (isFixed ? 0 : $(document).scrollTop());\n\n\t\toffset.left -= (this._get(inst, \"isRTL\") ? (dpWidth - inputWidth) : 0);\n\t\toffset.left -= (isFixed && offset.left === inst.input.offset().left) ? $(document).scrollLeft() : 0;\n\t\toffset.top -= (isFixed && offset.top === (inst.input.offset().top + inputHeight)) ? $(document).scrollTop() : 0;\n\n\t\t// now check if datepicker is showing outside window viewport - move to a better place if so.\n\t\toffset.left -= Math.min(offset.left, (offset.left + dpWidth > viewWidth && viewWidth > dpWidth) ?\n\t\t\tMath.abs(offset.left + dpWidth - viewWidth) : 0);\n\t\toffset.top -= Math.min(offset.top, (offset.top + dpHeight > viewHeight && viewHeight > dpHeight) ?\n\t\t\tMath.abs(dpHeight + inputHeight) : 0);\n\n\t\treturn offset;\n\t},\n\n\t/* Find an object's position on the screen. */\n\t_findPos: function(obj) {\n\t\tvar position,\n\t\t\tinst = this._getInst(obj),\n\t\t\tisRTL = this._get(inst, \"isRTL\");\n\n\t\twhile (obj && (obj.type === \"hidden\" || obj.nodeType !== 1 || $.expr.filters.hidden(obj))) {\n\t\t\tobj = obj[isRTL ? \"previousSibling\" : \"nextSibling\"];\n\t\t}\n\n\t\tposition = $(obj).offset();\n\t\treturn [position.left, position.top];\n\t},\n\n\t/* Hide the date picker from view.\n\t * @param  input  element - the input field attached to the date picker\n\t */\n\t_hideDatepicker: function(input) {\n\t\tvar showAnim, duration, postProcess, onClose,\n\t\t\tinst = this._curInst;\n\n\t\tif (!inst || (input && inst !== $.data(input, \"datepicker\"))) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._datepickerShowing) {\n\t\t\tshowAnim = this._get(inst, \"showAnim\");\n\t\t\tduration = this._get(inst, \"duration\");\n\t\t\tpostProcess = function() {\n\t\t\t\t$.datepicker._tidyDialog(inst);\n\t\t\t};\n\n\t\t\t// DEPRECATED: after BC for 1.8.x $.effects[ showAnim ] is not needed\n\t\t\tif ( $.effects && ( $.effects.effect[ showAnim ] || $.effects[ showAnim ] ) ) {\n\t\t\t\tinst.dpDiv.hide(showAnim, $.datepicker._get(inst, \"showOptions\"), duration, postProcess);\n\t\t\t} else {\n\t\t\t\tinst.dpDiv[(showAnim === \"slideDown\" ? \"slideUp\" :\n\t\t\t\t\t(showAnim === \"fadeIn\" ? \"fadeOut\" : \"hide\"))]((showAnim ? duration : null), postProcess);\n\t\t\t}\n\n\t\t\tif (!showAnim) {\n\t\t\t\tpostProcess();\n\t\t\t}\n\t\t\tthis._datepickerShowing = false;\n\n\t\t\tonClose = this._get(inst, \"onClose\");\n\t\t\tif (onClose) {\n\t\t\t\tonClose.apply((inst.input ? inst.input[0] : null), [(inst.input ? inst.input.val() : \"\"), inst]);\n\t\t\t}\n\n\t\t\tthis._lastInput = null;\n\t\t\tif (this._inDialog) {\n\t\t\t\tthis._dialogInput.css({ position: \"absolute\", left: \"0\", top: \"-100px\" });\n\t\t\t\tif ($.blockUI) {\n\t\t\t\t\t$.unblockUI();\n\t\t\t\t\t$(\"body\").append(this.dpDiv);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis._inDialog = false;\n\t\t}\n\t},\n\n\t/* Tidy up after a dialog display. */\n\t_tidyDialog: function(inst) {\n\t\tinst.dpDiv.removeClass(this._dialogClass).unbind(\".ui-datepicker-calendar\");\n\t},\n\n\t/* Close date picker if clicked elsewhere. */\n\t_checkExternalClick: function(event) {\n\t\tif (!$.datepicker._curInst) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar $target = $(event.target),\n\t\t\tinst = $.datepicker._getInst($target[0]);\n\n\t\tif ( ( ( $target[0].id !== $.datepicker._mainDivId &&\n\t\t\t\t$target.parents(\"#\" + $.datepicker._mainDivId).length === 0 &&\n\t\t\t\t!$target.hasClass($.datepicker.markerClassName) &&\n\t\t\t\t!$target.closest(\".\" + $.datepicker._triggerClass).length &&\n\t\t\t\t$.datepicker._datepickerShowing && !($.datepicker._inDialog && $.blockUI) ) ) ||\n\t\t\t( $target.hasClass($.datepicker.markerClassName) && $.datepicker._curInst !== inst ) ) {\n\t\t\t\t$.datepicker._hideDatepicker();\n\t\t}\n\t},\n\n\t/* Adjust one of the date sub-fields. */\n\t_adjustDate: function(id, offset, period) {\n\t\tvar target = $(id),\n\t\t\tinst = this._getInst(target[0]);\n\n\t\tif (this._isDisabledDatepicker(target[0])) {\n\t\t\treturn;\n\t\t}\n\t\tthis._adjustInstDate(inst, offset +\n\t\t\t(period === \"M\" ? this._get(inst, \"showCurrentAtPos\") : 0), // undo positioning\n\t\t\tperiod);\n\t\tthis._updateDatepicker(inst);\n\t},\n\n\t/* Action for current link. */\n\t_gotoToday: function(id) {\n\t\tvar date,\n\t\t\ttarget = $(id),\n\t\t\tinst = this._getInst(target[0]);\n\n\t\tif (this._get(inst, \"gotoCurrent\") && inst.currentDay) {\n\t\t\tinst.selectedDay = inst.currentDay;\n\t\t\tinst.drawMonth = inst.selectedMonth = inst.currentMonth;\n\t\t\tinst.drawYear = inst.selectedYear = inst.currentYear;\n\t\t} else {\n\t\t\tdate = new Date();\n\t\t\tinst.selectedDay = date.getDate();\n\t\t\tinst.drawMonth = inst.selectedMonth = date.getMonth();\n\t\t\tinst.drawYear = inst.selectedYear = date.getFullYear();\n\t\t}\n\t\tthis._notifyChange(inst);\n\t\tthis._adjustDate(target);\n\t},\n\n\t/* Action for selecting a new month/year. */\n\t_selectMonthYear: function(id, select, period) {\n\t\tvar target = $(id),\n\t\t\tinst = this._getInst(target[0]);\n\n\t\tinst[\"selected\" + (period === \"M\" ? \"Month\" : \"Year\")] =\n\t\tinst[\"draw\" + (period === \"M\" ? \"Month\" : \"Year\")] =\n\t\t\tparseInt(select.options[select.selectedIndex].value,10);\n\n\t\tthis._notifyChange(inst);\n\t\tthis._adjustDate(target);\n\t},\n\n\t/* Action for selecting a day. */\n\t_selectDay: function(id, month, year, td) {\n\t\tvar inst,\n\t\t\ttarget = $(id);\n\n\t\tif ($(td).hasClass(this._unselectableClass) || this._isDisabledDatepicker(target[0])) {\n\t\t\treturn;\n\t\t}\n\n\t\tinst = this._getInst(target[0]);\n\t\tinst.selectedDay = inst.currentDay = $(\"a\", td).html();\n\t\tinst.selectedMonth = inst.currentMonth = month;\n\t\tinst.selectedYear = inst.currentYear = year;\n\t\tthis._selectDate(id, this._formatDate(inst,\n\t\t\tinst.currentDay, inst.currentMonth, inst.currentYear));\n\t},\n\n\t/* Erase the input field and hide the date picker. */\n\t_clearDate: function(id) {\n\t\tvar target = $(id);\n\t\tthis._selectDate(target, \"\");\n\t},\n\n\t/* Update the input field with the selected date. */\n\t_selectDate: function(id, dateStr) {\n\t\tvar onSelect,\n\t\t\ttarget = $(id),\n\t\t\tinst = this._getInst(target[0]);\n\n\t\tdateStr = (dateStr != null ? dateStr : this._formatDate(inst));\n\t\tif (inst.input) {\n\t\t\tinst.input.val(dateStr);\n\t\t}\n\t\tthis._updateAlternate(inst);\n\n\t\tonSelect = this._get(inst, \"onSelect\");\n\t\tif (onSelect) {\n\t\t\tonSelect.apply((inst.input ? inst.input[0] : null), [dateStr, inst]);  // trigger custom callback\n\t\t} else if (inst.input) {\n\t\t\tinst.input.trigger(\"change\"); // fire the change event\n\t\t}\n\n\t\tif (inst.inline){\n\t\t\tthis._updateDatepicker(inst);\n\t\t} else {\n\t\t\tthis._hideDatepicker();\n\t\t\tthis._lastInput = inst.input[0];\n\t\t\tif (typeof(inst.input[0]) !== \"object\") {\n\t\t\t\tinst.input.focus(); // restore focus\n\t\t\t}\n\t\t\tthis._lastInput = null;\n\t\t}\n\t},\n\n\t/* Update any alternate field to synchronise with the main field. */\n\t_updateAlternate: function(inst) {\n\t\tvar altFormat, date, dateStr,\n\t\t\taltField = this._get(inst, \"altField\");\n\n\t\tif (altField) { // update alternate field too\n\t\t\taltFormat = this._get(inst, \"altFormat\") || this._get(inst, \"dateFormat\");\n\t\t\tdate = this._getDate(inst);\n\t\t\tdateStr = this.formatDate(altFormat, date, this._getFormatConfig(inst));\n\t\t\t$(altField).each(function() { $(this).val(dateStr); });\n\t\t}\n\t},\n\n\t/* Set as beforeShowDay function to prevent selection of weekends.\n\t * @param  date  Date - the date to customise\n\t * @return [boolean, string] - is this date selectable?, what is its CSS class?\n\t */\n\tnoWeekends: function(date) {\n\t\tvar day = date.getDay();\n\t\treturn [(day > 0 && day < 6), \"\"];\n\t},\n\n\t/* Set as calculateWeek to determine the week of the year based on the ISO 8601 definition.\n\t * @param  date  Date - the date to get the week for\n\t * @return  number - the number of the week within the year that contains this date\n\t */\n\tiso8601Week: function(date) {\n\t\tvar time,\n\t\t\tcheckDate = new Date(date.getTime());\n\n\t\t// Find Thursday of this week starting on Monday\n\t\tcheckDate.setDate(checkDate.getDate() + 4 - (checkDate.getDay() || 7));\n\n\t\ttime = checkDate.getTime();\n\t\tcheckDate.setMonth(0); // Compare with Jan 1\n\t\tcheckDate.setDate(1);\n\t\treturn Math.floor(Math.round((time - checkDate) / 86400000) / 7) + 1;\n\t},\n\n\t/* Parse a string value into a date object.\n\t * See formatDate below for the possible formats.\n\t *\n\t * @param  format string - the expected format of the date\n\t * @param  value string - the date in the above format\n\t * @param  settings Object - attributes include:\n\t *\t\t\t\t\tshortYearCutoff  number - the cutoff year for determining the century (optional)\n\t *\t\t\t\t\tdayNamesShort\tstring[7] - abbreviated names of the days from Sunday (optional)\n\t *\t\t\t\t\tdayNames\t\tstring[7] - names of the days from Sunday (optional)\n\t *\t\t\t\t\tmonthNamesShort string[12] - abbreviated names of the months (optional)\n\t *\t\t\t\t\tmonthNames\t\tstring[12] - names of the months (optional)\n\t * @return  Date - the extracted date value or null if value is blank\n\t */\n\tparseDate: function (format, value, settings) {\n\t\tif (format == null || value == null) {\n\t\t\tthrow \"Invalid arguments\";\n\t\t}\n\n\t\tvalue = (typeof value === \"object\" ? value.toString() : value + \"\");\n\t\tif (value === \"\") {\n\t\t\treturn null;\n\t\t}\n\n\t\tvar iFormat, dim, extra,\n\t\t\tiValue = 0,\n\t\t\tshortYearCutoffTemp = (settings ? settings.shortYearCutoff : null) || this._defaults.shortYearCutoff,\n\t\t\tshortYearCutoff = (typeof shortYearCutoffTemp !== \"string\" ? shortYearCutoffTemp :\n\t\t\t\tnew Date().getFullYear() % 100 + parseInt(shortYearCutoffTemp, 10)),\n\t\t\tdayNamesShort = (settings ? settings.dayNamesShort : null) || this._defaults.dayNamesShort,\n\t\t\tdayNames = (settings ? settings.dayNames : null) || this._defaults.dayNames,\n\t\t\tmonthNamesShort = (settings ? settings.monthNamesShort : null) || this._defaults.monthNamesShort,\n\t\t\tmonthNames = (settings ? settings.monthNames : null) || this._defaults.monthNames,\n\t\t\tyear = -1,\n\t\t\tmonth = -1,\n\t\t\tday = -1,\n\t\t\tdoy = -1,\n\t\t\tliteral = false,\n\t\t\tdate,\n\t\t\t// Check whether a format character is doubled\n\t\t\tlookAhead = function(match) {\n\t\t\t\tvar matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) === match);\n\t\t\t\tif (matches) {\n\t\t\t\t\tiFormat++;\n\t\t\t\t}\n\t\t\t\treturn matches;\n\t\t\t},\n\t\t\t// Extract a number from the string value\n\t\t\tgetNumber = function(match) {\n\t\t\t\tvar isDoubled = lookAhead(match),\n\t\t\t\t\tsize = (match === \"@\" ? 14 : (match === \"!\" ? 20 :\n\t\t\t\t\t(match === \"y\" && isDoubled ? 4 : (match === \"o\" ? 3 : 2)))),\n\t\t\t\t\tminSize = (match === \"y\" ? size : 1),\n\t\t\t\t\tdigits = new RegExp(\"^\\\\d{\" + minSize + \",\" + size + \"}\"),\n\t\t\t\t\tnum = value.substring(iValue).match(digits);\n\t\t\t\tif (!num) {\n\t\t\t\t\tthrow \"Missing number at position \" + iValue;\n\t\t\t\t}\n\t\t\t\tiValue += num[0].length;\n\t\t\t\treturn parseInt(num[0], 10);\n\t\t\t},\n\t\t\t// Extract a name from the string value and convert to an index\n\t\t\tgetName = function(match, shortNames, longNames) {\n\t\t\t\tvar index = -1,\n\t\t\t\t\tnames = $.map(lookAhead(match) ? longNames : shortNames, function (v, k) {\n\t\t\t\t\t\treturn [ [k, v] ];\n\t\t\t\t\t}).sort(function (a, b) {\n\t\t\t\t\t\treturn -(a[1].length - b[1].length);\n\t\t\t\t\t});\n\n\t\t\t\t$.each(names, function (i, pair) {\n\t\t\t\t\tvar name = pair[1];\n\t\t\t\t\tif (value.substr(iValue, name.length).toLowerCase() === name.toLowerCase()) {\n\t\t\t\t\t\tindex = pair[0];\n\t\t\t\t\t\tiValue += name.length;\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tif (index !== -1) {\n\t\t\t\t\treturn index + 1;\n\t\t\t\t} else {\n\t\t\t\t\tthrow \"Unknown name at position \" + iValue;\n\t\t\t\t}\n\t\t\t},\n\t\t\t// Confirm that a literal character matches the string value\n\t\t\tcheckLiteral = function() {\n\t\t\t\tif (value.charAt(iValue) !== format.charAt(iFormat)) {\n\t\t\t\t\tthrow \"Unexpected literal at position \" + iValue;\n\t\t\t\t}\n\t\t\t\tiValue++;\n\t\t\t};\n\n\t\tfor (iFormat = 0; iFormat < format.length; iFormat++) {\n\t\t\tif (literal) {\n\t\t\t\tif (format.charAt(iFormat) === \"'\" && !lookAhead(\"'\")) {\n\t\t\t\t\tliteral = false;\n\t\t\t\t} else {\n\t\t\t\t\tcheckLiteral();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tswitch (format.charAt(iFormat)) {\n\t\t\t\t\tcase \"d\":\n\t\t\t\t\t\tday = getNumber(\"d\");\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"D\":\n\t\t\t\t\t\tgetName(\"D\", dayNamesShort, dayNames);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"o\":\n\t\t\t\t\t\tdoy = getNumber(\"o\");\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"m\":\n\t\t\t\t\t\tmonth = getNumber(\"m\");\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"M\":\n\t\t\t\t\t\tmonth = getName(\"M\", monthNamesShort, monthNames);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"y\":\n\t\t\t\t\t\tyear = getNumber(\"y\");\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"@\":\n\t\t\t\t\t\tdate = new Date(getNumber(\"@\"));\n\t\t\t\t\t\tyear = date.getFullYear();\n\t\t\t\t\t\tmonth = date.getMonth() + 1;\n\t\t\t\t\t\tday = date.getDate();\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"!\":\n\t\t\t\t\t\tdate = new Date((getNumber(\"!\") - this._ticksTo1970) / 10000);\n\t\t\t\t\t\tyear = date.getFullYear();\n\t\t\t\t\t\tmonth = date.getMonth() + 1;\n\t\t\t\t\t\tday = date.getDate();\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"'\":\n\t\t\t\t\t\tif (lookAhead(\"'\")){\n\t\t\t\t\t\t\tcheckLiteral();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tliteral = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcheckLiteral();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (iValue < value.length){\n\t\t\textra = value.substr(iValue);\n\t\t\tif (!/^\\s+/.test(extra)) {\n\t\t\t\tthrow \"Extra/unparsed characters found in date: \" + extra;\n\t\t\t}\n\t\t}\n\n\t\tif (year === -1) {\n\t\t\tyear = new Date().getFullYear();\n\t\t} else if (year < 100) {\n\t\t\tyear += new Date().getFullYear() - new Date().getFullYear() % 100 +\n\t\t\t\t(year <= shortYearCutoff ? 0 : -100);\n\t\t}\n\n\t\tif (doy > -1) {\n\t\t\tmonth = 1;\n\t\t\tday = doy;\n\t\t\tdo {\n\t\t\t\tdim = this._getDaysInMonth(year, month - 1);\n\t\t\t\tif (day <= dim) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tmonth++;\n\t\t\t\tday -= dim;\n\t\t\t} while (true);\n\t\t}\n\n\t\tdate = this._daylightSavingAdjust(new Date(year, month - 1, day));\n\t\tif (date.getFullYear() !== year || date.getMonth() + 1 !== month || date.getDate() !== day) {\n\t\t\tthrow \"Invalid date\"; // E.g. 31/02/00\n\t\t}\n\t\treturn date;\n\t},\n\n\t/* Standard date formats. */\n\tATOM: \"yy-mm-dd\", // RFC 3339 (ISO 8601)\n\tCOOKIE: \"D, dd M yy\",\n\tISO_8601: \"yy-mm-dd\",\n\tRFC_822: \"D, d M y\",\n\tRFC_850: \"DD, dd-M-y\",\n\tRFC_1036: \"D, d M y\",\n\tRFC_1123: \"D, d M yy\",\n\tRFC_2822: \"D, d M yy\",\n\tRSS: \"D, d M y\", // RFC 822\n\tTICKS: \"!\",\n\tTIMESTAMP: \"@\",\n\tW3C: \"yy-mm-dd\", // ISO 8601\n\n\t_ticksTo1970: (((1970 - 1) * 365 + Math.floor(1970 / 4) - Math.floor(1970 / 100) +\n\t\tMath.floor(1970 / 400)) * 24 * 60 * 60 * 10000000),\n\n\t/* Format a date object into a string value.\n\t * The format can be combinations of the following:\n\t * d  - day of month (no leading zero)\n\t * dd - day of month (two digit)\n\t * o  - day of year (no leading zeros)\n\t * oo - day of year (three digit)\n\t * D  - day name short\n\t * DD - day name long\n\t * m  - month of year (no leading zero)\n\t * mm - month of year (two digit)\n\t * M  - month name short\n\t * MM - month name long\n\t * y  - year (two digit)\n\t * yy - year (four digit)\n\t * @ - Unix timestamp (ms since 01/01/1970)\n\t * ! - Windows ticks (100ns since 01/01/0001)\n\t * \"...\" - literal text\n\t * '' - single quote\n\t *\n\t * @param  format string - the desired format of the date\n\t * @param  date Date - the date value to format\n\t * @param  settings Object - attributes include:\n\t *\t\t\t\t\tdayNamesShort\tstring[7] - abbreviated names of the days from Sunday (optional)\n\t *\t\t\t\t\tdayNames\t\tstring[7] - names of the days from Sunday (optional)\n\t *\t\t\t\t\tmonthNamesShort string[12] - abbreviated names of the months (optional)\n\t *\t\t\t\t\tmonthNames\t\tstring[12] - names of the months (optional)\n\t * @return  string - the date in the above format\n\t */\n\tformatDate: function (format, date, settings) {\n\t\tif (!date) {\n\t\t\treturn \"\";\n\t\t}\n\n\t\tvar iFormat,\n\t\t\tdayNamesShort = (settings ? settings.dayNamesShort : null) || this._defaults.dayNamesShort,\n\t\t\tdayNames = (settings ? settings.dayNames : null) || this._defaults.dayNames,\n\t\t\tmonthNamesShort = (settings ? settings.monthNamesShort : null) || this._defaults.monthNamesShort,\n\t\t\tmonthNames = (settings ? settings.monthNames : null) || this._defaults.monthNames,\n\t\t\t// Check whether a format character is doubled\n\t\t\tlookAhead = function(match) {\n\t\t\t\tvar matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) === match);\n\t\t\t\tif (matches) {\n\t\t\t\t\tiFormat++;\n\t\t\t\t}\n\t\t\t\treturn matches;\n\t\t\t},\n\t\t\t// Format a number, with leading zero if necessary\n\t\t\tformatNumber = function(match, value, len) {\n\t\t\t\tvar num = \"\" + value;\n\t\t\t\tif (lookAhead(match)) {\n\t\t\t\t\twhile (num.length < len) {\n\t\t\t\t\t\tnum = \"0\" + num;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn num;\n\t\t\t},\n\t\t\t// Format a name, short or long as requested\n\t\t\tformatName = function(match, value, shortNames, longNames) {\n\t\t\t\treturn (lookAhead(match) ? longNames[value] : shortNames[value]);\n\t\t\t},\n\t\t\toutput = \"\",\n\t\t\tliteral = false;\n\n\t\tif (date) {\n\t\t\tfor (iFormat = 0; iFormat < format.length; iFormat++) {\n\t\t\t\tif (literal) {\n\t\t\t\t\tif (format.charAt(iFormat) === \"'\" && !lookAhead(\"'\")) {\n\t\t\t\t\t\tliteral = false;\n\t\t\t\t\t} else {\n\t\t\t\t\t\toutput += format.charAt(iFormat);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tswitch (format.charAt(iFormat)) {\n\t\t\t\t\t\tcase \"d\":\n\t\t\t\t\t\t\toutput += formatNumber(\"d\", date.getDate(), 2);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase \"D\":\n\t\t\t\t\t\t\toutput += formatName(\"D\", date.getDay(), dayNamesShort, dayNames);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase \"o\":\n\t\t\t\t\t\t\toutput += formatNumber(\"o\",\n\t\t\t\t\t\t\t\tMath.round((new Date(date.getFullYear(), date.getMonth(), date.getDate()).getTime() - new Date(date.getFullYear(), 0, 0).getTime()) / 86400000), 3);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase \"m\":\n\t\t\t\t\t\t\toutput += formatNumber(\"m\", date.getMonth() + 1, 2);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase \"M\":\n\t\t\t\t\t\t\toutput += formatName(\"M\", date.getMonth(), monthNamesShort, monthNames);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase \"y\":\n\t\t\t\t\t\t\toutput += (lookAhead(\"y\") ? date.getFullYear() :\n\t\t\t\t\t\t\t\t(date.getYear() % 100 < 10 ? \"0\" : \"\") + date.getYear() % 100);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase \"@\":\n\t\t\t\t\t\t\toutput += date.getTime();\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase \"!\":\n\t\t\t\t\t\t\toutput += date.getTime() * 10000 + this._ticksTo1970;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase \"'\":\n\t\t\t\t\t\t\tif (lookAhead(\"'\")) {\n\t\t\t\t\t\t\t\toutput += \"'\";\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tliteral = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\toutput += format.charAt(iFormat);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t},\n\n\t/* Extract all possible characters from the date format. */\n\t_possibleChars: function (format) {\n\t\tvar iFormat,\n\t\t\tchars = \"\",\n\t\t\tliteral = false,\n\t\t\t// Check whether a format character is doubled\n\t\t\tlookAhead = function(match) {\n\t\t\t\tvar matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) === match);\n\t\t\t\tif (matches) {\n\t\t\t\t\tiFormat++;\n\t\t\t\t}\n\t\t\t\treturn matches;\n\t\t\t};\n\n\t\tfor (iFormat = 0; iFormat < format.length; iFormat++) {\n\t\t\tif (literal) {\n\t\t\t\tif (format.charAt(iFormat) === \"'\" && !lookAhead(\"'\")) {\n\t\t\t\t\tliteral = false;\n\t\t\t\t} else {\n\t\t\t\t\tchars += format.charAt(iFormat);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tswitch (format.charAt(iFormat)) {\n\t\t\t\t\tcase \"d\": case \"m\": case \"y\": case \"@\":\n\t\t\t\t\t\tchars += \"0123456789\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"D\": case \"M\":\n\t\t\t\t\t\treturn null; // Accept anything\n\t\t\t\t\tcase \"'\":\n\t\t\t\t\t\tif (lookAhead(\"'\")) {\n\t\t\t\t\t\t\tchars += \"'\";\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tliteral = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tchars += format.charAt(iFormat);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn chars;\n\t},\n\n\t/* Get a setting value, defaulting if necessary. */\n\t_get: function(inst, name) {\n\t\treturn inst.settings[name] !== undefined ?\n\t\t\tinst.settings[name] : this._defaults[name];\n\t},\n\n\t/* Parse existing date and initialise date picker. */\n\t_setDateFromField: function(inst, noDefault) {\n\t\tif (inst.input.val() === inst.lastVal) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar dateFormat = this._get(inst, \"dateFormat\"),\n\t\t\tdates = inst.lastVal = inst.input ? inst.input.val() : null,\n\t\t\tdefaultDate = this._getDefaultDate(inst),\n\t\t\tdate = defaultDate,\n\t\t\tsettings = this._getFormatConfig(inst);\n\n\t\ttry {\n\t\t\tdate = this.parseDate(dateFormat, dates, settings) || defaultDate;\n\t\t} catch (event) {\n\t\t\tdates = (noDefault ? \"\" : dates);\n\t\t}\n\t\tinst.selectedDay = date.getDate();\n\t\tinst.drawMonth = inst.selectedMonth = date.getMonth();\n\t\tinst.drawYear = inst.selectedYear = date.getFullYear();\n\t\tinst.currentDay = (dates ? date.getDate() : 0);\n\t\tinst.currentMonth = (dates ? date.getMonth() : 0);\n\t\tinst.currentYear = (dates ? date.getFullYear() : 0);\n\t\tthis._adjustInstDate(inst);\n\t},\n\n\t/* Retrieve the default date shown on opening. */\n\t_getDefaultDate: function(inst) {\n\t\treturn this._restrictMinMax(inst,\n\t\t\tthis._determineDate(inst, this._get(inst, \"defaultDate\"), new Date()));\n\t},\n\n\t/* A date may be specified as an exact value or a relative one. */\n\t_determineDate: function(inst, date, defaultDate) {\n\t\tvar offsetNumeric = function(offset) {\n\t\t\t\tvar date = new Date();\n\t\t\t\tdate.setDate(date.getDate() + offset);\n\t\t\t\treturn date;\n\t\t\t},\n\t\t\toffsetString = function(offset) {\n\t\t\t\ttry {\n\t\t\t\t\treturn $.datepicker.parseDate($.datepicker._get(inst, \"dateFormat\"),\n\t\t\t\t\t\toffset, $.datepicker._getFormatConfig(inst));\n\t\t\t\t}\n\t\t\t\tcatch (e) {\n\t\t\t\t\t// Ignore\n\t\t\t\t}\n\n\t\t\t\tvar date = (offset.toLowerCase().match(/^c/) ?\n\t\t\t\t\t$.datepicker._getDate(inst) : null) || new Date(),\n\t\t\t\t\tyear = date.getFullYear(),\n\t\t\t\t\tmonth = date.getMonth(),\n\t\t\t\t\tday = date.getDate(),\n\t\t\t\t\tpattern = /([+\\-]?[0-9]+)\\s*(d|D|w|W|m|M|y|Y)?/g,\n\t\t\t\t\tmatches = pattern.exec(offset);\n\n\t\t\t\twhile (matches) {\n\t\t\t\t\tswitch (matches[2] || \"d\") {\n\t\t\t\t\t\tcase \"d\" : case \"D\" :\n\t\t\t\t\t\t\tday += parseInt(matches[1],10); break;\n\t\t\t\t\t\tcase \"w\" : case \"W\" :\n\t\t\t\t\t\t\tday += parseInt(matches[1],10) * 7; break;\n\t\t\t\t\t\tcase \"m\" : case \"M\" :\n\t\t\t\t\t\t\tmonth += parseInt(matches[1],10);\n\t\t\t\t\t\t\tday = Math.min(day, $.datepicker._getDaysInMonth(year, month));\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase \"y\": case \"Y\" :\n\t\t\t\t\t\t\tyear += parseInt(matches[1],10);\n\t\t\t\t\t\t\tday = Math.min(day, $.datepicker._getDaysInMonth(year, month));\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tmatches = pattern.exec(offset);\n\t\t\t\t}\n\t\t\t\treturn new Date(year, month, day);\n\t\t\t},\n\t\t\tnewDate = (date == null || date === \"\" ? defaultDate : (typeof date === \"string\" ? offsetString(date) :\n\t\t\t\t(typeof date === \"number\" ? (isNaN(date) ? defaultDate : offsetNumeric(date)) : new Date(date.getTime()))));\n\n\t\tnewDate = (newDate && newDate.toString() === \"Invalid Date\" ? defaultDate : newDate);\n\t\tif (newDate) {\n\t\t\tnewDate.setHours(0);\n\t\t\tnewDate.setMinutes(0);\n\t\t\tnewDate.setSeconds(0);\n\t\t\tnewDate.setMilliseconds(0);\n\t\t}\n\t\treturn this._daylightSavingAdjust(newDate);\n\t},\n\n\t/* Handle switch to/from daylight saving.\n\t * Hours may be non-zero on daylight saving cut-over:\n\t * > 12 when midnight changeover, but then cannot generate\n\t * midnight datetime, so jump to 1AM, otherwise reset.\n\t * @param  date  (Date) the date to check\n\t * @return  (Date) the corrected date\n\t */\n\t_daylightSavingAdjust: function(date) {\n\t\tif (!date) {\n\t\t\treturn null;\n\t\t}\n\t\tdate.setHours(date.getHours() > 12 ? date.getHours() + 2 : 0);\n\t\treturn date;\n\t},\n\n\t/* Set the date(s) directly. */\n\t_setDate: function(inst, date, noChange) {\n\t\tvar clear = !date,\n\t\t\torigMonth = inst.selectedMonth,\n\t\t\torigYear = inst.selectedYear,\n\t\t\tnewDate = this._restrictMinMax(inst, this._determineDate(inst, date, new Date()));\n\n\t\tinst.selectedDay = inst.currentDay = newDate.getDate();\n\t\tinst.drawMonth = inst.selectedMonth = inst.currentMonth = newDate.getMonth();\n\t\tinst.drawYear = inst.selectedYear = inst.currentYear = newDate.getFullYear();\n\t\tif ((origMonth !== inst.selectedMonth || origYear !== inst.selectedYear) && !noChange) {\n\t\t\tthis._notifyChange(inst);\n\t\t}\n\t\tthis._adjustInstDate(inst);\n\t\tif (inst.input) {\n\t\t\tinst.input.val(clear ? \"\" : this._formatDate(inst));\n\t\t}\n\t},\n\n\t/* Retrieve the date(s) directly. */\n\t_getDate: function(inst) {\n\t\tvar startDate = (!inst.currentYear || (inst.input && inst.input.val() === \"\") ? null :\n\t\t\tthis._daylightSavingAdjust(new Date(\n\t\t\tinst.currentYear, inst.currentMonth, inst.currentDay)));\n\t\t\treturn startDate;\n\t},\n\n\t/* Attach the onxxx handlers.  These are declared statically so\n\t * they work with static code transformers like Caja.\n\t */\n\t_attachHandlers: function(inst) {\n\t\tvar stepMonths = this._get(inst, \"stepMonths\"),\n\t\t\tid = \"#\" + inst.id.replace( /\\\\\\\\/g, \"\\\\\" );\n\t\tinst.dpDiv.find(\"[data-handler]\").map(function () {\n\t\t\tvar handler = {\n\t\t\t\tprev: function () {\n\t\t\t\t\t$.datepicker._adjustDate(id, -stepMonths, \"M\");\n\t\t\t\t},\n\t\t\t\tnext: function () {\n\t\t\t\t\t$.datepicker._adjustDate(id, +stepMonths, \"M\");\n\t\t\t\t},\n\t\t\t\thide: function () {\n\t\t\t\t\t$.datepicker._hideDatepicker();\n\t\t\t\t},\n\t\t\t\ttoday: function () {\n\t\t\t\t\t$.datepicker._gotoToday(id);\n\t\t\t\t},\n\t\t\t\tselectDay: function () {\n\t\t\t\t\t$.datepicker._selectDay(id, +this.getAttribute(\"data-month\"), +this.getAttribute(\"data-year\"), this);\n\t\t\t\t\treturn false;\n\t\t\t\t},\n\t\t\t\tselectMonth: function () {\n\t\t\t\t\t$.datepicker._selectMonthYear(id, this, \"M\");\n\t\t\t\t\treturn false;\n\t\t\t\t},\n\t\t\t\tselectYear: function () {\n\t\t\t\t\t$.datepicker._selectMonthYear(id, this, \"Y\");\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t};\n\t\t\t$(this).bind(this.getAttribute(\"data-event\"), handler[this.getAttribute(\"data-handler\")]);\n\t\t});\n\t},\n\n\t/* Generate the HTML for the current state of the date picker. */\n\t_generateHTML: function(inst) {\n\t\tvar maxDraw, prevText, prev, nextText, next, currentText, gotoDate,\n\t\t\tcontrols, buttonPanel, firstDay, showWeek, dayNames, dayNamesMin,\n\t\t\tmonthNames, monthNamesShort, beforeShowDay, showOtherMonths,\n\t\t\tselectOtherMonths, defaultDate, html, dow, row, group, col, selectedDate,\n\t\t\tcornerClass, calender, thead, day, daysInMonth, leadDays, curRows, numRows,\n\t\t\tprintDate, dRow, tbody, daySettings, otherMonth, unselectable,\n\t\t\ttempDate = new Date(),\n\t\t\ttoday = this._daylightSavingAdjust(\n\t\t\t\tnew Date(tempDate.getFullYear(), tempDate.getMonth(), tempDate.getDate())), // clear time\n\t\t\tisRTL = this._get(inst, \"isRTL\"),\n\t\t\tshowButtonPanel = this._get(inst, \"showButtonPanel\"),\n\t\t\thideIfNoPrevNext = this._get(inst, \"hideIfNoPrevNext\"),\n\t\t\tnavigationAsDateFormat = this._get(inst, \"navigationAsDateFormat\"),\n\t\t\tnumMonths = this._getNumberOfMonths(inst),\n\t\t\tshowCurrentAtPos = this._get(inst, \"showCurrentAtPos\"),\n\t\t\tstepMonths = this._get(inst, \"stepMonths\"),\n\t\t\tisMultiMonth = (numMonths[0] !== 1 || numMonths[1] !== 1),\n\t\t\tcurrentDate = this._daylightSavingAdjust((!inst.currentDay ? new Date(9999, 9, 9) :\n\t\t\t\tnew Date(inst.currentYear, inst.currentMonth, inst.currentDay))),\n\t\t\tminDate = this._getMinMaxDate(inst, \"min\"),\n\t\t\tmaxDate = this._getMinMaxDate(inst, \"max\"),\n\t\t\tdrawMonth = inst.drawMonth - showCurrentAtPos,\n\t\t\tdrawYear = inst.drawYear;\n\n\t\tif (drawMonth < 0) {\n\t\t\tdrawMonth += 12;\n\t\t\tdrawYear--;\n\t\t}\n\t\tif (maxDate) {\n\t\t\tmaxDraw = this._daylightSavingAdjust(new Date(maxDate.getFullYear(),\n\t\t\t\tmaxDate.getMonth() - (numMonths[0] * numMonths[1]) + 1, maxDate.getDate()));\n\t\t\tmaxDraw = (minDate && maxDraw < minDate ? minDate : maxDraw);\n\t\t\twhile (this._daylightSavingAdjust(new Date(drawYear, drawMonth, 1)) > maxDraw) {\n\t\t\t\tdrawMonth--;\n\t\t\t\tif (drawMonth < 0) {\n\t\t\t\t\tdrawMonth = 11;\n\t\t\t\t\tdrawYear--;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tinst.drawMonth = drawMonth;\n\t\tinst.drawYear = drawYear;\n\n\t\tprevText = this._get(inst, \"prevText\");\n\t\tprevText = (!navigationAsDateFormat ? prevText : this.formatDate(prevText,\n\t\t\tthis._daylightSavingAdjust(new Date(drawYear, drawMonth - stepMonths, 1)),\n\t\t\tthis._getFormatConfig(inst)));\n\n\t\tprev = (this._canAdjustMonth(inst, -1, drawYear, drawMonth) ?\n\t\t\t\"<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click'\" +\n\t\t\t\" title='\" + prevText + \"'><span class='ui-icon ui-icon-circle-triangle-\" + ( isRTL ? \"e\" : \"w\") + \"'>\" + prevText + \"</span></a>\" :\n\t\t\t(hideIfNoPrevNext ? \"\" : \"<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='\"+ prevText +\"'><span class='ui-icon ui-icon-circle-triangle-\" + ( isRTL ? \"e\" : \"w\") + \"'>\" + prevText + \"</span></a>\"));\n\n\t\tnextText = this._get(inst, \"nextText\");\n\t\tnextText = (!navigationAsDateFormat ? nextText : this.formatDate(nextText,\n\t\t\tthis._daylightSavingAdjust(new Date(drawYear, drawMonth + stepMonths, 1)),\n\t\t\tthis._getFormatConfig(inst)));\n\n\t\tnext = (this._canAdjustMonth(inst, +1, drawYear, drawMonth) ?\n\t\t\t\"<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click'\" +\n\t\t\t\" title='\" + nextText + \"'><span class='ui-icon ui-icon-circle-triangle-\" + ( isRTL ? \"w\" : \"e\") + \"'>\" + nextText + \"</span></a>\" :\n\t\t\t(hideIfNoPrevNext ? \"\" : \"<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='\"+ nextText + \"'><span class='ui-icon ui-icon-circle-triangle-\" + ( isRTL ? \"w\" : \"e\") + \"'>\" + nextText + \"</span></a>\"));\n\n\t\tcurrentText = this._get(inst, \"currentText\");\n\t\tgotoDate = (this._get(inst, \"gotoCurrent\") && inst.currentDay ? currentDate : today);\n\t\tcurrentText = (!navigationAsDateFormat ? currentText :\n\t\t\tthis.formatDate(currentText, gotoDate, this._getFormatConfig(inst)));\n\n\t\tcontrols = (!inst.inline ? \"<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>\" +\n\t\t\tthis._get(inst, \"closeText\") + \"</button>\" : \"\");\n\n\t\tbuttonPanel = (showButtonPanel) ? \"<div class='ui-datepicker-buttonpane ui-widget-content'>\" + (isRTL ? controls : \"\") +\n\t\t\t(this._isInRange(inst, gotoDate) ? \"<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'\" +\n\t\t\t\">\" + currentText + \"</button>\" : \"\") + (isRTL ? \"\" : controls) + \"</div>\" : \"\";\n\n\t\tfirstDay = parseInt(this._get(inst, \"firstDay\"),10);\n\t\tfirstDay = (isNaN(firstDay) ? 0 : firstDay);\n\n\t\tshowWeek = this._get(inst, \"showWeek\");\n\t\tdayNames = this._get(inst, \"dayNames\");\n\t\tdayNamesMin = this._get(inst, \"dayNamesMin\");\n\t\tmonthNames = this._get(inst, \"monthNames\");\n\t\tmonthNamesShort = this._get(inst, \"monthNamesShort\");\n\t\tbeforeShowDay = this._get(inst, \"beforeShowDay\");\n\t\tshowOtherMonths = this._get(inst, \"showOtherMonths\");\n\t\tselectOtherMonths = this._get(inst, \"selectOtherMonths\");\n\t\tdefaultDate = this._getDefaultDate(inst);\n\t\thtml = \"\";\n\t\tdow;\n\t\tfor (row = 0; row < numMonths[0]; row++) {\n\t\t\tgroup = \"\";\n\t\t\tthis.maxRows = 4;\n\t\t\tfor (col = 0; col < numMonths[1]; col++) {\n\t\t\t\tselectedDate = this._daylightSavingAdjust(new Date(drawYear, drawMonth, inst.selectedDay));\n\t\t\t\tcornerClass = \" ui-corner-all\";\n\t\t\t\tcalender = \"\";\n\t\t\t\tif (isMultiMonth) {\n\t\t\t\t\tcalender += \"<div class='ui-datepicker-group\";\n\t\t\t\t\tif (numMonths[1] > 1) {\n\t\t\t\t\t\tswitch (col) {\n\t\t\t\t\t\t\tcase 0: calender += \" ui-datepicker-group-first\";\n\t\t\t\t\t\t\t\tcornerClass = \" ui-corner-\" + (isRTL ? \"right\" : \"left\"); break;\n\t\t\t\t\t\t\tcase numMonths[1]-1: calender += \" ui-datepicker-group-last\";\n\t\t\t\t\t\t\t\tcornerClass = \" ui-corner-\" + (isRTL ? \"left\" : \"right\"); break;\n\t\t\t\t\t\t\tdefault: calender += \" ui-datepicker-group-middle\"; cornerClass = \"\"; break;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcalender += \"'>\";\n\t\t\t\t}\n\t\t\t\tcalender += \"<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix\" + cornerClass + \"'>\" +\n\t\t\t\t\t(/all|left/.test(cornerClass) && row === 0 ? (isRTL ? next : prev) : \"\") +\n\t\t\t\t\t(/all|right/.test(cornerClass) && row === 0 ? (isRTL ? prev : next) : \"\") +\n\t\t\t\t\tthis._generateMonthYearHeader(inst, drawMonth, drawYear, minDate, maxDate,\n\t\t\t\t\trow > 0 || col > 0, monthNames, monthNamesShort) + // draw month headers\n\t\t\t\t\t\"</div><table class='ui-datepicker-calendar'><thead>\" +\n\t\t\t\t\t\"<tr>\";\n\t\t\t\tthead = (showWeek ? \"<th class='ui-datepicker-week-col'>\" + this._get(inst, \"weekHeader\") + \"</th>\" : \"\");\n\t\t\t\tfor (dow = 0; dow < 7; dow++) { // days of the week\n\t\t\t\t\tday = (dow + firstDay) % 7;\n\t\t\t\t\tthead += \"<th scope='col'\" + ((dow + firstDay + 6) % 7 >= 5 ? \" class='ui-datepicker-week-end'\" : \"\") + \">\" +\n\t\t\t\t\t\t\"<span title='\" + dayNames[day] + \"'>\" + dayNamesMin[day] + \"</span></th>\";\n\t\t\t\t}\n\t\t\t\tcalender += thead + \"</tr></thead><tbody>\";\n\t\t\t\tdaysInMonth = this._getDaysInMonth(drawYear, drawMonth);\n\t\t\t\tif (drawYear === inst.selectedYear && drawMonth === inst.selectedMonth) {\n\t\t\t\t\tinst.selectedDay = Math.min(inst.selectedDay, daysInMonth);\n\t\t\t\t}\n\t\t\t\tleadDays = (this._getFirstDayOfMonth(drawYear, drawMonth) - firstDay + 7) % 7;\n\t\t\t\tcurRows = Math.ceil((leadDays + daysInMonth) / 7); // calculate the number of rows to generate\n\t\t\t\tnumRows = (isMultiMonth ? this.maxRows > curRows ? this.maxRows : curRows : curRows); //If multiple months, use the higher number of rows (see #7043)\n\t\t\t\tthis.maxRows = numRows;\n\t\t\t\tprintDate = this._daylightSavingAdjust(new Date(drawYear, drawMonth, 1 - leadDays));\n\t\t\t\tfor (dRow = 0; dRow < numRows; dRow++) { // create date picker rows\n\t\t\t\t\tcalender += \"<tr>\";\n\t\t\t\t\ttbody = (!showWeek ? \"\" : \"<td class='ui-datepicker-week-col'>\" +\n\t\t\t\t\t\tthis._get(inst, \"calculateWeek\")(printDate) + \"</td>\");\n\t\t\t\t\tfor (dow = 0; dow < 7; dow++) { // create date picker days\n\t\t\t\t\t\tdaySettings = (beforeShowDay ?\n\t\t\t\t\t\t\tbeforeShowDay.apply((inst.input ? inst.input[0] : null), [printDate]) : [true, \"\"]);\n\t\t\t\t\t\totherMonth = (printDate.getMonth() !== drawMonth);\n\t\t\t\t\t\tunselectable = (otherMonth && !selectOtherMonths) || !daySettings[0] ||\n\t\t\t\t\t\t\t(minDate && printDate < minDate) || (maxDate && printDate > maxDate);\n\t\t\t\t\t\ttbody += \"<td class='\" +\n\t\t\t\t\t\t\t((dow + firstDay + 6) % 7 >= 5 ? \" ui-datepicker-week-end\" : \"\") + // highlight weekends\n\t\t\t\t\t\t\t(otherMonth ? \" ui-datepicker-other-month\" : \"\") + // highlight days from other months\n\t\t\t\t\t\t\t((printDate.getTime() === selectedDate.getTime() && drawMonth === inst.selectedMonth && inst._keyEvent) || // user pressed key\n\t\t\t\t\t\t\t(defaultDate.getTime() === printDate.getTime() && defaultDate.getTime() === selectedDate.getTime()) ?\n\t\t\t\t\t\t\t// or defaultDate is current printedDate and defaultDate is selectedDate\n\t\t\t\t\t\t\t\" \" + this._dayOverClass : \"\") + // highlight selected day\n\t\t\t\t\t\t\t(unselectable ? \" \" + this._unselectableClass + \" ui-state-disabled\": \"\") +  // highlight unselectable days\n\t\t\t\t\t\t\t(otherMonth && !showOtherMonths ? \"\" : \" \" + daySettings[1] + // highlight custom dates\n\t\t\t\t\t\t\t(printDate.getTime() === currentDate.getTime() ? \" \" + this._currentClass : \"\") + // highlight selected day\n\t\t\t\t\t\t\t(printDate.getTime() === today.getTime() ? \" ui-datepicker-today\" : \"\")) + \"'\" + // highlight today (if different)\n\t\t\t\t\t\t\t((!otherMonth || showOtherMonths) && daySettings[2] ? \" title='\" + daySettings[2].replace(/'/g, \"&#39;\") + \"'\" : \"\") + // cell title\n\t\t\t\t\t\t\t(unselectable ? \"\" : \" data-handler='selectDay' data-event='click' data-month='\" + printDate.getMonth() + \"' data-year='\" + printDate.getFullYear() + \"'\") + \">\" + // actions\n\t\t\t\t\t\t\t(otherMonth && !showOtherMonths ? \"&#xa0;\" : // display for other months\n\t\t\t\t\t\t\t(unselectable ? \"<span class='ui-state-default'>\" + printDate.getDate() + \"</span>\" : \"<a class='ui-state-default\" +\n\t\t\t\t\t\t\t(printDate.getTime() === today.getTime() ? \" ui-state-highlight\" : \"\") +\n\t\t\t\t\t\t\t(printDate.getTime() === currentDate.getTime() ? \" ui-state-active\" : \"\") + // highlight selected day\n\t\t\t\t\t\t\t(otherMonth ? \" ui-priority-secondary\" : \"\") + // distinguish dates from other months\n\t\t\t\t\t\t\t\"' href='#'>\" + printDate.getDate() + \"</a>\")) + \"</td>\"; // display selectable date\n\t\t\t\t\t\tprintDate.setDate(printDate.getDate() + 1);\n\t\t\t\t\t\tprintDate = this._daylightSavingAdjust(printDate);\n\t\t\t\t\t}\n\t\t\t\t\tcalender += tbody + \"</tr>\";\n\t\t\t\t}\n\t\t\t\tdrawMonth++;\n\t\t\t\tif (drawMonth > 11) {\n\t\t\t\t\tdrawMonth = 0;\n\t\t\t\t\tdrawYear++;\n\t\t\t\t}\n\t\t\t\tcalender += \"</tbody></table>\" + (isMultiMonth ? \"</div>\" +\n\t\t\t\t\t\t\t((numMonths[0] > 0 && col === numMonths[1]-1) ? \"<div class='ui-datepicker-row-break'></div>\" : \"\") : \"\");\n\t\t\t\tgroup += calender;\n\t\t\t}\n\t\t\thtml += group;\n\t\t}\n\t\thtml += buttonPanel;\n\t\tinst._keyEvent = false;\n\t\treturn html;\n\t},\n\n\t/* Generate the month and year header. */\n\t_generateMonthYearHeader: function(inst, drawMonth, drawYear, minDate, maxDate,\n\t\t\tsecondary, monthNames, monthNamesShort) {\n\n\t\tvar inMinYear, inMaxYear, month, years, thisYear, determineYear, year, endYear,\n\t\t\tchangeMonth = this._get(inst, \"changeMonth\"),\n\t\t\tchangeYear = this._get(inst, \"changeYear\"),\n\t\t\tshowMonthAfterYear = this._get(inst, \"showMonthAfterYear\"),\n\t\t\thtml = \"<div class='ui-datepicker-title'>\",\n\t\t\tmonthHtml = \"\";\n\n\t\t// month selection\n\t\tif (secondary || !changeMonth) {\n\t\t\tmonthHtml += \"<span class='ui-datepicker-month'>\" + monthNames[drawMonth] + \"</span>\";\n\t\t} else {\n\t\t\tinMinYear = (minDate && minDate.getFullYear() === drawYear);\n\t\t\tinMaxYear = (maxDate && maxDate.getFullYear() === drawYear);\n\t\t\tmonthHtml += \"<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>\";\n\t\t\tfor ( month = 0; month < 12; month++) {\n\t\t\t\tif ((!inMinYear || month >= minDate.getMonth()) && (!inMaxYear || month <= maxDate.getMonth())) {\n\t\t\t\t\tmonthHtml += \"<option value='\" + month + \"'\" +\n\t\t\t\t\t\t(month === drawMonth ? \" selected='selected'\" : \"\") +\n\t\t\t\t\t\t\">\" + monthNamesShort[month] + \"</option>\";\n\t\t\t\t}\n\t\t\t}\n\t\t\tmonthHtml += \"</select>\";\n\t\t}\n\n\t\tif (!showMonthAfterYear) {\n\t\t\thtml += monthHtml + (secondary || !(changeMonth && changeYear) ? \"&#xa0;\" : \"\");\n\t\t}\n\n\t\t// year selection\n\t\tif ( !inst.yearshtml ) {\n\t\t\tinst.yearshtml = \"\";\n\t\t\tif (secondary || !changeYear) {\n\t\t\t\thtml += \"<span class='ui-datepicker-year'>\" + drawYear + \"</span>\";\n\t\t\t} else {\n\t\t\t\t// determine range of years to display\n\t\t\t\tyears = this._get(inst, \"yearRange\").split(\":\");\n\t\t\t\tthisYear = new Date().getFullYear();\n\t\t\t\tdetermineYear = function(value) {\n\t\t\t\t\tvar year = (value.match(/c[+\\-].*/) ? drawYear + parseInt(value.substring(1), 10) :\n\t\t\t\t\t\t(value.match(/[+\\-].*/) ? thisYear + parseInt(value, 10) :\n\t\t\t\t\t\tparseInt(value, 10)));\n\t\t\t\t\treturn (isNaN(year) ? thisYear : year);\n\t\t\t\t};\n\t\t\t\tyear = determineYear(years[0]);\n\t\t\t\tendYear = Math.max(year, determineYear(years[1] || \"\"));\n\t\t\t\tyear = (minDate ? Math.max(year, minDate.getFullYear()) : year);\n\t\t\t\tendYear = (maxDate ? Math.min(endYear, maxDate.getFullYear()) : endYear);\n\t\t\t\tinst.yearshtml += \"<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>\";\n\t\t\t\tfor (; year <= endYear; year++) {\n\t\t\t\t\tinst.yearshtml += \"<option value='\" + year + \"'\" +\n\t\t\t\t\t\t(year === drawYear ? \" selected='selected'\" : \"\") +\n\t\t\t\t\t\t\">\" + year + \"</option>\";\n\t\t\t\t}\n\t\t\t\tinst.yearshtml += \"</select>\";\n\n\t\t\t\thtml += inst.yearshtml;\n\t\t\t\tinst.yearshtml = null;\n\t\t\t}\n\t\t}\n\n\t\thtml += this._get(inst, \"yearSuffix\");\n\t\tif (showMonthAfterYear) {\n\t\t\thtml += (secondary || !(changeMonth && changeYear) ? \"&#xa0;\" : \"\") + monthHtml;\n\t\t}\n\t\thtml += \"</div>\"; // Close datepicker_header\n\t\treturn html;\n\t},\n\n\t/* Adjust one of the date sub-fields. */\n\t_adjustInstDate: function(inst, offset, period) {\n\t\tvar year = inst.drawYear + (period === \"Y\" ? offset : 0),\n\t\t\tmonth = inst.drawMonth + (period === \"M\" ? offset : 0),\n\t\t\tday = Math.min(inst.selectedDay, this._getDaysInMonth(year, month)) + (period === \"D\" ? offset : 0),\n\t\t\tdate = this._restrictMinMax(inst, this._daylightSavingAdjust(new Date(year, month, day)));\n\n\t\tinst.selectedDay = date.getDate();\n\t\tinst.drawMonth = inst.selectedMonth = date.getMonth();\n\t\tinst.drawYear = inst.selectedYear = date.getFullYear();\n\t\tif (period === \"M\" || period === \"Y\") {\n\t\t\tthis._notifyChange(inst);\n\t\t}\n\t},\n\n\t/* Ensure a date is within any min/max bounds. */\n\t_restrictMinMax: function(inst, date) {\n\t\tvar minDate = this._getMinMaxDate(inst, \"min\"),\n\t\t\tmaxDate = this._getMinMaxDate(inst, \"max\"),\n\t\t\tnewDate = (minDate && date < minDate ? minDate : date);\n\t\treturn (maxDate && newDate > maxDate ? maxDate : newDate);\n\t},\n\n\t/* Notify change of month/year. */\n\t_notifyChange: function(inst) {\n\t\tvar onChange = this._get(inst, \"onChangeMonthYear\");\n\t\tif (onChange) {\n\t\t\tonChange.apply((inst.input ? inst.input[0] : null),\n\t\t\t\t[inst.selectedYear, inst.selectedMonth + 1, inst]);\n\t\t}\n\t},\n\n\t/* Determine the number of months to show. */\n\t_getNumberOfMonths: function(inst) {\n\t\tvar numMonths = this._get(inst, \"numberOfMonths\");\n\t\treturn (numMonths == null ? [1, 1] : (typeof numMonths === \"number\" ? [1, numMonths] : numMonths));\n\t},\n\n\t/* Determine the current maximum date - ensure no time components are set. */\n\t_getMinMaxDate: function(inst, minMax) {\n\t\treturn this._determineDate(inst, this._get(inst, minMax + \"Date\"), null);\n\t},\n\n\t/* Find the number of days in a given month. */\n\t_getDaysInMonth: function(year, month) {\n\t\treturn 32 - this._daylightSavingAdjust(new Date(year, month, 32)).getDate();\n\t},\n\n\t/* Find the day of the week of the first of a month. */\n\t_getFirstDayOfMonth: function(year, month) {\n\t\treturn new Date(year, month, 1).getDay();\n\t},\n\n\t/* Determines if we should allow a \"next/prev\" month display change. */\n\t_canAdjustMonth: function(inst, offset, curYear, curMonth) {\n\t\tvar numMonths = this._getNumberOfMonths(inst),\n\t\t\tdate = this._daylightSavingAdjust(new Date(curYear,\n\t\t\tcurMonth + (offset < 0 ? offset : numMonths[0] * numMonths[1]), 1));\n\n\t\tif (offset < 0) {\n\t\t\tdate.setDate(this._getDaysInMonth(date.getFullYear(), date.getMonth()));\n\t\t}\n\t\treturn this._isInRange(inst, date);\n\t},\n\n\t/* Is the given date in the accepted range? */\n\t_isInRange: function(inst, date) {\n\t\tvar yearSplit, currentYear,\n\t\t\tminDate = this._getMinMaxDate(inst, \"min\"),\n\t\t\tmaxDate = this._getMinMaxDate(inst, \"max\"),\n\t\t\tminYear = null,\n\t\t\tmaxYear = null,\n\t\t\tyears = this._get(inst, \"yearRange\");\n\t\t\tif (years){\n\t\t\t\tyearSplit = years.split(\":\");\n\t\t\t\tcurrentYear = new Date().getFullYear();\n\t\t\t\tminYear = parseInt(yearSplit[0], 10);\n\t\t\t\tmaxYear = parseInt(yearSplit[1], 10);\n\t\t\t\tif ( yearSplit[0].match(/[+\\-].*/) ) {\n\t\t\t\t\tminYear += currentYear;\n\t\t\t\t}\n\t\t\t\tif ( yearSplit[1].match(/[+\\-].*/) ) {\n\t\t\t\t\tmaxYear += currentYear;\n\t\t\t\t}\n\t\t\t}\n\n\t\treturn ((!minDate || date.getTime() >= minDate.getTime()) &&\n\t\t\t(!maxDate || date.getTime() <= maxDate.getTime()) &&\n\t\t\t(!minYear || date.getFullYear() >= minYear) &&\n\t\t\t(!maxYear || date.getFullYear() <= maxYear));\n\t},\n\n\t/* Provide the configuration settings for formatting/parsing. */\n\t_getFormatConfig: function(inst) {\n\t\tvar shortYearCutoff = this._get(inst, \"shortYearCutoff\");\n\t\tshortYearCutoff = (typeof shortYearCutoff !== \"string\" ? shortYearCutoff :\n\t\t\tnew Date().getFullYear() % 100 + parseInt(shortYearCutoff, 10));\n\t\treturn {shortYearCutoff: shortYearCutoff,\n\t\t\tdayNamesShort: this._get(inst, \"dayNamesShort\"), dayNames: this._get(inst, \"dayNames\"),\n\t\t\tmonthNamesShort: this._get(inst, \"monthNamesShort\"), monthNames: this._get(inst, \"monthNames\")};\n\t},\n\n\t/* Format the given date for display. */\n\t_formatDate: function(inst, day, month, year) {\n\t\tif (!day) {\n\t\t\tinst.currentDay = inst.selectedDay;\n\t\t\tinst.currentMonth = inst.selectedMonth;\n\t\t\tinst.currentYear = inst.selectedYear;\n\t\t}\n\t\tvar date = (day ? (typeof day === \"object\" ? day :\n\t\t\tthis._daylightSavingAdjust(new Date(year, month, day))) :\n\t\t\tthis._daylightSavingAdjust(new Date(inst.currentYear, inst.currentMonth, inst.currentDay)));\n\t\treturn this.formatDate(this._get(inst, \"dateFormat\"), date, this._getFormatConfig(inst));\n\t}\n});\n\n/*\n * Bind hover events for datepicker elements.\n * Done via delegate so the binding only occurs once in the lifetime of the parent div.\n * Global datepicker_instActive, set by _updateDatepicker allows the handlers to find their way back to the active picker.\n */\nfunction datepicker_bindHover(dpDiv) {\n\tvar selector = \"button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a\";\n\treturn dpDiv.delegate(selector, \"mouseout\", function() {\n\t\t\t$(this).removeClass(\"ui-state-hover\");\n\t\t\tif (this.className.indexOf(\"ui-datepicker-prev\") !== -1) {\n\t\t\t\t$(this).removeClass(\"ui-datepicker-prev-hover\");\n\t\t\t}\n\t\t\tif (this.className.indexOf(\"ui-datepicker-next\") !== -1) {\n\t\t\t\t$(this).removeClass(\"ui-datepicker-next-hover\");\n\t\t\t}\n\t\t})\n\t\t.delegate( selector, \"mouseover\", datepicker_handleMouseover );\n}\n\nfunction datepicker_handleMouseover() {\n\tif (!$.datepicker._isDisabledDatepicker( datepicker_instActive.inline? datepicker_instActive.dpDiv.parent()[0] : datepicker_instActive.input[0])) {\n\t\t$(this).parents(\".ui-datepicker-calendar\").find(\"a\").removeClass(\"ui-state-hover\");\n\t\t$(this).addClass(\"ui-state-hover\");\n\t\tif (this.className.indexOf(\"ui-datepicker-prev\") !== -1) {\n\t\t\t$(this).addClass(\"ui-datepicker-prev-hover\");\n\t\t}\n\t\tif (this.className.indexOf(\"ui-datepicker-next\") !== -1) {\n\t\t\t$(this).addClass(\"ui-datepicker-next-hover\");\n\t\t}\n\t}\n}\n\n/* jQuery extend now ignores nulls! */\nfunction datepicker_extendRemove(target, props) {\n\t$.extend(target, props);\n\tfor (var name in props) {\n\t\tif (props[name] == null) {\n\t\t\ttarget[name] = props[name];\n\t\t}\n\t}\n\treturn target;\n}\n\n/* Invoke the datepicker functionality.\n   @param  options  string - a command, optionally followed by additional parameters or\n\t\t\t\t\tObject - settings for attaching new datepicker functionality\n   @return  jQuery object */\n$.fn.datepicker = function(options){\n\n\t/* Verify an empty collection wasn't passed - Fixes #6976 */\n\tif ( !this.length ) {\n\t\treturn this;\n\t}\n\n\t/* Initialise the date picker. */\n\tif (!$.datepicker.initialized) {\n\t\t$(document).mousedown($.datepicker._checkExternalClick);\n\t\t$.datepicker.initialized = true;\n\t}\n\n\t/* Append datepicker main container to body if not exist. */\n\tif ($(\"#\"+$.datepicker._mainDivId).length === 0) {\n\t\t$(\"body\").append($.datepicker.dpDiv);\n\t}\n\n\tvar otherArgs = Array.prototype.slice.call(arguments, 1);\n\tif (typeof options === \"string\" && (options === \"isDisabled\" || options === \"getDate\" || options === \"widget\")) {\n\t\treturn $.datepicker[\"_\" + options + \"Datepicker\"].\n\t\t\tapply($.datepicker, [this[0]].concat(otherArgs));\n\t}\n\tif (options === \"option\" && arguments.length === 2 && typeof arguments[1] === \"string\") {\n\t\treturn $.datepicker[\"_\" + options + \"Datepicker\"].\n\t\t\tapply($.datepicker, [this[0]].concat(otherArgs));\n\t}\n\treturn this.each(function() {\n\t\ttypeof options === \"string\" ?\n\t\t\t$.datepicker[\"_\" + options + \"Datepicker\"].\n\t\t\t\tapply($.datepicker, [this].concat(otherArgs)) :\n\t\t\t$.datepicker._attachDatepicker(this, options);\n\t});\n};\n\n$.datepicker = new Datepicker(); // singleton instance\n$.datepicker.initialized = false;\n$.datepicker.uuid = new Date().getTime();\n$.datepicker.version = \"1.11.4\";\n\nvar datepicker = $.datepicker;\n\n\n/*!\n * jQuery UI Draggable 1.11.4\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/draggable/\n */\n\n\n$.widget(\"ui.draggable\", $.ui.mouse, {\n\tversion: \"1.11.4\",\n\twidgetEventPrefix: \"drag\",\n\toptions: {\n\t\taddClasses: true,\n\t\tappendTo: \"parent\",\n\t\taxis: false,\n\t\tconnectToSortable: false,\n\t\tcontainment: false,\n\t\tcursor: \"auto\",\n\t\tcursorAt: false,\n\t\tgrid: false,\n\t\thandle: false,\n\t\thelper: \"original\",\n\t\tiframeFix: false,\n\t\topacity: false,\n\t\trefreshPositions: false,\n\t\trevert: false,\n\t\trevertDuration: 500,\n\t\tscope: \"default\",\n\t\tscroll: true,\n\t\tscrollSensitivity: 20,\n\t\tscrollSpeed: 20,\n\t\tsnap: false,\n\t\tsnapMode: \"both\",\n\t\tsnapTolerance: 20,\n\t\tstack: false,\n\t\tzIndex: false,\n\n\t\t// callbacks\n\t\tdrag: null,\n\t\tstart: null,\n\t\tstop: null\n\t},\n\t_create: function() {\n\n\t\tif ( this.options.helper === \"original\" ) {\n\t\t\tthis._setPositionRelative();\n\t\t}\n\t\tif (this.options.addClasses){\n\t\t\tthis.element.addClass(\"ui-draggable\");\n\t\t}\n\t\tif (this.options.disabled){\n\t\t\tthis.element.addClass(\"ui-draggable-disabled\");\n\t\t}\n\t\tthis._setHandleClassName();\n\n\t\tthis._mouseInit();\n\t},\n\n\t_setOption: function( key, value ) {\n\t\tthis._super( key, value );\n\t\tif ( key === \"handle\" ) {\n\t\t\tthis._removeHandleClassName();\n\t\t\tthis._setHandleClassName();\n\t\t}\n\t},\n\n\t_destroy: function() {\n\t\tif ( ( this.helper || this.element ).is( \".ui-draggable-dragging\" ) ) {\n\t\t\tthis.destroyOnClear = true;\n\t\t\treturn;\n\t\t}\n\t\tthis.element.removeClass( \"ui-draggable ui-draggable-dragging ui-draggable-disabled\" );\n\t\tthis._removeHandleClassName();\n\t\tthis._mouseDestroy();\n\t},\n\n\t_mouseCapture: function(event) {\n\t\tvar o = this.options;\n\n\t\tthis._blurActiveElement( event );\n\n\t\t// among others, prevent a drag on a resizable-handle\n\t\tif (this.helper || o.disabled || $(event.target).closest(\".ui-resizable-handle\").length > 0) {\n\t\t\treturn false;\n\t\t}\n\n\t\t//Quit if we're not on a valid handle\n\t\tthis.handle = this._getHandle(event);\n\t\tif (!this.handle) {\n\t\t\treturn false;\n\t\t}\n\n\t\tthis._blockFrames( o.iframeFix === true ? \"iframe\" : o.iframeFix );\n\n\t\treturn true;\n\n\t},\n\n\t_blockFrames: function( selector ) {\n\t\tthis.iframeBlocks = this.document.find( selector ).map(function() {\n\t\t\tvar iframe = $( this );\n\n\t\t\treturn $( \"<div>\" )\n\t\t\t\t.css( \"position\", \"absolute\" )\n\t\t\t\t.appendTo( iframe.parent() )\n\t\t\t\t.outerWidth( iframe.outerWidth() )\n\t\t\t\t.outerHeight( iframe.outerHeight() )\n\t\t\t\t.offset( iframe.offset() )[ 0 ];\n\t\t});\n\t},\n\n\t_unblockFrames: function() {\n\t\tif ( this.iframeBlocks ) {\n\t\t\tthis.iframeBlocks.remove();\n\t\t\tdelete this.iframeBlocks;\n\t\t}\n\t},\n\n\t_blurActiveElement: function( event ) {\n\t\tvar document = this.document[ 0 ];\n\n\t\t// Only need to blur if the event occurred on the draggable itself, see #10527\n\t\tif ( !this.handleElement.is( event.target ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// support: IE9\n\t\t// IE9 throws an \"Unspecified error\" accessing document.activeElement from an <iframe>\n\t\ttry {\n\n\t\t\t// Support: IE9, IE10\n\t\t\t// If the <body> is blurred, IE will switch windows, see #9520\n\t\t\tif ( document.activeElement && document.activeElement.nodeName.toLowerCase() !== \"body\" ) {\n\n\t\t\t\t// Blur any element that currently has focus, see #4261\n\t\t\t\t$( document.activeElement ).blur();\n\t\t\t}\n\t\t} catch ( error ) {}\n\t},\n\n\t_mouseStart: function(event) {\n\n\t\tvar o = this.options;\n\n\t\t//Create and append the visible helper\n\t\tthis.helper = this._createHelper(event);\n\n\t\tthis.helper.addClass(\"ui-draggable-dragging\");\n\n\t\t//Cache the helper size\n\t\tthis._cacheHelperProportions();\n\n\t\t//If ddmanager is used for droppables, set the global draggable\n\t\tif ($.ui.ddmanager) {\n\t\t\t$.ui.ddmanager.current = this;\n\t\t}\n\n\t\t/*\n\t\t * - Position generation -\n\t\t * This block generates everything position related - it's the core of draggables.\n\t\t */\n\n\t\t//Cache the margins of the original element\n\t\tthis._cacheMargins();\n\n\t\t//Store the helper's css position\n\t\tthis.cssPosition = this.helper.css( \"position\" );\n\t\tthis.scrollParent = this.helper.scrollParent( true );\n\t\tthis.offsetParent = this.helper.offsetParent();\n\t\tthis.hasFixedAncestor = this.helper.parents().filter(function() {\n\t\t\t\treturn $( this ).css( \"position\" ) === \"fixed\";\n\t\t\t}).length > 0;\n\n\t\t//The element's absolute position on the page minus margins\n\t\tthis.positionAbs = this.element.offset();\n\t\tthis._refreshOffsets( event );\n\n\t\t//Generate the original position\n\t\tthis.originalPosition = this.position = this._generatePosition( event, false );\n\t\tthis.originalPageX = event.pageX;\n\t\tthis.originalPageY = event.pageY;\n\n\t\t//Adjust the mouse offset relative to the helper if \"cursorAt\" is supplied\n\t\t(o.cursorAt && this._adjustOffsetFromHelper(o.cursorAt));\n\n\t\t//Set a containment if given in the options\n\t\tthis._setContainment();\n\n\t\t//Trigger event + callbacks\n\t\tif (this._trigger(\"start\", event) === false) {\n\t\t\tthis._clear();\n\t\t\treturn false;\n\t\t}\n\n\t\t//Recache the helper size\n\t\tthis._cacheHelperProportions();\n\n\t\t//Prepare the droppable offsets\n\t\tif ($.ui.ddmanager && !o.dropBehaviour) {\n\t\t\t$.ui.ddmanager.prepareOffsets(this, event);\n\t\t}\n\n\t\t// Reset helper's right/bottom css if they're set and set explicit width/height instead\n\t\t// as this prevents resizing of elements with right/bottom set (see #7772)\n\t\tthis._normalizeRightBottom();\n\n\t\tthis._mouseDrag(event, true); //Execute the drag once - this causes the helper not to be visible before getting its correct position\n\n\t\t//If the ddmanager is used for droppables, inform the manager that dragging has started (see #5003)\n\t\tif ( $.ui.ddmanager ) {\n\t\t\t$.ui.ddmanager.dragStart(this, event);\n\t\t}\n\n\t\treturn true;\n\t},\n\n\t_refreshOffsets: function( event ) {\n\t\tthis.offset = {\n\t\t\ttop: this.positionAbs.top - this.margins.top,\n\t\t\tleft: this.positionAbs.left - this.margins.left,\n\t\t\tscroll: false,\n\t\t\tparent: this._getParentOffset(),\n\t\t\trelative: this._getRelativeOffset()\n\t\t};\n\n\t\tthis.offset.click = {\n\t\t\tleft: event.pageX - this.offset.left,\n\t\t\ttop: event.pageY - this.offset.top\n\t\t};\n\t},\n\n\t_mouseDrag: function(event, noPropagation) {\n\t\t// reset any necessary cached properties (see #5009)\n\t\tif ( this.hasFixedAncestor ) {\n\t\t\tthis.offset.parent = this._getParentOffset();\n\t\t}\n\n\t\t//Compute the helpers position\n\t\tthis.position = this._generatePosition( event, true );\n\t\tthis.positionAbs = this._convertPositionTo(\"absolute\");\n\n\t\t//Call plugins and callbacks and use the resulting position if something is returned\n\t\tif (!noPropagation) {\n\t\t\tvar ui = this._uiHash();\n\t\t\tif (this._trigger(\"drag\", event, ui) === false) {\n\t\t\t\tthis._mouseUp({});\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tthis.position = ui.position;\n\t\t}\n\n\t\tthis.helper[ 0 ].style.left = this.position.left + \"px\";\n\t\tthis.helper[ 0 ].style.top = this.position.top + \"px\";\n\n\t\tif ($.ui.ddmanager) {\n\t\t\t$.ui.ddmanager.drag(this, event);\n\t\t}\n\n\t\treturn false;\n\t},\n\n\t_mouseStop: function(event) {\n\n\t\t//If we are using droppables, inform the manager about the drop\n\t\tvar that = this,\n\t\t\tdropped = false;\n\t\tif ($.ui.ddmanager && !this.options.dropBehaviour) {\n\t\t\tdropped = $.ui.ddmanager.drop(this, event);\n\t\t}\n\n\t\t//if a drop comes from outside (a sortable)\n\t\tif (this.dropped) {\n\t\t\tdropped = this.dropped;\n\t\t\tthis.dropped = false;\n\t\t}\n\n\t\tif ((this.options.revert === \"invalid\" && !dropped) || (this.options.revert === \"valid\" && dropped) || this.options.revert === true || ($.isFunction(this.options.revert) && this.options.revert.call(this.element, dropped))) {\n\t\t\t$(this.helper).animate(this.originalPosition, parseInt(this.options.revertDuration, 10), function() {\n\t\t\t\tif (that._trigger(\"stop\", event) !== false) {\n\t\t\t\t\tthat._clear();\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tif (this._trigger(\"stop\", event) !== false) {\n\t\t\t\tthis._clear();\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t},\n\n\t_mouseUp: function( event ) {\n\t\tthis._unblockFrames();\n\n\t\t//If the ddmanager is used for droppables, inform the manager that dragging has stopped (see #5003)\n\t\tif ( $.ui.ddmanager ) {\n\t\t\t$.ui.ddmanager.dragStop(this, event);\n\t\t}\n\n\t\t// Only need to focus if the event occurred on the draggable itself, see #10527\n\t\tif ( this.handleElement.is( event.target ) ) {\n\t\t\t// The interaction is over; whether or not the click resulted in a drag, focus the element\n\t\t\tthis.element.focus();\n\t\t}\n\n\t\treturn $.ui.mouse.prototype._mouseUp.call(this, event);\n\t},\n\n\tcancel: function() {\n\n\t\tif (this.helper.is(\".ui-draggable-dragging\")) {\n\t\t\tthis._mouseUp({});\n\t\t} else {\n\t\t\tthis._clear();\n\t\t}\n\n\t\treturn this;\n\n\t},\n\n\t_getHandle: function(event) {\n\t\treturn this.options.handle ?\n\t\t\t!!$( event.target ).closest( this.element.find( this.options.handle ) ).length :\n\t\t\ttrue;\n\t},\n\n\t_setHandleClassName: function() {\n\t\tthis.handleElement = this.options.handle ?\n\t\t\tthis.element.find( this.options.handle ) : this.element;\n\t\tthis.handleElement.addClass( \"ui-draggable-handle\" );\n\t},\n\n\t_removeHandleClassName: function() {\n\t\tthis.handleElement.removeClass( \"ui-draggable-handle\" );\n\t},\n\n\t_createHelper: function(event) {\n\n\t\tvar o = this.options,\n\t\t\thelperIsFunction = $.isFunction( o.helper ),\n\t\t\thelper = helperIsFunction ?\n\t\t\t\t$( o.helper.apply( this.element[ 0 ], [ event ] ) ) :\n\t\t\t\t( o.helper === \"clone\" ?\n\t\t\t\t\tthis.element.clone().removeAttr( \"id\" ) :\n\t\t\t\t\tthis.element );\n\n\t\tif (!helper.parents(\"body\").length) {\n\t\t\thelper.appendTo((o.appendTo === \"parent\" ? this.element[0].parentNode : o.appendTo));\n\t\t}\n\n\t\t// http://bugs.jqueryui.com/ticket/9446\n\t\t// a helper function can return the original element\n\t\t// which wouldn't have been set to relative in _create\n\t\tif ( helperIsFunction && helper[ 0 ] === this.element[ 0 ] ) {\n\t\t\tthis._setPositionRelative();\n\t\t}\n\n\t\tif (helper[0] !== this.element[0] && !(/(fixed|absolute)/).test(helper.css(\"position\"))) {\n\t\t\thelper.css(\"position\", \"absolute\");\n\t\t}\n\n\t\treturn helper;\n\n\t},\n\n\t_setPositionRelative: function() {\n\t\tif ( !( /^(?:r|a|f)/ ).test( this.element.css( \"position\" ) ) ) {\n\t\t\tthis.element[ 0 ].style.position = \"relative\";\n\t\t}\n\t},\n\n\t_adjustOffsetFromHelper: function(obj) {\n\t\tif (typeof obj === \"string\") {\n\t\t\tobj = obj.split(\" \");\n\t\t}\n\t\tif ($.isArray(obj)) {\n\t\t\tobj = { left: +obj[0], top: +obj[1] || 0 };\n\t\t}\n\t\tif (\"left\" in obj) {\n\t\t\tthis.offset.click.left = obj.left + this.margins.left;\n\t\t}\n\t\tif (\"right\" in obj) {\n\t\t\tthis.offset.click.left = this.helperProportions.width - obj.right + this.margins.left;\n\t\t}\n\t\tif (\"top\" in obj) {\n\t\t\tthis.offset.click.top = obj.top + this.margins.top;\n\t\t}\n\t\tif (\"bottom\" in obj) {\n\t\t\tthis.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top;\n\t\t}\n\t},\n\n\t_isRootNode: function( element ) {\n\t\treturn ( /(html|body)/i ).test( element.tagName ) || element === this.document[ 0 ];\n\t},\n\n\t_getParentOffset: function() {\n\n\t\t//Get the offsetParent and cache its position\n\t\tvar po = this.offsetParent.offset(),\n\t\t\tdocument = this.document[ 0 ];\n\n\t\t// This is a special case where we need to modify a offset calculated on start, since the following happened:\n\t\t// 1. The position of the helper is absolute, so it's position is calculated based on the next positioned parent\n\t\t// 2. The actual offset parent is a child of the scroll parent, and the scroll parent isn't the document, which means that\n\t\t//    the scroll is included in the initial calculation of the offset of the parent, and never recalculated upon drag\n\t\tif (this.cssPosition === \"absolute\" && this.scrollParent[0] !== document && $.contains(this.scrollParent[0], this.offsetParent[0])) {\n\t\t\tpo.left += this.scrollParent.scrollLeft();\n\t\t\tpo.top += this.scrollParent.scrollTop();\n\t\t}\n\n\t\tif ( this._isRootNode( this.offsetParent[ 0 ] ) ) {\n\t\t\tpo = { top: 0, left: 0 };\n\t\t}\n\n\t\treturn {\n\t\t\ttop: po.top + (parseInt(this.offsetParent.css(\"borderTopWidth\"), 10) || 0),\n\t\t\tleft: po.left + (parseInt(this.offsetParent.css(\"borderLeftWidth\"), 10) || 0)\n\t\t};\n\n\t},\n\n\t_getRelativeOffset: function() {\n\t\tif ( this.cssPosition !== \"relative\" ) {\n\t\t\treturn { top: 0, left: 0 };\n\t\t}\n\n\t\tvar p = this.element.position(),\n\t\t\tscrollIsRootNode = this._isRootNode( this.scrollParent[ 0 ] );\n\n\t\treturn {\n\t\t\ttop: p.top - ( parseInt(this.helper.css( \"top\" ), 10) || 0 ) + ( !scrollIsRootNode ? this.scrollParent.scrollTop() : 0 ),\n\t\t\tleft: p.left - ( parseInt(this.helper.css( \"left\" ), 10) || 0 ) + ( !scrollIsRootNode ? this.scrollParent.scrollLeft() : 0 )\n\t\t};\n\n\t},\n\n\t_cacheMargins: function() {\n\t\tthis.margins = {\n\t\t\tleft: (parseInt(this.element.css(\"marginLeft\"), 10) || 0),\n\t\t\ttop: (parseInt(this.element.css(\"marginTop\"), 10) || 0),\n\t\t\tright: (parseInt(this.element.css(\"marginRight\"), 10) || 0),\n\t\t\tbottom: (parseInt(this.element.css(\"marginBottom\"), 10) || 0)\n\t\t};\n\t},\n\n\t_cacheHelperProportions: function() {\n\t\tthis.helperProportions = {\n\t\t\twidth: this.helper.outerWidth(),\n\t\t\theight: this.helper.outerHeight()\n\t\t};\n\t},\n\n\t_setContainment: function() {\n\n\t\tvar isUserScrollable, c, ce,\n\t\t\to = this.options,\n\t\t\tdocument = this.document[ 0 ];\n\n\t\tthis.relativeContainer = null;\n\n\t\tif ( !o.containment ) {\n\t\t\tthis.containment = null;\n\t\t\treturn;\n\t\t}\n\n\t\tif ( o.containment === \"window\" ) {\n\t\t\tthis.containment = [\n\t\t\t\t$( window ).scrollLeft() - this.offset.relative.left - this.offset.parent.left,\n\t\t\t\t$( window ).scrollTop() - this.offset.relative.top - this.offset.parent.top,\n\t\t\t\t$( window ).scrollLeft() + $( window ).width() - this.helperProportions.width - this.margins.left,\n\t\t\t\t$( window ).scrollTop() + ( $( window ).height() || document.body.parentNode.scrollHeight ) - this.helperProportions.height - this.margins.top\n\t\t\t];\n\t\t\treturn;\n\t\t}\n\n\t\tif ( o.containment === \"document\") {\n\t\t\tthis.containment = [\n\t\t\t\t0,\n\t\t\t\t0,\n\t\t\t\t$( document ).width() - this.helperProportions.width - this.margins.left,\n\t\t\t\t( $( document ).height() || document.body.parentNode.scrollHeight ) - this.helperProportions.height - this.margins.top\n\t\t\t];\n\t\t\treturn;\n\t\t}\n\n\t\tif ( o.containment.constructor === Array ) {\n\t\t\tthis.containment = o.containment;\n\t\t\treturn;\n\t\t}\n\n\t\tif ( o.containment === \"parent\" ) {\n\t\t\to.containment = this.helper[ 0 ].parentNode;\n\t\t}\n\n\t\tc = $( o.containment );\n\t\tce = c[ 0 ];\n\n\t\tif ( !ce ) {\n\t\t\treturn;\n\t\t}\n\n\t\tisUserScrollable = /(scroll|auto)/.test( c.css( \"overflow\" ) );\n\n\t\tthis.containment = [\n\t\t\t( parseInt( c.css( \"borderLeftWidth\" ), 10 ) || 0 ) + ( parseInt( c.css( \"paddingLeft\" ), 10 ) || 0 ),\n\t\t\t( parseInt( c.css( \"borderTopWidth\" ), 10 ) || 0 ) + ( parseInt( c.css( \"paddingTop\" ), 10 ) || 0 ),\n\t\t\t( isUserScrollable ? Math.max( ce.scrollWidth, ce.offsetWidth ) : ce.offsetWidth ) -\n\t\t\t\t( parseInt( c.css( \"borderRightWidth\" ), 10 ) || 0 ) -\n\t\t\t\t( parseInt( c.css( \"paddingRight\" ), 10 ) || 0 ) -\n\t\t\t\tthis.helperProportions.width -\n\t\t\t\tthis.margins.left -\n\t\t\t\tthis.margins.right,\n\t\t\t( isUserScrollable ? Math.max( ce.scrollHeight, ce.offsetHeight ) : ce.offsetHeight ) -\n\t\t\t\t( parseInt( c.css( \"borderBottomWidth\" ), 10 ) || 0 ) -\n\t\t\t\t( parseInt( c.css( \"paddingBottom\" ), 10 ) || 0 ) -\n\t\t\t\tthis.helperProportions.height -\n\t\t\t\tthis.margins.top -\n\t\t\t\tthis.margins.bottom\n\t\t];\n\t\tthis.relativeContainer = c;\n\t},\n\n\t_convertPositionTo: function(d, pos) {\n\n\t\tif (!pos) {\n\t\t\tpos = this.position;\n\t\t}\n\n\t\tvar mod = d === \"absolute\" ? 1 : -1,\n\t\t\tscrollIsRootNode = this._isRootNode( this.scrollParent[ 0 ] );\n\n\t\treturn {\n\t\t\ttop: (\n\t\t\t\tpos.top\t+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// The absolute mouse position\n\t\t\t\tthis.offset.relative.top * mod +\t\t\t\t\t\t\t\t\t\t// Only for relative positioned nodes: Relative offset from element to offset parent\n\t\t\t\tthis.offset.parent.top * mod -\t\t\t\t\t\t\t\t\t\t// The offsetParent's offset without borders (offset + border)\n\t\t\t\t( ( this.cssPosition === \"fixed\" ? -this.offset.scroll.top : ( scrollIsRootNode ? 0 : this.offset.scroll.top ) ) * mod)\n\t\t\t),\n\t\t\tleft: (\n\t\t\t\tpos.left +\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// The absolute mouse position\n\t\t\t\tthis.offset.relative.left * mod +\t\t\t\t\t\t\t\t\t\t// Only for relative positioned nodes: Relative offset from element to offset parent\n\t\t\t\tthis.offset.parent.left * mod\t-\t\t\t\t\t\t\t\t\t\t// The offsetParent's offset without borders (offset + border)\n\t\t\t\t( ( this.cssPosition === \"fixed\" ? -this.offset.scroll.left : ( scrollIsRootNode ? 0 : this.offset.scroll.left ) ) * mod)\n\t\t\t)\n\t\t};\n\n\t},\n\n\t_generatePosition: function( event, constrainPosition ) {\n\n\t\tvar containment, co, top, left,\n\t\t\to = this.options,\n\t\t\tscrollIsRootNode = this._isRootNode( this.scrollParent[ 0 ] ),\n\t\t\tpageX = event.pageX,\n\t\t\tpageY = event.pageY;\n\n\t\t// Cache the scroll\n\t\tif ( !scrollIsRootNode || !this.offset.scroll ) {\n\t\t\tthis.offset.scroll = {\n\t\t\t\ttop: this.scrollParent.scrollTop(),\n\t\t\t\tleft: this.scrollParent.scrollLeft()\n\t\t\t};\n\t\t}\n\n\t\t/*\n\t\t * - Position constraining -\n\t\t * Constrain the position to a mix of grid, containment.\n\t\t */\n\n\t\t// If we are not dragging yet, we won't check for options\n\t\tif ( constrainPosition ) {\n\t\t\tif ( this.containment ) {\n\t\t\t\tif ( this.relativeContainer ){\n\t\t\t\t\tco = this.relativeContainer.offset();\n\t\t\t\t\tcontainment = [\n\t\t\t\t\t\tthis.containment[ 0 ] + co.left,\n\t\t\t\t\t\tthis.containment[ 1 ] + co.top,\n\t\t\t\t\t\tthis.containment[ 2 ] + co.left,\n\t\t\t\t\t\tthis.containment[ 3 ] + co.top\n\t\t\t\t\t];\n\t\t\t\t} else {\n\t\t\t\t\tcontainment = this.containment;\n\t\t\t\t}\n\n\t\t\t\tif (event.pageX - this.offset.click.left < containment[0]) {\n\t\t\t\t\tpageX = containment[0] + this.offset.click.left;\n\t\t\t\t}\n\t\t\t\tif (event.pageY - this.offset.click.top < containment[1]) {\n\t\t\t\t\tpageY = containment[1] + this.offset.click.top;\n\t\t\t\t}\n\t\t\t\tif (event.pageX - this.offset.click.left > containment[2]) {\n\t\t\t\t\tpageX = containment[2] + this.offset.click.left;\n\t\t\t\t}\n\t\t\t\tif (event.pageY - this.offset.click.top > containment[3]) {\n\t\t\t\t\tpageY = containment[3] + this.offset.click.top;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (o.grid) {\n\t\t\t\t//Check for grid elements set to 0 to prevent divide by 0 error causing invalid argument errors in IE (see ticket #6950)\n\t\t\t\ttop = o.grid[1] ? this.originalPageY + Math.round((pageY - this.originalPageY) / o.grid[1]) * o.grid[1] : this.originalPageY;\n\t\t\t\tpageY = containment ? ((top - this.offset.click.top >= containment[1] || top - this.offset.click.top > containment[3]) ? top : ((top - this.offset.click.top >= containment[1]) ? top - o.grid[1] : top + o.grid[1])) : top;\n\n\t\t\t\tleft = o.grid[0] ? this.originalPageX + Math.round((pageX - this.originalPageX) / o.grid[0]) * o.grid[0] : this.originalPageX;\n\t\t\t\tpageX = containment ? ((left - this.offset.click.left >= containment[0] || left - this.offset.click.left > containment[2]) ? left : ((left - this.offset.click.left >= containment[0]) ? left - o.grid[0] : left + o.grid[0])) : left;\n\t\t\t}\n\n\t\t\tif ( o.axis === \"y\" ) {\n\t\t\t\tpageX = this.originalPageX;\n\t\t\t}\n\n\t\t\tif ( o.axis === \"x\" ) {\n\t\t\t\tpageY = this.originalPageY;\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\ttop: (\n\t\t\t\tpageY -\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// The absolute mouse position\n\t\t\t\tthis.offset.click.top\t-\t\t\t\t\t\t\t\t\t\t\t\t// Click offset (relative to the element)\n\t\t\t\tthis.offset.relative.top -\t\t\t\t\t\t\t\t\t\t\t\t// Only for relative positioned nodes: Relative offset from element to offset parent\n\t\t\t\tthis.offset.parent.top +\t\t\t\t\t\t\t\t\t\t\t\t// The offsetParent's offset without borders (offset + border)\n\t\t\t\t( this.cssPosition === \"fixed\" ? -this.offset.scroll.top : ( scrollIsRootNode ? 0 : this.offset.scroll.top ) )\n\t\t\t),\n\t\t\tleft: (\n\t\t\t\tpageX -\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// The absolute mouse position\n\t\t\t\tthis.offset.click.left -\t\t\t\t\t\t\t\t\t\t\t\t// Click offset (relative to the element)\n\t\t\t\tthis.offset.relative.left -\t\t\t\t\t\t\t\t\t\t\t\t// Only for relative positioned nodes: Relative offset from element to offset parent\n\t\t\t\tthis.offset.parent.left +\t\t\t\t\t\t\t\t\t\t\t\t// The offsetParent's offset without borders (offset + border)\n\t\t\t\t( this.cssPosition === \"fixed\" ? -this.offset.scroll.left : ( scrollIsRootNode ? 0 : this.offset.scroll.left ) )\n\t\t\t)\n\t\t};\n\n\t},\n\n\t_clear: function() {\n\t\tthis.helper.removeClass(\"ui-draggable-dragging\");\n\t\tif (this.helper[0] !== this.element[0] && !this.cancelHelperRemoval) {\n\t\t\tthis.helper.remove();\n\t\t}\n\t\tthis.helper = null;\n\t\tthis.cancelHelperRemoval = false;\n\t\tif ( this.destroyOnClear ) {\n\t\t\tthis.destroy();\n\t\t}\n\t},\n\n\t_normalizeRightBottom: function() {\n\t\tif ( this.options.axis !== \"y\" && this.helper.css( \"right\" ) !== \"auto\" ) {\n\t\t\tthis.helper.width( this.helper.width() );\n\t\t\tthis.helper.css( \"right\", \"auto\" );\n\t\t}\n\t\tif ( this.options.axis !== \"x\" && this.helper.css( \"bottom\" ) !== \"auto\" ) {\n\t\t\tthis.helper.height( this.helper.height() );\n\t\t\tthis.helper.css( \"bottom\", \"auto\" );\n\t\t}\n\t},\n\n\t// From now on bulk stuff - mainly helpers\n\n\t_trigger: function( type, event, ui ) {\n\t\tui = ui || this._uiHash();\n\t\t$.ui.plugin.call( this, type, [ event, ui, this ], true );\n\n\t\t// Absolute position and offset (see #6884 ) have to be recalculated after plugins\n\t\tif ( /^(drag|start|stop)/.test( type ) ) {\n\t\t\tthis.positionAbs = this._convertPositionTo( \"absolute\" );\n\t\t\tui.offset = this.positionAbs;\n\t\t}\n\t\treturn $.Widget.prototype._trigger.call( this, type, event, ui );\n\t},\n\n\tplugins: {},\n\n\t_uiHash: function() {\n\t\treturn {\n\t\t\thelper: this.helper,\n\t\t\tposition: this.position,\n\t\t\toriginalPosition: this.originalPosition,\n\t\t\toffset: this.positionAbs\n\t\t};\n\t}\n\n});\n\n$.ui.plugin.add( \"draggable\", \"connectToSortable\", {\n\tstart: function( event, ui, draggable ) {\n\t\tvar uiSortable = $.extend( {}, ui, {\n\t\t\titem: draggable.element\n\t\t});\n\n\t\tdraggable.sortables = [];\n\t\t$( draggable.options.connectToSortable ).each(function() {\n\t\t\tvar sortable = $( this ).sortable( \"instance\" );\n\n\t\t\tif ( sortable && !sortable.options.disabled ) {\n\t\t\t\tdraggable.sortables.push( sortable );\n\n\t\t\t\t// refreshPositions is called at drag start to refresh the containerCache\n\t\t\t\t// which is used in drag. This ensures it's initialized and synchronized\n\t\t\t\t// with any changes that might have happened on the page since initialization.\n\t\t\t\tsortable.refreshPositions();\n\t\t\t\tsortable._trigger(\"activate\", event, uiSortable);\n\t\t\t}\n\t\t});\n\t},\n\tstop: function( event, ui, draggable ) {\n\t\tvar uiSortable = $.extend( {}, ui, {\n\t\t\titem: draggable.element\n\t\t});\n\n\t\tdraggable.cancelHelperRemoval = false;\n\n\t\t$.each( draggable.sortables, function() {\n\t\t\tvar sortable = this;\n\n\t\t\tif ( sortable.isOver ) {\n\t\t\t\tsortable.isOver = 0;\n\n\t\t\t\t// Allow this sortable to handle removing the helper\n\t\t\t\tdraggable.cancelHelperRemoval = true;\n\t\t\t\tsortable.cancelHelperRemoval = false;\n\n\t\t\t\t// Use _storedCSS To restore properties in the sortable,\n\t\t\t\t// as this also handles revert (#9675) since the draggable\n\t\t\t\t// may have modified them in unexpected ways (#8809)\n\t\t\t\tsortable._storedCSS = {\n\t\t\t\t\tposition: sortable.placeholder.css( \"position\" ),\n\t\t\t\t\ttop: sortable.placeholder.css( \"top\" ),\n\t\t\t\t\tleft: sortable.placeholder.css( \"left\" )\n\t\t\t\t};\n\n\t\t\t\tsortable._mouseStop(event);\n\n\t\t\t\t// Once drag has ended, the sortable should return to using\n\t\t\t\t// its original helper, not the shared helper from draggable\n\t\t\t\tsortable.options.helper = sortable.options._helper;\n\t\t\t} else {\n\t\t\t\t// Prevent this Sortable from removing the helper.\n\t\t\t\t// However, don't set the draggable to remove the helper\n\t\t\t\t// either as another connected Sortable may yet handle the removal.\n\t\t\t\tsortable.cancelHelperRemoval = true;\n\n\t\t\t\tsortable._trigger( \"deactivate\", event, uiSortable );\n\t\t\t}\n\t\t});\n\t},\n\tdrag: function( event, ui, draggable ) {\n\t\t$.each( draggable.sortables, function() {\n\t\t\tvar innermostIntersecting = false,\n\t\t\t\tsortable = this;\n\n\t\t\t// Copy over variables that sortable's _intersectsWith uses\n\t\t\tsortable.positionAbs = draggable.positionAbs;\n\t\t\tsortable.helperProportions = draggable.helperProportions;\n\t\t\tsortable.offset.click = draggable.offset.click;\n\n\t\t\tif ( sortable._intersectsWith( sortable.containerCache ) ) {\n\t\t\t\tinnermostIntersecting = true;\n\n\t\t\t\t$.each( draggable.sortables, function() {\n\t\t\t\t\t// Copy over variables that sortable's _intersectsWith uses\n\t\t\t\t\tthis.positionAbs = draggable.positionAbs;\n\t\t\t\t\tthis.helperProportions = draggable.helperProportions;\n\t\t\t\t\tthis.offset.click = draggable.offset.click;\n\n\t\t\t\t\tif ( this !== sortable &&\n\t\t\t\t\t\t\tthis._intersectsWith( this.containerCache ) &&\n\t\t\t\t\t\t\t$.contains( sortable.element[ 0 ], this.element[ 0 ] ) ) {\n\t\t\t\t\t\tinnermostIntersecting = false;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn innermostIntersecting;\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif ( innermostIntersecting ) {\n\t\t\t\t// If it intersects, we use a little isOver variable and set it once,\n\t\t\t\t// so that the move-in stuff gets fired only once.\n\t\t\t\tif ( !sortable.isOver ) {\n\t\t\t\t\tsortable.isOver = 1;\n\n\t\t\t\t\t// Store draggable's parent in case we need to reappend to it later.\n\t\t\t\t\tdraggable._parent = ui.helper.parent();\n\n\t\t\t\t\tsortable.currentItem = ui.helper\n\t\t\t\t\t\t.appendTo( sortable.element )\n\t\t\t\t\t\t.data( \"ui-sortable-item\", true );\n\n\t\t\t\t\t// Store helper option to later restore it\n\t\t\t\t\tsortable.options._helper = sortable.options.helper;\n\n\t\t\t\t\tsortable.options.helper = function() {\n\t\t\t\t\t\treturn ui.helper[ 0 ];\n\t\t\t\t\t};\n\n\t\t\t\t\t// Fire the start events of the sortable with our passed browser event,\n\t\t\t\t\t// and our own helper (so it doesn't create a new one)\n\t\t\t\t\tevent.target = sortable.currentItem[ 0 ];\n\t\t\t\t\tsortable._mouseCapture( event, true );\n\t\t\t\t\tsortable._mouseStart( event, true, true );\n\n\t\t\t\t\t// Because the browser event is way off the new appended portlet,\n\t\t\t\t\t// modify necessary variables to reflect the changes\n\t\t\t\t\tsortable.offset.click.top = draggable.offset.click.top;\n\t\t\t\t\tsortable.offset.click.left = draggable.offset.click.left;\n\t\t\t\t\tsortable.offset.parent.left -= draggable.offset.parent.left -\n\t\t\t\t\t\tsortable.offset.parent.left;\n\t\t\t\t\tsortable.offset.parent.top -= draggable.offset.parent.top -\n\t\t\t\t\t\tsortable.offset.parent.top;\n\n\t\t\t\t\tdraggable._trigger( \"toSortable\", event );\n\n\t\t\t\t\t// Inform draggable that the helper is in a valid drop zone,\n\t\t\t\t\t// used solely in the revert option to handle \"valid/invalid\".\n\t\t\t\t\tdraggable.dropped = sortable.element;\n\n\t\t\t\t\t// Need to refreshPositions of all sortables in the case that\n\t\t\t\t\t// adding to one sortable changes the location of the other sortables (#9675)\n\t\t\t\t\t$.each( draggable.sortables, function() {\n\t\t\t\t\t\tthis.refreshPositions();\n\t\t\t\t\t});\n\n\t\t\t\t\t// hack so receive/update callbacks work (mostly)\n\t\t\t\t\tdraggable.currentItem = draggable.element;\n\t\t\t\t\tsortable.fromOutside = draggable;\n\t\t\t\t}\n\n\t\t\t\tif ( sortable.currentItem ) {\n\t\t\t\t\tsortable._mouseDrag( event );\n\t\t\t\t\t// Copy the sortable's position because the draggable's can potentially reflect\n\t\t\t\t\t// a relative position, while sortable is always absolute, which the dragged\n\t\t\t\t\t// element has now become. (#8809)\n\t\t\t\t\tui.position = sortable.position;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// If it doesn't intersect with the sortable, and it intersected before,\n\t\t\t\t// we fake the drag stop of the sortable, but make sure it doesn't remove\n\t\t\t\t// the helper by using cancelHelperRemoval.\n\t\t\t\tif ( sortable.isOver ) {\n\n\t\t\t\t\tsortable.isOver = 0;\n\t\t\t\t\tsortable.cancelHelperRemoval = true;\n\n\t\t\t\t\t// Calling sortable's mouseStop would trigger a revert,\n\t\t\t\t\t// so revert must be temporarily false until after mouseStop is called.\n\t\t\t\t\tsortable.options._revert = sortable.options.revert;\n\t\t\t\t\tsortable.options.revert = false;\n\n\t\t\t\t\tsortable._trigger( \"out\", event, sortable._uiHash( sortable ) );\n\t\t\t\t\tsortable._mouseStop( event, true );\n\n\t\t\t\t\t// restore sortable behaviors that were modfied\n\t\t\t\t\t// when the draggable entered the sortable area (#9481)\n\t\t\t\t\tsortable.options.revert = sortable.options._revert;\n\t\t\t\t\tsortable.options.helper = sortable.options._helper;\n\n\t\t\t\t\tif ( sortable.placeholder ) {\n\t\t\t\t\t\tsortable.placeholder.remove();\n\t\t\t\t\t}\n\n\t\t\t\t\t// Restore and recalculate the draggable's offset considering the sortable\n\t\t\t\t\t// may have modified them in unexpected ways. (#8809, #10669)\n\t\t\t\t\tui.helper.appendTo( draggable._parent );\n\t\t\t\t\tdraggable._refreshOffsets( event );\n\t\t\t\t\tui.position = draggable._generatePosition( event, true );\n\n\t\t\t\t\tdraggable._trigger( \"fromSortable\", event );\n\n\t\t\t\t\t// Inform draggable that the helper is no longer in a valid drop zone\n\t\t\t\t\tdraggable.dropped = false;\n\n\t\t\t\t\t// Need to refreshPositions of all sortables just in case removing\n\t\t\t\t\t// from one sortable changes the location of other sortables (#9675)\n\t\t\t\t\t$.each( draggable.sortables, function() {\n\t\t\t\t\t\tthis.refreshPositions();\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n});\n\n$.ui.plugin.add(\"draggable\", \"cursor\", {\n\tstart: function( event, ui, instance ) {\n\t\tvar t = $( \"body\" ),\n\t\t\to = instance.options;\n\n\t\tif (t.css(\"cursor\")) {\n\t\t\to._cursor = t.css(\"cursor\");\n\t\t}\n\t\tt.css(\"cursor\", o.cursor);\n\t},\n\tstop: function( event, ui, instance ) {\n\t\tvar o = instance.options;\n\t\tif (o._cursor) {\n\t\t\t$(\"body\").css(\"cursor\", o._cursor);\n\t\t}\n\t}\n});\n\n$.ui.plugin.add(\"draggable\", \"opacity\", {\n\tstart: function( event, ui, instance ) {\n\t\tvar t = $( ui.helper ),\n\t\t\to = instance.options;\n\t\tif (t.css(\"opacity\")) {\n\t\t\to._opacity = t.css(\"opacity\");\n\t\t}\n\t\tt.css(\"opacity\", o.opacity);\n\t},\n\tstop: function( event, ui, instance ) {\n\t\tvar o = instance.options;\n\t\tif (o._opacity) {\n\t\t\t$(ui.helper).css(\"opacity\", o._opacity);\n\t\t}\n\t}\n});\n\n$.ui.plugin.add(\"draggable\", \"scroll\", {\n\tstart: function( event, ui, i ) {\n\t\tif ( !i.scrollParentNotHidden ) {\n\t\t\ti.scrollParentNotHidden = i.helper.scrollParent( false );\n\t\t}\n\n\t\tif ( i.scrollParentNotHidden[ 0 ] !== i.document[ 0 ] && i.scrollParentNotHidden[ 0 ].tagName !== \"HTML\" ) {\n\t\t\ti.overflowOffset = i.scrollParentNotHidden.offset();\n\t\t}\n\t},\n\tdrag: function( event, ui, i  ) {\n\n\t\tvar o = i.options,\n\t\t\tscrolled = false,\n\t\t\tscrollParent = i.scrollParentNotHidden[ 0 ],\n\t\t\tdocument = i.document[ 0 ];\n\n\t\tif ( scrollParent !== document && scrollParent.tagName !== \"HTML\" ) {\n\t\t\tif ( !o.axis || o.axis !== \"x\" ) {\n\t\t\t\tif ( ( i.overflowOffset.top + scrollParent.offsetHeight ) - event.pageY < o.scrollSensitivity ) {\n\t\t\t\t\tscrollParent.scrollTop = scrolled = scrollParent.scrollTop + o.scrollSpeed;\n\t\t\t\t} else if ( event.pageY - i.overflowOffset.top < o.scrollSensitivity ) {\n\t\t\t\t\tscrollParent.scrollTop = scrolled = scrollParent.scrollTop - o.scrollSpeed;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( !o.axis || o.axis !== \"y\" ) {\n\t\t\t\tif ( ( i.overflowOffset.left + scrollParent.offsetWidth ) - event.pageX < o.scrollSensitivity ) {\n\t\t\t\t\tscrollParent.scrollLeft = scrolled = scrollParent.scrollLeft + o.scrollSpeed;\n\t\t\t\t} else if ( event.pageX - i.overflowOffset.left < o.scrollSensitivity ) {\n\t\t\t\t\tscrollParent.scrollLeft = scrolled = scrollParent.scrollLeft - o.scrollSpeed;\n\t\t\t\t}\n\t\t\t}\n\n\t\t} else {\n\n\t\t\tif (!o.axis || o.axis !== \"x\") {\n\t\t\t\tif (event.pageY - $(document).scrollTop() < o.scrollSensitivity) {\n\t\t\t\t\tscrolled = $(document).scrollTop($(document).scrollTop() - o.scrollSpeed);\n\t\t\t\t} else if ($(window).height() - (event.pageY - $(document).scrollTop()) < o.scrollSensitivity) {\n\t\t\t\t\tscrolled = $(document).scrollTop($(document).scrollTop() + o.scrollSpeed);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!o.axis || o.axis !== \"y\") {\n\t\t\t\tif (event.pageX - $(document).scrollLeft() < o.scrollSensitivity) {\n\t\t\t\t\tscrolled = $(document).scrollLeft($(document).scrollLeft() - o.scrollSpeed);\n\t\t\t\t} else if ($(window).width() - (event.pageX - $(document).scrollLeft()) < o.scrollSensitivity) {\n\t\t\t\t\tscrolled = $(document).scrollLeft($(document).scrollLeft() + o.scrollSpeed);\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\n\t\tif (scrolled !== false && $.ui.ddmanager && !o.dropBehaviour) {\n\t\t\t$.ui.ddmanager.prepareOffsets(i, event);\n\t\t}\n\n\t}\n});\n\n$.ui.plugin.add(\"draggable\", \"snap\", {\n\tstart: function( event, ui, i ) {\n\n\t\tvar o = i.options;\n\n\t\ti.snapElements = [];\n\n\t\t$(o.snap.constructor !== String ? ( o.snap.items || \":data(ui-draggable)\" ) : o.snap).each(function() {\n\t\t\tvar $t = $(this),\n\t\t\t\t$o = $t.offset();\n\t\t\tif (this !== i.element[0]) {\n\t\t\t\ti.snapElements.push({\n\t\t\t\t\titem: this,\n\t\t\t\t\twidth: $t.outerWidth(), height: $t.outerHeight(),\n\t\t\t\t\ttop: $o.top, left: $o.left\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t},\n\tdrag: function( event, ui, inst ) {\n\n\t\tvar ts, bs, ls, rs, l, r, t, b, i, first,\n\t\t\to = inst.options,\n\t\t\td = o.snapTolerance,\n\t\t\tx1 = ui.offset.left, x2 = x1 + inst.helperProportions.width,\n\t\t\ty1 = ui.offset.top, y2 = y1 + inst.helperProportions.height;\n\n\t\tfor (i = inst.snapElements.length - 1; i >= 0; i--){\n\n\t\t\tl = inst.snapElements[i].left - inst.margins.left;\n\t\t\tr = l + inst.snapElements[i].width;\n\t\t\tt = inst.snapElements[i].top - inst.margins.top;\n\t\t\tb = t + inst.snapElements[i].height;\n\n\t\t\tif ( x2 < l - d || x1 > r + d || y2 < t - d || y1 > b + d || !$.contains( inst.snapElements[ i ].item.ownerDocument, inst.snapElements[ i ].item ) ) {\n\t\t\t\tif (inst.snapElements[i].snapping) {\n\t\t\t\t\t(inst.options.snap.release && inst.options.snap.release.call(inst.element, event, $.extend(inst._uiHash(), { snapItem: inst.snapElements[i].item })));\n\t\t\t\t}\n\t\t\t\tinst.snapElements[i].snapping = false;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (o.snapMode !== \"inner\") {\n\t\t\t\tts = Math.abs(t - y2) <= d;\n\t\t\t\tbs = Math.abs(b - y1) <= d;\n\t\t\t\tls = Math.abs(l - x2) <= d;\n\t\t\t\trs = Math.abs(r - x1) <= d;\n\t\t\t\tif (ts) {\n\t\t\t\t\tui.position.top = inst._convertPositionTo(\"relative\", { top: t - inst.helperProportions.height, left: 0 }).top;\n\t\t\t\t}\n\t\t\t\tif (bs) {\n\t\t\t\t\tui.position.top = inst._convertPositionTo(\"relative\", { top: b, left: 0 }).top;\n\t\t\t\t}\n\t\t\t\tif (ls) {\n\t\t\t\t\tui.position.left = inst._convertPositionTo(\"relative\", { top: 0, left: l - inst.helperProportions.width }).left;\n\t\t\t\t}\n\t\t\t\tif (rs) {\n\t\t\t\t\tui.position.left = inst._convertPositionTo(\"relative\", { top: 0, left: r }).left;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfirst = (ts || bs || ls || rs);\n\n\t\t\tif (o.snapMode !== \"outer\") {\n\t\t\t\tts = Math.abs(t - y1) <= d;\n\t\t\t\tbs = Math.abs(b - y2) <= d;\n\t\t\t\tls = Math.abs(l - x1) <= d;\n\t\t\t\trs = Math.abs(r - x2) <= d;\n\t\t\t\tif (ts) {\n\t\t\t\t\tui.position.top = inst._convertPositionTo(\"relative\", { top: t, left: 0 }).top;\n\t\t\t\t}\n\t\t\t\tif (bs) {\n\t\t\t\t\tui.position.top = inst._convertPositionTo(\"relative\", { top: b - inst.helperProportions.height, left: 0 }).top;\n\t\t\t\t}\n\t\t\t\tif (ls) {\n\t\t\t\t\tui.position.left = inst._convertPositionTo(\"relative\", { top: 0, left: l }).left;\n\t\t\t\t}\n\t\t\t\tif (rs) {\n\t\t\t\t\tui.position.left = inst._convertPositionTo(\"relative\", { top: 0, left: r - inst.helperProportions.width }).left;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!inst.snapElements[i].snapping && (ts || bs || ls || rs || first)) {\n\t\t\t\t(inst.options.snap.snap && inst.options.snap.snap.call(inst.element, event, $.extend(inst._uiHash(), { snapItem: inst.snapElements[i].item })));\n\t\t\t}\n\t\t\tinst.snapElements[i].snapping = (ts || bs || ls || rs || first);\n\n\t\t}\n\n\t}\n});\n\n$.ui.plugin.add(\"draggable\", \"stack\", {\n\tstart: function( event, ui, instance ) {\n\t\tvar min,\n\t\t\to = instance.options,\n\t\t\tgroup = $.makeArray($(o.stack)).sort(function(a, b) {\n\t\t\t\treturn (parseInt($(a).css(\"zIndex\"), 10) || 0) - (parseInt($(b).css(\"zIndex\"), 10) || 0);\n\t\t\t});\n\n\t\tif (!group.length) { return; }\n\n\t\tmin = parseInt($(group[0]).css(\"zIndex\"), 10) || 0;\n\t\t$(group).each(function(i) {\n\t\t\t$(this).css(\"zIndex\", min + i);\n\t\t});\n\t\tthis.css(\"zIndex\", (min + group.length));\n\t}\n});\n\n$.ui.plugin.add(\"draggable\", \"zIndex\", {\n\tstart: function( event, ui, instance ) {\n\t\tvar t = $( ui.helper ),\n\t\t\to = instance.options;\n\n\t\tif (t.css(\"zIndex\")) {\n\t\t\to._zIndex = t.css(\"zIndex\");\n\t\t}\n\t\tt.css(\"zIndex\", o.zIndex);\n\t},\n\tstop: function( event, ui, instance ) {\n\t\tvar o = instance.options;\n\n\t\tif (o._zIndex) {\n\t\t\t$(ui.helper).css(\"zIndex\", o._zIndex);\n\t\t}\n\t}\n});\n\nvar draggable = $.ui.draggable;\n\n\n/*!\n * jQuery UI Resizable 1.11.4\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/resizable/\n */\n\n\n$.widget(\"ui.resizable\", $.ui.mouse, {\n\tversion: \"1.11.4\",\n\twidgetEventPrefix: \"resize\",\n\toptions: {\n\t\talsoResize: false,\n\t\tanimate: false,\n\t\tanimateDuration: \"slow\",\n\t\tanimateEasing: \"swing\",\n\t\taspectRatio: false,\n\t\tautoHide: false,\n\t\tcontainment: false,\n\t\tghost: false,\n\t\tgrid: false,\n\t\thandles: \"e,s,se\",\n\t\thelper: false,\n\t\tmaxHeight: null,\n\t\tmaxWidth: null,\n\t\tminHeight: 10,\n\t\tminWidth: 10,\n\t\t// See #7960\n\t\tzIndex: 90,\n\n\t\t// callbacks\n\t\tresize: null,\n\t\tstart: null,\n\t\tstop: null\n\t},\n\n\t_num: function( value ) {\n\t\treturn parseInt( value, 10 ) || 0;\n\t},\n\n\t_isNumber: function( value ) {\n\t\treturn !isNaN( parseInt( value, 10 ) );\n\t},\n\n\t_hasScroll: function( el, a ) {\n\n\t\tif ( $( el ).css( \"overflow\" ) === \"hidden\") {\n\t\t\treturn false;\n\t\t}\n\n\t\tvar scroll = ( a && a === \"left\" ) ? \"scrollLeft\" : \"scrollTop\",\n\t\t\thas = false;\n\n\t\tif ( el[ scroll ] > 0 ) {\n\t\t\treturn true;\n\t\t}\n\n\t\t// TODO: determine which cases actually cause this to happen\n\t\t// if the element doesn't have the scroll set, see if it's possible to\n\t\t// set the scroll\n\t\tel[ scroll ] = 1;\n\t\thas = ( el[ scroll ] > 0 );\n\t\tel[ scroll ] = 0;\n\t\treturn has;\n\t},\n\n\t_create: function() {\n\n\t\tvar n, i, handle, axis, hname,\n\t\t\tthat = this,\n\t\t\to = this.options;\n\t\tthis.element.addClass(\"ui-resizable\");\n\n\t\t$.extend(this, {\n\t\t\t_aspectRatio: !!(o.aspectRatio),\n\t\t\taspectRatio: o.aspectRatio,\n\t\t\toriginalElement: this.element,\n\t\t\t_proportionallyResizeElements: [],\n\t\t\t_helper: o.helper || o.ghost || o.animate ? o.helper || \"ui-resizable-helper\" : null\n\t\t});\n\n\t\t// Wrap the element if it cannot hold child nodes\n\t\tif (this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)) {\n\n\t\t\tthis.element.wrap(\n\t\t\t\t$(\"<div class='ui-wrapper' style='overflow: hidden;'></div>\").css({\n\t\t\t\t\tposition: this.element.css(\"position\"),\n\t\t\t\t\twidth: this.element.outerWidth(),\n\t\t\t\t\theight: this.element.outerHeight(),\n\t\t\t\t\ttop: this.element.css(\"top\"),\n\t\t\t\t\tleft: this.element.css(\"left\")\n\t\t\t\t})\n\t\t\t);\n\n\t\t\tthis.element = this.element.parent().data(\n\t\t\t\t\"ui-resizable\", this.element.resizable( \"instance\" )\n\t\t\t);\n\n\t\t\tthis.elementIsWrapper = true;\n\n\t\t\tthis.element.css({\n\t\t\t\tmarginLeft: this.originalElement.css(\"marginLeft\"),\n\t\t\t\tmarginTop: this.originalElement.css(\"marginTop\"),\n\t\t\t\tmarginRight: this.originalElement.css(\"marginRight\"),\n\t\t\t\tmarginBottom: this.originalElement.css(\"marginBottom\")\n\t\t\t});\n\t\t\tthis.originalElement.css({\n\t\t\t\tmarginLeft: 0,\n\t\t\t\tmarginTop: 0,\n\t\t\t\tmarginRight: 0,\n\t\t\t\tmarginBottom: 0\n\t\t\t});\n\t\t\t// support: Safari\n\t\t\t// Prevent Safari textarea resize\n\t\t\tthis.originalResizeStyle = this.originalElement.css(\"resize\");\n\t\t\tthis.originalElement.css(\"resize\", \"none\");\n\n\t\t\tthis._proportionallyResizeElements.push( this.originalElement.css({\n\t\t\t\tposition: \"static\",\n\t\t\t\tzoom: 1,\n\t\t\t\tdisplay: \"block\"\n\t\t\t}) );\n\n\t\t\t// support: IE9\n\t\t\t// avoid IE jump (hard set the margin)\n\t\t\tthis.originalElement.css({ margin: this.originalElement.css(\"margin\") });\n\n\t\t\tthis._proportionallyResize();\n\t\t}\n\n\t\tthis.handles = o.handles ||\n\t\t\t( !$(\".ui-resizable-handle\", this.element).length ?\n\t\t\t\t\"e,s,se\" : {\n\t\t\t\t\tn: \".ui-resizable-n\",\n\t\t\t\t\te: \".ui-resizable-e\",\n\t\t\t\t\ts: \".ui-resizable-s\",\n\t\t\t\t\tw: \".ui-resizable-w\",\n\t\t\t\t\tse: \".ui-resizable-se\",\n\t\t\t\t\tsw: \".ui-resizable-sw\",\n\t\t\t\t\tne: \".ui-resizable-ne\",\n\t\t\t\t\tnw: \".ui-resizable-nw\"\n\t\t\t\t} );\n\n\t\tthis._handles = $();\n\t\tif ( this.handles.constructor === String ) {\n\n\t\t\tif ( this.handles === \"all\") {\n\t\t\t\tthis.handles = \"n,e,s,w,se,sw,ne,nw\";\n\t\t\t}\n\n\t\t\tn = this.handles.split(\",\");\n\t\t\tthis.handles = {};\n\n\t\t\tfor (i = 0; i < n.length; i++) {\n\n\t\t\t\thandle = $.trim(n[i]);\n\t\t\t\thname = \"ui-resizable-\" + handle;\n\t\t\t\taxis = $(\"<div class='ui-resizable-handle \" + hname + \"'></div>\");\n\n\t\t\t\taxis.css({ zIndex: o.zIndex });\n\n\t\t\t\t// TODO : What's going on here?\n\t\t\t\tif (\"se\" === handle) {\n\t\t\t\t\taxis.addClass(\"ui-icon ui-icon-gripsmall-diagonal-se\");\n\t\t\t\t}\n\n\t\t\t\tthis.handles[handle] = \".ui-resizable-\" + handle;\n\t\t\t\tthis.element.append(axis);\n\t\t\t}\n\n\t\t}\n\n\t\tthis._renderAxis = function(target) {\n\n\t\t\tvar i, axis, padPos, padWrapper;\n\n\t\t\ttarget = target || this.element;\n\n\t\t\tfor (i in this.handles) {\n\n\t\t\t\tif (this.handles[i].constructor === String) {\n\t\t\t\t\tthis.handles[i] = this.element.children( this.handles[ i ] ).first().show();\n\t\t\t\t} else if ( this.handles[ i ].jquery || this.handles[ i ].nodeType ) {\n\t\t\t\t\tthis.handles[ i ] = $( this.handles[ i ] );\n\t\t\t\t\tthis._on( this.handles[ i ], { \"mousedown\": that._mouseDown });\n\t\t\t\t}\n\n\t\t\t\tif (this.elementIsWrapper && this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)) {\n\n\t\t\t\t\taxis = $(this.handles[i], this.element);\n\n\t\t\t\t\tpadWrapper = /sw|ne|nw|se|n|s/.test(i) ? axis.outerHeight() : axis.outerWidth();\n\n\t\t\t\t\tpadPos = [ \"padding\",\n\t\t\t\t\t\t/ne|nw|n/.test(i) ? \"Top\" :\n\t\t\t\t\t\t/se|sw|s/.test(i) ? \"Bottom\" :\n\t\t\t\t\t\t/^e$/.test(i) ? \"Right\" : \"Left\" ].join(\"\");\n\n\t\t\t\t\ttarget.css(padPos, padWrapper);\n\n\t\t\t\t\tthis._proportionallyResize();\n\t\t\t\t}\n\n\t\t\t\tthis._handles = this._handles.add( this.handles[ i ] );\n\t\t\t}\n\t\t};\n\n\t\t// TODO: make renderAxis a prototype function\n\t\tthis._renderAxis(this.element);\n\n\t\tthis._handles = this._handles.add( this.element.find( \".ui-resizable-handle\" ) );\n\t\tthis._handles.disableSelection();\n\n\t\tthis._handles.mouseover(function() {\n\t\t\tif (!that.resizing) {\n\t\t\t\tif (this.className) {\n\t\t\t\t\taxis = this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);\n\t\t\t\t}\n\t\t\t\tthat.axis = axis && axis[1] ? axis[1] : \"se\";\n\t\t\t}\n\t\t});\n\n\t\tif (o.autoHide) {\n\t\t\tthis._handles.hide();\n\t\t\t$(this.element)\n\t\t\t\t.addClass(\"ui-resizable-autohide\")\n\t\t\t\t.mouseenter(function() {\n\t\t\t\t\tif (o.disabled) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\t$(this).removeClass(\"ui-resizable-autohide\");\n\t\t\t\t\tthat._handles.show();\n\t\t\t\t})\n\t\t\t\t.mouseleave(function() {\n\t\t\t\t\tif (o.disabled) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tif (!that.resizing) {\n\t\t\t\t\t\t$(this).addClass(\"ui-resizable-autohide\");\n\t\t\t\t\t\tthat._handles.hide();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t}\n\n\t\tthis._mouseInit();\n\t},\n\n\t_destroy: function() {\n\n\t\tthis._mouseDestroy();\n\n\t\tvar wrapper,\n\t\t\t_destroy = function(exp) {\n\t\t\t\t$(exp)\n\t\t\t\t\t.removeClass(\"ui-resizable ui-resizable-disabled ui-resizable-resizing\")\n\t\t\t\t\t.removeData(\"resizable\")\n\t\t\t\t\t.removeData(\"ui-resizable\")\n\t\t\t\t\t.unbind(\".resizable\")\n\t\t\t\t\t.find(\".ui-resizable-handle\")\n\t\t\t\t\t\t.remove();\n\t\t\t};\n\n\t\t// TODO: Unwrap at same DOM position\n\t\tif (this.elementIsWrapper) {\n\t\t\t_destroy(this.element);\n\t\t\twrapper = this.element;\n\t\t\tthis.originalElement.css({\n\t\t\t\tposition: wrapper.css(\"position\"),\n\t\t\t\twidth: wrapper.outerWidth(),\n\t\t\t\theight: wrapper.outerHeight(),\n\t\t\t\ttop: wrapper.css(\"top\"),\n\t\t\t\tleft: wrapper.css(\"left\")\n\t\t\t}).insertAfter( wrapper );\n\t\t\twrapper.remove();\n\t\t}\n\n\t\tthis.originalElement.css(\"resize\", this.originalResizeStyle);\n\t\t_destroy(this.originalElement);\n\n\t\treturn this;\n\t},\n\n\t_mouseCapture: function(event) {\n\t\tvar i, handle,\n\t\t\tcapture = false;\n\n\t\tfor (i in this.handles) {\n\t\t\thandle = $(this.handles[i])[0];\n\t\t\tif (handle === event.target || $.contains(handle, event.target)) {\n\t\t\t\tcapture = true;\n\t\t\t}\n\t\t}\n\n\t\treturn !this.options.disabled && capture;\n\t},\n\n\t_mouseStart: function(event) {\n\n\t\tvar curleft, curtop, cursor,\n\t\t\to = this.options,\n\t\t\tel = this.element;\n\n\t\tthis.resizing = true;\n\n\t\tthis._renderProxy();\n\n\t\tcurleft = this._num(this.helper.css(\"left\"));\n\t\tcurtop = this._num(this.helper.css(\"top\"));\n\n\t\tif (o.containment) {\n\t\t\tcurleft += $(o.containment).scrollLeft() || 0;\n\t\t\tcurtop += $(o.containment).scrollTop() || 0;\n\t\t}\n\n\t\tthis.offset = this.helper.offset();\n\t\tthis.position = { left: curleft, top: curtop };\n\n\t\tthis.size = this._helper ? {\n\t\t\t\twidth: this.helper.width(),\n\t\t\t\theight: this.helper.height()\n\t\t\t} : {\n\t\t\t\twidth: el.width(),\n\t\t\t\theight: el.height()\n\t\t\t};\n\n\t\tthis.originalSize = this._helper ? {\n\t\t\t\twidth: el.outerWidth(),\n\t\t\t\theight: el.outerHeight()\n\t\t\t} : {\n\t\t\t\twidth: el.width(),\n\t\t\t\theight: el.height()\n\t\t\t};\n\n\t\tthis.sizeDiff = {\n\t\t\twidth: el.outerWidth() - el.width(),\n\t\t\theight: el.outerHeight() - el.height()\n\t\t};\n\n\t\tthis.originalPosition = { left: curleft, top: curtop };\n\t\tthis.originalMousePosition = { left: event.pageX, top: event.pageY };\n\n\t\tthis.aspectRatio = (typeof o.aspectRatio === \"number\") ?\n\t\t\to.aspectRatio :\n\t\t\t((this.originalSize.width / this.originalSize.height) || 1);\n\n\t\tcursor = $(\".ui-resizable-\" + this.axis).css(\"cursor\");\n\t\t$(\"body\").css(\"cursor\", cursor === \"auto\" ? this.axis + \"-resize\" : cursor);\n\n\t\tel.addClass(\"ui-resizable-resizing\");\n\t\tthis._propagate(\"start\", event);\n\t\treturn true;\n\t},\n\n\t_mouseDrag: function(event) {\n\n\t\tvar data, props,\n\t\t\tsmp = this.originalMousePosition,\n\t\t\ta = this.axis,\n\t\t\tdx = (event.pageX - smp.left) || 0,\n\t\t\tdy = (event.pageY - smp.top) || 0,\n\t\t\ttrigger = this._change[a];\n\n\t\tthis._updatePrevProperties();\n\n\t\tif (!trigger) {\n\t\t\treturn false;\n\t\t}\n\n\t\tdata = trigger.apply(this, [ event, dx, dy ]);\n\n\t\tthis._updateVirtualBoundaries(event.shiftKey);\n\t\tif (this._aspectRatio || event.shiftKey) {\n\t\t\tdata = this._updateRatio(data, event);\n\t\t}\n\n\t\tdata = this._respectSize(data, event);\n\n\t\tthis._updateCache(data);\n\n\t\tthis._propagate(\"resize\", event);\n\n\t\tprops = this._applyChanges();\n\n\t\tif ( !this._helper && this._proportionallyResizeElements.length ) {\n\t\t\tthis._proportionallyResize();\n\t\t}\n\n\t\tif ( !$.isEmptyObject( props ) ) {\n\t\t\tthis._updatePrevProperties();\n\t\t\tthis._trigger( \"resize\", event, this.ui() );\n\t\t\tthis._applyChanges();\n\t\t}\n\n\t\treturn false;\n\t},\n\n\t_mouseStop: function(event) {\n\n\t\tthis.resizing = false;\n\t\tvar pr, ista, soffseth, soffsetw, s, left, top,\n\t\t\to = this.options, that = this;\n\n\t\tif (this._helper) {\n\n\t\t\tpr = this._proportionallyResizeElements;\n\t\t\tista = pr.length && (/textarea/i).test(pr[0].nodeName);\n\t\t\tsoffseth = ista && this._hasScroll(pr[0], \"left\") ? 0 : that.sizeDiff.height;\n\t\t\tsoffsetw = ista ? 0 : that.sizeDiff.width;\n\n\t\t\ts = {\n\t\t\t\twidth: (that.helper.width()  - soffsetw),\n\t\t\t\theight: (that.helper.height() - soffseth)\n\t\t\t};\n\t\t\tleft = (parseInt(that.element.css(\"left\"), 10) +\n\t\t\t\t(that.position.left - that.originalPosition.left)) || null;\n\t\t\ttop = (parseInt(that.element.css(\"top\"), 10) +\n\t\t\t\t(that.position.top - that.originalPosition.top)) || null;\n\n\t\t\tif (!o.animate) {\n\t\t\t\tthis.element.css($.extend(s, { top: top, left: left }));\n\t\t\t}\n\n\t\t\tthat.helper.height(that.size.height);\n\t\t\tthat.helper.width(that.size.width);\n\n\t\t\tif (this._helper && !o.animate) {\n\t\t\t\tthis._proportionallyResize();\n\t\t\t}\n\t\t}\n\n\t\t$(\"body\").css(\"cursor\", \"auto\");\n\n\t\tthis.element.removeClass(\"ui-resizable-resizing\");\n\n\t\tthis._propagate(\"stop\", event);\n\n\t\tif (this._helper) {\n\t\t\tthis.helper.remove();\n\t\t}\n\n\t\treturn false;\n\n\t},\n\n\t_updatePrevProperties: function() {\n\t\tthis.prevPosition = {\n\t\t\ttop: this.position.top,\n\t\t\tleft: this.position.left\n\t\t};\n\t\tthis.prevSize = {\n\t\t\twidth: this.size.width,\n\t\t\theight: this.size.height\n\t\t};\n\t},\n\n\t_applyChanges: function() {\n\t\tvar props = {};\n\n\t\tif ( this.position.top !== this.prevPosition.top ) {\n\t\t\tprops.top = this.position.top + \"px\";\n\t\t}\n\t\tif ( this.position.left !== this.prevPosition.left ) {\n\t\t\tprops.left = this.position.left + \"px\";\n\t\t}\n\t\tif ( this.size.width !== this.prevSize.width ) {\n\t\t\tprops.width = this.size.width + \"px\";\n\t\t}\n\t\tif ( this.size.height !== this.prevSize.height ) {\n\t\t\tprops.height = this.size.height + \"px\";\n\t\t}\n\n\t\tthis.helper.css( props );\n\n\t\treturn props;\n\t},\n\n\t_updateVirtualBoundaries: function(forceAspectRatio) {\n\t\tvar pMinWidth, pMaxWidth, pMinHeight, pMaxHeight, b,\n\t\t\to = this.options;\n\n\t\tb = {\n\t\t\tminWidth: this._isNumber(o.minWidth) ? o.minWidth : 0,\n\t\t\tmaxWidth: this._isNumber(o.maxWidth) ? o.maxWidth : Infinity,\n\t\t\tminHeight: this._isNumber(o.minHeight) ? o.minHeight : 0,\n\t\t\tmaxHeight: this._isNumber(o.maxHeight) ? o.maxHeight : Infinity\n\t\t};\n\n\t\tif (this._aspectRatio || forceAspectRatio) {\n\t\t\tpMinWidth = b.minHeight * this.aspectRatio;\n\t\t\tpMinHeight = b.minWidth / this.aspectRatio;\n\t\t\tpMaxWidth = b.maxHeight * this.aspectRatio;\n\t\t\tpMaxHeight = b.maxWidth / this.aspectRatio;\n\n\t\t\tif (pMinWidth > b.minWidth) {\n\t\t\t\tb.minWidth = pMinWidth;\n\t\t\t}\n\t\t\tif (pMinHeight > b.minHeight) {\n\t\t\t\tb.minHeight = pMinHeight;\n\t\t\t}\n\t\t\tif (pMaxWidth < b.maxWidth) {\n\t\t\t\tb.maxWidth = pMaxWidth;\n\t\t\t}\n\t\t\tif (pMaxHeight < b.maxHeight) {\n\t\t\t\tb.maxHeight = pMaxHeight;\n\t\t\t}\n\t\t}\n\t\tthis._vBoundaries = b;\n\t},\n\n\t_updateCache: function(data) {\n\t\tthis.offset = this.helper.offset();\n\t\tif (this._isNumber(data.left)) {\n\t\t\tthis.position.left = data.left;\n\t\t}\n\t\tif (this._isNumber(data.top)) {\n\t\t\tthis.position.top = data.top;\n\t\t}\n\t\tif (this._isNumber(data.height)) {\n\t\t\tthis.size.height = data.height;\n\t\t}\n\t\tif (this._isNumber(data.width)) {\n\t\t\tthis.size.width = data.width;\n\t\t}\n\t},\n\n\t_updateRatio: function( data ) {\n\n\t\tvar cpos = this.position,\n\t\t\tcsize = this.size,\n\t\t\ta = this.axis;\n\n\t\tif (this._isNumber(data.height)) {\n\t\t\tdata.width = (data.height * this.aspectRatio);\n\t\t} else if (this._isNumber(data.width)) {\n\t\t\tdata.height = (data.width / this.aspectRatio);\n\t\t}\n\n\t\tif (a === \"sw\") {\n\t\t\tdata.left = cpos.left + (csize.width - data.width);\n\t\t\tdata.top = null;\n\t\t}\n\t\tif (a === \"nw\") {\n\t\t\tdata.top = cpos.top + (csize.height - data.height);\n\t\t\tdata.left = cpos.left + (csize.width - data.width);\n\t\t}\n\n\t\treturn data;\n\t},\n\n\t_respectSize: function( data ) {\n\n\t\tvar o = this._vBoundaries,\n\t\t\ta = this.axis,\n\t\t\tismaxw = this._isNumber(data.width) && o.maxWidth && (o.maxWidth < data.width),\n\t\t\tismaxh = this._isNumber(data.height) && o.maxHeight && (o.maxHeight < data.height),\n\t\t\tisminw = this._isNumber(data.width) && o.minWidth && (o.minWidth > data.width),\n\t\t\tisminh = this._isNumber(data.height) && o.minHeight && (o.minHeight > data.height),\n\t\t\tdw = this.originalPosition.left + this.originalSize.width,\n\t\t\tdh = this.position.top + this.size.height,\n\t\t\tcw = /sw|nw|w/.test(a), ch = /nw|ne|n/.test(a);\n\t\tif (isminw) {\n\t\t\tdata.width = o.minWidth;\n\t\t}\n\t\tif (isminh) {\n\t\t\tdata.height = o.minHeight;\n\t\t}\n\t\tif (ismaxw) {\n\t\t\tdata.width = o.maxWidth;\n\t\t}\n\t\tif (ismaxh) {\n\t\t\tdata.height = o.maxHeight;\n\t\t}\n\n\t\tif (isminw && cw) {\n\t\t\tdata.left = dw - o.minWidth;\n\t\t}\n\t\tif (ismaxw && cw) {\n\t\t\tdata.left = dw - o.maxWidth;\n\t\t}\n\t\tif (isminh && ch) {\n\t\t\tdata.top = dh - o.minHeight;\n\t\t}\n\t\tif (ismaxh && ch) {\n\t\t\tdata.top = dh - o.maxHeight;\n\t\t}\n\n\t\t// Fixing jump error on top/left - bug #2330\n\t\tif (!data.width && !data.height && !data.left && data.top) {\n\t\t\tdata.top = null;\n\t\t} else if (!data.width && !data.height && !data.top && data.left) {\n\t\t\tdata.left = null;\n\t\t}\n\n\t\treturn data;\n\t},\n\n\t_getPaddingPlusBorderDimensions: function( element ) {\n\t\tvar i = 0,\n\t\t\twidths = [],\n\t\t\tborders = [\n\t\t\t\telement.css( \"borderTopWidth\" ),\n\t\t\t\telement.css( \"borderRightWidth\" ),\n\t\t\t\telement.css( \"borderBottomWidth\" ),\n\t\t\t\telement.css( \"borderLeftWidth\" )\n\t\t\t],\n\t\t\tpaddings = [\n\t\t\t\telement.css( \"paddingTop\" ),\n\t\t\t\telement.css( \"paddingRight\" ),\n\t\t\t\telement.css( \"paddingBottom\" ),\n\t\t\t\telement.css( \"paddingLeft\" )\n\t\t\t];\n\n\t\tfor ( ; i < 4; i++ ) {\n\t\t\twidths[ i ] = ( parseInt( borders[ i ], 10 ) || 0 );\n\t\t\twidths[ i ] += ( parseInt( paddings[ i ], 10 ) || 0 );\n\t\t}\n\n\t\treturn {\n\t\t\theight: widths[ 0 ] + widths[ 2 ],\n\t\t\twidth: widths[ 1 ] + widths[ 3 ]\n\t\t};\n\t},\n\n\t_proportionallyResize: function() {\n\n\t\tif (!this._proportionallyResizeElements.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar prel,\n\t\t\ti = 0,\n\t\t\telement = this.helper || this.element;\n\n\t\tfor ( ; i < this._proportionallyResizeElements.length; i++) {\n\n\t\t\tprel = this._proportionallyResizeElements[i];\n\n\t\t\t// TODO: Seems like a bug to cache this.outerDimensions\n\t\t\t// considering that we are in a loop.\n\t\t\tif (!this.outerDimensions) {\n\t\t\t\tthis.outerDimensions = this._getPaddingPlusBorderDimensions( prel );\n\t\t\t}\n\n\t\t\tprel.css({\n\t\t\t\theight: (element.height() - this.outerDimensions.height) || 0,\n\t\t\t\twidth: (element.width() - this.outerDimensions.width) || 0\n\t\t\t});\n\n\t\t}\n\n\t},\n\n\t_renderProxy: function() {\n\n\t\tvar el = this.element, o = this.options;\n\t\tthis.elementOffset = el.offset();\n\n\t\tif (this._helper) {\n\n\t\t\tthis.helper = this.helper || $(\"<div style='overflow:hidden;'></div>\");\n\n\t\t\tthis.helper.addClass(this._helper).css({\n\t\t\t\twidth: this.element.outerWidth() - 1,\n\t\t\t\theight: this.element.outerHeight() - 1,\n\t\t\t\tposition: \"absolute\",\n\t\t\t\tleft: this.elementOffset.left + \"px\",\n\t\t\t\ttop: this.elementOffset.top + \"px\",\n\t\t\t\tzIndex: ++o.zIndex //TODO: Don't modify option\n\t\t\t});\n\n\t\t\tthis.helper\n\t\t\t\t.appendTo(\"body\")\n\t\t\t\t.disableSelection();\n\n\t\t} else {\n\t\t\tthis.helper = this.element;\n\t\t}\n\n\t},\n\n\t_change: {\n\t\te: function(event, dx) {\n\t\t\treturn { width: this.originalSize.width + dx };\n\t\t},\n\t\tw: function(event, dx) {\n\t\t\tvar cs = this.originalSize, sp = this.originalPosition;\n\t\t\treturn { left: sp.left + dx, width: cs.width - dx };\n\t\t},\n\t\tn: function(event, dx, dy) {\n\t\t\tvar cs = this.originalSize, sp = this.originalPosition;\n\t\t\treturn { top: sp.top + dy, height: cs.height - dy };\n\t\t},\n\t\ts: function(event, dx, dy) {\n\t\t\treturn { height: this.originalSize.height + dy };\n\t\t},\n\t\tse: function(event, dx, dy) {\n\t\t\treturn $.extend(this._change.s.apply(this, arguments),\n\t\t\t\tthis._change.e.apply(this, [ event, dx, dy ]));\n\t\t},\n\t\tsw: function(event, dx, dy) {\n\t\t\treturn $.extend(this._change.s.apply(this, arguments),\n\t\t\t\tthis._change.w.apply(this, [ event, dx, dy ]));\n\t\t},\n\t\tne: function(event, dx, dy) {\n\t\t\treturn $.extend(this._change.n.apply(this, arguments),\n\t\t\t\tthis._change.e.apply(this, [ event, dx, dy ]));\n\t\t},\n\t\tnw: function(event, dx, dy) {\n\t\t\treturn $.extend(this._change.n.apply(this, arguments),\n\t\t\t\tthis._change.w.apply(this, [ event, dx, dy ]));\n\t\t}\n\t},\n\n\t_propagate: function(n, event) {\n\t\t$.ui.plugin.call(this, n, [ event, this.ui() ]);\n\t\t(n !== \"resize\" && this._trigger(n, event, this.ui()));\n\t},\n\n\tplugins: {},\n\n\tui: function() {\n\t\treturn {\n\t\t\toriginalElement: this.originalElement,\n\t\t\telement: this.element,\n\t\t\thelper: this.helper,\n\t\t\tposition: this.position,\n\t\t\tsize: this.size,\n\t\t\toriginalSize: this.originalSize,\n\t\t\toriginalPosition: this.originalPosition\n\t\t};\n\t}\n\n});\n\n/*\n * Resizable Extensions\n */\n\n$.ui.plugin.add(\"resizable\", \"animate\", {\n\n\tstop: function( event ) {\n\t\tvar that = $(this).resizable( \"instance\" ),\n\t\t\to = that.options,\n\t\t\tpr = that._proportionallyResizeElements,\n\t\t\tista = pr.length && (/textarea/i).test(pr[0].nodeName),\n\t\t\tsoffseth = ista && that._hasScroll(pr[0], \"left\") ? 0 : that.sizeDiff.height,\n\t\t\tsoffsetw = ista ? 0 : that.sizeDiff.width,\n\t\t\tstyle = { width: (that.size.width - soffsetw), height: (that.size.height - soffseth) },\n\t\t\tleft = (parseInt(that.element.css(\"left\"), 10) +\n\t\t\t\t(that.position.left - that.originalPosition.left)) || null,\n\t\t\ttop = (parseInt(that.element.css(\"top\"), 10) +\n\t\t\t\t(that.position.top - that.originalPosition.top)) || null;\n\n\t\tthat.element.animate(\n\t\t\t$.extend(style, top && left ? { top: top, left: left } : {}), {\n\t\t\t\tduration: o.animateDuration,\n\t\t\t\teasing: o.animateEasing,\n\t\t\t\tstep: function() {\n\n\t\t\t\t\tvar data = {\n\t\t\t\t\t\twidth: parseInt(that.element.css(\"width\"), 10),\n\t\t\t\t\t\theight: parseInt(that.element.css(\"height\"), 10),\n\t\t\t\t\t\ttop: parseInt(that.element.css(\"top\"), 10),\n\t\t\t\t\t\tleft: parseInt(that.element.css(\"left\"), 10)\n\t\t\t\t\t};\n\n\t\t\t\t\tif (pr && pr.length) {\n\t\t\t\t\t\t$(pr[0]).css({ width: data.width, height: data.height });\n\t\t\t\t\t}\n\n\t\t\t\t\t// propagating resize, and updating values for each animation step\n\t\t\t\t\tthat._updateCache(data);\n\t\t\t\t\tthat._propagate(\"resize\", event);\n\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}\n\n});\n\n$.ui.plugin.add( \"resizable\", \"containment\", {\n\n\tstart: function() {\n\t\tvar element, p, co, ch, cw, width, height,\n\t\t\tthat = $( this ).resizable( \"instance\" ),\n\t\t\to = that.options,\n\t\t\tel = that.element,\n\t\t\toc = o.containment,\n\t\t\tce = ( oc instanceof $ ) ? oc.get( 0 ) : ( /parent/.test( oc ) ) ? el.parent().get( 0 ) : oc;\n\n\t\tif ( !ce ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthat.containerElement = $( ce );\n\n\t\tif ( /document/.test( oc ) || oc === document ) {\n\t\t\tthat.containerOffset = {\n\t\t\t\tleft: 0,\n\t\t\t\ttop: 0\n\t\t\t};\n\t\t\tthat.containerPosition = {\n\t\t\t\tleft: 0,\n\t\t\t\ttop: 0\n\t\t\t};\n\n\t\t\tthat.parentData = {\n\t\t\t\telement: $( document ),\n\t\t\t\tleft: 0,\n\t\t\t\ttop: 0,\n\t\t\t\twidth: $( document ).width(),\n\t\t\t\theight: $( document ).height() || document.body.parentNode.scrollHeight\n\t\t\t};\n\t\t} else {\n\t\t\telement = $( ce );\n\t\t\tp = [];\n\t\t\t$([ \"Top\", \"Right\", \"Left\", \"Bottom\" ]).each(function( i, name ) {\n\t\t\t\tp[ i ] = that._num( element.css( \"padding\" + name ) );\n\t\t\t});\n\n\t\t\tthat.containerOffset = element.offset();\n\t\t\tthat.containerPosition = element.position();\n\t\t\tthat.containerSize = {\n\t\t\t\theight: ( element.innerHeight() - p[ 3 ] ),\n\t\t\t\twidth: ( element.innerWidth() - p[ 1 ] )\n\t\t\t};\n\n\t\t\tco = that.containerOffset;\n\t\t\tch = that.containerSize.height;\n\t\t\tcw = that.containerSize.width;\n\t\t\twidth = ( that._hasScroll ( ce, \"left\" ) ? ce.scrollWidth : cw );\n\t\t\theight = ( that._hasScroll ( ce ) ? ce.scrollHeight : ch ) ;\n\n\t\t\tthat.parentData = {\n\t\t\t\telement: ce,\n\t\t\t\tleft: co.left,\n\t\t\t\ttop: co.top,\n\t\t\t\twidth: width,\n\t\t\t\theight: height\n\t\t\t};\n\t\t}\n\t},\n\n\tresize: function( event ) {\n\t\tvar woset, hoset, isParent, isOffsetRelative,\n\t\t\tthat = $( this ).resizable( \"instance\" ),\n\t\t\to = that.options,\n\t\t\tco = that.containerOffset,\n\t\t\tcp = that.position,\n\t\t\tpRatio = that._aspectRatio || event.shiftKey,\n\t\t\tcop = {\n\t\t\t\ttop: 0,\n\t\t\t\tleft: 0\n\t\t\t},\n\t\t\tce = that.containerElement,\n\t\t\tcontinueResize = true;\n\n\t\tif ( ce[ 0 ] !== document && ( /static/ ).test( ce.css( \"position\" ) ) ) {\n\t\t\tcop = co;\n\t\t}\n\n\t\tif ( cp.left < ( that._helper ? co.left : 0 ) ) {\n\t\t\tthat.size.width = that.size.width +\n\t\t\t\t( that._helper ?\n\t\t\t\t\t( that.position.left - co.left ) :\n\t\t\t\t\t( that.position.left - cop.left ) );\n\n\t\t\tif ( pRatio ) {\n\t\t\t\tthat.size.height = that.size.width / that.aspectRatio;\n\t\t\t\tcontinueResize = false;\n\t\t\t}\n\t\t\tthat.position.left = o.helper ? co.left : 0;\n\t\t}\n\n\t\tif ( cp.top < ( that._helper ? co.top : 0 ) ) {\n\t\t\tthat.size.height = that.size.height +\n\t\t\t\t( that._helper ?\n\t\t\t\t\t( that.position.top - co.top ) :\n\t\t\t\t\tthat.position.top );\n\n\t\t\tif ( pRatio ) {\n\t\t\t\tthat.size.width = that.size.height * that.aspectRatio;\n\t\t\t\tcontinueResize = false;\n\t\t\t}\n\t\t\tthat.position.top = that._helper ? co.top : 0;\n\t\t}\n\n\t\tisParent = that.containerElement.get( 0 ) === that.element.parent().get( 0 );\n\t\tisOffsetRelative = /relative|absolute/.test( that.containerElement.css( \"position\" ) );\n\n\t\tif ( isParent && isOffsetRelative ) {\n\t\t\tthat.offset.left = that.parentData.left + that.position.left;\n\t\t\tthat.offset.top = that.parentData.top + that.position.top;\n\t\t} else {\n\t\t\tthat.offset.left = that.element.offset().left;\n\t\t\tthat.offset.top = that.element.offset().top;\n\t\t}\n\n\t\twoset = Math.abs( that.sizeDiff.width +\n\t\t\t(that._helper ?\n\t\t\t\tthat.offset.left - cop.left :\n\t\t\t\t(that.offset.left - co.left)) );\n\n\t\thoset = Math.abs( that.sizeDiff.height +\n\t\t\t(that._helper ?\n\t\t\t\tthat.offset.top - cop.top :\n\t\t\t\t(that.offset.top - co.top)) );\n\n\t\tif ( woset + that.size.width >= that.parentData.width ) {\n\t\t\tthat.size.width = that.parentData.width - woset;\n\t\t\tif ( pRatio ) {\n\t\t\t\tthat.size.height = that.size.width / that.aspectRatio;\n\t\t\t\tcontinueResize = false;\n\t\t\t}\n\t\t}\n\n\t\tif ( hoset + that.size.height >= that.parentData.height ) {\n\t\t\tthat.size.height = that.parentData.height - hoset;\n\t\t\tif ( pRatio ) {\n\t\t\t\tthat.size.width = that.size.height * that.aspectRatio;\n\t\t\t\tcontinueResize = false;\n\t\t\t}\n\t\t}\n\n\t\tif ( !continueResize ) {\n\t\t\tthat.position.left = that.prevPosition.left;\n\t\t\tthat.position.top = that.prevPosition.top;\n\t\t\tthat.size.width = that.prevSize.width;\n\t\t\tthat.size.height = that.prevSize.height;\n\t\t}\n\t},\n\n\tstop: function() {\n\t\tvar that = $( this ).resizable( \"instance\" ),\n\t\t\to = that.options,\n\t\t\tco = that.containerOffset,\n\t\t\tcop = that.containerPosition,\n\t\t\tce = that.containerElement,\n\t\t\thelper = $( that.helper ),\n\t\t\tho = helper.offset(),\n\t\t\tw = helper.outerWidth() - that.sizeDiff.width,\n\t\t\th = helper.outerHeight() - that.sizeDiff.height;\n\n\t\tif ( that._helper && !o.animate && ( /relative/ ).test( ce.css( \"position\" ) ) ) {\n\t\t\t$( this ).css({\n\t\t\t\tleft: ho.left - cop.left - co.left,\n\t\t\t\twidth: w,\n\t\t\t\theight: h\n\t\t\t});\n\t\t}\n\n\t\tif ( that._helper && !o.animate && ( /static/ ).test( ce.css( \"position\" ) ) ) {\n\t\t\t$( this ).css({\n\t\t\t\tleft: ho.left - cop.left - co.left,\n\t\t\t\twidth: w,\n\t\t\t\theight: h\n\t\t\t});\n\t\t}\n\t}\n});\n\n$.ui.plugin.add(\"resizable\", \"alsoResize\", {\n\n\tstart: function() {\n\t\tvar that = $(this).resizable( \"instance\" ),\n\t\t\to = that.options;\n\n\t\t$(o.alsoResize).each(function() {\n\t\t\tvar el = $(this);\n\t\t\tel.data(\"ui-resizable-alsoresize\", {\n\t\t\t\twidth: parseInt(el.width(), 10), height: parseInt(el.height(), 10),\n\t\t\t\tleft: parseInt(el.css(\"left\"), 10), top: parseInt(el.css(\"top\"), 10)\n\t\t\t});\n\t\t});\n\t},\n\n\tresize: function(event, ui) {\n\t\tvar that = $(this).resizable( \"instance\" ),\n\t\t\to = that.options,\n\t\t\tos = that.originalSize,\n\t\t\top = that.originalPosition,\n\t\t\tdelta = {\n\t\t\t\theight: (that.size.height - os.height) || 0,\n\t\t\t\twidth: (that.size.width - os.width) || 0,\n\t\t\t\ttop: (that.position.top - op.top) || 0,\n\t\t\t\tleft: (that.position.left - op.left) || 0\n\t\t\t};\n\n\t\t\t$(o.alsoResize).each(function() {\n\t\t\t\tvar el = $(this), start = $(this).data(\"ui-resizable-alsoresize\"), style = {},\n\t\t\t\t\tcss = el.parents(ui.originalElement[0]).length ?\n\t\t\t\t\t\t\t[ \"width\", \"height\" ] :\n\t\t\t\t\t\t\t[ \"width\", \"height\", \"top\", \"left\" ];\n\n\t\t\t\t$.each(css, function(i, prop) {\n\t\t\t\t\tvar sum = (start[prop] || 0) + (delta[prop] || 0);\n\t\t\t\t\tif (sum && sum >= 0) {\n\t\t\t\t\t\tstyle[prop] = sum || null;\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tel.css(style);\n\t\t\t});\n\t},\n\n\tstop: function() {\n\t\t$(this).removeData(\"resizable-alsoresize\");\n\t}\n});\n\n$.ui.plugin.add(\"resizable\", \"ghost\", {\n\n\tstart: function() {\n\n\t\tvar that = $(this).resizable( \"instance\" ), o = that.options, cs = that.size;\n\n\t\tthat.ghost = that.originalElement.clone();\n\t\tthat.ghost\n\t\t\t.css({\n\t\t\t\topacity: 0.25,\n\t\t\t\tdisplay: \"block\",\n\t\t\t\tposition: \"relative\",\n\t\t\t\theight: cs.height,\n\t\t\t\twidth: cs.width,\n\t\t\t\tmargin: 0,\n\t\t\t\tleft: 0,\n\t\t\t\ttop: 0\n\t\t\t})\n\t\t\t.addClass(\"ui-resizable-ghost\")\n\t\t\t.addClass(typeof o.ghost === \"string\" ? o.ghost : \"\");\n\n\t\tthat.ghost.appendTo(that.helper);\n\n\t},\n\n\tresize: function() {\n\t\tvar that = $(this).resizable( \"instance\" );\n\t\tif (that.ghost) {\n\t\t\tthat.ghost.css({\n\t\t\t\tposition: \"relative\",\n\t\t\t\theight: that.size.height,\n\t\t\t\twidth: that.size.width\n\t\t\t});\n\t\t}\n\t},\n\n\tstop: function() {\n\t\tvar that = $(this).resizable( \"instance\" );\n\t\tif (that.ghost && that.helper) {\n\t\t\tthat.helper.get(0).removeChild(that.ghost.get(0));\n\t\t}\n\t}\n\n});\n\n$.ui.plugin.add(\"resizable\", \"grid\", {\n\n\tresize: function() {\n\t\tvar outerDimensions,\n\t\t\tthat = $(this).resizable( \"instance\" ),\n\t\t\to = that.options,\n\t\t\tcs = that.size,\n\t\t\tos = that.originalSize,\n\t\t\top = that.originalPosition,\n\t\t\ta = that.axis,\n\t\t\tgrid = typeof o.grid === \"number\" ? [ o.grid, o.grid ] : o.grid,\n\t\t\tgridX = (grid[0] || 1),\n\t\t\tgridY = (grid[1] || 1),\n\t\t\tox = Math.round((cs.width - os.width) / gridX) * gridX,\n\t\t\toy = Math.round((cs.height - os.height) / gridY) * gridY,\n\t\t\tnewWidth = os.width + ox,\n\t\t\tnewHeight = os.height + oy,\n\t\t\tisMaxWidth = o.maxWidth && (o.maxWidth < newWidth),\n\t\t\tisMaxHeight = o.maxHeight && (o.maxHeight < newHeight),\n\t\t\tisMinWidth = o.minWidth && (o.minWidth > newWidth),\n\t\t\tisMinHeight = o.minHeight && (o.minHeight > newHeight);\n\n\t\to.grid = grid;\n\n\t\tif (isMinWidth) {\n\t\t\tnewWidth += gridX;\n\t\t}\n\t\tif (isMinHeight) {\n\t\t\tnewHeight += gridY;\n\t\t}\n\t\tif (isMaxWidth) {\n\t\t\tnewWidth -= gridX;\n\t\t}\n\t\tif (isMaxHeight) {\n\t\t\tnewHeight -= gridY;\n\t\t}\n\n\t\tif (/^(se|s|e)$/.test(a)) {\n\t\t\tthat.size.width = newWidth;\n\t\t\tthat.size.height = newHeight;\n\t\t} else if (/^(ne)$/.test(a)) {\n\t\t\tthat.size.width = newWidth;\n\t\t\tthat.size.height = newHeight;\n\t\t\tthat.position.top = op.top - oy;\n\t\t} else if (/^(sw)$/.test(a)) {\n\t\t\tthat.size.width = newWidth;\n\t\t\tthat.size.height = newHeight;\n\t\t\tthat.position.left = op.left - ox;\n\t\t} else {\n\t\t\tif ( newHeight - gridY <= 0 || newWidth - gridX <= 0) {\n\t\t\t\touterDimensions = that._getPaddingPlusBorderDimensions( this );\n\t\t\t}\n\n\t\t\tif ( newHeight - gridY > 0 ) {\n\t\t\t\tthat.size.height = newHeight;\n\t\t\t\tthat.position.top = op.top - oy;\n\t\t\t} else {\n\t\t\t\tnewHeight = gridY - outerDimensions.height;\n\t\t\t\tthat.size.height = newHeight;\n\t\t\t\tthat.position.top = op.top + os.height - newHeight;\n\t\t\t}\n\t\t\tif ( newWidth - gridX > 0 ) {\n\t\t\t\tthat.size.width = newWidth;\n\t\t\t\tthat.position.left = op.left - ox;\n\t\t\t} else {\n\t\t\t\tnewWidth = gridX - outerDimensions.width;\n\t\t\t\tthat.size.width = newWidth;\n\t\t\t\tthat.position.left = op.left + os.width - newWidth;\n\t\t\t}\n\t\t}\n\t}\n\n});\n\nvar resizable = $.ui.resizable;\n\n\n/*!\n * jQuery UI Dialog 1.11.4\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/dialog/\n */\n\n\nvar dialog = $.widget( \"ui.dialog\", {\n\tversion: \"1.11.4\",\n\toptions: {\n\t\tappendTo: \"body\",\n\t\tautoOpen: true,\n\t\tbuttons: [],\n\t\tcloseOnEscape: true,\n\t\tcloseText: \"Close\",\n\t\tdialogClass: \"\",\n\t\tdraggable: true,\n\t\thide: null,\n\t\theight: \"auto\",\n\t\tmaxHeight: null,\n\t\tmaxWidth: null,\n\t\tminHeight: 150,\n\t\tminWidth: 150,\n\t\tmodal: false,\n\t\tposition: {\n\t\t\tmy: \"center\",\n\t\t\tat: \"center\",\n\t\t\tof: window,\n\t\t\tcollision: \"fit\",\n\t\t\t// Ensure the titlebar is always visible\n\t\t\tusing: function( pos ) {\n\t\t\t\tvar topOffset = $( this ).css( pos ).offset().top;\n\t\t\t\tif ( topOffset < 0 ) {\n\t\t\t\t\t$( this ).css( \"top\", pos.top - topOffset );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tresizable: true,\n\t\tshow: null,\n\t\ttitle: null,\n\t\twidth: 300,\n\n\t\t// callbacks\n\t\tbeforeClose: null,\n\t\tclose: null,\n\t\tdrag: null,\n\t\tdragStart: null,\n\t\tdragStop: null,\n\t\tfocus: null,\n\t\topen: null,\n\t\tresize: null,\n\t\tresizeStart: null,\n\t\tresizeStop: null\n\t},\n\n\tsizeRelatedOptions: {\n\t\tbuttons: true,\n\t\theight: true,\n\t\tmaxHeight: true,\n\t\tmaxWidth: true,\n\t\tminHeight: true,\n\t\tminWidth: true,\n\t\twidth: true\n\t},\n\n\tresizableRelatedOptions: {\n\t\tmaxHeight: true,\n\t\tmaxWidth: true,\n\t\tminHeight: true,\n\t\tminWidth: true\n\t},\n\n\t_create: function() {\n\t\tthis.originalCss = {\n\t\t\tdisplay: this.element[ 0 ].style.display,\n\t\t\twidth: this.element[ 0 ].style.width,\n\t\t\tminHeight: this.element[ 0 ].style.minHeight,\n\t\t\tmaxHeight: this.element[ 0 ].style.maxHeight,\n\t\t\theight: this.element[ 0 ].style.height\n\t\t};\n\t\tthis.originalPosition = {\n\t\t\tparent: this.element.parent(),\n\t\t\tindex: this.element.parent().children().index( this.element )\n\t\t};\n\t\tthis.originalTitle = this.element.attr( \"title\" );\n\t\tthis.options.title = this.options.title || this.originalTitle;\n\n\t\tthis._createWrapper();\n\n\t\tthis.element\n\t\t\t.show()\n\t\t\t.removeAttr( \"title\" )\n\t\t\t.addClass( \"ui-dialog-content ui-widget-content\" )\n\t\t\t.appendTo( this.uiDialog );\n\n\t\tthis._createTitlebar();\n\t\tthis._createButtonPane();\n\n\t\tif ( this.options.draggable && $.fn.draggable ) {\n\t\t\tthis._makeDraggable();\n\t\t}\n\t\tif ( this.options.resizable && $.fn.resizable ) {\n\t\t\tthis._makeResizable();\n\t\t}\n\n\t\tthis._isOpen = false;\n\n\t\tthis._trackFocus();\n\t},\n\n\t_init: function() {\n\t\tif ( this.options.autoOpen ) {\n\t\t\tthis.open();\n\t\t}\n\t},\n\n\t_appendTo: function() {\n\t\tvar element = this.options.appendTo;\n\t\tif ( element && (element.jquery || element.nodeType) ) {\n\t\t\treturn $( element );\n\t\t}\n\t\treturn this.document.find( element || \"body\" ).eq( 0 );\n\t},\n\n\t_destroy: function() {\n\t\tvar next,\n\t\t\toriginalPosition = this.originalPosition;\n\n\t\tthis._untrackInstance();\n\t\tthis._destroyOverlay();\n\n\t\tthis.element\n\t\t\t.removeUniqueId()\n\t\t\t.removeClass( \"ui-dialog-content ui-widget-content\" )\n\t\t\t.css( this.originalCss )\n\t\t\t// Without detaching first, the following becomes really slow\n\t\t\t.detach();\n\n\t\tthis.uiDialog.stop( true, true ).remove();\n\n\t\tif ( this.originalTitle ) {\n\t\t\tthis.element.attr( \"title\", this.originalTitle );\n\t\t}\n\n\t\tnext = originalPosition.parent.children().eq( originalPosition.index );\n\t\t// Don't try to place the dialog next to itself (#8613)\n\t\tif ( next.length && next[ 0 ] !== this.element[ 0 ] ) {\n\t\t\tnext.before( this.element );\n\t\t} else {\n\t\t\toriginalPosition.parent.append( this.element );\n\t\t}\n\t},\n\n\twidget: function() {\n\t\treturn this.uiDialog;\n\t},\n\n\tdisable: $.noop,\n\tenable: $.noop,\n\n\tclose: function( event ) {\n\t\tvar activeElement,\n\t\t\tthat = this;\n\n\t\tif ( !this._isOpen || this._trigger( \"beforeClose\", event ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._isOpen = false;\n\t\tthis._focusedElement = null;\n\t\tthis._destroyOverlay();\n\t\tthis._untrackInstance();\n\n\t\tif ( !this.opener.filter( \":focusable\" ).focus().length ) {\n\n\t\t\t// support: IE9\n\t\t\t// IE9 throws an \"Unspecified error\" accessing document.activeElement from an <iframe>\n\t\t\ttry {\n\t\t\t\tactiveElement = this.document[ 0 ].activeElement;\n\n\t\t\t\t// Support: IE9, IE10\n\t\t\t\t// If the <body> is blurred, IE will switch windows, see #4520\n\t\t\t\tif ( activeElement && activeElement.nodeName.toLowerCase() !== \"body\" ) {\n\n\t\t\t\t\t// Hiding a focused element doesn't trigger blur in WebKit\n\t\t\t\t\t// so in case we have nothing to focus on, explicitly blur the active element\n\t\t\t\t\t// https://bugs.webkit.org/show_bug.cgi?id=47182\n\t\t\t\t\t$( activeElement ).blur();\n\t\t\t\t}\n\t\t\t} catch ( error ) {}\n\t\t}\n\n\t\tthis._hide( this.uiDialog, this.options.hide, function() {\n\t\t\tthat._trigger( \"close\", event );\n\t\t});\n\t},\n\n\tisOpen: function() {\n\t\treturn this._isOpen;\n\t},\n\n\tmoveToTop: function() {\n\t\tthis._moveToTop();\n\t},\n\n\t_moveToTop: function( event, silent ) {\n\t\tvar moved = false,\n\t\t\tzIndices = this.uiDialog.siblings( \".ui-front:visible\" ).map(function() {\n\t\t\t\treturn +$( this ).css( \"z-index\" );\n\t\t\t}).get(),\n\t\t\tzIndexMax = Math.max.apply( null, zIndices );\n\n\t\tif ( zIndexMax >= +this.uiDialog.css( \"z-index\" ) ) {\n\t\t\tthis.uiDialog.css( \"z-index\", zIndexMax + 1 );\n\t\t\tmoved = true;\n\t\t}\n\n\t\tif ( moved && !silent ) {\n\t\t\tthis._trigger( \"focus\", event );\n\t\t}\n\t\treturn moved;\n\t},\n\n\topen: function() {\n\t\tvar that = this;\n\t\tif ( this._isOpen ) {\n\t\t\tif ( this._moveToTop() ) {\n\t\t\t\tthis._focusTabbable();\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tthis._isOpen = true;\n\t\tthis.opener = $( this.document[ 0 ].activeElement );\n\n\t\tthis._size();\n\t\tthis._position();\n\t\tthis._createOverlay();\n\t\tthis._moveToTop( null, true );\n\n\t\t// Ensure the overlay is moved to the top with the dialog, but only when\n\t\t// opening. The overlay shouldn't move after the dialog is open so that\n\t\t// modeless dialogs opened after the modal dialog stack properly.\n\t\tif ( this.overlay ) {\n\t\t\tthis.overlay.css( \"z-index\", this.uiDialog.css( \"z-index\" ) - 1 );\n\t\t}\n\n\t\tthis._show( this.uiDialog, this.options.show, function() {\n\t\t\tthat._focusTabbable();\n\t\t\tthat._trigger( \"focus\" );\n\t\t});\n\n\t\t// Track the dialog immediately upon openening in case a focus event\n\t\t// somehow occurs outside of the dialog before an element inside the\n\t\t// dialog is focused (#10152)\n\t\tthis._makeFocusTarget();\n\n\t\tthis._trigger( \"open\" );\n\t},\n\n\t_focusTabbable: function() {\n\t\t// Set focus to the first match:\n\t\t// 1. An element that was focused previously\n\t\t// 2. First element inside the dialog matching [autofocus]\n\t\t// 3. Tabbable element inside the content element\n\t\t// 4. Tabbable element inside the buttonpane\n\t\t// 5. The close button\n\t\t// 6. The dialog itself\n\t\tvar hasFocus = this._focusedElement;\n\t\tif ( !hasFocus ) {\n\t\t\thasFocus = this.element.find( \"[autofocus]\" );\n\t\t}\n\t\tif ( !hasFocus.length ) {\n\t\t\thasFocus = this.element.find( \":tabbable\" );\n\t\t}\n\t\tif ( !hasFocus.length ) {\n\t\t\thasFocus = this.uiDialogButtonPane.find( \":tabbable\" );\n\t\t}\n\t\tif ( !hasFocus.length ) {\n\t\t\thasFocus = this.uiDialogTitlebarClose.filter( \":tabbable\" );\n\t\t}\n\t\tif ( !hasFocus.length ) {\n\t\t\thasFocus = this.uiDialog;\n\t\t}\n\t\thasFocus.eq( 0 ).focus();\n\t},\n\n\t_keepFocus: function( event ) {\n\t\tfunction checkFocus() {\n\t\t\tvar activeElement = this.document[0].activeElement,\n\t\t\t\tisActive = this.uiDialog[0] === activeElement ||\n\t\t\t\t\t$.contains( this.uiDialog[0], activeElement );\n\t\t\tif ( !isActive ) {\n\t\t\t\tthis._focusTabbable();\n\t\t\t}\n\t\t}\n\t\tevent.preventDefault();\n\t\tcheckFocus.call( this );\n\t\t// support: IE\n\t\t// IE <= 8 doesn't prevent moving focus even with event.preventDefault()\n\t\t// so we check again later\n\t\tthis._delay( checkFocus );\n\t},\n\n\t_createWrapper: function() {\n\t\tthis.uiDialog = $(\"<div>\")\n\t\t\t.addClass( \"ui-dialog ui-widget ui-widget-content ui-corner-all ui-front \" +\n\t\t\t\tthis.options.dialogClass )\n\t\t\t.hide()\n\t\t\t.attr({\n\t\t\t\t// Setting tabIndex makes the div focusable\n\t\t\t\ttabIndex: -1,\n\t\t\t\trole: \"dialog\"\n\t\t\t})\n\t\t\t.appendTo( this._appendTo() );\n\n\t\tthis._on( this.uiDialog, {\n\t\t\tkeydown: function( event ) {\n\t\t\t\tif ( this.options.closeOnEscape && !event.isDefaultPrevented() && event.keyCode &&\n\t\t\t\t\t\tevent.keyCode === $.ui.keyCode.ESCAPE ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tthis.close( event );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// prevent tabbing out of dialogs\n\t\t\t\tif ( event.keyCode !== $.ui.keyCode.TAB || event.isDefaultPrevented() ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tvar tabbables = this.uiDialog.find( \":tabbable\" ),\n\t\t\t\t\tfirst = tabbables.filter( \":first\" ),\n\t\t\t\t\tlast = tabbables.filter( \":last\" );\n\n\t\t\t\tif ( ( event.target === last[0] || event.target === this.uiDialog[0] ) && !event.shiftKey ) {\n\t\t\t\t\tthis._delay(function() {\n\t\t\t\t\t\tfirst.focus();\n\t\t\t\t\t});\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t} else if ( ( event.target === first[0] || event.target === this.uiDialog[0] ) && event.shiftKey ) {\n\t\t\t\t\tthis._delay(function() {\n\t\t\t\t\t\tlast.focus();\n\t\t\t\t\t});\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t},\n\t\t\tmousedown: function( event ) {\n\t\t\t\tif ( this._moveToTop( event ) ) {\n\t\t\t\t\tthis._focusTabbable();\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t// We assume that any existing aria-describedby attribute means\n\t\t// that the dialog content is marked up properly\n\t\t// otherwise we brute force the content as the description\n\t\tif ( !this.element.find( \"[aria-describedby]\" ).length ) {\n\t\t\tthis.uiDialog.attr({\n\t\t\t\t\"aria-describedby\": this.element.uniqueId().attr( \"id\" )\n\t\t\t});\n\t\t}\n\t},\n\n\t_createTitlebar: function() {\n\t\tvar uiDialogTitle;\n\n\t\tthis.uiDialogTitlebar = $( \"<div>\" )\n\t\t\t.addClass( \"ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix\" )\n\t\t\t.prependTo( this.uiDialog );\n\t\tthis._on( this.uiDialogTitlebar, {\n\t\t\tmousedown: function( event ) {\n\t\t\t\t// Don't prevent click on close button (#8838)\n\t\t\t\t// Focusing a dialog that is partially scrolled out of view\n\t\t\t\t// causes the browser to scroll it into view, preventing the click event\n\t\t\t\tif ( !$( event.target ).closest( \".ui-dialog-titlebar-close\" ) ) {\n\t\t\t\t\t// Dialog isn't getting focus when dragging (#8063)\n\t\t\t\t\tthis.uiDialog.focus();\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t// support: IE\n\t\t// Use type=\"button\" to prevent enter keypresses in textboxes from closing the\n\t\t// dialog in IE (#9312)\n\t\tthis.uiDialogTitlebarClose = $( \"<button type='button'></button>\" )\n\t\t\t.button({\n\t\t\t\tlabel: this.options.closeText,\n\t\t\t\ticons: {\n\t\t\t\t\tprimary: \"ui-icon-closethick\"\n\t\t\t\t},\n\t\t\t\ttext: false\n\t\t\t})\n\t\t\t.addClass( \"ui-dialog-titlebar-close\" )\n\t\t\t.appendTo( this.uiDialogTitlebar );\n\t\tthis._on( this.uiDialogTitlebarClose, {\n\t\t\tclick: function( event ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tthis.close( event );\n\t\t\t}\n\t\t});\n\n\t\tuiDialogTitle = $( \"<span>\" )\n\t\t\t.uniqueId()\n\t\t\t.addClass( \"ui-dialog-title\" )\n\t\t\t.prependTo( this.uiDialogTitlebar );\n\t\tthis._title( uiDialogTitle );\n\n\t\tthis.uiDialog.attr({\n\t\t\t\"aria-labelledby\": uiDialogTitle.attr( \"id\" )\n\t\t});\n\t},\n\n\t_title: function( title ) {\n\t\tif ( !this.options.title ) {\n\t\t\ttitle.html( \"&#160;\" );\n\t\t}\n\t\ttitle.text( this.options.title );\n\t},\n\n\t_createButtonPane: function() {\n\t\tthis.uiDialogButtonPane = $( \"<div>\" )\n\t\t\t.addClass( \"ui-dialog-buttonpane ui-widget-content ui-helper-clearfix\" );\n\n\t\tthis.uiButtonSet = $( \"<div>\" )\n\t\t\t.addClass( \"ui-dialog-buttonset\" )\n\t\t\t.appendTo( this.uiDialogButtonPane );\n\n\t\tthis._createButtons();\n\t},\n\n\t_createButtons: function() {\n\t\tvar that = this,\n\t\t\tbuttons = this.options.buttons;\n\n\t\t// if we already have a button pane, remove it\n\t\tthis.uiDialogButtonPane.remove();\n\t\tthis.uiButtonSet.empty();\n\n\t\tif ( $.isEmptyObject( buttons ) || ($.isArray( buttons ) && !buttons.length) ) {\n\t\t\tthis.uiDialog.removeClass( \"ui-dialog-buttons\" );\n\t\t\treturn;\n\t\t}\n\n\t\t$.each( buttons, function( name, props ) {\n\t\t\tvar click, buttonOptions;\n\t\t\tprops = $.isFunction( props ) ?\n\t\t\t\t{ click: props, text: name } :\n\t\t\t\tprops;\n\t\t\t// Default to a non-submitting button\n\t\t\tprops = $.extend( { type: \"button\" }, props );\n\t\t\t// Change the context for the click callback to be the main element\n\t\t\tclick = props.click;\n\t\t\tprops.click = function() {\n\t\t\t\tclick.apply( that.element[ 0 ], arguments );\n\t\t\t};\n\t\t\tbuttonOptions = {\n\t\t\t\ticons: props.icons,\n\t\t\t\ttext: props.showText\n\t\t\t};\n\t\t\tdelete props.icons;\n\t\t\tdelete props.showText;\n\t\t\t$( \"<button></button>\", props )\n\t\t\t\t.button( buttonOptions )\n\t\t\t\t.appendTo( that.uiButtonSet );\n\t\t});\n\t\tthis.uiDialog.addClass( \"ui-dialog-buttons\" );\n\t\tthis.uiDialogButtonPane.appendTo( this.uiDialog );\n\t},\n\n\t_makeDraggable: function() {\n\t\tvar that = this,\n\t\t\toptions = this.options;\n\n\t\tfunction filteredUi( ui ) {\n\t\t\treturn {\n\t\t\t\tposition: ui.position,\n\t\t\t\toffset: ui.offset\n\t\t\t};\n\t\t}\n\n\t\tthis.uiDialog.draggable({\n\t\t\tcancel: \".ui-dialog-content, .ui-dialog-titlebar-close\",\n\t\t\thandle: \".ui-dialog-titlebar\",\n\t\t\tcontainment: \"document\",\n\t\t\tstart: function( event, ui ) {\n\t\t\t\t$( this ).addClass( \"ui-dialog-dragging\" );\n\t\t\t\tthat._blockFrames();\n\t\t\t\tthat._trigger( \"dragStart\", event, filteredUi( ui ) );\n\t\t\t},\n\t\t\tdrag: function( event, ui ) {\n\t\t\t\tthat._trigger( \"drag\", event, filteredUi( ui ) );\n\t\t\t},\n\t\t\tstop: function( event, ui ) {\n\t\t\t\tvar left = ui.offset.left - that.document.scrollLeft(),\n\t\t\t\t\ttop = ui.offset.top - that.document.scrollTop();\n\n\t\t\t\toptions.position = {\n\t\t\t\t\tmy: \"left top\",\n\t\t\t\t\tat: \"left\" + (left >= 0 ? \"+\" : \"\") + left + \" \" +\n\t\t\t\t\t\t\"top\" + (top >= 0 ? \"+\" : \"\") + top,\n\t\t\t\t\tof: that.window\n\t\t\t\t};\n\t\t\t\t$( this ).removeClass( \"ui-dialog-dragging\" );\n\t\t\t\tthat._unblockFrames();\n\t\t\t\tthat._trigger( \"dragStop\", event, filteredUi( ui ) );\n\t\t\t}\n\t\t});\n\t},\n\n\t_makeResizable: function() {\n\t\tvar that = this,\n\t\t\toptions = this.options,\n\t\t\thandles = options.resizable,\n\t\t\t// .ui-resizable has position: relative defined in the stylesheet\n\t\t\t// but dialogs have to use absolute or fixed positioning\n\t\t\tposition = this.uiDialog.css(\"position\"),\n\t\t\tresizeHandles = typeof handles === \"string\" ?\n\t\t\t\thandles\t:\n\t\t\t\t\"n,e,s,w,se,sw,ne,nw\";\n\n\t\tfunction filteredUi( ui ) {\n\t\t\treturn {\n\t\t\t\toriginalPosition: ui.originalPosition,\n\t\t\t\toriginalSize: ui.originalSize,\n\t\t\t\tposition: ui.position,\n\t\t\t\tsize: ui.size\n\t\t\t};\n\t\t}\n\n\t\tthis.uiDialog.resizable({\n\t\t\tcancel: \".ui-dialog-content\",\n\t\t\tcontainment: \"document\",\n\t\t\talsoResize: this.element,\n\t\t\tmaxWidth: options.maxWidth,\n\t\t\tmaxHeight: options.maxHeight,\n\t\t\tminWidth: options.minWidth,\n\t\t\tminHeight: this._minHeight(),\n\t\t\thandles: resizeHandles,\n\t\t\tstart: function( event, ui ) {\n\t\t\t\t$( this ).addClass( \"ui-dialog-resizing\" );\n\t\t\t\tthat._blockFrames();\n\t\t\t\tthat._trigger( \"resizeStart\", event, filteredUi( ui ) );\n\t\t\t},\n\t\t\tresize: function( event, ui ) {\n\t\t\t\tthat._trigger( \"resize\", event, filteredUi( ui ) );\n\t\t\t},\n\t\t\tstop: function( event, ui ) {\n\t\t\t\tvar offset = that.uiDialog.offset(),\n\t\t\t\t\tleft = offset.left - that.document.scrollLeft(),\n\t\t\t\t\ttop = offset.top - that.document.scrollTop();\n\n\t\t\t\toptions.height = that.uiDialog.height();\n\t\t\t\toptions.width = that.uiDialog.width();\n\t\t\t\toptions.position = {\n\t\t\t\t\tmy: \"left top\",\n\t\t\t\t\tat: \"left\" + (left >= 0 ? \"+\" : \"\") + left + \" \" +\n\t\t\t\t\t\t\"top\" + (top >= 0 ? \"+\" : \"\") + top,\n\t\t\t\t\tof: that.window\n\t\t\t\t};\n\t\t\t\t$( this ).removeClass( \"ui-dialog-resizing\" );\n\t\t\t\tthat._unblockFrames();\n\t\t\t\tthat._trigger( \"resizeStop\", event, filteredUi( ui ) );\n\t\t\t}\n\t\t})\n\t\t.css( \"position\", position );\n\t},\n\n\t_trackFocus: function() {\n\t\tthis._on( this.widget(), {\n\t\t\tfocusin: function( event ) {\n\t\t\t\tthis._makeFocusTarget();\n\t\t\t\tthis._focusedElement = $( event.target );\n\t\t\t}\n\t\t});\n\t},\n\n\t_makeFocusTarget: function() {\n\t\tthis._untrackInstance();\n\t\tthis._trackingInstances().unshift( this );\n\t},\n\n\t_untrackInstance: function() {\n\t\tvar instances = this._trackingInstances(),\n\t\t\texists = $.inArray( this, instances );\n\t\tif ( exists !== -1 ) {\n\t\t\tinstances.splice( exists, 1 );\n\t\t}\n\t},\n\n\t_trackingInstances: function() {\n\t\tvar instances = this.document.data( \"ui-dialog-instances\" );\n\t\tif ( !instances ) {\n\t\t\tinstances = [];\n\t\t\tthis.document.data( \"ui-dialog-instances\", instances );\n\t\t}\n\t\treturn instances;\n\t},\n\n\t_minHeight: function() {\n\t\tvar options = this.options;\n\n\t\treturn options.height === \"auto\" ?\n\t\t\toptions.minHeight :\n\t\t\tMath.min( options.minHeight, options.height );\n\t},\n\n\t_position: function() {\n\t\t// Need to show the dialog to get the actual offset in the position plugin\n\t\tvar isVisible = this.uiDialog.is( \":visible\" );\n\t\tif ( !isVisible ) {\n\t\t\tthis.uiDialog.show();\n\t\t}\n\t\tthis.uiDialog.position( this.options.position );\n\t\tif ( !isVisible ) {\n\t\t\tthis.uiDialog.hide();\n\t\t}\n\t},\n\n\t_setOptions: function( options ) {\n\t\tvar that = this,\n\t\t\tresize = false,\n\t\t\tresizableOptions = {};\n\n\t\t$.each( options, function( key, value ) {\n\t\t\tthat._setOption( key, value );\n\n\t\t\tif ( key in that.sizeRelatedOptions ) {\n\t\t\t\tresize = true;\n\t\t\t}\n\t\t\tif ( key in that.resizableRelatedOptions ) {\n\t\t\t\tresizableOptions[ key ] = value;\n\t\t\t}\n\t\t});\n\n\t\tif ( resize ) {\n\t\t\tthis._size();\n\t\t\tthis._position();\n\t\t}\n\t\tif ( this.uiDialog.is( \":data(ui-resizable)\" ) ) {\n\t\t\tthis.uiDialog.resizable( \"option\", resizableOptions );\n\t\t}\n\t},\n\n\t_setOption: function( key, value ) {\n\t\tvar isDraggable, isResizable,\n\t\t\tuiDialog = this.uiDialog;\n\n\t\tif ( key === \"dialogClass\" ) {\n\t\t\tuiDialog\n\t\t\t\t.removeClass( this.options.dialogClass )\n\t\t\t\t.addClass( value );\n\t\t}\n\n\t\tif ( key === \"disabled\" ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._super( key, value );\n\n\t\tif ( key === \"appendTo\" ) {\n\t\t\tthis.uiDialog.appendTo( this._appendTo() );\n\t\t}\n\n\t\tif ( key === \"buttons\" ) {\n\t\t\tthis._createButtons();\n\t\t}\n\n\t\tif ( key === \"closeText\" ) {\n\t\t\tthis.uiDialogTitlebarClose.button({\n\t\t\t\t// Ensure that we always pass a string\n\t\t\t\tlabel: \"\" + value\n\t\t\t});\n\t\t}\n\n\t\tif ( key === \"draggable\" ) {\n\t\t\tisDraggable = uiDialog.is( \":data(ui-draggable)\" );\n\t\t\tif ( isDraggable && !value ) {\n\t\t\t\tuiDialog.draggable( \"destroy\" );\n\t\t\t}\n\n\t\t\tif ( !isDraggable && value ) {\n\t\t\t\tthis._makeDraggable();\n\t\t\t}\n\t\t}\n\n\t\tif ( key === \"position\" ) {\n\t\t\tthis._position();\n\t\t}\n\n\t\tif ( key === \"resizable\" ) {\n\t\t\t// currently resizable, becoming non-resizable\n\t\t\tisResizable = uiDialog.is( \":data(ui-resizable)\" );\n\t\t\tif ( isResizable && !value ) {\n\t\t\t\tuiDialog.resizable( \"destroy\" );\n\t\t\t}\n\n\t\t\t// currently resizable, changing handles\n\t\t\tif ( isResizable && typeof value === \"string\" ) {\n\t\t\t\tuiDialog.resizable( \"option\", \"handles\", value );\n\t\t\t}\n\n\t\t\t// currently non-resizable, becoming resizable\n\t\t\tif ( !isResizable && value !== false ) {\n\t\t\t\tthis._makeResizable();\n\t\t\t}\n\t\t}\n\n\t\tif ( key === \"title\" ) {\n\t\t\tthis._title( this.uiDialogTitlebar.find( \".ui-dialog-title\" ) );\n\t\t}\n\t},\n\n\t_size: function() {\n\t\t// If the user has resized the dialog, the .ui-dialog and .ui-dialog-content\n\t\t// divs will both have width and height set, so we need to reset them\n\t\tvar nonContentHeight, minContentHeight, maxContentHeight,\n\t\t\toptions = this.options;\n\n\t\t// Reset content sizing\n\t\tthis.element.show().css({\n\t\t\twidth: \"auto\",\n\t\t\tminHeight: 0,\n\t\t\tmaxHeight: \"none\",\n\t\t\theight: 0\n\t\t});\n\n\t\tif ( options.minWidth > options.width ) {\n\t\t\toptions.width = options.minWidth;\n\t\t}\n\n\t\t// reset wrapper sizing\n\t\t// determine the height of all the non-content elements\n\t\tnonContentHeight = this.uiDialog.css({\n\t\t\t\theight: \"auto\",\n\t\t\t\twidth: options.width\n\t\t\t})\n\t\t\t.outerHeight();\n\t\tminContentHeight = Math.max( 0, options.minHeight - nonContentHeight );\n\t\tmaxContentHeight = typeof options.maxHeight === \"number\" ?\n\t\t\tMath.max( 0, options.maxHeight - nonContentHeight ) :\n\t\t\t\"none\";\n\n\t\tif ( options.height === \"auto\" ) {\n\t\t\tthis.element.css({\n\t\t\t\tminHeight: minContentHeight,\n\t\t\t\tmaxHeight: maxContentHeight,\n\t\t\t\theight: \"auto\"\n\t\t\t});\n\t\t} else {\n\t\t\tthis.element.height( Math.max( 0, options.height - nonContentHeight ) );\n\t\t}\n\n\t\tif ( this.uiDialog.is( \":data(ui-resizable)\" ) ) {\n\t\t\tthis.uiDialog.resizable( \"option\", \"minHeight\", this._minHeight() );\n\t\t}\n\t},\n\n\t_blockFrames: function() {\n\t\tthis.iframeBlocks = this.document.find( \"iframe\" ).map(function() {\n\t\t\tvar iframe = $( this );\n\n\t\t\treturn $( \"<div>\" )\n\t\t\t\t.css({\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\twidth: iframe.outerWidth(),\n\t\t\t\t\theight: iframe.outerHeight()\n\t\t\t\t})\n\t\t\t\t.appendTo( iframe.parent() )\n\t\t\t\t.offset( iframe.offset() )[0];\n\t\t});\n\t},\n\n\t_unblockFrames: function() {\n\t\tif ( this.iframeBlocks ) {\n\t\t\tthis.iframeBlocks.remove();\n\t\t\tdelete this.iframeBlocks;\n\t\t}\n\t},\n\n\t_allowInteraction: function( event ) {\n\t\tif ( $( event.target ).closest( \".ui-dialog\" ).length ) {\n\t\t\treturn true;\n\t\t}\n\n\t\t// TODO: Remove hack when datepicker implements\n\t\t// the .ui-front logic (#8989)\n\t\treturn !!$( event.target ).closest( \".ui-datepicker\" ).length;\n\t},\n\n\t_createOverlay: function() {\n\t\tif ( !this.options.modal ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// We use a delay in case the overlay is created from an\n\t\t// event that we're going to be cancelling (#2804)\n\t\tvar isOpening = true;\n\t\tthis._delay(function() {\n\t\t\tisOpening = false;\n\t\t});\n\n\t\tif ( !this.document.data( \"ui-dialog-overlays\" ) ) {\n\n\t\t\t// Prevent use of anchors and inputs\n\t\t\t// Using _on() for an event handler shared across many instances is\n\t\t\t// safe because the dialogs stack and must be closed in reverse order\n\t\t\tthis._on( this.document, {\n\t\t\t\tfocusin: function( event ) {\n\t\t\t\t\tif ( isOpening ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( !this._allowInteraction( event ) ) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tthis._trackingInstances()[ 0 ]._focusTabbable();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tthis.overlay = $( \"<div>\" )\n\t\t\t.addClass( \"ui-widget-overlay ui-front\" )\n\t\t\t.appendTo( this._appendTo() );\n\t\tthis._on( this.overlay, {\n\t\t\tmousedown: \"_keepFocus\"\n\t\t});\n\t\tthis.document.data( \"ui-dialog-overlays\",\n\t\t\t(this.document.data( \"ui-dialog-overlays\" ) || 0) + 1 );\n\t},\n\n\t_destroyOverlay: function() {\n\t\tif ( !this.options.modal ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( this.overlay ) {\n\t\t\tvar overlays = this.document.data( \"ui-dialog-overlays\" ) - 1;\n\n\t\t\tif ( !overlays ) {\n\t\t\t\tthis.document\n\t\t\t\t\t.unbind( \"focusin\" )\n\t\t\t\t\t.removeData( \"ui-dialog-overlays\" );\n\t\t\t} else {\n\t\t\t\tthis.document.data( \"ui-dialog-overlays\", overlays );\n\t\t\t}\n\n\t\t\tthis.overlay.remove();\n\t\t\tthis.overlay = null;\n\t\t}\n\t}\n});\n\n\n/*!\n * jQuery UI Droppable 1.11.4\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/droppable/\n */\n\n\n$.widget( \"ui.droppable\", {\n\tversion: \"1.11.4\",\n\twidgetEventPrefix: \"drop\",\n\toptions: {\n\t\taccept: \"*\",\n\t\tactiveClass: false,\n\t\taddClasses: true,\n\t\tgreedy: false,\n\t\thoverClass: false,\n\t\tscope: \"default\",\n\t\ttolerance: \"intersect\",\n\n\t\t// callbacks\n\t\tactivate: null,\n\t\tdeactivate: null,\n\t\tdrop: null,\n\t\tout: null,\n\t\tover: null\n\t},\n\t_create: function() {\n\n\t\tvar proportions,\n\t\t\to = this.options,\n\t\t\taccept = o.accept;\n\n\t\tthis.isover = false;\n\t\tthis.isout = true;\n\n\t\tthis.accept = $.isFunction( accept ) ? accept : function( d ) {\n\t\t\treturn d.is( accept );\n\t\t};\n\n\t\tthis.proportions = function( /* valueToWrite */ ) {\n\t\t\tif ( arguments.length ) {\n\t\t\t\t// Store the droppable's proportions\n\t\t\t\tproportions = arguments[ 0 ];\n\t\t\t} else {\n\t\t\t\t// Retrieve or derive the droppable's proportions\n\t\t\t\treturn proportions ?\n\t\t\t\t\tproportions :\n\t\t\t\t\tproportions = {\n\t\t\t\t\t\twidth: this.element[ 0 ].offsetWidth,\n\t\t\t\t\t\theight: this.element[ 0 ].offsetHeight\n\t\t\t\t\t};\n\t\t\t}\n\t\t};\n\n\t\tthis._addToManager( o.scope );\n\n\t\to.addClasses && this.element.addClass( \"ui-droppable\" );\n\n\t},\n\n\t_addToManager: function( scope ) {\n\t\t// Add the reference and positions to the manager\n\t\t$.ui.ddmanager.droppables[ scope ] = $.ui.ddmanager.droppables[ scope ] || [];\n\t\t$.ui.ddmanager.droppables[ scope ].push( this );\n\t},\n\n\t_splice: function( drop ) {\n\t\tvar i = 0;\n\t\tfor ( ; i < drop.length; i++ ) {\n\t\t\tif ( drop[ i ] === this ) {\n\t\t\t\tdrop.splice( i, 1 );\n\t\t\t}\n\t\t}\n\t},\n\n\t_destroy: function() {\n\t\tvar drop = $.ui.ddmanager.droppables[ this.options.scope ];\n\n\t\tthis._splice( drop );\n\n\t\tthis.element.removeClass( \"ui-droppable ui-droppable-disabled\" );\n\t},\n\n\t_setOption: function( key, value ) {\n\n\t\tif ( key === \"accept\" ) {\n\t\t\tthis.accept = $.isFunction( value ) ? value : function( d ) {\n\t\t\t\treturn d.is( value );\n\t\t\t};\n\t\t} else if ( key === \"scope\" ) {\n\t\t\tvar drop = $.ui.ddmanager.droppables[ this.options.scope ];\n\n\t\t\tthis._splice( drop );\n\t\t\tthis._addToManager( value );\n\t\t}\n\n\t\tthis._super( key, value );\n\t},\n\n\t_activate: function( event ) {\n\t\tvar draggable = $.ui.ddmanager.current;\n\t\tif ( this.options.activeClass ) {\n\t\t\tthis.element.addClass( this.options.activeClass );\n\t\t}\n\t\tif ( draggable ){\n\t\t\tthis._trigger( \"activate\", event, this.ui( draggable ) );\n\t\t}\n\t},\n\n\t_deactivate: function( event ) {\n\t\tvar draggable = $.ui.ddmanager.current;\n\t\tif ( this.options.activeClass ) {\n\t\t\tthis.element.removeClass( this.options.activeClass );\n\t\t}\n\t\tif ( draggable ){\n\t\t\tthis._trigger( \"deactivate\", event, this.ui( draggable ) );\n\t\t}\n\t},\n\n\t_over: function( event ) {\n\n\t\tvar draggable = $.ui.ddmanager.current;\n\n\t\t// Bail if draggable and droppable are same element\n\t\tif ( !draggable || ( draggable.currentItem || draggable.element )[ 0 ] === this.element[ 0 ] ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( this.accept.call( this.element[ 0 ], ( draggable.currentItem || draggable.element ) ) ) {\n\t\t\tif ( this.options.hoverClass ) {\n\t\t\t\tthis.element.addClass( this.options.hoverClass );\n\t\t\t}\n\t\t\tthis._trigger( \"over\", event, this.ui( draggable ) );\n\t\t}\n\n\t},\n\n\t_out: function( event ) {\n\n\t\tvar draggable = $.ui.ddmanager.current;\n\n\t\t// Bail if draggable and droppable are same element\n\t\tif ( !draggable || ( draggable.currentItem || draggable.element )[ 0 ] === this.element[ 0 ] ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( this.accept.call( this.element[ 0 ], ( draggable.currentItem || draggable.element ) ) ) {\n\t\t\tif ( this.options.hoverClass ) {\n\t\t\t\tthis.element.removeClass( this.options.hoverClass );\n\t\t\t}\n\t\t\tthis._trigger( \"out\", event, this.ui( draggable ) );\n\t\t}\n\n\t},\n\n\t_drop: function( event, custom ) {\n\n\t\tvar draggable = custom || $.ui.ddmanager.current,\n\t\t\tchildrenIntersection = false;\n\n\t\t// Bail if draggable and droppable are same element\n\t\tif ( !draggable || ( draggable.currentItem || draggable.element )[ 0 ] === this.element[ 0 ] ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tthis.element.find( \":data(ui-droppable)\" ).not( \".ui-draggable-dragging\" ).each(function() {\n\t\t\tvar inst = $( this ).droppable( \"instance\" );\n\t\t\tif (\n\t\t\t\tinst.options.greedy &&\n\t\t\t\t!inst.options.disabled &&\n\t\t\t\tinst.options.scope === draggable.options.scope &&\n\t\t\t\tinst.accept.call( inst.element[ 0 ], ( draggable.currentItem || draggable.element ) ) &&\n\t\t\t\t$.ui.intersect( draggable, $.extend( inst, { offset: inst.element.offset() } ), inst.options.tolerance, event )\n\t\t\t) { childrenIntersection = true; return false; }\n\t\t});\n\t\tif ( childrenIntersection ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( this.accept.call( this.element[ 0 ], ( draggable.currentItem || draggable.element ) ) ) {\n\t\t\tif ( this.options.activeClass ) {\n\t\t\t\tthis.element.removeClass( this.options.activeClass );\n\t\t\t}\n\t\t\tif ( this.options.hoverClass ) {\n\t\t\t\tthis.element.removeClass( this.options.hoverClass );\n\t\t\t}\n\t\t\tthis._trigger( \"drop\", event, this.ui( draggable ) );\n\t\t\treturn this.element;\n\t\t}\n\n\t\treturn false;\n\n\t},\n\n\tui: function( c ) {\n\t\treturn {\n\t\t\tdraggable: ( c.currentItem || c.element ),\n\t\t\thelper: c.helper,\n\t\t\tposition: c.position,\n\t\t\toffset: c.positionAbs\n\t\t};\n\t}\n\n});\n\n$.ui.intersect = (function() {\n\tfunction isOverAxis( x, reference, size ) {\n\t\treturn ( x >= reference ) && ( x < ( reference + size ) );\n\t}\n\n\treturn function( draggable, droppable, toleranceMode, event ) {\n\n\t\tif ( !droppable.offset ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tvar x1 = ( draggable.positionAbs || draggable.position.absolute ).left + draggable.margins.left,\n\t\t\ty1 = ( draggable.positionAbs || draggable.position.absolute ).top + draggable.margins.top,\n\t\t\tx2 = x1 + draggable.helperProportions.width,\n\t\t\ty2 = y1 + draggable.helperProportions.height,\n\t\t\tl = droppable.offset.left,\n\t\t\tt = droppable.offset.top,\n\t\t\tr = l + droppable.proportions().width,\n\t\t\tb = t + droppable.proportions().height;\n\n\t\tswitch ( toleranceMode ) {\n\t\tcase \"fit\":\n\t\t\treturn ( l <= x1 && x2 <= r && t <= y1 && y2 <= b );\n\t\tcase \"intersect\":\n\t\t\treturn ( l < x1 + ( draggable.helperProportions.width / 2 ) && // Right Half\n\t\t\t\tx2 - ( draggable.helperProportions.width / 2 ) < r && // Left Half\n\t\t\t\tt < y1 + ( draggable.helperProportions.height / 2 ) && // Bottom Half\n\t\t\t\ty2 - ( draggable.helperProportions.height / 2 ) < b ); // Top Half\n\t\tcase \"pointer\":\n\t\t\treturn isOverAxis( event.pageY, t, droppable.proportions().height ) && isOverAxis( event.pageX, l, droppable.proportions().width );\n\t\tcase \"touch\":\n\t\t\treturn (\n\t\t\t\t( y1 >= t && y1 <= b ) || // Top edge touching\n\t\t\t\t( y2 >= t && y2 <= b ) || // Bottom edge touching\n\t\t\t\t( y1 < t && y2 > b ) // Surrounded vertically\n\t\t\t) && (\n\t\t\t\t( x1 >= l && x1 <= r ) || // Left edge touching\n\t\t\t\t( x2 >= l && x2 <= r ) || // Right edge touching\n\t\t\t\t( x1 < l && x2 > r ) // Surrounded horizontally\n\t\t\t);\n\t\tdefault:\n\t\t\treturn false;\n\t\t}\n\t};\n})();\n\n/*\n\tThis manager tracks offsets of draggables and droppables\n*/\n$.ui.ddmanager = {\n\tcurrent: null,\n\tdroppables: { \"default\": [] },\n\tprepareOffsets: function( t, event ) {\n\n\t\tvar i, j,\n\t\t\tm = $.ui.ddmanager.droppables[ t.options.scope ] || [],\n\t\t\ttype = event ? event.type : null, // workaround for #2317\n\t\t\tlist = ( t.currentItem || t.element ).find( \":data(ui-droppable)\" ).addBack();\n\n\t\tdroppablesLoop: for ( i = 0; i < m.length; i++ ) {\n\n\t\t\t// No disabled and non-accepted\n\t\t\tif ( m[ i ].options.disabled || ( t && !m[ i ].accept.call( m[ i ].element[ 0 ], ( t.currentItem || t.element ) ) ) ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Filter out elements in the current dragged item\n\t\t\tfor ( j = 0; j < list.length; j++ ) {\n\t\t\t\tif ( list[ j ] === m[ i ].element[ 0 ] ) {\n\t\t\t\t\tm[ i ].proportions().height = 0;\n\t\t\t\t\tcontinue droppablesLoop;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tm[ i ].visible = m[ i ].element.css( \"display\" ) !== \"none\";\n\t\t\tif ( !m[ i ].visible ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Activate the droppable if used directly from draggables\n\t\t\tif ( type === \"mousedown\" ) {\n\t\t\t\tm[ i ]._activate.call( m[ i ], event );\n\t\t\t}\n\n\t\t\tm[ i ].offset = m[ i ].element.offset();\n\t\t\tm[ i ].proportions({ width: m[ i ].element[ 0 ].offsetWidth, height: m[ i ].element[ 0 ].offsetHeight });\n\n\t\t}\n\n\t},\n\tdrop: function( draggable, event ) {\n\n\t\tvar dropped = false;\n\t\t// Create a copy of the droppables in case the list changes during the drop (#9116)\n\t\t$.each( ( $.ui.ddmanager.droppables[ draggable.options.scope ] || [] ).slice(), function() {\n\n\t\t\tif ( !this.options ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( !this.options.disabled && this.visible && $.ui.intersect( draggable, this, this.options.tolerance, event ) ) {\n\t\t\t\tdropped = this._drop.call( this, event ) || dropped;\n\t\t\t}\n\n\t\t\tif ( !this.options.disabled && this.visible && this.accept.call( this.element[ 0 ], ( draggable.currentItem || draggable.element ) ) ) {\n\t\t\t\tthis.isout = true;\n\t\t\t\tthis.isover = false;\n\t\t\t\tthis._deactivate.call( this, event );\n\t\t\t}\n\n\t\t});\n\t\treturn dropped;\n\n\t},\n\tdragStart: function( draggable, event ) {\n\t\t// Listen for scrolling so that if the dragging causes scrolling the position of the droppables can be recalculated (see #5003)\n\t\tdraggable.element.parentsUntil( \"body\" ).bind( \"scroll.droppable\", function() {\n\t\t\tif ( !draggable.options.refreshPositions ) {\n\t\t\t\t$.ui.ddmanager.prepareOffsets( draggable, event );\n\t\t\t}\n\t\t});\n\t},\n\tdrag: function( draggable, event ) {\n\n\t\t// If you have a highly dynamic page, you might try this option. It renders positions every time you move the mouse.\n\t\tif ( draggable.options.refreshPositions ) {\n\t\t\t$.ui.ddmanager.prepareOffsets( draggable, event );\n\t\t}\n\n\t\t// Run through all droppables and check their positions based on specific tolerance options\n\t\t$.each( $.ui.ddmanager.droppables[ draggable.options.scope ] || [], function() {\n\n\t\t\tif ( this.options.disabled || this.greedyChild || !this.visible ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar parentInstance, scope, parent,\n\t\t\t\tintersects = $.ui.intersect( draggable, this, this.options.tolerance, event ),\n\t\t\t\tc = !intersects && this.isover ? \"isout\" : ( intersects && !this.isover ? \"isover\" : null );\n\t\t\tif ( !c ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( this.options.greedy ) {\n\t\t\t\t// find droppable parents with same scope\n\t\t\t\tscope = this.options.scope;\n\t\t\t\tparent = this.element.parents( \":data(ui-droppable)\" ).filter(function() {\n\t\t\t\t\treturn $( this ).droppable( \"instance\" ).options.scope === scope;\n\t\t\t\t});\n\n\t\t\t\tif ( parent.length ) {\n\t\t\t\t\tparentInstance = $( parent[ 0 ] ).droppable( \"instance\" );\n\t\t\t\t\tparentInstance.greedyChild = ( c === \"isover\" );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// we just moved into a greedy child\n\t\t\tif ( parentInstance && c === \"isover\" ) {\n\t\t\t\tparentInstance.isover = false;\n\t\t\t\tparentInstance.isout = true;\n\t\t\t\tparentInstance._out.call( parentInstance, event );\n\t\t\t}\n\n\t\t\tthis[ c ] = true;\n\t\t\tthis[c === \"isout\" ? \"isover\" : \"isout\"] = false;\n\t\t\tthis[c === \"isover\" ? \"_over\" : \"_out\"].call( this, event );\n\n\t\t\t// we just moved out of a greedy child\n\t\t\tif ( parentInstance && c === \"isout\" ) {\n\t\t\t\tparentInstance.isout = false;\n\t\t\t\tparentInstance.isover = true;\n\t\t\t\tparentInstance._over.call( parentInstance, event );\n\t\t\t}\n\t\t});\n\n\t},\n\tdragStop: function( draggable, event ) {\n\t\tdraggable.element.parentsUntil( \"body\" ).unbind( \"scroll.droppable\" );\n\t\t// Call prepareOffsets one final time since IE does not fire return scroll events when overflow was caused by drag (see #5003)\n\t\tif ( !draggable.options.refreshPositions ) {\n\t\t\t$.ui.ddmanager.prepareOffsets( draggable, event );\n\t\t}\n\t}\n};\n\nvar droppable = $.ui.droppable;\n\n\n/*!\n * jQuery UI Effects 1.11.4\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/category/effects-core/\n */\n\n\nvar dataSpace = \"ui-effects-\",\n\n\t// Create a local jQuery because jQuery Color relies on it and the\n\t// global may not exist with AMD and a custom build (#10199)\n\tjQuery = $;\n\n$.effects = {\n\teffect: {}\n};\n\n/*!\n * jQuery Color Animations v2.1.2\n * https://github.com/jquery/jquery-color\n *\n * Copyright 2014 jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * Date: Wed Jan 16 08:47:09 2013 -0600\n */\n(function( jQuery, undefined ) {\n\n\tvar stepHooks = \"backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor\",\n\n\t// plusequals test for += 100 -= 100\n\trplusequals = /^([\\-+])=\\s*(\\d+\\.?\\d*)/,\n\t// a set of RE's that can match strings and generate color tuples.\n\tstringParsers = [ {\n\t\t\tre: /rgba?\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*(?:,\\s*(\\d?(?:\\.\\d+)?)\\s*)?\\)/,\n\t\t\tparse: function( execResult ) {\n\t\t\t\treturn [\n\t\t\t\t\texecResult[ 1 ],\n\t\t\t\t\texecResult[ 2 ],\n\t\t\t\t\texecResult[ 3 ],\n\t\t\t\t\texecResult[ 4 ]\n\t\t\t\t];\n\t\t\t}\n\t\t}, {\n\t\t\tre: /rgba?\\(\\s*(\\d+(?:\\.\\d+)?)\\%\\s*,\\s*(\\d+(?:\\.\\d+)?)\\%\\s*,\\s*(\\d+(?:\\.\\d+)?)\\%\\s*(?:,\\s*(\\d?(?:\\.\\d+)?)\\s*)?\\)/,\n\t\t\tparse: function( execResult ) {\n\t\t\t\treturn [\n\t\t\t\t\texecResult[ 1 ] * 2.55,\n\t\t\t\t\texecResult[ 2 ] * 2.55,\n\t\t\t\t\texecResult[ 3 ] * 2.55,\n\t\t\t\t\texecResult[ 4 ]\n\t\t\t\t];\n\t\t\t}\n\t\t}, {\n\t\t\t// this regex ignores A-F because it's compared against an already lowercased string\n\t\t\tre: /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,\n\t\t\tparse: function( execResult ) {\n\t\t\t\treturn [\n\t\t\t\t\tparseInt( execResult[ 1 ], 16 ),\n\t\t\t\t\tparseInt( execResult[ 2 ], 16 ),\n\t\t\t\t\tparseInt( execResult[ 3 ], 16 )\n\t\t\t\t];\n\t\t\t}\n\t\t}, {\n\t\t\t// this regex ignores A-F because it's compared against an already lowercased string\n\t\t\tre: /#([a-f0-9])([a-f0-9])([a-f0-9])/,\n\t\t\tparse: function( execResult ) {\n\t\t\t\treturn [\n\t\t\t\t\tparseInt( execResult[ 1 ] + execResult[ 1 ], 16 ),\n\t\t\t\t\tparseInt( execResult[ 2 ] + execResult[ 2 ], 16 ),\n\t\t\t\t\tparseInt( execResult[ 3 ] + execResult[ 3 ], 16 )\n\t\t\t\t];\n\t\t\t}\n\t\t}, {\n\t\t\tre: /hsla?\\(\\s*(\\d+(?:\\.\\d+)?)\\s*,\\s*(\\d+(?:\\.\\d+)?)\\%\\s*,\\s*(\\d+(?:\\.\\d+)?)\\%\\s*(?:,\\s*(\\d?(?:\\.\\d+)?)\\s*)?\\)/,\n\t\t\tspace: \"hsla\",\n\t\t\tparse: function( execResult ) {\n\t\t\t\treturn [\n\t\t\t\t\texecResult[ 1 ],\n\t\t\t\t\texecResult[ 2 ] / 100,\n\t\t\t\t\texecResult[ 3 ] / 100,\n\t\t\t\t\texecResult[ 4 ]\n\t\t\t\t];\n\t\t\t}\n\t\t} ],\n\n\t// jQuery.Color( )\n\tcolor = jQuery.Color = function( color, green, blue, alpha ) {\n\t\treturn new jQuery.Color.fn.parse( color, green, blue, alpha );\n\t},\n\tspaces = {\n\t\trgba: {\n\t\t\tprops: {\n\t\t\t\tred: {\n\t\t\t\t\tidx: 0,\n\t\t\t\t\ttype: \"byte\"\n\t\t\t\t},\n\t\t\t\tgreen: {\n\t\t\t\t\tidx: 1,\n\t\t\t\t\ttype: \"byte\"\n\t\t\t\t},\n\t\t\t\tblue: {\n\t\t\t\t\tidx: 2,\n\t\t\t\t\ttype: \"byte\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\thsla: {\n\t\t\tprops: {\n\t\t\t\thue: {\n\t\t\t\t\tidx: 0,\n\t\t\t\t\ttype: \"degrees\"\n\t\t\t\t},\n\t\t\t\tsaturation: {\n\t\t\t\t\tidx: 1,\n\t\t\t\t\ttype: \"percent\"\n\t\t\t\t},\n\t\t\t\tlightness: {\n\t\t\t\t\tidx: 2,\n\t\t\t\t\ttype: \"percent\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\tpropTypes = {\n\t\t\"byte\": {\n\t\t\tfloor: true,\n\t\t\tmax: 255\n\t\t},\n\t\t\"percent\": {\n\t\t\tmax: 1\n\t\t},\n\t\t\"degrees\": {\n\t\t\tmod: 360,\n\t\t\tfloor: true\n\t\t}\n\t},\n\tsupport = color.support = {},\n\n\t// element for support tests\n\tsupportElem = jQuery( \"<p>\" )[ 0 ],\n\n\t// colors = jQuery.Color.names\n\tcolors,\n\n\t// local aliases of functions called often\n\teach = jQuery.each;\n\n// determine rgba support immediately\nsupportElem.style.cssText = \"background-color:rgba(1,1,1,.5)\";\nsupport.rgba = supportElem.style.backgroundColor.indexOf( \"rgba\" ) > -1;\n\n// define cache name and alpha properties\n// for rgba and hsla spaces\neach( spaces, function( spaceName, space ) {\n\tspace.cache = \"_\" + spaceName;\n\tspace.props.alpha = {\n\t\tidx: 3,\n\t\ttype: \"percent\",\n\t\tdef: 1\n\t};\n});\n\nfunction clamp( value, prop, allowEmpty ) {\n\tvar type = propTypes[ prop.type ] || {};\n\n\tif ( value == null ) {\n\t\treturn (allowEmpty || !prop.def) ? null : prop.def;\n\t}\n\n\t// ~~ is an short way of doing floor for positive numbers\n\tvalue = type.floor ? ~~value : parseFloat( value );\n\n\t// IE will pass in empty strings as value for alpha,\n\t// which will hit this case\n\tif ( isNaN( value ) ) {\n\t\treturn prop.def;\n\t}\n\n\tif ( type.mod ) {\n\t\t// we add mod before modding to make sure that negatives values\n\t\t// get converted properly: -10 -> 350\n\t\treturn (value + type.mod) % type.mod;\n\t}\n\n\t// for now all property types without mod have min and max\n\treturn 0 > value ? 0 : type.max < value ? type.max : value;\n}\n\nfunction stringParse( string ) {\n\tvar inst = color(),\n\t\trgba = inst._rgba = [];\n\n\tstring = string.toLowerCase();\n\n\teach( stringParsers, function( i, parser ) {\n\t\tvar parsed,\n\t\t\tmatch = parser.re.exec( string ),\n\t\t\tvalues = match && parser.parse( match ),\n\t\t\tspaceName = parser.space || \"rgba\";\n\n\t\tif ( values ) {\n\t\t\tparsed = inst[ spaceName ]( values );\n\n\t\t\t// if this was an rgba parse the assignment might happen twice\n\t\t\t// oh well....\n\t\t\tinst[ spaces[ spaceName ].cache ] = parsed[ spaces[ spaceName ].cache ];\n\t\t\trgba = inst._rgba = parsed._rgba;\n\n\t\t\t// exit each( stringParsers ) here because we matched\n\t\t\treturn false;\n\t\t}\n\t});\n\n\t// Found a stringParser that handled it\n\tif ( rgba.length ) {\n\n\t\t// if this came from a parsed string, force \"transparent\" when alpha is 0\n\t\t// chrome, (and maybe others) return \"transparent\" as rgba(0,0,0,0)\n\t\tif ( rgba.join() === \"0,0,0,0\" ) {\n\t\t\tjQuery.extend( rgba, colors.transparent );\n\t\t}\n\t\treturn inst;\n\t}\n\n\t// named colors\n\treturn colors[ string ];\n}\n\ncolor.fn = jQuery.extend( color.prototype, {\n\tparse: function( red, green, blue, alpha ) {\n\t\tif ( red === undefined ) {\n\t\t\tthis._rgba = [ null, null, null, null ];\n\t\t\treturn this;\n\t\t}\n\t\tif ( red.jquery || red.nodeType ) {\n\t\t\tred = jQuery( red ).css( green );\n\t\t\tgreen = undefined;\n\t\t}\n\n\t\tvar inst = this,\n\t\t\ttype = jQuery.type( red ),\n\t\t\trgba = this._rgba = [];\n\n\t\t// more than 1 argument specified - assume ( red, green, blue, alpha )\n\t\tif ( green !== undefined ) {\n\t\t\tred = [ red, green, blue, alpha ];\n\t\t\ttype = \"array\";\n\t\t}\n\n\t\tif ( type === \"string\" ) {\n\t\t\treturn this.parse( stringParse( red ) || colors._default );\n\t\t}\n\n\t\tif ( type === \"array\" ) {\n\t\t\teach( spaces.rgba.props, function( key, prop ) {\n\t\t\t\trgba[ prop.idx ] = clamp( red[ prop.idx ], prop );\n\t\t\t});\n\t\t\treturn this;\n\t\t}\n\n\t\tif ( type === \"object\" ) {\n\t\t\tif ( red instanceof color ) {\n\t\t\t\teach( spaces, function( spaceName, space ) {\n\t\t\t\t\tif ( red[ space.cache ] ) {\n\t\t\t\t\t\tinst[ space.cache ] = red[ space.cache ].slice();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\teach( spaces, function( spaceName, space ) {\n\t\t\t\t\tvar cache = space.cache;\n\t\t\t\t\teach( space.props, function( key, prop ) {\n\n\t\t\t\t\t\t// if the cache doesn't exist, and we know how to convert\n\t\t\t\t\t\tif ( !inst[ cache ] && space.to ) {\n\n\t\t\t\t\t\t\t// if the value was null, we don't need to copy it\n\t\t\t\t\t\t\t// if the key was alpha, we don't need to copy it either\n\t\t\t\t\t\t\tif ( key === \"alpha\" || red[ key ] == null ) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tinst[ cache ] = space.to( inst._rgba );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// this is the only case where we allow nulls for ALL properties.\n\t\t\t\t\t\t// call clamp with alwaysAllowEmpty\n\t\t\t\t\t\tinst[ cache ][ prop.idx ] = clamp( red[ key ], prop, true );\n\t\t\t\t\t});\n\n\t\t\t\t\t// everything defined but alpha?\n\t\t\t\t\tif ( inst[ cache ] && jQuery.inArray( null, inst[ cache ].slice( 0, 3 ) ) < 0 ) {\n\t\t\t\t\t\t// use the default of 1\n\t\t\t\t\t\tinst[ cache ][ 3 ] = 1;\n\t\t\t\t\t\tif ( space.from ) {\n\t\t\t\t\t\t\tinst._rgba = space.from( inst[ cache ] );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t},\n\tis: function( compare ) {\n\t\tvar is = color( compare ),\n\t\t\tsame = true,\n\t\t\tinst = this;\n\n\t\teach( spaces, function( _, space ) {\n\t\t\tvar localCache,\n\t\t\t\tisCache = is[ space.cache ];\n\t\t\tif (isCache) {\n\t\t\t\tlocalCache = inst[ space.cache ] || space.to && space.to( inst._rgba ) || [];\n\t\t\t\teach( space.props, function( _, prop ) {\n\t\t\t\t\tif ( isCache[ prop.idx ] != null ) {\n\t\t\t\t\t\tsame = ( isCache[ prop.idx ] === localCache[ prop.idx ] );\n\t\t\t\t\t\treturn same;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn same;\n\t\t});\n\t\treturn same;\n\t},\n\t_space: function() {\n\t\tvar used = [],\n\t\t\tinst = this;\n\t\teach( spaces, function( spaceName, space ) {\n\t\t\tif ( inst[ space.cache ] ) {\n\t\t\t\tused.push( spaceName );\n\t\t\t}\n\t\t});\n\t\treturn used.pop();\n\t},\n\ttransition: function( other, distance ) {\n\t\tvar end = color( other ),\n\t\t\tspaceName = end._space(),\n\t\t\tspace = spaces[ spaceName ],\n\t\t\tstartColor = this.alpha() === 0 ? color( \"transparent\" ) : this,\n\t\t\tstart = startColor[ space.cache ] || space.to( startColor._rgba ),\n\t\t\tresult = start.slice();\n\n\t\tend = end[ space.cache ];\n\t\teach( space.props, function( key, prop ) {\n\t\t\tvar index = prop.idx,\n\t\t\t\tstartValue = start[ index ],\n\t\t\t\tendValue = end[ index ],\n\t\t\t\ttype = propTypes[ prop.type ] || {};\n\n\t\t\t// if null, don't override start value\n\t\t\tif ( endValue === null ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// if null - use end\n\t\t\tif ( startValue === null ) {\n\t\t\t\tresult[ index ] = endValue;\n\t\t\t} else {\n\t\t\t\tif ( type.mod ) {\n\t\t\t\t\tif ( endValue - startValue > type.mod / 2 ) {\n\t\t\t\t\t\tstartValue += type.mod;\n\t\t\t\t\t} else if ( startValue - endValue > type.mod / 2 ) {\n\t\t\t\t\t\tstartValue -= type.mod;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tresult[ index ] = clamp( ( endValue - startValue ) * distance + startValue, prop );\n\t\t\t}\n\t\t});\n\t\treturn this[ spaceName ]( result );\n\t},\n\tblend: function( opaque ) {\n\t\t// if we are already opaque - return ourself\n\t\tif ( this._rgba[ 3 ] === 1 ) {\n\t\t\treturn this;\n\t\t}\n\n\t\tvar rgb = this._rgba.slice(),\n\t\t\ta = rgb.pop(),\n\t\t\tblend = color( opaque )._rgba;\n\n\t\treturn color( jQuery.map( rgb, function( v, i ) {\n\t\t\treturn ( 1 - a ) * blend[ i ] + a * v;\n\t\t}));\n\t},\n\ttoRgbaString: function() {\n\t\tvar prefix = \"rgba(\",\n\t\t\trgba = jQuery.map( this._rgba, function( v, i ) {\n\t\t\t\treturn v == null ? ( i > 2 ? 1 : 0 ) : v;\n\t\t\t});\n\n\t\tif ( rgba[ 3 ] === 1 ) {\n\t\t\trgba.pop();\n\t\t\tprefix = \"rgb(\";\n\t\t}\n\n\t\treturn prefix + rgba.join() + \")\";\n\t},\n\ttoHslaString: function() {\n\t\tvar prefix = \"hsla(\",\n\t\t\thsla = jQuery.map( this.hsla(), function( v, i ) {\n\t\t\t\tif ( v == null ) {\n\t\t\t\t\tv = i > 2 ? 1 : 0;\n\t\t\t\t}\n\n\t\t\t\t// catch 1 and 2\n\t\t\t\tif ( i && i < 3 ) {\n\t\t\t\t\tv = Math.round( v * 100 ) + \"%\";\n\t\t\t\t}\n\t\t\t\treturn v;\n\t\t\t});\n\n\t\tif ( hsla[ 3 ] === 1 ) {\n\t\t\thsla.pop();\n\t\t\tprefix = \"hsl(\";\n\t\t}\n\t\treturn prefix + hsla.join() + \")\";\n\t},\n\ttoHexString: function( includeAlpha ) {\n\t\tvar rgba = this._rgba.slice(),\n\t\t\talpha = rgba.pop();\n\n\t\tif ( includeAlpha ) {\n\t\t\trgba.push( ~~( alpha * 255 ) );\n\t\t}\n\n\t\treturn \"#\" + jQuery.map( rgba, function( v ) {\n\n\t\t\t// default to 0 when nulls exist\n\t\t\tv = ( v || 0 ).toString( 16 );\n\t\t\treturn v.length === 1 ? \"0\" + v : v;\n\t\t}).join(\"\");\n\t},\n\ttoString: function() {\n\t\treturn this._rgba[ 3 ] === 0 ? \"transparent\" : this.toRgbaString();\n\t}\n});\ncolor.fn.parse.prototype = color.fn;\n\n// hsla conversions adapted from:\n// https://code.google.com/p/maashaack/source/browse/packages/graphics/trunk/src/graphics/colors/HUE2RGB.as?r=5021\n\nfunction hue2rgb( p, q, h ) {\n\th = ( h + 1 ) % 1;\n\tif ( h * 6 < 1 ) {\n\t\treturn p + ( q - p ) * h * 6;\n\t}\n\tif ( h * 2 < 1) {\n\t\treturn q;\n\t}\n\tif ( h * 3 < 2 ) {\n\t\treturn p + ( q - p ) * ( ( 2 / 3 ) - h ) * 6;\n\t}\n\treturn p;\n}\n\nspaces.hsla.to = function( rgba ) {\n\tif ( rgba[ 0 ] == null || rgba[ 1 ] == null || rgba[ 2 ] == null ) {\n\t\treturn [ null, null, null, rgba[ 3 ] ];\n\t}\n\tvar r = rgba[ 0 ] / 255,\n\t\tg = rgba[ 1 ] / 255,\n\t\tb = rgba[ 2 ] / 255,\n\t\ta = rgba[ 3 ],\n\t\tmax = Math.max( r, g, b ),\n\t\tmin = Math.min( r, g, b ),\n\t\tdiff = max - min,\n\t\tadd = max + min,\n\t\tl = add * 0.5,\n\t\th, s;\n\n\tif ( min === max ) {\n\t\th = 0;\n\t} else if ( r === max ) {\n\t\th = ( 60 * ( g - b ) / diff ) + 360;\n\t} else if ( g === max ) {\n\t\th = ( 60 * ( b - r ) / diff ) + 120;\n\t} else {\n\t\th = ( 60 * ( r - g ) / diff ) + 240;\n\t}\n\n\t// chroma (diff) == 0 means greyscale which, by definition, saturation = 0%\n\t// otherwise, saturation is based on the ratio of chroma (diff) to lightness (add)\n\tif ( diff === 0 ) {\n\t\ts = 0;\n\t} else if ( l <= 0.5 ) {\n\t\ts = diff / add;\n\t} else {\n\t\ts = diff / ( 2 - add );\n\t}\n\treturn [ Math.round(h) % 360, s, l, a == null ? 1 : a ];\n};\n\nspaces.hsla.from = function( hsla ) {\n\tif ( hsla[ 0 ] == null || hsla[ 1 ] == null || hsla[ 2 ] == null ) {\n\t\treturn [ null, null, null, hsla[ 3 ] ];\n\t}\n\tvar h = hsla[ 0 ] / 360,\n\t\ts = hsla[ 1 ],\n\t\tl = hsla[ 2 ],\n\t\ta = hsla[ 3 ],\n\t\tq = l <= 0.5 ? l * ( 1 + s ) : l + s - l * s,\n\t\tp = 2 * l - q;\n\n\treturn [\n\t\tMath.round( hue2rgb( p, q, h + ( 1 / 3 ) ) * 255 ),\n\t\tMath.round( hue2rgb( p, q, h ) * 255 ),\n\t\tMath.round( hue2rgb( p, q, h - ( 1 / 3 ) ) * 255 ),\n\t\ta\n\t];\n};\n\neach( spaces, function( spaceName, space ) {\n\tvar props = space.props,\n\t\tcache = space.cache,\n\t\tto = space.to,\n\t\tfrom = space.from;\n\n\t// makes rgba() and hsla()\n\tcolor.fn[ spaceName ] = function( value ) {\n\n\t\t// generate a cache for this space if it doesn't exist\n\t\tif ( to && !this[ cache ] ) {\n\t\t\tthis[ cache ] = to( this._rgba );\n\t\t}\n\t\tif ( value === undefined ) {\n\t\t\treturn this[ cache ].slice();\n\t\t}\n\n\t\tvar ret,\n\t\t\ttype = jQuery.type( value ),\n\t\t\tarr = ( type === \"array\" || type === \"object\" ) ? value : arguments,\n\t\t\tlocal = this[ cache ].slice();\n\n\t\teach( props, function( key, prop ) {\n\t\t\tvar val = arr[ type === \"object\" ? key : prop.idx ];\n\t\t\tif ( val == null ) {\n\t\t\t\tval = local[ prop.idx ];\n\t\t\t}\n\t\t\tlocal[ prop.idx ] = clamp( val, prop );\n\t\t});\n\n\t\tif ( from ) {\n\t\t\tret = color( from( local ) );\n\t\t\tret[ cache ] = local;\n\t\t\treturn ret;\n\t\t} else {\n\t\t\treturn color( local );\n\t\t}\n\t};\n\n\t// makes red() green() blue() alpha() hue() saturation() lightness()\n\teach( props, function( key, prop ) {\n\t\t// alpha is included in more than one space\n\t\tif ( color.fn[ key ] ) {\n\t\t\treturn;\n\t\t}\n\t\tcolor.fn[ key ] = function( value ) {\n\t\t\tvar vtype = jQuery.type( value ),\n\t\t\t\tfn = ( key === \"alpha\" ? ( this._hsla ? \"hsla\" : \"rgba\" ) : spaceName ),\n\t\t\t\tlocal = this[ fn ](),\n\t\t\t\tcur = local[ prop.idx ],\n\t\t\t\tmatch;\n\n\t\t\tif ( vtype === \"undefined\" ) {\n\t\t\t\treturn cur;\n\t\t\t}\n\n\t\t\tif ( vtype === \"function\" ) {\n\t\t\t\tvalue = value.call( this, cur );\n\t\t\t\tvtype = jQuery.type( value );\n\t\t\t}\n\t\t\tif ( value == null && prop.empty ) {\n\t\t\t\treturn this;\n\t\t\t}\n\t\t\tif ( vtype === \"string\" ) {\n\t\t\t\tmatch = rplusequals.exec( value );\n\t\t\t\tif ( match ) {\n\t\t\t\t\tvalue = cur + parseFloat( match[ 2 ] ) * ( match[ 1 ] === \"+\" ? 1 : -1 );\n\t\t\t\t}\n\t\t\t}\n\t\t\tlocal[ prop.idx ] = value;\n\t\t\treturn this[ fn ]( local );\n\t\t};\n\t});\n});\n\n// add cssHook and .fx.step function for each named hook.\n// accept a space separated string of properties\ncolor.hook = function( hook ) {\n\tvar hooks = hook.split( \" \" );\n\teach( hooks, function( i, hook ) {\n\t\tjQuery.cssHooks[ hook ] = {\n\t\t\tset: function( elem, value ) {\n\t\t\t\tvar parsed, curElem,\n\t\t\t\t\tbackgroundColor = \"\";\n\n\t\t\t\tif ( value !== \"transparent\" && ( jQuery.type( value ) !== \"string\" || ( parsed = stringParse( value ) ) ) ) {\n\t\t\t\t\tvalue = color( parsed || value );\n\t\t\t\t\tif ( !support.rgba && value._rgba[ 3 ] !== 1 ) {\n\t\t\t\t\t\tcurElem = hook === \"backgroundColor\" ? elem.parentNode : elem;\n\t\t\t\t\t\twhile (\n\t\t\t\t\t\t\t(backgroundColor === \"\" || backgroundColor === \"transparent\") &&\n\t\t\t\t\t\t\tcurElem && curElem.style\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tbackgroundColor = jQuery.css( curElem, \"backgroundColor\" );\n\t\t\t\t\t\t\t\tcurElem = curElem.parentNode;\n\t\t\t\t\t\t\t} catch ( e ) {\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tvalue = value.blend( backgroundColor && backgroundColor !== \"transparent\" ?\n\t\t\t\t\t\t\tbackgroundColor :\n\t\t\t\t\t\t\t\"_default\" );\n\t\t\t\t\t}\n\n\t\t\t\t\tvalue = value.toRgbaString();\n\t\t\t\t}\n\t\t\t\ttry {\n\t\t\t\t\telem.style[ hook ] = value;\n\t\t\t\t} catch ( e ) {\n\t\t\t\t\t// wrapped to prevent IE from throwing errors on \"invalid\" values like 'auto' or 'inherit'\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tjQuery.fx.step[ hook ] = function( fx ) {\n\t\t\tif ( !fx.colorInit ) {\n\t\t\t\tfx.start = color( fx.elem, hook );\n\t\t\t\tfx.end = color( fx.end );\n\t\t\t\tfx.colorInit = true;\n\t\t\t}\n\t\t\tjQuery.cssHooks[ hook ].set( fx.elem, fx.start.transition( fx.end, fx.pos ) );\n\t\t};\n\t});\n\n};\n\ncolor.hook( stepHooks );\n\njQuery.cssHooks.borderColor = {\n\texpand: function( value ) {\n\t\tvar expanded = {};\n\n\t\teach( [ \"Top\", \"Right\", \"Bottom\", \"Left\" ], function( i, part ) {\n\t\t\texpanded[ \"border\" + part + \"Color\" ] = value;\n\t\t});\n\t\treturn expanded;\n\t}\n};\n\n// Basic color names only.\n// Usage of any of the other color names requires adding yourself or including\n// jquery.color.svg-names.js.\ncolors = jQuery.Color.names = {\n\t// 4.1. Basic color keywords\n\taqua: \"#00ffff\",\n\tblack: \"#000000\",\n\tblue: \"#0000ff\",\n\tfuchsia: \"#ff00ff\",\n\tgray: \"#808080\",\n\tgreen: \"#008000\",\n\tlime: \"#00ff00\",\n\tmaroon: \"#800000\",\n\tnavy: \"#000080\",\n\tolive: \"#808000\",\n\tpurple: \"#800080\",\n\tred: \"#ff0000\",\n\tsilver: \"#c0c0c0\",\n\tteal: \"#008080\",\n\twhite: \"#ffffff\",\n\tyellow: \"#ffff00\",\n\n\t// 4.2.3. \"transparent\" color keyword\n\ttransparent: [ null, null, null, 0 ],\n\n\t_default: \"#ffffff\"\n};\n\n})( jQuery );\n\n/******************************************************************************/\n/****************************** CLASS ANIMATIONS ******************************/\n/******************************************************************************/\n(function() {\n\nvar classAnimationActions = [ \"add\", \"remove\", \"toggle\" ],\n\tshorthandStyles = {\n\t\tborder: 1,\n\t\tborderBottom: 1,\n\t\tborderColor: 1,\n\t\tborderLeft: 1,\n\t\tborderRight: 1,\n\t\tborderTop: 1,\n\t\tborderWidth: 1,\n\t\tmargin: 1,\n\t\tpadding: 1\n\t};\n\n$.each([ \"borderLeftStyle\", \"borderRightStyle\", \"borderBottomStyle\", \"borderTopStyle\" ], function( _, prop ) {\n\t$.fx.step[ prop ] = function( fx ) {\n\t\tif ( fx.end !== \"none\" && !fx.setAttr || fx.pos === 1 && !fx.setAttr ) {\n\t\t\tjQuery.style( fx.elem, prop, fx.end );\n\t\t\tfx.setAttr = true;\n\t\t}\n\t};\n});\n\nfunction getElementStyles( elem ) {\n\tvar key, len,\n\t\tstyle = elem.ownerDocument.defaultView ?\n\t\t\telem.ownerDocument.defaultView.getComputedStyle( elem, null ) :\n\t\t\telem.currentStyle,\n\t\tstyles = {};\n\n\tif ( style && style.length && style[ 0 ] && style[ style[ 0 ] ] ) {\n\t\tlen = style.length;\n\t\twhile ( len-- ) {\n\t\t\tkey = style[ len ];\n\t\t\tif ( typeof style[ key ] === \"string\" ) {\n\t\t\t\tstyles[ $.camelCase( key ) ] = style[ key ];\n\t\t\t}\n\t\t}\n\t// support: Opera, IE <9\n\t} else {\n\t\tfor ( key in style ) {\n\t\t\tif ( typeof style[ key ] === \"string\" ) {\n\t\t\t\tstyles[ key ] = style[ key ];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn styles;\n}\n\nfunction styleDifference( oldStyle, newStyle ) {\n\tvar diff = {},\n\t\tname, value;\n\n\tfor ( name in newStyle ) {\n\t\tvalue = newStyle[ name ];\n\t\tif ( oldStyle[ name ] !== value ) {\n\t\t\tif ( !shorthandStyles[ name ] ) {\n\t\t\t\tif ( $.fx.step[ name ] || !isNaN( parseFloat( value ) ) ) {\n\t\t\t\t\tdiff[ name ] = value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn diff;\n}\n\n// support: jQuery <1.8\nif ( !$.fn.addBack ) {\n\t$.fn.addBack = function( selector ) {\n\t\treturn this.add( selector == null ?\n\t\t\tthis.prevObject : this.prevObject.filter( selector )\n\t\t);\n\t};\n}\n\n$.effects.animateClass = function( value, duration, easing, callback ) {\n\tvar o = $.speed( duration, easing, callback );\n\n\treturn this.queue( function() {\n\t\tvar animated = $( this ),\n\t\t\tbaseClass = animated.attr( \"class\" ) || \"\",\n\t\t\tapplyClassChange,\n\t\t\tallAnimations = o.children ? animated.find( \"*\" ).addBack() : animated;\n\n\t\t// map the animated objects to store the original styles.\n\t\tallAnimations = allAnimations.map(function() {\n\t\t\tvar el = $( this );\n\t\t\treturn {\n\t\t\t\tel: el,\n\t\t\t\tstart: getElementStyles( this )\n\t\t\t};\n\t\t});\n\n\t\t// apply class change\n\t\tapplyClassChange = function() {\n\t\t\t$.each( classAnimationActions, function(i, action) {\n\t\t\t\tif ( value[ action ] ) {\n\t\t\t\t\tanimated[ action + \"Class\" ]( value[ action ] );\n\t\t\t\t}\n\t\t\t});\n\t\t};\n\t\tapplyClassChange();\n\n\t\t// map all animated objects again - calculate new styles and diff\n\t\tallAnimations = allAnimations.map(function() {\n\t\t\tthis.end = getElementStyles( this.el[ 0 ] );\n\t\t\tthis.diff = styleDifference( this.start, this.end );\n\t\t\treturn this;\n\t\t});\n\n\t\t// apply original class\n\t\tanimated.attr( \"class\", baseClass );\n\n\t\t// map all animated objects again - this time collecting a promise\n\t\tallAnimations = allAnimations.map(function() {\n\t\t\tvar styleInfo = this,\n\t\t\t\tdfd = $.Deferred(),\n\t\t\t\topts = $.extend({}, o, {\n\t\t\t\t\tqueue: false,\n\t\t\t\t\tcomplete: function() {\n\t\t\t\t\t\tdfd.resolve( styleInfo );\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\tthis.el.animate( this.diff, opts );\n\t\t\treturn dfd.promise();\n\t\t});\n\n\t\t// once all animations have completed:\n\t\t$.when.apply( $, allAnimations.get() ).done(function() {\n\n\t\t\t// set the final class\n\t\t\tapplyClassChange();\n\n\t\t\t// for each animated element,\n\t\t\t// clear all css properties that were animated\n\t\t\t$.each( arguments, function() {\n\t\t\t\tvar el = this.el;\n\t\t\t\t$.each( this.diff, function(key) {\n\t\t\t\t\tel.css( key, \"\" );\n\t\t\t\t});\n\t\t\t});\n\n\t\t\t// this is guarnteed to be there if you use jQuery.speed()\n\t\t\t// it also handles dequeuing the next anim...\n\t\t\to.complete.call( animated[ 0 ] );\n\t\t});\n\t});\n};\n\n$.fn.extend({\n\taddClass: (function( orig ) {\n\t\treturn function( classNames, speed, easing, callback ) {\n\t\t\treturn speed ?\n\t\t\t\t$.effects.animateClass.call( this,\n\t\t\t\t\t{ add: classNames }, speed, easing, callback ) :\n\t\t\t\torig.apply( this, arguments );\n\t\t};\n\t})( $.fn.addClass ),\n\n\tremoveClass: (function( orig ) {\n\t\treturn function( classNames, speed, easing, callback ) {\n\t\t\treturn arguments.length > 1 ?\n\t\t\t\t$.effects.animateClass.call( this,\n\t\t\t\t\t{ remove: classNames }, speed, easing, callback ) :\n\t\t\t\torig.apply( this, arguments );\n\t\t};\n\t})( $.fn.removeClass ),\n\n\ttoggleClass: (function( orig ) {\n\t\treturn function( classNames, force, speed, easing, callback ) {\n\t\t\tif ( typeof force === \"boolean\" || force === undefined ) {\n\t\t\t\tif ( !speed ) {\n\t\t\t\t\t// without speed parameter\n\t\t\t\t\treturn orig.apply( this, arguments );\n\t\t\t\t} else {\n\t\t\t\t\treturn $.effects.animateClass.call( this,\n\t\t\t\t\t\t(force ? { add: classNames } : { remove: classNames }),\n\t\t\t\t\t\tspeed, easing, callback );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// without force parameter\n\t\t\t\treturn $.effects.animateClass.call( this,\n\t\t\t\t\t{ toggle: classNames }, force, speed, easing );\n\t\t\t}\n\t\t};\n\t})( $.fn.toggleClass ),\n\n\tswitchClass: function( remove, add, speed, easing, callback) {\n\t\treturn $.effects.animateClass.call( this, {\n\t\t\tadd: add,\n\t\t\tremove: remove\n\t\t}, speed, easing, callback );\n\t}\n});\n\n})();\n\n/******************************************************************************/\n/*********************************** EFFECTS **********************************/\n/******************************************************************************/\n\n(function() {\n\n$.extend( $.effects, {\n\tversion: \"1.11.4\",\n\n\t// Saves a set of properties in a data storage\n\tsave: function( element, set ) {\n\t\tfor ( var i = 0; i < set.length; i++ ) {\n\t\t\tif ( set[ i ] !== null ) {\n\t\t\t\telement.data( dataSpace + set[ i ], element[ 0 ].style[ set[ i ] ] );\n\t\t\t}\n\t\t}\n\t},\n\n\t// Restores a set of previously saved properties from a data storage\n\trestore: function( element, set ) {\n\t\tvar val, i;\n\t\tfor ( i = 0; i < set.length; i++ ) {\n\t\t\tif ( set[ i ] !== null ) {\n\t\t\t\tval = element.data( dataSpace + set[ i ] );\n\t\t\t\t// support: jQuery 1.6.2\n\t\t\t\t// http://bugs.jquery.com/ticket/9917\n\t\t\t\t// jQuery 1.6.2 incorrectly returns undefined for any falsy value.\n\t\t\t\t// We can't differentiate between \"\" and 0 here, so we just assume\n\t\t\t\t// empty string since it's likely to be a more common value...\n\t\t\t\tif ( val === undefined ) {\n\t\t\t\t\tval = \"\";\n\t\t\t\t}\n\t\t\t\telement.css( set[ i ], val );\n\t\t\t}\n\t\t}\n\t},\n\n\tsetMode: function( el, mode ) {\n\t\tif (mode === \"toggle\") {\n\t\t\tmode = el.is( \":hidden\" ) ? \"show\" : \"hide\";\n\t\t}\n\t\treturn mode;\n\t},\n\n\t// Translates a [top,left] array into a baseline value\n\t// this should be a little more flexible in the future to handle a string & hash\n\tgetBaseline: function( origin, original ) {\n\t\tvar y, x;\n\t\tswitch ( origin[ 0 ] ) {\n\t\t\tcase \"top\": y = 0; break;\n\t\t\tcase \"middle\": y = 0.5; break;\n\t\t\tcase \"bottom\": y = 1; break;\n\t\t\tdefault: y = origin[ 0 ] / original.height;\n\t\t}\n\t\tswitch ( origin[ 1 ] ) {\n\t\t\tcase \"left\": x = 0; break;\n\t\t\tcase \"center\": x = 0.5; break;\n\t\t\tcase \"right\": x = 1; break;\n\t\t\tdefault: x = origin[ 1 ] / original.width;\n\t\t}\n\t\treturn {\n\t\t\tx: x,\n\t\t\ty: y\n\t\t};\n\t},\n\n\t// Wraps the element around a wrapper that copies position properties\n\tcreateWrapper: function( element ) {\n\n\t\t// if the element is already wrapped, return it\n\t\tif ( element.parent().is( \".ui-effects-wrapper\" )) {\n\t\t\treturn element.parent();\n\t\t}\n\n\t\t// wrap the element\n\t\tvar props = {\n\t\t\t\twidth: element.outerWidth(true),\n\t\t\t\theight: element.outerHeight(true),\n\t\t\t\t\"float\": element.css( \"float\" )\n\t\t\t},\n\t\t\twrapper = $( \"<div></div>\" )\n\t\t\t\t.addClass( \"ui-effects-wrapper\" )\n\t\t\t\t.css({\n\t\t\t\t\tfontSize: \"100%\",\n\t\t\t\t\tbackground: \"transparent\",\n\t\t\t\t\tborder: \"none\",\n\t\t\t\t\tmargin: 0,\n\t\t\t\t\tpadding: 0\n\t\t\t\t}),\n\t\t\t// Store the size in case width/height are defined in % - Fixes #5245\n\t\t\tsize = {\n\t\t\t\twidth: element.width(),\n\t\t\t\theight: element.height()\n\t\t\t},\n\t\t\tactive = document.activeElement;\n\n\t\t// support: Firefox\n\t\t// Firefox incorrectly exposes anonymous content\n\t\t// https://bugzilla.mozilla.org/show_bug.cgi?id=561664\n\t\ttry {\n\t\t\tactive.id;\n\t\t} catch ( e ) {\n\t\t\tactive = document.body;\n\t\t}\n\n\t\telement.wrap( wrapper );\n\n\t\t// Fixes #7595 - Elements lose focus when wrapped.\n\t\tif ( element[ 0 ] === active || $.contains( element[ 0 ], active ) ) {\n\t\t\t$( active ).focus();\n\t\t}\n\n\t\twrapper = element.parent(); //Hotfix for jQuery 1.4 since some change in wrap() seems to actually lose the reference to the wrapped element\n\n\t\t// transfer positioning properties to the wrapper\n\t\tif ( element.css( \"position\" ) === \"static\" ) {\n\t\t\twrapper.css({ position: \"relative\" });\n\t\t\telement.css({ position: \"relative\" });\n\t\t} else {\n\t\t\t$.extend( props, {\n\t\t\t\tposition: element.css( \"position\" ),\n\t\t\t\tzIndex: element.css( \"z-index\" )\n\t\t\t});\n\t\t\t$.each([ \"top\", \"left\", \"bottom\", \"right\" ], function(i, pos) {\n\t\t\t\tprops[ pos ] = element.css( pos );\n\t\t\t\tif ( isNaN( parseInt( props[ pos ], 10 ) ) ) {\n\t\t\t\t\tprops[ pos ] = \"auto\";\n\t\t\t\t}\n\t\t\t});\n\t\t\telement.css({\n\t\t\t\tposition: \"relative\",\n\t\t\t\ttop: 0,\n\t\t\t\tleft: 0,\n\t\t\t\tright: \"auto\",\n\t\t\t\tbottom: \"auto\"\n\t\t\t});\n\t\t}\n\t\telement.css(size);\n\n\t\treturn wrapper.css( props ).show();\n\t},\n\n\tremoveWrapper: function( element ) {\n\t\tvar active = document.activeElement;\n\n\t\tif ( element.parent().is( \".ui-effects-wrapper\" ) ) {\n\t\t\telement.parent().replaceWith( element );\n\n\t\t\t// Fixes #7595 - Elements lose focus when wrapped.\n\t\t\tif ( element[ 0 ] === active || $.contains( element[ 0 ], active ) ) {\n\t\t\t\t$( active ).focus();\n\t\t\t}\n\t\t}\n\n\t\treturn element;\n\t},\n\n\tsetTransition: function( element, list, factor, value ) {\n\t\tvalue = value || {};\n\t\t$.each( list, function( i, x ) {\n\t\t\tvar unit = element.cssUnit( x );\n\t\t\tif ( unit[ 0 ] > 0 ) {\n\t\t\t\tvalue[ x ] = unit[ 0 ] * factor + unit[ 1 ];\n\t\t\t}\n\t\t});\n\t\treturn value;\n\t}\n});\n\n// return an effect options object for the given parameters:\nfunction _normalizeArguments( effect, options, speed, callback ) {\n\n\t// allow passing all options as the first parameter\n\tif ( $.isPlainObject( effect ) ) {\n\t\toptions = effect;\n\t\teffect = effect.effect;\n\t}\n\n\t// convert to an object\n\teffect = { effect: effect };\n\n\t// catch (effect, null, ...)\n\tif ( options == null ) {\n\t\toptions = {};\n\t}\n\n\t// catch (effect, callback)\n\tif ( $.isFunction( options ) ) {\n\t\tcallback = options;\n\t\tspeed = null;\n\t\toptions = {};\n\t}\n\n\t// catch (effect, speed, ?)\n\tif ( typeof options === \"number\" || $.fx.speeds[ options ] ) {\n\t\tcallback = speed;\n\t\tspeed = options;\n\t\toptions = {};\n\t}\n\n\t// catch (effect, options, callback)\n\tif ( $.isFunction( speed ) ) {\n\t\tcallback = speed;\n\t\tspeed = null;\n\t}\n\n\t// add options to effect\n\tif ( options ) {\n\t\t$.extend( effect, options );\n\t}\n\n\tspeed = speed || options.duration;\n\teffect.duration = $.fx.off ? 0 :\n\t\ttypeof speed === \"number\" ? speed :\n\t\tspeed in $.fx.speeds ? $.fx.speeds[ speed ] :\n\t\t$.fx.speeds._default;\n\n\teffect.complete = callback || options.complete;\n\n\treturn effect;\n}\n\nfunction standardAnimationOption( option ) {\n\t// Valid standard speeds (nothing, number, named speed)\n\tif ( !option || typeof option === \"number\" || $.fx.speeds[ option ] ) {\n\t\treturn true;\n\t}\n\n\t// Invalid strings - treat as \"normal\" speed\n\tif ( typeof option === \"string\" && !$.effects.effect[ option ] ) {\n\t\treturn true;\n\t}\n\n\t// Complete callback\n\tif ( $.isFunction( option ) ) {\n\t\treturn true;\n\t}\n\n\t// Options hash (but not naming an effect)\n\tif ( typeof option === \"object\" && !option.effect ) {\n\t\treturn true;\n\t}\n\n\t// Didn't match any standard API\n\treturn false;\n}\n\n$.fn.extend({\n\teffect: function( /* effect, options, speed, callback */ ) {\n\t\tvar args = _normalizeArguments.apply( this, arguments ),\n\t\t\tmode = args.mode,\n\t\t\tqueue = args.queue,\n\t\t\teffectMethod = $.effects.effect[ args.effect ];\n\n\t\tif ( $.fx.off || !effectMethod ) {\n\t\t\t// delegate to the original method (e.g., .show()) if possible\n\t\t\tif ( mode ) {\n\t\t\t\treturn this[ mode ]( args.duration, args.complete );\n\t\t\t} else {\n\t\t\t\treturn this.each( function() {\n\t\t\t\t\tif ( args.complete ) {\n\t\t\t\t\t\targs.complete.call( this );\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tfunction run( next ) {\n\t\t\tvar elem = $( this ),\n\t\t\t\tcomplete = args.complete,\n\t\t\t\tmode = args.mode;\n\n\t\t\tfunction done() {\n\t\t\t\tif ( $.isFunction( complete ) ) {\n\t\t\t\t\tcomplete.call( elem[0] );\n\t\t\t\t}\n\t\t\t\tif ( $.isFunction( next ) ) {\n\t\t\t\t\tnext();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// If the element already has the correct final state, delegate to\n\t\t\t// the core methods so the internal tracking of \"olddisplay\" works.\n\t\t\tif ( elem.is( \":hidden\" ) ? mode === \"hide\" : mode === \"show\" ) {\n\t\t\t\telem[ mode ]();\n\t\t\t\tdone();\n\t\t\t} else {\n\t\t\t\teffectMethod.call( elem[0], args, done );\n\t\t\t}\n\t\t}\n\n\t\treturn queue === false ? this.each( run ) : this.queue( queue || \"fx\", run );\n\t},\n\n\tshow: (function( orig ) {\n\t\treturn function( option ) {\n\t\t\tif ( standardAnimationOption( option ) ) {\n\t\t\t\treturn orig.apply( this, arguments );\n\t\t\t} else {\n\t\t\t\tvar args = _normalizeArguments.apply( this, arguments );\n\t\t\t\targs.mode = \"show\";\n\t\t\t\treturn this.effect.call( this, args );\n\t\t\t}\n\t\t};\n\t})( $.fn.show ),\n\n\thide: (function( orig ) {\n\t\treturn function( option ) {\n\t\t\tif ( standardAnimationOption( option ) ) {\n\t\t\t\treturn orig.apply( this, arguments );\n\t\t\t} else {\n\t\t\t\tvar args = _normalizeArguments.apply( this, arguments );\n\t\t\t\targs.mode = \"hide\";\n\t\t\t\treturn this.effect.call( this, args );\n\t\t\t}\n\t\t};\n\t})( $.fn.hide ),\n\n\ttoggle: (function( orig ) {\n\t\treturn function( option ) {\n\t\t\tif ( standardAnimationOption( option ) || typeof option === \"boolean\" ) {\n\t\t\t\treturn orig.apply( this, arguments );\n\t\t\t} else {\n\t\t\t\tvar args = _normalizeArguments.apply( this, arguments );\n\t\t\t\targs.mode = \"toggle\";\n\t\t\t\treturn this.effect.call( this, args );\n\t\t\t}\n\t\t};\n\t})( $.fn.toggle ),\n\n\t// helper functions\n\tcssUnit: function(key) {\n\t\tvar style = this.css( key ),\n\t\t\tval = [];\n\n\t\t$.each( [ \"em\", \"px\", \"%\", \"pt\" ], function( i, unit ) {\n\t\t\tif ( style.indexOf( unit ) > 0 ) {\n\t\t\t\tval = [ parseFloat( style ), unit ];\n\t\t\t}\n\t\t});\n\t\treturn val;\n\t}\n});\n\n})();\n\n/******************************************************************************/\n/*********************************** EASING ***********************************/\n/******************************************************************************/\n\n(function() {\n\n// based on easing equations from Robert Penner (http://www.robertpenner.com/easing)\n\nvar baseEasings = {};\n\n$.each( [ \"Quad\", \"Cubic\", \"Quart\", \"Quint\", \"Expo\" ], function( i, name ) {\n\tbaseEasings[ name ] = function( p ) {\n\t\treturn Math.pow( p, i + 2 );\n\t};\n});\n\n$.extend( baseEasings, {\n\tSine: function( p ) {\n\t\treturn 1 - Math.cos( p * Math.PI / 2 );\n\t},\n\tCirc: function( p ) {\n\t\treturn 1 - Math.sqrt( 1 - p * p );\n\t},\n\tElastic: function( p ) {\n\t\treturn p === 0 || p === 1 ? p :\n\t\t\t-Math.pow( 2, 8 * (p - 1) ) * Math.sin( ( (p - 1) * 80 - 7.5 ) * Math.PI / 15 );\n\t},\n\tBack: function( p ) {\n\t\treturn p * p * ( 3 * p - 2 );\n\t},\n\tBounce: function( p ) {\n\t\tvar pow2,\n\t\t\tbounce = 4;\n\n\t\twhile ( p < ( ( pow2 = Math.pow( 2, --bounce ) ) - 1 ) / 11 ) {}\n\t\treturn 1 / Math.pow( 4, 3 - bounce ) - 7.5625 * Math.pow( ( pow2 * 3 - 2 ) / 22 - p, 2 );\n\t}\n});\n\n$.each( baseEasings, function( name, easeIn ) {\n\t$.easing[ \"easeIn\" + name ] = easeIn;\n\t$.easing[ \"easeOut\" + name ] = function( p ) {\n\t\treturn 1 - easeIn( 1 - p );\n\t};\n\t$.easing[ \"easeInOut\" + name ] = function( p ) {\n\t\treturn p < 0.5 ?\n\t\t\teaseIn( p * 2 ) / 2 :\n\t\t\t1 - easeIn( p * -2 + 2 ) / 2;\n\t};\n});\n\n})();\n\nvar effect = $.effects;\n\n\n/*!\n * jQuery UI Effects Blind 1.11.4\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/blind-effect/\n */\n\n\nvar effectBlind = $.effects.effect.blind = function( o, done ) {\n\t// Create element\n\tvar el = $( this ),\n\t\trvertical = /up|down|vertical/,\n\t\trpositivemotion = /up|left|vertical|horizontal/,\n\t\tprops = [ \"position\", \"top\", \"bottom\", \"left\", \"right\", \"height\", \"width\" ],\n\t\tmode = $.effects.setMode( el, o.mode || \"hide\" ),\n\t\tdirection = o.direction || \"up\",\n\t\tvertical = rvertical.test( direction ),\n\t\tref = vertical ? \"height\" : \"width\",\n\t\tref2 = vertical ? \"top\" : \"left\",\n\t\tmotion = rpositivemotion.test( direction ),\n\t\tanimation = {},\n\t\tshow = mode === \"show\",\n\t\twrapper, distance, margin;\n\n\t// if already wrapped, the wrapper's properties are my property. #6245\n\tif ( el.parent().is( \".ui-effects-wrapper\" ) ) {\n\t\t$.effects.save( el.parent(), props );\n\t} else {\n\t\t$.effects.save( el, props );\n\t}\n\tel.show();\n\twrapper = $.effects.createWrapper( el ).css({\n\t\toverflow: \"hidden\"\n\t});\n\n\tdistance = wrapper[ ref ]();\n\tmargin = parseFloat( wrapper.css( ref2 ) ) || 0;\n\n\tanimation[ ref ] = show ? distance : 0;\n\tif ( !motion ) {\n\t\tel\n\t\t\t.css( vertical ? \"bottom\" : \"right\", 0 )\n\t\t\t.css( vertical ? \"top\" : \"left\", \"auto\" )\n\t\t\t.css({ position: \"absolute\" });\n\n\t\tanimation[ ref2 ] = show ? margin : distance + margin;\n\t}\n\n\t// start at 0 if we are showing\n\tif ( show ) {\n\t\twrapper.css( ref, 0 );\n\t\tif ( !motion ) {\n\t\t\twrapper.css( ref2, margin + distance );\n\t\t}\n\t}\n\n\t// Animate\n\twrapper.animate( animation, {\n\t\tduration: o.duration,\n\t\teasing: o.easing,\n\t\tqueue: false,\n\t\tcomplete: function() {\n\t\t\tif ( mode === \"hide\" ) {\n\t\t\t\tel.hide();\n\t\t\t}\n\t\t\t$.effects.restore( el, props );\n\t\t\t$.effects.removeWrapper( el );\n\t\t\tdone();\n\t\t}\n\t});\n};\n\n\n/*!\n * jQuery UI Effects Bounce 1.11.4\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/bounce-effect/\n */\n\n\nvar effectBounce = $.effects.effect.bounce = function( o, done ) {\n\tvar el = $( this ),\n\t\tprops = [ \"position\", \"top\", \"bottom\", \"left\", \"right\", \"height\", \"width\" ],\n\n\t\t// defaults:\n\t\tmode = $.effects.setMode( el, o.mode || \"effect\" ),\n\t\thide = mode === \"hide\",\n\t\tshow = mode === \"show\",\n\t\tdirection = o.direction || \"up\",\n\t\tdistance = o.distance,\n\t\ttimes = o.times || 5,\n\n\t\t// number of internal animations\n\t\tanims = times * 2 + ( show || hide ? 1 : 0 ),\n\t\tspeed = o.duration / anims,\n\t\teasing = o.easing,\n\n\t\t// utility:\n\t\tref = ( direction === \"up\" || direction === \"down\" ) ? \"top\" : \"left\",\n\t\tmotion = ( direction === \"up\" || direction === \"left\" ),\n\t\ti,\n\t\tupAnim,\n\t\tdownAnim,\n\n\t\t// we will need to re-assemble the queue to stack our animations in place\n\t\tqueue = el.queue(),\n\t\tqueuelen = queue.length;\n\n\t// Avoid touching opacity to prevent clearType and PNG issues in IE\n\tif ( show || hide ) {\n\t\tprops.push( \"opacity\" );\n\t}\n\n\t$.effects.save( el, props );\n\tel.show();\n\t$.effects.createWrapper( el ); // Create Wrapper\n\n\t// default distance for the BIGGEST bounce is the outer Distance / 3\n\tif ( !distance ) {\n\t\tdistance = el[ ref === \"top\" ? \"outerHeight\" : \"outerWidth\" ]() / 3;\n\t}\n\n\tif ( show ) {\n\t\tdownAnim = { opacity: 1 };\n\t\tdownAnim[ ref ] = 0;\n\n\t\t// if we are showing, force opacity 0 and set the initial position\n\t\t// then do the \"first\" animation\n\t\tel.css( \"opacity\", 0 )\n\t\t\t.css( ref, motion ? -distance * 2 : distance * 2 )\n\t\t\t.animate( downAnim, speed, easing );\n\t}\n\n\t// start at the smallest distance if we are hiding\n\tif ( hide ) {\n\t\tdistance = distance / Math.pow( 2, times - 1 );\n\t}\n\n\tdownAnim = {};\n\tdownAnim[ ref ] = 0;\n\t// Bounces up/down/left/right then back to 0 -- times * 2 animations happen here\n\tfor ( i = 0; i < times; i++ ) {\n\t\tupAnim = {};\n\t\tupAnim[ ref ] = ( motion ? \"-=\" : \"+=\" ) + distance;\n\n\t\tel.animate( upAnim, speed, easing )\n\t\t\t.animate( downAnim, speed, easing );\n\n\t\tdistance = hide ? distance * 2 : distance / 2;\n\t}\n\n\t// Last Bounce when Hiding\n\tif ( hide ) {\n\t\tupAnim = { opacity: 0 };\n\t\tupAnim[ ref ] = ( motion ? \"-=\" : \"+=\" ) + distance;\n\n\t\tel.animate( upAnim, speed, easing );\n\t}\n\n\tel.queue(function() {\n\t\tif ( hide ) {\n\t\t\tel.hide();\n\t\t}\n\t\t$.effects.restore( el, props );\n\t\t$.effects.removeWrapper( el );\n\t\tdone();\n\t});\n\n\t// inject all the animations we just queued to be first in line (after \"inprogress\")\n\tif ( queuelen > 1) {\n\t\tqueue.splice.apply( queue,\n\t\t\t[ 1, 0 ].concat( queue.splice( queuelen, anims + 1 ) ) );\n\t}\n\tel.dequeue();\n\n};\n\n\n/*!\n * jQuery UI Effects Clip 1.11.4\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/clip-effect/\n */\n\n\nvar effectClip = $.effects.effect.clip = function( o, done ) {\n\t// Create element\n\tvar el = $( this ),\n\t\tprops = [ \"position\", \"top\", \"bottom\", \"left\", \"right\", \"height\", \"width\" ],\n\t\tmode = $.effects.setMode( el, o.mode || \"hide\" ),\n\t\tshow = mode === \"show\",\n\t\tdirection = o.direction || \"vertical\",\n\t\tvert = direction === \"vertical\",\n\t\tsize = vert ? \"height\" : \"width\",\n\t\tposition = vert ? \"top\" : \"left\",\n\t\tanimation = {},\n\t\twrapper, animate, distance;\n\n\t// Save & Show\n\t$.effects.save( el, props );\n\tel.show();\n\n\t// Create Wrapper\n\twrapper = $.effects.createWrapper( el ).css({\n\t\toverflow: \"hidden\"\n\t});\n\tanimate = ( el[0].tagName === \"IMG\" ) ? wrapper : el;\n\tdistance = animate[ size ]();\n\n\t// Shift\n\tif ( show ) {\n\t\tanimate.css( size, 0 );\n\t\tanimate.css( position, distance / 2 );\n\t}\n\n\t// Create Animation Object:\n\tanimation[ size ] = show ? distance : 0;\n\tanimation[ position ] = show ? 0 : distance / 2;\n\n\t// Animate\n\tanimate.animate( animation, {\n\t\tqueue: false,\n\t\tduration: o.duration,\n\t\teasing: o.easing,\n\t\tcomplete: function() {\n\t\t\tif ( !show ) {\n\t\t\t\tel.hide();\n\t\t\t}\n\t\t\t$.effects.restore( el, props );\n\t\t\t$.effects.removeWrapper( el );\n\t\t\tdone();\n\t\t}\n\t});\n\n};\n\n\n/*!\n * jQuery UI Effects Drop 1.11.4\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/drop-effect/\n */\n\n\nvar effectDrop = $.effects.effect.drop = function( o, done ) {\n\n\tvar el = $( this ),\n\t\tprops = [ \"position\", \"top\", \"bottom\", \"left\", \"right\", \"opacity\", \"height\", \"width\" ],\n\t\tmode = $.effects.setMode( el, o.mode || \"hide\" ),\n\t\tshow = mode === \"show\",\n\t\tdirection = o.direction || \"left\",\n\t\tref = ( direction === \"up\" || direction === \"down\" ) ? \"top\" : \"left\",\n\t\tmotion = ( direction === \"up\" || direction === \"left\" ) ? \"pos\" : \"neg\",\n\t\tanimation = {\n\t\t\topacity: show ? 1 : 0\n\t\t},\n\t\tdistance;\n\n\t// Adjust\n\t$.effects.save( el, props );\n\tel.show();\n\t$.effects.createWrapper( el );\n\n\tdistance = o.distance || el[ ref === \"top\" ? \"outerHeight\" : \"outerWidth\" ]( true ) / 2;\n\n\tif ( show ) {\n\t\tel\n\t\t\t.css( \"opacity\", 0 )\n\t\t\t.css( ref, motion === \"pos\" ? -distance : distance );\n\t}\n\n\t// Animation\n\tanimation[ ref ] = ( show ?\n\t\t( motion === \"pos\" ? \"+=\" : \"-=\" ) :\n\t\t( motion === \"pos\" ? \"-=\" : \"+=\" ) ) +\n\t\tdistance;\n\n\t// Animate\n\tel.animate( animation, {\n\t\tqueue: false,\n\t\tduration: o.duration,\n\t\teasing: o.easing,\n\t\tcomplete: function() {\n\t\t\tif ( mode === \"hide\" ) {\n\t\t\t\tel.hide();\n\t\t\t}\n\t\t\t$.effects.restore( el, props );\n\t\t\t$.effects.removeWrapper( el );\n\t\t\tdone();\n\t\t}\n\t});\n};\n\n\n/*!\n * jQuery UI Effects Explode 1.11.4\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/explode-effect/\n */\n\n\nvar effectExplode = $.effects.effect.explode = function( o, done ) {\n\n\tvar rows = o.pieces ? Math.round( Math.sqrt( o.pieces ) ) : 3,\n\t\tcells = rows,\n\t\tel = $( this ),\n\t\tmode = $.effects.setMode( el, o.mode || \"hide\" ),\n\t\tshow = mode === \"show\",\n\n\t\t// show and then visibility:hidden the element before calculating offset\n\t\toffset = el.show().css( \"visibility\", \"hidden\" ).offset(),\n\n\t\t// width and height of a piece\n\t\twidth = Math.ceil( el.outerWidth() / cells ),\n\t\theight = Math.ceil( el.outerHeight() / rows ),\n\t\tpieces = [],\n\n\t\t// loop\n\t\ti, j, left, top, mx, my;\n\n\t// children animate complete:\n\tfunction childComplete() {\n\t\tpieces.push( this );\n\t\tif ( pieces.length === rows * cells ) {\n\t\t\tanimComplete();\n\t\t}\n\t}\n\n\t// clone the element for each row and cell.\n\tfor ( i = 0; i < rows ; i++ ) { // ===>\n\t\ttop = offset.top + i * height;\n\t\tmy = i - ( rows - 1 ) / 2 ;\n\n\t\tfor ( j = 0; j < cells ; j++ ) { // |||\n\t\t\tleft = offset.left + j * width;\n\t\t\tmx = j - ( cells - 1 ) / 2 ;\n\n\t\t\t// Create a clone of the now hidden main element that will be absolute positioned\n\t\t\t// within a wrapper div off the -left and -top equal to size of our pieces\n\t\t\tel\n\t\t\t\t.clone()\n\t\t\t\t.appendTo( \"body\" )\n\t\t\t\t.wrap( \"<div></div>\" )\n\t\t\t\t.css({\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\tvisibility: \"visible\",\n\t\t\t\t\tleft: -j * width,\n\t\t\t\t\ttop: -i * height\n\t\t\t\t})\n\n\t\t\t// select the wrapper - make it overflow: hidden and absolute positioned based on\n\t\t\t// where the original was located +left and +top equal to the size of pieces\n\t\t\t\t.parent()\n\t\t\t\t.addClass( \"ui-effects-explode\" )\n\t\t\t\t.css({\n\t\t\t\t\tposition: \"absolute\",\n\t\t\t\t\toverflow: \"hidden\",\n\t\t\t\t\twidth: width,\n\t\t\t\t\theight: height,\n\t\t\t\t\tleft: left + ( show ? mx * width : 0 ),\n\t\t\t\t\ttop: top + ( show ? my * height : 0 ),\n\t\t\t\t\topacity: show ? 0 : 1\n\t\t\t\t}).animate({\n\t\t\t\t\tleft: left + ( show ? 0 : mx * width ),\n\t\t\t\t\ttop: top + ( show ? 0 : my * height ),\n\t\t\t\t\topacity: show ? 1 : 0\n\t\t\t\t}, o.duration || 500, o.easing, childComplete );\n\t\t}\n\t}\n\n\tfunction animComplete() {\n\t\tel.css({\n\t\t\tvisibility: \"visible\"\n\t\t});\n\t\t$( pieces ).remove();\n\t\tif ( !show ) {\n\t\t\tel.hide();\n\t\t}\n\t\tdone();\n\t}\n};\n\n\n/*!\n * jQuery UI Effects Fade 1.11.4\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/fade-effect/\n */\n\n\nvar effectFade = $.effects.effect.fade = function( o, done ) {\n\tvar el = $( this ),\n\t\tmode = $.effects.setMode( el, o.mode || \"toggle\" );\n\n\tel.animate({\n\t\topacity: mode\n\t}, {\n\t\tqueue: false,\n\t\tduration: o.duration,\n\t\teasing: o.easing,\n\t\tcomplete: done\n\t});\n};\n\n\n/*!\n * jQuery UI Effects Fold 1.11.4\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/fold-effect/\n */\n\n\nvar effectFold = $.effects.effect.fold = function( o, done ) {\n\n\t// Create element\n\tvar el = $( this ),\n\t\tprops = [ \"position\", \"top\", \"bottom\", \"left\", \"right\", \"height\", \"width\" ],\n\t\tmode = $.effects.setMode( el, o.mode || \"hide\" ),\n\t\tshow = mode === \"show\",\n\t\thide = mode === \"hide\",\n\t\tsize = o.size || 15,\n\t\tpercent = /([0-9]+)%/.exec( size ),\n\t\thorizFirst = !!o.horizFirst,\n\t\twidthFirst = show !== horizFirst,\n\t\tref = widthFirst ? [ \"width\", \"height\" ] : [ \"height\", \"width\" ],\n\t\tduration = o.duration / 2,\n\t\twrapper, distance,\n\t\tanimation1 = {},\n\t\tanimation2 = {};\n\n\t$.effects.save( el, props );\n\tel.show();\n\n\t// Create Wrapper\n\twrapper = $.effects.createWrapper( el ).css({\n\t\toverflow: \"hidden\"\n\t});\n\tdistance = widthFirst ?\n\t\t[ wrapper.width(), wrapper.height() ] :\n\t\t[ wrapper.height(), wrapper.width() ];\n\n\tif ( percent ) {\n\t\tsize = parseInt( percent[ 1 ], 10 ) / 100 * distance[ hide ? 0 : 1 ];\n\t}\n\tif ( show ) {\n\t\twrapper.css( horizFirst ? {\n\t\t\theight: 0,\n\t\t\twidth: size\n\t\t} : {\n\t\t\theight: size,\n\t\t\twidth: 0\n\t\t});\n\t}\n\n\t// Animation\n\tanimation1[ ref[ 0 ] ] = show ? distance[ 0 ] : size;\n\tanimation2[ ref[ 1 ] ] = show ? distance[ 1 ] : 0;\n\n\t// Animate\n\twrapper\n\t\t.animate( animation1, duration, o.easing )\n\t\t.animate( animation2, duration, o.easing, function() {\n\t\t\tif ( hide ) {\n\t\t\t\tel.hide();\n\t\t\t}\n\t\t\t$.effects.restore( el, props );\n\t\t\t$.effects.removeWrapper( el );\n\t\t\tdone();\n\t\t});\n\n};\n\n\n/*!\n * jQuery UI Effects Highlight 1.11.4\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/highlight-effect/\n */\n\n\nvar effectHighlight = $.effects.effect.highlight = function( o, done ) {\n\tvar elem = $( this ),\n\t\tprops = [ \"backgroundImage\", \"backgroundColor\", \"opacity\" ],\n\t\tmode = $.effects.setMode( elem, o.mode || \"show\" ),\n\t\tanimation = {\n\t\t\tbackgroundColor: elem.css( \"backgroundColor\" )\n\t\t};\n\n\tif (mode === \"hide\") {\n\t\tanimation.opacity = 0;\n\t}\n\n\t$.effects.save( elem, props );\n\n\telem\n\t\t.show()\n\t\t.css({\n\t\t\tbackgroundImage: \"none\",\n\t\t\tbackgroundColor: o.color || \"#ffff99\"\n\t\t})\n\t\t.animate( animation, {\n\t\t\tqueue: false,\n\t\t\tduration: o.duration,\n\t\t\teasing: o.easing,\n\t\t\tcomplete: function() {\n\t\t\t\tif ( mode === \"hide\" ) {\n\t\t\t\t\telem.hide();\n\t\t\t\t}\n\t\t\t\t$.effects.restore( elem, props );\n\t\t\t\tdone();\n\t\t\t}\n\t\t});\n};\n\n\n/*!\n * jQuery UI Effects Size 1.11.4\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/size-effect/\n */\n\n\nvar effectSize = $.effects.effect.size = function( o, done ) {\n\n\t// Create element\n\tvar original, baseline, factor,\n\t\tel = $( this ),\n\t\tprops0 = [ \"position\", \"top\", \"bottom\", \"left\", \"right\", \"width\", \"height\", \"overflow\", \"opacity\" ],\n\n\t\t// Always restore\n\t\tprops1 = [ \"position\", \"top\", \"bottom\", \"left\", \"right\", \"overflow\", \"opacity\" ],\n\n\t\t// Copy for children\n\t\tprops2 = [ \"width\", \"height\", \"overflow\" ],\n\t\tcProps = [ \"fontSize\" ],\n\t\tvProps = [ \"borderTopWidth\", \"borderBottomWidth\", \"paddingTop\", \"paddingBottom\" ],\n\t\thProps = [ \"borderLeftWidth\", \"borderRightWidth\", \"paddingLeft\", \"paddingRight\" ],\n\n\t\t// Set options\n\t\tmode = $.effects.setMode( el, o.mode || \"effect\" ),\n\t\trestore = o.restore || mode !== \"effect\",\n\t\tscale = o.scale || \"both\",\n\t\torigin = o.origin || [ \"middle\", \"center\" ],\n\t\tposition = el.css( \"position\" ),\n\t\tprops = restore ? props0 : props1,\n\t\tzero = {\n\t\t\theight: 0,\n\t\t\twidth: 0,\n\t\t\touterHeight: 0,\n\t\t\touterWidth: 0\n\t\t};\n\n\tif ( mode === \"show\" ) {\n\t\tel.show();\n\t}\n\toriginal = {\n\t\theight: el.height(),\n\t\twidth: el.width(),\n\t\touterHeight: el.outerHeight(),\n\t\touterWidth: el.outerWidth()\n\t};\n\n\tif ( o.mode === \"toggle\" && mode === \"show\" ) {\n\t\tel.from = o.to || zero;\n\t\tel.to = o.from || original;\n\t} else {\n\t\tel.from = o.from || ( mode === \"show\" ? zero : original );\n\t\tel.to = o.to || ( mode === \"hide\" ? zero : original );\n\t}\n\n\t// Set scaling factor\n\tfactor = {\n\t\tfrom: {\n\t\t\ty: el.from.height / original.height,\n\t\t\tx: el.from.width / original.width\n\t\t},\n\t\tto: {\n\t\t\ty: el.to.height / original.height,\n\t\t\tx: el.to.width / original.width\n\t\t}\n\t};\n\n\t// Scale the css box\n\tif ( scale === \"box\" || scale === \"both\" ) {\n\n\t\t// Vertical props scaling\n\t\tif ( factor.from.y !== factor.to.y ) {\n\t\t\tprops = props.concat( vProps );\n\t\t\tel.from = $.effects.setTransition( el, vProps, factor.from.y, el.from );\n\t\t\tel.to = $.effects.setTransition( el, vProps, factor.to.y, el.to );\n\t\t}\n\n\t\t// Horizontal props scaling\n\t\tif ( factor.from.x !== factor.to.x ) {\n\t\t\tprops = props.concat( hProps );\n\t\t\tel.from = $.effects.setTransition( el, hProps, factor.from.x, el.from );\n\t\t\tel.to = $.effects.setTransition( el, hProps, factor.to.x, el.to );\n\t\t}\n\t}\n\n\t// Scale the content\n\tif ( scale === \"content\" || scale === \"both\" ) {\n\n\t\t// Vertical props scaling\n\t\tif ( factor.from.y !== factor.to.y ) {\n\t\t\tprops = props.concat( cProps ).concat( props2 );\n\t\t\tel.from = $.effects.setTransition( el, cProps, factor.from.y, el.from );\n\t\t\tel.to = $.effects.setTransition( el, cProps, factor.to.y, el.to );\n\t\t}\n\t}\n\n\t$.effects.save( el, props );\n\tel.show();\n\t$.effects.createWrapper( el );\n\tel.css( \"overflow\", \"hidden\" ).css( el.from );\n\n\t// Adjust\n\tif (origin) { // Calculate baseline shifts\n\t\tbaseline = $.effects.getBaseline( origin, original );\n\t\tel.from.top = ( original.outerHeight - el.outerHeight() ) * baseline.y;\n\t\tel.from.left = ( original.outerWidth - el.outerWidth() ) * baseline.x;\n\t\tel.to.top = ( original.outerHeight - el.to.outerHeight ) * baseline.y;\n\t\tel.to.left = ( original.outerWidth - el.to.outerWidth ) * baseline.x;\n\t}\n\tel.css( el.from ); // set top & left\n\n\t// Animate\n\tif ( scale === \"content\" || scale === \"both\" ) { // Scale the children\n\n\t\t// Add margins/font-size\n\t\tvProps = vProps.concat([ \"marginTop\", \"marginBottom\" ]).concat(cProps);\n\t\thProps = hProps.concat([ \"marginLeft\", \"marginRight\" ]);\n\t\tprops2 = props0.concat(vProps).concat(hProps);\n\n\t\tel.find( \"*[width]\" ).each( function() {\n\t\t\tvar child = $( this ),\n\t\t\t\tc_original = {\n\t\t\t\t\theight: child.height(),\n\t\t\t\t\twidth: child.width(),\n\t\t\t\t\touterHeight: child.outerHeight(),\n\t\t\t\t\touterWidth: child.outerWidth()\n\t\t\t\t};\n\t\t\tif (restore) {\n\t\t\t\t$.effects.save(child, props2);\n\t\t\t}\n\n\t\t\tchild.from = {\n\t\t\t\theight: c_original.height * factor.from.y,\n\t\t\t\twidth: c_original.width * factor.from.x,\n\t\t\t\touterHeight: c_original.outerHeight * factor.from.y,\n\t\t\t\touterWidth: c_original.outerWidth * factor.from.x\n\t\t\t};\n\t\t\tchild.to = {\n\t\t\t\theight: c_original.height * factor.to.y,\n\t\t\t\twidth: c_original.width * factor.to.x,\n\t\t\t\touterHeight: c_original.height * factor.to.y,\n\t\t\t\touterWidth: c_original.width * factor.to.x\n\t\t\t};\n\n\t\t\t// Vertical props scaling\n\t\t\tif ( factor.from.y !== factor.to.y ) {\n\t\t\t\tchild.from = $.effects.setTransition( child, vProps, factor.from.y, child.from );\n\t\t\t\tchild.to = $.effects.setTransition( child, vProps, factor.to.y, child.to );\n\t\t\t}\n\n\t\t\t// Horizontal props scaling\n\t\t\tif ( factor.from.x !== factor.to.x ) {\n\t\t\t\tchild.from = $.effects.setTransition( child, hProps, factor.from.x, child.from );\n\t\t\t\tchild.to = $.effects.setTransition( child, hProps, factor.to.x, child.to );\n\t\t\t}\n\n\t\t\t// Animate children\n\t\t\tchild.css( child.from );\n\t\t\tchild.animate( child.to, o.duration, o.easing, function() {\n\n\t\t\t\t// Restore children\n\t\t\t\tif ( restore ) {\n\t\t\t\t\t$.effects.restore( child, props2 );\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\t// Animate\n\tel.animate( el.to, {\n\t\tqueue: false,\n\t\tduration: o.duration,\n\t\teasing: o.easing,\n\t\tcomplete: function() {\n\t\t\tif ( el.to.opacity === 0 ) {\n\t\t\t\tel.css( \"opacity\", el.from.opacity );\n\t\t\t}\n\t\t\tif ( mode === \"hide\" ) {\n\t\t\t\tel.hide();\n\t\t\t}\n\t\t\t$.effects.restore( el, props );\n\t\t\tif ( !restore ) {\n\n\t\t\t\t// we need to calculate our new positioning based on the scaling\n\t\t\t\tif ( position === \"static\" ) {\n\t\t\t\t\tel.css({\n\t\t\t\t\t\tposition: \"relative\",\n\t\t\t\t\t\ttop: el.to.top,\n\t\t\t\t\t\tleft: el.to.left\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\t$.each([ \"top\", \"left\" ], function( idx, pos ) {\n\t\t\t\t\t\tel.css( pos, function( _, str ) {\n\t\t\t\t\t\t\tvar val = parseInt( str, 10 ),\n\t\t\t\t\t\t\t\ttoRef = idx ? el.to.left : el.to.top;\n\n\t\t\t\t\t\t\t// if original was \"auto\", recalculate the new value from wrapper\n\t\t\t\t\t\t\tif ( str === \"auto\" ) {\n\t\t\t\t\t\t\t\treturn toRef + \"px\";\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn val + toRef + \"px\";\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t$.effects.removeWrapper( el );\n\t\t\tdone();\n\t\t}\n\t});\n\n};\n\n\n/*!\n * jQuery UI Effects Scale 1.11.4\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/scale-effect/\n */\n\n\nvar effectScale = $.effects.effect.scale = function( o, done ) {\n\n\t// Create element\n\tvar el = $( this ),\n\t\toptions = $.extend( true, {}, o ),\n\t\tmode = $.effects.setMode( el, o.mode || \"effect\" ),\n\t\tpercent = parseInt( o.percent, 10 ) ||\n\t\t\t( parseInt( o.percent, 10 ) === 0 ? 0 : ( mode === \"hide\" ? 0 : 100 ) ),\n\t\tdirection = o.direction || \"both\",\n\t\torigin = o.origin,\n\t\toriginal = {\n\t\t\theight: el.height(),\n\t\t\twidth: el.width(),\n\t\t\touterHeight: el.outerHeight(),\n\t\t\touterWidth: el.outerWidth()\n\t\t},\n\t\tfactor = {\n\t\t\ty: direction !== \"horizontal\" ? (percent / 100) : 1,\n\t\t\tx: direction !== \"vertical\" ? (percent / 100) : 1\n\t\t};\n\n\t// We are going to pass this effect to the size effect:\n\toptions.effect = \"size\";\n\toptions.queue = false;\n\toptions.complete = done;\n\n\t// Set default origin and restore for show/hide\n\tif ( mode !== \"effect\" ) {\n\t\toptions.origin = origin || [ \"middle\", \"center\" ];\n\t\toptions.restore = true;\n\t}\n\n\toptions.from = o.from || ( mode === \"show\" ? {\n\t\theight: 0,\n\t\twidth: 0,\n\t\touterHeight: 0,\n\t\touterWidth: 0\n\t} : original );\n\toptions.to = {\n\t\theight: original.height * factor.y,\n\t\twidth: original.width * factor.x,\n\t\touterHeight: original.outerHeight * factor.y,\n\t\touterWidth: original.outerWidth * factor.x\n\t};\n\n\t// Fade option to support puff\n\tif ( options.fade ) {\n\t\tif ( mode === \"show\" ) {\n\t\t\toptions.from.opacity = 0;\n\t\t\toptions.to.opacity = 1;\n\t\t}\n\t\tif ( mode === \"hide\" ) {\n\t\t\toptions.from.opacity = 1;\n\t\t\toptions.to.opacity = 0;\n\t\t}\n\t}\n\n\t// Animate\n\tel.effect( options );\n\n};\n\n\n/*!\n * jQuery UI Effects Puff 1.11.4\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/puff-effect/\n */\n\n\nvar effectPuff = $.effects.effect.puff = function( o, done ) {\n\tvar elem = $( this ),\n\t\tmode = $.effects.setMode( elem, o.mode || \"hide\" ),\n\t\thide = mode === \"hide\",\n\t\tpercent = parseInt( o.percent, 10 ) || 150,\n\t\tfactor = percent / 100,\n\t\toriginal = {\n\t\t\theight: elem.height(),\n\t\t\twidth: elem.width(),\n\t\t\touterHeight: elem.outerHeight(),\n\t\t\touterWidth: elem.outerWidth()\n\t\t};\n\n\t$.extend( o, {\n\t\teffect: \"scale\",\n\t\tqueue: false,\n\t\tfade: true,\n\t\tmode: mode,\n\t\tcomplete: done,\n\t\tpercent: hide ? percent : 100,\n\t\tfrom: hide ?\n\t\t\toriginal :\n\t\t\t{\n\t\t\t\theight: original.height * factor,\n\t\t\t\twidth: original.width * factor,\n\t\t\t\touterHeight: original.outerHeight * factor,\n\t\t\t\touterWidth: original.outerWidth * factor\n\t\t\t}\n\t});\n\n\telem.effect( o );\n};\n\n\n/*!\n * jQuery UI Effects Pulsate 1.11.4\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/pulsate-effect/\n */\n\n\nvar effectPulsate = $.effects.effect.pulsate = function( o, done ) {\n\tvar elem = $( this ),\n\t\tmode = $.effects.setMode( elem, o.mode || \"show\" ),\n\t\tshow = mode === \"show\",\n\t\thide = mode === \"hide\",\n\t\tshowhide = ( show || mode === \"hide\" ),\n\n\t\t// showing or hiding leaves of the \"last\" animation\n\t\tanims = ( ( o.times || 5 ) * 2 ) + ( showhide ? 1 : 0 ),\n\t\tduration = o.duration / anims,\n\t\tanimateTo = 0,\n\t\tqueue = elem.queue(),\n\t\tqueuelen = queue.length,\n\t\ti;\n\n\tif ( show || !elem.is(\":visible\")) {\n\t\telem.css( \"opacity\", 0 ).show();\n\t\tanimateTo = 1;\n\t}\n\n\t// anims - 1 opacity \"toggles\"\n\tfor ( i = 1; i < anims; i++ ) {\n\t\telem.animate({\n\t\t\topacity: animateTo\n\t\t}, duration, o.easing );\n\t\tanimateTo = 1 - animateTo;\n\t}\n\n\telem.animate({\n\t\topacity: animateTo\n\t}, duration, o.easing);\n\n\telem.queue(function() {\n\t\tif ( hide ) {\n\t\t\telem.hide();\n\t\t}\n\t\tdone();\n\t});\n\n\t// We just queued up \"anims\" animations, we need to put them next in the queue\n\tif ( queuelen > 1 ) {\n\t\tqueue.splice.apply( queue,\n\t\t\t[ 1, 0 ].concat( queue.splice( queuelen, anims + 1 ) ) );\n\t}\n\telem.dequeue();\n};\n\n\n/*!\n * jQuery UI Effects Shake 1.11.4\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/shake-effect/\n */\n\n\nvar effectShake = $.effects.effect.shake = function( o, done ) {\n\n\tvar el = $( this ),\n\t\tprops = [ \"position\", \"top\", \"bottom\", \"left\", \"right\", \"height\", \"width\" ],\n\t\tmode = $.effects.setMode( el, o.mode || \"effect\" ),\n\t\tdirection = o.direction || \"left\",\n\t\tdistance = o.distance || 20,\n\t\ttimes = o.times || 3,\n\t\tanims = times * 2 + 1,\n\t\tspeed = Math.round( o.duration / anims ),\n\t\tref = (direction === \"up\" || direction === \"down\") ? \"top\" : \"left\",\n\t\tpositiveMotion = (direction === \"up\" || direction === \"left\"),\n\t\tanimation = {},\n\t\tanimation1 = {},\n\t\tanimation2 = {},\n\t\ti,\n\n\t\t// we will need to re-assemble the queue to stack our animations in place\n\t\tqueue = el.queue(),\n\t\tqueuelen = queue.length;\n\n\t$.effects.save( el, props );\n\tel.show();\n\t$.effects.createWrapper( el );\n\n\t// Animation\n\tanimation[ ref ] = ( positiveMotion ? \"-=\" : \"+=\" ) + distance;\n\tanimation1[ ref ] = ( positiveMotion ? \"+=\" : \"-=\" ) + distance * 2;\n\tanimation2[ ref ] = ( positiveMotion ? \"-=\" : \"+=\" ) + distance * 2;\n\n\t// Animate\n\tel.animate( animation, speed, o.easing );\n\n\t// Shakes\n\tfor ( i = 1; i < times; i++ ) {\n\t\tel.animate( animation1, speed, o.easing ).animate( animation2, speed, o.easing );\n\t}\n\tel\n\t\t.animate( animation1, speed, o.easing )\n\t\t.animate( animation, speed / 2, o.easing )\n\t\t.queue(function() {\n\t\t\tif ( mode === \"hide\" ) {\n\t\t\t\tel.hide();\n\t\t\t}\n\t\t\t$.effects.restore( el, props );\n\t\t\t$.effects.removeWrapper( el );\n\t\t\tdone();\n\t\t});\n\n\t// inject all the animations we just queued to be first in line (after \"inprogress\")\n\tif ( queuelen > 1) {\n\t\tqueue.splice.apply( queue,\n\t\t\t[ 1, 0 ].concat( queue.splice( queuelen, anims + 1 ) ) );\n\t}\n\tel.dequeue();\n\n};\n\n\n/*!\n * jQuery UI Effects Slide 1.11.4\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/slide-effect/\n */\n\n\nvar effectSlide = $.effects.effect.slide = function( o, done ) {\n\n\t// Create element\n\tvar el = $( this ),\n\t\tprops = [ \"position\", \"top\", \"bottom\", \"left\", \"right\", \"width\", \"height\" ],\n\t\tmode = $.effects.setMode( el, o.mode || \"show\" ),\n\t\tshow = mode === \"show\",\n\t\tdirection = o.direction || \"left\",\n\t\tref = (direction === \"up\" || direction === \"down\") ? \"top\" : \"left\",\n\t\tpositiveMotion = (direction === \"up\" || direction === \"left\"),\n\t\tdistance,\n\t\tanimation = {};\n\n\t// Adjust\n\t$.effects.save( el, props );\n\tel.show();\n\tdistance = o.distance || el[ ref === \"top\" ? \"outerHeight\" : \"outerWidth\" ]( true );\n\n\t$.effects.createWrapper( el ).css({\n\t\toverflow: \"hidden\"\n\t});\n\n\tif ( show ) {\n\t\tel.css( ref, positiveMotion ? (isNaN(distance) ? \"-\" + distance : -distance) : distance );\n\t}\n\n\t// Animation\n\tanimation[ ref ] = ( show ?\n\t\t( positiveMotion ? \"+=\" : \"-=\") :\n\t\t( positiveMotion ? \"-=\" : \"+=\")) +\n\t\tdistance;\n\n\t// Animate\n\tel.animate( animation, {\n\t\tqueue: false,\n\t\tduration: o.duration,\n\t\teasing: o.easing,\n\t\tcomplete: function() {\n\t\t\tif ( mode === \"hide\" ) {\n\t\t\t\tel.hide();\n\t\t\t}\n\t\t\t$.effects.restore( el, props );\n\t\t\t$.effects.removeWrapper( el );\n\t\t\tdone();\n\t\t}\n\t});\n};\n\n\n/*!\n * jQuery UI Effects Transfer 1.11.4\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/transfer-effect/\n */\n\n\nvar effectTransfer = $.effects.effect.transfer = function( o, done ) {\n\tvar elem = $( this ),\n\t\ttarget = $( o.to ),\n\t\ttargetFixed = target.css( \"position\" ) === \"fixed\",\n\t\tbody = $(\"body\"),\n\t\tfixTop = targetFixed ? body.scrollTop() : 0,\n\t\tfixLeft = targetFixed ? body.scrollLeft() : 0,\n\t\tendPosition = target.offset(),\n\t\tanimation = {\n\t\t\ttop: endPosition.top - fixTop,\n\t\t\tleft: endPosition.left - fixLeft,\n\t\t\theight: target.innerHeight(),\n\t\t\twidth: target.innerWidth()\n\t\t},\n\t\tstartPosition = elem.offset(),\n\t\ttransfer = $( \"<div class='ui-effects-transfer'></div>\" )\n\t\t\t.appendTo( document.body )\n\t\t\t.addClass( o.className )\n\t\t\t.css({\n\t\t\t\ttop: startPosition.top - fixTop,\n\t\t\t\tleft: startPosition.left - fixLeft,\n\t\t\t\theight: elem.innerHeight(),\n\t\t\t\twidth: elem.innerWidth(),\n\t\t\t\tposition: targetFixed ? \"fixed\" : \"absolute\"\n\t\t\t})\n\t\t\t.animate( animation, o.duration, o.easing, function() {\n\t\t\t\ttransfer.remove();\n\t\t\t\tdone();\n\t\t\t});\n};\n\n\n/*!\n * jQuery UI Progressbar 1.11.4\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/progressbar/\n */\n\n\nvar progressbar = $.widget( \"ui.progressbar\", {\n\tversion: \"1.11.4\",\n\toptions: {\n\t\tmax: 100,\n\t\tvalue: 0,\n\n\t\tchange: null,\n\t\tcomplete: null\n\t},\n\n\tmin: 0,\n\n\t_create: function() {\n\t\t// Constrain initial value\n\t\tthis.oldValue = this.options.value = this._constrainedValue();\n\n\t\tthis.element\n\t\t\t.addClass( \"ui-progressbar ui-widget ui-widget-content ui-corner-all\" )\n\t\t\t.attr({\n\t\t\t\t// Only set static values, aria-valuenow and aria-valuemax are\n\t\t\t\t// set inside _refreshValue()\n\t\t\t\trole: \"progressbar\",\n\t\t\t\t\"aria-valuemin\": this.min\n\t\t\t});\n\n\t\tthis.valueDiv = $( \"<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>\" )\n\t\t\t.appendTo( this.element );\n\n\t\tthis._refreshValue();\n\t},\n\n\t_destroy: function() {\n\t\tthis.element\n\t\t\t.removeClass( \"ui-progressbar ui-widget ui-widget-content ui-corner-all\" )\n\t\t\t.removeAttr( \"role\" )\n\t\t\t.removeAttr( \"aria-valuemin\" )\n\t\t\t.removeAttr( \"aria-valuemax\" )\n\t\t\t.removeAttr( \"aria-valuenow\" );\n\n\t\tthis.valueDiv.remove();\n\t},\n\n\tvalue: function( newValue ) {\n\t\tif ( newValue === undefined ) {\n\t\t\treturn this.options.value;\n\t\t}\n\n\t\tthis.options.value = this._constrainedValue( newValue );\n\t\tthis._refreshValue();\n\t},\n\n\t_constrainedValue: function( newValue ) {\n\t\tif ( newValue === undefined ) {\n\t\t\tnewValue = this.options.value;\n\t\t}\n\n\t\tthis.indeterminate = newValue === false;\n\n\t\t// sanitize value\n\t\tif ( typeof newValue !== \"number\" ) {\n\t\t\tnewValue = 0;\n\t\t}\n\n\t\treturn this.indeterminate ? false :\n\t\t\tMath.min( this.options.max, Math.max( this.min, newValue ) );\n\t},\n\n\t_setOptions: function( options ) {\n\t\t// Ensure \"value\" option is set after other values (like max)\n\t\tvar value = options.value;\n\t\tdelete options.value;\n\n\t\tthis._super( options );\n\n\t\tthis.options.value = this._constrainedValue( value );\n\t\tthis._refreshValue();\n\t},\n\n\t_setOption: function( key, value ) {\n\t\tif ( key === \"max\" ) {\n\t\t\t// Don't allow a max less than min\n\t\t\tvalue = Math.max( this.min, value );\n\t\t}\n\t\tif ( key === \"disabled\" ) {\n\t\t\tthis.element\n\t\t\t\t.toggleClass( \"ui-state-disabled\", !!value )\n\t\t\t\t.attr( \"aria-disabled\", value );\n\t\t}\n\t\tthis._super( key, value );\n\t},\n\n\t_percentage: function() {\n\t\treturn this.indeterminate ? 100 : 100 * ( this.options.value - this.min ) / ( this.options.max - this.min );\n\t},\n\n\t_refreshValue: function() {\n\t\tvar value = this.options.value,\n\t\t\tpercentage = this._percentage();\n\n\t\tthis.valueDiv\n\t\t\t.toggle( this.indeterminate || value > this.min )\n\t\t\t.toggleClass( \"ui-corner-right\", value === this.options.max )\n\t\t\t.width( percentage.toFixed(0) + \"%\" );\n\n\t\tthis.element.toggleClass( \"ui-progressbar-indeterminate\", this.indeterminate );\n\n\t\tif ( this.indeterminate ) {\n\t\t\tthis.element.removeAttr( \"aria-valuenow\" );\n\t\t\tif ( !this.overlayDiv ) {\n\t\t\t\tthis.overlayDiv = $( \"<div class='ui-progressbar-overlay'></div>\" ).appendTo( this.valueDiv );\n\t\t\t}\n\t\t} else {\n\t\t\tthis.element.attr({\n\t\t\t\t\"aria-valuemax\": this.options.max,\n\t\t\t\t\"aria-valuenow\": value\n\t\t\t});\n\t\t\tif ( this.overlayDiv ) {\n\t\t\t\tthis.overlayDiv.remove();\n\t\t\t\tthis.overlayDiv = null;\n\t\t\t}\n\t\t}\n\n\t\tif ( this.oldValue !== value ) {\n\t\t\tthis.oldValue = value;\n\t\t\tthis._trigger( \"change\" );\n\t\t}\n\t\tif ( value === this.options.max ) {\n\t\t\tthis._trigger( \"complete\" );\n\t\t}\n\t}\n});\n\n\n/*!\n * jQuery UI Selectable 1.11.4\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/selectable/\n */\n\n\nvar selectable = $.widget(\"ui.selectable\", $.ui.mouse, {\n\tversion: \"1.11.4\",\n\toptions: {\n\t\tappendTo: \"body\",\n\t\tautoRefresh: true,\n\t\tdistance: 0,\n\t\tfilter: \"*\",\n\t\ttolerance: \"touch\",\n\n\t\t// callbacks\n\t\tselected: null,\n\t\tselecting: null,\n\t\tstart: null,\n\t\tstop: null,\n\t\tunselected: null,\n\t\tunselecting: null\n\t},\n\t_create: function() {\n\t\tvar selectees,\n\t\t\tthat = this;\n\n\t\tthis.element.addClass(\"ui-selectable\");\n\n\t\tthis.dragged = false;\n\n\t\t// cache selectee children based on filter\n\t\tthis.refresh = function() {\n\t\t\tselectees = $(that.options.filter, that.element[0]);\n\t\t\tselectees.addClass(\"ui-selectee\");\n\t\t\tselectees.each(function() {\n\t\t\t\tvar $this = $(this),\n\t\t\t\t\tpos = $this.offset();\n\t\t\t\t$.data(this, \"selectable-item\", {\n\t\t\t\t\telement: this,\n\t\t\t\t\t$element: $this,\n\t\t\t\t\tleft: pos.left,\n\t\t\t\t\ttop: pos.top,\n\t\t\t\t\tright: pos.left + $this.outerWidth(),\n\t\t\t\t\tbottom: pos.top + $this.outerHeight(),\n\t\t\t\t\tstartselected: false,\n\t\t\t\t\tselected: $this.hasClass(\"ui-selected\"),\n\t\t\t\t\tselecting: $this.hasClass(\"ui-selecting\"),\n\t\t\t\t\tunselecting: $this.hasClass(\"ui-unselecting\")\n\t\t\t\t});\n\t\t\t});\n\t\t};\n\t\tthis.refresh();\n\n\t\tthis.selectees = selectees.addClass(\"ui-selectee\");\n\n\t\tthis._mouseInit();\n\n\t\tthis.helper = $(\"<div class='ui-selectable-helper'></div>\");\n\t},\n\n\t_destroy: function() {\n\t\tthis.selectees\n\t\t\t.removeClass(\"ui-selectee\")\n\t\t\t.removeData(\"selectable-item\");\n\t\tthis.element\n\t\t\t.removeClass(\"ui-selectable ui-selectable-disabled\");\n\t\tthis._mouseDestroy();\n\t},\n\n\t_mouseStart: function(event) {\n\t\tvar that = this,\n\t\t\toptions = this.options;\n\n\t\tthis.opos = [ event.pageX, event.pageY ];\n\n\t\tif (this.options.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.selectees = $(options.filter, this.element[0]);\n\n\t\tthis._trigger(\"start\", event);\n\n\t\t$(options.appendTo).append(this.helper);\n\t\t// position helper (lasso)\n\t\tthis.helper.css({\n\t\t\t\"left\": event.pageX,\n\t\t\t\"top\": event.pageY,\n\t\t\t\"width\": 0,\n\t\t\t\"height\": 0\n\t\t});\n\n\t\tif (options.autoRefresh) {\n\t\t\tthis.refresh();\n\t\t}\n\n\t\tthis.selectees.filter(\".ui-selected\").each(function() {\n\t\t\tvar selectee = $.data(this, \"selectable-item\");\n\t\t\tselectee.startselected = true;\n\t\t\tif (!event.metaKey && !event.ctrlKey) {\n\t\t\t\tselectee.$element.removeClass(\"ui-selected\");\n\t\t\t\tselectee.selected = false;\n\t\t\t\tselectee.$element.addClass(\"ui-unselecting\");\n\t\t\t\tselectee.unselecting = true;\n\t\t\t\t// selectable UNSELECTING callback\n\t\t\t\tthat._trigger(\"unselecting\", event, {\n\t\t\t\t\tunselecting: selectee.element\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\t$(event.target).parents().addBack().each(function() {\n\t\t\tvar doSelect,\n\t\t\t\tselectee = $.data(this, \"selectable-item\");\n\t\t\tif (selectee) {\n\t\t\t\tdoSelect = (!event.metaKey && !event.ctrlKey) || !selectee.$element.hasClass(\"ui-selected\");\n\t\t\t\tselectee.$element\n\t\t\t\t\t.removeClass(doSelect ? \"ui-unselecting\" : \"ui-selected\")\n\t\t\t\t\t.addClass(doSelect ? \"ui-selecting\" : \"ui-unselecting\");\n\t\t\t\tselectee.unselecting = !doSelect;\n\t\t\t\tselectee.selecting = doSelect;\n\t\t\t\tselectee.selected = doSelect;\n\t\t\t\t// selectable (UN)SELECTING callback\n\t\t\t\tif (doSelect) {\n\t\t\t\t\tthat._trigger(\"selecting\", event, {\n\t\t\t\t\t\tselecting: selectee.element\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tthat._trigger(\"unselecting\", event, {\n\t\t\t\t\t\tunselecting: selectee.element\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\n\t},\n\n\t_mouseDrag: function(event) {\n\n\t\tthis.dragged = true;\n\n\t\tif (this.options.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar tmp,\n\t\t\tthat = this,\n\t\t\toptions = this.options,\n\t\t\tx1 = this.opos[0],\n\t\t\ty1 = this.opos[1],\n\t\t\tx2 = event.pageX,\n\t\t\ty2 = event.pageY;\n\n\t\tif (x1 > x2) { tmp = x2; x2 = x1; x1 = tmp; }\n\t\tif (y1 > y2) { tmp = y2; y2 = y1; y1 = tmp; }\n\t\tthis.helper.css({ left: x1, top: y1, width: x2 - x1, height: y2 - y1 });\n\n\t\tthis.selectees.each(function() {\n\t\t\tvar selectee = $.data(this, \"selectable-item\"),\n\t\t\t\thit = false;\n\n\t\t\t//prevent helper from being selected if appendTo: selectable\n\t\t\tif (!selectee || selectee.element === that.element[0]) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (options.tolerance === \"touch\") {\n\t\t\t\thit = ( !(selectee.left > x2 || selectee.right < x1 || selectee.top > y2 || selectee.bottom < y1) );\n\t\t\t} else if (options.tolerance === \"fit\") {\n\t\t\t\thit = (selectee.left > x1 && selectee.right < x2 && selectee.top > y1 && selectee.bottom < y2);\n\t\t\t}\n\n\t\t\tif (hit) {\n\t\t\t\t// SELECT\n\t\t\t\tif (selectee.selected) {\n\t\t\t\t\tselectee.$element.removeClass(\"ui-selected\");\n\t\t\t\t\tselectee.selected = false;\n\t\t\t\t}\n\t\t\t\tif (selectee.unselecting) {\n\t\t\t\t\tselectee.$element.removeClass(\"ui-unselecting\");\n\t\t\t\t\tselectee.unselecting = false;\n\t\t\t\t}\n\t\t\t\tif (!selectee.selecting) {\n\t\t\t\t\tselectee.$element.addClass(\"ui-selecting\");\n\t\t\t\t\tselectee.selecting = true;\n\t\t\t\t\t// selectable SELECTING callback\n\t\t\t\t\tthat._trigger(\"selecting\", event, {\n\t\t\t\t\t\tselecting: selectee.element\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// UNSELECT\n\t\t\t\tif (selectee.selecting) {\n\t\t\t\t\tif ((event.metaKey || event.ctrlKey) && selectee.startselected) {\n\t\t\t\t\t\tselectee.$element.removeClass(\"ui-selecting\");\n\t\t\t\t\t\tselectee.selecting = false;\n\t\t\t\t\t\tselectee.$element.addClass(\"ui-selected\");\n\t\t\t\t\t\tselectee.selected = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tselectee.$element.removeClass(\"ui-selecting\");\n\t\t\t\t\t\tselectee.selecting = false;\n\t\t\t\t\t\tif (selectee.startselected) {\n\t\t\t\t\t\t\tselectee.$element.addClass(\"ui-unselecting\");\n\t\t\t\t\t\t\tselectee.unselecting = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// selectable UNSELECTING callback\n\t\t\t\t\t\tthat._trigger(\"unselecting\", event, {\n\t\t\t\t\t\t\tunselecting: selectee.element\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (selectee.selected) {\n\t\t\t\t\tif (!event.metaKey && !event.ctrlKey && !selectee.startselected) {\n\t\t\t\t\t\tselectee.$element.removeClass(\"ui-selected\");\n\t\t\t\t\t\tselectee.selected = false;\n\n\t\t\t\t\t\tselectee.$element.addClass(\"ui-unselecting\");\n\t\t\t\t\t\tselectee.unselecting = true;\n\t\t\t\t\t\t// selectable UNSELECTING callback\n\t\t\t\t\t\tthat._trigger(\"unselecting\", event, {\n\t\t\t\t\t\t\tunselecting: selectee.element\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\treturn false;\n\t},\n\n\t_mouseStop: function(event) {\n\t\tvar that = this;\n\n\t\tthis.dragged = false;\n\n\t\t$(\".ui-unselecting\", this.element[0]).each(function() {\n\t\t\tvar selectee = $.data(this, \"selectable-item\");\n\t\t\tselectee.$element.removeClass(\"ui-unselecting\");\n\t\t\tselectee.unselecting = false;\n\t\t\tselectee.startselected = false;\n\t\t\tthat._trigger(\"unselected\", event, {\n\t\t\t\tunselected: selectee.element\n\t\t\t});\n\t\t});\n\t\t$(\".ui-selecting\", this.element[0]).each(function() {\n\t\t\tvar selectee = $.data(this, \"selectable-item\");\n\t\t\tselectee.$element.removeClass(\"ui-selecting\").addClass(\"ui-selected\");\n\t\t\tselectee.selecting = false;\n\t\t\tselectee.selected = true;\n\t\t\tselectee.startselected = true;\n\t\t\tthat._trigger(\"selected\", event, {\n\t\t\t\tselected: selectee.element\n\t\t\t});\n\t\t});\n\t\tthis._trigger(\"stop\", event);\n\n\t\tthis.helper.remove();\n\n\t\treturn false;\n\t}\n\n});\n\n\n/*!\n * jQuery UI Selectmenu 1.11.4\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/selectmenu\n */\n\n\nvar selectmenu = $.widget( \"ui.selectmenu\", {\n\tversion: \"1.11.4\",\n\tdefaultElement: \"<select>\",\n\toptions: {\n\t\tappendTo: null,\n\t\tdisabled: null,\n\t\ticons: {\n\t\t\tbutton: \"ui-icon-triangle-1-s\"\n\t\t},\n\t\tposition: {\n\t\t\tmy: \"left top\",\n\t\t\tat: \"left bottom\",\n\t\t\tcollision: \"none\"\n\t\t},\n\t\twidth: null,\n\n\t\t// callbacks\n\t\tchange: null,\n\t\tclose: null,\n\t\tfocus: null,\n\t\topen: null,\n\t\tselect: null\n\t},\n\n\t_create: function() {\n\t\tvar selectmenuId = this.element.uniqueId().attr( \"id\" );\n\t\tthis.ids = {\n\t\t\telement: selectmenuId,\n\t\t\tbutton: selectmenuId + \"-button\",\n\t\t\tmenu: selectmenuId + \"-menu\"\n\t\t};\n\n\t\tthis._drawButton();\n\t\tthis._drawMenu();\n\n\t\tif ( this.options.disabled ) {\n\t\t\tthis.disable();\n\t\t}\n\t},\n\n\t_drawButton: function() {\n\t\tvar that = this;\n\n\t\t// Associate existing label with the new button\n\t\tthis.label = $( \"label[for='\" + this.ids.element + \"']\" ).attr( \"for\", this.ids.button );\n\t\tthis._on( this.label, {\n\t\t\tclick: function( event ) {\n\t\t\t\tthis.button.focus();\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t});\n\n\t\t// Hide original select element\n\t\tthis.element.hide();\n\n\t\t// Create button\n\t\tthis.button = $( \"<span>\", {\n\t\t\t\"class\": \"ui-selectmenu-button ui-widget ui-state-default ui-corner-all\",\n\t\t\ttabindex: this.options.disabled ? -1 : 0,\n\t\t\tid: this.ids.button,\n\t\t\trole: \"combobox\",\n\t\t\t\"aria-expanded\": \"false\",\n\t\t\t\"aria-autocomplete\": \"list\",\n\t\t\t\"aria-owns\": this.ids.menu,\n\t\t\t\"aria-haspopup\": \"true\"\n\t\t})\n\t\t\t.insertAfter( this.element );\n\n\t\t$( \"<span>\", {\n\t\t\t\"class\": \"ui-icon \" + this.options.icons.button\n\t\t})\n\t\t\t.prependTo( this.button );\n\n\t\tthis.buttonText = $( \"<span>\", {\n\t\t\t\"class\": \"ui-selectmenu-text\"\n\t\t})\n\t\t\t.appendTo( this.button );\n\n\t\tthis._setText( this.buttonText, this.element.find( \"option:selected\" ).text() );\n\t\tthis._resizeButton();\n\n\t\tthis._on( this.button, this._buttonEvents );\n\t\tthis.button.one( \"focusin\", function() {\n\n\t\t\t// Delay rendering the menu items until the button receives focus.\n\t\t\t// The menu may have already been rendered via a programmatic open.\n\t\t\tif ( !that.menuItems ) {\n\t\t\t\tthat._refreshMenu();\n\t\t\t}\n\t\t});\n\t\tthis._hoverable( this.button );\n\t\tthis._focusable( this.button );\n\t},\n\n\t_drawMenu: function() {\n\t\tvar that = this;\n\n\t\t// Create menu\n\t\tthis.menu = $( \"<ul>\", {\n\t\t\t\"aria-hidden\": \"true\",\n\t\t\t\"aria-labelledby\": this.ids.button,\n\t\t\tid: this.ids.menu\n\t\t});\n\n\t\t// Wrap menu\n\t\tthis.menuWrap = $( \"<div>\", {\n\t\t\t\"class\": \"ui-selectmenu-menu ui-front\"\n\t\t})\n\t\t\t.append( this.menu )\n\t\t\t.appendTo( this._appendTo() );\n\n\t\t// Initialize menu widget\n\t\tthis.menuInstance = this.menu\n\t\t\t.menu({\n\t\t\t\trole: \"listbox\",\n\t\t\t\tselect: function( event, ui ) {\n\t\t\t\t\tevent.preventDefault();\n\n\t\t\t\t\t// support: IE8\n\t\t\t\t\t// If the item was selected via a click, the text selection\n\t\t\t\t\t// will be destroyed in IE\n\t\t\t\t\tthat._setSelection();\n\n\t\t\t\t\tthat._select( ui.item.data( \"ui-selectmenu-item\" ), event );\n\t\t\t\t},\n\t\t\t\tfocus: function( event, ui ) {\n\t\t\t\t\tvar item = ui.item.data( \"ui-selectmenu-item\" );\n\n\t\t\t\t\t// Prevent inital focus from firing and check if its a newly focused item\n\t\t\t\t\tif ( that.focusIndex != null && item.index !== that.focusIndex ) {\n\t\t\t\t\t\tthat._trigger( \"focus\", event, { item: item } );\n\t\t\t\t\t\tif ( !that.isOpen ) {\n\t\t\t\t\t\t\tthat._select( item, event );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tthat.focusIndex = item.index;\n\n\t\t\t\t\tthat.button.attr( \"aria-activedescendant\",\n\t\t\t\t\t\tthat.menuItems.eq( item.index ).attr( \"id\" ) );\n\t\t\t\t}\n\t\t\t})\n\t\t\t.menu( \"instance\" );\n\n\t\t// Adjust menu styles to dropdown\n\t\tthis.menu\n\t\t\t.addClass( \"ui-corner-bottom\" )\n\t\t\t.removeClass( \"ui-corner-all\" );\n\n\t\t// Don't close the menu on mouseleave\n\t\tthis.menuInstance._off( this.menu, \"mouseleave\" );\n\n\t\t// Cancel the menu's collapseAll on document click\n\t\tthis.menuInstance._closeOnDocumentClick = function() {\n\t\t\treturn false;\n\t\t};\n\n\t\t// Selects often contain empty items, but never contain dividers\n\t\tthis.menuInstance._isDivider = function() {\n\t\t\treturn false;\n\t\t};\n\t},\n\n\trefresh: function() {\n\t\tthis._refreshMenu();\n\t\tthis._setText( this.buttonText, this._getSelectedItem().text() );\n\t\tif ( !this.options.width ) {\n\t\t\tthis._resizeButton();\n\t\t}\n\t},\n\n\t_refreshMenu: function() {\n\t\tthis.menu.empty();\n\n\t\tvar item,\n\t\t\toptions = this.element.find( \"option\" );\n\n\t\tif ( !options.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._parseOptions( options );\n\t\tthis._renderMenu( this.menu, this.items );\n\n\t\tthis.menuInstance.refresh();\n\t\tthis.menuItems = this.menu.find( \"li\" ).not( \".ui-selectmenu-optgroup\" );\n\n\t\titem = this._getSelectedItem();\n\n\t\t// Update the menu to have the correct item focused\n\t\tthis.menuInstance.focus( null, item );\n\t\tthis._setAria( item.data( \"ui-selectmenu-item\" ) );\n\n\t\t// Set disabled state\n\t\tthis._setOption( \"disabled\", this.element.prop( \"disabled\" ) );\n\t},\n\n\topen: function( event ) {\n\t\tif ( this.options.disabled ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If this is the first time the menu is being opened, render the items\n\t\tif ( !this.menuItems ) {\n\t\t\tthis._refreshMenu();\n\t\t} else {\n\n\t\t\t// Menu clears focus on close, reset focus to selected item\n\t\t\tthis.menu.find( \".ui-state-focus\" ).removeClass( \"ui-state-focus\" );\n\t\t\tthis.menuInstance.focus( null, this._getSelectedItem() );\n\t\t}\n\n\t\tthis.isOpen = true;\n\t\tthis._toggleAttr();\n\t\tthis._resizeMenu();\n\t\tthis._position();\n\n\t\tthis._on( this.document, this._documentClick );\n\n\t\tthis._trigger( \"open\", event );\n\t},\n\n\t_position: function() {\n\t\tthis.menuWrap.position( $.extend( { of: this.button }, this.options.position ) );\n\t},\n\n\tclose: function( event ) {\n\t\tif ( !this.isOpen ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.isOpen = false;\n\t\tthis._toggleAttr();\n\n\t\tthis.range = null;\n\t\tthis._off( this.document );\n\n\t\tthis._trigger( \"close\", event );\n\t},\n\n\twidget: function() {\n\t\treturn this.button;\n\t},\n\n\tmenuWidget: function() {\n\t\treturn this.menu;\n\t},\n\n\t_renderMenu: function( ul, items ) {\n\t\tvar that = this,\n\t\t\tcurrentOptgroup = \"\";\n\n\t\t$.each( items, function( index, item ) {\n\t\t\tif ( item.optgroup !== currentOptgroup ) {\n\t\t\t\t$( \"<li>\", {\n\t\t\t\t\t\"class\": \"ui-selectmenu-optgroup ui-menu-divider\" +\n\t\t\t\t\t\t( item.element.parent( \"optgroup\" ).prop( \"disabled\" ) ?\n\t\t\t\t\t\t\t\" ui-state-disabled\" :\n\t\t\t\t\t\t\t\"\" ),\n\t\t\t\t\ttext: item.optgroup\n\t\t\t\t})\n\t\t\t\t\t.appendTo( ul );\n\n\t\t\t\tcurrentOptgroup = item.optgroup;\n\t\t\t}\n\n\t\t\tthat._renderItemData( ul, item );\n\t\t});\n\t},\n\n\t_renderItemData: function( ul, item ) {\n\t\treturn this._renderItem( ul, item ).data( \"ui-selectmenu-item\", item );\n\t},\n\n\t_renderItem: function( ul, item ) {\n\t\tvar li = $( \"<li>\" );\n\n\t\tif ( item.disabled ) {\n\t\t\tli.addClass( \"ui-state-disabled\" );\n\t\t}\n\t\tthis._setText( li, item.label );\n\n\t\treturn li.appendTo( ul );\n\t},\n\n\t_setText: function( element, value ) {\n\t\tif ( value ) {\n\t\t\telement.text( value );\n\t\t} else {\n\t\t\telement.html( \"&#160;\" );\n\t\t}\n\t},\n\n\t_move: function( direction, event ) {\n\t\tvar item, next,\n\t\t\tfilter = \".ui-menu-item\";\n\n\t\tif ( this.isOpen ) {\n\t\t\titem = this.menuItems.eq( this.focusIndex );\n\t\t} else {\n\t\t\titem = this.menuItems.eq( this.element[ 0 ].selectedIndex );\n\t\t\tfilter += \":not(.ui-state-disabled)\";\n\t\t}\n\n\t\tif ( direction === \"first\" || direction === \"last\" ) {\n\t\t\tnext = item[ direction === \"first\" ? \"prevAll\" : \"nextAll\" ]( filter ).eq( -1 );\n\t\t} else {\n\t\t\tnext = item[ direction + \"All\" ]( filter ).eq( 0 );\n\t\t}\n\n\t\tif ( next.length ) {\n\t\t\tthis.menuInstance.focus( event, next );\n\t\t}\n\t},\n\n\t_getSelectedItem: function() {\n\t\treturn this.menuItems.eq( this.element[ 0 ].selectedIndex );\n\t},\n\n\t_toggle: function( event ) {\n\t\tthis[ this.isOpen ? \"close\" : \"open\" ]( event );\n\t},\n\n\t_setSelection: function() {\n\t\tvar selection;\n\n\t\tif ( !this.range ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( window.getSelection ) {\n\t\t\tselection = window.getSelection();\n\t\t\tselection.removeAllRanges();\n\t\t\tselection.addRange( this.range );\n\n\t\t// support: IE8\n\t\t} else {\n\t\t\tthis.range.select();\n\t\t}\n\n\t\t// support: IE\n\t\t// Setting the text selection kills the button focus in IE, but\n\t\t// restoring the focus doesn't kill the selection.\n\t\tthis.button.focus();\n\t},\n\n\t_documentClick: {\n\t\tmousedown: function( event ) {\n\t\t\tif ( !this.isOpen ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( !$( event.target ).closest( \".ui-selectmenu-menu, #\" + this.ids.button ).length ) {\n\t\t\t\tthis.close( event );\n\t\t\t}\n\t\t}\n\t},\n\n\t_buttonEvents: {\n\n\t\t// Prevent text selection from being reset when interacting with the selectmenu (#10144)\n\t\tmousedown: function() {\n\t\t\tvar selection;\n\n\t\t\tif ( window.getSelection ) {\n\t\t\t\tselection = window.getSelection();\n\t\t\t\tif ( selection.rangeCount ) {\n\t\t\t\t\tthis.range = selection.getRangeAt( 0 );\n\t\t\t\t}\n\n\t\t\t// support: IE8\n\t\t\t} else {\n\t\t\t\tthis.range = document.selection.createRange();\n\t\t\t}\n\t\t},\n\n\t\tclick: function( event ) {\n\t\t\tthis._setSelection();\n\t\t\tthis._toggle( event );\n\t\t},\n\n\t\tkeydown: function( event ) {\n\t\t\tvar preventDefault = true;\n\t\t\tswitch ( event.keyCode ) {\n\t\t\t\tcase $.ui.keyCode.TAB:\n\t\t\t\tcase $.ui.keyCode.ESCAPE:\n\t\t\t\t\tthis.close( event );\n\t\t\t\t\tpreventDefault = false;\n\t\t\t\t\tbreak;\n\t\t\t\tcase $.ui.keyCode.ENTER:\n\t\t\t\t\tif ( this.isOpen ) {\n\t\t\t\t\t\tthis._selectFocusedItem( event );\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase $.ui.keyCode.UP:\n\t\t\t\t\tif ( event.altKey ) {\n\t\t\t\t\t\tthis._toggle( event );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis._move( \"prev\", event );\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase $.ui.keyCode.DOWN:\n\t\t\t\t\tif ( event.altKey ) {\n\t\t\t\t\t\tthis._toggle( event );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis._move( \"next\", event );\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase $.ui.keyCode.SPACE:\n\t\t\t\t\tif ( this.isOpen ) {\n\t\t\t\t\t\tthis._selectFocusedItem( event );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis._toggle( event );\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase $.ui.keyCode.LEFT:\n\t\t\t\t\tthis._move( \"prev\", event );\n\t\t\t\t\tbreak;\n\t\t\t\tcase $.ui.keyCode.RIGHT:\n\t\t\t\t\tthis._move( \"next\", event );\n\t\t\t\t\tbreak;\n\t\t\t\tcase $.ui.keyCode.HOME:\n\t\t\t\tcase $.ui.keyCode.PAGE_UP:\n\t\t\t\t\tthis._move( \"first\", event );\n\t\t\t\t\tbreak;\n\t\t\t\tcase $.ui.keyCode.END:\n\t\t\t\tcase $.ui.keyCode.PAGE_DOWN:\n\t\t\t\t\tthis._move( \"last\", event );\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthis.menu.trigger( event );\n\t\t\t\t\tpreventDefault = false;\n\t\t\t}\n\n\t\t\tif ( preventDefault ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t}\n\t},\n\n\t_selectFocusedItem: function( event ) {\n\t\tvar item = this.menuItems.eq( this.focusIndex );\n\t\tif ( !item.hasClass( \"ui-state-disabled\" ) ) {\n\t\t\tthis._select( item.data( \"ui-selectmenu-item\" ), event );\n\t\t}\n\t},\n\n\t_select: function( item, event ) {\n\t\tvar oldIndex = this.element[ 0 ].selectedIndex;\n\n\t\t// Change native select element\n\t\tthis.element[ 0 ].selectedIndex = item.index;\n\t\tthis._setText( this.buttonText, item.label );\n\t\tthis._setAria( item );\n\t\tthis._trigger( \"select\", event, { item: item } );\n\n\t\tif ( item.index !== oldIndex ) {\n\t\t\tthis._trigger( \"change\", event, { item: item } );\n\t\t}\n\n\t\tthis.close( event );\n\t},\n\n\t_setAria: function( item ) {\n\t\tvar id = this.menuItems.eq( item.index ).attr( \"id\" );\n\n\t\tthis.button.attr({\n\t\t\t\"aria-labelledby\": id,\n\t\t\t\"aria-activedescendant\": id\n\t\t});\n\t\tthis.menu.attr( \"aria-activedescendant\", id );\n\t},\n\n\t_setOption: function( key, value ) {\n\t\tif ( key === \"icons\" ) {\n\t\t\tthis.button.find( \"span.ui-icon\" )\n\t\t\t\t.removeClass( this.options.icons.button )\n\t\t\t\t.addClass( value.button );\n\t\t}\n\n\t\tthis._super( key, value );\n\n\t\tif ( key === \"appendTo\" ) {\n\t\t\tthis.menuWrap.appendTo( this._appendTo() );\n\t\t}\n\n\t\tif ( key === \"disabled\" ) {\n\t\t\tthis.menuInstance.option( \"disabled\", value );\n\t\t\tthis.button\n\t\t\t\t.toggleClass( \"ui-state-disabled\", value )\n\t\t\t\t.attr( \"aria-disabled\", value );\n\n\t\t\tthis.element.prop( \"disabled\", value );\n\t\t\tif ( value ) {\n\t\t\t\tthis.button.attr( \"tabindex\", -1 );\n\t\t\t\tthis.close();\n\t\t\t} else {\n\t\t\t\tthis.button.attr( \"tabindex\", 0 );\n\t\t\t}\n\t\t}\n\n\t\tif ( key === \"width\" ) {\n\t\t\tthis._resizeButton();\n\t\t}\n\t},\n\n\t_appendTo: function() {\n\t\tvar element = this.options.appendTo;\n\n\t\tif ( element ) {\n\t\t\telement = element.jquery || element.nodeType ?\n\t\t\t\t$( element ) :\n\t\t\t\tthis.document.find( element ).eq( 0 );\n\t\t}\n\n\t\tif ( !element || !element[ 0 ] ) {\n\t\t\telement = this.element.closest( \".ui-front\" );\n\t\t}\n\n\t\tif ( !element.length ) {\n\t\t\telement = this.document[ 0 ].body;\n\t\t}\n\n\t\treturn element;\n\t},\n\n\t_toggleAttr: function() {\n\t\tthis.button\n\t\t\t.toggleClass( \"ui-corner-top\", this.isOpen )\n\t\t\t.toggleClass( \"ui-corner-all\", !this.isOpen )\n\t\t\t.attr( \"aria-expanded\", this.isOpen );\n\t\tthis.menuWrap.toggleClass( \"ui-selectmenu-open\", this.isOpen );\n\t\tthis.menu.attr( \"aria-hidden\", !this.isOpen );\n\t},\n\n\t_resizeButton: function() {\n\t\tvar width = this.options.width;\n\n\t\tif ( !width ) {\n\t\t\twidth = this.element.show().outerWidth();\n\t\t\tthis.element.hide();\n\t\t}\n\n\t\tthis.button.outerWidth( width );\n\t},\n\n\t_resizeMenu: function() {\n\t\tthis.menu.outerWidth( Math.max(\n\t\t\tthis.button.outerWidth(),\n\n\t\t\t// support: IE10\n\t\t\t// IE10 wraps long text (possibly a rounding bug)\n\t\t\t// so we add 1px to avoid the wrapping\n\t\t\tthis.menu.width( \"\" ).outerWidth() + 1\n\t\t) );\n\t},\n\n\t_getCreateOptions: function() {\n\t\treturn { disabled: this.element.prop( \"disabled\" ) };\n\t},\n\n\t_parseOptions: function( options ) {\n\t\tvar data = [];\n\t\toptions.each(function( index, item ) {\n\t\t\tvar option = $( item ),\n\t\t\t\toptgroup = option.parent( \"optgroup\" );\n\t\t\tdata.push({\n\t\t\t\telement: option,\n\t\t\t\tindex: index,\n\t\t\t\tvalue: option.val(),\n\t\t\t\tlabel: option.text(),\n\t\t\t\toptgroup: optgroup.attr( \"label\" ) || \"\",\n\t\t\t\tdisabled: optgroup.prop( \"disabled\" ) || option.prop( \"disabled\" )\n\t\t\t});\n\t\t});\n\t\tthis.items = data;\n\t},\n\n\t_destroy: function() {\n\t\tthis.menuWrap.remove();\n\t\tthis.button.remove();\n\t\tthis.element.show();\n\t\tthis.element.removeUniqueId();\n\t\tthis.label.attr( \"for\", this.ids.element );\n\t}\n});\n\n\n/*!\n * jQuery UI Slider 1.11.4\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/slider/\n */\n\n\nvar slider = $.widget( \"ui.slider\", $.ui.mouse, {\n\tversion: \"1.11.4\",\n\twidgetEventPrefix: \"slide\",\n\n\toptions: {\n\t\tanimate: false,\n\t\tdistance: 0,\n\t\tmax: 100,\n\t\tmin: 0,\n\t\torientation: \"horizontal\",\n\t\trange: false,\n\t\tstep: 1,\n\t\tvalue: 0,\n\t\tvalues: null,\n\n\t\t// callbacks\n\t\tchange: null,\n\t\tslide: null,\n\t\tstart: null,\n\t\tstop: null\n\t},\n\n\t// number of pages in a slider\n\t// (how many times can you page up/down to go through the whole range)\n\tnumPages: 5,\n\n\t_create: function() {\n\t\tthis._keySliding = false;\n\t\tthis._mouseSliding = false;\n\t\tthis._animateOff = true;\n\t\tthis._handleIndex = null;\n\t\tthis._detectOrientation();\n\t\tthis._mouseInit();\n\t\tthis._calculateNewMax();\n\n\t\tthis.element\n\t\t\t.addClass( \"ui-slider\" +\n\t\t\t\t\" ui-slider-\" + this.orientation +\n\t\t\t\t\" ui-widget\" +\n\t\t\t\t\" ui-widget-content\" +\n\t\t\t\t\" ui-corner-all\");\n\n\t\tthis._refresh();\n\t\tthis._setOption( \"disabled\", this.options.disabled );\n\n\t\tthis._animateOff = false;\n\t},\n\n\t_refresh: function() {\n\t\tthis._createRange();\n\t\tthis._createHandles();\n\t\tthis._setupEvents();\n\t\tthis._refreshValue();\n\t},\n\n\t_createHandles: function() {\n\t\tvar i, handleCount,\n\t\t\toptions = this.options,\n\t\t\texistingHandles = this.element.find( \".ui-slider-handle\" ).addClass( \"ui-state-default ui-corner-all\" ),\n\t\t\thandle = \"<span class='ui-slider-handle ui-state-default ui-corner-all' tabindex='0'></span>\",\n\t\t\thandles = [];\n\n\t\thandleCount = ( options.values && options.values.length ) || 1;\n\n\t\tif ( existingHandles.length > handleCount ) {\n\t\t\texistingHandles.slice( handleCount ).remove();\n\t\t\texistingHandles = existingHandles.slice( 0, handleCount );\n\t\t}\n\n\t\tfor ( i = existingHandles.length; i < handleCount; i++ ) {\n\t\t\thandles.push( handle );\n\t\t}\n\n\t\tthis.handles = existingHandles.add( $( handles.join( \"\" ) ).appendTo( this.element ) );\n\n\t\tthis.handle = this.handles.eq( 0 );\n\n\t\tthis.handles.each(function( i ) {\n\t\t\t$( this ).data( \"ui-slider-handle-index\", i );\n\t\t});\n\t},\n\n\t_createRange: function() {\n\t\tvar options = this.options,\n\t\t\tclasses = \"\";\n\n\t\tif ( options.range ) {\n\t\t\tif ( options.range === true ) {\n\t\t\t\tif ( !options.values ) {\n\t\t\t\t\toptions.values = [ this._valueMin(), this._valueMin() ];\n\t\t\t\t} else if ( options.values.length && options.values.length !== 2 ) {\n\t\t\t\t\toptions.values = [ options.values[0], options.values[0] ];\n\t\t\t\t} else if ( $.isArray( options.values ) ) {\n\t\t\t\t\toptions.values = options.values.slice(0);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( !this.range || !this.range.length ) {\n\t\t\t\tthis.range = $( \"<div></div>\" )\n\t\t\t\t\t.appendTo( this.element );\n\n\t\t\t\tclasses = \"ui-slider-range\" +\n\t\t\t\t// note: this isn't the most fittingly semantic framework class for this element,\n\t\t\t\t// but worked best visually with a variety of themes\n\t\t\t\t\" ui-widget-header ui-corner-all\";\n\t\t\t} else {\n\t\t\t\tthis.range.removeClass( \"ui-slider-range-min ui-slider-range-max\" )\n\t\t\t\t\t// Handle range switching from true to min/max\n\t\t\t\t\t.css({\n\t\t\t\t\t\t\"left\": \"\",\n\t\t\t\t\t\t\"bottom\": \"\"\n\t\t\t\t\t});\n\t\t\t}\n\n\t\t\tthis.range.addClass( classes +\n\t\t\t\t( ( options.range === \"min\" || options.range === \"max\" ) ? \" ui-slider-range-\" + options.range : \"\" ) );\n\t\t} else {\n\t\t\tif ( this.range ) {\n\t\t\t\tthis.range.remove();\n\t\t\t}\n\t\t\tthis.range = null;\n\t\t}\n\t},\n\n\t_setupEvents: function() {\n\t\tthis._off( this.handles );\n\t\tthis._on( this.handles, this._handleEvents );\n\t\tthis._hoverable( this.handles );\n\t\tthis._focusable( this.handles );\n\t},\n\n\t_destroy: function() {\n\t\tthis.handles.remove();\n\t\tif ( this.range ) {\n\t\t\tthis.range.remove();\n\t\t}\n\n\t\tthis.element\n\t\t\t.removeClass( \"ui-slider\" +\n\t\t\t\t\" ui-slider-horizontal\" +\n\t\t\t\t\" ui-slider-vertical\" +\n\t\t\t\t\" ui-widget\" +\n\t\t\t\t\" ui-widget-content\" +\n\t\t\t\t\" ui-corner-all\" );\n\n\t\tthis._mouseDestroy();\n\t},\n\n\t_mouseCapture: function( event ) {\n\t\tvar position, normValue, distance, closestHandle, index, allowed, offset, mouseOverHandle,\n\t\t\tthat = this,\n\t\t\to = this.options;\n\n\t\tif ( o.disabled ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tthis.elementSize = {\n\t\t\twidth: this.element.outerWidth(),\n\t\t\theight: this.element.outerHeight()\n\t\t};\n\t\tthis.elementOffset = this.element.offset();\n\n\t\tposition = { x: event.pageX, y: event.pageY };\n\t\tnormValue = this._normValueFromMouse( position );\n\t\tdistance = this._valueMax() - this._valueMin() + 1;\n\t\tthis.handles.each(function( i ) {\n\t\t\tvar thisDistance = Math.abs( normValue - that.values(i) );\n\t\t\tif (( distance > thisDistance ) ||\n\t\t\t\t( distance === thisDistance &&\n\t\t\t\t\t(i === that._lastChangedValue || that.values(i) === o.min ))) {\n\t\t\t\tdistance = thisDistance;\n\t\t\t\tclosestHandle = $( this );\n\t\t\t\tindex = i;\n\t\t\t}\n\t\t});\n\n\t\tallowed = this._start( event, index );\n\t\tif ( allowed === false ) {\n\t\t\treturn false;\n\t\t}\n\t\tthis._mouseSliding = true;\n\n\t\tthis._handleIndex = index;\n\n\t\tclosestHandle\n\t\t\t.addClass( \"ui-state-active\" )\n\t\t\t.focus();\n\n\t\toffset = closestHandle.offset();\n\t\tmouseOverHandle = !$( event.target ).parents().addBack().is( \".ui-slider-handle\" );\n\t\tthis._clickOffset = mouseOverHandle ? { left: 0, top: 0 } : {\n\t\t\tleft: event.pageX - offset.left - ( closestHandle.width() / 2 ),\n\t\t\ttop: event.pageY - offset.top -\n\t\t\t\t( closestHandle.height() / 2 ) -\n\t\t\t\t( parseInt( closestHandle.css(\"borderTopWidth\"), 10 ) || 0 ) -\n\t\t\t\t( parseInt( closestHandle.css(\"borderBottomWidth\"), 10 ) || 0) +\n\t\t\t\t( parseInt( closestHandle.css(\"marginTop\"), 10 ) || 0)\n\t\t};\n\n\t\tif ( !this.handles.hasClass( \"ui-state-hover\" ) ) {\n\t\t\tthis._slide( event, index, normValue );\n\t\t}\n\t\tthis._animateOff = true;\n\t\treturn true;\n\t},\n\n\t_mouseStart: function() {\n\t\treturn true;\n\t},\n\n\t_mouseDrag: function( event ) {\n\t\tvar position = { x: event.pageX, y: event.pageY },\n\t\t\tnormValue = this._normValueFromMouse( position );\n\n\t\tthis._slide( event, this._handleIndex, normValue );\n\n\t\treturn false;\n\t},\n\n\t_mouseStop: function( event ) {\n\t\tthis.handles.removeClass( \"ui-state-active\" );\n\t\tthis._mouseSliding = false;\n\n\t\tthis._stop( event, this._handleIndex );\n\t\tthis._change( event, this._handleIndex );\n\n\t\tthis._handleIndex = null;\n\t\tthis._clickOffset = null;\n\t\tthis._animateOff = false;\n\n\t\treturn false;\n\t},\n\n\t_detectOrientation: function() {\n\t\tthis.orientation = ( this.options.orientation === \"vertical\" ) ? \"vertical\" : \"horizontal\";\n\t},\n\n\t_normValueFromMouse: function( position ) {\n\t\tvar pixelTotal,\n\t\t\tpixelMouse,\n\t\t\tpercentMouse,\n\t\t\tvalueTotal,\n\t\t\tvalueMouse;\n\n\t\tif ( this.orientation === \"horizontal\" ) {\n\t\t\tpixelTotal = this.elementSize.width;\n\t\t\tpixelMouse = position.x - this.elementOffset.left - ( this._clickOffset ? this._clickOffset.left : 0 );\n\t\t} else {\n\t\t\tpixelTotal = this.elementSize.height;\n\t\t\tpixelMouse = position.y - this.elementOffset.top - ( this._clickOffset ? this._clickOffset.top : 0 );\n\t\t}\n\n\t\tpercentMouse = ( pixelMouse / pixelTotal );\n\t\tif ( percentMouse > 1 ) {\n\t\t\tpercentMouse = 1;\n\t\t}\n\t\tif ( percentMouse < 0 ) {\n\t\t\tpercentMouse = 0;\n\t\t}\n\t\tif ( this.orientation === \"vertical\" ) {\n\t\t\tpercentMouse = 1 - percentMouse;\n\t\t}\n\n\t\tvalueTotal = this._valueMax() - this._valueMin();\n\t\tvalueMouse = this._valueMin() + percentMouse * valueTotal;\n\n\t\treturn this._trimAlignValue( valueMouse );\n\t},\n\n\t_start: function( event, index ) {\n\t\tvar uiHash = {\n\t\t\thandle: this.handles[ index ],\n\t\t\tvalue: this.value()\n\t\t};\n\t\tif ( this.options.values && this.options.values.length ) {\n\t\t\tuiHash.value = this.values( index );\n\t\t\tuiHash.values = this.values();\n\t\t}\n\t\treturn this._trigger( \"start\", event, uiHash );\n\t},\n\n\t_slide: function( event, index, newVal ) {\n\t\tvar otherVal,\n\t\t\tnewValues,\n\t\t\tallowed;\n\n\t\tif ( this.options.values && this.options.values.length ) {\n\t\t\totherVal = this.values( index ? 0 : 1 );\n\n\t\t\tif ( ( this.options.values.length === 2 && this.options.range === true ) &&\n\t\t\t\t\t( ( index === 0 && newVal > otherVal) || ( index === 1 && newVal < otherVal ) )\n\t\t\t\t) {\n\t\t\t\tnewVal = otherVal;\n\t\t\t}\n\n\t\t\tif ( newVal !== this.values( index ) ) {\n\t\t\t\tnewValues = this.values();\n\t\t\t\tnewValues[ index ] = newVal;\n\t\t\t\t// A slide can be canceled by returning false from the slide callback\n\t\t\t\tallowed = this._trigger( \"slide\", event, {\n\t\t\t\t\thandle: this.handles[ index ],\n\t\t\t\t\tvalue: newVal,\n\t\t\t\t\tvalues: newValues\n\t\t\t\t} );\n\t\t\t\totherVal = this.values( index ? 0 : 1 );\n\t\t\t\tif ( allowed !== false ) {\n\t\t\t\t\tthis.values( index, newVal );\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tif ( newVal !== this.value() ) {\n\t\t\t\t// A slide can be canceled by returning false from the slide callback\n\t\t\t\tallowed = this._trigger( \"slide\", event, {\n\t\t\t\t\thandle: this.handles[ index ],\n\t\t\t\t\tvalue: newVal\n\t\t\t\t} );\n\t\t\t\tif ( allowed !== false ) {\n\t\t\t\t\tthis.value( newVal );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\t_stop: function( event, index ) {\n\t\tvar uiHash = {\n\t\t\thandle: this.handles[ index ],\n\t\t\tvalue: this.value()\n\t\t};\n\t\tif ( this.options.values && this.options.values.length ) {\n\t\t\tuiHash.value = this.values( index );\n\t\t\tuiHash.values = this.values();\n\t\t}\n\n\t\tthis._trigger( \"stop\", event, uiHash );\n\t},\n\n\t_change: function( event, index ) {\n\t\tif ( !this._keySliding && !this._mouseSliding ) {\n\t\t\tvar uiHash = {\n\t\t\t\thandle: this.handles[ index ],\n\t\t\t\tvalue: this.value()\n\t\t\t};\n\t\t\tif ( this.options.values && this.options.values.length ) {\n\t\t\t\tuiHash.value = this.values( index );\n\t\t\t\tuiHash.values = this.values();\n\t\t\t}\n\n\t\t\t//store the last changed value index for reference when handles overlap\n\t\t\tthis._lastChangedValue = index;\n\n\t\t\tthis._trigger( \"change\", event, uiHash );\n\t\t}\n\t},\n\n\tvalue: function( newValue ) {\n\t\tif ( arguments.length ) {\n\t\t\tthis.options.value = this._trimAlignValue( newValue );\n\t\t\tthis._refreshValue();\n\t\t\tthis._change( null, 0 );\n\t\t\treturn;\n\t\t}\n\n\t\treturn this._value();\n\t},\n\n\tvalues: function( index, newValue ) {\n\t\tvar vals,\n\t\t\tnewValues,\n\t\t\ti;\n\n\t\tif ( arguments.length > 1 ) {\n\t\t\tthis.options.values[ index ] = this._trimAlignValue( newValue );\n\t\t\tthis._refreshValue();\n\t\t\tthis._change( null, index );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( arguments.length ) {\n\t\t\tif ( $.isArray( arguments[ 0 ] ) ) {\n\t\t\t\tvals = this.options.values;\n\t\t\t\tnewValues = arguments[ 0 ];\n\t\t\t\tfor ( i = 0; i < vals.length; i += 1 ) {\n\t\t\t\t\tvals[ i ] = this._trimAlignValue( newValues[ i ] );\n\t\t\t\t\tthis._change( null, i );\n\t\t\t\t}\n\t\t\t\tthis._refreshValue();\n\t\t\t} else {\n\t\t\t\tif ( this.options.values && this.options.values.length ) {\n\t\t\t\t\treturn this._values( index );\n\t\t\t\t} else {\n\t\t\t\t\treturn this.value();\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\treturn this._values();\n\t\t}\n\t},\n\n\t_setOption: function( key, value ) {\n\t\tvar i,\n\t\t\tvalsLength = 0;\n\n\t\tif ( key === \"range\" && this.options.range === true ) {\n\t\t\tif ( value === \"min\" ) {\n\t\t\t\tthis.options.value = this._values( 0 );\n\t\t\t\tthis.options.values = null;\n\t\t\t} else if ( value === \"max\" ) {\n\t\t\t\tthis.options.value = this._values( this.options.values.length - 1 );\n\t\t\t\tthis.options.values = null;\n\t\t\t}\n\t\t}\n\n\t\tif ( $.isArray( this.options.values ) ) {\n\t\t\tvalsLength = this.options.values.length;\n\t\t}\n\n\t\tif ( key === \"disabled\" ) {\n\t\t\tthis.element.toggleClass( \"ui-state-disabled\", !!value );\n\t\t}\n\n\t\tthis._super( key, value );\n\n\t\tswitch ( key ) {\n\t\t\tcase \"orientation\":\n\t\t\t\tthis._detectOrientation();\n\t\t\t\tthis.element\n\t\t\t\t\t.removeClass( \"ui-slider-horizontal ui-slider-vertical\" )\n\t\t\t\t\t.addClass( \"ui-slider-\" + this.orientation );\n\t\t\t\tthis._refreshValue();\n\n\t\t\t\t// Reset positioning from previous orientation\n\t\t\t\tthis.handles.css( value === \"horizontal\" ? \"bottom\" : \"left\", \"\" );\n\t\t\t\tbreak;\n\t\t\tcase \"value\":\n\t\t\t\tthis._animateOff = true;\n\t\t\t\tthis._refreshValue();\n\t\t\t\tthis._change( null, 0 );\n\t\t\t\tthis._animateOff = false;\n\t\t\t\tbreak;\n\t\t\tcase \"values\":\n\t\t\t\tthis._animateOff = true;\n\t\t\t\tthis._refreshValue();\n\t\t\t\tfor ( i = 0; i < valsLength; i += 1 ) {\n\t\t\t\t\tthis._change( null, i );\n\t\t\t\t}\n\t\t\t\tthis._animateOff = false;\n\t\t\t\tbreak;\n\t\t\tcase \"step\":\n\t\t\tcase \"min\":\n\t\t\tcase \"max\":\n\t\t\t\tthis._animateOff = true;\n\t\t\t\tthis._calculateNewMax();\n\t\t\t\tthis._refreshValue();\n\t\t\t\tthis._animateOff = false;\n\t\t\t\tbreak;\n\t\t\tcase \"range\":\n\t\t\t\tthis._animateOff = true;\n\t\t\t\tthis._refresh();\n\t\t\t\tthis._animateOff = false;\n\t\t\t\tbreak;\n\t\t}\n\t},\n\n\t//internal value getter\n\t// _value() returns value trimmed by min and max, aligned by step\n\t_value: function() {\n\t\tvar val = this.options.value;\n\t\tval = this._trimAlignValue( val );\n\n\t\treturn val;\n\t},\n\n\t//internal values getter\n\t// _values() returns array of values trimmed by min and max, aligned by step\n\t// _values( index ) returns single value trimmed by min and max, aligned by step\n\t_values: function( index ) {\n\t\tvar val,\n\t\t\tvals,\n\t\t\ti;\n\n\t\tif ( arguments.length ) {\n\t\t\tval = this.options.values[ index ];\n\t\t\tval = this._trimAlignValue( val );\n\n\t\t\treturn val;\n\t\t} else if ( this.options.values && this.options.values.length ) {\n\t\t\t// .slice() creates a copy of the array\n\t\t\t// this copy gets trimmed by min and max and then returned\n\t\t\tvals = this.options.values.slice();\n\t\t\tfor ( i = 0; i < vals.length; i += 1) {\n\t\t\t\tvals[ i ] = this._trimAlignValue( vals[ i ] );\n\t\t\t}\n\n\t\t\treturn vals;\n\t\t} else {\n\t\t\treturn [];\n\t\t}\n\t},\n\n\t// returns the step-aligned value that val is closest to, between (inclusive) min and max\n\t_trimAlignValue: function( val ) {\n\t\tif ( val <= this._valueMin() ) {\n\t\t\treturn this._valueMin();\n\t\t}\n\t\tif ( val >= this._valueMax() ) {\n\t\t\treturn this._valueMax();\n\t\t}\n\t\tvar step = ( this.options.step > 0 ) ? this.options.step : 1,\n\t\t\tvalModStep = (val - this._valueMin()) % step,\n\t\t\talignValue = val - valModStep;\n\n\t\tif ( Math.abs(valModStep) * 2 >= step ) {\n\t\t\talignValue += ( valModStep > 0 ) ? step : ( -step );\n\t\t}\n\n\t\t// Since JavaScript has problems with large floats, round\n\t\t// the final value to 5 digits after the decimal point (see #4124)\n\t\treturn parseFloat( alignValue.toFixed(5) );\n\t},\n\n\t_calculateNewMax: function() {\n\t\tvar max = this.options.max,\n\t\t\tmin = this._valueMin(),\n\t\t\tstep = this.options.step,\n\t\t\taboveMin = Math.floor( ( +( max - min ).toFixed( this._precision() ) ) / step ) * step;\n\t\tmax = aboveMin + min;\n\t\tthis.max = parseFloat( max.toFixed( this._precision() ) );\n\t},\n\n\t_precision: function() {\n\t\tvar precision = this._precisionOf( this.options.step );\n\t\tif ( this.options.min !== null ) {\n\t\t\tprecision = Math.max( precision, this._precisionOf( this.options.min ) );\n\t\t}\n\t\treturn precision;\n\t},\n\n\t_precisionOf: function( num ) {\n\t\tvar str = num.toString(),\n\t\t\tdecimal = str.indexOf( \".\" );\n\t\treturn decimal === -1 ? 0 : str.length - decimal - 1;\n\t},\n\n\t_valueMin: function() {\n\t\treturn this.options.min;\n\t},\n\n\t_valueMax: function() {\n\t\treturn this.max;\n\t},\n\n\t_refreshValue: function() {\n\t\tvar lastValPercent, valPercent, value, valueMin, valueMax,\n\t\t\toRange = this.options.range,\n\t\t\to = this.options,\n\t\t\tthat = this,\n\t\t\tanimate = ( !this._animateOff ) ? o.animate : false,\n\t\t\t_set = {};\n\n\t\tif ( this.options.values && this.options.values.length ) {\n\t\t\tthis.handles.each(function( i ) {\n\t\t\t\tvalPercent = ( that.values(i) - that._valueMin() ) / ( that._valueMax() - that._valueMin() ) * 100;\n\t\t\t\t_set[ that.orientation === \"horizontal\" ? \"left\" : \"bottom\" ] = valPercent + \"%\";\n\t\t\t\t$( this ).stop( 1, 1 )[ animate ? \"animate\" : \"css\" ]( _set, o.animate );\n\t\t\t\tif ( that.options.range === true ) {\n\t\t\t\t\tif ( that.orientation === \"horizontal\" ) {\n\t\t\t\t\t\tif ( i === 0 ) {\n\t\t\t\t\t\t\tthat.range.stop( 1, 1 )[ animate ? \"animate\" : \"css\" ]( { left: valPercent + \"%\" }, o.animate );\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( i === 1 ) {\n\t\t\t\t\t\t\tthat.range[ animate ? \"animate\" : \"css\" ]( { width: ( valPercent - lastValPercent ) + \"%\" }, { queue: false, duration: o.animate } );\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif ( i === 0 ) {\n\t\t\t\t\t\t\tthat.range.stop( 1, 1 )[ animate ? \"animate\" : \"css\" ]( { bottom: ( valPercent ) + \"%\" }, o.animate );\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( i === 1 ) {\n\t\t\t\t\t\t\tthat.range[ animate ? \"animate\" : \"css\" ]( { height: ( valPercent - lastValPercent ) + \"%\" }, { queue: false, duration: o.animate } );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tlastValPercent = valPercent;\n\t\t\t});\n\t\t} else {\n\t\t\tvalue = this.value();\n\t\t\tvalueMin = this._valueMin();\n\t\t\tvalueMax = this._valueMax();\n\t\t\tvalPercent = ( valueMax !== valueMin ) ?\n\t\t\t\t\t( value - valueMin ) / ( valueMax - valueMin ) * 100 :\n\t\t\t\t\t0;\n\t\t\t_set[ this.orientation === \"horizontal\" ? \"left\" : \"bottom\" ] = valPercent + \"%\";\n\t\t\tthis.handle.stop( 1, 1 )[ animate ? \"animate\" : \"css\" ]( _set, o.animate );\n\n\t\t\tif ( oRange === \"min\" && this.orientation === \"horizontal\" ) {\n\t\t\t\tthis.range.stop( 1, 1 )[ animate ? \"animate\" : \"css\" ]( { width: valPercent + \"%\" }, o.animate );\n\t\t\t}\n\t\t\tif ( oRange === \"max\" && this.orientation === \"horizontal\" ) {\n\t\t\t\tthis.range[ animate ? \"animate\" : \"css\" ]( { width: ( 100 - valPercent ) + \"%\" }, { queue: false, duration: o.animate } );\n\t\t\t}\n\t\t\tif ( oRange === \"min\" && this.orientation === \"vertical\" ) {\n\t\t\t\tthis.range.stop( 1, 1 )[ animate ? \"animate\" : \"css\" ]( { height: valPercent + \"%\" }, o.animate );\n\t\t\t}\n\t\t\tif ( oRange === \"max\" && this.orientation === \"vertical\" ) {\n\t\t\t\tthis.range[ animate ? \"animate\" : \"css\" ]( { height: ( 100 - valPercent ) + \"%\" }, { queue: false, duration: o.animate } );\n\t\t\t}\n\t\t}\n\t},\n\n\t_handleEvents: {\n\t\tkeydown: function( event ) {\n\t\t\tvar allowed, curVal, newVal, step,\n\t\t\t\tindex = $( event.target ).data( \"ui-slider-handle-index\" );\n\n\t\t\tswitch ( event.keyCode ) {\n\t\t\t\tcase $.ui.keyCode.HOME:\n\t\t\t\tcase $.ui.keyCode.END:\n\t\t\t\tcase $.ui.keyCode.PAGE_UP:\n\t\t\t\tcase $.ui.keyCode.PAGE_DOWN:\n\t\t\t\tcase $.ui.keyCode.UP:\n\t\t\t\tcase $.ui.keyCode.RIGHT:\n\t\t\t\tcase $.ui.keyCode.DOWN:\n\t\t\t\tcase $.ui.keyCode.LEFT:\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tif ( !this._keySliding ) {\n\t\t\t\t\t\tthis._keySliding = true;\n\t\t\t\t\t\t$( event.target ).addClass( \"ui-state-active\" );\n\t\t\t\t\t\tallowed = this._start( event, index );\n\t\t\t\t\t\tif ( allowed === false ) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tstep = this.options.step;\n\t\t\tif ( this.options.values && this.options.values.length ) {\n\t\t\t\tcurVal = newVal = this.values( index );\n\t\t\t} else {\n\t\t\t\tcurVal = newVal = this.value();\n\t\t\t}\n\n\t\t\tswitch ( event.keyCode ) {\n\t\t\t\tcase $.ui.keyCode.HOME:\n\t\t\t\t\tnewVal = this._valueMin();\n\t\t\t\t\tbreak;\n\t\t\t\tcase $.ui.keyCode.END:\n\t\t\t\t\tnewVal = this._valueMax();\n\t\t\t\t\tbreak;\n\t\t\t\tcase $.ui.keyCode.PAGE_UP:\n\t\t\t\t\tnewVal = this._trimAlignValue(\n\t\t\t\t\t\tcurVal + ( ( this._valueMax() - this._valueMin() ) / this.numPages )\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t\tcase $.ui.keyCode.PAGE_DOWN:\n\t\t\t\t\tnewVal = this._trimAlignValue(\n\t\t\t\t\t\tcurVal - ( (this._valueMax() - this._valueMin()) / this.numPages ) );\n\t\t\t\t\tbreak;\n\t\t\t\tcase $.ui.keyCode.UP:\n\t\t\t\tcase $.ui.keyCode.RIGHT:\n\t\t\t\t\tif ( curVal === this._valueMax() ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tnewVal = this._trimAlignValue( curVal + step );\n\t\t\t\t\tbreak;\n\t\t\t\tcase $.ui.keyCode.DOWN:\n\t\t\t\tcase $.ui.keyCode.LEFT:\n\t\t\t\t\tif ( curVal === this._valueMin() ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tnewVal = this._trimAlignValue( curVal - step );\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tthis._slide( event, index, newVal );\n\t\t},\n\t\tkeyup: function( event ) {\n\t\t\tvar index = $( event.target ).data( \"ui-slider-handle-index\" );\n\n\t\t\tif ( this._keySliding ) {\n\t\t\t\tthis._keySliding = false;\n\t\t\t\tthis._stop( event, index );\n\t\t\t\tthis._change( event, index );\n\t\t\t\t$( event.target ).removeClass( \"ui-state-active\" );\n\t\t\t}\n\t\t}\n\t}\n});\n\n\n/*!\n * jQuery UI Sortable 1.11.4\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/sortable/\n */\n\n\nvar sortable = $.widget(\"ui.sortable\", $.ui.mouse, {\n\tversion: \"1.11.4\",\n\twidgetEventPrefix: \"sort\",\n\tready: false,\n\toptions: {\n\t\tappendTo: \"parent\",\n\t\taxis: false,\n\t\tconnectWith: false,\n\t\tcontainment: false,\n\t\tcursor: \"auto\",\n\t\tcursorAt: false,\n\t\tdropOnEmpty: true,\n\t\tforcePlaceholderSize: false,\n\t\tforceHelperSize: false,\n\t\tgrid: false,\n\t\thandle: false,\n\t\thelper: \"original\",\n\t\titems: \"> *\",\n\t\topacity: false,\n\t\tplaceholder: false,\n\t\trevert: false,\n\t\tscroll: true,\n\t\tscrollSensitivity: 20,\n\t\tscrollSpeed: 20,\n\t\tscope: \"default\",\n\t\ttolerance: \"intersect\",\n\t\tzIndex: 1000,\n\n\t\t// callbacks\n\t\tactivate: null,\n\t\tbeforeStop: null,\n\t\tchange: null,\n\t\tdeactivate: null,\n\t\tout: null,\n\t\tover: null,\n\t\treceive: null,\n\t\tremove: null,\n\t\tsort: null,\n\t\tstart: null,\n\t\tstop: null,\n\t\tupdate: null\n\t},\n\n\t_isOverAxis: function( x, reference, size ) {\n\t\treturn ( x >= reference ) && ( x < ( reference + size ) );\n\t},\n\n\t_isFloating: function( item ) {\n\t\treturn (/left|right/).test(item.css(\"float\")) || (/inline|table-cell/).test(item.css(\"display\"));\n\t},\n\n\t_create: function() {\n\t\tthis.containerCache = {};\n\t\tthis.element.addClass(\"ui-sortable\");\n\n\t\t//Get the items\n\t\tthis.refresh();\n\n\t\t//Let's determine the parent's offset\n\t\tthis.offset = this.element.offset();\n\n\t\t//Initialize mouse events for interaction\n\t\tthis._mouseInit();\n\n\t\tthis._setHandleClassName();\n\n\t\t//We're ready to go\n\t\tthis.ready = true;\n\n\t},\n\n\t_setOption: function( key, value ) {\n\t\tthis._super( key, value );\n\n\t\tif ( key === \"handle\" ) {\n\t\t\tthis._setHandleClassName();\n\t\t}\n\t},\n\n\t_setHandleClassName: function() {\n\t\tthis.element.find( \".ui-sortable-handle\" ).removeClass( \"ui-sortable-handle\" );\n\t\t$.each( this.items, function() {\n\t\t\t( this.instance.options.handle ?\n\t\t\t\tthis.item.find( this.instance.options.handle ) : this.item )\n\t\t\t\t.addClass( \"ui-sortable-handle\" );\n\t\t});\n\t},\n\n\t_destroy: function() {\n\t\tthis.element\n\t\t\t.removeClass( \"ui-sortable ui-sortable-disabled\" )\n\t\t\t.find( \".ui-sortable-handle\" )\n\t\t\t\t.removeClass( \"ui-sortable-handle\" );\n\t\tthis._mouseDestroy();\n\n\t\tfor ( var i = this.items.length - 1; i >= 0; i-- ) {\n\t\t\tthis.items[i].item.removeData(this.widgetName + \"-item\");\n\t\t}\n\n\t\treturn this;\n\t},\n\n\t_mouseCapture: function(event, overrideHandle) {\n\t\tvar currentItem = null,\n\t\t\tvalidHandle = false,\n\t\t\tthat = this;\n\n\t\tif (this.reverting) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif(this.options.disabled || this.options.type === \"static\") {\n\t\t\treturn false;\n\t\t}\n\n\t\t//We have to refresh the items data once first\n\t\tthis._refreshItems(event);\n\n\t\t//Find out if the clicked node (or one of its parents) is a actual item in this.items\n\t\t$(event.target).parents().each(function() {\n\t\t\tif($.data(this, that.widgetName + \"-item\") === that) {\n\t\t\t\tcurrentItem = $(this);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\t\tif($.data(event.target, that.widgetName + \"-item\") === that) {\n\t\t\tcurrentItem = $(event.target);\n\t\t}\n\n\t\tif(!currentItem) {\n\t\t\treturn false;\n\t\t}\n\t\tif(this.options.handle && !overrideHandle) {\n\t\t\t$(this.options.handle, currentItem).find(\"*\").addBack().each(function() {\n\t\t\t\tif(this === event.target) {\n\t\t\t\t\tvalidHandle = true;\n\t\t\t\t}\n\t\t\t});\n\t\t\tif(!validHandle) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tthis.currentItem = currentItem;\n\t\tthis._removeCurrentsFromItems();\n\t\treturn true;\n\n\t},\n\n\t_mouseStart: function(event, overrideHandle, noActivation) {\n\n\t\tvar i, body,\n\t\t\to = this.options;\n\n\t\tthis.currentContainer = this;\n\n\t\t//We only need to call refreshPositions, because the refreshItems call has been moved to mouseCapture\n\t\tthis.refreshPositions();\n\n\t\t//Create and append the visible helper\n\t\tthis.helper = this._createHelper(event);\n\n\t\t//Cache the helper size\n\t\tthis._cacheHelperProportions();\n\n\t\t/*\n\t\t * - Position generation -\n\t\t * This block generates everything position related - it's the core of draggables.\n\t\t */\n\n\t\t//Cache the margins of the original element\n\t\tthis._cacheMargins();\n\n\t\t//Get the next scrolling parent\n\t\tthis.scrollParent = this.helper.scrollParent();\n\n\t\t//The element's absolute position on the page minus margins\n\t\tthis.offset = this.currentItem.offset();\n\t\tthis.offset = {\n\t\t\ttop: this.offset.top - this.margins.top,\n\t\t\tleft: this.offset.left - this.margins.left\n\t\t};\n\n\t\t$.extend(this.offset, {\n\t\t\tclick: { //Where the click happened, relative to the element\n\t\t\t\tleft: event.pageX - this.offset.left,\n\t\t\t\ttop: event.pageY - this.offset.top\n\t\t\t},\n\t\t\tparent: this._getParentOffset(),\n\t\t\trelative: this._getRelativeOffset() //This is a relative to absolute position minus the actual position calculation - only used for relative positioned helper\n\t\t});\n\n\t\t// Only after we got the offset, we can change the helper's position to absolute\n\t\t// TODO: Still need to figure out a way to make relative sorting possible\n\t\tthis.helper.css(\"position\", \"absolute\");\n\t\tthis.cssPosition = this.helper.css(\"position\");\n\n\t\t//Generate the original position\n\t\tthis.originalPosition = this._generatePosition(event);\n\t\tthis.originalPageX = event.pageX;\n\t\tthis.originalPageY = event.pageY;\n\n\t\t//Adjust the mouse offset relative to the helper if \"cursorAt\" is supplied\n\t\t(o.cursorAt && this._adjustOffsetFromHelper(o.cursorAt));\n\n\t\t//Cache the former DOM position\n\t\tthis.domPosition = { prev: this.currentItem.prev()[0], parent: this.currentItem.parent()[0] };\n\n\t\t//If the helper is not the original, hide the original so it's not playing any role during the drag, won't cause anything bad this way\n\t\tif(this.helper[0] !== this.currentItem[0]) {\n\t\t\tthis.currentItem.hide();\n\t\t}\n\n\t\t//Create the placeholder\n\t\tthis._createPlaceholder();\n\n\t\t//Set a containment if given in the options\n\t\tif(o.containment) {\n\t\t\tthis._setContainment();\n\t\t}\n\n\t\tif( o.cursor && o.cursor !== \"auto\" ) { // cursor option\n\t\t\tbody = this.document.find( \"body\" );\n\n\t\t\t// support: IE\n\t\t\tthis.storedCursor = body.css( \"cursor\" );\n\t\t\tbody.css( \"cursor\", o.cursor );\n\n\t\t\tthis.storedStylesheet = $( \"<style>*{ cursor: \"+o.cursor+\" !important; }</style>\" ).appendTo( body );\n\t\t}\n\n\t\tif(o.opacity) { // opacity option\n\t\t\tif (this.helper.css(\"opacity\")) {\n\t\t\t\tthis._storedOpacity = this.helper.css(\"opacity\");\n\t\t\t}\n\t\t\tthis.helper.css(\"opacity\", o.opacity);\n\t\t}\n\n\t\tif(o.zIndex) { // zIndex option\n\t\t\tif (this.helper.css(\"zIndex\")) {\n\t\t\t\tthis._storedZIndex = this.helper.css(\"zIndex\");\n\t\t\t}\n\t\t\tthis.helper.css(\"zIndex\", o.zIndex);\n\t\t}\n\n\t\t//Prepare scrolling\n\t\tif(this.scrollParent[0] !== this.document[0] && this.scrollParent[0].tagName !== \"HTML\") {\n\t\t\tthis.overflowOffset = this.scrollParent.offset();\n\t\t}\n\n\t\t//Call callbacks\n\t\tthis._trigger(\"start\", event, this._uiHash());\n\n\t\t//Recache the helper size\n\t\tif(!this._preserveHelperProportions) {\n\t\t\tthis._cacheHelperProportions();\n\t\t}\n\n\n\t\t//Post \"activate\" events to possible containers\n\t\tif( !noActivation ) {\n\t\t\tfor ( i = this.containers.length - 1; i >= 0; i-- ) {\n\t\t\t\tthis.containers[ i ]._trigger( \"activate\", event, this._uiHash( this ) );\n\t\t\t}\n\t\t}\n\n\t\t//Prepare possible droppables\n\t\tif($.ui.ddmanager) {\n\t\t\t$.ui.ddmanager.current = this;\n\t\t}\n\n\t\tif ($.ui.ddmanager && !o.dropBehaviour) {\n\t\t\t$.ui.ddmanager.prepareOffsets(this, event);\n\t\t}\n\n\t\tthis.dragging = true;\n\n\t\tthis.helper.addClass(\"ui-sortable-helper\");\n\t\tthis._mouseDrag(event); //Execute the drag once - this causes the helper not to be visible before getting its correct position\n\t\treturn true;\n\n\t},\n\n\t_mouseDrag: function(event) {\n\t\tvar i, item, itemElement, intersection,\n\t\t\to = this.options,\n\t\t\tscrolled = false;\n\n\t\t//Compute the helpers position\n\t\tthis.position = this._generatePosition(event);\n\t\tthis.positionAbs = this._convertPositionTo(\"absolute\");\n\n\t\tif (!this.lastPositionAbs) {\n\t\t\tthis.lastPositionAbs = this.positionAbs;\n\t\t}\n\n\t\t//Do scrolling\n\t\tif(this.options.scroll) {\n\t\t\tif(this.scrollParent[0] !== this.document[0] && this.scrollParent[0].tagName !== \"HTML\") {\n\n\t\t\t\tif((this.overflowOffset.top + this.scrollParent[0].offsetHeight) - event.pageY < o.scrollSensitivity) {\n\t\t\t\t\tthis.scrollParent[0].scrollTop = scrolled = this.scrollParent[0].scrollTop + o.scrollSpeed;\n\t\t\t\t} else if(event.pageY - this.overflowOffset.top < o.scrollSensitivity) {\n\t\t\t\t\tthis.scrollParent[0].scrollTop = scrolled = this.scrollParent[0].scrollTop - o.scrollSpeed;\n\t\t\t\t}\n\n\t\t\t\tif((this.overflowOffset.left + this.scrollParent[0].offsetWidth) - event.pageX < o.scrollSensitivity) {\n\t\t\t\t\tthis.scrollParent[0].scrollLeft = scrolled = this.scrollParent[0].scrollLeft + o.scrollSpeed;\n\t\t\t\t} else if(event.pageX - this.overflowOffset.left < o.scrollSensitivity) {\n\t\t\t\t\tthis.scrollParent[0].scrollLeft = scrolled = this.scrollParent[0].scrollLeft - o.scrollSpeed;\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\tif(event.pageY - this.document.scrollTop() < o.scrollSensitivity) {\n\t\t\t\t\tscrolled = this.document.scrollTop(this.document.scrollTop() - o.scrollSpeed);\n\t\t\t\t} else if(this.window.height() - (event.pageY - this.document.scrollTop()) < o.scrollSensitivity) {\n\t\t\t\t\tscrolled = this.document.scrollTop(this.document.scrollTop() + o.scrollSpeed);\n\t\t\t\t}\n\n\t\t\t\tif(event.pageX - this.document.scrollLeft() < o.scrollSensitivity) {\n\t\t\t\t\tscrolled = this.document.scrollLeft(this.document.scrollLeft() - o.scrollSpeed);\n\t\t\t\t} else if(this.window.width() - (event.pageX - this.document.scrollLeft()) < o.scrollSensitivity) {\n\t\t\t\t\tscrolled = this.document.scrollLeft(this.document.scrollLeft() + o.scrollSpeed);\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tif(scrolled !== false && $.ui.ddmanager && !o.dropBehaviour) {\n\t\t\t\t$.ui.ddmanager.prepareOffsets(this, event);\n\t\t\t}\n\t\t}\n\n\t\t//Regenerate the absolute position used for position checks\n\t\tthis.positionAbs = this._convertPositionTo(\"absolute\");\n\n\t\t//Set the helper position\n\t\tif(!this.options.axis || this.options.axis !== \"y\") {\n\t\t\tthis.helper[0].style.left = this.position.left+\"px\";\n\t\t}\n\t\tif(!this.options.axis || this.options.axis !== \"x\") {\n\t\t\tthis.helper[0].style.top = this.position.top+\"px\";\n\t\t}\n\n\t\t//Rearrange\n\t\tfor (i = this.items.length - 1; i >= 0; i--) {\n\n\t\t\t//Cache variables and intersection, continue if no intersection\n\t\t\titem = this.items[i];\n\t\t\titemElement = item.item[0];\n\t\t\tintersection = this._intersectsWithPointer(item);\n\t\t\tif (!intersection) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Only put the placeholder inside the current Container, skip all\n\t\t\t// items from other containers. This works because when moving\n\t\t\t// an item from one container to another the\n\t\t\t// currentContainer is switched before the placeholder is moved.\n\t\t\t//\n\t\t\t// Without this, moving items in \"sub-sortables\" can cause\n\t\t\t// the placeholder to jitter between the outer and inner container.\n\t\t\tif (item.instance !== this.currentContainer) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// cannot intersect with itself\n\t\t\t// no useless actions that have been done before\n\t\t\t// no action if the item moved is the parent of the item checked\n\t\t\tif (itemElement !== this.currentItem[0] &&\n\t\t\t\tthis.placeholder[intersection === 1 ? \"next\" : \"prev\"]()[0] !== itemElement &&\n\t\t\t\t!$.contains(this.placeholder[0], itemElement) &&\n\t\t\t\t(this.options.type === \"semi-dynamic\" ? !$.contains(this.element[0], itemElement) : true)\n\t\t\t) {\n\n\t\t\t\tthis.direction = intersection === 1 ? \"down\" : \"up\";\n\n\t\t\t\tif (this.options.tolerance === \"pointer\" || this._intersectsWithSides(item)) {\n\t\t\t\t\tthis._rearrange(event, item);\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tthis._trigger(\"change\", event, this._uiHash());\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t//Post events to containers\n\t\tthis._contactContainers(event);\n\n\t\t//Interconnect with droppables\n\t\tif($.ui.ddmanager) {\n\t\t\t$.ui.ddmanager.drag(this, event);\n\t\t}\n\n\t\t//Call callbacks\n\t\tthis._trigger(\"sort\", event, this._uiHash());\n\n\t\tthis.lastPositionAbs = this.positionAbs;\n\t\treturn false;\n\n\t},\n\n\t_mouseStop: function(event, noPropagation) {\n\n\t\tif(!event) {\n\t\t\treturn;\n\t\t}\n\n\t\t//If we are using droppables, inform the manager about the drop\n\t\tif ($.ui.ddmanager && !this.options.dropBehaviour) {\n\t\t\t$.ui.ddmanager.drop(this, event);\n\t\t}\n\n\t\tif(this.options.revert) {\n\t\t\tvar that = this,\n\t\t\t\tcur = this.placeholder.offset(),\n\t\t\t\taxis = this.options.axis,\n\t\t\t\tanimation = {};\n\n\t\t\tif ( !axis || axis === \"x\" ) {\n\t\t\t\tanimation.left = cur.left - this.offset.parent.left - this.margins.left + (this.offsetParent[0] === this.document[0].body ? 0 : this.offsetParent[0].scrollLeft);\n\t\t\t}\n\t\t\tif ( !axis || axis === \"y\" ) {\n\t\t\t\tanimation.top = cur.top - this.offset.parent.top - this.margins.top + (this.offsetParent[0] === this.document[0].body ? 0 : this.offsetParent[0].scrollTop);\n\t\t\t}\n\t\t\tthis.reverting = true;\n\t\t\t$(this.helper).animate( animation, parseInt(this.options.revert, 10) || 500, function() {\n\t\t\t\tthat._clear(event);\n\t\t\t});\n\t\t} else {\n\t\t\tthis._clear(event, noPropagation);\n\t\t}\n\n\t\treturn false;\n\n\t},\n\n\tcancel: function() {\n\n\t\tif(this.dragging) {\n\n\t\t\tthis._mouseUp({ target: null });\n\n\t\t\tif(this.options.helper === \"original\") {\n\t\t\t\tthis.currentItem.css(this._storedCSS).removeClass(\"ui-sortable-helper\");\n\t\t\t} else {\n\t\t\t\tthis.currentItem.show();\n\t\t\t}\n\n\t\t\t//Post deactivating events to containers\n\t\t\tfor (var i = this.containers.length - 1; i >= 0; i--){\n\t\t\t\tthis.containers[i]._trigger(\"deactivate\", null, this._uiHash(this));\n\t\t\t\tif(this.containers[i].containerCache.over) {\n\t\t\t\t\tthis.containers[i]._trigger(\"out\", null, this._uiHash(this));\n\t\t\t\t\tthis.containers[i].containerCache.over = 0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\n\t\tif (this.placeholder) {\n\t\t\t//$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, it unbinds ALL events from the original node!\n\t\t\tif(this.placeholder[0].parentNode) {\n\t\t\t\tthis.placeholder[0].parentNode.removeChild(this.placeholder[0]);\n\t\t\t}\n\t\t\tif(this.options.helper !== \"original\" && this.helper && this.helper[0].parentNode) {\n\t\t\t\tthis.helper.remove();\n\t\t\t}\n\n\t\t\t$.extend(this, {\n\t\t\t\thelper: null,\n\t\t\t\tdragging: false,\n\t\t\t\treverting: false,\n\t\t\t\t_noFinalSort: null\n\t\t\t});\n\n\t\t\tif(this.domPosition.prev) {\n\t\t\t\t$(this.domPosition.prev).after(this.currentItem);\n\t\t\t} else {\n\t\t\t\t$(this.domPosition.parent).prepend(this.currentItem);\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\n\t},\n\n\tserialize: function(o) {\n\n\t\tvar items = this._getItemsAsjQuery(o && o.connected),\n\t\t\tstr = [];\n\t\to = o || {};\n\n\t\t$(items).each(function() {\n\t\t\tvar res = ($(o.item || this).attr(o.attribute || \"id\") || \"\").match(o.expression || (/(.+)[\\-=_](.+)/));\n\t\t\tif (res) {\n\t\t\t\tstr.push((o.key || res[1]+\"[]\")+\"=\"+(o.key && o.expression ? res[1] : res[2]));\n\t\t\t}\n\t\t});\n\n\t\tif(!str.length && o.key) {\n\t\t\tstr.push(o.key + \"=\");\n\t\t}\n\n\t\treturn str.join(\"&\");\n\n\t},\n\n\ttoArray: function(o) {\n\n\t\tvar items = this._getItemsAsjQuery(o && o.connected),\n\t\t\tret = [];\n\n\t\to = o || {};\n\n\t\titems.each(function() { ret.push($(o.item || this).attr(o.attribute || \"id\") || \"\"); });\n\t\treturn ret;\n\n\t},\n\n\t/* Be careful with the following core functions */\n\t_intersectsWith: function(item) {\n\n\t\tvar x1 = this.positionAbs.left,\n\t\t\tx2 = x1 + this.helperProportions.width,\n\t\t\ty1 = this.positionAbs.top,\n\t\t\ty2 = y1 + this.helperProportions.height,\n\t\t\tl = item.left,\n\t\t\tr = l + item.width,\n\t\t\tt = item.top,\n\t\t\tb = t + item.height,\n\t\t\tdyClick = this.offset.click.top,\n\t\t\tdxClick = this.offset.click.left,\n\t\t\tisOverElementHeight = ( this.options.axis === \"x\" ) || ( ( y1 + dyClick ) > t && ( y1 + dyClick ) < b ),\n\t\t\tisOverElementWidth = ( this.options.axis === \"y\" ) || ( ( x1 + dxClick ) > l && ( x1 + dxClick ) < r ),\n\t\t\tisOverElement = isOverElementHeight && isOverElementWidth;\n\n\t\tif ( this.options.tolerance === \"pointer\" ||\n\t\t\tthis.options.forcePointerForContainers ||\n\t\t\t(this.options.tolerance !== \"pointer\" && this.helperProportions[this.floating ? \"width\" : \"height\"] > item[this.floating ? \"width\" : \"height\"])\n\t\t) {\n\t\t\treturn isOverElement;\n\t\t} else {\n\n\t\t\treturn (l < x1 + (this.helperProportions.width / 2) && // Right Half\n\t\t\t\tx2 - (this.helperProportions.width / 2) < r && // Left Half\n\t\t\t\tt < y1 + (this.helperProportions.height / 2) && // Bottom Half\n\t\t\t\ty2 - (this.helperProportions.height / 2) < b ); // Top Half\n\n\t\t}\n\t},\n\n\t_intersectsWithPointer: function(item) {\n\n\t\tvar isOverElementHeight = (this.options.axis === \"x\") || this._isOverAxis(this.positionAbs.top + this.offset.click.top, item.top, item.height),\n\t\t\tisOverElementWidth = (this.options.axis === \"y\") || this._isOverAxis(this.positionAbs.left + this.offset.click.left, item.left, item.width),\n\t\t\tisOverElement = isOverElementHeight && isOverElementWidth,\n\t\t\tverticalDirection = this._getDragVerticalDirection(),\n\t\t\thorizontalDirection = this._getDragHorizontalDirection();\n\n\t\tif (!isOverElement) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn this.floating ?\n\t\t\t( ((horizontalDirection && horizontalDirection === \"right\") || verticalDirection === \"down\") ? 2 : 1 )\n\t\t\t: ( verticalDirection && (verticalDirection === \"down\" ? 2 : 1) );\n\n\t},\n\n\t_intersectsWithSides: function(item) {\n\n\t\tvar isOverBottomHalf = this._isOverAxis(this.positionAbs.top + this.offset.click.top, item.top + (item.height/2), item.height),\n\t\t\tisOverRightHalf = this._isOverAxis(this.positionAbs.left + this.offset.click.left, item.left + (item.width/2), item.width),\n\t\t\tverticalDirection = this._getDragVerticalDirection(),\n\t\t\thorizontalDirection = this._getDragHorizontalDirection();\n\n\t\tif (this.floating && horizontalDirection) {\n\t\t\treturn ((horizontalDirection === \"right\" && isOverRightHalf) || (horizontalDirection === \"left\" && !isOverRightHalf));\n\t\t} else {\n\t\t\treturn verticalDirection && ((verticalDirection === \"down\" && isOverBottomHalf) || (verticalDirection === \"up\" && !isOverBottomHalf));\n\t\t}\n\n\t},\n\n\t_getDragVerticalDirection: function() {\n\t\tvar delta = this.positionAbs.top - this.lastPositionAbs.top;\n\t\treturn delta !== 0 && (delta > 0 ? \"down\" : \"up\");\n\t},\n\n\t_getDragHorizontalDirection: function() {\n\t\tvar delta = this.positionAbs.left - this.lastPositionAbs.left;\n\t\treturn delta !== 0 && (delta > 0 ? \"right\" : \"left\");\n\t},\n\n\trefresh: function(event) {\n\t\tthis._refreshItems(event);\n\t\tthis._setHandleClassName();\n\t\tthis.refreshPositions();\n\t\treturn this;\n\t},\n\n\t_connectWith: function() {\n\t\tvar options = this.options;\n\t\treturn options.connectWith.constructor === String ? [options.connectWith] : options.connectWith;\n\t},\n\n\t_getItemsAsjQuery: function(connected) {\n\n\t\tvar i, j, cur, inst,\n\t\t\titems = [],\n\t\t\tqueries = [],\n\t\t\tconnectWith = this._connectWith();\n\n\t\tif(connectWith && connected) {\n\t\t\tfor (i = connectWith.length - 1; i >= 0; i--){\n\t\t\t\tcur = $(connectWith[i], this.document[0]);\n\t\t\t\tfor ( j = cur.length - 1; j >= 0; j--){\n\t\t\t\t\tinst = $.data(cur[j], this.widgetFullName);\n\t\t\t\t\tif(inst && inst !== this && !inst.options.disabled) {\n\t\t\t\t\t\tqueries.push([$.isFunction(inst.options.items) ? inst.options.items.call(inst.element) : $(inst.options.items, inst.element).not(\".ui-sortable-helper\").not(\".ui-sortable-placeholder\"), inst]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tqueries.push([$.isFunction(this.options.items) ? this.options.items.call(this.element, null, { options: this.options, item: this.currentItem }) : $(this.options.items, this.element).not(\".ui-sortable-helper\").not(\".ui-sortable-placeholder\"), this]);\n\n\t\tfunction addItems() {\n\t\t\titems.push( this );\n\t\t}\n\t\tfor (i = queries.length - 1; i >= 0; i--){\n\t\t\tqueries[i][0].each( addItems );\n\t\t}\n\n\t\treturn $(items);\n\n\t},\n\n\t_removeCurrentsFromItems: function() {\n\n\t\tvar list = this.currentItem.find(\":data(\" + this.widgetName + \"-item)\");\n\n\t\tthis.items = $.grep(this.items, function (item) {\n\t\t\tfor (var j=0; j < list.length; j++) {\n\t\t\t\tif(list[j] === item.item[0]) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t});\n\n\t},\n\n\t_refreshItems: function(event) {\n\n\t\tthis.items = [];\n\t\tthis.containers = [this];\n\n\t\tvar i, j, cur, inst, targetData, _queries, item, queriesLength,\n\t\t\titems = this.items,\n\t\t\tqueries = [[$.isFunction(this.options.items) ? this.options.items.call(this.element[0], event, { item: this.currentItem }) : $(this.options.items, this.element), this]],\n\t\t\tconnectWith = this._connectWith();\n\n\t\tif(connectWith && this.ready) { //Shouldn't be run the first time through due to massive slow-down\n\t\t\tfor (i = connectWith.length - 1; i >= 0; i--){\n\t\t\t\tcur = $(connectWith[i], this.document[0]);\n\t\t\t\tfor (j = cur.length - 1; j >= 0; j--){\n\t\t\t\t\tinst = $.data(cur[j], this.widgetFullName);\n\t\t\t\t\tif(inst && inst !== this && !inst.options.disabled) {\n\t\t\t\t\t\tqueries.push([$.isFunction(inst.options.items) ? inst.options.items.call(inst.element[0], event, { item: this.currentItem }) : $(inst.options.items, inst.element), inst]);\n\t\t\t\t\t\tthis.containers.push(inst);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfor (i = queries.length - 1; i >= 0; i--) {\n\t\t\ttargetData = queries[i][1];\n\t\t\t_queries = queries[i][0];\n\n\t\t\tfor (j=0, queriesLength = _queries.length; j < queriesLength; j++) {\n\t\t\t\titem = $(_queries[j]);\n\n\t\t\t\titem.data(this.widgetName + \"-item\", targetData); // Data for target checking (mouse manager)\n\n\t\t\t\titems.push({\n\t\t\t\t\titem: item,\n\t\t\t\t\tinstance: targetData,\n\t\t\t\t\twidth: 0, height: 0,\n\t\t\t\t\tleft: 0, top: 0\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t},\n\n\trefreshPositions: function(fast) {\n\n\t\t// Determine whether items are being displayed horizontally\n\t\tthis.floating = this.items.length ?\n\t\t\tthis.options.axis === \"x\" || this._isFloating( this.items[ 0 ].item ) :\n\t\t\tfalse;\n\n\t\t//This has to be redone because due to the item being moved out/into the offsetParent, the offsetParent's position will change\n\t\tif(this.offsetParent && this.helper) {\n\t\t\tthis.offset.parent = this._getParentOffset();\n\t\t}\n\n\t\tvar i, item, t, p;\n\n\t\tfor (i = this.items.length - 1; i >= 0; i--){\n\t\t\titem = this.items[i];\n\n\t\t\t//We ignore calculating positions of all connected containers when we're not over them\n\t\t\tif(item.instance !== this.currentContainer && this.currentContainer && item.item[0] !== this.currentItem[0]) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tt = this.options.toleranceElement ? $(this.options.toleranceElement, item.item) : item.item;\n\n\t\t\tif (!fast) {\n\t\t\t\titem.width = t.outerWidth();\n\t\t\t\titem.height = t.outerHeight();\n\t\t\t}\n\n\t\t\tp = t.offset();\n\t\t\titem.left = p.left;\n\t\t\titem.top = p.top;\n\t\t}\n\n\t\tif(this.options.custom && this.options.custom.refreshContainers) {\n\t\t\tthis.options.custom.refreshContainers.call(this);\n\t\t} else {\n\t\t\tfor (i = this.containers.length - 1; i >= 0; i--){\n\t\t\t\tp = this.containers[i].element.offset();\n\t\t\t\tthis.containers[i].containerCache.left = p.left;\n\t\t\t\tthis.containers[i].containerCache.top = p.top;\n\t\t\t\tthis.containers[i].containerCache.width = this.containers[i].element.outerWidth();\n\t\t\t\tthis.containers[i].containerCache.height = this.containers[i].element.outerHeight();\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\t_createPlaceholder: function(that) {\n\t\tthat = that || this;\n\t\tvar className,\n\t\t\to = that.options;\n\n\t\tif(!o.placeholder || o.placeholder.constructor === String) {\n\t\t\tclassName = o.placeholder;\n\t\t\to.placeholder = {\n\t\t\t\telement: function() {\n\n\t\t\t\t\tvar nodeName = that.currentItem[0].nodeName.toLowerCase(),\n\t\t\t\t\t\telement = $( \"<\" + nodeName + \">\", that.document[0] )\n\t\t\t\t\t\t\t.addClass(className || that.currentItem[0].className+\" ui-sortable-placeholder\")\n\t\t\t\t\t\t\t.removeClass(\"ui-sortable-helper\");\n\n\t\t\t\t\tif ( nodeName === \"tbody\" ) {\n\t\t\t\t\t\tthat._createTrPlaceholder(\n\t\t\t\t\t\t\tthat.currentItem.find( \"tr\" ).eq( 0 ),\n\t\t\t\t\t\t\t$( \"<tr>\", that.document[ 0 ] ).appendTo( element )\n\t\t\t\t\t\t);\n\t\t\t\t\t} else if ( nodeName === \"tr\" ) {\n\t\t\t\t\t\tthat._createTrPlaceholder( that.currentItem, element );\n\t\t\t\t\t} else if ( nodeName === \"img\" ) {\n\t\t\t\t\t\telement.attr( \"src\", that.currentItem.attr( \"src\" ) );\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( !className ) {\n\t\t\t\t\t\telement.css( \"visibility\", \"hidden\" );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn element;\n\t\t\t\t},\n\t\t\t\tupdate: function(container, p) {\n\n\t\t\t\t\t// 1. If a className is set as 'placeholder option, we don't force sizes - the class is responsible for that\n\t\t\t\t\t// 2. The option 'forcePlaceholderSize can be enabled to force it even if a class name is specified\n\t\t\t\t\tif(className && !o.forcePlaceholderSize) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\t//If the element doesn't have a actual height by itself (without styles coming from a stylesheet), it receives the inline height from the dragged item\n\t\t\t\t\tif(!p.height()) { p.height(that.currentItem.innerHeight() - parseInt(that.currentItem.css(\"paddingTop\")||0, 10) - parseInt(that.currentItem.css(\"paddingBottom\")||0, 10)); }\n\t\t\t\t\tif(!p.width()) { p.width(that.currentItem.innerWidth() - parseInt(that.currentItem.css(\"paddingLeft\")||0, 10) - parseInt(that.currentItem.css(\"paddingRight\")||0, 10)); }\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\n\t\t//Create the placeholder\n\t\tthat.placeholder = $(o.placeholder.element.call(that.element, that.currentItem));\n\n\t\t//Append it after the actual current item\n\t\tthat.currentItem.after(that.placeholder);\n\n\t\t//Update the size of the placeholder (TODO: Logic to fuzzy, see line 316/317)\n\t\to.placeholder.update(that, that.placeholder);\n\n\t},\n\n\t_createTrPlaceholder: function( sourceTr, targetTr ) {\n\t\tvar that = this;\n\n\t\tsourceTr.children().each(function() {\n\t\t\t$( \"<td>&#160;</td>\", that.document[ 0 ] )\n\t\t\t\t.attr( \"colspan\", $( this ).attr( \"colspan\" ) || 1 )\n\t\t\t\t.appendTo( targetTr );\n\t\t});\n\t},\n\n\t_contactContainers: function(event) {\n\t\tvar i, j, dist, itemWithLeastDistance, posProperty, sizeProperty, cur, nearBottom, floating, axis,\n\t\t\tinnermostContainer = null,\n\t\t\tinnermostIndex = null;\n\n\t\t// get innermost container that intersects with item\n\t\tfor (i = this.containers.length - 1; i >= 0; i--) {\n\n\t\t\t// never consider a container that's located within the item itself\n\t\t\tif($.contains(this.currentItem[0], this.containers[i].element[0])) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif(this._intersectsWith(this.containers[i].containerCache)) {\n\n\t\t\t\t// if we've already found a container and it's more \"inner\" than this, then continue\n\t\t\t\tif(innermostContainer && $.contains(this.containers[i].element[0], innermostContainer.element[0])) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tinnermostContainer = this.containers[i];\n\t\t\t\tinnermostIndex = i;\n\n\t\t\t} else {\n\t\t\t\t// container doesn't intersect. trigger \"out\" event if necessary\n\t\t\t\tif(this.containers[i].containerCache.over) {\n\t\t\t\t\tthis.containers[i]._trigger(\"out\", event, this._uiHash(this));\n\t\t\t\t\tthis.containers[i].containerCache.over = 0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\n\t\t// if no intersecting containers found, return\n\t\tif(!innermostContainer) {\n\t\t\treturn;\n\t\t}\n\n\t\t// move the item into the container if it's not there already\n\t\tif(this.containers.length === 1) {\n\t\t\tif (!this.containers[innermostIndex].containerCache.over) {\n\t\t\t\tthis.containers[innermostIndex]._trigger(\"over\", event, this._uiHash(this));\n\t\t\t\tthis.containers[innermostIndex].containerCache.over = 1;\n\t\t\t}\n\t\t} else {\n\n\t\t\t//When entering a new container, we will find the item with the least distance and append our item near it\n\t\t\tdist = 10000;\n\t\t\titemWithLeastDistance = null;\n\t\t\tfloating = innermostContainer.floating || this._isFloating(this.currentItem);\n\t\t\tposProperty = floating ? \"left\" : \"top\";\n\t\t\tsizeProperty = floating ? \"width\" : \"height\";\n\t\t\taxis = floating ? \"clientX\" : \"clientY\";\n\n\t\t\tfor (j = this.items.length - 1; j >= 0; j--) {\n\t\t\t\tif(!$.contains(this.containers[innermostIndex].element[0], this.items[j].item[0])) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif(this.items[j].item[0] === this.currentItem[0]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tcur = this.items[j].item.offset()[posProperty];\n\t\t\t\tnearBottom = false;\n\t\t\t\tif ( event[ axis ] - cur > this.items[ j ][ sizeProperty ] / 2 ) {\n\t\t\t\t\tnearBottom = true;\n\t\t\t\t}\n\n\t\t\t\tif ( Math.abs( event[ axis ] - cur ) < dist ) {\n\t\t\t\t\tdist = Math.abs( event[ axis ] - cur );\n\t\t\t\t\titemWithLeastDistance = this.items[ j ];\n\t\t\t\t\tthis.direction = nearBottom ? \"up\": \"down\";\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t//Check if dropOnEmpty is enabled\n\t\t\tif(!itemWithLeastDistance && !this.options.dropOnEmpty) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif(this.currentContainer === this.containers[innermostIndex]) {\n\t\t\t\tif ( !this.currentContainer.containerCache.over ) {\n\t\t\t\t\tthis.containers[ innermostIndex ]._trigger( \"over\", event, this._uiHash() );\n\t\t\t\t\tthis.currentContainer.containerCache.over = 1;\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\titemWithLeastDistance ? this._rearrange(event, itemWithLeastDistance, null, true) : this._rearrange(event, null, this.containers[innermostIndex].element, true);\n\t\t\tthis._trigger(\"change\", event, this._uiHash());\n\t\t\tthis.containers[innermostIndex]._trigger(\"change\", event, this._uiHash(this));\n\t\t\tthis.currentContainer = this.containers[innermostIndex];\n\n\t\t\t//Update the placeholder\n\t\t\tthis.options.placeholder.update(this.currentContainer, this.placeholder);\n\n\t\t\tthis.containers[innermostIndex]._trigger(\"over\", event, this._uiHash(this));\n\t\t\tthis.containers[innermostIndex].containerCache.over = 1;\n\t\t}\n\n\n\t},\n\n\t_createHelper: function(event) {\n\n\t\tvar o = this.options,\n\t\t\thelper = $.isFunction(o.helper) ? $(o.helper.apply(this.element[0], [event, this.currentItem])) : (o.helper === \"clone\" ? this.currentItem.clone() : this.currentItem);\n\n\t\t//Add the helper to the DOM if that didn't happen already\n\t\tif(!helper.parents(\"body\").length) {\n\t\t\t$(o.appendTo !== \"parent\" ? o.appendTo : this.currentItem[0].parentNode)[0].appendChild(helper[0]);\n\t\t}\n\n\t\tif(helper[0] === this.currentItem[0]) {\n\t\t\tthis._storedCSS = { width: this.currentItem[0].style.width, height: this.currentItem[0].style.height, position: this.currentItem.css(\"position\"), top: this.currentItem.css(\"top\"), left: this.currentItem.css(\"left\") };\n\t\t}\n\n\t\tif(!helper[0].style.width || o.forceHelperSize) {\n\t\t\thelper.width(this.currentItem.width());\n\t\t}\n\t\tif(!helper[0].style.height || o.forceHelperSize) {\n\t\t\thelper.height(this.currentItem.height());\n\t\t}\n\n\t\treturn helper;\n\n\t},\n\n\t_adjustOffsetFromHelper: function(obj) {\n\t\tif (typeof obj === \"string\") {\n\t\t\tobj = obj.split(\" \");\n\t\t}\n\t\tif ($.isArray(obj)) {\n\t\t\tobj = {left: +obj[0], top: +obj[1] || 0};\n\t\t}\n\t\tif (\"left\" in obj) {\n\t\t\tthis.offset.click.left = obj.left + this.margins.left;\n\t\t}\n\t\tif (\"right\" in obj) {\n\t\t\tthis.offset.click.left = this.helperProportions.width - obj.right + this.margins.left;\n\t\t}\n\t\tif (\"top\" in obj) {\n\t\t\tthis.offset.click.top = obj.top + this.margins.top;\n\t\t}\n\t\tif (\"bottom\" in obj) {\n\t\t\tthis.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top;\n\t\t}\n\t},\n\n\t_getParentOffset: function() {\n\n\n\t\t//Get the offsetParent and cache its position\n\t\tthis.offsetParent = this.helper.offsetParent();\n\t\tvar po = this.offsetParent.offset();\n\n\t\t// This is a special case where we need to modify a offset calculated on start, since the following happened:\n\t\t// 1. The position of the helper is absolute, so it's position is calculated based on the next positioned parent\n\t\t// 2. The actual offset parent is a child of the scroll parent, and the scroll parent isn't the document, which means that\n\t\t//    the scroll is included in the initial calculation of the offset of the parent, and never recalculated upon drag\n\t\tif(this.cssPosition === \"absolute\" && this.scrollParent[0] !== this.document[0] && $.contains(this.scrollParent[0], this.offsetParent[0])) {\n\t\t\tpo.left += this.scrollParent.scrollLeft();\n\t\t\tpo.top += this.scrollParent.scrollTop();\n\t\t}\n\n\t\t// This needs to be actually done for all browsers, since pageX/pageY includes this information\n\t\t// with an ugly IE fix\n\t\tif( this.offsetParent[0] === this.document[0].body || (this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() === \"html\" && $.ui.ie)) {\n\t\t\tpo = { top: 0, left: 0 };\n\t\t}\n\n\t\treturn {\n\t\t\ttop: po.top + (parseInt(this.offsetParent.css(\"borderTopWidth\"),10) || 0),\n\t\t\tleft: po.left + (parseInt(this.offsetParent.css(\"borderLeftWidth\"),10) || 0)\n\t\t};\n\n\t},\n\n\t_getRelativeOffset: function() {\n\n\t\tif(this.cssPosition === \"relative\") {\n\t\t\tvar p = this.currentItem.position();\n\t\t\treturn {\n\t\t\t\ttop: p.top - (parseInt(this.helper.css(\"top\"),10) || 0) + this.scrollParent.scrollTop(),\n\t\t\t\tleft: p.left - (parseInt(this.helper.css(\"left\"),10) || 0) + this.scrollParent.scrollLeft()\n\t\t\t};\n\t\t} else {\n\t\t\treturn { top: 0, left: 0 };\n\t\t}\n\n\t},\n\n\t_cacheMargins: function() {\n\t\tthis.margins = {\n\t\t\tleft: (parseInt(this.currentItem.css(\"marginLeft\"),10) || 0),\n\t\t\ttop: (parseInt(this.currentItem.css(\"marginTop\"),10) || 0)\n\t\t};\n\t},\n\n\t_cacheHelperProportions: function() {\n\t\tthis.helperProportions = {\n\t\t\twidth: this.helper.outerWidth(),\n\t\t\theight: this.helper.outerHeight()\n\t\t};\n\t},\n\n\t_setContainment: function() {\n\n\t\tvar ce, co, over,\n\t\t\to = this.options;\n\t\tif(o.containment === \"parent\") {\n\t\t\to.containment = this.helper[0].parentNode;\n\t\t}\n\t\tif(o.containment === \"document\" || o.containment === \"window\") {\n\t\t\tthis.containment = [\n\t\t\t\t0 - this.offset.relative.left - this.offset.parent.left,\n\t\t\t\t0 - this.offset.relative.top - this.offset.parent.top,\n\t\t\t\to.containment === \"document\" ? this.document.width() : this.window.width() - this.helperProportions.width - this.margins.left,\n\t\t\t\t(o.containment === \"document\" ? this.document.width() : this.window.height() || this.document[0].body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top\n\t\t\t];\n\t\t}\n\n\t\tif(!(/^(document|window|parent)$/).test(o.containment)) {\n\t\t\tce = $(o.containment)[0];\n\t\t\tco = $(o.containment).offset();\n\t\t\tover = ($(ce).css(\"overflow\") !== \"hidden\");\n\n\t\t\tthis.containment = [\n\t\t\t\tco.left + (parseInt($(ce).css(\"borderLeftWidth\"),10) || 0) + (parseInt($(ce).css(\"paddingLeft\"),10) || 0) - this.margins.left,\n\t\t\t\tco.top + (parseInt($(ce).css(\"borderTopWidth\"),10) || 0) + (parseInt($(ce).css(\"paddingTop\"),10) || 0) - this.margins.top,\n\t\t\t\tco.left+(over ? Math.max(ce.scrollWidth,ce.offsetWidth) : ce.offsetWidth) - (parseInt($(ce).css(\"borderLeftWidth\"),10) || 0) - (parseInt($(ce).css(\"paddingRight\"),10) || 0) - this.helperProportions.width - this.margins.left,\n\t\t\t\tco.top+(over ? Math.max(ce.scrollHeight,ce.offsetHeight) : ce.offsetHeight) - (parseInt($(ce).css(\"borderTopWidth\"),10) || 0) - (parseInt($(ce).css(\"paddingBottom\"),10) || 0) - this.helperProportions.height - this.margins.top\n\t\t\t];\n\t\t}\n\n\t},\n\n\t_convertPositionTo: function(d, pos) {\n\n\t\tif(!pos) {\n\t\t\tpos = this.position;\n\t\t}\n\t\tvar mod = d === \"absolute\" ? 1 : -1,\n\t\t\tscroll = this.cssPosition === \"absolute\" && !(this.scrollParent[0] !== this.document[0] && $.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent,\n\t\t\tscrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName);\n\n\t\treturn {\n\t\t\ttop: (\n\t\t\t\tpos.top\t+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// The absolute mouse position\n\t\t\t\tthis.offset.relative.top * mod +\t\t\t\t\t\t\t\t\t\t// Only for relative positioned nodes: Relative offset from element to offset parent\n\t\t\t\tthis.offset.parent.top * mod -\t\t\t\t\t\t\t\t\t\t\t// The offsetParent's offset without borders (offset + border)\n\t\t\t\t( ( this.cssPosition === \"fixed\" ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ) * mod)\n\t\t\t),\n\t\t\tleft: (\n\t\t\t\tpos.left +\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// The absolute mouse position\n\t\t\t\tthis.offset.relative.left * mod +\t\t\t\t\t\t\t\t\t\t// Only for relative positioned nodes: Relative offset from element to offset parent\n\t\t\t\tthis.offset.parent.left * mod\t-\t\t\t\t\t\t\t\t\t\t// The offsetParent's offset without borders (offset + border)\n\t\t\t\t( ( this.cssPosition === \"fixed\" ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() ) * mod)\n\t\t\t)\n\t\t};\n\n\t},\n\n\t_generatePosition: function(event) {\n\n\t\tvar top, left,\n\t\t\to = this.options,\n\t\t\tpageX = event.pageX,\n\t\t\tpageY = event.pageY,\n\t\t\tscroll = this.cssPosition === \"absolute\" && !(this.scrollParent[0] !== this.document[0] && $.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName);\n\n\t\t// This is another very weird special case that only happens for relative elements:\n\t\t// 1. If the css position is relative\n\t\t// 2. and the scroll parent is the document or similar to the offset parent\n\t\t// we have to refresh the relative offset during the scroll so there are no jumps\n\t\tif(this.cssPosition === \"relative\" && !(this.scrollParent[0] !== this.document[0] && this.scrollParent[0] !== this.offsetParent[0])) {\n\t\t\tthis.offset.relative = this._getRelativeOffset();\n\t\t}\n\n\t\t/*\n\t\t * - Position constraining -\n\t\t * Constrain the position to a mix of grid, containment.\n\t\t */\n\n\t\tif(this.originalPosition) { //If we are not dragging yet, we won't check for options\n\n\t\t\tif(this.containment) {\n\t\t\t\tif(event.pageX - this.offset.click.left < this.containment[0]) {\n\t\t\t\t\tpageX = this.containment[0] + this.offset.click.left;\n\t\t\t\t}\n\t\t\t\tif(event.pageY - this.offset.click.top < this.containment[1]) {\n\t\t\t\t\tpageY = this.containment[1] + this.offset.click.top;\n\t\t\t\t}\n\t\t\t\tif(event.pageX - this.offset.click.left > this.containment[2]) {\n\t\t\t\t\tpageX = this.containment[2] + this.offset.click.left;\n\t\t\t\t}\n\t\t\t\tif(event.pageY - this.offset.click.top > this.containment[3]) {\n\t\t\t\t\tpageY = this.containment[3] + this.offset.click.top;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif(o.grid) {\n\t\t\t\ttop = this.originalPageY + Math.round((pageY - this.originalPageY) / o.grid[1]) * o.grid[1];\n\t\t\t\tpageY = this.containment ? ( (top - this.offset.click.top >= this.containment[1] && top - this.offset.click.top <= this.containment[3]) ? top : ((top - this.offset.click.top >= this.containment[1]) ? top - o.grid[1] : top + o.grid[1])) : top;\n\n\t\t\t\tleft = this.originalPageX + Math.round((pageX - this.originalPageX) / o.grid[0]) * o.grid[0];\n\t\t\t\tpageX = this.containment ? ( (left - this.offset.click.left >= this.containment[0] && left - this.offset.click.left <= this.containment[2]) ? left : ((left - this.offset.click.left >= this.containment[0]) ? left - o.grid[0] : left + o.grid[0])) : left;\n\t\t\t}\n\n\t\t}\n\n\t\treturn {\n\t\t\ttop: (\n\t\t\t\tpageY -\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// The absolute mouse position\n\t\t\t\tthis.offset.click.top -\t\t\t\t\t\t\t\t\t\t\t\t\t// Click offset (relative to the element)\n\t\t\t\tthis.offset.relative.top\t-\t\t\t\t\t\t\t\t\t\t\t// Only for relative positioned nodes: Relative offset from element to offset parent\n\t\t\t\tthis.offset.parent.top +\t\t\t\t\t\t\t\t\t\t\t\t// The offsetParent's offset without borders (offset + border)\n\t\t\t\t( ( this.cssPosition === \"fixed\" ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ))\n\t\t\t),\n\t\t\tleft: (\n\t\t\t\tpageX -\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// The absolute mouse position\n\t\t\t\tthis.offset.click.left -\t\t\t\t\t\t\t\t\t\t\t\t// Click offset (relative to the element)\n\t\t\t\tthis.offset.relative.left\t-\t\t\t\t\t\t\t\t\t\t\t// Only for relative positioned nodes: Relative offset from element to offset parent\n\t\t\t\tthis.offset.parent.left +\t\t\t\t\t\t\t\t\t\t\t\t// The offsetParent's offset without borders (offset + border)\n\t\t\t\t( ( this.cssPosition === \"fixed\" ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() ))\n\t\t\t)\n\t\t};\n\n\t},\n\n\t_rearrange: function(event, i, a, hardRefresh) {\n\n\t\ta ? a[0].appendChild(this.placeholder[0]) : i.item[0].parentNode.insertBefore(this.placeholder[0], (this.direction === \"down\" ? i.item[0] : i.item[0].nextSibling));\n\n\t\t//Various things done here to improve the performance:\n\t\t// 1. we create a setTimeout, that calls refreshPositions\n\t\t// 2. on the instance, we have a counter variable, that get's higher after every append\n\t\t// 3. on the local scope, we copy the counter variable, and check in the timeout, if it's still the same\n\t\t// 4. this lets only the last addition to the timeout stack through\n\t\tthis.counter = this.counter ? ++this.counter : 1;\n\t\tvar counter = this.counter;\n\n\t\tthis._delay(function() {\n\t\t\tif(counter === this.counter) {\n\t\t\t\tthis.refreshPositions(!hardRefresh); //Precompute after each DOM insertion, NOT on mousemove\n\t\t\t}\n\t\t});\n\n\t},\n\n\t_clear: function(event, noPropagation) {\n\n\t\tthis.reverting = false;\n\t\t// We delay all events that have to be triggered to after the point where the placeholder has been removed and\n\t\t// everything else normalized again\n\t\tvar i,\n\t\t\tdelayedTriggers = [];\n\n\t\t// We first have to update the dom position of the actual currentItem\n\t\t// Note: don't do it if the current item is already removed (by a user), or it gets reappended (see #4088)\n\t\tif(!this._noFinalSort && this.currentItem.parent().length) {\n\t\t\tthis.placeholder.before(this.currentItem);\n\t\t}\n\t\tthis._noFinalSort = null;\n\n\t\tif(this.helper[0] === this.currentItem[0]) {\n\t\t\tfor(i in this._storedCSS) {\n\t\t\t\tif(this._storedCSS[i] === \"auto\" || this._storedCSS[i] === \"static\") {\n\t\t\t\t\tthis._storedCSS[i] = \"\";\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.currentItem.css(this._storedCSS).removeClass(\"ui-sortable-helper\");\n\t\t} else {\n\t\t\tthis.currentItem.show();\n\t\t}\n\n\t\tif(this.fromOutside && !noPropagation) {\n\t\t\tdelayedTriggers.push(function(event) { this._trigger(\"receive\", event, this._uiHash(this.fromOutside)); });\n\t\t}\n\t\tif((this.fromOutside || this.domPosition.prev !== this.currentItem.prev().not(\".ui-sortable-helper\")[0] || this.domPosition.parent !== this.currentItem.parent()[0]) && !noPropagation) {\n\t\t\tdelayedTriggers.push(function(event) { this._trigger(\"update\", event, this._uiHash()); }); //Trigger update callback if the DOM position has changed\n\t\t}\n\n\t\t// Check if the items Container has Changed and trigger appropriate\n\t\t// events.\n\t\tif (this !== this.currentContainer) {\n\t\t\tif(!noPropagation) {\n\t\t\t\tdelayedTriggers.push(function(event) { this._trigger(\"remove\", event, this._uiHash()); });\n\t\t\t\tdelayedTriggers.push((function(c) { return function(event) { c._trigger(\"receive\", event, this._uiHash(this)); };  }).call(this, this.currentContainer));\n\t\t\t\tdelayedTriggers.push((function(c) { return function(event) { c._trigger(\"update\", event, this._uiHash(this));  }; }).call(this, this.currentContainer));\n\t\t\t}\n\t\t}\n\n\n\t\t//Post events to containers\n\t\tfunction delayEvent( type, instance, container ) {\n\t\t\treturn function( event ) {\n\t\t\t\tcontainer._trigger( type, event, instance._uiHash( instance ) );\n\t\t\t};\n\t\t}\n\t\tfor (i = this.containers.length - 1; i >= 0; i--){\n\t\t\tif (!noPropagation) {\n\t\t\t\tdelayedTriggers.push( delayEvent( \"deactivate\", this, this.containers[ i ] ) );\n\t\t\t}\n\t\t\tif(this.containers[i].containerCache.over) {\n\t\t\t\tdelayedTriggers.push( delayEvent( \"out\", this, this.containers[ i ] ) );\n\t\t\t\tthis.containers[i].containerCache.over = 0;\n\t\t\t}\n\t\t}\n\n\t\t//Do what was originally in plugins\n\t\tif ( this.storedCursor ) {\n\t\t\tthis.document.find( \"body\" ).css( \"cursor\", this.storedCursor );\n\t\t\tthis.storedStylesheet.remove();\n\t\t}\n\t\tif(this._storedOpacity) {\n\t\t\tthis.helper.css(\"opacity\", this._storedOpacity);\n\t\t}\n\t\tif(this._storedZIndex) {\n\t\t\tthis.helper.css(\"zIndex\", this._storedZIndex === \"auto\" ? \"\" : this._storedZIndex);\n\t\t}\n\n\t\tthis.dragging = false;\n\n\t\tif(!noPropagation) {\n\t\t\tthis._trigger(\"beforeStop\", event, this._uiHash());\n\t\t}\n\n\t\t//$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, it unbinds ALL events from the original node!\n\t\tthis.placeholder[0].parentNode.removeChild(this.placeholder[0]);\n\n\t\tif ( !this.cancelHelperRemoval ) {\n\t\t\tif ( this.helper[ 0 ] !== this.currentItem[ 0 ] ) {\n\t\t\t\tthis.helper.remove();\n\t\t\t}\n\t\t\tthis.helper = null;\n\t\t}\n\n\t\tif(!noPropagation) {\n\t\t\tfor (i=0; i < delayedTriggers.length; i++) {\n\t\t\t\tdelayedTriggers[i].call(this, event);\n\t\t\t} //Trigger all delayed events\n\t\t\tthis._trigger(\"stop\", event, this._uiHash());\n\t\t}\n\n\t\tthis.fromOutside = false;\n\t\treturn !this.cancelHelperRemoval;\n\n\t},\n\n\t_trigger: function() {\n\t\tif ($.Widget.prototype._trigger.apply(this, arguments) === false) {\n\t\t\tthis.cancel();\n\t\t}\n\t},\n\n\t_uiHash: function(_inst) {\n\t\tvar inst = _inst || this;\n\t\treturn {\n\t\t\thelper: inst.helper,\n\t\t\tplaceholder: inst.placeholder || $([]),\n\t\t\tposition: inst.position,\n\t\t\toriginalPosition: inst.originalPosition,\n\t\t\toffset: inst.positionAbs,\n\t\t\titem: inst.currentItem,\n\t\t\tsender: _inst ? _inst.element : null\n\t\t};\n\t}\n\n});\n\n\n/*!\n * jQuery UI Spinner 1.11.4\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/spinner/\n */\n\n\nfunction spinner_modifier( fn ) {\n\treturn function() {\n\t\tvar previous = this.element.val();\n\t\tfn.apply( this, arguments );\n\t\tthis._refresh();\n\t\tif ( previous !== this.element.val() ) {\n\t\t\tthis._trigger( \"change\" );\n\t\t}\n\t};\n}\n\nvar spinner = $.widget( \"ui.spinner\", {\n\tversion: \"1.11.4\",\n\tdefaultElement: \"<input>\",\n\twidgetEventPrefix: \"spin\",\n\toptions: {\n\t\tculture: null,\n\t\ticons: {\n\t\t\tdown: \"ui-icon-triangle-1-s\",\n\t\t\tup: \"ui-icon-triangle-1-n\"\n\t\t},\n\t\tincremental: true,\n\t\tmax: null,\n\t\tmin: null,\n\t\tnumberFormat: null,\n\t\tpage: 10,\n\t\tstep: 1,\n\n\t\tchange: null,\n\t\tspin: null,\n\t\tstart: null,\n\t\tstop: null\n\t},\n\n\t_create: function() {\n\t\t// handle string values that need to be parsed\n\t\tthis._setOption( \"max\", this.options.max );\n\t\tthis._setOption( \"min\", this.options.min );\n\t\tthis._setOption( \"step\", this.options.step );\n\n\t\t// Only format if there is a value, prevents the field from being marked\n\t\t// as invalid in Firefox, see #9573.\n\t\tif ( this.value() !== \"\" ) {\n\t\t\t// Format the value, but don't constrain.\n\t\t\tthis._value( this.element.val(), true );\n\t\t}\n\n\t\tthis._draw();\n\t\tthis._on( this._events );\n\t\tthis._refresh();\n\n\t\t// turning off autocomplete prevents the browser from remembering the\n\t\t// value when navigating through history, so we re-enable autocomplete\n\t\t// if the page is unloaded before the widget is destroyed. #7790\n\t\tthis._on( this.window, {\n\t\t\tbeforeunload: function() {\n\t\t\t\tthis.element.removeAttr( \"autocomplete\" );\n\t\t\t}\n\t\t});\n\t},\n\n\t_getCreateOptions: function() {\n\t\tvar options = {},\n\t\t\telement = this.element;\n\n\t\t$.each( [ \"min\", \"max\", \"step\" ], function( i, option ) {\n\t\t\tvar value = element.attr( option );\n\t\t\tif ( value !== undefined && value.length ) {\n\t\t\t\toptions[ option ] = value;\n\t\t\t}\n\t\t});\n\n\t\treturn options;\n\t},\n\n\t_events: {\n\t\tkeydown: function( event ) {\n\t\t\tif ( this._start( event ) && this._keydown( event ) ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t},\n\t\tkeyup: \"_stop\",\n\t\tfocus: function() {\n\t\t\tthis.previous = this.element.val();\n\t\t},\n\t\tblur: function( event ) {\n\t\t\tif ( this.cancelBlur ) {\n\t\t\t\tdelete this.cancelBlur;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis._stop();\n\t\t\tthis._refresh();\n\t\t\tif ( this.previous !== this.element.val() ) {\n\t\t\t\tthis._trigger( \"change\", event );\n\t\t\t}\n\t\t},\n\t\tmousewheel: function( event, delta ) {\n\t\t\tif ( !delta ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( !this.spinning && !this._start( event ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tthis._spin( (delta > 0 ? 1 : -1) * this.options.step, event );\n\t\t\tclearTimeout( this.mousewheelTimer );\n\t\t\tthis.mousewheelTimer = this._delay(function() {\n\t\t\t\tif ( this.spinning ) {\n\t\t\t\t\tthis._stop( event );\n\t\t\t\t}\n\t\t\t}, 100 );\n\t\t\tevent.preventDefault();\n\t\t},\n\t\t\"mousedown .ui-spinner-button\": function( event ) {\n\t\t\tvar previous;\n\n\t\t\t// We never want the buttons to have focus; whenever the user is\n\t\t\t// interacting with the spinner, the focus should be on the input.\n\t\t\t// If the input is focused then this.previous is properly set from\n\t\t\t// when the input first received focus. If the input is not focused\n\t\t\t// then we need to set this.previous based on the value before spinning.\n\t\t\tprevious = this.element[0] === this.document[0].activeElement ?\n\t\t\t\tthis.previous : this.element.val();\n\t\t\tfunction checkFocus() {\n\t\t\t\tvar isActive = this.element[0] === this.document[0].activeElement;\n\t\t\t\tif ( !isActive ) {\n\t\t\t\t\tthis.element.focus();\n\t\t\t\t\tthis.previous = previous;\n\t\t\t\t\t// support: IE\n\t\t\t\t\t// IE sets focus asynchronously, so we need to check if focus\n\t\t\t\t\t// moved off of the input because the user clicked on the button.\n\t\t\t\t\tthis._delay(function() {\n\t\t\t\t\t\tthis.previous = previous;\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// ensure focus is on (or stays on) the text field\n\t\t\tevent.preventDefault();\n\t\t\tcheckFocus.call( this );\n\n\t\t\t// support: IE\n\t\t\t// IE doesn't prevent moving focus even with event.preventDefault()\n\t\t\t// so we set a flag to know when we should ignore the blur event\n\t\t\t// and check (again) if focus moved off of the input.\n\t\t\tthis.cancelBlur = true;\n\t\t\tthis._delay(function() {\n\t\t\t\tdelete this.cancelBlur;\n\t\t\t\tcheckFocus.call( this );\n\t\t\t});\n\n\t\t\tif ( this._start( event ) === false ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis._repeat( null, $( event.currentTarget ).hasClass( \"ui-spinner-up\" ) ? 1 : -1, event );\n\t\t},\n\t\t\"mouseup .ui-spinner-button\": \"_stop\",\n\t\t\"mouseenter .ui-spinner-button\": function( event ) {\n\t\t\t// button will add ui-state-active if mouse was down while mouseleave and kept down\n\t\t\tif ( !$( event.currentTarget ).hasClass( \"ui-state-active\" ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( this._start( event ) === false ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tthis._repeat( null, $( event.currentTarget ).hasClass( \"ui-spinner-up\" ) ? 1 : -1, event );\n\t\t},\n\t\t// TODO: do we really want to consider this a stop?\n\t\t// shouldn't we just stop the repeater and wait until mouseup before\n\t\t// we trigger the stop event?\n\t\t\"mouseleave .ui-spinner-button\": \"_stop\"\n\t},\n\n\t_draw: function() {\n\t\tvar uiSpinner = this.uiSpinner = this.element\n\t\t\t.addClass( \"ui-spinner-input\" )\n\t\t\t.attr( \"autocomplete\", \"off\" )\n\t\t\t.wrap( this._uiSpinnerHtml() )\n\t\t\t.parent()\n\t\t\t\t// add buttons\n\t\t\t\t.append( this._buttonHtml() );\n\n\t\tthis.element.attr( \"role\", \"spinbutton\" );\n\n\t\t// button bindings\n\t\tthis.buttons = uiSpinner.find( \".ui-spinner-button\" )\n\t\t\t.attr( \"tabIndex\", -1 )\n\t\t\t.button()\n\t\t\t.removeClass( \"ui-corner-all\" );\n\n\t\t// IE 6 doesn't understand height: 50% for the buttons\n\t\t// unless the wrapper has an explicit height\n\t\tif ( this.buttons.height() > Math.ceil( uiSpinner.height() * 0.5 ) &&\n\t\t\t\tuiSpinner.height() > 0 ) {\n\t\t\tuiSpinner.height( uiSpinner.height() );\n\t\t}\n\n\t\t// disable spinner if element was already disabled\n\t\tif ( this.options.disabled ) {\n\t\t\tthis.disable();\n\t\t}\n\t},\n\n\t_keydown: function( event ) {\n\t\tvar options = this.options,\n\t\t\tkeyCode = $.ui.keyCode;\n\n\t\tswitch ( event.keyCode ) {\n\t\tcase keyCode.UP:\n\t\t\tthis._repeat( null, 1, event );\n\t\t\treturn true;\n\t\tcase keyCode.DOWN:\n\t\t\tthis._repeat( null, -1, event );\n\t\t\treturn true;\n\t\tcase keyCode.PAGE_UP:\n\t\t\tthis._repeat( null, options.page, event );\n\t\t\treturn true;\n\t\tcase keyCode.PAGE_DOWN:\n\t\t\tthis._repeat( null, -options.page, event );\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t},\n\n\t_uiSpinnerHtml: function() {\n\t\treturn \"<span class='ui-spinner ui-widget ui-widget-content ui-corner-all'></span>\";\n\t},\n\n\t_buttonHtml: function() {\n\t\treturn \"\" +\n\t\t\t\"<a class='ui-spinner-button ui-spinner-up ui-corner-tr'>\" +\n\t\t\t\t\"<span class='ui-icon \" + this.options.icons.up + \"'>&#9650;</span>\" +\n\t\t\t\"</a>\" +\n\t\t\t\"<a class='ui-spinner-button ui-spinner-down ui-corner-br'>\" +\n\t\t\t\t\"<span class='ui-icon \" + this.options.icons.down + \"'>&#9660;</span>\" +\n\t\t\t\"</a>\";\n\t},\n\n\t_start: function( event ) {\n\t\tif ( !this.spinning && this._trigger( \"start\", event ) === false ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif ( !this.counter ) {\n\t\t\tthis.counter = 1;\n\t\t}\n\t\tthis.spinning = true;\n\t\treturn true;\n\t},\n\n\t_repeat: function( i, steps, event ) {\n\t\ti = i || 500;\n\n\t\tclearTimeout( this.timer );\n\t\tthis.timer = this._delay(function() {\n\t\t\tthis._repeat( 40, steps, event );\n\t\t}, i );\n\n\t\tthis._spin( steps * this.options.step, event );\n\t},\n\n\t_spin: function( step, event ) {\n\t\tvar value = this.value() || 0;\n\n\t\tif ( !this.counter ) {\n\t\t\tthis.counter = 1;\n\t\t}\n\n\t\tvalue = this._adjustValue( value + step * this._increment( this.counter ) );\n\n\t\tif ( !this.spinning || this._trigger( \"spin\", event, { value: value } ) !== false) {\n\t\t\tthis._value( value );\n\t\t\tthis.counter++;\n\t\t}\n\t},\n\n\t_increment: function( i ) {\n\t\tvar incremental = this.options.incremental;\n\n\t\tif ( incremental ) {\n\t\t\treturn $.isFunction( incremental ) ?\n\t\t\t\tincremental( i ) :\n\t\t\t\tMath.floor( i * i * i / 50000 - i * i / 500 + 17 * i / 200 + 1 );\n\t\t}\n\n\t\treturn 1;\n\t},\n\n\t_precision: function() {\n\t\tvar precision = this._precisionOf( this.options.step );\n\t\tif ( this.options.min !== null ) {\n\t\t\tprecision = Math.max( precision, this._precisionOf( this.options.min ) );\n\t\t}\n\t\treturn precision;\n\t},\n\n\t_precisionOf: function( num ) {\n\t\tvar str = num.toString(),\n\t\t\tdecimal = str.indexOf( \".\" );\n\t\treturn decimal === -1 ? 0 : str.length - decimal - 1;\n\t},\n\n\t_adjustValue: function( value ) {\n\t\tvar base, aboveMin,\n\t\t\toptions = this.options;\n\n\t\t// make sure we're at a valid step\n\t\t// - find out where we are relative to the base (min or 0)\n\t\tbase = options.min !== null ? options.min : 0;\n\t\taboveMin = value - base;\n\t\t// - round to the nearest step\n\t\taboveMin = Math.round(aboveMin / options.step) * options.step;\n\t\t// - rounding is based on 0, so adjust back to our base\n\t\tvalue = base + aboveMin;\n\n\t\t// fix precision from bad JS floating point math\n\t\tvalue = parseFloat( value.toFixed( this._precision() ) );\n\n\t\t// clamp the value\n\t\tif ( options.max !== null && value > options.max) {\n\t\t\treturn options.max;\n\t\t}\n\t\tif ( options.min !== null && value < options.min ) {\n\t\t\treturn options.min;\n\t\t}\n\n\t\treturn value;\n\t},\n\n\t_stop: function( event ) {\n\t\tif ( !this.spinning ) {\n\t\t\treturn;\n\t\t}\n\n\t\tclearTimeout( this.timer );\n\t\tclearTimeout( this.mousewheelTimer );\n\t\tthis.counter = 0;\n\t\tthis.spinning = false;\n\t\tthis._trigger( \"stop\", event );\n\t},\n\n\t_setOption: function( key, value ) {\n\t\tif ( key === \"culture\" || key === \"numberFormat\" ) {\n\t\t\tvar prevValue = this._parse( this.element.val() );\n\t\t\tthis.options[ key ] = value;\n\t\t\tthis.element.val( this._format( prevValue ) );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( key === \"max\" || key === \"min\" || key === \"step\" ) {\n\t\t\tif ( typeof value === \"string\" ) {\n\t\t\t\tvalue = this._parse( value );\n\t\t\t}\n\t\t}\n\t\tif ( key === \"icons\" ) {\n\t\t\tthis.buttons.first().find( \".ui-icon\" )\n\t\t\t\t.removeClass( this.options.icons.up )\n\t\t\t\t.addClass( value.up );\n\t\t\tthis.buttons.last().find( \".ui-icon\" )\n\t\t\t\t.removeClass( this.options.icons.down )\n\t\t\t\t.addClass( value.down );\n\t\t}\n\n\t\tthis._super( key, value );\n\n\t\tif ( key === \"disabled\" ) {\n\t\t\tthis.widget().toggleClass( \"ui-state-disabled\", !!value );\n\t\t\tthis.element.prop( \"disabled\", !!value );\n\t\t\tthis.buttons.button( value ? \"disable\" : \"enable\" );\n\t\t}\n\t},\n\n\t_setOptions: spinner_modifier(function( options ) {\n\t\tthis._super( options );\n\t}),\n\n\t_parse: function( val ) {\n\t\tif ( typeof val === \"string\" && val !== \"\" ) {\n\t\t\tval = window.Globalize && this.options.numberFormat ?\n\t\t\t\tGlobalize.parseFloat( val, 10, this.options.culture ) : +val;\n\t\t}\n\t\treturn val === \"\" || isNaN( val ) ? null : val;\n\t},\n\n\t_format: function( value ) {\n\t\tif ( value === \"\" ) {\n\t\t\treturn \"\";\n\t\t}\n\t\treturn window.Globalize && this.options.numberFormat ?\n\t\t\tGlobalize.format( value, this.options.numberFormat, this.options.culture ) :\n\t\t\tvalue;\n\t},\n\n\t_refresh: function() {\n\t\tthis.element.attr({\n\t\t\t\"aria-valuemin\": this.options.min,\n\t\t\t\"aria-valuemax\": this.options.max,\n\t\t\t// TODO: what should we do with values that can't be parsed?\n\t\t\t\"aria-valuenow\": this._parse( this.element.val() )\n\t\t});\n\t},\n\n\tisValid: function() {\n\t\tvar value = this.value();\n\n\t\t// null is invalid\n\t\tif ( value === null ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// if value gets adjusted, it's invalid\n\t\treturn value === this._adjustValue( value );\n\t},\n\n\t// update the value without triggering change\n\t_value: function( value, allowAny ) {\n\t\tvar parsed;\n\t\tif ( value !== \"\" ) {\n\t\t\tparsed = this._parse( value );\n\t\t\tif ( parsed !== null ) {\n\t\t\t\tif ( !allowAny ) {\n\t\t\t\t\tparsed = this._adjustValue( parsed );\n\t\t\t\t}\n\t\t\t\tvalue = this._format( parsed );\n\t\t\t}\n\t\t}\n\t\tthis.element.val( value );\n\t\tthis._refresh();\n\t},\n\n\t_destroy: function() {\n\t\tthis.element\n\t\t\t.removeClass( \"ui-spinner-input\" )\n\t\t\t.prop( \"disabled\", false )\n\t\t\t.removeAttr( \"autocomplete\" )\n\t\t\t.removeAttr( \"role\" )\n\t\t\t.removeAttr( \"aria-valuemin\" )\n\t\t\t.removeAttr( \"aria-valuemax\" )\n\t\t\t.removeAttr( \"aria-valuenow\" );\n\t\tthis.uiSpinner.replaceWith( this.element );\n\t},\n\n\tstepUp: spinner_modifier(function( steps ) {\n\t\tthis._stepUp( steps );\n\t}),\n\t_stepUp: function( steps ) {\n\t\tif ( this._start() ) {\n\t\t\tthis._spin( (steps || 1) * this.options.step );\n\t\t\tthis._stop();\n\t\t}\n\t},\n\n\tstepDown: spinner_modifier(function( steps ) {\n\t\tthis._stepDown( steps );\n\t}),\n\t_stepDown: function( steps ) {\n\t\tif ( this._start() ) {\n\t\t\tthis._spin( (steps || 1) * -this.options.step );\n\t\t\tthis._stop();\n\t\t}\n\t},\n\n\tpageUp: spinner_modifier(function( pages ) {\n\t\tthis._stepUp( (pages || 1) * this.options.page );\n\t}),\n\n\tpageDown: spinner_modifier(function( pages ) {\n\t\tthis._stepDown( (pages || 1) * this.options.page );\n\t}),\n\n\tvalue: function( newVal ) {\n\t\tif ( !arguments.length ) {\n\t\t\treturn this._parse( this.element.val() );\n\t\t}\n\t\tspinner_modifier( this._value ).call( this, newVal );\n\t},\n\n\twidget: function() {\n\t\treturn this.uiSpinner;\n\t}\n});\n\n\n/*!\n * jQuery UI Tabs 1.11.4\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/tabs/\n */\n\n\nvar tabs = $.widget( \"ui.tabs\", {\n\tversion: \"1.11.4\",\n\tdelay: 300,\n\toptions: {\n\t\tactive: null,\n\t\tcollapsible: false,\n\t\tevent: \"click\",\n\t\theightStyle: \"content\",\n\t\thide: null,\n\t\tshow: null,\n\n\t\t// callbacks\n\t\tactivate: null,\n\t\tbeforeActivate: null,\n\t\tbeforeLoad: null,\n\t\tload: null\n\t},\n\n\t_isLocal: (function() {\n\t\tvar rhash = /#.*$/;\n\n\t\treturn function( anchor ) {\n\t\t\tvar anchorUrl, locationUrl;\n\n\t\t\t// support: IE7\n\t\t\t// IE7 doesn't normalize the href property when set via script (#9317)\n\t\t\tanchor = anchor.cloneNode( false );\n\n\t\t\tanchorUrl = anchor.href.replace( rhash, \"\" );\n\t\t\tlocationUrl = location.href.replace( rhash, \"\" );\n\n\t\t\t// decoding may throw an error if the URL isn't UTF-8 (#9518)\n\t\t\ttry {\n\t\t\t\tanchorUrl = decodeURIComponent( anchorUrl );\n\t\t\t} catch ( error ) {}\n\t\t\ttry {\n\t\t\t\tlocationUrl = decodeURIComponent( locationUrl );\n\t\t\t} catch ( error ) {}\n\n\t\t\treturn anchor.hash.length > 1 && anchorUrl === locationUrl;\n\t\t};\n\t})(),\n\n\t_create: function() {\n\t\tvar that = this,\n\t\t\toptions = this.options;\n\n\t\tthis.running = false;\n\n\t\tthis.element\n\t\t\t.addClass( \"ui-tabs ui-widget ui-widget-content ui-corner-all\" )\n\t\t\t.toggleClass( \"ui-tabs-collapsible\", options.collapsible );\n\n\t\tthis._processTabs();\n\t\toptions.active = this._initialActive();\n\n\t\t// Take disabling tabs via class attribute from HTML\n\t\t// into account and update option properly.\n\t\tif ( $.isArray( options.disabled ) ) {\n\t\t\toptions.disabled = $.unique( options.disabled.concat(\n\t\t\t\t$.map( this.tabs.filter( \".ui-state-disabled\" ), function( li ) {\n\t\t\t\t\treturn that.tabs.index( li );\n\t\t\t\t})\n\t\t\t) ).sort();\n\t\t}\n\n\t\t// check for length avoids error when initializing empty list\n\t\tif ( this.options.active !== false && this.anchors.length ) {\n\t\t\tthis.active = this._findActive( options.active );\n\t\t} else {\n\t\t\tthis.active = $();\n\t\t}\n\n\t\tthis._refresh();\n\n\t\tif ( this.active.length ) {\n\t\t\tthis.load( options.active );\n\t\t}\n\t},\n\n\t_initialActive: function() {\n\t\tvar active = this.options.active,\n\t\t\tcollapsible = this.options.collapsible,\n\t\t\tlocationHash = location.hash.substring( 1 );\n\n\t\tif ( active === null ) {\n\t\t\t// check the fragment identifier in the URL\n\t\t\tif ( locationHash ) {\n\t\t\t\tthis.tabs.each(function( i, tab ) {\n\t\t\t\t\tif ( $( tab ).attr( \"aria-controls\" ) === locationHash ) {\n\t\t\t\t\t\tactive = i;\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// check for a tab marked active via a class\n\t\t\tif ( active === null ) {\n\t\t\t\tactive = this.tabs.index( this.tabs.filter( \".ui-tabs-active\" ) );\n\t\t\t}\n\n\t\t\t// no active tab, set to false\n\t\t\tif ( active === null || active === -1 ) {\n\t\t\t\tactive = this.tabs.length ? 0 : false;\n\t\t\t}\n\t\t}\n\n\t\t// handle numbers: negative, out of range\n\t\tif ( active !== false ) {\n\t\t\tactive = this.tabs.index( this.tabs.eq( active ) );\n\t\t\tif ( active === -1 ) {\n\t\t\t\tactive = collapsible ? false : 0;\n\t\t\t}\n\t\t}\n\n\t\t// don't allow collapsible: false and active: false\n\t\tif ( !collapsible && active === false && this.anchors.length ) {\n\t\t\tactive = 0;\n\t\t}\n\n\t\treturn active;\n\t},\n\n\t_getCreateEventData: function() {\n\t\treturn {\n\t\t\ttab: this.active,\n\t\t\tpanel: !this.active.length ? $() : this._getPanelForTab( this.active )\n\t\t};\n\t},\n\n\t_tabKeydown: function( event ) {\n\t\tvar focusedTab = $( this.document[0].activeElement ).closest( \"li\" ),\n\t\t\tselectedIndex = this.tabs.index( focusedTab ),\n\t\t\tgoingForward = true;\n\n\t\tif ( this._handlePageNav( event ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tswitch ( event.keyCode ) {\n\t\t\tcase $.ui.keyCode.RIGHT:\n\t\t\tcase $.ui.keyCode.DOWN:\n\t\t\t\tselectedIndex++;\n\t\t\t\tbreak;\n\t\t\tcase $.ui.keyCode.UP:\n\t\t\tcase $.ui.keyCode.LEFT:\n\t\t\t\tgoingForward = false;\n\t\t\t\tselectedIndex--;\n\t\t\t\tbreak;\n\t\t\tcase $.ui.keyCode.END:\n\t\t\t\tselectedIndex = this.anchors.length - 1;\n\t\t\t\tbreak;\n\t\t\tcase $.ui.keyCode.HOME:\n\t\t\t\tselectedIndex = 0;\n\t\t\t\tbreak;\n\t\t\tcase $.ui.keyCode.SPACE:\n\t\t\t\t// Activate only, no collapsing\n\t\t\t\tevent.preventDefault();\n\t\t\t\tclearTimeout( this.activating );\n\t\t\t\tthis._activate( selectedIndex );\n\t\t\t\treturn;\n\t\t\tcase $.ui.keyCode.ENTER:\n\t\t\t\t// Toggle (cancel delayed activation, allow collapsing)\n\t\t\t\tevent.preventDefault();\n\t\t\t\tclearTimeout( this.activating );\n\t\t\t\t// Determine if we should collapse or activate\n\t\t\t\tthis._activate( selectedIndex === this.options.active ? false : selectedIndex );\n\t\t\t\treturn;\n\t\t\tdefault:\n\t\t\t\treturn;\n\t\t}\n\n\t\t// Focus the appropriate tab, based on which key was pressed\n\t\tevent.preventDefault();\n\t\tclearTimeout( this.activating );\n\t\tselectedIndex = this._focusNextTab( selectedIndex, goingForward );\n\n\t\t// Navigating with control/command key will prevent automatic activation\n\t\tif ( !event.ctrlKey && !event.metaKey ) {\n\n\t\t\t// Update aria-selected immediately so that AT think the tab is already selected.\n\t\t\t// Otherwise AT may confuse the user by stating that they need to activate the tab,\n\t\t\t// but the tab will already be activated by the time the announcement finishes.\n\t\t\tfocusedTab.attr( \"aria-selected\", \"false\" );\n\t\t\tthis.tabs.eq( selectedIndex ).attr( \"aria-selected\", \"true\" );\n\n\t\t\tthis.activating = this._delay(function() {\n\t\t\t\tthis.option( \"active\", selectedIndex );\n\t\t\t}, this.delay );\n\t\t}\n\t},\n\n\t_panelKeydown: function( event ) {\n\t\tif ( this._handlePageNav( event ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Ctrl+up moves focus to the current tab\n\t\tif ( event.ctrlKey && event.keyCode === $.ui.keyCode.UP ) {\n\t\t\tevent.preventDefault();\n\t\t\tthis.active.focus();\n\t\t}\n\t},\n\n\t// Alt+page up/down moves focus to the previous/next tab (and activates)\n\t_handlePageNav: function( event ) {\n\t\tif ( event.altKey && event.keyCode === $.ui.keyCode.PAGE_UP ) {\n\t\t\tthis._activate( this._focusNextTab( this.options.active - 1, false ) );\n\t\t\treturn true;\n\t\t}\n\t\tif ( event.altKey && event.keyCode === $.ui.keyCode.PAGE_DOWN ) {\n\t\t\tthis._activate( this._focusNextTab( this.options.active + 1, true ) );\n\t\t\treturn true;\n\t\t}\n\t},\n\n\t_findNextTab: function( index, goingForward ) {\n\t\tvar lastTabIndex = this.tabs.length - 1;\n\n\t\tfunction constrain() {\n\t\t\tif ( index > lastTabIndex ) {\n\t\t\t\tindex = 0;\n\t\t\t}\n\t\t\tif ( index < 0 ) {\n\t\t\t\tindex = lastTabIndex;\n\t\t\t}\n\t\t\treturn index;\n\t\t}\n\n\t\twhile ( $.inArray( constrain(), this.options.disabled ) !== -1 ) {\n\t\t\tindex = goingForward ? index + 1 : index - 1;\n\t\t}\n\n\t\treturn index;\n\t},\n\n\t_focusNextTab: function( index, goingForward ) {\n\t\tindex = this._findNextTab( index, goingForward );\n\t\tthis.tabs.eq( index ).focus();\n\t\treturn index;\n\t},\n\n\t_setOption: function( key, value ) {\n\t\tif ( key === \"active\" ) {\n\t\t\t// _activate() will handle invalid values and update this.options\n\t\t\tthis._activate( value );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( key === \"disabled\" ) {\n\t\t\t// don't use the widget factory's disabled handling\n\t\t\tthis._setupDisabled( value );\n\t\t\treturn;\n\t\t}\n\n\t\tthis._super( key, value);\n\n\t\tif ( key === \"collapsible\" ) {\n\t\t\tthis.element.toggleClass( \"ui-tabs-collapsible\", value );\n\t\t\t// Setting collapsible: false while collapsed; open first panel\n\t\t\tif ( !value && this.options.active === false ) {\n\t\t\t\tthis._activate( 0 );\n\t\t\t}\n\t\t}\n\n\t\tif ( key === \"event\" ) {\n\t\t\tthis._setupEvents( value );\n\t\t}\n\n\t\tif ( key === \"heightStyle\" ) {\n\t\t\tthis._setupHeightStyle( value );\n\t\t}\n\t},\n\n\t_sanitizeSelector: function( hash ) {\n\t\treturn hash ? hash.replace( /[!\"$%&'()*+,.\\/:;<=>?@\\[\\]\\^`{|}~]/g, \"\\\\$&\" ) : \"\";\n\t},\n\n\trefresh: function() {\n\t\tvar options = this.options,\n\t\t\tlis = this.tablist.children( \":has(a[href])\" );\n\n\t\t// get disabled tabs from class attribute from HTML\n\t\t// this will get converted to a boolean if needed in _refresh()\n\t\toptions.disabled = $.map( lis.filter( \".ui-state-disabled\" ), function( tab ) {\n\t\t\treturn lis.index( tab );\n\t\t});\n\n\t\tthis._processTabs();\n\n\t\t// was collapsed or no tabs\n\t\tif ( options.active === false || !this.anchors.length ) {\n\t\t\toptions.active = false;\n\t\t\tthis.active = $();\n\t\t// was active, but active tab is gone\n\t\t} else if ( this.active.length && !$.contains( this.tablist[ 0 ], this.active[ 0 ] ) ) {\n\t\t\t// all remaining tabs are disabled\n\t\t\tif ( this.tabs.length === options.disabled.length ) {\n\t\t\t\toptions.active = false;\n\t\t\t\tthis.active = $();\n\t\t\t// activate previous tab\n\t\t\t} else {\n\t\t\t\tthis._activate( this._findNextTab( Math.max( 0, options.active - 1 ), false ) );\n\t\t\t}\n\t\t// was active, active tab still exists\n\t\t} else {\n\t\t\t// make sure active index is correct\n\t\t\toptions.active = this.tabs.index( this.active );\n\t\t}\n\n\t\tthis._refresh();\n\t},\n\n\t_refresh: function() {\n\t\tthis._setupDisabled( this.options.disabled );\n\t\tthis._setupEvents( this.options.event );\n\t\tthis._setupHeightStyle( this.options.heightStyle );\n\n\t\tthis.tabs.not( this.active ).attr({\n\t\t\t\"aria-selected\": \"false\",\n\t\t\t\"aria-expanded\": \"false\",\n\t\t\ttabIndex: -1\n\t\t});\n\t\tthis.panels.not( this._getPanelForTab( this.active ) )\n\t\t\t.hide()\n\t\t\t.attr({\n\t\t\t\t\"aria-hidden\": \"true\"\n\t\t\t});\n\n\t\t// Make sure one tab is in the tab order\n\t\tif ( !this.active.length ) {\n\t\t\tthis.tabs.eq( 0 ).attr( \"tabIndex\", 0 );\n\t\t} else {\n\t\t\tthis.active\n\t\t\t\t.addClass( \"ui-tabs-active ui-state-active\" )\n\t\t\t\t.attr({\n\t\t\t\t\t\"aria-selected\": \"true\",\n\t\t\t\t\t\"aria-expanded\": \"true\",\n\t\t\t\t\ttabIndex: 0\n\t\t\t\t});\n\t\t\tthis._getPanelForTab( this.active )\n\t\t\t\t.show()\n\t\t\t\t.attr({\n\t\t\t\t\t\"aria-hidden\": \"false\"\n\t\t\t\t});\n\t\t}\n\t},\n\n\t_processTabs: function() {\n\t\tvar that = this,\n\t\t\tprevTabs = this.tabs,\n\t\t\tprevAnchors = this.anchors,\n\t\t\tprevPanels = this.panels;\n\n\t\tthis.tablist = this._getList()\n\t\t\t.addClass( \"ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all\" )\n\t\t\t.attr( \"role\", \"tablist\" )\n\n\t\t\t// Prevent users from focusing disabled tabs via click\n\t\t\t.delegate( \"> li\", \"mousedown\" + this.eventNamespace, function( event ) {\n\t\t\t\tif ( $( this ).is( \".ui-state-disabled\" ) ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t})\n\n\t\t\t// support: IE <9\n\t\t\t// Preventing the default action in mousedown doesn't prevent IE\n\t\t\t// from focusing the element, so if the anchor gets focused, blur.\n\t\t\t// We don't have to worry about focusing the previously focused\n\t\t\t// element since clicking on a non-focusable element should focus\n\t\t\t// the body anyway.\n\t\t\t.delegate( \".ui-tabs-anchor\", \"focus\" + this.eventNamespace, function() {\n\t\t\t\tif ( $( this ).closest( \"li\" ).is( \".ui-state-disabled\" ) ) {\n\t\t\t\t\tthis.blur();\n\t\t\t\t}\n\t\t\t});\n\n\t\tthis.tabs = this.tablist.find( \"> li:has(a[href])\" )\n\t\t\t.addClass( \"ui-state-default ui-corner-top\" )\n\t\t\t.attr({\n\t\t\t\trole: \"tab\",\n\t\t\t\ttabIndex: -1\n\t\t\t});\n\n\t\tthis.anchors = this.tabs.map(function() {\n\t\t\t\treturn $( \"a\", this )[ 0 ];\n\t\t\t})\n\t\t\t.addClass( \"ui-tabs-anchor\" )\n\t\t\t.attr({\n\t\t\t\trole: \"presentation\",\n\t\t\t\ttabIndex: -1\n\t\t\t});\n\n\t\tthis.panels = $();\n\n\t\tthis.anchors.each(function( i, anchor ) {\n\t\t\tvar selector, panel, panelId,\n\t\t\t\tanchorId = $( anchor ).uniqueId().attr( \"id\" ),\n\t\t\t\ttab = $( anchor ).closest( \"li\" ),\n\t\t\t\toriginalAriaControls = tab.attr( \"aria-controls\" );\n\n\t\t\t// inline tab\n\t\t\tif ( that._isLocal( anchor ) ) {\n\t\t\t\tselector = anchor.hash;\n\t\t\t\tpanelId = selector.substring( 1 );\n\t\t\t\tpanel = that.element.find( that._sanitizeSelector( selector ) );\n\t\t\t// remote tab\n\t\t\t} else {\n\t\t\t\t// If the tab doesn't already have aria-controls,\n\t\t\t\t// generate an id by using a throw-away element\n\t\t\t\tpanelId = tab.attr( \"aria-controls\" ) || $( {} ).uniqueId()[ 0 ].id;\n\t\t\t\tselector = \"#\" + panelId;\n\t\t\t\tpanel = that.element.find( selector );\n\t\t\t\tif ( !panel.length ) {\n\t\t\t\t\tpanel = that._createPanel( panelId );\n\t\t\t\t\tpanel.insertAfter( that.panels[ i - 1 ] || that.tablist );\n\t\t\t\t}\n\t\t\t\tpanel.attr( \"aria-live\", \"polite\" );\n\t\t\t}\n\n\t\t\tif ( panel.length) {\n\t\t\t\tthat.panels = that.panels.add( panel );\n\t\t\t}\n\t\t\tif ( originalAriaControls ) {\n\t\t\t\ttab.data( \"ui-tabs-aria-controls\", originalAriaControls );\n\t\t\t}\n\t\t\ttab.attr({\n\t\t\t\t\"aria-controls\": panelId,\n\t\t\t\t\"aria-labelledby\": anchorId\n\t\t\t});\n\t\t\tpanel.attr( \"aria-labelledby\", anchorId );\n\t\t});\n\n\t\tthis.panels\n\t\t\t.addClass( \"ui-tabs-panel ui-widget-content ui-corner-bottom\" )\n\t\t\t.attr( \"role\", \"tabpanel\" );\n\n\t\t// Avoid memory leaks (#10056)\n\t\tif ( prevTabs ) {\n\t\t\tthis._off( prevTabs.not( this.tabs ) );\n\t\t\tthis._off( prevAnchors.not( this.anchors ) );\n\t\t\tthis._off( prevPanels.not( this.panels ) );\n\t\t}\n\t},\n\n\t// allow overriding how to find the list for rare usage scenarios (#7715)\n\t_getList: function() {\n\t\treturn this.tablist || this.element.find( \"ol,ul\" ).eq( 0 );\n\t},\n\n\t_createPanel: function( id ) {\n\t\treturn $( \"<div>\" )\n\t\t\t.attr( \"id\", id )\n\t\t\t.addClass( \"ui-tabs-panel ui-widget-content ui-corner-bottom\" )\n\t\t\t.data( \"ui-tabs-destroy\", true );\n\t},\n\n\t_setupDisabled: function( disabled ) {\n\t\tif ( $.isArray( disabled ) ) {\n\t\t\tif ( !disabled.length ) {\n\t\t\t\tdisabled = false;\n\t\t\t} else if ( disabled.length === this.anchors.length ) {\n\t\t\t\tdisabled = true;\n\t\t\t}\n\t\t}\n\n\t\t// disable tabs\n\t\tfor ( var i = 0, li; ( li = this.tabs[ i ] ); i++ ) {\n\t\t\tif ( disabled === true || $.inArray( i, disabled ) !== -1 ) {\n\t\t\t\t$( li )\n\t\t\t\t\t.addClass( \"ui-state-disabled\" )\n\t\t\t\t\t.attr( \"aria-disabled\", \"true\" );\n\t\t\t} else {\n\t\t\t\t$( li )\n\t\t\t\t\t.removeClass( \"ui-state-disabled\" )\n\t\t\t\t\t.removeAttr( \"aria-disabled\" );\n\t\t\t}\n\t\t}\n\n\t\tthis.options.disabled = disabled;\n\t},\n\n\t_setupEvents: function( event ) {\n\t\tvar events = {};\n\t\tif ( event ) {\n\t\t\t$.each( event.split(\" \"), function( index, eventName ) {\n\t\t\t\tevents[ eventName ] = \"_eventHandler\";\n\t\t\t});\n\t\t}\n\n\t\tthis._off( this.anchors.add( this.tabs ).add( this.panels ) );\n\t\t// Always prevent the default action, even when disabled\n\t\tthis._on( true, this.anchors, {\n\t\t\tclick: function( event ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t});\n\t\tthis._on( this.anchors, events );\n\t\tthis._on( this.tabs, { keydown: \"_tabKeydown\" } );\n\t\tthis._on( this.panels, { keydown: \"_panelKeydown\" } );\n\n\t\tthis._focusable( this.tabs );\n\t\tthis._hoverable( this.tabs );\n\t},\n\n\t_setupHeightStyle: function( heightStyle ) {\n\t\tvar maxHeight,\n\t\t\tparent = this.element.parent();\n\n\t\tif ( heightStyle === \"fill\" ) {\n\t\t\tmaxHeight = parent.height();\n\t\t\tmaxHeight -= this.element.outerHeight() - this.element.height();\n\n\t\t\tthis.element.siblings( \":visible\" ).each(function() {\n\t\t\t\tvar elem = $( this ),\n\t\t\t\t\tposition = elem.css( \"position\" );\n\n\t\t\t\tif ( position === \"absolute\" || position === \"fixed\" ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tmaxHeight -= elem.outerHeight( true );\n\t\t\t});\n\n\t\t\tthis.element.children().not( this.panels ).each(function() {\n\t\t\t\tmaxHeight -= $( this ).outerHeight( true );\n\t\t\t});\n\n\t\t\tthis.panels.each(function() {\n\t\t\t\t$( this ).height( Math.max( 0, maxHeight -\n\t\t\t\t\t$( this ).innerHeight() + $( this ).height() ) );\n\t\t\t})\n\t\t\t.css( \"overflow\", \"auto\" );\n\t\t} else if ( heightStyle === \"auto\" ) {\n\t\t\tmaxHeight = 0;\n\t\t\tthis.panels.each(function() {\n\t\t\t\tmaxHeight = Math.max( maxHeight, $( this ).height( \"\" ).height() );\n\t\t\t}).height( maxHeight );\n\t\t}\n\t},\n\n\t_eventHandler: function( event ) {\n\t\tvar options = this.options,\n\t\t\tactive = this.active,\n\t\t\tanchor = $( event.currentTarget ),\n\t\t\ttab = anchor.closest( \"li\" ),\n\t\t\tclickedIsActive = tab[ 0 ] === active[ 0 ],\n\t\t\tcollapsing = clickedIsActive && options.collapsible,\n\t\t\ttoShow = collapsing ? $() : this._getPanelForTab( tab ),\n\t\t\ttoHide = !active.length ? $() : this._getPanelForTab( active ),\n\t\t\teventData = {\n\t\t\t\toldTab: active,\n\t\t\t\toldPanel: toHide,\n\t\t\t\tnewTab: collapsing ? $() : tab,\n\t\t\t\tnewPanel: toShow\n\t\t\t};\n\n\t\tevent.preventDefault();\n\n\t\tif ( tab.hasClass( \"ui-state-disabled\" ) ||\n\t\t\t\t// tab is already loading\n\t\t\t\ttab.hasClass( \"ui-tabs-loading\" ) ||\n\t\t\t\t// can't switch durning an animation\n\t\t\t\tthis.running ||\n\t\t\t\t// click on active header, but not collapsible\n\t\t\t\t( clickedIsActive && !options.collapsible ) ||\n\t\t\t\t// allow canceling activation\n\t\t\t\t( this._trigger( \"beforeActivate\", event, eventData ) === false ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\toptions.active = collapsing ? false : this.tabs.index( tab );\n\n\t\tthis.active = clickedIsActive ? $() : tab;\n\t\tif ( this.xhr ) {\n\t\t\tthis.xhr.abort();\n\t\t}\n\n\t\tif ( !toHide.length && !toShow.length ) {\n\t\t\t$.error( \"jQuery UI Tabs: Mismatching fragment identifier.\" );\n\t\t}\n\n\t\tif ( toShow.length ) {\n\t\t\tthis.load( this.tabs.index( tab ), event );\n\t\t}\n\t\tthis._toggle( event, eventData );\n\t},\n\n\t// handles show/hide for selecting tabs\n\t_toggle: function( event, eventData ) {\n\t\tvar that = this,\n\t\t\ttoShow = eventData.newPanel,\n\t\t\ttoHide = eventData.oldPanel;\n\n\t\tthis.running = true;\n\n\t\tfunction complete() {\n\t\t\tthat.running = false;\n\t\t\tthat._trigger( \"activate\", event, eventData );\n\t\t}\n\n\t\tfunction show() {\n\t\t\teventData.newTab.closest( \"li\" ).addClass( \"ui-tabs-active ui-state-active\" );\n\n\t\t\tif ( toShow.length && that.options.show ) {\n\t\t\t\tthat._show( toShow, that.options.show, complete );\n\t\t\t} else {\n\t\t\t\ttoShow.show();\n\t\t\t\tcomplete();\n\t\t\t}\n\t\t}\n\n\t\t// start out by hiding, then showing, then completing\n\t\tif ( toHide.length && this.options.hide ) {\n\t\t\tthis._hide( toHide, this.options.hide, function() {\n\t\t\t\teventData.oldTab.closest( \"li\" ).removeClass( \"ui-tabs-active ui-state-active\" );\n\t\t\t\tshow();\n\t\t\t});\n\t\t} else {\n\t\t\teventData.oldTab.closest( \"li\" ).removeClass( \"ui-tabs-active ui-state-active\" );\n\t\t\ttoHide.hide();\n\t\t\tshow();\n\t\t}\n\n\t\ttoHide.attr( \"aria-hidden\", \"true\" );\n\t\teventData.oldTab.attr({\n\t\t\t\"aria-selected\": \"false\",\n\t\t\t\"aria-expanded\": \"false\"\n\t\t});\n\t\t// If we're switching tabs, remove the old tab from the tab order.\n\t\t// If we're opening from collapsed state, remove the previous tab from the tab order.\n\t\t// If we're collapsing, then keep the collapsing tab in the tab order.\n\t\tif ( toShow.length && toHide.length ) {\n\t\t\teventData.oldTab.attr( \"tabIndex\", -1 );\n\t\t} else if ( toShow.length ) {\n\t\t\tthis.tabs.filter(function() {\n\t\t\t\treturn $( this ).attr( \"tabIndex\" ) === 0;\n\t\t\t})\n\t\t\t.attr( \"tabIndex\", -1 );\n\t\t}\n\n\t\ttoShow.attr( \"aria-hidden\", \"false\" );\n\t\teventData.newTab.attr({\n\t\t\t\"aria-selected\": \"true\",\n\t\t\t\"aria-expanded\": \"true\",\n\t\t\ttabIndex: 0\n\t\t});\n\t},\n\n\t_activate: function( index ) {\n\t\tvar anchor,\n\t\t\tactive = this._findActive( index );\n\n\t\t// trying to activate the already active panel\n\t\tif ( active[ 0 ] === this.active[ 0 ] ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// trying to collapse, simulate a click on the current active header\n\t\tif ( !active.length ) {\n\t\t\tactive = this.active;\n\t\t}\n\n\t\tanchor = active.find( \".ui-tabs-anchor\" )[ 0 ];\n\t\tthis._eventHandler({\n\t\t\ttarget: anchor,\n\t\t\tcurrentTarget: anchor,\n\t\t\tpreventDefault: $.noop\n\t\t});\n\t},\n\n\t_findActive: function( index ) {\n\t\treturn index === false ? $() : this.tabs.eq( index );\n\t},\n\n\t_getIndex: function( index ) {\n\t\t// meta-function to give users option to provide a href string instead of a numerical index.\n\t\tif ( typeof index === \"string\" ) {\n\t\t\tindex = this.anchors.index( this.anchors.filter( \"[href$='\" + index + \"']\" ) );\n\t\t}\n\n\t\treturn index;\n\t},\n\n\t_destroy: function() {\n\t\tif ( this.xhr ) {\n\t\t\tthis.xhr.abort();\n\t\t}\n\n\t\tthis.element.removeClass( \"ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible\" );\n\n\t\tthis.tablist\n\t\t\t.removeClass( \"ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all\" )\n\t\t\t.removeAttr( \"role\" );\n\n\t\tthis.anchors\n\t\t\t.removeClass( \"ui-tabs-anchor\" )\n\t\t\t.removeAttr( \"role\" )\n\t\t\t.removeAttr( \"tabIndex\" )\n\t\t\t.removeUniqueId();\n\n\t\tthis.tablist.unbind( this.eventNamespace );\n\n\t\tthis.tabs.add( this.panels ).each(function() {\n\t\t\tif ( $.data( this, \"ui-tabs-destroy\" ) ) {\n\t\t\t\t$( this ).remove();\n\t\t\t} else {\n\t\t\t\t$( this )\n\t\t\t\t\t.removeClass( \"ui-state-default ui-state-active ui-state-disabled \" +\n\t\t\t\t\t\t\"ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel\" )\n\t\t\t\t\t.removeAttr( \"tabIndex\" )\n\t\t\t\t\t.removeAttr( \"aria-live\" )\n\t\t\t\t\t.removeAttr( \"aria-busy\" )\n\t\t\t\t\t.removeAttr( \"aria-selected\" )\n\t\t\t\t\t.removeAttr( \"aria-labelledby\" )\n\t\t\t\t\t.removeAttr( \"aria-hidden\" )\n\t\t\t\t\t.removeAttr( \"aria-expanded\" )\n\t\t\t\t\t.removeAttr( \"role\" );\n\t\t\t}\n\t\t});\n\n\t\tthis.tabs.each(function() {\n\t\t\tvar li = $( this ),\n\t\t\t\tprev = li.data( \"ui-tabs-aria-controls\" );\n\t\t\tif ( prev ) {\n\t\t\t\tli\n\t\t\t\t\t.attr( \"aria-controls\", prev )\n\t\t\t\t\t.removeData( \"ui-tabs-aria-controls\" );\n\t\t\t} else {\n\t\t\t\tli.removeAttr( \"aria-controls\" );\n\t\t\t}\n\t\t});\n\n\t\tthis.panels.show();\n\n\t\tif ( this.options.heightStyle !== \"content\" ) {\n\t\t\tthis.panels.css( \"height\", \"\" );\n\t\t}\n\t},\n\n\tenable: function( index ) {\n\t\tvar disabled = this.options.disabled;\n\t\tif ( disabled === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( index === undefined ) {\n\t\t\tdisabled = false;\n\t\t} else {\n\t\t\tindex = this._getIndex( index );\n\t\t\tif ( $.isArray( disabled ) ) {\n\t\t\t\tdisabled = $.map( disabled, function( num ) {\n\t\t\t\t\treturn num !== index ? num : null;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tdisabled = $.map( this.tabs, function( li, num ) {\n\t\t\t\t\treturn num !== index ? num : null;\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tthis._setupDisabled( disabled );\n\t},\n\n\tdisable: function( index ) {\n\t\tvar disabled = this.options.disabled;\n\t\tif ( disabled === true ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( index === undefined ) {\n\t\t\tdisabled = true;\n\t\t} else {\n\t\t\tindex = this._getIndex( index );\n\t\t\tif ( $.inArray( index, disabled ) !== -1 ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( $.isArray( disabled ) ) {\n\t\t\t\tdisabled = $.merge( [ index ], disabled ).sort();\n\t\t\t} else {\n\t\t\t\tdisabled = [ index ];\n\t\t\t}\n\t\t}\n\t\tthis._setupDisabled( disabled );\n\t},\n\n\tload: function( index, event ) {\n\t\tindex = this._getIndex( index );\n\t\tvar that = this,\n\t\t\ttab = this.tabs.eq( index ),\n\t\t\tanchor = tab.find( \".ui-tabs-anchor\" ),\n\t\t\tpanel = this._getPanelForTab( tab ),\n\t\t\teventData = {\n\t\t\t\ttab: tab,\n\t\t\t\tpanel: panel\n\t\t\t},\n\t\t\tcomplete = function( jqXHR, status ) {\n\t\t\t\tif ( status === \"abort\" ) {\n\t\t\t\t\tthat.panels.stop( false, true );\n\t\t\t\t}\n\n\t\t\t\ttab.removeClass( \"ui-tabs-loading\" );\n\t\t\t\tpanel.removeAttr( \"aria-busy\" );\n\n\t\t\t\tif ( jqXHR === that.xhr ) {\n\t\t\t\t\tdelete that.xhr;\n\t\t\t\t}\n\t\t\t};\n\n\t\t// not remote\n\t\tif ( this._isLocal( anchor[ 0 ] ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.xhr = $.ajax( this._ajaxSettings( anchor, event, eventData ) );\n\n\t\t// support: jQuery <1.8\n\t\t// jQuery <1.8 returns false if the request is canceled in beforeSend,\n\t\t// but as of 1.8, $.ajax() always returns a jqXHR object.\n\t\tif ( this.xhr && this.xhr.statusText !== \"canceled\" ) {\n\t\t\ttab.addClass( \"ui-tabs-loading\" );\n\t\t\tpanel.attr( \"aria-busy\", \"true\" );\n\n\t\t\tthis.xhr\n\t\t\t\t.done(function( response, status, jqXHR ) {\n\t\t\t\t\t// support: jQuery <1.8\n\t\t\t\t\t// http://bugs.jquery.com/ticket/11778\n\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\tpanel.html( response );\n\t\t\t\t\t\tthat._trigger( \"load\", event, eventData );\n\n\t\t\t\t\t\tcomplete( jqXHR, status );\n\t\t\t\t\t}, 1 );\n\t\t\t\t})\n\t\t\t\t.fail(function( jqXHR, status ) {\n\t\t\t\t\t// support: jQuery <1.8\n\t\t\t\t\t// http://bugs.jquery.com/ticket/11778\n\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\tcomplete( jqXHR, status );\n\t\t\t\t\t}, 1 );\n\t\t\t\t});\n\t\t}\n\t},\n\n\t_ajaxSettings: function( anchor, event, eventData ) {\n\t\tvar that = this;\n\t\treturn {\n\t\t\turl: anchor.attr( \"href\" ),\n\t\t\tbeforeSend: function( jqXHR, settings ) {\n\t\t\t\treturn that._trigger( \"beforeLoad\", event,\n\t\t\t\t\t$.extend( { jqXHR: jqXHR, ajaxSettings: settings }, eventData ) );\n\t\t\t}\n\t\t};\n\t},\n\n\t_getPanelForTab: function( tab ) {\n\t\tvar id = $( tab ).attr( \"aria-controls\" );\n\t\treturn this.element.find( this._sanitizeSelector( \"#\" + id ) );\n\t}\n});\n\n\n/*!\n * jQuery UI Tooltip 1.11.4\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/tooltip/\n */\n\n\nvar tooltip = $.widget( \"ui.tooltip\", {\n\tversion: \"1.11.4\",\n\toptions: {\n\t\tcontent: function() {\n\t\t\t// support: IE<9, Opera in jQuery <1.7\n\t\t\t// .text() can't accept undefined, so coerce to a string\n\t\t\tvar title = $( this ).attr( \"title\" ) || \"\";\n\t\t\t// Escape title, since we're going from an attribute to raw HTML\n\t\t\treturn $( \"<a>\" ).text( title ).html();\n\t\t},\n\t\thide: true,\n\t\t// Disabled elements have inconsistent behavior across browsers (#8661)\n\t\titems: \"[title]:not([disabled])\",\n\t\tposition: {\n\t\t\tmy: \"left top+15\",\n\t\t\tat: \"left bottom\",\n\t\t\tcollision: \"flipfit flip\"\n\t\t},\n\t\tshow: true,\n\t\ttooltipClass: null,\n\t\ttrack: false,\n\n\t\t// callbacks\n\t\tclose: null,\n\t\topen: null\n\t},\n\n\t_addDescribedBy: function( elem, id ) {\n\t\tvar describedby = (elem.attr( \"aria-describedby\" ) || \"\").split( /\\s+/ );\n\t\tdescribedby.push( id );\n\t\telem\n\t\t\t.data( \"ui-tooltip-id\", id )\n\t\t\t.attr( \"aria-describedby\", $.trim( describedby.join( \" \" ) ) );\n\t},\n\n\t_removeDescribedBy: function( elem ) {\n\t\tvar id = elem.data( \"ui-tooltip-id\" ),\n\t\t\tdescribedby = (elem.attr( \"aria-describedby\" ) || \"\").split( /\\s+/ ),\n\t\t\tindex = $.inArray( id, describedby );\n\n\t\tif ( index !== -1 ) {\n\t\t\tdescribedby.splice( index, 1 );\n\t\t}\n\n\t\telem.removeData( \"ui-tooltip-id\" );\n\t\tdescribedby = $.trim( describedby.join( \" \" ) );\n\t\tif ( describedby ) {\n\t\t\telem.attr( \"aria-describedby\", describedby );\n\t\t} else {\n\t\t\telem.removeAttr( \"aria-describedby\" );\n\t\t}\n\t},\n\n\t_create: function() {\n\t\tthis._on({\n\t\t\tmouseover: \"open\",\n\t\t\tfocusin: \"open\"\n\t\t});\n\n\t\t// IDs of generated tooltips, needed for destroy\n\t\tthis.tooltips = {};\n\n\t\t// IDs of parent tooltips where we removed the title attribute\n\t\tthis.parents = {};\n\n\t\tif ( this.options.disabled ) {\n\t\t\tthis._disable();\n\t\t}\n\n\t\t// Append the aria-live region so tooltips announce correctly\n\t\tthis.liveRegion = $( \"<div>\" )\n\t\t\t.attr({\n\t\t\t\trole: \"log\",\n\t\t\t\t\"aria-live\": \"assertive\",\n\t\t\t\t\"aria-relevant\": \"additions\"\n\t\t\t})\n\t\t\t.addClass( \"ui-helper-hidden-accessible\" )\n\t\t\t.appendTo( this.document[ 0 ].body );\n\t},\n\n\t_setOption: function( key, value ) {\n\t\tvar that = this;\n\n\t\tif ( key === \"disabled\" ) {\n\t\t\tthis[ value ? \"_disable\" : \"_enable\" ]();\n\t\t\tthis.options[ key ] = value;\n\t\t\t// disable element style changes\n\t\t\treturn;\n\t\t}\n\n\t\tthis._super( key, value );\n\n\t\tif ( key === \"content\" ) {\n\t\t\t$.each( this.tooltips, function( id, tooltipData ) {\n\t\t\t\tthat._updateContent( tooltipData.element );\n\t\t\t});\n\t\t}\n\t},\n\n\t_disable: function() {\n\t\tvar that = this;\n\n\t\t// close open tooltips\n\t\t$.each( this.tooltips, function( id, tooltipData ) {\n\t\t\tvar event = $.Event( \"blur\" );\n\t\t\tevent.target = event.currentTarget = tooltipData.element[ 0 ];\n\t\t\tthat.close( event, true );\n\t\t});\n\n\t\t// remove title attributes to prevent native tooltips\n\t\tthis.element.find( this.options.items ).addBack().each(function() {\n\t\t\tvar element = $( this );\n\t\t\tif ( element.is( \"[title]\" ) ) {\n\t\t\t\telement\n\t\t\t\t\t.data( \"ui-tooltip-title\", element.attr( \"title\" ) )\n\t\t\t\t\t.removeAttr( \"title\" );\n\t\t\t}\n\t\t});\n\t},\n\n\t_enable: function() {\n\t\t// restore title attributes\n\t\tthis.element.find( this.options.items ).addBack().each(function() {\n\t\t\tvar element = $( this );\n\t\t\tif ( element.data( \"ui-tooltip-title\" ) ) {\n\t\t\t\telement.attr( \"title\", element.data( \"ui-tooltip-title\" ) );\n\t\t\t}\n\t\t});\n\t},\n\n\topen: function( event ) {\n\t\tvar that = this,\n\t\t\ttarget = $( event ? event.target : this.element )\n\t\t\t\t// we need closest here due to mouseover bubbling,\n\t\t\t\t// but always pointing at the same event target\n\t\t\t\t.closest( this.options.items );\n\n\t\t// No element to show a tooltip for or the tooltip is already open\n\t\tif ( !target.length || target.data( \"ui-tooltip-id\" ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( target.attr( \"title\" ) ) {\n\t\t\ttarget.data( \"ui-tooltip-title\", target.attr( \"title\" ) );\n\t\t}\n\n\t\ttarget.data( \"ui-tooltip-open\", true );\n\n\t\t// kill parent tooltips, custom or native, for hover\n\t\tif ( event && event.type === \"mouseover\" ) {\n\t\t\ttarget.parents().each(function() {\n\t\t\t\tvar parent = $( this ),\n\t\t\t\t\tblurEvent;\n\t\t\t\tif ( parent.data( \"ui-tooltip-open\" ) ) {\n\t\t\t\t\tblurEvent = $.Event( \"blur\" );\n\t\t\t\t\tblurEvent.target = blurEvent.currentTarget = this;\n\t\t\t\t\tthat.close( blurEvent, true );\n\t\t\t\t}\n\t\t\t\tif ( parent.attr( \"title\" ) ) {\n\t\t\t\t\tparent.uniqueId();\n\t\t\t\t\tthat.parents[ this.id ] = {\n\t\t\t\t\t\telement: this,\n\t\t\t\t\t\ttitle: parent.attr( \"title\" )\n\t\t\t\t\t};\n\t\t\t\t\tparent.attr( \"title\", \"\" );\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tthis._registerCloseHandlers( event, target );\n\t\tthis._updateContent( target, event );\n\t},\n\n\t_updateContent: function( target, event ) {\n\t\tvar content,\n\t\t\tcontentOption = this.options.content,\n\t\t\tthat = this,\n\t\t\teventType = event ? event.type : null;\n\n\t\tif ( typeof contentOption === \"string\" ) {\n\t\t\treturn this._open( event, target, contentOption );\n\t\t}\n\n\t\tcontent = contentOption.call( target[0], function( response ) {\n\n\t\t\t// IE may instantly serve a cached response for ajax requests\n\t\t\t// delay this call to _open so the other call to _open runs first\n\t\t\tthat._delay(function() {\n\n\t\t\t\t// Ignore async response if tooltip was closed already\n\t\t\t\tif ( !target.data( \"ui-tooltip-open\" ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// jQuery creates a special event for focusin when it doesn't\n\t\t\t\t// exist natively. To improve performance, the native event\n\t\t\t\t// object is reused and the type is changed. Therefore, we can't\n\t\t\t\t// rely on the type being correct after the event finished\n\t\t\t\t// bubbling, so we set it back to the previous value. (#8740)\n\t\t\t\tif ( event ) {\n\t\t\t\t\tevent.type = eventType;\n\t\t\t\t}\n\t\t\t\tthis._open( event, target, response );\n\t\t\t});\n\t\t});\n\t\tif ( content ) {\n\t\t\tthis._open( event, target, content );\n\t\t}\n\t},\n\n\t_open: function( event, target, content ) {\n\t\tvar tooltipData, tooltip, delayedShow, a11yContent,\n\t\t\tpositionOption = $.extend( {}, this.options.position );\n\n\t\tif ( !content ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Content can be updated multiple times. If the tooltip already\n\t\t// exists, then just update the content and bail.\n\t\ttooltipData = this._find( target );\n\t\tif ( tooltipData ) {\n\t\t\ttooltipData.tooltip.find( \".ui-tooltip-content\" ).html( content );\n\t\t\treturn;\n\t\t}\n\n\t\t// if we have a title, clear it to prevent the native tooltip\n\t\t// we have to check first to avoid defining a title if none exists\n\t\t// (we don't want to cause an element to start matching [title])\n\t\t//\n\t\t// We use removeAttr only for key events, to allow IE to export the correct\n\t\t// accessible attributes. For mouse events, set to empty string to avoid\n\t\t// native tooltip showing up (happens only when removing inside mouseover).\n\t\tif ( target.is( \"[title]\" ) ) {\n\t\t\tif ( event && event.type === \"mouseover\" ) {\n\t\t\t\ttarget.attr( \"title\", \"\" );\n\t\t\t} else {\n\t\t\t\ttarget.removeAttr( \"title\" );\n\t\t\t}\n\t\t}\n\n\t\ttooltipData = this._tooltip( target );\n\t\ttooltip = tooltipData.tooltip;\n\t\tthis._addDescribedBy( target, tooltip.attr( \"id\" ) );\n\t\ttooltip.find( \".ui-tooltip-content\" ).html( content );\n\n\t\t// Support: Voiceover on OS X, JAWS on IE <= 9\n\t\t// JAWS announces deletions even when aria-relevant=\"additions\"\n\t\t// Voiceover will sometimes re-read the entire log region's contents from the beginning\n\t\tthis.liveRegion.children().hide();\n\t\tif ( content.clone ) {\n\t\t\ta11yContent = content.clone();\n\t\t\ta11yContent.removeAttr( \"id\" ).find( \"[id]\" ).removeAttr( \"id\" );\n\t\t} else {\n\t\t\ta11yContent = content;\n\t\t}\n\t\t$( \"<div>\" ).html( a11yContent ).appendTo( this.liveRegion );\n\n\t\tfunction position( event ) {\n\t\t\tpositionOption.of = event;\n\t\t\tif ( tooltip.is( \":hidden\" ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\ttooltip.position( positionOption );\n\t\t}\n\t\tif ( this.options.track && event && /^mouse/.test( event.type ) ) {\n\t\t\tthis._on( this.document, {\n\t\t\t\tmousemove: position\n\t\t\t});\n\t\t\t// trigger once to override element-relative positioning\n\t\t\tposition( event );\n\t\t} else {\n\t\t\ttooltip.position( $.extend({\n\t\t\t\tof: target\n\t\t\t}, this.options.position ) );\n\t\t}\n\n\t\ttooltip.hide();\n\n\t\tthis._show( tooltip, this.options.show );\n\t\t// Handle tracking tooltips that are shown with a delay (#8644). As soon\n\t\t// as the tooltip is visible, position the tooltip using the most recent\n\t\t// event.\n\t\tif ( this.options.show && this.options.show.delay ) {\n\t\t\tdelayedShow = this.delayedShow = setInterval(function() {\n\t\t\t\tif ( tooltip.is( \":visible\" ) ) {\n\t\t\t\t\tposition( positionOption.of );\n\t\t\t\t\tclearInterval( delayedShow );\n\t\t\t\t}\n\t\t\t}, $.fx.interval );\n\t\t}\n\n\t\tthis._trigger( \"open\", event, { tooltip: tooltip } );\n\t},\n\n\t_registerCloseHandlers: function( event, target ) {\n\t\tvar events = {\n\t\t\tkeyup: function( event ) {\n\t\t\t\tif ( event.keyCode === $.ui.keyCode.ESCAPE ) {\n\t\t\t\t\tvar fakeEvent = $.Event(event);\n\t\t\t\t\tfakeEvent.currentTarget = target[0];\n\t\t\t\t\tthis.close( fakeEvent, true );\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\t// Only bind remove handler for delegated targets. Non-delegated\n\t\t// tooltips will handle this in destroy.\n\t\tif ( target[ 0 ] !== this.element[ 0 ] ) {\n\t\t\tevents.remove = function() {\n\t\t\t\tthis._removeTooltip( this._find( target ).tooltip );\n\t\t\t};\n\t\t}\n\n\t\tif ( !event || event.type === \"mouseover\" ) {\n\t\t\tevents.mouseleave = \"close\";\n\t\t}\n\t\tif ( !event || event.type === \"focusin\" ) {\n\t\t\tevents.focusout = \"close\";\n\t\t}\n\t\tthis._on( true, target, events );\n\t},\n\n\tclose: function( event ) {\n\t\tvar tooltip,\n\t\t\tthat = this,\n\t\t\ttarget = $( event ? event.currentTarget : this.element ),\n\t\t\ttooltipData = this._find( target );\n\n\t\t// The tooltip may already be closed\n\t\tif ( !tooltipData ) {\n\n\t\t\t// We set ui-tooltip-open immediately upon open (in open()), but only set the\n\t\t\t// additional data once there's actually content to show (in _open()). So even if the\n\t\t\t// tooltip doesn't have full data, we always remove ui-tooltip-open in case we're in\n\t\t\t// the period between open() and _open().\n\t\t\ttarget.removeData( \"ui-tooltip-open\" );\n\t\t\treturn;\n\t\t}\n\n\t\ttooltip = tooltipData.tooltip;\n\n\t\t// disabling closes the tooltip, so we need to track when we're closing\n\t\t// to avoid an infinite loop in case the tooltip becomes disabled on close\n\t\tif ( tooltipData.closing ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Clear the interval for delayed tracking tooltips\n\t\tclearInterval( this.delayedShow );\n\n\t\t// only set title if we had one before (see comment in _open())\n\t\t// If the title attribute has changed since open(), don't restore\n\t\tif ( target.data( \"ui-tooltip-title\" ) && !target.attr( \"title\" ) ) {\n\t\t\ttarget.attr( \"title\", target.data( \"ui-tooltip-title\" ) );\n\t\t}\n\n\t\tthis._removeDescribedBy( target );\n\n\t\ttooltipData.hiding = true;\n\t\ttooltip.stop( true );\n\t\tthis._hide( tooltip, this.options.hide, function() {\n\t\t\tthat._removeTooltip( $( this ) );\n\t\t});\n\n\t\ttarget.removeData( \"ui-tooltip-open\" );\n\t\tthis._off( target, \"mouseleave focusout keyup\" );\n\n\t\t// Remove 'remove' binding only on delegated targets\n\t\tif ( target[ 0 ] !== this.element[ 0 ] ) {\n\t\t\tthis._off( target, \"remove\" );\n\t\t}\n\t\tthis._off( this.document, \"mousemove\" );\n\n\t\tif ( event && event.type === \"mouseleave\" ) {\n\t\t\t$.each( this.parents, function( id, parent ) {\n\t\t\t\t$( parent.element ).attr( \"title\", parent.title );\n\t\t\t\tdelete that.parents[ id ];\n\t\t\t});\n\t\t}\n\n\t\ttooltipData.closing = true;\n\t\tthis._trigger( \"close\", event, { tooltip: tooltip } );\n\t\tif ( !tooltipData.hiding ) {\n\t\t\ttooltipData.closing = false;\n\t\t}\n\t},\n\n\t_tooltip: function( element ) {\n\t\tvar tooltip = $( \"<div>\" )\n\t\t\t\t.attr( \"role\", \"tooltip\" )\n\t\t\t\t.addClass( \"ui-tooltip ui-widget ui-corner-all ui-widget-content \" +\n\t\t\t\t\t( this.options.tooltipClass || \"\" ) ),\n\t\t\tid = tooltip.uniqueId().attr( \"id\" );\n\n\t\t$( \"<div>\" )\n\t\t\t.addClass( \"ui-tooltip-content\" )\n\t\t\t.appendTo( tooltip );\n\n\t\ttooltip.appendTo( this.document[0].body );\n\n\t\treturn this.tooltips[ id ] = {\n\t\t\telement: element,\n\t\t\ttooltip: tooltip\n\t\t};\n\t},\n\n\t_find: function( target ) {\n\t\tvar id = target.data( \"ui-tooltip-id\" );\n\t\treturn id ? this.tooltips[ id ] : null;\n\t},\n\n\t_removeTooltip: function( tooltip ) {\n\t\ttooltip.remove();\n\t\tdelete this.tooltips[ tooltip.attr( \"id\" ) ];\n\t},\n\n\t_destroy: function() {\n\t\tvar that = this;\n\n\t\t// close open tooltips\n\t\t$.each( this.tooltips, function( id, tooltipData ) {\n\t\t\t// Delegate to close method to handle common cleanup\n\t\t\tvar event = $.Event( \"blur\" ),\n\t\t\t\telement = tooltipData.element;\n\t\t\tevent.target = event.currentTarget = element[ 0 ];\n\t\t\tthat.close( event, true );\n\n\t\t\t// Remove immediately; destroying an open tooltip doesn't use the\n\t\t\t// hide animation\n\t\t\t$( \"#\" + id ).remove();\n\n\t\t\t// Restore the title\n\t\t\tif ( element.data( \"ui-tooltip-title\" ) ) {\n\t\t\t\t// If the title attribute has changed since open(), don't restore\n\t\t\t\tif ( !element.attr( \"title\" ) ) {\n\t\t\t\t\telement.attr( \"title\", element.data( \"ui-tooltip-title\" ) );\n\t\t\t\t}\n\t\t\t\telement.removeData( \"ui-tooltip-title\" );\n\t\t\t}\n\t\t});\n\t\tthis.liveRegion.remove();\n\t}\n});\n\n\n\n}));\n"
  },
  {
    "path": "app/assets/javascripts/nprogress.js",
    "content": "/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress\n * @license MIT */\n\n;(function(root, factory) {\n\n  if (typeof define === 'function' && define.amd) {\n    define(factory);\n  } else if (typeof exports === 'object') {\n    module.exports = factory();\n  } else {\n    root.NProgress = factory();\n  }\n\n})(this, function() {\n  var NProgress = {};\n\n  NProgress.version = '0.1.6';\n\n  var Settings = NProgress.settings = {\n    minimum: 0.08,\n    easing: 'ease',\n    positionUsing: '',\n    speed: 200,\n    trickle: true,\n    trickleRate: 0.02,\n    trickleSpeed: 800,\n    showSpinner: true,\n    barSelector: '[role=\"bar\"]',\n    spinnerSelector: '[role=\"spinner\"]',\n    parent: 'body',\n    template: '<div class=\"bar\" role=\"bar\"><div class=\"peg\"></div></div><div class=\"spinner\" role=\"spinner\"><div class=\"spinner-icon\"></div></div>'\n  };\n\n  /**\n   * Updates configuration.\n   *\n   *     NProgress.configure({\n   *       minimum: 0.1\n   *     });\n   */\n  NProgress.configure = function(options) {\n    var key, value;\n    for (key in options) {\n      value = options[key];\n      if (value !== undefined && options.hasOwnProperty(key)) Settings[key] = value;\n    }\n\n    return this;\n  };\n\n  /**\n   * Last number.\n   */\n\n  NProgress.status = null;\n\n  /**\n   * Sets the progress bar status, where `n` is a number from `0.0` to `1.0`.\n   *\n   *     NProgress.set(0.4);\n   *     NProgress.set(1.0);\n   */\n\n  NProgress.set = function(n) {\n    var started = NProgress.isStarted();\n\n    n = clamp(n, Settings.minimum, 1);\n    NProgress.status = (n === 1 ? null : n);\n\n    var progress = NProgress.render(!started),\n        bar      = progress.querySelector(Settings.barSelector),\n        speed    = Settings.speed,\n        ease     = Settings.easing;\n\n    progress.offsetWidth; /* Repaint */\n\n    queue(function(next) {\n      // Set positionUsing if it hasn't already been set\n      if (Settings.positionUsing === '') Settings.positionUsing = NProgress.getPositioningCSS();\n\n      // Add transition\n      css(bar, barPositionCSS(n, speed, ease));\n\n      if (n === 1) {\n        // Fade out\n        css(progress, { \n          transition: 'none', \n          opacity: 1 \n        });\n        progress.offsetWidth; /* Repaint */\n\n        setTimeout(function() {\n          css(progress, { \n            transition: 'all ' + speed + 'ms linear', \n            opacity: 0 \n          });\n          setTimeout(function() {\n            NProgress.remove();\n            next();\n          }, speed);\n        }, speed);\n      } else {\n        setTimeout(next, speed);\n      }\n    });\n\n    return this;\n  };\n\n  NProgress.isStarted = function() {\n    return typeof NProgress.status === 'number';\n  };\n\n  /**\n   * Shows the progress bar.\n   * This is the same as setting the status to 0%, except that it doesn't go backwards.\n   *\n   *     NProgress.start();\n   *\n   */\n  NProgress.start = function() {\n    if (!NProgress.status) NProgress.set(0);\n\n    var work = function() {\n      setTimeout(function() {\n        if (!NProgress.status) return;\n        NProgress.trickle();\n        work();\n      }, Settings.trickleSpeed);\n    };\n\n    if (Settings.trickle) work();\n\n    return this;\n  };\n\n  /**\n   * Hides the progress bar.\n   * This is the *sort of* the same as setting the status to 100%, with the\n   * difference being `done()` makes some placebo effect of some realistic motion.\n   *\n   *     NProgress.done();\n   *\n   * If `true` is passed, it will show the progress bar even if its hidden.\n   *\n   *     NProgress.done(true);\n   */\n\n  NProgress.done = function(force) {\n    if (!force && !NProgress.status) return this;\n\n    return NProgress.inc(0.3 + 0.5 * Math.random()).set(1);\n  };\n\n  /**\n   * Increments by a random amount.\n   */\n\n  NProgress.inc = function(amount) {\n    var n = NProgress.status;\n\n    if (!n) {\n      return NProgress.start();\n    } else {\n      if (typeof amount !== 'number') {\n        amount = (1 - n) * clamp(Math.random() * n, 0.1, 0.95);\n      }\n\n      n = clamp(n + amount, 0, 0.994);\n      return NProgress.set(n);\n    }\n  };\n\n  NProgress.trickle = function() {\n    return NProgress.inc(Math.random() * Settings.trickleRate);\n  };\n\n  /**\n   * Waits for all supplied jQuery promises and\n   * increases the progress as the promises resolve.\n   * \n   * @param $promise jQUery Promise\n   */\n  (function() {\n    var initial = 0, current = 0;\n    \n    NProgress.promise = function($promise) {\n      if (!$promise || $promise.state() == \"resolved\") {\n        return this;\n      }\n      \n      if (current == 0) {\n        NProgress.start();\n      }\n      \n      initial++;\n      current++;\n      \n      $promise.always(function() {\n        current--;\n        if (current == 0) {\n            initial = 0;\n            NProgress.done();\n        } else {\n            NProgress.set((initial - current) / initial);\n        }\n      });\n      \n      return this;\n    };\n    \n  })();\n\n  /**\n   * (Internal) renders the progress bar markup based on the `template`\n   * setting.\n   */\n\n  NProgress.render = function(fromStart) {\n    if (NProgress.isRendered()) return document.getElementById('nprogress');\n\n    addClass(document.documentElement, 'nprogress-busy');\n    \n    var progress = document.createElement('div');\n    progress.id = 'nprogress';\n    progress.innerHTML = Settings.template;\n\n    var bar      = progress.querySelector(Settings.barSelector),\n        perc     = fromStart ? '-100' : toBarPerc(NProgress.status || 0),\n        parent   = document.querySelector(Settings.parent),\n        spinner;\n    \n    css(bar, {\n      transition: 'all 0 linear',\n      transform: 'translate3d(' + perc + '%,0,0)'\n    });\n\n    if (!Settings.showSpinner) {\n      spinner = progress.querySelector(Settings.spinnerSelector);\n      spinner && removeElement(spinner);\n    }\n\n    if (parent != document.body) {\n      addClass(parent, 'nprogress-custom-parent');\n    }\n\n    parent.appendChild(progress);\n    return progress;\n  };\n\n  /**\n   * Removes the element. Opposite of render().\n   */\n\n  NProgress.remove = function() {\n    removeClass(document.documentElement, 'nprogress-busy');\n    removeClass(document.querySelector(Settings.parent), 'nprogress-custom-parent')\n    var progress = document.getElementById('nprogress');\n    progress && removeElement(progress);\n  };\n\n  /**\n   * Checks if the progress bar is rendered.\n   */\n\n  NProgress.isRendered = function() {\n    return !!document.getElementById('nprogress');\n  };\n\n  /**\n   * Determine which positioning CSS rule to use.\n   */\n\n  NProgress.getPositioningCSS = function() {\n    // Sniff on document.body.style\n    var bodyStyle = document.body.style;\n\n    // Sniff prefixes\n    var vendorPrefix = ('WebkitTransform' in bodyStyle) ? 'Webkit' :\n                       ('MozTransform' in bodyStyle) ? 'Moz' :\n                       ('msTransform' in bodyStyle) ? 'ms' :\n                       ('OTransform' in bodyStyle) ? 'O' : '';\n\n    if (vendorPrefix + 'Perspective' in bodyStyle) {\n      // Modern browsers with 3D support, e.g. Webkit, IE10\n      return 'translate3d';\n    } else if (vendorPrefix + 'Transform' in bodyStyle) {\n      // Browsers without 3D support, e.g. IE9\n      return 'translate';\n    } else {\n      // Browsers without translate() support, e.g. IE7-8\n      return 'margin';\n    }\n  };\n\n  /**\n   * Helpers\n   */\n\n  function clamp(n, min, max) {\n    if (n < min) return min;\n    if (n > max) return max;\n    return n;\n  }\n\n  /**\n   * (Internal) converts a percentage (`0..1`) to a bar translateX\n   * percentage (`-100%..0%`).\n   */\n\n  function toBarPerc(n) {\n    return (-1 + n) * 100;\n  }\n\n\n  /**\n   * (Internal) returns the correct CSS for changing the bar's\n   * position given an n percentage, and speed and ease from Settings\n   */\n\n  function barPositionCSS(n, speed, ease) {\n    var barCSS;\n\n    if (Settings.positionUsing === 'translate3d') {\n      barCSS = { transform: 'translate3d('+toBarPerc(n)+'%,0,0)' };\n    } else if (Settings.positionUsing === 'translate') {\n      barCSS = { transform: 'translate('+toBarPerc(n)+'%,0)' };\n    } else {\n      barCSS = { 'margin-left': toBarPerc(n)+'%' };\n    }\n\n    barCSS.transition = 'all '+speed+'ms '+ease;\n\n    return barCSS;\n  }\n\n  /**\n   * (Internal) Queues a function to be executed.\n   */\n\n  var queue = (function() {\n    var pending = [];\n    \n    function next() {\n      var fn = pending.shift();\n      if (fn) {\n        fn(next);\n      }\n    }\n\n    return function(fn) {\n      pending.push(fn);\n      if (pending.length == 1) next();\n    };\n  })();\n\n  /**\n   * (Internal) Applies css properties to an element, similar to the jQuery \n   * css method.\n   *\n   * While this helper does assist with vendor prefixed property names, it \n   * does not perform any manipulation of values prior to setting styles.\n   */\n\n  var css = (function() {\n    var cssPrefixes = [ 'Webkit', 'O', 'Moz', 'ms' ],\n        cssProps    = {};\n\n    function camelCase(string) {\n      return string.replace(/^-ms-/, 'ms-').replace(/-([\\da-z])/gi, function(match, letter) {\n        return letter.toUpperCase();\n      });\n    }\n\n    function getVendorProp(name) {\n      var style = document.body.style;\n      if (name in style) return name;\n\n      var i = cssPrefixes.length,\n          capName = name.charAt(0).toUpperCase() + name.slice(1),\n          vendorName;\n      while (i--) {\n        vendorName = cssPrefixes[i] + capName;\n        if (vendorName in style) return vendorName;\n      }\n\n      return name;\n    }\n\n    function getStyleProp(name) {\n      name = camelCase(name);\n      return cssProps[name] || (cssProps[name] = getVendorProp(name));\n    }\n\n    function applyCss(element, prop, value) {\n      prop = getStyleProp(prop);\n      element.style[prop] = value;\n    }\n\n    return function(element, properties) {\n      var args = arguments,\n          prop, \n          value;\n\n      if (args.length == 2) {\n        for (prop in properties) {\n          value = properties[prop];\n          if (value !== undefined && properties.hasOwnProperty(prop)) applyCss(element, prop, value);\n        }\n      } else {\n        applyCss(element, args[1], args[2]);\n      }\n    }\n  })();\n\n  /**\n   * (Internal) Determines if an element or space separated list of class names contains a class name.\n   */\n\n  function hasClass(element, name) {\n    var list = typeof element == 'string' ? element : classList(element);\n    return list.indexOf(' ' + name + ' ') >= 0;\n  }\n\n  /**\n   * (Internal) Adds a class to an element.\n   */\n\n  function addClass(element, name) {\n    var oldList = classList(element),\n        newList = oldList + name;\n\n    if (hasClass(oldList, name)) return; \n\n    // Trim the opening space.\n    element.className = newList.substring(1);\n  }\n\n  /**\n   * (Internal) Removes a class from an element.\n   */\n\n  function removeClass(element, name) {\n    var oldList = classList(element),\n        newList;\n\n    if (!hasClass(element, name)) return;\n\n    // Replace the class name.\n    newList = oldList.replace(' ' + name + ' ', ' ');\n\n    // Trim the opening and closing spaces.\n    element.className = newList.substring(1, newList.length - 1);\n  }\n\n  /**\n   * (Internal) Gets a space separated list of the class names on the element. \n   * The list is wrapped with a single space on each end to facilitate finding \n   * matches within the list.\n   */\n\n  function classList(element) {\n    return (' ' + (element.className || '') + ' ').replace(/\\s+/gi, ' ');\n  }\n\n  /**\n   * (Internal) Removes an element from the DOM.\n   */\n\n  function removeElement(element) {\n    element && element.parentNode && element.parentNode.removeChild(element);\n  }\n\n  return NProgress;\n});\n\n"
  },
  {
    "path": "app/assets/javascripts/scrums.js",
    "content": "var Scrum = {\n  setup: function () {\n    $('.scrum_yt_link').on('click', Scrum.select_video);\n    $('#scrumVideo').on('hidden.bs.modal', function(event){\n        player = $(\"#scrumVideo .modal-body iframe\").get(0);\n        player.src = '';\n    });\n  },\n  select_video: function(event) {\n    event.preventDefault();\n    player = $(\"#scrumVideo .modal-body iframe\").get(0);\n    player.src = 'https://www.youtube.com/embed/' + $(this).data('source') + '?enablejsapi=1';\n    $('#scrumVideo #playerTitle').text($(this).data('content'));\n  }\n\n}\n$(document).on('ready page:load', Scrum.setup)\n"
  },
  {
    "path": "app/assets/javascripts/search_toggle.js",
    "content": "$(document).ready(function() {\n  // Replace search icon with close on toggle\n\n  $('#google-search-dropdown').on('shown.bs.dropdown', function() {\n    $('#google_search i').removeClass('fa-search').addClass('fa-times');\n    $(\"#gsc-i-id1\").focus();\n  });\n\n  $('#google-search-dropdown').on('hidden.bs.dropdown', function() {\n    $('#google_search i').removeClass('fa-times').addClass('fa-search');\n  });\n\n  return false;\n});\n"
  },
  {
    "path": "app/assets/javascripts/subscriptions.js",
    "content": "(function() {\n  $(function() {\n    return $('[data-behavior~=ajax-spin]').on('click', function() {\n      var target;\n      target = $(this).data('target');\n      return $(target).spin({\n        lines: 12, // The number of lines to draw\n        length: 7, // The length of each line\n        width: 30, // The line thickness\n        radius: 100, // The radius of the inner circle\n        color: '#EE7335', // #rgb or #rrggbb\n        speed: 1, // Rounds per second\n        trail: 60, // Afterglow percentage\n        shadow: true // Whether to render a shadow\n      });\n    });\n  });\n\n}).call(this);\n\n"
  },
  {
    "path": "app/assets/javascripts/typeahead.jquery.js",
    "content": "/*!\n * typeahead.js 1.3.1\n * https://github.com/corejavascript/typeahead.js\n * Copyright 2013-2020 Twitter, Inc. and other contributors; Licensed MIT\n */\n\n\n(function(root, factory) {\n    if (typeof define === \"function\" && define.amd) {\n        define([ \"jquery\" ], function(a0) {\n            return factory(a0);\n        });\n    } else if (typeof module === \"object\" && module.exports) {\n        module.exports = factory(require(\"jquery\"));\n    } else {\n        factory(root[\"jQuery\"]);\n    }\n})(this, function($) {\n    var _ = function() {\n        \"use strict\";\n        return {\n            isMsie: function() {\n                return /(msie|trident)/i.test(navigator.userAgent) ? navigator.userAgent.match(/(msie |rv:)(\\d+(.\\d+)?)/i)[2] : false;\n            },\n            isBlankString: function(str) {\n                return !str || /^\\s*$/.test(str);\n            },\n            escapeRegExChars: function(str) {\n                return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, \"\\\\$&\");\n            },\n            isString: function(obj) {\n                return typeof obj === \"string\";\n            },\n            isNumber: function(obj) {\n                return typeof obj === \"number\";\n            },\n            isArray: $.isArray,\n            isFunction: $.isFunction,\n            isObject: $.isPlainObject,\n            isUndefined: function(obj) {\n                return typeof obj === \"undefined\";\n            },\n            isElement: function(obj) {\n                return !!(obj && obj.nodeType === 1);\n            },\n            isJQuery: function(obj) {\n                return obj instanceof $;\n            },\n            toStr: function toStr(s) {\n                return _.isUndefined(s) || s === null ? \"\" : s + \"\";\n            },\n            bind: $.proxy,\n            each: function(collection, cb) {\n                $.each(collection, reverseArgs);\n                function reverseArgs(index, value) {\n                    return cb(value, index);\n                }\n            },\n            map: $.map,\n            filter: $.grep,\n            every: function(obj, test) {\n                var result = true;\n                if (!obj) {\n                    return result;\n                }\n                $.each(obj, function(key, val) {\n                    if (!(result = test.call(null, val, key, obj))) {\n                        return false;\n                    }\n                });\n                return !!result;\n            },\n            some: function(obj, test) {\n                var result = false;\n                if (!obj) {\n                    return result;\n                }\n                $.each(obj, function(key, val) {\n                    if (result = test.call(null, val, key, obj)) {\n                        return false;\n                    }\n                });\n                return !!result;\n            },\n            mixin: $.extend,\n            identity: function(x) {\n                return x;\n            },\n            clone: function(obj) {\n                return $.extend(true, {}, obj);\n            },\n            getIdGenerator: function() {\n                var counter = 0;\n                return function() {\n                    return counter++;\n                };\n            },\n            templatify: function templatify(obj) {\n                return $.isFunction(obj) ? obj : template;\n                function template() {\n                    return String(obj);\n                }\n            },\n            defer: function(fn) {\n                setTimeout(fn, 0);\n            },\n            debounce: function(func, wait, immediate) {\n                var timeout, result;\n                return function() {\n                    var context = this, args = arguments, later, callNow;\n                    later = function() {\n                        timeout = null;\n                        if (!immediate) {\n                            result = func.apply(context, args);\n                        }\n                    };\n                    callNow = immediate && !timeout;\n                    clearTimeout(timeout);\n                    timeout = setTimeout(later, wait);\n                    if (callNow) {\n                        result = func.apply(context, args);\n                    }\n                    return result;\n                };\n            },\n            throttle: function(func, wait) {\n                var context, args, timeout, result, previous, later;\n                previous = 0;\n                later = function() {\n                    previous = new Date();\n                    timeout = null;\n                    result = func.apply(context, args);\n                };\n                return function() {\n                    var now = new Date(), remaining = wait - (now - previous);\n                    context = this;\n                    args = arguments;\n                    if (remaining <= 0) {\n                        clearTimeout(timeout);\n                        timeout = null;\n                        previous = now;\n                        result = func.apply(context, args);\n                    } else if (!timeout) {\n                        timeout = setTimeout(later, remaining);\n                    }\n                    return result;\n                };\n            },\n            stringify: function(val) {\n                return _.isString(val) ? val : JSON.stringify(val);\n            },\n            guid: function() {\n                function _p8(s) {\n                    var p = (Math.random().toString(16) + \"000000000\").substr(2, 8);\n                    return s ? \"-\" + p.substr(0, 4) + \"-\" + p.substr(4, 4) : p;\n                }\n                return \"tt-\" + _p8() + _p8(true) + _p8(true) + _p8();\n            },\n            noop: function() {}\n        };\n    }();\n    var WWW = function() {\n        \"use strict\";\n        var defaultClassNames = {\n            wrapper: \"twitter-typeahead\",\n            input: \"tt-input\",\n            hint: \"tt-hint\",\n            menu: \"tt-menu\",\n            dataset: \"tt-dataset\",\n            suggestion: \"tt-suggestion\",\n            selectable: \"tt-selectable\",\n            empty: \"tt-empty\",\n            open: \"tt-open\",\n            cursor: \"tt-cursor\",\n            highlight: \"tt-highlight\"\n        };\n        return build;\n        function build(o) {\n            var www, classes;\n            classes = _.mixin({}, defaultClassNames, o);\n            www = {\n                css: buildCss(),\n                classes: classes,\n                html: buildHtml(classes),\n                selectors: buildSelectors(classes)\n            };\n            return {\n                css: www.css,\n                html: www.html,\n                classes: www.classes,\n                selectors: www.selectors,\n                mixin: function(o) {\n                    _.mixin(o, www);\n                }\n            };\n        }\n        function buildHtml(c) {\n            return {\n                wrapper: '<span class=\"' + c.wrapper + '\"></span>',\n                menu: '<div role=\"listbox\" class=\"' + c.menu + '\"></div>'\n            };\n        }\n        function buildSelectors(classes) {\n            var selectors = {};\n            _.each(classes, function(v, k) {\n                selectors[k] = \".\" + v;\n            });\n            return selectors;\n        }\n        function buildCss() {\n            var css = {\n                wrapper: {\n                    position: \"relative\",\n                    display: \"inline-block\"\n                },\n                hint: {\n                    position: \"absolute\",\n                    top: \"0\",\n                    left: \"0\",\n                    borderColor: \"transparent\",\n                    boxShadow: \"none\",\n                    opacity: \"1\"\n                },\n                input: {\n                    position: \"relative\",\n                    verticalAlign: \"top\",\n                    backgroundColor: \"transparent\"\n                },\n                inputWithNoHint: {\n                    position: \"relative\",\n                    verticalAlign: \"top\"\n                },\n                menu: {\n                    position: \"absolute\",\n                    top: \"100%\",\n                    left: \"0\",\n                    zIndex: \"100\",\n                    display: \"none\"\n                },\n                ltr: {\n                    left: \"0\",\n                    right: \"auto\"\n                },\n                rtl: {\n                    left: \"auto\",\n                    right: \" 0\"\n                }\n            };\n            if (_.isMsie()) {\n                _.mixin(css.input, {\n                    backgroundImage: \"url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)\"\n                });\n            }\n            return css;\n        }\n    }();\n    var EventBus = function() {\n        \"use strict\";\n        var namespace, deprecationMap;\n        namespace = \"typeahead:\";\n        deprecationMap = {\n            render: \"rendered\",\n            cursorchange: \"cursorchanged\",\n            select: \"selected\",\n            autocomplete: \"autocompleted\"\n        };\n        function EventBus(o) {\n            if (!o || !o.el) {\n                $.error(\"EventBus initialized without el\");\n            }\n            this.$el = $(o.el);\n        }\n        _.mixin(EventBus.prototype, {\n            _trigger: function(type, args) {\n                var $e = $.Event(namespace + type);\n                this.$el.trigger.call(this.$el, $e, args || []);\n                return $e;\n            },\n            before: function(type) {\n                var args, $e;\n                args = [].slice.call(arguments, 1);\n                $e = this._trigger(\"before\" + type, args);\n                return $e.isDefaultPrevented();\n            },\n            trigger: function(type) {\n                var deprecatedType;\n                this._trigger(type, [].slice.call(arguments, 1));\n                if (deprecatedType = deprecationMap[type]) {\n                    this._trigger(deprecatedType, [].slice.call(arguments, 1));\n                }\n            }\n        });\n        return EventBus;\n    }();\n    var EventEmitter = function() {\n        \"use strict\";\n        var splitter = /\\s+/, nextTick = getNextTick();\n        return {\n            onSync: onSync,\n            onAsync: onAsync,\n            off: off,\n            trigger: trigger\n        };\n        function on(method, types, cb, context) {\n            var type;\n            if (!cb) {\n                return this;\n            }\n            types = types.split(splitter);\n            cb = context ? bindContext(cb, context) : cb;\n            this._callbacks = this._callbacks || {};\n            while (type = types.shift()) {\n                this._callbacks[type] = this._callbacks[type] || {\n                    sync: [],\n                    async: []\n                };\n                this._callbacks[type][method].push(cb);\n            }\n            return this;\n        }\n        function onAsync(types, cb, context) {\n            return on.call(this, \"async\", types, cb, context);\n        }\n        function onSync(types, cb, context) {\n            return on.call(this, \"sync\", types, cb, context);\n        }\n        function off(types) {\n            var type;\n            if (!this._callbacks) {\n                return this;\n            }\n            types = types.split(splitter);\n            while (type = types.shift()) {\n                delete this._callbacks[type];\n            }\n            return this;\n        }\n        function trigger(types) {\n            var type, callbacks, args, syncFlush, asyncFlush;\n            if (!this._callbacks) {\n                return this;\n            }\n            types = types.split(splitter);\n            args = [].slice.call(arguments, 1);\n            while ((type = types.shift()) && (callbacks = this._callbacks[type])) {\n                syncFlush = getFlush(callbacks.sync, this, [ type ].concat(args));\n                asyncFlush = getFlush(callbacks.async, this, [ type ].concat(args));\n                syncFlush() && nextTick(asyncFlush);\n            }\n            return this;\n        }\n        function getFlush(callbacks, context, args) {\n            return flush;\n            function flush() {\n                var cancelled;\n                for (var i = 0, len = callbacks.length; !cancelled && i < len; i += 1) {\n                    cancelled = callbacks[i].apply(context, args) === false;\n                }\n                return !cancelled;\n            }\n        }\n        function getNextTick() {\n            var nextTickFn;\n            if (window.setImmediate) {\n                nextTickFn = function nextTickSetImmediate(fn) {\n                    setImmediate(function() {\n                        fn();\n                    });\n                };\n            } else {\n                nextTickFn = function nextTickSetTimeout(fn) {\n                    setTimeout(function() {\n                        fn();\n                    }, 0);\n                };\n            }\n            return nextTickFn;\n        }\n        function bindContext(fn, context) {\n            return fn.bind ? fn.bind(context) : function() {\n                fn.apply(context, [].slice.call(arguments, 0));\n            };\n        }\n    }();\n    var highlight = function(doc) {\n        \"use strict\";\n        var defaults = {\n            node: null,\n            pattern: null,\n            tagName: \"strong\",\n            className: null,\n            wordsOnly: false,\n            caseSensitive: false,\n            diacriticInsensitive: false\n        };\n        var accented = {\n            A: \"[AaªÀ-Åà-åĀ-ąǍǎȀ-ȃȦȧᴬᵃḀḁẚẠ-ảₐ℀℁℻⒜Ⓐⓐ㍱-㍴㎀-㎄㎈㎉㎩-㎯㏂㏊㏟㏿Ａａ]\",\n            B: \"[BbᴮᵇḂ-ḇℬ⒝Ⓑⓑ㍴㎅-㎇㏃㏈㏔㏝Ｂｂ]\",\n            C: \"[CcÇçĆ-čᶜ℀ℂ℃℅℆ℭⅭⅽ⒞Ⓒⓒ㍶㎈㎉㎝㎠㎤㏄-㏇Ｃｃ]\",\n            D: \"[DdĎďǄ-ǆǱ-ǳᴰᵈḊ-ḓⅅⅆⅮⅾ⒟Ⓓⓓ㋏㍲㍷-㍹㎗㎭-㎯㏅㏈Ｄｄ]\",\n            E: \"[EeÈ-Ëè-ëĒ-ěȄ-ȇȨȩᴱᵉḘ-ḛẸ-ẽₑ℡ℯℰⅇ⒠Ⓔⓔ㉐㋍㋎Ｅｅ]\",\n            F: \"[FfᶠḞḟ℉ℱ℻⒡Ⓕⓕ㎊-㎌㎙ﬀ-ﬄＦｆ]\",\n            G: \"[GgĜ-ģǦǧǴǵᴳᵍḠḡℊ⒢Ⓖⓖ㋌㋍㎇㎍-㎏㎓㎬㏆㏉㏒㏿Ｇｇ]\",\n            H: \"[HhĤĥȞȟʰᴴḢ-ḫẖℋ-ℎ⒣Ⓗⓗ㋌㍱㎐-㎔㏊㏋㏗Ｈｈ]\",\n            I: \"[IiÌ-Ïì-ïĨ-İĲĳǏǐȈ-ȋᴵᵢḬḭỈ-ịⁱℐℑℹⅈⅠ-ⅣⅥ-ⅨⅪⅫⅰ-ⅳⅵ-ⅸⅺⅻ⒤Ⓘⓘ㍺㏌㏕ﬁﬃＩｉ]\",\n            J: \"[JjĲ-ĵǇ-ǌǰʲᴶⅉ⒥ⒿⓙⱼＪｊ]\",\n            K: \"[KkĶķǨǩᴷᵏḰ-ḵK⒦Ⓚⓚ㎄㎅㎉㎏㎑㎘㎞㎢㎦㎪㎸㎾㏀㏆㏍-㏏Ｋｋ]\",\n            L: \"[LlĹ-ŀǇ-ǉˡᴸḶḷḺ-ḽℒℓ℡Ⅼⅼ⒧Ⓛⓛ㋏㎈㎉㏐-㏓㏕㏖㏿ﬂﬄＬｌ]\",\n            M: \"[MmᴹᵐḾ-ṃ℠™ℳⅯⅿ⒨Ⓜⓜ㍷-㍹㎃㎆㎎㎒㎖㎙-㎨㎫㎳㎷㎹㎽㎿㏁㏂㏎㏐㏔-㏖㏘㏙㏞㏟Ｍｍ]\",\n            N: \"[NnÑñŃ-ŉǊ-ǌǸǹᴺṄ-ṋⁿℕ№⒩Ⓝⓝ㎁㎋㎚㎱㎵㎻㏌㏑Ｎｎ]\",\n            O: \"[OoºÒ-Öò-öŌ-őƠơǑǒǪǫȌ-ȏȮȯᴼᵒỌ-ỏₒ℅№ℴ⒪Ⓞⓞ㍵㏇㏒㏖Ｏｏ]\",\n            P: \"[PpᴾᵖṔ-ṗℙ⒫Ⓟⓟ㉐㍱㍶㎀㎊㎩-㎬㎰㎴㎺㏋㏗-㏚Ｐｐ]\",\n            Q: \"[Qqℚ⒬Ⓠⓠ㏃Ｑｑ]\",\n            R: \"[RrŔ-řȐ-ȓʳᴿᵣṘ-ṛṞṟ₨ℛ-ℝ⒭Ⓡⓡ㋍㍴㎭-㎯㏚㏛Ｒｒ]\",\n            S: \"[SsŚ-šſȘșˢṠ-ṣ₨℁℠⒮Ⓢⓢ㎧㎨㎮-㎳㏛㏜ﬆＳｓ]\",\n            T: \"[TtŢ-ťȚțᵀᵗṪ-ṱẗ℡™⒯Ⓣⓣ㉐㋏㎔㏏ﬅﬆＴｔ]\",\n            U: \"[UuÙ-Üù-üŨ-ųƯưǓǔȔ-ȗᵁᵘᵤṲ-ṷỤ-ủ℆⒰Ⓤⓤ㍳㍺Ｕｕ]\",\n            V: \"[VvᵛᵥṼ-ṿⅣ-Ⅷⅳ-ⅷ⒱Ⓥⓥⱽ㋎㍵㎴-㎹㏜㏞Ｖｖ]\",\n            W: \"[WwŴŵʷᵂẀ-ẉẘ⒲Ⓦⓦ㎺-㎿㏝Ｗｗ]\",\n            X: \"[XxˣẊ-ẍₓ℻Ⅸ-Ⅻⅸ-ⅻ⒳Ⓧⓧ㏓Ｘｘ]\",\n            Y: \"[YyÝýÿŶ-ŸȲȳʸẎẏẙỲ-ỹ⒴Ⓨⓨ㏉Ｙｙ]\",\n            Z: \"[ZzŹ-žǱ-ǳᶻẐ-ẕℤℨ⒵Ⓩⓩ㎐-㎔Ｚｚ]\"\n        };\n        return function hightlight(o) {\n            var regex;\n            o = _.mixin({}, defaults, o);\n            if (!o.node || !o.pattern) {\n                return;\n            }\n            o.pattern = _.isArray(o.pattern) ? o.pattern : [ o.pattern ];\n            regex = getRegex(o.pattern, o.caseSensitive, o.wordsOnly, o.diacriticInsensitive);\n            traverse(o.node, hightlightTextNode);\n            function hightlightTextNode(textNode) {\n                var match, patternNode, wrapperNode;\n                if (match = regex.exec(textNode.data)) {\n                    wrapperNode = doc.createElement(o.tagName);\n                    o.className && (wrapperNode.className = o.className);\n                    patternNode = textNode.splitText(match.index);\n                    patternNode.splitText(match[0].length);\n                    wrapperNode.appendChild(patternNode.cloneNode(true));\n                    textNode.parentNode.replaceChild(wrapperNode, patternNode);\n                }\n                return !!match;\n            }\n            function traverse(el, hightlightTextNode) {\n                var childNode, TEXT_NODE_TYPE = 3;\n                for (var i = 0; i < el.childNodes.length; i++) {\n                    childNode = el.childNodes[i];\n                    if (childNode.nodeType === TEXT_NODE_TYPE) {\n                        i += hightlightTextNode(childNode) ? 1 : 0;\n                    } else {\n                        traverse(childNode, hightlightTextNode);\n                    }\n                }\n            }\n        };\n        function accent_replacer(chr) {\n            return accented[chr.toUpperCase()] || chr;\n        }\n        function getRegex(patterns, caseSensitive, wordsOnly, diacriticInsensitive) {\n            var escapedPatterns = [], regexStr;\n            for (var i = 0, len = patterns.length; i < len; i++) {\n                var escapedWord = _.escapeRegExChars(patterns[i]);\n                if (diacriticInsensitive) {\n                    escapedWord = escapedWord.replace(/\\S/g, accent_replacer);\n                }\n                escapedPatterns.push(escapedWord);\n            }\n            regexStr = wordsOnly ? \"\\\\b(\" + escapedPatterns.join(\"|\") + \")\\\\b\" : \"(\" + escapedPatterns.join(\"|\") + \")\";\n            return caseSensitive ? new RegExp(regexStr) : new RegExp(regexStr, \"i\");\n        }\n    }(window.document);\n    var Input = function() {\n        \"use strict\";\n        var specialKeyCodeMap;\n        specialKeyCodeMap = {\n            9: \"tab\",\n            27: \"esc\",\n            37: \"left\",\n            39: \"right\",\n            13: \"enter\",\n            38: \"up\",\n            40: \"down\"\n        };\n        function Input(o, www) {\n            var id;\n            o = o || {};\n            if (!o.input) {\n                $.error(\"input is missing\");\n            }\n            www.mixin(this);\n            this.$hint = $(o.hint);\n            this.$input = $(o.input);\n            this.$menu = $(o.menu);\n            id = this.$input.attr(\"id\") || _.guid();\n            this.$menu.attr(\"id\", id + \"_listbox\");\n            this.$hint.attr({\n                \"aria-hidden\": true\n            });\n            this.$input.attr({\n                \"aria-owns\": id + \"_listbox\",\n                role: \"combobox\",\n                \"aria-autocomplete\": \"list\",\n                \"aria-expanded\": false\n            });\n            this.query = this.$input.val();\n            this.queryWhenFocused = this.hasFocus() ? this.query : null;\n            this.$overflowHelper = buildOverflowHelper(this.$input);\n            this._checkLanguageDirection();\n            if (this.$hint.length === 0) {\n                this.setHint = this.getHint = this.clearHint = this.clearHintIfInvalid = _.noop;\n            }\n            this.onSync(\"cursorchange\", this._updateDescendent);\n        }\n        Input.normalizeQuery = function(str) {\n            return _.toStr(str).replace(/^\\s*/g, \"\").replace(/\\s{2,}/g, \" \");\n        };\n        _.mixin(Input.prototype, EventEmitter, {\n            _onBlur: function onBlur() {\n                this.resetInputValue();\n                this.trigger(\"blurred\");\n            },\n            _onFocus: function onFocus() {\n                this.queryWhenFocused = this.query;\n                this.trigger(\"focused\");\n            },\n            _onKeydown: function onKeydown($e) {\n                var keyName = specialKeyCodeMap[$e.which || $e.keyCode];\n                this._managePreventDefault(keyName, $e);\n                if (keyName && this._shouldTrigger(keyName, $e)) {\n                    this.trigger(keyName + \"Keyed\", $e);\n                }\n            },\n            _onInput: function onInput() {\n                this._setQuery(this.getInputValue());\n                this.clearHintIfInvalid();\n                this._checkLanguageDirection();\n            },\n            _managePreventDefault: function managePreventDefault(keyName, $e) {\n                var preventDefault;\n                switch (keyName) {\n                  case \"up\":\n                  case \"down\":\n                    preventDefault = !withModifier($e);\n                    break;\n\n                  default:\n                    preventDefault = false;\n                }\n                preventDefault && $e.preventDefault();\n            },\n            _shouldTrigger: function shouldTrigger(keyName, $e) {\n                var trigger;\n                switch (keyName) {\n                  case \"tab\":\n                    trigger = !withModifier($e);\n                    break;\n\n                  default:\n                    trigger = true;\n                }\n                return trigger;\n            },\n            _checkLanguageDirection: function checkLanguageDirection() {\n                var dir = (this.$input.css(\"direction\") || \"ltr\").toLowerCase();\n                if (this.dir !== dir) {\n                    this.dir = dir;\n                    this.$hint.attr(\"dir\", dir);\n                    this.trigger(\"langDirChanged\", dir);\n                }\n            },\n            _setQuery: function setQuery(val, silent) {\n                var areEquivalent, hasDifferentWhitespace;\n                areEquivalent = areQueriesEquivalent(val, this.query);\n                hasDifferentWhitespace = areEquivalent ? this.query.length !== val.length : false;\n                this.query = val;\n                if (!silent && !areEquivalent) {\n                    this.trigger(\"queryChanged\", this.query);\n                } else if (!silent && hasDifferentWhitespace) {\n                    this.trigger(\"whitespaceChanged\", this.query);\n                }\n            },\n            _updateDescendent: function updateDescendent(event, id) {\n                this.$input.attr(\"aria-activedescendant\", id);\n            },\n            bind: function() {\n                var that = this, onBlur, onFocus, onKeydown, onInput;\n                onBlur = _.bind(this._onBlur, this);\n                onFocus = _.bind(this._onFocus, this);\n                onKeydown = _.bind(this._onKeydown, this);\n                onInput = _.bind(this._onInput, this);\n                this.$input.on(\"blur.tt\", onBlur).on(\"focus.tt\", onFocus).on(\"keydown.tt\", onKeydown);\n                if (!_.isMsie() || _.isMsie() > 9) {\n                    this.$input.on(\"input.tt\", onInput);\n                } else {\n                    this.$input.on(\"keydown.tt keypress.tt cut.tt paste.tt\", function($e) {\n                        if (specialKeyCodeMap[$e.which || $e.keyCode]) {\n                            return;\n                        }\n                        _.defer(_.bind(that._onInput, that, $e));\n                    });\n                }\n                return this;\n            },\n            focus: function focus() {\n                this.$input.focus();\n            },\n            blur: function blur() {\n                this.$input.blur();\n            },\n            getLangDir: function getLangDir() {\n                return this.dir;\n            },\n            getQuery: function getQuery() {\n                return this.query || \"\";\n            },\n            setQuery: function setQuery(val, silent) {\n                this.setInputValue(val);\n                this._setQuery(val, silent);\n            },\n            hasQueryChangedSinceLastFocus: function hasQueryChangedSinceLastFocus() {\n                return this.query !== this.queryWhenFocused;\n            },\n            getInputValue: function getInputValue() {\n                return this.$input.val();\n            },\n            setInputValue: function setInputValue(value) {\n                this.$input.val(value);\n                this.clearHintIfInvalid();\n                this._checkLanguageDirection();\n            },\n            resetInputValue: function resetInputValue() {\n                this.setInputValue(this.query);\n            },\n            getHint: function getHint() {\n                return this.$hint.val();\n            },\n            setHint: function setHint(value) {\n                this.$hint.val(value);\n            },\n            clearHint: function clearHint() {\n                this.setHint(\"\");\n            },\n            clearHintIfInvalid: function clearHintIfInvalid() {\n                var val, hint, valIsPrefixOfHint, isValid;\n                val = this.getInputValue();\n                hint = this.getHint();\n                valIsPrefixOfHint = val !== hint && hint.indexOf(val) === 0;\n                isValid = val !== \"\" && valIsPrefixOfHint && !this.hasOverflow();\n                !isValid && this.clearHint();\n            },\n            hasFocus: function hasFocus() {\n                return this.$input.is(\":focus\");\n            },\n            hasOverflow: function hasOverflow() {\n                var constraint = this.$input.width() - 2;\n                this.$overflowHelper.text(this.getInputValue());\n                return this.$overflowHelper.width() >= constraint;\n            },\n            isCursorAtEnd: function() {\n                var valueLength, selectionStart, range;\n                valueLength = this.$input.val().length;\n                selectionStart = this.$input[0].selectionStart;\n                if (_.isNumber(selectionStart)) {\n                    return selectionStart === valueLength;\n                } else if (document.selection) {\n                    range = document.selection.createRange();\n                    range.moveStart(\"character\", -valueLength);\n                    return valueLength === range.text.length;\n                }\n                return true;\n            },\n            destroy: function destroy() {\n                this.$hint.off(\".tt\");\n                this.$input.off(\".tt\");\n                this.$overflowHelper.remove();\n                this.$hint = this.$input = this.$overflowHelper = $(\"<div>\");\n            },\n            setAriaExpanded: function setAriaExpanded(value) {\n                this.$input.attr(\"aria-expanded\", value);\n            }\n        });\n        return Input;\n        function buildOverflowHelper($input) {\n            return $('<pre aria-hidden=\"true\"></pre>').css({\n                position: \"absolute\",\n                visibility: \"hidden\",\n                whiteSpace: \"pre\",\n                fontFamily: $input.css(\"font-family\"),\n                fontSize: $input.css(\"font-size\"),\n                fontStyle: $input.css(\"font-style\"),\n                fontVariant: $input.css(\"font-variant\"),\n                fontWeight: $input.css(\"font-weight\"),\n                wordSpacing: $input.css(\"word-spacing\"),\n                letterSpacing: $input.css(\"letter-spacing\"),\n                textIndent: $input.css(\"text-indent\"),\n                textRendering: $input.css(\"text-rendering\"),\n                textTransform: $input.css(\"text-transform\")\n            }).insertAfter($input);\n        }\n        function areQueriesEquivalent(a, b) {\n            return Input.normalizeQuery(a) === Input.normalizeQuery(b);\n        }\n        function withModifier($e) {\n            return $e.altKey || $e.ctrlKey || $e.metaKey || $e.shiftKey;\n        }\n    }();\n    var Dataset = function() {\n        \"use strict\";\n        var keys, nameGenerator;\n        keys = {\n            dataset: \"tt-selectable-dataset\",\n            val: \"tt-selectable-display\",\n            obj: \"tt-selectable-object\"\n        };\n        nameGenerator = _.getIdGenerator();\n        function Dataset(o, www) {\n            o = o || {};\n            o.templates = o.templates || {};\n            o.templates.notFound = o.templates.notFound || o.templates.empty;\n            if (!o.source) {\n                $.error(\"missing source\");\n            }\n            if (!o.node) {\n                $.error(\"missing node\");\n            }\n            if (o.name && !isValidName(o.name)) {\n                $.error(\"invalid dataset name: \" + o.name);\n            }\n            www.mixin(this);\n            this.highlight = !!o.highlight;\n            this.name = _.toStr(o.name || nameGenerator());\n            this.limit = o.limit || 5;\n            this.displayFn = getDisplayFn(o.display || o.displayKey);\n            this.templates = getTemplates(o.templates, this.displayFn);\n            this.source = o.source.__ttAdapter ? o.source.__ttAdapter() : o.source;\n            this.async = _.isUndefined(o.async) ? this.source.length > 2 : !!o.async;\n            this._resetLastSuggestion();\n            this.$el = $(o.node).attr(\"role\", \"presentation\").addClass(this.classes.dataset).addClass(this.classes.dataset + \"-\" + this.name);\n        }\n        Dataset.extractData = function extractData(el) {\n            var $el = $(el);\n            if ($el.data(keys.obj)) {\n                return {\n                    dataset: $el.data(keys.dataset) || \"\",\n                    val: $el.data(keys.val) || \"\",\n                    obj: $el.data(keys.obj) || null\n                };\n            }\n            return null;\n        };\n        _.mixin(Dataset.prototype, EventEmitter, {\n            _overwrite: function overwrite(query, suggestions) {\n                suggestions = suggestions || [];\n                if (suggestions.length) {\n                    this._renderSuggestions(query, suggestions);\n                } else if (this.async && this.templates.pending) {\n                    this._renderPending(query);\n                } else if (!this.async && this.templates.notFound) {\n                    this._renderNotFound(query);\n                } else {\n                    this._empty();\n                }\n                this.trigger(\"rendered\", suggestions, false, this.name);\n            },\n            _append: function append(query, suggestions) {\n                suggestions = suggestions || [];\n                if (suggestions.length && this.$lastSuggestion.length) {\n                    this._appendSuggestions(query, suggestions);\n                } else if (suggestions.length) {\n                    this._renderSuggestions(query, suggestions);\n                } else if (!this.$lastSuggestion.length && this.templates.notFound) {\n                    this._renderNotFound(query);\n                }\n                this.trigger(\"rendered\", suggestions, true, this.name);\n            },\n            _renderSuggestions: function renderSuggestions(query, suggestions) {\n                var $fragment;\n                $fragment = this._getSuggestionsFragment(query, suggestions);\n                this.$lastSuggestion = $fragment.children().last();\n                this.$el.html($fragment).prepend(this._getHeader(query, suggestions)).append(this._getFooter(query, suggestions));\n            },\n            _appendSuggestions: function appendSuggestions(query, suggestions) {\n                var $fragment, $lastSuggestion;\n                $fragment = this._getSuggestionsFragment(query, suggestions);\n                $lastSuggestion = $fragment.children().last();\n                this.$lastSuggestion.after($fragment);\n                this.$lastSuggestion = $lastSuggestion;\n            },\n            _renderPending: function renderPending(query) {\n                var template = this.templates.pending;\n                this._resetLastSuggestion();\n                template && this.$el.html(template({\n                    query: query,\n                    dataset: this.name\n                }));\n            },\n            _renderNotFound: function renderNotFound(query) {\n                var template = this.templates.notFound;\n                this._resetLastSuggestion();\n                template && this.$el.html(template({\n                    query: query,\n                    dataset: this.name\n                }));\n            },\n            _empty: function empty() {\n                this.$el.empty();\n                this._resetLastSuggestion();\n            },\n            _getSuggestionsFragment: function getSuggestionsFragment(query, suggestions) {\n                var that = this, fragment;\n                fragment = document.createDocumentFragment();\n                _.each(suggestions, function getSuggestionNode(suggestion) {\n                    var $el, context;\n                    context = that._injectQuery(query, suggestion);\n                    $el = $(that.templates.suggestion(context)).data(keys.dataset, that.name).data(keys.obj, suggestion).data(keys.val, that.displayFn(suggestion)).addClass(that.classes.suggestion + \" \" + that.classes.selectable);\n                    fragment.appendChild($el[0]);\n                });\n                this.highlight && highlight({\n                    className: this.classes.highlight,\n                    node: fragment,\n                    pattern: query\n                });\n                return $(fragment);\n            },\n            _getFooter: function getFooter(query, suggestions) {\n                return this.templates.footer ? this.templates.footer({\n                    query: query,\n                    suggestions: suggestions,\n                    dataset: this.name\n                }) : null;\n            },\n            _getHeader: function getHeader(query, suggestions) {\n                return this.templates.header ? this.templates.header({\n                    query: query,\n                    suggestions: suggestions,\n                    dataset: this.name\n                }) : null;\n            },\n            _resetLastSuggestion: function resetLastSuggestion() {\n                this.$lastSuggestion = $();\n            },\n            _injectQuery: function injectQuery(query, obj) {\n                return _.isObject(obj) ? _.mixin({\n                    _query: query\n                }, obj) : obj;\n            },\n            update: function update(query) {\n                var that = this, canceled = false, syncCalled = false, rendered = 0;\n                this.cancel();\n                this.cancel = function cancel() {\n                    canceled = true;\n                    that.cancel = $.noop;\n                    that.async && that.trigger(\"asyncCanceled\", query, that.name);\n                };\n                this.source(query, sync, async);\n                !syncCalled && sync([]);\n                function sync(suggestions) {\n                    if (syncCalled) {\n                        return;\n                    }\n                    syncCalled = true;\n                    suggestions = (suggestions || []).slice(0, that.limit);\n                    rendered = suggestions.length;\n                    that._overwrite(query, suggestions);\n                    if (rendered < that.limit && that.async) {\n                        that.trigger(\"asyncRequested\", query, that.name);\n                    }\n                }\n                function async(suggestions) {\n                    suggestions = suggestions || [];\n                    if (!canceled && rendered < that.limit) {\n                        that.cancel = $.noop;\n                        var idx = Math.abs(rendered - that.limit);\n                        rendered += idx;\n                        that._append(query, suggestions.slice(0, idx));\n                        that.async && that.trigger(\"asyncReceived\", query, that.name);\n                    }\n                }\n            },\n            cancel: $.noop,\n            clear: function clear() {\n                this._empty();\n                this.cancel();\n                this.trigger(\"cleared\");\n            },\n            isEmpty: function isEmpty() {\n                return this.$el.is(\":empty\");\n            },\n            destroy: function destroy() {\n                this.$el = $(\"<div>\");\n            }\n        });\n        return Dataset;\n        function getDisplayFn(display) {\n            display = display || _.stringify;\n            return _.isFunction(display) ? display : displayFn;\n            function displayFn(obj) {\n                return obj[display];\n            }\n        }\n        function getTemplates(templates, displayFn) {\n            return {\n                notFound: templates.notFound && _.templatify(templates.notFound),\n                pending: templates.pending && _.templatify(templates.pending),\n                header: templates.header && _.templatify(templates.header),\n                footer: templates.footer && _.templatify(templates.footer),\n                suggestion: templates.suggestion ? userSuggestionTemplate : suggestionTemplate\n            };\n            function userSuggestionTemplate(context) {\n                var template = templates.suggestion;\n                return $(template(context)).attr(\"id\", _.guid());\n            }\n            function suggestionTemplate(context) {\n                return $('<div role=\"option\">').attr(\"id\", _.guid()).text(displayFn(context));\n            }\n        }\n        function isValidName(str) {\n            return /^[_a-zA-Z0-9-]+$/.test(str);\n        }\n    }();\n    var Menu = function() {\n        \"use strict\";\n        function Menu(o, www) {\n            var that = this;\n            o = o || {};\n            if (!o.node) {\n                $.error(\"node is required\");\n            }\n            www.mixin(this);\n            this.$node = $(o.node);\n            this.query = null;\n            this.datasets = _.map(o.datasets, initializeDataset);\n            function initializeDataset(oDataset) {\n                var node = that.$node.find(oDataset.node).first();\n                oDataset.node = node.length ? node : $(\"<div>\").appendTo(that.$node);\n                return new Dataset(oDataset, www);\n            }\n        }\n        _.mixin(Menu.prototype, EventEmitter, {\n            _onSelectableClick: function onSelectableClick($e) {\n                this.trigger(\"selectableClicked\", $($e.currentTarget));\n            },\n            _onRendered: function onRendered(type, dataset, suggestions, async) {\n                this.$node.toggleClass(this.classes.empty, this._allDatasetsEmpty());\n                this.trigger(\"datasetRendered\", dataset, suggestions, async);\n            },\n            _onCleared: function onCleared() {\n                this.$node.toggleClass(this.classes.empty, this._allDatasetsEmpty());\n                this.trigger(\"datasetCleared\");\n            },\n            _propagate: function propagate() {\n                this.trigger.apply(this, arguments);\n            },\n            _allDatasetsEmpty: function allDatasetsEmpty() {\n                return _.every(this.datasets, _.bind(function isDatasetEmpty(dataset) {\n                    var isEmpty = dataset.isEmpty();\n                    this.$node.attr(\"aria-expanded\", !isEmpty);\n                    return isEmpty;\n                }, this));\n            },\n            _getSelectables: function getSelectables() {\n                return this.$node.find(this.selectors.selectable);\n            },\n            _removeCursor: function _removeCursor() {\n                var $selectable = this.getActiveSelectable();\n                $selectable && $selectable.removeClass(this.classes.cursor);\n            },\n            _ensureVisible: function ensureVisible($el) {\n                var elTop, elBottom, nodeScrollTop, nodeHeight;\n                elTop = $el.position().top;\n                elBottom = elTop + $el.outerHeight(true);\n                nodeScrollTop = this.$node.scrollTop();\n                nodeHeight = this.$node.height() + parseInt(this.$node.css(\"paddingTop\"), 10) + parseInt(this.$node.css(\"paddingBottom\"), 10);\n                if (elTop < 0) {\n                    this.$node.scrollTop(nodeScrollTop + elTop);\n                } else if (nodeHeight < elBottom) {\n                    this.$node.scrollTop(nodeScrollTop + (elBottom - nodeHeight));\n                }\n            },\n            bind: function() {\n                var that = this, onSelectableClick;\n                onSelectableClick = _.bind(this._onSelectableClick, this);\n                this.$node.on(\"click.tt\", this.selectors.selectable, onSelectableClick);\n                this.$node.on(\"mouseover\", this.selectors.selectable, function() {\n                    that.setCursor($(this));\n                });\n                this.$node.on(\"mouseleave\", function() {\n                    that._removeCursor();\n                });\n                _.each(this.datasets, function(dataset) {\n                    dataset.onSync(\"asyncRequested\", that._propagate, that).onSync(\"asyncCanceled\", that._propagate, that).onSync(\"asyncReceived\", that._propagate, that).onSync(\"rendered\", that._onRendered, that).onSync(\"cleared\", that._onCleared, that);\n                });\n                return this;\n            },\n            isOpen: function isOpen() {\n                return this.$node.hasClass(this.classes.open);\n            },\n            open: function open() {\n                this.$node.scrollTop(0);\n                this.$node.addClass(this.classes.open);\n            },\n            close: function close() {\n                this.$node.attr(\"aria-expanded\", false);\n                this.$node.removeClass(this.classes.open);\n                this._removeCursor();\n            },\n            setLanguageDirection: function setLanguageDirection(dir) {\n                this.$node.attr(\"dir\", dir);\n            },\n            selectableRelativeToCursor: function selectableRelativeToCursor(delta) {\n                var $selectables, $oldCursor, oldIndex, newIndex;\n                $oldCursor = this.getActiveSelectable();\n                $selectables = this._getSelectables();\n                oldIndex = $oldCursor ? $selectables.index($oldCursor) : -1;\n                newIndex = oldIndex + delta;\n                newIndex = (newIndex + 1) % ($selectables.length + 1) - 1;\n                newIndex = newIndex < -1 ? $selectables.length - 1 : newIndex;\n                return newIndex === -1 ? null : $selectables.eq(newIndex);\n            },\n            setCursor: function setCursor($selectable) {\n                this._removeCursor();\n                if ($selectable = $selectable && $selectable.first()) {\n                    $selectable.addClass(this.classes.cursor);\n                    this._ensureVisible($selectable);\n                }\n            },\n            getSelectableData: function getSelectableData($el) {\n                return $el && $el.length ? Dataset.extractData($el) : null;\n            },\n            getActiveSelectable: function getActiveSelectable() {\n                var $selectable = this._getSelectables().filter(this.selectors.cursor).first();\n                return $selectable.length ? $selectable : null;\n            },\n            getTopSelectable: function getTopSelectable() {\n                var $selectable = this._getSelectables().first();\n                return $selectable.length ? $selectable : null;\n            },\n            update: function update(query) {\n                var isValidUpdate = query !== this.query;\n                if (isValidUpdate) {\n                    this.query = query;\n                    _.each(this.datasets, updateDataset);\n                }\n                return isValidUpdate;\n                function updateDataset(dataset) {\n                    dataset.update(query);\n                }\n            },\n            empty: function empty() {\n                _.each(this.datasets, clearDataset);\n                this.query = null;\n                this.$node.addClass(this.classes.empty);\n                function clearDataset(dataset) {\n                    dataset.clear();\n                }\n            },\n            destroy: function destroy() {\n                this.$node.off(\".tt\");\n                this.$node = $(\"<div>\");\n                _.each(this.datasets, destroyDataset);\n                function destroyDataset(dataset) {\n                    dataset.destroy();\n                }\n            }\n        });\n        return Menu;\n    }();\n    var Status = function() {\n        \"use strict\";\n        function Status(options) {\n            this.$el = $(\"<span></span>\", {\n                role: \"status\",\n                \"aria-live\": \"polite\"\n            }).css({\n                position: \"absolute\",\n                padding: \"0\",\n                border: \"0\",\n                height: \"1px\",\n                width: \"1px\",\n                \"margin-bottom\": \"-1px\",\n                \"margin-right\": \"-1px\",\n                overflow: \"hidden\",\n                clip: \"rect(0 0 0 0)\",\n                \"white-space\": \"nowrap\"\n            });\n            options.$input.after(this.$el);\n            _.each(options.menu.datasets, _.bind(function(dataset) {\n                if (dataset.onSync) {\n                    dataset.onSync(\"rendered\", _.bind(this.update, this));\n                    dataset.onSync(\"cleared\", _.bind(this.cleared, this));\n                }\n            }, this));\n        }\n        _.mixin(Status.prototype, {\n            update: function update(event, suggestions) {\n                var length = suggestions.length;\n                var words;\n                if (length === 1) {\n                    words = {\n                        result: \"result\",\n                        is: \"is\"\n                    };\n                } else {\n                    words = {\n                        result: \"results\",\n                        is: \"are\"\n                    };\n                }\n                this.$el.text(length + \" \" + words.result + \" \" + words.is + \" available, use up and down arrow keys to navigate.\");\n            },\n            cleared: function() {\n                this.$el.text(\"\");\n            }\n        });\n        return Status;\n    }();\n    var DefaultMenu = function() {\n        \"use strict\";\n        var s = Menu.prototype;\n        function DefaultMenu() {\n            Menu.apply(this, [].slice.call(arguments, 0));\n        }\n        _.mixin(DefaultMenu.prototype, Menu.prototype, {\n            open: function open() {\n                !this._allDatasetsEmpty() && this._show();\n                return s.open.apply(this, [].slice.call(arguments, 0));\n            },\n            close: function close() {\n                this._hide();\n                return s.close.apply(this, [].slice.call(arguments, 0));\n            },\n            _onRendered: function onRendered() {\n                if (this._allDatasetsEmpty()) {\n                    this._hide();\n                } else {\n                    this.isOpen() && this._show();\n                }\n                return s._onRendered.apply(this, [].slice.call(arguments, 0));\n            },\n            _onCleared: function onCleared() {\n                if (this._allDatasetsEmpty()) {\n                    this._hide();\n                } else {\n                    this.isOpen() && this._show();\n                }\n                return s._onCleared.apply(this, [].slice.call(arguments, 0));\n            },\n            setLanguageDirection: function setLanguageDirection(dir) {\n                this.$node.css(dir === \"ltr\" ? this.css.ltr : this.css.rtl);\n                return s.setLanguageDirection.apply(this, [].slice.call(arguments, 0));\n            },\n            _hide: function hide() {\n                this.$node.hide();\n            },\n            _show: function show() {\n                this.$node.css(\"display\", \"block\");\n            }\n        });\n        return DefaultMenu;\n    }();\n    var Typeahead = function() {\n        \"use strict\";\n        function Typeahead(o, www) {\n            var onFocused, onBlurred, onEnterKeyed, onTabKeyed, onEscKeyed, onUpKeyed, onDownKeyed, onLeftKeyed, onRightKeyed, onQueryChanged, onWhitespaceChanged;\n            o = o || {};\n            if (!o.input) {\n                $.error(\"missing input\");\n            }\n            if (!o.menu) {\n                $.error(\"missing menu\");\n            }\n            if (!o.eventBus) {\n                $.error(\"missing event bus\");\n            }\n            www.mixin(this);\n            this.eventBus = o.eventBus;\n            this.minLength = _.isNumber(o.minLength) ? o.minLength : 1;\n            this.input = o.input;\n            this.menu = o.menu;\n            this.enabled = true;\n            this.autoselect = !!o.autoselect;\n            this.active = false;\n            this.input.hasFocus() && this.activate();\n            this.dir = this.input.getLangDir();\n            this._hacks();\n            this.menu.bind().onSync(\"selectableClicked\", this._onSelectableClicked, this).onSync(\"asyncRequested\", this._onAsyncRequested, this).onSync(\"asyncCanceled\", this._onAsyncCanceled, this).onSync(\"asyncReceived\", this._onAsyncReceived, this).onSync(\"datasetRendered\", this._onDatasetRendered, this).onSync(\"datasetCleared\", this._onDatasetCleared, this);\n            onFocused = c(this, \"activate\", \"open\", \"_onFocused\");\n            onBlurred = c(this, \"deactivate\", \"_onBlurred\");\n            onEnterKeyed = c(this, \"isActive\", \"isOpen\", \"_onEnterKeyed\");\n            onTabKeyed = c(this, \"isActive\", \"isOpen\", \"_onTabKeyed\");\n            onEscKeyed = c(this, \"isActive\", \"_onEscKeyed\");\n            onUpKeyed = c(this, \"isActive\", \"open\", \"_onUpKeyed\");\n            onDownKeyed = c(this, \"isActive\", \"open\", \"_onDownKeyed\");\n            onLeftKeyed = c(this, \"isActive\", \"isOpen\", \"_onLeftKeyed\");\n            onRightKeyed = c(this, \"isActive\", \"isOpen\", \"_onRightKeyed\");\n            onQueryChanged = c(this, \"_openIfActive\", \"_onQueryChanged\");\n            onWhitespaceChanged = c(this, \"_openIfActive\", \"_onWhitespaceChanged\");\n            this.input.bind().onSync(\"focused\", onFocused, this).onSync(\"blurred\", onBlurred, this).onSync(\"enterKeyed\", onEnterKeyed, this).onSync(\"tabKeyed\", onTabKeyed, this).onSync(\"escKeyed\", onEscKeyed, this).onSync(\"upKeyed\", onUpKeyed, this).onSync(\"downKeyed\", onDownKeyed, this).onSync(\"leftKeyed\", onLeftKeyed, this).onSync(\"rightKeyed\", onRightKeyed, this).onSync(\"queryChanged\", onQueryChanged, this).onSync(\"whitespaceChanged\", onWhitespaceChanged, this).onSync(\"langDirChanged\", this._onLangDirChanged, this);\n        }\n        _.mixin(Typeahead.prototype, {\n            _hacks: function hacks() {\n                var $input, $menu;\n                $input = this.input.$input || $(\"<div>\");\n                $menu = this.menu.$node || $(\"<div>\");\n                $input.on(\"blur.tt\", function($e) {\n                    var active, isActive, hasActive;\n                    active = document.activeElement;\n                    isActive = $menu.is(active);\n                    hasActive = $menu.has(active).length > 0;\n                    if (_.isMsie() && (isActive || hasActive)) {\n                        $e.preventDefault();\n                        $e.stopImmediatePropagation();\n                        _.defer(function() {\n                            $input.focus();\n                        });\n                    }\n                });\n                $menu.on(\"mousedown.tt\", function($e) {\n                    $e.preventDefault();\n                });\n            },\n            _onSelectableClicked: function onSelectableClicked(type, $el) {\n                this.select($el);\n            },\n            _onDatasetCleared: function onDatasetCleared() {\n                this._updateHint();\n            },\n            _onDatasetRendered: function onDatasetRendered(type, suggestions, async, dataset) {\n                this._updateHint();\n                if (this.autoselect) {\n                    var cursorClass = this.selectors.cursor.substr(1);\n                    this.menu.$node.find(this.selectors.suggestion).first().addClass(cursorClass);\n                }\n                this.eventBus.trigger(\"render\", suggestions, async, dataset);\n            },\n            _onAsyncRequested: function onAsyncRequested(type, dataset, query) {\n                this.eventBus.trigger(\"asyncrequest\", query, dataset);\n            },\n            _onAsyncCanceled: function onAsyncCanceled(type, dataset, query) {\n                this.eventBus.trigger(\"asynccancel\", query, dataset);\n            },\n            _onAsyncReceived: function onAsyncReceived(type, dataset, query) {\n                this.eventBus.trigger(\"asyncreceive\", query, dataset);\n            },\n            _onFocused: function onFocused() {\n                this._minLengthMet() && this.menu.update(this.input.getQuery());\n            },\n            _onBlurred: function onBlurred() {\n                if (this.input.hasQueryChangedSinceLastFocus()) {\n                    this.eventBus.trigger(\"change\", this.input.getQuery());\n                }\n            },\n            _onEnterKeyed: function onEnterKeyed(type, $e) {\n                var $selectable;\n                if ($selectable = this.menu.getActiveSelectable()) {\n                    if (this.select($selectable)) {\n                        $e.preventDefault();\n                        $e.stopPropagation();\n                    }\n                } else if (this.autoselect) {\n                    if (this.select(this.menu.getTopSelectable())) {\n                        $e.preventDefault();\n                        $e.stopPropagation();\n                    }\n                }\n            },\n            _onTabKeyed: function onTabKeyed(type, $e) {\n                var $selectable;\n                if ($selectable = this.menu.getActiveSelectable()) {\n                    this.select($selectable) && $e.preventDefault();\n                } else if (this.autoselect) {\n                    if ($selectable = this.menu.getTopSelectable()) {\n                        this.autocomplete($selectable) && $e.preventDefault();\n                    }\n                }\n            },\n            _onEscKeyed: function onEscKeyed() {\n                this.close();\n            },\n            _onUpKeyed: function onUpKeyed() {\n                this.moveCursor(-1);\n            },\n            _onDownKeyed: function onDownKeyed() {\n                this.moveCursor(+1);\n            },\n            _onLeftKeyed: function onLeftKeyed() {\n                if (this.dir === \"rtl\" && this.input.isCursorAtEnd()) {\n                    this.autocomplete(this.menu.getActiveSelectable() || this.menu.getTopSelectable());\n                }\n            },\n            _onRightKeyed: function onRightKeyed() {\n                if (this.dir === \"ltr\" && this.input.isCursorAtEnd()) {\n                    this.autocomplete(this.menu.getActiveSelectable() || this.menu.getTopSelectable());\n                }\n            },\n            _onQueryChanged: function onQueryChanged(e, query) {\n                this._minLengthMet(query) ? this.menu.update(query) : this.menu.empty();\n            },\n            _onWhitespaceChanged: function onWhitespaceChanged() {\n                this._updateHint();\n            },\n            _onLangDirChanged: function onLangDirChanged(e, dir) {\n                if (this.dir !== dir) {\n                    this.dir = dir;\n                    this.menu.setLanguageDirection(dir);\n                }\n            },\n            _openIfActive: function openIfActive() {\n                this.isActive() && this.open();\n            },\n            _minLengthMet: function minLengthMet(query) {\n                query = _.isString(query) ? query : this.input.getQuery() || \"\";\n                return query.length >= this.minLength;\n            },\n            _updateHint: function updateHint() {\n                var $selectable, data, val, query, escapedQuery, frontMatchRegEx, match;\n                $selectable = this.menu.getTopSelectable();\n                data = this.menu.getSelectableData($selectable);\n                val = this.input.getInputValue();\n                if (data && !_.isBlankString(val) && !this.input.hasOverflow()) {\n                    query = Input.normalizeQuery(val);\n                    escapedQuery = _.escapeRegExChars(query);\n                    frontMatchRegEx = new RegExp(\"^(?:\" + escapedQuery + \")(.+$)\", \"i\");\n                    match = frontMatchRegEx.exec(data.val);\n                    match && this.input.setHint(val + match[1]);\n                } else {\n                    this.input.clearHint();\n                }\n            },\n            isEnabled: function isEnabled() {\n                return this.enabled;\n            },\n            enable: function enable() {\n                this.enabled = true;\n            },\n            disable: function disable() {\n                this.enabled = false;\n            },\n            isActive: function isActive() {\n                return this.active;\n            },\n            activate: function activate() {\n                if (this.isActive()) {\n                    return true;\n                } else if (!this.isEnabled() || this.eventBus.before(\"active\")) {\n                    return false;\n                } else {\n                    this.active = true;\n                    this.eventBus.trigger(\"active\");\n                    return true;\n                }\n            },\n            deactivate: function deactivate() {\n                if (!this.isActive()) {\n                    return true;\n                } else if (this.eventBus.before(\"idle\")) {\n                    return false;\n                } else {\n                    this.active = false;\n                    this.close();\n                    this.eventBus.trigger(\"idle\");\n                    return true;\n                }\n            },\n            isOpen: function isOpen() {\n                return this.menu.isOpen();\n            },\n            open: function open() {\n                if (!this.isOpen() && !this.eventBus.before(\"open\")) {\n                    this.input.setAriaExpanded(true);\n                    this.menu.open();\n                    this._updateHint();\n                    this.eventBus.trigger(\"open\");\n                }\n                return this.isOpen();\n            },\n            close: function close() {\n                if (this.isOpen() && !this.eventBus.before(\"close\")) {\n                    this.input.setAriaExpanded(false);\n                    this.menu.close();\n                    this.input.clearHint();\n                    this.input.resetInputValue();\n                    this.eventBus.trigger(\"close\");\n                }\n                return !this.isOpen();\n            },\n            setVal: function setVal(val) {\n                this.input.setQuery(_.toStr(val));\n            },\n            getVal: function getVal() {\n                return this.input.getQuery();\n            },\n            select: function select($selectable) {\n                var data = this.menu.getSelectableData($selectable);\n                if (data && !this.eventBus.before(\"select\", data.obj, data.dataset)) {\n                    this.input.setQuery(data.val, true);\n                    this.eventBus.trigger(\"select\", data.obj, data.dataset);\n                    this.close();\n                    return true;\n                }\n                return false;\n            },\n            autocomplete: function autocomplete($selectable) {\n                var query, data, isValid;\n                query = this.input.getQuery();\n                data = this.menu.getSelectableData($selectable);\n                isValid = data && query !== data.val;\n                if (isValid && !this.eventBus.before(\"autocomplete\", data.obj, data.dataset)) {\n                    this.input.setQuery(data.val);\n                    this.eventBus.trigger(\"autocomplete\", data.obj, data.dataset);\n                    return true;\n                }\n                return false;\n            },\n            moveCursor: function moveCursor(delta) {\n                var query, $candidate, data, suggestion, datasetName, cancelMove, id;\n                query = this.input.getQuery();\n                $candidate = this.menu.selectableRelativeToCursor(delta);\n                data = this.menu.getSelectableData($candidate);\n                suggestion = data ? data.obj : null;\n                datasetName = data ? data.dataset : null;\n                id = $candidate ? $candidate.attr(\"id\") : null;\n                this.input.trigger(\"cursorchange\", id);\n                cancelMove = this._minLengthMet() && this.menu.update(query);\n                if (!cancelMove && !this.eventBus.before(\"cursorchange\", suggestion, datasetName)) {\n                    this.menu.setCursor($candidate);\n                    if (data) {\n                        if (typeof data.val === \"string\") {\n                            this.input.setInputValue(data.val);\n                        }\n                    } else {\n                        this.input.resetInputValue();\n                        this._updateHint();\n                    }\n                    this.eventBus.trigger(\"cursorchange\", suggestion, datasetName);\n                    return true;\n                }\n                return false;\n            },\n            destroy: function destroy() {\n                this.input.destroy();\n                this.menu.destroy();\n            }\n        });\n        return Typeahead;\n        function c(ctx) {\n            var methods = [].slice.call(arguments, 1);\n            return function() {\n                var args = [].slice.call(arguments);\n                _.each(methods, function(method) {\n                    return ctx[method].apply(ctx, args);\n                });\n            };\n        }\n    }();\n    (function() {\n        \"use strict\";\n        var old, keys, methods;\n        old = $.fn.typeahead;\n        keys = {\n            www: \"tt-www\",\n            attrs: \"tt-attrs\",\n            typeahead: \"tt-typeahead\"\n        };\n        methods = {\n            initialize: function initialize(o, datasets) {\n                var www;\n                datasets = _.isArray(datasets) ? datasets : [].slice.call(arguments, 1);\n                o = o || {};\n                www = WWW(o.classNames);\n                return this.each(attach);\n                function attach() {\n                    var $input, $wrapper, $hint, $menu, defaultHint, defaultMenu, eventBus, input, menu, status, typeahead, MenuConstructor;\n                    _.each(datasets, function(d) {\n                        d.highlight = !!o.highlight;\n                    });\n                    $input = $(this);\n                    $wrapper = $(www.html.wrapper);\n                    $hint = $elOrNull(o.hint);\n                    $menu = $elOrNull(o.menu);\n                    defaultHint = o.hint !== false && !$hint;\n                    defaultMenu = o.menu !== false && !$menu;\n                    defaultHint && ($hint = buildHintFromInput($input, www));\n                    defaultMenu && ($menu = $(www.html.menu).css(www.css.menu));\n                    $hint && $hint.val(\"\");\n                    $input = prepInput($input, www);\n                    if (defaultHint || defaultMenu) {\n                        $wrapper.css(www.css.wrapper);\n                        $input.css(defaultHint ? www.css.input : www.css.inputWithNoHint);\n                        $input.wrap($wrapper).parent().prepend(defaultHint ? $hint : null).append(defaultMenu ? $menu : null);\n                    }\n                    MenuConstructor = defaultMenu ? DefaultMenu : Menu;\n                    eventBus = new EventBus({\n                        el: $input\n                    });\n                    input = new Input({\n                        hint: $hint,\n                        input: $input,\n                        menu: $menu\n                    }, www);\n                    menu = new MenuConstructor({\n                        node: $menu,\n                        datasets: datasets\n                    }, www);\n                    status = new Status({\n                        $input: $input,\n                        menu: menu\n                    });\n                    typeahead = new Typeahead({\n                        input: input,\n                        menu: menu,\n                        eventBus: eventBus,\n                        minLength: o.minLength,\n                        autoselect: o.autoselect\n                    }, www);\n                    $input.data(keys.www, www);\n                    $input.data(keys.typeahead, typeahead);\n                }\n            },\n            isEnabled: function isEnabled() {\n                var enabled;\n                ttEach(this.first(), function(t) {\n                    enabled = t.isEnabled();\n                });\n                return enabled;\n            },\n            enable: function enable() {\n                ttEach(this, function(t) {\n                    t.enable();\n                });\n                return this;\n            },\n            disable: function disable() {\n                ttEach(this, function(t) {\n                    t.disable();\n                });\n                return this;\n            },\n            isActive: function isActive() {\n                var active;\n                ttEach(this.first(), function(t) {\n                    active = t.isActive();\n                });\n                return active;\n            },\n            activate: function activate() {\n                ttEach(this, function(t) {\n                    t.activate();\n                });\n                return this;\n            },\n            deactivate: function deactivate() {\n                ttEach(this, function(t) {\n                    t.deactivate();\n                });\n                return this;\n            },\n            isOpen: function isOpen() {\n                var open;\n                ttEach(this.first(), function(t) {\n                    open = t.isOpen();\n                });\n                return open;\n            },\n            open: function open() {\n                ttEach(this, function(t) {\n                    t.open();\n                });\n                return this;\n            },\n            close: function close() {\n                ttEach(this, function(t) {\n                    t.close();\n                });\n                return this;\n            },\n            select: function select(el) {\n                var success = false, $el = $(el);\n                ttEach(this.first(), function(t) {\n                    success = t.select($el);\n                });\n                return success;\n            },\n            autocomplete: function autocomplete(el) {\n                var success = false, $el = $(el);\n                ttEach(this.first(), function(t) {\n                    success = t.autocomplete($el);\n                });\n                return success;\n            },\n            moveCursor: function moveCursoe(delta) {\n                var success = false;\n                ttEach(this.first(), function(t) {\n                    success = t.moveCursor(delta);\n                });\n                return success;\n            },\n            val: function val(newVal) {\n                var query;\n                if (!arguments.length) {\n                    ttEach(this.first(), function(t) {\n                        query = t.getVal();\n                    });\n                    return query;\n                } else {\n                    ttEach(this, function(t) {\n                        t.setVal(_.toStr(newVal));\n                    });\n                    return this;\n                }\n            },\n            destroy: function destroy() {\n                ttEach(this, function(typeahead, $input) {\n                    revert($input);\n                    typeahead.destroy();\n                });\n                return this;\n            }\n        };\n        $.fn.typeahead = function(method) {\n            if (methods[method]) {\n                return methods[method].apply(this, [].slice.call(arguments, 1));\n            } else {\n                return methods.initialize.apply(this, arguments);\n            }\n        };\n        $.fn.typeahead.noConflict = function noConflict() {\n            $.fn.typeahead = old;\n            return this;\n        };\n        function ttEach($els, fn) {\n            $els.each(function() {\n                var $input = $(this), typeahead;\n                (typeahead = $input.data(keys.typeahead)) && fn(typeahead, $input);\n            });\n        }\n        function buildHintFromInput($input, www) {\n            return $input.clone().addClass(www.classes.hint).removeData().css(www.css.hint).css(getBackgroundStyles($input)).prop({\n                readonly: true,\n                required: false\n            }).removeAttr(\"id name placeholder\").removeClass(\"required\").attr({\n                spellcheck: \"false\",\n                tabindex: -1\n            });\n        }\n        function prepInput($input, www) {\n            $input.data(keys.attrs, {\n                dir: $input.attr(\"dir\"),\n                autocomplete: $input.attr(\"autocomplete\"),\n                spellcheck: $input.attr(\"spellcheck\"),\n                style: $input.attr(\"style\")\n            });\n            $input.addClass(www.classes.input).attr({\n                spellcheck: false\n            });\n            try {\n                !$input.attr(\"dir\") && $input.attr(\"dir\", \"auto\");\n            } catch (e) {}\n            return $input;\n        }\n        function getBackgroundStyles($el) {\n            return {\n                backgroundAttachment: $el.css(\"background-attachment\"),\n                backgroundClip: $el.css(\"background-clip\"),\n                backgroundColor: $el.css(\"background-color\"),\n                backgroundImage: $el.css(\"background-image\"),\n                backgroundOrigin: $el.css(\"background-origin\"),\n                backgroundPosition: $el.css(\"background-position\"),\n                backgroundRepeat: $el.css(\"background-repeat\"),\n                backgroundSize: $el.css(\"background-size\")\n            };\n        }\n        function revert($input) {\n            var www, $wrapper;\n            www = $input.data(keys.www);\n            $wrapper = $input.parent().filter(www.selectors.wrapper);\n            _.each($input.data(keys.attrs), function(val, key) {\n                _.isUndefined(val) ? $input.removeAttr(key) : $input.attr(key, val);\n            });\n            $input.removeData(keys.typeahead).removeData(keys.www).removeData(keys.attr).removeClass(www.classes.input);\n            if ($wrapper.length) {\n                $input.detach().insertAfter($wrapper);\n                $wrapper.remove();\n            }\n        }\n        function $elOrNull(obj) {\n            var isValid, $el;\n            isValid = _.isJQuery(obj) || _.isElement(obj);\n            $el = isValid ? $(obj).first() : [];\n            return $el.length ? $el : null;\n        }\n    })();\n});"
  },
  {
    "path": "app/assets/javascripts/users.js",
    "content": "WebsiteOne.define('Users', function () {\n    var player;\n\n    function selectVideo(event) {\n        event.preventDefault();\n        player = $('#ytplayer');\n        player.attr('src', 'https://www.youtube.com/embed/' + this.id + '?version=3&enablejsapi=1');\n        $('#video_contents').text($(this).data('content'));\n\n        $('html, body').animate({\n            scrollTop: player.offset().top - 100\n        }, 300);\n    }\n\n    function enableBootstrapTooltipsOnNonTouchDevices() {\n        if (!('ontouchstart' in document.documentElement)) {\n            $('[data-toggle=\"tooltip\"]').tooltip({delay: { \"show\": 500, \"hide\": 100 }});\n        }\n    }\n\n    function init() {\n        $('.yt_link').on('click', selectVideo);\n\n        $('#skills').tags({\n            readOnly: false,\n            tagClass: 'add-btn-agile',\n            tagSize: 'md',\n            tagData: $('#skills').data(\"skill-list\"),\n            promptText: \" \"\n        });\n\n        $('#skills').bind(\"keydown keypress\", function (e) {\n            var code = e.keyCode || e.which;\n            if (code == 9 || code == 44) {\n                e.preventDefault();\n                $(\"#skills\").tags().addTag($(\"input.tags-input\").val().replace(\",\", \"\"));\n                $('input.tags-input').val(\"\");\n            }\n            // Sampriti: Let bootstrap-tags handle Enter event\n            else if (code == 13) {\n                e.preventDefault();\n            }\n        });\n\n        $('#edit_user').submit(function (event) {\n            $(\"#user_skill_list\").val($(\"#skills\").tags().getTags().join(\",\"));\n        });\n\n        $('#user-filter').on('keydown', function (e) {\n            if (e.keyCode == 13) e.preventDefault();\n        });\n\n        $('#tabs a').click(function (e) {\n            var scrollHeight = $(document).scrollTop();\n            $(this).tab('show');\n            setTimeout(function () {\n                $(window).scrollTop(scrollHeight);\n            }, 5);\n        });\n\n\n        $('#user-filter').on('keyup', function (e) {\n            e.preventDefault();\n\n            var searchString = $(this).val().trim().toLowerCase();\n            var users = $('.media-list li');\n\n            filtered = $(users).filter(function () {\n                return $(this).text().toLowerCase().match(searchString);\n            }).show();\n            $(users).not(filtered).hide();\n        });\n\n        $('#require_users_profile').modal({show: true});\n\n        $('#gotoactivity').click(function() {\n            $('#tabs a[href=\"#activity\"]').tab('show');\n        });\n\n        var params = \"&infinite=true\"\n        //infiniteScroll(params);\n        $(window).scroll(function() {\n            var url = $('.pagination a[rel=\"next\"]').attr('href');\n            if (url && $(window).scrollTop() > $(document).height() - $(window).height() - 450) {\n              $('.pagination').text(\"Please Wait...\");\n              return $.getScript(url + params);\n            }\n          });\n\n        // cuprite testing fails with tooltips on\n        // enableBootstrapTooltipsOnNonTouchDevices();\n    }\n\n    return {\n      init: init,\n        selectVideo: selectVideo\n    }\n});\n"
  },
  {
    "path": "app/assets/javascripts/websiteone.js",
    "content": "// To deal with the headache of initializing JavaScripts with TurboLinks, I\n// wrote this custom module definer to handle initialization code\n//\n// modules can be defined using the following snippet:\n//\n// window.WebsiteOne.define('<Module Name>', function() {\n//     return <Module Object>;\n// });\n//\n// The module's init method will automatically be called on TurboLink's\n// page:load or document ready event\nwindow.WebsiteOne =\n  window.WebsiteOne ||\n  (function() {\n    var modules = [],\n      newPageLoaded = false,\n      runOnceCallbacks = {},\n      moduleFactories = {};\n\n    //hook for spec helper to hook into to get the original factory\n    //and restore it\n    function restoreModule(name){\n      define(name, moduleFactories[name]);\n    }\n\n    function define(name, factory) {\n      window.WebsiteOne[name] =\n        window.WebsiteOne[name] ||\n        (function() {\n          modules.push(name);\n          var newModule = factory();\n          //bit of a hack to support jasmine unit testing!\n          moduleFactories[name] = factory;\n\n          if (!window.WebsiteOne._newPageLoaded) {\n            newModule.init();\n          }\n\n          return newModule;\n        })();\n\n      return window.WebsiteOne[name];\n    }\n\n    function runOnce(name, callback) {\n      runOnceCallbacks[name] = runOnceCallbacks[name] || {\n        callback: callback,\n        executed: false\n      };\n    }\n\n    function clear() {\n      for (var i = 0; i < modules.length; i++) {\n        delete window.WebsiteOne[modules[i]];\n      }\n      modules.length = 0;\n    }\n\n    function init() {\n      for (var i = 0; i < modules.length; i++) {\n        window.WebsiteOne[modules[i]].init();\n      }\n\n      for (var name in runOnceCallbacks) {\n        if (!runOnceCallbacks[name].executed) {\n          runOnceCallbacks[name].callback();\n          runOnceCallbacks[name].executed = true;\n        }\n      }\n\n      window.WebsiteOne._newPageLoaded = false;\n    }\n\n    return {\n      _init: init,\n      define: define,\n      runOnce: runOnce,\n      _modules: modules,\n      _registered: false,\n      _newPageLoaded: newPageLoaded,\n      _clear: clear,\n      _restoreModule: restoreModule\n    };\n  })();\n\nwindow.WebsiteOne._newPageLoaded = true;\n"
  },
  {
    "path": "app/assets/stylesheets/_mixins.scss",
    "content": "@mixin css-border-radius($args...) {\n  -webkit-border-radius: $args;\n  -mox-border-radius: $args;\n  border-radius: $args;\n}\n\n@mixin css-shadow($args...) {\n  -moz-box-shadow: $args;\n  -webkit-box-shadow: $args;\n  box-shadow: $args;\n}\n\n@mixin css-transition($args...) {\n  -webkit-transition: $args;\n  -moz-transition: $args;\n  -o-transition: $args;\n  transition: $args;\n}\n\n@mixin css-background-size($args...) {\n  -webkit-background-size: $args;\n  -moz-background-size: $args;\n  -o-background-size: $args;\n  background-size: $args;\n}\n\n@mixin css-animation($args...) {\n  -webkit-animation: $args;\n  -moz-animation: $args;\n  -o-animation: $args;\n  animation: $args;\n}\n\n@mixin css-transform($args...) {\n  -webkit-transform: $args;\n  -moz-transform: $args;\n  -ms-transform: $args;\n  -o-transform: $args;\n  transform: $args;\n}\n\n// a big thanks to https://gist.github.com/ericam/1607696\n@mixin keyframes($name) {\n  @-webkit-keyframes #{$name} {\n    @content;\n  }\n  @-moz-keyframes #{$name} {\n    @content;\n  }\n  @-ms-keyframes #{$name} {\n    @content;\n  }\n  @keyframes #{$name} {\n    @content;\n  }\n}\n"
  },
  {
    "path": "app/assets/stylesheets/_variables.scss",
    "content": "\n// for the projects sidebar\n$sidebar-width: 250px;\n$sidebar-bg-color: #efefef;\n$sidebar-a-color: #777;\n$sidebar-a-hover-color: #000;\n$sidebar-a-bg-hover-color: #dfdfdf;\n\n//$theme-main: #F07F48; ORIGINAL\n//$theme-main: #e67e22; CARROT\n$theme-main: #EE7335;\n$theme-secondary: #e74c3c;\n$theme-lighter-dark: #475D73;\n$theme-dark: #34495e;\n$theme-darker: #2c3e50;\n$white: #fff;\n$off-white: #f8f8f8;\n$black: #54555a;\n\n$link-color: $theme-main;\n$link-hover-color: #d35400;\n$light-bg-color: #FFEBE0;\n"
  },
  {
    "path": "app/assets/stylesheets/actiontext.css",
    "content": "/*\n * Provides a drop-in pointer for the default Trix stylesheet that will format the toolbar and\n * the trix-editor content (whether displayed or under editing). Feel free to incorporate this\n * inclusion directly in any other asset bundle and remove this file.\n *\n *= require trix\n*/\n\n/*\n * We need to override trix.css’s image gallery styles to accommodate the\n * <action-text-attachment> element we wrap around attachments. Otherwise,\n * images in galleries will be squished by the max-width: 33%; rule.\n*/\n.trix-content .attachment-gallery > action-text-attachment,\n.trix-content .attachment-gallery > .attachment {\n  flex: 1 0 33%;\n  padding: 0 0.5em;\n  max-width: 33%;\n}\n\n.trix-content .attachment-gallery.attachment-gallery--2 > action-text-attachment,\n.trix-content .attachment-gallery.attachment-gallery--2 > .attachment, .trix-content .attachment-gallery.attachment-gallery--4 > action-text-attachment,\n.trix-content .attachment-gallery.attachment-gallery--4 > .attachment {\n  flex-basis: 50%;\n  max-width: 50%;\n}\n\n.trix-content action-text-attachment .attachment {\n  padding: 0 !important;\n  max-width: 100% !important;\n}\n"
  },
  {
    "path": "app/assets/stylesheets/actiontext.scss",
    "content": "@import \"trix\";\n"
  },
  {
    "path": "app/assets/stylesheets/application.bootstrap.scss",
    "content": "@import 'bootstrap/dist/css/bootstrap';\n@import 'bootstrap-icons/font/bootstrap-icons';\n"
  },
  {
    "path": "app/assets/stylesheets/application.scss",
    "content": "@import \"bootstrap-sprockets\";\n@import \"bootstrap\";\n@import \"font-awesome\";\n\n@import \"variables\";\n@import \"mixins\";\n\n@import \"main\";\n@import \"global/*\";\n@import \"layout/*\";\n\n@import \"timeline\";\n\n@import \"components/dropdown\";\n@import \"components/calendar-date\";\n@import \"components/calendar-dropdown\";\n\n@import \"fullcalendar\";\n@import 'jvectormap';\n\n@import \"./actiontext.scss\";\n\n.custom_menu {\n  width: 200px !important;\n  background-color: #34495e !important;\n}\n\n.custom_menu_item {\n  margin-left: 10px;\n  margin-top: 10px;\n  color: white !important;\n}\n\n.custom_menu_link {\n  color: white !important;\n}\n\n.video-container {\n  position: relative;\n  padding-bottom: 56.25%;\n  padding-top: 30px; \n  height: 0; \n  overflow: hidden;\n  margin-bottom: 50px;\n}\n\n.video-container iframe,\n.video-container object,\n.video-container embed {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 100% !important;\n  height: 100% !important;\n}\n\n.user-status {\n\tmargin-left: 10px;\n\tmargin-top: -5px;\n\tcolor: #54555a;\n}\n\n/* enable absolute positioning */\n.inner-addon {\n  position: relative;\n}\n\n/* style icon */\n.inner-addon .fa {\n  position: absolute;\n  padding: 10px;\n  pointer-events: none;\n}\n\n/* align icon */\n.left-addon .fa { left:  0px; }\n.right-addon .fa { right: 0px; }\n\n/* add padding  */\n.left-addon input  { padding-left:  30px; }\n.right-addon input { padding-right: 30px; }\n\n.flex-center {\n  display:flex;\n  align-items: center;\n}\n@media only screen and (min-width: 992px) {\n    .pull-right-lg {\n        float: right !important;\n    }\n}\n\n.cookies-banner-modal {\n  position: fixed;\n  padding: 0.5rem;\n  z-index: 2;\n  left: 0.5rem;\n  bottom: 0.5rem;\n  min-width: 50%;\n  max-width: 24rem;\n  word-break: break-word;\n  border-radius: 6px;\n  background: #bad5ff;\n}"
  },
  {
    "path": "app/assets/stylesheets/components/calendar-date.scss",
    "content": ".calendar-block {\n  margin-left: 10px;\n\n  .fa-calendar {\n    display: inline-block;\n    font-size: 24px;\n    margin: 10px;\n    vertical-align: top;\n  }\n\n  .calendar-text {\n    display: inline-block;\n  }\n}\n"
  },
  {
    "path": "app/assets/stylesheets/components/calendar-dropdown.scss",
    "content": "#calendar_links {\n  position: absolute;\n  background: $off-white;\n  padding: 10px 20px 10px 10px;\n  font-size: 90%;\n  border: 1px solid $light-bg-color;\n  display: none;\n}"
  },
  {
    "path": "app/assets/stylesheets/components/dropdown.scss",
    "content": ".dropdown-beside-HOA {\n  margin-left: 10px;\n  float: right;\n  display: inline-block;\n  vertical-align: top;\n}\n"
  },
  {
    "path": "app/assets/stylesheets/global/articles.scss",
    "content": "// Place all the styles related to the Articles controller here.\n// They will automatically be included in application.css.\n// You can use Sass (SCSS) here: http://sass-lang.com/\n\n@import \"variables\";\n@import \"mixins\";\n\nsection.article-full {\n  margin: 0;\n  padding: 0;\n}\n\nheader.article-header {\n}\n\ntextarea.md-edit {\n  font-family: monospace;\n  resize: none;\n}\n\n.md-preview {\n  overflow: hidden;\n}\n.vote {\n  background-color: $theme-main;\n}\n\n"
  },
  {
    "path": "app/assets/stylesheets/global/authentications.scss",
    "content": "// Place all the styles related to the Authentications controller here.\n// They will automatically be included in application.css.\n// You can use Sass (SCSS) here: http://sass-lang.com/\n"
  },
  {
    "path": "app/assets/stylesheets/global/bootstrap-tags.scss",
    "content": "/* bootstrap-tags styles */\n.bootstrap-tags.bootstrap-3 .tag a {\n  margin: 0 0 0 .3em; }\n.bootstrap-tags.bootstrap-3 .glyphicon-white {\n  color: #fff; }\n\n.bootstrap-tags.bootstrap-2 .tag.md {\n  padding: .3em .4em .4em; }\n.bootstrap-tags.bootstrap-2 .tag.lg {\n  padding: .4em .4em .5em; }\n\n.bootstrap-tags {\n  position: relative; }\n  .bootstrap-tags .tags {\n    width: inherit;\n    height: 0;\n    position: absolute;\n    padding: 0;\n    margin: 0; }\n  .bootstrap-tags .tag-data {\n    display: none; }\n  .bootstrap-tags .tags-input {\n    width: 100%;\n    margin: 0;\n    padding: 0;\n    height: 1.7em;\n    box-sizing: content-box;\n    -webkit-box-sizing: content-box;\n    -moz-box-sizing: content-box; }\n  .bootstrap-tags .tag-list {\n    width: 280px;\n    height: auto;\n    min-height: 26px;\n    left: 2px;\n    top: 2px;\n    position: relative; }\n  .bootstrap-tags .tag {\n    padding: .4em .4em .4em;\n    margin: 0 .1em;\n    float: left; }\n  .bootstrap-tags .tag.sm {\n    padding: .4em .4em .5em;\n    font-size: 12px; }\n  .bootstrap-tags .tag.md {\n    font-size: 14px; }\n  .bootstrap-tags .tag.lg {\n    font-size: 18px;\n    padding: .4em .4em .4em;\n    margin: 0 .2em .2em 0; }\n  .bootstrap-tags .tag a {\n    color: #bbb;\n    cursor: pointer;\n    opacity: .5; }\n  .bootstrap-tags .tag .remove {\n    vertical-align: bottom;\n    top: 0; }\n  .bootstrap-tags ul.tags-suggestion-list {\n    width: 300px;\n    height: auto;\n    list-style: none;\n    margin: 0;\n    z-index: 2;\n    max-height: 160px;\n    overflow: scroll; }\n    .bootstrap-tags ul.tags-suggestion-list li.tags-suggestion {\n      padding: 3px 20px;\n      height: auto; }\n    .bootstrap-tags ul.tags-suggestion-list li.tags-suggestion-highlighted {\n      color: white;\n      text-decoration: none;\n      background-color: #0081C2;\n      background-image: -moz-linear-gradient(top, #0088cc, #0077b3);\n      background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3));\n      background-image: -webkit-linear-gradient(top, #0088cc, #0077b3);\n      background-image: -o-linear-gradient(top, #0088cc, #0077b3);\n      background-image: linear-gradient(to bottom, #0088cc, #0077b3);\n      background-repeat: repeat-x;\n      filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0); }\n"
  },
  {
    "path": "app/assets/stylesheets/global/bootstrap-tokenfield.min.scss",
    "content": ".tokenfield{height:auto;min-height:34px;padding-bottom:0}.tokenfield.focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.has-warning .tokenfield.focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-error .tokenfield.focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-success .tokenfield.focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.tokenfield .token{box-sizing:border-box;-moz-box-sizing:border-box;display:inline-block;border:1px solid #d9d9d9;background-color:#ededed;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;white-space:nowrap;margin:-1px 5px 5px 0;height:22px;vertical-align:top;cursor:default}.tokenfield .token:hover{border-color:#b9b9b9}.tokenfield .token.active{border-color:#52a8ec;border-color:rgba(82,168,236,.8)}.tokenfield .token.duplicate{border-color:#b94a48;-webkit-animation-direction:normal;-webkit-animation-duration:.1s;-webkit-animation-iteration-count:infinite;-webkit-animation-name:blink;-webkit-animation-timing-function:ease}@-webkit-keyframes 'blink'{0%{border-color:#ededed}100%{border-color:#b94a48}}@-moz-keyframes 'blink'{0%{border-color:#ededed}100%{border-color:#b94a48}}@keyframes 'blink'{0%{border-color:#ededed}100%{border-color:#b94a48}}.tokenfield .token .token-label{display:inline-block;overflow:hidden;text-overflow:ellipsis;padding-left:4px;vertical-align:top}.tokenfield .token .close{font-family:Arial;display:inline-block;line-height:100%;font-size:1.1em;line-height:1.49em;margin-left:5px;float:none;height:100%;vertical-align:top;padding-right:4px}.tokenfield .token-input{background:0 0;width:60px;min-width:60px;border:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;height:20px;padding:0;margin-bottom:6px}.tokenfield .token-input:focus{border-color:transparent;outline:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.tokenfield .token.invalid{background:0 0;border:1px solid transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;border-bottom:1px dotted #b94a48}.tokenfield .token.invalid.active{background:#ededed;border:1px solid #ededed;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.tokenfield.disabled{cursor:not-allowed;background-color:#eee}.tokenfield.disabled .token-input{cursor:not-allowed}.tokenfield.disabled .close:hover{cursor:not-allowed;opacity:.2}.tokenfield.input-sm,.input-group-sm .tokenfield{min-height:30px;padding-bottom:0}.input-group-sm .token,.tokenfield.input-sm .token{height:20px;margin-bottom:4px}.input-group-sm .token-input,.tokenfield.input-sm .token-input{height:18px;margin-bottom:5px}.tokenfield.input-lg,.input-group-lg .tokenfield{min-height:45px;padding-bottom:4px}.input-group-lg .token,.tokenfield.input-lg .token{height:25px}.input-group-lg .token-label,.tokenfield.input-lg .token-label{line-height:23px}.input-group-lg .token .close,.tokenfield.input-lg .token .close{line-height:1.3em}.input-group-lg .token-input,.tokenfield.input-lg .token-input{height:23px;line-height:23px;margin-bottom:6px;vertical-align:top}.tokenfield.rtl{direction:rtl;text-align:right}.tokenfield.rtl .token{margin:-1px 0 5px 5px}.tokenfield.rtl .token .token-label{padding-left:0;padding-right:4px}"
  },
  {
    "path": "app/assets/stylesheets/global/confy.scss",
    "content": ".cfy-wrap {\n    background-color: #F2F2F2;\n    border-right: 1px solid #DFDFDF;\n    left: -261px;\n    position: absolute;\n    top: 0;\n    transition: left 0.35s ease 0s;\n    width: 260px;\n    z-index: 9;\n    min-height: 100%;\n    box-shadow: 0 0 3px 0px rgba(0, 0, 0, 0.15);\n}\n\n.cfy-wrap.cfy-wrap-loading {\n    background: url(\"../img/cfy-ajax-loader.gif\") no-repeat scroll right 1px #F2F2F2;\n}\n\n.cfy-section {\n    border-bottom: 1px solid #DFDFDF;\n    overflow: hidden;\n    padding: 13px 0 13px 20px;\n    background: #f2f2f2;\n}\n\n.cfy-title h3 {\n    color: #767676;\n    display: inline-block;\n    font: 700 13px/18px 'Open Sans',sans-serif;\n    margin: 0 0 13px;\n}\n\nbutton.cfy-item {\n    background: none repeat scroll 0 0 transparent;\n    border: medium none;\n    color: #767676;\n    cursor: pointer;\n    float: left;\n    font: 400 11px/20px 'Open Sans',sans-serif;\n    margin: 0 15px 8px 0;\n    overflow: hidden;\n    padding: 0 5px;\n    text-align: left;\n    width: 102px;\n}\n\nbutton.cfy-item:hover {\n    opacity: 0.7;\n}\n\nbutton.cfy-active {\n    background: none repeat scroll 00 0 #3288C4;\n    color: #FFFFFF;\n    cursor: default;\n    opacity: 1 ! important;\n}\n\nbutton.cfy-on {\n    background-color: #F57B7B;\n}\n\n.cfy-clearButton {\n    background: none repeat scroll 0 0 #515151;\n    border: medium none;\n    color: #FFFFFF;\n    cursor: pointer;\n    display: block;\n    font: 11px 'Open Sans',sans-serif;\n    margin: 20px auto 50px;\n    padding: 4px 0;\n    text-align: center;\n    text-decoration: none;\n    width: 110px;\n}\n\n.cfy-clearButton:hover {\n    opacity: 0.8;\n}\n\n.cfy-toggle {\n    background: url(\"../img/cfy-toggle.png\") no-repeat scroll 0 0 transparent;\n    cursor: pointer;\n    height: 100%;\n    position: absolute;\n    right: -22px;\n    text-indent: 9999px;\n    top: 0;\n    width: 22px;\n}\n\n.cfy-toggle.cfy-toggle-close {\n    background-position: -22px 0;\n}\n\n.cfy-section-textfield {\n    clear: both;\n    margin-bottom: 8px;\n    overflow: hidden;\n}\n\n.cfy-section label {\n    color: #767676;\n    float: left;\n    font: 400 11px 'Open Sans',sans-serif;\n    margin-top: 3px;\n}\n\ninput.cfy-item {\n    border: 1px solid #CDD3D6;\n    color: #767676;\n    float: right;\n    font: 11px 'Open Sans',sans-serif;\n    height: 20px;\n    margin-right: 25px;\n    padding: 0;\n    text-align: center;\n    width: 40px;\n}\n\n.cfy-item-checkbox {\n    color: #767676;\n    cursor: pointer;\n    float: left;\n    font: 400 12px/20px 'Open Sans',sans-serif;\n    margin-bottom: 8px;\n    margin-top: 3px;\n    overflow: hidden;\n    position: relative;\n    width: 100%;\n}\n\n.cfy-item-checkbox:before {\n    background: none repeat scroll 0 0 #949494;\n    color: #FFFFFF;\n    content: \"OFF\";\n    cursor: pointer;\n    font: 9px/20px sans-serif;\n    height: 20px;\n    position: absolute;\n    right: 25px;\n    text-align: center;\n    top: 0;\n    width: 40px;\n}\n\n.cfy-item-checkbox.cfy-on:before {\n    background: none repeat scroll 0 0 #3288C4;\n    content: \"ON\";\n}\n\n.cfy-h2 {\n    font: bold 13px Open Sans, sans-serif;\n    color: #5E5B5B;\n    text-align: center;\n    padding: 10px 0 9px 0;\n    border-bottom: 1px solid #dfdfdf;\n    margin-bottom: 15px;\n}\n"
  },
  {
    "path": "app/assets/stylesheets/global/cubeportfolio.scss",
    "content": "/**\n * cubeportfolio v1.2 - http: //scriptpie.com\n *\n * Copyright - 2013 Mihai Buricea (http: //www.scriptpie.com)\n * All rights reserved.\n *\n * You may not modify and/or redistribute this file\n * save cases where Extended License has been purchased\n *\n */\n\n@charset \"utf-8\";\n.cbp,.cbp-item,.cbp-wrapper {\n    filter: inherit\n}\n.cbp {\n    position: relative;\n    overflow: hidden;\n    margin: 0 auto;\n    height: 400px;\n    visibility: visible!important\n}\n.cbp .cbp-item,.cbp-wrapper {\n    position: absolute;\n    top: 0;\n    left: 0;\n    list-style-type: none;\n    margin: 0;\n    padding: 0;\n    overflow: hidden\n}\n.cbp .cbp-item {\n    z-index: 2;\n    display: block;\n    width: 300px;\n    height: 200px\n}\n.cbp-item-wrapper {\n    width: 100%;\n    height: 100%;\n    position: absolute;\n    top: 0;\n    left: 0\n}\n.cbp img {\n    display: block\n}\n.cbp-loading,.cbp-loading *,.cbp-no-transition .cbp-item {\n    -webkit-transition: none!important;\n    -moz-transition: none!important;\n    -o-transition: none!important;\n    transition: none!important\n}\n.cbp-appendItems-loading {\n    -webkit-transition: height .4s ease!important;\n    -moz-transition: height .4s ease!important;\n    -o-transition: height .4s ease!important;\n    transition: height .4s ease!important\n}\n.cbp-appendItems-loading .cbp-wrapper {\n    -webkit-transition: none!important;\n    -moz-transition: none!important;\n    -o-transition: none!important;\n    transition: none!important\n}\n.cbp-loading {\n    background: url(../img/cbp-loading.gif) no-repeat scroll center center transparent\n}\n.cbp .cbp-item-hidden {\n    pointer-events: none;\n    z-index: 1\n}\n.cbp-wrapper {\n    visibility: hidden;\n    width: 100%;\n    height: 100%;\n    z-index: 1\n}\n.cbp-ready .cbp-wrapper {\n    visibility: visible\n}\n.cbp-wrapper-front {\n    z-index: 3\n}\n.cbp-wrapper-back {\n    z-index: -1\n}\n.cbp-caption,.cbp-caption-activeWrap,.cbp-caption-defaultWrap {\n    width: 100%;\n    height: 100%;\n    overflow: hidden;\n    position: relative;\n    display: block;\n    text-decoration: none\n}\n.cbp-caption-activeWrap,.cbp-caption-defaultWrap {\n    position: absolute;\n    z-index: 1\n}\n.cbp-caption-activeWrap {\n    z-index: 2\n}\n.cbp-l-caption-title {\n    color: #fff;\n    font: 700 16px/18px sans-serif;\n    margin-bottom: 5px\n}\n.cbp-l-caption-desc {\n    color: #777;\n    font: 400 12px/16px sans-serif\n}\n.cbp-l-caption-text {\n    font: 400 14px \"Open Sans\",sans-serif;\n    color: #fff;\n    letter-spacing: 3px\n}\n.cbp-l-caption-buttonLeft,.cbp-l-caption-buttonRight {\n    background-color: #3288C4;\n    color: #FFF;\n    display: inline-block;\n    font: 12px/28px sans-serif;\n    text-decoration: none;\n    width: 90px;\n    text-align: center;\n    margin: 4px\n}\n.cbp-l-caption-buttonLeft:hover,.cbp-l-caption-buttonRight:hover {\n    background-color: #2578B3\n}\n.cbp-caption-fadeIn .cbp-l-caption-alignLeft .cbp-l-caption-body,.cbp-caption-minimal .cbp-l-caption-alignLeft .cbp-l-caption-body,.cbp-caption-moveRight .cbp-l-caption-alignLeft .cbp-l-caption-body,.cbp-caption-overlayBottom .cbp-l-caption-alignLeft .cbp-l-caption-body,.cbp-caption-overlayRightAlong .cbp-l-caption-alignLeft .cbp-l-caption-body,.cbp-caption-pushDown .cbp-l-caption-alignLeft .cbp-l-caption-body,.cbp-caption-pushTop .cbp-l-caption-alignLeft .cbp-l-caption-body,.cbp-caption-revealBottom .cbp-l-caption-alignLeft .cbp-l-caption-body,.cbp-caption-revealLeft .cbp-l-caption-alignLeft .cbp-l-caption-body,.cbp-caption-revealTop .cbp-l-caption-alignLeft .cbp-l-caption-body,.cbp-caption-zoom .cbp-l-caption-alignLeft .cbp-l-caption-body {\n    margin: 30px 30px 0\n}\n.cbp-caption-overlayBottom .cbp-l-caption-alignLeft .cbp-l-caption-body,.cbp-caption-overlayBottomAlong .cbp-l-caption-alignLeft .cbp-l-caption-body,.cbp-caption-overlayBottomPush .cbp-l-caption-alignLeft .cbp-l-caption-body,.cbp-caption-overlayBottomReveal .cbp-l-caption-alignLeft .cbp-l-caption-body {\n    margin: 17px 30px 0\n}\n.cbp-caption-minimal .cbp-l-caption-desc,.cbp-caption-minimal .cbp-l-caption-title {\n    position: relative;\n    left: 0;\n    opacity: 0;\n    -webkit-transition: -webkit-transform .5s ease;\n    -moz-transition: -moz-transform .5s ease;\n    -o-transition: -o-transform .5s ease;\n    transition: transform .5s ease\n}\n.cbp-caption-minimal .cbp-l-caption-title {\n    -webkit-transform: translateY(-100%);\n    -moz-transform: translateY(-100%);\n    -o-transform: translateY(-100%);\n    transform: translateY(-100%)\n}\n.cbp-caption-minimal .cbp-l-caption-desc {\n    -webkit-transform: translateY(100%);\n    -moz-transform: translateY(100%);\n    -o-transform: translateY(100%);\n    transform: translateY(100%)\n}\n.cbp-caption-minimal .cbp-caption:hover .cbp-l-caption-desc,.cbp-caption-minimal .cbp-caption:hover .cbp-l-caption-title {\n    opacity: 1;\n    -webkit-transform: translateY(0);\n    -moz-transform: translateY(0);\n    -o-transform: translateY(0);\n    transform: translateY(0)\n}\n.cbp-l-caption-alignCenter {\n    display: table;\n    width: 100%;\n    height: 100%\n}\n.cbp-l-caption-alignCenter .cbp-l-caption-body {\n    display: table-cell;\n    vertical-align: middle;\n    text-align: center\n}\n.cbp-l-caption-alignCenter .cbp-l-caption-buttonLeft,.cbp-l-caption-alignCenter .cbp-l-caption-buttonRight {\n    position: relative;\n    -webkit-transition: left .4s cubic-bezier(.19,1,.22,1);\n    -moz-transition: left .4s cubic-bezier(.19,1,.22,1);\n    -o-transition: left .4s cubic-bezier(.19,1,.22,1);\n    transition: left .4s cubic-bezier(.19,1,.22,1)\n}\n.cbp-caption-minimal .cbp-l-caption-alignCenter .cbp-l-caption-buttonLeft,.cbp-caption-overlayBottom .cbp-l-caption-alignCenter .cbp-l-caption-buttonLeft,.cbp-caption-overlayBottomAlong .cbp-l-caption-alignCenter .cbp-l-caption-buttonLeft,.cbp-caption-overlayBottomPush .cbp-l-caption-alignCenter .cbp-l-caption-buttonLeft {\n    left: -20px\n}\n.cbp-caption-minimal .cbp-l-caption-alignCenter .cbp-l-caption-buttonRight,.cbp-caption-overlayBottom .cbp-l-caption-alignCenter .cbp-l-caption-buttonRight,.cbp-caption-overlayBottomAlong .cbp-l-caption-alignCenter .cbp-l-caption-buttonRight,.cbp-caption-overlayBottomPush .cbp-l-caption-alignCenter .cbp-l-caption-buttonRight {\n    left: 20px\n}\n.cbp-caption:hover .cbp-l-caption-alignCenter .cbp-l-caption-buttonLeft,.cbp-caption:hover .cbp-l-caption-alignCenter .cbp-l-caption-buttonRight,.cbp-ie8 .cbp-l-caption-alignCenter .cbp-l-caption-buttonLeft,.cbp-ie8 .cbp-l-caption-alignCenter .cbp-l-caption-buttonRight,.cbp-ie9 .cbp-l-caption-alignCenter .cbp-l-caption-buttonLeft,.cbp-ie9 .cbp-l-caption-alignCenter .cbp-l-caption-buttonRight {\n    left: 0\n}\n.cbp-caption-pushTop .cbp-caption-activeWrap,.cbp-caption-pushTop .cbp-caption-defaultWrap {\n    bottom: 0;\n    -webkit-transition: bottom .6s cubic-bezier(.19,1,.22,1);\n    -moz-transition: bottom .6s cubic-bezier(.19,1,.22,1);\n    -o-transition: bottom .6s cubic-bezier(.19,1,.22,1);\n    transition: bottom .6s cubic-bezier(.19,1,.22,1)\n}\n.cbp-caption-pushTop .cbp-caption-activeWrap {\n    bottom: -100%;\n    background: none repeat scroll 0 0 #282727\n}\n.cbp-caption-pushTop .cbp-caption:hover .cbp-caption-defaultWrap {\n    bottom: 100%\n}\n.cbp-caption-pushTop .cbp-caption:hover .cbp-caption-activeWrap,.cbp-caption-pushTop.cbp-ie8 .cbp-caption:hover .cbp-caption-defaultWrap,.cbp-caption-pushTop.cbp-ie9 .cbp-caption:hover .cbp-caption-defaultWrap {\n    bottom: 0\n}\n.cbp-caption-pushTop.cbp-ie8 .cbp-caption:hover .cbp-caption-activeWrap,.cbp-caption-pushTop.cbp-ie9 .cbp-caption:hover .cbp-caption-activeWrap {\n    bottom: -100%\n}\n.cbp-caption-pushDown .cbp-caption-activeWrap,.cbp-caption-pushDown .cbp-caption-defaultWrap {\n    bottom: 0;\n    -webkit-transition: bottom .6s cubic-bezier(.19,1,.22,1);\n    -moz-transition: bottom .6s cubic-bezier(.19,1,.22,1);\n    -o-transition: bottom .6s cubic-bezier(.19,1,.22,1);\n    transition: bottom .6s cubic-bezier(.19,1,.22,1)\n}\n.cbp-caption-pushDown .cbp-caption-activeWrap {\n    bottom: 100%;\n    background: none repeat scroll 0 0 #282727\n}\n.cbp-caption-pushDown .cbp-caption:hover .cbp-caption-defaultWrap {\n    bottom: -100%\n}\n.cbp-caption-pushDown .cbp-caption:hover .cbp-caption-activeWrap,.cbp-caption-pushDown.cbp-ie8 .cbp-caption:hover .cbp-caption-defaultWrap,.cbp-caption-pushDown.cbp-ie9 .cbp-caption:hover .cbp-caption-defaultWrap {\n    bottom: 0\n}\n.cbp-caption-pushDown.cbp-ie8 .cbp-caption:hover .cbp-caption-activeWrap,.cbp-caption-pushDown.cbp-ie9 .cbp-caption:hover .cbp-caption-activeWrap {\n    bottom: 100%\n}\n.cbp-caption-revealBottom .cbp-caption-defaultWrap {\n    bottom: 0;\n    z-index: 2;\n    -webkit-transition: bottom .6s cubic-bezier(.19,1,.22,1);\n    -moz-transition: bottom .6s cubic-bezier(.19,1,.22,1);\n    -o-transition: bottom .6s cubic-bezier(.19,1,.22,1);\n    transition: bottom .6s cubic-bezier(.19,1,.22,1)\n}\n.cbp-caption-revealBottom .cbp-caption-activeWrap {\n    bottom: 0;\n    z-index: 1;\n    background: none repeat scroll 0 0 #282727\n}\n.cbp-caption-revealBottom .cbp-caption:hover .cbp-caption-defaultWrap {\n    bottom: 100%\n}\n.cbp-caption-revealBottom.cbp-ie8 .cbp-caption:hover .cbp-caption-defaultWrap,.cbp-caption-revealBottom.cbp-ie9 .cbp-caption:hover .cbp-caption-defaultWrap {\n    bottom: 0\n}\n.cbp-caption-revealTop .cbp-caption-defaultWrap {\n    bottom: 0;\n    z-index: 2;\n    -webkit-transition: bottom .6s cubic-bezier(.19,1,.22,1);\n    -moz-transition: bottom .6s cubic-bezier(.19,1,.22,1);\n    -o-transition: bottom .6s cubic-bezier(.19,1,.22,1);\n    transition: bottom .6s cubic-bezier(.19,1,.22,1)\n}\n.cbp-caption-revealTop .cbp-caption-activeWrap {\n    bottom: 0;\n    z-index: 1;\n    background: none repeat scroll 0 0 #282727\n}\n.cbp-caption-revealTop .cbp-caption:hover .cbp-caption-defaultWrap {\n    bottom: -100%\n}\n.cbp-caption-revealTop.cbp-ie8 .cbp-caption:hover .cbp-caption-defaultWrap,.cbp-caption-revealTop.cbp-ie9 .cbp-caption:hover .cbp-caption-defaultWrap {\n    bottom: 0\n}\n.cbp-caption-overlayBottomReveal .cbp-caption-defaultWrap {\n    bottom: 0;\n    z-index: 2;\n    -webkit-transition: bottom .6s cubic-bezier(.19,1,.22,1);\n    -moz-transition: bottom .6s cubic-bezier(.19,1,.22,1);\n    -o-transition: bottom .6s cubic-bezier(.19,1,.22,1);\n    transition: bottom .6s cubic-bezier(.19,1,.22,1)\n}\n.cbp-caption-overlayBottomReveal .cbp-caption-activeWrap {\n    bottom: 0;\n    z-index: 1;\n    height: 70px;\n    background: none repeat scroll 0 0 #282727\n}\n.cbp-caption-overlayBottomReveal .cbp-caption:hover .cbp-caption-defaultWrap {\n    bottom: 70px\n}\n.cbp-caption-overlayBottomReveal.cbp-ie8 .cbp-caption:hover .cbp-caption-defaultWrap,.cbp-caption-overlayBottomReveal.cbp-ie9 .cbp-caption:hover .cbp-caption-defaultWrap {\n    bottom: 0\n}\n.cbp-caption-overlayBottomPush .cbp-caption-activeWrap,.cbp-caption-overlayBottomPush .cbp-caption-defaultWrap {\n    bottom: 0;\n    -webkit-transition: bottom .6s cubic-bezier(.19,1,.22,1);\n    -moz-transition: bottom .6s cubic-bezier(.19,1,.22,1);\n    -o-transition: bottom .6s cubic-bezier(.19,1,.22,1);\n    transition: bottom .6s cubic-bezier(.19,1,.22,1)\n}\n.cbp-caption-overlayBottomPush .cbp-caption-activeWrap {\n    bottom: -70px;\n    height: 70px;\n    background: none repeat scroll 0 0 #282727\n}\n.cbp-caption-overlayBottomPush .cbp-caption:hover .cbp-caption-defaultWrap {\n    bottom: 70px\n}\n.cbp-caption-overlayBottomPush .cbp-caption:hover .cbp-caption-activeWrap,.cbp-caption-overlayBottomPush.cbp-ie8 .cbp-caption:hover .cbp-caption-defaultWrap,.cbp-caption-overlayBottomPush.cbp-ie9 .cbp-caption:hover .cbp-caption-defaultWrap {\n    bottom: 0\n}\n.cbp-caption-overlayBottomPush.cbp-ie8 .cbp-caption:hover .cbp-caption-activeWrap,.cbp-caption-overlayBottomPush.cbp-ie9 .cbp-caption:hover .cbp-caption-activeWrap {\n    bottom: -70px\n}\n.cbp-caption-overlayBottom .cbp-caption-activeWrap {\n    bottom: -70px;\n    height: 70px;\n    background-color: #181616;\n    background-color: rgba(24,22,22,.7);\n    -webkit-transition: bottom .6s cubic-bezier(.19,1,.22,1);\n    -moz-transition: bottom .6s cubic-bezier(.19,1,.22,1);\n    -o-transition: bottom .6s cubic-bezier(.19,1,.22,1);\n    transition: bottom .6s cubic-bezier(.19,1,.22,1)\n}\n.cbp-caption-overlayBottom .cbp-caption:hover .cbp-caption-activeWrap {\n    bottom: 0\n}\n.cbp-caption-overlayBottom.cbp-ie9 .cbp-caption:hover .cbp-caption-activeWrap {\n    bottom: -70px\n}\n.cbp-caption-moveRight .cbp-caption-activeWrap {\n    left: -100%;\n    top: 0;\n    background: none repeat scroll 0 0 #282727;\n    -webkit-transition: left .6s cubic-bezier(.19,1,.22,1);\n    -moz-transition: left .6s cubic-bezier(.19,1,.22,1);\n    -o-transition: left .6s cubic-bezier(.19,1,.22,1);\n    transition: left .6s cubic-bezier(.19,1,.22,1)\n}\n.cbp-caption-moveRight .cbp-caption:hover .cbp-caption-activeWrap {\n    left: 0\n}\n.cbp-caption-moveRight.cbp-ie8 .cbp-caption:hover .cbp-caption-activeWrap,.cbp-caption-moveRight.cbp-ie9 .cbp-caption:hover .cbp-caption-activeWrap {\n    left: -100%\n}\n.cbp-caption-revealLeft .cbp-caption-activeWrap {\n    left: 100%;\n    top: 0;\n    background: none repeat scroll 0 0 #282727;\n    -webkit-transition: left .6s cubic-bezier(.19,1,.22,1);\n    -moz-transition: left .6s cubic-bezier(.19,1,.22,1);\n    -o-transition: left .6s cubic-bezier(.19,1,.22,1);\n    transition: left .6s cubic-bezier(.19,1,.22,1)\n}\n.cbp-caption-revealLeft .cbp-caption:hover .cbp-caption-activeWrap {\n    left: 0\n}\n.cbp-caption-revealLeft.cbp-ie8 .cbp-caption:hover .cbp-caption-activeWrap,.cbp-caption-revealLeft.cbp-ie9 .cbp-caption:hover .cbp-caption-activeWrap {\n    left: 100%\n}\n.cbp-caption-minimal .cbp-caption-activeWrap {\n    background-color: rgba(0,0,0,.8);\n    opacity: 0\n}\n.cbp-caption-minimal .cbp-caption:hover .cbp-caption-activeWrap {\n    opacity: 1\n}\n.cbp-caption-minimal.cbp-ie8 .cbp-caption-activeWrap {\n    background-color: #000;\n    -ms-filter: \"alpha(Opacity=0)\"\n}\n.cbp-caption-minimal.cbp-ie8 .cbp-caption:hover .cbp-caption-activeWrap {\n    -ms-filter: \"alpha(Opacity=90)\"\n}\n.cbp-caption-fadeIn .cbp-caption-activeWrap {\n    opacity: 0;\n    width: 100%;\n    height: 100%;\n    position: absolute;\n    top: 0;\n    left: 0;\n    background-color: rgba(0,0,0,.85);\n    -webkit-transition: opacity .6s cubic-bezier(.19,1,.22,1);\n    -moz-transition: opacity .6s cubic-bezier(.19,1,.22,1);\n    -o-transition: opacity .6s cubic-bezier(.19,1,.22,1);\n    transition: opacity .6s cubic-bezier(.19,1,.22,1)\n}\n.cbp-caption-fadeIn.cbp-ie8 .cbp-caption-activeWrap {\n    background-color: #000;\n    -ms-filter: \"alpha(Opacity=0)\"\n}\n.cbp-caption-fadeIn .cbp-caption:hover .cbp-caption-activeWrap {\n    opacity: 1\n}\n.cbp-caption-fadeIn.cbp-ie9 .cbp-caption:hover .cbp-caption-activeWrap {\n    opacity: 0\n}\n.cbp-caption-overlayRightAlong .cbp-caption-activeWrap,.cbp-caption-overlayRightAlong .cbp-caption-defaultWrap {\n    left: 0;\n    -webkit-transition: left .6s cubic-bezier(.19,1,.22,1);\n    -moz-transition: left .6s cubic-bezier(.19,1,.22,1);\n    -o-transition: left .6s cubic-bezier(.19,1,.22,1);\n    transition: left .6s cubic-bezier(.19,1,.22,1)\n}\n.cbp-caption-overlayRightAlong .cbp-caption-activeWrap {\n    left: -50%;\n    width: 50%;\n    background: none repeat scroll 0 0 #282727\n}\n.cbp-caption-overlayRightAlong .cbp-caption:hover .cbp-caption-defaultWrap {\n    left: 25%\n}\n.cbp-caption-overlayRightAlong .cbp-caption:hover .cbp-caption-activeWrap,.cbp-caption-overlayRightAlong.cbp-ie8 .cbp-caption:hover .cbp-caption-defaultWrap,.cbp-caption-overlayRightAlong.cbp-ie9 .cbp-caption:hover .cbp-caption-defaultWrap {\n    left: 0\n}\n.cbp-caption-overlayRightAlong.cbp-ie8 .cbp-caption:hover .cbp-caption-activeWrap,.cbp-caption-overlayRightAlong.cbp-ie9 .cbp-caption:hover .cbp-caption-activeWrap {\n    left: -50%\n}\n.cbp-caption-overlayBottomAlong .cbp-caption-activeWrap,.cbp-caption-overlayBottomAlong .cbp-caption-defaultWrap {\n    bottom: 0;\n    -webkit-transition: bottom .6s cubic-bezier(.19,1,.22,1);\n    -moz-transition: bottom .6s cubic-bezier(.19,1,.22,1);\n    -o-transition: bottom .6s cubic-bezier(.19,1,.22,1);\n    transition: bottom .6s cubic-bezier(.19,1,.22,1)\n}\n.cbp-caption-overlayBottomAlong .cbp-caption-activeWrap {\n    bottom: -70px;\n    height: 70px;\n    background: none repeat scroll 0 0 #282727\n}\n.cbp-caption-overlayBottomAlong .cbp-caption:hover .cbp-caption-defaultWrap {\n    bottom: 35px\n}\n.cbp-caption-overlayBottomAlong .cbp-caption:hover .cbp-caption-activeWrap,.cbp-caption-overlayBottomAlong.cbp-ie8 .cbp-caption:hover .cbp-caption-defaultWrap,.cbp-caption-overlayBottomAlong.cbp-ie9 .cbp-caption:hover .cbp-caption-defaultWrap {\n    bottom: 0\n}\n.cbp-caption-overlayBottomAlong.cbp-ie8 .cbp-caption:hover .cbp-caption-activeWrap,.cbp-caption-overlayBottomAlong.cbp-ie9 .cbp-caption:hover .cbp-caption-activeWrap {\n    bottom: -70px\n}\n.cbp-caption-zoom .cbp-caption-defaultWrap {\n    width: 100%;\n    height: 100%;\n    overflow: hidden;\n    -webkit-transition: -webkit-transform .6s cubic-bezier(.19,1,.22,1);\n    -moz-transition: -moz-transform .6s cubic-bezier(.19,1,.22,1);\n    -o-transition: -o-transform .6s cubic-bezier(.19,1,.22,1);\n    transition: transform .6s cubic-bezier(.19,1,.22,1)\n}\n.cbp-caption-zoom .cbp-caption:hover .cbp-caption-defaultWrap {\n    -webkit-transform: scale(1.25);\n    -moz-transform: scale(1.25);\n    -o-transform: scale(1.25);\n    transform: scale(1.25)\n}\n.cbp-caption-zoom .cbp-caption-activeWrap {\n    opacity: 0;\n    width: 100%;\n    height: 100%;\n    position: absolute;\n    top: 0;\n    left: 0;\n    background-color: rgba(0,0,0,.9);\n    -webkit-transition: opacity .8s cubic-bezier(.19,1,.22,1);\n    -moz-transition: opacity .8s cubic-bezier(.19,1,.22,1);\n    -o-transition: opacity .8s cubic-bezier(.19,1,.22,1);\n    transition: opacity .8s cubic-bezier(.19,1,.22,1)\n}\n.cbp-caption-zoom.cbp-ie8 .cbp-caption-activeWrap {\n    background-color: #000;\n    -ms-filter: \"alpha(Opacity=0)\"\n}\n.cbp-caption-zoom .cbp-caption:hover .cbp-caption-activeWrap {\n    opacity: 1\n}\n.cbp-caption-zoom.cbp-ie9 .cbp-caption:hover .cbp-caption-activeWrap {\n    opacity: 0\n}\n.cbp-animation-fadeOut {\n    -webkit-transition: height .6s ease-in-out;\n    -moz-transition: height .6s ease-in-out;\n    -o-transition: height .6s ease-in-out;\n    transition: height .6s ease-in-out\n}\n.cbp-animation-fadeOut .cbp-item {\n    -webkit-transition: -webkit-transform .6s ease-in-out .2s,opacity .6s ease-in-out .2s;\n    -moz-transition: -moz-transform .6s ease-in-out .2s,opacity .6s ease-in-out .2s;\n    -o-transition: -o-transform .6s ease-in-out .2s,opacity .6s ease-in-out .2s;\n    transition: transform .6s ease-in-out .2s,opacity .6s ease-in-out .2s\n}\n.cbp-animation-fadeOut .cbp-item-hidden {\n    -webkit-transition: -webkit-transform .6s ease-in-out 0s,opacity .4s ease-in-out 0s;\n    -moz-transition: -moz-transform .6s ease-in-out 0s,opacity .4s ease-in-out 0s;\n    -o-transition: -o-transform .6s ease-in-out 0s,opacity .4s ease-in-out 0s;\n    transition: transform .6s ease-in-out 0s,opacity .4s ease-in-out 0s\n}\n.cbp-animation-quicksand {\n    -webkit-transition: height .6s ease-in-out;\n    -moz-transition: height .6s ease-in-out;\n    -o-transition: height .6s ease-in-out;\n    transition: height .6s ease-in-out\n}\n.cbp-animation-quicksand .cbp-item {\n    -webkit-transition: -webkit-transform .6s ease-in-out .2s,opacity .6s ease-in-out .2s;\n    -moz-transition: -moz-transform .6s ease-in-out .2s,opacity .6s ease-in-out .2s;\n    -o-transition: -o-transform .6s ease-in-out .2s,opacity .6s ease-in-out .2s;\n    transition: transform .6s ease-in-out .2s,opacity .6s ease-in-out .2s\n}\n.cbp-animation-quicksand .cbp-item-hidden {\n    -webkit-transition: -webkit-transform .6s ease-in-out 0s,opacity .4s ease-in-out 0s;\n    -moz-transition: -moz-transform .6s ease-in-out 0s,opacity .4s ease-in-out 0s;\n    -o-transition: -o-transform .6s ease-in-out 0s,opacity .4s ease-in-out 0s;\n    transition: transform .6s ease-in-out 0s,opacity .4s ease-in-out 0s\n}\n.cbp-animation-skew {\n    -webkit-transition: height .3s ease-in-out;\n    -moz-transition: height .3s ease-in-out;\n    -o-transition: height .3s ease-in-out;\n    transition: height .3s ease-in-out\n}\n.cbp-animation-skew .cbp-item {\n    -webkit-transition: -webkit-transform .3s ease-in,opacity .3s ease-in;\n    -moz-transition: -moz-transform .3s ease-in,opacity .3s ease-in;\n    -o-transition: -o-transform .3s ease-in,opacity .3s ease-in;\n    transition: transform .3s ease-in,opacity .3s ease-in\n}\n.cbp-animation-skew .cbp-item-hidden {\n    -webkit-transition: -webkit-transform .3s ease-in 0s,opacity .3s ease-in 0s;\n    -moz-transition: -moz-transform .3s ease-in 0s,opacity .3s ease-in 0s;\n    -o-transition: -o-transform .3s ease-in 0s,opacity .3s ease-in 0s;\n    transition: transform .3s ease-in 0s,opacity .3s ease-in 0s\n}\n.cbp-animation-boxShadow {\n    -webkit-transition: height .6s ease-in-out;\n    -moz-transition: height .6s ease-in-out;\n    -o-transition: height .6s ease-in-out;\n    transition: height .6s ease-in-out\n}\n.cbp-animation-boxShadow .cbp-item {\n    -webkit-transition: -webkit-transform .6s ease-in-out,opacity .6s ease-in-out;\n    -moz-transition: -moz-transform .6s ease-in-out,opacity .6s ease-in-out;\n    -o-transition: -o-transform .6s ease-in-out,opacity .6s ease-in-out;\n    transition: transform .6s ease-in-out,opacity .6s ease-in-out\n}\n.cbp-animation-boxShadow .cbp-item .cbp-animation-boxShadowMask {\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 100%;\n    height: 100%;\n    z-index: -1;\n    -webkit-transition: box-shadow .6s ease-in-out;\n    -moz-transition: box-shadow .6s ease-in-out;\n    -o-transition: box-shadow .6s ease-in-out;\n    transition: box-shadow .6s ease-in-out\n}\n.cbp-animation-boxShadow .cbp-item .cbp-animation-boxShadowMask.cbp-animation-boxShadowShow {\n    z-index: 10\n}\n.cbp-animation-boxShadow .cbp-item .cbp-animation-boxShadowMask.cbp-animation-boxShadowActive {\n    box-shadow: 0 0 100px 100px #fff inset\n}\n.cbp-animation-boxShadow .cbp-item .cbp-animation-boxShadowMask.cbp-animation-boxShadowInactive {\n    box-shadow: 0 0 #fff inset\n}\n.cbp-animation-bounceLeft {\n    -webkit-transition: height .8s ease-in-out;\n    -moz-transition: height .8s ease-in-out;\n    -o-transition: height .8s ease-in-out;\n    transition: height .8s ease-in-out\n}\n.cbp-animation-bounceLeft .cbp-wrapper {\n    -webkit-transition: opacity .8s ease-in-out,left .8s ease-in-out;\n    -moz-transition: opacity .8s ease-in-out,left .8s ease-in-out;\n    -o-transition: opacity .8s ease-in-out,left .8s ease-in-out;\n    transition: opacity .8s ease-in-out,left .8s ease-in-out\n}\n.cbp-animation-bounceLeft .cbp-item {\n    overflow: visible;\n    -webkit-transition: -webkit-transform .8s ease-in-out;\n    -moz-transition: -moz-transform .8s ease-in-out;\n    -o-transition: -o-transform .8s ease-in-out;\n    transition: transform .8s ease-in-out\n}\n.cbp-animation-bounceLeft .cbp-item-hidden {\n    display: none\n}\n.cbp-animation-bounceLeft .cbp-item-wrapper {\n    overflow: hidden\n}\n.cbp-animation-bounceTop {\n    -webkit-transition: height .6s ease-in-out;\n    -moz-transition: height .6s ease-in-out;\n    -o-transition: height .6s ease-in-out;\n    transition: height .6s ease-in-out\n}\n.cbp-animation-bounceTop .cbp-wrapper {\n    -webkit-transition: opacity .6s ease-in-out,top .6s ease-in-out;\n    -moz-transition: opacity .6s ease-in-out,top .6s ease-in-out;\n    -o-transition: opacity .6s ease-in-out,top .6s ease-in-out;\n    transition: opacity .6s ease-in-out,top .6s ease-in-out\n}\n.cbp-animation-bounceTop .cbp-item {\n    overflow: visible;\n    -webkit-transition: -webkit-transform .8s ease-in-out;\n    -moz-transition: -moz-transform .8s ease-in-out;\n    -o-transition: -o-transform .8s ease-in-out;\n    transition: transform .8s ease-in-out\n}\n.cbp-animation-bounceTop .cbp-item-hidden {\n    display: none\n}\n.cbp-animation-bounceTop .cbp-item-wrapper {\n    overflow: hidden\n}\n.cbp-animation-bounceBottom {\n    -webkit-transition: height .6s ease-in-out;\n    -moz-transition: height .6s ease-in-out;\n    -o-transition: height .6s ease-in-out;\n    transition: height .6s ease-in-out\n}\n.cbp-animation-bounceBottom .cbp-wrapper {\n    -webkit-transition: opacity .6s ease-in-out,top .6s ease-in-out;\n    -moz-transition: opacity .6s ease-in-out,top .6s ease-in-out;\n    -o-transition: opacity .6s ease-in-out,top .6s ease-in-out;\n    transition: opacity .6s ease-in-out,top .6s ease-in-out\n}\n.cbp-animation-bounceBottom .cbp-item {\n    overflow: visible;\n    -webkit-transition: -webkit-transform .8s ease-in-out;\n    -moz-transition: -moz-transform .8s ease-in-out;\n    -o-transition: -o-transform .8s ease-in-out;\n    transition: transform .8s ease-in-out\n}\n.cbp-animation-bounceBottom .cbp-item-hidden {\n    display: none\n}\n.cbp-animation-bounceBottom .cbp-item-wrapper {\n    overflow: hidden\n}\n.cbp-animation-moveLeft {\n    -webkit-transition: height .6s ease-in-out;\n    -moz-transition: height .6s ease-in-out;\n    -o-transition: height .6s ease-in-out;\n    transition: height .6s ease-in-out\n}\n.cbp-animation-moveLeft .cbp-wrapper {\n    z-index: 2;\n    -webkit-transition: opacity .6s ease-in-out,left .6s ease-in-out;\n    -moz-transition: opacity .6s ease-in-out,left .6s ease-in-out;\n    -o-transition: opacity .6s ease-in-out,left .6s ease-in-out;\n    transition: opacity .6s ease-in-out,left .6s ease-in-out\n}\n.cbp-animation-moveLeft .cbp-wrapper.no-trans {\n    z-index: 1;\n    -webkit-transition: none!important;\n    -moz-transition: none!important;\n    -o-transition: none!important;\n    transition: none!important\n}\n.cbp-animation-moveLeft .cbp-item {\n    overflow: visible;\n    -webkit-transition: -webkit-transform .6s ease-in-out;\n    -moz-transition: -moz-transform .6s ease-in-out;\n    -o-transition: -o-transform .6s ease-in-out;\n    transition: transform .6s ease-in-out\n}\n.cbp-animation-moveLeft .cbp-item-wrapper {\n    overflow: hidden\n}\n.cbp-animation-slideLeft {\n    overflow: visible\n}\n.cbp-animation-slideLeft .cbp-item {\n    -webkit-transition: -webkit-transform .6s ease-in-out;\n    -moz-transition: -moz-transform .6s ease-in-out;\n    -o-transition: -o-transform .6s ease-in-out;\n    transition: transform .6s ease-in-out\n}\n.cbp-animation-slideLeft-out {\n    -webkit-animation: cbp-animation-slideLeft-out .9s both ease;\n    -moz-animation: cbp-animation-slideLeft-out .9s both ease;\n    animation: cbp-animation-slideLeft-out .9s both ease\n}\n.cbp-animation-slideLeft-in {\n    -webkit-animation: cbp-animation-slideLeft-in .9s both ease;\n    -moz-animation: cbp-animation-slideLeft-in .9s both ease;\n    animation: cbp-animation-slideLeft-in .9s both ease\n}\n@-webkit-keyframes cbp-animation-slideLeft-out {\n    25% {\n        opacity: .75;\n        -webkit-transform: scale(.8)\n    }\n    100%,75% {\n        opacity: .75;\n        -webkit-transform: scale(.8) translateX(-200%)\n    }\n\n}\n@-moz-keyframes cbp-animation-slideLeft-out {\n    25% {\n        opacity: .75;\n        -moz-transform: scale(.8)\n    }\n    100%,75% {\n        opacity: .75;\n        -moz-transform: scale(.8) translateX(-200%)\n    }\n\n}\n@keyframes cbp-animation-slideLeft-out {\n    25% {\n        opacity: .75;\n        transform: scale(.8)\n    }\n    100%,75% {\n        opacity: .75;\n        transform: scale(.8) translateX(-200%)\n    }\n\n}\n@-webkit-keyframes cbp-animation-slideLeft-in {\n    0%,25% {\n        opacity: .75;\n        -webkit-transform: scale(.8) translateX(200%)\n    }\n    75% {\n        opacity: .75;\n        -webkit-transform: scale(.8)\n    }\n    100% {\n        opacity: 1;\n        -webkit-transform: scale(1) translateX(0)\n    }\n\n}\n@-moz-keyframes cbp-animation-slideLeft-in {\n    0%,25% {\n        opacity: .75;\n        -moz-transform: scale(.8) translateX(200%)\n    }\n    75% {\n        opacity: .75;\n        -moz-transform: scale(.8)\n    }\n    100% {\n        opacity: 1;\n        -moz-transform: scale(1) translateX(0)\n    }\n\n}\n@keyframes cbp-animation-slideLeft-in {\n    0%,25% {\n        opacity: .75;\n        transform: scale(.8) translateX(200%)\n    }\n    75% {\n        opacity: .75;\n        transform: scale(.8)\n    }\n    100% {\n        opacity: 1;\n        transform: scale(1) translateX(0)\n    }\n\n}\n.cbp-animation-slideDelay {\n    overflow: visible\n}\n.cbp-animation-slideDelay .cbp-item {\n    -webkit-transition: -webkit-transform .6s ease-in-out;\n    -moz-transition: -moz-transform .6s ease-in-out;\n    -o-transition: -o-transform .6s ease-in-out;\n    transition: transform .6s ease-in-out\n}\n.cbp-animation-slideDelay-out {\n    -webkit-animation: cbp-animation-slideDelay-out .5s both ease-in-out;\n    -moz-animation: cbp-animation-slideDelay-out .5s both ease-in-out;\n    animation: cbp-animation-slideDelay-out .5s both ease-in-out\n}\n.cbp-animation-slideDelay-in {\n    -webkit-animation: cbp-animation-slideDelay-in .5s both ease-in-out;\n    -moz-animation: cbp-animation-slideDelay-in .5s both ease-in-out;\n    animation: cbp-animation-slideDelay-in .5s both ease-in-out\n}\n.cbp-animation-slideDelay-fadeOut {\n    -webkit-animation: cbp-animation-slideDelay-fadeOut .4s both ease;\n    -moz-animation: cbp-animation-slideDelay-fadeOut .4s both ease;\n    animation: cbp-animation-slideDelay-fadeOut .4s both ease\n}\n@-webkit-keyframes cbp-animation-slideDelay-out {\n    100% {\n        -webkit-transform: translateX(-100%)\n    }\n\n}\n@-moz-keyframes cbp-animation-slideDelay-out {\n    100% {\n        -moz-transform: translateX(-100%)\n    }\n\n}\n@keyframes cbp-animation-slideDelay-out {\n    100% {\n        transform: translateX(-100%)\n    }\n\n}\n@-webkit-keyframes cbp-animation-slideDelay-in {\n    0% {\n        -webkit-transform: translateX(100%)\n    }\n    100% {\n        -webkit-transform: translateX(0)\n    }\n\n}\n@-moz-keyframes cbp-animation-slideDelay-in {\n    0% {\n        -moz-transform: translateX(100%)\n    }\n    100% {\n        -moz-transform: translateX(0)\n    }\n\n}\n@keyframes cbp-animation-slideDelay-in {\n    0% {\n        transform: translateX(100%)\n    }\n    100% {\n        transform: translateX(0)\n    }\n\n}\n@-webkit-keyframes cbp-animation-slideDelay-fadeOut {\n    0% {\n        opacity: 1\n    }\n    100% {\n        opacity: 0\n    }\n\n}\n@-moz-keyframes cbp-animation-slideDelay-fadeOut {\n    0% {\n        opacity: 1\n    }\n    100% {\n        opacity: 0\n    }\n\n}\n@keyframes cbp-animation-slideDelay-fadeOut {\n    0% {\n        opacity: 1\n    }\n    100% {\n        opacity: 0\n    }\n\n}\n.cbp-animation-3dflip {\n    overflow: visible\n}\n.cbp-animation-3dflip .cbp-item {\n    -webkit-transition: -webkit-transform .6s ease-in-out;\n    -moz-transition: -moz-transform .6s ease-in-out;\n    -o-transition: -o-transform .6s ease-in-out;\n    transition: transform .6s ease-in-out;\n    -webkit-perspective: 1000px;\n    perspective: 1000px\n}\n.cbp-animation-3dflip-out {\n    -webkit-transform-origin: 0 50%;\n    transform-origin: 0 50%;\n    -webkit-animation: rotateOutLeft .6s forwards;\n    animation: rotateOutLeft .6s forwards\n}\n.cbp-animation-3dflip-in {\n    opacity: 0;\n    -webkit-transform-origin: 100% 50%;\n    transform-origin: 100% 50%;\n    -webkit-animation: rotateInRight .6s ease-in forwards;\n    animation: rotateInRight .6s ease-in forwards\n}\n.cbp-animation-3dflip-fadeOut {\n    -webkit-animation: cbp-animation-3dflip-fadeOut .4s both ease;\n    -moz-animation: cbp-animation-3dflip-fadeOut .4s both ease;\n    animation: cbp-animation-3dflip-fadeOut .4s both ease\n}\n@-webkit-keyframes rotateOutLeft {\n    100% {\n        opacity: 0;\n        -webkit-transform: rotateY(90deg)\n    }\n\n}\n@-moz-keyframes rotateOutLeft {\n    100% {\n        opacity: 0;\n        -moz1-transform: rotateY(90deg)\n    }\n\n}\n@keyframes rotateOutLeft {\n    100% {\n        opacity: 0;\n        transform: rotateY(90deg)\n    }\n\n}\n@-webkit-keyframes rotateInRight {\n    0% {\n        opacity: 0;\n        -webkit-transform: rotateY(-90deg)\n    }\n    100% {\n        visibility: visible;\n        opacity: 1;\n        -webkit-transform: rotateY(0deg)\n    }\n\n}\n@-moz-keyframes rotateInRight {\n    0% {\n        opacity: 0;\n        -moz-transform: rotateY(-90deg)\n    }\n    100% {\n        visibility: visible;\n        opacity: 1;\n        -moz-transform: rotateY(0deg)\n    }\n\n}\n@keyframes rotateInRight {\n    0% {\n        opacity: 0;\n        transform: rotateY(-90deg)\n    }\n    100% {\n        visibility: visible;\n        opacity: 1;\n        transform: rotateY(0deg)\n    }\n\n}\n@-webkit-keyframes cbp-animation-3dflip-fadeOut {\n    0% {\n        opacity: 1\n    }\n    100% {\n        opacity: 0\n    }\n\n}\n@-moz-keyframes cbp-animation-3dflip-fadeOut {\n    0% {\n        opacity: 1\n    }\n    100% {\n        opacity: 0\n    }\n\n}\n@keyframes cbp-animation-3dflip-fadeOut {\n    0% {\n        opacity: 1\n    }\n    100% {\n        opacity: 0\n    }\n\n}\n.cbp-animation-rotateSides {\n    overflow: visible\n}\n.cbp-animation-rotateSides .cbp-item {\n    -webkit-transition: -webkit-transform .6s ease-in-out;\n    -moz-transition: -moz-transform .6s ease-in-out;\n    -o-transition: -o-transform .6s ease-in-out;\n    transition: transform .6s ease-in-out;\n    -webkit-perspective: 1000px;\n    perspective: 1000px\n}\n.cbp-animation-rotateSides-out {\n    -webkit-transform-origin: -50% 50%;\n    -webkit-animation: rotateSides-out .5s both ease-in;\n    -moz-transform-origin: -50% 50%;\n    -moz-animation: rotateSides-out .5s both ease-in;\n    transform-origin: -50% 50%;\n    animation: rotateSides-out .5s both ease-in\n}\n.cbp-animation-rotateSides-in {\n    -webkit-transform-origin: 150% 50%;\n    -webkit-animation: rotateSides-in .6s both ease-out;\n    -moz-transform-origin: 150% 50%;\n    -moz-animation: rotateSides-in .6s both ease-out;\n    transform-origin: 150% 50%;\n    animation: rotateSides-in .6s both ease-out\n}\n.cbp-animation-rotateSides-fadeOut {\n    -webkit-animation: cbp-animation-rotateSides-fadeOut .5s both ease;\n    -moz-animation: cbp-animation-rotateSides-fadeOut .5s both ease;\n    animation: cbp-animation-rotateSides-fadeOut .5s both ease\n}\n@-webkit-keyframes rotateSides-out {\n    100% {\n        opacity: 0;\n        -webkit-transform: translateZ(-500px) rotateY(90deg)\n    }\n\n}\n@-moz-keyframes rotateSides-out {\n    100% {\n        opacity: 0;\n        -moz-transform: translateZ(-500px) rotateY(90deg)\n    }\n\n}\n@keyframes rotateSides-out {\n    100% {\n        opacity: 0;\n        transform: translateZ(-500px) rotateY(90deg)\n    }\n\n}\n@-webkit-keyframes rotateSides-in {\n    0%,40% {\n        opacity: 0;\n        -webkit-transform: translateZ(-500px) rotateY(-90deg)\n    }\n\n}\n@-moz-keyframes rotateSides-in {\n    0%,40% {\n        opacity: 0;\n        -moz-transform: translateZ(-500px) rotateY(-90deg)\n    }\n\n}\n@keyframes rotateSides-in {\n    0%,40% {\n        opacity: 0;\n        transform: translateZ(-500px) rotateY(-90deg)\n    }\n\n}\n@-webkit-keyframes cbp-animation-rotateSides-fadeOut {\n    0% {\n        opacity: 1\n    }\n    100% {\n        opacity: 0\n    }\n\n}\n@-moz-keyframes cbp-animation-rotateSides-fadeOut {\n    0% {\n        opacity: 1\n    }\n    100% {\n        opacity: 0\n    }\n\n}\n@keyframes cbp-animation-rotateSides-fadeOut {\n    0% {\n        opacity: 1\n    }\n    100% {\n        opacity: 0\n    }\n\n}\n.cbp-animation-flipOutDelay {\n    overflow: visible\n}\n.cbp-animation-flipOutDelay .cbp-item {\n    -webkit-transition: -webkit-transform .6s ease-in-out;\n    -moz-transition: -moz-transform .6s ease-in-out;\n    -o-transition: -o-transform .6s ease-in-out;\n    transition: transform .6s ease-in-out;\n    -webkit-perspective: 1000px;\n    perspective: 1000px\n}\n.cbp-animation-flipOutDelay-out {\n    -webkit-transform-origin: 50% 50%;\n    -webkit-animation: flipOutDelay-out .5s both ease-in;\n    -moz-transform-origin: 50% 50%;\n    -moz-animation: flipOutDelay-out .5s both ease-in;\n    transform-origin: 50% 50%;\n    animation: flipOutDelay-out .5s both ease-in\n}\n.cbp-animation-flipOutDelay-in {\n    -webkit-transform-origin: 50% 50%;\n    -webkit-animation: flipOutDelay-in 1s both ease-out;\n    -moz-transform-origin: 50% 50%;\n    -moz-animation: flipOutDelay-in 1s both ease-out;\n    transform-origin: 50% 50%;\n    animation: flipOutDelay-in 1s both ease-out\n}\n@-webkit-keyframes flipOutDelay-out {\n    100% {\n        -webkit-transform: translateZ(-1000px) rotateY(-90deg);\n        opacity: .2\n    }\n\n}\n@-moz-keyframes flipOutDelay-out {\n    100% {\n        -moz-transform: translateZ(-1000px) rotateY(-90deg);\n        opacity: .2\n    }\n\n}\n@keyframes flipOutDelay-out {\n    100% {\n        transform: translateZ(-1000px) rotateY(-90deg);\n        opacity: .2\n    }\n\n}\n@-webkit-keyframes flipOutDelay-in {\n    0%,50% {\n        -webkit-transform: translateZ(-1000px) rotateY(90deg);\n        opacity: .2\n    }\n\n}\n@-moz-keyframes flipOutDelay-in {\n    0%,50% {\n        -moz-transform: translateZ(-1000px) rotateY(90deg);\n        opacity: .2\n    }\n\n}\n@keyframes flipOutDelay-in {\n    0%,50% {\n        transform: translateZ(-1000px) rotateY(90deg);\n        opacity: .2\n    }\n\n}\n.cbp-animation-unfold {\n    overflow: visible\n}\n.cbp-animation-unfold .cbp-item {\n    -webkit-transition: -webkit-transform .6s ease-in-out;\n    -moz-transition: -moz-transform .6s ease-in-out;\n    -o-transition: -o-transform .6s ease-in-out;\n    transition: transform .6s ease-in-out;\n    -webkit-perspective: 1000px;\n    perspective: 1000px\n}\n.cbp-animation-unfold-out {\n    -webkit-animation: unfold-out .8s ease both;\n    -moz-animation: unfold-out .8s ease both;\n    animation: unfold-out .8s ease both\n}\n.cbp-animation-unfold-in {\n    -webkit-transform-origin: 0 50%;\n    -webkit-animation: unfold-in .8s both ease;\n    -moz-transform-origin: 0 50%;\n    -moz-animation: unfold-in .8s both ease;\n    transform-origin: 0 50%;\n    animation: unfold-in .8s both ease\n}\n.cbp-animation-unfold-fadeOut {\n    -webkit-animation: cbp-animation-unfold-fadeOut .5s both ease;\n    -moz-animation: cbp-animation-unfold-fadeOut .5s both ease;\n    animation: cbp-animation-unfold-fadeOut .5s both ease\n}\n@-webkit-keyframes unfold-out {\n    99% {\n        opacity: .3\n    }\n    100% {\n        opacity: 0;\n        -webkit-transform: translateX(-100%)\n    }\n\n}\n@-moz-keyframes unfold-out {\n    99% {\n        opacity: .3\n    }\n    100% {\n        opacity: 0;\n        -moz-transform: translateX(-100%)\n    }\n\n}\n@keyframes unfold-out {\n    99% {\n        opacity: .3\n    }\n    100% {\n        opacity: 0;\n        transform: translateX(-100%)\n    }\n\n}\n@-webkit-keyframes unfold-in {\n    from {\n        opacity: 0;\n        -webkit-transform: translateX(100%) rotateY(90deg)\n    }\n\n}\n@-moz-keyframes unfold-in {\n    from {\n        opacity: 0;\n        -moz-transform: translateX(100%) rotateY(90deg)\n    }\n\n}\n@keyframes unfold-in {\n    from {\n        opacity: 0;\n        transform: translateX(100%) rotateY(90deg)\n    }\n\n}\n@-webkit-keyframes cbp-animation-unfold-fadeOut {\n    0% {\n        opacity: 1\n    }\n    100% {\n        opacity: 0\n    }\n\n}\n@-moz-keyframes cbp-animation-unfold-fadeOut {\n    0% {\n        opacity: 1\n    }\n    100% {\n        opacity: 0\n    }\n\n}\n@keyframes cbp-animation-unfold-fadeOut {\n    0% {\n        opacity: 1\n    }\n    100% {\n        opacity: 0\n    }\n\n}\n.cbp-animation-foldLeft {\n    overflow: visible\n}\n.cbp-animation-foldLeft .cbp-item {\n    -webkit-transition: -webkit-transform .6s ease-in-out;\n    -moz-transition: -moz-transform .6s ease-in-out;\n    -o-transition: -o-transform .6s ease-in-out;\n    transition: transform .6s ease-in-out;\n    -webkit-perspective: 1000px;\n    perspective: 1000px\n}\n.cbp-animation-foldLeft-out {\n    -webkit-transform-origin: 100% 50%;\n    -webkit-animation: foldLeft-out .7s both ease;\n    -moz-transform-origin: 100% 50%;\n    -moz-animation: foldLeft-out .7s both ease;\n    transform-origin: 100% 50%;\n    animation: foldLeft-out .7s both ease\n}\n.cbp-animation-foldLeft-in {\n    -webkit-animation: foldLeft-in .7s ease both;\n    -moz-animation: foldLeft-in .7s ease both;\n    animation: foldLeft-in .7s ease both\n}\n.cbp-animation-foldLeft-fadeOut {\n    -webkit-animation: cbp-animation-foldLeft-fadeOut .5s both ease;\n    -moz-animation: cbp-animation-foldLeft-fadeOut .5s both ease;\n    animation: cbp-animation-foldLeft-fadeOut .5s both ease\n}\n@-webkit-keyframes foldLeft-out {\n    to {\n        opacity: 0;\n        -webkit-transform: translateX(-100%) rotateY(-90deg)\n    }\n\n}\n@-moz-keyframes foldLeft-out {\n    to {\n        opacity: 0;\n        -moz-transform: translateX(-100%) rotateY(-90deg)\n    }\n\n}\n@keyframes foldLeft-out {\n    to {\n        opacity: 0;\n        transform: translateX(-100%) rotateY(-90deg)\n    }\n\n}\n@-webkit-keyframes foldLeft-in {\n    from {\n        opacity: .3;\n        -webkit-transform: translateX(100%)\n    }\n\n}\n@-moz-keyframes foldLeft-in {\n    from {\n        opacity: .3;\n        -moz-transform: translateX(100%)\n    }\n\n}\n@keyframes foldLeft-in {\n    from {\n        opacity: .3;\n        transform: translateX(100%)\n    }\n\n}\n@-webkit-keyframes cbp-animation-foldLeft-fadeOut {\n    0% {\n        opacity: 1\n    }\n    100% {\n        opacity: 0\n    }\n\n}\n@-moz-keyframes cbp-animation-foldLeft-fadeOut {\n    0% {\n        opacity: 1\n    }\n    100% {\n        opacity: 0\n    }\n\n}\n@keyframes cbp-animation-foldLeft-fadeOut {\n    0% {\n        opacity: 1\n    }\n    100% {\n        opacity: 0\n    }\n\n}\n.cbp-animation-scaleDown {\n    overflow: visible\n}\n.cbp-animation-scaleDown .cbp-item {\n    -webkit-transition: -webkit-transform .6s ease-in-out;\n    -moz-transition: -moz-transform .6s ease-in-out;\n    -o-transition: -o-transform .6s ease-in-out;\n    transition: transform .6s ease-in-out;\n    -webkit-perspective: 1000px;\n    perspective: 1000px\n}\n.cbp-animation-scaleDown-out {\n    -webkit-animation: scaleDown-out .7s ease both;\n    -moz-animation: scaleDown-out .7s ease both;\n    animation: scaleDown-out .7s ease both\n}\n.cbp-animation-scaleDown-in {\n    -webkit-animation: scaleDown-in .6s ease both;\n    -moz-animation: scaleDown-in .6s ease both;\n    animation: scaleDown-in .6s ease both\n}\n.cbp-animation-scaleDown-fadeOut {\n    -webkit-animation: cbp-animation-scaleDown-fadeOut .5s both ease;\n    -moz-animation: cbp-animation-scaleDown-fadeOut .5s both ease;\n    animation: cbp-animation-scaleDown-fadeOut .5s both ease\n}\n@-webkit-keyframes scaleDown-out {\n    to {\n        opacity: 0;\n        -webkit-transform: scale(.8)\n    }\n\n}\n@-moz-keyframes scaleDown-out {\n    to {\n        opacity: 0;\n        -moz-transform: scale(.8)\n    }\n\n}\n@keyframes scaleDown-out {\n    to {\n        opacity: 0;\n        transform: scale(.8)\n    }\n\n}\n@-webkit-keyframes scaleDown-in {\n    from {\n        -webkit-transform: translateX(100%)\n    }\n\n}\n@-moz-keyframes scaleDown-in {\n    from {\n        -moz-transform: translateX(100%)\n    }\n\n}\n@keyframes scaleDown-in {\n    from {\n        transform: translateX(100%)\n    }\n\n}\n@-webkit-keyframes cbp-animation-scaleDown-fadeOut {\n    0% {\n        opacity: 1\n    }\n    100% {\n        opacity: 0\n    }\n\n}\n@-moz-keyframes cbp-animation-scaleDown-fadeOut {\n    0% {\n        opacity: 1\n    }\n    100% {\n        opacity: 0\n    }\n\n}\n@keyframes cbp-animation-scaleDown-fadeOut {\n    0% {\n        opacity: 1\n    }\n    100% {\n        opacity: 0\n    }\n\n}\n.cbp-animation-frontRow {\n    overflow: visible\n}\n.cbp-animation-frontRow .cbp-item {\n    -webkit-transition: -webkit-transform .6s ease-in-out;\n    -moz-transition: -moz-transform .6s ease-in-out;\n    -o-transition: -o-transform .6s ease-in-out;\n    transition: transform .6s ease-in-out;\n    -webkit-perspective: 1000px;\n    perspective: 1000px\n}\n.cbp-animation-frontRow-out {\n    -webkit-animation: frontRow-out .7s ease both;\n    -moz-animation: frontRow-out .7s ease both;\n    animation: frontRow-out .7s ease both\n}\n.cbp-animation-frontRow-in {\n    -webkit-animation: frontRow-in .6s ease both;\n    -moz-animation: frontRow-in .6s ease both;\n    animation: frontRow-in .6s ease both\n}\n.cbp-animation-frontRow-fadeOut {\n    -webkit-animation: cbp-animation-frontRow-fadeOut .5s both ease;\n    -moz-animation: cbp-animation-frontRow-fadeOut .5s both ease;\n    animation: cbp-animation-frontRow-fadeOut .5s both ease\n}\n@-webkit-keyframes frontRow-out {\n    100% {\n        -webkit-transform: translateX(-60%) scale(.8);\n        opacity: 0\n    }\n\n}\n@-moz-keyframes frontRow-out {\n    100% {\n        -moz-transform: translateX(-60%) scale(.8);\n        opacity: 0\n    }\n\n}\n@keyframes frontRow-out {\n    100% {\n        transform: translateX(-60%) scale(.8);\n        opacity: 0\n    }\n\n}\n@-webkit-keyframes frontRow-in {\n    0% {\n        -webkit-transform: translateX(100%) scale(.8)\n    }\n    100% {\n        visibility: visible;\n        opacity: 1;\n        -webkit-transform: translateX(0%) scale(1)\n    }\n\n}\n@-moz-keyframes frontRow-in {\n    0% {\n        -moz-transform: translateX(100%) scale(.8)\n    }\n    100% {\n        visibility: visible;\n        opacity: 1;\n        -moz-transform: translateX(0%) scale(1)\n    }\n\n}\n@keyframes frontRow-in {\n    0% {\n        transform: translateX(100%) scale(.8)\n    }\n    100% {\n        visibility: visible;\n        opacity: 1;\n        transform: translateX(0%) scale(1)\n    }\n\n}\n@-webkit-keyframes cbp-animation-frontRow-fadeOut {\n    0% {\n        opacity: 1\n    }\n    100% {\n        opacity: 0\n    }\n\n}\n@-moz-keyframes cbp-animation-frontRow-fadeOut {\n    0% {\n        opacity: 1\n    }\n    100% {\n        opacity: 0\n    }\n\n}\n@keyframes cbp-animation-frontRow-fadeOut {\n    0% {\n        opacity: 1\n    }\n    100% {\n        opacity: 0\n    }\n\n}\n.cbp-animation-rotateRoom {\n    overflow: visible\n}\n.cbp-animation-rotateRoom .cbp-item {\n    -webkit-transition: -webkit-transform .6s ease-in-out;\n    -moz-transition: -moz-transform .6s ease-in-out;\n    -o-transition: -o-transform .6s ease-in-out;\n    transition: transform .6s ease-in-out;\n    -webkit-perspective: 1000px;\n    perspective: 1000px\n}\n.cbp-animation-rotateRoom-out {\n    -webkit-transform-origin: 100% 50%;\n    -webkit-animation: rotateRoom-out .8s both ease;\n    -moz-transform-origin: 100% 50%;\n    -moz-animation: rotateRoom-out .8s both ease;\n    transform-origin: 100% 50%;\n    animation: rotateRoom-out .8s both ease\n}\n.cbp-animation-rotateRoom-in {\n    -webkit-transform-origin: 0 50%;\n    -webkit-animation: rotateRoom-in .8s both ease;\n    -moz-transform-origin: 0 50%;\n    -moz-animation: rotateRoom-in .8s both ease;\n    transform-origin: 0 50%;\n    animation: rotateRoom-in .8s both ease\n}\n.cbp-animation-rotateRoom-fadeOut {\n    -webkit-animation: cbp-animation-rotateRoom-fadeOut .5s both ease;\n    -moz-animation: cbp-animation-rotateRoom-fadeOut .5s both ease;\n    animation: cbp-animation-rotateRoom-fadeOut .5s both ease\n}\n@-webkit-keyframes rotateRoom-out {\n    99% {\n        opacity: .3\n    }\n    100% {\n        opacity: 0;\n        -webkit-transform: translateX(-100%) rotateY(90deg)\n    }\n\n}\n@-moz-keyframes rotateRoom-out {\n    99% {\n        opacity: .3\n    }\n    100% {\n        opacity: 0;\n        -moz-transform: translateX(-100%) rotateY(90deg)\n    }\n\n}\n@keyframes rotateRoom-out {\n    99% {\n        opacity: .3\n    }\n    100% {\n        opacity: 0;\n        transform: translateX(-100%) rotateY(90deg)\n    }\n\n}\n@-webkit-keyframes rotateRoom-in {\n    from {\n        opacity: .3;\n        -webkit-transform: translateX(100%) rotateY(-90deg)\n    }\n\n}\n@-moz-keyframes rotateRoom-in {\n    from {\n        opacity: .3;\n        -moz-transform: translateX(100%) rotateY(-90deg)\n    }\n\n}\n@keyframes rotateRoom-in {\n    from {\n        opacity: .3;\n        transform: translateX(100%) rotateY(-90deg)\n    }\n\n}\n@-webkit-keyframes cbp-animation-rotateRoom-fadeOut {\n    0% {\n        opacity: 1\n    }\n    100% {\n        opacity: 0\n    }\n\n}\n@-moz-keyframes cbp-animation-rotateRoom-fadeOut {\n    0% {\n        opacity: 1\n    }\n    100% {\n        opacity: 0\n    }\n\n}\n@keyframes cbp-animation-rotateRoom-fadeOut {\n    0% {\n        opacity: 1\n    }\n    100% {\n        opacity: 0\n    }\n\n}\n.cbp-animation-scaleSides {\n    overflow: visible\n}\n.cbp-animation-scaleSides .cbp-item {\n    -webkit-transition: -webkit-transform .5s ease-in-out;\n    -moz-transition: -moz-transform .5s ease-in-out;\n    -o-transition: -o-transform .5s ease-in-out;\n    transition: transform .5s ease-in-out;\n    -webkit-perspective: 1000px;\n    perspective: 1000px\n}\n.cbp-animation-scaleSides-out {\n    -webkit-animation: scaleSides-out .5s ease both;\n    -moz-animation: scaleSides-out .5s ease both;\n    animation: scaleSides-out .5s ease both\n}\n.cbp-animation-scaleSides-in {\n    -webkit-animation: scaleUpCenter .5s ease .5s both;\n    -moz-animation: scaleUpCenter .5s ease .5s both;\n    animation: scaleUpCenter .5s ease .5s both\n}\n@-webkit-keyframes scaleSides-out {\n    to {\n        opacity: 0;\n        -webkit-transform: scale(.6)\n    }\n\n}\n@-moz-keyframes scaleSides-out {\n    to {\n        opacity: 0;\n        -moz-transform: scale(.6)\n    }\n\n}\n@keyframes scaleSides-out {\n    to {\n        opacity: 0;\n        transform: scale(.6)\n    }\n\n}\n@-webkit-keyframes scaleUpCenter {\n    from {\n        opacity: 0;\n        -webkit-transform: scale(.6)\n    }\n\n}\n@-moz-keyframes scaleUpCenter {\n    from {\n        opacity: 0;\n        -moz-transform: scale(.6)\n    }\n\n}\n@keyframes scaleUpCenter {\n    from {\n        opacity: 0;\n        transform: scale(.6)\n    }\n\n}\n.cbp-animation-flipOut {\n    -webkit-transition: height .7s ease-in-out;\n    -moz-transition: height .7s ease-in-out;\n    -o-transition: height .7s ease-in-out;\n    transition: height .7s ease-in-out\n}\n.cbp-animation-flipOut .cbp-item {\n    -webkit-transition: -webkit-transform .7s ease-in-out;\n    -moz-transition: -moz-transform .7s ease-in-out;\n    -o-transition: -o-transform .7s ease-in-out;\n    transition: transform .7s ease-in-out;\n    -webkit-perspective: 1000px;\n    perspective: 1000px\n}\n.cbp-animation-flipOut-out {\n    -webkit-transform-origin: 50% 50%;\n    -webkit-animation: flipOut-out .35s ease-in both;\n    -moz-transform-origin: 50% 50%;\n    -moz-animation: flipOut-out .35s ease-in both;\n    transform-origin: 50% 50%;\n    animation: flipOut-out .35s ease-in both\n}\n.cbp-animation-flipOut-in {\n    -webkit-transform-origin: 50% 50%;\n    -webkit-animation: flipOut-in .35s ease-out .35s both;\n    -moz-transform-origin: 50% 50%;\n    -moz-animation: flipOut-in .35s ease-out .35s both;\n    transform-origin: 50% 50%;\n    animation: flipOut-in .35s ease-out .35s both\n}\n@-webkit-keyframes flipOut-out {\n    100% {\n        -webkit-transform: translateZ(-1000px) rotateY(-90deg);\n        opacity: .2\n    }\n\n}\n@-moz-keyframes flipOut-out {\n    100% {\n        -moz-transform: translateZ(-1000px) rotateY(-90deg);\n        opacity: .2\n    }\n\n}\n@keyframes flipOut-out {\n    100% {\n        transform: translateZ(-1000px) rotateY(-90deg);\n        opacity: .2\n    }\n\n}\n@-webkit-keyframes flipOut-in {\n    0% {\n        -webkit-transform: translateZ(-1000px) rotateY(90deg);\n        opacity: .2\n    }\n\n}\n@-moz-keyframes flipOut-in {\n    0% {\n        -moz-transform: translateZ(-1000px) rotateY(90deg);\n        opacity: .2\n    }\n\n}\n@keyframes flipOut-in {\n    0% {\n        transform: translateZ(-1000px) rotateY(90deg);\n        opacity: .2\n    }\n\n}\n.cbp-animation-flipBottom {\n    -webkit-transition: height .7s ease-in-out;\n    -moz-transition: height .7s ease-in-out;\n    -o-transition: height .7s ease-in-out;\n    transition: height .7s ease-in-out\n}\n.cbp-animation-flipBottom .cbp-item {\n    -webkit-transition: -webkit-transform .7s ease-in-out;\n    -moz-transition: -moz-transform .7s ease-in-out;\n    -o-transition: -o-transform .7s ease-in-out;\n    transition: transform .7s ease-in-out;\n    -webkit-perspective: 1000px;\n    perspective: 1000px\n}\n.cbp-animation-flipBottom-out {\n    -webkit-transform-origin: 50% 50%;\n    -webkit-animation: flipBottom-out .35s both 0s ease-in;\n    -moz-transform-origin: 50% 50%;\n    -moz-animation: flipBottom-out .35s both 0s ease-in;\n    transform-origin: 50% 50%;\n    animation: flipBottom-out .35s both 0s ease-in\n}\n.cbp-animation-flipBottom-in {\n    -webkit-transform-origin: 50% 50%;\n    -webkit-animation: flipBottom-in .35s ease-out .35s both;\n    -moz-transform-origin: 50% 50%;\n    -moz-animation: flipBottom-in .35s ease-out .35s both;\n    transform-origin: 50% 50%;\n    animation: flipBottom-in .35s ease-out .35s both\n}\n@-webkit-keyframes flipBottom-out {\n    to {\n        -webkit-transform: translateZ(-1000px) rotateX(-90deg);\n        opacity: .2\n    }\n\n}\n@-moz-keyframes flipBottom-out {\n    to {\n        -moz-transform: translateZ(-1000px) rotateX(-90deg);\n        opacity: .2\n    }\n\n}\n@keyframes flipBottom-out {\n    to {\n        transform: translateZ(-1000px) rotateX(-90deg);\n        opacity: .2\n    }\n\n}\n@-webkit-keyframes flipBottom-in {\n    from {\n        -webkit-transform: translateZ(-1000px) rotateX(90deg);\n        opacity: .2\n    }\n\n}\n@-moz-keyframes flipBottom-in {\n    from {\n        -moz-transform: translateZ(-1000px) rotateX(90deg);\n        opacity: .2\n    }\n\n}\n@keyframes flipBottom-in {\n    from {\n        transform: translateZ(-1000px) rotateX(90deg);\n        opacity: .2\n    }\n\n}\n.cbp-animation-fadeOutTop {\n    overflow: visible;\n    -webkit-transition: height .2s ease-in-out;\n    -moz-transition: height .2s ease-in-out;\n    -o-transition: height .2s ease-in-out;\n    transition: height .2s ease-in-out\n}\n.cbp-animation-fadeOutTop .cbp-wrapper {\n    -webkit-transition: opacity .3s ease-in-out,top .3s ease-in-out;\n    -moz-transition: opacity .3s ease-in-out,top .3s ease-in-out;\n    -o-transition: opacity .3s ease-in-out,top .3s ease-in-out;\n    transition: opacity .3s ease-in-out,top .3s ease-in-out\n}\n.cbp-animation-fadeOutTop .cbp-item {\n    -webkit-transition: -webkit-transform .6s ease-in-out;\n    -moz-transition: -moz-transform .6s ease-in-out;\n    -o-transition: -o-transform .6s ease-in-out;\n    transition: transform .6s ease-in-out\n}\n.cbp-animation-sequentially {\n    overflow: visible;\n    -webkit-transition: height .2s ease-in-out;\n    -moz-transition: height .2s ease-in-out;\n    -o-transition: height .2s ease-in-out;\n    transition: height .2s ease-in-out\n}\n.cbp-animation-sequentially .cbp-item {\n    -webkit-transition: -webkit-transform .6s ease-in-out;\n    -moz-transition: -moz-transform .6s ease-in-out;\n    -o-transition: -o-transform .6s ease-in-out;\n    transition: transform .6s ease-in-out\n}\n.cbp-animation-sequentially.cbp-no-transition .cbp-item {\n    -webkit-transition: opacity .5s ease,top .5s ease!important;\n    -moz-transition: opacity .5s ease,top .5s ease!important;\n    -o-transition: opacity .5s ease,top .5s ease!important;\n    transition: opacity .5s ease,top .5s ease!important\n}\n.cbp-popup-ie8bg {\n    position: absolute;\n    width: 100%;\n    height: 100%;\n    min-height: 100%;\n    top: 0;\n    left: 0;\n    z-index: -1;\n    background: #000;\n    -ms-filter: \"alpha(Opacity=70)\"\n}\n.cbp-popup-wrap {\n    -webkit-box-sizing: border-box;\n    -moz-box-sizing: border-box;\n    box-sizing: border-box;\n    height: 100%;\n    text-align: center;\n    position: fixed;\n    width: 100%;\n    left: 0;\n    top: 0;\n    display: none;\n    overflow: auto;\n    z-index: 9999;\n    padding: 0 10px\n}\n.cbp-popup-lightbox {\n    background: rgba(0,0,0,.8)\n}\n.cbp-popup-singlePage {\n    background: #fff;\n    padding: 0\n}\n.cbp-popup-singlePage .cbp-popup-ie8bg {\n    background: #fff;\n    -ms-filter: \"alpha(Opacity=100)\"\n}\n.cbp-popup-wrap:before {\n    content: '';\n    display: inline-block;\n    height: 100%;\n    vertical-align: middle;\n    margin-right: -.25em\n}\n.cbp-popup-content {\n    position: relative;\n    display: inline-block;\n    vertical-align: middle;\n    text-align: left;\n    max-width: 100%\n}\n.cbp-popup-singlePage .cbp-popup-content {\n    margin-top: 140px;\n    max-width: 1024px;\n    vertical-align: top;\n    width: 96%\n}\n.cbp-popup-lightbox-figure {\n    position: relative\n}\n.cbp-popup-lightbox-bottom {\n    left: 0;\n    position: absolute;\n    top: 100%;\n    width: 100%;\n    margin-top: 3px\n}\n.cbp-popup-lightbox-title {\n    padding-right: 70px;\n    font: 400 12px/18px sans-serif;\n    color: #eee\n}\n.cbp-popup-lightbox-counter {\n    position: absolute;\n    top: 0;\n    right: 0;\n    font: 400 12px/18px sans-serif;\n    color: #eee\n}\n.cbp-popup-lightbox-img {\n    width: auto;\n    max-width: 100%;\n    height: auto;\n    display: block;\n    margin: 40px 0;\n    box-shadow: 0 0 8px rgba(0,0,0,.6)\n}\n.cbp-popup-lightbox-img[data-action] {\n    cursor: pointer\n}\n.cbp-popup-lightbox-isIframe .cbp-popup-content {\n    width: 50%\n}\n.cbp-popup-lightbox-isIframe .cbp-lightbox-bottom {\n    left: 0;\n    position: absolute;\n    top: 100%;\n    width: 100%;\n    margin-top: 3px\n}\n.cbp-popup-lightbox-iframe {\n    position: relative;\n    height: 0;\n    padding-bottom: 56.25%;\n    background: #000\n}\n.cbp-popup-lightbox-iframe iframe {\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 100%;\n    height: 100%;\n    box-shadow: 0 0 8px rgba(0,0,0,.6)\n}\n.cbp-popup-singlePage {\n    overflow-x: hidden\n}\n.cbp-popup-singlePage .cbp-popup-navigation-wrap {\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 100%;\n    z-index: 2;\n    height: 104px;\n    background-color: #34425C\n}\n.cbp-popup-singlePage .cbp-popup-navigation {\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 100%\n}\n.cbp-popup-singlePage-sticky .cbp-popup-navigation,.cbp-popup-singlePage-sticky .cbp-popup-navigation-wrap {\n    position: fixed\n}\n.cbp-popup-singlePage-counter {\n    color: #bbc0df;\n    font: italic 14px/104px 'Open Sans',sans-serif;\n    position: absolute;\n    right: 50px;\n    top: 0\n}\n.cbp-popup-close,.cbp-popup-next,.cbp-popup-prev {\n    padding: 0;\n    border: medium none;\n    position: absolute;\n    cursor: pointer\n}\n.cbp-popup-lightbox .cbp-popup-close,.cbp-popup-lightbox .cbp-popup-next,.cbp-popup-lightbox .cbp-popup-prev {\n    visibility: hidden\n}\n.cbp-popup-ready.cbp-popup-lightbox .cbp-popup-close,.cbp-popup-ready.cbp-popup-lightbox .cbp-popup-next,.cbp-popup-ready.cbp-popup-lightbox .cbp-popup-prev {\n    visibility: visible\n}\n.cbp-popup-lightbox .cbp-popup-prev {\n    background: url(../img/cbp-sprite.png) no-repeat scroll -2px -2px transparent;\n    width: 44px;\n    height: 44px;\n    top: 0;\n    bottom: 0;\n    left: 20px;\n    margin: auto\n}\n.cbp-popup-lightbox .cbp-popup-prev:hover {\n    background-position: -2px -48px\n}\n.cbp-popup-singlePage .cbp-popup-prev {\n    background: url(../img/cbp-sprite.png) no-repeat scroll -2px -94px transparent;\n    width: 44px;\n    height: 44px;\n    top: 30px;\n    left: 0;\n    margin: auto;\n    right: 108px\n}\n.cbp-popup-singlePage .cbp-popup-prev:hover {\n    background-position: -2px -140px\n}\n.cbp-popup-lightbox .cbp-popup-next {\n    background: url(../img/cbp-sprite.png) no-repeat scroll -48px -2px transparent;\n    width: 44px;\n    height: 44px;\n    top: 0;\n    bottom: 0;\n    right: 20px;\n    margin: auto\n}\n.cbp-popup-lightbox .cbp-popup-next:hover {\n    background-position: -48px -48px\n}\n.cbp-popup-singlePage .cbp-popup-next {\n    background: url(../img/cbp-sprite.png) no-repeat scroll -48px -94px transparent;\n    width: 44px;\n    height: 44px;\n    top: 30px;\n    right: 0;\n    margin: auto;\n    left: 108px\n}\n.cbp-popup-singlePage .cbp-popup-next:hover {\n    background-position: -48px -140px\n}\n.cbp-popup-lightbox .cbp-popup-close {\n    background: url(../img/cbp-sprite.png) no-repeat scroll -94px -2px transparent;\n    height: 40px;\n    width: 40px;\n    right: 20px;\n    top: 20px\n}\n.cbp-popup-lightbox .cbp-popup-close:hover {\n    background-position: -94px -48px\n}\n.cbp-popup-singlePage .cbp-popup-close {\n    background: url(../img/cbp-sprite.png) no-repeat scroll -94px -94px transparent;\n    height: 44px;\n    width: 44px;\n    margin: auto;\n    right: 0;\n    top: 30px;\n    left: 0\n}\n.cbp-popup-singlePage .cbp-popup-close:hover {\n    background-position: -94px -140px\n}\n.cbp-popup-loadingBox {\n    position: absolute;\n    top: 0;\n    left: 0;\n    right: 0;\n    bottom: 0;\n    margin: auto;\n    z-index: 2;\n    background: url(../img/cbp-loading-popup.gif) no-repeat scroll center center #0D0D0D;\n    border: 1px solid rgba(79,80,79,.3);\n    border-radius: 3px;\n    -ms-filter: \"alpha(Opacity=71)\";\n    opacity: .71;\n    width: 50px;\n    height: 50px\n}\n.cbp-popup-ready .cbp-popup-loadingBox {\n    visibility: hidden\n}\n.cbp-popup-loading .cbp-popup-loadingBox {\n    visibility: visible\n}\n.cbp-popup-singlePage {\n    left: 100%;\n    -webkit-transition: left .6s ease-in-out;\n    -moz-transition: left .6s ease-in-out;\n    -o-transition: left .6s ease-in-out;\n    transition: left .6s ease-in-out\n}\n.cbp-popup-singlePage-open {\n    left: 0\n}\n.cbp-popup-singlePage .cbp-l-project-title {\n    color: #454444;\n    font: 700 42px/60px 'Open sans',sans-serif;\n    letter-spacing: 2px;\n    margin-bottom: 10px;\n    text-align: center;\n    text-transform: uppercase\n}\n.cbp-popup-singlePage .cbp-l-project-subtitle {\n    color: #787878;\n    font: 300 14px/21px 'Open sans',sans-serif;\n    margin: 0 auto 50px;\n    max-width: 500px;\n    text-align: center\n}\n.cbp-popup-singlePage .cbp-popup-content .cbp-l-project-img {\n    display: block;\n    margin: 0 auto;\n    max-width: 100%\n}\n.cbp-popup-singlePage .cbp-l-project-container {\n    overflow: hidden;\n    margin: 0 auto\n}\n.cbp-popup-singlePage .cbp-l-project-desc {\n    float: left;\n    width: 64%;\n    margin: 30px 0 100px\n}\n.cbp-popup-singlePage .cbp-l-project-details {\n    float: right;\n    width: 36%;\n    margin: 30px 0 100px\n}\n.cbp-popup-singlePage .cbp-l-project-desc-title {\n    margin-right: 20px;\n    border-bottom: 1px solid #cdcdcd;\n    margin-bottom: 22px;\n    color: #444\n}\n.cbp-popup-singlePage .cbp-l-project-desc-title span,.cbp-popup-singlePage .cbp-l-project-details-title span {\n    border-bottom: 1px solid #747474;\n    display: inline-block;\n    margin: 0 0 -1px 0;\n    font: 400 16px/36px \"Open Sans\",sans-serif;\n    padding: 0 5px 0 0\n}\n.cbp-popup-singlePage .cbp-l-project-desc-text {\n    margin-right: 20px;\n    font: 400 13px/20px \"Open Sans\",sans-serif;\n    color: #555\n}\n.cbp-popup-singlePage .cbp-l-project-details-title {\n    border-bottom: 1px solid #cdcdcd;\n    margin-bottom: 19px;\n    margin-left: 20px;\n    color: #444\n}\n.cbp-popup-singlePage .cbp-l-project-details-list {\n    margin-left: 20px\n}\n.cbp-popup-singlePage .cbp-l-project-details-list li {\n    border-bottom: 1px dotted #DFDFDF;\n    padding: inherit;\n    color: #666;\n    font: 400 12px/30px \"Open Sans\",sans-serif\n}\n.cbp-popup-singlePage .cbp-l-project-details-list strong {\n    display: inline-block;\n    color: #696969;\n    font: 600 12px \"Open Sans\",sans-serif;\n    min-width: 100px\n}\n.cbp-popup-singlePage .cbp-l-project-details-visit {\n    color: #FFF;\n    float: right;\n    text-decoration: none;\n    font: 400 11px/18px \"Open Sans\",sans-serif;\n    margin-top: 12px;\n    text-transform: uppercase;\n    background-color: #34425C;\n    padding: 6px 12px\n}\n.cbp-popup-singlePage .cbp-l-project-details-visit:hover {\n    color: #AFBBDB\n}\n.cbp-popup-singlePage .cbp-l-member-img {\n    float: left;\n    margin-right: 20px;\n    margin-top: 20px;\n    border: 1px solid #e2e2e2\n}\n.cbp-popup-singlePage .cbp-l-member-img img {\n    display: block\n}\n.cbp-popup-singlePage .cbp-l-member-info {\n    margin-top: 20px\n}\n.cbp-popup-singlePage .cbp-l-member-name {\n    font: 700 16px/12px \"Open Sans\",sans-serif;\n    margin-bottom: 6px\n}\n.cbp-popup-singlePage .cbp-l-member-position {\n    font: 400 13px \"Open Sans\",sans-serif\n}\n.cbp-popup-singlePage .cbp-l-member-desc {\n    font: 400 12px \"Open Sans\",sans-serif;\n    margin-top: 15px\n}\n.cbp-popup-singlePageInline {\n    width: 100%;\n    height: 0;\n    position: absolute;\n    top: 0;\n    left: 0;\n    overflow: hidden\n}\n.cbp-popup-singlePageInline .cbp-popup-navigation {\n    position: absolute;\n    top: 0;\n    right: 0;\n    z-index: 2;\n    width: 40px;\n    height: 40px\n}\n.cbp-popup-singlePageInline .cbp-popup-close {\n    background: url(../img/cbp-sprite.png) no-repeat scroll -94px -2px transparent;\n    height: 40px;\n    width: 40px;\n    right: 20px;\n    top: 30px\n}\n.cbp-popup-singlePageInline .cbp-popup-close:hover {\n    opacity: .7\n}\n.cbp-popup-singlePageInline .cbp-popup-content {\n    width: 100%;\n    min-height: 200px\n}\n.cbp.cbp-popup-isOpening,.cbp.cbp-popup-isOpening .cbp-popup-singlePageInline {\n    -webkit-transition: height .4s ease 0s!important;\n    -moz-transition: height .4s ease 0s!important;\n    -o-transition: height .4s ease 0s!important;\n    transition: height .4s ease 0s!important\n}\n.cbp.cbp-popup-isOpening .cbp-item {\n    -webkit-transition: -webkit-transform .4s ease 0s!important;\n    -moz-transition: -moz-transform .4s ease 0s!important;\n    -o-transition: -o-transform .4s ease 0s!important;\n    transition: transform .4s ease 0s!important\n}\n.cbp-singlePageInline-active {\n    opacity: .6!important\n}\n.cbp-popup-singlePageInline .cbp-popup-loadingBox {\n    visibility: hidden;\n    background: url(../img/cbp-loading.gif) no-repeat scroll center center transparent;\n    border: medium none;\n    border-radius: 0;\n    -ms-filter: \"alpha(Opacity=100)\";\n    opacity: 1\n}\n.cbp-popup-singlePageInline.cbp-popup-loading .cbp-popup-loadingBox {\n    visibility: visible\n}\n.cbp-popup-singlePageInline.cbp-popup-loading .cbp-popup-content,.cbp-popup-singlePageInline.cbp-popup-loading .cbp-popup-navigation {\n    visibility: hidden\n}\n.cbp-l-inline {\n    margin-bottom: 20px;\n    overflow: hidden;\n    margin-top: 10px;\n    background: #FAFAFA;\n    padding: 30px\n}\n.cbp-l-inline-left {\n    float: left;\n    width: 44%\n}\n.cbp-l-project-img {\n    max-width: 100%\n}\n.cbp-l-inline-right {\n    float: right;\n    width: 56%;\n    padding-left: inherit\n}\n.cbp-l-inline-title {\n    font: 400 28px/28px \"Open Sans\",sans-serif;\n    color: #666\n}\n.cbp-l-inline-subtitle {\n    font: 400 13px \"Open Sans\",sans-serif;\n    color: #666;\n    margin: 3px 0 25px\n}\n.cbp-l-inline-desc {\n    font: 400 13px/21px \"Open Sans\",sans-serif;\n    color: #888\n}\n.cbp-l-inline-view {\n    font: 400 13px \"Open Sans\",sans-serif;\n    color: #9C9C9C;\n    text-decoration: none;\n    margin: 22px 0 0;\n    display: inline-block;\n    padding: 8px 18px 7px;\n    border: 2px solid #ccc\n}\n.cbp-l-inline-view:hover {\n    color: #757575;\n    border-color: #DFDFDF\n}\n.cbp-l-filters-button {\n    margin: 0 auto 30px;\n    text-align: left\n}\n.cbp-l-filters-button .cbp-filter-item {\n    background-color: #FFF;\n    border: 2px solid #ECECEC;\n    border-radius: 2px;\n    color: #888;\n    cursor: pointer;\n    font: 400 12px/29px \"Open Sans\",sans-serif;\n    margin: 10px 10px 0 0;\n    overflow: visible;\n    padding: 0 17px;\n    position: relative;\n    -webkit-transition: all .3s ease-in-out;\n    -moz-transition: all .3s ease-in-out;\n    -o-transition: all .3s ease-in-out;\n    transition: all .3s ease-in-out\n}\n.cbp-l-filters-button .cbp-filter-item:hover {\n    color: #5d5d5d\n}\n.cbp-l-filters-button .cbp-filter-item-active {\n    background-color: #5d5d5d;\n    color: #fff!important;\n    border-color: #5d5d5d\n}\n.cbp-l-filters-button .cbp-filter-counter {\n    background-color: #3288C4;\n    border-radius: 3px;\n    color: #fff;\n    font: 400 11px/18px \"Open Sans\",sans-serif;\n    margin: 0 auto;\n    padding: 4px 0;\n    text-align: center;\n    width: 34px;\n    position: absolute;\n    bottom: 0;\n    left: 0;\n    right: 0;\n    -ms-filter: \"alpha(Opacity=0)\";\n    opacity: 0;\n    -webkit-transition: opacity .25s ease,bottom .25s ease;\n    -moz-transition: opacity .25s ease,bottom .25s ease;\n    -o-transition: opacity .25s ease,bottom .25s ease;\n    transition: opacity .25s ease,bottom .25s ease\n}\n.cbp-l-filters-button .cbp-filter-counter:before {\n    content: \"\";\n    position: absolute;\n    bottom: -4px;\n    left: 0;\n    right: 0;\n    margin: 0 auto;\n    width: 0;\n    height: 0;\n    border-left: 4px solid transparent;\n    border-right: 4px solid transparent;\n    border-top: 4px solid #3288C4;\n    visibility: hidden\n}\n.cbp-l-filters-button .cbp-filter-item:hover .cbp-filter-counter:before {\n    visibility: visible\n}\n.cbp-l-filters-button .cbp-filter-item:hover .cbp-filter-counter {\n    bottom: 44px;\n    -ms-filter: \"alpha(Opacity=100)\";\n    opacity: 1\n}\n.cbp-l-filters-dropdown {\n    margin: 0 auto;\n    height: 70px;\n    position: relative;\n    z-index: 10\n}\n.cbp-l-filters-dropdownWrap {\n    width: 200px;\n    position: absolute;\n    right: 0;\n    background: #3288C4\n}\n.cbp-l-filters-dropdownHeader {\n    font: 12px/38px \"Open Sans\",sans-serif;\n    padding: 0 17px;\n    color: #FFF;\n    cursor: pointer;\n    position: relative\n}\n.cbp-l-filters-dropdownHeader:after {\n    border-color: #FFF rgba(0,0,0,0);\n    border-style: solid;\n    border-width: 5px 5px 0;\n    content: \"\";\n    height: 0;\n    position: absolute;\n    right: 16px;\n    top: 50%;\n    width: 0;\n    margin-top: -1px\n}\n.cbp-l-filters-dropdownWrap:hover .cbp-l-filters-dropdownHeader:after {\n    border-width: 0 5px 5px\n}\n.cbp-l-filters-dropdownList {\n    display: none;\n    list-style: none outside none;\n    margin: 0;\n    padding: 0\n}\n.cbp-l-filters-dropdownWrap:hover .cbp-l-filters-dropdownList {\n    display: block\n}\n.cbp-l-filters-dropdownList .cbp-filter-item {\n    background: 0 0;\n    color: #9FBCE7;\n    width: 100%;\n    text-align: left;\n    font: 12px/40px \"Open Sans\",sans-serif;\n    margin: 0;\n    padding: 0 17px;\n    cursor: pointer;\n    border: 0;\n    border-top: 1px solid #5592C2\n}\n.cbp-l-filters-dropdownList .cbp-filter-item-active,.cbp-l-filters-dropdownList .cbp-filter-item:hover {\n    color: #e6e6e6\n}\n.cbp-l-filters-alignLeft {\n    margin: 0 auto 40px;\n    text-align: left\n}\n.cbp-l-filters-alignLeft .cbp-filter-item {\n    background-color: #fff;\n    border: 1px solid #cdcdcd;\n    cursor: pointer;\n    font: 400 12px/30px \"Open Sans\",sans-serif;\n    padding: 0 13px;\n    position: relative;\n    overflow: visible;\n    margin: 10px 8px 0 0;\n    -webkit-transition: all .3s ease-in-out;\n    -moz-transition: all .3s ease-in-out;\n    -o-transition: all .3s ease-in-out;\n    transition: all .3s ease-in-out;\n    color: #888\n}\n.cbp-l-filters-alignLeft .cbp-filter-item:hover {\n    color: #3c3c3c\n}\n.cbp-l-filters-alignLeft .cbp-filter-item-active {\n    background-color: #3288C4;\n    color: #fff!important;\n    opacity: 1;\n    border: 1px solid #3288C4\n}\n.cbp-l-filters-alignLeft .cbp-filter-counter {\n    display: inline\n}\n.cbp-l-filters-alignCenter {\n    margin: 0 auto 50px;\n    text-align: center;\n    font-size: 12px;\n    color: #cacaca\n}\n.cbp-l-filters-alignCenter .cbp-filter-item {\n    color: #5A5A5A;\n    cursor: pointer;\n    font: 400 13px \"Open Sans\",sans-serif;\n    padding: 0 12px;\n    transition: all .3s ease-in-out;\n    position: relative;\n    overflow: visible;\n    margin: 10px 0 0;\n    border: medium none;\n    background-color: transparent\n}\n.cbp-l-filters-alignCenter .cbp-filter-item:hover {\n    color: #3288C4\n}\n.cbp-l-filters-alignCenter .cbp-filter-item-active {\n    color: #3288C4!important\n}\n.cbp-l-filters-alignCenter .cbp-filter-counter {\n    background: none repeat scroll 0 0 #3288C4;\n    border-radius: 3px;\n    color: #FFF;\n    font-size: 11px;\n    margin: 0 auto;\n    padding: 4px 0;\n    text-align: center;\n    width: 34px;\n    position: absolute;\n    bottom: 0;\n    left: 0;\n    right: 0;\n    -ms-filter: \"alpha(Opacity=0)\";\n    opacity: 0;\n    -webkit-transition: all .25s ease;\n    -moz-transition: all .25s ease;\n    -o-transition: all .25s ease;\n    transition: all .25s ease\n}\n.cbp-l-filters-alignCenter .cbp-filter-counter:before {\n    content: \"\";\n    position: absolute;\n    bottom: -4px;\n    left: 0;\n    right: 0;\n    margin: 0 auto;\n    width: 0;\n    height: 0;\n    border-left: 4px solid transparent;\n    border-right: 4px solid transparent;\n    border-top: 4px solid #3288C4;\n    visibility: hidden\n}\n.cbp-l-filters-alignCenter button:hover .cbp-filter-counter:before {\n    visibility: visible\n}\n.cbp-l-filters-alignCenter button:hover .cbp-filter-counter {\n    bottom: 30px;\n    -ms-filter: \"alpha(Opacity=100)\";\n    opacity: 1\n}\n.cbp-l-filters-alignRight {\n    margin: 0 auto 40px;\n    text-align: right\n}\n.cbp-l-filters-alignRight .cbp-filter-item {\n    background-color: transparent;\n    color: #8B8B8B;\n    cursor: pointer;\n    font: 400 11px \"Open Sans\",sans-serif;\n    padding: 7px 12px;\n    position: relative;\n    overflow: visible;\n    margin: 10px 0 0 5px;\n    border: 1px solid #E4E2E2;\n    text-transform: uppercase;\n    -webkit-transition: all .3s ease-in-out;\n    -moz-transition: all .3s ease-in-out;\n    -o-transition: all .3s ease-in-out;\n    transition: all .3s ease-in-out\n}\n.cbp-l-filters-alignRight .cbp-filter-item:hover {\n    color: #2B3444\n}\n.cbp-l-filters-alignRight .cbp-filter-item-active {\n    opacity: 1;\n    color: #FFF!important;\n    background-color: #3C3C3C;\n    border-color: #3C3C3C\n}\n.cbp-l-filters-alignRight .cbp-filter-counter {\n    background: none repeat scroll 0 0 #3288C4;\n    border-radius: 3px;\n    color: #fff;\n    font-size: 11px;\n    margin: 0 auto;\n    padding: 4px 0;\n    text-align: center;\n    width: 34px;\n    position: absolute;\n    bottom: 0;\n    left: 0;\n    right: 0;\n    -ms-filter: \"alpha(Opacity=0)\";\n    opacity: 0;\n    -webkit-transition: opacity .25s ease,bottom .25s ease;\n    -moz-transition: opacity .25s ease,bottom .25s ease;\n    -o-transition: opacity .25s ease,bottom .25s ease;\n    transition: opacity .25s ease,bottom .25s ease\n}\n.cbp-l-filters-alignRight .cbp-filter-counter:before {\n    content: \"\";\n    position: absolute;\n    bottom: -4px;\n    left: 0;\n    right: 0;\n    margin: 0 auto;\n    width: 0;\n    height: 0;\n    border-left: 4px solid transparent;\n    border-right: 4px solid transparent;\n    border-top: 4px solid #3288C4;\n    visibility: hidden\n}\n.cbp-l-filters-alignRight .cbp-filter-item:hover .cbp-filter-counter:before {\n    visibility: visible\n}\n.cbp-l-filters-alignRight .cbp-filter-item:hover .cbp-filter-counter {\n    bottom: 44px;\n    -ms-filter: \"alpha(Opacity=100)\";\n    opacity: 1\n}\n.cbp-l-filters-list {\n    margin: 0 auto 40px;\n    height: 46px\n}\n.cbp-l-filters-list .cbp-filter-item {\n    background-color: transparent;\n    color: #585252;\n    cursor: pointer;\n    font: 400 12px/35px \"Open Sans\",sans-serif;\n    padding: 0 18px;\n    position: relative;\n    overflow: visible;\n    margin: 10px 0 0;\n    float: left;\n    border-width: 1px 0 1px 1px;\n    border-style: solid;\n    border-color: #3288C4;\n    -webkit-transition: all .3s ease-in-out;\n    -moz-transition: all .3s ease-in-out;\n    -o-transition: all .3s ease-in-out;\n    transition: all .3s ease-in-out\n}\n.cbp-l-filters-list .cbp-filter-item:hover {\n    color: #000\n}\n.cbp-l-filters-list .cbp-filter-item-active {\n    opacity: 1;\n    color: #FFF!important;\n    background-color: #3288C4\n}\n.cbp-l-filters-list-first {\n    border-radius: 6px 0 0 6px\n}\n.cbp-l-filters-list-last {\n    border-radius: 0 6px 6px 0;\n    border-right-width: 1px!important\n}\n.cbp-l-filters-list .cbp-filter-counter {\n    display: inline\n}\n.cbp-l-grid-projects {\n    visibility: hidden\n}\n.cbp-l-grid-projects .cbp-item {\n    width: 270px;\n    height: 235px\n}\n.cbp-l-grid-projects .cbp-caption {\n    height: 62%;\n    margin-bottom: -15px;\n    margin-top: 5px;\n}\n.cbp-l-grid-projects-title {\n    font: 700 14px sans-serif;\n    color: #474747\n}\n.cbp-l-grid-projects-desc {\n    font: 400 12px sans-serif;\n    margin-top: 6px;\n    color: #888\n}\n\n.cbp-l-grid-projects-desc a {\n    font: 400 12px sans-serif;\n    margin-top: 6px;\n    color: #888\n}\n.cbp-l-grid-projects-inlineFilters {\n    cursor: pointer\n}\n.cbp-l-grid-projects-inlineFilters:hover {\n    text-decoration: underline\n}\n.cbp-l-grid-projects.cbp-caption-overlayBottomPush .cbp-caption-activeWrap {\n    bottom: -50px;\n    height: 50px\n}\n.cbp-l-grid-projects.cbp-caption-overlayBottomPush .cbp-caption:hover .cbp-caption-defaultWrap {\n    bottom: 50px\n}\n.cbp-l-grid-projects.cbp-caption-overlayBottomPush.cbp-ie8 .cbp-caption:hover .cbp-caption-activeWrap,.cbp-l-grid-projects.cbp-caption-overlayBottomPush.cbp-ie9 .cbp-caption:hover .cbp-caption-activeWrap {\n    bottom: -50px\n}\n.cbp-l-grid-projects.cbp-caption-overlayBottomAlong .cbp-caption-activeWrap {\n    bottom: -50px;\n    height: 50px\n}\n.cbp-l-grid-projects.cbp-caption-overlayBottomAlong .cbp-caption:hover .cbp-caption-defaultWrap {\n    bottom: 25px\n}\n.cbp-l-grid-projects.cbp-caption-overlayBottomAlong.cbp-ie8 .cbp-caption:hover .cbp-caption-activeWrap,.cbp-l-grid-projects.cbp-caption-overlayBottomAlong.cbp-ie9 .cbp-caption:hover .cbp-caption-activeWrap {\n    bottom: -50px\n}\n.cbp-l-grid-projects.cbp-caption-overlayBottom .cbp-caption-activeWrap {\n    bottom: -50px;\n    height: 50px\n}\n.cbp-l-grid-projects.cbp-caption-overlayBottom.cbp-ie9 .cbp-caption:hover .cbp-caption-activeWrap {\n    bottom: -50px\n}\n.cbp-l-grid-projects.cbp-caption-overlayBottomReveal .cbp-caption-activeWrap {\n    height: 50px\n}\n.cbp-l-grid-projects.cbp-caption-overlayBottomReveal .cbp-caption:hover .cbp-caption-defaultWrap {\n    bottom: 50px\n}\n.cbp-l-grid-gallery {\n    visibility: hidden\n}\n.cbp-l-grid-gallery .cbp-item {\n    width: 320px;\n    height: 236px\n}\n.cbp-l-grid-team {\n    visibility: hidden\n}\n.cbp-l-grid-team .cbp-item {\n    width: 290px;\n    height: 270px\n}\n.cbp-l-grid-team .cbp-caption {\n    height: 73%;\n    margin-bottom: 20px;\n    border: 1px solid #E7E7E7\n}\n.cbp-l-grid-team-name {\n    font: 400 17px \"Open Sans\",sans-serif;\n    color: #456297;\n    text-decoration: none;\n    display: block;\n    text-align: center;\n    margin-bottom: 3px\n}\n.cbp-l-grid-team-name:hover {\n    color: #34425C\n}\n.cbp-l-grid-team-position {\n    font: italic 400 13px \"Open Sans\",sans-serif;\n    color: #888;\n    text-align: center\n}\n@media only screen and (max-width: 799px) {\n    .cbp-l-grid-team-desc {\n        font: 400 11px/14px \"Open Sans\",sans-serif;\n        margin-top: 5px\n    }\n\n}\n.cbp-l-grid-team.cbp-caption-overlayBottomPush .cbp-caption-activeWrap {\n    bottom: -44px;\n    height: 44px\n}\n.cbp-l-grid-team.cbp-caption-overlayBottomPush .cbp-caption:hover .cbp-caption-defaultWrap {\n    bottom: 44px\n}\n.cbp-l-grid-team.cbp-caption-overlayBottomPush.cbp-ie8 .cbp-caption:hover .cbp-caption-activeWrap,.cbp-l-grid-team.cbp-caption-overlayBottomPush.cbp-ie9 .cbp-caption:hover .cbp-caption-activeWrap {\n    bottom: -44px\n}\n.cbp-l-grid-team.cbp-caption-overlayBottomAlong .cbp-caption-activeWrap {\n    bottom: -44px;\n    height: 44px\n}\n.cbp-l-grid-team.cbp-caption-overlayBottomAlong .cbp-caption:hover .cbp-caption-defaultWrap {\n    bottom: 22px\n}\n.cbp-l-grid-team.cbp-caption-overlayBottomAlong.cbp-ie8 .cbp-caption:hover .cbp-caption-activeWrap,.cbp-l-grid-team.cbp-caption-overlayBottomAlong.cbp-ie9 .cbp-caption:hover .cbp-caption-activeWrap {\n    bottom: -44px\n}\n.cbp-l-grid-team.cbp-caption-overlayBottom .cbp-caption-activeWrap {\n    bottom: -44px;\n    height: 44px\n}\n.cbp-l-grid-team.cbp-caption-overlayBottom.cbp-ie9 .cbp-caption:hover .cbp-caption-activeWrap {\n    bottom: -44px\n}\n.cbp-l-grid-team.cbp-caption-overlayBottomReveal .cbp-caption-activeWrap {\n    height: 44px\n}\n.cbp-l-grid-team.cbp-caption-overlayBottomReveal .cbp-caption:hover .cbp-caption-defaultWrap {\n    bottom: 44px\n}\n.cbp-l-grid-fullScreen {\n    visibility: hidden\n}\n.cbp-l-grid-fullScreen .cbp-item {\n    width: 350px;\n    height: 263px\n}\n.cbp-l-grid-masonry {\n    visibility: hidden\n}\n.cbp-l-grid-masonry .cbp-item {\n    width: 277px\n}\n.cbp-l-grid-masonry .cbp-l-grid-masonry-height1 {\n    height: 267px\n}\n.cbp-l-grid-masonry .cbp-l-grid-masonry-height2 {\n    height: 415px\n}\n.cbp-l-grid-blog {\n    visibility: hidden\n}\n.cbp-l-grid-blog .cbp-item {\n    width: 313px;\n    height: 330px\n}\n.cbp-l-grid-blog .cbp-caption {\n    height: 58%;\n    margin-bottom: 20px\n}\n.cbp-l-grid-blog-title {\n    font: 400 18px/28px \"Open Sans\",sans-serif;\n    color: #444;\n    display: block;\n    clear: both;\n    text-decoration: none\n}\n.cbp-l-grid-blog-title:hover {\n    color: #787878\n}\n.cbp-l-grid-blog-date {\n    font: 400 12px/18px \"Open Sans\",sans-serif;\n    float: left;\n    color: #787878\n}\n.cbp-l-grid-blog-comments {\n    font: 400 12px/18px \"Open Sans\",sans-serif;\n    float: left;\n    color: #3C6FBB;\n    text-decoration: none\n}\n.cbp-l-grid-blog-comments:hover {\n    opacity: .8\n}\n.cbp-l-grid-blog-desc {\n    font: 400 13px/19px \"Open Sans\",sans-serif;\n    clear: both;\n    color: #9B9B9B;\n    padding-top: 15px\n}\n.cbp-l-grid-blog-split {\n    float: left;\n    margin: 0 8px;\n    font: 13px/16px \"Open Sans\",sans-serif;\n    color: #787878\n}\n.cbp-l-loadMore-button {\n    text-align: center;\n    margin-top: 30px\n}\n.cbp-l-loadMore-button-link {\n    border: 2px solid #DEDEDE;\n    border-radius: 2px;\n    color: #7E7B7B;\n    display: inline-block;\n    font: 11px/34px \"Open Sans\",sans-serif;\n    min-width: 120px;\n    text-decoration: none\n}\n.cbp-l-loadMore-button-link:hover {\n    color: #B0B0B0\n}\n.cbp-l-loadMore-button-stop {\n    cursor: default;\n    color: #B0B0B0\n}\n.cbp-l-loadMore-text {\n    text-align: center;\n    margin-top: 30px\n}\n.cbp-l-loadMore-text-link {\n    font: 400 16px \"Open Sans\",sans-serif;\n    color: #5D5D5D;\n    text-decoration: none;\n    cursor: default\n}\n.cbp-l-loadMore-text-stop {\n    color: #5D5D5D\n}\n\n"
  },
  {
    "path": "app/assets/stylesheets/global/custom.scss",
    "content": "@import url(https://fonts.googleapis.com/css?family=Ubuntu);\n\n/*  ---------------------------------------------------------------\ngeneral style\n--------------------------------------------------------------- */\n\n/* apply a natural box layout model to all elements  - http://www.paulirish.com/2012/box-sizing-border-box-ftw/*/\n*, *:before, *:after {\n  -webkit-box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  box-sizing: border-box;\n}\n\n*:focus {\n  outline: 0;\n}\n\n::-moz-focus-inner {\n  padding: 0;\n  border: 0\n}\n\n/* ! removes focus line */\n\nhtml, body {\n  width: 100%;\n  height: 100%;\n  /* keep scrollbar present all the time */\n  min-height: 101%;\n  background-color: $off-white;\n\n  /* The html and body elements cannot have any padding or margin. */\n  -webkit-font-smoothing: antialiased;\n  font-family: 'Ubuntu', sans-serif;\n  font-size: 16px;\n}\n\n#main {\n  padding-bottom: 40px;\n  padding-top: 70px;\n\n  @media (max-width: $screen-lg-min - 1px) {\n      padding-top:0px;\n  }\n}\n\n@media (max-width: 978px) {\n  #main {\n    padding-bottom: 5px;\n    padding-top: 10px;\n  }\n}\n\n/*  END - general style */\n\n/* style for Cube Portfolio wrapper*/\n.wrapper {\n  width: 96%;\n  max-width: 1170px;\n  margin: 0 auto;\n}\n\nh1, h2, h3, h4 {\n  color: $black;\n}\n\np, a, ul, li {\n  line-height: 1.4em;\n}\n\na {\n  color: $link-color;\n  @include css-transition(color 0.3s ease);\n\n  &:hover, &:active {\n    color: $link-hover-color;\n    text-decoration: none;\n  }\n\n  &:link, &:visited {\n    text-decoration: none;\n  }\n\n  // bad for devices requiring focus!\n  &:focus {\n    outline: 0;\n  }\n}\n\nstrong {\n  color: $black;\n}\n\n.btn {\n  color: white !important;\n}\n\n.btn-default {\n  color: #000000 !important;\n}\n\n.btn-edit {\n  font-size: 50%;\n  margin-left: 15px;\n  text-transform: lowercase;\n}\n\n.fa {\n  width: 24px;\n  height: 24px;\n  display: inline-block;\n  text-align: center;\n}\n.vote_button {\n  width: 12px;\n  height: 12px;\n}\n\n#help-link {\n  float: right;\n  padding-right: 25%;\n  display: block;\n}\n\n/* Custom page CSS\n-------------------------------------------------- */\n\na.call-to-action > span {\n  font-size: 2.5em;\n  @media(max-width: 320px){\n    font-size: 1em;\n  }\n  @media(max-width: 414px) and (min-width: 321px){\n    font-size: 1.1em;\n  }\n  @media(max-width: 732px) and (min-width: 415px){\n    font-size: 1.25em;\n  }\n  @media(min-width: 768px){\n    font-size: 1.8em;\n  }\n}\n#wrap > .container {\n  padding: 60px 15px 0;\n}\n\n.container .credit {\n  margin: 20px 0;\n}\n\nh1, h2, h3, h4 {\n  vertical-align: middle;\n\n  a {\n    color: $theme-lighter-dark;\n\n    &:hover, &:active {\n      color: $theme-darker;\n    }\n  }\n}\n\nh1 {\n  font-size: 50px;\n}\n\n@media (max-width: 978px) {\n  h1 {\n    font-size: 36px;\n  }\n}\n\n\n.opacity-dark {\n  padding: 20px;\n  background-color: rgba(5, 5, 5, .8);\n  -moz-border-radius: 5px;\n  -webkit-border-radius: 5px;\n  -khtml-border-radius: 5px;\n  border-radius: 5px;\n}\n\n.opacity-light h1 {\n  color: rgba(52, 73, 94, 1.0);\n}\n\n.opacity-light {\n  padding: 20px;\n  background-color: rgba(192, 192, 192, .4);\n  -moz-border-radius: 5px;\n  -webkit-border-radius: 5px;\n  -khtml-border-radius: 5px;\n  border-radius: 5px;\n}\n\n.opacity-light h1 {\n  color: #000000;\n}\n\n.divider {\n  height: 50px;\n}\n\n.small-divider {\n  height: 25px;\n}\n\n.panel {\n  border-width: 1;\n}\n\n.panel-primary {\n  border-color: #FFE0B2;\n}\n\n.panel-primary > .panel-heading {\n  color: white;\n  background-color: #FF9900;\n  border-color: #FF9900;\n}\n\n@media (max-width: 768px) {\n  header {\n    height: 95px;\n  }\n}\n\n#map-canvas {\n  width: 100%;\n  height: 300px;\n  margin: 0;\n  padding: 15px;\n}\n\n.scroll-top {\n  position: fixed;\n  bottom: 0;\n  right: 6%;\n  z-index: 100;\n  background: #F07F48;\n  font-size: 24px;\n  border-top-left-radius: 3px;\n  border-top-right-radius: 3px;\n}\n\n.scroll-top a:link, .scroll-top a:visited {\n  color: #222;\n}\n\n\n/* Portfolio css */\n\n.view p {\n  font-family: Georgia, serif;\n  font-style: italic;\n  font-size: 12px;\n  position: relative;\n  color: #fff;\n  padding: 10px 20px 10px;\n  text-align: center;\n}\n\n.view-tenth p {\n  color: #333;\n  -ms-filter: \"progid: DXImageTransform.Microsoft.Alpha(Opacity=0)\";\n  filter: alpha(opacity=0);\n  opacity: 0;\n  -webkit-transform: scale(0);\n  -moz-transform: scale(0);\n  -o-transform: scale(0);\n  -ms-transform: scale(0);\n  transform: scale(0);\n  -webkit-transition: all 0.5s linear;\n  -moz-transition: all 0.5s linear;\n  -o-transition: all 0.5s linear;\n  -ms-transition: all 0.5s linear;\n  transition: all 0.5s linear;\n}\n\n.view {\n  z-index: 9;\n  cursor: default;\n  overflow: hidden;\n  text-align: center;\n  position: relative;\n  margin-bottom: 30px;\n  box-shadow: 0 0 3px #ddd;\n}\n\n.view .mask, .view .content {\n  width: 100%;\n  height: 100%;\n  position: absolute;\n  overflow: hidden;\n  top: 0;\n  left: 0;\n}\n\n.view img {\n  display: block;\n  position: relative;\n}\n\n.view-tenth img {\n  left: 10px;\n  margin-left: -10px;\n  position: relative;\n  -webkit-transition: all 0.6s ease-in-out;\n  -moz-transition: all 0.6s ease-in-out;\n  -o-transition: all 0.6s ease-in-out;\n  -ms-transition: all 0.6s ease-in-out;\n  transition: all 0.6s ease-in-out;\n}\n\n.view-tenth:hover > img {\n  -webkit-transform: scale(2) rotate(10deg);\n  -moz-transform: scale(2) rotate(10deg);\n  -o-transform: scale(2) rotate(10deg);\n  -ms-transform: scale(2) rotate(10deg);\n  transform: scale(2) rotate(10deg);\n  -ms-filter: \"progid: DXImageTransform.Microsoft.Alpha(Opacity=30)\";\n  filter: alpha(opacity=30);\n  opacity: 0.3;\n}\n\n.view h2 {\n  text-transform: uppercase;\n  color: #fff;\n  text-align: center;\n  position: relative;\n  font-size: 22px;\n  padding: 10px;\n  background: rgba(0, 0, 0, 0.8);\n  margin: 20px 0 0 0;\n  text-shadow: none;\n}\n\n.view-tenth h2 {\n  color: #333;\n  margin: 20px 40px 0;\n  background: transparent;\n  border-bottom: 1px solid rgba(0, 0, 0, 0.3);\n  -webkit-transform: scale(0);\n  -moz-transform: scale(0);\n  -o-transform: scale(0);\n  -ms-transform: scale(0);\n  transform: scale(0);\n  -webkit-transition: all 0.5s linear;\n  -moz-transition: all 0.5s linear;\n  -o-transition: all 0.5s linear;\n  -ms-transition: all 0.5s linear;\n  transition: all 0.5s linear;\n  -ms-filter: \"progid: DXImageTransform.Microsoft.Alpha(Opacity=0)\";\n  filter: alpha(opacity=0);\n  opacity: 0;\n}\n\n.view-tenth a.info-btn {\n  -ms-filter: \"progid: DXImageTransform.Microsoft.Alpha(Opacity=0)\";\n  filter: alpha(opacity=0);\n  opacity: 0;\n  -webkit-transform: scale(0);\n  -moz-transform: scale(0);\n  -o-transform: scale(0);\n  -ms-transform: scale(0);\n  transform: scale(0);\n  -webkit-transition: all 0.5s linear;\n  -moz-transition: all 0.5s linear;\n  -o-transition: all 0.5s linear;\n  -ms-transition: all 0.5s linear;\n  transition: all 0.5s linear;\n}\n\n.view-tenth:hover h2,\n.view-tenth:hover p,\n.view-tenth:hover a.info-btn {\n  -webkit-transform: scale(1);\n  -moz-transform: scale(1);\n  -o-transform: scale(1);\n  -ms-transform: scale(1);\n  transform: scale(1);\n  -ms-filter: \"progid: DXImageTransform.Microsoft.Alpha(Opacity=100)\";\n  filter: alpha(opacity=100);\n  opacity: 1;\n}\n\n/* 404 theme */\n\n#fof {\n  margin: 20px 0 120px;\n  text-align: center;\n}\n\n#fof div {\n  position: fixed;\n  width: 100%;\n  height: 100%;\n  top: 0;\n  left: 0;\n\n  background: #000;\n}\n\n#fof canvas,\n#fof img {\n  position: relative;\n  width: 960px;\n  height: 480px;\n  margin-bottom: 20px;\n  z-index: 1;\n\n  background: #000;\n}\n\n// Bryan: corrections to twitter-typeahead\n.tokenfield .twitter-typeahead input.tt-hint {\n  padding: 6px 5px;\n  overflow: none;\n  height: auto;\n}\n\n.tokenfield .twitter-typeahead input.token-input {\n  padding-left: 5px;\n}\n\n.tokenfield div.token {\n  margin-top: 6px;\n}\n\n.navbar-brand-div {\n  padding-left: 0;\n}\n.navbar-static-top {\n  @media (max-width: 768px) {\n    .navbar-header button {\n      margin-right: 0;\n    }\n  }\n\n  @media (max-width: 300px) {\n    .navbar-brand {\n      display: none;\n    }\n  }\n}\n"
  },
  {
    "path": "app/assets/stylesheets/global/custom_errors.scss",
    "content": "@import \"variables\";\n\n#fof {\n  position: relative;\n  margin-top: -20px;\n  width: 860px;\n  height: 430px;\n}\n\n#fof canvas {\n  width: 860px;\n  height: 430px;\n}\n\n#fof > div#message {\n  position: absolute;\n  background-color: transparent;\n  z-index: 10;\n  opacity: 0;\n}\n\n#message h1, #message h2, #message h3, #message p {\n  text-shadow: 1px 1px 8px #f00;\n  padding-left: 20px;\n  color: #fff;\n  text-align: left;\n}"
  },
  {
    "path": "app/assets/stylesheets/global/docs.scss",
    "content": "@import \"variables\";\n@import \"mixins\";\n\nsection.doc-preview {\n  padding: 5px 0;\n  height: auto;\n  min-height: 20px;\n  max-height: 100%;\n  overflow: visible;\n  position: relative;\n\n  h3 {\n    margin: 0;\n  }\n\n  & > p {\n    margin-top: 1em;\n  }\n}\n\n.stats {\n  ul {\n    list-style: none;\n    padding-left: 0;\n\n    li {\n      display: inline-block;\n    }\n  }\n}\n\n.doc-status-text {\n  display: inline-block;\n  font-size: 0.9em;\n  font-style: italic;\n}\n\n.listing {\n  padding: 10px 0;\n  color: $black;\n  width: 100%;\n  margin: 0;\n  position: relative;\n  @media (max-width: $screen-sm-min - 1px) {\n    padding:0px;\n  }\n}\n\n.tab-content {\n  // padding: 0 15px 10px 15px;\n  border: 1px solid #dddddd;\n  border-top-color: transparent;\n}\n\n.listings {\n  list-style: none;\n  padding-left: 0px;\n}\n\n#document_body {\n  width: 100%;\n  padding: 10px 5px;\n  margin: 15px 0;\n}\n"
  },
  {
    "path": "app/assets/stylesheets/global/events.scss",
    "content": ".calendar, .eventTitle {\n  float: left;\n}\n\n.calendar {\n  height: 60px;\n  width: 70px;\n  margin-right: 10px;\n  position: relative;\n  background: white;\n  z-index: 3;\n  @include css-border-radius(4px);\n  line-height: 100%;\n  cursor: pointer;\n  -webkit-user-select: none;\n}\n\n.calendar .date, .calendar .month {\n  display: block;\n  width: 100%;\n  font-weight: 900;\n  text-align: center;\n}\n\n.calendar .month {\n  background: #d87240;\n  color: white;\n  font-size: 15px;\n  padding: 1px 0;\n  text-shadow: 0 1px #910f17;\n  background-color: #d87240;\n  background: #d87240;\n  letter-spacing: 0;\n  border-top-left-radius: 4px;\n  border-top-right-radius: 4px;\n  box-shadow: inset 0 1px rgba(255, 255, 255, 0.25);\n}\n\n.calendar .date {\n  font-size: 45px;\n  color: #333333;\n  background: white;\n  height: 90%;\n  padding: 18px 0;\n  border-bottom: 1px solid #d5d5d5;\n  border-left: 1px solid #d5d5d5;\n  border-right: 1px solid #d5d5d5;\n  border-bottom-left-radius: 4px;\n  border-bottom-right-radius: 4px;\n}\n\n.event-details {\n  @extend .row;\n  margin: 0px;\n  margin-bottom: 10px;\n}\n\n.event-details-well, .schedule-well, .hangouts-management-well, .hangouts-details-well {\n  @extend .row;\n  @extend .well;\n  @extend .well-sm;\n  margin-left: 0;\n  margin-right: 0;\n}\n\n.event-edit-schedule {\n  @extend .btn;\n  @extend .btn-info;\n  width: 130px;\n  white-space: normal;\n}\n\n.event-live-link {\n  @extend .btn;\n  @extend .btn-success;\n  width: 130px;\n  white-space: normal;\n}\n\n.event-row {\n  @extend .row;\n  border: 1px solid darkslategray;\n  margin: 10px 25px 10px 25px;\n  border-radius: 8px;\n  padding: 0px 25px 10px 25px;\n}\n\n.event-notice {\n  border: 1px solid $theme-main;\n  border-radius: 5px;\n  padding: 5px;\n  margin: 12px 0px 0px 0px;\n\n  a {\n    text-transform: uppercase;\n  }\n}\n\n.event-schedule {\n  vertical-align: middle;\n}\n\n.event-title {\n  padding: 5px;\n  margin: 5px;\n  font-weight: bold;\n  font-size: x-large;\n}\n\n#recent_event_list ol {\n  list-style: none;\n}\n"
  },
  {
    "path": "app/assets/stylesheets/global/hangouts.scss",
    "content": "@import \"../variables\";\n\n.hangouts-management {\n  @extend .panel-group;\n  margin: 0px;\n\n  .restart-panel, .edit-link-panel {\n    @extend .panel;\n    background: transparent;\n    box-shadow: none;\n    border: 0;\n  }\n\n  .restart-panel {\n    @extend .panel-danger;\n    @extend .collapse;\n  }\n\n  .edit-link-panel {\n    @extend .panel-info;\n    margin-top: 5px;\n  }\n\n  .panel-heading {\n    margin: 0px;\n    padding: 5px;\n    border-top: none;\n  }\n\n  .panel-title {\n    font-size: small;\n    padding-right: 5px;\n  }\n\n  .panel-close-button {\n    @extend .close;\n    @extend .collapse;\n    color: inherit;\n  }\n\n  .panel-body {\n    padding: 0px;\n    margin-top: 5px;\n    font-size: small;\n    border-top: none !important;\n    background: transparent;\n  }\n\n  .panel-body.warning {\n    padding: 5px;\n  }\n\n  .btn:focus {\n    outline: none;\n  }\n\n  #edit-link-form {\n    @extend .panel-collapse;\n    @extend .collapse;\n  }\n\n  .collapse-button {\n    cursor: pointer;\n  }\n\n  .form-horizontal .form-group {\n    margin: 0px;\n  }\n\n  .form-group div[class*=\"col-\"] {\n    padding: 2px;\n  }\n\n  .form-control {\n    width: 100%;\n    height: 30px;\n    font-weight: normal;\n  }\n\n  .hangout-btn {\n\n    height: 30px !important;\n    line-height: 30px;\n    padding: 0;\n\n    .readme-link {\n      background: transparent;\n      color: $theme-main !important;\n      display: inline-block;\n      vertical-align: initial;\n      padding: 0;\n    }\n  }\n}\n\n.hangout-details {\n  dl {\n    margin: 0;\n    font-size: small;\n  }\n\n  dt {\n    float: left;\n  }\n\n  dd {\n    margin-left: 110px;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n}\n\n.live-hangouts {\n  $hg-color: lighten($theme-main, 35);\n  $hg-border: 1px solid gray;\n\n  font-size: small;\n\n  .fa {\n    height: auto;\n    font-size: 1.5em;\n  }\n\n  .panel {\n    overflow: hidden;\n    border: $hg-border;\n  }\n\n  .panel-info {\n    font-weight: bold;\n    margin-bottom: 5px;\n\n    div {\n      line-height: 25px;\n    }\n  }\n\n  @mixin hg-btn($color) {\n    @extend .btn;\n    background-color: $color;\n\n    font-size: smaller;\n\n    height: 2em;\n    padding: 4px;\n\n    &:focus {\n      outline: none;\n    }\n\n    &:hover {\n      background-color: lighten($color, 10%);\n    }\n  }\n\n  .hg-toggles {\n    @extend .pull-left;\n    margin-bottom: 10px;\n  }\n\n  .btn-hg-join {\n    @include hg-btn(green);\n    width: 50px;\n  }\n\n  .btn-hg-join.disable {\n    background-color: grey;\n    box-shadow: none;\n    cursor: default;\n\n    &:hover {}\n\n  }\n\n  .btn-hg-watch {\n    @include hg-btn($theme-main);\n    width: 50px;\n    margin-top: 3px;\n  }\n\n  .panel-default {\n    position: relative;\n    transition: all 0.5s;\n\n    .panel-heading {\n      &:hover {\n        background-color: $hg-color;\n        border-color: $hg-color;\n        box-shadow: none;\n        cursor: pointer;\n      }\n    }\n\n    .panel-heading.empty {\n      padding-left: 10px;\n    }\n  }\n\n  .panel-heading.hg-headings {\n    color: white;\n    background-color: $theme-dark;\n  }\n\n\n  .panel-body {\n    border-top: $hg-border;\n    background-color: $hg-color;\n    padding: 5px;\n    margin: 0;\n  }\n\n  .container-fluid, .panel-heading {\n    padding-left: 0;\n    padding-right: 0;\n  }\n\n  .container-fluid {\n    text-align: left;\n    white-space: nowrap;\n\n    @media (min-width: 768px) {\n      white-space: normal;\n\n      .hg-align-right {\n        text-align: right;\n        direction: rtl;\n      }\n\n    }\n\n  }\n\n  .hg-toggle {\n    width: 20px;\n    padding-left: 5px;\n  }\n\n  .hg-avatar {\n    padding: 0 0 0 15px;\n  }\n\n  .hg-row {\n    margin-left: 0px;\n    margin-right: 0px;\n  }\n\n}\n\n\nhtml {\n    font-family: Lato, 'Helvetica Neue', Arial, Helvetica, sans-serif;\n    font-size: 14px;\n}\n\nh5 {\n    font-size: 1.28571429em;\n    font-weight: 700;\n    line-height: 1.2857em;\n    margin: 0;\n}\n\n.card {\n    font-size: 1em;\n    overflow: hidden;\n    padding: 0;\n    border-radius: .28571429rem;\n    border-color: #ccc;\n    border: 1px solid #ccc;\n    background-color: #fff;\n\t\tbox-shadow: 0 1px 2px rgba(0,0,0,0.15);\n    transition: all 0.3s ease-in-out;\n}\n\n.card:after {\n    z-index: -1;\n    opacity: 0;\n    width: 100%;\n    height: 100%;\n    border-radius: 5px;\n    box-shadow: 0 5px 15px rgba(0,0,0,0.3);\n    transition: opacity 0.3s ease-in-out;\n}\n.card:hover{\n  transform: scale(1.05, 1.05);\n}\n\n.card:hover::after {\n    opacity: 1;\n}\n\n.card-block {\n    font-size: 1em;\n    position: relative;\n    margin: 0;\n    padding: 1em;\n    border: none;\n    border-top: 1px solid rgba(34, 36, 38, .1);\n    box-shadow: none;\n}\n\n.card-img-top {\n    display: block;\n    width: 100%;\n    height: auto;\n}\n\n.card-title {\n    font-size: 1.28571429em;\n    font-weight: 700;\n    line-height: 1.2857em;\n}\n\n.card-text {\n    clear: both;\n    margin-top: .5em;\n    color: rgba(0, 0, 0, .68);\n}\n\n.card-footer {\n    font-size: 1em;\n    position: static;\n    top: 0;\n    left: 0;\n    max-width: 100%;\n    margin-top: 1em;\n    padding: .75em 1em;\n    color: rgba(0, 0, 0, .4);\n    border-top: 1px solid rgba(0, 0, 0, .05) !important;\n    background: #fff;\n}\n\n.meta {\n    font-size: 1em;\n    color: rgba(0, 0, 0, .4);\n}\n\n.meta a {\n    text-decoration: none;\n    color: rgba(0, 0, 0, .4);\n}\n\n.meta a:hover {\n    color: rgba(0, 0, 0, .87);\n}\n.is-flex {\n    display: flex;\n    flex-wrap: wrap;\n}\n.card {\n    display: flex;\n\t\tflex: 1 0 auto;\n}\n\n.row.is-flex > [class*='col-'] {\n    display: flex;\n    flex-direction: column;\n\t\tmargin-bottom: 1em;\n\t\talign-content: space-around;\n\t\tjustify-content: space-evenly;\n}\n.meta > .row [class*='col-'] {\n\talign-self: start;\n}\n\n.player {\n  background: black;\n}\n"
  },
  {
    "path": "app/assets/stylesheets/global/hookups.scss",
    "content": ".hookups_table {\n  border-spacing: 10px;\n  border-collapse: separate;\n}"
  },
  {
    "path": "app/assets/stylesheets/global/nprogressbar.scss",
    "content": "@import \"mixins\";\n@import \"variables\";\n\n/* Make clicks pass-through */\n#nprogress {\n  pointer-events: none;\n  -webkit-pointer-events: none;\n}\n\n#nprogress .bar {\n  background: $theme-secondary;\n\n  position: fixed;\n  z-index: 999999;\n  top: 0;\n  left: 0;\n\n  width: 100%;\n  height: 3px;\n}\n\n/* Fancy blur effect */\n#nprogress .peg {\n  display: block;\n  position: absolute;\n  right: 0px;\n  width: 100px;\n  height: 100%;\n  box-shadow: 0 0 15px $theme-secondary, 0 0 15px $theme-secondary;\n  opacity: 1.0;\n\n  -webkit-transform: rotate(3deg) translate(0px, -4px);\n  -moz-transform: rotate(3deg) translate(0px, -4px);\n  -ms-transform: rotate(3deg) translate(0px, -4px);\n  -o-transform: rotate(3deg) translate(0px, -4px);\n  transform: rotate(3deg) translate(0px, -4px);\n}\n\n/* Remove these to get rid of the spinner */\n#nprogress .spinner {\n  display: block;\n  position: fixed;\n  z-index: 100;\n  top: 15px;\n  right: 15px;\n}\n\n#nprogress .spinner-icon {\n  display: none;\n  // Bryan: Hide spinner\n//  width: 14px;\n//  height: 14px;\n//\n//  border:  solid 2px transparent;\n//  border-top-color:  #29d;\n//  border-left-color: #29d;\n//  border-radius: 10px;\n//\n//  -webkit-animation: nprogress-spinner 400ms linear infinite;\n//  -moz-animation:    nprogress-spinner 400ms linear infinite;\n//  -ms-animation:     nprogress-spinner 400ms linear infinite;\n//  -o-animation:      nprogress-spinner 400ms linear infinite;\n//  animation:         nprogress-spinner 400ms linear infinite;\n}\n\n@-webkit-keyframes nprogress-spinner {\n  0%   { -webkit-transform: rotate(0deg);   transform: rotate(0deg); }\n  100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); }\n}\n@-moz-keyframes nprogress-spinner {\n  0%   { -moz-transform: rotate(0deg);   transform: rotate(0deg); }\n  100% { -moz-transform: rotate(360deg); transform: rotate(360deg); }\n}\n@-o-keyframes nprogress-spinner {\n  0%   { -o-transform: rotate(0deg);   transform: rotate(0deg); }\n  100% { -o-transform: rotate(360deg); transform: rotate(360deg); }\n}\n@-ms-keyframes nprogress-spinner {\n  0%   { -ms-transform: rotate(0deg);   transform: rotate(0deg); }\n  100% { -ms-transform: rotate(360deg); transform: rotate(360deg); }\n}\n@keyframes nprogress-spinner {\n  0%   { transform: rotate(0deg);   transform: rotate(0deg); }\n  100% { transform: rotate(360deg); transform: rotate(360deg); }\n}\n"
  },
  {
    "path": "app/assets/stylesheets/global/projects.scss",
    "content": "@import \"variables\";\n@import \"mixins\";\n\n.activity {\n  i {\n    margin: 10px 0 0 5px;\n  }\n\n  .story_name {\n    span {\n      color: #6BABA1;\n    }\n  }\n\n  .story_estimate {\n    display: block;\n    margin: 0 0 0 5px;\n    padding: 0;\n    height: 7px;\n  }\n}\n\n$avatar-size: 32px;\n\n.projects-user-avatar {\n  display: inline-block;\n  width: $avatar-size;\n  height: $avatar-size;\n  margin: 0;\n  border-radius: 5%;\n}\n\n.members-list-item {\n  display: inline-block;\n}\n\n.project-sidebar {\n  // mainly overrides in this section :(\n  margin-top: 43px;\n  padding: 0 15px 10px;\n\n  .media-body {\n    display: inline;\n    width: 60%;\n  }\n\n  .media-heading {\n    display: inline;\n  }\n\n  .media-item {\n    margin-bottom: 0;\n    height: auto;\n  }\n\n  .user-preview {\n    height: auto;\n    overflow: hidden;\n    padding: 0;\n    border-radius: 0;\n\n    &:hover {\n      background: none;\n    }\n\n    p.media-heading {\n      // overriding is painful because other rules are far too specific\n      font-size: 15px;\n    }\n  }\n}\n\n.projects-sidebar-group {\n  background: #fff;\n  border: 1px solid #ddd;\n  padding: 10px;\n  border-radius: 10px;\n}\n\n.widget-title {\n  font-size: 1em;\n  font-weight: 700;\n\n  span {\n    font-weight: 400;\n  }\n}\n\n.btn-join {\n  background-color: #15ab94; // #15ab94, #f89403\n  color: #fff;\n  font-size: 1.1em;\n  font-weight: 700;\n\n  &:hover {\n    background-color: darken(#15ab94, 7%);\n  }\n}\n\n.btn-search {\n  background-color: $theme-dark;\n}\n\n.tab-pane {\n  padding: 1em 15px;\n}\n\n.new-project-btn {\n  margin-top: 30px;\n}\n\n.new-meet-btn {\n  margin-bottom: 15px;\n}\n\n.show-projects-btn {\n  margin-bottom: 15px;\n}\n\n.language-search-btn {\n  margin-top: 28px;\n  margin-left: 15px;\n  margin-bottom: 15px;\n  padding-left: 0;\n}\n\n.project_card {\n  display: flex;\n  margin-top: 14px;\n  margin-bottom: 28px;\n}\n\n.project_card .col {\n  flex: 1; \n}\n\n.project_card h3 {\n  font-size: 18px;\n  margin-bottom: 0;\n}\n\n.project_card:hover {\n  background: #fff;\n  border: 1px solid #ccc;\n  border-radius: 5px;\n}\n\n.project_card:hover .project_card_stats {\n  border-top: 1px solid #ccc;\n}\n\n.project_card:hover .project_card_stats {\n  border-top: 1px solid #ccc;\n}\n\n.project_card ul {\n  list-style: none;\n  padding-left: 0;\n}\n\n.project_card li {\n  margin-right: 10px;\n}\n\n.project_card_stats {\n  display: flex;\n  padding-left: 20px;\n\n  a {\n    color: #EE7335;\n  }\n}\n\n.project_card_stats_items {\n  display: flex;\n  margin-top: 5px;\n}\n\n.flex {\n  display: flex;\n  align-items: flex-end;\n}\n\n#project_image {\n  padding: 18px;\n  width: 128px;\n}\n\n.project_title {\n  margin: 5px;\n  font-weight: bold;\n  font-size: large;\n}\n\n#project_title {\n  padding: 18px;\n}\n\n#project_listing_image {\n  width: 100%;\n}\n\n#projects-header {\n  margin-bottom: 40px;\n}\n"
  },
  {
    "path": "app/assets/stylesheets/global/round_banners.scss",
    "content": "@import \"mixins\";\n\n/* Round banners */\n\n/* =====[ GOOGLE FONT \"LATO\" ]============================================================================== */\n@import url(https://fonts.googleapis.com/css?family=Lato:400,100,900);\n\n/* =====[ BODY ]============================================================================== */\n\n/* =====[ COLORS ]============================================================================== */\n\n.color-1-bg {\n  background: #6baba1 !important;\n}\n\n.color-1-font, .color1-price {\n  color: #6baba1 !important;\n}\n\n.color-2-bg {\n  background: #e0a32e !important;\n}\n\n.color-2-font, .color-2-price {\n  color: #e0a32e !important;\n}\n\n.color-3-bg {\n  background: #e7603b !important;\n}\n\n.color-3-font, .color-3-price {\n  color: #e7603b !important;\n}\n\n.color-4-bg {\n  background: #9ca780 !important;\n}\n\n.color-4-font, .color-4-price {\n  color: #9ca780 !important;\n}\n\n.front, .back {\n  font-family: Lato, sans-serif;\n  float: left;\n  width: 225px;\n  height: 225px;\n  background: #FFF;\n  -webkit-border-radius: 100%;\n  -moz-border-radius: 100%;\n  border-radius: 100%;\n  -webkit-box-shadow: 0 0 10px 0 #dbdbdb;\n  box-shadow: 0 0 10px 0 #dbdbdb;\n  @include css-transition(all 0.3s ease-in-out);\n}\n\n/* =====[ MAIN LIST ]============================================================================== */\n\n.box {\n  list-style: none;\n  display: block;\n  text-align: center;\n  width: 100%;\n  margin: 20px 0 0;\n  padding: 0;\n}\n\n.box i {\n  padding-right: 5px;\n}\n\n.box > li {\n  width: 220px;\n  height: 220px;\n  display: inline-block;\n  margin: 8px;\n}\n\n/* =====[ FRONT ELEMENTS ]============================================================================== */\n\n.front > div {\n  text-align: center;\n  color: #60bad7;\n}\n\n.title {\n//  font-size: 28px;\n  text-transform: uppercase;\n  text-align: center;\n  padding: 25px 0px 17px;\n  font-size: 40px;\n}\n\n.price span {\n  font-weight: 900;\n  vertical-align: top;\n  margin-top: -15px;\n  display: inline-block;\n}\n\n.price .total {\n  font-size: 60px;\n  vertical-align: middle;\n}\n\n.currency, .end {\n  font-size: 40px;\n}\n\n.description {\n  text-align: center;\n}\n\n.front .description {\n  color: #9b9b9b !important;\n  font-size: 14px;\n  padding: 4px 45px 0;\n}\n\n/* =====[ BACK ELEMENTS ]============================================================================== */\n\n.back .title {\n  color: #FFF;\n}\n\n.back .description p {\n  font-size: 14px;\n}\n\n.back .description p ul {\n  width: 55%;\n  margin: auto;\n}\n\n.back .description p ul li {\n  color: #FFF !important;\n  text-align: left;\n  list-style: none;\n  line-height: 1.4;\n}\n\n.back p {\n  color: #FFF !important;\n  font-weight: bold;\n}\n\n.popular {\n  font-size: 30px;\n  color: #60bad7;\n  position: absolute;\n  left: 0;\n  top: 0;\n  opacity: 0;\n}\n\n/* =====[ CIRCLE ANIMATIONS ]============================================================================== */\n\n.circle {\n  border-radius: 150px;\n  -moz-border-radius: 150px;\n  -webkit-border-radius: 150px;\n  @include css-transition(all 1.8s ease-in-out);\n  position: absolute;\n}\n\n.info {\n  position: absolute;\n  border-radius: 150px;\n  -moz-border-radius: 150px;\n  -webkit-border-radius: 150px;\n  opacity: 0;\n  @include css-transform(scale(0) rotate(0deg) translateX(0px) translateY(0px) skewX(0deg) skewY(0deg));\n  -webkit-backface-visibility: hidden;\n}\n\n.circle:hover .front {\n  @include css-transform(scale(1.1));\n  opacity: 1;\n}\n\n.circle:hover .info {\n  @include css-transform(scale(1) rotate(360deg) translateX(0px) translateY(0px) skewX(0deg) skewY(0deg));\n  opacity: 1;\n}\n\n.circle:hover .front-popular {\n  border-radius: 10% 50% 50% 50% !important;\n}\n\n.circle:hover .popular {\n  opacity: 1;\n  @include css-animation(popularAnim 2s 1);\n}\n\n@include keyframes(popularAnim) {\n  from {\n    opacity: 0;\n    left: 40px;\n  }\n  to {\n    opacity: 1;\n    left: 0;\n  }\n}\n\n.box > li {\n  *float: left;\n}\n\n.circle .back {\n  *display: none;\n}\n\n.circle .back {\n  z-index: 0;\n}\n\n.circle .front {\n  position: relative;\n  z-index: 1;\n}\n\n.circle:hover .back {\n  z-index: 1;\n}\n\n.circle:hover .front {\n  position: relative;\n  z-index: 0;\n}\n\n.circle:hover .back {\n  *display: inline;\n}\n\n.circle:hover .front {\n  *display: none;\n}\n"
  },
  {
    "path": "app/assets/stylesheets/global/sidebar.scss",
    "content": "@import \"variables\";\n@import \"mixins\";\n\n#not-sidebar-content {\n  width: 100%;\n  height: 100%;\n  padding: 15px 0;\n}\n\n@media (max-width: $screen-sm-min - 1px) {\n  #not-sidebar-content h1 {\n    margin:0px;\n    padding-top:0px;\n  }\n}\n\n#sidebar {\n  padding: 10px;\n  margin-top: 20px;\n  border-radius: 10px;\n  background: $light-bg-color;\n}\n\n#sidebar * {\n  padding: 0;\n  margin: 0;\n}\n\n#sidebar span {\n  font-size: 120%;\n}\n\n#sidebar h3 {\n  padding: 15px 0 5px 0;\n  font-size: 130%;\n  width: 100%;\n  text-align: center;\n}\n\n#sidebar .collapse-icon {\n  width: 18px;\n  height: 18px;\n  margin-left: -22px;\n}\n\n#sidebar ul {\n  list-style: none;\n  padding-left: 18px;\n}\n\n#sidebar ul ul {\n  padding-left: 20px;\n}\n\n#sidebar li {\n  font-size: 15px;\n  width: 100%;\n  padding: 3px 10px;\n}\n\n#sidebar .focused {\n  color: $link-hover-color;\n  font-weight: bold;\n}\n\n.sidebar-selected {\n  display: inline;\n  color: $link-hover-color;\n  font-weight: bold;\n}\n"
  },
  {
    "path": "app/assets/stylesheets/global/social.scss",
    "content": "$fa-custom-icon-size: 1.1em;\n\n.fa-custom-social {\n  height: $fa-custom-icon-size;\n  width: $fa-custom-icon-size;\n  text-align: center;\n}\n\n.btn-social {\n    position: relative;\n    padding-left: 44px;\n    margin-bottom: 10px;\n    text-align: left;\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis\n}\n\n.btn-social :first-child {\n    position: absolute;\n    left: 0;\n    top: 0;\n    bottom: 0;\n    width: 32px;\n    line-height: 34px;\n    font-size: 1.6em;\n    text-align: center;\n    border-right: 1px solid rgba(0, 0, 0, 0.2)\n}\n\n.btn-social.btn-lg {\n    padding-left: 61px\n}\n\n.btn-social.btn-lg :first-child {\n    line-height: 45px;\n    width: 45px;\n    font-size: 1.8em\n}\n\n.btn-social.btn-sm {\n    padding-left: 38px\n}\n\n.btn-social.btn-sm :first-child {\n    line-height: 28px;\n    width: 28px;\n    font-size: 1.4em\n}\n\n.btn-social.btn-xs {\n    padding-left: 30px\n}\n\n.btn-social.btn-xs :first-child {\n    line-height: 20px;\n    width: 20px;\n    font-size: 1.2em\n}\n\n.btn-social-icon {\n    position: relative;\n    padding-left: 44px;\n    text-align: left;\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    height: 34px;\n    width: 34px;\n    padding-left: 0;\n    padding-right: 0\n}\n\n.btn-social-icon :first-child {\n    position: absolute;\n    left: 0;\n    top: 0;\n    bottom: 0;\n    width: 32px;\n    line-height: 34px;\n    font-size: 1.6em;\n    text-align: center;\n    border-right: 1px solid rgba(0, 0, 0, 0.2)\n}\n\n.btn-social-icon.btn-lg {\n    padding-left: 61px\n}\n\n.btn-social-icon.btn-lg :first-child {\n    line-height: 45px;\n    width: 45px;\n    font-size: 1.8em\n}\n\n.btn-social-icon.btn-sm {\n    padding-left: 38px\n}\n\n.btn-social-icon.btn-sm :first-child {\n    line-height: 28px;\n    width: 28px;\n    font-size: 1.4em\n}\n\n.btn-social-icon.btn-xs {\n    padding-left: 30px\n}\n\n.btn-social-icon.btn-xs :first-child {\n    line-height: 20px;\n    width: 20px;\n    font-size: 1.2em\n}\n\n.btn-social-icon :first-child {\n    border: none;\n    text-align: center;\n    width: 100% !important\n}\n\n.btn-social-icon.btn-lg {\n    height: 45px;\n    width: 45px;\n    padding-left: 0;\n    padding-right: 0\n}\n\n.btn-social-icon.btn-sm {\n    height: 30px;\n    width: 30px;\n    padding-left: 0;\n    padding-right: 0\n}\n\n.btn-social-icon.btn-xs {\n    height: 22px;\n    width: 22px;\n    padding-left: 0;\n    padding-right: 0\n}\n\n.btn-github {\n    color: #fff;\n    background-color: #444;\n    border-color: rgba(0, 0, 0, 0.2)\n}\n\n.btn-github:hover, .btn-github:focus, .btn-github:active, .btn-github.active, .open .dropdown-toggle.btn-github {\n    color: #fff;\n    background-color: #303030;\n    border-color: rgba(0, 0, 0, 0.2)\n}\n\n.btn-github:active, .btn-github.active, .open .dropdown-toggle.btn-github {\n    background-image: none\n}\n\n.btn-github.disabled, .btn-github[disabled], fieldset[disabled] .btn-github, .btn-github.disabled:hover, .btn-github[disabled]:hover, fieldset[disabled] .btn-github:hover, .btn-github.disabled:focus, .btn-github[disabled]:focus, fieldset[disabled] .btn-github:focus, .btn-github.disabled:active, .btn-github[disabled]:active, fieldset[disabled] .btn-github:active, .btn-github.disabled.active, .btn-github[disabled].active, fieldset[disabled] .btn-github.active {\n    background-color: #444;\n    border-color: rgba(0, 0, 0, 0.2)\n}\n\n.btn-gplus {\n    color: #fff;\n    background-color: #4285f4;\n    border-color: rgba(0, 0, 0, 0.2)\n}\n\n.btn-gplus:hover, .btn-gplus:focus, .btn-gplus:active, .btn-gplus.active, .open .dropdown-toggle.btn-gplus {\n    color: #fff;\n    background-color: #356ac3;\n    border-color: rgba(0, 0, 0, 0.2)\n}\n\n.btn-gplus:active, .btn-gplus.active, .open .dropdown-toggle.btn-gplus {\n    background-image: none\n}\n\n.btn-gplus.disabled, .btn-gplus[disabled], fieldset[disabled] .btn-gplus, .btn-gplus.disabled:hover, .btn-gplus[disabled]:hover, fieldset[disabled] .btn-gplus:hover, .btn-gplus.disabled:focus, .btn-gplus[disabled]:focus, fieldset[disabled] .btn-gplus:focus, .btn-gplus.disabled:active, .btn-gplus[disabled]:active, fieldset[disabled] .btn-gplus:active, .btn-gplus.disabled.active, .btn-gplus[disabled].active, fieldset[disabled] .btn-gplus.active {\n    background-color: #4285f4;\n    border-color: rgba(0, 0, 0, 0.2)\n}\n"
  },
  {
    "path": "app/assets/stylesheets/global/sponsors.scss",
    "content": "#sponsorsBar {\n    padding: 20px 0;\n}\n#sponsorsBar .seeAllSponsorLink {\n    display: inline-block;\n    font-size: 12px;\n    padding-top: 4px;\n    text-decoration: underline;\n}\n#sponsorsBar .docLink {\n    font-size: 10px;\n    font-weight: normal;\n    text-transform: none;\n}\n#sponsorsBar .sponsorsTier.empty {\n    opacity: 0.2;\n}\n#sponsorsBar .sponsorsTier#heroes {\n    border-top: 0;\n    margin-top: 80px;\n}\n#sponsorsBar .sponsorsTier#heroes img {\n    -webkit-border-radius: 999px;\n    -moz-border-radius: 999px;\n    border-radius: 999px;\n    margin: 0 0 10px 10px;\n    width: 48px;\n}\n#sponsorsBar .sponsorsTier h3 {\n    margin-top: 0;\n    padding-left: 40px;\n    position: relative;\n}\n#sponsorsBar .sponsorsTier h3 .docLink {\n    position: absolute;\n    right: 0;\n    bottom: 4px;\n}\n#sponsorsBar .sponsorsTier ul {\n    list-style-type: none;\n}\n#sponsorsBar .sponsorsTier ul li ~ li {\n    margin-top: 10px;\n}\n#sponsorsBar .sponsorsTier ul.textSponsors li {\n    font-size: 12px;\n}\n#sponsorsBar .sponsorsTier ul.textSponsors strong {\n    display: block;\n}\n#sponsorsBar .sponsorsTier p {\n    font-size: 12px;\n    line-height: 1.5;\n}\n#sponsorsBar .sponsorsTier p a {\n    color: #b94947;\n    font-weight: bold;\n    text-decoration: underline;\n}\n#sponsorsBar .sponsorsTier img {\n    display: table-cell;\n    vertical-align: middle;\n    max-width: 100%;\n}\n#sponsorsBar .sponsorsTier input[type=\"email\"] {\n    font-size: 12px;\n    width: 130px;\n}\n#sponsorsBar .sponsorsTier .sponsorStandinMedal {\n    display: table-cell;\n    vertical-align: middle;\n}\n#sponsorsBar .sponsorsTier.silver .sponsorStandinMedal {\n    background: #354a57;\n    height: 80px;\n}\n#sponsorsBar .sponsorsTier ~ .sponsorsTier {\n    padding-top: 15px;\n}\n#ourSponsors {\n  text-align: center;\n}\n"
  },
  {
    "path": "app/assets/stylesheets/global/static_pages.scss",
    "content": "@import \"variables\";\n@import \"mixins\";\n\n.page-option {\n  display: inline;\n  vertical-align: middle;\n  overflow: hidden;\n  white-space: nowrap;\n}\n\nsection.page-preview {\n  margin: 10px 0;\n  padding: 5px 10px;\n  height: auto;\n  min-height: 20px;\n  max-height: 250px;\n  overflow: hidden;\n  position: relative;\n}\n\n.page-preview-overview {\n  margin-right: 70px;\n  vertical-align: top;\n  display: inline-block;\n}\n\n.page-preview-stats {\n  width: 60px;\n  padding: 5px;\n  display: inline-block;\n  position: absolute;\n  right: 0;\n  top: 20px;\n}\n\n.page-option-icon {\n  display: inline-block;\n  background: #fff;\n  height: 100%;\n  vertical-align: middle;\n}\n\n.page-option-text {\n  @include css-transition(max-width 0.4s ease 0s);\n  display: inline-block;\n  vertical-align: middle;\n  width: auto !important;\n  max-width: 0px;\n  height: 100%;\n  white-space: nowrap;\n  overflow: hidden;\n}\n\n.page-option:hover .page-option-text {\n  max-width: 250px;\n}\n\n#page-box {\n  height: auto;\n  width: 100%;\n  position: relative;\n}\n\n.tab-content {\n  border: 1px solid #dddddd;\n  border-top-color: transparent;\n}\n\n.page-status-text {\n  display: inline-block;\n  font-size: 0.9em;\n  font-style: italic;\n}\n\n#static_page_body {\n  width: 100%;\n  padding: 10px 5px;\n  margin: 15px 0;\n  font-size: 21px;\n\n  p {\n    line-height: 1.58;\n  }  \n\n  img {\n    max-width: 100%;\n    height: auto;\n    display: block;\n  }\n\n  ol, ul {\n    margin-top: 5px;\n    margin-bottom: 10px;\n  }\n  dd {\n    padding-left: 10px;\n  }\n  dd {\n    margin-bottom: 5px;\n  }\n  details {\n    margin-top: 10px;\n  }\n}"
  },
  {
    "path": "app/assets/stylesheets/global/tokenfield-typeahead.min.scss",
    "content": ".twitter-typeahead{width:100%;position:relative;vertical-align:top}.twitter-typeahead .tt-query,.twitter-typeahead .tt-hint{margin:0;width:100%;vertical-align:middle;background-color:#fff}.twitter-typeahead .tt-hint{color:#999;z-index:1;border:1px solid transparent}.twitter-typeahead .tt-query{color:#555;z-index:2}.twitter-typeahead .tt-query,.twitter-typeahead .tt-hint{height:34px;padding:6px 12px;font-size:14px;line-height:1.428571429}.twitter-typeahead .input-sm.tt-query,.twitter-typeahead .hint-sm.tt-hint{border-radius:3px}.twitter-typeahead .input-lg.tt-query,.twitter-typeahead .hint-lg.tt-hint{border-radius:6px}.input-group .twitter-typeahead:first-child .tt-query,.input-group .twitter-typeahead:first-child .tt-hint{border-radius:4px 0 0 4px!important}.input-group .twitter-typeahead:last-child .tt-query,.input-group .twitter-typeahead:last-child .tt-hint{border-radius:0 4px 4px 0!important}.input-group.input-group-sm .twitter-typeahead:first-child .tt-query,.input-group.input-group-sm .twitter-typeahead:first-child .tt-hint{border-radius:3px 0 0 3px!important}.input-group.input-group-sm .twitter-typeahead:last-child .tt-query,.input-group.input-group-sm .twitter-typeahead:last-child .tt-hint{border-radius:0 3px 3px 0!important}.input-sm.tt-query,.hint-sm.tt-hint,.input-group.input-group-sm .tt-query,.input-group.input-group-sm .tt-hint{height:30px;padding:5px 10px;font-size:12px;line-height:1.5}.input-group.input-group-lg .twitter-typeahead:first-child .tt-query,.input-group.input-group-lg .twitter-typeahead:first-child .tt-hint{border-radius:6px 0 0 6px!important}.input-group.input-group-lg .twitter-typeahead:last-child .tt-query,.input-group.input-group-lg .twitter-typeahead:last-child .tt-hint{border-radius:0 6px 6px 0!important}.input-lg.tt-query,.hint-lg.tt-hint,.input-group.input-group-lg .tt-query,.input-group.input-group-lg .tt-hint{height:45px;padding:10px 16px;font-size:18px;line-height:1.33}.tt-dropdown-menu{width:100%;min-width:160px;margin-top:2px;padding:5px 0;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);*border-right-width:2px;*border-bottom-width:2px;border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box}.tt-suggestion{display:block;padding:3px 20px}.tt-suggestion.tt-is-under-cursor{color:#262626;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0)}.tt-suggestion.tt-is-under-cursor a{color:#fff}.tt-suggestion p{margin:0}.tokenfield .twitter-typeahead{width:auto}.tokenfield .twitter-typeahead .tt-hint{padding:0;margin-left:-1px;height:20px}.tokenfield.input-sm .twitter-typeahead .tt-query,.tokenfield.input-sm .twitter-typeahead .tt-hint{height:18px;font-size:12px;line-height:1.5}.tokenfield.input-lg .twitter-typeahead .tt-query,.tokenfield.input-lg .twitter-typeahead .tt-hint{height:23px;font-size:18px;line-height:1.33}.tokenfield .twitter-typeahead .tt-suggestions{font-size:14px}"
  },
  {
    "path": "app/assets/stylesheets/global/users.scss",
    "content": "@import \"variables\";\n@import \"mixins\";\n\n.member-title {\n  font-size: 0.85em;\n  font-weight: bold;\n  color: $theme-darker;\n}\n\n.index-summary {\n  p {\n    margin-left: 8px;\n    overflow: hidden;\n    white-space: nowrap;\n    text-overflow: ellipsis;\n    a {\n      padding-left: 0 !important;\n    }\n  }\n}\n\n.users-filter { }\n\n.user-cancel-account {\n  margin-top: 50px;\n}\n\n.user-skills {\n  ul {\n    list-style: none;\n    padding-left: 0;\n\n    li {\n      display: inline-block;\n      padding-right: 1.5em;\n    }\n  }\n\n  margin-bottom: 30px;\n}\n\n.user-projects {\n  @extend .user-skills;\n}\n\n.user-summary {\n  overflow: hidden;\n\n  h3 {\n    margin: 10px 0;\n  }\n  \n  span.karma-summary {\n    color: #EE7335;\n  }\n\n  ul {\n    list-style: none;\n    padding-left: 0;\n\n    li {\n      font-size: 0.95em;\n      white-space: nowrap;\n    }\n  }\n}\n\n.user-profile-btn {\n  width: 100%;\n  vertical-align: middle;\n  display: block;\n  padding: 5px;\n  margin: 3px 0;\n  border-width: 1px;\n  border-style: solid;\n  border-color: transparent;\n  border-radius: 5px;\n  @include css-transition(background-color 0.3s ease);\n  @include css-transition(border-color 0.3s ease);\n\n  &:hover {\n    background-color: $light-bg-color;\n    border-color: $theme-main;\n  }\n}\n\n.user-preview {\n  display: inline-block;\n  width: 100%;\n  padding: 10px;\n  height: 100%;\n  @include css-border-radius(10px);\n  @include css-transition(background-color 0.3s ease);\n\n  &:hover {\n    background-color: $light-bg-color;\n  }\n\n  p {\n    color: $black;\n    padding-left: 0;\n    margin-bottom: 5px;\n\n    &.media-heading {\n      color: $theme-main;\n      font-size: 1.1em;\n    }\n  }\n}\n\n.media-body {\n  display: block;\n  width: 55%;\n}\n\n.media-item {\n  height: 120px;\n  margin-bottom: 40px;\n}\n\n/* CSS for USER PROFILE page */\n\n.avatar-group .avatar-lower {\n  width: 330px;\n  margin-top: -70px;\n  margin-left: 20px;\n  margin-bottom: 30px;\n}\n\n.avatar-group .avatar-lower h3 {\n  color: white;\n  text-shadow: 2px 1px 1px black;\n}\n\n.fa-large {\n  font-size: 28px;\n  margin-top: -10px;\n  margin-left: -5px;\n  margin-right: 10px;\n  vertical-align: middle;\n}\n\n@media (max-width: $screen-sm-min - 1px) {\n  .float-xs-none {\n    float:none;\n  }\n}\n@media (min-width: $screen-sm){\n  select#project_filter{\n    width: 100%;\n  }\n}\n/* Responsive versions */\n\n/* End of CSS for USER PROFILE page */\n"
  },
  {
    "path": "app/assets/stylesheets/jquery-ui.css",
    "content": "/*! jQuery UI - v1.11.4 - 2015-03-11\n* http://jqueryui.com\n* Includes: core.css, accordion.css, autocomplete.css, button.css, datepicker.css, dialog.css, draggable.css, menu.css, progressbar.css, resizable.css, selectable.css, selectmenu.css, slider.css, sortable.css, spinner.css, tabs.css, tooltip.css, theme.css\n* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Trebuchet%20MS%2CTahoma%2CVerdana%2CArial%2Csans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=f6a828&bgTextureHeader=gloss_wave&bgImgOpacityHeader=35&borderColorHeader=e78f08&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=eeeeee&bgTextureContent=highlight_soft&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=333333&iconColorContent=222222&bgColorDefault=f6f6f6&bgTextureDefault=glass&bgImgOpacityDefault=100&borderColorDefault=cccccc&fcDefault=1c94c4&iconColorDefault=ef8c08&bgColorHover=fdf5ce&bgTextureHover=glass&bgImgOpacityHover=100&borderColorHover=fbcb09&fcHover=c77405&iconColorHover=ef8c08&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=fbd850&fcActive=eb8f00&iconColorActive=ef8c08&bgColorHighlight=ffe45c&bgTextureHighlight=highlight_soft&bgImgOpacityHighlight=75&borderColorHighlight=fed22f&fcHighlight=363636&iconColorHighlight=228ef1&bgColorError=b81900&bgTextureError=diagonals_thick&bgImgOpacityError=18&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffd27a&bgColorOverlay=666666&bgTextureOverlay=diagonals_thick&bgImgOpacityOverlay=20&opacityOverlay=50&bgColorShadow=000000&bgTextureShadow=flat&bgImgOpacityShadow=10&opacityShadow=20&thicknessShadow=5px&offsetTopShadow=-5px&offsetLeftShadow=-5px&cornerRadiusShadow=5px\n* Copyright 2015 jQuery Foundation and other contributors; Licensed MIT */\n\n/* Layout helpers\n----------------------------------*/\n.ui-helper-hidden {\n\tdisplay: none;\n}\n.ui-helper-hidden-accessible {\n\tborder: 0;\n\tclip: rect(0 0 0 0);\n\theight: 1px;\n\tmargin: -1px;\n\toverflow: hidden;\n\tpadding: 0;\n\tposition: absolute;\n\twidth: 1px;\n}\n.ui-helper-reset {\n\tmargin: 0;\n\tpadding: 0;\n\tborder: 0;\n\toutline: 0;\n\tline-height: 1.3;\n\ttext-decoration: none;\n\tfont-size: 100%;\n\tlist-style: none;\n}\n.ui-helper-clearfix:before,\n.ui-helper-clearfix:after {\n\tcontent: \"\";\n\tdisplay: table;\n\tborder-collapse: collapse;\n}\n.ui-helper-clearfix:after {\n\tclear: both;\n}\n.ui-helper-clearfix {\n\tmin-height: 0; /* support: IE7 */\n}\n.ui-helper-zfix {\n\twidth: 100%;\n\theight: 100%;\n\ttop: 0;\n\tleft: 0;\n\tposition: absolute;\n\topacity: 0;\n\tfilter:Alpha(Opacity=0); /* support: IE8 */\n}\n\n.ui-front {\n\tz-index: 100;\n}\n\n\n/* Interaction Cues\n----------------------------------*/\n.ui-state-disabled {\n\tcursor: default !important;\n}\n\n\n/* Icons\n----------------------------------*/\n\n/* states and images */\n.ui-icon {\n\tdisplay: block;\n\ttext-indent: -99999px;\n\toverflow: hidden;\n\tbackground-repeat: no-repeat;\n}\n\n\n/* Misc visuals\n----------------------------------*/\n\n/* Overlays */\n.ui-widget-overlay {\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\twidth: 100%;\n\theight: 100%;\n}\n.ui-accordion .ui-accordion-header {\n\tdisplay: block;\n\tcursor: pointer;\n\tposition: relative;\n\tmargin: 2px 0 0 0;\n\tpadding: .5em .5em .5em .7em;\n\tmin-height: 0; /* support: IE7 */\n\tfont-size: 100%;\n}\n.ui-accordion .ui-accordion-icons {\n\tpadding-left: 2.2em;\n}\n.ui-accordion .ui-accordion-icons .ui-accordion-icons {\n\tpadding-left: 2.2em;\n}\n.ui-accordion .ui-accordion-header .ui-accordion-header-icon {\n\tposition: absolute;\n\tleft: .5em;\n\ttop: 50%;\n\tmargin-top: -8px;\n}\n.ui-accordion .ui-accordion-content {\n\tpadding: 1em 2.2em;\n\tborder-top: 0;\n\toverflow: auto;\n}\n.ui-autocomplete {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tcursor: default;\n}\n.ui-button {\n\tdisplay: inline-block;\n\tposition: relative;\n\tpadding: 0;\n\tline-height: normal;\n\tmargin-right: .1em;\n\tcursor: pointer;\n\tvertical-align: middle;\n\ttext-align: center;\n\toverflow: visible; /* removes extra width in IE */\n}\n.ui-button,\n.ui-button:link,\n.ui-button:visited,\n.ui-button:hover,\n.ui-button:active {\n\ttext-decoration: none;\n}\n/* to make room for the icon, a width needs to be set here */\n.ui-button-icon-only {\n\twidth: 2.2em;\n}\n/* button elements seem to need a little more width */\nbutton.ui-button-icon-only {\n\twidth: 2.4em;\n}\n.ui-button-icons-only {\n\twidth: 3.4em;\n}\nbutton.ui-button-icons-only {\n\twidth: 3.7em;\n}\n\n/* button text element */\n.ui-button .ui-button-text {\n\tdisplay: block;\n\tline-height: normal;\n}\n.ui-button-text-only .ui-button-text {\n\tpadding: .4em 1em;\n}\n.ui-button-icon-only .ui-button-text,\n.ui-button-icons-only .ui-button-text {\n\tpadding: .4em;\n\ttext-indent: -9999999px;\n}\n.ui-button-text-icon-primary .ui-button-text,\n.ui-button-text-icons .ui-button-text {\n\tpadding: .4em 1em .4em 2.1em;\n}\n.ui-button-text-icon-secondary .ui-button-text,\n.ui-button-text-icons .ui-button-text {\n\tpadding: .4em 2.1em .4em 1em;\n}\n.ui-button-text-icons .ui-button-text {\n\tpadding-left: 2.1em;\n\tpadding-right: 2.1em;\n}\n/* no icon support for input elements, provide padding by default */\ninput.ui-button {\n\tpadding: .4em 1em;\n}\n\n/* button icon element(s) */\n.ui-button-icon-only .ui-icon,\n.ui-button-text-icon-primary .ui-icon,\n.ui-button-text-icon-secondary .ui-icon,\n.ui-button-text-icons .ui-icon,\n.ui-button-icons-only .ui-icon {\n\tposition: absolute;\n\ttop: 50%;\n\tmargin-top: -8px;\n}\n.ui-button-icon-only .ui-icon {\n\tleft: 50%;\n\tmargin-left: -8px;\n}\n.ui-button-text-icon-primary .ui-button-icon-primary,\n.ui-button-text-icons .ui-button-icon-primary,\n.ui-button-icons-only .ui-button-icon-primary {\n\tleft: .5em;\n}\n.ui-button-text-icon-secondary .ui-button-icon-secondary,\n.ui-button-text-icons .ui-button-icon-secondary,\n.ui-button-icons-only .ui-button-icon-secondary {\n\tright: .5em;\n}\n\n/* button sets */\n.ui-buttonset {\n\tmargin-right: 7px;\n}\n.ui-buttonset .ui-button {\n\tmargin-left: 0;\n\tmargin-right: -.3em;\n}\n\n/* workarounds */\n/* reset extra padding in Firefox, see h5bp.com/l */\ninput.ui-button::-moz-focus-inner,\nbutton.ui-button::-moz-focus-inner {\n\tborder: 0;\n\tpadding: 0;\n}\n.ui-datepicker {\n\twidth: 17em;\n\tpadding: .2em .2em 0;\n\tdisplay: none;\n}\n.ui-datepicker .ui-datepicker-header {\n\tposition: relative;\n\tpadding: .2em 0;\n}\n.ui-datepicker .ui-datepicker-prev,\n.ui-datepicker .ui-datepicker-next {\n\tposition: absolute;\n\ttop: 2px;\n\twidth: 1.8em;\n\theight: 1.8em;\n}\n.ui-datepicker .ui-datepicker-prev-hover,\n.ui-datepicker .ui-datepicker-next-hover {\n\ttop: 1px;\n}\n.ui-datepicker .ui-datepicker-prev {\n\tleft: 2px;\n}\n.ui-datepicker .ui-datepicker-next {\n\tright: 2px;\n}\n.ui-datepicker .ui-datepicker-prev-hover {\n\tleft: 1px;\n}\n.ui-datepicker .ui-datepicker-next-hover {\n\tright: 1px;\n}\n.ui-datepicker .ui-datepicker-prev span,\n.ui-datepicker .ui-datepicker-next span {\n\tdisplay: block;\n\tposition: absolute;\n\tleft: 50%;\n\tmargin-left: -8px;\n\ttop: 50%;\n\tmargin-top: -8px;\n}\n.ui-datepicker .ui-datepicker-title {\n\tmargin: 0 2.3em;\n\tline-height: 1.8em;\n\ttext-align: center;\n}\n.ui-datepicker .ui-datepicker-title select {\n\tfont-size: 1em;\n\tmargin: 1px 0;\n}\n.ui-datepicker select.ui-datepicker-month,\n.ui-datepicker select.ui-datepicker-year {\n\twidth: 45%;\n}\n.ui-datepicker table {\n\twidth: 100%;\n\tfont-size: .9em;\n\tborder-collapse: collapse;\n\tmargin: 0 0 .4em;\n}\n.ui-datepicker th {\n\tpadding: .7em .3em;\n\ttext-align: center;\n\tfont-weight: bold;\n\tborder: 0;\n}\n.ui-datepicker td {\n\tborder: 0;\n\tpadding: 1px;\n}\n.ui-datepicker td span,\n.ui-datepicker td a {\n\tdisplay: block;\n\tpadding: .2em;\n\ttext-align: right;\n\ttext-decoration: none;\n}\n.ui-datepicker .ui-datepicker-buttonpane {\n\tbackground-image: none;\n\tmargin: .7em 0 0 0;\n\tpadding: 0 .2em;\n\tborder-left: 0;\n\tborder-right: 0;\n\tborder-bottom: 0;\n}\n.ui-datepicker .ui-datepicker-buttonpane button {\n\tfloat: right;\n\tmargin: .5em .2em .4em;\n\tcursor: pointer;\n\tpadding: .2em .6em .3em .6em;\n\twidth: auto;\n\toverflow: visible;\n}\n.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {\n\tfloat: left;\n}\n\n/* with multiple calendars */\n.ui-datepicker.ui-datepicker-multi {\n\twidth: auto;\n}\n.ui-datepicker-multi .ui-datepicker-group {\n\tfloat: left;\n}\n.ui-datepicker-multi .ui-datepicker-group table {\n\twidth: 95%;\n\tmargin: 0 auto .4em;\n}\n.ui-datepicker-multi-2 .ui-datepicker-group {\n\twidth: 50%;\n}\n.ui-datepicker-multi-3 .ui-datepicker-group {\n\twidth: 33.3%;\n}\n.ui-datepicker-multi-4 .ui-datepicker-group {\n\twidth: 25%;\n}\n.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,\n.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {\n\tborder-left-width: 0;\n}\n.ui-datepicker-multi .ui-datepicker-buttonpane {\n\tclear: left;\n}\n.ui-datepicker-row-break {\n\tclear: both;\n\twidth: 100%;\n\tfont-size: 0;\n}\n\n/* RTL support */\n.ui-datepicker-rtl {\n\tdirection: rtl;\n}\n.ui-datepicker-rtl .ui-datepicker-prev {\n\tright: 2px;\n\tleft: auto;\n}\n.ui-datepicker-rtl .ui-datepicker-next {\n\tleft: 2px;\n\tright: auto;\n}\n.ui-datepicker-rtl .ui-datepicker-prev:hover {\n\tright: 1px;\n\tleft: auto;\n}\n.ui-datepicker-rtl .ui-datepicker-next:hover {\n\tleft: 1px;\n\tright: auto;\n}\n.ui-datepicker-rtl .ui-datepicker-buttonpane {\n\tclear: right;\n}\n.ui-datepicker-rtl .ui-datepicker-buttonpane button {\n\tfloat: left;\n}\n.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,\n.ui-datepicker-rtl .ui-datepicker-group {\n\tfloat: right;\n}\n.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,\n.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {\n\tborder-right-width: 0;\n\tborder-left-width: 1px;\n}\n.ui-dialog {\n\toverflow: hidden;\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tpadding: .2em;\n\toutline: 0;\n}\n.ui-dialog .ui-dialog-titlebar {\n\tpadding: .4em 1em;\n\tposition: relative;\n}\n.ui-dialog .ui-dialog-title {\n\tfloat: left;\n\tmargin: .1em 0;\n\twhite-space: nowrap;\n\twidth: 90%;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n}\n.ui-dialog .ui-dialog-titlebar-close {\n\tposition: absolute;\n\tright: .3em;\n\ttop: 50%;\n\twidth: 20px;\n\tmargin: -10px 0 0 0;\n\tpadding: 1px;\n\theight: 20px;\n}\n.ui-dialog .ui-dialog-content {\n\tposition: relative;\n\tborder: 0;\n\tpadding: .5em 1em;\n\tbackground: none;\n\toverflow: auto;\n}\n.ui-dialog .ui-dialog-buttonpane {\n\ttext-align: left;\n\tborder-width: 1px 0 0 0;\n\tbackground-image: none;\n\tmargin-top: .5em;\n\tpadding: .3em 1em .5em .4em;\n}\n.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {\n\tfloat: right;\n}\n.ui-dialog .ui-dialog-buttonpane button {\n\tmargin: .5em .4em .5em 0;\n\tcursor: pointer;\n}\n.ui-dialog .ui-resizable-se {\n\twidth: 12px;\n\theight: 12px;\n\tright: -5px;\n\tbottom: -5px;\n\tbackground-position: 16px 16px;\n}\n.ui-draggable .ui-dialog-titlebar {\n\tcursor: move;\n}\n.ui-draggable-handle {\n\t-ms-touch-action: none;\n\ttouch-action: none;\n}\n.ui-menu {\n\tlist-style: none;\n\tpadding: 0;\n\tmargin: 0;\n\tdisplay: block;\n\toutline: none;\n}\n.ui-menu .ui-menu {\n\tposition: absolute;\n}\n.ui-menu .ui-menu-item {\n\tposition: relative;\n\tmargin: 0;\n\tpadding: 3px 1em 3px .4em;\n\tcursor: pointer;\n\tmin-height: 0; /* support: IE7 */\n\t/* support: IE10, see #8844 */\n\tlist-style-image: url(\"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\");\n}\n.ui-menu .ui-menu-divider {\n\tmargin: 5px 0;\n\theight: 0;\n\tfont-size: 0;\n\tline-height: 0;\n\tborder-width: 1px 0 0 0;\n}\n.ui-menu .ui-state-focus,\n.ui-menu .ui-state-active {\n\tmargin: -1px;\n}\n\n/* icon support */\n.ui-menu-icons {\n\tposition: relative;\n}\n.ui-menu-icons .ui-menu-item {\n\tpadding-left: 2em;\n}\n\n/* left-aligned */\n.ui-menu .ui-icon {\n\tposition: absolute;\n\ttop: 0;\n\tbottom: 0;\n\tleft: .2em;\n\tmargin: auto 0;\n}\n\n/* right-aligned */\n.ui-menu .ui-menu-icon {\n\tleft: auto;\n\tright: 0;\n}\n.ui-progressbar {\n\theight: 2em;\n\ttext-align: left;\n\toverflow: hidden;\n}\n.ui-progressbar .ui-progressbar-value {\n\tmargin: -1px;\n\theight: 100%;\n}\n.ui-progressbar .ui-progressbar-overlay {\n\tbackground: url(\"data:image/gif;base64,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\");\n\theight: 100%;\n\tfilter: alpha(opacity=25); /* support: IE8 */\n\topacity: 0.25;\n}\n.ui-progressbar-indeterminate .ui-progressbar-value {\n\tbackground-image: none;\n}\n.ui-resizable {\n\tposition: relative;\n}\n.ui-resizable-handle {\n\tposition: absolute;\n\tfont-size: 0.1px;\n\tdisplay: block;\n\t-ms-touch-action: none;\n\ttouch-action: none;\n}\n.ui-resizable-disabled .ui-resizable-handle,\n.ui-resizable-autohide .ui-resizable-handle {\n\tdisplay: none;\n}\n.ui-resizable-n {\n\tcursor: n-resize;\n\theight: 7px;\n\twidth: 100%;\n\ttop: -5px;\n\tleft: 0;\n}\n.ui-resizable-s {\n\tcursor: s-resize;\n\theight: 7px;\n\twidth: 100%;\n\tbottom: -5px;\n\tleft: 0;\n}\n.ui-resizable-e {\n\tcursor: e-resize;\n\twidth: 7px;\n\tright: -5px;\n\ttop: 0;\n\theight: 100%;\n}\n.ui-resizable-w {\n\tcursor: w-resize;\n\twidth: 7px;\n\tleft: -5px;\n\ttop: 0;\n\theight: 100%;\n}\n.ui-resizable-se {\n\tcursor: se-resize;\n\twidth: 12px;\n\theight: 12px;\n\tright: 1px;\n\tbottom: 1px;\n}\n.ui-resizable-sw {\n\tcursor: sw-resize;\n\twidth: 9px;\n\theight: 9px;\n\tleft: -5px;\n\tbottom: -5px;\n}\n.ui-resizable-nw {\n\tcursor: nw-resize;\n\twidth: 9px;\n\theight: 9px;\n\tleft: -5px;\n\ttop: -5px;\n}\n.ui-resizable-ne {\n\tcursor: ne-resize;\n\twidth: 9px;\n\theight: 9px;\n\tright: -5px;\n\ttop: -5px;\n}\n.ui-selectable {\n\t-ms-touch-action: none;\n\ttouch-action: none;\n}\n.ui-selectable-helper {\n\tposition: absolute;\n\tz-index: 100;\n\tborder: 1px dotted black;\n}\n.ui-selectmenu-menu {\n\tpadding: 0;\n\tmargin: 0;\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tdisplay: none;\n}\n.ui-selectmenu-menu .ui-menu {\n\toverflow: auto;\n\t/* Support: IE7 */\n\toverflow-x: hidden;\n\tpadding-bottom: 1px;\n}\n.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup {\n\tfont-size: 1em;\n\tfont-weight: bold;\n\tline-height: 1.5;\n\tpadding: 2px 0.4em;\n\tmargin: 0.5em 0 0 0;\n\theight: auto;\n\tborder: 0;\n}\n.ui-selectmenu-open {\n\tdisplay: block;\n}\n.ui-selectmenu-button {\n\tdisplay: inline-block;\n\toverflow: hidden;\n\tposition: relative;\n\ttext-decoration: none;\n\tcursor: pointer;\n}\n.ui-selectmenu-button span.ui-icon {\n\tright: 0.5em;\n\tleft: auto;\n\tmargin-top: -8px;\n\tposition: absolute;\n\ttop: 50%;\n}\n.ui-selectmenu-button span.ui-selectmenu-text {\n\ttext-align: left;\n\tpadding: 0.4em 2.1em 0.4em 1em;\n\tdisplay: block;\n\tline-height: 1.4;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n}\n.ui-slider {\n\tposition: relative;\n\ttext-align: left;\n}\n.ui-slider .ui-slider-handle {\n\tposition: absolute;\n\tz-index: 2;\n\twidth: 1.2em;\n\theight: 1.2em;\n\tcursor: default;\n\t-ms-touch-action: none;\n\ttouch-action: none;\n}\n.ui-slider .ui-slider-range {\n\tposition: absolute;\n\tz-index: 1;\n\tfont-size: .7em;\n\tdisplay: block;\n\tborder: 0;\n\tbackground-position: 0 0;\n}\n\n/* support: IE8 - See #6727 */\n.ui-slider.ui-state-disabled .ui-slider-handle,\n.ui-slider.ui-state-disabled .ui-slider-range {\n\tfilter: inherit;\n}\n\n.ui-slider-horizontal {\n\theight: .8em;\n}\n.ui-slider-horizontal .ui-slider-handle {\n\ttop: -.3em;\n\tmargin-left: -.6em;\n}\n.ui-slider-horizontal .ui-slider-range {\n\ttop: 0;\n\theight: 100%;\n}\n.ui-slider-horizontal .ui-slider-range-min {\n\tleft: 0;\n}\n.ui-slider-horizontal .ui-slider-range-max {\n\tright: 0;\n}\n\n.ui-slider-vertical {\n\twidth: .8em;\n\theight: 100px;\n}\n.ui-slider-vertical .ui-slider-handle {\n\tleft: -.3em;\n\tmargin-left: 0;\n\tmargin-bottom: -.6em;\n}\n.ui-slider-vertical .ui-slider-range {\n\tleft: 0;\n\twidth: 100%;\n}\n.ui-slider-vertical .ui-slider-range-min {\n\tbottom: 0;\n}\n.ui-slider-vertical .ui-slider-range-max {\n\ttop: 0;\n}\n.ui-sortable-handle {\n\t-ms-touch-action: none;\n\ttouch-action: none;\n}\n.ui-spinner {\n\tposition: relative;\n\tdisplay: inline-block;\n\toverflow: hidden;\n\tpadding: 0;\n\tvertical-align: middle;\n}\n.ui-spinner-input {\n\tborder: none;\n\tbackground: none;\n\tcolor: inherit;\n\tpadding: 0;\n\tmargin: .2em 0;\n\tvertical-align: middle;\n\tmargin-left: .4em;\n\tmargin-right: 22px;\n}\n.ui-spinner-button {\n\twidth: 16px;\n\theight: 50%;\n\tfont-size: .5em;\n\tpadding: 0;\n\tmargin: 0;\n\ttext-align: center;\n\tposition: absolute;\n\tcursor: default;\n\tdisplay: block;\n\toverflow: hidden;\n\tright: 0;\n}\n/* more specificity required here to override default borders */\n.ui-spinner a.ui-spinner-button {\n\tborder-top: none;\n\tborder-bottom: none;\n\tborder-right: none;\n}\n/* vertically center icon */\n.ui-spinner .ui-icon {\n\tposition: absolute;\n\tmargin-top: -8px;\n\ttop: 50%;\n\tleft: 0;\n}\n.ui-spinner-up {\n\ttop: 0;\n}\n.ui-spinner-down {\n\tbottom: 0;\n}\n\n/* TR overrides */\n.ui-spinner .ui-icon-triangle-1-s {\n\t/* need to fix icons sprite */\n\tbackground-position: -65px -16px;\n}\n.ui-tabs {\n\tposition: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as \"fixed\") */\n\tpadding: .2em;\n}\n.ui-tabs .ui-tabs-nav {\n\tmargin: 0;\n\tpadding: .2em .2em 0;\n}\n.ui-tabs .ui-tabs-nav li {\n\tlist-style: none;\n\tfloat: left;\n\tposition: relative;\n\ttop: 0;\n\tmargin: 1px .2em 0 0;\n\tborder-bottom-width: 0;\n\tpadding: 0;\n\twhite-space: nowrap;\n}\n.ui-tabs .ui-tabs-nav .ui-tabs-anchor {\n\tfloat: left;\n\tpadding: .5em 1em;\n\ttext-decoration: none;\n}\n.ui-tabs .ui-tabs-nav li.ui-tabs-active {\n\tmargin-bottom: -1px;\n\tpadding-bottom: 1px;\n}\n.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,\n.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,\n.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor {\n\tcursor: text;\n}\n.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor {\n\tcursor: pointer;\n}\n.ui-tabs .ui-tabs-panel {\n\tdisplay: block;\n\tborder-width: 0;\n\tpadding: 1em 1.4em;\n\tbackground: none;\n}\n.ui-tooltip {\n\tpadding: 8px;\n\tposition: absolute;\n\tz-index: 9999;\n\tmax-width: 300px;\n\t-webkit-box-shadow: 0 0 5px #aaa;\n\tbox-shadow: 0 0 5px #aaa;\n}\nbody .ui-tooltip {\n\tborder-width: 2px;\n}\n\n/* Component containers\n----------------------------------*/\n.ui-widget {\n\tfont-family: Trebuchet MS,Tahoma,Verdana,Arial,sans-serif;\n\tfont-size: 1.1em;\n}\n.ui-widget .ui-widget {\n\tfont-size: 1em;\n}\n.ui-widget input,\n.ui-widget select,\n.ui-widget textarea,\n.ui-widget button {\n\tfont-family: Trebuchet MS,Tahoma,Verdana,Arial,sans-serif;\n\tfont-size: 1em;\n}\n.ui-widget-content {\n\tborder: 1px solid #dddddd;\n\tbackground: #eeeeee url(\"images/ui-bg_highlight-soft_100_eeeeee_1x100.png\") 50% top repeat-x;\n\tcolor: #333333;\n}\n.ui-widget-content a {\n\tcolor: #333333;\n}\n.ui-widget-header {\n\tborder: 1px solid #e78f08;\n\tbackground: #f6a828 url(\"images/ui-bg_gloss-wave_35_f6a828_500x100.png\") 50% 50% repeat-x;\n\tcolor: #ffffff;\n\tfont-weight: bold;\n}\n.ui-widget-header a {\n\tcolor: #ffffff;\n}\n\n/* Interaction states\n----------------------------------*/\n.ui-state-default,\n.ui-widget-content .ui-state-default,\n.ui-widget-header .ui-state-default {\n\tborder: 1px solid #cccccc;\n\tbackground: #f6f6f6 url(\"images/ui-bg_glass_100_f6f6f6_1x400.png\") 50% 50% repeat-x;\n\tfont-weight: bold;\n\tcolor: #1c94c4;\n}\n.ui-state-default a,\n.ui-state-default a:link,\n.ui-state-default a:visited {\n\tcolor: #1c94c4;\n\ttext-decoration: none;\n}\n.ui-state-hover,\n.ui-widget-content .ui-state-hover,\n.ui-widget-header .ui-state-hover,\n.ui-state-focus,\n.ui-widget-content .ui-state-focus,\n.ui-widget-header .ui-state-focus {\n\tborder: 1px solid #fbcb09;\n\tbackground: #fdf5ce url(\"images/ui-bg_glass_100_fdf5ce_1x400.png\") 50% 50% repeat-x;\n\tfont-weight: bold;\n\tcolor: #c77405;\n}\n.ui-state-hover a,\n.ui-state-hover a:hover,\n.ui-state-hover a:link,\n.ui-state-hover a:visited,\n.ui-state-focus a,\n.ui-state-focus a:hover,\n.ui-state-focus a:link,\n.ui-state-focus a:visited {\n\tcolor: #c77405;\n\ttext-decoration: none;\n}\n.ui-state-active,\n.ui-widget-content .ui-state-active,\n.ui-widget-header .ui-state-active {\n\tborder: 1px solid #fbd850;\n\tbackground: #ffffff url(\"images/ui-bg_glass_65_ffffff_1x400.png\") 50% 50% repeat-x;\n\tfont-weight: bold;\n\tcolor: #eb8f00;\n}\n.ui-state-active a,\n.ui-state-active a:link,\n.ui-state-active a:visited {\n\tcolor: #eb8f00;\n\ttext-decoration: none;\n}\n\n/* Interaction Cues\n----------------------------------*/\n.ui-state-highlight,\n.ui-widget-content .ui-state-highlight,\n.ui-widget-header .ui-state-highlight {\n\tborder: 1px solid #fed22f;\n\tbackground: #ffe45c url(\"images/ui-bg_highlight-soft_75_ffe45c_1x100.png\") 50% top repeat-x;\n\tcolor: #363636;\n}\n.ui-state-highlight a,\n.ui-widget-content .ui-state-highlight a,\n.ui-widget-header .ui-state-highlight a {\n\tcolor: #363636;\n}\n.ui-state-error,\n.ui-widget-content .ui-state-error,\n.ui-widget-header .ui-state-error {\n\tborder: 1px solid #cd0a0a;\n\tbackground: #b81900 url(\"images/ui-bg_diagonals-thick_18_b81900_40x40.png\") 50% 50% repeat;\n\tcolor: #ffffff;\n}\n.ui-state-error a,\n.ui-widget-content .ui-state-error a,\n.ui-widget-header .ui-state-error a {\n\tcolor: #ffffff;\n}\n.ui-state-error-text,\n.ui-widget-content .ui-state-error-text,\n.ui-widget-header .ui-state-error-text {\n\tcolor: #ffffff;\n}\n.ui-priority-primary,\n.ui-widget-content .ui-priority-primary,\n.ui-widget-header .ui-priority-primary {\n\tfont-weight: bold;\n}\n.ui-priority-secondary,\n.ui-widget-content .ui-priority-secondary,\n.ui-widget-header .ui-priority-secondary {\n\topacity: .7;\n\tfilter:Alpha(Opacity=70); /* support: IE8 */\n\tfont-weight: normal;\n}\n.ui-state-disabled,\n.ui-widget-content .ui-state-disabled,\n.ui-widget-header .ui-state-disabled {\n\topacity: .35;\n\tfilter:Alpha(Opacity=35); /* support: IE8 */\n\tbackground-image: none;\n}\n.ui-state-disabled .ui-icon {\n\tfilter:Alpha(Opacity=35); /* support: IE8 - See #6059 */\n}\n\n/* Icons\n----------------------------------*/\n\n/* states and images */\n.ui-icon {\n\twidth: 16px;\n\theight: 16px;\n}\n.ui-icon,\n.ui-widget-content .ui-icon {\n\tbackground-image: url(\"images/ui-icons_222222_256x240.png\");\n}\n.ui-widget-header .ui-icon {\n\tbackground-image: url(\"images/ui-icons_ffffff_256x240.png\");\n}\n.ui-state-default .ui-icon {\n\tbackground-image: url(\"images/ui-icons_ef8c08_256x240.png\");\n}\n.ui-state-hover .ui-icon,\n.ui-state-focus .ui-icon {\n\tbackground-image: url(\"images/ui-icons_ef8c08_256x240.png\");\n}\n.ui-state-active .ui-icon {\n\tbackground-image: url(\"images/ui-icons_ef8c08_256x240.png\");\n}\n.ui-state-highlight .ui-icon {\n\tbackground-image: url(\"images/ui-icons_228ef1_256x240.png\");\n}\n.ui-state-error .ui-icon,\n.ui-state-error-text .ui-icon {\n\tbackground-image: url(\"images/ui-icons_ffd27a_256x240.png\");\n}\n\n/* positioning */\n.ui-icon-blank { background-position: 16px 16px; }\n.ui-icon-carat-1-n { background-position: 0 0; }\n.ui-icon-carat-1-ne { background-position: -16px 0; }\n.ui-icon-carat-1-e { background-position: -32px 0; }\n.ui-icon-carat-1-se { background-position: -48px 0; }\n.ui-icon-carat-1-s { background-position: -64px 0; }\n.ui-icon-carat-1-sw { background-position: -80px 0; }\n.ui-icon-carat-1-w { background-position: -96px 0; }\n.ui-icon-carat-1-nw { background-position: -112px 0; }\n.ui-icon-carat-2-n-s { background-position: -128px 0; }\n.ui-icon-carat-2-e-w { background-position: -144px 0; }\n.ui-icon-triangle-1-n { background-position: 0 -16px; }\n.ui-icon-triangle-1-ne { background-position: -16px -16px; }\n.ui-icon-triangle-1-e { background-position: -32px -16px; }\n.ui-icon-triangle-1-se { background-position: -48px -16px; }\n.ui-icon-triangle-1-s { background-position: -64px -16px; }\n.ui-icon-triangle-1-sw { background-position: -80px -16px; }\n.ui-icon-triangle-1-w { background-position: -96px -16px; }\n.ui-icon-triangle-1-nw { background-position: -112px -16px; }\n.ui-icon-triangle-2-n-s { background-position: -128px -16px; }\n.ui-icon-triangle-2-e-w { background-position: -144px -16px; }\n.ui-icon-arrow-1-n { background-position: 0 -32px; }\n.ui-icon-arrow-1-ne { background-position: -16px -32px; }\n.ui-icon-arrow-1-e { background-position: -32px -32px; }\n.ui-icon-arrow-1-se { background-position: -48px -32px; }\n.ui-icon-arrow-1-s { background-position: -64px -32px; }\n.ui-icon-arrow-1-sw { background-position: -80px -32px; }\n.ui-icon-arrow-1-w { background-position: -96px -32px; }\n.ui-icon-arrow-1-nw { background-position: -112px -32px; }\n.ui-icon-arrow-2-n-s { background-position: -128px -32px; }\n.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }\n.ui-icon-arrow-2-e-w { background-position: -160px -32px; }\n.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }\n.ui-icon-arrowstop-1-n { background-position: -192px -32px; }\n.ui-icon-arrowstop-1-e { background-position: -208px -32px; }\n.ui-icon-arrowstop-1-s { background-position: -224px -32px; }\n.ui-icon-arrowstop-1-w { background-position: -240px -32px; }\n.ui-icon-arrowthick-1-n { background-position: 0 -48px; }\n.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }\n.ui-icon-arrowthick-1-e { background-position: -32px -48px; }\n.ui-icon-arrowthick-1-se { background-position: -48px -48px; }\n.ui-icon-arrowthick-1-s { background-position: -64px -48px; }\n.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }\n.ui-icon-arrowthick-1-w { background-position: -96px -48px; }\n.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }\n.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }\n.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }\n.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }\n.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }\n.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }\n.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }\n.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }\n.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }\n.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }\n.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }\n.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }\n.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }\n.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }\n.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }\n.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }\n.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }\n.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }\n.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }\n.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }\n.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }\n.ui-icon-arrow-4 { background-position: 0 -80px; }\n.ui-icon-arrow-4-diag { background-position: -16px -80px; }\n.ui-icon-extlink { background-position: -32px -80px; }\n.ui-icon-newwin { background-position: -48px -80px; }\n.ui-icon-refresh { background-position: -64px -80px; }\n.ui-icon-shuffle { background-position: -80px -80px; }\n.ui-icon-transfer-e-w { background-position: -96px -80px; }\n.ui-icon-transferthick-e-w { background-position: -112px -80px; }\n.ui-icon-folder-collapsed { background-position: 0 -96px; }\n.ui-icon-folder-open { background-position: -16px -96px; }\n.ui-icon-document { background-position: -32px -96px; }\n.ui-icon-document-b { background-position: -48px -96px; }\n.ui-icon-note { background-position: -64px -96px; }\n.ui-icon-mail-closed { background-position: -80px -96px; }\n.ui-icon-mail-open { background-position: -96px -96px; }\n.ui-icon-suitcase { background-position: -112px -96px; }\n.ui-icon-comment { background-position: -128px -96px; }\n.ui-icon-person { background-position: -144px -96px; }\n.ui-icon-print { background-position: -160px -96px; }\n.ui-icon-trash { background-position: -176px -96px; }\n.ui-icon-locked { background-position: -192px -96px; }\n.ui-icon-unlocked { background-position: -208px -96px; }\n.ui-icon-bookmark { background-position: -224px -96px; }\n.ui-icon-tag { background-position: -240px -96px; }\n.ui-icon-home { background-position: 0 -112px; }\n.ui-icon-flag { background-position: -16px -112px; }\n.ui-icon-calendar { background-position: -32px -112px; }\n.ui-icon-cart { background-position: -48px -112px; }\n.ui-icon-pencil { background-position: -64px -112px; }\n.ui-icon-clock { background-position: -80px -112px; }\n.ui-icon-disk { background-position: -96px -112px; }\n.ui-icon-calculator { background-position: -112px -112px; }\n.ui-icon-zoomin { background-position: -128px -112px; }\n.ui-icon-zoomout { background-position: -144px -112px; }\n.ui-icon-search { background-position: -160px -112px; }\n.ui-icon-wrench { background-position: -176px -112px; }\n.ui-icon-gear { background-position: -192px -112px; }\n.ui-icon-heart { background-position: -208px -112px; }\n.ui-icon-star { background-position: -224px -112px; }\n.ui-icon-link { background-position: -240px -112px; }\n.ui-icon-cancel { background-position: 0 -128px; }\n.ui-icon-plus { background-position: -16px -128px; }\n.ui-icon-plusthick { background-position: -32px -128px; }\n.ui-icon-minus { background-position: -48px -128px; }\n.ui-icon-minusthick { background-position: -64px -128px; }\n.ui-icon-close { background-position: -80px -128px; }\n.ui-icon-closethick { background-position: -96px -128px; }\n.ui-icon-key { background-position: -112px -128px; }\n.ui-icon-lightbulb { background-position: -128px -128px; }\n.ui-icon-scissors { background-position: -144px -128px; }\n.ui-icon-clipboard { background-position: -160px -128px; }\n.ui-icon-copy { background-position: -176px -128px; }\n.ui-icon-contact { background-position: -192px -128px; }\n.ui-icon-image { background-position: -208px -128px; }\n.ui-icon-video { background-position: -224px -128px; }\n.ui-icon-script { background-position: -240px -128px; }\n.ui-icon-alert { background-position: 0 -144px; }\n.ui-icon-info { background-position: -16px -144px; }\n.ui-icon-notice { background-position: -32px -144px; }\n.ui-icon-help { background-position: -48px -144px; }\n.ui-icon-check { background-position: -64px -144px; }\n.ui-icon-bullet { background-position: -80px -144px; }\n.ui-icon-radio-on { background-position: -96px -144px; }\n.ui-icon-radio-off { background-position: -112px -144px; }\n.ui-icon-pin-w { background-position: -128px -144px; }\n.ui-icon-pin-s { background-position: -144px -144px; }\n.ui-icon-play { background-position: 0 -160px; }\n.ui-icon-pause { background-position: -16px -160px; }\n.ui-icon-seek-next { background-position: -32px -160px; }\n.ui-icon-seek-prev { background-position: -48px -160px; }\n.ui-icon-seek-end { background-position: -64px -160px; }\n.ui-icon-seek-start { background-position: -80px -160px; }\n/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */\n.ui-icon-seek-first { background-position: -80px -160px; }\n.ui-icon-stop { background-position: -96px -160px; }\n.ui-icon-eject { background-position: -112px -160px; }\n.ui-icon-volume-off { background-position: -128px -160px; }\n.ui-icon-volume-on { background-position: -144px -160px; }\n.ui-icon-power { background-position: 0 -176px; }\n.ui-icon-signal-diag { background-position: -16px -176px; }\n.ui-icon-signal { background-position: -32px -176px; }\n.ui-icon-battery-0 { background-position: -48px -176px; }\n.ui-icon-battery-1 { background-position: -64px -176px; }\n.ui-icon-battery-2 { background-position: -80px -176px; }\n.ui-icon-battery-3 { background-position: -96px -176px; }\n.ui-icon-circle-plus { background-position: 0 -192px; }\n.ui-icon-circle-minus { background-position: -16px -192px; }\n.ui-icon-circle-close { background-position: -32px -192px; }\n.ui-icon-circle-triangle-e { background-position: -48px -192px; }\n.ui-icon-circle-triangle-s { background-position: -64px -192px; }\n.ui-icon-circle-triangle-w { background-position: -80px -192px; }\n.ui-icon-circle-triangle-n { background-position: -96px -192px; }\n.ui-icon-circle-arrow-e { background-position: -112px -192px; }\n.ui-icon-circle-arrow-s { background-position: -128px -192px; }\n.ui-icon-circle-arrow-w { background-position: -144px -192px; }\n.ui-icon-circle-arrow-n { background-position: -160px -192px; }\n.ui-icon-circle-zoomin { background-position: -176px -192px; }\n.ui-icon-circle-zoomout { background-position: -192px -192px; }\n.ui-icon-circle-check { background-position: -208px -192px; }\n.ui-icon-circlesmall-plus { background-position: 0 -208px; }\n.ui-icon-circlesmall-minus { background-position: -16px -208px; }\n.ui-icon-circlesmall-close { background-position: -32px -208px; }\n.ui-icon-squaresmall-plus { background-position: -48px -208px; }\n.ui-icon-squaresmall-minus { background-position: -64px -208px; }\n.ui-icon-squaresmall-close { background-position: -80px -208px; }\n.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }\n.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }\n.ui-icon-grip-solid-vertical { background-position: -32px -224px; }\n.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }\n.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }\n.ui-icon-grip-diagonal-se { background-position: -80px -224px; }\n\n\n/* Misc visuals\n----------------------------------*/\n\n/* Corner radius */\n.ui-corner-all,\n.ui-corner-top,\n.ui-corner-left,\n.ui-corner-tl {\n\tborder-top-left-radius: 4px;\n}\n.ui-corner-all,\n.ui-corner-top,\n.ui-corner-right,\n.ui-corner-tr {\n\tborder-top-right-radius: 4px;\n}\n.ui-corner-all,\n.ui-corner-bottom,\n.ui-corner-left,\n.ui-corner-bl {\n\tborder-bottom-left-radius: 4px;\n}\n.ui-corner-all,\n.ui-corner-bottom,\n.ui-corner-right,\n.ui-corner-br {\n\tborder-bottom-right-radius: 4px;\n}\n\n/* Overlays */\n.ui-widget-overlay {\n\tbackground: #666666 url(\"images/ui-bg_diagonals-thick_20_666666_40x40.png\") 50% 50% repeat;\n\topacity: .5;\n\tfilter: Alpha(Opacity=50); /* support: IE8 */\n}\n.ui-widget-shadow {\n\tmargin: -5px 0 0 -5px;\n\tpadding: 5px;\n\tbackground: #000000 url(\"images/ui-bg_flat_10_000000_40x100.png\") 50% 50% repeat-x;\n\topacity: .2;\n\tfilter: Alpha(Opacity=20); /* support: IE8 */\n\tborder-radius: 5px;\n}\n"
  },
  {
    "path": "app/assets/stylesheets/jquery-ui.structure.css",
    "content": "/*!\n * jQuery UI CSS Framework 1.11.4\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/category/theming/\n */\n\n/* Layout helpers\n----------------------------------*/\n.ui-helper-hidden {\n\tdisplay: none;\n}\n.ui-helper-hidden-accessible {\n\tborder: 0;\n\tclip: rect(0 0 0 0);\n\theight: 1px;\n\tmargin: -1px;\n\toverflow: hidden;\n\tpadding: 0;\n\tposition: absolute;\n\twidth: 1px;\n}\n.ui-helper-reset {\n\tmargin: 0;\n\tpadding: 0;\n\tborder: 0;\n\toutline: 0;\n\tline-height: 1.3;\n\ttext-decoration: none;\n\tfont-size: 100%;\n\tlist-style: none;\n}\n.ui-helper-clearfix:before,\n.ui-helper-clearfix:after {\n\tcontent: \"\";\n\tdisplay: table;\n\tborder-collapse: collapse;\n}\n.ui-helper-clearfix:after {\n\tclear: both;\n}\n.ui-helper-clearfix {\n\tmin-height: 0; /* support: IE7 */\n}\n.ui-helper-zfix {\n\twidth: 100%;\n\theight: 100%;\n\ttop: 0;\n\tleft: 0;\n\tposition: absolute;\n\topacity: 0;\n\tfilter:Alpha(Opacity=0); /* support: IE8 */\n}\n\n.ui-front {\n\tz-index: 100;\n}\n\n\n/* Interaction Cues\n----------------------------------*/\n.ui-state-disabled {\n\tcursor: default !important;\n}\n\n\n/* Icons\n----------------------------------*/\n\n/* states and images */\n.ui-icon {\n\tdisplay: block;\n\ttext-indent: -99999px;\n\toverflow: hidden;\n\tbackground-repeat: no-repeat;\n}\n\n\n/* Misc visuals\n----------------------------------*/\n\n/* Overlays */\n.ui-widget-overlay {\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\twidth: 100%;\n\theight: 100%;\n}\n.ui-accordion .ui-accordion-header {\n\tdisplay: block;\n\tcursor: pointer;\n\tposition: relative;\n\tmargin: 2px 0 0 0;\n\tpadding: .5em .5em .5em .7em;\n\tmin-height: 0; /* support: IE7 */\n\tfont-size: 100%;\n}\n.ui-accordion .ui-accordion-icons {\n\tpadding-left: 2.2em;\n}\n.ui-accordion .ui-accordion-icons .ui-accordion-icons {\n\tpadding-left: 2.2em;\n}\n.ui-accordion .ui-accordion-header .ui-accordion-header-icon {\n\tposition: absolute;\n\tleft: .5em;\n\ttop: 50%;\n\tmargin-top: -8px;\n}\n.ui-accordion .ui-accordion-content {\n\tpadding: 1em 2.2em;\n\tborder-top: 0;\n\toverflow: auto;\n}\n.ui-autocomplete {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tcursor: default;\n}\n.ui-button {\n\tdisplay: inline-block;\n\tposition: relative;\n\tpadding: 0;\n\tline-height: normal;\n\tmargin-right: .1em;\n\tcursor: pointer;\n\tvertical-align: middle;\n\ttext-align: center;\n\toverflow: visible; /* removes extra width in IE */\n}\n.ui-button,\n.ui-button:link,\n.ui-button:visited,\n.ui-button:hover,\n.ui-button:active {\n\ttext-decoration: none;\n}\n/* to make room for the icon, a width needs to be set here */\n.ui-button-icon-only {\n\twidth: 2.2em;\n}\n/* button elements seem to need a little more width */\nbutton.ui-button-icon-only {\n\twidth: 2.4em;\n}\n.ui-button-icons-only {\n\twidth: 3.4em;\n}\nbutton.ui-button-icons-only {\n\twidth: 3.7em;\n}\n\n/* button text element */\n.ui-button .ui-button-text {\n\tdisplay: block;\n\tline-height: normal;\n}\n.ui-button-text-only .ui-button-text {\n\tpadding: .4em 1em;\n}\n.ui-button-icon-only .ui-button-text,\n.ui-button-icons-only .ui-button-text {\n\tpadding: .4em;\n\ttext-indent: -9999999px;\n}\n.ui-button-text-icon-primary .ui-button-text,\n.ui-button-text-icons .ui-button-text {\n\tpadding: .4em 1em .4em 2.1em;\n}\n.ui-button-text-icon-secondary .ui-button-text,\n.ui-button-text-icons .ui-button-text {\n\tpadding: .4em 2.1em .4em 1em;\n}\n.ui-button-text-icons .ui-button-text {\n\tpadding-left: 2.1em;\n\tpadding-right: 2.1em;\n}\n/* no icon support for input elements, provide padding by default */\ninput.ui-button {\n\tpadding: .4em 1em;\n}\n\n/* button icon element(s) */\n.ui-button-icon-only .ui-icon,\n.ui-button-text-icon-primary .ui-icon,\n.ui-button-text-icon-secondary .ui-icon,\n.ui-button-text-icons .ui-icon,\n.ui-button-icons-only .ui-icon {\n\tposition: absolute;\n\ttop: 50%;\n\tmargin-top: -8px;\n}\n.ui-button-icon-only .ui-icon {\n\tleft: 50%;\n\tmargin-left: -8px;\n}\n.ui-button-text-icon-primary .ui-button-icon-primary,\n.ui-button-text-icons .ui-button-icon-primary,\n.ui-button-icons-only .ui-button-icon-primary {\n\tleft: .5em;\n}\n.ui-button-text-icon-secondary .ui-button-icon-secondary,\n.ui-button-text-icons .ui-button-icon-secondary,\n.ui-button-icons-only .ui-button-icon-secondary {\n\tright: .5em;\n}\n\n/* button sets */\n.ui-buttonset {\n\tmargin-right: 7px;\n}\n.ui-buttonset .ui-button {\n\tmargin-left: 0;\n\tmargin-right: -.3em;\n}\n\n/* workarounds */\n/* reset extra padding in Firefox, see h5bp.com/l */\ninput.ui-button::-moz-focus-inner,\nbutton.ui-button::-moz-focus-inner {\n\tborder: 0;\n\tpadding: 0;\n}\n.ui-datepicker {\n\twidth: 17em;\n\tpadding: .2em .2em 0;\n\tdisplay: none;\n}\n.ui-datepicker .ui-datepicker-header {\n\tposition: relative;\n\tpadding: .2em 0;\n}\n.ui-datepicker .ui-datepicker-prev,\n.ui-datepicker .ui-datepicker-next {\n\tposition: absolute;\n\ttop: 2px;\n\twidth: 1.8em;\n\theight: 1.8em;\n}\n.ui-datepicker .ui-datepicker-prev-hover,\n.ui-datepicker .ui-datepicker-next-hover {\n\ttop: 1px;\n}\n.ui-datepicker .ui-datepicker-prev {\n\tleft: 2px;\n}\n.ui-datepicker .ui-datepicker-next {\n\tright: 2px;\n}\n.ui-datepicker .ui-datepicker-prev-hover {\n\tleft: 1px;\n}\n.ui-datepicker .ui-datepicker-next-hover {\n\tright: 1px;\n}\n.ui-datepicker .ui-datepicker-prev span,\n.ui-datepicker .ui-datepicker-next span {\n\tdisplay: block;\n\tposition: absolute;\n\tleft: 50%;\n\tmargin-left: -8px;\n\ttop: 50%;\n\tmargin-top: -8px;\n}\n.ui-datepicker .ui-datepicker-title {\n\tmargin: 0 2.3em;\n\tline-height: 1.8em;\n\ttext-align: center;\n}\n.ui-datepicker .ui-datepicker-title select {\n\tfont-size: 1em;\n\tmargin: 1px 0;\n}\n.ui-datepicker select.ui-datepicker-month,\n.ui-datepicker select.ui-datepicker-year {\n\twidth: 45%;\n}\n.ui-datepicker table {\n\twidth: 100%;\n\tfont-size: .9em;\n\tborder-collapse: collapse;\n\tmargin: 0 0 .4em;\n}\n.ui-datepicker th {\n\tpadding: .7em .3em;\n\ttext-align: center;\n\tfont-weight: bold;\n\tborder: 0;\n}\n.ui-datepicker td {\n\tborder: 0;\n\tpadding: 1px;\n}\n.ui-datepicker td span,\n.ui-datepicker td a {\n\tdisplay: block;\n\tpadding: .2em;\n\ttext-align: right;\n\ttext-decoration: none;\n}\n.ui-datepicker .ui-datepicker-buttonpane {\n\tbackground-image: none;\n\tmargin: .7em 0 0 0;\n\tpadding: 0 .2em;\n\tborder-left: 0;\n\tborder-right: 0;\n\tborder-bottom: 0;\n}\n.ui-datepicker .ui-datepicker-buttonpane button {\n\tfloat: right;\n\tmargin: .5em .2em .4em;\n\tcursor: pointer;\n\tpadding: .2em .6em .3em .6em;\n\twidth: auto;\n\toverflow: visible;\n}\n.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {\n\tfloat: left;\n}\n\n/* with multiple calendars */\n.ui-datepicker.ui-datepicker-multi {\n\twidth: auto;\n}\n.ui-datepicker-multi .ui-datepicker-group {\n\tfloat: left;\n}\n.ui-datepicker-multi .ui-datepicker-group table {\n\twidth: 95%;\n\tmargin: 0 auto .4em;\n}\n.ui-datepicker-multi-2 .ui-datepicker-group {\n\twidth: 50%;\n}\n.ui-datepicker-multi-3 .ui-datepicker-group {\n\twidth: 33.3%;\n}\n.ui-datepicker-multi-4 .ui-datepicker-group {\n\twidth: 25%;\n}\n.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,\n.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {\n\tborder-left-width: 0;\n}\n.ui-datepicker-multi .ui-datepicker-buttonpane {\n\tclear: left;\n}\n.ui-datepicker-row-break {\n\tclear: both;\n\twidth: 100%;\n\tfont-size: 0;\n}\n\n/* RTL support */\n.ui-datepicker-rtl {\n\tdirection: rtl;\n}\n.ui-datepicker-rtl .ui-datepicker-prev {\n\tright: 2px;\n\tleft: auto;\n}\n.ui-datepicker-rtl .ui-datepicker-next {\n\tleft: 2px;\n\tright: auto;\n}\n.ui-datepicker-rtl .ui-datepicker-prev:hover {\n\tright: 1px;\n\tleft: auto;\n}\n.ui-datepicker-rtl .ui-datepicker-next:hover {\n\tleft: 1px;\n\tright: auto;\n}\n.ui-datepicker-rtl .ui-datepicker-buttonpane {\n\tclear: right;\n}\n.ui-datepicker-rtl .ui-datepicker-buttonpane button {\n\tfloat: left;\n}\n.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,\n.ui-datepicker-rtl .ui-datepicker-group {\n\tfloat: right;\n}\n.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,\n.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {\n\tborder-right-width: 0;\n\tborder-left-width: 1px;\n}\n.ui-dialog {\n\toverflow: hidden;\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tpadding: .2em;\n\toutline: 0;\n}\n.ui-dialog .ui-dialog-titlebar {\n\tpadding: .4em 1em;\n\tposition: relative;\n}\n.ui-dialog .ui-dialog-title {\n\tfloat: left;\n\tmargin: .1em 0;\n\twhite-space: nowrap;\n\twidth: 90%;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n}\n.ui-dialog .ui-dialog-titlebar-close {\n\tposition: absolute;\n\tright: .3em;\n\ttop: 50%;\n\twidth: 20px;\n\tmargin: -10px 0 0 0;\n\tpadding: 1px;\n\theight: 20px;\n}\n.ui-dialog .ui-dialog-content {\n\tposition: relative;\n\tborder: 0;\n\tpadding: .5em 1em;\n\tbackground: none;\n\toverflow: auto;\n}\n.ui-dialog .ui-dialog-buttonpane {\n\ttext-align: left;\n\tborder-width: 1px 0 0 0;\n\tbackground-image: none;\n\tmargin-top: .5em;\n\tpadding: .3em 1em .5em .4em;\n}\n.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {\n\tfloat: right;\n}\n.ui-dialog .ui-dialog-buttonpane button {\n\tmargin: .5em .4em .5em 0;\n\tcursor: pointer;\n}\n.ui-dialog .ui-resizable-se {\n\twidth: 12px;\n\theight: 12px;\n\tright: -5px;\n\tbottom: -5px;\n\tbackground-position: 16px 16px;\n}\n.ui-draggable .ui-dialog-titlebar {\n\tcursor: move;\n}\n.ui-draggable-handle {\n\t-ms-touch-action: none;\n\ttouch-action: none;\n}\n.ui-menu {\n\tlist-style: none;\n\tpadding: 0;\n\tmargin: 0;\n\tdisplay: block;\n\toutline: none;\n}\n.ui-menu .ui-menu {\n\tposition: absolute;\n}\n.ui-menu .ui-menu-item {\n\tposition: relative;\n\tmargin: 0;\n\tpadding: 3px 1em 3px .4em;\n\tcursor: pointer;\n\tmin-height: 0; /* support: IE7 */\n\t/* support: IE10, see #8844 */\n\tlist-style-image: url(\"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\");\n}\n.ui-menu .ui-menu-divider {\n\tmargin: 5px 0;\n\theight: 0;\n\tfont-size: 0;\n\tline-height: 0;\n\tborder-width: 1px 0 0 0;\n}\n.ui-menu .ui-state-focus,\n.ui-menu .ui-state-active {\n\tmargin: -1px;\n}\n\n/* icon support */\n.ui-menu-icons {\n\tposition: relative;\n}\n.ui-menu-icons .ui-menu-item {\n\tpadding-left: 2em;\n}\n\n/* left-aligned */\n.ui-menu .ui-icon {\n\tposition: absolute;\n\ttop: 0;\n\tbottom: 0;\n\tleft: .2em;\n\tmargin: auto 0;\n}\n\n/* right-aligned */\n.ui-menu .ui-menu-icon {\n\tleft: auto;\n\tright: 0;\n}\n.ui-progressbar {\n\theight: 2em;\n\ttext-align: left;\n\toverflow: hidden;\n}\n.ui-progressbar .ui-progressbar-value {\n\tmargin: -1px;\n\theight: 100%;\n}\n.ui-progressbar .ui-progressbar-overlay {\n\tbackground: url(\"data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==\");\n\theight: 100%;\n\tfilter: alpha(opacity=25); /* support: IE8 */\n\topacity: 0.25;\n}\n.ui-progressbar-indeterminate .ui-progressbar-value {\n\tbackground-image: none;\n}\n.ui-resizable {\n\tposition: relative;\n}\n.ui-resizable-handle {\n\tposition: absolute;\n\tfont-size: 0.1px;\n\tdisplay: block;\n\t-ms-touch-action: none;\n\ttouch-action: none;\n}\n.ui-resizable-disabled .ui-resizable-handle,\n.ui-resizable-autohide .ui-resizable-handle {\n\tdisplay: none;\n}\n.ui-resizable-n {\n\tcursor: n-resize;\n\theight: 7px;\n\twidth: 100%;\n\ttop: -5px;\n\tleft: 0;\n}\n.ui-resizable-s {\n\tcursor: s-resize;\n\theight: 7px;\n\twidth: 100%;\n\tbottom: -5px;\n\tleft: 0;\n}\n.ui-resizable-e {\n\tcursor: e-resize;\n\twidth: 7px;\n\tright: -5px;\n\ttop: 0;\n\theight: 100%;\n}\n.ui-resizable-w {\n\tcursor: w-resize;\n\twidth: 7px;\n\tleft: -5px;\n\ttop: 0;\n\theight: 100%;\n}\n.ui-resizable-se {\n\tcursor: se-resize;\n\twidth: 12px;\n\theight: 12px;\n\tright: 1px;\n\tbottom: 1px;\n}\n.ui-resizable-sw {\n\tcursor: sw-resize;\n\twidth: 9px;\n\theight: 9px;\n\tleft: -5px;\n\tbottom: -5px;\n}\n.ui-resizable-nw {\n\tcursor: nw-resize;\n\twidth: 9px;\n\theight: 9px;\n\tleft: -5px;\n\ttop: -5px;\n}\n.ui-resizable-ne {\n\tcursor: ne-resize;\n\twidth: 9px;\n\theight: 9px;\n\tright: -5px;\n\ttop: -5px;\n}\n.ui-selectable {\n\t-ms-touch-action: none;\n\ttouch-action: none;\n}\n.ui-selectable-helper {\n\tposition: absolute;\n\tz-index: 100;\n\tborder: 1px dotted black;\n}\n.ui-selectmenu-menu {\n\tpadding: 0;\n\tmargin: 0;\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tdisplay: none;\n}\n.ui-selectmenu-menu .ui-menu {\n\toverflow: auto;\n\t/* Support: IE7 */\n\toverflow-x: hidden;\n\tpadding-bottom: 1px;\n}\n.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup {\n\tfont-size: 1em;\n\tfont-weight: bold;\n\tline-height: 1.5;\n\tpadding: 2px 0.4em;\n\tmargin: 0.5em 0 0 0;\n\theight: auto;\n\tborder: 0;\n}\n.ui-selectmenu-open {\n\tdisplay: block;\n}\n.ui-selectmenu-button {\n\tdisplay: inline-block;\n\toverflow: hidden;\n\tposition: relative;\n\ttext-decoration: none;\n\tcursor: pointer;\n}\n.ui-selectmenu-button span.ui-icon {\n\tright: 0.5em;\n\tleft: auto;\n\tmargin-top: -8px;\n\tposition: absolute;\n\ttop: 50%;\n}\n.ui-selectmenu-button span.ui-selectmenu-text {\n\ttext-align: left;\n\tpadding: 0.4em 2.1em 0.4em 1em;\n\tdisplay: block;\n\tline-height: 1.4;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n}\n.ui-slider {\n\tposition: relative;\n\ttext-align: left;\n}\n.ui-slider .ui-slider-handle {\n\tposition: absolute;\n\tz-index: 2;\n\twidth: 1.2em;\n\theight: 1.2em;\n\tcursor: default;\n\t-ms-touch-action: none;\n\ttouch-action: none;\n}\n.ui-slider .ui-slider-range {\n\tposition: absolute;\n\tz-index: 1;\n\tfont-size: .7em;\n\tdisplay: block;\n\tborder: 0;\n\tbackground-position: 0 0;\n}\n\n/* support: IE8 - See #6727 */\n.ui-slider.ui-state-disabled .ui-slider-handle,\n.ui-slider.ui-state-disabled .ui-slider-range {\n\tfilter: inherit;\n}\n\n.ui-slider-horizontal {\n\theight: .8em;\n}\n.ui-slider-horizontal .ui-slider-handle {\n\ttop: -.3em;\n\tmargin-left: -.6em;\n}\n.ui-slider-horizontal .ui-slider-range {\n\ttop: 0;\n\theight: 100%;\n}\n.ui-slider-horizontal .ui-slider-range-min {\n\tleft: 0;\n}\n.ui-slider-horizontal .ui-slider-range-max {\n\tright: 0;\n}\n\n.ui-slider-vertical {\n\twidth: .8em;\n\theight: 100px;\n}\n.ui-slider-vertical .ui-slider-handle {\n\tleft: -.3em;\n\tmargin-left: 0;\n\tmargin-bottom: -.6em;\n}\n.ui-slider-vertical .ui-slider-range {\n\tleft: 0;\n\twidth: 100%;\n}\n.ui-slider-vertical .ui-slider-range-min {\n\tbottom: 0;\n}\n.ui-slider-vertical .ui-slider-range-max {\n\ttop: 0;\n}\n.ui-sortable-handle {\n\t-ms-touch-action: none;\n\ttouch-action: none;\n}\n.ui-spinner {\n\tposition: relative;\n\tdisplay: inline-block;\n\toverflow: hidden;\n\tpadding: 0;\n\tvertical-align: middle;\n}\n.ui-spinner-input {\n\tborder: none;\n\tbackground: none;\n\tcolor: inherit;\n\tpadding: 0;\n\tmargin: .2em 0;\n\tvertical-align: middle;\n\tmargin-left: .4em;\n\tmargin-right: 22px;\n}\n.ui-spinner-button {\n\twidth: 16px;\n\theight: 50%;\n\tfont-size: .5em;\n\tpadding: 0;\n\tmargin: 0;\n\ttext-align: center;\n\tposition: absolute;\n\tcursor: default;\n\tdisplay: block;\n\toverflow: hidden;\n\tright: 0;\n}\n/* more specificity required here to override default borders */\n.ui-spinner a.ui-spinner-button {\n\tborder-top: none;\n\tborder-bottom: none;\n\tborder-right: none;\n}\n/* vertically center icon */\n.ui-spinner .ui-icon {\n\tposition: absolute;\n\tmargin-top: -8px;\n\ttop: 50%;\n\tleft: 0;\n}\n.ui-spinner-up {\n\ttop: 0;\n}\n.ui-spinner-down {\n\tbottom: 0;\n}\n\n/* TR overrides */\n.ui-spinner .ui-icon-triangle-1-s {\n\t/* need to fix icons sprite */\n\tbackground-position: -65px -16px;\n}\n.ui-tabs {\n\tposition: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as \"fixed\") */\n\tpadding: .2em;\n}\n.ui-tabs .ui-tabs-nav {\n\tmargin: 0;\n\tpadding: .2em .2em 0;\n}\n.ui-tabs .ui-tabs-nav li {\n\tlist-style: none;\n\tfloat: left;\n\tposition: relative;\n\ttop: 0;\n\tmargin: 1px .2em 0 0;\n\tborder-bottom-width: 0;\n\tpadding: 0;\n\twhite-space: nowrap;\n}\n.ui-tabs .ui-tabs-nav .ui-tabs-anchor {\n\tfloat: left;\n\tpadding: .5em 1em;\n\ttext-decoration: none;\n}\n.ui-tabs .ui-tabs-nav li.ui-tabs-active {\n\tmargin-bottom: -1px;\n\tpadding-bottom: 1px;\n}\n.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,\n.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,\n.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor {\n\tcursor: text;\n}\n.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor {\n\tcursor: pointer;\n}\n.ui-tabs .ui-tabs-panel {\n\tdisplay: block;\n\tborder-width: 0;\n\tpadding: 1em 1.4em;\n\tbackground: none;\n}\n.ui-tooltip {\n\tpadding: 8px;\n\tposition: absolute;\n\tz-index: 9999;\n\tmax-width: 300px;\n\t-webkit-box-shadow: 0 0 5px #aaa;\n\tbox-shadow: 0 0 5px #aaa;\n}\nbody .ui-tooltip {\n\tborder-width: 2px;\n}\n"
  },
  {
    "path": "app/assets/stylesheets/jquery-ui.theme.css",
    "content": "/*!\n * jQuery UI CSS Framework 1.11.4\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/category/theming/\n *\n * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Trebuchet%20MS%2CTahoma%2CVerdana%2CArial%2Csans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=f6a828&bgTextureHeader=gloss_wave&bgImgOpacityHeader=35&borderColorHeader=e78f08&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=eeeeee&bgTextureContent=highlight_soft&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=333333&iconColorContent=222222&bgColorDefault=f6f6f6&bgTextureDefault=glass&bgImgOpacityDefault=100&borderColorDefault=cccccc&fcDefault=1c94c4&iconColorDefault=ef8c08&bgColorHover=fdf5ce&bgTextureHover=glass&bgImgOpacityHover=100&borderColorHover=fbcb09&fcHover=c77405&iconColorHover=ef8c08&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=fbd850&fcActive=eb8f00&iconColorActive=ef8c08&bgColorHighlight=ffe45c&bgTextureHighlight=highlight_soft&bgImgOpacityHighlight=75&borderColorHighlight=fed22f&fcHighlight=363636&iconColorHighlight=228ef1&bgColorError=b81900&bgTextureError=diagonals_thick&bgImgOpacityError=18&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffd27a&bgColorOverlay=666666&bgTextureOverlay=diagonals_thick&bgImgOpacityOverlay=20&opacityOverlay=50&bgColorShadow=000000&bgTextureShadow=flat&bgImgOpacityShadow=10&opacityShadow=20&thicknessShadow=5px&offsetTopShadow=-5px&offsetLeftShadow=-5px&cornerRadiusShadow=5px\n */\n\n\n/* Component containers\n----------------------------------*/\n.ui-widget {\n\tfont-family: Trebuchet MS,Tahoma,Verdana,Arial,sans-serif;\n\tfont-size: 1.1em;\n}\n.ui-widget .ui-widget {\n\tfont-size: 1em;\n}\n.ui-widget input,\n.ui-widget select,\n.ui-widget textarea,\n.ui-widget button {\n\tfont-family: Trebuchet MS,Tahoma,Verdana,Arial,sans-serif;\n\tfont-size: 1em;\n}\n.ui-widget-content {\n\tborder: 1px solid #dddddd;\n\tbackground: #eeeeee url(\"images/ui-bg_highlight-soft_100_eeeeee_1x100.png\") 50% top repeat-x;\n\tcolor: #333333;\n}\n.ui-widget-content a {\n\tcolor: #333333;\n}\n.ui-widget-header {\n\tborder: 1px solid #e78f08;\n\tbackground: #f6a828 url(\"images/ui-bg_gloss-wave_35_f6a828_500x100.png\") 50% 50% repeat-x;\n\tcolor: #ffffff;\n\tfont-weight: bold;\n}\n.ui-widget-header a {\n\tcolor: #ffffff;\n}\n\n/* Interaction states\n----------------------------------*/\n.ui-state-default,\n.ui-widget-content .ui-state-default,\n.ui-widget-header .ui-state-default {\n\tborder: 1px solid #cccccc;\n\tbackground: #f6f6f6 url(\"images/ui-bg_glass_100_f6f6f6_1x400.png\") 50% 50% repeat-x;\n\tfont-weight: bold;\n\tcolor: #1c94c4;\n}\n.ui-state-default a,\n.ui-state-default a:link,\n.ui-state-default a:visited {\n\tcolor: #1c94c4;\n\ttext-decoration: none;\n}\n.ui-state-hover,\n.ui-widget-content .ui-state-hover,\n.ui-widget-header .ui-state-hover,\n.ui-state-focus,\n.ui-widget-content .ui-state-focus,\n.ui-widget-header .ui-state-focus {\n\tborder: 1px solid #fbcb09;\n\tbackground: #fdf5ce url(\"images/ui-bg_glass_100_fdf5ce_1x400.png\") 50% 50% repeat-x;\n\tfont-weight: bold;\n\tcolor: #c77405;\n}\n.ui-state-hover a,\n.ui-state-hover a:hover,\n.ui-state-hover a:link,\n.ui-state-hover a:visited,\n.ui-state-focus a,\n.ui-state-focus a:hover,\n.ui-state-focus a:link,\n.ui-state-focus a:visited {\n\tcolor: #c77405;\n\ttext-decoration: none;\n}\n.ui-state-active,\n.ui-widget-content .ui-state-active,\n.ui-widget-header .ui-state-active {\n\tborder: 1px solid #fbd850;\n\tbackground: #ffffff url(\"images/ui-bg_glass_65_ffffff_1x400.png\") 50% 50% repeat-x;\n\tfont-weight: bold;\n\tcolor: #eb8f00;\n}\n.ui-state-active a,\n.ui-state-active a:link,\n.ui-state-active a:visited {\n\tcolor: #eb8f00;\n\ttext-decoration: none;\n}\n\n/* Interaction Cues\n----------------------------------*/\n.ui-state-highlight,\n.ui-widget-content .ui-state-highlight,\n.ui-widget-header .ui-state-highlight {\n\tborder: 1px solid #fed22f;\n\tbackground: #ffe45c url(\"images/ui-bg_highlight-soft_75_ffe45c_1x100.png\") 50% top repeat-x;\n\tcolor: #363636;\n}\n.ui-state-highlight a,\n.ui-widget-content .ui-state-highlight a,\n.ui-widget-header .ui-state-highlight a {\n\tcolor: #363636;\n}\n.ui-state-error,\n.ui-widget-content .ui-state-error,\n.ui-widget-header .ui-state-error {\n\tborder: 1px solid #cd0a0a;\n\tbackground: #b81900 url(\"images/ui-bg_diagonals-thick_18_b81900_40x40.png\") 50% 50% repeat;\n\tcolor: #ffffff;\n}\n.ui-state-error a,\n.ui-widget-content .ui-state-error a,\n.ui-widget-header .ui-state-error a {\n\tcolor: #ffffff;\n}\n.ui-state-error-text,\n.ui-widget-content .ui-state-error-text,\n.ui-widget-header .ui-state-error-text {\n\tcolor: #ffffff;\n}\n.ui-priority-primary,\n.ui-widget-content .ui-priority-primary,\n.ui-widget-header .ui-priority-primary {\n\tfont-weight: bold;\n}\n.ui-priority-secondary,\n.ui-widget-content .ui-priority-secondary,\n.ui-widget-header .ui-priority-secondary {\n\topacity: .7;\n\tfilter:Alpha(Opacity=70); /* support: IE8 */\n\tfont-weight: normal;\n}\n.ui-state-disabled,\n.ui-widget-content .ui-state-disabled,\n.ui-widget-header .ui-state-disabled {\n\topacity: .35;\n\tfilter:Alpha(Opacity=35); /* support: IE8 */\n\tbackground-image: none;\n}\n.ui-state-disabled .ui-icon {\n\tfilter:Alpha(Opacity=35); /* support: IE8 - See #6059 */\n}\n\n/* Icons\n----------------------------------*/\n\n/* states and images */\n.ui-icon {\n\twidth: 16px;\n\theight: 16px;\n}\n.ui-icon,\n.ui-widget-content .ui-icon {\n\tbackground-image: url(\"images/ui-icons_222222_256x240.png\");\n}\n.ui-widget-header .ui-icon {\n\tbackground-image: url(\"images/ui-icons_ffffff_256x240.png\");\n}\n.ui-state-default .ui-icon {\n\tbackground-image: url(\"images/ui-icons_ef8c08_256x240.png\");\n}\n.ui-state-hover .ui-icon,\n.ui-state-focus .ui-icon {\n\tbackground-image: url(\"images/ui-icons_ef8c08_256x240.png\");\n}\n.ui-state-active .ui-icon {\n\tbackground-image: url(\"images/ui-icons_ef8c08_256x240.png\");\n}\n.ui-state-highlight .ui-icon {\n\tbackground-image: url(\"images/ui-icons_228ef1_256x240.png\");\n}\n.ui-state-error .ui-icon,\n.ui-state-error-text .ui-icon {\n\tbackground-image: url(\"images/ui-icons_ffd27a_256x240.png\");\n}\n\n/* positioning */\n.ui-icon-blank { background-position: 16px 16px; }\n.ui-icon-carat-1-n { background-position: 0 0; }\n.ui-icon-carat-1-ne { background-position: -16px 0; }\n.ui-icon-carat-1-e { background-position: -32px 0; }\n.ui-icon-carat-1-se { background-position: -48px 0; }\n.ui-icon-carat-1-s { background-position: -64px 0; }\n.ui-icon-carat-1-sw { background-position: -80px 0; }\n.ui-icon-carat-1-w { background-position: -96px 0; }\n.ui-icon-carat-1-nw { background-position: -112px 0; }\n.ui-icon-carat-2-n-s { background-position: -128px 0; }\n.ui-icon-carat-2-e-w { background-position: -144px 0; }\n.ui-icon-triangle-1-n { background-position: 0 -16px; }\n.ui-icon-triangle-1-ne { background-position: -16px -16px; }\n.ui-icon-triangle-1-e { background-position: -32px -16px; }\n.ui-icon-triangle-1-se { background-position: -48px -16px; }\n.ui-icon-triangle-1-s { background-position: -64px -16px; }\n.ui-icon-triangle-1-sw { background-position: -80px -16px; }\n.ui-icon-triangle-1-w { background-position: -96px -16px; }\n.ui-icon-triangle-1-nw { background-position: -112px -16px; }\n.ui-icon-triangle-2-n-s { background-position: -128px -16px; }\n.ui-icon-triangle-2-e-w { background-position: -144px -16px; }\n.ui-icon-arrow-1-n { background-position: 0 -32px; }\n.ui-icon-arrow-1-ne { background-position: -16px -32px; }\n.ui-icon-arrow-1-e { background-position: -32px -32px; }\n.ui-icon-arrow-1-se { background-position: -48px -32px; }\n.ui-icon-arrow-1-s { background-position: -64px -32px; }\n.ui-icon-arrow-1-sw { background-position: -80px -32px; }\n.ui-icon-arrow-1-w { background-position: -96px -32px; }\n.ui-icon-arrow-1-nw { background-position: -112px -32px; }\n.ui-icon-arrow-2-n-s { background-position: -128px -32px; }\n.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }\n.ui-icon-arrow-2-e-w { background-position: -160px -32px; }\n.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }\n.ui-icon-arrowstop-1-n { background-position: -192px -32px; }\n.ui-icon-arrowstop-1-e { background-position: -208px -32px; }\n.ui-icon-arrowstop-1-s { background-position: -224px -32px; }\n.ui-icon-arrowstop-1-w { background-position: -240px -32px; }\n.ui-icon-arrowthick-1-n { background-position: 0 -48px; }\n.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }\n.ui-icon-arrowthick-1-e { background-position: -32px -48px; }\n.ui-icon-arrowthick-1-se { background-position: -48px -48px; }\n.ui-icon-arrowthick-1-s { background-position: -64px -48px; }\n.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }\n.ui-icon-arrowthick-1-w { background-position: -96px -48px; }\n.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }\n.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }\n.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }\n.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }\n.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }\n.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }\n.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }\n.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }\n.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }\n.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }\n.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }\n.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }\n.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }\n.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }\n.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }\n.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }\n.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }\n.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }\n.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }\n.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }\n.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }\n.ui-icon-arrow-4 { background-position: 0 -80px; }\n.ui-icon-arrow-4-diag { background-position: -16px -80px; }\n.ui-icon-extlink { background-position: -32px -80px; }\n.ui-icon-newwin { background-position: -48px -80px; }\n.ui-icon-refresh { background-position: -64px -80px; }\n.ui-icon-shuffle { background-position: -80px -80px; }\n.ui-icon-transfer-e-w { background-position: -96px -80px; }\n.ui-icon-transferthick-e-w { background-position: -112px -80px; }\n.ui-icon-folder-collapsed { background-position: 0 -96px; }\n.ui-icon-folder-open { background-position: -16px -96px; }\n.ui-icon-document { background-position: -32px -96px; }\n.ui-icon-document-b { background-position: -48px -96px; }\n.ui-icon-note { background-position: -64px -96px; }\n.ui-icon-mail-closed { background-position: -80px -96px; }\n.ui-icon-mail-open { background-position: -96px -96px; }\n.ui-icon-suitcase { background-position: -112px -96px; }\n.ui-icon-comment { background-position: -128px -96px; }\n.ui-icon-person { background-position: -144px -96px; }\n.ui-icon-print { background-position: -160px -96px; }\n.ui-icon-trash { background-position: -176px -96px; }\n.ui-icon-locked { background-position: -192px -96px; }\n.ui-icon-unlocked { background-position: -208px -96px; }\n.ui-icon-bookmark { background-position: -224px -96px; }\n.ui-icon-tag { background-position: -240px -96px; }\n.ui-icon-home { background-position: 0 -112px; }\n.ui-icon-flag { background-position: -16px -112px; }\n.ui-icon-calendar { background-position: -32px -112px; }\n.ui-icon-cart { background-position: -48px -112px; }\n.ui-icon-pencil { background-position: -64px -112px; }\n.ui-icon-clock { background-position: -80px -112px; }\n.ui-icon-disk { background-position: -96px -112px; }\n.ui-icon-calculator { background-position: -112px -112px; }\n.ui-icon-zoomin { background-position: -128px -112px; }\n.ui-icon-zoomout { background-position: -144px -112px; }\n.ui-icon-search { background-position: -160px -112px; }\n.ui-icon-wrench { background-position: -176px -112px; }\n.ui-icon-gear { background-position: -192px -112px; }\n.ui-icon-heart { background-position: -208px -112px; }\n.ui-icon-star { background-position: -224px -112px; }\n.ui-icon-link { background-position: -240px -112px; }\n.ui-icon-cancel { background-position: 0 -128px; }\n.ui-icon-plus { background-position: -16px -128px; }\n.ui-icon-plusthick { background-position: -32px -128px; }\n.ui-icon-minus { background-position: -48px -128px; }\n.ui-icon-minusthick { background-position: -64px -128px; }\n.ui-icon-close { background-position: -80px -128px; }\n.ui-icon-closethick { background-position: -96px -128px; }\n.ui-icon-key { background-position: -112px -128px; }\n.ui-icon-lightbulb { background-position: -128px -128px; }\n.ui-icon-scissors { background-position: -144px -128px; }\n.ui-icon-clipboard { background-position: -160px -128px; }\n.ui-icon-copy { background-position: -176px -128px; }\n.ui-icon-contact { background-position: -192px -128px; }\n.ui-icon-image { background-position: -208px -128px; }\n.ui-icon-video { background-position: -224px -128px; }\n.ui-icon-script { background-position: -240px -128px; }\n.ui-icon-alert { background-position: 0 -144px; }\n.ui-icon-info { background-position: -16px -144px; }\n.ui-icon-notice { background-position: -32px -144px; }\n.ui-icon-help { background-position: -48px -144px; }\n.ui-icon-check { background-position: -64px -144px; }\n.ui-icon-bullet { background-position: -80px -144px; }\n.ui-icon-radio-on { background-position: -96px -144px; }\n.ui-icon-radio-off { background-position: -112px -144px; }\n.ui-icon-pin-w { background-position: -128px -144px; }\n.ui-icon-pin-s { background-position: -144px -144px; }\n.ui-icon-play { background-position: 0 -160px; }\n.ui-icon-pause { background-position: -16px -160px; }\n.ui-icon-seek-next { background-position: -32px -160px; }\n.ui-icon-seek-prev { background-position: -48px -160px; }\n.ui-icon-seek-end { background-position: -64px -160px; }\n.ui-icon-seek-start { background-position: -80px -160px; }\n/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */\n.ui-icon-seek-first { background-position: -80px -160px; }\n.ui-icon-stop { background-position: -96px -160px; }\n.ui-icon-eject { background-position: -112px -160px; }\n.ui-icon-volume-off { background-position: -128px -160px; }\n.ui-icon-volume-on { background-position: -144px -160px; }\n.ui-icon-power { background-position: 0 -176px; }\n.ui-icon-signal-diag { background-position: -16px -176px; }\n.ui-icon-signal { background-position: -32px -176px; }\n.ui-icon-battery-0 { background-position: -48px -176px; }\n.ui-icon-battery-1 { background-position: -64px -176px; }\n.ui-icon-battery-2 { background-position: -80px -176px; }\n.ui-icon-battery-3 { background-position: -96px -176px; }\n.ui-icon-circle-plus { background-position: 0 -192px; }\n.ui-icon-circle-minus { background-position: -16px -192px; }\n.ui-icon-circle-close { background-position: -32px -192px; }\n.ui-icon-circle-triangle-e { background-position: -48px -192px; }\n.ui-icon-circle-triangle-s { background-position: -64px -192px; }\n.ui-icon-circle-triangle-w { background-position: -80px -192px; }\n.ui-icon-circle-triangle-n { background-position: -96px -192px; }\n.ui-icon-circle-arrow-e { background-position: -112px -192px; }\n.ui-icon-circle-arrow-s { background-position: -128px -192px; }\n.ui-icon-circle-arrow-w { background-position: -144px -192px; }\n.ui-icon-circle-arrow-n { background-position: -160px -192px; }\n.ui-icon-circle-zoomin { background-position: -176px -192px; }\n.ui-icon-circle-zoomout { background-position: -192px -192px; }\n.ui-icon-circle-check { background-position: -208px -192px; }\n.ui-icon-circlesmall-plus { background-position: 0 -208px; }\n.ui-icon-circlesmall-minus { background-position: -16px -208px; }\n.ui-icon-circlesmall-close { background-position: -32px -208px; }\n.ui-icon-squaresmall-plus { background-position: -48px -208px; }\n.ui-icon-squaresmall-minus { background-position: -64px -208px; }\n.ui-icon-squaresmall-close { background-position: -80px -208px; }\n.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }\n.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }\n.ui-icon-grip-solid-vertical { background-position: -32px -224px; }\n.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }\n.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }\n.ui-icon-grip-diagonal-se { background-position: -80px -224px; }\n\n\n/* Misc visuals\n----------------------------------*/\n\n/* Corner radius */\n.ui-corner-all,\n.ui-corner-top,\n.ui-corner-left,\n.ui-corner-tl {\n\tborder-top-left-radius: 4px;\n}\n.ui-corner-all,\n.ui-corner-top,\n.ui-corner-right,\n.ui-corner-tr {\n\tborder-top-right-radius: 4px;\n}\n.ui-corner-all,\n.ui-corner-bottom,\n.ui-corner-left,\n.ui-corner-bl {\n\tborder-bottom-left-radius: 4px;\n}\n.ui-corner-all,\n.ui-corner-bottom,\n.ui-corner-right,\n.ui-corner-br {\n\tborder-bottom-right-radius: 4px;\n}\n\n/* Overlays */\n.ui-widget-overlay {\n\tbackground: #666666 url(\"images/ui-bg_diagonals-thick_20_666666_40x40.png\") 50% 50% repeat;\n\topacity: .5;\n\tfilter: Alpha(Opacity=50); /* support: IE8 */\n}\n.ui-widget-shadow {\n\tmargin: -5px 0 0 -5px;\n\tpadding: 5px;\n\tbackground: #000000 url(\"images/ui-bg_flat_10_000000_40x100.png\") 50% 50% repeat-x;\n\topacity: .2;\n\tfilter: Alpha(Opacity=20); /* support: IE8 */\n\tborder-radius: 5px;\n}\n"
  },
  {
    "path": "app/assets/stylesheets/layout/buttons.scss",
    "content": "@import \"mixins\";\n@import \"variables\";\n\n.btn-be-a-supporter {\n  background: #e10000;\n  border: 1px solid lightgray;\n  opacity: 0.6;\n  width: 215px;\n  @include css-transition(opacity 0.5s ease);\n  &:hover {\n    opacity: 1;\n  }\n}\n\n.btn-HOA {\n  margin-top: 0px;\n}\n\n.btn-jitsi {\n  margin-right: 10px;\n  margin-left: 20px;\n}\n\n.call-to-action{\n  max-width: 75%;\n  -webkit-transition: all .8s;\n  -moz-transition: all .8s;\n  -o-transition: all .8s;\n  transition: all .8s;\n  border-width: 0px;\n  @media(max-width: 414px) {\n    max-width: 100%;\n  }\n}\n\na.call-to-action {\n  white-space: normal !important;\n  background: rgb(0,128,128);\n  box-shadow: rgba(0, 0, 0, 0.8) 4px 5px 10px 0px;\n}\n\n.call-to-action:hover {\n  background: #6baba1;\n  box-shadow: rgba(0, 0, 0, 0.8) 8px 10px 20px 0px;\n}\n\n.call-to-action:active {\n  background: #6baba1;\n  box-shadow: rgba(0, 0, 0, 0.8) 8px 10px 20px 0px;\n}\n"
  },
  {
    "path": "app/assets/stylesheets/layout/flash.scss",
    "content": "@import \"mixins\";\n\n#flash-container {\n  position: relative;\n  height: 0;\n}\n\n#flash-display {\n  position: absolute;\n  top: 0;\n  right: 0;\n  width: 40%;\n  font-size: 0.9em;\n  text-transform: none;\n  font-weight: normal;\n\n  .alert {\n    margin: 0;\n    @include css-border-radius(0);\n    opacity: 0.8;\n  }\n}\n\n@media (max-width: 768px) {\n  #flash-container {\n    height: auto;\n  }\n\n  #flash-display {\n    position: static;\n    width: 100%;\n  }\n}\n"
  },
  {
    "path": "app/assets/stylesheets/layout/footer.scss",
    "content": "@import 'mixins';\n@import 'variables';\n\n$footer-height: 350px;\n$footer-upper-section-height: 200px;\n\n/* Wrapper for page content to push down footer */\n#wrap {\n  min-height: 100%;\n  height: auto !important;\n  height: 100%;\n  /* Negative indent footer by its height */\n  margin: 0 0 (-$footer-height) 0;\n  /* Pad bottom by footer height */\n  padding: 0 0 $footer-height 0;\n}\n\n/* Set the fixed height of the footer here */\n#footer {\n  position: relative;\n  padding-top: 35px;\n  padding-bottom: 20px;\n  background-color: $theme-darker;\n  color: $white;\n  overflow: hidden;\n\n  .footer-info {\n    padding: 0;\n  }\n\n  p, h3 {\n    color: $white;\n  }\n\n  a {\n    color: #cdcdcd;\n    text-overflow: ellipsis;\n\n    &:hover, &:active {\n      color: $theme-main;\n\n      &.facebook {\n        color: #458dd8;\n      }\n\n      &.twitter {\n        color: #8EC1DA;\n      }\n    }\n  }\n\n  ul {\n    list-style: none;\n    padding: 0;\n    margin: 0;\n  }\n}\n\n@media (min-width: 768px) {\n  #footer {\n    height: $footer-height;\n\n    #upper-section {\n      height: $footer-upper-section-height;\n    }\n  }\n}\n\n// FOOTER CONTACT FORM\n\n.contact {\n  text-align: right;\n}\n"
  },
  {
    "path": "app/assets/stylesheets/layout/landing-page.scss",
    "content": "@import \"mixins\";\n@import \"variables\";\n\n$top-content-text-color: $theme-darker;\n\ndiv.section-well {\n  padding: 1em;\n  margin: 1em;\n  border-radius: 10px;\n  overflow: hidden;\n}\n\n@media (min-width: $screen-sm-min) {\n  div.section-well {\n    padding: 1em 2em;\n    margin: 0;\n  }\n}\n\n#top-content {\n  width: 100%;\n  min-height: 100%;\n  color: $top-content-text-color;\n  font-size: 1.3em;\n\n  @media (max-width: $screen-sm - 1px) {\n    font-size: 1.1em;\n  }\n\n  ul {\n    list-style: none;\n    padding: 0;\n\n    li {\n      line-height: 2em;\n      @media (max-width: $screen-sm - 1px) {\n        line-height: 1.5em;\n      }\n    }\n  }\n\n  h1 {\n    color: $top-content-text-color;\n    font-size: 2.5em;\n  }\n\n  @media (max-width: $screen-sm-min - 1px) {\n    h1 {\n      font-size: 1.5em;\n    }\n  }\n}\n\nul.box h2 {\n  font-size: 2em;\n}\n\n@media (max-width: $screen-sm - 1px) {\n  ul.box h2 {\n    font-size: 1.5em;\n  }\n}\n\nul#section-list {\n  padding: 0;\n  margin: 0;\n  font-size: 1.5em;\n  @media (max-width: $screen-sm-min - 1px) {\n    font-size: 1.1em;\n  }\n\n  & > li {\n    margin: 0;\n    padding: 0;\n\n    h3 {\n      margin-bottom: 0;\n    }\n\n    h2 {\n      margin-top: 0;\n      font-size: 2.5em;\n    }\n\n    @media (max-width: $screen-sm-min - 1px) {\n      h2 {\n        font-size: 1.5em;\n      }\n    }\n\n    &:nth-child(2n+1) {\n      background: asset_url(\"bg-1-frosted.png\") no-repeat center center fixed;\n      @include css-background-size(cover);\n\n      .section-well {\n        background-color: rgba(255, 255, 255, 0.8);\n      }\n    }\n  }\n}\n\n.landing-page-section {\n  width: 100%;\n  padding: 1em 0;\n  @media (max-width: $screen-sm-min - 1px) {\n    padding: 0;\n  }\n}\n\n@media (min-width: 768px) {\n  .landing-page-section {\n    padding: 1em;\n  }\n}\n\n.landing-CTA {\n  font-size: 0.7em;\n}\n"
  },
  {
    "path": "app/assets/stylesheets/layout/navbar.scss",
    "content": "@import 'mixins';\n@import 'variables';\n\n$header-height: 60px;\n$navbar-height: 50px;\n$small-logo-height: 26px;\n$small-logo-width: 170px;\n$gravatar-size: 35px;\n\n#nav {\n  width: 100%;\n  height: $navbar-height;\n  background-color: $theme-dark;\n  font-weight: 700;\n  text-transform: uppercase;\n  border-width: 0;\n  margin: 0;\n  z-index: 999;\n  position: relative;\n\n  #next-event {\n    background: $theme-dark;\n    color: $white;\n    padding: 10px;\n    border-bottom-right-radius: 10px;\n    text-transform: none;\n    font-size: 1em;\n    overflow: hidden;\n    opacity: 0.7;\n    display: inline-block;\n    vertical-align: top;\n    font-weight: normal;\n    position: absolute;\n    top: $navbar-height;\n\n    p {\n      vertical-align: text-bottom;\n      margin: 0;\n    }\n\n    @include css-transition(height 0.3s ease);\n    @include css-transition(padding 0.3s ease);\n  }\n\n  #affix-nav-brand {\n    padding: 12px 15px;\n    height: $small-logo-height;\n\n    img {\n      @include css-transition(all 0.3s ease);\n      @include css-transform(scale(0));\n    }\n  }\n\n  &.affix {\n    position: fixed;\n    top: 0;\n\n    #affix-nav-brand img {\n      @include css-transform(scale(1));\n    }\n\n    #next-event {\n      height: 0;\n      padding: 0;\n    }\n  }\n\n  .dropdown-menu {\n    right: 0;\n  }\n\n  .navbar-nav>.dropdown>a .caret {\n    border-top-color: #999;\n    border-bottom-color: #999;\n  }\n\n  .navbar-nav>li>a {\n    color: $white;\n    background-color: $theme-dark;\n    @include css-transition(background-color 0.3s ease);\n\n    &:hover, &:active, &.active {\n      background-color: $theme-darker;\n    }\n\n    .fa {\n      width: 16px;\n      height: 16px;\n    }\n  }\n}\n\n.navbar-collapse.in {\n  /*3.0.2 bug workaround*/\n  overflow-y: visible;\n}\n\n.navbar-toggle {\n  outline: 0;\n  @media (max-width: $screen-sm-min - 1px) {\n    background-color: $theme-main;\n  }\n}\n\n#navbar-toggle-mobile {\n  border-color: #fff;\n}\n\n@media (min-width: $screen-sm-min - 1px) {\n  .navbar-nav.nav-justified > li {\n    float: none;\n  }\n}\n\n// MASTHEAD\n\nheader#main_header {\n  background: $theme-main;\n  height: $header-height;\n  color: $white;\n\n  @media (max-width: $screen-sm-min - 1px) {\n    margin-bottom:0px !important;\n  }\n\n  h1, h2, h3 a, a, a:hover {\n    color: $white;\n  }\n\n  h3 {\n    css-border-radius: 3px;\n    background: $theme-main;\n    font-family: 'Kreon', serif;\n    font-size: 34px;\n    padding: 12px 10px 6px;\n  }\n\n  .dropdown {\n    height: $header-height;\n    padding: 0 15px;\n\n    &.open > a {\n      color: $theme-darker;\n    }\n  }\n\n  .dropdown-menu {\n    css-border-radius: 0;\n    background: $theme-main;\n    border-width: 0;\n    font-size: .9em;\n    margin: 0;\n    padding: 0;\n\n    form.button_to > button{\n      text-wrap: nowrap;\n     width: 100%;\n    display: flex;\n    justify-content: flex-start;\n    background-color: transparent;\n    border: none;\n    }\n    form.button_to > button > li > i::before{\n      margin-right: 10px;\n    }\n\n    li form.button_to>li {\n\n\n      @include css-transition(background-color .3s ease);\n      padding: 15px;\n\n      &:hover {\n        background: $link-hover-color;\n      }\n    }\n  }\n\n  #account-controls {\n    font-size: 1.2em;\n    height: $header-height;\n    line-height: $header-height;\n\n    #user-gravatar {\n      @include css-shadow(0 0 1px 1px $white);\n      display: inline-block;\n      height: $gravatar-size;\n      width: $gravatar-size;\n    }\n\n    $fa-custom-icon-size: 26px;\n\n    .fa-custom-accounts {\n      height: $fa-custom-icon-size;\n      text-align: center;\n      width: $fa-custom-icon-size;\n    }\n\n    .dropdown {\n      display: inline-block;\n    }\n  }\n\n  .navbar-inverse, .navbar-toggle:hover {\n    margin-left:5px;\n    margin-top:8px;\n    background-color: $theme-main;\n  }\n\n  .navbar-toggle, .navbar-toggle:active {\n    background-color: $theme-main;\n  }\n\n  #login-signup a {\n    css-border-radius: 0;\n    padding: 0 15px;\n    text-align: center;\n\n    &:hover, &:active {\n      color: $theme-darker;\n    }\n  }\n}\n\n\n@media (max-width: $screen-sm-min) {\n  #nav {\n    height: auto;\n\n    #next-event {\n      display: block;\n      position: static;\n      text-align: center;\n    }\n  }\n}\n\n#google-search-wrapper {\n  font-weight: normal;\n  height: $header-height;\n  text-transform: none;\n  width: 350px;\n\n  &.dropdown-menu {\n    border: 0;\n    padding: 0;\n  }\n\n  a.gs-title {\n    color: $theme-lighter-dark;\n  }\n\n  input.gsc-input {\n    @include box-sizing(content-box);\n    color: $theme-dark;\n    font-size: 14px;\n    width: auto;\n  }\n\n  .gsc-control-cse-en,\n  .gsc-control-cse {\n    @include box-sizing(content-box);\n    background-color: $theme-main;\n    border: 0;\n    font-family: 'Ubuntu', Arial, sans-serif;\n    height: $header-height;\n    padding: 0 15px;\n    width: auto;\n\n    div {\n      @include box-sizing(content-box);\n    }\n  }\n\n  .gsc-input-box {\n    @include box-sizing(content-box);\n    border-radius: 5px;\n    height: 32px;\n  }\n\n  .gsc-search-button,\n  .gsc-search-button-v2 {\n    @include box-sizing(content-box);\n    border-radius: 5px;\n    height: 16px;\n    padding-bottom: 8px;\n    padding-top: 8px;\n    width: 16px;\n  }\n\n  .gsib_a,\n  .gsib_b {\n    padding-top: 7px;\n  }\n\n  .gsc-control-wrapper-cse {\n    height: $header-height;\n  }\n\n  // Google Search results\n  .gsc-result {\n    padding: 10px 15px 10px 0;\n  }\n\n  .gsc-results-wrapper-overlay,\n  .gsc-results-wrapper-visible {\n    @include box-sizing(content-box);\n  }\n\n  .gsc-results-wrapper-overlay {\n    left: 23%;\n    width: 50%;\n  }\n\n  .gsc-table-result {\n    margin: 0 8px;\n  }\n}\n"
  },
  {
    "path": "app/assets/stylesheets/layout/user_controls.scss",
    "content": "@import \"variables\";\n\n.user-controls {\n  list-style: none;\n  padding-left: 0;\n  font-size: 1.2em;\n\n  li {\n    display: inline-block;\n  }\n}\n\n.btn-controls {\n  color: $link-color !important;\n}\n\n.hangout-btn {\n  height: 30px;\n  vertical-align: middle;\n}\n"
  },
  {
    "path": "app/assets/stylesheets/main.scss",
    "content": "#main {\n  padding-top: 3em;\n}\n\n.signin {\n  h2 {\n    margin-top: 0;\n  }\n  form {\n    margin-bottom: 20px;\n  }\n  .glyphicon {\n    top: 0;\n  }\n}\n\n#devise .custom-label {\n  margin-left: 5px;\n  margin-top: 3px;\n  position: absolute;\n  color: black;\n}\n\n.alert {\n  margin-top: 5px;\n}\n\nlabel {\n  margin-right: 0.5em;\n  display: block\n}\n\n#event-container {\n  display: flex;\n  flex-flow: row wrap;\n}\n\n#event-container .event-item {\n  width: 33.3%;\n  /*height: 150px;*/\n  margin: 5px, 15px, 5px, 5px;\n}\n\n#event-container .event-item p, .event-item a, .event-item small {\n  padding-left: 8px !important;\n  line-height: 14px;\n}\n\n#event-container .event-item h4 {\n  padding-left: 0px !important;\n}\n\n#event-container .event-item img {\n  margin-left: 8px !important;\n  width: 250px;\n}\n\n.add-btn-agile {\n  color: #FFF;\n  background-color: #F07F48;\n  border-color: #EEA236;\n}\n\n.btn-agile {\n  color: #FFF;\n  background-color: #F07F48;\n  border-color: #EEA236;\n  line-height: 35px !important;\n}\n\n\n.btn-agile a {\n  color: #FFF !important;\n  opacity: 1 !important;\n}\n\n@media (min-width: $screen-sm) and (max-width: $screen-md) {\n  #event-container .git-item {\n    width: 50%;\n    height: 150px;\n    margin-bottom: 10px !important;\n  }\n}\n\n@media (max-width: $screen-sm - 1px) {\n  #event-container .event-item {\n    width: 50%;\n    height: 150px;\n    margin-bottom: 10px !important;\n  }\n}\n\n@media (max-width: $screen-xs) {\n\n  #event-container .event-item {\n    width: 50%;\n    height: 150px;\n    margin-bottom: 10px !important;\n  }\n}\n\n.nav-justified a {\n  white-space: nowrap;\n}\n"
  },
  {
    "path": "app/assets/stylesheets/subscriptions.scss",
    "content": "// Place all the styles related to the subscriptions controller here.\n// They will automatically be included in application.css.\n// You can use Sass (SCSS) here: http://sass-lang.com/\n\n#card_section, #paypal_section{\n  margin: 10px;\n  text-align: center;\n}\n\n"
  },
  {
    "path": "app/assets/stylesheets/timeline.scss",
    "content": ".timeline {\n  list-style: none;\n  padding: 20px 0 20px;\n  position: relative;\n}\n\n.timeline:before {\n  top: 0;\n  bottom: 0;\n  position: absolute;\n  content: \" \";\n  width: 3px;\n  background-color: #eeeeee;\n  left: 50%;\n  margin-left: -1.5px;\n}\n\n.timeline > li {\n  margin-bottom: 20px;\n  position: relative;\n}\n\n.timeline > li:before,\n.timeline > li:after {\n  content: \" \";\n  display: table;\n}\n\n.timeline > li:after {\n  clear: both;\n}\n\n.timeline > li:before,\n.timeline > li:after {\n  content: \" \";\n  display: table;\n}\n\n.timeline > li:after {\n  clear: both;\n}\n\n.timeline > li > .timeline-panel {\n  width: 46%;\n  float: left;\n  border: 1px solid rgba(240, 127, 72, 1);\n  border-radius: 2px;\n  padding: 20px;\n  position: relative;\n  background-color: white;\n  padding: 12px;\n  margin-left: -10px;\n  margin-right: -10px;\n}\n\n.timeline > li > .timeline-panel:before {\n  position: absolute;\n  top: 26px;\n  right: -15px;\n  display: inline-block;\n  border-top: 15px solid transparent;\n  border-left: 15px solid rgba(240, 127, 72, 1);\n  border-right: 0 solid rgba(240, 127, 72, 1);\n  border-bottom: 15px solid transparent;\n  content: \" \";\n}\n\n.timeline > li > .timeline-panel:after {\n  position: absolute;\n  top: 27px;\n  right: -14px;\n  display: inline-block;\n  border-top: 14px solid transparent;\n  border-left: 15px solid rgba(240, 127, 72, 1);\n  border-right: 0 solid rgba(240, 127, 72, 1);\n  border-bottom: 14px solid transparent;\n  content: \" \";\n}\n\n.timeline > li > .timeline-badge {\n  color: #fff;\n  width: 50px;\n  height: 50px;\n  line-height: 50px;\n  font-size: 1.4em;\n  text-align: center;\n  position: absolute;\n  top: 16px;\n  left: 50%;\n  margin-left: -25px;\n  background-color: #999999;\n  z-index: 100;\n  border-top-right-radius: 50%;\n  border-top-left-radius: 50%;\n  border-bottom-right-radius: 50%;\n  border-bottom-left-radius: 50%;\n}\n\n.timeline > li.timeline-inverted > .timeline-panel {\n  float: right;\n}\n\n.timeline > li.timeline-inverted > .timeline-panel:before {\n  border-left-width: 0;\n  border-right-width: 15px;\n  left: -15px;\n  right: auto;\n}\n\n.timeline > li.timeline-inverted > .timeline-panel:after {\n  border-left-width: 0;\n  border-right-width: 14px;\n  left: -14px;\n  right: auto;\n}\n .text-white {\n  color: white;\n}\n\n.timeline-badge.primary {\n  background-color: #2e6da4 !important;\n}\n\n.timeline-badge.success {\n  background-color: #3f903f !important;\n}\n\n.timeline-badge.warning {\n  background-color: #f0ad4e !important;\n}\n\n.timeline-badge.danger {\n  background-color: #d9534f !important;\n}\n\n.timeline-badge.info {\n  background-color: #5bc0de !important;\n}\n\n.timeline-title {\n  margin-top: 0;\n  color: inherit;\n}\n\n.timeline-body > p,\n.timeline-body > ul {\n  margin-bottom: 0;\n}\n\n.timeline-body > p + p {\n  margin-top: 5px;\n}\n\n@media (max-width: 767px) {\n  ul.timeline:before {\n    left: 40px;\n  }\n\n  ul.timeline > li > .timeline-panel {\n    width: -moz-calc(100% - 90px);\n    width: -webkit-calc(100% - 90px);\n    width: calc(100% - 90px);\n  }\n\n  ul.timeline > li > .timeline-badge {\n    left: 15px;\n    margin-left: 0;\n    top: 16px;\n  }\n\n  ul.timeline > li > .timeline-panel {\n    float: right;\n  }\n\n  ul.timeline > li > .timeline-panel:before {\n    border-left-width: 0;\n    border-right-width: 15px;\n    left: -15px;\n    right: auto;\n  }\n\n  ul.timeline > li > .timeline-panel:after {\n    border-left-width: 0;\n    border-right-width: 14px;\n    left: -14px;\n    right: auto;\n  }\n}\n"
  },
  {
    "path": "app/assets/stylesheets/vanity.scss",
    "content": "// Place all the styles related to the Vanity controller here.\n// They will automatically be included in application.css.\n// You can use Sass (SCSS) here: http://sass-lang.com/\n"
  },
  {
    "path": "app/controllers/application_controller.rb",
    "content": "# frozen_string_literal: true\n\nrequire 'custom_errors'\nclass ApplicationController < ActionController::Base\n  protect_from_forgery with: :exception\n  helper_method :static_page_path\n\n  before_action :set_user_id\n  before_action :get_next_scrum, :store_location, unless: -> { request.xhr? }\n  before_action :configure_permitted_parameters, if: :devise_controller?\n  after_action :user_activity\n\n  # use_vanity :current_user\n\n  include ApplicationHelper\n  include CustomErrors\n\n  protected\n\n  def configure_permitted_parameters\n    devise_parameter_sanitizer.permit(:account_update, keys: %i(\n                                        first_name last_name email bio password\n                                        password_confirmation current_password\n                                        display_email display_profile display_hire_me\n                                        receive_mailings status\n                                      ))\n\n    modify_user_signup_params\n  end\n\n  def after_sign_in_path_for(resource)\n    if resource.sign_in_count <= 1\n      stored_location_for(resource) || '/getting-started'\n    else\n      stored_location_for(resource) || request.env['omniauth.origin'] || session[:previous_url] || root_path\n    end\n  end\n\n  # see Settings.yml for privileged user\n  #\n  def check_privileged\n    raise ::AgileVentures::AccessDenied.new(current_user, request) unless current_user.is_privileged?\n  end\n\n  rescue_from ::AgileVentures::AccessDenied do |_exception|\n    render file: \"#{Rails.root}/public/403.html\", status: :forbidden, layout: false\n  end\n\n  private\n\n  def request_path_blacklisted?\n    paths = [\n      user_session_path,\n      new_user_registration_path,\n      new_user_password_path,\n      destroy_user_session_path,\n      \"#{edit_user_password_path}.*\"\n    ]\n\n    paths.any? { |path| request.original_fullpath =~ /#{path}/ }\n  end\n\n  def get_next_scrum\n    @next_event = Event.next_occurrence(:Scrum) if Features.get_next_scrum.enabled\n  end\n\n  def store_location\n    # store last url - this is needed for post-login redirect to whatever the user last visited.\n    session[:previous_url] = request.original_fullpath if request.get? && !request_path_blacklisted?\n  end\n\n  def user_activity\n    current_user.try :touch\n  end\n\n  def show_deactivated_message_and_redirect_to_root\n    flash[:alert] = 'User is deactivated.'\n    redirect_to root_path\n  end\n\n  def modify_user_signup_params\n    devise_parameter_sanitizer.permit(:sign_up) do |user_signup_params|\n      user_signup_params.permit(:receive_mailings)\n      user_signup_params[:receive_mailings] = user_signup_params[:receive_mailings] == '1'\n      user_signup_params.permit!\n    end\n  end\n\n  # set current_user.id to a cookie to allow google analytics to access current_user var\n\n  def set_user_id\n    case session[:cookies_accepted]\n    when 'true'\n      cookies[:user_id] = current_user.id if current_user\n    end\n  end\nend\n"
  },
  {
    "path": "app/controllers/articles_controller.rb",
    "content": "# frozen_string_literal: true\n\nclass ArticlesController < ApplicationController\n  layout 'articles_layout'\n  before_action :authenticate_user!, except: %i(index show)\n  before_action :load_article, only: %i(show edit update upvote downvote cancelvote)\n\n  def index\n    @articles = if params[:tag].present?\n                  Article.tagged_with(params[:tag]).order('created_at DESC').includes(:user)\n                else\n                  Article.order('created_at DESC').includes(:user)\n                end\n  end\n\n  def show\n    @author = @article.user\n  end\n\n  def new\n    @article = Article.new\n    @article.tag_list = [params[:tag]]\n  end\n\n  def edit; end\n\n  def create\n    @article = current_user.articles.build(article_params)\n\n    if @article.save\n      @article.create_activity :create, owner: current_user\n      flash[:notice] = %(Successfully created the article \"#{@article.title}!\")\n      redirect_to article_path(@article)\n    else\n      flash.now[:alert] = @article.errors.full_messages.join(', ')\n      render 'new'\n    end\n  end\n\n  def update\n    if @article.update(article_params)\n      @article.create_activity :update, owner: current_user\n      flash[:notice] = %(Successfully updated the article \"#{@article.title}\")\n      redirect_to article_path(@article)\n    else\n      flash.now[:alert] = @article.errors.full_messages.join(', ')\n      render 'edit'\n    end\n  end\n\n  def preview\n    @article = Article.new(article_params)\n\n    # fill with dummy data\n    @article.created_at = Time.now\n    @article.updated_at = Time.now\n    @author = current_user\n  end\n\n  # article voting\n  def upvote\n    if @article.authored_by?(current_user)\n      flash[:error] = %(Can not vote for your own article \"#{@article.title}\")\n    else\n      @article.upvote_by current_user\n      case @article.vote_registered?\n      when true\n        flash[:notice] = %(Successfully voted up the article \"#{@article.title}\")\n      when false\n        flash[:error] = 'You have already given this article an up vote'\n      when nil\n        flash[:error] = 'Your vote was not registered'\n      end\n    end\n    redirect_to article_path(@article)\n  end\n\n  def downvote\n    if @article.authored_by?(current_user)\n      flash[:error] = %(Can not vote for your own article \"#{@article.title}\")\n    else\n      @article.downvote_by current_user\n      case @article.vote_registered?\n      when true\n        flash[:notice] = %(Successfully voted down the article \"#{@article.title}\")\n      when false\n        flash[:error] = 'You have already given this article a down vote'\n      when nil\n        flash[:error] = 'Your vote was not registered'\n      end\n    end\n    redirect_to article_path(@article)\n  end\n\n  def cancelvote\n    @article.unvote_by current_user\n    case @article.vote_registered?\n    when true\n      flash[:notice] = %(Could not cancel your vote for the article \"#{@article.title}\")\n    when false\n      flash[:notice] = %(Cancelled your vote for the article \"#{@article.title}\")\n    when nil\n      flash[:error] = 'Can not cancel when you have not voted for this article'\n    end\n    redirect_to article_path(@article)\n  end\n\n  private\n\n  def article_params\n    params[:article].permit(:title, :content, :tag_list)\n  end\n\n  def load_article\n    @article = Article.friendly.find(params[:id])\n  end\nend\n"
  },
  {
    "path": "app/controllers/authentications_controller.rb",
    "content": "# frozen_string_literal: true\n\nclass AuthenticationsController < ApplicationController\n  include DeactivatedUserFinder\n\n  before_action :authenticate_user!, only: [:destroy]\n\n  def create\n    omniauth = request.env['omniauth.auth']\n    authentication = Authentication.find_by_provider_and_uid(omniauth['provider'], omniauth['uid'])\n    @path = request.env['omniauth.origin'] || root_path\n    if authentication.present?\n      attempt_login_with_auth(authentication, @path)\n    elsif current_user\n      create_new_authentication_for_current_user(omniauth, @path)\n    elsif deactivated_user_with_email(omniauth['info']['email']).present?\n      show_deactivated_message_and_redirect_to_root and return\n    else\n      create_new_user_with_authentication(omniauth)\n    end\n    link_github_profile if current_user && omniauth['provider'] == 'github' && current_user.github_profile_url.blank?\n  end\n\n  def failure\n    flash[:alert] = params[:message] || 'Authentication failed.'\n    redirect_to root_path\n  end\n\n  def destroy\n    @authentication = current_user.authentications.find(params[:id])\n    if @authentication && (current_user.authentications.count == 1) && current_user.encrypted_password.blank?\n      flash[:alert] = 'Failed to unlink GitHub. Please use another provider for login or reset password.'\n    elsif @authentication&.destroy\n      user = User.find(current_user.id)\n      flash.now[:notice] = if user.update(github_profile_url: nil)\n                             'Successfully removed profile.'\n                           else\n                             'Github profile url could not be removed.'\n                           end\n    else\n      flash.now[:alert] = 'Authentication method could not be removed.'\n    end\n    redirect_to edit_user_registration_path(current_user)\n  end\n\n  private\n\n  def link_github_profile\n    omniauth = request.env['omniauth.auth']\n\n    url = ''\n    begin\n      url = omniauth['info']['urls']['GitHub']\n    rescue NoMethodError\n      return\n    end\n\n    user = User.find(current_user.id)\n    if user.update(github_profile_url: url)\n      # success\n      current_user.reload\n    else\n      flash[:alert] = 'Linking your GitHub profile has failed'\n      Rails.logger.error user.errors.full_messages\n    end\n  end\n\n  def attempt_login_with_auth(authentication, path)\n    if current_user.present? && (authentication.user != current_user)\n      flash[:alert] = 'Another account is already associated with these credentials!'\n      redirect_to path\n    else\n      flash[:notice] = 'Signed in successfully.'\n      sign_in_and_redirect(:user, authentication.user)\n    end\n  end\n\n  def create_new_authentication_for_current_user(omniauth, path)\n    return unless auth = current_user.authentications.build(provider: omniauth['provider'], uid: omniauth['uid'])\n\n    if auth.save\n      # Bryan: TESTED\n      flash[:notice] = 'Authentication successful.'\n      redirect_to path\n    else\n      # Bryan: TESTED\n      flash[:alert] = 'Unable to create additional profiles.'\n      redirect_to @path\n    end\n  end\n\n  def create_new_user_with_authentication(omniauth)\n    user = User.new(karma: Karma.new)\n    user.apply_omniauth(omniauth)\n\n    if user.save\n      # Bryan: TESTED\n      Mailer.send_welcome_message(user).deliver_now if Features.enabled?(:welcome_email)\n      flash[:notice] = 'Signed in successfully.'\n      flash[:user_signup] = 'Signed up successfully.'\n      sign_in_and_redirect(:user, user)\n    else\n      # Bryan: TESTED\n      session[:omniauth] = omniauth.except('extra')\n      redirect_to new_user_registration_url\n    end\n  end\nend\n"
  },
  {
    "path": "app/controllers/av_dashboard_tokens_controller.rb",
    "content": "# frozen_string_literal: true\n\nclass AvDashboardTokensController < ApplicationController\n  require 'jwt'\n  require 'date'\n\n  before_action :authenticate_user!\n\n  def create\n    authorization_status = current_user.can_see_dashboard ? 'true' : 'false'\n    expiration_timestamp = (DateTime.now + 1.day).strftime('%Q')\n    payload = { authorized: authorization_status, exp: expiration_timestamp }\n    @token = JWT.encode payload, Settings.av_dashboard_token_secret, 'HS256'\n  end\nend\n"
  },
  {
    "path": "app/controllers/calendar_controller.rb",
    "content": "# frozen_string_literal: true\n\nclass CalendarController < ApplicationController\n  def index\n    cal = Icalendar::Calendar.new\n    filename = 'AgileVentures_events'\n\n    if params[:format] == 'vcs'\n      cal.prodid = '-//Microsoft Corporation//Outlook MIMEDIR//EN'\n      cal.version = '1.0'\n      filename += '.vcs'\n    else # ical\n      cal.prodid = '-//Acme Widgets, Inc.//NONSGML ExportToCalendar//EN'\n      cal.version = '2.0'\n      filename += '.ics'\n    end\n    add_events cal\n    send_data cal.to_ical, type: 'text/calendar', disposition: 'attachment', filename: filename\n  end\n\n  private\n\n  def add_events(cal)\n    events_all = Event.upcoming_events\n    events_all.each do |event_instance|\n      event             = Icalendar::Event.new\n      event.dtstart     = Icalendar::Values::DateTime.new(event_instance[:time],\n                                                          tzid: event_instance[:event].time_zone)\n      event.dtend       = Icalendar::Values::DateTime.new(\n        event_instance[:time] + (60 * event_instance[:event].duration), tzid: event_instance[:event].time_zone\n      )\n      event.summary     = event_instance[:event].name\n      event.description = event_instance[:event].description\n\n      cal.add_event(event)\n    end\n  end\nend\n"
  },
  {
    "path": "app/controllers/cards_controller.rb",
    "content": "# frozen_string_literal: true\n\nclass CardsController < ApplicationController\n  before_action :authenticate_user!\n\n  def new; end\n\n  def edit; end\n\n  def create\n    customer = Stripe::Customer.create(email: params[:stripeEmail])\n    card = customer.sources.create(card: stripe_token(params))\n    card.save\n    customer.default_card = card.id\n    customer.save\n  rescue Stripe::StripeError, StandardError => e\n    logger.error \"Stripe error while adding card info: #{e.message} for #{current_user}\"\n    @error = true\n  end\n\n  def update\n    customer = Stripe::Customer.retrieve(current_user.stripe_customer_id) # _token?\n    card = customer.sources.create(card: stripe_token(params))\n    card.save\n    customer.default_card = card.id\n    customer.save\n  rescue Stripe::StripeError, StandardError => e\n    logger.error \"Stripe error while updating card info: #{e.message} for #{current_user}\"\n    @error = true\n  end\n\n  private\n\n  def stripe_token(params)\n    Rails.env.test? ? generate_test_token : params[:stripeToken]\n  end\n\n  def generate_test_token\n    StripeMock.create_test_helper.generate_card_token\n  end\nend\n"
  },
  {
    "path": "app/controllers/concerns/.keep",
    "content": ""
  },
  {
    "path": "app/controllers/concerns/deactivated_user_finder.rb",
    "content": "# frozen_string_literal: true\n\nmodule DeactivatedUserFinder\n  extend ActiveSupport::Concern\n\n  def deactivated_user_with_email(email)\n    User.only_deleted.where(email: email).first\n  end\nend\n"
  },
  {
    "path": "app/controllers/concerns/statistics.rb",
    "content": "# frozen_string_literal: true\n\nmodule Statistics\n  extend ActiveSupport::Concern\n\n  def get_stats_for(entity)\n    stats = {}.tap do |stats|\n      case entity\n      when :articles\n        stats[:count] = Article.count\n      when :projects\n        stats[:count] = Project.where('lower(status) = ?', 'active').length\n      when :members\n        stats[:count] = User.count\n      when :documents\n        stats[:count] = Document.count\n      when :pairing_minutes\n        stats[:value] = calculate_duration('PairProgramming')\n      when :scrum_minutes\n        stats[:value] = calculate_duration('Scrum')\n      end\n    end\n  end\n\n  def calculate_duration(category)\n    EventInstance.where(category: category).map(&:duration).sum.to_i / 60\n  end\nend\n"
  },
  {
    "path": "app/controllers/cookies_controller.rb",
    "content": "# frozen_string_literal: true\n\nclass CookiesController < ApplicationController\n  def index\n    session[:cookies_accepted] = params[:cookies] if params[:cookies]\n    redirect_back_or_to '/'\n  end\nend\n"
  },
  {
    "path": "app/controllers/dashboard_controller.rb",
    "content": "# frozen_string_literal: true\n\nclass DashboardController < ApplicationController\n  include Statistics\n  def index\n    @stats = get_stats\n    @activities = get_activities\n  end\n\n  private\n\n  def get_stats\n    stats = {}.tap do |stats|\n      stats[:articles] = get_stats_for(:articles)\n      stats[:projects] = get_stats_for(:projects)\n      stats[:members] = get_stats_for(:members)\n      stats[:documents] = get_stats_for(:documents)\n      stats[:pairing_minutes] = get_stats_for(:pairing_minutes)\n      stats[:scrum_minutes] = get_stats_for(:scrum_minutes)\n      stats[:map_data] = User.map_data\n    end\n  end\n\n  def get_activities\n    activities = PublicActivity::Activity.order('created_at desc').where(owner_type: 'User').limit(100)\n    errorous_activities = activities.select { |act| act.owner&.gravatar_url.nil? || act.owner.nil? }\n    if errorous_activities.empty?\n      activities\n    else\n      errorous_activities.each(&:destroy!)\n      get_activities\n    end\n  end\nend\n"
  },
  {
    "path": "app/controllers/documents_controller.rb",
    "content": "# frozen_string_literal: true\n\nclass DocumentsController < ApplicationController\n  layout 'with_sidebar'\n  before_action :find_project\n  before_action :set_document, only: %i(show edit update destroy get_doc_categories update_parent_id)\n  before_action :authenticate_user!, except: %i(index show)\n\n  # GET /documents\n  # GET /documents.json\n  def index\n    # Bryan: So that Sampriti doesn't spam us with emails\n    redirect_to project_path @project\n  end\n\n  # GET /documents/1\n  # GET /documents/1.json\n  def show\n    @children = @document.children.order(created_at: :desc).includes(:user)\n  end\n\n  def update_parent_id\n    change_document_parent(params[:new_parent_id]) if params[:new_parent_id]\n    redirect_to project_document_path\n  end\n\n  def get_doc_categories\n    @categories = @project.documents.where(parent_id: nil)\n    render partial: 'categories'\n  end\n\n  # GET /documents/new\n  def new\n    set_parent\n    @document = Document.new\n  end\n\n  def edit; end\n\n  # POST /documents\n  # POST /documents.json\n  def create\n    @document = @project.documents.build(document_params.merge(user_id: current_user.id))\n    respond_to do |format|\n      if @document.save\n        @document.create_activity :create, owner: current_user\n        format.html do\n          redirect_to project_document_path(@project, @document), notice: 'Document was successfully created.'\n        end\n        format.json { render action: 'show', status: :created, location: @document }\n      else\n        set_parent\n        format.html { render action: 'new' }\n        format.json { render json: @document.errors, status: :unprocessable_entity }\n      end\n    end\n  end\n\n  def update\n    if @document.update(document_params)\n      redirect_to project_document_path(@project, @document), notice: 'Document was successfully updated.'\n    else\n      flash.now[:alert] = 'Document was not updated.'\n      render 'edit'\n    end\n  end\n\n  # DELETE /documents/1\n  # DELETE /documents/1.json\n  def destroy\n    id = @document.project_id\n    @document.destroy\n    respond_to do |format|\n      format.html { redirect_to project_documents_path(id), notice: 'Document was successfully deleted.' }\n      format.json { head :no_content }\n    end\n  end\n\n  private\n\n  def find_project\n    @projects = Project.where(status: %w(active Active)).order('title ASC')\n    @project = Project.friendly.find(params[:project_id])\n  end\n\n  def set_document\n    @document = @project.documents.find_by_slug!(params[:id])\n  end\n\n  def set_parent\n    @parent = Document.find(params[:parent_id]) if params[:parent_id].present?\n  end\n\n  def change_document_parent(new_parent_id)\n    valid_category = Document.find_by_id(new_parent_id)\n    if valid_category\n      @document.update!(parent_id: new_parent_id)\n      flash.now[:notice] = \"You have successfully moved #{@document.title} to the #{valid_category.title} section.\"\n    else\n      flash.now[:error] = 'Could not find the new parent document'\n    end\n  end\n\n  # Never trust parameters from the scary internet, only allow the white list through.\n  def document_params\n    params.require(:document).permit(:title, :content, :parent_id, :user_id)\n  end\nend\n"
  },
  {
    "path": "app/controllers/event_instances_controller.rb",
    "content": "# frozen_string_literal: true\n\nclass EventInstancesController < ApplicationController\n  skip_before_action :verify_authenticity_token\n  before_action :authenticate_user!, only: %i(edit update_link update)\n\n  def index\n    relation = params[:live] == 'true' ? EventInstance.live : EventInstance.latest\n    relation = relation.includes(:project, :event, :user)\n    @event_instances = relation.paginate(page: params[:page], per_page: 6)\n  end\n\n  def edit\n    @event_instance = EventInstance.find(params[:id])\n  end\n\n  def update\n    @event_instance = EventInstance.find_or_create_by(uid: params[:id])\n    if @event_instance&.update(whitelist_params)\n      send_messages_to_social_media @event_instance, whitelist_params, hangout_url_changed?\n      redirect_to(event_path(params[:event_id])) && return if local_event?\n\n      head :ok\n    else\n      head :internal_server_error\n    end\n  end\n\n  def update_link\n    @event_instance = EventInstance.find(params[:id])\n    youtube_id = YouTubeRails.extract_video_id(event_instance_params[:yt_video_id])\n    if youtube_id && @event_instance.update(yt_video_id: youtube_id, hoa_status: event_instance_params[:hoa_status])\n      flash[:notice] = 'Hangout Updated'\n    else\n      flash[:alert] = 'Error.  Please Try again'\n    end\n    redirect_to edit_event_instance_path(@event_instance)\n  end\n\n  private\n\n  def local_event?\n    local_request? && params[:event_id].present?\n  end\n\n  def hangout_url_changed?\n    @event_instance.hangout_url != whitelist_params[:hangout_url]\n  end\n\n  def send_messages_to_social_media(event, event_params, hangout_url_changed)\n    begin\n      HangoutNotificationService.with event if updating_hangout_url? event, hangout_url_changed\n      YoutubeNotificationService.with event if updating_valid_yt_url? event, event_params\n    rescue StandardError => e\n      Rails.logger.error 'Error sending hangout notifications:'\n      Rails.logger.error e.message\n      Rails.logger.error e.backtrace.join \"\\n\"\n      flash[:alert] = 'Ooops: Some or all hangout notifications may have not been posted.'\n    end\n    flash[:notice] = 'Hangout successfully posted'\n  end\n\n  def updating_hangout_url?(event, hangout_url_changed)\n    (slack_notify_hangout? && event.hangout_url?) || (event.started? && hangout_url_changed)\n  end\n\n  def slack_notify_hangout?\n    params[:notify_hangout] == 'true'\n  end\n\n  def updating_valid_yt_url?(event, event_params)\n    (slack_notify_yt? && event.yt_video_id?) || yt_video_id_changed?(event, event_params)\n  end\n\n  def yt_video_id_changed?(event, event_params)\n    event.yt_video_id != event_params[:yt_video_id]\n  end\n\n  def slack_notify_yt?\n    params[:notify_yt] == 'true'\n  end\n\n  def event_instance_params\n    params.require(:event_instance).permit(:yt_video_id, :hoa_status)\n  end\n\n  def local_request?\n    request.env['HTTP_ORIGIN'].include?(request.env['HTTP_HOST'])\n  rescue StandardError\n    true\n  end\n\n  def whitelist_params\n    params.require(:host_id)\n    params.require(:title)\n\n    transform_params.permit!\n  end\n\n  def transform_params\n    ActionController::Parameters.new(\n      title: params[:title],\n      project_id: params[:project_id],\n      event_id: params[:event_id],\n      category: params[:category],\n      user_id: params[:host_id],\n      hangout_participants_snapshots_attributes: [{ participants: params[:participants] }],\n      participants: params[:participants],\n      hangout_url: params[:hangout_url],\n      yt_video_id: YouTubeRails.extract_video_id(params[:yt_url]) || params[:yt_video_id],\n      hoa_status: params[:hoa_status],\n      url_set_directly: params[:url_set_directly],\n      updated_at: Time.now,\n      youtube_tweet_sent: params[:you_tube_tweet_sent]\n    )\n  end\nend\n"
  },
  {
    "path": "app/controllers/events_controller.rb",
    "content": "# frozen_string_literal: true\n\nclass EventsController < ApplicationController\n  before_action :authenticate_user!, except: %i(index show)\n  before_action :set_event, only: %i(show edit update destroy update_only_url)\n  before_action :set_projects, only: %i(new edit update create)\n\n  def index\n    @projects = Project.active\n    @events = Event.upcoming_events(specified_project)\n    respond_to do |format|\n      format.html { @events }\n      format.json do\n        @scrums = EventInstance.this_month_until_now\n      end\n    end\n  end\n\n  def show\n    @event_schedule = @event.next_occurrences\n    @recent_hangout = @event.recent_hangouts.first\n    @event_instances = EventInstance.where(event_id: @event.id).where.not(yt_video_id: nil)\n                                    .order(created_at: :desc).limit(5)\n    @project = @event.project\n    render partial: 'hangouts_management' if request.xhr?\n  end\n\n  def new\n    @event = Event.new(new_params)\n    @event.set_repeat_ends_string\n  end\n\n  def edit\n    @event.set_repeat_ends_string\n  end\n\n  def create\n    @event = Event.new(normalize_event_dates(transform_params))\n    if @event.save\n      flash[:notice] = 'Event Created'\n      redirect_to event_path(@event)\n    else\n      flash.now[:notice] = @event.errors.full_messages.to_sentence\n      render :new\n    end\n  end\n\n  def update\n    begin\n      updated = @event.update(transform_params)\n    rescue StandardError\n      attr_error = 'attributes invalid'\n    end\n    if updated\n      flash[:notice] = 'Event Updated'\n      redirect_to event_path(@event)\n    else\n      flash.now[:alert] = ['Failed to update event:', @event.errors.full_messages, attr_error].join(' ')\n      @projects = Project.all\n      render 'edit'\n    end\n  end\n\n  def destroy\n    @event.destroy\n    redirect_to events_path\n  end\n\n  private\n\n  def transform_params\n    event_params = whitelist_event_params\n    create_start_date_time(event_params)\n    # check_days_of_week(event_params)\n    event_params[:repeat_ends] = (event_params[:repeat_ends_string] == 'on')\n    event_params[:repeats_every_n_weeks] = 2 if event_params['repeats'] == 'biweekly'\n    event_params\n  end\n\n  def normalize_event_dates(event_params)\n    event_params[:start_datetime] = Time.now if event_params[:start_datetime].blank?\n    event_params[:duration] = 30.minutes if event_params[:duration].blank?\n    event_params[:repeat_ends] = event_params[:repeat_ends_string] == 'on'\n    event_params\n  end\n\n  def whitelist_event_params\n    permitted = %i(\n      name category for project_id description duration repeats\n      repeats_every_n_weeks repeat_ends_string time_zone creator_id\n      start_datetime repeat_ends repeat_ends_on modifier_id creator_attendance\n    )\n\n    params.merge(event: params[:event].merge(action_initiator))\n          .require(:event)\n          .permit(permitted, repeats_weekly_each_days_of_the_week: [])\n  end\n\n  def action_initiator\n    @event&.creator_id ? { modifier_id: current_user.id } : { creator_id: current_user.id }\n  end\n\n  def create_start_date_time(event_params)\n    # return unless date_and_time_present?\n\n    tz = TZInfo::Timezone.get(params['start_time_tz'])\n    event_params[:start_datetime] = tz.local_to_utc(DateTime.parse(params[:start_datetime]))\n    # local_to_utc(params[:start_datetime]) # DateTime.parse(\"#{params['start_date']} #{params['start_time']}\"))\n  end\n\n  def check_days_of_week(event_params)\n    # local timezone vs utc timezone\n    # return unless date_and_time_present?\n\n    offset = (DateTime.parse(params[:start_date]).wday - event_params[:start_datetime].wday) % 7\n    return event_params['repeats_weekly_each_days_of_the_week'] if offset.zero?\n\n    event_params['repeats_weekly_each_days_of_the_week'] = []\n    params['event']['repeats_weekly_each_days_of_the_week'].each do |day|\n      if day != ''\n        event_params['repeats_weekly_each_days_of_the_week'] << Date::DAYNAMES[(Date.parse(day).wday - offset) % 7].downcase\n      end\n    end\n  end\n\n  def date_and_time_present?\n    params['start_datetime'].present?\n    # and params['start_time'].present?\n  end\n\n  def specified_project\n    @project = Project.friendly.find(params[:project_id]) if params[:project_id].present?\n  end\n\n  def set_event\n    @event = Event.friendly.find(params[:id]) || Event.find_by(slug: params[:id])\n  end\n\n  def set_projects\n    @projects = Project.active.map { |project| [project.title, project.id] }\n  end\n\n  def new_params\n    params[:project_id] = Project.friendly.find(params[:project]).id.to_s if params[:project]\n    params[:project_id] = Project.find_by(title: 'CS169').try(:id) unless params[:project_id]\n    params.permit(:name, :category, :for, :project_id).merge(start_datetime: Time.now.utc, duration: 30,\n                                                             repeat_ends: true)\n  end\nend\n"
  },
  {
    "path": "app/controllers/legacy_api/subscriptions_controller.rb",
    "content": "# frozen_string_literal: true\n# class LegacyApi::SubscriptionsController < ApplicationController\n#   respond_to :json\n\n#   before_action :authenticate_api!\n\n#   def authenticate_api!\n#     return true if authenticate_token\n#     render json: { errors: [ { detail: 'Access denied' } ] }, status: 401\n#   end\n\n#   # I want to have a version in the api http://localhost:3000/api/v1/subscriptions.json\n#   # like documentation in the tests\n#   # mention this in the README/SETUP ...\n\n#   api :GET, '/subscriptions.json', 'Get all subscribed Premium users'\n#   error :code => 401, :desc => 'Access denied; token required to access this endpoint'\n#   description 'Get a list of all Premium subscribed users and their start dates'\n#   def index\n#     @subscriptions = Subscription.includes(:user).joins(:payment_source).all\n#   end\n\n#   private\n#   def authenticate_token\n#     authenticate_or_request_with_http_token do |token, _options|\n#       token == Settings.api.premium_subscriptions_token\n#     end\n#   end\n# end\n"
  },
  {
    "path": "app/controllers/paypal_agreement_controller.rb",
    "content": "# frozen_string_literal: true\n\nclass PaypalAgreementController < ApplicationController\n  def new\n    @plan = Plan.find(params[:plan])\n    session.delete(:user)\n    session[:user] = params[:user] if params[:user]\n    if (@agreement = new_paypal_agreement).error.nil?\n      @redirect_url = @agreement.links.detect { |v| v.method == 'REDIRECT' }.href\n      redirect_to @redirect_url\n    else\n      @message = @agreement.error\n    end\n  end\n\n  def create\n    @executed_agreement = PaypalService.execute_agreement(params[:token])\n    redirect_to subscriptions_paypal_redirect_path payment_method: @executed_agreement.payer.payment_method,\n                                                   payer_id: @executed_agreement.payer.payer_info.payer_id,\n                                                   plan: params[:plan],\n                                                   email: @executed_agreement.payer.payer_info.email,\n                                                   user: session[:user]\n  rescue StandardError => e\n    flash[:error] = e.message\n    redirect_to new_subscription_path(plan: (@plan.try(:third_party_identifier) || 'premium'))\n  end\n\n  private\n\n  def new_paypal_agreement\n    PaypalService.new(@plan).create_agreement\n  end\nend\n"
  },
  {
    "path": "app/controllers/projects_controller.rb",
    "content": "# frozen_string_literal: true\n\nclass ProjectsController < ApplicationController\n  layout 'with_sidebar'\n  before_action :authenticate_user!, except: %i(index show)\n  before_action :set_project, only: %i(show edit update access_to_edit)\n  before_action -> { query_projects('title ASC') }, only: %i(show edit update new)\n  before_action :get_current_stories, only: %i(show)\n  before_action :valid_admin, only: %i(index), if: -> { params[:status] == 'pending' }\n  before_action :access_to_edit, only: %i(edit)\n  include DocumentsHelper\n\n  def index\n    @language = params[:language]\n    query_projects('last_github_update DESC NULLS LAST')\n    if params[:status] == 'pending'\n      render :pending_projects, layout: 'with_sidebar_sponsor_right'\n    else\n      render layout: 'with_sidebar_sponsor_right'\n    end\n  end\n\n  def show\n    documents\n    @members = @project.members\n    relation = EventInstance.where(project_id: @project.id)\n    @event_instances_count = relation.count\n    @event_instances = relation.order(created_at: :desc).limit(25)\n  end\n\n  def new\n    @project = Project.new\n    @project.source_repositories.build\n    @project.issue_trackers.build\n    @project.languages.build\n  end\n\n  def edit; end\n\n  def create\n    status = current_user.admin? ? project_params[:status].downcase : 'pending'\n    @project = Project.create(project_params.merge(user: current_user, status: status))\n    if @project.persisted?\n      add_to_feed(:create)\n      current_user.follow(@project)\n      redirect_to project_path(@project), notice: 'Project was successfully created.'\n    else\n      query_projects('title ASC')\n      flash.now[:alert] = 'Project was not saved. Please check the input.'\n      render action: 'new'\n    end\n  end\n\n  def update\n    params[:command].present? && update_project_status(params[:command]) and return\n    if @project.update(project_params)\n      add_to_feed(:update)\n      redirect_to project_path(@project), notice: 'Project was successfully updated.'\n    else\n      # TODO: change this to notify for invalid params\n      flash.now[:alert] = 'Project was not updated.'\n      render 'edit'\n    end\n  end\n\n  def follow\n    set_project\n    if current_user\n      current_user.follow(@project)\n      send_email_notifications\n      redirect_to project_path(@project)\n      flash[:notice] = \"You just joined #{@project.title}.\"\n    else\n      flash[:error] = \"You must <a href='/users/sign_in'>login</a> to follow #{@project.title}.\".html_safe\n    end\n  end\n\n  def unfollow\n    set_project\n    current_user.stop_following(@project)\n    redirect_to project_path(@project)\n    flash[:notice] = \"You are no longer a member of #{@project.title}.\"\n  end\n\n  private\n\n  def send_email_notifications\n    if @project.user.receive_mailings\n      ProjectMailer.with(project: @project, user: current_user, project_creator: @project.user)\n                   .alert_project_creator_about_new_member.deliver_now\n    end\n\n    return unless current_user.receive_mailings\n\n    ProjectMailer.with(project: @project, user: current_user, project_creator: @project.user)\n                 .welcome_project_joinee.deliver_now\n  end\n\n  def set_project\n    @project = Project.friendly.find(params[:id])\n  end\n\n  def query_projects(order)\n    status = params[:status]\n    @projects = if status == 'pending'\n                  Project.where(status: status)\n                         .order(order)\n                         .includes(:documents)\n                else\n                  Project.order(order)\n                         .includes(:documents)\n                end\n    @projects_languages_array = Language.pluck(:name)\n    @projects = @projects.search_by_language(@language) if @language.presence\n  end\n\n  def add_to_feed(action)\n    @project.create_activity action, owner: current_user\n  end\n\n  def get_current_stories\n    PivotalAPI::Service.set_token('1e90ef53f12fc327d3b5d8ee007cce39')\n    @is_non_pt_issue_tracker = false\n    if @project.pivotaltracker_url.present?\n      pivotaltracker_id = @project.pivotaltracker_url.split('/')[-1]\n      begin\n        project = PivotalAPI::Project.retrieve(pivotaltracker_id)\n        iteration = project.current_iteration\n        @stories = iteration.stories\n      rescue Exception => e\n        # TODO: deal with simple not found errors, should not send for all exceptions\n        ExceptionNotifier.notify_exception(e, env: request.env,\n                                              data: { message: 'an error occurred in Pivotal Tracker' })\n        @is_non_pt_issue_tracker = true\n      end\n    end\n    @stories ||= []\n  end\n\n  def project_params\n    params.require(:project).permit(:title, :description, :pitch, :created, :status,\n                                    :user_id, :github_url, :pivotaltracker_url, :slack_channel_name,\n                                    :pivotaltracker_id, :image_url, languages_attributes: [:name],\n                                                                    name_ids: [], source_repositories_attributes: %i(id url _destroy),\n                                                                    issue_trackers_attributes: %i(id url _destroy))\n  end\n\n  def valid_admin\n    return if user_signed_in? && current_user.admin?\n\n    redirect_to root_path,\n                notice: 'You do not have permission to perform that operation'\n  end\n\n  def access_to_edit\n    return if current_user.admin? || (current_user == @project.user)\n\n    redirect_to root_path, notice: 'You do not have permission to perform that operation'\n  end\n\n  def update_project_status(command)\n    status = command == 'activate' ? 'active' : 'pending'\n    @project = Project.friendly.find(params[:id])\n    @project.update(status: status)\n    redirect_to project_path, notice: \"Project was #{command}d\"\n  end\nend\n"
  },
  {
    "path": "app/controllers/registrations_controller.rb",
    "content": "# frozen_string_literal: true\n\nclass RegistrationsController < Devise::RegistrationsController\n  include DeactivatedUserFinder\n\n  layout 'layouts/user_profile_layout', only: [:edit]\n  prepend_before_action :check_for_deactivated_user, only: [:create]\n  prepend_before_action :check_captcha, only: [:create]\n\n  def create\n    super\n    return if @user.new_record?\n\n    session[:omniauth] = nil\n    flash[:user_signup] = 'Signed up successfully.'\n    Mailer.send_welcome_message(@user).deliver_now if Features.enabled?(:welcome_email)\n  end\n\n  def update\n    if params[:preview]\n      resource.display_email = params[:user][:display_email] == '1'\n      render action: 'edit'\n    else\n      self.resource = resource_class.to_adapter.get!(send(:\"current_#{resource_name}\").to_key)\n      prev_unconfirmed_email = resource.unconfirmed_email if resource.respond_to?(:unconfirmed_email)\n      resource.skill_list = params[:user].delete 'skill_list' # Extracts skills from params\n      account_update_params = devise_parameter_sanitizer.sanitize(:account_update)\n      resource_updated = resource.update_without_password(account_update_params)\n\n      yield resource if block_given?\n      if resource_updated\n        set_flash_message_for_update(resource, prev_unconfirmed_email)\n        bypass_sign_in resource, scope: resource_name if sign_in_after_change_password?\n\n        respond_with resource, location: after_update_path_for(resource)\n      else\n        clean_up_passwords resource\n        set_minimum_password_length\n        respond_with resource\n      end\n    end\n  end\n\n  private\n\n  def check_captcha\n    return if verify_recaptcha\n\n    self.resource = resource_class.new sign_up_params\n    resource.validate # Look for any other validation errors besides Recaptcha\n    respond_with_navigational(resource) { render :new }\n  end\n\n  def build_resource(hash = {})\n    hash.merge!({ karma: Karma.new })\n    self.resource = User.new_with_session(hash, session)\n    return unless session[:omniauth]\n\n    @user.apply_omniauth(session[:omniauth])\n    @user.valid?\n  end\n\n  def after_update_path_for(resource)\n    user_path(resource)\n  end\n\n  def after_sign_up_path_for(_resource)\n    '/getting-started'\n  end\n\n  def fetch_email_from_params\n    params.fetch(:user, {}).fetch(:email, '')\n  end\n\n  def check_for_deactivated_user\n    show_deactivated_message_and_redirect_to_root if deactivated_user_with_email(fetch_email_from_params).present?\n  end\nend\n"
  },
  {
    "path": "app/controllers/scrums_controller.rb",
    "content": "# frozen_string_literal: true\n\nclass ScrumsController < ApplicationController\n  def index\n    @scrums = EventInstance.last(20).sort { |a, b| b.created_at <=> a.created_at }\n  end\nend\n"
  },
  {
    "path": "app/controllers/static_pages_controller.rb",
    "content": "# frozen_string_literal: true\n\nclass StaticPagesController < ApplicationController\n  before_action :authenticate_user!, except: %i(show letsencrypt loaderio)\n\n  def loaderio\n    render plain: ENV['LOADERIO_TOKEN'] || 'loaderio-296a53739de683b99e3a2c4d7944230f', layout: false\n  end\n\n  def letsencrypt\n    render plain: \"#{params[:id]}.#{ENV.fetch('CERTBOT_SSL_CHALLENGE', nil)}\", layout: false\n  end\n\n  def show\n    return false if redirect_email_blunder\n\n    @page = StaticPage.friendly.find(get_page_id(params[:id]))\n    @ancestry = @page.self_and_ancestors.map(&:title).reverse\n  end\n\n  private\n\n  def get_page_id(page)\n    page.split('/').last\n  end\n\n  def redirect_email_blunder\n    redirect_to(static_page_path('premiumplus')) and return true if params[:id] == 'premiumplus  '\n  end\nend\n"
  },
  {
    "path": "app/controllers/subscriptions_controller.rb",
    "content": "# frozen_string_literal: true\n\nclass SubscriptionsController < ApplicationController\n  before_action :store_user_location!, if: :storable_location?\n  before_action :authenticate_user!, if: :require_login?\n  # skip_before_action :verify_authenticity_token, only: [:create], if: :paypal?\n\n  def new\n    @sponsee_slug = params[:user_id]\n    @sponsorship = @sponsee_slug && current_user.try(:id) != @sponsee_slug\n    @plan = detect_plan_before_payment\n  end\n\n  def create\n    @sponsee = detect_user\n    @plan = detect_plan_after_payment\n    @is_sponsorship = is_sponsorship?\n\n    create_stripe_customer unless paypal?\n\n    add_appropriate_subscription(@sponsee, current_user)\n    send_acknowledgement_email\n  rescue StandardError => e\n    flash[:error] = e.message\n    redirect_to new_subscription_path(plan: (@plan.try(:third_party_identifier) || 'premium'))\n  end\n\n  def update\n    # \"user_slug\"=>\"<slug>\", \"subscription\"=>{\"plan_id\"=>\"12\"},\n    # \"commit\"=>\"Adjust Level\", \"controller\"=>\"subscriptions\", \"action\"=>\"update\", \"id\"=>\"45\"} permitted: false>\n    begin\n      plan = Plan.find params[:subscription][:plan_id]\n    rescue StandardError\n      plan = Plan.find_by(third_party_identifier: 'premiummob')\n    end\n\n    user = if current_user.is_privileged? && params[:user_slug]\n             User.find_by slug: params[:user_slug]\n           else\n             current_user\n           end\n    # so we have multiple cases here\n    # 1. existing sponsor has already paid and is adding additional upgrade - below code would work\n    # 2. user has paid for their own premium, and upgrades themselves - below code is good\n    # 3. current_user paying for upgrade is different from user who paid for initial premium - will either fail or update incorrectly\n    # 4. sponsor is sponsoring multiple different users - will update incorrectly\n\n    # have adjusted presentation logic to only show the button to upgrade the subscription if the\n    # user themselves actually paid for the original premium plan\n\n    change_plan_through_stripe(user, plan)\n  rescue Stripe::InvalidRequestError => e\n    logger.error \"Failing plan upgrade through Stripe: #{e.message}\"\n    flash[:error] =\n      \"We're sorry but we can't automatically upgrade your plan at this time. Please email info@agileventures.org to receive an upgrade\"\n    redirect_to user_path(current_user)\n  rescue Stripe::StripeError => e\n    # nil customer id will lead to Stripe::InvalidRequestError\n    flash[:error] = e.message\n    redirect_to user_path(current_user)\n  rescue StandardError => e\n    logger.error \"Failing plan upgrade through Stripe: #{e.message}\"\n    flash[:error] =\n      \"We're sorry but we can't automatically upgrade your plan at this time. Please email info@agileventures.org to receive an upgrade\"\n    redirect_to user_path(current_user)\n  end\n\n  private\n\n  def require_login?\n    # we have this exception for paypal creation in test since we can't easily\n    # maintain the capybara session for API endpoint hit\n    true unless action_name == 'create' && paypal? && Rails.env.test?\n  end\n\n  def storable_location?\n    (action_name == 'new') && current_user.nil?\n  end\n\n  def store_user_location!\n    store_location_for(:user, request.fullpath)\n  end\n\n  def detect_plan_before_payment\n    Plan.find_by(third_party_identifier: params[:plan]) || default_plan\n  rescue ActiveRecord::NotFound\n    default_plan\n  end\n\n  def default_plan\n    Plan.find_by(third_party_identifier: 'premium')\n  end\n\n  def detect_plan_after_payment\n    id = params[:plan]\n    Plan.find_by(third_party_identifier: id)\n  end\n\n  def detect_user\n    return User.find_by slug: params[:user] if params[:user]\n\n    current_user\n  end\n\n  def paypal?\n    params[:payment_method] === 'paypal'\n  end\n\n  def create_stripe_customer\n    @stripe_customer = Stripe::Customer.create(\n      email: params[:stripeEmail],\n      source: stripe_token(params),\n      plan: @plan.third_party_identifier\n    )\n  end\n\n  def is_sponsorship?\n    @sponsee.present? && current_user != @sponsee\n  end\n\n  def stripe_token(params)\n    Rails.env.test? ? generate_test_token : params[:stripeToken]\n  end\n\n  def generate_test_token\n    StripeMock.create_test_helper.generate_card_token\n  end\n\n  def add_appropriate_subscription(user, sponsor = user)\n    user ||= current_user\n    return unless user\n\n    payment_source = if paypal?\n                       PaymentSource::PayPal.new identifier: params[:payer_id]\n                     else\n                       PaymentSource::Stripe.new identifier: @stripe_customer.id\n                     end\n\n    AddSubscriptionToUserForPlan.with(user, sponsor, Time.now, @plan, payment_source)\n  end\n\n  def send_acknowledgement_email\n    payer_email = paypal? ? params[:email] : params[:stripeEmail]\n    if is_sponsorship?\n      Mailer.send_sponsor_premium_payment_complete(@sponsee.email, payer_email).deliver_now\n    else\n      Mailer.send_premium_payment_complete(@plan, payer_email).deliver_now\n    end\n  end\n\n  def change_plan_through_stripe(user, new_subscription_plan)\n    customer = Stripe::Customer.retrieve(user.stripe_customer_id)\n    subscription = customer.subscriptions.retrieve(customer.subscriptions.first.id)\n    subscription.plan = new_subscription_plan.third_party_identifier\n    subscription.save\n    payment_source = user.current_subscription.payment_source\n    AddSubscriptionToUserForPlan.with(user, user, Time.now, new_subscription_plan, payment_source)\n  end\nend\n"
  },
  {
    "path": "app/controllers/users_controller.rb",
    "content": "# frozen_string_literal: true\n\nclass UsersController < ApplicationController\n  layout 'layouts/user_profile_layout', only: [:show]\n\n  skip_before_action :verify_authenticity_token, only: %i(index show)\n\n  before_action :get_user, only: %i(show destroy add_status)\n  before_action :get_user, only: %i(show add_status)\n  before_action :authenticate_user!, only: [:add_status]\n\n  def index\n    @users = users\n    @users_count = @users.total_count\n    @projects = Project.where(status: 'active').sort { |a, b| a.title <=> b.title }\n    @user_type = (params[:title].presence || 'Volunteer')\n    @user_type = 'Premium Member' if params[:title] == 'Premium'\n\n    respond_to do |format|\n      format.js\n      format.html\n    end\n  end\n\n  def show\n    @contact_form = ContactForm.new\n    raise ActiveRecord::RecordNotFound, 'User has not exposed their profile publicly' unless should_display_user?(@user)\n\n    @event_instances = EventInstance.where(user_id: @user.id)\n                                    .order(created_at: :desc).limit(5)\n    set_activity_tab(params[:tab])\n  end\n\n  def new\n    @user = User.new(Karma.new)\n    @user.status.build\n  end\n\n  def hire_me\n    @user = User.find(params[:contact_form][:recipient_id])\n    message_params = params.fetch(:contact_form, {})\n    @contact_form = ContactForm.new(name: message_params['name'],\n                                    email: message_params['email'],\n                                    message: message_params['message'])\n\n    if @contact_form.valid?\n      Mailer.hire_me_form(@user, message_params).deliver_now\n      redirect_to({ action: :show, id: @user.id }, notice: 'Your message has been sent successfully!')\n    else\n      flash.now[:alert] = @contact_form.errors.full_messages\n      render :show\n    end\n  end\n\n  def destroy\n    user = User.find(current_user.id)\n    user.destroy\n    flash[:notice] = 'Your account has been deactivated'\n    redirect_to users_path\n  end\n\n  def add_status\n    if user_has_status(params)\n      @user.status.create({ status: (params[:user][:status]), user_id: @user })\n      flash[:notice] = 'Your status has been set'\n      redirect_to user_path(@user)\n    else\n      flash.now[:alert] = 'Something went wrong...'\n      render :show\n    end\n  end\n\n  private\n\n  def user_has_status(params)\n    params.key?(:user) && params[:user].key?(:status)\n  end\n\n  def users\n    users = User.page(params[:page]).per(15)\n                .includes(:status, :titles, :karma)\n                .param_filter(set_filter_params)\n                .order('karmas.total DESC')\n\n    users = users.allow_to_display unless privileged_visitor?\n    users = users.where(email: params[:email]) if params[:email]\n    users\n  end\n\n  def should_display_user?(user)\n    user.display_profile || current_user == @user || privileged_visitor?\n  end\n\n  def get_user\n    @user = User.friendly.find(params[:id])\n  end\n\n  def set_filter_params\n    params.slice(:project_filter, :online, :title)\n  end\n\n  def set_activity_tab(param)\n    return unless param.present?\n\n    @param_tab = param\n    return if UserPresenter.new(@user).contributed?\n\n    @param_tab = nil\n    flash.now[:notice] = 'User does not have activity log'\n  end\nend\n"
  },
  {
    "path": "app/controllers/vanity_controller.rb",
    "content": "# frozen_string_literal: true\n\nclass VanityController < ApplicationController\n  include Vanity::Rails::Dashboard\n  layout false\nend\n"
  },
  {
    "path": "app/controllers/visitors_controller.rb",
    "content": "# frozen_string_literal: true\n\nclass VisitorsController < ApplicationController\n  include ApplicationHelper\n\n  def index\n    # disable countdown clock by setting @next_event to nil\n    @event = @next_event\n    @next_event = nil\n\n    render layout: false\n  end\n\n  def get_next_scrum\n    if Features.get_next_scrum_homepage.enabled\n      super\n    else\n      @next_event = nil\n    end\n  end\nend\n"
  },
  {
    "path": "app/helpers/application_helper.rb",
    "content": "# frozen_string_literal: true\n\nmodule ApplicationHelper\n  include ArticlesHelper\n  include DisqusHelper\n\n  def user_details(id)\n    user = User.find_by_id(id)\n    if user.present?\n      user.display_name\n    else\n      'Anonymous'\n    end\n  end\n\n  def resource_name\n    :user\n  end\n\n  def privileged_visitor?\n    current_user&.is_privileged?\n  end\n\n  def static_page_path(page)\n    \"/#{StaticPage.url_for_me(page)}\"\n  end\n\n  def is_in_static_page?(static_page_name)\n    params[:controller] == 'static_pages' &&\n      params[:action] == 'show' &&\n      params[:id] == StaticPage.url_for_me(static_page_name)\n  end\n\n  def resource\n    @resource ||= User.new({ karma: Karma.new })\n  end\n\n  def devise_mapping\n    @devise_mapping ||= Devise.mappings[:user]\n  end\n\n  def current_projects\n    Project.where(status: %w(active Active)).order('title ASC').order('commit_count DESC NULLS LAST')\n  end\n\n  def date_format(date)\n    date.strftime(\"#{date.day.ordinalize} %b %Y\")\n  end\n\n  DISPLAY_NAME = {\n    'github' => 'GitHub',\n    'gplus' => 'Google'\n  }.freeze\n\n  FA_ICON = {\n    'github' => 'github-alt',\n    'gplus' => 'google'\n  }.freeze\n\n  def social_button(provider, options = {})\n    provider = provider.downcase\n    options[:url] = root_path unless options[:url].present?\n\n    options[:delete] ? remove_social_account_button(provider, options) : add_social_account_button(provider, options)\n  end\n\n  def add_social_account_button(provider, options)\n    text = options[:text] || prefix\n    path = \"/auth/#{provider}?origin=#{CGI.escape(options[:url].gsub(%r{^/*}, '/'))}\"\n\n    # Underneath uses CSRF protection workaround provided by https://github.com/cookpad/omniauth-rails_csrf_protection\n    button_to path, data: { turbo: false }, method: :post, class: \"btn btn-block btn-social btn-#{provider} #{options[:extra_class]}\" do\n      raw <<-HTML\n        <i class=\"fa fa-#{FA_ICON[provider]}\"></i> #{text} #{DISPLAY_NAME[provider]}\n      HTML\n    end\n  end\n\n  def remove_social_account_button(provider, options)\n    text = options[:text] || 'Remove'\n    path = \"/auth/destroy/#{current_user.authentications.where(provider: provider).first.id}\"\n\n    raw <<-HTML\n    <div data-no-turbolink>\n      <a class=\"btn btn-block btn-social btn-#{provider} #{options[:extra_class]}\" method=\"delete\" href=\"#{path}\">\n        <i class=\"fa fa-#{FA_ICON[provider]}\"></i> #{text} #{DISPLAY_NAME[provider]}\n      </a>\n    </div>\n    HTML\n  end\n\n  def prefix\n    action_name == 'new' ? 'with' : ''\n  end\n\n  def supported_third_parties\n    %w(github)\n    # %w(github gplus)\n  end\n\n  def valid_email?(email)\n    !!(email =~ /\\A([^@\\s]+)@((?:\\w+\\.)+[a-z]{2,})\\z/i)\n  end\n\n  def custom_css_btn(text, icon_class, path, options = {})\n    s = ''\n    options.each do |k, v|\n      if v.is_a?(Hash)\n        # Bryan: this extra level is to support data tags\n        v.each do |key, value|\n          s = %(#{s} #{k}-#{key.to_s.tr('_', '-')}=\"#{value}\")\n        end\n      else\n        s = %(#{s} #{k}=\"#{v}\")\n      end\n    end\n    # Bryan: data-link-text attribute is used to find this element in the tests\n    raw <<-HTML\n    <a href=\"#{path}\"#{s} data-toggle=\"tooltip\" data-placement=\"top\" title=\"#{text}\" class=\"btn btn-default btn-controls\">\n      <i class=\"#{icon_class}\"></i>\n    </a>\n    HTML\n  end\n\n  def awesome_text_field(f, object_name, options = {})\n    awesome_text_method(:text_field, f, object_name, options)\n  end\n\n  def awesome_text_area(f, object_name, options = {})\n    awesome_text_method(:text_area, f, object_name, options)\n  end\n\n  def awesome_text_method(method_name, f, object_name, options = {})\n    errors = f.object.errors.messages[object_name]\n    result = \"<div class=\\\"form-group#{' has-error has-feedback' if errors.present?}\\\">\"\n    result << f.label(object_name, options[:label_text], { class: 'control-label' }.merge(options[:label] || {}))\n    result << f.send(method_name, object_name, { class: 'form-control' }.merge(options))\n    result << \"<span class=\\\"help-block control-label\\\">#{errors.join(', ')}</span>\" if errors.present?\n    result << '</div>'\n    clean_html result\n  end\n  private :awesome_text_method\n\n  def active_if(condition)\n    condition ? 'active' : nil\n  end\n\n  def active_if_controller_is(controller_name)\n    active_if(params[:controller] == controller_name)\n  end\n\n  def shared_meta_keywords\n    'AgileVentures, pair programming, crowdsourced learning'\n  end\n\n  def default_meta_description\n    @default_meta_description ||= '' \\\n                                  'AgileVentures is a project incubator that stimulates and supports development of social innovations, ' \\\n                                  'open source and free software. We are also a community for learning and personal development with members ' \\\n                                  'from across the world with various levels of competence and experience in software development. We hold ' \\\n                                  'scrum meetings and pair programming sessions every day with participants from all time zones and on all ' \\\n                                  'levels. Come and join us.'\n  end\n\n  def present(model)\n    yield(model.presenter)\n  end\n\n  def delete_google_cookies\n    cookies.delete('_ga')\n    cookies.delete('_gid')\n    cookies.delete('_gat')\n    cookies['GA-disable-UA-47795185-1'] = 'true'\n  end\nend\n"
  },
  {
    "path": "app/helpers/articles_helper.rb",
    "content": "# frozen_string_literal: true\n\nmodule ArticlesHelper\n  def clean_html(html)\n    raw sanitize html,\n                 tags: %w(\n                   h1 h2 h3 h4 h5 h6 b i ul ol li pre span iframe div img br\n                   blockquote p a em del strong code tr table thead th tbody\n                   td dl dd dt hr input label textarea fieldset font sup sub\n                   u strike details summary\n                 ),\n                 attributes: %w(\n                   src alt target frameborder allowfullscreen style href\n                   class id lang title align height width border for\n                   placeholder name rows columns value color background color\n                 )\n  end\n\n  def standard_tags\n    %w(\n      Pair-Programming AgileVentures Ruby Rails Javascript jQuery Jasmine\n      Cucumber RSpec Git Heroku\n    )\n  end\n\n  def link_to_tags(tags)\n    clean_html tags.map { |tag| link_to tag, articles_path(tag: tag) }.join(', ')\n  end\n\n  class CodeRayify < Redcarpet::Render::HTML\n    def block_code(code, language)\n      CodeRay.scan(code, language || :plaintext).div\n    rescue Exception => e\n      Rails.logger.error e\n      'Failed to render code block'\n    end\n  end\n\n  def from_markdown(markdown)\n    return '' if markdown.nil?\n\n    clean_html(markdown_engine.render(markdown))\n  end\n\n  def markdown_preview(markdown)\n    return '' if markdown.nil?\n\n    raw sanitize(markdown_engine.render(markdown), tags: %w(p pre code strong em), attributes: %w(id class style)).truncate(\n      100, separator: ' '\n    )\n  end\n\n  private\n\n  def markdown_engine\n    renderer = CodeRayify.new filter_html: true,\n                              hard_wrap: true,\n                              with_toc_data: true,\n                              link_attributes: { target: '_blank', rel: 'nofollow' }\n\n    Redcarpet::Markdown.new renderer,\n                            autolink: true,\n                            fenced_code_blocks: true,\n                            no_intra_emphasis: true,\n                            superscript: true,\n                            footnotes: true\n  end\nend\n"
  },
  {
    "path": "app/helpers/authentications_helper.rb",
    "content": "# frozen_string_literal: true\n\nmodule AuthenticationsHelper\nend\n"
  },
  {
    "path": "app/helpers/cookies_helper.rb",
    "content": "# frozen_string_literal: true\n\nmodule CookiesHelper\nend\n"
  },
  {
    "path": "app/helpers/devise_helper.rb",
    "content": "# frozen_string_literal: true\n\nmodule DeviseHelper\n  def devise_error_simple_message\n    return '' if resource.errors.empty?\n\n    messages = resource.errors.full_messages.map { |msg| \"#{msg}<br/>\" }.join\n    html = yield(messages) if block_given?\n    html ||= <<-HTML\n        <div class=\"alert alert-danger\">\n        <p>#{messages}</p>\n        </div>\n    HTML\n    html.html_safe\n  end\n\n  def devise_error_messages_flash\n    devise_error_simple_message do |messages|\n      sentence = I18n.t('errors.messages.not_saved',\n                        count: resource.errors.count,\n                        resource: resource.class.model_name.human.downcase)\n      <<-HTML\n        <div class=\"alert alert-danger\">\n        <strong>#{sentence}</strong>\n        <p>#{messages}</p>\n        </div>\n      HTML\n    end\n  end\nend\n"
  },
  {
    "path": "app/helpers/disqus_helper.rb",
    "content": "# frozen_string_literal: true\n\nmodule DisqusHelper\n  def get_disqus_sso(user)\n    data = {}\n    present user do |presenter|\n      data = {\n        id: user.id,\n        username: user.display_name,\n        email: user.email,\n        avatar: presenter.gravatar_url,\n        url: user_url(user)\n      }.to_json\n    end\n\n    message = Base64.strict_encode64(data)\n    timestamp = Time.now.to_i\n    sig = OpenSSL::HMAC.hexdigest('sha1', Settings.disqus.secret_key, \"#{message} #{timestamp}\")\n\n    %(<script id=\"disqus-sso\" type=\"text/javascript\">\n              var disqus_config = function() {\n              this.page.remote_auth_s3 = '#{message} #{sig} #{timestamp}';\n              this.page.api_key = '#{Settings.disqus.api_key}';\n              }\n            </script>).html_safe\n  end\nend\n"
  },
  {
    "path": "app/helpers/documents_helper.rb",
    "content": "# frozen_string_literal: true\n\nmodule DocumentsHelper\n  def documents\n    @documents = Document.where('project_id = ?', @project.id).order(:created_at).includes([:user, :children])\n  end\n\n  def metadata\n    if @document.versions.empty?\n      \"Created #{time_ago_in_words(@document.created_at)} ago by #{@document.user.display_name}\"\n    else\n      \"#{@document.versions.last.event.titleize}d #{time_ago_in_words(@document.versions.last.created_at)} ago by #{user_details(@document.versions.last.version_author)}\"\n    end\n  end\n\n  def inside_mercury?\n    controller.request.original_url =~ /mercury_frame=true/\n  end\nend\n"
  },
  {
    "path": "app/helpers/event_helper.rb",
    "content": "# frozen_string_literal: true\n\nmodule EventHelper\n  def current_occurrence_time(event)\n    time = nested_hash_value(event, :time)\n    return nil if time.nil?\n\n    event_date = time.strftime(\"%A, #{time.day.ordinalize} %b\")\n    \"#{event_date} at #{time.strftime('%I:%M%P (%Z)')}\"\n  end\n\n  def topic(event, event_schedule)\n    \"#{event.name} - #{current_occurrence_time(event_schedule.first(1))}\"\n  end\n\n  def format_timepicker(datetime)\n    datetime.blank? ? '' : datetime.strftime('%I:%M %P')\n  end\n\n  def format_datepicker(datetime)\n    datetime.blank? ? '' : datetime.strftime('%Y-%m-%d')\n  end\n\n  def format_time_range(event)\n    start_time_format = event.start_time.strftime('%H:%M')\n    end_time_format = event.instance_end_time.strftime('%H:%M')\n    \"#{start_time_format}-#{end_time_format} #{event.start_time.strftime('(%Z)')}\"\n  end\n\n  def format_time(datetime)\n    \"#{datetime.strftime('%H:%M')} UTC\"\n  end\n\n  def format_date(datetime)\n    datetime.strftime('%F')\n  end\n\n  def show_local_time_range(time, duration)\n    start_time = local_time(time, '%H:%M')\n    end_time = local_time(time + (duration * 60), '%H:%M (%Z)')\n    \"#{start_time}-#{end_time}\"\n  end\n\n  def google_calendar_link(event)\n    \"https://calendar.google.com/calendar/render?action=TEMPLATE&dates=#{event.next_event_occurrence_with_time[:time].strftime('%Y%m%dT%H%M%SZ')}%2f#{(event.next_event_occurrence_with_time[:time] + (@event.duration * 60)).strftime('%Y%m%dT%H%M%SZ')}&sprop=website:#{auto_link(event.description)}&text=#{event.name}&location=online&sprop=name:AgileVentures&details=#{event.description}\"\n  end\n\n  def set_column_width\n    @event.modifier_id ? '<div class=\"col-xs-12 col-sm-2\"></div>'.html_safe : '<div class=\"col-xs-12 col-sm-4\"></div>'.html_safe\n  end\n\n  def show_private_event_info?\n    return true unless @event.for == 'Associate Members'\n\n    current_user&.allowed_to_attend?\n  end\nend\n"
  },
  {
    "path": "app/helpers/event_instances_helper.rb",
    "content": "# frozen_string_literal: true\n\nrequire 'securerandom'\nmodule EventInstancesHelper\n  def generate_event_instance_id(user, project_id = nil)\n    \"#{user.id}#{project_id || '00'}-#{SecureRandom.uuid}\"\n  end\n\n  def watchable?(event_instance)\n    true unless event_instance.for == 'Premium Mob Members'\n  end\nend\n"
  },
  {
    "path": "app/helpers/features.rb",
    "content": "# frozen_string_literal: true\n\nmodule Features\n  class << self\n    def enabled?(feature_name)\n      feature = Settings.features.send(feature_name)\n      raise \"The feature #{feature_name} could not be found\" if feature.nil?\n\n      feature&.enabled\n    end\n\n    def enable(feature_name)\n      Features.send(feature_name).enabled = true\n    end\n\n    def disable(feature_name)\n      Features.send(feature_name).enabled = false\n    end\n\n    def method_missing(method_name, *args, &block)\n      Settings.features.send(method_name, *args, &block)\n    end\n  end\nend\n"
  },
  {
    "path": "app/helpers/layout_helper.rb",
    "content": "# frozen_string_literal: true\n\nmodule LayoutHelper\n  def flash_messages(opts = {})\n    @layout_flash = opts.fetch(:layout_flash, true)\n\n    capture do\n      flash.each do |name, msg|\n        concat content_tag(:div, msg, id: \"flash_#{name}\")\n      end\n    end\n  end\n\n  def show_layout_flash?\n    @layout_flash.nil? ? true : @layout_flash\n  end\n\n  def event_name_or_invitation_to_guest_user(event)\n    current_user ? event['name'] : \"Want to learn more? Listen in. Next projects' review meeting \"\n  end\nend\n"
  },
  {
    "path": "app/helpers/projects_helper.rb",
    "content": "# frozen_string_literal: true\n\nmodule ProjectsHelper\n  def created_date\n    @project.created_at.strftime('Created: %Y-%m-%d')\n  end\nend\n"
  },
  {
    "path": "app/helpers/scrums_helper.rb",
    "content": "# frozen_string_literal: true\n\nmodule ScrumsHelper\n  def scrum_link(video)\n    video.yt_video_id ? link_video(video) : display_error(video)\n  end\n\n  def link_video(video)\n    link_to(\n      raw('<i class=\"fa fa-bg fa-play\"></i>') + video[:title],\n      '#', {\n        id: video[:id],\n        class: 'scrum_yt_link',\n        data: { content: video[:title], source: video[:yt_video_id], toggle: 'modal', target: '#scrumVideo' }\n      }\n    )\n  end\n\n  def display_error(video)\n    \"#{video[:title]}\\n - There is no recording of the event available\"\n  end\nend\n"
  },
  {
    "path": "app/helpers/static_pages_helper.rb",
    "content": "# frozen_string_literal: true\n\nmodule StaticPagesHelper\n  def github_static_pages_edit_url\n    \"https://github.com/AgileVentures/AgileVentures/edit/master/#{@page.title.tr(' ', '_').upcase}.md\"\n  end\nend\n"
  },
  {
    "path": "app/helpers/subscriptions_helper.rb",
    "content": "# frozen_string_literal: true\n\nmodule SubscriptionsHelper\n  def action_text\n    @sponsorship ? 'Sponsor' : 'Get'\n  end\n\n  def type\n    @sponsorship ? 'Sponsorship' : 'Membership'\n  end\nend\n"
  },
  {
    "path": "app/helpers/users_helper.rb",
    "content": "# frozen_string_literal: true\n\nmodule UsersHelper\n  def activity_tab(param_tab)\n    return 'active' if param_tab == 'activity'\n  end\n\n  def about_tab(param_tab)\n    return 'active' unless param_tab == 'activity'\n  end\nend\n"
  },
  {
    "path": "app/helpers/visitors_helper.rb",
    "content": "# frozen_string_literal: true\n\nmodule VisitorsHelper\n  def display_countdown(event)\n    time_to_next_event_instance = Time.now.to_datetime.distance_to(event.next_occurrence_time_attr.to_datetime)\n    minutes_left = time_to_next_event_instance[:minutes]\n    hours_left = time_to_next_event_instance[:hours]\n    days_left = time_to_next_event_instance[:days]\n\n    if days_left.zero? && hours_left.zero?\n      pluralize(minutes_left, 'minute')\n    elsif days_left.zero?\n      \"#{pluralize(hours_left, 'hour')} #{pluralize(minutes_left, 'minute')}\"\n    else\n      (\"#{pluralize(days_left, 'day')} \" unless days_left.zero?).to_s +\n        (\"#{pluralize(hours_left, 'hour')} \" unless hours_left.zero?).to_s +\n        pluralize(minutes_left, 'minute')\n    end\n  end\n\n  def show_svg(path)\n    File.open(\"app/assets/images/#{path}\", 'rb') do |file|\n      raw file.read\n    end\n  end\nend\n"
  },
  {
    "path": "app/jobs/application_job.rb",
    "content": "# frozen_string_literal: true\n\nclass ApplicationJob < ActiveJob::Base\nend\n"
  },
  {
    "path": "app/jobs/github_commits_job.rb",
    "content": "# frozen_string_literal: true\n\nrequire 'octokit'\n\nmodule GithubCommitsJob\n  extend self\n\n  def initialize\n    @client = Octokit::Client.new(client_id: Settings.github.client_id,\n                                  client_secret: Settings.github.client_secret)\n  end\n\n  def run\n    initialize\n    Project.with_github_url.each do |project|\n      update_total_commit_count_for(project)\n      update_user_commit_counts_for(project)\n    end\n  end\n\n  private\n\n  def update_total_commit_count_for(project)\n    commit_count = client.contributors(github_url(project), true, per_page: 100).inject(0) do |memo, contrib|\n      memo += contrib.contributions\n    end\n    project.update(commit_count: commit_count)\n  rescue StandardError => e\n    ErrorLoggingService.new(e).log(\"Retrieving total github commits for #{project.github_url} may have caused the following issue!\")\n  end\n\n  def github_url(project)\n    \"#{project.github_repo_user_name}/#{project.github_repo_name}\"\n  end\n\n  def update_user_commit_counts_for(project)\n    contributors = get_contributor_stats(project.github_repo)\n\n    contributors.map do |contributor|\n      user = User.find_by_github_username(contributor.author.login)\n\n      if user\n        CommitCount.find_or_initialize_by(user: user, project: project).update(commit_count: contributor.total)\n      else\n        Rails.logger.warn \"#{contributor.author.login} could not be found in the database\" unless user\n      end\n    rescue StandardError => e\n      ErrorLoggingService.new(e).log(\"Updating contributions for #{contributor.author.login} caused an error!\")\n    end\n  rescue StandardError\n    Rails.logger.warn \"#{project.github_url} may have caused the issue. Commit2 update terminated for this project!\"\n  end\n\n  def get_contributor_stats(repo)\n    contributors = client.contributor_stats(repo, { retry_timeout: 6, retry_wait: 3 })\n    return [] if contributors.nil?\n\n    contributors\n  end\n\n  def client\n    @client\n  end\nend\n"
  },
  {
    "path": "app/jobs/github_languages_job.rb",
    "content": "# frozen_string_literal: true\n\nrequire 'octokit'\n\nmodule GithubLanguagesJob\n  module_function\n\n  def client\n    credentials = {\n      client_id: Settings.github.client_id,\n      client_secret: Settings.github.client_secret\n    }\n    @client ||= Octokit::Client.new(credentials)\n  end\n\n  def run\n    Project.with_github_url.each do |project|\n      add_new_languages_to(project)\n    rescue StandardError => e\n      log_error(e, project)\n    end\n  end\n\n  def add_new_languages_to(project)\n    new_languages_for(project).each { |language| project.languages << Language.find_or_create_by(name: language) }\n  rescue ActiveRecord::RecordNotUnique => e\n    log_error(e, project)\n    retry\n  end\n\n  def github_languages_for(project)\n    languages_array = []\n    project.source_repositories.each do |source_repository|\n      path = URI.parse(source_repository.url).path\n      path = path.slice(1..path.length)\n      languages = client.languages(path)\n      languages_array << languages.to_hash.keys\n    end\n    languages_array.flatten!\n  end\n\n  def db_languages_for(project)\n    project.languages.map { |language| language.name.to_sym }\n  end\n\n  def new_languages_for(project)\n    github_languages_for(project) - db_languages_for(project)\n  end\n\n  def log_error(error, project)\n    ErrorLoggingService.new(error).log(\"Updating the languages for #{project.github_url} may have caused the issue!\")\n  end\nend\n"
  },
  {
    "path": "app/jobs/github_last_updates_job.rb",
    "content": "# frozen_string_literal: true\n\nrequire 'octokit'\n\nmodule GithubLastUpdatesJob\n  extend self\n\n  def run\n    Project.with_github_url.each do |p|\n      p.last_github_update = client.repo(\"#{p.github_repo_user_name}/#{p.github_repo_name}\").pushed_at\n      p.save\n    rescue StandardError => e\n      ErrorLoggingService.new(e).log(\"Updating the last update for #{p.github_url} may have caused the issue!\")\n    end\n  end\n\n  private\n\n  def client\n    @client ||= Octokit::Client.new(access_token: Settings.github.auth_token)\n  end\nend\n"
  },
  {
    "path": "app/jobs/github_readme_files_job.rb",
    "content": "# frozen_string_literal: true\n\nrequire 'octokit'\nrequire 'base64'\n\nmodule GithubReadmeFilesJob\n  extend self\n\n  def client\n    credentials = {\n      client_id: Settings.github.client_id,\n      client_secret: Settings.github.client_secret\n    }\n    @client ||= Octokit::Client.new(credentials)\n  end\n\n  def run(projects)\n    projects.each do |project|\n      project.update(pitch: content(project.github_repo, 'PITCH.md'))\n    rescue StandardError => e\n      evaluate_exception(e, project)\n    end\n  end\n\n  def replace_relative_links_with_absolute(project_readme_html, project)\n    anchor_tag = 'a'\n    base_uri = \"#{project.github_url}/blob/master/\"\n    doc = Nokogiri::HTML(project_readme_html)\n    doc.search(anchor_tag).each do |node|\n      convert_path(node, base_uri) unless anchor_link?(node[:href])\n    end\n    doc.to_html\n  end\n\n  private\n\n  def anchor_link?(url)\n    url.empty? || url.match?(/^\\#/)\n  end\n\n  def convert_path(node, base_uri)\n    node[:href] = \"#{base_uri}#{URI(node[:href])}\" if URI(node[:href]).relative?\n  end\n\n  def project_readme(project)\n    project_readme_content = content(project.github_repo, 'README.md')\n    project.update(pitch: replace_relative_links_with_absolute(project_readme_content, project))\n  rescue StandardError => e\n    log_error(e, project)\n  end\n\n  def error_message(repository)\n    \"Trying to get the content from #{repository} have caused the issue!\"\n  end\n\n  def content(repository, path)\n    client.contents repository, path: path, accept: 'application/vnd.github.html'\n  end\n\n  def evaluate_exception(error, project)\n    if error.message.include?('404 - Not Found')\n      project_readme(project)\n    else\n      log_error(error, project)\n    end\n  end\n\n  def log_error(error, project)\n    ErrorLoggingService.new(error).log(error_message(project.github_repo))\n  end\nend\n"
  },
  {
    "path": "app/jobs/github_static_pages_job.rb",
    "content": "# frozen_string_literal: true\n\nrequire 'octokit'\nrequire 'base64'\n\nmodule GithubStaticPagesJob\n  extend self\n\n  FILE_NAME_REGEX = /\\w+[^.md]/\n\n  def client\n    credentials = {\n      client_id: Settings.github.client_id,\n      client_secret: Settings.github.client_secret\n    }\n    @client ||= Octokit::Client.new(credentials)\n  end\n\n  def run\n    content = get_content('agileventures/agileventures')\n    process_markdown_pages(get_markdown_pages(content))\n  rescue StandardError => e\n    ErrorLoggingService.new(e).log('Trying to get the content from the repository may have caused the issue!')\n  end\n\n  private\n\n  def get_content(repository)\n    client.contents(repository)\n  end\n\n  def get_markdown_pages(content)\n    content.select { |page| page if page[:path] =~ /\\.md$/i }\n  end\n\n  def process_markdown_pages(md_pages)\n    md_pages.each do |page|\n      filename = page[:path]\n      page_content = client.contents('agileventures/agileventures', path: filename)\n      markdown = Base64.decode64(page_content[:content])\n      static_page = StaticPage.find_by_slug(get_slug(filename))\n      static_page.nil? ? create_static_page(filename, markdown) : update_body(static_page, markdown)\n    rescue Encoding::UndefinedConversionError => e\n      ErrorLoggingService.new(e).log(\"Trying to convert this page: #{filename} caused the issue!\")\n    end\n  end\n\n  def create_static_page(filename, markdown)\n    StaticPage.create(\n      title: get_title(filename),\n      body: convert_markdown_to_html(markdown),\n      slug: get_slug(filename)\n    )\n  end\n\n  def update_body(static_page, markdown)\n    static_page.body = convert_markdown_to_html(markdown)\n    static_page.save!\n  end\n\n  def get_title(filename)\n    get_slug(filename).tr('-', ' ').titleize\n  end\n\n  def get_slug(filename)\n    FILE_NAME_REGEX.match(filename)[0].downcase.tr('_', '-')\n  end\n\n  def convert_markdown_to_html(markdown)\n    MarkdownConverter.new(markdown).as_html\n  end\nend\n"
  },
  {
    "path": "app/mailers/.keep",
    "content": ""
  },
  {
    "path": "app/mailers/admin_mailer.rb",
    "content": "# frozen_string_literal: true\n\nclass AdminMailer < ApplicationMailer\n  default from: 'bot@agileventures.org'\n\n  def failed_to_invite_user_to_slack(email, error, slack_error_message)\n    @error_message = error.message if error\n    @backtrace_output = backtrace_output\n    @email = email\n    @slack_error_message = slack_error_message\n    mail(subject: \"Slack invite failed for user with email '#{email}'.\",\n         to: 'support@agileventures.org')\n  end\n\n  private\n\n  def backtrace_output\n    backtrace = @error.backtrace if @error\n    backtrace ? backtrace.join(\"\\n\\t\") : ''\n  end\nend\n"
  },
  {
    "path": "app/mailers/application_mailer.rb",
    "content": "# frozen_string_literal: true\n\nclass ApplicationMailer < ActionMailer::Base\n  default from: 'from@example.com'\n  layout 'mailer'\nend\n"
  },
  {
    "path": "app/mailers/mailer.rb",
    "content": "# frozen_string_literal: true\n\nclass Mailer < ActionMailer::Base\n  default from: 'matt@agileventures.org', reply_to: 'matt@agileventures.org', cc: 'support@agileventures.org'\n\n  def send_premium_payment_complete(plan, email)\n    @plan = plan\n    mail(to: email, subject: \"Welcome to AgileVentures #{@plan.name}\")\n  end\n\n  def send_sponsor_premium_payment_complete(email, sponsor_email)\n    user = User.find_by(email: sponsor_email)\n    @sponsor = user.nil? ? sponsor_email : user.full_name\n    mail(to: email, subject: 'You\\'ve been sponsored for AgileVentures Premium Membership')\n  end\n\n  def send_welcome_message(user)\n    @user = user\n    mail(to: user.email, subject: 'Welcome to AgileVentures.org')\n  end\n\n  def hire_me_form(user, hire_me_form)\n    @user = user\n    @form = hire_me_form\n    subject = ['message from', @form[:name]].join(' ')\n    mail(to: @user.email, reply_to: @form[:email], from: @form[:email], subject: subject)\n  end\nend\n"
  },
  {
    "path": "app/mailers/project_mailer.rb",
    "content": "# frozen_string_literal: true\n\nclass ProjectMailer < ApplicationMailer\n  default from: 'matt@agileventures.org', reply_to: 'matt@agileventures.org', cc: 'support@agileventures.org'\n\n  before_action :set_params\n\n  def alert_project_creator_about_new_member\n    mail(to: @project_creator.email, subject: \"#{@user.display_name} just joined #{@project.title} project\")\n  end\n\n  def welcome_project_joinee\n    mail(to: @user.email, subject: \"Welcome to the #{@project.title} project!\")\n  end\n\n  private\n\n  def set_params\n    @user = params[:user]\n    @project = params[:project]\n    @project_creator = params[:project_creator]\n  end\nend\n"
  },
  {
    "path": "app/mailers/sandbox_email_interceptor.rb",
    "content": "# frozen_string_literal: true\n\nclass SandboxEmailInterceptor\n  def self.delivering_email(message)\n    message.to = ENV.fetch('USER_EMAIL', nil)\n  end\nend\n"
  },
  {
    "path": "app/models/.keep",
    "content": ""
  },
  {
    "path": "app/models/application_record.rb",
    "content": "# frozen_string_literal: true\n\nclass ApplicationRecord < ActiveRecord::Base\n  self.abstract_class = true\nend\n"
  },
  {
    "path": "app/models/article.rb",
    "content": "# frozen_string_literal: true\n\nclass Article < ApplicationRecord\n  include ActAsPage\n  include UserNullable\n  include PublicActivity::Common\n\n  belongs_to :user\n  validates :content, :user, presence: true\n\n  acts_as_taggable\n  acts_as_votable\n\n  # Bryan: Used to generate paths, used only in testing.\n  # Might want to switch to rake generated paths in the future\n  def url_for_me(action)\n    if action == 'show'\n      \"/articles/#{to_param}\"\n    else\n      \"/articles/#{to_param}/#{action}\"\n    end\n  end\n\n  def vote_value\n    get_upvotes.size - get_downvotes.size\n  end\n\n  def authored_by?(user)\n    self.user == user\n  end\nend\n"
  },
  {
    "path": "app/models/authentication.rb",
    "content": "# frozen_string_literal: true\n\nclass Authentication < ApplicationRecord\n  belongs_to :user\n  # Bryan: validation of user presence is done at the database level, model level will cause problems\n  validates :provider, :uid, presence: true\n  validates :provider, uniqueness: { scope: :user_id }\nend\n"
  },
  {
    "path": "app/models/commit_count.rb",
    "content": "# frozen_string_literal: true\n\nrequire 'open-uri'\n\nclass CommitCount < ApplicationRecord\n  belongs_to :user\n  belongs_to :project\n\n  validates :user, :project, :commit_count, presence: true\n  validates :user, uniqueness: { scope: :project }\nend\n"
  },
  {
    "path": "app/models/concerns/.keep",
    "content": ""
  },
  {
    "path": "app/models/concerns/act_as_page.rb",
    "content": "# frozen_string_literal: true\n\nmodule ActAsPage\n  def self.included(base)\n    base.acts_as_tree\n    base.extend FriendlyId\n    base.friendly_id :title, use: :slugged\n    base.has_paper_trail\n    base.validates :title, presence: true\n  end\nend\n"
  },
  {
    "path": "app/models/concerns/filterable.rb",
    "content": "# frozen_string_literal: true\n\nmodule Filterable\n  extend ActiveSupport::Concern\n\n  module ClassMethods\n    def param_filter(filtering_params)\n      results = where(nil)\n      filtering_params.each do |key, value|\n        results = results.public_send(key, value) if value.present?\n      end\n      results\n    end\n  end\nend\n"
  },
  {
    "path": "app/models/concerns/user_nullable.rb",
    "content": "# frozen_string_literal: true\n\nmodule UserNullable\n  def user\n    super || NullUser.new('Anonymous')\n  end\nend\n"
  },
  {
    "path": "app/models/contact_form.rb",
    "content": "# frozen_string_literal: true\n\nclass ContactForm\n  include ActiveModel::Model\n\n  attr_accessor :name, :email, :message\n\n  validates :name, :email, :message, presence: true\n  validates :email, format: { with: Devise.email_regexp }\nend\n"
  },
  {
    "path": "app/models/document.rb",
    "content": "# frozen_string_literal: true\n\nclass Document < ApplicationRecord\n  include ActAsPage\n  include UserNullable\n  include PublicActivity::Common\n\n  belongs_to :project\n  belongs_to :user\n\n  validates :title, :project, presence: true\n\n  delegate :title, to: :project, prefix: true\n\n  has_rich_text :content\n\n  # Bryan: Used to generate paths, used only in testing.\n  # Might want to switch to rake generated paths in the future\n  def url_for_me(action)\n    if action == 'show'\n      \"/projects/#{project.to_param}/documents/#{to_param}\"\n    else\n      \"/projects/#{project.to_param}/documents/#{to_param}/#{action}\"\n    end\n  end\n\n  def slug_candidates\n    [:title, %i(title project_title)]\n  end\nend\n"
  },
  {
    "path": "app/models/event.rb",
    "content": "# frozen_string_literal: true\n\nclass Event < ApplicationRecord\n  has_many :event_instances\n  belongs_to :project, optional: true\n  belongs_to :creator, class_name: 'User', optional: true\n  has_and_belongs_to_many :slack_channels\n\n  extend FriendlyId\n  friendly_id :name, use: :slugged\n\n  include IceCube\n  validates :name, :time_zone, :repeats, :category, :start_datetime, :duration, presence: true\n  validates :url, uri: true, allow_blank: true\n  validates :repeats_every_n_weeks, presence: true, if: lambda { |e|\n                                                          e.repeats == 'weekly' or e.repeats == 'biweekly'\n                                                        }\n  validates :repeat_ends_on, presence: true, allow_blank: false, if: lambda { |e|\n                                                                       (e.repeats == 'weekly' or e.repeats == 'biweekly') and e.repeat_ends_string == 'on'\n                                                                     }\n  validate :must_have_at_least_one_repeats_weekly_each_days_of_the_week, if: lambda { |e|\n                                                                               e.repeats == 'weekly' or e.repeats == 'biweekly'\n                                                                             }\n  validates :repeat_ends, inclusion: { in: [true, false] }\n  attr_accessor :next_occurrence_time_attr, :repeat_ends_string\n\n  COLLECTION_TIME_FUTURE = 10.days\n  COLLECTION_TIME_PAST = 300.minutes\n  NEXT_SCRUM_COLLECTION_TIME_PAST = 15.minutes\n\n  REPEATS_OPTIONS = %w(never weekly biweekly).freeze\n  REPEAT_ENDS_OPTIONS = %w(on never).freeze\n  DAYS_OF_THE_WEEK = %w(monday tuesday wednesday thursday friday saturday sunday).freeze\n\n  def set_repeat_ends_string\n    @repeat_ends_string = repeat_ends ? 'on' : 'never'\n  end\n\n  def self.base_future_events(project)\n    project.nil? ? Event.future_events : Event.future_events.where(project_id: project)\n  end\n\n  def self.future_events\n    Event.where('start_datetime > ? OR repeat_ends = false AND repeats != ? OR repeat_ends = false AND repeat_ends_on IS NULL OR repeat_ends_on > ?', 1.day.ago, 'never', 1.day.ago)\n         .where.not('repeats = ? AND start_datetime < ?', 'never', 1.day.ago)\n  end\n\n  def repeats?\n    schedule.recurrence_rules.map { |rule| rule.class.name }.include?('IceCube::WeeklyRule')\n  end\n\n  def self.upcoming_events(project = nil)\n    events = Event.base_future_events(project).inject([]) do |memo, event|\n      memo << event.next_occurrences\n    end.flatten.sort_by { |e| e[:time] }\n    Event.remove_past_events(events)\n  end\n\n  def self.remove_past_events(events)\n    events.delete_if do |event|\n      (event[:time] + event[:event].duration.minutes) < Time.current &&\n        !event[:event].event_instances.last.try(:live?)\n    end\n  end\n\n  def self.hookups\n    Event.where(category: 'PairProgramming')\n  end\n\n  def self.pending_hookups\n    pending = []\n    hookups.each do |h|\n      started = h.last_hangout&.started?\n      expired_without_starting = !h.last_hangout && Time.now.utc > h.instance_end_time\n      pending << h if !started && !expired_without_starting\n    end\n    pending\n  end\n\n  def event_date\n    start_datetime\n  end\n\n  def start_time\n    start_datetime\n  end\n\n  def series_end_time\n    repeat_ends && repeat_ends_on.present? ? repeat_ends_on.to_time : nil\n  end\n\n  def instance_end_time\n    (start_datetime + (duration * 60)).utc\n  end\n\n  def end_date\n    if series_end_time < start_time\n      (event_date.to_datetime + 1.day).strftime('%Y-%m-%d')\n    else\n      event_date\n    end\n  end\n\n  def live?\n    last_hangout.present? && last_hangout.live?\n  end\n\n  def final_datetime_for_collection(options = {})\n    final_datetime = if repeating_and_ends? && options[:end_time].present?\n                       [options[:end_time], repeat_ends_on.to_datetime].min\n                     elsif repeating_and_ends?\n                       repeat_ends_on.to_datetime\n                     else\n                       options[:end_time]\n                     end\n    final_datetime ? final_datetime.to_datetime.utc : COLLECTION_TIME_FUTURE.from_now\n  end\n\n  def start_datetime_for_collection(options = {})\n    first_datetime = options.fetch(:start_time, COLLECTION_TIME_PAST.ago)\n    first_datetime = [start_datetime, first_datetime.to_datetime].max\n    first_datetime.to_datetime.utc\n  end\n\n  def next_occurrence_time_method(start = Time.now)\n    next_occurrence = next_event_occurrence_with_time(start)\n    next_occurrence.present? ? next_occurrence[:time] : nil\n  end\n\n  def self.next_occurrence(event_type, begin_time = NEXT_SCRUM_COLLECTION_TIME_PAST.ago)\n    events_with_times = []\n    events_with_times = Event.where(category: [event_type, event_type.to_s.humanize]).map do |event|\n      event.next_event_occurrence_with_time(begin_time)\n    end.compact\n    return nil if events_with_times.empty?\n\n    events_with_times = events_with_times.sort_by { |e| e[:time] }\n    events_with_times[0][:event].next_occurrence_time_attr = events_with_times[0][:time]\n    events_with_times[0][:event]\n  end\n\n  # The IceCube Schedule's occurrences_between method requires a time range as input to find the next time\n  # Most of the time, the next instance will be within the next weeek.do\n  # But some event instances may have been excluded, so there's not guarantee that the next time for an event will be within the next week, or even the next month\n  # To cover these cases, the while loop looks farther and farther into the future for the next event occurrence, just in case there are many exclusions.\n  def next_event_occurrence_with_time(start = Time.now, final = 2.months.from_now)\n    begin_datetime = start_datetime_for_collection(start_time: start)\n    final_datetime = repeating_and_ends? ? repeat_ends_on : final\n    n_days = 8\n    end_datetime = n_days.days.from_now\n    event = nil\n    return next_event_occurrence_with_time_inner(start, final_datetime) if repeats == 'never'\n\n    while event.nil? && end_datetime < final_datetime\n      event = next_event_occurrence_with_time_inner(start, final_datetime)\n      n_days *= 2\n      end_datetime = n_days.days.from_now\n    end\n    event\n  end\n\n  def next_event_occurrence_with_time_inner(start_time, end_time)\n    occurrences = occurrences_between(start_time, end_time)\n    { event: self, time: occurrences.first.start_time } if occurrences.present?\n  end\n\n  def next_occurrences(options = {})\n    begin_datetime = start_datetime_for_collection(options)\n    final_datetime = final_datetime_for_collection(options)\n    limit = options.fetch(:limit, 100)\n    [].tap do |occurences|\n      occurrences_between(begin_datetime, final_datetime).each do |time|\n        occurences << { event: self, time: time }\n        return occurences if occurences.count >= limit\n      end\n    end\n  end\n\n  def occurrences_between(start_time, end_time)\n    schedule.occurrences_between(start_time.to_time, end_time.to_time)\n  end\n\n  def repeats_weekly_each_days_of_the_week=(repeats_weekly_each_days_of_the_week)\n    self.repeats_weekly_each_days_of_the_week_mask = (repeats_weekly_each_days_of_the_week & DAYS_OF_THE_WEEK).map do |r|\n      2**DAYS_OF_THE_WEEK.index(r)\n    end.inject(0, :+)\n  end\n\n  def repeats_weekly_each_days_of_the_week\n    DAYS_OF_THE_WEEK.reject do |r|\n      ((repeats_weekly_each_days_of_the_week_mask || 0) & (2**DAYS_OF_THE_WEEK.index(r))).zero?\n    end\n  end\n\n  def remove_from_schedule(timedate)\n    # best if schedule is serialized into the events record...  and an attribute.\n    if timedate >= Time.now && timedate == next_occurrence_time_method\n      _next_occurrences = next_occurrences(limit: 2)\n      self.start_datetime = _next_occurrences.size > 1 ? _next_occurrences[1][:time] : timedate + 1.day\n    elsif timedate >= Time.now\n      self.exclusions ||= []\n      self.exclusions << timedate\n    end\n    save!\n  end\n\n  def schedule\n    sched = if series_end_time.nil? || !repeat_ends\n              IceCube::Schedule.new(start_datetime)\n            else\n              IceCube::Schedule.new(\n                start_datetime, end_time: series_end_time\n              )\n            end\n    case repeats\n    when 'never'\n      sched.add_recurrence_time(start_datetime)\n    when 'weekly', 'biweekly'\n      days = repeats_weekly_each_days_of_the_week.map(&:to_sym)\n      sched.add_recurrence_rule IceCube::Rule.weekly(repeats_every_n_weeks).day(*days)\n    end\n    self.exclusions ||= []\n    self.exclusions.each do |ex|\n      sched.add_exception_time(ex)\n    end\n    sched\n  end\n\n  def start_time_with_timezone\n    DateTime.parse(start_time.strftime('%k:%M ')).in_time_zone(time_zone)\n  end\n\n  def last_hangout\n    event_instances.order(:created_at).last\n  end\n\n  def recent_hangouts\n    event_instances\n      .where('created_at BETWEEN ? AND ?', 1.day.ago + duration.minutes, DateTime.now.end_of_day)\n      .order(created_at: :desc)\n  end\n\n  def less_than_ten_till_start?\n    return true if within_current_event_duration?\n\n    Time.now > next_event_occurrence_with_time[:time] - 10.minutes\n  rescue StandardError\n    false\n  end\n\n  def within_current_event_duration?\n    after_current_start_time? and before_current_end_time?\n  end\n\n  def current_start_time\n    schedule.occurrences_between(1.month.ago, Time.current).last\n  end\n\n  def current_end_time\n    schedule.occurrences_between(1.month.ago, Time.current).last + (duration * 60)\n  end\n\n  def before_current_end_time?\n    Time.current < current_end_time\n  rescue StandardError\n    false\n  end\n\n  def after_current_start_time?\n    Time.current > current_start_time\n  rescue StandardError\n    false\n  end\n\n  def jitsi_room_link\n    \"https://meet.jit.si/AV_#{name.tr(' ', '_').gsub(/[^0-9a-zA-Z_]/i, '')}\"\n  end\n\n  def modifier\n    User.find modifier_id\n  end\n\n  def slack_channel_codes\n    slack_channels.pluck(:code)\n  end\n\n  private\n\n  def must_have_at_least_one_repeats_weekly_each_days_of_the_week\n    return unless repeats_weekly_each_days_of_the_week.empty?\n\n    errors.add(:base, 'You must have at least one repeats weekly each days of the week')\n  end\n\n  def repeating_and_ends?\n    repeats != 'never' && repeat_ends && repeat_ends_on.present?\n  end\nend\n"
  },
  {
    "path": "app/models/event_date.rb",
    "content": "# frozen_string_literal: true\n\nclass EventDate\n  def self.for(event_date)\n    (event_date.presence || Date.today)\n  end\nend\n"
  },
  {
    "path": "app/models/event_instance.rb",
    "content": "# frozen_string_literal: true\n\nclass EventInstance < ApplicationRecord\n  self.per_page = 30\n\n  belongs_to :event, optional: true\n  delegate :within_current_event_duration?, to: :event\n\n  belongs_to :user, optional: true\n  belongs_to :project, optional: true\n  include UserNullable\n\n  scope :started, -> { where.not(hangout_url: nil) }\n  scope :live, -> { where('updated_at > ?', 5.minutes.ago).order('created_at DESC') }\n  scope :latest, -> { order('created_at DESC') }\n  scope :pp_hangouts, -> { where(category: 'PairProgramming') }\n\n  has_many :hangout_participants_snapshots\n  accepts_nested_attributes_for :hangout_participants_snapshots\n\n  def for\n    event&.for\n  end\n\n  def self.active_hangouts\n    select(&:live?)\n  end\n\n  def started?\n    hangout_url?\n  end\n\n  def updated_within_last_two_minutes?\n    updated_at > 2.minutes.ago\n  end\n\n  # margin: Seconds for which condition can be relaxed for start time\n  def updated_within_current_event_duration?(margin)\n    return false unless event.current_start_time\n\n    updated_at > (event.current_start_time - margin) &&\n      updated_at < event.current_end_time\n  end\n\n  def live?\n    return false if !started? || hoa_status == 'finished'\n    return true if updated_within_last_two_minutes?\n\n    url_set_directly && updated_within_current_event_duration?(600) &&\n      event.before_current_end_time?\n  end\n\n  def duration\n    updated_at - created_at\n  end\n\n  def start_datetime\n    event.nil? ? created_at : event.start_datetime\n  end\n\n  def broadcaster\n    participants&.each do |_, hash|\n      break hash['person']['displayName'] if hash['isBroadcaster'] == 'true'\n    end\n  end\n\n  def yt_url\n    yt_video_id && \"https://youtu.be/#{yt_video_id}\"\n  end\n\n  def channels_for_event\n    return [] if event_id.nil?\n\n    event = Event.find(event_id)\n    event.slack_channel_codes\n  end\n\n  def self.this_month_until_now\n    beginning_of_month = Date.current.at_beginning_of_month\n    EventInstance\n      .where('created_at BETWEEN ? AND ?', beginning_of_month, DateTime.current)\n      .order(created_at: :desc)\n  end\n\n  private\n\n  def manually_updated_event_not_finished?\n    url_set_directly && within_current_event_duration?\n  end\nend\n"
  },
  {
    "path": "app/models/follow.rb",
    "content": "# frozen_string_literal: true\n\nclass Follow < ApplicationRecord\n  extend ActsAsFollower::FollowerLib\n  extend ActsAsFollower::FollowScopes\n\n  # NOTE: Follows belong to the \"followable\" interface, and also to followers\n  belongs_to :followable, polymorphic: true\n  belongs_to :follower,   polymorphic: true\n\n  def block!\n    update_attribute(:blocked, true)\n  end\nend\n"
  },
  {
    "path": "app/models/hangout_participants_snapshot.rb",
    "content": "# frozen_string_literal: true\n\nclass HangoutParticipantsSnapshot < ApplicationRecord\n  belongs_to :event_instance\nend\n"
  },
  {
    "path": "app/models/issue_tracker.rb",
    "content": "# frozen_string_literal: true\n\nclass IssueTracker < ApplicationRecord\n  belongs_to :project\nend\n"
  },
  {
    "path": "app/models/karma.rb",
    "content": "# frozen_string_literal: true\n\nclass Karma < ApplicationRecord\nend\n"
  },
  {
    "path": "app/models/language.rb",
    "content": "# frozen_string_literal: true\n\nclass Language < ApplicationRecord\n  has_and_belongs_to_many :projects\n\n  validates :name, presence: true, uniqueness: true\nend\n"
  },
  {
    "path": "app/models/language_project.rb",
    "content": "# frozen_string_literal: true\n\nclass LanguageProject < ApplicationRecord\n  belongs_to :language\n  belongs_to :project\n\n  validates :language_id, uniqueness: { scope: :project_id }\nend\n"
  },
  {
    "path": "app/models/null_user.rb",
    "content": "# frozen_string_literal: true\n\nclass NullUser < User\n  def persisted?\n    false\n  end\n\n  def initialize(name)\n    super({ id: -1, first_name: name, created_at: Time.now })\n  end\n\n  def presenter\n    UserPresenter.new(self)\n  end\n\n  def gravatar_image\n    super.gravatar_image({ default: true })\n  end\nend\n"
  },
  {
    "path": "app/models/payment_source.rb",
    "content": "# frozen_string_literal: true\n\nmodule PaymentSource\n  class PaymentSource < ApplicationRecord\n    belongs_to :subscription\n  end\n\n  class CraftAcademy < PaymentSource\n  end\n\n  class Stripe < PaymentSource\n  end\n\n  class PayPal < PaymentSource\n  end\n\n  class Invoice < PaymentSource\n  end\n\n  class Other < PaymentSource\n  end\nend\n"
  },
  {
    "path": "app/models/plan.rb",
    "content": "# frozen_string_literal: true\n\nclass Plan < ApplicationRecord\n  def free_trial?\n    free_trial_length_days&.positive?\n  end\nend\n"
  },
  {
    "path": "app/models/premium.rb",
    "content": "# frozen_string_literal: true\n\nclass Premium < Subscription\nend\n"
  },
  {
    "path": "app/models/premium_f2_f.rb",
    "content": "# frozen_string_literal: true\n\nclass PremiumF2F < Subscription\nend\n"
  },
  {
    "path": "app/models/premium_mob.rb",
    "content": "# frozen_string_literal: true\n\nclass PremiumMob < Subscription\nend\n"
  },
  {
    "path": "app/models/premium_plus.rb",
    "content": "# frozen_string_literal: true\n\nclass PremiumPlus < Subscription\nend\n"
  },
  {
    "path": "app/models/project.rb",
    "content": "# frozen_string_literal: true\n\nclass Project < ApplicationRecord\n  extend FriendlyId\n  include Filterable\n  friendly_id :title, use: %i(slugged history)\n\n  validates :title, :description, :status, presence: true\n  validates_with PivotalTrackerUrlValidator\n  validates :github_url, uri: true, allow_blank: true\n  validates_with ImageUrlValidator\n  validates :image_url, uri: true, allow_blank: true\n\n  belongs_to :user, optional: true\n  include UserNullable\n  include PublicActivity::Common\n  has_many :documents\n  has_many :event_instances\n  has_many :commit_counts\n  has_many :source_repositories\n  has_many :issue_trackers\n  has_and_belongs_to_many :slack_channels\n  has_and_belongs_to_many :languages\n\n  accepts_nested_attributes_for :source_repositories, reject_if: :all_blank, allow_destroy: true\n  accepts_nested_attributes_for :issue_trackers, reject_if: :all_blank, allow_destroy: true\n\n  acts_as_followable\n  acts_as_taggable # Alias for acts_as_taggable_on :tags\n\n  scope :active, -> { where('status ILIKE ?', 'active').order(:title) }\n  scope :search_by_language, lambda { |search|\n    includes(:languages)\n      .where('languages.name ILIKE ?', search.to_s)\n      .references(:languages)\n  }\n\n  def self.with_github_url\n    includes(:source_repositories)\n      .where('source_repositories.url ILIKE ?', '%github%')\n      .references(:source_repositories)\n  end\n\n  def gpa\n    CodeClimateBadges.new(\"github/#{github_repo}\").gpa\n  end\n\n  def github_url\n    source_repositories.first.try(:url)\n  end\n\n  def slack_channel\n    \"https://agileventures.slack.com/app_redirect?channel=#{slack_channel_name}\"\n  end\n\n  def youtube_tags\n    tag_list\n      .clone\n      .push(title)\n      .map(&:downcase)\n      .uniq\n  end\n\n  def members\n    followers.select(&:display_profile)\n  end\n\n  def members_tags\n    members.map(&:youtube_user_name)\n           .compact\n           .map(&:downcase)\n           .uniq\n  end\n\n  def github_repo\n    matches = %r{[^\\b(github.com/)][a-zA-Z0-9-]+/[a-zA-Z0-9-]+}.match(github_url)\n    return '' if github_url.blank? || matches.nil?\n\n    matches[0]\n  end\n\n  def github_repo_name\n    github_url ? %r{github.com/\\w+/([\\w-]+)}.match(github_url)[1] : ''\n  end\n\n  def github_repo_user_name\n    github_url ? %r{github.com/(\\w+)/\\w+}.match(github_url)[1] : ''\n  end\n\n  def contribution_url\n    \"https://github.com/#{github_repo}/graphs/contributors\"\n  end\n\n  # Bryan: Used to generate paths, used only in testing.\n  # Might want to switch to rake generated paths in the future\n  def url_for_me(action)\n    if action == 'show'\n      \"/projects/#{to_param}\"\n    else\n      \"/projects/#{to_param}/#{action}\"\n    end\n  end\n\n  def jitsi_room_link\n    \"https://meet.jit.si/AV_#{title.tr(' ', '_').gsub(/[^0-9a-zA-Z_]/i, '')}\"\n  end\n\n  def meet_room_link\n    'https://meet.google.com'\n  end\n\n  def slack_channel_codes\n    slack_channels.pluck(:code)\n  end\n\n  private\n\n  def should_generate_new_friendly_id?\n    # Used by the friendly_id gem\n    changes.include?(:title)\n  end\nend\n"
  },
  {
    "path": "app/models/slack_channel.rb",
    "content": "# frozen_string_literal: true\n\nclass SlackChannel < ApplicationRecord\n  has_and_belongs_to_many :projects\n  has_and_belongs_to_many :events\nend\n"
  },
  {
    "path": "app/models/source_repository.rb",
    "content": "# frozen_string_literal: true\n\nclass SourceRepository < ApplicationRecord\n  belongs_to :project\n\n  def name\n    return '' if url.nil?\n    return url unless url.include? '/'\n\n    url.split('/').last\n  end\nend\n"
  },
  {
    "path": "app/models/static_page.rb",
    "content": "# frozen_string_literal: true\n\nclass StaticPage < ApplicationRecord\n  include ActAsPage\n\n  # Sampriti: Used to generate paths, both for routes and testing. DO NOT DELETE\n  def self.url_for_me(page)\n    static_page = StaticPage.find_by_title(page.to_s) || StaticPage.find_by_slug(page.to_s) || (if page.is_a? StaticPage\n                                                                                                  page\n                                                                                                end)\n    if static_page.nil?\n      page.parameterize\n    else\n      static_page.to_param\n    end\n  end\n\n  def to_param\n    self_and_ancestors.map(&:slug).reverse.join('/')\n  end\nend\n"
  },
  {
    "path": "app/models/status.rb",
    "content": "# frozen_string_literal: true\n\nclass Status < ApplicationRecord\n  belongs_to :user, counter_cache: :status_count\n\n  OPTIONS = ['Ready to pair',\n             'Doing code review',\n             'Plz, do not disturb',\n             'Waiting for next scrum...',\n             'Sleeping at my keyboard'].freeze\n\n  validates :user_id, presence: true\n  validates :status, presence: true, inclusion: { in: OPTIONS }\nend\n"
  },
  {
    "path": "app/models/subscription.rb",
    "content": "# frozen_string_literal: true\n\nclass Subscription < ApplicationRecord\n  belongs_to :user, -> { with_deleted }\n  belongs_to :plan\n\n  validates :started_at, presence: true\n  has_one :payment_source, class_name: 'PaymentSource::PaymentSource'\n  belongs_to :sponsor, -> { with_deleted }, class_name: 'User', foreign_key: :sponsor_id, optional: true\n  delegate :identifier, to: :payment_source\nend\n"
  },
  {
    "path": "app/models/user.rb",
    "content": "# frozen_string_literal: true\n\nclass User < ApplicationRecord\n  acts_as_paranoid\n\n  include Filterable\n\n  extend Forwardable\n\n  def_delegator :karma, :hangouts_attended_with_more_than_one_participant=\n  def_delegator :karma, :hangouts_attended_with_more_than_one_participant\n\n  # Include default devise modules. Others available are:\n  # :confirmable, :lockable, :timeoutable and :omniauthable\n  devise :database_authenticatable, :registerable,\n         :recoverable, :rememberable, :trackable, :validatable\n\n  geocoded_by :last_sign_in_ip do |user, results|\n    if geo = results.first\n      user.latitude = geo.data['latitude']\n      user.longitude = geo.data['longitude']\n      user.city = geo.data['city']\n      user.region = geo.data['region_name']\n      user.country_name = geo.data['country_name']\n      user.country_code = geo.data['country_code']\n    end\n  end\n\n  PREMIUM_MOB_PLAN_AMOUNT = 500 # downgrading this to associate membership level\n\n  acts_as_taggable_on :skills, :titles\n  acts_as_voter\n  acts_as_follower\n\n  extend FriendlyId\n  friendly_id :display_name, use: :slugged\n\n  after_validation :geocode, if: ->(obj) { obj.last_sign_in_ip_changed? }\n  # after_validation -> { KarmaCalculator.new(self).perform }\n\n  has_many :authentications, dependent: :destroy\n  has_many :projects\n  has_many :documents\n  has_many :articles\n  has_many :event_instances\n  has_many :commit_counts\n  has_many :status\n\n  has_many :subscriptions, autosave: true\n\n  # ultimately replacing the field stripe_customer\n  def stripe_customer_id\n    subscription = current_subscription\n    return nil unless subscription\n\n    subscription.identifier\n  end\n\n  has_one :karma\n\n  accepts_nested_attributes_for :status\n  scope :mail_receiver, -> { where(receive_mailings: true) }\n  scope :project_filter, lambda { |project_id|\n    joins(:follows)\n      .where(\n        follows: {\n          blocked: false,\n          followable_id: project_id,\n          followable_type: 'Project',\n          follower_type: 'User'\n        }\n      )\n  }\n  scope :allow_to_display, -> { where(display_profile: true) }\n  scope :by_create, -> { order(:created_at) }\n  scope :online, ->(_argument) { where('users.updated_at > ?', 10.minutes.ago) }\n  scope :title, ->(title) { tagged_with(title) }\n\n  self.per_page = 30\n\n  def current_subscription\n    now = DateTime.now\n    current_subscriptions = subscriptions.select { |s| s.ended_at.nil? and s.started_at.to_i <= now.to_i }\n    return nil if current_subscriptions.nil? || current_subscriptions.empty?\n\n    current_subscriptions.first\n  end\n\n  def allowed_to_attend?\n    current_subscription and current_subscription.plan.amount >= PREMIUM_MOB_PLAN_AMOUNT\n  end\n\n  def self.filter_if_title(title)\n    return User.all if title.blank?\n\n    User.tagged_with(title)\n  end\n\n  def membership_type\n    subscription = current_subscription\n    return 'Basic' unless subscription\n\n    subscription.plan.name\n  end\n\n  def apply_omniauth(omniauth)\n    self.email = omniauth['info']['email'] if email.blank?\n    authentications.build(provider: omniauth['provider'], uid: omniauth['uid']) if email.present?\n    @omniauth_provider = omniauth['provider']\n  end\n\n  def password_required?\n    (authentications.empty? || password.present?) && super\n  end\n\n  def has_auth(provider)\n    !authentications.where(provider: provider).empty?\n  end\n\n  def followed_project_tags\n    following_projects\n      .flat_map(&:youtube_tags)\n      .push('scrum')\n  end\n\n  def display_name\n    full_name || email_designator || 'Anonymous'\n  end\n\n  def full_name\n    full_name = \"#{first_name} #{last_name}\".squish\n    full_name.presence\n  end\n\n  def email_designator\n    return if email.blank?\n\n    email.split('@').first\n  end\n\n  def should_generate_new_friendly_id?\n    slug.nil? or ((first_name_changed? or last_name_changed?) and !slug_changed?)\n  end\n\n  def gravatar_url(options = {})\n    hash = Digest::MD5.hexdigest(email.strip.downcase)\n    if options[:size]\n      \"https://www.gravatar.com/avatar/#{hash}?s=#{options[:size]}&d=retro\"\n    else\n      \"https://www.gravatar.com/avatar/#{hash}?d=retro\"\n    end\n  end\n\n  def profile_completeness\n    awarded = 0\n    awarded += 2 if skill_list.present?\n    awarded += 2 if github_profile_url.present?\n    awarded += 2 if youtube_user_name.present?\n    awarded += 2 if bio.present?\n    awarded += 1 if first_name.present?\n    awarded += 1 if last_name.present?\n    awarded\n  end\n\n  def is_privileged?\n    return false if Settings.privileged_users.blank?\n\n    Settings.privileged_users.split(',').include?(email)\n  end\n\n  def self.find_by_github_username(username)\n    github_url = \"https://github.com/#{username}\"\n    find_by(github_profile_url: github_url)\n  end\n\n  def online?\n    updated_at > 10.minutes.ago\n  end\n\n  def self.map_data\n    users = User.group(:country_code).count\n    clean = proc { |k, v|\n      if k.nil?\n        true\n      else\n        v.is_a?(Hash) ? v.delete_if(&clean) : false\n      end\n    }\n    users.delete_if(&clean)\n    users.to_json\n  end\n\n  def incomplete?\n    bio.blank? || skills.blank? || first_name.blank? || last_name.blank?\n  end\n\n  def commit_count_total\n    commit_counts.sum :commit_count\n  end\n\n  def number_hangouts_started_with_more_than_one_participant\n    event_instances.count { |h| !h.participants.nil? && h.participants.count > 1 }\n  end\n\n  def activity\n    2 * [[(sign_in_count - 2), 0].max, 3].min\n  end\n\n  def membership_length\n    1 * [user_age_in_months.to_i, 6].min\n  end\n\n  def karma_total\n    return karma.total if karma\n\n    0\n  end\n\n  private\n\n  def user_age_in_months\n    (DateTime.current - created_at.to_datetime).to_i / 30\n  end\n\n  validate :email_absence\n\n  def email_absence\n    return unless email.blank? && !@omniauth_provider.nil?\n\n    errors.delete(:password)\n    errors.delete(:email)\n    errors.add(:base, I18n.t('error_messages.public_email', provider: @omniauth_provider.capitalize))\n  end\nend\n"
  },
  {
    "path": "app/presenters/base_presenter.rb",
    "content": "# frozen_string_literal: true\n\nrequire 'action_view'\n\nclass BasePresenter\n  include ActionView::Helpers::AssetTagHelper\n  include ActionView::Helpers::DateHelper\n  include ActionView::Helpers::UrlHelper\n\n  delegate :url_helpers, to: 'Rails.application.routes'\n\n  attr_reader :object\n\n  def initialize(object)\n    @object = object\n  end\n\n  def self.presents(name)\n    define_method(name) do\n      @object\n    end\n  end\n\n  def object_age_in_words\n    distance_of_time_in_words(object.created_at.to_date, Date.current)\n  end\n\n  def method_missing(...)\n    object.send(...)\n  end\nend\n"
  },
  {
    "path": "app/presenters/event_instance_presenter.rb",
    "content": "# frozen_string_literal: true\n\nclass EventInstancePresenter < BasePresenter\n  presents :event_instance\n\n  def created_at\n    event_instance.created_at.strftime('%H:%M %d/%m')\n  end\n\n  def title\n    event_instance.title || 'No title given'\n  end\n\n  def category\n    event_instance.category || '-'\n  end\n\n  def project_link\n    if event_instance.project\n      link_to(event_instance.project.title,\n              url_helpers.project_path(event_instance.project))\n    else\n      '-'\n    end\n  end\n\n  def event_link\n    event_instance.event ? link_to(event_instance.event.name, url_helpers.event_path(event_instance.event)) : '-'\n  end\n\n  def host\n    event_instance.user || NullUser.new('Anonymous')\n  end\n\n  def participants\n    map_to_users(event_instance.participants)\n  end\n\n  def video_url\n    if id = event_instance.yt_video_id\n      \"https://www.youtube.com/watch?v=#{id}&feature=youtube_gdata\".html_safe\n    else\n      '#'\n    end\n  end\n\n  def duration\n    distance_of_time_in_words(event_instance.duration)\n  end\n\n  def video_link\n    return I18n.t('error_messages.video_missing') unless yt_video_id.present?\n\n    link_to title, video_url, id: yt_video_id, class: 'yt_link', data: { content: title }\n  end\n\n  def video_embed_link\n    \"https://www.youtube.com/embed/#{yt_video_id}?enablejsapi=1\" if yt_video_id.present?\n  end\n\n  private\n\n  def map_to_users(participants)\n    participants ||= ActionController::Parameters.new({}).permit(:participants, array: [:key1])\n    participants.to_h.map { |participant| process_users(participant) }.compact\n  end\n\n  def process_users(participant)\n    person = participant.last['person']\n    user = Authentication.find_by(provider: 'gplus', uid: person['id'])&.user\n    user || NullUser.new(person.with_indifferent_access[:displayName]) if user != host\n  rescue NoMethodError\n    Rails.logger.error 'Exception at event_instance_presenter#map_to_users'\n    nil\n  end\nend\n"
  },
  {
    "path": "app/presenters/users/user_presenter.rb",
    "content": "# frozen_string_literal: true\n\nrequire_relative '../base_presenter'\n\nclass UserPresenter < BasePresenter\n  presents :user\n\n  delegate :display_name, to: :user\n\n  def has_skills?\n    user.skill_list.present?\n  end\n\n  def joined_projects?\n    user.following_projects_count.positive?\n  end\n\n  def contributed?\n    contributions.count.positive?\n  end\n\n  def contributions\n    user.commit_counts.select do |commit_count|\n      commit_count.user.following? commit_count.project\n    end\n  end\n\n  def country\n    user.country_name\n  end\n  alias_method :country?, :country\n\n  def title_list\n    content_tag(:span, user.titles.map(&:name).join(', '), class: 'member-title')\n  end\n\n  def has_title?\n    user.titles.size.positive?\n  end\n\n  def gravatar_image(options = {})\n    gravatar_url = if options[:default]\n                     'https://www.gravatar.com/avatar/1&d=retro&f=y'\n                   else\n                     user.gravatar_url(options)\n                   end\n\n    image_tag(gravatar_url, width: options[:size], id: options[:id],\n                            height: options[:size], alt: display_name, class: options[:class], style: options[:style])\n  end\n\n  def email_link(text = nil)\n    link_to(user.email, (text or user.email))\n  end\n\n  def github_username\n    user.github_profile_url&.split('/')&.last\n  end\n\n  def github_link\n    link_to(github_username, user.github_profile_url)\n  end\n\n  def profile_link\n    user.is_a?(NullUser) ? '#' : url_helpers.user_path(user)\n  end\n\n  def status\n    content_tag(:span, user.status.last[:status])\n  end\n\n  def status?\n    user.status.size.positive?\n  end\n\n  def blank_fields\n    %w(first_name last_name skills bio)\n      .select { |field| user.send(field).blank? }\n      .map(&:humanize).to_sentence\n  end\n\n  def user_same_as?(other_user)\n    user == other_user\n  end\n\n  def display_hire_me?(current_user = nil)\n    user.display_hire_me && !user_same_as?(current_user)\n  end\nend\n"
  },
  {
    "path": "app/services/add_subscription_to_user_for_plan.rb",
    "content": "# frozen_string_literal: true\n\nclass AddSubscriptionToUserForPlan\n  def self.with(user, sponsor, time, plan, payment_source, subscription_klass = Subscription)\n    ensure_all_previous_subscriptions_are_ended(user, time)\n    user.subscriptions << subscription_klass.new(started_at: time, sponsor: sponsor, plan: plan,\n                                                 payment_source: payment_source)\n    user.title_list << plan.name\n    user.save!\n    # puts User.find(user.id).subscriptions.map{|s| s.inspect}\n  end\n\n  def self.ensure_all_previous_subscriptions_are_ended(user, time)\n    unended_subs = user.subscriptions.select { |s| s.ended_at.nil? }\n    unended_subs.each { |s| s.ended_at = time }\n  end\nend\n"
  },
  {
    "path": "app/services/error_logging_service.rb",
    "content": "# frozen_string_literal: true\n\nclass ErrorLoggingService\n  def initialize(error)\n    @error = error\n  end\n\n  def log(message)\n    Rails.logger.warn message\n    Rails.logger.error @error.message\n    @error.backtrace.each { |line| Rails.logger.error line }\n  end\nend\n"
  },
  {
    "path": "app/services/hangout_notification_service.rb",
    "content": "# frozen_string_literal: true\n\nrequire 'slack'\nrequire 'gitter'\ninclude ChannelsList\n\nclass HangoutNotificationService\n  def self.with(event_instance,\n                slack_client = Slack::Web::Client.new(logger: Rails.logger),\n                gitter_client = Gitter::Client.new(ENV.fetch('GITTER_API_TOKEN', nil)))\n    new(event_instance, slack_client, gitter_client).send(:run)\n  end\n\n  private\n\n  def initialize(event_instance, slack_client, gitter_client)\n    @event_instance = event_instance\n    @slack_client = slack_client\n    @gitter_client = gitter_client\n  end\n\n  def run\n    return unless Features.slack.notifications.enabled\n    return if @event_instance.hangout_url.blank?\n\n    channels = channels_for_project @event_instance.project\n    channels += @event_instance.channels_for_event\n    message = \"#{@event_instance.title}: <#{@event_instance.hangout_url}|click to join>\"\n    @here_message = \"@here #{message}\"\n    @channel_message = \"@channel #{message}\"\n\n    send_notifications channels\n  end\n\n  def channels_for_project(project)\n    return [] if project.nil? || project.slug.nil?\n\n    project.slack_channel_codes\n  end\n\n  def send_notifications(channels)\n    return post_premium_mob_hangout_notification if @event_instance.for == 'Premium Mob Members'\n\n    case @event_instance.category\n    when 'Scrum'\n      post_scrum_notification\n    when 'PairProgramming'\n      post_pair_programming_notification channels\n    end\n\n    # # send all types of events to associated project 'channel' if there is one\n    send_slack_message @slack_client, channels, @here_message\n  end\n\n  def post_premium_mob_hangout_notification\n    send_slack_message @slack_client, [CHANNELS[:premium_extra],\n                                       CHANNELS[:premium_mob_trialists]], @here_message\n  end\n\n  def post_scrum_notification\n    send_slack_message @slack_client, [CHANNELS[:general]], @here_message\n    send_slack_message @slack_client, [CHANNELS[:standup_notifications]],\n                       @channel_message\n  end\n\n  def post_pair_programming_notification(channels)\n    if channels.include? CHANNELS[:cs169]\n      message = \"[#{@event_instance.title} with #{@event_instance.user.display_name}](#{@event_instance.hangout_url})\"\n      message << ' is starting NOW!'\n      send_gitter_message_avoid_repeats message\n    else\n      send_slack_message @slack_client, [CHANNELS[:general]], @here_message\n    end\n    send_slack_message @slack_client, [CHANNELS[:pairing_notifications]],\n                       @channel_message\n  end\n\n  def send_gitter_message_avoid_repeats(message)\n    messages = @gitter_client.messages(GITTER_ROOMS[:'saasbook/MOOC'], limit: 50)\n    return if messages.include? message\n\n    @gitter_client.send_message(message, GITTER_ROOMS[:'saasbook/MOOC'])\n  end\n\n  def send_slack_message(client, channels, message)\n    user = @event_instance.user\n    channels.each do |channel|\n      unless channel.nil?\n        client.chat_postMessage(channel: channel, text: message, username: user.display_name,\n                                icon_url: user.gravatar_url, link_names: 1)\n      end\n    end\n  end\nend\n"
  },
  {
    "path": "app/services/karma_calculator.rb",
    "content": "# frozen_string_literal: true\n\nclass KarmaCalculator\n  attr_reader :user\n\n  def initialize(user)\n    @user = user\n  end\n\n  def calculate\n    {\n      hangouts_attended_with_more_than_one_participant: number_hangouts_started_with_more_than_one_participant,\n      membership_length: membership_length,\n      profile_completeness: profile_completeness,\n      number_github_contributions: number_github_contributions,\n      activity: activity,\n      event_participation: event_participation,\n      total: sum_elements\n    }\n  end\n\n  private\n\n  def sum_elements\n    membership_length + profile_completeness + activity + number_hangouts_started_with_more_than_one_participant +\n      number_github_contributions + event_participation\n  end\n\n  # 6\n  def membership_length\n    @membership_length ||= user.membership_length\n  end\n\n  # 10\n  def profile_completeness\n    @profile_completeness ||= begin\n      awarded = user.profile_completeness\n      awarded += user.authentications.count * 100\n      awarded\n    end\n  end\n\n  def number_github_contributions\n    @number_github_contributions ||= user.commit_count_total\n  end\n\n  def number_hangouts_started_with_more_than_one_participant\n    @number_hangouts_started_with_more_than_one_participant ||= user.number_hangouts_started_with_more_than_one_participant\n  end\n\n  # 6\n  def activity\n    @activity ||= user.activity\n  end\n\n  def event_participation\n    @event_participation ||= user.event_participation_count\n  end\nend\n"
  },
  {
    "path": "app/services/markdown_converter.rb",
    "content": "# frozen_string_literal: true\n\nclass MarkdownConverter\n  attr_reader :markdown\n  private :markdown\n\n  def initialize(markdown)\n    @markdown = markdown\n  end\n\n  def as_html\n    converted_markdown.html_safe\n  end\n\n  private\n\n  def converted_markdown\n    Kramdown::Document.new(markdown).to_html\n  end\nend\n"
  },
  {
    "path": "app/services/modify_event_participation.rb",
    "content": "# frozen_string_literal: true\n\nclass ModifyEventParticipation\n  def self.run\n    CSV.foreach('lib/tasks/event_participation/event_participation_karma.csv') do |id, count|\n      user = User.find id\n      user.event_participation_count = count\n      user.save\n    end\n  end\nend\n"
  },
  {
    "path": "app/services/paypal_service.rb",
    "content": "# frozen_string_literal: true\n\nrequire 'paypal-sdk-rest'\n\nPayPal::SDK::REST.set_config(\n  mode: ENV.fetch('PAYPAL_SDK_MODE', nil),\n  client_id: ENV.fetch('PAYPAL_CLIENT_ID', nil),\n  client_secret: ENV.fetch('PAYPAL_CLIENT_SECRET', nil)\n)\n\nclass PaypalService\n  def initialize(plan)\n    @plan = plan\n  end\n\n  def create_and_activate_recurring_plan\n    plan_type = @plan.third_party_identifier === 'premium' ? plan_params_with_trial : plan_params_without_trial\n    plan = PayPal::SDK::REST::Plan.new(plan_type)\n    plan.update(activate_plan_params) if plan.create\n    plan\n  end\n\n  def create_agreement\n    id = @plan.paypal_id\n    plan = PayPal::SDK::REST::Plan.find(id)\n    agreement = PayPal::SDK::REST::Agreement.new(agreement_params(plan))\n    agreement.create\n    agreement\n  end\n\n  def self.execute_agreement(agreement_token)\n    agreement = PayPal::SDK::REST::Agreement.new(token: agreement_token)\n    agreement.execute unless agreement.error\n    agreement\n  end\n\n  private\n\n  def activate_plan_params\n    {\n      op: 'replace',\n      value: { state: 'ACTIVE' },\n      path: '/'\n    }\n  end\n\n  def plan_params_with_trial\n    {\n      name: @plan.name,\n      description: \"#{@plan.name} membership for £#{@plan.amount / 100}/month\",\n      type: 'FIXED',\n      payment_definitions: [regular_payment_definition, trial_payment_definition],\n      merchant_preferences: merchant_preferences\n    }\n  end\n\n  def plan_params_without_trial\n    {\n      name: @plan.name,\n      description: \"#{@plan.name} membership for £#{@plan.amount / 100}/month\",\n      type: 'FIXED',\n      payment_definitions: [regular_payment_definition],\n      merchant_preferences: merchant_preferences\n    }\n  end\n\n  def agreement_params(plan)\n    {\n      name: plan.name,\n      description: \"#{plan.name} membership for £#{plan.payment_definitions[0].amount.value}/month\",\n      start_date: (DateTime.now + 2.days).iso8601,\n      payer: { payment_method: 'paypal' },\n      plan: { id: plan.id }\n    }\n  end\n\n  def merchant_preferences\n    {\n      setup_fee:\n        {\n          currency: 'GBP',\n          value: '0'\n        },\n      return_url: \"#{ENV.fetch('BASE_URL', nil)}/paypal/create?plan=#{@plan.third_party_identifier}\",\n      cancel_url: \"#{ENV.fetch('BASE_URL', nil)}/subscriptions/new?plan=#{@plan.third_party_identifier}\",\n      auto_bill_amount: 'YES',\n      initial_fail_amount_action: 'CONTINUE',\n      max_fail_attempts: '0'\n    }\n  end\n\n  def regular_payment_definition\n    {\n      name: 'Regular payment definition',\n      type: 'REGULAR',\n      frequency_interval: '1',\n      frequency: 'MONTH',\n      cycles: '12',\n      amount:\n      {\n        currency: 'GBP',\n        value: @plan.amount / 100\n      }\n    }\n  end\n\n  def trial_payment_definition\n    {\n      name: 'Trial payment definition',\n      type: 'trial',\n      frequency_interval: '1',\n      frequency: 'week',\n      cycles: '1',\n      amount:\n      {\n        currency: 'GBP',\n        value: '0'\n      }\n    }\n  end\nend\n"
  },
  {
    "path": "app/services/youtube_notification_service.rb",
    "content": "# frozen_string_literal: true\n\nrequire 'slack'\ninclude ChannelsList\n\nclass YoutubeNotificationService\n  def self.with(event_instance,\n                slack_client = Slack::Web::Client.new(logger: Rails.logger))\n    new(event_instance, slack_client).send(:run)\n  end\n\n  private\n\n  def initialize(event_instance, slack_client)\n    @event_instance = event_instance\n    @slack_client = slack_client\n  end\n\n  def run\n    return unless Features.slack.notifications.enabled\n    return if @event_instance.yt_video_id.blank?\n\n    channels = channels_for_project @event_instance.project\n    channels += @event_instance.channels_for_event\n\n    video = \"https://youtu.be/#{@event_instance.yt_video_id}\"\n    @yt_message = \"Video/Livestream: <#{video}|click to play>\"\n\n    send_notifications channels\n  end\n\n  def channels_for_project(project)\n    return [] if project.nil? || project.slug.nil?\n\n    project.slack_channel_codes\n  end\n\n  def send_notifications(channels)\n    return post_premium_mob_youtube_notification if @event_instance.for == 'Premium Mob Members'\n\n    case @event_instance.category\n    when 'Scrum'\n      send_slack_message [CHANNELS[:general]]\n    when 'PairProgramming'\n      send_slack_message [CHANNELS[:general]] unless channels.include? CHANNELS[:cs169]\n    end\n\n    send_slack_message channels\n  end\n\n  def post_premium_mob_youtube_notification\n    send_slack_message [CHANNELS[:premium_extra]]\n  end\n\n  def send_slack_message(channels)\n    user = @event_instance.user\n    channels.each do |channel|\n      unless channel.nil?\n        @slack_client.chat_postMessage(channel: channel, text: @yt_message, username: user.display_name,\n                                       icon_url: user.gravatar_url, link_names: 1)\n      end\n    end\n  end\nend\n"
  },
  {
    "path": "app/views/active_storage/blobs/_blob.html.erb",
    "content": "<figure class=\"attachment attachment--<%= blob.representable? ? \"preview\" : \"file\" %> attachment--<%= blob.filename.extension %>\">\n  <% if blob.representable? %>\n    <%= image_tag blob.representation(resize_to_limit: local_assigns[:in_gallery] ? [ 800, 600 ] : [ 1024, 768 ]) %>\n  <% end %>\n\n  <figcaption class=\"attachment__caption\">\n    <% if caption = blob.try(:caption) %>\n      <%= caption %>\n    <% else %>\n      <span class=\"attachment__name\"><%= blob.filename %></span>\n      <span class=\"attachment__size\"><%= number_to_human_size blob.byte_size %></span>\n    <% end %>\n  </figcaption>\n</figure>\n"
  },
  {
    "path": "app/views/admin_mailer/failed_to_invite_user_to_slack.html.erb",
    "content": "Slack invite failed for user with email <%= @email %>\n\n<% if @slack_error_message %>\n    <h2>Slack Error Message:</h2>\n\n    <p><%= @slack_error_message %></p>\n<% end %>\n\n<% if @error_message %>\n    <h2>Error Message:</h2>\n\n    <p><%= @error_message %></p>\n<% end %>\n\n<% if @backtrace %>\n    <h2>BackTrace:</h2>\n\n    <p><%= @backtrace %></p>\n<% end %>\n"
  },
  {
    "path": "app/views/application/_edit_card.html.erb",
    "content": "<%= form_tag card_path(current_user.slug), method: :put do %>\n  <script\n  src=\"https://checkout.stripe.com/checkout.js\" class=\"stripe-button\"\n  data-key=\"<%= Rails.configuration.stripe[:publishable_key] %>\"\n  data-name=\"Agile Ventures\"\n  data-panel-label=\"Update Card Details\"\n  data-label=\"Update Card Details\"\n  data-allow-remember-me=false\n  data-locale=\"en-US\"\n  data-image=\"/favicon.ico?v=2\">\n  </script>\n<% end %>\n"
  },
  {
    "path": "app/views/articles/_article.html.erb",
    "content": "<section class=\"article-full\">\n  <div id=\"doc-box\">\n    <h1><%= article.title %></h1>\n\n    <% if user_signed_in? && !article.new_record?  %>\n      <ul class=\"user-controls\">\n        <li>\n          <%= custom_css_btn 'edit article', 'fa-2x fa fa-pencil-square-o', edit_article_path(article) %>\n        </li>\n      </ul>\n    <% end %>\n\n    <ul style=\"list-style: none; padding-left: 0\">\n      <li>Created on <%= article.created_at.strftime('%d %B %y') %> by <%= link_to author.display_name, user_path(author) %></li>\n      <li>Last updated <%= time_ago_in_words(article.updated_at) %> ago</li>\n      <li><%= link_to_tags(article.tag_list) %></li>\n      <li>Votes:&nbsp;<span class=\"badge vote\"><%= article.vote_value %></span>\n      <% if (user_signed_in? && !article.new_record? ) && !article.authored_by?(current_user) %>\n        <% visitor_has_voted = current_user.voted_as_when_voted_for article %>\n        <% if visitor_has_voted == nil %>\n          <%= custom_css_btn 'Up Vote', 'fa fa-thumbs-o-up vote_button', upvote_article_path(@article) %>\n          <%= custom_css_btn 'Down Vote', 'fa fa-thumbs-o-down vote_button', downvote_article_path(@article) %>\n        <% elsif visitor_has_voted == true %>\n          <%= custom_css_btn 'Cancel Up Vote', 'fa fa-thumbs-up vote_button', cancelvote_article_path(@article) %>\n          <%= custom_css_btn 'Down Vote', 'fa fa-thumbs-o-down vote_button', downvote_article_path(@article) %>\n        <% else %>\n          <%= custom_css_btn 'Up Vote', 'fa fa-thumbs-o-up vote_button', upvote_article_path(@article) %>\n          <%= custom_css_btn 'Cancel Down Vote', 'fa fa-thumbs-down vote_button', cancelvote_article_path(@article) %>\n        <% end %>\n      <% end %>\n      </li>\n    </ul>\n  </div>\n\n  <article><%= from_markdown article.content %></article>\n\n  <!--<footer class=\"article-footer\">Footer PLACEHOLDER</footer>-->\n</section>\n"
  },
  {
    "path": "app/views/articles/_form.html.erb",
    "content": "\n<%= form_for article do |f| %>\n\n  <%= awesome_text_field f, :title %>\n\n  <div class=\"form-group\">\n    <label for=\"tag_list\" class=\"control-label\">Tags</label>\n    <input type=\"text\" class=\"form-control\" id=\"article_tag_list\" name=\"article[tag_list]\" value=\"<%= article.tag_list.join(',') %>\" />\n  </div>\n\n  <%= awesome_text_area f, :content, rows: 25, class: 'form-control md-edit' %>\n\n  <div class=\"form-group\">\n    <%= f.submit (article.new_record? ? 'Create' : 'Update'), class: 'btn btn-default' %>\n    <button formaction=\"<%= preview_articles_path %>\" class=\"btn btn-default\" formtarget=\"_blank\" >Preview</button>\n    <%= link_to 'Back', (article.new_record? ? articles_path : article_path(article)), class: 'btn btn-default' %>\n  </div>\n<% end %>\n\n<script type=\"text/javascript\" charset=\"utf-8\">\n  $('#article_tag_list').tokenfield({\n    typeahead: {\n      name: 'tags',\n      local: <%= raw standard_tags %>\n    }\n  });\n  $(document).delegate('.md-edit', 'keydown', function(e) {\n    var keyCode = e.keyCode || e.which;\n\n    if (keyCode == 9) {\n      e.preventDefault();\n      var start = $(this).get(0).selectionStart;\n      var end = $(this).get(0).selectionEnd;\n\n      // set textarea value to: text before caret + tab + text after caret\n      $(this).val($(this).val().substring(0, start)\n          + \"\\t\"\n          + $(this).val().substring(end));\n\n      // put caret at right position again\n      $(this).get(0).selectionStart =\n          $(this).get(0).selectionEnd = start + 1;\n    }\n  });\n</script>\n"
  },
  {
    "path": "app/views/articles/edit.html.erb",
    "content": "<%= provide :title, \"Edit #{@article.title}\" %>\n\n<h1>Edit Article</h1>\n\n<%= render 'form', article: @article %>\n"
  },
  {
    "path": "app/views/articles/index.html.erb",
    "content": "<%= provide :title, 'Articles' %>\n\n<h1><%= \"#{params[:tag].present? ? params[:tag] : 'All'} \"%>Articles</h1>\n<% if user_signed_in? %>\n  <ul class=\"user-controls\">\n    <li><%= custom_css_btn 'new article', 'fa-2x fa fa-plus', new_article_path(tag: params[:tag]) %></li>\n  </ul>\n<% end %>\n\n<% if @articles.count > 0 %>\n  <p>\n    Every article is written by a member of our community, to share information and knowledge that could be beneficial\n    to other members.\n  </p>\n<% end %>\n\n<div class=\"article-list\">\n  <% if @articles.count > 0 %>\n    <% @articles.each do |a| %>\n      <section class=\"doc-preview listing\">\n        <header class=\"article-header\">\n          <h2><%= link_to a.title, article_path(a) %></h2>\n          <small>Created by <%= link_to a.user.display_name, user_path(a.user) %>, <%= time_ago_in_words(a.created_at) %> ago,\n            <% if a.tag_list.count > 0 %>\n              tagged with <%= link_to_tags a.tag_list %>\n            <% else %>\n              not tagged with anything\n            <% end %>\n          </small>\n        </header>\n        <main class=\"md-preview\"><%= markdown_preview a.content %></main>\n      </section>\n    <% end %>\n  <% else %>\n    <% if params[:tag] %>\n      <p>No articles were found under this tag, be the first to write one!</p>\n    <% else %>\n      <p>No articles were found, be the first to write an article!</p>\n    <% end %>\n  <% end %>\n</div>\n"
  },
  {
    "path": "app/views/articles/new.html.erb",
    "content": "<%= provide :title, 'New Article' %>\n\n<h1>Create a New Article</h1>\n\n<%= render 'form', article: @article %>\n"
  },
  {
    "path": "app/views/articles/preview.html.erb",
    "content": "<% provide :title, 'Preview' %>\n\n<h1>Preview</h1>\n\n<div style=\"margin: 0; padding: 0; border-style: solid; border-color: red; border-width: 1px;\">\n  <%= render 'article', article: @article, author: @author %>\n</div>\n"
  },
  {
    "path": "app/views/articles/show.html.erb",
    "content": "<%= provide :title, @article.title %>\n\n<%= render 'article', article: @article, author: @author %>\n<%= render partial: 'disqus/disqus', locals: {entity: @article} %>\n"
  },
  {
    "path": "app/views/av_dashboard_tokens/create.html.erb",
    "content": "<script>\n  document.addEventListener('DOMContentLoaded', function () {\n    document.getElementById(\"av_dashboard\").submit.click();\n  });\n</script>\n<form accept-charset=\"UTF-8\" action=\"https://www.dashboard.agileventures.org\" method=\"post\" id=\"av_dashboard\">\n  <input name=\"token\" type=\"hidden\" value=\"<%= @token %>\" />\n  <input type=\"submit\" style=\"display:none;\" name=\"submit\">\n</form>\n"
  },
  {
    "path": "app/views/cards/create.html.erb",
    "content": "<% unless @error%>\n    <h2>Your card details have been successfully added</h2>\n<%else%>\n    <h2>Apologies, but something has gone wrong with adding your card details.  Please email <a href=\"mailto:support@agileventures.org\">support@agileventures.org</a></h2>\n<%end%>"
  },
  {
    "path": "app/views/cards/edit.html.erb",
    "content": "<%= render 'edit_card' %>"
  },
  {
    "path": "app/views/cards/new.html.erb",
    "content": "<%= form_tag cards_path, method: :post do %>\n  <script\n  src=\"https://checkout.stripe.com/checkout.js\" class=\"stripe-button\"\n  data-key=\"<%= Rails.configuration.stripe[:publishable_key] %>\"\n  data-name=\"Agile Ventures\"\n  data-panel-label=\"Add Card Details\"\n  data-label=\"Add Card Details\"\n  data-allow-remember-me=false\n  data-locale=\"en-US\"\n  data-image=\"/favicon.ico?v=2\">\n  </script>\n<% end %>\n"
  },
  {
    "path": "app/views/cards/update.html.erb",
    "content": "<% unless @error%>\n    <h2>Your card details have been successfully updated</h2>\n<%else%>\n    <h2>Apologies, but something has gone wrong with changing your card details.  Please email <a href=\"mailto:support@agileventures.org\">support@agileventures.org</a></h2>\n<%end%>"
  },
  {
    "path": "app/views/cookies/index.html.erb",
    "content": ""
  },
  {
    "path": "app/views/dashboard/index.html.erb",
    "content": "<% content_for(:description) { 'AgileVentuers members are scattered all over the world. The common denominator is the will to learn and contribute to good causes.' } %>\n<%= provide :title, 'Dashboard' %>\n<div id=\"page-box\">\n  <ul id=\"tabs\" class=\"nav nav-tabs\" data-tabs=\"tabs\">\n    <li class=\"active\"><a href=\"#statistics\" data-toggle=\"tab\" data-hash=\"statistics\">Site statistics</a></li>\n    <li><a href=\"#activity-feed\" data-toggle=\"tab\" data-hash=\"activity-feed\">Activity feed</a></li>\n  </ul>\n  <div id=\"tab-content\" class=\"tab-content\" style=\"background: #fff;\">\n    <div class=\"tab-pane active\" id=\"statistics\">\n      <div id=\"info-box\"><h3>User statistics</h3></div>\n      <div id=\"map\" style=\"width: 100%; height: 500px; min-height: 500px;\"></div>\n      <h3>Statistics</h3>\n\n      <div class=\"row\">\n        <div class='co-lg-4 col-md-4 col-sm-4'>\n          <div class=\"panel panel-primary\" id=\"articles\">\n            <div class=\"panel-heading\">Articles</div>\n            <div class=\"panel-body\"><h1 class=\"text-center\"><%= \"#{@stats[:articles][:count]}\" %></h1>\n            </div>\n          </div>\n        </div>\n\n        <div class='co-lg-4 col-md-4 col-sm-4'>\n          <div class=\"panel panel-primary\" id=\"projects\">\n            <div class=\"panel-heading\">Projects</div>\n            <div class=\"panel-body\"><h1 class=\"text-center\"><%= \"#{@stats[:projects][:count]}\" %></h1>\n            </div>\n          </div>\n        </div>\n\n        <div class='co-lg-4 col-md-4 col-sm-4'>\n          <div class=\"panel panel-primary\" id=\"documents\">\n            <div class=\"panel-heading\">Documents</div>\n            <div class=\"panel-body\"><h1 class=\"text-center\"><%= \"#{@stats[:documents][:count]}\" %></h1>\n            </div>\n          </div>\n        </div>\n\n        <div class='co-lg-4 col-md-4 col-sm-4'>\n          <div class=\"panel panel-primary\" id=\"pair-programming-minutes\">\n            <div class=\"panel-heading\">PairProgramming Minutes</div>\n            <div class=\"panel-body\"><h1 class=\"text-center\"><%= \"#{@stats[:pairing_minutes][:value]}\" %></h1>\n            </div>\n          </div>\n        </div>\n\n        <div class='co-lg-4 col-md-4 col-sm-4'>\n          <div class=\"panel panel-primary\" id=\"scrum-minutes\">\n            <div class=\"panel-heading\">Scrum Minutes</div>\n            <div class=\"panel-body\"><h1 class=\"text-center\"><%= \"#{@stats[:scrum_minutes][:value]}\" %></h1>\n            </div>\n          </div>\n        </div>\n\n        <div class='co-lg-4 col-md-4 col-sm-4'>\n          <div class=\"panel panel-primary\" id=\"members\">\n            <div class=\"panel-heading\">Members</div>\n            <div class=\"panel-body\"><h1 class=\"text-center\"> <%= \"#{@stats[:members][:count]}\" %></h1>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n    <div class=\"tab-pane\" id=\"activity-feed\">\n      <h3>Recent activities</h3>\n      <div id=\"feed\">\n        <% if @activities %>\n            <% @activities.each do |activity| %>\n                <div class=\"activity\">\n                  <%= render_activity activity %>\n                </div>\n                <hr>\n            <% end %>\n        <% else %>\n            <p>No public activity</p>\n        <% end %>\n      </div>\n    </div>\n  </div>\n</div>\n\n<script>\n    const usrData = <%= sanitize @stats[:map_data] %>;\n    const defaultText = '<h3>User statistics</h3>'\n    $(function () {\n        $('#info-box').html(defaultText);\n        $('#map').vectorMap({\n            map: 'world_mill',\n            backgroundColor: 'transparent',\n            zoomOnScroll: false,\n            panOnDrag: true,\n            regionStyle: {\n                initial: {\n                    fill: '#FFF5E6',\n                    \"fill-opacity\": 1,\n                    stroke: 'solid',\n                    \"stroke-width\": 2,\n                    \"stroke-opacity\": 1\n                },\n                hover: {\n                    \"fill-opacity\": 0.8,\n                    cursor: 'pointer'\n                },\n                selected: {\n                    fill: 'yellow'\n                },\n                selectedHover: {}\n            },\n            series: {\n                regions: [{\n                    values: usrData,\n                    scale: ['#f38c54', '#ec6909'],\n                    normalizeFunction: 'polynomial'\n                }]\n            },\n            onRegionLabelShow:  (e, el, code) => {\n                if (usrData[code] > 0) {\n                    $('#info-box').html('<h3>We have ' + usrData[code] + ' users in ' + el.html() + '</h3>');\n                } else {\n                    $('#info-box').html('<h3>No users in ' + el.html() + '</h3>');\n                }\n                console.log(el.html() + ' (Users: ' + usrData[code] + ')');\n                //el.html(el.html()+' (Users: '+usrData[code]+')');\n\n            },\n            onRegionOut: (event, code) => {\n                $('#info-box').html(defaultText);\n            }\n        });\n    });\n</script>\n"
  },
  {
    "path": "app/views/devise/confirmations/new.html.erb",
    "content": "<h2>Resend confirmation instructions</h2>\n\n<%= form_for(resource, :as => resource_name, :url => confirmation_path(resource_name), :html => { :method => :post }) do |f| %>\n  <%= devise_error_messages! %>\n\n  <div><%= f.label :email %><br />\n  <%= f.email_field :email, :autofocus => true %></div>\n\n  <div><%= f.submit \"Resend confirmation instructions\" %></div>\n<% end %>\n\n<%= render \"devise/shared/links\" %>\n"
  },
  {
    "path": "app/views/devise/mailer/confirmation_instructions.html.erb",
    "content": "<p>Welcome <%= @email %>!</p>\n\n<p>You can confirm your account email through the link below:</p>\n\n<p><%= link_to 'Confirm my account', confirmation_url(@resource, :confirmation_token => @token) %></p>\n"
  },
  {
    "path": "app/views/devise/mailer/reset_password_instructions.html.erb",
    "content": "<p>Hello <%= @resource.email %>!</p>\n\n<p>Someone has requested a link to change your password. You can do this through the link below.</p>\n\n<p><%= link_to 'Change my password', edit_user_password_url(@resource, :reset_password_token => @token) %></p>\n\n<p>If you didn't request this, please ignore this email.</p>\n<p>Your password won't change until you access the link above and create a new one.</p>\n"
  },
  {
    "path": "app/views/devise/mailer/unlock_instructions.html.erb",
    "content": "<p>Hello <%= @resource.email %>!</p>\n\n<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>\n\n<p>Click the link below to unlock your account:</p>\n\n<p><%= link_to 'Unlock my account', unlock_url(@resource, :unlock_token => @token) %></p>\n"
  },
  {
    "path": "app/views/devise/passwords/edit.html.erb",
    "content": "<div class=\"container\">\n  <div class=\"col-md-5 col-md-offset-2\">\n    <h2 class=\"text-center\">Change your password</h2>\n    <br />\n    <%= form_for(resource, :as => resource_name, :url => password_path(resource_name), :html => { :method => :put }) do |f| %>\n      <fieldset>\n        <%= f.hidden_field :reset_password_token %>\n\n        <div class=\"form-group\">\n          <%= f.password_field :password, :autofocus => true, :placeholder => \"Enter new password\", class: 'form-control input-lg' %>\n        </div>\n\n        <div class=\"form-group\">\n          <%= f.password_field :password_confirmation, :placeholder => \"Repeat new password\", class: 'form-control input-lg' %>\n        </div>\n\n        <div class=\"form-group\">\n          <%= f.submit \"Change my password\", class: 'btn btn-primary btn-lg btn-block' %>\n        </div>\n        <%= devise_error_simple_message %>\n      </fieldset>\n    <% end %>\n  </div>\n</div>\n"
  },
  {
    "path": "app/views/devise/passwords/new.html.erb",
    "content": "<div class=\"container\">\n  <div class=\"col-md-5 col-md-offset-2\">\n    <h2 class=\"text-center\">Forgot your password?</h2>\n    <br />\n    <%= form_for(resource, :as => resource_name, :url => password_path(resource_name), :html => { :method => :post }) do |f| %>\n      <fieldset>\n        <div class=\"form-group\">\n          <%= f.email_field :email, class: 'form-control', placeholder: 'Enter email' %>\n        </div>\n        <div class='form-group'>\n          <%= f.submit \"Send me reset password instructions\", class: 'btn btn-primary btn-block' %>\n        </div>\n        <%= devise_error_simple_message %>\n      </fieldset>\n    <% end %>\n  </div>\n</div>\n"
  },
  {
    "path": "app/views/devise/registrations/_destroy_modal.html.erb",
    "content": "<!-- modal start -->\n<div class=\"modal fade\" id=\"myDestroyModal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"myModalLabel\" aria-hidden=\"true\">\n    <div class=\"modal-dialog\">\n      <div class=\"modal-content\">\n        <div class=\"modal-header\">\n          <button type=\"button\" class=\"close\" data-dismiss=\"modal\">\n            <span aria-hidden=\"true\">&times;</span><span class=\"sr-only\">Close</span></button>\n          <h4 class=\"modal-title\">Deactivate Account</h4>\n        </div>\n        <%= form_for @user, url: user_path(@user), method: :delete, role: 'form' do |f| %>\n            <div class=\"modal-footer\">\n              <button type=\"button\" class=\"btn btn-default\" data-dismiss=\"modal\">Close</button>\n              <%= f.submit 'Deactivate Account', class: 'btn btn-primary' %>\n            </div>\n        <% end %>\n      </div>\n    </div>\n</div>\n<!-- modal end -->\n"
  },
  {
    "path": "app/views/devise/registrations/_preview.html.erb",
    "content": "<div class=\"row\">\n  <div class=\"col-md-4 col-md-offset-2 col-sm-5 col-sm-offset-1\">\n\n    <div class=\"avatar-group\">\n      <img src=\"<%= gravatar_for(@user.email, size: 330) %>\" class=\"thumbnail img-rounded media-object\">\n      <div class=\"avatar-lower\">\n        <h3><%= user_display_name @user %></h3>\n        <h3> <%= @user.email if @user.display_email %></h3>\n      </div>\n    </div>\n\n  </div>\n  <div class=\"col-md-4 col-sm-5\">\n\n    <h4>Projects</h4>\n    <!-- TODO Insert list of followed projects -->\n\n    <h4>Skills</h4>\n    <div id=\"skills\" class=\"tag-list\" style=\"padding-left:25px;\"></div>\n\n  </div>\n</div>\n<div class=\"row\">\n  <div class=\"col-md-4 col-md-offset-2 col-sm-5 col-sm-offset-1\">\n\n    <%= link_to \"Edit\", edit_user_registration_path, class: \"btn btn-primary\", type: \"button\" if current_user %>\n\n    <h4>Pair Programming</h4>\n    <p>Joined on: <%=date_format(@user.created_at) %> </p>\n    <!-- TODO Insert list of PP youtube or G+ session links -->\n\n  </div>\n</div>\n\n<script>\n    $(function () {\n        $('#skills').tags({\n            readOnly: true,\n            tagSize: \"lg\",\n            tagData: <%= raw @user.skill_list.to_json %>,\n            readOnlyEmptyMessage: \"No Skills\"\n        });\n    });\n</script>"
  },
  {
    "path": "app/views/devise/registrations/edit.html.erb",
    "content": "<div class=\"container\">\n  <div class=\"row\">\n    <div class=\"col-xs-11 col-sm-offset-1 col-xs-offset-0\">\n      <%= devise_error_messages_flash %>\n      <h2>Account details for <%= user_details(@user) %></h2>\n    </div>\n  </div>\n  <%= form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => {:method => :put}) do |f| %>\n    <% present resource do |presenter| %>\n      <div class=\"col-md-3 col-md-offset-1\">\n        <%= presenter.gravatar_image(size: 120, class: 'thumbnail img-rounded', style: 'margin-right: 10px') %>\n        <%= link_to 'Change your avatar', 'http://en.gravatar.com/emails/', target: '_blank' %>\n        <div class=\"checkbox\">\n          <%= f.label :display_profile, \"#{f.check_box(:display_profile)} Make profile public\".html_safe %>\n        </div>\n        <div class=\"checkbox\">\n          <%= f.label :display_email, \"#{f.check_box(:display_email)} Make email public\".html_safe %>\n        </div>\n        <div class=\"checkbox\">\n          <%= f.label :display_hire_me, \"#{f.check_box(:display_hire_me)} Show hire me button\".html_safe %>\n        </div>\n        <div class=\"checkbox\">\n          <%= f.label :receive_mailings, \"#{f.check_box(:receive_mailings)} Receive site emails\".html_safe %>\n        </div>\n        <%= link_to 'Deactivate Account', '#',\n                    data: {toggle: 'modal',\n                           target: '#myDestroyModal'},\n                    class: 'user-profile-btn',\n                    type: 'button' %>\n      </div>\n      <div class=\"col-md-5 \">\n        <div><%= f.label :first_name %>\n          <div class=\"form-group\">\n            <%= f.text_field :first_name, :autofocus => true, class: 'form-control' %>\n          </div>\n        </div>\n\n        <div><%= f.label :last_name %>\n          <div class=\"form-group\">\n            <%= f.text_field :last_name, :autofocus => true, class: 'form-control' %>\n          </div>\n        </div>\n\n        <div><%= f.label :email %>\n          <div class=\"form-group\">\n            <%= f.email_field :email, :autofocus => true, class: 'form-control' %>\n          </div>\n        </div>\n\n        <div><%= f.label :skills, 'Skills - (separate with comma)' %>\n          <div id=\"skills\" class=\"tag-list\" style=\"margin-bottom: 10px;\"\n            data-skill-list=\"<%= resource.skill_list.to_json %>\"></div>\n            <%= f.text_field :skill_list %>\n        </div>\n\n        <div><%= f.label :bio %>\n          <div class=\"form-group\">\n            <%= f.text_area :bio, :autofocus => true, class: 'form-control', 'rows' => 10 %>\n          </div>\n        </div>\n        <% if devise_mapping.confirmable? && resource.pending_reconfirmation? %>\n            <div>Currently waiting confirmation for: <%= resource.unconfirmed_email %></div>\n        <% end %>\n\n        <div>\n          <%= link_to 'Cancel', user_path(presenter.user), :class => 'btn btn-default' %>\n          <%= f.submit 'Update', class: 'btn btn-primary' %>\n        </div>\n      </div>\n    <% end %>\n  <% end %>\n  <% supported_third_parties.each do |provider| %>\n     <%= social_button provider, url: edit_user_registration_path(resource), delete: resource.has_auth(provider) %>\n  <% end %>\n  <!-- HIDDEN TILL ORPHAN DOCUMENTS CAN BE RESOLVED\n  <hr />\n  <div class=\"row\">\n    <div class=\"col-md-5 col-md-offset-4 user-cancel-account\">\n      <h4>Danger Zone</h4>\n      <p>Unhappy? You will be sorely missed...</p>\n      <%= button_to 'Cancel my account', registration_path(resource_name),\n                    :data => {:confirm => 'Are you sure?'}, :method => :delete,\n                    :class => 'btn btn-danger btn-small' %>\n      </div>\n  </div>\n  -->\n  <style>\n      .tag a {\n          line-height: 15px;\n      }\n  </style>\n</div>\n\n<%= render 'devise/registrations/destroy_modal' %>\n"
  },
  {
    "path": "app/views/devise/registrations/new.html.erb",
    "content": "<div class=\"container\">\n<div class=\"col-md-5 col-md-offset-2\">\n  <h1 class=\"text-center\"> Sign up </h1>\n  <% if resource.password_required? %>\n      <div class=\"row\">\n        <% supported_third_parties.each do |provider| %>\n            <div class=\"col-xs-6 col-sm-6 col-md-6\">\n              <%= social_button provider, extra_class: 'btn-lg' %>\n            </div>\n        <% end %>\n      </div>\n  <% end %>\n  <h4 class=\"text-center\">Already a member? <%= link_to \"Sign in\", new_session_path(resource_name) %></h4>\n  <h4 class=\"text-center\"><%= link_to \"Forgot your password?\", new_password_path(resource_name) %></h4>\n\n  <% unless Features.email_registrations.enabled %>\n    <p><small>Email Registrations are temporarily disabled.  Please sign up via Github above.</small></p>\n  <% else %>\n\n    <%= form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| %>\n        <fieldset>\n          <div class='form-group'>\n            <%= f.email_field :email, autofocus: true, placeholder: 'Enter email', class: 'form-control input-lg' %>\n          </div>\n          <% if resource.password_required? %>\n              <div class='form-group'>\n                <%= f.password_field :password, placeholder: 'Enter password', class: 'form-control input-lg' %>\n              </div>\n              <div class='form-group'>\n                <%= f.password_field :password_confirmation, placeholder: 'Repeat password', class: 'form-control input-lg' %>\n              </div>\n          <% end %>\n          <div class='form-group'>\n          <!--<%= flash[:recaptcha_error] %>-->\n          <%= recaptcha_tags %>\n          </div>\n          <div class='form-group' style=\"display:inline-flex;\">\n                <%= f.check_box :receive_mailings %>\n                <%= f.label :receive_mailings, \"I give permission for AV to send me occasional emails.\", { class: 'custom-label', style: \"margin-left: 5px;\" } %>\n              </div>\n          <div class='form-group'>\n            <%= f.submit 'Sign up', class: 'btn btn-primary btn-lg btn-block' %>\n          </div>\n        </fieldset>\n    <% end %>\n  <% end %>\n  <%= devise_error_simple_message %>\n  <p>\n    <small>By registering, you understand that we will store and make use the information provided in accordance with\n      our <%= link_to 'Privacy statement', '/privacy' %>.\n    </small>\n  </p>\n</div>\n</div>\n"
  },
  {
    "path": "app/views/devise/sessions/new.html.erb",
    "content": "<div class=\"container\">\n<div class=\"col-md-5 col-md-offset-2\">\n  <h1 class=\"text-center\"> Log In  </h1>\n  <div class=\"row\">\n    <% supported_third_parties.each do |provider| %>\n        <div class=\"col-xs-6 col-sm-6 col-md-6\">\n        <%= social_button provider, url: session[:previous_url], extra_class: 'btn-lg' %>\n        </div>\n    <% end %>\n  </div>\n  <h4 class=\"text-center\">Don't have an account? <%= link_to 'Sign up', new_registration_path(resource_name) %></h4>\n  <h4 class=\"text-center\"><%= link_to \"Forgot your password?\", new_password_path(resource_name) %></h4>\n\n  <%= form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f| %>\n      <fieldset>\n        <div class='form-group'>\n          <%= f.email_field :email, autofocus: true, placeholder: 'Enter email', class: 'form-control input-lg' %>\n        </div>\n        <div class='form-group'>\n          <%= f.password_field :password, placeholder: 'Enter password', class: 'form-control input-lg' %>\n        </div>\n        <% if devise_mapping.rememberable? -%>\n            <div class='form-group' style=\"display:inline-flex;\">\n              <%= f.check_box :remember_me %> <%= f.label :remember_me, :class => 'custom-label', :style => 'margin-left: 5px;'%>\n            </div>\n        <% end -%>\n        <div class='form-group'>\n          <%= f.submit 'Sign in', class: 'btn btn-primary btn-lg btn-block' %>\n        </div>\n        <%= devise_error_simple_message %>\n      </fieldset>\n  <% end %>\n</div>\n</div>\n"
  },
  {
    "path": "app/views/devise/shared/_links.erb",
    "content": "<%- if controller_name != 'sessions' %>\n  <%= link_to \"Sign in\", new_session_path(resource_name) %><br />\n<% end -%>\n\n<%- if devise_mapping.registerable? && controller_name != 'registrations' %>\n  <%= link_to \"Sign up\", new_registration_path(resource_name) %><br />\n<% end -%>\n\n<%- if devise_mapping.recoverable? && controller_name != 'passwords' && controller_name != 'registrations' %>\n  <%= link_to \"Forgot your password?\", new_password_path(resource_name) %><br />\n<% end -%>\n\n<%- if devise_mapping.confirmable? && controller_name != 'confirmations' %>\n  <%= link_to \"Didn't receive confirmation instructions?\", new_confirmation_path(resource_name) %><br />\n<% end -%>\n\n<%- if devise_mapping.lockable? && resource_class.unlock_strategy_enabled?(:email) && controller_name != 'unlocks' %>\n  <%= link_to \"Didn't receive unlock instructions?\", new_unlock_path(resource_name) %><br />\n<% end -%>\n\n<%- if devise_mapping.omniauthable? %>\n  <%- resource_class.omniauth_providers.each do |provider| %>\n    <%= link_to \"Sign in with #{provider.to_s.titleize}\", omniauth_authorize_path(resource_name, provider) %><br />\n  <% end -%>\n<% end -%>\n"
  },
  {
    "path": "app/views/devise/unlocks/new.html.erb",
    "content": "<h2>Resend unlock instructions</h2>\n\n<%= form_for(resource, :as => resource_name, :url => unlock_path(resource_name), :html => { :method => :post }) do |f| %>\n  <%= devise_error_messages! %>\n\n  <div><%= f.label :email %><br />\n  <%= f.email_field :email, :autofocus => true %></div>\n\n  <div><%= f.submit \"Resend unlock instructions\" %></div>\n<% end %>\n\n<%= render \"devise/shared/links\" %>\n"
  },
  {
    "path": "app/views/disqus/_disqus.html.erb",
    "content": "<% if Features.enabled?(:disqus) %>\n  <%= get_disqus_sso(current_user) if user_signed_in?%>\n\n  <div id=\"disqus_thread\"\n  data-disqus-shortname='<%= Settings.disqus.shortname %>' \n  data-disqus-identifier='<%= entity.friendly_id %>' \n  data-disqus-title='<%= entity.title %>' \n  data-disqus-url='<%= request.url %>'></div>\n\n  <%= javascript_include_tag 'disqus' %>\n\n  <noscript>Please enable JavaScript to view the <a href=\"http://disqus.com/?ref_noscript\">comments powered by Disqus.</a></noscript>\n  <a href=\"http://disqus.com\" class=\"dsq-brlink\">comments powered by <span class=\"logo-disqus\">Disqus</span></a>\n<% end %>\n"
  },
  {
    "path": "app/views/documents/_categories.html.erb",
    "content": "<div class=\"modal-header\">\n  <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-hidden=\"true\">&times;</button>\n  <h4 class=\"modal-title\" id=\"modalTitle\">Select new section for the document</h4>\n</div>\n<div class=\"modal-body\" style=\"overflow: auto;\">\n  <% if @categories %>\n    <ul style=\"list-style: none outside none; padding-left:18px;\">\n      <% @categories.each do |category| %>\n        <% if category.id == @document.id or category.id == @document.parent_id %>\n          <% next %>\n        <% else %>\n          <li><%= link_to category.title, update_document_parent_id_path(@project, @document, new_parent_id: category.id), :method => :put %></li>\n        <% end %>\n      <% end %>\n    </ul>\n  <% end %>\n</div>\n\n"
  },
  {
    "path": "app/views/documents/_form.html.erb",
    "content": "<div class='row'>\n    <% if @document.errors.any? %>\n      <div id=\"error_explanation\" style=\"color: red;\">\n        <p><%= pluralize(@document.errors.count, \"error\") %> prevented this document from being saved:</p>\n        <ul>\n          <% @document.errors.full_messages.each do |msg| %>\n            <li><%= msg %></li>\n          <% end %>\n        </ul>\n      </div>\n    <% end %>\n    <%= form_for [@project, @document], :html => { :class => 'form-vertical', style: 'padding-left: 0;' } do |f| %>\n      <%= f.hidden_field :parent_id, :value => params[:parent_id] %>\n      <div class='form-group'>\n        <%= f.label :title %>\n        <%= f.text_field :title, :class => 'form-control', placeholder: 'Title' %>\n      </div>\n      <div class='form-group'>\n        <%= f.label :content %>\n        <%= f.rich_text_area :content %>\n      </div>\n      <div class='form-group'>\n        <%= f.hidden_field :project_id, value: params[:project_id] %>\n      </div>\n      <div class='form-group'>\n        <%= f.submit 'Submit', class: 'btn btn-default', data: { disable_with: 'Working...' } %>\n      </div>\n      <div class=\"form-group\">\n        <%= link_to 'Back', project_path(@project), type: 'button', class: 'btn btn-default' %>\n      </div>\n    <% end %>\n</div>\n"
  },
  {
    "path": "app/views/documents/edit.html.erb",
    "content": "<h1>edit the <%= h(@document.title) %> document</h1>\n<%= render 'form' %>"
  },
  {
    "path": "app/views/documents/new.html.erb",
    "content": "<h3>\n  <% if @parent.nil? %>\n    new document for project <strong><%= @project.title %></strong>\n  <% else %>\n    new sub-document for <strong><%= @parent.title %></strong>\n  <% end %>\n</h3>\n\n<%= render 'form' %>\n"
  },
  {
    "path": "app/views/documents/show.html.erb",
    "content": "<% provide :title, \"#{@document.title} - #{@project.title}\" %>\n\n<!-- Modal -->\n<div class=\"modal fade\" id=\"DocSections\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"myModalLabel\" aria-hidden=\"true\">\n  <div class=\"modal-dialog\">\n    <div class=\"modal-content\">\n      <div class=\"modal-header\">\n        <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-hidden=\"true\">&times;</button>\n        <h4 class=\"modal-title\" id=\"modalTitle\">Select new section for the document</h4>\n      </div>\n      <div class=\"modal-body\" style=\"overflow: auto;\">\n      </div>\n    </div>\n  </div>\n</div>\n\n<div>\n  <strong><%= link_to 'List of Projects', projects_path %></strong> <i class=\"fa fa-angle-double-right\"></i>\n  <strong><%= link_to @project.title, project_path(@project) %></strong> <i class=\"fa fa-angle-double-right\"></i>\n  <% unless @document.root? %>\n    <strong><%= link_to @document.parent.title, project_document_path(@project, @document.parent) %></strong>\n    <i class=\"fa fa-angle-double-right\"></i>\n  <% end %>\n  <strong><%= @document.title %></strong>\n</div>\n\n<h1>\n  <div id=\"document_title\" style=\"width: 100%;\" data-mercury=\"simple\" data-type=\"editable\"><%= @document.title %></div>\n</h1>\n<% if user_signed_in? %>\n  <ul class=\"user-controls\">\n    <% if @document.root? %>\n      <li><%= custom_css_btn 'new sub-document', 'fa fa-files-o fa-2x', new_project_document_path(project_id: @project.friendly_id, parent_id: @document.id), id: 'new_document_link' %></li>\n    <% end %>\n    <li><%= custom_css_btn 'change section', 'fa fa-cogs fa-2x', project_document_sections_path(project_id: @project.id, id: @document), id: 'change_parent_link', \n        data: { toggle: \"modal\", target: \"#DocSections\" } %></li>\n    <li><%= custom_css_btn 'edit document', 'fa fa-file-text-o fa-2x', edit_project_document_path %></li>\n  </ul>\n<% end %>\n<div class=\"doc-status-text\">\n  <div><%= metadata %></div>\n</div>\n\n<%= h(@document.content) %>\n\n<% if user_signed_in? %>\n  <%= link_to 'Save', '', id: 'save_link', class: 'btn btn-default', style: 'display:none;' %>\n  <%= link_to 'Cancel', '', id: 'cancel_link', class: 'btn btn-default', style: 'display:none;' %>\n<% end %>\n<div class=\"small-divider\"></div>\n<div>\n  <% if @document.versions.count > 1 %>\n    <a id=\"revisions-anchor\" href=\"#\" h4 style=\"display: inline-flex;\">Revisions</h4><i id=\"arrow\" class=\"fa fa-arrow-down fa-lg\" style=\"display:inline-flex;margin-left:5px;position:relative;top:2px;\"></i></a>\n    <div style=\"margin-bottom: 20px\">\n      <div id=\"revisions\" style=\"display: none;\">\n      <% @document.versions.each do |version| %>\n        <%= user_details(version.whodunnit.to_i) %>\n        <%= version.event %>d <b>\"<%= @document.title %>\"</b>  <%= time_ago_in_words(version.created_at) %> ago<br/>\n      <% end %>\n      </div>\n    </div>\n  <% end %>\n  <br/>\n  <% unless @children.empty? %>\n    <% if @document.root? %>\n      <h2>Sub-documents</h2>\n    <% end %>\n    <ul class=\"listings\">\n      <% @children.each do |child| %>\n        <li class=\"listings-item\">\n          <strong><%= link_to child.title, project_document_path(@project, child) %></strong> -\n          <i>created by <%= child.user.display_name %> <%= time_ago_in_words(child.created_at) %> ago</i>\n        </li>\n      <% end %>\n    </ul>\n  <% end %>\n</div>\n<%= render partial: 'disqus/disqus', locals: {entity: @document, project: @project} %>\n"
  },
  {
    "path": "app/views/documents/show.json.jbuilder",
    "content": "# frozen_string_literal: true\n\njson.extract! @document, :id, :title, :content, :body, :project_id, :created_at, :updated_at\n"
  },
  {
    "path": "app/views/errors/unacceptable.html.erb",
    "content": "<% content_for :title do %>422 error<% end %>\n<% #TODO: refactor this for Bootstrap framework %>\n<section id=\"about\">\n  <h3>The change you wanted was rejected</h3>\n  <p>Maybe you tried to change something you didn't have access to.</p>\n</section>"
  },
  {
    "path": "app/views/event_instances/_hangout_button.html.erb",
    "content": "<% start_data = JSON.generate({\n  'title' => title,\n  'category' => category,\n  'projectId' => project_id.to_s,\n  'eventId' => event_id.to_s,\n  'hostId' => current_user.id,\n  'hangoutId' => event_instance_id.present? ? event_instance_id : generate_event_instance_id(current_user, project_id),\n  'callbackUrl' => url_for(controller: :event_instances, action: :update, id: 'id', protocol: 'https', host: (Settings.hangouts.ssl_host || root_url[0..-2])).gsub(/id$/, '')\n}) %>\n\n<div id=\"liveHOA-placeholder\"\n  data-start-data='<%= start_data %>'\n  data-app-id='<%= Settings.hangouts.app_id %>'>\n  Please refresh the page to load the hangouts\n</div>\n"
  },
  {
    "path": "app/views/event_instances/_hangout_status.html.erb",
    "content": "<% present hangout do |presenter| %>\n  <dl>\n    <dt>Title</dt>\n    <dd><%= presenter.title %></dd>\n    <dt>Category</dt>\n    <dd><%= presenter.category %></dd>\n    <dt>Hangout link</dt>\n    <dd><%= link_to presenter.hangout_url, presenter.hangout_url %>\n    <dd><i>Updated: <%= time_ago_in_words hangout.updated_at %> ago</i></dd>\n    </dd>\n  </dl>\n<% end %>\n"
  },
  {
    "path": "app/views/event_instances/_hangouts.html.erb",
    "content": "<% @event_instances.each_with_index do |event, index| %>\n  <% present event do |hangout| %>\n    <div class=\"col-xs-12 col-sm-12 col-md-6 col-lg-4 mt-4\">\n      <div class=\"card hangout\">\n        <div class=\"box \">\n          <% if watchable? hangout %>\n            <div class=\"embed-responsive embed-responsive-16by9\">\n              <iframe class=\"embed-responsive-item player\"\n                      src=\"https://www.youtube.com/embed/<%=hangout.yt_video_id%>?enablejsapi=1&amp;origin=<%=request.base_url%>\"\n                      id=\"<%=hangout.yt_video_id%>\"\n                      >\n              </iframe>\n            </div>\n          <% else %>\n            <%= image_tag 'avpremium.png', alt: 'premium event', class: 'card-img-top' %>\n          <% end %>\n          <div class=\"card-block\">\n            <div class=\"meta\">\n              <%= render partial: 'index_basic_info', locals: { hangout: hangout, index: index}  %>\n            </div>\n            <div id=\"<%= \"collapse#{index}\" %>\" class=\"card-footer collapse\">\n              <%= render partial: 'index_extra_info', locals: { hangout: hangout }  %>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n  <% end %>\n<% end %>\n"
  },
  {
    "path": "app/views/event_instances/_index_basic_info.html.erb",
    "content": "<h4 class=\"card-title\"><%= hangout.event_link %></h4>\n<div class='row' data-event-instance-id=<%=hangout.id%>>\n  <div class=\"col-xs-6 hg-avatar\">\n    <%= render 'users/user_avatar', user: hangout.host %>\n  </div>\n  <div class=\"col-xs-6\">\n      <div> <%= link_to 'Join', hangout.hangout_url,\n        { class: \"btn-hg-join #{hangout.live? ? '' : 'disable'}\" } %>\n      </div>\n    <% if watchable? hangout %>\n      <div><%= link_to 'Watch', hangout.video_url, { class: 'btn-hg-watch' } %></div>\n    <% else %>\n      <div><%= link_to 'Watch', '/membership-plans', { class: 'btn-hg-watch' } %></div>\n    <% end %>\n  </div>\n</div>\n"
  },
  {
    "path": "app/views/event_instances/_index_extra_info.html.erb",
    "content": "<div class='row'><%= hangout.title %> </div>\n<div class='row'><%= hangout.category %> </div>\n<div class='row'>\n  <span class=\"float-right\"><%= hangout.created_at %></span>\n  <span><%= hangout.duration %> </span>\n\n  <% if hangout.participants.length > 0 %>\n    <% hangout.participants.each do |participant| %>\n      <%= render 'users/user_avatar', user: participant %>\n    <% end %>\n  <% end %>\n</div>\n"
  },
  {
    "path": "app/views/event_instances/_index_header.html.erb",
    "content": "<div class=\"row flex-center\">\n  <div class=\"col-lg-8 col-md-6 hidden-xs hidden-sm\">\n    <h1 class=\"text-center\">Hangouts</h1>\n  </div>\n  <div class='col-lg-4 col-md-6 col-sm-12'>\n    <div class=\"pull-right-lg\">\n      <button id=\"btn-hg-toggle\" type=\"button\" class=\"btn btn-default\">toggle summary</button>\n      <%= link_to 'show all/live', hangouts_path(live: !(params[:live]=='true')), class: 'btn btn-default' %>\n    </div>\n  </div>\n</div>\n"
  },
  {
    "path": "app/views/event_instances/edit.html.erb",
    "content": "<%= form_for @event_instance, :url => \"/event_instances/#{@event_instance.id}\", html: {class: 'form-vertical', id: 'event-form'} do |f| %>\n  <div class='form-group'>\n  <%= f.label \"Youtube Video Link\", class: 'control-label' %>\n  <%= f.text_field :yt_video_id,  :value => \"http://youtube.com/watch?v=#{@event_instance.yt_video_id}\", class: 'form-control' %>\n  \n  <%= f.label \"Hangout Status\", class: 'control-label' %>\n  <%= f.select :hoa_status, [nil, 'finished', 'live'], selected: @event_instance.hoa_status %>\n  </div>\n  <%= f.submit %>\n<% end %>\n"
  },
  {
    "path": "app/views/event_instances/index.html.erb",
    "content": "<% provide :title, 'Hangouts' %>\n<section class=\"live-hangouts\">\n\n  <%= render 'index_header' %>\n\n  <div class=\"clearfix\"></div>\n  <div class=\"row is-flex\" id=\"hg-container\">\n    <% if @event_instances.empty? %>\n      <div class=\"panel panel-default\">\n        <div class=\"panel-heading empty\">\n          We are sorry, but it seems that there are no live sessions at this moment.<br>\n          Please come back later or click 'Show all/live' button to browse older sessions.\n        </div>\n      </div>\n    <% else  %>\n      <%= render 'hangouts', event_instances: @event_instances %>\n    <% end %>\n  </div>\n  <%= will_paginate @event_instances, page_links: false %>\n</section>\n<%=javascript_include_tag 'event_instances.js' %>\n"
  },
  {
    "path": "app/views/event_instances/index.js.erb",
    "content": "$('#hg-container').append('<%= j render \"hangouts\" %>');\n<% if @event_instances.total_pages == @event_instances.current_page %>\n  $('.pagination').replaceWith('<br />No more hangouts');\n<% else %>\n  $('.pagination').replaceWith('<%= j (will_paginate @event_instances, page_links: false)  %>');\n<% end %>\n"
  },
  {
    "path": "app/views/events/_form.html.erb",
    "content": "<% provide :title, 'New Events' %>\n<div data-controller=\"events-form\">\n<% start_datetime = params.fetch(:start_date, @event.start_datetime) %>\n<% start_datetime = Time.now if start_datetime.nil? %>\n<% duration = params.fetch(:duration, @event.duration) %>\n\n<div class=\"col-lg-8 col-lg-offset-2\">\n  <%= form_for @event, html: {class: 'form-vertical', id: 'event-form'} do |f| %>\n\n      <%= awesome_text_field f, :name %>\n\n      <div class='form-group'>\n        <%= f.label :category, class: 'control-label' %>\n        <%= f.select :category, %w( PairProgramming Scrum ClientMeeting ), {}, class: 'form-control' %>\n      </div>\n\n      <div class='form-group'>\n        <%= f.label :for, class: 'control-label' %>\n        <%= f.select :for, [\"All\", \"Associate Members\"], {}, class: 'form-control' %>\n      </div>\n\n      <div class='form-group'>\n        <%= f.label :project_id, class: 'control-label' %>\n        <%= f.select :project_id, @projects, {include_blank: true}, class: 'form-control' %>\n      </div>\n\n      <%= awesome_text_area f, :description, rows: 10 %>\n\n      <div class=\"form-group event_date\">\n        <%= label_tag 'start_datetime', 'Start Datetime', class: 'control-label' %>\n        <%= datetime_local_field_tag :start_datetime, start_datetime.strftime(\"%Y-%m-%dT%H:%M\"), 'data-events-form-target': 'start' %>\n        <%= hidden_field_tag 'next_date', @event.next_event_occurrence_with_time() ? format_datepicker(@event.next_event_occurrence_with_time()[:time]) : format_datepicker(DateTime.now) %>\n      </div>\n\n      <div class=\"form-group event_time\">\n         <%= select_tag 'start_time_tz', options_from_collection_for_select( TZInfo::Timezone.all, 'identifier', 'identifier', 'UTC'), { class: 'form-control', style: 'width:auto;', 'data-events-form-target': 'start_tz' } %>\n      </div>\n\n      <div class=\"form-group\">\n        <%= label_tag :duration, \"Duration in Minutes\", class: 'control-label' %>\n        <%= f.number_field :duration, style: 'width:auto;', value: duration, class: 'form-control' %>\n      </div>\n\n      <div class=\"form-group\">\n        <%= f.label :repeats, :class => 'control-label' %>\n        <%= f.select :repeats, Event::REPEATS_OPTIONS, {}, default: 'never', class: 'form-control', 'data-action': 'change->events-form#repeats' %>\n        <%= render partial: 'repeats_weekly_options', locals: {f: f} %>\n      </div>\n\n      <div class=\"form-group event_option\" id=\"repeats_options\">\n        <%= label_tag 'event_repeat_ends_string', 'Repeat ends', class: 'control-label' %>\n        <%= f.select :repeat_ends_string, Event::REPEAT_ENDS_OPTIONS, {}, class: 'form-control', 'data-action': 'change->events-form#repeat_ends_on' %>\n      </div>\n\n      <div class=\"form-group event_option repeat_ends_on\">\n        <%= label_tag 'repeat_ends_on', 'End Date', class: 'control-label', id: 'repeat_ends_on_label' %>\n        <%= date_select :event, :repeat_ends_on, id: 'repeat_ends_on' %>\n      </div>\n\n      <div class=\"form-group\">\n        <%= f.hidden_field :time_zone, value: 'UTC' %>\n      </div>\n\n      <div class=\"form-group\">\n        <% if @event.new_record? %>\n          <%= link_to 'Cancel', events_path, class: 'btn btn-default' %>\n        <% else %>\n          <%= link_to 'Cancel', event_path(@event), class: 'btn btn-default' %>\n        <% end %>\n        <%= f.submit 'Save', class: 'btn btn-default', data: {disable_with: 'Working...'} %>\n      </div>\n  <% end %>\n</div>\n</div>"
  },
  {
    "path": "app/views/events/_hangouts_management.html.erb",
    "content": "<% hangout_is_live = @hangout.try!(:live?) %>\n<%  if user_signed_in?  %>\n  <div class=\"hangouts-management\">\n    <div class=\"restart-panel<%= ' in' if hangout_is_live %>\">\n      <div class=\"panel-heading\">\n        <h4 class=\"panel-title\">\n          <a class=\"collapse-button\" data-toggle=\"collapse\" data-target=\".restart-section\">\n            <%= fa_icon 'caret-right', text: 'Restart hangout' %>\n            <button type=\"button\" class=\"panel-close-button restart-section\"><span aria-hidden=\"true\">&times;</span><span class=\"sr-only\">Close</span></button>\n          </a>\n        </h4>\n      </div>\n\n      <div class=\"restart-section\">\n        <div class=\"panel-body warning\">\n          <strong>Restarting Hangout would update the details of the hangout currently associated with this event.</strong>\n        </div>\n      </div>\n    </div>\n\n    <div class=\"restart-section<%= ' in' unless hangout_is_live %>\">\n      <div class=\"panel-body\">\n        <div id=\"hangout-btn\" class=\"col-lg-5 hangout-btn\">\n          <%= render partial: 'event_instances/hangout_button', locals: {event_instance_id: (hangout_is_live ? @hangout.uid : ''), event_id: @event.id, category: @event.category, project_id: '', title: topic(@event, @event_schedule)} %>\n        </div>\n        <div class=\"hangout-btn\"> &#8592; Event host will start the Hangout \n            <button type=\"button\" class=\"btn readme-link\" data-container=\"body\" data-toggle=\"popover\" data-placement=\"right\" \n                  data-content=\"The hangout is started by the event host at a scheduled time.\n                  If the time is due and hangout has not been started, you may start it yourself.\n                  By starting a hangout, you are becoming the host of the session, \n                  the hangout link gets published on WebsiteOne and AgileVentures Slack channels\n                  and the session may be joined by other people and viewed publicly on Youtube.\">\n              read more</button>\n        </div>\n      </div>\n    </div>\n\n    <div class=\"edit-link-panel\">\n      <div class=\"panel-heading\">\n        <h4 class=\"panel-title\">\n          <a class=\"collapse-button\" data-toggle=\"collapse\" data-target=\".edit-link-form\">\n            <%= fa_icon 'caret-right', text: 'Edit hangout link' %>\n            <button type=\"button\" class=\"panel-close-button edit-link-form\"><span aria-hidden=\"true\">&times;</span><span class=\"sr-only\">Close</span></button>\n          </a>\n        </h4>\n      </div>\n\n      <div class=\"edit-link-form\">\n        <div class=\"panel-body\">\n          <%= form_tag hangout_url(hangout_is_live ? @hangout.uid : generate_event_instance_id(current_user)), method: :put,  class: \"form-horizontal\", role: \"form\" %>\n            <div><input name=\"title\" type=\"hidden\" value=\"<%= topic(@event, @event_schedule) %>\"></div>\n            <div><input name=\"host_id\" type=\"hidden\" value=\"<%= current_user.id %>\"></div>\n            <div><input name=\"event_id\" type=\"hidden\" value=\"<%= @event.id %>\"></div>\n            <div class=\"form-group\">\n              <label class=\"control-label sr-only\" for=\"hangout-url\">Hangout link</label>\n            </div>\n            <div class=\"form-group\">\n              <div class=\"col-sm-8\">\n                <input type=\"url\" required class=\"form-control\" name=\"hangout_url\" placeholder=\"Copy and paste the hangout link in here..\" value=\"<%= @hangout.try!(:hangout_url) if @hangout.try!(:started?) %>\">\n              </div>\n              <div class=\"col-sm-2\">\n                <button type=\"button\" class=\"form-control btn-default\" data-toggle=\"collapse\" data-target=\".edit-link-panel\">Cancel</button>\n              </div>\n              <div class=\"col-sm-2\">\n              <input type=\"submit\" class=\"form-control btn-primary\" value=\"Save\"/>\n              </div>\n            </div>\n          </form>\n        </div>\n      </div>\n\n    </div>\n  </div>\n<% end %>\n\n<% if hangout_is_live %>\n  <div class=\"hangouts-details-well\">\n    <section class=\"hangout-details\">\n      <%= render partial: 'event_instances/hangout_status', locals: {hangout: @hangout} %>\n    </section>\n  </div>\n<% end %>\n"
  },
  {
    "path": "app/views/events/_repeats_weekly_options.html.erb",
    "content": "<fieldset class=\"event_option\" id=\"repeats_weekly_options\">\n  <div class=\"control-group\">\n    <label class=\"control-label\">Each</label>\n    <div class=\"controls\" id=\"daysOfWeek\">\n      <% Event::DAYS_OF_THE_WEEK.each do |day_of_the_week| %>\n          <%= label_tag \"event_repeats_weekly_each_days_of_the_week_#{day_of_the_week}\", day_of_the_week.humanize, :class => 'checkbox inline' do %>\n              <%= check_box_tag \"event[repeats_weekly_each_days_of_the_week][#{day_of_the_week}]\", day_of_the_week, f.object.repeats_weekly_each_days_of_the_week.include?(day_of_the_week), {:name => \"event[repeats_weekly_each_days_of_the_week][]\"} %>\n              <%= day_of_the_week.humanize %>\n          <% end %>\n      <% end %>\n      <%= f.hidden_field :repeats_every_n_weeks, :value => '1' %>\n      <%= hidden_field_tag 'event[repeats_weekly_each_days_of_the_week][]', '' %>\n    </div>\n  </div>\n</fieldset>\n"
  },
  {
    "path": "app/views/events/_videos.html.erb",
    "content": "<div class=\"row\">\n  <h4 id=\"video_contents\"><%= presenter.title %></h4>\n\n  <div class=\"col-xs-12 text-center\">\n    <div class=\"video-container\">\n      <iframe id=\"ytplayer\" type=\"text/html\" src=\"<%= presenter.video_embed_link %>\" frameborder=\"0\"></iframe>\n    </div>\n  </div>\n</div>\n<div class=\"row\" id=\"video_links\">\n  <table class=\"table table-bordered table-striped table-hover table-condensed\">\n    <tr>\n      <th>Title</th>\n    </tr>\n    <% videos.each do |video| %>\n      <% present video do |presenter| %>\n        <tr>\n          <td><%= presenter.video_link %><small> <%= video.created_at.strftime '%A, %B %-d, %Y'  %></small></td>\n        </tr>\n      <% end %>\n    <% end %>\n  </table>\n</div>\n"
  },
  {
    "path": "app/views/events/edit.html.erb",
    "content": "<%= render 'form' %>"
  },
  {
    "path": "app/views/events/index.html.erb",
    "content": "<% provide :title, 'Events' %>\n<h1>AgileVentures Events <%= link_to 'New Event', new_event_path, class: 'btn btn-default pull-right' %></h1>\n<p>We are hosting several events a day using Google Hangouts. Feel free to join in if you want to get involved or if you\n  are curious about Pair Programming and Agile.\n  <strong>Each event will have a link to an online Hangout prior to start time.</strong>\n  You can also add the upcoming events to your\n  <%= link_to \"calendar\", calendar_path %>\n  </p>\n\n<div id=\"calendar\"></div>\n\n<p> </p>\n<%= form_tag(events_path, :id => \"events_search\", :method => \"get\", :autocomplete => :off, :class => \"form-inline text-left\") do %>\n    <div class=\"form-group\">\n      <%= select_tag :project_id, options_from_collection_for_select(@projects, \"id\", \"title\", @project.try(:id).try(:to_s)), prompt: \"All\", class: 'form-control' %>\n    </div>\n    <div class=\"form-group\">\n      <%= submit_tag \"Filter by Project\", {:class => 'btn btn-default'} %>\n    </div>\n<% end %>\n\n<% if user_signed_in? %>\n    <div class=\"row\">\n\n</div>\n<% end %>\n\n<div class=\"eventContainer\">\n  <% @events.each_slice(2) do |slice| %>\n      <% slice.each do |instance| %>\n          <% event = instance[:event] %>\n          <div class=\"event-row\" id=\"details_<%= event.id %>\">\n            <div class=\"row\">\n              <div class=\"col-lg-9 col-xs-12 col-sm-9\">\n                <div class=\"event-title\"><%= link_to event.name.truncate(50, separator: /\\s/), event_path(event) %></div>\n              </div>\n              <div class=\"col-lg-3 col-xs-12 col-sm-3\">\n                <% if instance[:time].today?%>\n                  <% recent_hangout = event.recent_hangouts.first %>\n                  <% if recent_hangout && recent_hangout.live? %>\n                      <div class=\"event-notice pull-right\">\n                        <%= link_to 'Event live! Join now', recent_hangout.hangout_url, class: 'btn btn-default pull-right' %>\n                      </div>\n                  <% elsif event.within_current_event_duration? %>\n                      <div class=\"event-notice pull-right\">\n                        <%= link_to  \"Event time! Start now\", event_path(event), class: 'btn btn-default pull-right' %>\n                      </div>\n                  <% end %>\n                <% end %>\n              </div>\n            </div>\n            <div class=\"col-lg-4 col-xs-12 col-sm-4\">\n              <i class=\"fa fa-calendar\"></i><span class=\"month\"><%= local_time(instance[:time],'%a, %b %d, %Y') %></span><br/>\n              <i class=\"fa fa-clock-o\"></i><span><%= raw show_local_time_range(instance[:time], event.duration) %></span>\n            </div>\n            <div class=\"col-lg-8 col-xs-12 col-sm-8\">\n              <p><%= auto_link(event.description.truncate(120, separator: /\\s/)) %></p>\n            </div>\n          </div>\n      <% end %>\n  <% end %>\n</div>\n"
  },
  {
    "path": "app/views/events/index.json.jbuilder",
    "content": "# frozen_string_literal: true\n\ndate_format = '%Y-%m-%dT%H:%M:%S'\njson.array! @scrums do |scrum|\n  json.title scrum.title\n  json.start scrum.created_at.strftime(date_format)\n  end_time = scrum.created_at + 1800\n  json.end end_time.strftime(date_format)\nend\njson.array! @events do |event|\n  json.title event[:event].name\n  json.start event[:time].strftime(date_format)\n  end_time = event[:time] + (event[:event].duration * 60)\n  json.end end_time.strftime(date_format)\n  json.description event[:event].description\nend\n"
  },
  {
    "path": "app/views/events/new.html.erb",
    "content": "<%= render 'form' %>\n\n"
  },
  {
    "path": "app/views/events/show.html.erb",
    "content": "<div data-controller=\"events\">\n<div class=\"row\">\n  <div class=\"col-xs-12\">\n    <h1><%= @event.name %></h1>\n\n    <p><%= auto_link(@event.description) %></p>\n  </div>\n</div>\n\n<hr/>\n\n<div class=\"row\">\n  <div class=\"col-xs-4\">\n    <p>Event type: <%= @event.category %></p>\n    <p>Event for: <%= @event.for %></p>\n  </div>\n  <div class=\"col-xs-8\">\n    <% if user_signed_in? %>\n        <div class=\"dropdown dropdown-beside-HOA pull-right\">\n          <button class=\"btn btn-default dropdown-toggle\" type=\"button\" id=\"actions-dropdown\" data-toggle=\"dropdown\">\n            Event Actions\n            <span class=\"caret\"></span>\n          </button>\n\n          <ul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"actions-dropdown\">\n            <li role=\"presentation\">\n              <%= link_to 'Edit Event Details', edit_event_path(@event), role: 'menuitem', tabindex: '-1' %>\n            </li>\n            <li role=\"edit_hoa_link\">\n              <%= link_to 'Edit hangout link', '#', remote: true, data: {toggle: 'collapse', target: '#edit-link-form'}, role: 'menuitem', tabindex: '-1' %>\n            </li>\n            <li role=\"edit_yt_link\">\n              <%= link_to 'Edit streaming link', '#', remote: true, data: {toggle: 'collapse', target: '#edit-yt-link-form'}, role: 'menuitem', tabindex: '-1' %>\n            </li>\n          </ul>\n        </div>\n        <link href=\"https://gitcdn.github.io/bootstrap-toggle/2.2.2/css/bootstrap-toggle.min.css\" rel=\"stylesheet\">\n        <script src=\"https://gitcdn.github.io/bootstrap-toggle/2.2.2/js/bootstrap-toggle.min.js\"></script>\n        <% if !@recent_hangout.try(:live?) and @event.less_than_ten_till_start?%>\n          <%= link_to (@project ? @project.meet_room_link : ''), target: '_blank' do %>\n            <button type=\"button\" class=\"btn btn-warning\" id=\"hoa_instructions\" data-toggle=\"modal\" data-target=\"#myModal\">\n              Start Google Meet\n            </button>\n          <% end %>\n          <%= link_to @event.jitsi_room_link, target: '_blank' do %>\n            <button type=\"button\" class=\"btn btn-primary\" id='start-jitsi'>\n              Start Jitsi Meet\n            </button>\n          <% end %>\n        <% end %>\n    <% end %>\n    <div class=\"col-xs-12 col-sm-6\">\n      <%  if @recent_hangout.try(:live?) %>\n        <% if show_private_event_info? %>\n          <div class=\"pull-right\">\n            <%= link_to 'JOIN THIS LIVE EVENT NOW', @recent_hangout.hangout_url, class: 'btn btn-success' %>\n          </div>\n        <% else %>\n          <div>\n            <%= link_to 'THIS EVENT IS LIVE, UPGRADE NOW TO JOIN', new_subscription_path(plan: 'premiummob'), class: 'btn btn-success' %>\n          </div>\n        <% end %>\n      <% elsif @event.try :within_current_event_duration? %>\n        <div class=\"event-notice\">\n          It's time! Please start the event.\n        </div>\n      <% end %>\n    </div>\n  </div>\n</div>\n\n<hr/>\n\n<div class=\"row\" id=\"hangout-details\">\n  <% if @event.next_event_occurrence_with_time %>\n      <div class=\"col-xs-12 col-sm-6\">\n        <h4>Next scheduled event:</h4>\n\n          <div class=\"calendar-text\">\n            <span class=\"month\"><%=  local_time(@event.next_event_occurrence_with_time[:time],'%A, %B %d, %Y') %>&nbsp;</span>\n            </i></a>(<i class='fa fa-calendar-plus-o'></i><%= link_to 'Export to Google Cal', google_calendar_link(@event) %><span>&nbsp;)</span>\n            <br/>\n            <i class=\"fa fa-clock-o\"></i><span id='local_time' data-events-target=\"local_time\"><%= raw show_local_time_range(@event.next_event_occurrence_with_time[:time], @event.duration) %></span><br/>\n            <% if @event.try :repeats? %>\n                <% if @event.repeats_every_n_weeks == 2 %>\n                  <p class=\"help-block\">Occurs every two weeks at the specified times</p>\n                <% else %>\n                  <p class=\"help-block\">Occurs weekly at the specified times</p>\n                <% end %>\n            <% end %>\n          </div>\n      </div>\n  <% end %>\n  <% if @event.creator %>\n      <%= set_column_width %>\n      <div class=\"col-xs-12 col-sm-2\">\n        <div class=\"row text-center\">\n          <%= link_to @event.creator.presenter.gravatar_image(size: 80, id: 'user-gravatar', class: 'img-circle'), user_path(@event.creator) %>\n        </div>\n        <div class=\"row text-center\">\n          created by:\n        </div>\n        <div class=\"row text-center\">\n          <%= link_to @event.creator.display_name, user_path(@event.creator) %>\n        </div>\n        <div class=\"row text-center\">\n          <%= @event.created_at.strftime \"%F\" %>\n        </div>\n      </div>\n  <% end %>\n\n  <% if @event.modifier_id %>\n    <div class=\"col-xs-12 col-sm-2\">\n      <div class=\"row text-center\">\n        <%= link_to @event.modifier.presenter.gravatar_image(size: 80, id: 'user-gravatar', class: 'img-circle'), user_path(@event.modifier) %>\n      </div>\n      <div class=\"row text-center\">\n        updated by:\n      </div>\n      <div class=\"row text-center\">\n        <%= link_to @event.modifier.display_name, user_path(@event.modifier) %>\n      </div>\n      <div class=\"row text-center\">\n        <%= @event.updated_at.strftime \"%F\" %>\n      </div>\n    </div>\n  <% end %>\n</div>\n<% if user_signed_in? %>\n\n    <% hangout_is_live = @recent_hangout.try!(:live?) %>\n    <div class=\"row\">\n      <div class=\"col-lg-12 collapse\" id=\"edit-link-form\" aria-expanded=\"false\">\n        <%= form_tag hangout_url(hangout_is_live ? @recent_hangout.uid : generate_event_instance_id(current_user)), method: :put, class: 'form-horizontal', role: 'form' do %>\n            <%= hidden_field_tag 'title', topic(@event, @event_schedule) %>\n            <%= hidden_field_tag 'host_id', current_user.id %>\n            <%= hidden_field_tag 'event_id', @event.id %>\n            <%= hidden_field_tag 'url_set_directly', true %>\n            <%= hidden_field_tag 'notify_hangout', true %>\n            <%= hidden_field_tag 'category', @event.category %>\n            <%= hidden_field_tag 'for', @event.for %>\n            <% if @event.project %>\n              <%= hidden_field_tag 'project_id', @event.project.id %>\n            <% end %>\n            <%= hidden_field_tag 'yt_url', @recent_hangout.try!(:yt_url) %>\n\n            <div class=\"form-group\">\n              <label class=\"control-label sr-only\" for=\"hangout-url\">Manually modify Hangout link</label>\n            </div>\n            <b>Hangout Link</b>\n            <div class=\"form-group\">\n              <div class=\"col-sm-8\">\n                <input type=\"url\" required class=\"form-control\" name=\"hangout_url\" placeholder=\"Copy and paste the hangout link in here..\" value=\"<%= @recent_hangout.try!(:hangout_url) %>\">\n              </div>\n              <div class=\"col-sm-2\">\n                <button type=\"button\" class=\"form-control btn-default\" data-toggle=\"collapse\" data-target=\"#edit-link-form\" id=\"hoa_link_cancel\">Cancel</button>\n              </div>\n              <div class=\"col-sm-2\">\n                <input type=\"submit\" class=\"form-control btn-primary\" value=\"Save\" id=\"hoa_link_save\"/>\n              </div>\n            </div>\n        <% end %>\n      </div>\n\n      <div class=\"col-lg-12 collapse\" id=\"edit-yt-link-form\" aria-expanded=\"false\">\n        <%= form_tag hangout_url(hangout_is_live ? @recent_hangout.uid : generate_event_instance_id(current_user)), method: :put, class: 'form-horizontal', role: 'form' do %>\n            <%= hidden_field_tag 'title', topic(@event, @event_schedule) %>\n            <%= hidden_field_tag 'host_id', current_user.id %>\n            <%= hidden_field_tag 'event_id', @event.id %>\n            <%= hidden_field_tag 'url_set_directly', true %>\n            <%= hidden_field_tag 'notify_yt', true %>\n            <%= hidden_field_tag 'category', @event.category %>\n            <% if @event.project %>\n              <%= hidden_field_tag 'project_id', @event.project.id %>\n            <% end %>\n            <%= hidden_field_tag 'hangout_url', @recent_hangout.try!(:hangout_url) %>\n\n            <div class=\"form-group\">\n              <label class=\"control-label sr-only\" for=\"yt_url\">Manually modify Youtube link</label>\n            </div>\n            <b>Youtube Link</b>\n            <div class=\"form-group\">\n              <div class=\"col-sm-8\">\n                <input type=\"url\" required class=\"form-control\" name=\"yt_url\" placeholder=\"Copy and paste the streaming link in here..\" value=\"<%= @recent_hangout.try!(:yt_url) %>\">\n              </div>\n              <div class=\"col-sm-2\">\n                <button type=\"button\" class=\"form-control btn-default\" data-toggle=\"collapse\" data-target=\"#edit-yt-link-form\" id=\"yt_link_cancel\">Cancel</button>\n              </div>\n              <div class=\"col-sm-2\">\n                <input type=\"submit\" class=\"form-control btn-primary\" value=\"Save\" id=\"yt_link_save\"/>\n              </div>\n            </div>\n        <% end %>\n      </div>\n    </div>\n<% end %>\n<hr/>\n\n<div class=\"row\" id=\"attendees\">\n  <div class=\"col-xs-12 col-sm-6\">\n    <% if !@event.creator_attendance %>\n      <div class=\"event-notice\">\n        <%= @event.creator.display_name %> cannot attend the event.\n      </div>\n    <% end %>\n  </div>\n  <div class=\"col-xs-12 col-sm-4\"></div>\n  <div class=\"col-xs-12 col-sm-2\">\n    <% if (user_signed_in? and @event.creator and current_user.id == @event.creator.id) %>\n      <%= form_for @event, url: url_for(controller: \"events\", action: \"update\"), html: {class: \"form-class\"}  do |f| %>\n        <%=  check_box 'event', 'creator_attendance', { id: 'attendance_checkbox', 'data-toggle':'toggle', 'data-on':'Attend', 'data-off':'Cannot Attend', 'data-onstyle':'success', 'data-offstyle':'danger' }, 'true', 'false' %>\n      <% end %>\n    <% end %>\n  </div>\n</div>\n<hr/>\n\n<div class=\"row\" id=\"recent_event_list\">\n  <% unless @event_instances.first %>\n    <p>No previous instances of this event</p>\n  <% end %>\n  <% unless @event_instances.blank? %>\n    <% if show_private_event_info? %>\n      <% present @event_instances.first do |presenter| %>\n        <div class=\"row\">\n          <%= render 'videos', videos: @event_instances, presenter: presenter %>\n        </div>\n      <% end %>\n    <% end %>\n  <% end %>\n</div>\n\n<hr/>\n<div class=\"row\">\n  <div class=\"col-xs-12\">\n    <p><%= link_to 'Learn more about Scrums', static_page_path('Getting started') %></p>\n  </div>\n</div>\n</div>\n"
  },
  {
    "path": "app/views/hookups/index.html.erb",
    "content": "<h2>Active Hookups</h2>\n<% if @active_pp_hangouts.present? %>\n    <table id=\"active_hookups\" class='hookups_table'>\n      <tr>\n        <th>Title</th>\n        <th>Start Date</th>\n        <th>Start Time</th>\n        <th>Actions</th>\n      </tr>\n      <% @active_pp_hangouts.each do |hangout| %>\n          <tr>\n            <td><%= hangout.title %></td>\n            <td><%= format_date(hangout.start_datetime) %></td>\n            <td><%= format_time(hangout.start_datetime) %></td>\n            <td id=\"join\">\n              <%= link_to 'Join', hangout.hangout_url %>\n            </td>\n          </tr>\n      <% end %>\n    </table>\n<% end %>\n<h2>Pending Hookups</h2>\n<% if @pending_hookups.present? %>\n    <table id=\"pending_hookups\" class='hookups_table'>\n      <tr>\n        <th>Title</th>\n        <th>Start Date</th>\n        <th>Time range</th>\n        <th>Actions</th>\n      </tr>\n      <% @pending_hookups.each do |hookup| %>\n          <tr>\n            <td><%= hookup.name %></td>\n            <td><%= format_date(hookup.start_datetime) %></td>\n            <td><%= format_time_range(hookup) %></td>\n            <% if user_signed_in? %>\n                <td id=\"start\">\n                  <%= link_to 'Create Hangout', event_path(hookup) %>\n                </td>\n            <% end %>\n          </tr>\n      <% end %>\n    </table>\n<% end %>\n"
  },
  {
    "path": "app/views/layouts/_activity_wrapper.html.erb",
    "content": "<div class=\"container\" >\n  <div class=\"col-md-1\" style=\"width: 4% !important;\">\n    <i class=\"fa fa-2x fa-file-o\"></i>\n  </div>\n  <div class=\"col-md-1\" style=\"width: 4% !important;\">\n    <%= image_tag activity.owner&.gravatar_url, width: '30', height: '30', style: 'margin-bottom: -26px;', class: 'img-circle hidden-xs hidden-sm' %>\n  </div>\n  <div class=\"col-md-6\">\n    <div class=\"row\">\n      <small><%= time_ago_in_words(activity.created_at) %> ago</small>\n    </div>\n    <div class=\"row\">\n      <%= link_to activity.owner.display_name, activity.owner if activity.owner %>\n      <%= render_activity activity %>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "app/views/layouts/_adwords_signup_conversion.html.erb",
    "content": "<!-- Google Code for SignUp Conversion Page -->\n<script type=\"text/javascript\">\n  /* <![CDATA[ */\n  var google_conversion_id = 862234872;\n  var google_conversion_language = \"en\";\n  var google_conversion_format = \"3\";\n  var google_conversion_color = \"ffffff\";\n  var google_conversion_label = \"Zms8CLTN-20Q-NGSmwM\";\n  var google_remarketing_only = false;\n  /* ]]> */\n</script>\n<script type=\"text/javascript\" src=\"//www.googleadservices.com/pagead/conversion.js\">\n</script>\n<noscript>\n  <div style=\"display:inline;\">\n    <img height=\"1\" width=\"1\" style=\"border-style:none;\" alt=\"\" src=\"//www.googleadservices.com/pagead/conversion/862234872/?label=Zms8CLTN-20Q-NGSmwM&amp;guid=ON&amp;script=0\"/>\n  </div>\n</noscript>"
  },
  {
    "path": "app/views/layouts/_cookies_banner.html.erb",
    "content": "<% if session[:cookies_accepted].nil? && !(request.cookies['_ga'].present? || request.cookies['_gid'].present? || request.cookies['_gat'].present?)# don't re-render if a true/false selected %>\n  <section class=\"cookies-banner-modal\">\n    <a class=\"close\">X</a>  \n    <h4>We respect your privacy. Cookies are used to analyze traffic.</h4>\n    <%= link_to \"Accept cookies\", cookies_path(cookies: true), method: :post, class: 'btn btn-success' %>\n    <%= link_to \"Reject cookies\", cookies_path(cookies: false), method: :post, class: 'btn btn-default' %>\n    <%= link_to 'Privacy statement', '/privacy' %>\n  </section>\n<% end %>\n\n<%= javascript_include_tag 'cookies_banner' %>\n\n"
  },
  {
    "path": "app/views/layouts/_escalating_call_to_action.html.erb",
    "content": "<% if current_user %>\n    <% if current_user.membership_type == 'Basic' %>\n        <% path = '/premium' %>\n        <% message = 'Upgrade to Associate membership and get out more from your membership' %>\n    <% end %>\n<% else %>\n    <% path = \"/about-us\" %>\n    <% message = 'Work The Web - Learn To Code For Free!' %>\n<% end %>\n\n<% if path && message %>\n<a href=\"<%= path %>\" class=\"btn btn-primary btn-block call-to-action \" style=\"margin: auto; margin-bottom: 10px;\"><span><%= message %></span></a>\n<% end %>"
  },
  {
    "path": "app/views/layouts/_event_link.html.erb",
    "content": "<% if event.present? %>\n  <p>\n    <%= link_to event_name_or_invitation_to_guest_user(event), event_path(event['id']) %>\n    <% start_time = event.next_occurrence_time_attr.to_datetime %>\n    <% if event.last_hangout.try!(:live?) %>\n      is live! <%= link_to 'Click to join!', event.last_hangout.hangout_url %>\n    <% elsif start_time - 1.minute < Time.now %>\n      is about to start...\n    <% else %>\n      in <%= display_countdown(event) %>\n  <% end %>\n  </p>\n<% else %>\n  <p>\n    Want to learn more? Listen in to our <%= link_to 'next projects\\' review meeting', events_path %>\n  </p>\n<% end %>\n"
  },
  {
    "path": "app/views/layouts/_flash.html.erb",
    "content": "<% if flash %>\n  <div id=\"flash-container\">\n    <div id=\"flash-display\">\n      <% flash.each do |name, msg| %>\n        <div id=\"flash_<%= \"#{name}\" %>\"\n             class=\"alert alert-<%= ['notice', 'user_signup'].include?(name.to_s) ? 'success' : 'danger' %>\">\n          <a class=\"close\" data-dismiss=\"alert\">&#215;</a>\n          <p style=\"margin: 0 auto;\">\n            <%= msg %>\n          </p>\n        </div>\n      <% end %>\n    </div>\n  </div>\n<% end %>\n"
  },
  {
    "path": "app/views/layouts/_footer.html.erb",
    "content": "<div class=\"container\">\n  <div class=\"col-sm-7\">\n    <div id=\"upper-section\" class=\"row\">\n      <div class=\"footer-info col-xs-6 col-sm-4\">\n        <ul>\n          <h3>Learn More</h3>\n          <li><%= link_to 'About Us', static_page_path('About Us') %></li>\n          <li><%= link_to 'Getting Started', static_page_path('Getting Started') %></li>\n          <li><%= link_to 'Dashboard', dashboard_index_path %></li>\n          <li><%= link_to 'Opportunities', static_page_path('Opportunities') %></li>\n          <li><%= link_to 'Blog', 'http://nonprofits.agileventures.org/blog/' %> </li>\n          <li><%= link_to 'Press Kit', 'http://www.agileventures.org/press-kit' %></li>\n        </ul>\n      </div>\n\n      <div class=\"footer-info col-xs-6 col-sm-4\">\n        <ul>\n          <h3>Social</h3>\n          <li>\n            <a class=\"facebook\" href=\"https://www.facebook.com/agileventures\" target=\"_blank\" style=\"white-space: nowrap\">\n              <i class=\"fa fa-facebook fa-custom-social\"></i>&nbsp;Facebook\n            </a>\n          </li>\n          <li>\n            <a class=\"twitter\" href=\"https://twitter.com/AgileVentures\" target=\"_blank\" style=\"white-space: nowrap\">\n              <i class=\"fa fa-twitter fa-custom-social\"></i>&nbsp;Twitter\n            </a>\n          </li>\n        </ul>\n      </div>\n\n      <div class=\"footer-info col-xs-12 col-sm-4\">\n        <ul>\n          <h3>Our Sponsors</h3>\n          <li>\n            <a href=\"https://standuply.com/?utm_source=links&utm_medium=agileventures&utm_campaign=partnership\" target=\"_blank\">Standup Bot</a>\n          </li>\n          <li>\n            <a href=\"http://craftacademy.se/english\" target=\"_blank\">Craft Academy</a>\n          </li>\n          <li>\n            <a href=\"http://mooqita.org/\" target=\"_blank\">Mooqita</a>\n          </li>\n          <li>\n            <%= link_to 'Becoming a sponsor', static_page_path('Sponsors'), style: 'font-size: 0.9em;' %>\n          </li>\n        </ul>\n      </div>\n    </div>\n\n    <div class=\"row\">\n      <h3><img src=\"<%= image_path('av-logo-inverse.png') %>\"/></h3>\n      <p>AgileVentures - Crowdsourced Learning</p>\n    </div>\n  </div>\n\n  <div class=\"col-sm-5 contact\">\n    <h3 class=\"footer_header\">\n      Contact us\n    </h3>\n    <p>Send a traditional email to <%= mail_to 'info@agileventures.org', 'info@agileventures.org' %>.</p>\n    <p>We are a Charitable Incorporated Organisation (CIO) in the UK. Ref #1170963</p>\n  </div>\n</div>\n"
  },
  {
    "path": "app/views/layouts/_head.html.erb",
    "content": "<head>\n  <%= javascript_tag do %>\n      window._rails_env = \"<%= Rails.env %>\"\n  <% end %>\n\n  <% if defined?(Delorean) %>\n    <% unix_millis = (Time.now.to_f * 1000.0).to_i %>\n    <%= javascript_include_tag \"lolex.js\" %>\n    <%= javascript_tag do %>\n      window.clock = lolex.install({ now: <%= unix_millis %>, shouldAdvanceTime: true });\n    <% end %>\n  <% end %>\n\n  <%= render 'layouts/meta_tags' %>\n  <title><%= content_for?(:title) ? [ yield(:title),  '| AgileVentures'].join(' ') : 'AgileVentures' %></title>\n  <%= stylesheet_link_tag 'application', media: 'all', 'data-turbo-track': 'reload' %>\n  <%= stylesheet_link_tag 'https://fonts.googleapis.com/css?family=Lato:400,100,900' %>\n  <%= stylesheet_link_tag 'https://fonts.googleapis.com/css?family=Ubuntu' %>\n  <%= javascript_include_tag 'application', 'data-turbo-track': 'reload' %>\n  <%= csrf_meta_tags %>\n  <link rel=\"shortcut icon\" href=\"/favicon.ico?v=2\" />\n\n  <% case session[:cookies_accepted] %>\n    <% when 'true' %>\n      <%= javascript_include_tag 'google-analytics', 'data-turbo-track': 'reload' %>\n    <% when 'false' %>\n      <% delete_google_cookies %>\n    <% when 'nil' %>\n      <% delete_google_cookies %>\n  <% end %>\n</head>\n"
  },
  {
    "path": "app/views/layouts/_hire_me.html.erb",
    "content": "<div class=\"modal-dialog\">\n  <div class=\"modal-content\">\n    <div class=\"modal-header\">\n      <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-hidden=\"true\">&times;</button>\n      <h2 class=\"modal-title\" id=\"myModalLabel\">Contact <%= user_details(@user) %></h2>\n    </div>\n    <div class=\"modal-body\">\n      <%= form_for [@user, @contact_form], :url => {:controller => 'users', :action => 'hire_me'}, :method => \"post\" do |f| %>\n          <div class='form-group'>\n            <%= f.text_field :name, :id => 'f-name', :class => 'form-control', placeholder: 'Name' %>\n            <%= f.hidden_field :recipient_id, :value => @user.id %>\n          </div>\n          <div class='form-group'>\n            <%= f.text_field :email, :id => \"f-email\", :class => 'form-control', placeholder: 'Email' %>\n          </div>\n          <div class='form-group'>\n            <%= f.text_area :message, :id => \"f-message\", :class => 'form-control', placeholder: 'Message', 'rows' => 5 %>\n          </div>\n          <div class=\"modal-footer\">\n            <button type=\"button\" class=\"btn btn-default\" data-dismiss=\"modal\">Close</button>\n            <%= f.submit 'Send message', id: 'send', :class => 'btn btn-primary' %>\n          </div>\n      <% end %>\n    </div>\n  </div>\n</div>\n\n"
  },
  {
    "path": "app/views/layouts/_meta_tags.html.erb",
    "content": "<meta charset=\"utf-8\"/>\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n<meta name=\"keywords\" content=\"<%= \"#{shared_meta_keywords}#{ content_for?(:keywords) ? \",#{yield(:keywords)}\" : ''}\" %>\">\n<meta name=\"description\" content=\"<%= content_for?(:description) ? yield(:description) : default_meta_description %>\">\n<meta name=\"author\" content=\"<%= content_for?(:author) ? yield(:author) : 'AgileVentures volunteers and contributors' %>\">\n<% if content_for?(:robots) %>\n  <meta name=\"robots\" content=\"<%= yield(:robots) %>\">\n<% end %>\n<meta name=\"copyright\" content=\"AgileVentures Charity \">\n<meta name=\"coverage\" content=\"Worldwide\">\n<meta name=\"distribution\" content=\"Global\">\n<meta name=\"application-name\" content=\"AgileVentures Charity Official Website\">\n\n<meta property=\"og:title\" content=\"<%= content_for?(:title) ? yield(:title) : 'AgileVentures' %>\"/>\n<meta property=\"og:type\" content=\"<%= params[:controller] == 'articles' ? 'article' : 'website' %>\"/>\n<meta property=\"og:url\" content=\"<%= request.original_url %>\"/>\n<meta property=\"og:site_name\" content=\"AgileVentures\"/>\n<meta property=\"og:description\" content=\"<%= content_for?(:description) ? yield(:description) : default_meta_description %>\">\n<meta property=\"og:image\" content=\"<%= image_url 'screenshot.png' %>\">\n\n<meta name=\"twitter:card\" content=\"summary\">\n<meta name=\"twitter:title\" content=\"<%= content_for?(:title) ? yield(:title) : 'AgileVentures' %>\"/>\n<meta name=\"twitter:url\" content=\"<%= request.original_url %>\">\n<meta name=\"twitter:site\" content=\"@AgileVentures\">\n<meta name=\"twitter:image:src\" content=\"<%= image_url 'screenshot.png' %>\">\n<% if content_for?(:twitter_creator) %>\n  <meta name=\"twitter:creator\" content=\"<%= yield(:twitter_creator) %>\">\n<% end %>\n<meta name=\"twitter:description\" content=\"<%= content_for?(:description) ? yield(:description) : default_meta_description %>\">\n\n<meta name=\"google-site-verification\" content=\"-Xpg69uj572zGJRZQlGPOhAhp33RW7ciMQ8HhYmLs1M\" />"
  },
  {
    "path": "app/views/layouts/_navbar.html.erb",
    "content": "<header id=\"main_header\" class=\"masthead\">\n  <div class=\"container\">\n    <a class=\"navbar-brand\" href=\"<%= root_path %>\"><img src=\"<%= image_path('av-logo-inverse.png') %>\"></a>\n    <div class=\"navbar-header navbar-inverse pull-right\">\n\n      <button type=\"button\" class=\"navbar-toggle\" id=\"navbar-toggle-mobile\" data-toggle=\"collapse\" data-target=\".navbar-collapse\">\n        <span class=\"icon-bar\"></span>\n        <span class=\"icon-bar\"></span>\n        <span class=\"icon-bar\"></span>\n      </button>\n    </div>\n\n    <div id=\"account-controls\" class=\"hidden-xs pull-right\">\n      <% if user_signed_in? %>\n        <% present current_user do |presenter| %>\n          <a href=\"<%= user_path(current_user) %>\">\n            <%= presenter.gravatar_image(size: 80, id: 'user-gravatar', class: 'img-circle') %>\n          </a>\n          <div class=\"dropdown\">\n            <a href=\"#\" id=\"account-dropdown\" data-toggle=\"dropdown\">\n              <%= presenter.display_name %>\n              <span class=\"caret\"></span>\n            </a>\n            <ul class=\"dropdown-menu dropdown-menu-right\" role=\"menu\" aria-labelledby=\"account-dropdown\">\n              <a href=\"<%= user_path(current_user) %>\">\n                <li>\n                  <i class=\"fa fa-user fa-custom-accounts\"></i>\n                  My account</li>\n              </a>\n              <%= button_to destroy_user_session_path, method: :delete do %>\n                <li>\n                  <i class=\"fa fa-sign-out fa-custom-accounts\">Log out</i>\n                </li>\n            <% end %>\n            </ul>\n          </div>\n        <% end %>\n      <% else %>\n        <div id=\"login-signup\">\n          <%= link_to 'Log in', new_user_session_path %>\n          <%= link_to 'Sign up', new_user_registration_path, id: 'signup' %>\n        </div>\n      <% end %>\n    </div>\n  </div>\n</header>\n\n<div class=\"navbar navbar-inverse navbar-static-top collapse navbar-collapse hidden-sm\" id=\"nav\">\n  <div class=\"container\">\n    <div class=\"row\">\n      <div class=\"hidden-sm col-xs-3 col-md-2 navbar-brand-div\">\n        <a id=\"affix-nav-brand\" class=\"navbar-brand\" href=\"<%= root_path %>\">\n          <img src=\"<%= image_path('av-logo-inverse.png') %>\">\n        </a>\n      </div>\n      <div class=\"col-xs-12 col-sm-9 col-md-10\">\n        <div class=\"\">\n          <ul class=\"nav navbar-nav nav-justified\">\n            <li><%= link_to 'About', static_page_path('About Us'), class: is_in_static_page?('About Us') ? 'active' : ''%></li>\n            <li><%= link_to 'Projects', projects_path, class: active_if_controller_is('projects') %></li>\n            <li><%= link_to 'Members', users_path, class: active_if_controller_is('users') %></li>\n            <li><%= link_to 'Get involved', static_page_path('Membership Plans'), class: active_if_controller_is('subscriptions') %></li>\n            <li class=\"dropdown\">\n              <a href=\"#\" id=\"events-dropdown\" data-toggle=\"dropdown\">Events\n                <span class=\"caret\"></span></a>\n              <ul class=\"dropdown-menu custom_menu\">\n                <a class=\"custom_menu_link\" href=\"<%= events_path %>\">\n                  <li>\n                    <i class=\"fa fa-calendar-o custom_menu_item\"></i>Upcoming events</li>\n                </a>\n                <a class=\"custom_menu_link\" href=\"<%= scrums_path %>\">\n                  <li>\n                    <i class=\"fa fa-play custom_menu_item\"></i>Past events</li>\n                </a>\n              \n                <a class=\"custom_menu_link\" href=\"<%= new_event_path %>\">\n                  <li>\n                    <i class=\"fa fa-users custom_menu_item\"></i>Create event</li>\n                </a>\n              </ul>\n            </li>\n            <li><%= link_to 'Getting started', static_page_path('Getting started'), class: \"#{is_in_static_page?('Getting started') ? 'active' : ''}\" %></li>\n\n            <li class=\"dropdown\" id=\"google-search-dropdown\">\n              <a href=\"#\" id=\"google_search\" data-toggle=\"dropdown\">\n                <i class=\"fa fa-search\"></i>\n              </a>\n              <ul class=\"dropdown-menu\" id=\"google-search-wrapper\">\n                <% if Rails.env != 'test' %>\n                  <script>\n                    (function () {\n                      var cx = '013004698248256241028:fzuo22ktbbo';\n                      var gcse = document.createElement('script');\n                      gcse.type = 'text/javascript';\n                      gcse.async = true;\n                      gcse.src = (\n                        document.location.protocol == 'https:'\n                          ? 'https:'\n                          : 'http:'\n                      ) + '//www.google.com/cse/cse.js?cx=' + cx;\n                      var s = document.getElementsByTagName('script')[0];\n                      s.parentNode.insertBefore(gcse, s);\n                    })();\n                  </script>\n                <% end %>\n                <gcse:search></gcse:search>\n              </ul>\n            </li>\n\n            <% if user_signed_in? %>\n              <li class=\"visible-xs\">\n                <a href=\"<%= user_path(current_user) %>\">\n                  <i class=\"fa fa-user fa-custom-accounts\"></i>\n                  My account\n                </a>\n              </li>\n              <li class=\"visible-xs\">\n              <!--\n              <%= link_to \"Log out\", destroy_user_session_path, method: :delete, data: { turbo_method: :delete } %>\n              -->\n                <a href=\"<%= destroy_user_session_path %>\" data-method=\"delete\" rel=\"nofollow\">\n                  <i class=\"fa fa-sign-out fa-custom-accounts\"></i>\n                  Log out\n                </a>\n              </li>\n            <% else %>\n              <li class=\"visible-xs\">\n                <%= link_to 'Log in', new_user_session_path %>\n              </li>\n              <li class=\"visible-xs\">\n                <%= link_to 'Sign up', new_user_registration_path, id: 'signup' %>\n              </li>\n            <% end %>\n          </ul>\n        </div>\n      </div>\n    </div>\n  </div>\n  <% if @next_event %>\n    <div\n      class=\"hidden-sm hidden-xs hidden-md\"\n      id=\"next-event\"\n      data-event-time=\"<%= @next_event.next_occurrence_time_attr.to_datetime %>\"\n      data-event-url=\"<%= event_path(@next_event) %>\"\n      data-event-duration=\"<%= @next_event.duration %>\"\n      data-event-name=\"<%= current_user ? @next_event.name : 'Next projects review meeting - listen in to learn more about AgileVentures' %>\"></div>\n  <% end %>\n  <%= render 'layouts/flash' %>\n</div>"
  },
  {
    "path": "app/views/layouts/_require_users_profile.html.erb",
    "content": "<div id=\"require_users_profile\" class=\"modal fade\">\n  <div class=\"modal-dialog\">\n    <div class=\"modal-content\">\n      <% present current_user do |presenter| %>\n        <div class=\"modal-header\">\n          <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"><span aria-hidden=\"true\">&times;</span></button>\n          <h4 class=\"modal-title\">Incomplete Profile</h4>\n        </div>\n        <div class=\"modal-body\">\n          <p class=\"well well-lg\">Welcome <strong><%= presenter.display_name %></strong>, We've noticed that your profile is incomplete. How about adding <strong><%= presenter.blank_fields %></strong> so other members can get to know you better?</p>\n\n        </div>\n        <div class=\"modal-footer\" class=\"form-inline\">\n          <button type=\"button\" class=\"btn btn-default\" data-dismiss=\"modal\">Continue using the site</button>\n          <%= link_to 'Take me to my profile page', edit_user_registration_url, class: 'btn btn-primary' %>\n        </div>\n      <% end %>\n    </div>\n  </div>\n</div>\n"
  },
  {
    "path": "app/views/layouts/_round_banners.html.erb",
    "content": "<!-- BEGIN LIST -->\n<ul class=\"box\">\n  <%= render 'layouts/escalating_call_to_action' %>\n      <!-- BEGIN LIST ELEMENT -->\n  <li class=\"hidden-sm hidden-xs hidden-md\">\n    <%= link_to static_page_path('Learn') do %>\n      <div class=\"circle\">\n        <div class=\"front front-popular\">\n          <div class=\"title color-1-font glyphicon glyphicon-star\"></div>\n          <div class=\"price color-1-font\"><span class=\"total\">LEARN</span></div>\n          <div class=\"description\">Meet people online</div>\n        </div><!-- end div .front -->\n        <div class=\"popular color-1-font glyphicon glyphicon-star\"></div>\n        <div class=\"back color-1-bg info\">\n          <div class=\"title\">Learn</div>\n          <div class=\"description\">\n            <p>Super charge your learning by collaborating with others</p>\n            <%= link_to 'Read more..', static_page_path('Learn'), class: 'btn btn-danger' %>\n          </div><!-- end div .description -->\n        </div><!-- end div .back color-1-bg info -->\n      </div><!-- end div .circle -->\n    <% end %>\n  </li>\n  <!-- END LIST ELEMENT -->\n  <!-- BEGIN LIST ELEMENT -->\n  <li class=\"hidden-sm hidden-xs hidden-md\">\n    <%= link_to static_page_path('Code') do %>\n      <div class=\"circle\">\n        <div class=\"front front-popular\">\n          <div class=\"title color-2-font glyphicon glyphicon-user\"></div>\n          <div class=\"price color-2-font\"><span class=\"total\">CODE</span></div>\n          <div class=\"description\">Collaborate online</div>\n        </div><!-- end div .front -->\n        <div class=\"popular color-2-font glyphicon glyphicon-user\"></div>\n        <div class=\"back color-2-bg info\">\n          <div class=\"title\">Code</div>\n          <div class=\"description\">\n            <p>Develop your team skills</p>\n            <%= link_to 'Read more..', static_page_path('Code'), class: 'btn btn-primary' %>\n          </div><!-- end div .description -->\n        </div><!-- end div .back color-1-bg info -->\n      </div><!-- end div .circle -->\n    <% end %>\n  </li>\n  <!-- END LIST ELEMENT -->\n  <!-- BEGIN LIST ELEMENT -->\n  <li class=\"hidden-sm hidden-xs hidden-md\">\n    <%= link_to static_page_path('Pair') do %>\n      <div class=\"circle\">\n        <div class=\"front front-popular\">\n          <div class=\"title color-4-font glyphicon glyphicon-time\"></div>\n          <div class=\"price color-4-font\"><span class=\"total\">PAIR</span></div>\n          <div class=\"description\">Work on projects</div>\n        </div><!-- end div .front -->\n        <div class=\"popular color-4-font glyphicon glyphicon-time\"></div>\n        <div class=\"back color-4-bg info\">\n          <div class=\"title\">Pair</div>\n          <div class=\"description\">\n            <p>Remote Pairing FTW!</p>\n            <%= link_to 'Read more..', static_page_path('Pair'), class: 'btn btn-warning' %>\n          </div><!-- end div .description -->\n        </div><!-- end div .back color-4-bg info -->\n      </div><!-- end div .circle -->\n    <% end %>\n  </li>\n  <!-- END LIST ELEMENT -->\n  <!-- BEGIN LIST ELEMENT -->\n  <li class=\"hidden-sm hidden-xs hidden-md\">\n    <%= link_to static_page_path('Grow') do %>\n      <div class=\"circle\">\n        <div class=\"front front-popular\">\n          <div class=\"title color-3-font glyphicon glyphicon-tag\"></div>\n          <div class=\"price color-3-font\"><span class=\"total\">GROW</span></div>\n          <div class=\"description\">Use Agile methods</div>\n        </div><!-- end div .front -->\n        <div class=\"popular color-3-font glyphicon glyphicon-tag\"></div>\n        <div class=\"back color-3-bg info\">\n          <div class=\"title\">Grow</div>\n          <div class=\"description\">\n            <p>Build your agile arsenal</p>\n            <%= link_to 'Read more..', static_page_path('Grow'), class: 'btn btn-success' %>\n          </div><!-- end div .description -->\n        </div><!-- end div .back color-3-bg info -->\n      </div><!-- end div .circle -->\n    <% end %>\n  </li>\n  <!-- END LIST ELEMENT -->\n  <%= render partial: 'layouts/event_link', locals: {event: @event} %>\n</ul>\n<!--END LIST -->\n"
  },
  {
    "path": "app/views/layouts/_sidebar.html.erb",
    "content": "<ul id=\"project-list\">\n  <% @projects.each_with_index do |p, index| %>\n    <% should_focus = project == p %>\n    <% has_docs = p.documents.any? %>\n    <% show_it = (p.status == 'active' || p.status == 'Active' ? true : false) %>\n    <% content_tag :li, \"\", style: show_it ? '' : 'display: none;', class: show_it ? '' : 'inactive' %>\n      <% if should_focus and document.nil? %>\n        <p class=\"sidebar-selected\"><%= p.title %></p>\n      <% else %>\n        <div style=\"display: flex\">\n            <% if has_docs %>\n              <%= content_tag :a, '', href: '#collapse' + index.to_s, style: show_it ? '' : 'display: none;', class: show_it ? 'collapse-button' : 'inactive', 'data-toggle' => 'collapse' do -%>\n                <i class=\"collapse-icon fa fa-caret-<%= has_docs and should_focus ? 'down' : 'right' %>\"></i>\n              <% end %>\n            <% end -%>\n          <%= link_to p.title, project_path(p), class: should_focus ? 'focused' : '', style: show_it ? '' : 'display: none;', class: show_it ? '' : 'inactive' %>\n         </div>\n      <% end %>\n    </li>\n    <% if has_docs %>\n      <ul id=\"collapse<%= index %>\" class=\"<%= project == p ? 'in' : 'collapse' %>\" style=\"<%= show_it ? '' : 'display: none;' %>\">\n        <% p.documents.roots.each do |d| %>\n          <% doc_focus = (should_focus and (document == d or document.try(&:root) == d)) %>\n          <li>\n            <% display_text = %Q{#{d.title}#{\" (#{d.children.count})\" unless d.children.empty?}} %>\n            <% if doc_focus and document == d %>\n              <p class=\"sidebar-selected\"><%= display_text %></p>\n            <% else %>\n              <%= link_to display_text, project_document_path(p, {id: d.to_param}), class: doc_focus ? 'focused' : '' %>\n            <% end %>\n          </li>\n        <% end %>\n      </ul>\n    <% end %>\n  <% end %>\n</ul>\n\n"
  },
  {
    "path": "app/views/layouts/_sponsors.html.erb",
    "content": "<div id=\"sponsorsBar\" class=\"hidden-sm hidden-xs hidden-md\" >\n  <div class=\"gold sponsorsTier text-center\">\n    <h3>Supporters</h3>\n    <ul>\n      <li>\n        <a href=\"https://craftacademy.se/english\" target='new' class=\"sponsorMedal\">\n          <div class=\"sponsorStandinMedal\">\n            <img alt=\"Craft Academy\" src=\"<%= image_path('sponsors/craft_banner_2.png') %>\">\n          </div>\n        </a>\n      </li>\n      <li>\n        <a href=\"https://smile.amazon.co.uk/ch/1170963-0\" target='new' class=\"sponsorMedal\">\n          <div class=\"sponsorStandinMedal\">\n            <img alt=\"Amazon Smile\" src=\"<%= image_path('sponsors/amazon_smile.png') %>\">\n          </div>\n        </a>\n      </li>\n      <li>\n        <span class=\"sponsorStandinMedal\" id='ourSponsors'>\n          <%= link_to 'Become a supporter', static_page_path('Sponsors'), class: 'btn btn-be-a-supporter'%>\n        </span>\n      </li>\n    </ul>\n  </div>\n</div>\n"
  },
  {
    "path": "app/views/layouts/action_text/contents/_content.html.erb",
    "content": "<div class=\"trix-content\">\n  <%= yield -%>\n</div>\n"
  },
  {
    "path": "app/views/layouts/application.html.erb",
    "content": "<!DOCTYPE html>\n<html>\n  \n  <%= render 'layouts/head' %>\n\n  <% if flash[:user_signup] %>\n    <%= render 'layouts/adwords_signup_conversion' %>\n  <% end %>\n\n  <body lang=\"en-GB\">\n\n    <div id=\"wrap\">\n      <%= render 'layouts/navbar' %>\n      <div id=\"main\">\n        <% if current_page? root_path %>\n          <%= yield %>\n          <% elsif content_for?(:content) %>\n            <div class=\"container\" id=\"with-sidebar-container\">\n              <div class=\"row\">\n                <%= yield(:content) %>\n              </div>\n            </div>\n          <% else %>\n            <div class=\"container\">\n              <div class=\"col-lg-9\">\n                <%= yield %>\n              </div>\n              <div class=\"col-lg-3\">\n                <%= render 'layouts/sponsors' %>\n              </div>\n            </div>\n          <% end %>\n        </div>\n        <% if current_user && current_user.incomplete? && new_user_session_url == request.referrer %>\n          <%= render 'layouts/require_users_profile' %>\n        <% end %>\n      </div>\n      <%= render 'layouts/cookies_banner' if session[:cookies_accepted].nil?  %>\n\n      <footer id=\"footer\">\n        <%= render 'layouts/footer' %>\n      </footer>\n\n    </body>\n  </html>"
  },
  {
    "path": "app/views/layouts/articles_layout.html.erb",
    "content": "<%= content_for :content do %>\n\n  <div class=\"col-sm-3 hidden-xs\">\n    <aside id=\"sidebar\" >\n      <nav role=\"complementary\">\n        <h3>Articles by tags</h3>\n        <ul>\n          <li>\n            <% if params[:tag]  || (params[:controller] == 'articles' && params[:action] == 'show') %>\n              <%= link_to 'All Articles', articles_path %>\n            <% else %>\n              <p class=\"sidebar-selected\">All Articles</p>\n            <% end %>\n          </li>\n          <% standard_tags.each do |tag| %>\n            <li>\n              <% if params[:tag] == tag %>\n                <p class=\"sidebar-selected\"><%= tag %></p>\n              <% else %>\n                <%= link_to tag, articles_path(tag: tag) %>\n              <% end %>\n            </li>\n          <% end %>\n        </ul>\n      </nav>\n    </aside>\n    <%= render partial: 'layouts/sponsors' %>\n  </div>\n  <div id=\"not-sidebar\" class=\"col-sm-8\">\n    <div id=\"not-sidebar-content\">\n      <%= yield %>\n    </div>\n  </div>\n\n<% end %>\n<%= render template: 'layouts/application' %>\n"
  },
  {
    "path": "app/views/layouts/mailer.html.erb",
    "content": "<html>\n  <body>\n    <%= yield %>\n  </body>\n</html>\n"
  },
  {
    "path": "app/views/layouts/mailer.text.erb",
    "content": "<%= yield %>\n"
  },
  {
    "path": "app/views/layouts/user_profile_layout.html.erb",
    "content": "<%= content_for :content do %>\n\n    <div id=\"not-sidebar\" class=\"col-sm-11\">\n      <div id=\"not-sidebar-content\">\n        <%= yield %>\n      </div>\n    </div>\n\n<% end %>\n<%= render template: 'layouts/application' %>"
  },
  {
    "path": "app/views/layouts/with_sidebar.html.erb",
    "content": "<%= content_for :content do %>\n    <aside class=\"col-sm-3 hidden-xs\">\n      <nav id=\"sidebar\" role=\"complementary\">\n        <%= render partial: 'layouts/sidebar', locals: { project: @project, document: @document } %>\n      </nav>\n      <%= render partial: 'layouts/sponsors' %>\n    </aside>\n    <div id=\"not-sidebar\" class=\"col-sm-9\">\n      <div id=\"not-sidebar-content\">\n       <%= yield %>\n     </div>\n    </div>\n<% end %>\n\n<%= render template: 'layouts/application' %>\n"
  },
  {
    "path": "app/views/layouts/with_sidebar_sponsor_right.html.erb",
    "content": "<%= content_for :content do %>\n\n    <div id=\"not-sidebar\" class=\"col-sm-9\">\n      <div id=\"not-sidebar-content\">\n       <%= yield %>\n     </div>\n    </div>\n    <div class=\"col-sm-3 pull-right\">\n      <%= render partial: 'layouts/sponsors' %>\n    </div>\n\n<% end %>\n<%= render template: 'layouts/application' %>\n"
  },
  {
    "path": "app/views/legacy_api/subscriptions/index.json.jbuilder",
    "content": "# frozen_string_literal: true\n\njson.array! @subscriptions do |subscription|\n  json.email subscription.user.try(:email)\n  json.sponsor_email subscription.sponsor.try(:email)\n  json.started_on subscription.started_at.strftime('%Y-%m-%d')\n  json.ended_on subscription.ended_at.try(:strftime, '%Y-%m-%d')\n  json.plan_name subscription.plan.name\n  json.payment_source subscription.payment_source.type\n  # date_format = subscription.all_day_event? ? '%Y-%m-%d'\n  # json.id subscription.id\n  # json.title subscription.title\n  # json.start subscription.start_date.strftime(date_format)\n  # json.end subscription.end_date.strftime(date_format)\nend\n"
  },
  {
    "path": "app/views/mailer/hire_me_form.html.erb",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n  <meta content=\"text/html; charset=UTF-8\" http-equiv=\"Content-Type\" />\n</head>\n<body>\n<h3>You have a message from <%= @form[:name] %>, <%= @form[:email] %></h3>\n<p><%= @form[:message] %></p>\n</body>\n</html>"
  },
  {
    "path": "app/views/mailer/send_premium_payment_complete.html.erb",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n  <meta content=\"text/html; charset=UTF-8\" http-equiv=\"Content-Type\"/>\n</head>\n<body>\n<h3>Welcome!</h3>\n\n<p><strong>Thanks for signing up for AgileVentures <%= @plan.name %>!</strong></p>\n\n<% if @plan.free_trial? %>\n    <p>Your <%= @plan.free_trial_length_days %> day free trial has now started.  You will not be charged until <%= @plan.free_trial_length_days %> days have passed.</p>\n<% end %>\n\n<% if @plan.category == 'organization' %>\n  <p>An AgileVentures specialist will be in touch shortly to help you receive all of your subscription benefits.</p>\n<% else %>\n  <p>An AgileVentures mentor will be in touch shortly to help you receive all of your membership benefits.</p>\n<% end %>\n\n<p>If you need help at any time, please contact us by replying to this message.\n  Similarly, if you ever have any questions then please do not hesitate to send us a message or email</p>\n\n<p>Thanks again for joining! </p>\n\n<p>Regards,</p>\n\n<strong>The AgileVentures.org Team</strong>\n<br/>\n<small>You are receiving this email because you registered\n  at <a href=\"http://www.agileventures.org/\">www.agileventures.org</a>. If you wish to be\n  avoid receiving similar emails in future, please email us at <a href=\"mailto:info@agileventures.org\">info@agileventures.org</a>.\n</small>\n</body>\n</html>\n"
  },
  {
    "path": "app/views/mailer/send_sponsor_premium_payment_complete.html.erb",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n  <meta content=\"text/html; charset=UTF-8\" http-equiv=\"Content-Type\"/>\n</head>\n<body>\n<h3>Welcome!</h3>\n\n<p><strong>You've been sponsored for AgileVentures Premium Membership by <%= @sponsor %></strong></p>\n\n<p>An AgileVentures mentor will be in touch shortly to help you receive all of your <a href=\"http://www.agileventures.org/premium\">Premium membership benefits</a>.</p>\n\n<p>If you need help at any time, please contact us by replying to this message.\n  Similarly, if you ever have any questions then please do not hesitate to send us a message or email</p>\n\n<p>You'll not be charged for Premium membership while being sponsored by <%= @sponsor %>! </p>\n\n<p>Regards,</p>\n\n<strong>The AgileVentures.org Team</strong>\n<br/>\n<small>You are receiving this email because you registered\n  at <a href=\"http://www.agileventures.org/\">www.agileventures.org</a>. If you wish to be\n  avoid receiving similar emails in future, please email us at <a href=\"mailto:info@agileventures.org\">info@agileventures.org</a>.\n</small>\n</body>\n</html>\n"
  },
  {
    "path": "app/views/mailer/send_welcome_message.html.erb",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n<meta content=\"text/html; charset=UTF-8\" http-equiv=\"Content-Type\"/>\n</head>\n<body>\n<h3>Welcome!</h3>\n\n<p>You've just joined AgileVentures, and I want to personally welcome you and help you get started.</p>\n\n<p>The next and important step is to join our <a href='https://join.slack.com/t/agileventures/shared_invite/zt-1587bzqk7-Y8ACcBKmwi0SWbI3Iu78eg'>Slack chat</a>, and get involved in everything that is happening.</p>\n\n<p><strong>Please note!</strong> Slack is our main source of keeping in touch with the community. Make sure to join and explore the various channels.</p>\n\n<p>AgileVentures is all about helping developers level-up. \n\n<p>If you feel that you want to do some real project work and practice your skills for real, we want to work with <a href=\"http://nonprofits.agileventures.org/\">non-profits and charities</a> around the world by developing IT solutions for their pressing challenges.</p>\n\n<p>Make sure to follow us on <a href=\"https://twitter.com/agileventures\">Twitter</a> or <a href=\"https://www.linkedin.com/company/agileventures-org\">LinkedIn</a> and help us spread the word.</p>\n\n\n<p>We really appreciate you taking the time to register and look forward to collaborating with you in our projects and our remote pair programming sessions.</p>\n\n<p>You can take part in most of AgileVentures activities without paying a membership fee. Associate membership is totally optional and a way of donating to our cause in order to make it sustainable. Being an Associate member does come with some perks though - please <a href=\"https://www.agileventures.org/associate\">visit this page</a> to read about what it means. <p>\n<br/><br/>\n<p>Best regards,</p>\n<strong>Thomas Ochman</strong>\n<strong>Chief Executive - AgileVentures Charity</strong>\n<br/>\n<small>You are receiving this email because you registered\n  at <a href=\"http://www.agileventures.org/\">www.agileventures.org</a>. If you wish to be\n  removed from this mailing list, please email us at <a href=\"mailto:info@agileventures.org\">info@agileventures.org</a>.\n</small>\n</body>\n</html>\n"
  },
  {
    "path": "app/views/pages/about-us.html.erb",
    "content": "<p>Agile Ventures is a non-profit organization dedicated to crowdsourced learning and project development. We follow\n  the agile approach to software development (see below), and do so online everyday using remote pair programming\n  technologies such as google hangouts. Anyone at any skill level can participate or simply observe in the remote\n  pair programming sessions and planning meetings as we develop solutions for real customers in the non-profit\n  sector. There are no minimum requirements, simply an interest to learn. Feel free to join any of the sessions\n  listed below to say hello and hear about what's going on :-)</p>\n<h2>Schedule</h2>\n<h3> <a href=\"https://plus.google.com/communities/100279740984094902927/events\">Weekly Team Meeting (all welcome!)</a></h3>\n<ul>\n  <li>Every Monday on Google Hangouts at 15.15 - 16.00 UTC (GMT).</li>\n</ul>\n<h3><a href=\"https://plus.google.com/communities/100279740984094902927/events\">Daily Scrums (Mon-Fri + occasionally Sat/Sun - all welcome!)</a></h3>\n<ul>\n  <li>Every Day on Google Hangouts at 07:00 - 07:15 UTC(GMT) (EuroAsiaScrum)</li>\n  <li>Every Day on Google Hangouts at 10:00 - 10:15 UTC(GMT) (EuroScrum)</li>\n  <li>Every Day on Google Hangouts at 15:15 - 15:30 UTC (GMT) (AtlanticScrum)</li>\n  <li>Every Day on Google Hangouts at 19:00 - 19:15 UTC (GMT) (USScrum)</li>\n</ul>\n<p>If you have any trouble accessing any of the above through Google events, please don't hesitate to contact Sam\n  Joseph on Skype (username 'tansaku') or send an email to\n  <a href=\"mailto: info@agileventures.org\">info@agileventures.org</a></p>\n<h2>History of Agile Ventures</h2>\n<p>Back in the mysts of 2011 a new breed of <strong>Massively Open Online Classes</strong> emerged. Elite\n  universities made some\n  Computer Science courses available for free with automatic grading of code assignments and certificates for\n  completion. In 2012 UC Berkeley's Software as a Service was the first of these MOOCs focused on modern software\n  engineering. Only the first half of the course was released, but there were tantalizing mentions of group\n  projects. The second half of the course was first released to the public in fall 2012, however the project\n  component was missing. The face to face UC Berkeley students built solutions for non-profit organizations with the\n  skills they were learning in the course. Not so in the MOOC. </p>\n<p>One MOOC student, Computer Science Professor Sam Joseph spearheaded the MOOC student community to run their own\n  unofficial projects. This was initially organized viaSkype group text chats and the course wiki. Then a Google\n  site called \"SaaSELLS projects\" was born. All through 2013 the process and members evolved. The \"LocalSupport\"\n  project was deployed, improved, and started to be noticed. The domain \"agileprojects.org\" was not available, but\n  \"agileventures.org\" was, and so Agile Ventures was born.</p>\n<h2>Go Agile!</h2>\n<p><strong>Agile software development</strong> is a group of software development methods based on iterative and\n  incremental\n  development, where requirements and solutions evolve through collaboration between self-organizing,\n  cross-functional teams. It promotes adaptive planning, evolutionary development &amp; delivery, a time-boxed\n  iterative approach, and encourages rapid &amp; flexible response to change. It is a conceptual framework that\n  promotes tight interaction with the customer throughout the development cycle. We believe that learning is most\n  effective when it takes place with the support of a group of like minded learners devoted to making the world a\n  better place.</p>\n\n<p>In February 2001, 17 software developers met at the Snowbird, Utah resort, to discuss lightweight development\n  methods. They published the Manifesto for Agile Software Development to define the approach now known as Agile\n  Software Development. Some of the manifesto's authors formed the\n  <a href=\"http://www.agilealliance.org/\">Agile Alliance</a>, a non-profit organization that\n  promotes software development according to the manifesto's values and principles. </p>\n<h2>The Agile Manifesto</h2>\nWe are uncovering better ways of developing software by doing it and helping others do it.\n<br/>Through this work we have come to value:\n<ul>\n  <li>Individuals and interactions over Processes and tools</li>\n  <li>Working software over Comprehensive documentation</li>\n  <li>Customer collaboration over Contract negotiation</li>\n  <li>Responding to change over Following a plan</li>\n  <li>That is, while there is value in the items on the right, we value the items on the left more.</li>\n</ul>\n\n<h2>Agile principles</h2>\n\n<p>The Agile Manifesto is based on twelve principles:</p>\n<ol>\n  <li>Customer satisfaction by rapid delivery of useful software</li>\n  <li>Welcome changing requirements, even late in development</li>\n  <li>Working software is delivered frequently (weeks rather than months)</li>\n  <li>Working software is the principal measure of progress</li>\n  <li>Sustainable development, able to maintain a constant pace</li>\n  <li>Close, daily cooperation between business people and developers</li>\n  <li>Face-to-face conversation is the best form of communication (co-location)</li>\n  <li>Projects are built around motivated individuals, who should be trusted</li>\n  <li>Continuous attention to technical excellence and good design</li>\n  <li>Simplicity—the art of maximizing the amount of work not done—is essential</li>\n  <li>Self-organizing teams</li>\n  <li>Regular adaptation to changing circumstances</li>\n</ol>\n\n\n\n\n"
  },
  {
    "path": "app/views/pages/berkeley-fall-2012-projects.html.erb",
    "content": "<b style=\"color:rgb(0,0,0);line-height:normal;font-weight:normal\">\n  <div><font face=\"Arial\"><span style=\"font-size:15px;white-space:pre-wrap\">Here's a list of all the official class projects form the Berkeley CS 169 Fall 2012 class in case you need inspiration about who to contact for unoffficial non-profit projects</span></font></div>\n  <div><font face=\"Arial\"><span style=\"font-size:15px;white-space:pre-wrap\"><br>\n</span></font></div>\n  <div><font face=\"Arial\"><span style=\"font-size:15px;white-space:pre-wrap\"><br>\n</span></font></div>\n  <ol style=\"font-family:Times;font-size:medium;margin-top:0pt;margin-bottom:0pt\"><li dir=\"ltr\" style=\"list-style-type:decimal;font-size:15px;font-family:Arial;background-color:transparent;vertical-align:baseline\"><span style=\"background-color:transparent;vertical-align:baseline;white-space:pre-wrap\">NewsReader Digest - rss news reader with social network</span></li>\n    <li dir=\"ltr\" style=\"list-style-type:decimal;font-size:15px;font-family:Arial;background-color:transparent;vertical-align:baseline\"><a href=\"http://www.warriorgateway.org/\"><span style=\"color:rgb(17,85,204);background-color:transparent;vertical-align:baseline;white-space:pre-wrap\">http://www.warriorgateway.org/</span></a><span style=\"background-color:transparent;vertical-align:baseline;white-space:pre-wrap\"> map app for homeless veterans</span></li>\n    <li dir=\"ltr\" style=\"list-style-type:decimal;font-size:15px;font-family:Arial;background-color:transparent;vertical-align:baseline\"><span style=\"background-color:transparent;vertical-align:baseline;white-space:pre-wrap\">new incentives - for teachers tracking students going to school in developing countries</span></li>\n    <li dir=\"ltr\" style=\"list-style-type:decimal;font-size:15px;font-family:Arial;background-color:transparent;vertical-align:baseline\"><span style=\"background-color:transparent;vertical-align:baseline;white-space:pre-wrap\">our backyard - site where local citizens can share and discuss information about land use and development in their communities (“greenbelt alliance” is client)</span></li>\n    <li dir=\"ltr\" style=\"list-style-type:decimal;font-size:15px;font-family:Arial;background-color:transparent;vertical-align:baseline\"><span style=\"background-color:transparent;vertical-align:baseline;white-space:pre-wrap\">CalTeach Field Placement Matcher - assigns students to a field placement based on their time preferences</span></li>\n    <li dir=\"ltr\" style=\"list-style-type:decimal;font-size:15px;font-family:Arial;background-color:transparent;vertical-align:baseline\"><span style=\"background-color:transparent;vertical-align:baseline;white-space:pre-wrap\">Educomer: Nutritional Advice Database</span></li>\n    <li dir=\"ltr\" style=\"list-style-type:decimal;font-size:15px;font-family:Arial;background-color:transparent;vertical-align:baseline\"><span style=\"background-color:transparent;vertical-align:baseline;white-space:pre-wrap\">The Bottom Line - colorectal cancer awareness via postcards and e-cards</span></li>\n    <li dir=\"ltr\" style=\"list-style-type:decimal;font-size:15px;font-family:Arial;background-color:transparent;vertical-align:baseline\"><span style=\"background-color:transparent;vertical-align:baseline;white-space:pre-wrap\">Future Scientists in Panama - web app to search for people who have skills to fix problems like broken water pipe - completely available through texting</span></li>\n    <li dir=\"ltr\" style=\"list-style-type:decimal;font-size:15px;font-family:Arial;background-color:transparent;vertical-align:baseline\"><span style=\"background-color:transparent;vertical-align:baseline;white-space:pre-wrap\">Bekeley Math and Science Initiative - lesson plan repository for CalTeach - 5U format</span></li>\n    <li dir=\"ltr\" style=\"list-style-type:decimal;font-size:15px;font-family:Arial;background-color:transparent;vertical-align:baseline\"><span style=\"background-color:transparent;vertical-align:baseline;white-space:pre-wrap\">MapLight - campaign finance data - search interface + internal management tool</span></li>\n    <li dir=\"ltr\" style=\"list-style-type:decimal;font-size:15px;font-family:Arial;background-color:transparent;vertical-align:baseline\"><span style=\"background-color:transparent;vertical-align:baseline;white-space:pre-wrap\">crowd funding for farmers in India - client is OneProsper - provide one to one connection with farmers</span></li>\n    <li dir=\"ltr\" style=\"list-style-type:decimal;font-size:15px;font-family:Arial;background-color:transparent;vertical-align:baseline\"><span style=\"background-color:transparent;vertical-align:baseline;white-space:pre-wrap\">UCB RSSP Maintenance Web App - mobile solution for submitting maintenance issues for student housing</span></li>\n    <li dir=\"ltr\" style=\"list-style-type:decimal;font-size:15px;font-family:Arial;background-color:transparent;vertical-align:baseline\"><span style=\"background-color:transparent;vertical-align:baseline;white-space:pre-wrap\">NERSC Risk Tracker - assess risks in National Energy Research Scientific Computer Center</span></li>\n    <li dir=\"ltr\" style=\"list-style-type:decimal;font-size:15px;font-family:Arial;background-color:transparent;vertical-align:baseline\"><span style=\"background-color:transparent;vertical-align:baseline;white-space:pre-wrap\">Tix Bay Area - nonprofit theatre - ticket site. Clayton Lord of Theater Bay area</span></li>\n    <li dir=\"ltr\" style=\"list-style-type:decimal;font-size:15px;font-family:Arial;background-color:transparent;vertical-align:baseline\"><span style=\"background-color:transparent;vertical-align:baseline;white-space:pre-wrap\">Improving medical article search in PubMed</span></li>\n    <li dir=\"ltr\" style=\"list-style-type:decimal;font-size:15px;font-family:Arial;background-color:transparent;vertical-align:baseline\"><span style=\"background-color:transparent;vertical-align:baseline;white-space:pre-wrap\">UC Procurement - excel to web</span></li>\n    <li dir=\"ltr\" style=\"list-style-type:decimal;font-size:15px;font-family:Arial;background-color:transparent;vertical-align:baseline\"><span style=\"background-color:transparent;vertical-align:baseline;white-space:pre-wrap\">mpower - energy saving on campus</span></li>\n    <li dir=\"ltr\" style=\"list-style-type:decimal;font-size:15px;font-family:Arial;background-color:transparent;vertical-align:baseline\"><span style=\"background-color:transparent;vertical-align:baseline;white-space:pre-wrap\">berkeley community fund - application for scholarship program, paper to web</span></li>\n    <li dir=\"ltr\" style=\"list-style-type:decimal;font-size:15px;font-family:Arial;background-color:transparent;vertical-align:baseline\"><span style=\"background-color:transparent;vertical-align:baseline;white-space:pre-wrap\">Freedom Tracker for Freedom House - tracks hate speech in nigeria - using google maps</span></li>\n    <li dir=\"ltr\" style=\"list-style-type:decimal;font-size:15px;font-family:Arial;background-color:transparent;vertical-align:baseline\"><span style=\"background-color:transparent;vertical-align:baseline;white-space:pre-wrap\">researchmatch - match undergrads to professors looking for research assistants</span></li>\n    <li dir=\"ltr\" style=\"list-style-type:decimal;font-size:15px;font-family:Arial;background-color:transparent;vertical-align:baseline\"><span style=\"background-color:transparent;vertical-align:baseline;white-space:pre-wrap\">CMS for Tibetan Association of Northern California - managing contact with members via email - spreadsheet to web</span></li>\n    <li dir=\"ltr\" style=\"list-style-type:decimal;font-size:15px;font-family:Arial;background-color:transparent;vertical-align:baseline\"><span style=\"background-color:transparent;vertical-align:baseline;white-space:pre-wrap\">QuestionBank - help EdX manage information about users attempting quizzes on EdX and something to allow instructors to create quizzes from pool of questions</span></li>\n    <li dir=\"ltr\" style=\"list-style-type:decimal;font-size:15px;font-family:Arial;background-color:transparent;vertical-align:baseline\"><span style=\"background-color:transparent;vertical-align:baseline;white-space:pre-wrap\">Appled Innovation Institute - collaboration hub for student entrepeneurs at universities across the world - web site</span></li>\n    <li dir=\"ltr\" style=\"list-style-type:decimal;font-size:15px;font-family:Arial;background-color:transparent;vertical-align:baseline\"><span style=\"background-color:transparent;vertical-align:baseline;white-space:pre-wrap\">sucks.Berkeley - helping UCB EECS Computing Infrastructure manager - integrating UserVoice somehow</span></li>\n    <li dir=\"ltr\" style=\"list-style-type:decimal;font-size:15px;font-family:Arial;background-color:transparent;vertical-align:baseline\"><span style=\"background-color:transparent;vertical-align:baseline;white-space:pre-wrap\">Fruitful Minds - nutrition education - after school program. &nbsp;Move paper/spreadsheet to web app</span></li>\n    <li dir=\"ltr\" style=\"list-style-type:decimal;font-size:15px;font-family:Arial;background-color:transparent;vertical-align:baseline\"><span style=\"background-color:transparent;vertical-align:baseline;white-space:pre-wrap\">Raxa Visualizations - identify trends in levels of pharmacy stock, hospital trends, in order to distribute patient load evenly across doctors and monitor patient registration performance</span></li>\n    <li dir=\"ltr\" style=\"list-style-type:decimal;font-size:15px;font-family:Arial;background-color:transparent;vertical-align:baseline\"><span style=\"background-color:transparent;vertical-align:baseline;white-space:pre-wrap\">Dish Gracepoint - church organizing meals for events - consolidate recipes and catering information into web app</span></li>\n    <li dir=\"ltr\" style=\"list-style-type:decimal;font-size:15px;font-family:Arial;background-color:transparent;vertical-align:baseline\"><span style=\"background-color:transparent;vertical-align:baseline;white-space:pre-wrap\">PerfSONAR Display and Sever management from ESNet - monitoring data flowing through network connecting labs in the US</span></li>\n    <li dir=\"ltr\" style=\"list-style-type:decimal;font-size:15px;font-family:Arial;background-color:transparent;vertical-align:baseline\"><span style=\"background-color:transparent;vertical-align:baseline;white-space:pre-wrap\">PTA Scheduler - track students, instructors, courses, classrooms and enrollment for a semester at Jefferson elementary</span></li>\n    <li dir=\"ltr\" style=\"list-style-type:decimal;font-size:15px;font-family:Arial;background-color:transparent;vertical-align:baseline\"><span style=\"background-color:transparent;vertical-align:baseline;white-space:pre-wrap\">TechBridge - helping mentor girls in tech skills</span></li>\n    <li dir=\"ltr\" style=\"list-style-type:decimal;font-size:15px;font-family:Arial;background-color:transparent;vertical-align:baseline\"><span style=\"background-color:transparent;vertical-align:baseline;white-space:pre-wrap\">LeadU - working for business school professor, trying to track leadership style in students</span></li>\n    <li dir=\"ltr\" style=\"list-style-type:decimal;font-size:15px;font-family:Arial;background-color:transparent;vertical-align:baseline\"><span style=\"background-color:transparent;vertical-align:baseline;white-space:pre-wrap\">MedSimple - keeps records of procedures performed at a clinic - voice to text to keep user hands free</span></li>\n    <li dir=\"ltr\" style=\"list-style-type:decimal;font-size:15px;font-family:Arial;background-color:transparent;vertical-align:baseline\"><span style=\"background-color:transparent;vertical-align:baseline;white-space:pre-wrap\">FreeEdu - trying to minimize cost of video distribution online for education</span></li>\n    <li dir=\"ltr\" style=\"list-style-type:decimal;font-size:15px;font-family:Arial;background-color:transparent;vertical-align:baseline\"><span style=\"background-color:transparent;vertical-align:baseline;white-space:pre-wrap\">Y-Scholars Tutoring Logger - YMCA runs tutoring programs for teens - move handwritten sign in and out over to online time card system</span></li>\n  </ol>\n  <br>\n</b>\n\n"
  },
  {
    "path": "app/views/pages/code.html.erb",
    "content": "<div class=\"col-xs-12 col-sm-6 col-md-12\">\n  <div class=\"row\">\n    <div class=\"col-xs-12 col-sm-12 col-md-3\">\n      <ul class=\"box\">\n        <li>\n          <div class=\"circle\">\n            <div class=\"front front-popular\">\n              <div class=\"title color-2-font glyphicon glyphicon-user\"></div>\n              <div class=\"price color-2-font\"><span class=\"total\">CODE</span></div>\n              <div class=\"description\">Collaborate online</div>\n            </div>\n            <div class=\"popular color-2-font glyphicon glyphicon-user\"></div>\n            <div class=\"back color-2-bg info\">\n              <div class=\"title\">Code</div>\n              <div class=\"description\">\n                <p>Develop your team skills</p>\n              </div>\n            </div>\n          </div>\n        </li>\n      </ul>\n    </div>\n\n    <div class=\"col-xs-12 col-sm-12 col-md-8 \">\n      <h2>Voluptatem, exercitationem, suscipit, distinctio</h2>\n      <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatem, exercitationem, suscipit, distinctio, qui\n        sapiente aspernatur molestiae non corporis magni sit sequi iusto debitis delectus doloremque.\n\n        Lorem ipsum dolor sit amet, consectetur adipisicing elit. Totam sed tempora expedita reiciendis minima amet et\n        accusamus distinctio quod dolores illum molestiae modi sapiente assumenda quis provident quos ex cupiditate ab\n        asperiores vel fuga voluptatibus incidunt qui commodi numquam quas nesciunt eos voluptatum soluta magnam ipsam\n        veniam sequi tempore cumque fugit autem temporibus corporis dolorem eveniet minus quidem! Quas dolores nihil\n        repellat ab deleniti sequi dolorum aliquid hic odio modi eius et aliquam cum. Sequi tempora nam ipsa maxime\n        praesentium beatae quidem rerum sint veritatis quia quos nemo ullam mollitia pariatur voluptatem odit reiciendis\n        incidunt expedita soluta ad. Nam voluptas cumque illum eos impedit sed officiis possimus incidunt quos aperiam\n        tempore a deleniti dolorem accusamus ratione soluta fuga molestiae architecto illo alias consequatur excepturi\n        error aut dolores voluptate necessitatibus nisi quaerat ipsum perspiciatis animi repellendus minima ab tenetur\n        velit porro iste nulla! Iste esse unde ad sit itaque alias quidem beatae facere mollitia sed expedita officia\n        nihil nostrum possimus vero cum velit qui assumenda numquam totam. Placeat facere dolore fuga sequi illo est\n        minus corporis aliquid non blanditiis sint repellendus vitae autem distinctio minima. Omnis totam sit inventore\n        suscipit maiores deserunt cumque molestias soluta iure nam? Nam quas ipsum repellendus reiciendis distinctio\n        libero asperiores architecto deleniti rerum dolor quos ipsa reprehenderit eaque sequi tempora accusamus illo\n        iste <p />ratione laboriosam dolores doloribus sint consequatur laborum repudiandae ex! Obcaecati eligendi aperiam\n      molestias accusamus unde nesciunt quia optio error magnam ratione esse ut aspernatur distinctio! Iure neque\n      dicta voluptatum fugiat id iusto asperiores pariatur impedit blanditiis odit officiis eum dolorem mollitia\n      deserunt vitae minus ex velit illo modi ullam similique sit provident quis. Vel accusantium fuga odio veritatis\n      obcaecati quod accusamus modi quasi enim explicabo consequuntur tempora praesentium provident molestias\n      temporibus nisi sunt ratione nostrum quis maxime cupiditate laudantium incidunt sit minus placeat ab distinctio\n      fugiat sint aperiam! Nam incidunt eius dolore earum aut debitis natus illum similique et ad nobis doloremque\n      consequatur laboriosam magni doloribus accusantium culpa. Aperiam in incidunt iste eius provident omnis natus\n      saepe eveniet officiis animi id assumenda itaque officia dolor magnam voluptatibus perferendis qui dicta\n      inventore dolorem repudiandae quidem alias iusto explicabo distinctio nam sunt dignissimos harum molestias\n      asperiores esse quasi rerum laborum numquam aliquid dolorum possimus minus modi consequatur architecto quod\n      suscipit. Saepe in accusantium doloremque non illum maxime repudiandae officia quasi quidem cum nihil vero ipsa\n      quaerat debitis reiciendis. Ratione dolor porro voluptas perferendis nemo aliquid!</p>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "app/views/pages/cs-degree-online.html.erb",
    "content": "<div>\n  <div>Basic Structure of a University CS Degree:</div>\n  <div>*Modeled after UC Berkeley, UCSB, MIT, Harvard)</div>\n  <div>**Not including Math, GE, or EE requirements</div>\n</div>\n<div><br>\n</div>\n<div><b>Note regarding EdX courses, EdX does not provide a link to the general classes, but rather specific instances of a class, so re-search EdX to get the upcoming versions of the class</b></div>\n<div><br>\n</div>\n<div>Lower Division:<a href=\"https://www.coursera.org/course/comparch\"></a></div>\n<div>\n  <ul><li><span style=\"line-height:1.6;font-size:10pt\">Intro to CS</span></li>\n    <ul><li><span style=\"line-height:1.6;font-size:10pt\">eDx:<br>\n</span></li>\n      <ul><li><span style=\"line-height:1.6;font-size:10pt\"><a href=\"https://www.edx.org/courses/MITx/6.00x/2013_Spring/about\">Introduction to Computer Science and Programming</a></span></li></ul>\n      <li>Coursera:&nbsp;</li>\n      <ul><li><a href=\"https://www.coursera.org/course/interactivepython\">An Introduction to Interactive Programming in Python</a></li>\n        <li><a href=\"https://www.coursera.org/course/programming1\">Learn to Program: The Fundamentals</a></li>\n        <li><a href=\"https://www.coursera.org/course/cs101\">Computer Science 101</a></li></ul></ul>\n    <li><span style=\"line-height:1.6;font-size:10pt\">Data Structures</span></li>\n    <li><span style=\"line-height:1.6;font-size:10pt\">Structure of Computer Programs</span></li>\n    <li><span style=\"line-height:1.6;font-size:10pt\">Algorithms</span></li>\n    <ul><li><span style=\"line-height:1.6;font-size:10pt\"><a href=\"https://www.coursera.org/course/algs4partI\">Algorithms, Part I</a></span></li>\n      <li><span style=\"line-height:1.6;font-size:10pt\"><a href=\"https://www.coursera.org/course/algs4partII\">Algorithms, Part II</a><br>\n</span></li></ul></ul>\n  <div>\n    <div>Upper Division:</div>\n    <div>\n      <ul><li><span style=\"line-height:1.6;font-size:10pt\">Algorithms</span></li>\n        <ul><li><a href=\"https://www.coursera.org/course/algo\">Algorithms: Design and Analysis, Part 1</a></li>\n          <li><a href=\"https://www.coursera.org/course/algo2\">Algorithms: Design and Analysis, Part 2</a><br>\n          </li></ul>\n        <li><span style=\"line-height:1.6;font-size:10pt\">Computer Architecture</span></li>\n        <ul><li><a href=\"https://www.coursera.org/course/comparch\">Computer Architecture</a></li>\n          <li><a href=\"https://www.coursera.org/course/hwswinterface\">The Hardware/Software Interface</a><br>\n          </li></ul>\n        <li><span style=\"line-height:1.6;font-size:10pt\">Systems Engineering</span></li>\n        <li><span style=\"line-height:1.6;font-size:10pt\">UI/UX</span></li>\n        <li><span style=\"line-height:1.6;font-size:10pt\">Security</span></li>\n        <ul><li><a href=\"https://www.coursera.org/course/crypto\">https://www.coursera.org/course/crypto</a></li>\n          <li><a href=\"https://www.coursera.org/course/security\">https://www.coursera.org/course/security</a></li></ul>\n        <li><span style=\"line-height:1.6;font-size:10pt\">Operating Systems</span></li>\n        <li><span style=\"line-height:1.6;font-size:10pt\">Languages (&amp; Compilers)</span></li>\n        <ul><li><a href=\"https://www.coursera.org/course/proglang\">https://www.coursera.org/course/proglang</a></li>\n          <li><a href=\"https://www.coursera.org/course/automata\">https://www.coursera.org/course/automata</a></li>\n          <li><a href=\"https://www.coursera.org/course/compilers\">https://www.coursera.org/course/compilers</a></li></ul>\n        <li><span style=\"line-height:1.6;font-size:10pt\">Software Engineering</span></li>\n        <ul><li><span style=\"font-size:10pt;line-height:1.6\">SaaS 1: &nbsp;</span><a href=\"https://www.edx.org/courses/BerkeleyX/CS169.1x/2013_Spring/about\">https://www.edx.org/courses/BerkeleyX/CS169.1x/2013_Spring/about</a></li>\n          <li><span style=\"font-size:10pt;line-height:1.6\">SaaS 2: &nbsp;</span><a href=\"https://www.edx.org/courses/BerkeleyX/CS169.2x/2013_Spring/about\">https://www.edx.org/courses/BerkeleyX/CS169.2x/2013_Spring/about</a></li></ul>\n        <li><span style=\"line-height:1.6;font-size:10pt\">Computer Graphics</span></li>\n        <ul><li><a href=\"https://www.edx.org/courses/BerkeleyX/CS184.1x/2012_Fall/about\">https://www.edx.org/courses/BerkeleyX/CS184.1x/2012_Fall/about</a></li></ul>\n        <li><span style=\"line-height:1.6;font-size:10pt\">Databases</span></li>\n        <li><span style=\"line-height:1.6;font-size:10pt\">AI</span></li>\n        <ul><li><a href=\"https://www.edx.org/courses/BerkeleyX/CS188.1x/2013_Spring/about\">https://www.edx.org/courses/BerkeleyX/CS188.1x/2013_Spring/about</a></li></ul></ul>\n    </div>\n  </div>\n</div>\n<div><br>\n</div>\n<div><br>\n</div>\n<div><br>\n</div>\n<div><br>\n</div>\n<div><br>\n</div>\n"
  },
  {
    "path": "app/views/pages/free.html.erb",
    "content": "<div>Agile Ventures Free Tier Membership gives the following benefits</div><br>\n<ul>\n  <li>Access to AgileVentures Slack</li>\n  <li>Access to AgileVentures Scrum meetings</li>\n  <li>Project logistics advice and support</li>\n  <li>User experience review of project (HCI)</li>\n</ul><br>\n<div class=\"text-center\">\n  <span class=\"btn btn-primary btn-block\" style=\"padding: 5px; width: 50%; border-color: rgb(238, 115, 53); background: rgb(238, 115, 53); display: inline-block; font-size: 1.5em; white-space: normal;\"><a href=\"http://www.agileventures.org/users/sign_up\"><b><font color=\"#ffffff\">Get Started now</font></b></a></span>\n</div><br>\n<div>Plan Pricing <a href=\"http://www.agileventures.org/pricing\">Overview</a></div>\n<h3>Details of Plan Benefits:</h3><br>\n<div><b>Access to AgileVentures Slack</b></div><br>\n<div>\n  AgileVentures uses the <a href=\"https://slack.com/\">Slack</a> instant messaging service to support the coordination of all activities. Join hundreds of other AgileVentures developers and browse the different project channels and project notification channels integrated with <a href=\"https://travis-ci.org/\">Travis</a>, <a href=\"https://semaphoreci.com/\">Semaphore</a> and <a href=\"https://github.com/\">Github</a>, to take the pulse of real Agile projects.\n</div><br>\n<div><b>Access to AgileVentures Scrum meetings</b></div><br>\n<div>\n  AgileVentures runs open scrum meetings around the clock so you can hear about the latest developments on projects, propose new projects and hook up with potential pair partners.\n</div><br>\n<div><b>Project logistics advice and support</b></div><br>\n<div>\n  <p>AgileVentures mission is to develop quality software for charities and other non-profits whilst also supporting the learning and development of individuals wishing to improve their teamwork and coding skills. AgileVentures software projects are all open source and open development.</p>\n  <p>Any project can become an AgileVentures project given that it meets the following criteria:</p>\n  <ul>\n    <li>Open Source</li>\n    <li>Open Development</li>\n    <li>Charitable Objective (as assessed by board of Trustees)</li>\n  </ul>\n  <p>AV mentors will be very happy to draw on their many years of experience working on and supporting open source charity software projects. Ask in the #new_projects channel on Slack about setting up your new project, or in #project_support for additional help on your existing project.</p>\n</div><br>\n<div><b>User experience review of project (HCI)</b></div><br>\n<div>\n  Senior AV mentors will be happy to provide a complete user experience (UX) review of your project. See <a href=\"https://www.youtube.com/watch?v=9c1-LMlyaVc\">this video</a> for an example of the kind of review you can receive. In order to receive your UX review you will need to provide appropriate user story documentation.\n</div><br>\n<div>\n  <a href=\"http://www.agileventures.org/users/sign_up\">Sign up for the Free Tier</a>\n</div><br>\n<div>\n  Want even more benefits including scheduled pair programming time with senior AV mentors? Check out our <a href=\"http://www.agileventures.org/charges/new\" style=\"background-color: rgb(248, 248, 248);\">Premium</a> and<span style=\"line-height: 1.4em;\"> </span><a href=\"http://www.agileventures.org/premiumplus\" style=\"background-color: rgb(248, 248, 248);\">Premium Plus memberships</a>.\n</div>"
  },
  {
    "path": "app/views/pages/getting-started.html.erb",
    "content": "<article>\n<p>\n  Below is fast track guide to getting involved with AgileVentures.  It contains a summary of the information otherwise available in expanded format\n  from various documents on <a>agileventures.org</a> and Github repos for particular projects.\n</p>\n\n<h2> What is AgileVentures?  </h2>\n<p>\n  AgileVentures is a non-profit organization and a community of people dedicated to crowdsourced learning and open source project development.  We are\n  fans of agile development, Test driven development and Pair Programming.  We develop in distributed teams, using tools for remote and online programming.\n</p>\n\n<p>\n  The goal of AgileVentures is to allow anyone to be able to find a project, a team and a partner to work together and improve\n  their skills of software development, programming and project management.\n</p>\n<br />\n<strong> Read more about AgileVentures: </strong>\n\n<ul>\n  <li><a href=\"http://agileventures.org/about-us\"> About us and history of AV </a></li>\n  <li><a href=\"http://agileventures.org/projects/websiteone/documents/mission-values-and-goals\"> Mission, Values and Goals </a></li>\n  <li><a href=\"http://agileventures.org/articles/crowdsourced-learning\"> Crowdsourced Learning </a></li>\n  <li><a href=\"http://agileventures.org/articles/testimonials\"> Testimonials </a></li>\n</ul>\n\n<h2> What exactly can I get out of participating  in AV?  </h2>\n\n<em> Learn and gain experience </em>\n<ol>\n  <li>Participate in a real project, collaborate in a real team and work with real customers </li>\n  <li>Learn to program, manage a project and manage a team </li>\n  <li>Learn the industry tools for software development and project management </li>\n  <li>Get immediate help and guidance on technical issues </li>\n  <li>Get feedback on your work and ideas </li>\n</ol>\n\n<em> Realize yourself </em>\n<ol>\n  <li>Set up and run your own project </li>\n  <li>Implement your ideas with the help of others </li>\n  <li>Get recognition from the community </li>\n  <li>Improve your leadership and management skills </li>\n</ol>\n\n<em> As a bonus </em>\n<ol>\n  <li>Get hired </li>\n  <li>Just have fun, meet new people from all over the world and socialize </li>\n</ol>\n\n<h2> How do I start?  </h2>\n<h3> Step 1 </h3>\n<p>\n  Browse the list of AgileVentures projects on WebsiteOne and choose one that most appeals to you.\n</p>\n\n<p>\n  You can always set-up your own project, but we would recommend joining an existing one at first.  This\n  way you can meet other members, learn about our culture, principles and tools.\n</p>\n\n<p>\n  The description of the projects is done by its members and it may be in progress and incomplete, thus\n  below we provide a short overview of most active projects at this moment.\n</p>\n<br />\n<details>\n  <summary>\n  1. WebsiteOne - <a href=\"http://agileventures.org/projects/websiteone\">http://agileventures.org/projects/websiteone </a>\n  </summary>\n  <dl>\n    <dt> Description </dt>\n    <dd> This is the online platform for AgileVentures and is behind the agileventures.org.  The mission\n      of the project is to provide a place where members of our community meets, communicates, shares knowledge and collaborates on projects.  </dd>\n\n    <dt>Technical</dt>\n    <dd>Ruby 2.1, Rails 4.1, Javascript, Bootstrap 3 </dd>\n    <dt> Customer </dt>\n    <dd> Sam Joseph, the founder of AgileVentures </dd>\n    <dt> Core members </dt>\n    <dd> Thomas Ochman, Bryan Yap, Yaroslav Apletov, Sampriti </dd>\n  </dl>\n\n  <p>\n    Although, formally we have a customer for the project, the vision, goals and individual features are\n    formed by all members of the community.  Thus, everybody is welcome to provide feedback and suggest their ideas to be implemented within WSO.\n  </p>\n\n  <p>\n    Technically, this project is already quite advanced, but we always keep tasks for newcomers, which\n    allows for a moderate learning curve and quick move towards more advanced work.\n  </p>\n</details>\n\n<details>\n  <summary>\n  2. Local support - <a href=\"http://agileventures.org/projects/localsupport \">http://agileventures.org/projects/localsupport </a>\n  </summary>\n  <dl>\n    <dt> Description </dt>\n    <dd>Local Support is a directory of local charity and non-profit organizations for a small geographical area.\n      The mission is to support members of the public searching for support groups for things like helping care for\n      an elderly or sick relative; and also to help charities and non-profits find each other and network.\n      VAH's Local Support site is at www.harrowcn.org.uk\n    </dd>\n\n    <dt>Technical</dt>\n    <dd>Ruby 1.9, Rails 3 </dd>\n    <dt> Customer </dt>\n    <dd>Our customer is the non-profit organization Voluntary Action Harrow (VAH).  </dd>\n    <dt> Core members </dt>\n    <dd>Sam Joseph, Jon Mohrbacher, Marian Mosley, Michael C, Thomas Ochman, David Corking </dd>\n  </dl>\n\n\n  <p>\n    The project is the oldest on AgileVentures.  What's important it has a real non-technical customer,\n    client meetings with whom are held weekly.\n  </p>\n</details>\n\n<details>\n  <summary>\n  3. Autograder - <a href=\"http://agileventures.org/projects/autograder \">http://agileventures.org/projects/autograder </a>\n  </summary>\n  <dl>\n    <dt> Description </dt>\n    <dd>AutoGraders is a project to provide a platform for automation of creating, testing, grading and providing feedback on\n      programming assignments for students engaged in various programming courses.  </dd>\n\n    <dt>Technical</dt>\n    <dd>Ruby 1.9\n    </dd>\n    <dt> Customer </dt>\n    <dd>Armando Fox and other University Instructors </dd>\n    <dt> Core members </dt>\n    <dd>Paul McCuloch, Sam Joseph </dd>\n  </dl>\n</details>\n\n\n<details>\n  <summary>\n  4. Codelia Lulu - <a href=\"http://agileventures.org/projects/lulu-codealia \">http://agileventures.org/projects/lulu-codealia </a>\n  </summary>\n  <dl>\n    <dt> Description </dt>\n    <dd>Codealia.org is a web based application that aims to help children to learn the fundamentals of software engineering.\n      Goals -  give young children who express an interest in computers a head start in understanding what they can\n      do and how they work. Get more women involved in information technology by encouraging girls to discover the\n      creative possibilities of a career in engineering.\n    </dd>\n\n    <dt>Technical</dt>\n    <dd>Ruby 2.1, Rails 4.1, AngularJS </dd>\n    <dt> Customer </dt>\n    <dd>Luchinda, Mohammed </dd>\n    <dt> Core members </dt>\n    <dd>Pete Boucher, Bryan Yap, Thomas Ochman </dd>\n  </dl>\n</details>\n\n<h3> Step 2 </h3>\n<p>\n  Create a profile on WebsiteOne Sign up page and although it is optional, please consider filling out\n  your profile, so that other members can get to know you.\n</p>\n\n<h3> Step 3 </h3>\n<p>\n  Learn how we communicate and coordinate projects\n(the link to resources is on the project's page on WSO)\n</p>\n\n<ul>\n  <li> source code is kept in Github repos </li>\n  <li> user stories (feature descriptions) are kept in project's pivotal tracker </li>\n  <li> documents and detailed feature descriptions are kept in project's section on WSO </li>\n  <li> real time discussion are done in Slack channels, in specific channel for the project </li>\n  <li> long-term discussions (where it is important to preserve history) are done by\n  commenting under specific documents in project's section on WSO (all comments get posted to project's slack channel automatically) </li>\n  <li> recordings of PairProgramming sessions and scrums are stored on YouTube.  The list of videos for a specific project is under project's section on WSO </li>\n  <li> technical information on the project is kept in documents under project's section on WSO </li>\n  <li> general information articles, not specific to a particular project is kept in articles on WSO - <a href=\"http://agileventures.org/articles\">http://agileventures.org/articles</a> </li>\n  <li> PairProgramming is done with Google Hangouts and (optionally) tmux/tmate </li>\n  <li> pull requests are done through GitHub repos </li>\n  <li> code review is done by commenting on PR on GitHub repo </li>\n</ul>\n\n<p>\n  Detailed instructions on project workflow for WebsiteOne:\n</p>\n<p> <a href=\"http://agileventures.org/projects/websiteone/documents/project-coordination-outline\"> http://agileventures.org/projects/websiteone/documents/project-coordination-outline </a> </p>\n\n<h3> Step 4 </h3>\n<p> Setup accounts for GitHub and Google+.  </p>\n\n<p>\n  Ask for invitation to Slack by sending an email to <a href=\"mailto:info@agileventures.org?Subject=Invitation%20to%20Slack\" target=\"_top\">\n    info@agileventures.org</a>.\n</p>\n<p>\n  Join the slack channels - #general, #techtalk, #scrum_notifications, #pairing_notifications and the project's channel, e.g. #websiteone, #localsupport.\n</p>\n\n<h3> Step 5 </h3>\n<p>\n  Set up development environment\n</p>\n<p>\n  Each project should have a detailed instruction or even a script, or even a prepared VirtualBox image\n  prepared for you.\n</p>\n<p>\n  Look under documents in project's section on WSO.\n</p>\n\n<p>\n  If you get stuck - ask questions on slack channel, ask people to join you in a PP (PairProgramming)\n  session and guide you or comment on the setup document on WSO (this way, we will not forget about the encountered problem and add the solution to the document)\n</p>\n\n<p> Setup instructions for WebsiteOne: </p>\n<p> <a href=\" http://agileventures.org/projects/websiteone/documents/project-setup-new-users \"> http://agileventures.org/projects/websiteone/documents/project-setup-new-users </a> </p>\n<p> <a href=\" http://agileventures.org/projects/websiteone/documents/development-environment-setup \"> http://agileventures.org/projects/websiteone/documents/development-environment-setup </a> </p>\n\n<h3> Step 6 </h3>\n\n<p>\n  Have a closer look at your chosen project's Mission, Vision and Goals.  This way you will get an idea\n  what the priority for the project is and what features need to be implemented the most.\n</p>\n\n<p>\n  Browse the Pivotal tracker Current log, Backlog, and Icebox.\n</p>\n\n<p>\n  If there is an Epic (a group of stories) for newcomers - choose a story you would like to start with,\n  alternatively pick a story from backlog or just ask in Scrum or on Slack if anybody wants to pair on the story they are working on.\n</p>\n\n<p>\n  Picking a story from Icebox is usually done at the scrum.\n</p>\n\n<h3> Step 7 </h3>\n<p>\n  Join a scrum.  The list of scheduled scrums is here - <a href=\"http://agileventures.org/events\">http://agileventures.org/events </a>\n</p>\n\n<p>\n  Do not be intimidated - we all came into Scrum for the first time at some point and not many of us\n  speak good English.  Just listen what people are talking about.  Ask questions if you like.\n</p>\n\n<p>\n  Announce that you would like to work on a chosen story.  You will invited to Pivotal Tracker and appointed\n  as an owner of the story.  From now - you are responsible for updating the other members on its status.\n</p>\n\n<h3> Step 8 </h3>\n\n<p>\n  Start contributing.\n</p>\n\n<p>\n  It is ok to work on your own, but we strongly encourage to PairProgram with other members, as that\n  is our passion and we strongly believe that is an efficient way to learn and code.\n</p>\n\n<p>\n  To setup a PP session - either create and event at <a href=\"http://agileventures.org/events \">http://agileventures.org/events </a> with a category PairProgramming or click \"Start hangout\" button at the project's page on WSO.\n</p>\n<p> An automatic announcement will be made on slack channel #pairing_notifications.  </p>\n<p>\n  Click 'Start Broadcast' when Hangout loads - this way, the recording will be stored at your YouTube channel\n  and gets listed on project's page on WSO.\n</p>\n\n\n<h3> Step 9 </h3>\n\n<p>\n  When you think your story is ready - submit a Pull request.\n  There will be a detailed guide on how to do it.\n</p>\n<p> For now - just ask any of the older members to guide you through.  </p>\n\n<h3> Step 10 </h3>\n\n<p>\n  Be open for feedback.  It is one of the best ways to learn - to get other people to look at your code\n  and suggest better ways of doing something.\n</p>\n\n<p>\n  Do not be protective about your code, even though you may think it is perfect and beautiful.\n</p>\n<p> Be prepared to scrap it - you will write more! We are all here to learn.  </p>\n<br />\n<h2>\n  That  is it!\n  Jump in and let the world discover your ideas!\n</h2>\n\n<br />\n<h3> Also recommended: </h3>\n<p>\n  Read the coordination guidelines for the projects to learn the specifics of a particular project's\n  workflow communication, roles, preferred practices and etc.\n</p>\n\n<p>\n  Explore the articles on WebsiteOne <a href=\"http://agileventures.org/articles\">http://agileventures.org/articles</a>\n  Read about <a href=\"http://agileventures.org/articles/pairprogramming-bdd-tdd\">Pair programming and TDD</a>\n</p>\n</article>\n"
  },
  {
    "path": "app/views/pages/grow.html.erb",
    "content": "<div class=\"col-xs-12 col-sm-6 col-md-12\">\n  <div class=\"row\">\n    <div class=\"col-xs-12 col-sm-12 col-md-3\">\n      <ul class=\"box\">\n        <li>\n          <div class=\"circle\">\n            <div class=\"front front-popular\">\n              <div class=\"title color-3-font glyphicon glyphicon-tag\"></div>\n              <div class=\"price color-3-font\"><span class=\"total\">GROW</span></div>\n              <div class=\"description\">Use Agile methods</div>\n            </div>\n            <div class=\"popular color-3-font glyphicon glyphicon-tag\"></div>\n            <div class=\"back color-3-bg info\">\n              <div class=\"title\">Grow</div>\n              <div class=\"description\">\n                <p>Build your agile arsenal</p>\n              </div>\n            </div>\n          </div>\n        </li>\n      </ul>\n    </div>\n\n    <div class=\"col-xs-12 col-sm-12 col-md-8 \">\n      <h2>Voluptatem, exercitationem, suscipit, distinctio</h2>\n      <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatem, exercitationem, suscipit, distinctio, qui\n        sapiente aspernatur molestiae non corporis magni sit sequi iusto debitis delectus doloremque.\n\n        Lorem ipsum dolor sit amet, consectetur adipisicing elit. Totam sed tempora expedita reiciendis minima amet et\n        accusamus distinctio quod dolores illum molestiae modi sapiente assumenda quis provident quos ex cupiditate ab\n        asperiores vel fuga voluptatibus incidunt qui commodi numquam quas nesciunt eos voluptatum soluta magnam ipsam\n        veniam sequi tempore cumque fugit autem temporibus corporis dolorem eveniet minus quidem! Quas dolores nihil\n        repellat ab deleniti sequi dolorum aliquid hic odio modi eius et aliquam cum. Sequi tempora nam ipsa maxime\n        praesentium beatae quidem rerum sint veritatis quia quos nemo ullam mollitia pariatur voluptatem odit reiciendis\n        incidunt expedita soluta ad. Nam voluptas cumque illum eos impedit sed officiis possimus incidunt quos aperiam\n        tempore a deleniti dolorem accusamus ratione soluta fuga molestiae architecto illo alias consequatur excepturi\n        error aut dolores voluptate necessitatibus nisi quaerat ipsum perspiciatis animi repellendus minima ab tenetur\n        velit porro iste nulla! Iste esse unde ad sit itaque alias quidem beatae facere mollitia sed expedita officia\n        nihil nostrum possimus vero cum velit qui assumenda numquam totam. Placeat facere dolore fuga sequi illo est\n        minus corporis aliquid non blanditiis sint repellendus vitae autem distinctio minima. Omnis totam sit inventore\n        suscipit maiores deserunt cumque molestias soluta iure nam? Nam quas ipsum repellendus reiciendis distinctio\n        libero asperiores architecto deleniti rerum dolor quos ipsa reprehenderit eaque sequi tempora accusamus illo\n        iste <p />ratione laboriosam dolores doloribus sint consequatur laborum repudiandae ex! Obcaecati eligendi aperiam\n      molestias accusamus unde nesciunt quia optio error magnam ratione esse ut aspernatur distinctio! Iure neque\n      dicta voluptatum fugiat id iusto asperiores pariatur impedit blanditiis odit officiis eum dolorem mollitia\n      deserunt vitae minus ex velit illo modi ullam similique sit provident quis. Vel accusantium fuga odio veritatis\n      obcaecati quod accusamus modi quasi enim explicabo consequuntur tempora praesentium provident molestias\n      temporibus nisi sunt ratione nostrum quis maxime cupiditate laudantium incidunt sit minus placeat ab distinctio\n      fugiat sint aperiam! Nam incidunt eius dolore earum aut debitis natus illum similique et ad nobis doloremque\n      consequatur laboriosam magni doloribus accusantium culpa. Aperiam in incidunt iste eius provident omnis natus\n      saepe eveniet officiis animi id assumenda itaque officia dolor magnam voluptatibus perferendis qui dicta\n      inventore dolorem repudiandae quidem alias iusto explicabo distinctio nam sunt dignissimos harum molestias\n      asperiores esse quasi rerum laborum numquam aliquid dolorum possimus minus modi consequatur architecto quod\n      suscipit. Saepe in accusantium doloremque non illum maxime repudiandae officia quasi quidem cum nihil vero ipsa\n      quaerat debitis reiciendis. Ratione dolor porro voluptas perferendis nemo aliquid!</p>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "app/views/pages/guides.html.erb",
    "content": "<ul id='guides-list'>\n  <li><a href=\"/remote-pair-programming\">Remote Pair Programming</a></li>\n</ul>\n"
  },
  {
    "path": "app/views/pages/learn1.html.erb",
    "content": "<div class=\"col-xs-12 col-sm-6 col-md-12\">\n  <div class=\"row\">\n    <div class=\"col-xs-12 col-sm-12 col-md-3\">\n      <ul class=\"box\">\n        <li>\n          <div class=\"circle\">\n            <div class=\"front front-popular\">\n              <div class=\"title color-1-font glyphicon glyphicon-star\"></div>\n              <div class=\"price color-1-font\"><span class=\"total\">LEARN</span></div>\n              <div class=\"description\">Meet people online</div>\n            </div>\n            <div class=\"popular color-1-font glyphicon glyphicon-star\"></div>\n            <div class=\"back color-1-bg info\">\n              <div class=\"title\">Learn</div>\n              <div class=\"description\">\n                <p>Super charge your learning by collaborating with others</p>\n              </div>\n            </div>\n          </div>\n        </li>\n      </ul>\n    </div>\n\n    <div class=\"col-xs-12 col-sm-12 col-md-8 \">\n      <h2>Voluptatem, exercitationem, suscipit, distinctio</h2>\n      <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatem, exercitationem, suscipit, distinctio, qui\n        sapiente aspernatur molestiae non corporis magni sit sequi iusto debitis delectus doloremque.\n\n        Lorem ipsum dolor sit amet, consectetur adipisicing elit. Totam sed tempora expedita reiciendis minima amet et\n        accusamus distinctio quod dolores illum molestiae modi sapiente assumenda quis provident quos ex cupiditate ab\n        asperiores vel fuga voluptatibus incidunt qui commodi numquam quas nesciunt eos voluptatum soluta magnam ipsam\n        veniam sequi tempore cumque fugit autem temporibus corporis dolorem eveniet minus quidem! Quas dolores nihil\n        repellat ab deleniti sequi dolorum aliquid hic odio modi eius et aliquam cum. Sequi tempora nam ipsa maxime\n        praesentium beatae quidem rerum sint veritatis quia quos nemo ullam mollitia pariatur voluptatem odit reiciendis\n        incidunt expedita soluta ad. Nam voluptas cumque illum eos impedit sed officiis possimus incidunt quos aperiam\n        tempore a deleniti dolorem accusamus ratione soluta fuga molestiae architecto illo alias consequatur excepturi\n        error aut dolores voluptate necessitatibus nisi quaerat ipsum perspiciatis animi repellendus minima ab tenetur\n        velit porro iste nulla! Iste esse unde ad sit itaque alias quidem beatae facere mollitia sed expedita officia\n        nihil nostrum possimus vero cum velit qui assumenda numquam totam. Placeat facere dolore fuga sequi illo est\n        minus corporis aliquid non blanditiis sint repellendus vitae autem distinctio minima. Omnis totam sit inventore\n        suscipit maiores deserunt cumque molestias soluta iure nam? Nam quas ipsum repellendus reiciendis distinctio\n        libero asperiores architecto deleniti rerum dolor quos ipsa reprehenderit eaque sequi tempora accusamus illo\n        iste <p />ratione laboriosam dolores doloribus sint consequatur laborum repudiandae ex! Obcaecati eligendi aperiam\n      molestias accusamus unde nesciunt quia optio error magnam ratione esse ut aspernatur distinctio! Iure neque\n      dicta voluptatum fugiat id iusto asperiores pariatur impedit blanditiis odit officiis eum dolorem mollitia\n      deserunt vitae minus ex velit illo modi ullam similique sit provident quis. Vel accusantium fuga odio veritatis\n      obcaecati quod accusamus modi quasi enim explicabo consequuntur tempora praesentium provident molestias\n      temporibus nisi sunt ratione nostrum quis maxime cupiditate laudantium incidunt sit minus placeat ab distinctio\n      fugiat sint aperiam! Nam incidunt eius dolore earum aut debitis natus illum similique et ad nobis doloremque\n      consequatur laboriosam magni doloribus accusantium culpa. Aperiam in incidunt iste eius provident omnis natus\n      saepe eveniet officiis animi id assumenda itaque officia dolor magnam voluptatibus perferendis qui dicta\n      inventore dolorem repudiandae quidem alias iusto explicabo distinctio nam sunt dignissimos harum molestias\n      asperiores esse quasi rerum laborum numquam aliquid dolorum possimus minus modi consequatur architecto quod\n      suscipit. Saepe in accusantium doloremque non illum maxime repudiandae officia quasi quidem cum nihil vero ipsa\n      quaerat debitis reiciendis. Ratione dolor porro voluptas perferendis nemo aliquid!</p>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "app/views/pages/pair.html.erb",
    "content": "<div class=\"col-xs-12 col-sm-6 col-md-12\">\n  <div class=\"row\">\n    <div class=\"col-xs-12 col-sm-12 col-md-3\">\n      <ul class=\"box\">\n        <li>\n          <div class=\"circle\">\n            <div class=\"front front-popular\">\n              <div class=\"title color-4-font glyphicon glyphicon-time\"></div>\n              <div class=\"price color-4-font\"><span class=\"total\">PAIR</span></div>\n              <div class=\"description\">Work on projects</div>\n            </div>\n            <div class=\"popular color-4-font glyphicon glyphicon-time\"></div>\n            <div class=\"back color-4-bg info\">\n              <div class=\"title\">Pair</div>\n              <div class=\"description\">\n                <p>Remote Pairing FTW!</p>\n              </div>\n            </div>\n          </div>\n        </li>\n      </ul>\n    </div>\n\n    <div class=\"col-xs-12 col-sm-12 col-md-8 \">\n      <h2>Voluptatem, exercitationem, suscipit, distinctio</h2>\n      <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatem, exercitationem, suscipit, distinctio, qui\n        sapiente aspernatur molestiae non corporis magni sit sequi iusto debitis delectus doloremque.\n\n        Lorem ipsum dolor sit amet, consectetur adipisicing elit. Totam sed tempora expedita reiciendis minima amet et\n        accusamus distinctio quod dolores illum molestiae modi sapiente assumenda quis provident quos ex cupiditate ab\n        asperiores vel fuga voluptatibus incidunt qui commodi numquam quas nesciunt eos voluptatum soluta magnam ipsam\n        veniam sequi tempore cumque fugit autem temporibus corporis dolorem eveniet minus quidem! Quas dolores nihil\n        repellat ab deleniti sequi dolorum aliquid hic odio modi eius et aliquam cum. Sequi tempora nam ipsa maxime\n        praesentium beatae quidem rerum sint veritatis quia quos nemo ullam mollitia pariatur voluptatem odit reiciendis\n        incidunt expedita soluta ad. Nam voluptas cumque illum eos impedit sed officiis possimus incidunt quos aperiam\n        tempore a deleniti dolorem accusamus ratione soluta fuga molestiae architecto illo alias consequatur excepturi\n        error aut dolores voluptate necessitatibus nisi quaerat ipsum perspiciatis animi repellendus minima ab tenetur\n        velit porro iste nulla! Iste esse unde ad sit itaque alias quidem beatae facere mollitia sed expedita officia\n        nihil nostrum possimus vero cum velit qui assumenda numquam totam. Placeat facere dolore fuga sequi illo est\n        minus corporis aliquid non blanditiis sint repellendus vitae autem distinctio minima. Omnis totam sit inventore\n        suscipit maiores deserunt cumque molestias soluta iure nam? Nam quas ipsum repellendus reiciendis distinctio\n        libero asperiores architecto deleniti rerum dolor quos ipsa reprehenderit eaque sequi tempora accusamus illo\n        iste <p />ratione laboriosam dolores doloribus sint consequatur laborum repudiandae ex! Obcaecati eligendi aperiam\n      molestias accusamus unde nesciunt quia optio error magnam ratione esse ut aspernatur distinctio! Iure neque\n      dicta voluptatum fugiat id iusto asperiores pariatur impedit blanditiis odit officiis eum dolorem mollitia\n      deserunt vitae minus ex velit illo modi ullam similique sit provident quis. Vel accusantium fuga odio veritatis\n      obcaecati quod accusamus modi quasi enim explicabo consequuntur tempora praesentium provident molestias\n      temporibus nisi sunt ratione nostrum quis maxime cupiditate laudantium incidunt sit minus placeat ab distinctio\n      fugiat sint aperiam! Nam incidunt eius dolore earum aut debitis natus illum similique et ad nobis doloremque\n      consequatur laboriosam magni doloribus accusantium culpa. Aperiam in incidunt iste eius provident omnis natus\n      saepe eveniet officiis animi id assumenda itaque officia dolor magnam voluptatibus perferendis qui dicta\n      inventore dolorem repudiandae quidem alias iusto explicabo distinctio nam sunt dignissimos harum molestias\n      asperiores esse quasi rerum laborum numquam aliquid dolorum possimus minus modi consequatur architecto quod\n      suscipit. Saepe in accusantium doloremque non illum maxime repudiandae officia quasi quidem cum nihil vero ipsa\n      quaerat debitis reiciendis. Ratione dolor porro voluptas perferendis nemo aliquid!</p>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "app/views/pages/personal-tuition-service.html.erb",
    "content": "  <div>Dr. Sam Joseph has created <a href=\"http://www.youtube.com/user/aeurdstfaksf?feature=mhee\">help videos for all the SaaS homeworks</a>.</div>\n  <div><br>\n  </div>\n  If you'd like to help Dr. Joseph improve and create more of these videos, then please donate whatever you can ($10?) to <a href=\"https://alumni.hpu.edu/sslpage.aspx?pid=312\">Hawaii Pacific University (non-profit)</a>, designating College of Natural and Computational Sciences - and put \"Sam Joseph Public Videos\" in the comment box\n  <div><br>\n  </div>\n  <div>Personal tuition sessions can also be arranged, again please&nbsp;<span style=\"line-height:1.6;font-size:10pt\">donate whatever you can ($10?) to</span><span style=\"line-height:1.6;font-size:10pt\">&nbsp;</span><a href=\"https://alumni.hpu.edu/sslpage.aspx?pid=312\" style=\"line-height:1.6;font-size:10pt\">Hawaii Pacific University (non-profit)</a>&nbsp;<span style=\"line-height:1.6;font-size:10pt\">designating College of Natural and Computational Sciences - and put \"Sam Joseph Public Videos\" in the comment box&nbsp;</span><span style=\"line-height:1.6;font-size:10pt\">to get a priority response from Dr. Joseph via </span><a href=\"mailto:sjoseph@hpu.edu\" style=\"line-height:1.6;font-size:10pt\">email</a><span style=\"line-height:1.6;font-size:10pt\"> and/or </span><a href=\"skype://tansaku\" style=\"line-height:1.6;font-size:10pt\">Skype</a><span style=\"line-height:1.6;font-size:10pt\">&nbsp;(username \"tansaku\")</span></div>\n"
  },
  {
    "path": "app/views/pages/premium.html.erb",
    "content": "<div>\n  Agile Ventures Premium Membership gives the following benefits\n</div><br>\n<div>\n  <ul>\n    <li>Free use of the multi-functional RubyMine/WebStorm development software on your AgileVenture projects. (A £15/month value)</li>\n    <li>Access to AgileVentures' private Premium Slack channels (#professional_develop, #jobs, #tech_tests etc.)</li>\n    <li>Professional Code Review</li>\n    <li>Eligibility to work on paid projects</li>\n    <li>Supports the Agile Ventures mission to help charities and increase worldwide access to learning resources</li>\n    <li>Support on any questions you post to StackOverflow</li>\n    <li>CodeSchool NonProfit Discount ($10 a month saving)</li>\n  </ul>\n</div><br>\n<div class=\"text-center\">\n  <span class=\"btn btn-primary btn-block\" style=\"padding: 5px; width: 50%; border-color: rgb(238, 115, 53); background: rgb(238, 115, 53); display: inline-block; font-size: 1.5em; white-space: normal;\"><a href=\"http://www.agileventures.org/subscriptions/new?plan=premium\"><b><font color=\"#ffffff\">Get Started with Premium</font></b></a></span>\n</div><br>\n<div>\n  Membership Plans <a style=\"display: inline-block;\" href=\"http://www.agileventures.org/membership-plans\">Overview</a>\n</div>\n<hr>\n<h3>Details of Plan Benefits:</h3><br>\n<div>\n  <b>Free use of the multi-functional RubyMine/MindStorm development software on your AgileVenture projects.</b>\n</div><br>\n<div>\n  <b>Access to AgileVentures' Premium Private Slack channels</b>\n</div><br>\n<div>\n  Many AgileVentures have leveraged the skills they've learnt through working in teams on our open source projects to land great tech jobs, get promotions and develop themselves professionally. See <a href=\"http://www.agileventures.org/grow\">http://www.agileventures.org/grow</a> for testimonials. Learn from senior members' experience to help you in your professional development in the AV private Slack channels for professional development, devops, tech tests and jobs.\n</div><br>\n<div>\n  <b>Professional Code Review</b>\n</div><br>\n<div>\n  <p>AgileVentures mission is to develop quality software for charities and other non-profits whilst also supporting the learning and development of individuals wishing to improve their teamwork and coding skills. AgileVentures software projects are all open source and open development. Contributions are submitted via an open code submission process or \"pull request\" (PR). Becoming an AgileVentures Premium member entitles you to a priority code review, that is a professional code review of your code submission to any AgileVentures project, within 2 working days (excludes weekends and UK national holidays) of submission.</p>\n  <p>Want a better idea of what a professional code review looks like? Check out the following three examples of previous professional code reviews offered to premium members:</p>\n  <ul>\n    <li><a href=\"https://github.com/AgileVentures/WebsiteOne/pull/1474\">Review 1</a></li>\n    <li><a href=\"https://github.com/AgileVentures/LocalSupport/pull/429\">Review 2</a></li>\n    <li><a href=\"https://github.com/AgileVentures/WebsiteOne/pull/1519\">Review 3</a></li>\n  </ul>\n  <p>Any project can become an AgileVentures project given that it meets the following criteria:</p>\n  <ul>\n    <li>Open Source</span><br></li>\n    <li>Open Development </span><br></li>\n    <li>Charitable Objective (as assessed by board of Trustees)</span><br></li>\n  </ul>\n</div><br>\n<div>\n  <b>Eligibility to work on priority and paid projects</b>\n</div><br>\n<div>\n  Certain AgileVentures projects are set as \"priority\" projects, in that they are of special importance to the AgileVentures community, and newcomers to AgileVentures may be encouraged to focus on non-priority projects in order to develop their Agile development skills before they can successfully contribute to \"priority\" projects. Becoming an AgileVentures premium member allows you to bypass this requirement, and also makes you eligible for \"paid\" projects; those AgileVenture projects where a charity customer has funds for (or a donation covers) paid software development. Premium membership does not entitle the premium member to participate in any particular paid or priority project, but does make them eligible for consideration. Participation in any particular project is at the discretion of the project team lead, or project team consortium, as appropriate to the individual project.\n</div><br>\n<div>\n  <b>Supports the Agile Ventures mission to support charities and increase worldwide access to learning resources</b>\n</div><br>\n<div>\n  In addition to all the other benefits your subscription to a premium plan helps AgileVentures in its ongoing mission to support charities around the world with IT solutions and also make learning resources available globally to developers trying to level up and make the world a better place. We have to pay for server hosting etc. and every little helps cover our costs.\n</div><br>\n<div>\n  <b>Support on any question you post to StackOverflow</b>\n</div><br>\n<div>\n  Posting to StackOverflow or similar forums is a fantastic way to get quick feedback on any coding problem you may have. You'll need to follow the <a href=\"http://stackoverflow.com/help/how-to-ask\">guidelines</a> on how to ask a good question, but assuming you do and you post a link to your question into the #techtalk channel, and follow any instructions from AV mentors on how to improve your question, then we'll do our best to answer it, including starring it and up-voting to help attract the attention of others in case we cannot provide a direct answer ourselves.\n</div><br>\n<div><b>Code School NonProfit Discount</b></div><br>\n<div>\n  By becoming an AgileVentures Premium member you become part of our NonProfit organisation and thus become eligible for a $10 discount on the CodeSchool monthly fee of $29.\n</div><br>\n<hr>\n<div>\n  Premium cost is currently £10 a month, and comes with a 7-day free trial. Please alert <a href=\"mailto:info@agileventures.org\" style=\"background-color: rgb(248, 248, 248);\">info@agileventures.org</a> within your first 7 days to cancel your subscription at no cost.<br>\n</div><br>\n<div>\n  <a href=\"http://www.agileventures.org/subscriptions/new\">Sign up for AgileVentures Premium</a><br>\n</div><br>\n<div>\n  Want even more benefits including scheduled pair programming time with senior AV <a href=\"http://www.agileventures.org/mentors\">mentors</a>?  Check out our <a href=\"http://www.agileventures.org/premium_plus\">Premium Plus membership</a>.\n</div>\n<hr>\n<a name=\"faq\"><h1>Frequently Asked Questions</h1></a><br>\n<details>\n  <summary><b>Why would I want my Pull Request (PR) reviewed quickly?</b></summary>\n  <br><p>Premium membership guarantees a pull request will be reviewed promptly and thoroughly. Pull requests that wait for a long time before a review often require more work to be merged in, and may be discarded if no one is willing to do that additional work. Also, it's great to get feedback when the code you have just created is still fresh in your mind. If it takes a long time to get feedback you may not be able to learn as much as you would otherwise.</p>\n</details><br>\n<details>\n  <summary><b>Does being a Premium member mean that my PR is going to be accepted even if it doesn’t seem relevant?</b></summary>\n  <br><p>No it doesn't mean it will be accepted - but being a Premium member means we'll try harder to work with you to get it into a shape where it can be accepted. Even if it ultimately doesn't make sense to merge it in, we'll be doing our best to ensure that you derive the maximum learning benefit from the experience.</p>\n</details><br>\n<details>\n  <summary><b>If my PR might not get merged why is the issue that my PR attempts to address an open issue?</b></summary>\n  <br><p>It's an open issue because it's something that needs to be addressed, however that does not mean that the way that you tried to address it is necessarily compatible with other aspects of the project. We'll do our best to help you make it compatible, but ultimately if you don't follow our suggestions for changes to your PR and we don't have the resources to make them ourselves, or the process has taken so long that it's no longer efficient to work with your PR, then it might well be discarded and the issue will be fixed by a PR from another member.</p>\n</details><br>\n<details>\n  <summary><b>In the case where multiple Premium members have submitted PR’s, how will they be prioritized?</b></summary>\n  <br><p>Given PRs from multiple Premium members project priorities come into play. Exploring the interplay between delivering value to the end client, use of different technologies and team collaboration is precisely what the AgileVentures experience is all about. If there are many Premium members submitting PRs and we don't have enough reviewers to meet the demand we will need to recruit and or hire more reviewers, or possibly adjust the pricing model.</p>\n</details><br>\n<details>\n  <summary><b>For non Premium members, if your PR never gets reviewed because AV doesn't have the resources to review them, then why would a non Premium member bother submitting a PR?</b></summary>\n  <br><p>The same is true for any open source project - open source projects live or die depending on whether the maintainers have the resources to review the incoming PRs. In other projects if you see that the maintainers are very busy dealing with lots of other PRs, it may be that your PR will be overlooked. In AgileVentures non-Premium members may still be intrigued by an open issue they have noticed and be interested in submitting a speculative PR and they may still get comments, and/or be merged in, depending on how busy things are at a given time. Reviewing PRs consumes AV resources and the presence of a PR doesn't necessarily provide benefit to AV. Getting feedback on the PR is a great learning experience, and the Premium model is designed to allow us to focus that effort on the most committed members, as well as increasing the likelihood that we have sufficient resources to keep reviewing incoming PRs.</p>\n</details><br>\n<details>\n  <summary><b>Doesn't the presence of Premium membership and associated benefits negatively impact the free AgileVentures experience?</b></summary>\n  <br><p>Free tier members still get the fundamental AgileVentures benefits, including access to AgileVentures Slack, the ability to attend AgileVentures scrums, client meetings and pairing sessions, and access to the full video archive of all AgileVentures development. AgileVentures is committed to following \"open development\"; a level above simple \"open source\" in which not only the source code, but all aspects of the development process are made visible to anybody who is interested. The idea being to make it possible for anyone to start participating in an Agile project at any point, and to maximise the opportunities for real and authentic learning. Making all these free resources available is demanding, and so Premium membership is a mechanism to help the ongoing provision of those services. In the long run Premium membership should serve free tier members by ensuring they have access to all the basic AgileVentures benefits for many years to come.</p>\n  <p>Also to the extent that Premium membership encourages ongoing PR submissions from more committed members and supports a more organised PR review process, this should lead to improved code quality and project maintainability, which then indirectly benefits all members.</p>\n</details><br>\n<details>\n  <summary><b>But aren't you a charity? Shouldn't you just be relying purely on donations?</b></summary>\n  <br><p>AgileVentures is a registered UK charity, and donations are very welcome. If you're keen to donate then please check out our <a href=\"http://www.agileventures.org/associate\">Associate</a> membership. To the extent we could continue to provide all our services purely based on donations we would. However donations by themselves are insufficient at this time. Being a charity does not mean expending all available resources to the point of bankruptcy. It is perfectly reasonable for a charity to provide Premium services to members who are in a position to contribute a little extra. In any community there is a danger that some members will consume more resources than others to the overall detriment of the community. Particularly as regards PRs, even well-meaning attempts at fixing issues can actually be dangerous red-herrings that require lots of effort to get into shape. Premium membership provides a mechanism for AgileVentures project managers to focus their effort on submission from the more committed members and ultimately to get fairly compensated for the work that they put in to help members learn about how to participate effectively in the Agile development process.</p>\n</details>\n<br>\n<details>\n  <summary><b>There are plenty of other open source projects out there crying out for contributors, why should I submit PRs to AgileVentures?</b></summary>\n  <br><p>Because we are a good cause, and we're trying to help other good causes around the world, as well as all developers improve their Agile project and coding skills. Please do submit PRs to other open source projects - there's lots of other great causes, but you won't necessarily get the specific support for understanding the Agile development process, or be guaranteed full visibility to the complete development process. What AgileVentures offers that's different from other open source projects is full access to the entire development process, and a commitment to help everyone learn about Agile development, not just code. Our project maintainers are committed to your development as an Agile software developer, as well as to the success of their project. They'll try to help everyone, but will prioritize helping Premium members.</p>\n</details><br>\n<details>\n  <summary><b>Will my Premium membership auto-renew each month?</b></summary>\n  <br><p>Yes, you'll be charged each month automatically - please email <a href=\"http://www.agileventures.org/info@agileventures.org\">info@agileventures.org</a> if you would like to cancel your subscription.</p>\n</details><br>\n<details>\n  <summary><b>£10/month is a lot of money for me, surely you want membership to be affordable to everyone, everywhere?</b></summary>\n  <br><p>Of course we do; however we also want to make our operation sustainable. If you can't afford £10/month please contact <a href=\"mailto:info@agileventures.org\">info@agileventures.org</a> and we will see if we can find sponsorship to cover some or all of the costs of your premium membership.</p>\n</details>\n"
  },
  {
    "path": "app/views/pages/premium_f2f.html.erb",
    "content": "<h2><b>Agile Ventures Premium F2F</b></h2><br>\n<p>Get all the benefits of <a href=\"/premium\">Premium</a> and <a href=\"/premium-mob\">Premium Mob</a> membership AND</p>\n<ul>\n  <li>One hour of pair programming time with an AV <a href=\"http://www.agileventures.org/mentors\">Mentor</a> on an AV project each month</li>\n  <li>Voting rights in AV general meetings</li>\n</ul><br>\n<div class=\"text-center\">\n  <span class=\"btn btn-primary btn-block\" style=\"padding: 5px; width: 60%; border-color: #ee7335; background: #ee7335; display: inline-block; font-size: 1.4em;\"><a href=\"http://www.agileventures.org/subscriptions/new?plan=premiumf2f\"><b><font color=\"#ffffff\">Get Started with Premium F2F</font></b></a></span>\n</div><br>\n<div>Membership Plans <a href=\"http://www.agileventures.org/membership-plans\">Overview</a></div><br>\n<div><h3>Details of Plan Benefits:</h3></div><br>\n<p><b>Pair Programming with an AV Mentor</b></p><br>\n<p>AgileVentures <a href=\"http://www.agileventures.org/mentors\">Mentors</a> are experienced pair programmers who will pair program with you over the course of an hour session to help you improve your pairing style, your coding skills and your Agile development technique. Coding will be on an AgileVentures project.</p>\n<p>Any project can become an AgileVentures project given that it meets the following criteria:</p>\n<ul>\n  <li>Open Source</li>\n  <li>Open Development</li>\n  <li>Charitable Objective (as assessed by board of Trustees)</li>\n</ul>\n<p>Additional pairing hours can also be purchased.</p><br>\n<div><b>Voting rights in AV general meetings</b></div><br>\n<div>\n  AgileVentures is registering as an official UK charity and as such is bound by regulations relating voting rights for members at Annual General meetings. Becoming an Agile Ventures Premium F2F member registers you as a full official member of the UK charity with voting rights in General meetings where you can influence the high level direction of the charity, selection of charity Trustees and so forth.\n</div><br>\n<p><a href=\"http://www.agileventures.org/subscriptions/new?plan=premiumf2f\">Sign up for Premium F2F Membership</a></p><br>\n<h3>Frequently Asked Questions</h3><br>\n<div><b>Don't free-tier and premium members get pair programming time with AV Mentors already?</b></div><br>\n<div>\n  Agile Ventures supports ad-hoc pairing all round the world, but we can't guarantee that any free-tier or premium member will necessarily get pairing time with a senior AV Mentor. We've had feedback from members that it would be easier to pair if they could rely on having a senior AV Mentor available at a particular time and date specified in advance. If we're going to ask senior AV mentors to commit to pairing times in advance we need to be able to compensate them for their efforts. We've tried operating on a purely ad-hoc basis for several years, and Premium F2F membership is designed to increase the chances of successful learning and good progress on the charitable projects that we support by compensating senior AV members for committing their time.\n</div><br>\n<div><b>Can I use time with my Mentor to talk about Professional Development rather than coding?</b></div><br>\n<div>\n  Face to face support is often all about coding skills, but there is flexibility. Usually the professional development support can be handled over Slack and email text chat, with the mentor and premium member passing back and forth a planning document. Naturally you could use part of the F2F session to talk about the professional development support if there are ambiguities or concerns that were left over from any text communication.\n</div><br>\n<p><b>Can I choose who is my Mentor?</b></p><br>\n<div>\n  You can request to work with a particular mentor from our <a href=\"http://www.agileventures.org/mentors\">Mentors list</a>. Unfortunately we cannot guarantee that any individual mentor will have availability, since this will depend on time-zones and other factors.\n</div><br>\n<div><b>Premium F2F is five times the cost of Premium. How come?</b></div><br>\n<div>\n  The main cost of Premium F2F is the time of the Senior AgileVentures Mentor who will work with you for an hour a month helping you hone your pairing, coding and project management skills; as well as discussing your professional development needs. We need to compensate the mentors who put in their time to help you.\n</div><br>\n<div><b>Will my Premium F2F membership auto-renew each month?</b></div><br>\n<div>\n  Yes, you'll be charged each month automatically - please email <a href=\"http://www.agileventures.org/info@agileventures.org\">info@agileventures.org</a> if you would like to cancel your subscription.\n</div><br>\n<div><b>£50/month is a lot of money for me, surely you want Premium F2F to be affordable to everyone, everywhere?</b></div><br>\n<div>\n  Of course we do; however we also want to make our operation sustainable. If you can't afford £50/month please contact <a href=\"mailto:fellowship@agileventures.org\">fellowship@agileventures.org</a> and we will see if we can find sponsors to fund a fellowship to support of your Premium F2F membership.\n</div>\n"
  },
  {
    "path": "app/views/pages/premium_mob.html.erb",
    "content": "<h2><b>Agile Ventures Premium Mob</b></h2><br>\n<p>Get all the benefits of <a href=\"/premium\">Premium</a> membership AND</p>\n<ul>\n  <li>Mob programming sessions with an assigned AV <a href=\"http://www.agileventures.org/mentors\">Mentor</a> each week</li>\n  <li>Professional Development Planning Support</li>\n  <li>Free accesss to Udemy Complete Elixir &amp; Phoenix Bootcamp course (usual price $50)</li>\n  <li>Free accesss to Udemy React Redux course (usual price $180)</li>\n  <li>25% discount on \"<a href=\"https://pragprog.com/book/rspec3/effective-testing-with-rspec-3\">Effective Testing with RSpec 3</a>\"</li>\n  <li>10% discount on Upcase membership</li>\n</ul>\n<div>\n  <i>Mobs are currently running for Ruby (following <a href=\"http://rubybookclub.com\">RubyBookClub</a>) and Elixir (following the <a href=\"https://www.udemy.com/the-complete-elixir-and-phoenix-bootcamp-and-tutorial/\">Complete Elixir &amp; Phoenix Bootcamp course</a>). We're also happy to start mobs in other languages or stacks that have sufficient member interest. We're planning to start CSS and JavaScript mobs in the near future.</i>\n</div><br>\n<div class=\"text-center\">\n  <span class=\"btn btn-primary btn-block\" style=\"padding: 5px; width: 60%; border-color: #ee7335; background: #ee7335; display: inline-block; font-size: 1.5em;\"><a href=\"http://www.agileventures.org/subscriptions/new?plan=premiummob\"><b><font color=\"#ffffff\">Get Started with Premium Mob</font></b></a></span>\n</div><br>\n<div>\n  Membership Plans <a href=\"http://www.agileventures.org/membership-plans\">Overview</a>\n</div>\n<hr>\n<div><h3>Details of Plan Benefits:<br></h3></div><br>\n<p><b>Mob Programming with an assigned AV Mentor</b></p><br>\n<p>AgileVentures <a href=\"http://www.agileventures.org/mentors\">Mentors</a> are experienced programmers who will invite you to a <a href=\"https://en.wikipedia.org/wiki/Mob_programming\">mob programming</a> session. Over the course of an hour session you'll get to participate in mob coding on a fundamental topic such as 'confident coding', Test Driven Development (TDD), SOLID principles and so forth.</p>\n<p>Premium Mob members also get access to the archive of previous mobbing sessions and shared C9 environment in order to allow you to quickly get up to speed with whatever the mobs happen to be working on this week.</p>\n<p>Additional mobbing hours can also be purchased.</p><br>\n<p><b>Professional Development Planning Support</b></p><br>\n<div>\n  A senior Agile Ventures <a href=\"http://www.agileventures.org/mentors\">mentor</a> will work with you to understand your professional development goals, and created a personalized plan to help you achieve them. Professional Development Planning support includes reviewing your skill set and experiences, and talking through your professional development goals. Your AV mentor would guide you in creating a plan of activities to help you achieve your professional development goals, such as which books to study, what courses to take, what projects to join and contribute to etc.\n</div><br>\n<p><b>Udemy Complete Elixir &amp; Phoenix Bootcamp course</b></p><br>\n<div>\n  Elixir mob includes sessions working through the Udemy bootcamp course, in order to prepare for contributing to the PhoenixOne project. Free access to the course for AgileVentures Premium Mob members has been very kindly donated by the instructor, Stephen Grider. The usual cost of the course is $50.\n</div><br>\n<div><b>Effective Testing with RSpec3</b></div><br>\n<div>\n  At long last an <a href=\"https://pragprog.com/book/rspec3/effective-testing-with-rspec-3\">updated guide for RSpec</a> is out for version 3. Get 25% off the $19 beta version with your Premium Mob membership.\n</div><br>\n<div>\n  <p><a href=\"http://www.agileventures.org/subscriptions/new?plan=premiummob\">Sign up for Premium Mob Membership</a></p>\n</div><br>\n<h3>Frequently Asked Questions</h3><br>\n<div>\n  <b>Don't free-tier and premium members get mob programming time with AV Mentors already?</b>\n</div><br>\n<div>\n  Agile Ventures supports ad-hoc pairing and mobbing all round the world, but we can't guarantee that any free-tier or premium member will necessarily get pairing or mobbing time with a senior AV mentor. We've had feedback from members that it would be easier to progress if they could rely on having a senior AV mentor available at a particular time and date specified in advance. If we're going to ask senior AV mentors to commit to being available in advance we need to be able to compensate them for their efforts. We've tried operating on a purely ad-hoc basis for several years, and Premium Mob membership is designed to increase the chances of successful learning and good progress on the charitable projects that we support by compensating senior AV members for committing their time.\n</div><br>\n<div>\n  <b>Can I use time in mobbing sessions with my Mentor to talk about Professional Development rather than coding?</b>\n</div><br>\n<div>\n  <p>Mob sessions are focused on coding skills. Usually the professional development support will be handled over Slack and email text chat, with the Mentor and Premium Mob member passing back and forth a planning document. If you would like face to face time with a Mentor please consider upgrading to <a href=\"/premium_f2f\">Premium F2F</a>.</p>\n</div><br>\n<div>\n  <b>Premium Mob is more than twice the cost of Premium. How come?</b>\n</div><br>\n<div>\n  The main cost of Premium Mob is the time of the Senior AgileVentures Mentor who will work with you for an hour a month in mobbing sessions to improve your pairing, coding and project management skills; as well as discussing your professional development needs. We need to compensate the Mentors who put in their time to help you.\n</div><br>\n<div>\n  <b>Will my Premium Mob membership auto-renew each month?</b>\n</div><br>\n<div>\n  Yes, you'll be charged each month automatically - please email <a href=\"http://www.agileventures.org/info@agileventures.org\">info@agileventures.org</a> if you would like to cancel your subscription.\n</div><br>\n<div>\n  <b>£25/month is a lot of money for me, surely you want Premium Mob to be affordable to everyone, everywhere?</b>\n</div><br>\n<div>\n  Of course we do; however we also want to make our operation sustainable. If you can't afford £25/month please contact <a href=\"mailto:info@agileventures.org\">info@agileventures.org</a> and we will see if we can find sponsorship to cover some or all of the costs of your Premium Mob membership.\n</div>"
  },
  {
    "path": "app/views/pages/premium_plus.html.erb",
    "content": "<h2><b>Agile Ventures Premium Plus</b></h2><br>\n<p>Get all the benefits of <a href=\"/premium\">premium and mob membership</a> AND</p>\n<ul>\n  <li>Two hours of pair programming time with an AV <a href=\"http://www.agileventures.org/mentors\">mentor</a> on an AV project each month</li>\n  <li>Personalized professional development plan</li>\n  <li>Voting rights in AV general meetings</li>\n  <li>Discount to the <a href=\"https://craftacademy.se/international/\">CraftAcademy</a> Bootcamp</li>\n</ul><br>\n<div class=\"text-center\">\n  <span class=\"btn btn-primary btn-block\" style=\"padding: 5px; width: 60%; border-color: #ee7335; background: #ee7335; display: inline-block; font-size: 1.3em;\"><a href=\"http://www.agileventures.org/subscriptions/new?plan=premiumplus\"><b><font color=\"#ffffff\">Get Started with Premium Plus</font></b></a></span>\n</div><br>\n<div>Membership Plans <a href=\"http://www.agileventures.org/membership-plans\">Overview</a></div><br>\n<h3>Details of Plan Benefits:</h3><br>\n<p><b>Pair Programming with an AV mentor</b></p>\n<div>\n  AgileVentures <a href=\"http://www.agileventures.org/mentors\">mentors</a> are experienced pair programmers who will pair program with you over the course of a two hour session to help you improve your pairing style, your coding skills and your Agile development technique. Coding will be on an AgileVentures project. Any project can become an AgileVentures project given that it meets the following criteria:\n  <ul>\n    <li>Open Source</li>\n    <li>Open Development</li>\n    <li>Charitable Objective (as assessed by board of Trustees)</li>\n  </ul>\n  <p>Additional pairing hours can also be purchased.</p>\n</div><br>\n<p><b>Personalized professional development plan</b></p>\n<div>\n  A senior Agile Ventures <a href=\"http://www.agileventures.org/mentors\">mentor</a> will work with you to understand your professional development goals, and created a personalized plan to help you achieve them.\n</div><br>\n<p><b>Voting rights in AV general meetings</b></p><br>\n<div>\n  AgileVentures is registering as an official UK charity and as such is bound by regulations relating voting rights for members at Annual General meetings. Becoming an Agile Ventures Premium member registers you as a full official member of the UK charity with voting rights in General meetings where you can influence the high level direction of the charity, selection of charity Trustees and so forth.\n</div><br>\n<p><b>Craft Academy Discount</b></p><br>\n<div>\n  Discount to the <a href=\"https://craftacademy.se/international/\" style=\"background-color: rgb(248, 248, 248);\">CraftAcademy</a> Bootcamp. (Based on prices as of 16/6/16)\n  <ul>\n    <li>£2600 (60% discount) for a remote spot</li>\n    <li>£5700 (20% discount) for a on-site spot in Sweden</li>\n  </ul>\n  <span class=\"s1\">Craft Academy remote students need to be in a timezone within 2 hours of UTC and must also not be a resident of Sweden. For on-site training a valid visa to Sweden is required.</span>\n</div><br>\n<hr>\n<div>\n  AgileVentures Premium Plus membership is currently £100 a month. Please email <a href=\"mailto\">info@agileventures.org</a> if you need to adjust or cancel your subscription.\n</div><br>\n<p><a href=\"http://www.agileventures.org/subscriptions//new?plan=premiumplus\">Sign up for Premium Plus Membership</a></p><br>\n<h3>Frequently Asked Questions</h3><br>\n<div><b>Don't free-tier and premium members get pair programming time with AV Mentors already?</b></div><br>\n<div>\n  Agile Ventures supports ad-hoc pairing all round the world, but we can't guarantee that any free-tier or premium member will necessarily get pairing time with a senior AV mentor. We've had feedback from members that it would be easier to pair if they could rely on having a senior AV mentor available at a particular time and date specified in advance. If we're going to ask senior AV mentors to commit to pairing times in advance we need to be able to compensate them for their efforts. We've tried operating on a purely ad-hoc basis for several years, and premium plus membership is designed to increase the chances of successful learning and good progress on the charitable projects that we support by compensating senior AV members for committing their time.\n</div><br>\n<div><b>PremiumPlus is ten times the cost of Premium. How come?</b></div><br>\n<div>\n  The main cost of premium plus is the time of the Senior AgileVentures Mentor who will work with you for two hours helping you hone your pairing, coding and project management skills; as well as discussing your professional development needs. We need to compensate the mentors who put in their time to help you.\n</div>\n<div><b>Will my PremiumPlus membership auto-renew each month?</b></div><br>\n<div>\n  Yes, you'll be charged each month automatically - please email <a href=\"info@agileventures.org\">info@agileventures.org</a> if you would like to cancel your subscription.\n</div><br>\n<div><b>£100/month is a lot of money for me, surely you want premium plus to be affordable to everyone, everywhere?</b></div><br>\n<div>\n  Of course we do; however we also want to make our operation sustainable. If you can't afford £100/month please contact <a href=\"mailto:info@agileventures.org\">info@agileventures.org</a> and we will see if we can find sponsorship to cover some or all of the costs of your premium plus membership.\n</div>"
  },
  {
    "path": "app/views/pages/pricing.html.erb",
    "content": "<div>\n  AgileVentures helps teams of developers get together to work on open source charity IT projects. In the <a href=\"/free\">free plan</a> developers get project logistics support and the use of AgileVentures Slack and Google hangouts integration for online meetings.\n</div><br>\n<div>\n  AgileVentures also provides <a href=\"/premium\">Premium</a>, <a href=\"/premium_mob\">Premium Mob</a> and <a href=\"/premium_f2f\">Premium F2F</a> membership plans with benefits beyond our <a href=\"/free\">free tier membership</a>. These plans are designed to provide our members with greater support for their professional development as an Agile software developer. See below for details.\n</div><br>\n<div>\n  If you're not trying to level up as an Agile software developer yourself, you can still help out by <a href=\"http://www.agileventures.org/sponsorship\">sponsoring another developer</a> to get the support they can't otherwise afford.\n</div><br>\n<div>\n  <table class=\"tg\" style=\"border-collapse: collapse; border-spacing: 0; border-color: #aaa;\" width=\"100%\" border=\"0\">\n    <tbody>\n      <tr>\n        <td width=\"350px\"></td>\n        <th width=\"65px\" align=\"center\" style=\"font-family: Arial, sans-serif; font-size: 14px; background: rgb(238, 115, 53); padding: 8px;\">\n          <div style=\"text-align: center;\"><a href=\"/free\"><font color=\"#ffffff\">Free</font></a></div>\n        </th>\n        <th width=\"65px\" align=\"center\" style=\"font-family: Arial, sans-serif; font-size: 14px; background: rgb(218, 104, 49); padding: 8px;\">\n          <div style=\"text-align: center;\"><a href=\"/premium\"><font color=\"#ffffff\">Premium</font></a></div>\n          <div style=\"color: rgb(255, 255, 255); text-align: center;\">(£10/month)</div>\n        </th>\n        <th width=\"65px\" align=\"center\" style=\"font-family: Arial, sans-serif; font-size: 14px; background: rgb(52, 73, 94); padding: 8px;\">\n          <div style=\"text-align: center;\"><a href=\"/premium_mob\"><font color=\"#ffffff\">PremiumMob</font></a></div>\n          <div style=\"color: rgb(255, 255, 255); text-align: center;\">(£25/month)</div>\n        </th>\n        <th width=\"60px\" align=\"center\" style=\"font-family: Arial, sans-serif; font-size: 14px; background: rgb(211, 101, 47); padding: 8px;\">\n          <div style=\"text-align: center;\"><a href=\"/premium_f2f\"><font color=\"#ffffff\">PremiumF2F</font></a></div>\n          <div style=\"color: rgb(255, 255, 255); text-align: center;\">(£50/month)</div>\n        </th>\n      </tr>\n      <tr>\n        <td style=\"font-family: Arial, sans-serif; font-size: 14px; padding: 8px;\"><a href=\"/free\">Access to AV Slack</a></td>\n        <td align=\"center\" style=\"padding: 8px; border-left: solid 1px #ddd;\"><img src=\"/assets/check.png\" alt=\"icon\"></td>\n        <td align=\"center\" style=\"padding: 8px; border-left: solid 1px #ddd;\"><img src=\"/assets/check.png\" alt=\"icon\"></td>\n        <td align=\"center\" style=\"padding: 8px; border-left: solid 1px #ddd;\"><img src=\"/assets/check.png\" alt=\"icon\"></td>\n        <td align=\"center\" style=\"padding: 8px; border-left: solid 1px #ddd; border-right: solid 1px #ddd;\"><img src=\"/assets/check.png\" alt=\"icon\"></td>\n      </tr>\n      <tr>\n        <td style=\"font-family: Arial, sans-serif; font-size: 14px; background: #efefef; padding: 8px;\"><a href=\"/free\">Access to AV Scrums</a></td>\n        <td align=\"center\" style=\"background: #efefef; padding: 8px; border-left: solid 1px #ddd;\"><img src=\"/assets/check.png\" alt=\"icon\"></td>\n        <td align=\"center\" style=\"background: #efefef; padding: 8px; border-left: solid 1px #ddd;\"><img src=\"/assets/check.png\" alt=\"icon\"></td>\n        <td align=\"center\" style=\"background: #efefef; padding: 8px; border-left: solid 1px #ddd;\"><img src=\"/assets/check.png\" alt=\"icon\"></td>\n        <td align=\"center\" style=\"background: #efefef; padding: 8px; border-left: solid 1px #ddd; border-right: solid 1px #ddd;\"><img src=\"/assets/check.png\" alt=\"icon\"></td>\n      </tr>\n      <tr>\n        <td style=\"font-family: Arial, sans-serif; font-size: 14px; padding: 8px;\"><a href=\"/free\">Project logistics advice and support</a></td>\n        <td align=\"center\" style=\"padding: 8px; border-left: solid 1px #ddd;\"><img src=\"/assets/check.png\" alt=\"icon\"></td>\n        <td align=\"center\" style=\"padding: 8px; border-left: solid 1px #ddd;\"><img src=\"/assets/check.png\" alt=\"icon\"></td>\n        <td align=\"center\" style=\"padding: 8px; border-left: solid 1px #ddd;\"><img src=\"/assets/check.png\" alt=\"icon\"></td>\n        <td align=\"center\" style=\"padding: 8px; border-left: solid 1px #ddd; border-right: solid 1px #ddd;\"><img src=\"/assets/check.png\" alt=\"icon\"></td>\n      </tr>\n      <tr>\n        <td style=\"font-family: Arial, sans-serif; font-size: 14px; background: #efefef; padding: 8px;\"><a href=\"/free\">User experience review of project (HCI)</a></td>\n        <td align=\"center\" style=\"background: #efefef; padding: 8px; border-left: solid 1px #ddd;\"><img src=\"/assets/check.png\" alt=\"icon\"></td>\n        <td align=\"center\" style=\"background: #efefef; padding: 8px; border-left: solid 1px #ddd;\"><img src=\"/assets/check.png\" alt=\"icon\"></td>\n        <td align=\"center\" style=\"background: #efefef; padding: 8px; border-left: solid 1px #ddd;\"><img src=\"/assets/check.png\" alt=\"icon\"></td>\n        <td align=\"center\" style=\"background: #efefef; padding: 8px; border-left: solid 1px #ddd; border-right: solid 1px #ddd;\"><img src=\"/assets/check.png\" alt=\"icon\"></td>\n      </tr>\n      <tr>\n        <td style=\"font-family: Arial, sans-serif; font-size: 14px; padding: 8px;\"><a href=\"/premium\">Financially support AV mission to help charities <br>and education access for all</a></td>\n        <td align=\"center\" style=\"padding: 8px; border-left: solid 1px #ddd;\"></td>\n        <td align=\"center\" style=\"padding: 8px; border-left: solid 1px #ddd;\"><img src=\"/assets/check.png\" alt=\"icon\"></td>\n        <td align=\"center\" style=\"padding: 8px; border-left: solid 1px #ddd;\"><img src=\"/assets/check.png\" alt=\"icon\"></td>\n        <td align=\"center\" style=\"padding: 8px; border-left: solid 1px #ddd; border-right: solid 1px #ddd;\"><img src=\"/assets/check.png\" alt=\"icon\"></td>\n      </tr>\n      <tr>\n        <td style=\"font-family: Arial, sans-serif; font-size: 14px; padding: 8px;\"><a href=\"/premium\">Eligibility to work on priority and paid projects</a></td>\n        <td align=\"center\" style=\"padding: 8px; border-left: solid 1px #ddd;\"></td>\n        <td align=\"center\" style=\"padding: 8px; border-left: solid 1px #ddd;\"><img src=\"/assets/check.png\" alt=\"icon\"></td>\n        <td align=\"center\" style=\"padding: 8px; border-left: solid 1px #ddd;\"><img src=\"/assets/check.png\" alt=\"icon\"></td>\n        <td align=\"center\" style=\"padding: 8px; border-left: solid 1px #ddd; border-right: solid 1px #ddd;\"><img src=\"/assets/check.png\" alt=\"icon\"></td>\n      </tr>\n      <tr>\n        <td style=\"font-family: Arial, sans-serif; font-size: 14px; background: #efefef; padding: 8px;\"><a href=\"/premium\">Professional Code Review (your PRs reviewed first)</a></td>\n        <td align=\"center\" style=\"background: #efefef; padding: 8px; border-left: solid 1px #ddd;\"></td>\n        <td align=\"center\" style=\"background: #efefef; padding: 8px; border-left: solid 1px #ddd;\"><img src=\"/assets/check.png\" alt=\"icon\"></td>\n        <td align=\"center\" style=\"background: #efefef; padding: 8px; border-left: solid 1px #ddd;\"><img src=\"/assets/check.png\" alt=\"icon\"></td>\n        <td align=\"center\" style=\"background: #efefef; padding: 8px; border-left: solid 1px #ddd; border-right: solid 1px #ddd;\"><img src=\"/assets/check.png\" alt=\"icon\"></td>\n      </tr>\n      <tr>\n        <td style=\"font-family: Arial, sans-serif; font-size: 14px; padding: 8px;\"><a href=\"/premium\">Access to AV Professional Development Slack</a></td>\n        <td align=\"center\" style=\"padding: 8px; border-left: solid 1px #ddd;\"></td>\n        <td align=\"center\" style=\"padding: 8px; border-left: solid 1px #ddd;\"><img src=\"/assets/check.png\" alt=\"icon\"></td>\n        <td align=\"center\" style=\"padding: 8px; border-left: solid 1px #ddd;\"><img src=\"/assets/check.png\" alt=\"icon\"></td>\n        <td align=\"center\" style=\"padding: 8px; border-left: solid 1px #ddd; border-right: solid 1px #ddd;\"><img src=\"/assets/check.png\" alt=\"icon\"></td>\n      </tr>\n      <tr>\n        <td style=\"font-family: Arial, sans-serif; font-size: 14px; background: #efefef; padding: 8px;\"><a href=\"/premium\">Code School NonProfit Discount</a> (save $10 a month)</td>\n        <td align=\"center\" style=\"background: #efefef; padding: 8px; border-left: solid 1px #ddd;\"></td>\n        <td align=\"center\" style=\"background: #efefef; padding: 8px; border-left: solid 1px #ddd;\"><img src=\"/assets/check.png\" alt=\"icon\"></td>\n        <td align=\"center\" style=\"background: #efefef; padding: 8px; border-left: solid 1px #ddd;\"><img src=\"/assets/check.png\" alt=\"icon\"></td>\n        <td align=\"center\" style=\"background: #efefef; padding: 8px; border-left: solid 1px #ddd; border-right: solid 1px #ddd;\"><img src=\"/assets/check.png\" alt=\"icon\"></td>\n      </tr>\n      <tr>\n        <td style=\"font-family: Arial, sans-serif; font-size: 14px; padding: 8px;\"><a href=\"/premium_mob\">Mob programming sessions with assigned AV mentor</a></td>\n        <td align=\"center\" style=\"padding: 8px; border-left: solid 1px #ddd;\"></td>\n        <td align=\"center\" style=\"padding: 8px; border-left: solid 1px #ddd;\"></td>\n        <td align=\"center\" style=\"padding: 8px; border-left: solid 1px #ddd;\"><img src=\"/assets/check.png\" alt=\"icon\"></td>\n        <td align=\"center\" style=\"padding: 8px; border-left: solid 1px #ddd; border-right: solid 1px #ddd;\"><img src=\"/assets/check.png\" alt=\"icon\"></td>\n      </tr>\n      <tr>\n        <td style=\"font-family: Arial, sans-serif; font-size: 14px; background: #efefef; padding: 8px;\"><a href=\"/premium_mob\">Udemy Complete Elixir &amp; Phoenix Bootcamp course</a></td>\n        <td align=\"center\" style=\"background: #efefef; padding: 8px; border-left: solid 1px #ddd;\"></td>\n        <td align=\"center\" style=\"background: #efefef; padding: 8px; border-left: solid 1px #ddd;\"></td>\n        <td align=\"center\" style=\"background: #efefef; padding: 8px; border-left: solid 1px #ddd;\"><img src=\"/assets/check.png\" alt=\"icon\"></td>\n        <td align=\"center\" style=\"background: #efefef; padding: 8px; border-left: solid 1px #ddd; border-right: solid 1px #ddd;\"><img src=\"/assets/check.png\" alt=\"icon\"></td>\n      </tr>\n      <tr>\n        <td style=\"font-family: Arial, sans-serif; font-size: 14px; padding: 8px;\"><a href=\"/premium_mob\">Professional Development Planning Support</a></td>\n        <td align=\"center\" style=\"padding: 8px; border-left: solid 1px #ddd;\"></td>\n        <td align=\"center\" style=\"padding: 8px; border-left: solid 1px #ddd;\"></td>\n        <td align=\"center\" style=\"padding: 8px; border-left: solid 1px #ddd;\"><img src=\"/assets/check.png\" alt=\"icon\"></td>\n        <td align=\"center\" style=\"padding: 8px; border-left: solid 1px #ddd; border-right: solid 1px #ddd;\"><img src=\"/assets/check.png\" alt=\"icon\"></td>\n      </tr>\n      <tr>\n        <td style=\"font-family: Arial, sans-serif; font-size: 14px; background: #efefef; padding: 8px;\"><a href=\"/premium_f2f\">Face to Face Hangout support from assigned AV mentor</a></td>\n        <td align=\"center\" style=\"background: #efefef; padding: 8px; border-left: solid 1px #ddd;\"></td>\n        <td align=\"center\" style=\"background: #efefef; padding: 8px; border-left: solid 1px #ddd;\"></td>\n        <td align=\"center\" style=\"background: #efefef; padding: 8px; border-left: solid 1px #ddd;\"></td>\n        <td align=\"center\" style=\"background: #efefef; padding: 8px; border-left: solid 1px #ddd; border-right: solid 1px #ddd;\"><img src=\"/assets/check.png\" alt=\"icon\"></td>\n      </tr>\n      <tr>\n        <td style=\"font-family: Arial, sans-serif; font-size: 14px; padding: 8px;\"><a href=\"/premium_f2f\">Voting rights in AV general meetings </a><br>(help decide AV Charity Policy and direction)</td>\n        <td align=\"center\" style=\"padding: 8px; border-left: solid 1px #ddd;\"></td>\n        <td align=\"center\" style=\"padding: 8px; border-left: solid 1px #ddd;\"></td>\n        <td align=\"center\" style=\"padding: 8px; border-left: solid 1px #ddd;\"></td>\n        <td align=\"center\" style=\"padding: 8px; border-left: solid 1px #ddd; border-right: solid 1px #ddd;\"><img src=\"/assets/check.png\" alt=\"icon\"></td>\n      </tr>\n      <tr>\n        <td style=\"font-family: Arial, sans-serif; font-size: 14px; padding: 8px; background: #efefef;\"><span class=\"btn btn-primary btn-block\" style=\"padding: 5px; width: 350px;\"><a href=\"http://www.agileventures.org/sponsorship\"><strong><font color=\"#ffffff\">Sponsor a developer</font></strong></a></span></td>\n        <td align=\"center\" style=\"font-family: Arial, sans-serif; font-size: 14px; padding: 8px; background: #efefef; border-left: solid 1px #ddd;\"><span class=\"btn btn-primary btn-block\"><a href=\"http://www.agileventures.org/users/sign_up\"><font color=\"#ffffff\"><b>Get Started</b></font></a></span></td>\n        <td align=\"center\" style=\"font-family: Arial, sans-serif; font-size: 14px; padding: 8px; background: #efefef; border-left: solid 1px #ddd;\"><span class=\"btn btn-primary btn-block\" style=\"padding: 5px;\"><a href=\"http://www.agileventures.org/subscriptions/new\"><b><font color=\"#ffffff\">Get Started</font></b></a></span></td>\n        <td align=\"center\" style=\"font-family: Arial, sans-serif; font-size: 14px; padding: 8px; background: #efefef; border-left: solid 1px #ddd;\"><span class=\"btn btn-primary btn-block\" style=\"padding: 5px;\"><a href=\"http://www.agileventures.org/subscriptions/new?plan=premiummob\"><b><font color=\"#ffffff\">Get Started</font></b></a></span></td>\n        <td align=\"center\" style=\"font-family: Arial, sans-serif; font-size: 14px; padding: 8px; background: #efefef; border-left: solid 1px #ddd; border-right: solid 1px #ddd;\"><span class=\"btn btn-primary btn-block\" style=\"padding: 5px;\"><a href=\"http://www.agileventures.org/subscriptions/new?plan=premiumf2f\"><b><font color=\"#ffffff\">Get Started</font></b></a></span></td>\n      </tr>\n    </tbody>\n  </table>\n</div>\n"
  },
  {
    "path": "app/views/pages/remote-pair-programming/analysis.html.erb",
    "content": "<div class=\"container\">\n<div style=\"display:block;text-align:left\"><a href=\"https://dl.dropboxusercontent.com/u/13196858/RPP.pdf\">Poster on remote pair programming in 169 MOOC:  </a><br>\n</div>\n<div style=\"display:block;text-align:left\"><br>\n</div>\n<div style=\"display:block;text-align:left\">This is a heatmap of the distribution of students taking the edX CS 169 Software as a Service course who responded to a survey on remote pair programming</div>\n<div style=\"display:block;text-align:left\"><br>\n</div>\n<div style=\"display:block;text-align:left\"><a href=\"https://sites.google.com/site/saasellsprojects/remote-pair-programming/analysis/CS169StudentLocationHeatmap.png?attredirects=0\" imageanchor=\"1\"><img border=\"0\" height=\"190\" src=\"https://sites.google.com/site/saasellsprojects/remote-pair-programming/analysis/CS169StudentLocationHeatmap.png?height=190&amp;width=400\" width=\"400\"></a></div>\n<div style=\"display:block;text-align:left\"><br>\n</div>\n<div style=\"display:block;text-align:left\">Here is the same heatmap but weighted as a function of self reported hours per week spent remote pair programming by those students.</div>\n<div style=\"display:block;text-align:left\"><br>\n</div>\n<div style=\"display:block;text-align:left\">\n  <div style=\"display:block;text-align:left\"><a href=\"https://sites.google.com/site/saasellsprojects/remote-pair-programming/analysis/CS169StudentLocationHeatmap-WeightedByHoursRemotePairing.png?attredirects=0\" imageanchor=\"1\"><img border=\"0\" height=\"193\" src=\"https://sites.google.com/site/saasellsprojects/remote-pair-programming/analysis/CS169StudentLocationHeatmap-WeightedByHoursRemotePairing.png?height=193&amp;width=400\" width=\"400\"></a></div>\n  <br>\n</div>\n<div style=\"display:block;text-align:left\">And again the same heatmap but this time weighted as a function of self reported number of remote pair programming sessions attended by these students.</div>\n<div style=\"display:block;text-align:left\"><br>\n</div>\n<div style=\"display:block;text-align:left\">\n  <div style=\"display:block;text-align:left\"><a href=\"https://sites.google.com/site/saasellsprojects/remote-pair-programming/analysis/CS169StudentLocationHeatmap-WeightedByFrequencyOfRemotePairing.png?attredirects=0\" imageanchor=\"1\"><img border=\"0\" height=\"192\" src=\"https://sites.google.com/site/saasellsprojects/remote-pair-programming/analysis/CS169StudentLocationHeatmap-WeightedByFrequencyOfRemotePairing.png?height=192&amp;width=400\" width=\"400\"></a></div>\n  <br>\n</div>\n<div style=\"display:block;text-align:left\"><b>Below are the anonymized qualitative responses for each of the long answer questions from the survey:</b></div>\n<div style=\"display:block;text-align:left\"><br>\n<div style=\"display:block;text-align:left\">TODO: sort all groups below extracting similar sentiments into categories with counts</div>\n<div style=\"display:block;text-align:left\"><br>\n</div>\n<div style=\"display:block;text-align:left\">\n  <div><b>First remote pair programming experience</b></div>\n  <div>\n    <ul><li><span style=\"color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:13px;background-color:transparent;line-height:1.6\">The event creator was very good at keeping the task focused. All people who took part had already done homeworks, so it was actually a check and a verification. &nbsp;I had trouble from the lower resolution of my notebook (it was not always easy to read other people' screen), from my difficulty to speak fluently english, and to understand it as well (I'm a bit hard of hearing).&nbsp;Later I was frustrated when during pair programming was required googling. (196) [clarified with student: \"<span style=\"font-size:13px\">I thought homeworks had to be done before and people was supposed to take part to pair programming with clear thoughts about how to do things. So looking at someone doing web search looked quite a waste of time.</span>\"]</span></li>\n      <li><span style=\"color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:13px;background-color:transparent;line-height:1.6\">Waste of time. Lot's of talk, less than 10 lines of code as a result. (192)</span></li>\n      <li><span style=\"color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:13px;background-color:transparent;line-height:1.6\">I couldn't do remote pair programming because of net problem (187)</span></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"font-size:12.800000190734863px;line-height:16px\">AWKWARD AT FIRST&nbsp;</span></font><span style=\"font-size:12.800000190734863px;line-height:16px;color:rgb(0,0,0);font-family:arial,sans,sans-serif;background-color:transparent\">as time went on it got smoother and seemed more productive (179)</span></li>\n      <li><span style=\"font-size:12.800000190734863px;line-height:16px;color:rgb(0,0,0);font-family:arial,sans,sans-serif;background-color:transparent\"><span style=\"font-size:13px\">Never really figured how it works. Couldn't find any useful session when I needed it. No one came to pairing event when I created one. (178)&nbsp;</span></span></li>\n      <li><span style=\"font-size:12.800000190734863px;line-height:16px;color:rgb(0,0,0);font-family:arial,sans,sans-serif;background-color:transparent\"><span style=\"font-size:13px\">Worked with a knowledgeable individual and it was very informative for me, and I think I was able to contribute as well. We finished the homework and worked professionally. (168)</span></span></li>\n      <li><span style=\"font-size:12.800000190734863px;line-height:16px;color:rgb(0,0,0);font-family:arial,sans,sans-serif;background-color:transparent\"><span style=\"font-size:13px\">Never happened: I don't like other people. (158)</span></span></li>\n      <li><span style=\"font-size:12.800000190734863px;line-height:16px;color:rgb(0,0,0);font-family:arial,sans,sans-serif;background-color:transparent\"><span style=\"font-size:13px\">I only participated in one programming session and it was a mutually beneficial experience. It was good to watch others (I learned tricks and little syntax notations that I wasn't familiar with before). Also, I had an idea of how to approach a problem that helped another solve the homework. The reason that I didn't continue was because I didn't feel confident in my programming abilities to be able to 'remote' pair with someone. Perhaps this is something inherent to me, but I feel like I need to 'know' 80% of the homework before I can enter a pair session. (152)</span></span></li>\n      <li><span style=\"font-size:12.800000190734863px;line-height:16px;color:rgb(0,0,0);font-family:arial,sans,sans-serif;background-color:transparent\"><span style=\"font-size:13px\">This was for HW0. It was a little awkward getting the hang of the technology for the session. We started as a group of three but eventually had four people show up and split into two groups. The group I was in only got about halfway through the homework before it got too late, but we were productive during this time and I believe everyone viewed the session as a success. I was the driver and I certainly benefited from the input of the other participants, who usually had a solution when I got stuck on some bit of syntax. (149)</span></span></li>\n      <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\">It was nice. We enjoyed. (141)</span></li>\n      <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\">Great experience. The second pair of eyes can spot obvious errors which one is blind to see. (137)</span></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"line-height:13.333333015441895px\">\"Great thing, want to use it as often as possible&nbsp;</span></font><span style=\"color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:small;line-height:16.639999389648438px\">(135)</span></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\">Good experience. Lot of sharing ideas. Encouragement, Brain storming, Highly productive, got more things done than possibly imagined. Discovered my own strengths and learned from others by doing. (127)</span></font></li>\n      <li><span style=\"background-color:transparent\"><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\">During one of the early homeworks I worked with a Spanish guy living in Finland. It believe it was HW1 (pure ruby). We quickly completed the assignment despite the distractions of other people logging into the Google Hangout and not knowing how to use the Google software because it was their first attempt at pair programming. All in all, many distractions but I enjoyed seeing someone else's approach and definitely learned some new tricks from it. (126)</span></font></span></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\">I created a hangout. 3 people responded and 1 actually turned up. We paired up and he drove, since he had already made a start on the project. We didn't use any video, just screen share and audio (116)</span></font></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\"><span style=\"font-size:13px\">Memory game in java, monopoly game in c++, scrable game in java, poker game in java. (103)</span></span></font></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\"><span style=\"font-size:13px\">Very easy, I use remote desktop programs like TeamViewer. (99)</span></span></font></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\"><span style=\"font-size:13px\">I was too scared of my lack of programming prowess to have it publicly compared. (98)</span></span></font></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\"><span style=\"font-size:13px\">Hi, my first remote pair programming experience was good, and very intective . I had fews information. but after got stuck on ruby and rails session I decided to wait for the next open CS169.1 course. (94)&nbsp;</span></span></font></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\"><span style=\"font-size:13px\">my first pair programming was in a company with another employee, in the first week i was there. I had to see how he worked to learn the way of doing the tasks. (93)</span></span></font></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">Trying to create php code to communicate with a MySQL database when working at MySQL. (85)&nbsp;</span></span></span></font></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">My first pair programming experience was for saas. &nbsp;I set up the class machine on AWS, installed tmux, wemux, and vim, and cloned my vim configuration files from github.  The webcam &amp; mike on my computer are broken, so we just used irc to talk.&nbsp;My pair was someone I knew from previous moocs.  He's a professional programmer but had never paired before. We took turns \"driving\".  Generally one of us would do a problem, then the other would write tests for it; then we'd swap for the next problem.&nbsp;It was interesting how often we were able to catch one another's syntax &amp; logic errors right away.  If there was syntax neither of us remembered we'd both use google and/or a repl on our local machine until one of us figured it out.&nbsp;There was some confusion when we both tried to take the cursor, but we eventually got used to explicitly asking for control.  He didn't like some of my vim keybindings though :).&nbsp;Overall it was very fun. (84)</span></span></span></span></font></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">My first remote programming experience was strange. Was in there with people I've never talked with, there were many in the session and were like divided into groups developing different parts of a homework.(80)</span></span></span></span></span></font></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">It was not quite as productive as I had hoped. There were 4-5 of us in a Google hangout, and there were a lot of technical issues. At first, my screen wouldn't share. So I logged out and logged back in. Then Mike's screen wouldn't share. So he had to log out and log back in. Then it was OK.&nbsp;We were all stuck in sort of different places, and it was kinda hard to help someone debug without physical access. I would say things like \"did you run bundle install\" and \"did you do rake db migrate\" and he would say yes. (78)</span></span></span></span></span></span></font></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">It was good, but not as enriching to me because I lacked the Ruby and Rail knowledge to be able to focus on the problem and not the tools (reading API's, tutorials...).&nbsp;We were 4 of us but some leave at the middle and some other came latter.&nbsp;We did not use voice, just the chat. (73)</span></span></span></span></span></span></span></font></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">10 min: people arriving late&nbsp;30-45 min: getting setup. Getting google talk to work for everyone. Showing people how to share screens. Canceling people's mics.&nbsp;Coding. People taking pictures with the google hangout camera app.  Getting some things done.&nbsp;People leaving. (64)</span></span></span></span></span></span></span></span></font></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I was an intern as a company working with .NET framework. It mostly involved me being walked through DDD and the different 'layers'. Very passive. (61)&nbsp;</span></span></span></span></span></span></span></span></span></font></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">It took a while to get up and running. There were maybe 4 people who joined, but it quickly turned into a session where it was just me and one other person. We made a little progress, but the assignment was pretty difficult, so we were unable to complete it. Still managed to share my knowledge with the other person, and I learned a few things from that person as well. (60)</span></span></span></span></span></span></span></span></span></span></font></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">It was quite good. We swap the roles and we finish in half of the time I would need alone. (58)</span></span></span></span></span></span></span></span></span></span></span></font></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">first, fear - who will come, how to setup this;&nbsp;but also curiosity - who will show up;&nbsp;in end, joy, because it ended as adventure, homework done, &nbsp;and human communication makes it more \"real\".&nbsp;Unexpectedly interesting. (48)</span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I tried to use pair programming in saas CS 169.1x but I don't understand by myself yet. So I didn't participate (47)</span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">It was really an amazing experience. Thanx to edX. For initial part, I was the observer and in the later part I acted as driver. I felt wonderful to have worked with someone whom I never knew and in within no time, we felt like partners made for each other. My partner, he was really a patient and cool one. It was thrilling when I came to know that it was morning time for him and midnight for me. Being an observer in initial stage, I felt good of the Ruby language and how to make use of Documentation effectively and efficiently and especially the Ruby style of coding. (45)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">It was a little difficult due to laptop being maxed out and trying to switch between so many windows.  I just ordered a second monitor and more RAM, and will give it another try in 169.2  Oh and I didn't have a real headset, do now though.&nbsp;The hw we were working on in the hangout was on the easier side and I kind of already had an idea of how to do it so it was easy for me to follow along.   There were 4 of us and at times more than one person was command your attention, but again since I already familiar it was too disctracting. (42)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">here in course, by a group, was fun. solved problem together. (41)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">Awkward.  When I joined the first session there were already 7 people in the session but 2 people were really the only ones working/contributing.  I tried to get some people to break out into another session but frankly there wasn't a good or easy way to do that.  I ended up leaving after 5 mins and decided to create an event of my own for the next day.   That one went better because we only had 3-4 people participating. (38)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">A bit hard to split on pairs (35)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">It was quite nice. I had the possibility to talk while I am working. I do programming quite a lot alone. So, this is new for me. It's like a forum in realtime. :-) (33)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I jumped into someone else's hangout for HW1.5. I couldn't find my mic at the time, so I was scrambling to type in order to keep up with the conversation, but my messages often weren't read for some time. Subsequent pair programming sessions with my mic were much easier. It was still useful, and a great learning tool, however I find (and continued to find) that it is a very slow and laborious process. It was much quicker for me to bang out the problem myself after I left my first pair programming session. Later sessions were again more useful, since I had become more experienced I was able to offer more help, and seemed to glean more from watching others. (31)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">It was great. Nothing special to be detailed out but yeah it was quite a professional one to be precise. (30)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">It was interesting and a little bit confusing. There were 4 of us, and one guy didn't have a microphone, which prevented him from participating more. Some other people showed up in the hangout but did not participate.&nbsp;As for the programming, it didn't feel much like pair programming, as in a driver-observer activity. It was more like a disorganized group programming.&nbsp;The hangout worked surprisingly well for screensharing, and we could comment on each other's code without any problems.&nbsp;However, I couldn't get the hangouts to work from inside the VM, it kept crashing, so I had to connect from my host machine and switch to the VM to code and then back to the host to paste something and so on and so forth, which has been annoying.&nbsp;It was also interesting to meet people from such different backgrounds, like a highschool student from Bangladesh, although his accent was a little bit difficult to understand. (29)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I learn more from peer even if I already have a working code solution (28)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">It was very slow for all, because we was a bit shy. Then, when we had more confidence was more fluid. But we didn't do pair programming correctly, we done something more like to group work. (26) </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">The very first time was with this course. It was brilliant. For the first time in many years I felt really happy programming again. There were two of us, plus we had the assistance of one of the brilliant TAs (Mr.Jonez/Jones - From Boston, I think). We met up three times and worked together/helped each other out. One of the best experiences I've had in any course I've ever done, EVER! (25)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">Like an internet chat, but every one is decent and talks on one single topic (24)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I had never done remote pair programming before this course however in person pair programming I had done before. For my first session, I created a Google hangout and a few people joined. I believe we were 4 in total. Once everyone was connected and ready to go (which took a long time) things started to move quickly. We went section to section one 'driving' and the others making their observations. We got the entire homework done in a couple of hours, much quicker I think than if we had done it individually. With others watching, they help you avoid the silly mistakes. (22)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">Difficulties to use tool (hangouts) garding sound volume, video, sharing during 5 min &nbsp;Difficulties, who must take the lead in the remote pair programming to rhythm the session (19)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">chat-only on HW1.5 of 169.1 &gt; was a bit strange at first but worked remarkably well because more then 1 session is possible and it gives the possibility to participate in multiple sessions. (18)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">Preparation is key. Do not expect much os a remote pair programming session without being prepared. (17)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I was pair programming with fellow 169.1x student YA and we were discussing how to implement full tests for sorting a bunch of movies in the RottenPotatoes app. We had spent a lot of time trying to do it without success, until he made some random comment that got me googling different ruby methods and bam! A one-liner solution. (16)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I scheduled a pair programming session but had difficulty setting up a G+ hangout at first, as I'm not used to the platform. In the end I invited one of the students who had indicated he would be attending my session.&nbsp;I paired with an American living in the Puerto Rico who was very worried about being the weaker programmer. I reassured him that I was also a Ruby novice and that I hoped to transfer some of my PHP skills into my Ruby programming.&nbsp;I took the drivers seat and wrote the first 2 methods of SaaS HW1, my partner contributed by looking up method calls and syntax in a paper Ruby book he had to hand.&nbsp;I'm not very talkative, but my partner did stop me to ask questions and point out any errors or weaknesses in my code.&nbsp;When I offered him a turn to drive he got nervous and worried that he would slow us down, he insisted I drive for the remainder of the session.&nbsp;When the HW was completed we shared the code by copy pasting in the chat window and submitted to the AutoGrader.&nbsp;After receiving a passing grade we chatted a little and then signed off. (14)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">5 or six people dropping in and out, some lurking while two got after it and I was able to get a helpful screenshot or two as they progressed. Even though I was not at their point in the hw, and their code was not done, it helped to have something to look at later. I have no microphone, so can be frustrating. I joined late, they finished up in about a half hour later and everyone left. (13)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I joined the class a week late so was playing catchup the entire time.  Everyone was always a few steps ahead of me, so I felt most of the work was done on my own. (13)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">It was beneficial because both could learn some things from each other, but at some point I found out it was pretty boring for me. I had to explain a lot of things I did and at some times we didn't agree about how to solve something so the one that was coding just tryed his/her idea and the other one had to watch and wait to see if it worked. I think we managed to find out what caused the errors easier than it would be if we were working by ourselves, though. (10)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I did not know whether we will use webcams or not, but found out it is not required when I joined, I wasn't preparing the assignment.&nbsp;I thought that we read the assignment and think about it one after the next, but I found out other people in the session were well prepared, some of them had the code already written. !&nbsp;I actually had to ask them, that I was thinking that we will do the assignments together as each one start dive into one of the problems and we loop throw them, as a real pair programming session, not just sharing our answers, and they agreed, and decided to start fresh.&nbsp;The session was really useful, we came up with different ideas and really nice code, that no one could do alone. I think each of us really came up with an idea in the code that made it much much better, which was something really nice.&nbsp;Overall the experience was really great and I learned a lot from it and looking to do my next assignments in pair programming as well. (8)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">My first pair programming was with another community TA on a agile project. The other person has paired before. So, he was able to lead the session properly and involve me in the pairing.<br>\nWe used ping pong github and screenshare (7)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">My first remote pair programming session was while conducting a google hangout for the programming hw1 of CS 169.1x, a course on SAAS offered by edx.org as a world TA. In this session i pair programmed with others for the homework which included basic ruby programs. (6)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">If you ignore the fact that because of my anxiety to provide as good an experience as others had provided me, i could barely speak, everything else was pretty great. (3)&nbsp;</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">i have been trying to know the exact time for the lectures but i could not that is why i give it up we need the time for the lectures to be post to our mail on on the home page of the course in GMT and the link for the live session so that we will know how to attained the and participate in the activities (212)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">It wasn't good. Because we were to many inside one single google hangout. But after, I attended a real pair programming session, we were two. This was interesting to get another perspective about a problem which combined with mine give us better solution. (225)<br>\n</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li></ul>\n    <div><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\"><br>\n</span></font></div>\n    <div><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\"><br>\n</span></font></div>\n    <div><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\"><span style=\"line-height:16.639999389648438px\"><br>\n</span></font></div>\n    <ul><li><span style=\"background-color:transparent\"><font color=\"#000000\" face=\"arial, sans, sans-serif\" size=\"2\">Followed up with 196 who described pairing experiences at work&nbsp;</font></span></li></ul>\n  </div>\n  <div>\n    <ul><li><span style=\"background-color:transparent;line-height:1.6;font-size:10pt\">Using screen on a Unix host. This is the method I used the most.&nbsp;</span></li>\n      <ul><li><span style=\"background-color:transparent;line-height:1.6;font-size:10pt\">In this scenario, both people would sign on to a common unix host. &nbsp;One person would start a screen &nbsp;and provide the credentials so that the other person(s) could watch the session or interact with the session. &nbsp;This method allows both people to actually make changes during the session when it makes sense to switch control. &nbsp;This method requires that you use an editor on the unix box like vi / vim, which is not always efficient. &nbsp;It worked well for me.</span></li></ul>\n      <li><span style=\"background-color:transparent;font-size:10pt;line-height:1.6\">Using screen sharing on google+ hangouts, fuze</span></li>\n      <ul><li><span style=\"background-color:transparent;font-size:10pt;line-height:1.6\">We used this method most of the time for training, but also for pair programming. &nbsp;It allows you to use a GUI editor.</span></li>\n        <li><span style=\"background-color:transparent;font-size:10pt;line-height:1.6\">We also used this quite often for the daily 15 minute meetings with the team so that everyone could see the rapid board with the work actively underway. &nbsp;I hesitate to call it scrum, because we didn’t have a scrum master. &nbsp;We had a project manager who led the meeting and then a group of programmers and QA engineers.</span></li></ul>\n      <li><span style=\"background-color:transparent;line-height:1.6;font-size:10pt\">Sitting side-by-side if you happen to be in the same office</span></li>\n      <ul><li><span style=\"background-color:transparent;line-height:1.6;font-size:10pt\">This uses whatever GUI the pair decides is best.</span></li></ul></ul>\n  </div>\n</div>\n<div style=\"display:block;text-align:left\"><br>\n</div>\n<div style=\"display:block;text-align:left\">\n  <div><span style=\"font-size:13px;font-family:arial,sans,sans-serif;font-weight:bold;color:rgb(0,0,0);text-align:center\"><br>\nAny other thoughts on remote pair programming sessions and how they are connected to MOOCs like edX 169?</span></div>\n  <div>\n    <ul><li><span style=\"background-color:transparent;line-height:1.6;font-size:10pt\">Would prefer the MEAN stack (205)</span></li>\n      <li><span style=\"color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:13px;background-color:transparent;line-height:1.6\">It was really challenging, really. pair programming does not require only programming, but it's about the more broad social/meeting skills Dave was speaking about in the SAMOSAS lesson. (196)</span></li>\n      <li><span style=\"color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:13px;background-color:transparent;line-height:1.6\">I think the pair programming should go in pairs. With these hangouts, oftentimes you get up to 10 people at a time, each at a different point with a different problem, and folks tend to leave unless their patient enough to wait for somebody to pay attention to them. &nbsp;(195)</span></li>\n      <li><span style=\"color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:13px;background-color:transparent;line-height:1.6\">I like it, but unfortunately didn't have chance to work on every HW in pair programming way (190)</span></li>\n      <li><span style=\"color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:13px;background-color:transparent;line-height:1.6\">I think they have their place, however for a course like edX 169 and other MOOCs, I would really like to see an offering of the course materials that lets you go through at your own pace. The course structure really doesn't leave much time for a working professional who has a wife and children to fit it in, yet I don't need to turn to forums at all for assistance, I know very well how to use Google, so I would simply have preferred going through the course with less stringent deadlines for a certificate that doesn't really count in the real world yet. (186)</span></li>\n      <li><span style=\"color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:13px;background-color:transparent;line-height:1.6\">I have a very young family with 3 small children and I found that I could not allocate time blocks for working on the course. When I had the chance to get something done I grabbed it so I don't think this fit well with the idea of setting up or joining pre-organised sessions. (182)</span></li>\n      <li><span style=\"color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:13px;background-color:transparent;line-height:1.6\">I would like to see non-assessable (i.e. \"non-credit\") programming tasks which are related to the assessable homework programming questions and where there is no constraint on communication between students, i.e. no need to worry about breaking the honour code. (180)</span></li>\n      <li><span style=\"color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:13px;background-color:transparent;line-height:1.6\">Having never used any of the pair programming technologies before it just added and overloaded my ability to accommodate the number and amount of new software tools required during the first 2 weeks of class. Suggest adding a 1- 2 week Pre course setup sessions to get the infrastructure in place so class content can be the focus from day one of the course. The course is over and I still don't have many of the tools working including; Heroku, AWS, putty, SSH, shared folders, Hangouts, rotten potatoes, to name a few. Did buy the ebook, and a Ruby book and did CodeSchool, and ruby Zombies in the hopes that I'll get thru ed169.1 next time. (178)&nbsp;</span></li>\n      <li><span style=\"color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:13px;background-color:transparent;line-height:1.6\">PP can be very beneficial to coding, but it can present special problems to learning, as well as some solutions. Studying together is not a bad thing, but it's really not exactly pair programming, it's a study session. So while working together is helping, I don't think many here are getting the full experience of PP yet. On the other hand, we are getting what you should expect from a class- exposure if not immersion. (168)</span></li>\n      <li><span style=\"color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:13px;background-color:transparent;line-height:1.6\">I think it's a great idea. There are probably incremental improvements that could be made to the process (there always are) but I can't think of any and it certainly worked as-is. Perhaps a tutorial screencast just to run through how the technology (Google+, etc.) is used and a sample session? (149)</span></li>\n      <li><span style=\"color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:13px;background-color:transparent;line-height:1.6\">I do not think remote pair programming is convenient for MOOCs. ...&nbsp;I think it would be achievable only between programmers that are in the same level. Especially for edX 169 where much of time one would spend is to find the syntax details or bits and pieces of rails, I do not think it would work for me. ...&nbsp;I do love the concept of pair programming but for a course where you don't just start writing code, but you spent a lot of time searching through Google or studying the ruby and rails docs, I believe it is very hard to accomplish satisfactory pair work. (137)</span></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"font-size:12.800000190734863px;line-height:16.639999389648438px\">Great idea and thanks for encouraging us to do this! I have really learned a lot (and looking at job ads it appears this skill is in demand) (126)</span></font></li>\n      <li><font color=\"#000000\" face=\"arial, sans, sans-serif\" style=\"background-color:transparent;line-height:1.6;font-size:10pt\"><span style=\"font-size:12.800000190734863px;line-height:16.639999389648438px\">\"I find it extremely hard to schedule time where I can commit to working on the assignments because I have to fit it in with work, family, etc. It is also incredibly difficult being in a timezone much different to most others. This makes it hard to schedule and/or commit to pair programming, which is why I didn't even try until CS169.2x hw1. &nbsp;</span></font><span style=\"background-color:transparent;font-size:12.800000190734863px;color:rgb(0,0,0);font-family:arial,sans,sans-serif;line-height:16.639999389648438px\">BTW, Tutorials are at 1am, so I don't really get access to them. There is virtually no chat during my night hours.\" (116)</span></li>\n      <li><span style=\"background-color:transparent;color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\">May be a tutor on line (like a helpdesk) can resolve some questions, it must be a plus. (99)</span></span></li>\n      <li><span style=\"background-color:transparent;color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\">It looks like that it's effectively there. Personally, I found it too intimidating to try. (98)</span></span></li>\n      <li><span style=\"background-color:transparent;color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\">Another reason I didn't do any pair programming is I fell behind schedule. So when I was finishing HW 1.5 everyone else was finishing HW 2, etc. (95)</span></span></li>\n      <li><span style=\"background-color:transparent;color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\">I think that technically the Google hangouts platform isn't there yet.&nbsp;I think that maybe a better use would be having each student work individually, then chat if any issues.(78)&nbsp;</span></span></li>\n      <li><span style=\"background-color:transparent;color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I like the idea, but in my case I prefer the individual work. (73)</span></span></span></li>\n      <li><span style=\"background-color:transparent;color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">It's interesting but I was always fighting to keep up to date with the course and didn't have time to pair-program (66)</span></span></span></span></li>\n      <li><span style=\"background-color:transparent;color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">Remote pair programming might not have been as bad if &nbsp;1) the course specified a default technology for screen-sharing. (As it was, squinting at the screen for that length of time was challenging.)&nbsp;2) It were easier to arrange sessions. I have trouble planning specific times when I'll be able to do homework, and prefer to do it when the time presents itself.&nbsp;3) The virtual machine worked smoothly with the google talk plugin. (64)</span></span></span></span></span></li>\n      <li><span style=\"background-color:transparent;color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">It seems like not many people are actually doing the pair programming. Considering how many people take the class, there doesn't seem to be many people doing pair programming. (60)</span></span></span></span></span></span></li>\n      <li><span style=\"background-color:transparent;color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I take online courses so I can work at my own pace to learn.  I don't like the artificial deadlines of the traditional learning experience.  Were I taking this course in order to find a job in the industry, I might try pair programming.  However that is not the case.  I work alone and things get done when they get done.  It would be nice to see MOOCs get away from the traditional learning race.  Slow down and let people enjoy life and learning. (53)</span></span></span></span></span></span></span></li>\n      <li><span style=\"background-color:transparent;color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">They were a huge distraction from the actual material. (49)</span></span></span></span></span></span></span></span></li>\n      <li><span style=\"background-color:transparent;color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">No - just want to use this opportunity to thank everyone who helps in chat. For me, time is very limited and it really helps to get a quick thought or advice from someone when I get stuck. (34)</span></span></span></span></span></span></span></span></span></li>\n      <li><span style=\"background-color:transparent;color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">They are great. (30)</span></span></span></span></span></span></span></span></span></span></li>\n      <li><span style=\"background-color:transparent;color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I think people would be more likely to take the role of observer and stick to it if they could be sure that they would have the code to submit to the grader afterwards. I feel that most (all?) of my partners and I myself didn't commit to the role because we wanted to write everything down as it happened.&nbsp;Also, I think one thing that would be nice is a place to show up and say \"hey, I can pair right now\". I tried doing this in the g+ events but no one showed up. I don't know if it's because noone was available or if it is because nobody saw it on time.&nbsp;I also posted on the chat but no response from there.&nbsp;A little bit after I started the last homework I decided to try cloud9 and I really like it. I think I'll try using it for 169.2. (28)</span></span></span></span></span></span></span></span></span></span></span></li>\n      <li><span style=\"background-color:transparent;color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I done this activity, pair programming, only with persons that I knew before the course. I didn't do with stranger. (26)</span></span></span></span></span></span></span></span></span></span></span></span></li>\n      <li><span style=\"background-color:transparent;color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">Google + is fairly resource intensive and people with lower spec'd (older hardware) may not get the full benefit. Skype group/conf call in conjunction with Cloud9 worked great. (25)</span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n      <li><span style=\"background-color:transparent;color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I hope the future gives us the ability to develop in your favorite ide via the net (23)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n      <li><span style=\"background-color:transparent;color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">One problem that I experienced was that when you are supposed to navigate, you are obviously worried about getting your code working as well so you have to sort of drive on your own, on the side, while navigating for the other person. That is tough on one screen especially with the virtual machine going. I think the problem could stem from the fact that in an in-person pair programming session you are using the same computer/code so you get the code working together but in the course, we each have to submit our own code set so your first priority is not working with the other whether you are navigating or driving, you are worried about getting your code working on your PC as working on one code set and submitting it together is not allowed, which I understand there are very good reasons for that. As for remote pair programming an their connection to edx 169. I found it a very useful element to the homework questions and took a great benefit from them. (22)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n      <li><span style=\"background-color:transparent;color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I think the opportunity to try pair programming for real is a very valuable one, and remote PP is a creative way to enable this, as well as exploring in a pragmatic way what can be done with the existing enabling tools (Google +, etc)&nbsp;'ve not participated thus far because I started the course very late (about half way through) and so I'm working through the exercises with a substantial time lag to the other participants.  Maybe if I can catch up I will try it on the second part of the course? (20)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n      <li><span style=\"background-color:transparent;color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">It's difficult to find people available during my free time. I say free time, because I'm working in a company as IT Quality Manager and I don't program software in my job. It's like an hobby for me or a personal activity, linked with the domain of my job (IS/IT) (19)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n      <li><span style=\"background-color:transparent;color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">There NEEDS to be a way to separate a chatroom into pairs and still keep them attached to the meeting as a whole. (16)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n      <li><span style=\"background-color:transparent;color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">Remote pair programming sessions should be limited to 2 or 3 participants. &nbsp;Participants should indicate what time they will be available and how long they can stay, so that sessions can be scheduled more rigidly, otherwise sessions can drag on for hours.&nbsp;Participants shouldn't be able to join a session after it has been in progress for more than 15mins as this can disrupt the flow.&nbsp;All participants should be at the same stage in the homework at the start of the session if possible.&nbsp;Participants should be able to bookmark other students who they have shared a fruitful pairing session with, so that they can work with that partner again when schedules permit. (14)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n      <li><span style=\"background-color:transparent;color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">There tend to be the two extremes of ability in chat and hangouts, so it could be expected that outcomes for pairers AS A GROUP be similar to those who did not participate. Fewer dropouts, or better outcomes among the lower-ranked pairers may be a better indicator of success. (13)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n      <li><span style=\"background-color:transparent;color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I am all about self-organizing communities - look at open source, but sometimes I think some structure would help.  I know with 1000's of people this is a challenge, but maybe a video or something about how to run a successful pairing session would be great.&nbsp;Last of all. Thank you for providing this wonderful course. Joseph was very generous with his time and I really enjoyed the lectures from Dave and Armando. (12)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n      <li><span style=\"background-color:transparent;color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">The idea of remote pair programming is great, it opened a way that I never thought about, I am really glad you came up with this in the MOOC, and I think it keeps you attached to the MOOC more, and help you complete the MOOC till the end. (8)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n      <li><span style=\"background-color:transparent;color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">good learning tool.&nbsp;Should be continued and tried in other environments. (7)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n      <li><span style=\"background-color:transparent;color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">From my little experience I have concluded that it's better to pair with someone as close to your level expertise as possible if you are concerned about producing good code and being efficient. Obviously if you want to learn things it's better to pair with someone more knowledgeable. (3)&nbsp;</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n      <li><span style=\"background-color:transparent;color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">Currently its fine. But due to varying internet speeds some will struggle, like me. (216)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li></ul>\n  </div>\n</div>\n<div style=\"display:block;text-align:left\"><br>\n</div>\n<div style=\"display:block;text-align:left\"><br>\n</div>\n<div style=\"display:block;text-align:left\"><b>Do you prefer Pair Programming over individual programming?</b></div>\n<div style=\"display:block;text-align:left\">\n  <ul><li><span style=\"background-color:transparent;line-height:1.6;font-size:10pt\">Prefer a balance - sometimes want to just code and think alone (209)</span></li>\n    <li><span style=\"color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:13px;background-color:transparent;line-height:1.6\">Yes it really helps having another person looking at the code at the same time. (205)</span></li>\n    <li><span style=\"color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:13px;background-color:transparent;line-height:1.6\">No, I think it needs more effort to do the task using pair programming (199)</span></li>\n    <li><span style=\"color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:13px;background-color:transparent;line-height:1.6\">For difficult coding assignments, yes.  For simple assignments, I think it is faster to code by yourself and more efficient for the project itself. (197)</span></li>\n    <li><span style=\"color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:13px;background-color:transparent;line-height:1.6\">I would prefer pair programming if done in the extreme way: two people developing a feature together, rather than one person helping the other get out of a rut. I like individual programming in a lazy sense.  Sometimes, for lack of explaining my thoughts, I find it helpful to conjure up something presentable to discuss on my own, which takes some time. At that point, I like to pair up for discussions, optimizations, or even total redesigns of the existing code.  Sometimes, it's hard to think with somebody breathing down your neck, but in the end, that really depends on the personality and knowledge of the person with whom you happen to be pairing. (195)</span></li>\n    <li><span style=\"color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:13px;background-color:transparent;line-height:1.6\">NO. INCOMPATIBLE WITH HONOUR CODE. (180)</span></li>\n    <li><span style=\"color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:13px;background-color:transparent;line-height:1.6\"><span style=\"font-size:13px\">In person more fun (177)</span></span></li>\n    <li><span style=\"color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:13px;background-color:transparent;line-height:1.6\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I didn't understand how the pair programming process works. I tried visiting some events in google hangouts. But found no activity there. &nbsp;I didn't push myself for pair programming any further because I felt that I may become deficient in the subject if I fail to catch the speed of the pair programming counterparts. (173)</span></span></span></li>\n    <li><span style=\"color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:13px;background-color:transparent;line-height:1.6\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">Sometimes yes and sometimes no. It can distract my train of thought, but sometimes that's a good thing because your partner may have the answer. I've definitely seen that code could benefit, and students can benefit as well. If both partners are competent in the task at hand, they appreciate the pair programmings system and understand it's strengths and weaknesses, I think it has many benefits such as better code, briefer code, fewer bugs, and better testing. (168)</span></span></span></span></li>\n    <li><span style=\"color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:13px;background-color:transparent;line-height:1.6\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">No. It takes too much time, effort and resources over individual programming. Unless absolutely transcendental to the achievement of a project or mandatory at a company, it will never be my prefer way of programming. (164)&nbsp;</span></span></span></span></span></li>\n    <li><span style=\"color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:13px;background-color:transparent;line-height:1.6\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">it depends very much on the person you are pair programming with, you have to be on a pretty high level of understanding of the language and what you are about to do (162)</span></span></span></span></span></span></li>\n    <li><span style=\"color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:13px;background-color:transparent;line-height:1.6\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I don't want to work with people I don't know. (158)</span></span></span></span></span></span></span></li>\n    <li><span style=\"color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:13px;background-color:transparent;line-height:1.6\">Yes, I prefer pair programming over individual programming due to sharing of thinking,views,perspectives and resources between two in pair programming that makes more reliable,flexible,real scenario analysis of problems. (153) &nbsp;</span></li>\n    <li><span style=\"color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:13px;background-color:transparent;line-height:1.6\"><span style=\"font-size:13px\">Prefer non-remote pair programming best because it fosters a relationship with another person and enables easier casual conversation along with programming.(152)</span></span></li>\n    <li><span style=\"color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:13px;background-color:transparent;line-height:1.6\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I found pair programming very productive and will do it again in the future if I have the opportunity.  That being said, it was difficult to arrange even within the framework of the course.  I fell behind during HW2 and after that I was too out of sync to pair up. (149)</span></span></span></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"line-height:13.333333015441895px\">Pairing better as more details can be caught (135)</span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"line-height:13.333333015441895px\"><span style=\"font-size:13px\">I can't say I have enough experience yet to have a preference, but I have definitely learned some things from pair programming and am eager to pursue it further (today in fact in part 2, HW1-1)! (126)</span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"line-height:13.333333015441895px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">pair programming is better because it's also a knowledge share (124)</span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"line-height:13.333333015441895px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I prefer pair programming because of its benefits:<br>\n- Better code<br>\n- Improved morale<br>\n- Collective code ownership (122)</span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"line-height:13.333333015441895px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I prefer individual programming, but some consultancy (or rubber duck debugging have a place to be) :) (121)</span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"font-size:12.800000190734863px;line-height:13.333333015441895px\">In this case, yes. Given how little expertise I have in ruby/rails/cucumber/etc, it is helpful to have someone else to talk to when attempting to solve a problem. (116)</span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"line-height:13.333333015441895px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I think its great way for working but for me not usually working in pair remotely (101)</span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"line-height:13.333333015441895px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">Depends, if you know very well a tool, if better divide the work and make individual programming, if not, pair progeamming is better. (99)</span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"line-height:13.333333015441895px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">&nbsp;</span></span></span></span></span></font><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\">I still need to give pair programming a try. I do find it hard to make time for and still maintain the flexibility i value i nedx courses. (97)</span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\">I generally prefer individual programming. It's much easier to arrange, and all parties (you) have a common goal.&nbsp;I've done pair programming in a work setting occasionally. In that case you're both there anyway and your time is the company's time, so there's less to arrange. And you have a common goal -- getting the company's project done. With homeworks your common interest is much weaker -- more just trading favors and hoping to learn something along the way. (95)</span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">always is good to program with another person, you can learn a lot more. (93)</span></span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I don't prefer either; they're very different experiences.&nbsp;I've been pairing with the same guy for our c++ class, and it's been more difficult.  The assignments are much vaguer and more open-ended; we both have strong but differing opinions on what we should be doing and how. &nbsp;I'm interested in learning how agile businesses deal with that kind of issue.&nbsp;Also, his brace style is objectively inferior to mine in every way. (84)</span></span></span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">Individual programming, not time enough to hang out. I don´t want that other students were out of time through my fault. (82)</span></span></span></span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I like to have someone to bounce ideas off and get things right the first time. (81)</span></span></span></span></span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I prefer pair programming because it allows you to have a repository of ideas which helps to start and continue to the end. (80)</span></span></span></span></span></span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I prefer individual programming, although I like to ask someone else when I get stuck. I've never really done pair programming properly though. (78)</span></span></span></span></span></span></span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I guess that using pair programming when everybody knows the tools and focus on the job is quite beneficial. But in the context of this course I don´t think so good.&nbsp;A part from that I'm working family father, which means I have a strange and chaotic agenda. (73)</span></span></span></span></span></span></span></span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I think that I prefer pair programming, but the remote of this course made me defer to individual programming. (64)</span></span></span></span></span></span></span></span></span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I was intimidated by pair programming because I only have one programming class under my belt. I don't know if I will try it with strangers (61)</span></span></span></span></span></span></span></span></span></span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I like pair programming after I've had a chance to have an attempt at the homework assignment. I'm always interested to hear from others about their approach to the same assignment. (60)</span></span></span></span></span></span></span></span></span></span></span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I prefer pair programming, but not always you have good pair. (58)</span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">For this course, I preferred individual programming.  Part of the appeal of online courses is the flexibility to work on your own schedule.  Pair programming requires an added layer of coordination, and I was confident enough with my programming and problem-solving skills to forgo pair programming. (54)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">No. I took this course to develop my personal programming skills.  Also, I made no attempt to work at the pace of the class.  That makes it a problem to pair program. (52)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I am more flexible alone so in my spare time I dont like it. (50)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">Not happy to use a Google platform, and didn't have time to experiment with remote screen sharing. (49)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">Not really... it's a stress; if I'm sharing, everyone watching me making mistakes. On other hand, probably it's even faster. (48)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">It's obvious preferring pair programming since it helps in building global contacts interacting with peers all around the world accomplishing a task in good time efficiently and helps making our code universally understandable. (45)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I've never pair programmed before, and only twice in the course, but I think at times it might be useful because you might have a question or stumbling block and your pair could get you unstuck. For me I visit StackOverflow and post or query if I need help. (42)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">individual -- dive into problem much faster, without interruption, but when have questions pair programming is good. or when you get stuck (41)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I prefer pair programming because the resulting code is mostly free of common bugs such as off-by-one. Also, many bugs regarding the higher level logic are already captured by the observer. Additionally, the code readability is enhanced thanks to the comments of the observer. (39)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">For these MOOC courses, pair programming is absolutely necessary to help get you past things that have you completely blocked.   Most of the sessions I saw were just troubleshooting those blockages.   I expected Pair Programming to be more synchronous work between two people starting from the same point &amp; achieving the end together. (38)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">Yes. Two heads are better than one. (35)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I prefer individual programming because I figure out and learn things better by myself. Company of any kind usually distracts me. Sometimes it is very helpflul to get advice from another person but it is usually not worth for me comparing to distraction from a full session collaboration. For me, access to chat is ideal. I get stuck, then I ask for help and get advice or idea from someone. (34)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">Pair programming and individual. Sometimes it's also good to be withyourself. &nbsp;But I think - my knowledge right now - mostly can be done more effective with pair programming (33)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">yes because it brings out rich knowledge and skill experience from each participant. (32)&nbsp;</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">Hard to answer this question. I work full time as a teacher (not teaching IT either), so my time to work on programming is purely in my free time. As such, I tend to need to prize speed and efficiency over all else, and in such circumstances I generally prefer individual programming as it is quicker usually. However, I feel that pair programming is the better learning experience, and I would dedicate a great deal more time to it if I had the ability to. (31)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">Yes I prefer that because it gives us help with our problems and also we might learn few new concepts from others. As I learned a lot of new concepts during the pair programming sessions in this course. (30)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I think I have yet to try real pair programming, with people clearly taking the role of dirver and observer.&nbsp;However, from what I've seen, I mostly like pair programming. Other students usually have interesting comments to make on my code and they also bring interesting idioms, methods or even syntax I didn't know about. It also feels very nice helping people who are stuck at a point where you clearly know the answer. (29)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I prefer pair programming but when both have some experience in the program language(26)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">It's a big help in a lot of cases, but not a replacement for individual time. Programming is a creative process and having to pair program all the time would get in the way. But using it to overcome 'writers block' is the killer app/excuse/reason to use PP. (25)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">pair programming with the right partner. because you can \"relax\" and get a better view, as when you do something alone. (23)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I prefer pair programming session over individual programming because while one person is writing the code the other is essentially the editor. You can collaborate ideas and perspectives and in the end you have simply better code. It is said that \"Programmers working in pairs usually produce shorter programs, with better designs and fewer bugs, than programmers working alone.\". I am a believer. (22)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">It's not the same experience.&nbsp;I love to search myself to understand the solution of my problem. I take time to read information on internet, but when I have people with skills and be able to explain correctly the solution, its time saving.&nbsp;Because, it's hard to find the correct people inline with my level, i prefer individual programming. I have the habit of it. (19)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I don't but that's mostly because I'm autistic by nature and prefer going through the programming-cycle myself. (18)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">Pros for Pair Programming:&nbsp;- Get additional input/insights while solving problems.&nbsp;- Establish new connections with peers.&nbsp;Cons:&nbsp;- sometimes a session can be fuzzy &amp; slow (17)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">Yes, since it is less distracting and more enriching. Additionally, it adds a social aspect to software development. (16)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I still prefer individual programming, because I like to work through a problem on my own. (14)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">Depends on the details to some degree, what the task is, partner, etc.&nbsp;I have worked in small teams and pairs before, and for a complex or important bit of code, it's nice to have a discussion partner that is not only knowledgeable but fully invested in the outcome. (13)<br>\n</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">When I found a good session, I loved it, I found the flow and the things I would normally get stuck on someone was there to help correct, suggest, etc.&nbsp;The biggest problem is each session is kinda hit or miss.  I think everyone intention was good, just sometimes there was no direction. (12)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I prefer to balance pair and individual programming; I find long stretches of pair programming to be quite draining, but it can be useful for important chunks of code.  It also depends partly on the needs of the project. (11)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I prefer individual programming with some instance in which I can talk with someone else about the program, so I can try my ideas without having to wait for the other one or follow him on everything he does, but at the same time we can share ideas and help each other when any of us gets stuck. &nbsp;I didn't find working on the same code with another person too appealing. I like doing things by myself and with my own pace. &nbsp;(10)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">Yes I prefer pair programming over individual programming, as from the one time I tried it I think I learned so much, both in Ruby coding and ideas to solve problems, having other people review your code in real time is really great and having other people sharing their ideas with you is really useful, you learn a lot from it in both coding and problem solving. (8)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">Positive&nbsp;It is very convenient to talk with another person.&nbsp;You can learn a lot from others thought process&nbsp;Negative(Slight)&nbsp;Most of my pairing has been on the HW. Since I completed them before, the value gained has not been too much, (7)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">yes, i prefer pair programming over individual programming for two reasons. First, when i pair programmed for ruby development with a developer who had detailed knowledge of ruby, i learnt a lot from that session. Second pair programming helped me develop a powerful and effective code. (6)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I am not sure yet. It seems that i am extremely more productive when programming alone. Maybe it's the language barrier or that i haven't find the proper pair yet. (3)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I prefer both pair programming over individual programming but both on different scenarios.&nbsp;Pair programming is best when we have to create an application/module as a overall.&nbsp;Individual programming is best when we are developing a small portion of code. (216)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">At this course - I prefer invidual programming - I have no free time. And I don't know when I would have time or I would suspend my work for few hours.&nbsp;At work - I prefer invidual programming because I'm master of myself. (217)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">&nbsp;<span style=\"font-size:13px\">For learning a new language stage, I prefer to do individual assignment for practicing purpose. The pair programming materials should be separated to individual programming materials. i.e. different set of tutorial question/assignments. This is because this is still new language to me, I had experienced pair-programming prior to this course a long time ago. The thing I learned is that, yes, it helps to solve a problem quickly if paired, but it also means it is easier to forget what I had learned because I did not put my hand on the keyboard. &nbsp;(218)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">Individual programming is better for me as I don't like remote pair programming as a lot of time is spent for finding a pair or for solving connection problems etc (219)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">Yea I do cause it gives you an insight to a different logical view from other pairs.&nbsp;</span>&nbsp;(220)<br>\n&nbsp;</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></li></ul>\n</div>\n<div><b>Do you prefer remote pair programming over in-person pair programming</b></div>\n<div>\n  <ul><li><span style=\"background-color:transparent;line-height:1.6;font-size:10pt\">Easier to work with others in person (209)</span></li>\n    <li><span style=\"color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:13px;background-color:transparent;line-height:1.6\">No, I would prefer in-person pair programming, communication become very difficult when its remote, beside the connections delay (199)</span></li>\n    <li><span style=\"color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:13px;background-color:transparent;line-height:1.6\">Remote works well for me (197)</span></li>\n    <li><span style=\"color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:13px;background-color:transparent;line-height:1.6\">In person pair programming is better because you are more engaged and it's easy to share stuff (like pen-and-paper drawings and cheetos) and to switch roles, although modern day tools make this less and less noticeable.&nbsp;Remote pair programming is better for hermits, smokers, nudists, the unshowered, mooc students, and people who choose to work at home in order to properly care for their children. (195)</span></li>\n    <li><span style=\"color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:13px;background-color:transparent;line-height:1.6\">Not right now, no.  I'm not opposed to pair programming at all.  In fact, I would like to try it, when the time is right.  I don't think trying it over the internet is how I would go about that though.  And for MOOC courses, because it is extremely hard for me to make time for the coursework, I'm not likely to make that more complicated by trying to add pair programming to the mix. (186)</span></li>\n    <li><span style=\"color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:13px;background-color:transparent;line-height:1.6\">I have twin children and I took the course at any time when they leave me alone. (181)</span></li>\n    <li><span style=\"color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:13px;background-color:transparent;line-height:1.6\"><span style=\"font-size:13px\">Alone (177)</span></span></li>\n    <li><span style=\"color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:13px;background-color:transparent;line-height:1.6\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">yes since we have tools like tmux/screen/floobits both participants can work on something at the same time in contrast to one working the other one just starring at the screen (162)</span></span></span></li>\n    <li><span style=\"color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:13px;background-color:transparent;line-height:1.6\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I prefer individual programming, because my ruby level of programming is low. (157)</span></span></span></span></li>\n    <li><span style=\"color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:13px;background-color:transparent;line-height:1.6\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">It might be good as always it is not possible that two persons are available at a time at same place.(153)&nbsp;</span></span></span></span></span></span></li>\n    <li><span style=\"color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:13px;background-color:transparent;line-height:1.6\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">Having never really tried in-person, I can't really say. (149)</span></span></span></span></span></span></span></li>\n    <li><span style=\"color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:13px;background-color:transparent;line-height:1.6\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I prefer in-person pair programming, but the remote is a good option since I don't know personally any friend or person who's taking the course. Thus, it's impossible for me to take in-person pair programming for the edx courses. (142)</span></span></span></span></span></span></span></span></li>\n    <li><span style=\"color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:13px;background-color:transparent;line-height:1.6\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">Yes but upto certain extent only. (141)</span></span></span></span></span></span></span></span></span></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"line-height:13.333333015441895px\">&nbsp;In person. Can make quick change of developers for few lines. (135)</span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"line-height:13.333333015441895px\"><span style=\"font-size:13px\">prefer in-person (133)</span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"line-height:13.333333015441895px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I have only experienced remote pair programming, but I imagine it would be easier in-person. (126)</span></span></span></font></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\">in-person pair programming because the moments are really real (124)</span></li>\n    <li><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><span style=\"font-size:13px\">I prefer in-persion pair programming because:<br>\n- I can contact directly with my partners<br>\n- The communication are usually faster and more effective (122)</span></span></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\">I would definitely prefer in-person pair programming. It makes it much easier to communicate. (116)&nbsp;</span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">It looked interesting, but I did not use pair programming because I'm worry about my english skill.(102)</span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">Yes, I think is good working remote pair because you can have quality code (101)</span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">Remote is best, because we can use two computers instead of one. (99)</span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I prefer in-person pair programming. Much less communication friction. And generally in-person means I already know the other person. I don't want to pair program with a stranger. (95)<br>\n</span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">always is good to program with another person, you can learn a lot more. (93)</span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">in person / whiteboarding and just being around leads to creative solutions (85)</span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I would prefer in-person pair programming, it is best the short distances to interact each other. No connection problem. (82)</span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I do.  Less bugs, better design.  Misery loves company. (81)</span></span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">In-person pair programming has some advantages over remote pair programming. Using native language makes brainstorming a breeze, on the other hand, using a common language for remote pair programming, at times, makes it difficult to express clearly ideas. (80)</span></span></span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">In person, definitely. Remote is just too glitchy, too hard to tell what's happening.(78)</span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">No. I can't see other people's screens. Some people zone out and leave their computers. Other people just take pictures of the driver's work. (64)<br>\n</span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">Is much better person pair programming, you don't have scope problems. (58)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">In-person because it's not dependent on closed-source technologies. (49)&nbsp;</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">No much difference. But of course, in-person it even more active. (48)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">It depends on the task. (45)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">probably would prefer in-person, because there would be a more definitive assignment of the driver/navigator roles.<br>\nThe downside the MOOC pair programming is that each student is driving their own code so everyone is focused on getting their code working.  To me it wasn't pair programming in the true sense that only one person was typing. (42) &nbsp;</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I prefer remote pair programming because it gives more personal space to both the driver and the observer. Furthermore, when an issue arises the observer is free to look up documentation or other resources without stalling the driver's work. (39)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I'd prefer in-person pair programming.  The communication is much simpler. (38) &nbsp;&nbsp;</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I am not a big fan of either one. To me, the best team work is highly individual work well divided between the team members and well communicated and planned to be put together.(34)&nbsp;</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I prefer in-person pair programming. I can talk mostly my native language and I have a real person next to me. Its more human in this technical world. (33)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">remote or in-person both offer same rich experience. (32)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">Neutral on this. I would say that I prefer in person, but that is probably because the person I pair program with is one of my closest friends. Remote programming offers the ability to meet up with a diverse range of people with widely different perspectives, techniques etc. However, it can also mean ending up with someone very far behind that drags the group down. Again, it is a brilliant learning tool committing the time to help them catch up, but it is very time consuming. (31)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I would be on a neutral side as both help at some point of time. Both of them have their own pros and cons. But remote pair programming is better than in-person pair programming as it helps us more to widen our knowledge. (30)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">Remote is more comfortable for all. But we lost the concentration in several times and the face to face feedback. Disconnection problem were frecuently. (26)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">in-person not always feasible and time consuming plus difficult to agree on a schedule and last minute back outs. (24)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">a \"in-person\" is more personal. you talk to your friend next to you (23)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I believe that anything in person is going to be better, but remote pair programming is a good substitute when you can use video/audio and screen sharing. If the person doesn't have a mic, it really becomes difficult. (22)&nbsp;</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">Depends. If the project is difficult I think pair programming is more productive. In projects, though, that can handled effectively by an experienced developer sometimes pair programming may be a bottleneck for rapid application development. For pedagogical reasons, also, I would prefer pair programming. (21)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I prefer in-person pair programming, because some difficulties due to the usage of a new technology appears when we don't have habit to use it. (19)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I do because of my autistic nature it's easier to do remote programming then in person (18)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I prefer in-person pair programming, with the proviso that the navigator has hand his/her own terminal to research the docs or SO questions while the driver codes. (14)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I basically learned programming by pairing in person, and so I was on the receiving end of the knowledge transfer. Here, I am not so familiar with Ruby or rails so I don't feel as comfortable being the navigator. (13)<br>\n</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I find the best value of pair programming for me is to learn the concepts alone, review the problem alone, maybe start thinking about how I would solve it alone. Then walk away, give my brain some time to digest it, and then join the pairing session primed and ready to go. (12)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">never really done in person pair programming.&nbsp;Probably would prefer in person pair programming.&nbsp;Had some network connections.&nbsp;Would like to see people's face when discussing (7)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I prefer remote pair programming over in-person pair programming for two reasons. First, when i remotely pair programmed for my project development based on ruby, it gave tremendous flexibility as i could join the session according to my feasibility. Second when i wanted to program with a developer in Canada, while i was in India then remote pair programming helped me to do so. That's why i prefer remote pair programming over in-person pair programming. (6)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">Nope. It seems you get the point across more efficiently when you can use your body language too. (3)&nbsp;</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I prefer pair programming than remote pair programming because real collaboration is there.&nbsp;But sometimes remote pair programming is best when your companions are not around you. (216)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"font-size:12.800000190734863px;line-height:16.639999389648438px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">remote is excellent idea if compared to in person, dealing with problem only.&nbsp;</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font><span style=\"font-size:12.800000190734863px;line-height:13.333333015441895px;color:rgb(0,0,0);font-family:arial,sans,sans-serif;background-color:transparent\">(218)</span></li></ul>\n</div>\n<div><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"font-size:12.800000190734863px;line-height:13.333333015441895px\"><br>\n</span></font></div>\n<div><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"font-size:12.800000190734863px;line-height:13.333333015441895px\"><br>\n</span></font></div>\n<div><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"font-size:12.800000190734863px;line-height:13.333333015441895px\"><br>\n</span></font></div>\n<div><span style=\"font-size:13px;font-family:arial,sans,sans-serif;font-weight:bold;color:#000000;text-align:center\">Describe a typical remote pair programming session.</span></div>\n<div>\n  <ul><li><span style=\"color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:13px;background-color:transparent;line-height:1.6\">We usually use it to work out problems. We use webex and skype. (205)</span></li>\n    <li><span style=\"color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:13px;background-color:transparent;line-height:1.6\"><span style=\"font-size:13px\">Fractured and off subject. (178)&nbsp;</span></span></li>\n    <li><span style=\"color:rgb(0,0,0);font-family:arial,sans,sans-serif;font-size:13px;background-color:transparent;line-height:1.6\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I only had one other pair programming session (HW 1), but I'll optimistically call that typical.  We had three people and I had arranged the session to be for just one section of the HW (the second), so we would have what I felt was an achievable goal.  We actually stepped back and went through the first section as well and despite that we blew through both sections in under an hour.  Very productive use of time. (149)</span></span></span></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"line-height:13.333333015441895px\">Connection, write some code, watch how your partner write some code, end (135)</span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"line-height:13.333333015441895px\">When we were using public Google Hangout sessions, the result was typically chaotic. Until recently (in part 2 of the course we have switched to a private hangout with just 2 of us), it was quite distracting as different people would come and go with different levels of concerns (ranging from clueless to already completed the assignment and just wanting to help). In fact, it was more of a group study (programming) session than actual pair programming. Often productive and interesting, but not actually pair programming (until our recent switch to a private hangout). (126)</span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"line-height:13.333333015441895px\"><span style=\"font-size:13px\">One of us shares their screen and drives, with the other providing advice/corrections as appropriate. (116)&nbsp;</span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"line-height:13.333333015441895px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">It starts slow, like sharing my development screen and 2 or 3 people trying to have an idea of what to do. Then someone comes and has a clearer idea and we all catch up. (80)</span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"line-height:13.333333015441895px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">Depends on the number of people. More than 4 people can become chaotic. It also depends on how knowledgeable the group is. If you have several people who are far behind in understanding, it can slow things down a bit. (60)</span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"line-height:13.333333015441895px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">Too many problems. Usually people don't have microphone or good internet. (58)</span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"line-height:13.333333015441895px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">Everyone logs in, then one leads, shows task and how it is implementing. Everyone watches and asks question.&nbsp;I know in thoery we should change roles time to time, but it's rare so. (48)</span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"line-height:13.333333015441895px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">An event will be created and invitations are sent to the whole edX group. Then everyone interested get ready for the hangout. First, hearty welcomes to each other. Then immediately without delay, everyone come to the task. One will be the driver and remaining discuss along the way helping the driver. Code refinement is the best thing about pair programming. (45)</span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"line-height:13.333333015441895px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">My second pair was on HW4. This was a hard HW and I wan't as far as most in the hangout.  It was really my fault for not asking more questions I was more like a fly on the wall. So for me it was like I was  solo programming with a bunch of people talking in the back ground.  Too distracting.  <br>\nAgain to pair it would seem like you'd have to start code from scratch together with just 1 other person.  The hangouts seem to be more of a chat session with live voices.  Unless I'm doing something wrong, it is very hard to make out the text of the screen shares.  Maybe there is a setting to adjust the resolution. (42)</span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"line-height:13.333333015441895px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">Start by discussing briefly the objective.&nbsp;Continue by outlining its method's flow using comments and exchange implementation ideas.&nbsp;After agreeing on the implementation place under the comments either the code that solves the problem or methods that encapsulate the required logic.&nbsp;While the driver writes the code the observer gives suggestions on the code syntax. Warns on possible bugs, and reminds them of aspects of the module that need to be consider while implementing the specific method. (39)</span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"line-height:13.333333015441895px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">Some people would hang in the background while 2 or 3 people took the lead, sharing their screens and driving the conversation.   Usually people had started the work but had reached a block.   If the other person had overcome that obstacle they would help explain what was missing.   Some of the people in the background might chime in with ideas or ask questions. (38)</span></span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"line-height:13.333333015441895px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">\"typical\", what is typical? I do not have so much experience with remote programming, but I like the approach very much. &nbsp;What I definitly miss is, that I can work in my favorite IDE which is not possible at the time, and I researched a lot. Cloud9 and others are not my IDE. (33)</span></span></span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"line-height:13.333333015441895px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">discussion of challenges and possible hints on how to resolve them. (32)&nbsp;</span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"line-height:13.333333015441895px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">People would come in, set up screen share, then there'd usually be a great deal of confusion and aimlessness as we tried to figure out the direction to take. We would ask each other questions on where we were up to and what we were having difficulty with, but it could take a long time indeed to get everyone on the same page. Even once we had, it could take even longer to figure out what needed to be done and how to achieve that. In the end I always gained a lot from it, but it was time consuming. (31)</span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"line-height:13.333333015441895px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">Some people show up, mostly with some part of the homework done already; they just want help in one specific point. But everybody is at a different point.&nbsp;Sometimes someone without a microphone will show up, but doesn't get to participate much because most people don't look at the chat bar that often.&nbsp;The group decides who has done the least of the homework and that person will \"drive\" until he/she catches up. The other people comment on their coding while at the same time tweaking theirs or trying to solve their own problems in another part of the homework.&nbsp;Once everyone is at the same point, it is not clear who is driving and who is observing, since we all have to keep coding or we won't have anything to submit to the grader.&nbsp;The session usually ends when someone who was very active has to leave (usually because it's late and they need to sleep because they have to work the next day). The other people usually leave shortly after.&nbsp;At this point I lose hope of pair programming for that particular homework and do it alone. (29)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"line-height:13.333333015441895px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">Speak about the homework, show our advance. Then try to solve the problems together, but rarely we done pair programming. (26)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"line-height:13.333333015441895px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">We'd meet via google hangouts, then transfer to Skype conf call (as it was less resource intensive than google +) and use Cloud9 (https://c9.io) to work through programming problems. (25)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"line-height:13.333333015441895px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">Typically you had a small group of people engaged and working well together with various others joining and dropping the hangout. Getting started was tough as most of the time almost no one was ready when they first join the hangout. For each section, one person was driving with all the others navigating. At the end of the section we would ask questions and try to \"catch up\". Then another person would drive and we would continue. (22)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"line-height:13.333333015441895px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">No, pair programming because you have physical contact with the other person. (21)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"line-height:13.333333015441895px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">Hello, who is on the line&nbsp;A leader explain the topic, the goal and the rules, the time of session&nbsp;After, a leader cadence the session to be sure that every people participate. (19)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"line-height:13.333333015441895px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">Because I only do chat-only (not native English) it starts with someone asking a question and then we start looking at each others shared screen (mostly with VM), give advice, learn what others did, ... (18)&nbsp;</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"line-height:13.333333015441895px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">We'd introduce ourselves, talk a little and work each on our own piece of code, asking questions and showing it to other participants. (16)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"line-height:13.333333015441895px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">Pair programming  on the SaS homework's was a little frustrating, especially in the early homework's, because many students drop into public 'on air' hangouts, take a screenshot of your code and then disappear. I can only assume they are attempting to get a passing grade on the AutoGrader without doing any work.&nbsp;Also in pairing sessions with more than 3 programmers, a few observers tend to lurk silently without contributing or offering to drive, I fin this off-putting.&nbsp;Apart from these observations the sessions are very helpful in understanding the content and solving problems together. (14)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"line-height:13.333333015441895px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">I am already done with the homework because otherwise I am not comfortable.&nbsp;I log in and try to take some part of the people that are struggling at a lower level in chat, while TA takes on some of the people that are closer together, usually a bigger group.&nbsp;I look at their screen and try to figure out why they are getting errors that they don't understand. Hopefully with the benefit of hindsight I can point them in the right direction, although sometimes I can't remember what was the solution to these common micro-problems and must go from first principles again. Often these students are behind in the course. Often they are looking at the code and trying to figure it out logically when they actually need to check their values. If we get stuck on something, or TA?'s group does, we go and try to get the others to take a look.&nbsp;If I was more familiar with the material or a better student, this scenario might not be so bad. (13)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"line-height:13.333333015441895px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">If I started the hangout, I would welcome people as they joined and quickly verse them on what we we're working on.&nbsp;If I joined a hangout, often it just felt like everyone was doing their own thing with an occasional question in the chat window.&nbsp;I think the biggest factor of a successful session is to have a moderator, not to dominate the work, but to keep everyone together and allow others to drive. (12)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"line-height:13.333333015441895px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">Call on Skype, talk about assignment and ideas about how to solve, the one that types shares the screen. Use chat for showing complete output if there are errors. (10)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"line-height:13.333333015441895px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">All the participants should have already read the problems statements, but no code is done. When we start someone takes the lead in a problem and start thinking about it and write his code, others observe the code and start collaborating with ideas.&nbsp;And we loop throw the problems one after next so each one play the role of developer one at a time.&nbsp;A typical of 2 to 5 people would be perfect for the session, as everyone adds his new ideas. (8)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"line-height:13.333333015441895px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">My other pair programming session I held was to help other students. &nbsp;I complete my programs before the session and help students with their problems.&nbsp;I usually ask the other students to help each other.&nbsp;If both are on the same part, I ask them to pair program.&nbsp;If someone else is stuck on a section, I ask the one who got it to help guide the other. (7)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li>\n    <li><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"line-height:13.333333015441895px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\"><span style=\"font-size:13px\">A pair programming session on autograders, which includes pair programming on rag and hw repositories. (6)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></font></li></ul>\n</div>\n<div><span style=\"font-size:13px;font-family:arial,sans,sans-serif;font-weight:bold;color:#000000;text-align:center\"><br>\n</span></div>\n<div><span style=\"font-size:13px;font-family:arial,sans,sans-serif;font-weight:bold;color:#000000;text-align:center\"><br>\n</span></div>\n<div><br>\n</div>\n<div><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"font-size:12.800000190734863px;line-height:16.639999389648438px\"><br>\n</span></font></div>\n<div><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"font-size:12.800000190734863px;line-height:16.639999389648438px\"><br>\n</span></font></div>\n<div><font color=\"#000000\" face=\"arial, sans, sans-serif\"><span style=\"font-size:12.800000190734863px;line-height:16.639999389648438px\"><br>\n</span></font></div>\n<div><br>\n</div>\n<div>\n  <div>&nbsp;</div>\n</div>\n<div><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><br>\n</span></div>\n<div><span style=\"font-size:13px;font-family:arial,sans,sans-serif;color:rgb(0,0,0)\"><a href=\"https://www.google.com/fusiontables/data?docid=1pGHMiytkYV-5H9c3V3SNZORVQ9ZH9QJ5lkJL3B4#rows:id=1\">Fusion Table</a></span></div>\n</div>\n</div>"
  },
  {
    "path": "app/views/pages/remote-pair-programming/c9-howto.html.erb",
    "content": "<div class=\"container\">\n  <div><font size=\"4\"><b>C9?</b></font></div>\n  Cloud 9 is a simple way to start sharing code in a highly interactive way without the hassle of downloading and installing a virtual machine environment.\n  <div>Their website address is:&nbsp;<a href=\"https://c9.io/\">https://c9.io/</a><br>\n    <div><br>\n    </div>\n    <div><br>\n    </div>\n    <div><font size=\"4\"><b>Creating a workspace</b></font></div>\n    <div>You will need to make an account before being able to make a workspace. T<span style=\"background-color:transparent;line-height:1.6;font-size:10pt\">o start off press the \"Create New Workspace\" button near the top left of the browser window and then choose the first option,&nbsp;</span><span style=\"background-color:transparent;line-height:1.6;font-size:10pt\">\"Create a New Workspace\"</span><span style=\"background-color:transparent;line-height:1.6;font-size:10pt\">&nbsp;</span></div>\n    <div><span style=\"background-color:transparent;line-height:1.6;font-size:10pt\"><br>\n</span></div>\n    <div><span style=\"background-color:transparent;line-height:1.6;font-size:10pt\">You can name your new workspace whatever you like. Then click on Custom (the apple) and then Create.</span></div>\n    <div><span style=\"background-color:transparent;line-height:1.6;font-size:10pt\"><br>\n</span></div>\n    <div>Your new workspace should appear under \"My Projects\" as processing. This may take up to 2 minutes.</div>\n    <div><br>\n    </div>\n    <div>Once it is done processing, you can start editing it. Press on the \"Start Editing\" button to start the editor. The link provided can be accessed by anyone although write privileges need to be set by the workspace administrator.</div>\n    <div><br>\n    </div>\n    <div><br>\n    </div>\n    <div><br>\n    </div>\n    <div><font size=\"4\"><span style=\"line-height:28px\"><b>Getting it up and running for cs169.1x</b></span></font></div>\n    <div>To be able to run some of the essentials in Cloud 9,<b>&nbsp;</b>you will need to install them with the terminal:</div>\n    <blockquote style=\"margin:0 0 0 40px;border:none;padding:0px\">\n      <div><font face=\"courier new, monospace\" style=\"font-style:normal\">gem install bundle</font></div>\n    </blockquote>\n    <blockquote style=\"margin:0 0 0 40px;border:none;padding:0px\">\n      <div><font face=\"courier new, monospace\" style=\"font-style:normal\">gem install debugger</font></div>\n    </blockquote>\n    <blockquote style=\"margin:0 0 0 40px;border:none;padding:0px\">\n      <div><font face=\"courier new, monospace\" style=\"font-style:normal\">gem install nokogiri (this may take a while)</font></div>\n    </blockquote>\n    <div><br>\n    </div>\n    If you are working on <b>rottenpotatoes</b>, you will need to open the Gemfile file and change</div>\n  <div>\n    <div><font face=\"courier new, monospace\"><span>&nbsp;&nbsp; &nbsp;<span>&nbsp;</span></span>gem 'ruby-debug19'&nbsp;</font></div>\n    <div>to&nbsp;</div>\n    <div><font face=\"courier new, monospace\"><span>&nbsp;&nbsp; &nbsp;<span>&nbsp;</span></span>gem 'debugger'</font></div>\n    <div>so that bundle is able to install all dependencies successfully.</div>\n    <div>\n      <div><br>\n      </div>\n      <div><br>\n      </div>\n      <div><b><font size=\"4\">Installing Heroku</font></b></div>\n      <div>Paste this into the terminal:</div>\n      <div><br>\n      </div>\n      <div>\n        <div><font face=\"courier new, monospace\">wget http://assets.heroku.com/heroku-client/heroku-client.tgz</font></div>\n        <div><font face=\"courier new, monospace\">tar xzfv heroku-client.tgz</font></div>\n        <div><font face=\"courier new, monospace\">cd heroku-client/bin</font></div>\n        <div><font face=\"courier new, monospace\">PATH=$PATH:$PWD</font></div>\n        <div><font face=\"courier new, monospace\">exit</font></div>\n      </div>\n      <div><br>\n      </div>\n      <div><br>\n      </div>\n      <div><b><font size=\"4\">Terminal Sharing</font></b></div>\n      <div>Terminal sharing is available by default. However,&nbsp;<span style=\"background-color:transparent;line-height:1.6;font-size:10pt\">we can use Tmux to share terminals.</span><span style=\"background-color:transparent;line-height:1.6;font-size:10pt\">One person can be a host while the others can join.</span></div>\n      <div><span style=\"background-color:transparent;line-height:1.6;font-size:10pt\"><br>\n</span></div>\n      <div><span style=\"background-color:transparent;line-height:1.6;font-size:10pt\">To</span><span style=\"background-color:transparent;line-height:1.6;font-size:10pt\">&nbsp;host using Tmux, type into the terminal:</span></div>\n    </div>\n    <blockquote style=\"margin:0 0 0 40px;border:none;padding:0px\">\n      <div>\n        <div>\n          <div><font face=\"courier new, monospace\" style=\"font-style:normal\">tmux new-session -s &lt;session_name&gt;</font></div>\n        </div>\n      </div>\n    </blockquote>\n    <div>\n      <div>\n        <div>and to join:</div>\n      </div>\n    </div>\n    <blockquote style=\"margin:0 0 0 40px;border:none;padding:0px\">\n      <div>\n        <div>\n          <div><font face=\"courier new, monospace\" style=\"font-style:normal\">tmux attach-session -t &lt;session_name&gt;</font></div>\n        </div>\n      </div>\n    </blockquote>\n    <div>\n      <div>\n        <div>where &lt;session_name&gt; is to be replaced by your desired name choice for the session</div>\n      </div>\n      <div><br>\n      </div>\n      <div>We are currently experimenting with Cloud 9 and hoping that it can be fully compatible will all homeworks of CS169.1x,&nbsp;<span style=\"background-color:transparent;line-height:1.6;font-size:10pt\">CS169.2x and with current Agile Ventures projects.</span></div>\n    </div>\n  </div>\n\n</div>"
  },
  {
    "path": "app/views/pages/remote-pair-programming/creating-a-pp-event-on-g.html.erb",
    "content": "<div class=\"container\">\n  <p>To take part in a pair programming session, first browse the G+ Pair Programming community pairing events, and sign up for any that are at an appropriate time for you, and on a topic you want to pair on:&nbsp;</p>\n  <p><a href=\"https://plus.google.com/communities/100279740984094902927/events\">https://plus.google.com/communities/100279740984094902927/events</a></p>\n  <p>If you can't see any at a good time for you then create one at a time that does suit you and click the create event button on that same page:</p>\n\n  <div style=\"display:block;text-align:left\"><a href=\"https://dl.dropboxusercontent.com/u/13196858/CreatingPairingEvent.png\" imageanchor=\"1\"><img border=\"0\" height=\"130\" src=\"https://dl.dropboxusercontent.com/u/13196858/CreatingPairingEvent.png\" width=\"400\"></a></div>\n  <br>\n  <p>Then set up the event as follows, ensuring that it is a \"hangouts\" event and that you include in the description which topic you would like to pair on:</p>\n  <div style=\"display:block;text-align:left\"><a href=\"https://dl.dropboxusercontent.com/u/13196858/SelectingHangout.png\" imageanchor=\"1\"><img border=\"0\" height=\"289\" src=\"https://dl.dropboxusercontent.com/u/13196858/SelectingHangout.png\" width=\"400\"></a></div>\n  <br>\n\n  <p>Then just click \"invite\" and when it comes time for your event click on the hangouts link which will appear in the Details section of the event page when the pairing session gets close. &nbsp;We strongly recommend using the latest version of Chrome for hangouts:</p>\n  <div style=\"display:block;text-align:left\"><a href=\"https://dl.dropboxusercontent.com/u/13196858/HangoutsLinkAppearsHere.png\" imageanchor=\"1\"><img border=\"0\" height=\"248\" src=\"https://dl.dropboxusercontent.com/u/13196858/HangoutsLinkAppearsHere.png\" width=\"400\"></a></div>\n  <br>\n\n  <p>There are many ways to&nbsp;<a href=\"https://sites.google.com/site/saasellsprojects/remote-pair-programming\">pair program online</a>&nbsp;but Google Hangouts is a good default option as long as you have a reasonably fast computer and a reasonably stable internet connection. &nbsp;Even if you'd like to use a different remote pairing technology it's still worth creating or joining an event in the G+ community since you can always switch to Skype Screen Share, Screen, Tmux, Nitrous.io or other alternative once you've established the time and date that you can pair at.</p>\n</div>"
  },
  {
    "path": "app/views/pages/remote-pair-programming/example-videos.html.erb",
    "content": "<div class=\"container\">\n  <div><a href=\"http://www.youtube.com/watch?v=NvAYh_5uBOw&amp;list=PLjbL0BCR04Q3EE8sxsLz12uiKbKUfvk7J&amp;noredirect=1\">http://www.youtube.com/watch?v=NvAYh_5uBOw&amp;list=PLjbL0BCR04Q3EE8sxsLz12uiKbKUfvk7J&amp;noredirect=1</a></div>\n  <div><span style=\"line-height:1.6;font-size:10pt\">at 13min</span><span style=\"line-height:1.6;font-size:10pt\">&nbsp;</span>and 23 min</div>\n  <div><br>\n  </div>\n  <div><a href=\"http://www.youtube.com/watch?v=HOuWaTl2qAc&amp;list=PLjbL0BCR04Q3EE8sxsLz12uiKbKUfvk7J\">http://www.youtube.com/watch?v=HOuWaTl2qAc&amp;list=PLjbL0BCR04Q3EE8sxsLz12uiKbKUfvk7J</a></div>\n  <div>at 44min 26s&nbsp;<span style=\"line-height:1.6;font-size:10pt\">and 59min</span></div>\n  <div><span style=\"line-height:1.6;font-size:10pt\"><br>\n</span></div>\n  <div><span style=\"line-height:1.6;font-size:10pt\">Example embed:</span></div>\n  <div><span style=\"line-height:1.6;font-size:10pt\"><br>\n</span></div>\n  <div><span style=\"line-height:1.6;font-size:10pt\">\n<div><iframe title=\"YouTube video player\" class=\"youtube-player\" type=\"text/html\" src=\"//www.youtube.com/embed/HOuWaTl2qAc?rel=0&amp;wmode=opaque\" frameborder=\"0\" allowfullscreen=\"true\" width=\"480\" height=\"270\"></iframe></div>\n<br>\n</span></div>\n</div>\n"
  },
  {
    "path": "app/views/pages/remote-pair-programming/gnu-screen-pairing-notes.html.erb",
    "content": "<div class=\"container\">\n  GNU screen allows 2 or more users to control a terminal screen.\n  <div><br>\n  </div>\n  <div>Screen only needs to be installed on the host machine. The client machines only need a terminal emulator, such as xterm, Apple Terminal.app, or GNOME Terminal, and an ssh client such as openssh (unix) or <a href=\"http://www.chiark.greenend.org.uk/~sgtatham/putty/\">putty</a> (Windows.)<br>\n    <div><br>\n    </div>\n    <div>Since the guests need to ssh into the host machine, this is simplest to set up when the host machine is not behind a NAT router. NAT routers are in the broadband modems used by many homes and small businesses. For example, you could use a virtual machine cloud server.</div>\n    <div><br>\n    </div>\n    <div><a href=\"http://blog.siyelo.com/remote-pair-programming-with-screen\">This 2011 guide</a>&nbsp;from Siyelo&nbsp;covers a couple of options to set up and partially automate multiuser GNU screen for pairing.</div>\n    <div><br>\n    </div>\n    <div><a href=\"http://www.kuro5hin.org/story/2004/3/9/16838/14935\" style=\"color:rgb(0,51,204);text-decoration:underline\">This kuro5hin blog</a>&nbsp;introduces some of screen's useful features and keystrokes.</div>\n    <div><br>\n    </div>\n    <div>There is a handy reference page for the multiuser feature <a href=\"http://aperiodic.net/screen/multiuser\">at aperiodic</a>.</div>\n  </div>\n  <div><br>\n  </div>\n  <div>Here is how one Agile Ventures engineer configured a Debian 7.1 cloud machine to host a Rails pairing session.</div>\n  <div>\n    <ol><li>Copy a <i>public</i>&nbsp;ssh key from the guest's computer. We copied the text from the &nbsp;<code>~/.ssh/id_rsa.pub&nbsp;</code>file in the guest's Ubuntu VM.</li>\n      <li>Now on the host machine, the Debian 7.1 Linux machine in the cloud, create a new user, as superuser with this command:&nbsp;<code>useradd</code></li>\n      <li>Now become the new user,</li>\n      <li><span style=\"color:rgb(0,96,0);font-family:monospace;line-height:13px\">su - marian</span></li>\n      <li><span style=\"color:rgb(0,96,0);font-family:monospace;line-height:13px\">cd</span></li>\n      <li><span style=\"color:rgb(0,96,0);font-family:monospace;line-height:13px\">mkdir .ssh</span></li>\n      <li><span style=\"color:rgb(0,96,0);font-family:monospace;line-height:13px\">cat &gt;&gt; .ssh/authorized_keys2</span>&nbsp;</li>\n      <li>Paste the public key you copied from the guest's own machine into the terminal. Then press control-D</li>\n      <li><code><span style=\"color:rgb(0,96,0);font-family:monospace;line-height:13px\">cat&nbsp;ssh/authorized_keys2</span></code> to check that the key pasted in ok. It is important to check that you did not introduce any line breaks during the copy-paste operation. Exit back to the superuser (root) account.</li>\n      <li>As root, install GNU screen <code>apt-get install screen</code></li>\n      <li>Add the set-uid bit to screen&nbsp;<code>chmod 4755 /usr/bin/screen</code></li>\n      <li>Return to your own user account (in our case <code>david2</code>) on the host machine.</li>\n      <li>Adjust the terminal window to a reasonable size, as this will be the layout that all the guests will see.</li>\n      <li>Start or resume a screen session (the <code>-L</code> logs the session) &nbsp;<code>screen -R -D -L&nbsp;</code></li>\n      <li>Set up multiuser and add permission for the guest user with the next two key sequences. Don't forget the colon after control-A.</li>\n      <li><code>&lt;ctrl-a&gt;:multiuser on&lt;return&gt;</code></li>\n      <li><code>&lt;ctrl-a&gt;:acladd marian&lt;return&gt;</code></li>\n      <li>The following steps are on the guest's client PC.</li>\n      <li>Log in to the guest account on the cloud machine, for example <code>ssh marian@davids-cloud-host.example.com</code></li>\n      <li>Join the host's screen session by including the host's username in the following command. The slash at the end is important:&nbsp;<code>screen -x david2/</code></li>\n      <li>With a bit of luck, you should be sharing control of a terminal from which you can run console programs and full screen editors like <code>nano</code> <code>vim</code> and <code>emacs</code>&nbsp;. You could even install <code>links</code> which is a terminal web browser.</li>\n    </ol>\n\n    <p><br>\n    </p>\n  </div>\n\n</div>\n"
  },
  {
    "path": "app/views/pages/remote-pair-programming/pair-programming-calendar.html.erb",
    "content": "<div class=\"container\">\n  <div>Please contact Sam on email \"<a href=\"mailto:tansaku@gmail.com\">tansaku@gmail.com</a>\" or skype \"tansaku\" to get set up. &nbsp;At the moment we need the XML URL to a publicly shared Google calender to pull you into the calender. &nbsp;You can also fill out our&nbsp;<a href=\"https://sites.google.com/site/saasellsprojects/remote-pair-programming/pair-programming-form\" style=\"line-height:1.6;font-size:10pt\">Pair Programming Form</a></div>\n  <div><br>\n  </div>\n  <div>Note: we are planning to divide the calendar up based on the type of project you are interesting in pairing on ...</div>\n  <div></div>\n  <br>\n  <div><br>\n  </div>\n  <!-- Bryan: This seems not to be working -->\n  <!--<img src=\"https://www.google.com/chart?chc=sites&amp;cht=d&amp;chdp=sites&amp;chl=%5B%5BGoogle+Gadget'%3D20'f%5Cv'a%5C%3D0'10'%3D499'0'dim'%5Cbox1'b%5CF6F6F6'fC%5CF6F6F6'eC%5C0'sk'%5C%5B%22Include+gadget+(iframe)%22'%5D'a%5CV%5C%3D12'f%5C%5DV%5Cta%5C%3D10'%3D0'%3D500'%3D997'dim'%5C%3D10'%3D10'%3D500'%3D997'vdim'%5Cbox1'b%5Cva%5CF6F6F6'fC%5CC8C8C8'eC%5C'a%5C%5Do%5CLauto'f%5C&amp;sig=1lW7NbgW0CccVFO8Vxk6jdMMLwI\" data-igsrc=\"http://107.gmodules.com/ig/ifr?mid=107&amp;synd=trogedit&amp;url=http%3A%2F%2Fwww.gstatic.com%2Fsites-gadgets%2Fiframe%2Fiframe.xml&amp;up_iframeURL=http%3A%2F%2Ftansaku.github.io%2FPairProgrammingScheduler&amp;up_scroll=auto&amp;h=1000&amp;w=100%25\" data-type=\"ggs-gadget\" data-props=\"align:left;borderTitle:Include gadget (iframe);height:1000;igsrc:http#58//107.gmodules.com/ig/ifr?mid=107&amp;synd=trogedit&amp;url=http%3A%2F%2Fwww.gstatic.com%2Fsites-gadgets%2Fiframe%2Fiframe.xml&amp;up_iframeURL=http%3A%2F%2Ftansaku.github.io%2FPairProgrammingScheduler&amp;up_scroll=auto&amp;h=1000&amp;w=100%25;mid:107;scrolling:auto;showBorder:false;showBorderTitle:null;spec:http#58//www.gstatic.com/sites-gadgets/iframe/iframe.xml;up_iframeURL:http#58//tansaku.github.io/PairProgrammingScheduler;up_scroll:auto;view:default;width:100%;\" width=\"500\" height=\"1000\" style=\"display:block;text-align:left;margin-right:auto;\" class=\"igm\">-->\n</div>"
  },
  {
    "path": "app/views/pages/remote-pair-programming/pair-programming-form.html.erb",
    "content": "<div class=\"container\">\n  <!-- Bryan: Again problem embedding a widget -->\n  <!--<div><img src=\"https://www.google.com/chart?chc=sites&amp;cht=d&amp;chdp=sites&amp;chl=%5B%5BSpreadsheet+form'%3D20'f%5Cv'a%5C%3D0'10'%3D499'0'dim'%5Cbox1'b%5CF6F6F6'fC%5CF6F6F6'eC%5C0'sk'%5C%5B%22Untitled+form%22'%5D'a%5CV%5C%3D12'f%5C%5DV%5Cta%5C%3D10'%3D0'%3D500'%3D997'dim'%5C%3D10'%3D10'%3D500'%3D997'vdim'%5Cbox1'b%5Cva%5CF6F6F6'fC%5CC8C8C8'eC%5C'a%5C%5Do%5CLauto'f%5C&amp;sig=ufCUWLlnafDjwItQQpoWyFYBRsE\" data-origsrc=\"1RSoLhUbL6oc5PjGChQD87ckLiOkfUXLnLsUpxbXVWcE\" data-type=\"spreadsheet-form\" data-props=\"align:left;borderTitle:Untitled form;doctype:freebird;height:1000;objectTitle:Untitled form;showBorder:false;showBorderTitle:false;\" width=\"500\" height=\"1000\" style=\"display:block;text-align:left;margin-right:auto;\"></div>-->\n  <br>\n</div>"
  },
  {
    "path": "app/views/pages/remote-pair-programming/pair-programming-help-videos.html.erb",
    "content": "<div class=\"container\">\n  Watch these videos on Pair Programming:\n  <div><br>\n  </div>\n  <div>\n    <iframe title=\"YouTube video player\" class=\"youtube-player\" type=\"text/html\" src=\"//www.youtube.com/embed/OQXEzwXtzJ8?rel=0&amp;wmode=opaque\" frameborder=\"0\" allowfullscreen=\"true\" width=\"425\" height=\"355\"></iframe>\n    <div><br>\n    </div>\n    <div>\n      <iframe title=\"YouTube video player\" class=\"youtube-player\" type=\"text/html\" src=\"//www.youtube.com/embed/Yq1qgWvSIdI?rel=0&amp;wmode=opaque\" frameborder=\"0\" allowfullscreen=\"true\" width=\"425\" height=\"355\"></iframe>\n      <br>\n    </div>\n    <div>\n      <iframe title=\"YouTube video player\" class=\"youtube-player\" type=\"text/html\" src=\"//www.youtube.com/embed/f9ALSPlPQhg?rel=0&amp;wmode=opaque\" frameborder=\"0\" allowfullscreen=\"true\" width=\"425\" height=\"355\"></iframe>\n      <div><br>\n      </div>\n      <div>\n        <iframe title=\"YouTube video player\" class=\"youtube-player\" type=\"text/html\" src=\"//www.youtube.com/embed/zaDk-08T8Wg?rel=0&amp;wmode=opaque\" frameborder=\"0\" allowfullscreen=\"true\" width=\"425\" height=\"355\"></iframe>\n        <br>\n      </div>\n      <br>\n    </div>\n    <br>\n  </div>\n\n</div>\n"
  },
  {
    "path": "app/views/pages/remote-pair-programming/pair-programming-protocols/classroom-guidelines.html.erb",
    "content": "<div class=\"container\">\n  <ol>\n    <li>Students need training in pair programming in a supervised setting to experience the mechanics of successful pairing.</li>\n    <li>Teaching staff must actively engage in the management of pair interactions</li>\n    <li>Teaching staff must actively engage in the management of pair interactions</li>\n    <li>When students are pair programming outside of a closed laboratory or classroom setting, Instructors should provide a systematic mechanism for obtaining students’ feedback about their partners and must act upon the feedback when indications are a student is not being&nbsp;<span style=\"background-color:transparent;line-height:1.6;font-size:10pt\">an equal participant.</span></li>\n    <li>In each course, students should be evaluated on a balance of individual and collaborative work</li>\n    <li>When assigning pairs, instructors should attempt to maximize the chances students will work well together.&nbsp;</li>\n    <li>Students should have different partners throughout the semester.&nbsp;</li>\n    <li>Students must understand that problems with their partner must be surfaced immediately to give the instructor a chance to correct the situation.&nbsp;</li>\n    <li>Pairs should be able to comfortably sit next to each other as they work, and both should&nbsp;<span style=\"background-color:transparent;line-height:1.6;font-size:10pt\">have easy access to the monitor, mouse, and keyboard.&nbsp;</span></li>\n    <li>The programmers in a pair should be working toward a common goal.&nbsp;</li>\n    <li>Teaching staff should encourage pairs to find answers on their own rather than providing them with answers</li>\n  </ol>\n  <div>From&nbsp;<a href=\"http://people.cs.vt.edu/~mccricks/papers/wmlh08.pdf\">http://people.cs.vt.edu/~mccricks/papers/wmlh08.pdf</a></div>\n</div>\n"
  },
  {
    "path": "app/views/pages/remote-pair-programming/pair-programming-protocols/github-pong.html.erb",
    "content": "<div class=\"container\">\n  <div>Github Pong involves pushing code back and forth over related Github branches to make for quick driver/navigator swaps when one is pairing using screen share. &nbsp;First you need to ensure that all parties have a fork of whatever repo is being worked on. &nbsp;Then make sure that everyone has each other added as a remote, e.g.&nbsp;</div>\n  <div><br>\n  </div>\n  <div><font face=\"courier new, monospace\">git remote add &lt;pair-partner&gt; &lt;URL-to-pair-partners-repo&gt;</font></div>\n  <div><br>\n  </div>\n  <div>use <font face=\"courier new, monospace\">git remote -v</font> to check that's set up correctly. &nbsp;Then to get your partners code use the following:</div>\n  <div><br>\n  </div>\n  <div><font face=\"courier new, monospace\">git fetch &lt;pair-partner&gt;</font></div>\n  <div><font face=\"courier new, monospace\">git checkout &lt;pair-partner&gt;/&lt;branch-name&gt;</font></div>\n  <div><font face=\"courier new, monospace\">git checkout -b &lt;branch-name&gt;</font></div>\n  <div><br>\n  </div>\n  <div>then to sync after your partner makes additional changes:</div>\n  <div><br>\n  </div>\n  <div><font face=\"courier new, monospace\">git pull &lt;pair-partner&gt; &lt;branch-name&gt;</font></div>\n  <div><br>\n  </div>\n  <div>It's also great to have tab completion for branch names:</div>\n  <div><br>\n  </div>\n  <div><a href=\"http://code-worrier.com/blog/autocomplete-git/\" rel=\"nofollow\" style=\"text-decoration:none;color:rgb(102,17,204);font-family:Roboto,Arial,sans-serif;font-size:13px;line-height:15px\" target=\"_blank\">http://code-worrier.com/blog/autocomplete-git/</a></div>\n  <div><br>\n  </div>\n  <div>and branch names displayed in your command prompt:</div>\n  <div><br>\n  </div>\n  <div><span style=\"color:rgb(17,85,204);font-family:Roboto,Arial,sans-serif;font-size:13px;line-height:15px\">http://stackoverflow.com/questions/2231214/git-tips-and-tricks-display-branch-on-command-prompt-not-working-and-created-s</span></div>\n  <div><span style=\"color:rgb(17,85,204);font-family:Roboto,Arial,sans-serif;font-size:13px;line-height:15px\"><br>\n</span></div>\n  See examples in the following repos:\n  <div><br>\n  </div>\n  <div><a href=\"https://github.com/PairProgramming/StackExercise\">https://github.com/PairProgramming/StackExercise</a></div>\n  <div><a href=\"https://github.com/PairProgramming/AddUserExercise\">https://github.com/PairProgramming/AddUserExercise</a><br>\n    <div><span style=\"color:rgb(17,85,204);font-family:Roboto,Arial,sans-serif;font-size:13px;line-height:15px\"><br>\n</span></div>\n  </div>\n\n</div>\n"
  },
  {
    "path": "app/views/pages/remote-pair-programming/pair-programming-protocols.html.erb",
    "content": "<div class=\"container\">\n  <div>\n    <h2>Ping Pong Pairing between Programmer A and Programmer B:</h2>\n    <div style=\"display:block;text-align:left\">attributed to Jim Shore in his 2007 book \"<a href=\"http://www.jamesshore.com/Agile-Book/pair_programming.html\">The Art of Agile Development</a>\"</div>\n    <div style=\"display:block;text-align:left\"><br>\n    </div>\n\n  </div>\n  <div style=\"display:block;text-align:left\">We pasted an <a href=\"https://sites.google.com/site/saasellsprojects/remote-pair-programming/pair-programming-protocols/github-pong/ping-pong\">example of ping pong github commands here</a>.<br>\n  </div>\n  <h2>Change the Message between Programmer A and Programmer B:</h2>\n  <div>\n    <div style=\"display:block;text-align:left\"><a href=\"https://sites.google.com/site/saasellsprojects/remote-pair-programming/pair-programming-protocols/PingPongProtocol.png?attredirects=0\" imageanchor=\"1\"><img border=\"0\" src=\"https://sites.google.com/site/saasellsprojects/remote-pair-programming/pair-programming-protocols/PingPongProtocol.png\"></a></div>\n    <br>\n  </div>\n  <div>attributed to&nbsp;John Wilger</div>\n  <div><br>\n  </div>\n  <div></div>\n  <div><br>\n  </div>\n  <h2>One Undermanship between Programmer A and Programmer B:</h2>\n  <div>\n    <div style=\"display:block;text-align:left\"><a href=\"https://sites.google.com/site/saasellsprojects/remote-pair-programming/pair-programming-protocols/ChangeTheMessage.png?attredirects=0\" imageanchor=\"1\"><img border=\"0\" src=\"https://sites.google.com/site/saasellsprojects/remote-pair-programming/pair-programming-protocols/ChangeTheMessage.png\"></a></div>\n    <br>\n  </div>\n  <div>attributed to Sam Livingston Gray</div>\n  <div><br>\n  </div>\n  <div>\n\n    <br>\n  </div>\n  <div>\n    <div style=\"display:block;text-align:left\"><a href=\"https://sites.google.com/site/saasellsprojects/remote-pair-programming/pair-programming-protocols/OneUndermanShip.png?attredirects=0\" imageanchor=\"1\"><img border=\"0\" src=\"https://sites.google.com/site/saasellsprojects/remote-pair-programming/pair-programming-protocols/OneUndermanShip.png\"></a></div>\n    <br>\n  </div>\n  <div style=\"display:block;text-align:left\"><br>\n  </div>\n  <div><br>\n  </div>\n  <div><br>\n  </div>\n  <div>Taken from Sam Livingston-Gray's talk:</div>\n  <div><br>\n  </div>\n  <div>\n    <iframe title=\"YouTube video player\" class=\"youtube-player\" type=\"text/html\" src=\"//www.youtube.com/embed/W_hsEi_UZHE?rel=0&amp;wmode=opaque\" frameborder=\"0\" allowfullscreen=\"true\" width=\"425\" height=\"355\"></iframe>\n    <div><br>\n    </div>\n    <div><br>\n    </div>\n    <h2>App Academy apparently uses the following pair protocol in their 9 week face to face course:</h2>\n    <div><br>\n    </div>\n    <div>\n      <ul><li><span style=\"line-height:1.5;font-size:10pt\">new pair every day</span></li>\n        <li><span style=\"line-height:1.5;font-size:10pt\">15 minute timer driver navigator swap</span></li>\n        <ul><li><span style=\"line-height:1.5;font-size:10pt\">dual keyboard setup to make swapping easier</span></li>\n          <li><span style=\"line-height:1.5;font-size:10pt\">only driver has control of the computer</span></li></ul>\n        <li><span style=\"line-height:1.5;font-size:10pt\">bite sized projects in morning, bigger projects in the afternoon</span></li>\n        <li><span style=\"line-height:1.5;font-size:10pt\">capstone projects are individual</span></li>\n        <ul><li><span style=\"line-height:1.5;font-size:10pt\">they say that learning phase is best for pairing - when later repeating for practise then pairing allegedly not so helpful</span></li></ul>\n        <li><span style=\"font-size:10pt;line-height:1.5\">TDD/BDD is not required --&gt; focused on javascript for preference</span></li></ul>\n    </div>\n  </div>\n\n</div>"
  },
  {
    "path": "app/views/pages/remote-pair-programming.html.erb",
    "content": "<h2>So you want to Remote Pair Program?</h2>\n<div>First you'll need to find someone to pair with, for which we recommend the <a href=\"https://plus.google.com/communities/100279740984094902927\">G+ Pairing Community</a></div>\n\n<div><br>\n</div>\n\n<div>Then you'll need some tools. &nbsp;From most simple to most complex here are a few</div>\n\n<div>\n  <ul>\n    <li>\n      <a href=\"http://www.google.com/hangouts/\">Google Hangout with Screenshare</a>(Chrome or Firefox browser)\n      <ul><li><a href=\"https://support.google.com/plus/answer/1660627?hl=en-GB\">Howto</a></li></ul>\n    </li>\n    <li>\n      <a href=\"http://www.skype.com/\">Skype Screenshare</a>(OS X, Windows, Linux)\n      <ul>\n        <li><a href=\"https://support.skype.com/en/category/SCREEN_SHARING/\">Howto</a></li>\n      </ul>\n    </li>\n    <li>\n      <a href=\"http://madeye.io/\">Google Hangout + MadEye</a>(Chrome browser + nodejs install)\n    </li>\n    <li>\n      <a href=\"https://floobits.com/\">Google Hangout + Floobits</a>(Chrome browser + editor install)\n    </li>\n    <li>\n      <a href=\"http://screenhero.com/\">ScreenHero</a>(OS X, Windows)\n    </li>\n    <li>\n      <a href=\"http://www.teamviewer.com/\">TeamViewer</a>(OS X, Windows, Linux)\n    </li>\n    <li>\n      <a href=\"http://www.agileventures.org/remote-pair-programming/gnu-screen-pairing-notes\">GNU Screen</a>(Linux and Unix - on Windows it needs\n      <a href=\"http://cygwin.com/\">cygwin</a>)\n    </li>\n    <li>\n      <a href=\"http://pivotallabs.com/how-we-use-tmux-for-remote-pair-programming/\">Tmux</a>(all *nix platforms?)\n    </li>\n    <li>\n      <a href=\"https://c9.io/\">Cloud9</a>\n      <ul><li><a href=\"http://www.agileventures.org/remote-pair-programming/c9-howto\">Howto</a></li></ul>\n    </li>\n    <li>\n      <a href=\"https://www.nitrous.io/\">Nitrous io</a>\n    </li>\n    <li>\n      <a href=\"https://kobra.io/\">Kobra io</a>\n    </li>\n  </ul>\n  <div>The last two can nicely be paired with an Amazon EC2 instance. &nbsp;More detailed setup for each coming soon ...</div>\n</div>\n\n<div><br>\n</div>\n\n<div>We also recommend Google Hangouts on air:</div>\n\n<div><br>\n</div>\n\n<a href=\"https://plus.google.com/hangouts/_?hso=0&amp;title=EdX%20SaaS&amp;name=EdX%20SaaS&amp;topic=EdX%20SaaS\" style=\"text-decoration:none\">\n  <img alt=\"Start a Hangout\" src=\"https://ssl.gstatic.com/s2/oz/images/stars/hangout/1/gplus-hangout-60x230-normal.png\" style=\"border:0;width:230px;height:60px\"></a>\n\n<div><br>\n</div>\n\n<div>Other great RPP resources:</div>\n\n<div>\n  <ul><li>Joe Moore's Blog <a href=\"http://remotepairprogramming.com\">http://remotepairprogramming.com</a></li>\n    <li>Avdi's PairWithMe meme <a href=\"http://pairprogramwith.me\">http://pairprogramwith.me</a></li></ul>\n  <div>Selection of help videos and protocols</div>\n  <div>\n    <ul><li><a href=\"https://sites.google.com/site/saasellsprojects/remote-pair-programming/pair-programming-help-videos\">Pair Programming Help Videos</a></li>\n      <li><a href=\"https://sites.google.com/site/saasellsprojects/remote-pair-programming/pair-programming-protocols\">Pair Programming Protocols</a></li></ul>\n    <h3>Quotes from EdX SaaS Pair Programmers:</h3>\n    <div>\n      <div><b>Dag Andre Ivarsøn</b>:</div>\n    </div>\n  </div>\n</div>\n\n<blockquote style=\"margin:0 0 0 40px;border:none;padding:0px\">\n  <div>\n    <div>\n      <div>\n        <div>I've really learned how to use the debugger during these pairing sessions, and we really drive each other forwards :-) It really helps having someone to talk to.</div>\n      </div>\n    </div>\n  </div>\n</blockquote>\n\n<div>\n  <div>\n    <div>\n      <div><br>\n      </div>\n      <div><b>Antoine ModuloM</b>:</div>\n    </div>\n  </div>\n</div>\n\n<blockquote style=\"margin:0 0 0 40px;border:none;padding:0px\">\n  <div>\n    <div>\n      <div>\n        <div>I'm convinced that 4 brains is really better than one. I've learned a lot and we go through the HW3 till the end. Thank you all!</div>\n      </div>\n    </div>\n  </div>\n</blockquote>\n\n<div>\n  <div>\n    <div>\n      <div><br>\n      </div>\n      <div><b>Sunil Manandhar</b>:&nbsp;</div>\n    </div>\n  </div>\n</div>\n\n<blockquote style=\"margin:0 0 0 40px;border:none;padding:0px\">\n  <div>\n    <div>\n      <div>\n        <div>Pair programming helped me boost my confidence; it helped me gain a motion from where I'd usually stop. There was socializing, sharing, and a synergistic effect. I've improved a lot!</div>\n      </div>\n    </div>\n  </div>\n  <div><br>\n  </div>\n</blockquote>\n\n<b>Semyon Vodyannikov:</b><br>\n<blockquote style=\"margin:0 0 0 40px;border:none;padding:0px\">\n  <div>When you program alone, if you are stuck, you go spend your time on facebook or theonion.com. But if you pair, you don't get distracted and there is always someone who can give you a hand :)</div>\n</blockquote>\n\n<div style=\"margin-top: 50px;\">\n  <h3>More on remote pair programming</h3>\n  <ul>\n    <li><a href=\"/remote-pair-programming/analysis\">Analysis</a></li>\n    <li><a href=\"/remote-pair-programming/c9-howto\">C9 Howto</a></li>\n    <li><a href=\"/remote-pair-programming/creating-a-pp-event-on-g\">Creating a PP Event on G+</a></li>\n    <li><a href=\"/remote-pair-programming/example-videos\">Example Videos</a></li>\n    <li><a href=\"/remote-pair-programming/gnu-screen-pairing-notes\">GNU screen pairing notes</a></li>\n    <li><a href=\"/remote-pair-programming/pair-programming-calendar\">Pair Programming Calendar</a></li>\n    <li><a href=\"/remote-pair-programming/pair-programming-form\">Pair Programming Form</a></li>\n    <li><a href=\"/remote-pair-programming/pair-programming-help-videos\">Pair Programming Help Videos</a></li>\n    <li>\n      <a href=\"/remote-pair-programming/pair-programming-protocols\">Pair Programming Protocols</a>\n      <ul>\n        <li><a href=\"/remote-pair-programming/pair-programming-protocols/classroom-guidelines\">Classroom Guidelines</a></li>\n        <li><a href=\"/remote-pair-programming/pair-programming-protocols/github-pong\">GitHub Pong</a></li>\n      </ul>\n    </li>\n  </ul>\n</div>\n\n"
  },
  {
    "path": "app/views/pages/saas-ells-screencasts.html.erb",
    "content": "<div>These are the critical things to work through before you start on any of the SaaS homeworks</div>\n<div><br>\n</div>\n<div>2.1.1 Getting Started</div>\n<div><br>\n</div>\n<iframe title=\"YouTube video player\" class=\"youtube-player\" type=\"text/html\" src=\"//www.youtube.com/embed/mmPNHJZwqCE?rel=0&amp;wmode=opaque\" frameborder=\"0\" allowfullscreen=\"true\" width=\"425\" height=\"355\"></iframe>\n<div><br>\n</div>\n<div><a href=\"https://vimeo.com/34754478\">Vimeo version</a></div>\n<div><br>\n</div>\n<div>2.2.1 Cookies</div>\n<div><br>\n</div>\n<div>\n  <iframe title=\"YouTube video player\" class=\"youtube-player\" type=\"text/html\" src=\"//www.youtube.com/embed/AolqBqYOp74?rel=0&amp;wmode=opaque\" frameborder=\"0\" allowfullscreen=\"true\" width=\"425\" height=\"355\"></iframe>\n  <div><br>\n  </div>\n  <div>This video has some problems with the audio, and also it's not recorded in the VM, so the web developer tools are not in the same places as for students using the VM. &nbsp;Also seems like the web developer toolbar extension is now not in the VM FF by default ...</div>\n  <div><br>\n  </div>\n  <div><a href=\"https://vimeo.com/33918630\">Vimeo version</a></div>\n  <div><br>\n  </div>\n  <div>2.3.1 HTML Introduction</div>\n  <div><br>\n  </div>\n  <div>\n    <iframe title=\"YouTube video player\" class=\"youtube-player\" type=\"text/html\" src=\"//www.youtube.com/embed/lXNeDR_5feQ?rel=0&amp;wmode=opaque\" frameborder=\"0\" allowfullscreen=\"true\" width=\"425\" height=\"355\"></iframe>\n    <div><br>\n    </div>\n    <div>Always found it funny to talk about HTML and HTTP without any mention of Tim Berners Lee, but then again it's pretty strange to talk about Rails without talking about DHH ...</div>\n    <div><br>\n    </div>\n    <div><a href=\"https://vimeo.com/34754506\">Vimeo version</a></div>\n    <div><br>\n    </div>\n    <div>2.3.2 Inspecting the ID and Class attributes</div>\n    <div><br>\n    </div>\n    <div>\n      <iframe title=\"YouTube video player\" class=\"youtube-player\" type=\"text/html\" src=\"//www.youtube.com/embed/S0aPYEVYiTo?rel=0&amp;wmode=opaque\" frameborder=\"0\" allowfullscreen=\"true\" width=\"425\" height=\"355\"></iframe>\n      <br>\n    </div>\n    <a href=\"https://vimeo.com/34754568\">Vimeo version</a></div>\n  <div><br>\n  </div>\n  <div>2.3.3 Introduction to CSS</div>\n  <br>\n</div>\n<iframe title=\"YouTube video player\" class=\"youtube-player\" type=\"text/html\" src=\"//www.youtube.com/embed/4os5Xc8C6g0?rel=0&amp;wmode=opaque\" frameborder=\"0\" allowfullscreen=\"true\" width=\"425\" height=\"355\"></iframe>\n<div><br>\n</div>\n<div><a href=\"https://vimeo.com/34754506\">Vimeo version</a></div>\n<div><br>\n</div>\n<div>2.7.1 Create and Update each require two interactions</div>\n<div><br>\n</div>\n<div>\n  <iframe title=\"YouTube video player\" class=\"youtube-player\" type=\"text/html\" src=\"//www.youtube.com/embed/q6bOFDxkpck?rel=0&amp;wmode=opaque\" frameborder=\"0\" allowfullscreen=\"true\" width=\"425\" height=\"355\"></iframe>\n  <br>\n</div>\n<a href=\"https://vimeo.com/34754622\">Vimeo version</a>\n<div><br>\n</div>\n<div>2.8.1 Interpolation into views using Haml</div>\n<div><br>\n</div>\n<div>\n  <iframe title=\"YouTube video player\" class=\"youtube-player\" type=\"text/html\" src=\"//www.youtube.com/embed/Df7lYwBHrMo?rel=0&amp;wmode=opaque\" frameborder=\"0\" allowfullscreen=\"true\" width=\"425\" height=\"355\"></iframe>\n  <br>\n</div>\n<div><a href=\"https://vimeo.com/34754654\">Vimeo version</a></div>\n<div><br>\n</div>\n<div>Missing Screen cast from sections 4.1, 4.2 and 4.3</div>\n<div><br>\n</div>\n<div>\n  <iframe title=\"YouTube video player\" class=\"youtube-player\" type=\"text/html\" src=\"//www.youtube.com/embed/5ar8SWO1lGs?rel=0&amp;wmode=opaque\" frameborder=\"0\" allowfullscreen=\"true\" width=\"425\" height=\"355\"></iframe>\n  <br>\n</div>\n<div>4.4.1 The Application Layout</div>\n<div>\n  <iframe title=\"YouTube video player\" class=\"youtube-player\" type=\"text/html\" src=\"//www.youtube.com/embed/CGiYtVhMFqU?rel=0&amp;wmode=opaque\" frameborder=\"0\" allowfullscreen=\"true\" width=\"425\" height=\"355\"></iframe>\n  <br>\n</div>\n<div><a href=\"https://vimeo.com/34754667\">Vimeo version</a></div>\n"
  },
  {
    "path": "app/views/pages/sortable-ells-errata.html.erb",
    "content": "<!--Bryan: Again embedded content is not available-->\n<!--<img src=\"https://www.google.com/chart?chc=sites&amp;cht=d&amp;chdp=sites&amp;chl=%5B%5BGoogle+spreadsheet'%3D20'f%5Cv'a%5C%3D0'10'%3D499'0'dim'%5Cbox1'b%5CF6F6F6'fC%5CF6F6F6'eC%5C0'sk'%5C%5B'%5D'a%5CV%5C%3D12'f%5C%5DV%5Cta%5C%3D10'%3D0'%3D500'%3D597'dim'%5C%3D10'%3D10'%3D500'%3D597'vdim'%5Cbox1'b%5Cva%5CF6F6F6'fC%5CC8C8C8'eC%5C'a%5C%5Do%5CLauto'f%5C&amp;sig=YyVycQ0WNL1etQYFkCG5t6Fexg0\" data-origsrc=\"0Al0KUpbalAT-dHZVb2NtNDZ1WmJWXy1yTjFKWF9DMWc\" data-type=\"spreadsheet\" data-props=\"view:list;\" width=\"500\" height=\"600\" style=\"display:block;text-align:left;margin-right:auto;\">-->\n\n"
  },
  {
    "path": "app/views/pages/sponsors.html.erb",
    "content": "\n\t<h2>Support Agile Ventures</h2>\n  <p>Supporters provide the AgileVentures coders and community resources to continue creating great web apps and improve the programming skills of its members. Perhaps you are a SaaS provider that has a product our members would love. Or maybe you want to make a monetary donation to help pay for our hosting costs. Whataever your reason, we would love to hear from you today. We thank our supporters by displaying their logos throughout the site and right here on the supporters page. If you are interested in supporting AgileVentures, contact us at info@agileventures.org.</p>\n\n\n\n\t<style type=\"text/css\">\n\t\t#sponsorLogos{\n\t\t\tdisplay: block;\n\t\t\tfloat: left;\n\t\t\tmargin: 0 25px 0 25px;\n\t\t}\n\t</style>\n\n<!-- <h1>Heros are individuals...</h1>\n<section id=\"ourHeros\" style=\"margin-top: -60px;\">\n  <h3>Perhaps you have participated in a pair programming session with someone across the world. Or maybe you just want to support the growth and education of programming enthusiasts. Whatever your motivation, you don't have to own a server farm to help AgileVentures continue serving non-profits and coders everywhere. Donate a few bucks today!</h3>\n</section> -->"
  },
  {
    "path": "app/views/pages/ubuntu-bash-help.html.erb",
    "content": "<div>\n  <ul><li><span style=\"line-height:1.6;font-size:10pt\">List contents of directory (ls): </span><a href=\"http://www.youtube.com/watch?v=rWJrWWOpTkE\" style=\"line-height:1.6;font-size:10pt\">http://www.youtube.com/watch?v=rWJrWWOpTkE</a></li>\n    <li><span style=\"line-height:1.6;font-size:10pt\">Change directory (cd): </span><a href=\"http://www.youtube.com/watch?v=L8fD7KS9fGA\" style=\"line-height:1.6;font-size:10pt\">http://www.youtube.com/watch?v=L8fD7KS9fGA</a></li>\n    <li><span style=\"line-height:1.6;font-size:10pt\">Cat: </span><a href=\"http://www.youtube.com/watch?v=SDuNvlmTQS8\" style=\"line-height:1.6;font-size:10pt\">http://www.youtube.com/watch?v=SDuNvlmTQS8</a></li>\n    <li><span style=\"line-height:1.6;font-size:10pt\">Commands Redirection </span><a href=\"http://www.youtube.com/watch?v=dXxBJ94D_0g\" style=\"line-height:1.6;font-size:10pt\">http://www.youtube.com/watch?v=dXxBJ94D_0g</a></li>\n    <li><span style=\"line-height:1.6;font-size:10pt\">Make Directories (mkdir): </span><a href=\"http://www.youtube.com/watch?v=1v6bAz3Spg4\" style=\"line-height:1.6;font-size:10pt\">http://www.youtube.com/watch?v=1v6bAz3Spg4</a></li>\n    <li><span style=\"line-height:1.6;font-size:10pt\">Remove (rm): </span><a href=\"http://www.youtube.com/watch?v=BRkhwBexCuM\" style=\"line-height:1.6;font-size:10pt\">http://www.youtube.com/watch?v=BRkhwBexCuM</a></li>\n    <li><span style=\"line-height:1.6;font-size:10pt\">Copy (cp): </span><a href=\"http://www.youtube.com/watch?v=5YgIflLST4Q\" style=\"line-height:1.6;font-size:10pt\">http://www.youtube.com/watch?v=5YgIflLST4Q</a></li>\n    <li><span style=\"line-height:1.6;font-size:10pt\">Move (mv): </span><a href=\"http://www.youtube.com/watch?v=Uox5X8O2Pdk\" style=\"line-height:1.6;font-size:10pt\">http://www.youtube.com/watch?v=Uox5X8O2Pdk</a></li>\n    <li><span style=\"line-height:1.6;font-size:10pt\">Less: </span><a href=\"http://www.youtube.com/watch?v=ZQTt0LEoj3k\" style=\"line-height:1.6;font-size:10pt\">http://www.youtube.com/watch?v=ZQTt0LEoj3k</a></li>\n    <li><span style=\"line-height:1.6;font-size:10pt\">File: </span><a href=\"http://www.youtube.com/watch?v=E-SPhtL-jTM\" style=\"line-height:1.6;font-size:10pt\">http://www.youtube.com/watch?v=E-SPhtL-jTM</a></li>\n    <li><span style=\"line-height:1.6;font-size:10pt\">Dealing with Spaces: </span><a href=\"http://www.youtube.com/watch?v=lV3npHBt1xA\" style=\"line-height:1.6;font-size:10pt\">http://www.youtube.com/watch?v=lV3npHBt1xA</a></li>\n    <li><span style=\"line-height:1.6;font-size:10pt\">WildCard: </span><a href=\"http://www.youtube.com/watch?v=QrkH-xwh1fI\" style=\"line-height:1.6;font-size:10pt\">http://www.youtube.com/watch?v=QrkH-xwh1fI</a></li>\n    <li><span style=\"line-height:1.6;font-size:10pt\">Head: </span><a href=\"http://www.youtube.com/watch?v=AB8FaKP-KnA\" style=\"line-height:1.6;font-size:10pt\">http://www.youtube.com/watch?v=AB8FaKP-KnA</a></li>\n    <li><span style=\"line-height:1.6;font-size:10pt\">Pipes: </span><a href=\"http://www.youtube.com/watch?v=9gSPo-9mLOs\" style=\"line-height:1.6;font-size:10pt\">http://www.youtube.com/watch?v=9gSPo-9mLOs</a></li></ul>\n</div>\n\n\n"
  },
  {
    "path": "app/views/project_mailer/alert_project_creator_about_new_member.html.erb",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta content='text/html; charset=UTF-8' http-equiv='Content-Type' />\n  </head>\n  <body>\n    <p>Hi <%= @project_creator.display_name %>,<br></p>\n    <p>\n      <%= mail_to @user.email, \"#{@user.email}\" %> just joined your project <%= @project.title %>, you can reach out and personally welcome them.<br>\n    </p>\n    <p>\n      You are receiving this email because you registered at <a href=\"http://www.agileventures.org/\">www.agileventures.org</a>. If you wish to be removed from this mailing list, please login at av.org and go to your profile page and edit \"Receive site emails\" to be unchecked - if you are already logged in go directly to: <a href=\"http://www.agileventures.org/users/edit\">www.agileventures.org/users/edit</a>.\n    </p>\n  </body>\n</html>\n"
  },
  {
    "path": "app/views/project_mailer/alert_project_creator_about_new_member.text.erb",
    "content": "Hi <%= @project_creator.display_name %>,\n===========================================================================\n\n<%= @user.email %> just joined your project <%= @project.title %>, you can reach out and personally welcome them.\n===========================================================================\n\nYou are receiving this email because you registered at http://www.agileventures.org. If you wish to be removed from this mailing list, please login at av.org and go to your profile page and edit \"Receive site emails\" to be unchecked - if you are already logged in go directly to: http://www.agileventures.org/users/edit/.\n\n"
  },
  {
    "path": "app/views/project_mailer/welcome_project_joinee.html.erb",
    "content": "<p>Hi <%= @user.first_name %>,</p>\n\n<p>Thanks so much for joining the <%= @project.title %> project!<% if @project.title == 'WebsiteOne' %> - as you might know, it's the Rails code that powers our main site - we coordinate via #websiteone on slack and there's a #websiteone-install channel for help to get set up.</p><% else %></p>\n<% end %>\n<% if @project.slack_channel_name.present? %>\n<p>We coordinate via <%= link_to \"#{@project.title}\", @project.slack_channel %> on slack and are looking forward to working with you.</p>\n<% end %>\n\n<p>Just reach out if there's anything you need.</p>\n\n<p>Best, <%= @project_creator.first_name %></p>\n\n<footer>\n  <p>You are receiving this email because you registered at <%= link_to \"www.agileventures.org\", root_url %>. If you wish to be removed from this mailing list, please login at av.org and go to your profile page and edit \"Receive site emails\" to be unchecked - if you are already logged in go directly to: <%= link_to \"www.agileventures.org/users/edit\", edit_user_registration_url %>.</p>\n</footer>\n"
  },
  {
    "path": "app/views/project_mailer/welcome_project_joinee.text.erb",
    "content": "Hi <%= @user.first_name %>,\n\nThanks so much for joining the <%= @project.title %> project!<% if @project.title == 'WebsiteOne' %> - as you might know, it's the Rails code that powers our main site - we coordinate via #websiteone on slack and there's a #websiteone-install channel for help to get set up.\n<% end %>\n<% if @project.slack_channel_name.present? %>\n  We coordinate via <%= @project.slack_channel %> on slack and are looking forward to working with you.\n<% end %>\n\nJust reach out if there's anything you need.\n\nBest, <%= @project_creator.first_name %>\n\n\nYou are receiving this email because you registered at www.agileventures.org. If you wish to be removed from this mailing list, please login at av.org and go to your profile page and edit \"Receive site emails\" to be unchecked - if you are already logged in go directly to: http://www.agileventures.org/users/edit.\n"
  },
  {
    "path": "app/views/projects/_activity.html.erb",
    "content": "<%- unless @stories.empty? %>\n  <h2>Current</h2>\n  <table class=\"table table-bordered table-striped table-hover table-condensed\">\n    <tr>\n      <th>Type</th>\n      <th>Points</th>\n      <th>Labels</th>\n      <th>State</th>\n    </tr>\n    <%- @stories.each do |story| %>\n    <tr>\n      <td>\n      <% case story.story_type when \"chore\" %>\n          <i class=\"fa fa-gear fa-lg\"></i>\n      <% when \"feature\" %>\n          <i class=\"fa fa-star fa-lg\"></i>\n      <% when \"bug\" %>\n          <i class=\"fa fa-bug fa-lg\"></i>\n      <% when \"release\" %>\n          <i class=\"fa fa-flag-checkered fa-lg\"></i>\n      <% end %>\n      </td>\n      <td>\n\t<% if story.estimate > 0  %>\n\t  <% story.estimate.times do %>\n            <i class=\"fa fa-minus fa-lg story_estimate\"></i>\n\t  <% end %>\n\t<% end %>\n      <td>\n\t<p class=\"story_name\">\n\t  <a href=\"https://www.pivotaltracker.com/story/show/<%= story.id %>\">\n\t  <%= story.name %>\n\t</a>\n    <% if story.owners && !story.owners.empty? %>\n\t    (<span><%= story.owners.map { |owner| owner.initials }.join(\" \") %></span>)\n    <% end %>\n\t</p>\n      </td>\n      <td><%= story.current_state %></td>\n    </tr>\n    <% end %>\n  </table>\n</div>\n<% else %>\n<%   if @is_non_pt_issue_tracker %>\n<p>Stories are not supported for issue tracker type used by project <strong><%= @project.title %></strong></p>\n<%     else %>\n<p>No IssueTracker Stories can be found for project <strong><%= @project.title %></strong></p>\n<%   end %>\n<% end %>\n"
  },
  {
    "path": "app/views/projects/_connections.html.erb",
    "content": "<aside class=\"sidebar-widget projects-sidebar-group\">\n  <h1 class=\"widget-title\">Connected on</h1>\n  <% if @project.source_repositories.size > 0 %>\n      <% @project.source_repositories.each do |repo| %>\n        <p><i class=\"fa fa-github-alt fa-lg\"></i>\n        <span class=\"small\"><%= link_to \"#{repo.name} \", repo.url %>on GitHub</span></p>\n      <% end %>\n  <% else %>\n    <p><i class=\"fa fa-github-alt fa-lg\"></i> <span class=\"small\">not linked to GitHub</span></p>\n  <% end %>\n\n  <% if @project.issue_trackers.size > 0 %>\n    <% @project.issue_trackers.each do |issue_tracker| %>\n      <p><i class=\"fa fa-gear fa-lg\"></i>\n      <span class=\"small\"><%= link_to \"#{@project.title} \", issue_tracker.url %>on IssueTracker</span></p>\n    <% end %>\n  <% else %>\n    <p><i class=\"fa fa-gear fa-lg\"></i> <span class=\"small\">not linked to IssueTracker</span></p>\n  <% end %>\n\n  <% if @project.slack_channel_name.present? %>\n    <p><i class=\"fa fa-slack\" aria-hidden=\"true\"></i>\n      <span class=\"small\">\n        <%= link_to \"#{@project.title} \", @project.slack_channel %>on Slack\n      </span>\n    </p>\n  <% else %>\n    <p><i class=\"fa fa-slack fa-lg\"></i> <span class=\"small\">not linked to Slack</span></p>\n  <% end %>\n</aside>\n"
  },
  {
    "path": "app/views/projects/_documents_list.html.erb",
    "content": "<% unless @documents.empty? %>\n  <h2>Related documents</h2>\n  <ul class=\"listings\">\n    <% @documents.roots.each do |d| %>\n      <li class=\"listings-item\">\n        <% num_children = d.children.count %>\n        <strong><%= link_to d.title, project_document_path(@project, d) %></strong> <%= \"(#{num_children})\" if num_children > 0 %>\n        -\n        <i>created by <%= d.user.display_name %> <%= time_ago_in_words(d.created_at) %> ago</i>\n      </li>\n    <% end %>\n  </ul>\n<% else %>\n  <p>No documents can be found for project <strong><%= @project.title %></strong></p>\n<% end %>"
  },
  {
    "path": "app/views/projects/_form.html.erb",
    "content": "<div class='row'>\n  <div class='col-sm-8'>\n    <%= form_for @project, html: { role: 'form', id: 'project_form' } do |f| %>\n      <%= awesome_text_field f, :title, placeholder: 'Name' %>\n      <div id='help-link'>\n        You can upload an image at\n        <a href='https://imgur.com/upload' target=\"_blank\">\n          imgur.com/upload\n        </a>\n      </div>\n      <%= awesome_text_field f, :image_url, placeholder: 'Paste a link to your image here' %>\n      <%= awesome_text_area f, :description, rows: 10, placeholder: 'Description' %>\n      \n      <% if current_user.admin? %>\n        <div class='form-group'>\n          <%= f.label :status %>\n          <%= f.select :status, %w( Active Closed Pending ), {}, class: 'form-control input-lg' %>\n        </div>\n      <% end %>\n\n      <div id='source_repositories' class='form-group'>\n        <%= f.fields_for :source_repositories do |source_repository| %>\n          <%= render 'source_repository_fields', f: source_repository %>\n        <% end %>\n        <div class='links form-group'>\n          <%= link_to_add_association 'Add more repos', f, :source_repositories, class: 'btn btn-default' %>\n        </div>\n      </div>\n\n      <div id=\"issue_trackers\" class=\"form-group\"> \n        <%= f.fields_for :issue_trackers do |issue_tracker| %>\n          <%= render 'issue_tracker_fields', f: issue_tracker %>\n        <% end %>\n        <div class= 'links form-group'>\n          <%= link_to_add_association 'Add more trackers', f, :issue_trackers, class: 'btn btn-default'%>\n        </div>\n      </div>\n\n      <%= awesome_text_field f, :slack_channel_name, label_text: 'Slack channel name', placeholder: 'project_slack_channel_name' %>\n\n      <% if @project.new_record? %>\n        <div class=\"form-group\">\n          <h3>New project checklist</h3>\n          <p>What to do next:</p>\n          <ul>\n            <li>Attend one of the community follow-ups!</li>\n            <li>Share the project with the community members</li>\n            <li>Start an omline meeting or live stream!</li>\n          </ul>\n          <p>Ready to kick things off?</p>\n        </div>\n      <% end %>\n      <div class='form-group'>\n        <%= link_to 'Back', (@project.id.nil? ? projects_path : project_path(@project)), type: 'button', class: 'btn btn-default'%>\n        <%= f.submit 'Submit', class: 'btn btn-default' %>\n      </div>\n    <% end %>\n  </div>\n</div>\n"
  },
  {
    "path": "app/views/projects/_highlight_box.html.erb",
    "content": "<div class=\"highlight-box projects-sidebar-group\">\n  \n  <p>Project status: <%= @project.status.upcase %></p>\n  <p class=\"doc-status-text\"><%= \"Created #{time_ago_in_words(@project.created_at)} ago\" %> by <%= @project.user.display_name %></p>\n\n  <% if user_signed_in? && current_user.following?(@project) %>\n  <% else %>\n    <a href=\"<%= follow_project_path(@project) %>\" data-toggle=\"tooltip\" data-placement=\"top\" title=\"join project\" class=\"btn btn-block btn-join\">Join Project</a>\n  <% end %>\n\n</div>\n"
  },
  {
    "path": "app/views/projects/_issue_tracker_fields.html.erb",
    "content": "<div class='nested-fields nested-issue-tracker-fields form-group'>\n    <div class=\"field form-group\">\n        <%= f.label :url, 'Issue Tracker', class: 'issue_tracker_field_label' %>\n        <%= f.text_field :url, placeholder: 'https://www.pivotaltracker.com/s/projects/id', class: 'form-control input-lg' %>\n    </div>\n    <%= link_to_remove_association 'Delete issue tracker', f, class: 'btn btn-danger'%>\n</div>\n\n\n"
  },
  {
    "path": "app/views/projects/_listing.html.erb",
    "content": "<% @projects.each do |project| %>\n  <li class=\"col-xs-4\">\n    <div class=\"project_card\">\n      <div class=\"row\">\n        <%= link_to project_path(project) do %>\n        <% if project.image_url.present? %>\n          <div id=\"project_listing_image\" class=\"col-xs-12\">\n            <%= image_tag project.image_url, class: 'img-responsive' %>\n          </div>\n        <% else %>\n          <div id=\"project_listing_image\" class=\"col-xs-12\">\n            <%= image_tag 'full_logo2_agile_ventures.png', class: 'img-responsive' %>\n          </div>\n        <% end %>\n      <% end %>\n    </div>\n    <div class=\"row\">\n      <div class=\"col-xs-12\">\n        <div class=\"project_card_stats\">\n          <h3><%= link_to project.title, project_path(project) %></h3>\n          <ul class=\"project_card_stats_items\">\n            <% follower_count = project.followers.count %>\n              <% if follower_count > 0 %>\n                <li data-toggle=\"tooltip\" data-placement=\"top\" title=\"<%= follower_count %> <%= 'member'.pluralize(follower_count) %>\">\n                  <i class=\"fa fa-users\"></i>\n                  <%= follower_count %>\n                </li>\n              <% end %>\n              <% documents_count = project.documents.count %>\n                <% if documents_count > 0 %>\n                  <li data-toggle=\"tooltip\" data-placement=\"top\" title=\"<%= documents_count %> related <%= 'document'.pluralize(documents_count) %>\">\n                    <i class=\"fa fa-file-text-o\"></i>\n                    <%= documents_count %>\n                  </li>\n                <% end %>\n\n                <% commit_count = project.commit_count %>\n                  <% unless commit_count.nil? %>\n                    <li data-toggle=\"tooltip\" data-placement=\"top\" title=\"<%= commit_count %> <%= 'commit'.pluralize(commit_count) %>\">\n                      <i class=\"fa fa-github-alt\"></i>\n                      <%= commit_count %>\n                    </li>\n                  <% end %>\n                </ul>\n              </div>\n            </div>\n          </div>\n        </div>\n      </li>\n    <% end %>"
  },
  {
    "path": "app/views/projects/_members_list.html.erb",
    "content": "<aside id=\"members-list\" class=\"sidebar-widget projects-sidebar-group\">\n  <h1 class=\"widget-title\">Members <span>(<%= @members.count %>)</span></h1>\n  <% if members.empty? %>\n      <p>No members in project <strong><%= @project.title %></strong></p>\n  <% else %>\n      <ul class=\"media-list\">\n        <% members.first(5).reverse.each do |member| %>\n            <% present member do |presenter| %>\n                <li class=\"media-item\">\n                  <a class=\"user-preview\" href=\"<%= user_path(member) %>\" data-toggle=\"tooltip\"\n                     data-placement=\"top\" title=\"<%= presenter.display_name %>\">\n                    <%= presenter.gravatar_image(class: 'projects-user-avatar') %>\n                    <div class=\"media-body index-summary\">\n                      <div style=\"display: inline-flex;\">\n                        <p class=\"media-heading\"><%= presenter.display_name %></p>\n                        <% if member.country_name? %>\n                        <p><small>(<%= presenter.country_name %>)</small></p>\n                        <% end %>\n                      </div>\n                    </div>\n                  </a>\n                </li>\n            <% end %>\n        <% end %>\n      </ul>\n      <a href=\"#\" data-target=\"#members-modal\" data-toggle=\"modal\">View full list</a>\n  <% end %>\n</aside>\n\n<!-- Modal -->\n<div class=\"modal fade\" id=\"members-modal\" role=\"dialog\">\n  <div class=\"modal-dialog\">\n    <div class=\"modal-content\">\n      <div class=\"modal-header\">\n        <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-hidden=\"true\">&times;</button>\n        <h4 class=\"modal-title\">The <%= @project.title %> team</h4>\n      </div>\n      <div class=\"modal-body\">\n        <ul class=\"media-list\">\n          <% members.each do |member| %>\n              <% present member do |presenter| %>\n                  <li class=\"media-item\">\n                    <a class=\"user-preview\" href=\"<%= user_path(member) %>\" data-toggle=\"tooltip\"\n                       data-placement=\"top\" title=\"<%= presenter.display_name %>\">\n                      <%= presenter.gravatar_image(class: 'projects-user-avatar') %>\n                      <div class=\"media-body index-summary\">\n                        <div style=\"display: inline-flex;\">\n                          <p class=\"media-heading\"><%= presenter.display_name %></p>\n                          <% if member.country_name? %>\n                              <p><small>(<%= presenter.country_name %>)</small></p>\n                          <% end %>\n                        </div>\n                      </div>\n                    </a>\n                  </li>\n              <% end %>\n          <% end %>\n        </ul>\n      </div>\n    </div>\n  </div>\n</div>\n"
  },
  {
    "path": "app/views/projects/_source_repository_fields.html.erb",
    "content": "<div class='nested-fields form-group'>\n  <div class='field form-group'>\n    <%= f.label :url, 'GitHub url', class: 'repo_field_label'%>\n    <%= f.text_field :url, placeholder: 'https://github.com/projectname', class: 'form-control input-lg' %>\n  </div>\n  <%= link_to_remove_association 'Delete repo', f, class: 'btn btn-danger' %>\n</div>"
  },
  {
    "path": "app/views/projects/_videos_list.html.erb",
    "content": "<% unless @event_instances.empty? %>\n  <% present @event_instances.first do |presenter| %>\n    <h4 id=\"video_contents\"><%= presenter.title %></h4>\n    <div class=\"video-container\">\n      <iframe id=\"ytplayer\" type=\"text/html\" width=\"480\" height=\"320\" src=\"<%= presenter.video_embed_link %>\" frameborder=\"0\"></iframe>\n    </div>\n  <% end %>\n  <br />\n  <h2>Latest Project videos</h2>\n  <table class=\"table table-bordered table-striped table-hover table-condensed\">\n    <tr>\n      <th>Video</th>\n      <th style=\"width: 80px;\">Host</th>\n      <th style=\"width: 80px;\">Published</th>\n    </tr>\n    <% @event_instances.each do |event_instance| %>\n      <% present event_instance do |presenter| %>\n        <tr style=\"font-size: 85%\">\n          <td><%= presenter.video_link %></td>\n          <td><%= UserPresenter.new(presenter.user).display_name %></td>\n          <td><%= presenter.created_at %></td>\n        </tr>\n      <% end %>\n    <% end %>\n  </table>\n<% else %>\n  <p>No videos in project <strong><%= @project.title %></strong></p>\n<% end %>\n"
  },
  {
    "path": "app/views/projects/edit.html.erb",
    "content": "<h1>edit the <%= @project.title %> project</h1>\n<%= render 'form' %>"
  },
  {
    "path": "app/views/projects/index.html.erb",
    "content": "<% provide :title, 'Projects' %>\n<div data-controller=\"projects\">\n  <div class=\"row\">\n    <div class=\"col-xs-9\">\n      <h1 id=\"projects-header\">Projects By Recent Activity</h1>\n    </div>\n    <div class=\"col-xs-3\">\n      <% if user_signed_in? %>\n        <ul class=\"user-controls new-project-btn\">\n          <li><%= custom_css_btn 'new project', 'fa-2x fa fa-plus', new_project_path %></li>\n        </ul>\n      <% end %>\n    </div>\n  </div>\n  <% if @projects.empty? %>\n    <p>We have no projects right now&#8230;</p>\n  <% else %>\n  <div class=\"col-sm-12 well\">\n    <div class=\"row\">\n      <div class=\"col-sm-4 show-projects-btn\">\n        <button data-action=\"click->projects#show_hidden\">Show non-active projects</button>\n      </div>\n    </div>\n    <p>Filter projects by</p>\n    <%= form_tag(projects_path, method: \"get\", class: \"form-inline text-left\",  'data-controller': \"projects-languages\") do %>\n        <div class=\"row\">\n          <div class=\"col-xs-12 col-sm-4\">\n            <%= select_tag :language, options_for_select(@projects_languages_array, params[:language]), {prompt: 'Language...', class: 'form-control', 'data-action': 'change->projects-languages#language'} %>\n          </div>\n        </div>\n    <% end %>\n  </div>\n    <p>\n      To get involved in any of the projects, join one of the\n      <%= link_to 'scrums', events_path %>\n      and reach out to us, or send us an email at\n      <a href=\"mailto:info@agileventures.org\">info@agileventures.org</a>.\n    </p>\n\n<nav id=\"sidebar\">\n<ul id=\"project-list\">\n  <% @projects.each_with_index do |p, index| %>\n    <% project = p %>\n    <% has_docs = p.documents.any? %>\n    <% show_it = (p.status == 'active' || p.status == 'Active' ? true : false) %>\n    <% follower_count = p.followers.count %>\n    <% commit_count = p.commit_count %>\n    <% last_update = p.last_github_update %>\n    <% content_tag :li, \"\", style: show_it ? '' : 'display: none;', class: show_it ? '' : 'inactive' %>\n        <div class=\"project_card\">\n          <% if has_docs %>\n            <%= content_tag :a, '', href: '#collapse' + index.to_s, style: show_it ? '' : 'display: none;', class: show_it ? 'collapse-button' : 'inactive', 'data-toggle' => 'collapse' do -%>\n              <i class='collapse-icon fa fa-caret-right'></i>\n            <% end -%>\n          <% end %>\n          <%= link_to p.title, project_path(p), class: show_it ? 'project_title col' : 'inactive', style: show_it ? '' : 'display: none;' %>\n          <div class=\"project_card_stats col\">\n            <%= content_tag :div, \"\", style: show_it ? '' : 'display: none;', class: show_it ? 'col' : 'inactive' do -%>\n              <div data-toggle=\"tooltip\" data-placement=\"top\" title=\"<%= follower_count %> <%= 'member'.pluralize(follower_count) %>\">\n                <i class=\"fa fa-users\"></i>\n                <%= follower_count %>\n              </div>\n            <% end %>\n            <% unless commit_count.nil? or commit_count == 0 %>\n              <%= content_tag :div, \"\", style: show_it ? '' : 'display: none;', class: show_it ? 'col' : 'inactive' do -%>\n                <div data-toggle=\"tooltip\" data-placement=\"top\" title=\"<%= commit_count %> <%= 'commit'.pluralize(commit_count) %>\">\n                  <i class=\"fa fa-github-alt\"></i>\n                  <%= commit_count %>\n                </div>\n              <% end %>\n            <% end %>\n            <% unless last_update.nil? %>\n              <%= content_tag :div, \"\", style: show_it ? '' : 'display: none;', class: show_it ? 'col' : 'inactive' do -%>\n                <div data-toggle=\"tooltip\" data-placement=\"top\" title=\"last update on github\">\n                  <i class=\"fa fa-calendar\"></i>\n                  <%= format_date(last_update) %>\n                </div>\n              <% end %>\n            <% end %>\n          </div>\n        </div>\n    </li>\n    <% if has_docs %>\n      <ul id=\"collapse<%= index %>\" class=\"<%= project == p ? 'in' : 'collapse' %>\" style=\"<%= show_it ? '' : 'display: none;' %>\">\n        <% p.documents.roots.each do |d| %>\n          <li>\n            <% display_text = %Q{#{d.title}#{\" (#{d.children.count})\" unless d.children.empty?}} %>\n            <%= link_to display_text, project_document_path(p, {id: d.to_param}) %>\n          </li>\n        <% end %>\n      </ul>\n    <% end %>\n  <% end %>\n</ul>\n</nav>\n</div>\n<% end %>\n"
  },
  {
    "path": "app/views/projects/new.html.erb",
    "content": "<h1>Creating a new Project</h1>\n<%= render 'form' %>"
  },
  {
    "path": "app/views/projects/pending_projects.html.erb",
    "content": "<% provide :title, 'Pending Projects' %>\n<div class=\"row\">\n  <div class=\"col-xs-9\">\n    <h1 id=\"projects-header\">List of Pending Projects</h1>\n  </div>\n</div>\n\n<% if @projects.empty? %>\n  <p>There are no pending projecs right now&#8230;</p>\n<% end %>\n<div class=\"row\">\n  <ul id=\"project-list\" style=\"list-style: none; padding-left: 0;\">\n    <%= render 'listing' %>\n  </ul>\n</div>\n"
  },
  {
    "path": "app/views/projects/show.html.erb",
    "content": "<% provide :title, @project.title %>\n<div class=\"project-title\">\n  <div class=\"row\">\n    <div class=\"col-xs-12\">\n      <strong><%= link_to 'Projects', projects_path %></strong> <i class=\"fa fa-angle-double-right\"></i>\n      <strong><%= @project.title %></strong>\n      <div class=\"row\">\n        <% if @project.image_url.present? %>\n          <div id=\"project_image\" class=\"col-xs-2\">\n            <%= image_tag @project.image_url, class: \"img-responsive\" %>\n          </div>\n        <% end %>\n        <div id=\"project_title\" class=\"col-xs-10\">\n          <h1><%= @project.title %></h1>\n        </div>\n      </div>\n      <div class=\"row\">\n        <div class=\"col-xs-12\">\n          <p> <%= clean_html @project.description %></p>\n        </div>\n      </div>\n      <hr>\n      <div class=\"project-edit\">\n        <% if user_signed_in? %>\n          <% if current_user.admin? %>\n            <% if @project.status == 'pending' %>\n              <%= form_tag(activate_project_path(@project)) do %>\n                <%= button_tag(type: 'submit' , class: 'btn btn-primary') do %>\n                  Activate Project </i>\n              <% end %>\n            <% end %>\n          <% else %>\n            <%= form_tag(deactivate_project_path(@project)) do %>\n              <%= button_tag(type: 'submit' , class: 'btn btn-danger new-meet-btn') do %>\n                Deactivate Project</i>\n            <% end %>\n          <% end %>\n        <% end %>\n      <% end %>\n      <ul class=\"list-inline\">\n        <% if current_user.following?(@project) %>\n          <li class=\"dropdown\">\n            <button class=\"btn btn-default dropdown-toggle\" type=\"button\" id=\"actions-dropdown\" data-toggle=\"dropdown\">\n              Project Actions\n              <span class=\"caret\"></span>\n            </button>\n            <ul class=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"actions-dropdown\">\n              <li role=\"presentation\">\n                <a role=\"menuitem\" tabindex=\"-1\" href=\"<%= edit_project_path(@project) %>\">Edit Project Details</a></li>\n              <li role=\"presentation\">\n                <a role=\"menuitem\" tabindex=\"-1\" href=\"<%= new_project_document_path(project_id: @project.friendly_id) %>\">Create new document</a></li>\n              <li role=\"presentation\" class=\"divider\"></li>\n              <li role=\"presentation\">\n                <a role=\"menuitem\" tabindex=\"-1\" href=\"<%= unfollow_project_path(@project) %>\">Leave Project</a>\n              </li>\n            </ul>\n          </li>\n        </ul>\n        <hr>\n        <div>\n          <%= link_to @project.meet_room_link, target: '_blank' do %>\n            <button type=\"button\" class=\"btn btn-warning\" data-toggle=\"modal\" data-target=\"#myModal\">\n              Start Google Meet\n            </button>\n          <% end %>\n          <%= link_to @project.jitsi_room_link, target: '_blank' do %>\n            <button type=\"button\" class=\"btn btn-primary\" id='start-jitsi'>\n              Start Jitsi Meet\n            </button>\n          <% end %>\n        </div>\n        <hr>\n      <% end %>\n    <% end %>\n  </div>\n</div>\n</div>\n</div>\n<div class=\"project-main\">\n  <div class=\"row\">\n    <div class=\"project-sidebar col-xs-12 col-md-4 col-md-push-8 hidden-xs\" role=\"complementary\">\n      <%= render 'highlight_box', members: @members %>\n      <%= render 'connections' %>\n      <%= render 'members_list', members: @members %>\n    </div>\n    <div class=\"project-main col-xs-12 col-md-8 col-md-pull-4\">\n      <ul class=\"nav nav-tabs nav-justified\">\n        <li id=\"pitch\" class=\"active\">\n          <a href=\"#pitch_content\" data-toggle=\"tab\" data-hash=\"home\">About</a>\n        </li>\n        <li id=\"documents\">\n          <a href=\"#documents_list\" data-toggle=\"tab\" data-hash=\"document\">Documents (<%= @documents.roots.count %>)</a>\n        </li>\n        <li id=\"videos\">\n          <a href=\"#videos_list\" data-toggle=\"tab\" data-hash=\"video\">Videos (<%= @event_instances_count %>)</a>\n        </li>\n        <li id=\"activities\">\n          <a href=\"#activities_list\" data-toggle=\"tab\" data-hash=\"activity\">Activity (<%= @stories.count %>)</a>\n        </li>\n      </ul>\n      <!-- Tab panes -->\n      <div class=\"tab-content\" style=\"background: #fff;\">\n        <div id=\"pitch_content\" class=\"mercury-region tab-pane active\" data-mercury=\"full\">\n          <% unless @project.pitch.nil? %>\n            <%= clean_html(@project.pitch) %>\n          <% else %>\n            <p><b>Project content missing</b></p>\n            <p>A compelling pitch can make your project more appealing to potential collaborators. Please add a README to your project in GitHub.</p>\n          <% end %>\n        </div>\n        <div class=\"tab-pane\" id=\"documents_list\">\n          <%= render 'documents_list' %>\n        </div>\n        <div class=\"tab-pane\" id=\"videos_list\">\n          <%= render 'videos_list' %>\n        </div>\n        <div class=\"tab-pane activity\" id=\"activities_list\">\n          <%= render 'activity' %>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n"
  },
  {
    "path": "app/views/public_activity/article/_create.html.erb",
    "content": "<div class=\"container\" >\n  <div class=\"col-md-1\" style=\"width: 4% !important;\">\n    <i class=\"fa fa-2x fa-plus\"></i>\n  </div>\n  <div class=\"col-md-1\" style=\"width: 4% !important;\">\n    <%= image_tag activity.owner&.gravatar_url, width: '30', height: '30', style: 'margin-bottom: -26px;', class: 'img-circle hidden-xs hidden-sm' %>\n  </div>\n  <div class=\"col-md-6\">\n    <div class=\"row\">\n      <small><%= time_ago_in_words(activity.created_at) %> ago</small>\n    </div>\n    <div class=\"row\">\n      <%= link_to activity.owner.display_name, activity.owner if activity.owner %> published a new <strong>article</strong>:\n      <% if activity.trackable %>\n          <%= link_to activity.trackable.title, activity.trackable %>.\n      <% else %>\n          .\n      <% end %>\n      <br/><small><%= truncate(activity.trackable.content, length: 68, omission: '... (continued)') if activity.trackable.content %> </small>\n    </div>\n  </div>\n</div>\n"
  },
  {
    "path": "app/views/public_activity/article/_update.html.erb",
    "content": "<div class=\"container\" >\n  <div class=\"col-md-1\" style=\"width: 4% !important;\">\n    <i class=\"fa fa-2x fa-pencil-square-o\"></i>\n  </div>\n  <div class=\"col-md-1\" style=\"width: 4% !important;\">\n    <%= image_tag activity.owner&.gravatar_url, width: '30', height: '30', style: 'margin-bottom: -26px;', class: 'img-circle hidden-xs hidden-sm' %>\n  </div>\n  <div class=\"col-md-6\">\n    <div class=\"row\">\n      <small><%= time_ago_in_words(activity.created_at) %> ago</small>\n    </div>\n    <div class=\"row\">\n      <%= link_to activity.owner.display_name, activity.owner if activity.owner %> edited the <strong>article</strong>:\n      <% if activity.trackable %>\n          <%= link_to activity.trackable.title, activity.trackable%>.\n      <% else %>\n          a project.\n      <% end %>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "app/views/public_activity/document/_create.html.erb",
    "content": "<div class=\"container\" >\n  <div class=\"col-md-1\" style=\"width: 4% !important;\">\n    <i class=\"fa fa-2x fa-plus\"></i>\n  </div>\n  <div class=\"col-md-1\" style=\"width: 4% !important;\">\n    <%= image_tag activity.owner&.gravatar_url, width: '30', height: '30', style: 'margin-bottom: -26px;', class: 'img-circle hidden-xs hidden-sm' %>\n  </div>\n  <div class=\"col-md-6\">\n    <div class=\"row\">\n      <small><%= time_ago_in_words(activity.created_at) %> ago</small>\n    </div>\n    <div class=\"row\">\n      <%= link_to activity.owner.display_name, activity.owner if activity.owner %> created a <strong>document</strong>:\n      <% if activity.trackable %>\n          <%= link_to activity.trackable.title, activity.trackable.url_for_me('show') %>\n          on the <%= activity.trackable.project.title %> project.\n      <% else %>\n          .\n      <% end %>\n    </div>\n  </div>\n</div>\n\n"
  },
  {
    "path": "app/views/public_activity/document/_update.html.erb",
    "content": "<div class=\"container\" >\n  <div class=\"col-md-1\" style=\"width: 4% !important;\">\n    <i class=\"fa fa-2x fa-pencil-square-o\"></i>\n  </div>\n  <div class=\"col-md-1\" style=\"width: 4% !important;\">\n    <%= image_tag activity.owner&.gravatar_url, width: '30', height: '30', style: 'margin-bottom: -26px;', class: 'img-circle hidden-xs hidden-sm' %>\n  </div>\n  <div class=\"col-md-6\">\n    <div class=\"row\">\n      <small><%= time_ago_in_words(activity.created_at) %> ago</small>\n    </div>\n    <div class=\"row\">\n      <%= link_to activity.owner.display_name, activity.owner if activity.owner %> edited the <strong>document</strong>:\n      <% if activity.trackable %>\n          <%= link_to activity.trackable.title, activity.trackable.url_for_me('show') %>.\n      <% else %>\n          a document.\n      <% end %>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "app/views/public_activity/project/_create.html.erb",
    "content": "<div class=\"container\" >\n  <div class=\"col-md-1\" style=\"width: 4% !important;\">\n    <i class=\"fa fa-2x fa-plus\"></i>\n  </div>\n  <div class=\"col-md-1\" style=\"width: 4% !important;\">\n    <%= image_tag activity.owner&.gravatar_url, width: '30', height: '30', style: 'margin-bottom: -26px;', class: 'img-circle hidden-xs hidden-sm' %>\n  </div>\n  <div class=\"col-md-6\">\n    <div class=\"row\">\n      <small><%= time_ago_in_words(activity.created_at) %> ago</small>\n    </div>\n    <div class=\"row\">\n      <%= link_to activity.owner.display_name, activity.owner if activity.owner %> created a new <strong>project</strong>:\n      <% if activity.trackable %>\n          <%= link_to activity.trackable.title, activity.trackable %>.\n      <% else %>\n          .\n      <% end %>\n      <br/><small><%= truncate(activity.trackable.description, length: 38, omission: '... (continued)') if activity.trackable.description %> </small>\n    </div>\n  </div>\n</div>\n"
  },
  {
    "path": "app/views/public_activity/project/_update.html.erb",
    "content": "<div class=\"container\" >\n  <div class=\"col-md-1\" style=\"width: 4% !important;\">\n    <i class=\"fa fa-2x fa-pencil-square-o\"></i>\n  </div>\n  <div class=\"col-md-1\" style=\"width: 4% !important;\">\n    <%= image_tag activity.owner&.gravatar_url, width: '30', height: '30', style: 'margin-bottom: -26px;', class: 'img-circle hidden-xs hidden-sm' %>\n  </div>\n  <div class=\"col-md-6\">\n    <div class=\"row\">\n      <small><%= time_ago_in_words(activity.created_at) %> ago</small>\n    </div>\n    <div class=\"row\">\n      <%= link_to activity.owner.display_name, activity.owner if activity.owner %> updated the <strong>project</strong>:\n      <% if activity.trackable %>\n          <%= link_to activity.trackable.title, activity.trackable%>.\n      <% else %>\n          a project.\n      <% end %>\n    </div>\n  </div>\n</div>"
  },
  {
    "path": "app/views/scrums/index.html.erb",
    "content": "<div class=\"row\">\n  <div class=\"col-xs-12 col-sm-10\">\n    <h1>Previous events</h1>\n\n    <p>Agile Ventures is about crowdsourced learning and social coding. We have regular meetings online where our members get together, pair-program, discuss projects, share knowledge\n      and work together on developing their professional skills. </p>\n  </div>\n</div>\n<!-- Modal -->\n<div class=\"modal fade\" id=\"scrumVideo\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"myModalLabel\" aria-hidden=\"true\">\n  <div class=\"modal-dialog\">\n    <div class=\"modal-content\">\n      <div class=\"modal-header\">\n        <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-hidden=\"true\">&times;</button>\n        <h4 class=\"modal-title\" id=\"playerTitle\"></h4>\n      </div>\n      <div class=\"modal-body\">\n        <div class=\"video-container\">\n          <iframe width=\"560\" height=\"315\" src=\"\" frameborder=\"0\" allowfullscreen=\"true\"></iframe>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n\n<ul class=\"timeline\">\n  <% @scrums.each_slice(2) do |videos| %>\n      <li class=\"arrow-left\">\n        <div class=\"timeline-badge\"><i class=\"fa fa-film\"></i></div>\n        <div class=\"timeline-panel\">\n          <div class=\"timeline-heading\">\n            <%= scrum_link videos.first %>\n            <p>\n              <small><i class=\"fa fa-clock-o\">&nbsp</i><%= videos.first[:created_at].to_date %></small>\n            </p>\n          </div>\n        </div>\n      </li>\n      <li class=\"timeline-inverted arrow-right\">\n        <div class=\"timeline-badge warning\"><i class=\"fa fa-film\"></i></div>\n        <div class=\"timeline-panel\">\n          <div class=\"timeline-heading\">\n            <%= scrum_link videos.last %>\n            <p>\n              <small><i class=\"fa fa-clock-o\"></i><%= videos.last[:created_at].to_date %></small>\n            </p>\n          </div>\n        </div>\n      </li>\n  <% end %>\n</ul>\n"
  },
  {
    "path": "app/views/static_pages/internal_error.html.erb",
    "content": "<% content_for :title do %>500 Internal Error<% end %>\n<% #TODO: refactor this for Bootstrap framework %>\n<section id=\"500\"; style=\"text-align:center; font-size:20px;\">  \n  <p>We were unable to process your request at this time.</p>  \n  <p>We're very sorry for the inconvenience.</p>\n  <p>Don't worry, it's not you, it's us.</p>\n  <hr>\n  <p>Please try again later, or if you'd like more help and support feel free to email us at the address below.</p>\n  <%= mail_to \"info@agileventures.org\", nil, subject: \"500 Internal Error\" %>\n  <hr>\n  <%= button_to \"Return Home\", root_path %>\n</section>"
  },
  {
    "path": "app/views/static_pages/not_found.html.erb",
    "content": "<% content_for :title, '404 - Page Not Found' %>\n<section id=\"404\" style=\"padding-top: 50px;\">\n  <div id=\"fof\">\n    <div id=\"overlay\"></div>\n    <canvas></canvas>\n    <div id=\"message\">\n      <h3>404 - Page not found</h3>\n      <p>We're sorry, but we couldn't find the page you requested</p>\n    </div>\n  </div>\n\n  <p>Big thx to Hakim El Hattab for this effect.<%= link_to 'GitHub repo', 'https://github.com/hakimel/404', target: '_blank' %>  </p>\n</section>\n\n<%= javascript_include_tag '404', 'data-turbolinks-track' => true %>\n"
  },
  {
    "path": "app/views/static_pages/premium.html.erb",
    "content": "<!-- IMPORTANT Note that this is a copy of a file that is currently stored in the database IMPORTANT -->\n<!-- IMPORTANT Changes here will have no effect on the site itself, this is a record in source control IMPORTANT -->\n<!-- IMPORTANT And yes, we are condsidering whether to switch to make this the single source of truth IMPORTANT -->\n\n<div>Do you want to:</div><div><br></div><div>\n<details>\n  <summary><b>Find great developer jobs? Get help on the job search process? Ace technical tests required to get interviews? Accelerate your professional development?</b></summary>\n  <p></p>\n<p>Many AgileVentures have leveraged the skills they've learnt through working in teams on our open source projects to land great tech jobs, get promotions and develop themselves professionally. See&nbsp;<a href=\"http://www.agileventures.org/grow\">http://www.agileventures.org/grow</a>&nbsp;for testimonials. Premium membership helps you learn from senior members'&nbsp;experience to help you&nbsp;&nbsp;in the AV private Slack&nbsp;channels for jobs, tech tests, devops and professional development.</p>\n</details>\n<br />\n<details>\n  <summary><b>Improve your coding and development skills? Really understand Agile software development?</b></summary>\n  <p></p>\n<p>AgileVentures mission is to develop quality software for charities and other non-profits whilst also supporting the learning and development of individuals wishing to improve their teamwork and coding skills. &nbsp;AgileVentures software projects are all open source and open development. &nbsp;Contributions are submitted via an open code submission process or \"pull request\" (PR). &nbsp;Becoming an AgileVentures Premium member entitles you to a priority code review, that is a professional code review of your code submission to any AgileVentures project, within 2 working days (excludes weekends and UK national holidays) of submission.</p>\n</details>\n<br />\n<details>\n  <summary><b>Put paid coding projects on your resume?</b></summary>\n  <p></p>\n<p>Becoming an AgileVentures premium member makes you eligible for \"paid\" projects; those AgileVenture projects where a charity customer has funds for (or a donation covers) paid software development. &nbsp;Premium membership&nbsp;does not entitle&nbsp;&nbsp;the premium member to participate in any particular paid&nbsp;project, but does make them eligible for consideration. &nbsp;Participation in any particular project is at the discretion of the project team lead, or project team consortium, as appropriate to the individual project.</p>\n</details>\n<br />\n<details>\n  <summary><b>Make the world the better place?</b></summary>\n  <p></p>\n<p>In addition to all the other benefits your subscription to a premium plan helps AgileVentures in its ongoing mission to support charities around the world with IT solutions and also make learning resources available globally to developers trying to level up and make the world a better place. &nbsp;We have to pay for server hosting etc. and every little helps cover our costs.</p>\n</details>\n<br />\n<details>\n  <summary><b>Feel confident asking technical questions online?</b></summary>\n  <p></p>\n<p>Posting to StackOverflow or similar forums is a fantastic way to get quick feedback on any coding problem you may have. &nbsp;You'll need to follow the <a href=\"http://stackoverflow.com/help/how-to-ask\">guidelines</a>&nbsp;on how to ask a good question, but assuming you do and you post a link to your question into the #techtalk channel, and follow any instructions from AV mentors on how to improve your question, then we'll do our best to answer it, including starring it and up-voting to help attract the attention of others in case we cannot provide a direct answer ourselves.</p>\n</details>\n<br />\n<details>\n  <summary><b>Get discounts on important software and services for developers?</b></summary>\n  <p></p>\n<p><div>By becoming an AgileVentures Premium member you become part of our NonProfit organisation and thus become eligible for a $10 discount on the CodeSchool monthly fee of $29.</div>\n<div><br></div>\n</p>\n</details>\n<br />\n\n<div><br></div>\n<div>\n<div class=\"text-center\"><span class=\"btn btn-primary btn-block\" style=\"padding: 5px; width: 50%; border-color: rgb(238, 115, 53); background: rgb(238, 115, 53); display: inline-block; font-size: 1.5em; white-space: normal;\"><a href=\"http://www.agileventures.org/subscriptions/new?plan=premium\"><b><font color=\"#ffffff\">Get Started with Premium</font></b></a></span></div>\n<div><br></div>\n<div>Return to Membership Plans <a style=\"display: inline-block;\" href=\"http://www.agileventures.org/membership-plans\">Overview</a>\n</div>\n<div><hr></div>\n\n<div><br></div>\n<div><br></div>\n<p></p>\n<div>Premium cost is currently £10 a month, and comes with a 7-day free trial. &nbsp;Please alert <a href=\"mailto:info@agileventures.org\" style=\"background-color: rgb(248, 248, 248);\">info@agileventures.org</a> within your first 7 days to cancel your subscription at no cost.<br>\n</div>\n<p><a href=\"http://www.agileventures.org/subscriptions/new\">Sign up for AgileVentures Premium</a><br></p>\n<p>Want even more benefits including scheduled pair programming time with senior AV <a href=\"http://www.agileventures.org/mentors\">mentors</a>? &nbsp;Check out our <a href=\"http://www.agileventures.org/premiumplus\">Premium Plus membership</a>.</p>\n<hr>\n<a name=\"faq\"><h1>Frequently Asked Questions</h1></a>\n<br>\n<details>\n  <summary><b>What does a professional code review looks like?</b></summary>\n  <p></p>\n<div>Check out the following three examples of previous professional code reviews offered to premium members:</div>\n<ul>\n<li><a href=\"https://github.com/AgileVentures/WebsiteOne/pull/1474\">Review 1</a></li>\n<li><a href=\"https://github.com/AgileVentures/LocalSupport/pull/429\">Review 2</a></li>\n<li><a href=\"https://github.com/AgileVentures/WebsiteOne/pull/1519\">Review 3</a></li>\n</ul>\n</details>\n<br>\n<details>\n  <summary><b>How do projects join AgileVentures?</b></summary>\n  <p></p>\n<div>Any project can become an AgileVentures project given that it meets the following criteria:</div>\n<p></p>\n<ul>\n<li>\n<span style=\"line-height: 1.4em;\">Open Source</span><br>\n</li>\n<li>\n<span style=\"line-height: 1.4em;\">Open Development&nbsp;</span><br>\n</li>\n<li>\n<span style=\"line-height: 1.4em;\">Charitable</span><span style=\"line-height: 1.4em;\"> Objective (as assessed by board of Trustees)</span><br>\n</li>\n</ul>\n</details>\n<br>\n<details>\n  <summary><b>Why would I want my Pull Request (PR) reviewed quickly?</b></summary>\n  <p></p>\n<p>Premium membership guarantees a pull request will be reviewed promptly and thoroughly. &nbsp;Pull requests that wait for a long time before a review&nbsp;often require more work to be merged in, and may be discarded if no one is willing to do that additional work. &nbsp;Also, it's great to get feedback when the code you have just created is still fresh in your mind. &nbsp;If it takes a long time to get feedback you may not be able to learn as much as you would otherwise.</p>\n</details>\n<br>\n<details>\n  <summary><b>Does being a Premium member mean that my PR is going to be accepted even if it doesn’t seem relevant?</b></summary>\n  <p></p>\n<p>No it doesn't mean it will be accepted - but being a Premium member&nbsp;means we'll try harder to work with you to get it into a shape where it can be accepted. &nbsp;Even if it ultimately doesn't make sense to merge it in, we'll be doing our best to ensure that you derive the maximum learning benefit from the experience.</p>\n  <p></p>\n</details>\n<br>\n<details>\n  <summary><b>If my PR might not get merged why is the issue that my PR attempts to address an open issue?</b></summary>\n  <p></p>\n<p>It's an open issue because it's something that needs to be addressed, however that does not mean that the way that you tried to address it is necessarily compatible with other aspects of the project. &nbsp;We'll do our best to help you make it compatible, but ultimately if you don't follow our suggestions for changes to your PR and we don't have the resources to make them ourselves, or the process has taken so long that it's no longer efficient to work with your PR, then it might well be discarded and the issue will be fixed by a PR from another member.</p>\n</details>\n<br>\n<details>\n  <summary><b>In the case where multiple Premium members have submitted PR’s, how will they be prioritized?</b></summary>\n  <p></p>\n<p>Given PRs from multiple Premium members&nbsp;project priorities&nbsp;come&nbsp;into play. &nbsp;Exploring the interplay between delivering value to the end client, use of different technologies and team collaboration is precisely what the AgileVentures experience is all about. &nbsp;If there are&nbsp;many&nbsp;Premium members submitting PRs&nbsp;and we don't have enough reviewers to meet the demand we will need to recruit and or hire&nbsp;more reviewers, or possibly adjust the pricing model.</p>\n</details>\n<br>\n<details>\n  <summary><b>For non Premium members, if your PR never gets reviewed because AV doesn't have the resources to review them, then why would a non Premium member bother submitting a PR?</b></summary>\n  <p></p>\n<p>The same is true for any open source project - open source projects live or die depending on whether the maintainers have the resources to review the incoming PRs. &nbsp;In other projects if you see that the maintainers are very busy dealing with lots of other PRs, it may be that your PR will be&nbsp;overlooked. In AgileVentures&nbsp;non-Premium members may still be intrigued by an open issue they have noticed&nbsp;and be interested in submitting a speculative PR and they may still get comments, and/or be merged in,&nbsp;depending on how busy things are at a given time. &nbsp;Reviewing PRs consumes AV resources and the presence of a PR doesn't necessarily provide benefit to AV. &nbsp;Getting feedback on the PR is a great learning experience, and the Premium model is designed to allow us to focus that effort on the most committed members, as well as increasing the likelihood that we have sufficient resources to keep reviewing incoming PRs.</p>\n</details>\n<br>\n<details>\n  <summary><b>Doesn't the presence of Premium membership and associated benefits negatively impact the free AgileVentures experience?</b></summary>\n  <p></p>\n<p>Free tier members still get the fundamental AgileVentures benefits, including access to AgileVentures Slack, the ability to attend AgileVentures scrums, client meetings and pairing sessions, and access to the full video archive of all AgileVentures development. &nbsp;AgileVentures is committed to following&nbsp;\"open development\"; a level above simple \"open source\" in which not only the source code, but all aspects of the development process are made visible to anybody who is interested. &nbsp;The idea being to make it possible for anyone to start participating in an Agile project at any point, and to maximise the opportunities for real and authentic learning. &nbsp;Making all these free resources available is demanding, and so Premium membership is a mechanism to help the ongoing provision of those services. &nbsp;In the long run Premium membership should serve free tier members by ensuring they have access to all the basic AgileVentures benefits for many years to come.</p>\n  <p>Also to the extent that Premium membership encourages ongoing PR submissions from more committed members and supports a more organised PR review process, this should lead to improved code quality and project maintainability, which then indirectly benefits all members.</p>\n</details>\n<br>\n<details>\n  <summary><b>But aren't you a charity? &nbsp;Shouldn't you just be relying purely&nbsp;on donations?</b></summary>\n  <p></p>\n<p>AgileVentures is a registered UK&nbsp;charity, and donations are very welcome. &nbsp;If you're keen to donate then please check out our <a href=\"http://www.agileventures.org/associate\">Associate</a> membership. &nbsp;To the extent we could continue to provide all our services purely based on donations we would. &nbsp;However donations by themselves&nbsp;are&nbsp;insufficient at this time. &nbsp;Being a charity does not mean expending all available resources to the point of bankruptcy. &nbsp;It is perfectly reasonable for a charity to provide Premium services to members who are in a position to contribute a little extra. &nbsp;In any community there is a danger that some members will consume&nbsp;more resources than others to the overall detriment of the&nbsp;community. &nbsp;Particularly as regards PRs, even well-meaning attempts at fixing issues can actually be dangerous red-herrings that require lots of effort to get into shape. &nbsp;Premium membership provides a mechanism for AgileVentures project&nbsp;managers to focus their effort on submission from the more committed members and ultimately to get fairly compensated for the work that they put in to help members learn about how to participate effectively in the Agile development process.</p>\n</details>\n<br>\n<details>\n  <summary><b>There are plenty of other open source projects out there crying out for contributors, why should I submit PRs to AgileVentures?</b></summary>\n  <p></p>\n<p>Because we are a good cause, and we're trying to help other good causes around the world, as well as all developers improve their Agile project and coding&nbsp;skills. &nbsp;Please do submit PRs to other open source projects - there's lots of other great causes, but you won't necessarily get the specific support for understanding the Agile development process, or be guaranteed full visibility to the complete development process. &nbsp;What AgileVentures offers that's different from other open source projects is full access to the entire development process, and a commitment to help everyone learn about Agile development, not just code.&nbsp; Our project maintainers are committed to your development as an Agile software developer, as well as to the success of their project. &nbsp;They'll try to help everyone, but will prioritize helping&nbsp;Premium members.</p>\n</details>\n<br>\n<details>\n  <summary><b>Will my Premium membership&nbsp;auto-renew each month?</b></summary>\n  <p></p>\n<p>Yes, you'll be charged each month automatically - please email&nbsp;<a href=\"http://www.agileventures.org/info@agileventures.org\">info@agileventures.org</a>&nbsp;if you would like to cancel your subscription.</p>\n</details>\n<br>\n<details>\n  <summary><b>£10/month is a lot of money for me, surely you want membership to be affordable to everyone, everywhere?</b></summary>\n  <p></p>\n<p>Of course we do; however we also want to make our operation sustainable. If you can't afford £10/month please contact <a href=\"mailto:info@agileventures.org\">info@agileventures.org</a> and we will see if we can find sponsorship to cover some or all of the costs of your premium membership.</p>\n</details>\n<div></div>\n</div>\n<p><span class=\"s2\"></span></p>\n</div>\n"
  },
  {
    "path": "app/views/static_pages/premium_f2f.html.erb",
    "content": "<!-- IMPORTANT Note that this is a copy of a file that is currently stored in the database IMPORTANT -->\n<!-- IMPORTANT Changes here will have no effect on the site itself, this is a record in source control IMPORTANT -->\n<!-- IMPORTANT And yes, we are condsidering whether to switch to make this the single source of truth IMPORTANT -->\n\n\n<div>Do you want to:</div><div><br></div><div>\n  <details>\n    <summary><b>Get personalised individual support to improve your coding and pairing skills?</b></summary>\n    <p></p>\n    <p>AgileVentures&nbsp;<a href=\"http://www.agileventures.org/mentors\">Mentors</a>&nbsp;are experienced pair programmers who will pair program with you over the course of an&nbsp;hour session to help you improve your pairing style, your coding skills and your Agile development technique. &nbsp;Coding will be on an AgileVentures project.</p>\n    <p></p>\n    <p>Any project can become an AgileVentures project given that it meets the following criteria:</p>\n    <p></p>\n    <ul>\n      <li>Open Source<br>\n      </li>\n      <li>Open Development<br>\n      </li>\n      <li>Charitable Objective (as assessed by board of Trustees)</li>\n    </ul>\n  </details>\n  <br>\n  <details>\n    <summary><b>Influence the future direction of the AgileVentures charity?</b></summary>\n    <p></p>\n    <p>AgileVentures is registered as an official UK charity and as such is bound by regulations relating to voting rights for members at Annual General meetings. &nbsp;Becoming an Agile Ventures Premium F2F&nbsp;member registers you as a full official member of the UK charity with voting rights in General meetings where you can influence the high level direction of the charity, selection of charity Trustees and so forth.</p>\n  </details>\n  <br>\n\n  <div>\n    <div class=\"text-center\"><span class=\"btn btn-primary btn-block\" style=\"padding: 5px; width: 60%; border-color: #ee7335; background: #ee7335; display: inline-block; font-size: 1.4em;\"><a href=\"http://www.agileventures.org/subscriptions/new?plan=premiumf2f\"><b><font color=\"#ffffff\">Get Started with Premium F2F</font></b></a></span></div>\n    <div><br></div>\n    <div>Membership Plans&nbsp;<a href=\"http://www.agileventures.org/membership-plans\">Overview</a>\n    </div>\n  </div>\n\n  <div>\n    <p><br></p>\n    <a name=\"faq\"><h1>Frequently Asked Questions</h1></a>\n    <br>\n    <details>\n      <summary><b>Don't free-tier and premium members get pair programming time with AV Mentors already?</b></summary>\n      <p></p>\n      <p>Agile Ventures supports ad-hoc pairing all round the world, but we can't guarantee that any free-tier or premium member will necessarily get pairing time with a senior AV mentor. &nbsp;We've had feedback from members that it would be easier to progress&nbsp;if they could rely on having a senior AV mentor available at a particular time and date specified in advance. &nbsp;If we're going to ask senior AV mentors to commit to being available&nbsp;in advance we need to be able to compensate them for their efforts. &nbsp; We've tried operating on a purely ad-hoc basis for several years, and&nbsp;Premium F2F&nbsp;membership&nbsp;is designed to increase the chances of successful learning and good progress on the charitable projects that we support by compensating senior AV members for committing their time.</p>\n    </details>\n    <br>\n    <details>\n      <summary><b>Can I use time with my Mentor to talk about Professional Development rather than coding?</b></summary>\n      <p></p>\n      <p>Face to face support is often&nbsp;all&nbsp;about coding skills, but there is flexibility.&nbsp; Usually the professional development support can be handled\n        over Slack and email text chat, with the mentor and premium member\n        passing back and forth a planning document.&nbsp; Naturally you could use\n        part of the F2F session to talk about the professional development\n        support if there are ambiguities or concerns that were left over from\n        any text communication.</p>\n    </details>\n    <br>\n    <details>\n      <summary><b>Can I choose my Mentor?</b></summary>\n      <p></p>\n      <p>You can request to work with a\n        particular mentor from our <a href=\"http://www.agileventures.org/mentors\">Mentors list</a>. Unfortunately&nbsp;we&nbsp;cannot\n        guarantee that any individual mentor will have availability, since this\n        will depend on time-zones and other factors.</p>\n    </details>\n    <br>\n    <details>\n      <summary><b>Premium&nbsp;F2F&nbsp;is five&nbsp;times the cost of Premium. &nbsp;How come?</b></summary>\n      <p></p>\n      <p>The main cost of Premium F2F&nbsp;is the time of the Senior&nbsp;AgileVentures Mentor who will work with you for an hour a month&nbsp;helping you hone your pairing, coding and project management skills; as well as discussing your professional development needs. &nbsp;We need to compensate the mentors who put in their time to help you.</p>\n    </details>\n    <br>\n    <details>\n      <summary><b>Will my Premium F2F&nbsp;membership&nbsp;auto-renew each month?</b></summary>\n      <p></p>\n      <p>Yes, you'll be charged each month automatically - please email&nbsp;<a href=\"http://www.agileventures.org/info@agileventures.org\">info@agileventures.org</a>&nbsp;if you would like to cancel your subscription.</p>\n    </details>\n    <br>\n    <details>\n      <summary><b>£50/month is a lot of money for me, surely you want Premium F2F&nbsp;to be affordable to everyone, everywhere?</b></summary>\n      <p></p>\n      <p>Of course we do; however we also want to make our operation sustainable. &nbsp;If you can't afford&nbsp;£50/month please contact&nbsp;<a href=\"mailto:info@agileventures.org\">info@agileventures.org</a>&nbsp;and we will see if we can find sponsorship to cover some or all of the costs of your Premium F2F&nbsp;membership.</p>\n    </details>\n  </div>\n</div>"
  },
  {
    "path": "app/views/static_pages/premium_mob.html.erb",
    "content": "<!-- IMPORTANT Note that this is a copy of a file that is currently stored in the database IMPORTANT -->\n<!-- IMPORTANT Changes here will have no effect on the site itself, this is a record in source control IMPORTANT -->\n<!-- IMPORTANT And yes, we are condsidering whether to switch to make this the single source of truth IMPORTANT -->\n\n\n<div>Do you want to:</div><div><br></div><div>\n  <details open=\"\">\n    <summary><b>Level up on the latest hot technologies:&nbsp;Elixir/Phoenix, React/Redux and RSpec 3?</b></summary>\n    <p></p>\n    <p>Join our mob programming sessions in the latest tech which work through&nbsp;the latest paid courses and texts&nbsp;for free or with significant discounts.  Instructor Stephen Grider has donated his extremely popular Udemy <a href=\"https://www.udemy.com/the-complete-elixir-and-phoenix-bootcamp-and-tutorial/\">Elixir/Phoenix</a> and <a href=\"udemy.com/react-redux\">React/Redux</a> courses free to Premium Mob members, while author Shankar Devy&nbsp;has done the same with his popular <a href=\"https://shankardevy.com/phoenix-book/\">Phoenix InsideOut book series</a>.  Pragmatic Programmers have also made the <a href=\"https://pragprog.com/book/rspec3/effective-testing-with-rspec-3\">new RSpec 3 book</a> available at a 25% discount for use in the RSpec mob sessions.</p>\n  </details>\n  <br>\n  <details open=\"\">\n    <summary><b>Create a personalised professional development plan to achieve your goals?</b></summary>\n    <p></p>\n    <p>A senior Agile Ventures&nbsp;<a href=\"http://www.agileventures.org/mentors\">mentor</a>&nbsp;will work with you to understand your professional development goals, and create&nbsp;a personalized plan to help you achieve them. &nbsp;Professional Development Planning support includes&nbsp;reviewing your skill set and experiences, and talking through your professional development goals.&nbsp; Your AV&nbsp;mentor will&nbsp;guide you in creating a plan of activities to help you achieve your professional development goals, such as which books to study, what courses to take, what projects to join and contribute to etc.</p>\n  </details>\n  <br>\n  <details open=\"\">\n    <summary><b>Master mob programming online?</b></summary>\n    <p></p>\n    <p>AgileVentures&nbsp;<a href=\"http://www.agileventures.org/mentors\">Mentors</a>&nbsp;are experienced&nbsp;programmers who will invite you to a <a href=\"https://en.wikipedia.org/wiki/Mob_programming\">mob programming</a> session.&nbsp;Over the&nbsp;course of an&nbsp;hour session you'll get to participate in mob coding on a fundamental topics such as 'confident coding', Test Driven Development (TDD), SOLID principles and the latest tech stacks such as Elixir/Phoenix and React/Redux.&nbsp;</p>\n    <p>Premium Mob members also get access to the archive of previous mobbing sessions and shared C9 environment in order to allow you to quickly get up to speed with whatever the mobs happen to be working on this week.</p>\n  </details>\n  <br>\n\n  <div>\n    <i>Mobs are currently running for <b>React</b>&nbsp;(following</i><i>&nbsp;<a href=\"https://www.udemy.com/react-redux/\">React/Redux Udemy course</a>),</i><i>&nbsp;<b>Elixir</b> (following the</i>&nbsp;<i><a href=\"https://www.udemy.com/the-complete-elixir-and-phoenix-bootcamp-and-tutorial/\">Complete Elixir &amp; Phoenix Bootcamp course</a></i><i>) and <b>RSpec</b> (following&nbsp;</i><a href=\"https://pragprog.com/book/rspec3/effective-testing-with-rspec-3\" style=\"background-color: rgb(248, 248, 248);\">Effective Testing with RSpec 3 book</a><i>).&nbsp; We're also happy to start mobs in other&nbsp;languages or stacks that have sufficient member interest. &nbsp;If you'd like to try a single mob session for free check out our <a href=\"https://www.agileventures.org/premium-mob-offer\"><b>special offer</b></a>.</i>\n  </div>\n  <div><i><br></i></div>\n  <div>\n    <div class=\"text-center\"><span class=\"btn btn-primary btn-block\" style=\"padding: 5px; width: 60%; border-color: #ee7335; background: #ee7335; display: inline-block; font-size: 1.4em;\"><a href=\"http://www.agileventures.org/subscriptions/new?plan=premiummob\"><b><font color=\"#ffffff\">Get Started with Premium Mob</font></b></a></span></div>\n    <div><br></div>\n    <div>Membership Plans&nbsp;<a href=\"http://www.agileventures.org/membership-plans\">Overview</a>\n    </div>\n  </div>\n</div>\n<div>\n  <p><br></p>\n  <a name=\"faq\"><h1>Frequently Asked Questions</h1></a>\n  <br>\n  <details open=\"\">\n    <summary><b>Don't free-tier and premium members get mob programming time with AV Mentors already?</b></summary>\n    <p></p>\n    <p>Agile Ventures supports ad-hoc pairing and mobbing all round the world, but we can't guarantee that any free-tier or premium member will necessarily get pairing or mobbing time with a senior AV mentor. &nbsp;We've had feedback from members that it would be easier to progress&nbsp;if they could rely on having a senior AV mentor available at a particular time and date specified in advance. &nbsp;If we're going to ask senior AV mentors to commit to being available&nbsp;in advance we need to be able to compensate them for their efforts. &nbsp; We've tried operating on a purely ad-hoc basis for several years, and&nbsp;Premium Mob&nbsp;membership&nbsp;is designed to increase the chances of successful learning and good progress on the charitable projects that we support by compensating senior AV members for committing their time.</p>\n  </details>\n  <br>\n  <details open=\"\">\n    <summary><b>Can I use time in mobbing sessions with my Mentor to talk about Professional Development rather than coding?</b></summary>\n    <p></p>\n    <p>Mob sessions are focused on&nbsp;coding skills.&nbsp; Usually the professional development support will&nbsp;be handled over Slack and email text chat, with the Mentor and Premium Mob member passing back and forth a planning document. &nbsp;If you would like face to face time with a Mentor please consider upgrading to <a href=\"/premium_f2f\">Premium&nbsp;F2F</a>.</p>\n  </details>\n  <br>\n  <details open=\"\">\n    <summary><b>Premium Mob&nbsp;is more than twice the&nbsp;cost of Premium. &nbsp;How come?</b></summary>\n    <p></p>\n    <p>The main cost of Premium Mob&nbsp;is the time of the Senior&nbsp;AgileVentures Mentor who will work with you in mobbing sessions to improve your pairing, coding and project management skills; as well as discussing your professional development needs. &nbsp;We need to compensate the Mentors who put in their time to help you.</p>\n  </details>\n  <br>\n  <details open=\"\">\n    <summary><b>Will my Premium Mob&nbsp;membership&nbsp;auto-renew each month?</b></summary>\n    <p></p>\n    <p>Yes, you'll be charged each month automatically - please email&nbsp;<a href=\"http://www.agileventures.org/info@agileventures.org\">info@agileventures.org</a>&nbsp;if you would like to cancel your subscription.</p>\n  </details>\n  <br>\n  <details open=\"\">\n    <summary><b>£25/month is a lot of money for me, surely you want Premium Mob&nbsp;to be affordable to everyone, everywhere?</b></summary>\n    <p></p>\n    <p>Of course we do; however we also want to make our operation sustainable. &nbsp;If you can't afford&nbsp;£25/month please contact&nbsp;<a href=\"mailto:info@agileventures.org\">info@agileventures.org</a>&nbsp;and we will see if we can find sponsorship to cover some or all of the costs of your Premium Mob&nbsp;membership.</p>\n  </details>\n</div>"
  },
  {
    "path": "app/views/static_pages/show.html.erb",
    "content": "<% provide :title, @page.title %>\n\n<div id=\"ancestry\">\n  <strong><%= link_to 'Agile Ventures', root_path %></strong><i class=\"fa fa-angle-double-right\"></i>\n  <% @ancestry.each do |page| %>\n    <strong><%= link_to page, static_page_path(page) %></strong>\n    <% unless @ancestry.last == page %>\n      <i class=\"fa fa-angle-double-right\"></i>\n    <% end %>\n  <% end %>\n</div>\n\n<%= link_to 'Edit Page', github_static_pages_edit_url, class: 'btn btn-default pull-right' %>\n\n<div id=\"static_page_body\"><%= clean_html(@page.body) %></div>\n"
  },
  {
    "path": "app/views/subscriptions/create.html.erb",
    "content": "<% if @is_sponsorship %>\n    <h2 id='payment_complete'>Thanks, you have sponsored <%= @sponsee.display_name %> as a <%= @plan.name %> Member!</h2>\n    <% if @plan.free_trial? %>\n      <p>A <%= @plan.free_trial_length_days %> day free trial has now started.  You will not be charged until <%= @plan.free_trial_length_days %> days have passed.</p>\n    <% end %>\n    <p>An AgileVentures mentor will be in touch shortly to help <%= @sponsee.display_name %> receive all their membership benefits.</p>\n<% else %>\n  <% if @plan.category == 'organization' %>\n    <h2 id='payment_complete'>Thanks, your organization has now subscribed to the AgileVentures <%= @plan.name %> Plan!</h2>\n  <% else %>\n    <h2 id='payment_complete'>Thanks, you're now an AgileVentures <%= @plan.name %> Member!</h2>\n  <% end %>\n  <% if @plan.free_trial? %>\n      <p>Your <%= @plan.free_trial_length_days %> day free trial has now started. Your card will not be charged until <%= @plan.free_trial_length_days %> days have passed.</p>\n  <% end %>\n  <% if @plan.category == 'organization' %>\n    <p>An AgileVentures specialist will be in touch shortly to help you receive all of your subscription benefits.</p>\n  <% else %>\n    <p>An AgileVentures mentor will be in touch shortly to help you receive all of your membership benefits.</p>\n  <% end %>\n<% end %>\n\n<!-- Google Code for Premium Membership Conversion Page -->\n<script type=\"text/javascript\">\n  /* <![CDATA[ */\n  var google_conversion_id = 862234872;\n  var google_conversion_language = \"en\";\n  var google_conversion_format = \"3\";\n  var google_conversion_color = \"ffffff\";\n  var google_conversion_label = \"_f0WCKX8jm4Q-NGSmwM\";\n  var google_remarketing_only = false;\n  /* ]]> */\n</script>\n<script type=\"text/javascript\" src=\"//www.googleadservices.com/pagead/conversion.js\">\n</script>\n<noscript>\n  <div style=\"display:inline;\">\n    <img height=\"1\" width=\"1\" style=\"border-style:none;\" alt=\"\" src=\"//www.googleadservices.com/pagead/conversion/862234872/?label=_f0WCKX8jm4Q-NGSmwM&amp;guid=ON&amp;script=0\"/>\n  </div>\n</noscript>\n\n<!--  looks like label varies in just those two places  -->"
  },
  {
    "path": "app/views/subscriptions/new.html.erb",
    "content": "<article id=\"target-element\">\n  <h1>Agile Ventures <%= @plan.name %> <%= type %></h1>\n  <br/>\n  <a href='/<%= @plan.name.downcase.gsub(' ','_') %>'>Further details</a>\n  <label class=\"amount\">\n    <h3>Subscription has been temporaily disabled.</h3>\n    <!--<p>The price for <%= @plan.name %> <%= type %> is £<%= number_to_currency(@plan.amount / 100.0, unit: '') %>/Month</p>\n    <% if @plan.free_trial? %>\n       <p><%= @plan.free_trial_length_days %> day free trial! No charge for <%= @plan.free_trial_length_days %> days</p>\n    <% end %>-->\n  </label>\n  <% if flash[:error].present? %>\n      <div id=\"error_explanation\">\n        <p><%= flash[:error] %></p>\n      </div>\n  <% end %>\n  <br/>\n</article>\n<div class=\"row\">\n  <!--<div id=\"paypal_section\" class=\"col-lg-5 well\" style=\"margin: 10px; text-align: center;\">--> <!-- shiv because controller stylesheets now working in production mode see https://github.com/AgileVentures/WebsiteOne/issues/1450-->\n    <!--<div style=\"margin-bottom: 15px;\"><%= action_text %> <%= @plan.name %> via Paypal:</div>\n    <%= form_tag paypal_new_path(plan: @plan, user: @sponsee_slug), method: \"post\", data: { behavior: 'ajax-spin', target: '#target-element'  } do %>\n      <input type=\"image\" name=\"submit\" src=\"https://www.paypalobjects.com/en_GB/i/btn/btn_subscribe_LG.gif\" alt=\"Subscribe\" disabled>\n      <img alt=\"\" width=\"1\" height=\"1\" src=\"https://www.paypalobjects.com/en_GB/i/scr/pixel.gif\" hidden=\"\" style=\"display: none !important;\">\n    <% end %>\n  </div>-->\n\n  <!--<div id=\"card_section\" class=\"col-lg-5 well\" style=\"margin: 10px; text-align: center;\">--> <!-- shiv because controller stylesheets now working in production mode see https://github.com/AgileVentures/WebsiteOne/issues/1450-->\n\n    <!--<div style=\"margin-bottom: 15px;\"><%= action_text %> <%= @plan.name %> via Credit/Debit Card:</div>\n    <%= form_tag subscriptions_path(plan: @plan.third_party_identifier, user: @sponsee_slug) do %>\n      <script src=\"https://checkout.stripe.com/checkout.js\" class=\"stripe-button\"\n              data-key=\"<%= Rails.configuration.stripe[:publishable_key] %>\"\n              data-description=\"Monthly Subscription\"\n              data-amount=\"<%= @plan.amount %>\"\n              data-panel-label=\"Subscribe\"\n              data-currency=\"GBP\"\n              data-locale=\"en-US\"\n              data-name=\"<%= @plan.name %> <%= type %>\"\n              data-label=\"Subscribe\"\n              data-image=\"/favicon.ico?v=2\">\n              </script>\n    <% end %>\n\n  </div>-->\n</div>\n\n<!-- <%= stylesheet_link_tag params[:controller], 'data-turbolinks-track' => true  %> -->\n<script>\n  document.querySelector('.stripe-button-el').setAttribute('disabled', '')\n</script>"
  },
  {
    "path": "app/views/subscriptions/update.html.erb",
    "content": "<h2 id='payment_complete'>Thanks, you're now an AgileVentures Premium Mob Member!</h2>\n<p>An AgileVentures mentor will be in touch shortly to help you receive all of your Premium Mob membership benefits.</p>"
  },
  {
    "path": "app/views/users/_user_avatar.html.erb",
    "content": "<% present user do |user_presenter| %>\n  <% user_image = user_presenter.gravatar_image(size: 40, id: 'user-gravatar', class: 'img-circle') %>\n  <%= link_to user_image, user_presenter.profile_link, title: user_presenter.display_name %>\n<% end %>\n"
  },
  {
    "path": "app/views/users/_user_list.html.erb",
    "content": "<% @users.each_slice(3) do |slice| %>\n    <% slice.each do |user| %>\n        <% present user do |presenter| %>\n            <li class=\"media-item col-md-4 col-sm-6 col-xs-12\">\n              <div class=\"user-preview\">\n                <a href=\"<%= user_path(user) %>\">\n                  <%= presenter.gravatar_image(size: 100,\n                                               class: 'img-rounded media-object pull-left') %>\n                </a>\n                <div class=\"media-body index-summary\">\n                  <a href=\"<%= user_path(user) %>\">\n                    <p class=\"media-heading\" data-toggle=\"tooltip\" title=\"<%= presenter.display_name %>\"><%= presenter.display_name %>\n                      <% if user.online? %>\n                        <%= image_tag('green-dot.png', size: '10x10', alt: 'Online!') %>\n                      <% end %>\n                    </p>\n                  </a>\n                  <% if presenter.has_title? %>\n                    <p><%= presenter.title_list %></p>\n                  <% end %>\n                  <% if user.country_name %>\n                    <p data-toggle=\"tooltip\" title=\"<%= presenter.country_name %>\"><%= presenter.country_name %></p>\n                  <% end %>\n                  <%= link_to user_path(user, {tab: \"activity\"}) do %>\n                    <p class=\"small media-heading\"><i class=\"fa fa-fire\"></i><%= presenter.karma_total %></p>\n                  <% end %>\n                </div>\n              <% if user.online? & presenter.status? %>\n                <div class=\"user-status\" id=\"user-status\">\n                  <span style= \"margin-right: 5px;\"class=\"glyphicon glyphicon-comment\"></span>\"<%= presenter.status %>\"\n                </div>\n              <% end %>\n              </div>\n            </li>\n        <% end %>\n    <% end %>\n<% end %>\n"
  },
  {
    "path": "app/views/users/index.html.erb",
    "content": "<% provide :title, 'Members' %>\n<div class=\"row\">\n  <div class=\"col-xs-12 col-sm-12 float-xs-none\">\n    <h1><%= @user_type.try(:pluralize) %> Directory</h1>\n    <% if @users_count == 0 %>\n        <p>It is a lonely planet we live in&#8230;</p>\n    <% else %>\n        <p>Check out our <%= @users_count %> awesome <%= @user_type.try(:pluralize, @users_count).try(:downcase) %> from all over the globe!</p>\n    <% end %>\n  </div>\n  <div class=\"col-sm-12 well\">\n    <p>Filter users by</p>\n    <%= form_tag(users_path, remote: true, method: \"get\", class: \"form-inline filters-users-advanced\") do %>\n        <div class=\"row\">\n          <div class=\"col-xs-12 col-sm-4\">\n          <%= select_tag :project_filter, options_from_collection_for_select(@projects, 'id', 'title', params[:project_filter]), {prompt: 'Project involvement...', class: 'form-control'} %>\n          </div>\n          <div class=\"col-xs-12 col-sm-4\">\n            <%= check_box_tag :online, params[:online], (true if !params[:online].nil?) %> Recently Online\n            <%= submit_tag 'Search', class: 'btn btn-default' %>\n          </div>\n        </div>\n    <% end %>\n  </div>\n\n</div>\n<div class=\"row\">\n  <div class=\"col-sm-12\">\n    <% unless @users.empty? %>\n        <ul class=\"media-list row\" id=\"UsersList\">\n          <%= render 'user_list' %>\n        </ul>\n    <% end %>\n  </div>\n</div>\n<div class='row'>\n  <div class=\"col-sm-12 text-center\">\n    <%= paginate @users %>\n  </div>\n</div>\n"
  },
  {
    "path": "app/views/users/index.js.erb",
    "content": "<% if params[:infinite] %>\n  $('#UsersList').append(\"<%= escape_javascript(render 'user_list') %>\");\n  <% if @users.next_page %>\n    $('.pagination').replaceWith('<%= j will_paginate @users %>');\n  <% else %>\n    $(window).off('scroll');\n    $('.pagination').remove();\n  <% end %>\n<% else %>\n  $('#UsersList').html(\"<%= escape_javascript(render 'user_list') %>\");\n<% end %>\n"
  },
  {
    "path": "app/views/users/profile/_detail.html.erb",
    "content": "<ul id=\"tabs\" class=\"nav nav-tabs\" data-tabs=\"tabs\">\n  <li class=\"<%= about_tab(param_tab)%>\"><a href=\"#about\" data-toggle=\"tab\">About</a></li>\n  <% if presenter.has_skills? %>\n      <li><a href=\"#user-skills\" data-toggle=\"tab\">Skills</a></li>\n  <% end %>\n  <% if presenter.joined_projects? %>\n      <li><a href=\"#projects\" data-toggle=\"tab\">Projects</a></li>\n  <% end %>\n  <% if presenter.contributed? %>\n    <li class=\"<%= activity_tab(param_tab)%>\"><a href=\"#activity\" data-toggle=\"tab\">Activity</a></li>\n  <% end %>\n</ul>\n<div id=\"tab-content\" class=\"tab-content\" style=\"background: #fff;\">\n\n  <div class=\"tab-pane <%= about_tab(param_tab) %>\" id=\"about\">\n    <section class=\"user-bio\">\n      <h4>About me</h4>\n      <% if presenter.bio? %>\n          <%= simple_format(presenter.bio) %>\n      <% else %>\n          <p>This member has not written their bio yet...</p>\n      <% end %>\n    </section>\n  </div>\n\n  <% if presenter.has_skills? %>\n      <div class=\"tab-pane\" id=\"user-skills\">\n        <section class=\"user-skills\">\n          <h4>Skills & Technologies</h4>\n          <ul>\n            <% presenter.skill_list.each do |skill| %>\n                <li class=\"label add-btn-agile\"><%= skill %></li>\n            <% end %>\n          </ul>\n        </section>\n      </div>\n  <% end %>\n  <% if presenter.joined_projects? %>\n      <div class=\"tab-pane\" id=\"projects\">\n        <section class=\"user-projects\">\n          <h4>Project Involvement</h4>\n          <ul>\n            <% presenter.following_projects.each do |project| %>\n                <li><%= link_to project.title, project_path(project) %></li>\n            <% end %>\n          </ul>\n        </section>\n      </div>\n  <% end %>\n\n  <% if presenter.contributed? %>\n    <div class=\"tab-pane <%= activity_tab(param_tab) %>\"id=\"activity\">\n        <section class=\"user-contributions\">\n          <h4>Contributions (GitHub) - <%= presenter.user.commit_count_total %> total commits x 1 - <%=presenter.user.commit_count_total %><i class=\"fa fa-fire\"></i></h4>\n          <ul>\n            <% presenter.contributions.each do |commit_count| %>\n                <li><b><%= link_to commit_count.project.title, commit_count.project.contribution_url %></b>\n                  - <%= commit_count.commit_count %> commits</li>\n            <% end %>\n          </ul>\n        </section>\n        <section class=\"user-contributions\">\n          <h4>Contributions (Hangouts Hosted) - <%= presenter.user.number_hangouts_started_with_more_than_one_participant %> total hangouts x 1 - <%= presenter.user.number_hangouts_started_with_more_than_one_participant %><i class=\"fa fa-fire\"></i></h4>\n        </section>\n        <section class=\"user-contributions\">\n          <h4>Contributions (Hangouts Attended) - <%= presenter.user.hangouts_attended_with_more_than_one_participant %> total hangouts x 1 - <%= presenter.user.hangouts_attended_with_more_than_one_participant %><i class=\"fa fa-fire\"></i></h4>\n        </section>\n        <section class=\"user-contributions\">\n          <h4>Contributions (Authentications) - <%= presenter.user.authentications.count %> authentications x 100 - <%= presenter.user.authentications.count * 100 %><i class=\"fa fa-fire\"></i></h4>\n        </section>\n        <section class=\"user-contributions\">\n          <h4>Contributions (Profile Completeness) - <%= presenter.user.profile_completeness %> out of 10<i class=\"fa fa-fire\"></i></h4>\n        </section>\n        <section class=\"user-contributions\">\n          <h4>Contributions (Membership Length) - <%= presenter.user.membership_length %> out of 6<i class=\"fa fa-fire\"></i></h4>\n        </section>\n        <section class=\"user-contributions\">\n          <h4>Contributions (Sign In Activity) - <%= presenter.user.activity %> out of 6<i class=\"fa fa-fire\"></i></h4>\n        </section>\n      </div>\n  <% end %>\n\n</div>\n"
  },
  {
    "path": "app/views/users/profile/_modal.html.erb",
    "content": "<!-- modal start -->\n<div class=\"modal fade\" id=\"myModal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"myModalLabel\" aria-hidden=\"true\">\n  <div class=\"modal-dialog\">\n    <div class=\"modal-content\">\n      <div class=\"modal-header\">\n        <button type=\"button\" class=\"close\" data-dismiss=\"modal\">\n          <span aria-hidden=\"true\">&times;</span><span class=\"sr-only\">Close</span></button>\n        <h4 class=\"modal-title\">Set status</h4>\n      </div>\n      <%= form_for @user, url: add_status_user_path(@user),  role: 'form' do |f| %>\n          <div class=\"modal-body\">\n            <%= f.label :status, style: 'display: none;' %>\n            <%= f.select :status, Status::OPTIONS, {}, :class => 'form-control' %>\n          </div>\n          <div class=\"modal-footer\">\n            <button type=\"button\" class=\"btn btn-default\" data-dismiss=\"modal\">Close</button>\n            <%= f.submit 'Update status', class: 'btn btn-primary' %>\n          </div>\n      <% end %>\n    </div>\n  </div>\n</div>\n<!-- modal end -->\n"
  },
  {
    "path": "app/views/users/profile/_premium_mob_upgrade.html.erb",
    "content": "<% if presenter.user_same_as?(current_user) %>\n    <% button_text = 'Upgrade to Premium Mob' %>\n    <%= form_tag subscription_path, method: \"put\" do %>\n        <input type=\"hidden\" name=\"user_id\" value=\"<%=presenter.user.slug %>\">\n        <%= submit_tag button_text, class:\"btn btn-primary btn-lg active\",\n                                    style: \"margin: 5px;\",\n                                    title: I18n.t('premium_mob.tooltip') %>\n    <% end %>\n<% end %>\n\n\n"
  },
  {
    "path": "app/views/users/profile/_premium_plus_upgrade.html.erb",
    "content": "<%= form_tag subscription_path, method: \"put\" do %>\n  <%= submit_tag \"Upgrade to Premium Plus\", class:\"btn btn-primary btn-lg active\", style: \"margin: 5px;\"%>\n<% end %>"
  },
  {
    "path": "app/views/users/profile/_premium_upgrade.html.erb",
    "content": "<% if presenter.user_same_as?(current_user) %>\n  <% button_text = 'Upgrade to Premium' %>\n<% else %>\n  <% button_text = 'Sponsor for Premium' %>\n<% end %>\n\n<%= form_tag new_subscription_path, method: \"get\" do %>\n  <input type=\"hidden\" name=\"user_id\" value=\"<%=presenter.user.slug %>\">\n  <%= submit_tag button_text, class:\"btn btn-primary btn-lg active\",\n                              style: \"margin: 5px;\",\n                              title: I18n.t('premium.tooltip') %>\n<% end %>\n"
  },
  {
    "path": "app/views/users/profile/_set_level.html.erb",
    "content": "<% if presenter.user.current_subscription %>\n  <%= form_tag subscription_path(presenter.user.current_subscription), method: 'put' do %>\n    <input type=\"hidden\" name=\"user_slug\" value=\"<%=presenter.user.slug %>\">\n    <%= label_tag 'subscription_plan_id', 'Plan' %>\n    <%= collection_select(:subscription, :plan_id, Plan.order(:name), :id, :name, prompt: true) %> \n    <%= submit_tag 'Adjust Level', class: 'btn btn-primary btn-lg active',\n                                style: 'margin: 5px;',\n                                title: I18n.t('adjust.tooltip') %>\n  <% end %>\n<% end %>"
  },
  {
    "path": "app/views/users/profile/_summary.html.erb",
    "content": "<div class=\"col-md-12 col-sm-6 col-xs-12\" style=\"padding: 0\">\n  <%= presenter.gravatar_image(size: 250,\n                               class: 'img-rounded media-object pull-left') %>\n</div>\n\n<div class=\"col-md-12 col-sm-6 col-xs-12 user-summary\" style=\"padding: 0\">\n  <ul>\n    <h3><%= presenter.display_name %> <a href=\"#\" id=\"gotoactivity\"><span class=\"karma-summary\"><i class=\"fa fa-fire\"></i><%= presenter.karma_total %></span></a></h3>\n    <% if presenter.has_title? %>\n        <li>\n          <%= presenter.title_list %>\n        </li>\n    <% end %>\n    <% if presenter.country_name? %>\n        <li><i class=\"fa fa-globe fa-lg\"></i> <%= presenter.country_name %></li>\n    <% end %>\n    <li>\n      <i class=\"fa fa-calendar-o fa-lg\"></i>\n      Member for <%= presenter.object_age_in_words %>\n    </li>\n\n    <% if presenter.github_profile_url? %>\n        <li>\n          <i class=\"fa fa-github-alt fa-lg\"></i>\n          <%= presenter.github_link %>\n        </li>\n    <% end %>\n\n    <% if presenter.display_email %>  \n        <li><i class=\"fa fa-envelope fa-lg\"></i> <%= mail_to presenter.email %></li>\n    <% end %>\n\n    <% if @user.online? & presenter.status? %>\n        <li><span class=\"glyphicon glyphicon-comment\"> </span> \"<%= presenter.status %>\"\n        </li>\n    <% end %>\n\n    <% if presenter.display_hire_me?(current_user) %>\n        <li>\n          <%= link_to user_path(presenter.user), remote: true,\n                       class: 'user-profile-btn',\n                       type: 'button',\n                       data: {toggle: 'modal', target: '#modal-window'} do %>\n            <i class=\"fa\">Hire me</i>\n          <% end %>\n        </li>\n    <% end %>\n\n    <% if presenter.object.eql?(current_user) %>\n        <li>\n          <%= link_to 'Edit', edit_user_registration_path,\n                      class: 'user-profile-btn',\n                      type: 'button' %>\n        </li>\n        <li>\n          <p><%= link_to 'Set status', '#',\n                         data: {toggle: 'modal',\n                                target: '#myModal'},\n                         class: 'user-profile-btn',\n                         type: 'button' %></p>\n        </li>\n        <li>\n          <% unless presenter.user.membership_type == 'Basic' %>\n            <%= render 'edit_card' %>\n          <% end %>\n        </li>\n    <% end %>\n      <li style=\"margin-top: 0.7em\">\n        <%= presenter.user.membership_type %> Member\n      </li>\n      <% if presenter.user.membership_type == 'Premium' %>\n        <li><%= render 'users/profile/premium_mob_upgrade', presenter: presenter  %></li>\n      <% elsif presenter.user.membership_type == 'Basic' %>\n        <li><%= render 'users/profile/premium_upgrade', presenter: presenter %></li>\n      <% end %>\n  </ul>\n  <% if privileged_visitor? %>\n    <%= render 'users/profile/set_level', presenter: presenter %>\n  <% end %>\n</div>\n"
  },
  {
    "path": "app/views/users/profile/_videos.html.erb",
    "content": "<% unless videos.blank? %>\n  <div class=\"row\">\n    <% present videos.first do |presenter| %>\n      <h4 id=\"video_contents\"><%= presenter.title %></h4>\n\n      <div class=\"col-xs-12 text-center\">\n        <div class=\"video-container\">\n          <iframe id=\"ytplayer\" width=\"480\" height=\"320\" type=\"text/html\" src=\"<%= presenter.video_embed_link %>\" frameborder=\"0\"></iframe>\n        </div>\n      </div>\n    <% end %>\n  </div>\n  <div class=\"row\">\n    <h4>Latest pairing videos by <%= presenter.display_name %></h4>\n    <table class=\"table table-bordered table-striped table-hover table-condensed\">\n      <tr>\n        <th>Title</th>\n      </tr>\n      <% videos.each do |video| %>\n        <% present video do |presenter| %>\n          <tr>\n            <td><%= presenter.video_link %> <small><%= presenter.created_at %></small></td>\n          </tr>\n        <% end %>\n      <% end %>\n    </table>\n  </div>\n<% else %>\n    <div class=\"col-sm-12\">\n      <p><%= presenter.display_name %> has no publicly viewable Youtube videos.</p>\n    </div>\n<% end %>\n"
  },
  {
    "path": "app/views/users/show.html.erb",
    "content": "<% present @user do |presenter| %>\n  <div class=\"row\">\n    <div class=\"col-md-4 col-xs-12\">\n      <%= render 'users/profile/summary', presenter: presenter %>\n    </div>\n    <div class=\"col-md-8 col-xs-12\">\n      <%= render 'users/profile/detail', presenter: presenter, param_tab: @param_tab %>\n    </div>\n  </div>\n  <div class=\"clear\">\n    <hr/>\n  </div>\n  <div class=\"row\">\n    <%= render 'users/profile/videos', videos: @event_instances, presenter: presenter %>\n  </div>\n\n  <div id=\"modal-window\" class=\"modal fade\" role=\"dialog\" aria-labelledby=\"myModalLabel\" aria-hidden=\"true\">\n    <%= render 'layouts/hire_me' %>\n  </div>\n<% end %>\n\n<%= render 'users/profile/modal' %>\n\n"
  },
  {
    "path": "app/views/visitors/_text_and_image_trail.html.erb",
    "content": "    <li>\n      <section id=\"landing-projects\" class=\"landing-page-section\">\n        <div class=\"container\">\n          <div class=\"section-well col-sm-8 pull-right\">\n            <h2>Move Beyond Tutorials</h2>\n            <p>\n              Are you tired of toy projects, tutorials and pre-recorded videos in online courses?\n            </p>\n            <%= image_tag 'lady-dev.svg', class: 'img-responsive'%>\n            <p>Our teams of developers range from senior software architects and mid-level developers, to junior programmers and students of computer science.</p>\n          </div>\n        </div>\n      </section>\n    </li>\n\n    <li>\n      <section id=\"landing-learning\" class=\"landing-page-section\">\n        <div class=\"container\">\n          <div class=\"section-well col-sm-8\">\n            <h2>Coding is not a solo gig!</h2>\n            <p>\n              Work in teams and meet other people. All online.\n            </p>\n            <%= image_tag 'standups.svg', class: 'img-responsive'%>\n            <p>Take part in Live coding sessions on learn by observing other developers work on Twitch. </p>\n          </div>\n        </div>\n      </section>\n    </li>\n\n    <li>\n      <section id=\"landing-community\" class=\"landing-page-section\">\n        <div class=\"container\">\n          <div class=\"section-well col-sm-8 pull-right\">\n            <h2>Join real project teams!</h2>\n            <p>\n              Satisfy real charity customers with open source code for great causes around the world.\n            </p>\n            <%= image_tag 'real-projects.svg', class: 'img-responsive'%>\n            <p>\n              We follow the Agile approach to software development and believe that great software comes from good practices, tools and methods: industry wide best practices, rapid prototyping, test-driven development and a user oriented approach to design. \n            </p>\n          </div>\n        </div>\n      </section>\n    </li>\n\n    <li>\n      <section id=\"landing-open-source\" class=\"landing-page-section\">\n        <div class=\"container\">\n          <div class=\"section-well col-sm-8\">\n            <h2>Never code alone</h2>\n            <p>An individual journey you experience with other people </p>\n            <%= image_tag 'runners.svg', class: 'img-responsive'%>\n            <p>\n              We are in the process of rebuilding the community and launching new initiatives to help our members grow. The commitment to Open Source and Open Development Process is what makes Agile Ventures unique            \n            </p>\n          </div>\n        </div>\n      </section>\n    </li>\n\n    <li>\n      <section id=\"landing-community\" class=\"landing-page-section\">\n        <div class=\"container\">\n          <div class=\"section-well col-sm-8 pull-right\">\n            <h2>Build a career</h2>\n            <p>\n              Get compensated for work you put on paid projects, and many other alumni have gone on to great things in the wider world.\n            </p>\n            <%= image_tag 'jobs.svg', class: 'img-responsive'%>\n\n            <% if @current_user %>\n              <a href=\"/users/sign_up\" class=\"btn btn-primary btn-block call-to-action \" style=\"margin: auto; margin-bottom: 10px; margin-top: 20px;\"><span>Sign Up Now</span></a>\n            <% else %>\n              <a href=\"<%= static_page_path('Getting started')%>\" class=\"btn btn-primary btn-block call-to-action \" style=\"margin: auto; margin-bottom: 10px; margin-top: 20px;\"><span>Get Started</span></a>\n            <% end %>\n          </div>\n        </div>\n      </section>\n    </li>\n"
  },
  {
    "path": "app/views/visitors/_text_trail.html.erb",
    "content": "    <li>\n      <section id=\"landing-projects\" class=\"landing-page-section\">\n        <div class=\"container\">\n          <div class=\"section-well col-sm-8 pull-right\">\n            <h3>We are a</h3>\n            <h2>Project Launch Pad</h2>\n            <p>\n              Want to start a new charity or non-profit coding project? Our community of open source practitioners can help you get started coding and using agile methodology to deliver value quickly to your end users.\n            </p>\n            <div class=\"landing-CTA\">Get started with our <%= link_to 'Projects', projects_path %></div>\n          </div>\n        </div>\n      </section>\n    </li>\n\n    <li>\n      <section id=\"landing-learning\" class=\"landing-page-section\">\n        <div class=\"container\">\n          <div class=\"section-well col-sm-8\">\n            <h3>We promote</h3>\n            <h2>Crowdsourced Learning</h2>\n            <p>\n              By crowd-sourcing our projects, we attract developers from diverse backgrounds: students, freelancers, designers, teachers, and many more from all corners of the globe. Our members are driven by their passion to learn to code and make a contribution to society.\n            </p>\n            <div class=\"landing-CTA\">Check out our <%= link_to 'Members', users_path %></div>\n          </div>\n        </div>\n      </section>\n    </li>\n\n    <li>\n      <section id=\"landing-community\" class=\"landing-page-section\">\n        <div class=\"container\">\n          <div class=\"section-well col-sm-8 pull-right\">\n            <h3>We practice</h3>\n            <h2>Social Coding</h2>\n            <p>\n              We have regular daily meetings (scrums) online where our members get together, discuss projects, share knowledge and plan programming sessions. We love pair programming, mob programming and shared code review to help everyone learn and improve.\n            </p>\n            <div class=\"landing-CTA\">Find upcoming <%= link_to 'Events', events_path %></div>\n          </div>\n        </div>\n      </section>\n    </li>\n\n    <li>\n      <section id=\"landing-open-source\" class=\"landing-page-section\">\n        <div class=\"container\">\n          <div class=\"section-well col-sm-8\">\n            <h3>We love</h3>\n            <h2>Open Source</h2>\n            <p>\n              We love all things Open Source and are fully transparent in our development process. We record videos of all our meetings through Google Hangouts; all our code can be viewed on GitHub and our project plans are publicly viewable on systems like Pivotal Tracker.\n            </p>\n            <div class=\"landing-CTA\">Check us out on <a href=\"https://github.com/AgileVentures\" target=\"_blank\">GitHub</a></div>\n          </div>\n        </div>\n      </section>\n    </li>"
  },
  {
    "path": "app/views/visitors/index.html.erb",
    "content": "<% provide :title, 'Home' %>\n<!DOCTYPE html>\n<html>\n\n<%= render 'layouts/head' %>\n\n<body lang=\"en-GB\">\n\n<%= render 'layouts/navbar' %>\n\n\n<div id=\"main\" class=\"container-fluid\" style=\"padding: 0\">\n  <ul id=\"section-list\">\n    <li>\n      <section class=\"landing-page-section\" id=\"top-content\">\n        <div class=\"container\">\n          <div class=\"section-well\">\n            <%= render 'layouts/round_banners' %>\n          </div>\n        </div>\n      </section>\n    </li>\n  </ul>\n</div>\n<% if current_user && current_user.incomplete? && new_user_session_url == request.referrer %>\n  <%= render 'layouts/require_users_profile' %>\n<% end %>\n  <%= render 'text_and_image_trail' %>\n  <%= render 'layouts/cookies_banner' if session[:cookies_accepted].nil? %>\n  \n<footer id=\"footer\">\n  <%= render 'layouts/footer' %>\n</footer>\n\n</body>\n</html>\n"
  },
  {
    "path": "app.json",
    "content": "{\n  \"name\": \"WebsiteOne\",\n  \"description\": \"A website for AgileVentures\",\n  \"scripts\":{\n    \"postdeploy\": \"bundle exec rake db:setup\"\n  },\n  \"env\": {\n    \"AGILE_BOT_URL\": {\n      \"required\": true\n    },\n    \"AIRBRAKE_API_KEY\": {\n      \"required\": true\n    },\n    \"AIRBRAKE_PROJECT_ID\": {\n      \"required\": true\n    },\n    \"BUILDPACK_URL\": {\n      \"required\": true\n    },\n    \"ENABLE_NOTIFICATIONS\": {\n      \"required\": true\n    },\n    \"GITHUB_KEY\": {\n      \"required\": true\n    },\n    \"GITHUB_SECRET\": {\n      \"required\": true\n    },\n    \"GPLUS_KEY\": {\n      \"required\": true\n    },\n    \"GPLUS_SECRET\": {\n      \"required\": true\n    },\n    \"HANGOUTS_APP_ID\": {\n      \"required\": true\n    },\n    \"MAX_THREADS\": {\n      \"required\": true\n    },\n    \"PUMA_WORKERS\": {\n      \"required\": true\n    },\n    \"SECRET_KEY_BASE\": {\n      \"required\": true\n    },\n    \"SENDGRID_PASSWORD\": {\n      \"required\": true\n    },\n    \"SENDGRID_USERNAME\": {\n      \"required\": true\n    },\n    \"SLACK_AUTH_TOKEN\": {\n      \"required\": true\n    },\n    \"SLACK_NOTIFICATIONS_ENABLED\": {\n      \"required\": true\n    },\n    \"SLACK_INVITES_ENABLED\": {\n      \"required\": true\n    },\n    \"STRIPE_PUBLISHABLE_KEY\": {\n      \"required\": true\n    },\n    \"STRIPE_SECRET_KEY\": {\n      \"required\": true\n    },\n    \"SSL_HOST\": {\n      \"required\": true\n    },\n    \"TWITTER_NOTIFICATIONS_ENABLED\": {\n      \"required\": true\n    }\n  },\n  \"addons\": [\n    \"sendgrid\",\n    \"heroku-postgresql\",\n    \"airbrake\"\n  ],\n  \"buildpacks\": [\n    {\n      \"url\": \"https://github.com/heroku/heroku-buildpack-nodejs\"\n    },\n    {\n      \"url\": \"https://github.com/heroku/heroku-buildpack-ruby\"\n    }\n  ]\n}\n"
  },
  {
    "path": "bin/bundle",
    "content": "#!/usr/bin/env ruby\nENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__)\nload Gem.bin_path('bundler', 'bundle')\n"
  },
  {
    "path": "bin/dev",
    "content": "#!/usr/bin/env sh\n\nif ! gem list foreman -i --silent; then\n  echo \"Installing foreman...\"\n  gem install foreman\nfi\n\nexec foreman start -f Procfile.dev \"$@\"\n"
  },
  {
    "path": "bin/rails",
    "content": "#!/usr/bin/env ruby\nAPP_PATH = File.expand_path(\"../config/application\", __dir__)\nrequire_relative \"../config/boot\"\nrequire \"rails/commands\"\n"
  },
  {
    "path": "bin/rake",
    "content": "#!/usr/bin/env ruby\nrequire_relative \"../config/boot\"\nrequire \"rake\"\nRake.application.run\n"
  },
  {
    "path": "bin/setup",
    "content": "#!/usr/bin/env ruby\nrequire \"fileutils\"\n\n# path to your application root.\nAPP_ROOT = File.expand_path(\"..\", __dir__)\n\ndef system!(*args)\n  system(*args) || abort(\"\\n== Command #{args} failed ==\")\nend\n\nFileUtils.chdir APP_ROOT do\n  # This script is a way to set up or update your development environment automatically.\n  # This script is idempotent, so that you can run it at any time and get an expectable outcome.\n  # Add necessary setup steps to this file.\n\n  puts \"== Installing dependencies ==\"\n  system! \"gem install bundler --conservative\"\n  system(\"bundle check\") || system!(\"bundle install\")\n\n  # puts \"\\n== Copying sample files ==\"\n  # unless File.exist?(\"config/database.yml\")\n  #   FileUtils.cp \"config/database.yml.sample\", \"config/database.yml\"\n  # end\n\n  puts \"\\n== Preparing database ==\"\n  system! \"bin/rails db:prepare\"\n\n  puts \"\\n== Removing old logs and tempfiles ==\"\n  system! \"bin/rails log:clear tmp:clear\"\n\n  puts \"\\n== Restarting application server ==\"\n  system! \"bin/rails restart\"\nend\n"
  },
  {
    "path": "bin/update",
    "content": "#!/usr/bin/env ruby\nrequire 'fileutils'\ninclude FileUtils\n\n# path to your application root.\nAPP_ROOT = File.expand_path('..', __dir__)\n\ndef system!(*args)\n  system(*args) || abort(\"\\n== Command #{args} failed ==\")\nend\n\nchdir APP_ROOT do\n  # This script is a way to update your development environment automatically.\n  # Add necessary update steps to this file.\n\n  puts '== Installing dependencies =='\n  system! 'gem install bundler --conservative'\n  system('bundle check') || system!('bundle install')\n\n  # Install JavaScript dependencies if using Yarn\n  # system('bin/yarn')\n\n  puts \"\\n== Updating database ==\"\n  system! 'bin/rails db:migrate'\n\n  puts \"\\n== Removing old logs and tempfiles ==\"\n  system! 'bin/rails log:clear tmp:clear'\n\n  puts \"\\n== Restarting application server ==\"\n  system! 'bin/rails restart'\nend\n"
  },
  {
    "path": "bin/yarn",
    "content": "#!/usr/bin/env ruby\nAPP_ROOT = File.expand_path('..', __dir__)\nDir.chdir(APP_ROOT) do\n  yarn = ENV[\"PATH\"].split(File::PATH_SEPARATOR).\n    select { |dir| File.expand_path(dir) != __dir__ }.\n    product([\"yarn\", \"yarn.cmd\", \"yarn.ps1\"]).\n    map { |dir, file| File.expand_path(file, dir) }.\n    find { |file| File.executable?(file) }\n\n  if yarn\n    exec yarn, *ARGV\n  else\n    $stderr.puts \"Yarn executable was not detected in the system.\"\n    $stderr.puts \"Download Yarn at https://yarnpkg.com/en/docs/install\"\n    exit 1\n  end\nend\n\n"
  },
  {
    "path": "cloudbuild.yaml",
    "content": "\n# [START cloudrun_rails_cloudbuild]\nsteps:\n  - id: \"build image\"\n    name: \"gcr.io/cloud-builders/docker\"\n    entrypoint: 'bash'\n    args: [\"-c\", \"docker build --build-arg MASTER_KEY=${_RAILS_KEY} -t gcr.io/${PROJECT_ID}/${_SERVICE_NAME} . \"]\n#    secretEnv: [\"_RAILS_KEY\"]\n\n  - id: \"push image\"\n    name: \"gcr.io/cloud-builders/docker\"\n    args: [\"push\", \"gcr.io/${PROJECT_ID}/${_SERVICE_NAME}\"]\n\n  - id: \"apply migrations\"\n    name: \"gcr.io/google-appengine/exec-wrapper\"\n    entrypoint: \"bash\"\n    args:\n      [\n        \"-c\",\n        \"/buildstep/execute.sh -i gcr.io/${PROJECT_ID}/${_SERVICE_NAME} -s ${PROJECT_ID}:${_REGION}:${_INSTANCE_NAME} -e RAILS_MASTER_KEY=${_RAILS_KEY} -- bundle exec rails db:migrate\"\n      ]\n\n  # Use seed step below only on first deploy if you want sample data\n  # - id: \"seed some display data\"\n  #   name: \"gcr.io/google-appengine/exec-wrapper\"\n  #   entrypoint: \"bash\"\n  #   args:\n  #     [\n  #       \"-c\",\n  #       \"/buildstep/execute.sh -i gcr.io/${PROJECT_ID}/${_SERVICE_NAME} -s ${PROJECT_ID}:${_REGION}:${_INSTANCE_NAME} -e RAILS_MASTER_KEY=${_RAILS_KEY} -- bundle exec rake db:seed\"\n  #     ]\n  #    secretEnv: [\"_RAILS_KEY\"]\n\nsubstitutions:\n  _REGION: us-central1\n  _SERVICE_NAME: av-wso\n  _INSTANCE_NAME: postgres\n#  _SECRET_NAME: rails-master-key\n# Do not put the key here for any official site as it will expose secrets and passwords.\n# Instead, use the availableSecrets section below and put the key in google cloud secrets.\n  _RAILS_KEY: 79c9bca5ff743a515be994095fd41a3a\n\n\n# availableSecrets:\n#   secretManager:\n#   - versionName: projects/${PROJECT_ID}/secrets/${_SECRET_NAME}/versions/latest\n#     env: RAILS_KEY\n\nimages:\n  - \"gcr.io/${PROJECT_ID}/${_SERVICE_NAME}\"\n# [END cloudrun_rails_cloudbuild]"
  },
  {
    "path": "coffeelint.json",
    "content": "{\n  \"arrow_spacing\": {\n    \"level\": \"ignore\"\n  },\n  \"braces_spacing\": {\n    \"level\": \"ignore\",\n    \"spaces\": 0,\n    \"empty_object_spaces\": 0\n  },\n  \"camel_case_classes\": {\n    \"level\": \"error\"\n  },\n  \"coffeescript_error\": {\n    \"level\": \"error\"\n  },\n  \"colon_assignment_spacing\": {\n    \"level\": \"ignore\",\n    \"spacing\": {\n      \"left\": 0,\n      \"right\": 0\n    }\n  },\n  \"cyclomatic_complexity\": {\n    \"value\": 10,\n    \"level\": \"ignore\"\n  },\n  \"duplicate_key\": {\n    \"level\": \"error\"\n  },\n  \"empty_constructor_needs_parens\": {\n    \"level\": \"ignore\"\n  },\n  \"ensure_comprehensions\": {\n    \"level\": \"warn\"\n  },\n  \"eol_last\": {\n    \"level\": \"ignore\"\n  },\n  \"indentation\": {\n    \"value\": 2,\n    \"level\": \"error\"\n  },\n  \"line_endings\": {\n    \"level\": \"ignore\",\n    \"value\": \"unix\"\n  },\n  \"max_line_length\": {\n    \"value\": 80,\n    \"level\": \"error\",\n    \"limitComments\": true\n  },\n  \"missing_fat_arrows\": {\n    \"level\": \"ignore\",\n    \"is_strict\": false\n  },\n  \"newlines_after_classes\": {\n    \"value\": 3,\n    \"level\": \"ignore\"\n  },\n  \"no_backticks\": {\n    \"level\": \"error\"\n  },\n  \"no_debugger\": {\n    \"level\": \"warn\",\n    \"console\": false\n  },\n  \"no_empty_functions\": {\n    \"level\": \"ignore\"\n  },\n  \"no_empty_param_list\": {\n    \"level\": \"ignore\"\n  },\n  \"no_implicit_braces\": {\n    \"level\": \"ignore\",\n    \"strict\": true\n  },\n  \"no_implicit_parens\": {\n    \"strict\": true,\n    \"level\": \"ignore\"\n  },\n  \"no_interpolation_in_single_quotes\": {\n    \"level\": \"ignore\"\n  },\n  \"no_plusplus\": {\n    \"level\": \"ignore\"\n  },\n  \"no_stand_alone_at\": {\n    \"level\": \"ignore\"\n  },\n  \"no_tabs\": {\n    \"level\": \"error\"\n  },\n  \"no_this\": {\n    \"level\": \"ignore\"\n  },\n  \"no_throwing_strings\": {\n    \"level\": \"error\"\n  },\n  \"no_trailing_semicolons\": {\n    \"level\": \"error\"\n  },\n  \"no_trailing_whitespace\": {\n    \"level\": \"error\",\n    \"allowed_in_comments\": false,\n    \"allowed_in_empty_lines\": true\n  },\n  \"no_unnecessary_double_quotes\": {\n    \"level\": \"ignore\"\n  },\n  \"no_unnecessary_fat_arrows\": {\n    \"level\": \"warn\"\n  },\n  \"non_empty_constructor_needs_parens\": {\n    \"level\": \"ignore\"\n  },\n  \"prefer_english_operator\": {\n    \"level\": \"ignore\",\n    \"doubleNotLevel\": \"ignore\"\n  },\n  \"space_operators\": {\n    \"level\": \"ignore\"\n  },\n  \"spacing_after_comma\": {\n    \"level\": \"ignore\"\n  },\n  \"transform_messes_up_line_numbers\": {\n    \"level\": \"warn\"\n  }\n}\n"
  },
  {
    "path": "config/application.rb",
    "content": "# frozen_string_literal: true\n\nrequire_relative 'boot'\nrequire 'rails'\nrequire 'active_storage/engine'\nrequire 'action_text/engine'\n\n%w(\n  active_record/railtie\n  action_controller/railtie\n  action_view/railtie\n  action_mailer/railtie\n  active_job/railtie\n  rails/test_unit/railtie\n  sprockets/railtie\n).each do |railtie|\n  require railtie\nrescue LoadError\nend\n\n# Require the gems listed in Gemfile, including any gems\n# you've limited to :test, :development, or :production.\nBundler.require(*Rails.groups)\nBundler.require(:default, Rails.env)\n\nmodule WebsiteOne\n  class Application < Rails::Application\n    config.active_support.cache_format_version 7.0\n    # config.autoloader = :zeitwerk\n    # necessary to make Settings available\n    Config::Integrations::Rails::Railtie.preload\n    # config.load_defaults 5.0\n    # Settings in config/environments/* take precedence over those specified here.\n    # Application configuration should go into files in config/initializers\n    # -- all .rb files in that directory are automatically loaded.\n    config.exceptions_app = routes\n\n    config.active_record.legacy_connection_handling = false\n\n    config.action_mailer.delivery_method = Settings.mailer.delivery_method.to_sym\n    config.action_mailer.smtp_settings = Settings.mailer.smtp_settings.to_hash\n    config.action_mailer.default_url_options = { host: 'www.agileventures.org' }\n\n    # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.\n    # Run \"rake -D time\" for a list of tasks for finding time zone names. Default is UTC.\n    # config.time_zone = 'Central Time (US & Canada)'\n    ENV['TZ'] = 'UTC'\n\n    # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.\n    # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]\n    # config.i18n.default_locale = :de\n    I18n.enforce_available_locales = false\n\n    config.assets.enabled = true\n\n    # ensure svg assets are compiled in production\n    config.assets.precompile += %w(jobs.svg lady-dev.svg real-projects.svg runners.svg standups.svg)\n\n    config.autoload_paths += Dir[Rails.root.join('app', '**/')]\n    config.autoload_paths += Dir[Rails.root.join('lib')]\n\n  end\nend\n"
  },
  {
    "path": "config/boot.rb",
    "content": "# frozen_string_literal: true\n\nENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__)\n\nrequire 'bundler/setup' # Set up gems listed in the Gemfile.\nrequire 'bootsnap/setup' # Speed up boot time by caching expensive operations.\n"
  },
  {
    "path": "config/cable.yml",
    "content": "development:\n  adapter: redis\n  url: redis://localhost:6379/1\n\ntest:\n  adapter: async\n\nproduction:\n  adapter: redis\n  url: <%= ENV.fetch(\"REDIS_URL\") { \"redis://localhost:6379/1\" } %>\n  channel_prefix: website_one_production\n"
  },
  {
    "path": "config/credentials.yml.enc",
    "content": "xxXTi2v2HMRD6dcSX6qpaUByfveL15gulGj/KfDKWfsNwHQXPSObiQqjWgtkWw9gjUhDSK1dJbBR8FA2MtbJJPNSMiSOP7csIFAIvMw/T7dNSQas+ilhGCjYVrnW6sZl4vc+GKKea569HaAuWTuC518pzD8eQI97w9+C0o5P9IpxPXGrLTB3Hm43uEzTxQD35e9mRW0VzSjvDjJCruKx+vbPF2O81Ap3XeWF4oOd2rw9xyPzbbTDVKB8dxApGLvkGtD5jKavS8Ne/+Iny5Miwg81H6wWqAdKrWg9rnZ8k4dkbGg0/7ZU0fFSyM6/UVwr6BbU/TV7U2mTFkLgsB05S4KJgx90pIiAZbTavME9rlPFPI1B5gI2G5JHNWINcuwY7D3WqNNA7Yg2NZMIDeB3qE0w+eSdditHkIfJZI3sPDJz63NVH0EQK135V3iYEaM/sQkz--IwmpHfU6ig9OgiMI--AvQyzBX9AUqeqe6stOPuXA=="
  },
  {
    "path": "config/cucumber.yml",
    "content": "<%\nrerun = File.file?('rerun.txt') ? IO.read('rerun.txt').gsub(/\\n/, ' ') : \"\"\nrerun_opts = rerun.to_s.strip.empty? ? \"--format #{ENV['CUCUMBER_FORMAT'] || 'progress'} features\" : \"--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} #{rerun}\"\nstd_opts = \"--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} --strict --tags 'not @wip' -r features/\"\n%>\ndefault: <%= std_opts %> features\nci: --format pretty --strict features\nwip: --tags @wip:3 --wip features\nrerun: <%= rerun_opts %> --format rerun --out rerun.txt --strict --tags 'not @wip'\nfirst_try:  NEVER_FAIL=true COVERAGE=true <%= std_opts %> --format rerun --out rerun.txt --strict --tags 'not @wip'\nsecond_try: NEVER_FAIL=false <%= std_opts %> @rerun.txt --strict --tags 'not @wip'\nintercept:  INTERCEPT_EMAILS=true USER_EMAIL=me@ymail.com --tags @intercept\n"
  },
  {
    "path": "config/database.yml",
    "content": "development: &dev\n  adapter: postgresql\n  encoding: unicode\n  database: websiteone_development\n  url: <%= ENV['DB_URL'] || \"\"%>\n  pool: 20\n  username: <%= ENV[\"DATABASE_POSTGRESQL_USERNAME\"] %>\n  password: <%= ENV[\"DATABASE_POSTGRESQL_PASSWORD\"] %>\n  \ntest: &test\n  <<: *dev\n  database: websiteone_test\n\nproduction:\n  <<: *dev\n  database: websiteone-production\ncucumber:\n  <<: *test\n"
  },
  {
    "path": "config/environment.rb",
    "content": "# frozen_string_literal: true\n\n# Load the Rails application.\nrequire_relative 'application'\nrequire_relative 'nested_key_extension'\n\n# Initialize the Rails application.\nRails.application.initialize!\n"
  },
  {
    "path": "config/environments/development.rb",
    "content": "# frozen_string_literal: true\n\nRails.application.configure do\n  # Settings specified here will take precedence over those in config/application.rb.\n\n  # In the development environment your application's code is reloaded on\n  # every request. This slows down response time but is perfect for development\n  # since you don't have to restart the web server when you make code changes.\n  config.cache_classes = false\n\n  # Do not eager load code on boot.\n  config.eager_load = false\n\n  # Show full error reports and disable caching.\n  config.consider_all_requests_local = true\n\n  # Enable/disable caching. By default caching is disabled.\n  # Run rails dev:cache to toggle caching.\n  if Rails.root.join('tmp', 'caching-dev.txt').exist?\n    config.action_controller.perform_caching = true\n    config.action_controller.enable_fragment_cache_logging = true\n\n    config.cache_store = :memory_store\n    config.public_file_server.headers = {\n      'Cache-Control' => \"public, max-age=#{2.days.to_i}\"\n    }\n  else\n    config.action_controller.perform_caching = false\n\n    config.cache_store = :null_store\n  end\n\n  # Store uploaded files on the local file system (see config/storage.yml for options)\n  config.active_storage.service = :local\n\n  # Don't care if the mailer can't send.\n  config.action_mailer.raise_delivery_errors = false\n\n  config.action_mailer.perform_caching = false\n  # Print deprecation notices to the Rails logger.\n  config.active_support.deprecation = :log\n\n  # Raise exceptions for disallowed deprecations.\n  config.active_support.disallowed_deprecation = :raise\n\n  # Tell Active Support which deprecation messages to disallow.\n  config.active_support.disallowed_deprecation_warnings = []\n\n  # Raise an error on page load if there are pending migrations.\n  config.active_record.migration_error = :page_load\n\n  # Highlight code that triggered database queries in logs.\n  config.active_record.verbose_query_logs = true\n\n  # Debug mode disables concatenation and preprocessing of assets.\n  # This option may cause significant delays in view rendering with a large\n  # number of complex assets.\n  config.assets.debug = true\n  config.assets.compress = true\n\n  config.action_mailer.delivery_method = :letter_opener unless ENV['LETTER_OPENER'] == 'false'\n  config.action_mailer.perform_deliveries = true\n  config.action_mailer.raise_delivery_errors = true\n  config.action_mailer.perform_caching = false\n\n  # Suppress logger output for asset requests.\n  config.assets.quiet = true\n\n  # Highlight code that triggered database queries in logs.\n  config.active_record.verbose_query_logs = true\n  # config.file_watcher = ActiveSupport::EventedFileUpdateChecker\n\n  config.after_initialize do\n    Bullet.enable = true\n    Bullet.alert = false\n    Bullet.bullet_logger = true\n    Bullet.console = true\n    Bullet.rails_logger = true\n  end\n\n  # Raises error for missing translations.\n  # config.i18n.raise_on_missing_translations = true\n\n  # Annotate rendered view with file names.\n  # config.action_view.annotate_rendered_view_with_filenames = true\n\n  # Use an evented file watcher to asynchronously detect changes in source code,\n  # routes, locales, etc. This feature depends on the listen gem.\n  config.file_watcher = ActiveSupport::EventedFileUpdateChecker\n\n  # Uncomment if you wish to allow Action Cable access from any origin.\n  # config.action_cable.disable_request_forgery_protection = true\nend\n"
  },
  {
    "path": "config/environments/production.rb",
    "content": "# frozen_string_literal: true\n\nrequire 'active_support/core_ext/integer/time'\nRails.application.configure do\n  # Settings specified here will take precedence over those in config/application.rb.\n\n  # Code is not reloaded between requests.\n  config.cache_classes = true\n\n  # Eager load code on boot. This eager loads most of Rails and\n  # your application in memory, allowing both thread web servers\n  # and those relying on copy on write to perform better.\n  # Rake tasks automatically ignore this option for performance.\n  config.eager_load = true\n\n  # Full error reports are disabled and caching is turned on.\n  config.consider_all_requests_local       = false\n  config.action_controller.perform_caching = true\n\n  # Ensures that a master key has been made available in either ENV[\"RAILS_MASTER_KEY\"]\n  # or in config/master.key. This key is used to decrypt credentials (and other encrypted files).\n  # config.require_master_key = true\n\n  # Enable Rack::Cache to put a simple HTTP cache in front of your application\n  # Add `rack-cache` to your Gemfile before enabling this.\n  # For large-scale production use, consider using a caching reverse proxy like nginx, varnish or squid.\n  config.action_dispatch.rack_cache = true\n\n  config.serve_static_files = true\n  config.static_cache_control = 'public, max-age=31536000'\n\n  # Do not fallback to assets pipeline if a precompiled asset is missed.\n  # config.assets.compile = true\n\n  # Generate digests for assets URLs.\n  config.assets.digest = true\n\n  # Specifies the header that your server uses for sending files.\n  # config.action_dispatch.x_sendfile_header = \"X-Sendfile\" # for apache\n  # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for nginx\n\n  # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.\n  config.force_ssl = true\n\n  # Set to :debug to see everything in the log.\n  config.log_level = :info\n\n  # Prepend all log lines with the following tags.\n  # config.log_tags = [ :subdomain, :uuid ]\n  config.log_tags = [:request_id]\n  # Use a different logger for distributed setups.\n  # config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new)\n\n  # Use a different cache store in production.\n  # config.cache_store = :mem_cache_store\n\n  # Enable serving of images, stylesheets, and JavaScripts from an asset server.\n  # config.action_controller.asset_host = \"http://assets.example.com\"\n\n  # Ignore bad email addresses and do not raise email delivery errors.\n  # Set this to true and configure the email server for immediate delivery to raise delivery errors.\n  config.action_mailer.perform_deliveries = true\n  config.action_mailer.raise_delivery_errors = true\n\n  # config.action_mailer.smtp_settings = {\n  #    :address              => 'smtp.gmail.com',\n  #    :port                 => 587,\n  #    :domain               => '',\n  #    :user_name            => 'wso.av.test@gmail.com',     #This is a temporary solution\n  #    :password             => 'Wso12345',                  #This is a temporary solution\n  #    :authentication       => 'plain',\n  #    :enable_starttls_auto => true  }\n\n  # config.action_mailer.raise_delivery_errors = true\n  # config.action_mailer.delivery_method = :smtp\n\n  # Enable locale fallbacks for I18n (makes lookups for any locale fall back to\n  # the I18n.default_locale when a translation can not be found).\n  config.i18n.fallbacks = true\n\n  # Send deprecation notices to registered listeners.\n  config.active_support.deprecation = :notify\n\n  # Disable automatic flushing of the log to improve performance.\n  # config.autoflush_log = false\n\n  # Log disallowed deprecations.\n  config.active_support.disallowed_deprecation = :log\n\n  # Tell Active Support which deprecation messages to disallow.\n  config.active_support.disallowed_deprecation_warnings = []\n\n  # Use default logging formatter so that PID and timestamp are not suppressed.\n  config.log_formatter = Logger::Formatter.new\n\n  config.assets.compile = false\n\n  if ENV['RAILS_LOG_TO_STDOUT'].present?\n    logger           = ActiveSupport::Logger.new($stdout)\n    logger.formatter = config.log_formatter\n    config.logger    = ActiveSupport::TaggedLogging.new(logger)\n  end\n  config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present?\n  # Do not dump schema after migrations.\n  # config.active_record.dump_schema_after_migration = false\nend\n"
  },
  {
    "path": "config/environments/test.rb",
    "content": "# frozen_string_literal: true\n\nrequire 'active_support/core_ext/integer/time'\nRails.application.configure do\n  # Settings specified here will take precedence over those in config/application.rb.\n  # The test environment is used exclusively to run your application's\n  # test suite. You never need to work with it otherwise. Remember that\n  # your test database is \"scratch space\" for the test suite and is wiped\n  # and recreated between test runs. Don't rely on the data there!\n  config.cache_classes = true\n\n  # Do not eager load code on boot. This avoids loading your whole application\n  # just for the purpose of running a single test. If you are using a tool that\n  # preloads Rails for running tests, you may have to set it to true.\n  config.eager_load = false\n  # Configure public file server for tests with Cache-Control for performance.\n  config.public_file_server.enabled = true\n  config.public_file_server.headers = {\n    'Cache-Control' => \"public, max-age=#{1.hour.to_i}\"\n  }\n  config.static_cache_control = 'public, max-age=3600'\n\n  # Show full error reports and disable caching.\n  config.consider_all_requests_local       = true\n  config.action_controller.perform_caching = false\n\n  # Store uploaded files on the local file system in a temporary directory\n  config.active_storage.service = :test\n  config.action_mailer.perform_caching = false\n\n  # Raise exceptions instead of rendering exception templates.\n  config.action_dispatch.show_exceptions = false\n\n  config.action_mailer.delivery_method = :test\n  # Disable request forgery protection in test environment.\n  config.action_controller.allow_forgery_protection = false\n\n  # Store uploaded files on the local file system in a temporary directory.\n  # config.active_storage.service = :test\n\n  config.action_mailer.perform_caching = false\n\n  # Tell Action Mailer not to deliver emails to the real world.\n  # The :test delivery method accumulates sent emails in the\n  # ActionMailer::Base.deliveries array.\n  config.action_mailer.delivery_method = :test\n  # Print deprecation notices to the stderr.\n  config.active_support.deprecation = :stderr\n\n  # Raise exceptions for disallowed deprecations.\n  config.active_support.disallowed_deprecation = :raise\n\n  # Tell Active Support which deprecation messages to disallow.\n  config.active_support.disallowed_deprecation_warnings = []\n\n  # Raises error for missing translations.\n  # config.i18n.raise_on_missing_translations = true\n\n  # Annotate rendered view with file names.\n  # config.action_view.annotate_rendered_view_with_filenames = true\nend\n"
  },
  {
    "path": "config/initializers/airbrake.rb",
    "content": "# frozen_string_literal: true\n# # frozen_string_literal: true\n\n# # Airbrake is an online tool that provides robust exception tracking in your Rails\n# # applications. In doing so, it allows you to easily review errors, tie an error\n# # to an individual piece of code, and trace the cause back to recent\n# # changes. Airbrake enables for easy categorization, searching, and prioritization\n# # of exceptions so that when errors occur, your team can quickly determine the\n# # root cause.\n# #\n# # Configuration details:\n# # https://github.com/airbrake/airbrake-ruby#configuration\n# Airbrake.configure do |c|\n#   # You must set both project_id & project_key. To find your project_id and\n#   # project_key navigate to your project's General Settings and copy the values\n#   # from the right sidebar.\n#   # https://github.com/airbrake/airbrake-ruby#project_id--project_key\n#   c.project_id = ENV['AIRBRAKE_PROJECT_ID']\n#   c.project_key = ENV['AIRBRAKE_API_KEY']\n\n#   # Configures the root directory of your project. Expects a String or a\n#   # Pathname, which represents the path to your project. Providing this option\n#   # helps us to filter out repetitive data from backtrace frames and link to\n#   # GitHub files from our dashboard.\n#   # https://github.com/airbrake/airbrake-ruby#root_directory\n#   c.root_directory = Rails.root\n\n#   # By default, Airbrake Ruby outputs to STDOUT. In Rails apps it makes sense to\n#   # use the Rails' logger.\n#   # https://github.com/airbrake/airbrake-ruby#logger\n#   c.logger = Rails.logger\n\n#   # Configures the environment the application is running in. Helps the Airbrake\n#   # dashboard to distinguish between exceptions occurring in different\n#   # environments.\n#   # NOTE: This option must be set in order to make the 'ignore_environments'\n#   # option work.\n#   # https://github.com/airbrake/airbrake-ruby#environment\n#   c.environment = Rails.env\n\n#   # Setting this option allows Airbrake to filter exceptions occurring in\n#   # unwanted environments such as :test.\n#   # NOTE: This option *does not* work if you don't set the 'environment' option.\n#   # https://github.com/airbrake/airbrake-ruby#ignore_environments\n#   c.ignore_environments = %w(development test)\n\n#   # A list of parameters that should be filtered out of what is sent to\n#   # Airbrake. By default, all \"password\" attributes will have their contents\n#   # replaced.\n#   # https://github.com/airbrake/airbrake-ruby#blacklist_keys\n#   # c.blacklist_keys = [/password/i, /authorization/i]\n\n#   # Alternatively, you can integrate with Rails' filter_parameters.\n#   # Read more: https://goo.gl/gqQ1xS\n#   # c.blacklist_keys = Rails.application.config.filter_parameters\n# end\n\n# # A filter that collects request body information. Enable it if you are sure you\n# # don't send sensitive information to Airbrake in your body (such as passwords).\n# # https://github.com/airbrake/airbrake#requestbodyfilter\n# # Airbrake.add_filter(Airbrake::Rack::RequestBodyFilter.new)\n\n# # If you want to convert your log messages to Airbrake errors, we offer an\n# # integration with the Logger class from stdlib.\n# # https://github.com/airbrake/airbrake#logger\n# # Rails.logger = Airbrake::AirbrakeLogger.new(Rails.logger)\n"
  },
  {
    "path": "config/initializers/apipie.rb",
    "content": "# frozen_string_literal: true\n# Apipie.configure do |config|\n#   config.translate = false\n#   config.default_locale = nil\n#   config.app_name = \"WebsiteOne\"\n#   config.api_base_url = \"/api\"\n#   config.doc_base_url = \"/apipie\"\n#   # where is your API defined?\n#   # config.api_controllers_matcher = \"#{Rails.root}/app/controllers/**/*.rb\"\n#   config.api_controllers_matcher = Rails.root.join('app', 'controllers', 'api', '**', '*.rb')\n# end\n"
  },
  {
    "path": "config/initializers/application_controller_renderer.rb",
    "content": "# frozen_string_literal: true\n# Be sure to restart your server when you modify this file.\n\n# ActiveSupport::Reloader.to_prepare do\n#   ApplicationController.renderer.defaults.merge!(\n#     http_host: 'example.org',\n#     https: false\n#   )\n# end\n"
  },
  {
    "path": "config/initializers/assets.rb",
    "content": "# frozen_string_literal: true\n\nRails.application.configure do\n  # Version of your assets, change this if you want to expire all your assets.\n  config.assets.version = '1.0'\nend\n"
  },
  {
    "path": "config/initializers/backtrace_silencers.rb",
    "content": "# frozen_string_literal: true\n\n# Be sure to restart your server when you modify this file.\n\n# You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces.\n# Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ }\n\n# You can also remove all the silencers if you're trying to debug a problem that might stem from framework code.\n# Rails.backtrace_cleaner.remove_silencers!\nRails.backtrace_cleaner.remove_silencers! if ENV['BACKTRACE']\n"
  },
  {
    "path": "config/initializers/config.rb",
    "content": "# frozen_string_literal: true\n\nConfig.setup do |config|\n  config.const_name = 'Settings'\nend\n"
  },
  {
    "path": "config/initializers/content_security_policy.rb",
    "content": "# frozen_string_literal: true\n# Be sure to restart your server when you modify this file.\n\n# Define an application-wide content security policy.\n# See the Securing Rails Applications Guide for more information:\n# https://guides.rubyonrails.org/security.html#content-security-policy-header\n\n# Rails.application.configure do\n#   config.content_security_policy do |policy|\n#     policy.default_src :self, :https\n#     policy.font_src    :self, :https, :data\n#     policy.img_src     :self, :https, :data\n#     policy.object_src  :none\n#     policy.script_src  :self, :https\n#     policy.style_src   :self, :https\n#     # Specify URI for violation reports\n#     # policy.report_uri \"/csp-violation-report-endpoint\"\n#   end\n#\n#   # Generate session nonces for permitted importmap and inline scripts\n#   config.content_security_policy_nonce_generator = ->(request) { request.session.id.to_s }\n#   config.content_security_policy_nonce_directives = %w(script-src)\n#\n#   # Report violations without enforcing the policy.\n#   # config.content_security_policy_report_only = true\n# end\n"
  },
  {
    "path": "config/initializers/cookies_serializer.rb",
    "content": "# frozen_string_literal: true\n\n# Be sure to restart your server when you modify this file.\n\n# Specify a serializer for the signed and encrypted cookie jars.\n# Valid options are :json, :marshal, and :hybrid.\nRails.application.config.action_dispatch.cookies_serializer = :marshal\n"
  },
  {
    "path": "config/initializers/cucumber.rb",
    "content": "# frozen_string_literal: true\n\n# Based on https://github.com/cucumber/cucumber-ruby/issues/1432\n# HACK: this method was available in cucumber 3.1 and VCR relies on it to\n# generate cassette names.\nif Rails.env.test?\n  Cucumber::Core::Test::Case.class_eval do\n    def feature\n      string = File.read(location.file)\n      document = Gherkin::Parser.new.parse(string)\n      document.feature\n    end\n  end\nend\n"
  },
  {
    "path": "config/initializers/devise.rb",
    "content": "# frozen_string_literal: true\n\n# Use this hook to configure devise mailer, warden hooks and so forth.\n# Many of these configuration options can be set straight in your model.\nDevise.setup do |config|\n  # The secret key used by Devise. Devise uses this key to generate\n  # random tokens. Changing this key will render invalid all existing\n  # confirmation, reset password and unlock tokens in the database.\n  config.secret_key = 'a9bc5d650ff8df51b9751e5ff499a6d5c6d91fb7a57aeb85fe691782e9e80ecf9e4c1869200b3395110e082ddca75acccf9088381ccc64f80ffea2c0b467322b'\n\n  # ==> Mailer Configuration\n  # Configure the e-mail address which will be shown in Devise::Mailer,\n  # note that it will be overwritten if you use your own mailer class\n  # with default \"from\" parameter.\n  config.mailer_sender = Settings.mailer.devise_mailer_sender\n\n  # Configure the class responsible to send e-mails.\n  # config.mailer = 'Devise::Mailer'\n\n  # ==> ORM configuration\n  # Load and configure the ORM. Supports :active_record (default) and\n  # :mongoid (bson_ext recommended) by default. Other ORMs may be\n  # available as additional gems.\n  require 'devise/orm/active_record'\n\n  # ==> Configuration for any authentication mechanism\n  # Configure which keys are used when authenticating a user. The default is\n  # just :email. You can configure it to use [:username, :subdomain], so for\n  # authenticating a user, both parameters are required. Remember that those\n  # parameters are used only when authenticating and not when retrieving from\n  # session. If you need permissions, you should implement that in a before filter.\n  # You can also supply a hash where the value is a boolean determining whether\n  # or not authentication should be aborted when the value is not present.\n  # config.authentication_keys = [ :email ]\n\n  # Configure parameters from the request object used for authentication. Each entry\n  # given should be a request method and it will automatically be passed to the\n  # find_for_authentication method and considered in your model lookup. For instance,\n  # if you set :request_keys to [:subdomain], :subdomain will be used on authentication.\n  # The same considerations mentioned for authentication_keys also apply to request_keys.\n  # config.request_keys = []\n\n  # Configure which authentication keys should be case-insensitive.\n  # These keys will be downcased upon creating or modifying a user and when used\n  # to authenticate or find a user. Default is :email.\n  config.case_insensitive_keys = [:email]\n\n  # Configure which authentication keys should have whitespace stripped.\n  # These keys will have whitespace before and after removed upon creating or\n  # modifying a user and when used to authenticate or find a user. Default is :email.\n  config.strip_whitespace_keys = [:email]\n\n  # Tell if authentication through request.params is enabled. True by default.\n  # It can be set to an array that will enable params authentication only for the\n  # given strategies, for example, `config.params_authenticatable = [:database]` will\n  # enable it only for database (email + password) authentication.\n  # config.params_authenticatable = true\n\n  # Tell if authentication through HTTP Auth is enabled. False by default.\n  # It can be set to an array that will enable http authentication only for the\n  # given strategies, for example, `config.http_authenticatable = [:database]` will\n  # enable it only for database authentication. The supported strategies are:\n  # :database      = Support basic authentication with authentication key + password\n  # config.http_authenticatable = false\n\n  # If http headers should be returned for AJAX requests. True by default.\n  # config.http_authenticatable_on_xhr = true\n\n  # The realm used in Http Basic Authentication. 'Application' by default.\n  # config.http_authentication_realm = 'Application'\n\n  # It will change confirmation, password recovery and other workflows\n  # to behave the same regardless if the e-mail provided was right or wrong.\n  # Does not affect registerable.\n  # config.paranoid = true\n\n  # By default Devise will store the user in session. You can skip storage for\n  # particular strategies by setting this option.\n  # Notice that if you are skipping storage for all authentication paths, you\n  # may want to disable generating routes to Devise's sessions controller by\n  # passing :skip => :sessions to `devise_for` in your config/routes.rb\n  config.skip_session_storage = [:http_auth]\n\n  # By default, Devise cleans up the CSRF token on authentication to\n  # avoid CSRF token fixation attacks. This means that, when using AJAX\n  # requests for sign in and sign up, you need to get a new CSRF token\n  # from the server. You can disable this option at your own risk.\n  # config.clean_up_csrf_token_on_authentication = true\n\n  # ==> Configuration for :database_authenticatable\n  # For bcrypt, this is the cost for hashing the password and defaults to 10. If\n  # using other encryptors, it sets how many times you want the password re-encrypted.\n  #\n  # Limiting the stretches to just one in testing will increase the performance of\n  # your test suite dramatically. However, it is STRONGLY RECOMMENDED to not use\n  # a value less than 10 in other environments.\n  config.stretches = Rails.env.test? ? 1 : 10\n\n  # Setup a pepper to generate the encrypted password.\n  # config.pepper = '5e15e41af3dd730614cccd96e3f8158e9cf88741bb4c7bcc6253407037a30ab23d011c3c8dae35ec7f5e4f04a3684e281cf5144037f916b8e6deb7ea20d239a4'\n\n  # ==> Configuration for :confirmable\n  # A period that the user is allowed to access the website even without\n  # confirming his account. For instance, if set to 2.days, the user will be\n  # able to access the website for two days without confirming his account,\n  # access will be blocked just in the third day. Default is 0.days, meaning\n  # the user cannot access the website without confirming his account.\n  # config.allow_unconfirmed_access_for = 2.days\n\n  # A period that the user is allowed to confirm their account before their\n  # token becomes invalid. For example, if set to 3.days, the user can confirm\n  # their account within 3 days after the mail was sent, but on the fourth day\n  # their account can't be confirmed with the token any more.\n  # Default is nil, meaning there is no restriction on how long a user can take\n  # before confirming their account.\n  # config.confirm_within = 3.days\n\n  # If true, requires any email changes to be confirmed (exactly the same way as\n  # initial account confirmation) to be applied. Requires additional unconfirmed_email\n  # db field (see migrations). Until confirmed new email is stored in\n  # unconfirmed email column, and copied to email column on successful confirmation.\n  config.reconfirmable = true\n\n  # Defines which key will be used when confirming an account\n  # config.confirmation_keys = [ :email ]\n\n  # ==> Configuration for :rememberable\n  # The time the user will be remembered without asking for credentials again.\n  # config.remember_for = 2.weeks\n\n  # If true, extends the user's remember period when remembered via cookie.\n  # config.extend_remember_period = false\n\n  # Options to be passed to the created cookie. For instance, you can set\n  # :secure => true in order to force SSL only cookies.\n  # config.rememberable_options = {}\n\n  # ==> Configuration for :validatable\n  # Range for password length. Default is 8..128.\n  config.password_length = 8..128\n\n  # Email regex used to validate email formats. It simply asserts that\n  # one (and only one) @ exists in the given string. This is mainly\n  # to give user feedback and not to assert the e-mail validity.\n  # config.email_regexp = /\\A[^@]+@[^@]+\\z/\n  #\n  # This regex is try to follow the standard. (This is not support IP address in domain part)\n  config.email_regexp = %r{\\A((\"[^\\f\\n\\r\\t\\v\\b]+[\\s\\w(),:;<>\\[\\]@\\\\!\\#$%&'\"*+/=?^`{|}~-]+\")|([\\w!\\#$%&'*+/=?^`{|}~-]+(?:\\.[\\w!\\#$%&'*+/=?^`{|}~-]+)*))@((((\\w+-+)|(\\w+\\.))*\\w{1,}\\.[a-zA-Z]{2,6})|([a-zA-Z]{2,6}))\\z}\n\n  # ==> Configuration for :timeoutable\n  # The time you want to timeout the user session without activity. After this\n  # time the user will be asked for credentials again. Default is 30 minutes.\n  # config.timeout_in = 30.minutes\n\n  # If true, expires auth token on session timeout.\n  # config.expire_auth_token_on_timeout = false\n\n  # ==> Configuration for :lockable\n  # Defines which strategy will be used to lock an account.\n  # :failed_attempts = Locks an account after a number of failed attempts to sign in.\n  # :none            = No lock strategy. You should handle locking by yourself.\n  # config.lock_strategy = :failed_attempts\n\n  # Defines which key will be used when locking and unlocking an account\n  # config.unlock_keys = [ :email ]\n\n  # Defines which strategy will be used to unlock an account.\n  # :email = Sends an unlock link to the user email\n  # :time  = Re-enables login after a certain amount of time (see :unlock_in below)\n  # :both  = Enables both strategies\n  # :none  = No unlock strategy. You should handle unlocking by yourself.\n  # config.unlock_strategy = :both\n\n  # Number of authentication tries before locking an account if lock_strategy\n  # is failed attempts.\n  # config.maximum_attempts = 20\n\n  # Time interval to unlock the account if :time is enabled as unlock_strategy.\n  # config.unlock_in = 1.hour\n\n  # Warn on the last attempt before the account is locked.\n  # config.last_attempt_warning = false\n\n  # ==> Configuration for :recoverable\n  #\n  # Defines which key will be used when recovering the password for an account\n  # config.reset_password_keys = [ :email ]\n\n  # Time interval you can reset your password with a reset password key.\n  # Don't put a too small interval or your users won't have the time to\n  # change their passwords.\n  config.reset_password_within = 6.hours\n\n  # ==> Configuration for :encryptable\n  # Allow you to use another encryption algorithm besides bcrypt (default). You can use\n  # :sha1, :sha512 or encryptors from others authentication tools as :clearance_sha1,\n  # :authlogic_sha512 (then you should set stretches above to 20 for default behavior)\n  # and :restful_authentication_sha1 (then you should set stretches to 10, and copy\n  # REST_AUTH_SITE_KEY to pepper).\n  #\n  # Require the `devise-encryptable` gem when using anything other than bcrypt\n  # config.encryptor = :sha512\n\n  # ==> Scopes configuration\n  # Turn scoped views on. Before rendering \"sessions/new\", it will first check for\n  # \"users/sessions/new\". It's turned off by default because it's slower if you\n  # are using only default views.\n  # config.scoped_views = false\n\n  # Configure the default scope given to Warden. By default it's the first\n  # devise role declared in your routes (usually :user).\n  # config.default_scope = :user\n\n  # Set this configuration to false if you want /users/sign_out to sign out\n  # only the current scope. By default, Devise signs out all scopes.\n  # config.sign_out_all_scopes = true\n\n  # ==> Navigation configuration\n  # Lists the formats that should be treated as navigational. Formats like\n  # :html, should redirect to the sign in page when the user does not have\n  # access, but formats like :xml or :json, should return 401.\n  #\n  # If you have any extra navigational formats, like :iphone or :mobile, you\n  # should add them to the navigational formats lists.\n  #\n  # The \"*/*\" below is required to match Internet Explorer requests.\n  # config.navigational_formats = ['*/*', :html]\n\n  # The default HTTP method used to sign out a resource. Default is :delete.\n  config.sign_out_via = :delete\n  #config.sign_out_via = :get\n\n  # ==> OmniAuth\n  # Add a new OmniAuth provider. Check the wiki for more information on setting\n  # up on your models and hooks.\n  # config.omniauth :github, 'APP_ID', 'APP_SECRET', :scope => 'user,public_repo'\n\n  # ==> Warden configuration\n  # If you want to use other strategies, that are not supported by Devise, or\n  # change the failure app, you can configure them inside the config.warden block.\n  #\n  # config.warden do |manager|\n  #   manager.intercept_401 = false\n  #   manager.default_strategies(:scope => :user).unshift :some_external_strategy\n  # end\n\n  # ==> Mountable engine configurations\n  # When using Devise inside an engine, let's call it `MyEngine`, and this engine\n  # is mountable, there are some extra configurations to be taken into account.\n  # The following options are available, assuming the engine is mounted as:\n  #\n  #     mount MyEngine, at: '/my_engine'\n  #\n  # The router that invoked `devise_for`, in the example above, would be:\n  # config.router_name = :my_engine\n  #\n  # When using omniauth, Devise cannot automatically set Omniauth path,\n  # so you need to do it manually. For the users scope, it would be:\n  # config.omniauth_path_prefix = '/my_engine/users/auth'\n\n  # ==> Hotwire/Turbo configuration\n  # When using Devise with Hotwire/Turbo, the http status for error responses\n  # and some redirects must match the following. The default in Devise for existing\n  # apps is `200 OK` and `302 Found respectively`, but new apps are generated with\n  # these new defaults that match Hotwire/Turbo behavior.\n  # Note: These might become the new default in future versions of Devise.\n  config.responder.error_status = :unprocessable_entity\n  config.responder.redirect_status = :see_other\nend\n"
  },
  {
    "path": "config/initializers/exception_notification.rb",
    "content": "# frozen_string_literal: true\n\nrequire 'exception_notification/rails'\nrequire_relative '../../app/helpers/features'\n\nExceptionNotification.configure do |config|\n  # Ignore additional exception types.\n  # ActiveRecord::RecordNotFound, AbstractController::ActionNotFound and ActionController::RoutingError are already added.\n  # config.ignored_exceptions += %w{ActionView::TemplateError CustomError}\n\n  # Adds a condition to decide when an exception must be ignored or not.\n  # The ignore_if method can be invoked multiple times to add extra conditions.\n  # config.ignore_if do |exception, options|\n  #   not Rails.env.production?\n  # end\n\n  # Notifiers =================================================================\n\n  # Email notifier sends notifications by email.\n  config.add_notifier :email, Features.custom_errors.email_notifier.to_hash\n\n  # Campfire notifier sends notifications to your Campfire room. Requires 'tinder' gem.\n  # config.add_notifier :campfire, {\n  #   :subdomain => 'my_subdomain',\n  #   :token => 'my_token',\n  #   :room_name => 'my_room'\n  # }\n\n  # HipChat notifier sends notifications to your HipChat room. Requires 'hipchat' gem.\n  # config.add_notifier :hipchat, {\n  #   :api_token => 'my_token',\n  #   :room_name => 'my_room'\n  # }\n\n  # Webhook notifier sends notifications over HTTP protocol. Requires 'httparty' gem.\n  # config.add_notifier :webhook, {\n  #   :url => 'http://example.com:5555/hubot/path',\n  #   :http_method => :post\n  # }\nend\n"
  },
  {
    "path": "config/initializers/filter_parameter_logging.rb",
    "content": "# frozen_string_literal: true\n\n# Be sure to restart your server when you modify this file.\n\n# Configure parameters to be filtered from the log file. Use this to limit dissemination of\n# sensitive information. See the ActiveSupport::ParameterFilter documentation for supported\n# notations and behaviors.\nRails.application.config.filter_parameters += %i(\n  passw secret token _key crypt salt certificate otp ssn\n)\n"
  },
  {
    "path": "config/initializers/friendly_id.rb",
    "content": "# frozen_string_literal: true\n\n# FriendlyId Global Configuration\n#\n# Use this to set up shared configuration options for your entire application.\n# Any of the configuration options shown here can also be applied to single\n# models by passing arguments to the `friendly_id` class method or defining\n# methods in your model.\n#\n# To learn more, check out the guide:\n#\n# http://norman.github.io/friendly_id/file.Guide.html\n\nFriendlyId.defaults do |config|\n  # ## Reserved Words\n  #\n  # Some words could conflict with Rails's routes when used as slugs, or are\n  # undesirable to allow as slugs. Edit this list as needed for your app.\n  config.use :reserved\n\n  config.reserved_words = %w(new edit index session login logout users admin\n                             stylesheets assets javascripts images)\n\n  #  ## Friendly Finders\n  #\n  # Uncomment this to use friendly finders in all models. By default, if\n  # you wish to find a record by its friendly id, you must do:\n  #\n  #    MyModel.friendly.find('foo')\n  #\n  # If you uncomment this, you can do:\n  #\n  #    MyModel.find('foo')\n  #\n  # This is significantly more convenient but may not be appropriate for\n  # all applications, so you must explicity opt-in to this behavior. You can\n  # always also configure it on a per-model basis if you prefer.\n  #\n  # Something else to consider is that using the :finders addon boosts\n  # performance because it will avoid Rails-internal code that makes runtime\n  # calls to `Module.extend`.\n  #\n  # config.use :finders\n  #\n  # ## Slugs\n  #\n  # Most applications will use the :slugged module everywhere. If you wish\n  # to do so, uncomment the following line.\n  #\n  # config.use :slugged\n  #\n  # By default, FriendlyId's :slugged addon expects the slug column to be named\n  # 'slug', but you can change it if you wish.\n  #\n  # config.slug_column = 'slug'\n  #\n  # When FriendlyId can not generate a unique ID from your base method, it appends\n  # a UUID, separated by a single dash. You can configure the character used as the\n  # separator. If you're upgrading from FriendlyId 4, you may wish to replace this\n  # with two dashes.\n  #\n  # config.sequence_separator = '-'\n  #\n  #  ## Tips and Tricks\n  #\n  #  ### Controlling when slugs are generated\n  #\n  # As of FriendlyId 5.0, new slugs are generated only when the slug field is\n  # nil, but if you're using a column as your base method can change this\n  # behavior by overriding the `should_generate_new_friendly_id` method that\n  # FriendlyId adds to your model. The change below makes FriendlyId 5.0 behave\n  # more like 4.0.\n  #\n  # config.use Module.new {\n  #   def should_generate_new_friendly_id?\n  #     slug.blank? || <your_column_name_here>_changed?\n  #   end\n  # }\n  #\n  # FriendlyId uses Rails's `parameterize` method to generate slugs, but for\n  # languages that don't use the Roman alphabet, that's not usually sufficient.\n  # Here we use the Babosa library to transliterate Russian Cyrillic slugs to\n  # ASCII. If you use this, don't forget to add \"babosa\" to your Gemfile.\n  #\n  # config.use Module.new {\n  #   def normalize_friendly_id(text)\n  #     text.to_slug.normalize! :transliterations => [:russian, :latin]\n  #   end\n  # }\nend\n"
  },
  {
    "path": "config/initializers/geocoder.rb",
    "content": "# frozen_string_literal: true\n\nGeocoder.configure(\n  lookup: :google,\n  ip_lookup: :freegeoip,\n  timeout: 2\n)\n"
  },
  {
    "path": "config/initializers/inflections.rb",
    "content": "# frozen_string_literal: true\n# Be sure to restart your server when you modify this file.\n\n# Add new inflection rules using the following format. Inflections\n# are locale specific, and you may define rules for as many different\n# locales as you wish. All of these examples are active by default:\n# ActiveSupport::Inflector.inflections(:en) do |inflect|\n#   inflect.plural /^(ox)$/i, \"\\\\1en\"\n#   inflect.singular /^(ox)en/i, \"\\\\1\"\n#   inflect.irregular \"person\", \"people\"\n#   inflect.uncountable %w( fish sheep )\n# end\n\n# These inflection rules are supported but not enabled by default:\n# ActiveSupport::Inflector.inflections(:en) do |inflect|\n#   inflect.acronym \"RESTful\"\n# end\n"
  },
  {
    "path": "config/initializers/jvectormap.rb",
    "content": "# frozen_string_literal: true\n\nJVectorMap::Rails.precompile_maps << 'world_mill'\n"
  },
  {
    "path": "config/initializers/mime_types.rb",
    "content": "# frozen_string_literal: true\n# Be sure to restart your server when you modify this file.\n\n# Add new mime types for use in respond_to blocks:\n# Mime::Type.register \"text/richtext\", :rtf\n# Mime::Type.register_alias \"text/html\", :iphone\n"
  },
  {
    "path": "config/initializers/new_framework_defaults_5_2.rb",
    "content": "# frozen_string_literal: true\n# Be sure to restart your server when you modify this file.\n#\n# This file contains migration options to ease your Rails 5.2 upgrade.\n#\n# Once upgraded flip defaults one by one to migrate to the new default.\n#\n# Read the Guide for Upgrading Ruby on Rails for more info on each option.\n\n# Make Active Record use stable #cache_key alongside new #cache_version method.\n# This is needed for recyclable cache keys.\n# Rails.application.config.active_record.cache_versioning = true\n\n# Use AES-256-GCM authenticated encryption for encrypted cookies.\n# Also, embed cookie expiry in signed or encrypted cookies for increased security.\n#\n# This option is not backwards compatible with earlier Rails versions.\n# It's best enabled when your entire app is migrated and stable on 5.2.\n#\n# Existing cookies will be converted on read then written with the new scheme.\n# Rails.application.config.action_dispatch.use_authenticated_cookie_encryption = true\n\n# Use AES-256-GCM authenticated encryption as default cipher for encrypting messages\n# instead of AES-256-CBC, when use_authenticated_message_encryption is set to true.\n# Rails.application.config.active_support.use_authenticated_message_encryption = true\n\n# Add default protection from forgery to ActionController::Base instead of in\n# ApplicationController.\n# Rails.application.config.action_controller.default_protect_from_forgery = true\n\n# Store boolean values are in sqlite3 databases as 1 and 0 instead of 't' and\n# 'f' after migrating old data.\n# Rails.application.config.active_record.sqlite3.represent_boolean_as_integer = true\n\n# Use SHA-1 instead of MD5 to generate non-sensitive digests, such as the ETag header.\n# Rails.application.config.active_support.use_sha1_digests = true\n"
  },
  {
    "path": "config/initializers/new_framework_defaults_6_1.rb",
    "content": "# frozen_string_literal: true\n\n# Be sure to restart your server when you modify this file.\n#\n# This file contains migration options to ease your Rails 6.1 upgrade.\n#\n# Once upgraded flip defaults one by one to migrate to the new default.\n#\n# Read the Guide for Upgrading Ruby on Rails for more info on each option.\n\n# Support for inversing belongs_to -> has_many Active Record associations.\n# Rails.application.config.active_record.has_many_inversing = true\n\n# Track Active Storage variants in the database.\n# Rails.application.config.active_storage.track_variants = true\n\n# Apply random variation to the delay when retrying failed jobs.\n# Rails.application.config.active_job.retry_jitter = 0.15\n\n# Stop executing `after_enqueue`/`after_perform` callbacks if\n# `before_enqueue`/`before_perform` respectively halts with `throw :abort`.\n# Rails.application.config.active_job.skip_after_callbacks_if_terminated = true\n\n# Specify cookies SameSite protection level: either :none, :lax, or :strict.\n#\n# This change is not backwards compatible with earlier Rails versions.\n# It's best enabled when your entire app is migrated and stable on 6.1.\n# Rails.application.config.action_dispatch.cookies_same_site_protection = :lax\n\n# Generate CSRF tokens that are encoded in URL-safe Base64.\n#\n# This change is not backwards compatible with earlier Rails versions.\n# It's best enabled when your entire app is migrated and stable on 6.1.\n# Rails.application.config.action_controller.urlsafe_csrf_tokens = true\n\n# Specify whether `ActiveSupport::TimeZone.utc_to_local` returns a time with an\n# UTC offset or a UTC time.\n# ActiveSupport.utc_to_local_returns_utc_offset_times = true\n\n# Change the default HTTP status code to `308` when redirecting non-GET/HEAD\n# requests to HTTPS in `ActionDispatch::SSL` middleware.\n# Rails.application.config.action_dispatch.ssl_default_redirect_status = 308\n\n# Use new connection handling API. For most applications this won't have any\n# effect. For applications using multiple databases, this new API provides\n# support for granular connection swapping.\nRails.application.config.active_record.legacy_connection_handling = false\n\n# Make `form_with` generate non-remote forms by default.\n# Rails.application.config.action_view.form_with_generates_remote_forms = false\n\n# Set the default queue name for the analysis job to the queue adapter default.\n# Rails.application.config.active_storage.queues.analysis = nil\n\n# Set the default queue name for the purge job to the queue adapter default.\n# Rails.application.config.active_storage.queues.purge = nil\n\n# Set the default queue name for the incineration job to the queue adapter default.\n# Rails.application.config.action_mailbox.queues.incineration = nil\n\n# Set the default queue name for the routing job to the queue adapter default.\n# Rails.application.config.action_mailbox.queues.routing = nil\n\n# Set the default queue name for the mail deliver job to the queue adapter default.\n# Rails.application.config.action_mailer.deliver_later_queue_name = nil\n\n# Generate a `Link` header that gives a hint to modern browsers about\n# preloading assets when using `javascript_include_tag` and `stylesheet_link_tag`.\n# Rails.application.config.action_view.preload_links_header = true\nActiveSupport.parse_json_times = true\n"
  },
  {
    "path": "config/initializers/new_framework_defaults_7_0.rb",
    "content": "# frozen_string_literal: true\n# Be sure to restart your server when you modify this file.\n#\n# This file eases your Rails 7.0 framework defaults upgrade.\n#\n# Uncomment each configuration one by one to switch to the new default.\n# Once your application is ready to run with all new defaults, you can remove\n# this file and set the `config.load_defaults` to `7.0`.\n#\n# Read the Guide for Upgrading Ruby on Rails for more info on each option.\n# https://guides.rubyonrails.org/upgrading_ruby_on_rails.html\n\n# `button_to` view helper will render `<button>` element, regardless of whether\n# or not the content is passed as the first argument or as a block.\n# Rails.application.config.action_view.button_to_generates_button_tag = true\n\n# `stylesheet_link_tag` view helper will not render the media attribute by default.\n# Rails.application.config.action_view.apply_stylesheet_media_default = false\n\n# Change the digest class for the key generators to `OpenSSL::Digest::SHA256`.\n# Changing this default means invalidate all encrypted messages generated by\n# your application and, all the encrypted cookies. Only change this after you\n# rotated all the messages using the key rotator.\n#\n# See upgrading guide for more information on how to build a rotator.\n# https://guides.rubyonrails.org/v7.0/upgrading_ruby_on_rails.html\n# Rails.application.config.active_support.key_generator_hash_digest_class = OpenSSL::Digest::SHA256\n\n# Change the digest class for ActiveSupport::Digest.\n# Changing this default means that for example Etags change and\n# various cache keys leading to cache invalidation.\n# Rails.application.config.active_support.hash_digest_class = OpenSSL::Digest::SHA256\n\n# Don't override ActiveSupport::TimeWithZone.name and use the default Ruby\n# implementation.\n# Rails.application.config.active_support.remove_deprecated_time_with_zone_name = true\n\n# Calls `Rails.application.executor.wrap` around test cases.\n# This makes test cases behave closer to an actual request or job.\n# Several features that are normally disabled in test, such as Active Record query cache\n# and asynchronous queries will then be enabled.\n# Rails.application.config.active_support.executor_around_test_case = true\n\n# Define the isolation level of most of Rails internal state.\n# If you use a fiber based server or job processor, you should set it to `:fiber`.\n# Otherwise the default of `:thread` if preferable.\n# Rails.application.config.active_support.isolation_level = :thread\n\n# Set both the `:open_timeout` and `:read_timeout` values for `:smtp` delivery method.\n# Rails.application.config.action_mailer.smtp_timeout = 5\n\n# The ActiveStorage video previewer will now use scene change detection to generate\n# better preview images (rather than the previous default of using the first frame\n# of the video).\n# Rails.application.config.active_storage.video_preview_arguments =\n#   \"-vf 'select=eq(n\\\\,0)+eq(key\\\\,1)+gt(scene\\\\,0.015),loop=loop=-1:size=2,trim=start_frame=1' -frames:v 1 -f image2\"\n\n# Automatically infer `inverse_of` for associations with a scope.\n# Rails.application.config.active_record.automatic_scope_inversing = true\n\n# Raise when running tests if fixtures contained foreign key violations\n# Rails.application.config.active_record.verify_foreign_keys_for_fixtures = true\n\n# Disable partial inserts.\n# This default means that all columns will be referenced in INSERT queries\n# regardless of whether they have a default or not.\n# Rails.application.config.active_record.partial_inserts = false\n\n# Protect from open redirect attacks in `redirect_back_or_to` and `redirect_to`.\n# Rails.application.config.action_controller.raise_on_open_redirects = true\n\n# Change the variant processor for Active Storage.\n# Changing this default means updating all places in your code that\n# generate variants to use image processing macros and ruby-vips\n# operations. See the upgrading guide for detail on the changes required.\n# The `:mini_magick` option is not deprecated; it's fine to keep using it.\n# Rails.application.config.active_storage.variant_processor = :vips\n\n# Enable parameter wrapping for JSON.\n# Previously this was set in an initializer. It's fine to keep using that initializer if you've customized it.\n# To disable parameter wrapping entirely, set this config to `false`.\n# Rails.application.config.action_controller.wrap_parameters_by_default = true\n\n# Specifies whether generated namespaced UUIDs follow the RFC 4122 standard for namespace IDs provided as a\n# `String` to `Digest::UUID.uuid_v3` or `Digest::UUID.uuid_v5` method calls.\n#\n# See https://guides.rubyonrails.org/configuring.html#config-active-support-use-rfc4122-namespaced-uuids for\n# more information.\n# Rails.application.config.active_support.use_rfc4122_namespaced_uuids = true\n\n# Change the default headers to disable browsers' flawed legacy XSS protection.\n# Rails.application.config.action_dispatch.default_headers = {\n#   \"X-Frame-Options\" => \"SAMEORIGIN\",\n#   \"X-XSS-Protection\" => \"0\",\n#   \"X-Content-Type-Options\" => \"nosniff\",\n#   \"X-Download-Options\" => \"noopen\",\n#   \"X-Permitted-Cross-Domain-Policies\" => \"none\",\n#   \"Referrer-Policy\" => \"strict-origin-when-cross-origin\"\n# }\n\n# ** Please read carefully, this must be configured in config/application.rb **\n# Change the format of the cache entry.\n# Changing this default means that all new cache entries added to the cache\n# will have a different format that is not supported by Rails 6.1 applications.\n# Only change this value after your application is fully deployed to Rails 7.0\n# and you have no plans to rollback.\n# When you're ready to change format, add this to `config/application.rb` (NOT this file):\n#  config.active_support.cache_format_version = 7.0\n\n# Cookie serializer: 2 options\n#\n# If you're upgrading and haven't set `cookies_serializer` previously, your cookie serializer\n# is `:marshal`. The default for new apps is `:json`.\n#\n# Rails.application.config.action_dispatch.cookies_serializer = :json\n#\n#\n# To migrate an existing application to the `:json` serializer, use the `:hybrid` option.\n#\n# Rails transparently deserializes existing (Marshal-serialized) cookies on read and\n# re-writes them in the JSON format.\n#\n# It is fine to use `:hybrid` long term; you should do that until you're confident *all* your cookies\n# have been converted to JSON. To keep using `:hybrid` long term, move this config to its own\n# initializer or to `config/application.rb`.\n#\n# Rails.application.config.action_dispatch.cookies_serializer = :hybrid\n#\n#\n# If your cookies can't yet be serialized to JSON, keep using `:marshal` for backward-compatibility.\n#\n# If you have configured the serializer elsewhere, you can remove this section of the file.\n#\n# See https://guides.rubyonrails.org/action_controller_overview.html#cookies for more information.\n"
  },
  {
    "path": "config/initializers/omniauth.rb",
    "content": "# frozen_string_literal: true\n\nOmniAuth.config.logger = Rails.logger\n\nRails.application.config.middleware.use OmniAuth::Builder do\n  if Rails.env.development? || Rails.env.test?\n    ENV['GPLUS_KEY'] = '463111787485-rj34ev5ai9pncbjl0oreqg3gr86jt92j.apps.googleusercontent.com'\n    ENV['GPLUS_SECRET'] = 'IR5APLsAJhmP8NPLSkRZan48'\n\n    ENV['GITHUB_KEY'] = 'd05eb310ebf549e53889'\n    ENV['GITHUB_SECRET'] = '6a5988af12a8a012399e037d0586bf706c4bfbf0'\n  end\n\n  provider :github, ENV.fetch('GITHUB_KEY', nil), ENV.fetch('GITHUB_SECRET', nil)\n  provider :google_oauth2, ENV.fetch('GPLUS_KEY', nil), ENV.fetch('GPLUS_SECRET', nil), {\n    name: 'gplus',\n    setup: lambda { |env|\n      if (params = env['rack.session']['omniauth.params']) && params.fetch('youtube', false)\n        env['omniauth.strategy'].options[:scope] = 'youtube,userinfo.email'\n      end\n    }\n  }\nend\n"
  },
  {
    "path": "config/initializers/permissions_policy.rb",
    "content": "# frozen_string_literal: true\n# Define an application-wide HTTP permissions policy. For further\n# information see https://developers.google.com/web/updates/2018/06/feature-policy\n#\n# Rails.application.config.permissions_policy do |f|\n#   f.camera      :none\n#   f.gyroscope   :none\n#   f.microphone  :none\n#   f.usb         :none\n#   f.fullscreen  :self\n#   f.payment     :self, \"https://secure.example.com\"\n# end\n"
  },
  {
    "path": "config/initializers/recaptcha.rb",
    "content": "# frozen_string_literal: true\n\nRecaptcha.configure do |config|\n  config.site_key = ENV.fetch('RECAPTCHA_SITE_KEY', nil)\n  config.secret_key = ENV.fetch('RECAPTCHA_SECRET_KEY', nil)\n  # Uncomment the following line if you are using a proxy server:\n  # config.proxy = 'http://myproxy.com.au:8080'\nend\n"
  },
  {
    "path": "config/initializers/reload_api.rb",
    "content": "# frozen_string_literal: true\n\nif Rails.env.development?\n  # ActiveSupport::Dependencies.explicitly_unloadable_constants << 'Twitter::API'\n\n  api_files = Dir[Rails.root.join('app', 'api', '**', '*.rb')]\n  api_reloader = ActiveSupport::FileUpdateChecker.new(api_files) do\n    Rails.application.reload_routes!\n  end\n  ActiveSupport::Reloader.to_prepare do\n    api_reloader.execute_if_updated\n  end\nend\n"
  },
  {
    "path": "config/initializers/sandbox_email_interceptor.rb",
    "content": "# frozen_string_literal: true\n\nActionMailer::Base.register_interceptor(SandboxEmailInterceptor) if ENV['INTERCEPT_EMAILS']\n"
  },
  {
    "path": "config/initializers/secret_token.rb",
    "content": "# frozen_string_literal: true\n\n# Be sure to restart your server when you modify this file.\n\n# Your secret key is used for verifying the integrity of signed cookies.\n# If you change this key, all old signed cookies will become invalid!\n\n# Make sure the secret is at least 30 characters and all random,\n# no regular words or you'll be exposed to dictionary attacks.\n# You can use `rake secret` to generate a secure secret key.\n\n# Make sure your secret_key_base is kept private\n# if you're sharing your code publicly.\nRails.application.config.secret_key_base = ENV.fetch('SECRET_KEY_BASE', nil)\n"
  },
  {
    "path": "config/initializers/session_store.rb",
    "content": "# frozen_string_literal: true\n\n# Be sure to restart your server when you modify this file.\n\nRails.application.config.session_store :cookie_store, key: '_WebsiteOne_session'\n"
  },
  {
    "path": "config/initializers/slack.rb",
    "content": "# frozen_string_literal: true\n\nSlack.configure do |config|\n  config.token = ENV.fetch('SLACK_AUTH_TOKEN', nil)\n  config.logger = nil\nend\n"
  },
  {
    "path": "config/initializers/stripe.rb",
    "content": "# frozen_string_literal: true\n\nRails.configuration.stripe = {\n  publishable_key: ENV.fetch('STRIPE_PUBLISHABLE_KEY', nil),\n  secret_key: ENV.fetch('STRIPE_SECRET_KEY', nil)\n}\n\nStripe.api_key = Rails.configuration.stripe[:secret_key]\n"
  },
  {
    "path": "config/initializers/vcr.rb",
    "content": "# frozen_string_literal: true\n\nif Rails.env.test?\n  VCR.configure do |c|\n    c.ignore_localhost = true\n    c.default_cassette_options = { record: :new_episodes }\n    c.allow_http_connections_when_no_cassette = true\n    c.configure_rspec_metadata! unless ENV['CUCUMBER']\n    c.cassette_library_dir = Rails.root.join('spec', 'fixtures', 'cassettes')\n    c.hook_into :webmock\n    c.filter_sensitive_data('twitter consumer key') { Settings.twitter.consumer_key }\n    c.filter_sensitive_data('twitter consumer secret') { Settings.twitter.consumer_secret }\n    c.filter_sensitive_data('twitter access token') { Settings.twitter.access_token }\n    c.filter_sensitive_data('twitter access token secret') { Settings.twitter.access_token_secret }\n  end\nend\n"
  },
  {
    "path": "config/initializers/website_one.rb",
    "content": "# frozen_string_literal: true\n\nrequire 'agile_ventures'\n\nDir[File.join(Rails.root, 'lib', 'core_ext', '**', '*.rb')].each { |l| require l }\nDir[File.join(Rails.root, 'lib', 'validators', '*.rb')].each { |l| require l }\n"
  },
  {
    "path": "config/initializers/wrap_parameters.rb",
    "content": "# frozen_string_literal: true\n\n# Be sure to restart your server when you modify this file.\n\n# This file contains settings for ActionController::ParamsWrapper which\n# is enabled by default.\n\n# Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array.\nActiveSupport.on_load(:action_controller) do\n  wrap_parameters format: [:json]\nend\n\n# To enable root element in JSON for ActiveRecord objects.\n# ActiveSupport.on_load(:active_record) do\n#  self.include_root_in_json = true\n# end\n"
  },
  {
    "path": "config/initializers/youtube.rb",
    "content": "# frozen_string_literal: true\n\nmodule Youtube\n  YOUTUBE_KEY = ENV.fetch('YOUTUBE_KEY', nil)\nend\n"
  },
  {
    "path": "config/initializers/yt.rb",
    "content": "# frozen_string_literal: true\n\n# Yt.configure do |config|\n#   config.api_key = ENV['GOOGLE_PROJECT_API_KEY']\n#   config.log_level = :debug\n# end\n"
  },
  {
    "path": "config/locales/devise.en.yml",
    "content": "# Additional translations at https://github.com/plataformatec/devise/wiki/I18n\n\nen:\n  devise:\n    confirmations:\n      confirmed: \"Your account was successfully confirmed.\"\n      send_instructions: \"You will receive an email with instructions about how to confirm your account in a few minutes.\"\n      send_paranoid_instructions: \"If your email address exists in our database, you will receive an email with instructions about how to confirm your account in a few minutes.\"\n    failure:\n      already_authenticated: \"You are already signed in.\"\n      inactive: \"Your account is not activated yet.\"\n      invalid: \"Invalid email or password.\"\n      locked: \"Your account is locked.\"\n      last_attempt: \"You have one more attempt before your account will be locked.\"\n      not_found_in_database: \"Invalid email or password.\"\n      timeout: \"Your session expired. Please sign in again to continue.\"\n      unauthenticated: \"You need to sign in or sign up before continuing.\"\n      unconfirmed: \"You have to confirm your account before continuing.\"\n    mailer:\n      confirmation_instructions:\n        subject: \"Confirmation instructions\"\n      reset_password_instructions:\n        subject: \"Reset password instructions\"\n      unlock_instructions:\n        subject: \"Unlock Instructions\"\n    omniauth_callbacks:\n      failure: \"Could not authenticate you from %{kind} because \\\"%{reason}\\\".\"\n      success: \"Successfully authenticated from %{kind} account.\"\n    passwords:\n      no_token: \"You can't access this page without coming from a password reset email. If you do come from a password reset email, please make sure you used the full URL provided.\"\n      send_instructions: \"You will receive an email with instructions about how to reset your password in a few minutes.\"\n      send_paranoid_instructions: \"If your email address exists in our database, you will receive a password recovery link at your email address in a few minutes.\"\n      updated: \"Your password was changed successfully. You are now signed in.\"\n      updated_not_active: \"Your password was changed successfully.\"\n    registrations:\n      destroyed: \"Bye! Your account was successfully cancelled. We hope to see you again soon.\"\n      signed_up: \"Welcome! You have signed up successfully.\"\n      signed_up_but_inactive: \"You have signed up successfully. However, we could not sign you in because your account is not yet activated.\"\n      signed_up_but_locked: \"You have signed up successfully. However, we could not sign you in because your account is locked.\"\n      signed_up_but_unconfirmed: \"A message with a confirmation link has been sent to your email address. Please open the link to activate your account.\"\n      update_needs_confirmation: \"You updated your account successfully, but we need to verify your new email address. Please check your email and click on the confirm link to finalize confirming your new email address.\"\n      updated: \"You updated your account successfully.\"\n    sessions:\n      signed_in: \"Signed in successfully.\"\n      signed_out: \"Signed out successfully.\"\n    unlocks:\n      send_instructions: \"You will receive an email with instructions about how to unlock your account in a few minutes.\"\n      send_paranoid_instructions: \"If your account exists, you will receive an email with instructions about how to unlock it in a few minutes.\"\n      unlocked: \"Your account has been unlocked successfully. Please sign in to continue.\"\n  errors:\n    messages:\n      already_confirmed: \"was already confirmed, please try signing in\"\n      confirmation_period_expired: \"needs to be confirmed within %{period}, please request a new one\"\n      expired: \"has expired, please request a new one\"\n      not_found: \"is not registered\"\n      not_locked: \"was not locked\"\n      not_saved:\n        one: \"1 error prohibited this %{resource} from being saved:\"\n        other: \"%{count} errors prohibited this %{resource} from being saved:\"\n"
  },
  {
    "path": "config/locales/en.yml",
    "content": "# Files in the config/locales directory are used for internationalization\n# and are automatically loaded by Rails. If you want to use locales other\n# than English, add the necessary files in this directory.\n#\n# To use the locales, use `I18n.t`:\n#\n#     I18n.t 'hello'\n#\n# In views, this is aliased to just `t`:\n#\n#     <%= t('hello') %>\n#\n# To use a different locale, set it with `I18n.locale`:\n#\n#     I18n.locale = :es\n#\n# This would use the information in config/locales/es.yml.\n#\n# To learn more, please read the Rails Internationalization guide\n# available at http://guides.rubyonrails.org/i18n.html.\n\nen:\n  error_messages:\n    public_email: \"Your %{provider} account needs to have a public email address for sign up. <a href='https://github.com/AgileVentures/WebsiteOne/tree/develop/docs/solutions_for_signup_issues.md'>Click here for instructions</a>.\"\n    video_missing: \"video unavailable ('Start Broadcast' not pressed, or Hangout/YouTube fail)\"\n  premium:\n    tooltip: \"Associate Membership is a £5 a month subscription to support the AgileVentures charity, that gives you access to priority code review and various software and online course discounts\"\n  premium_mob:\n    tooltip: \"Premium Mob Membership is discontinued\""
  },
  {
    "path": "config/nested_key_extension.rb",
    "content": "# frozen_string_literal: true\n\ndef nested_hash_value(obj, key)\n  if obj.respond_to?(:key?) && obj.key?(key)\n    obj[key]\n  elsif obj.respond_to?(:each)\n    r = nil\n    obj.detect { |*a| r = nested_hash_value(a.last, key) }\n    r\n  end\nend\n"
  },
  {
    "path": "config/puma.rb",
    "content": "# frozen_string_literal: true\n\n# Puma can serve each request in a thread from an internal thread pool.\n# The `threads` method setting takes two numbers: a minimum and maximum.\n# Any libraries that use thread pools should be configured to match\n# the maximum value specified for Puma. Default is set to 5 threads for minimum\n# and maximum; this matches the default thread size of Active Record.\n#\nmax_threads_count = ENV.fetch('RAILS_MAX_THREADS', 5)\nmin_threads_count = ENV.fetch('RAILS_MIN_THREADS') { max_threads_count }\nthreads min_threads_count, max_threads_count\n\n# Specifies the `worker_timeout` threshold that Puma will use to wait before\n# terminating a worker in development environments.\n#\nworker_timeout 3600 if ENV.fetch('RAILS_ENV', 'development') == 'development'\n\n# Specifies the `port` that Puma will listen on to receive requests; default is 3000.\n#\nport ENV.fetch('PORT', 3000)\n\n# Specifies the `environment` that Puma will run in.\n#\nenvironment ENV.fetch('RAILS_ENV', 'development')\n\n# Specifies the `pidfile` that Puma will use.\npidfile ENV.fetch('PIDFILE', 'tmp/pids/server.pid')\n\n# Specifies the number of `workers` to boot in clustered mode.\n# Workers are forked web server processes. If using threads and workers together\n# the concurrency of the application would be max `threads` * `workers`.\n# Workers do not work on JRuby or Windows (both of which do not support\n# processes).\n#\n# workers ENV.fetch(\"WEB_CONCURRENCY\") { 2 }\n\n# Use the `preload_app!` method when specifying a `workers` number.\n# This directive tells Puma to first boot the application and load code\n# before forking the application. This takes advantage of Copy On Write\n# process behavior so workers use less memory.\n#\n# preload_app!\n\n# Allow puma to be restarted by `rails restart` command.\nplugin :tmp_restart\n"
  },
  {
    "path": "config/routes.rb",
    "content": "# frozen_string_literal: true\n\ndef loaderio_token\n  (ENV['LOADERIO_TOKEN'] || 'loaderio-296a53739de683b99e3a2c4d7944230f')\nend\n\nRails.application.routes.draw do\n  root 'visitors#index'\n\n  get 'cookies' => 'cookies#index'\n\n  get '/.well-known/acme-challenge/:id' => 'static_pages#letsencrypt'\n  get loaderio_token => 'static_pages#loaderio'\n  get '/get-token' => 'av_dashboard_tokens#create', as: 'get_av_dashboard_token'\n\n  resources :activities\n\n  resources :cards, only: %i(create update edit new)\n  resources :subscriptions, only: %i(create update new)\n  get '/subscriptions_paypal_redirect' => 'subscriptions#create'\n  post '/paypal/new' => 'paypal_agreement#new'\n  get '/paypal/create' => 'paypal_agreement#create'\n\n  devise_for :users, controllers: { registrations: 'registrations' }\n  resources :users, only: %i(index show), format: false do\n    member do\n      patch :add_status\n      delete :destroy\n    end\n  end\n\n  resources :articles, format: false do\n    member do\n      get :upvote\n      get :downvote\n      get :cancelvote\n    end\n  end\n\n  resources :dashboard, only: :index\n\n  match '/hangouts/:id' => 'event_instances#update', :via => %i(put options), as: 'hangout'\n  get '/hangouts' => 'event_instances#index', as: 'hangouts'\n\n  resources :event_instances, only: [:edit]\n  patch '/event_instances/:id', to: 'event_instances#update_link'\n\n  resources :projects, except: [:destroy], format: false do\n    member do\n      get :follow\n      get :unfollow\n      post :activate, action: :update, defaults: { command: 'activate' }\n      post :deactivate, action: :update, defaults: { command: 'deactivate' }\n    end\n\n    resources :documents\n    resources :events, only: [:index]\n  end\n  get :pending_projects, controller: :projects, action: :index, defaults: { status: 'pending' }\n\n  resources :events do\n    member do\n      patch :update_only_url\n    end\n  end\n\n  scope '/legacy_api' do\n    scope '/subscriptions' do\n      get '/' => 'legacy_api/subscriptions#index', as: 'api_subscriptions', defaults: { format: 'json' }\n    end\n  end\n\n  get '/mentors' => 'users#index', defaults: { title: 'Mentor' }\n  get '/premium_members' => 'users#index', defaults: { title: 'Premium' }\n\n  get '/verify/:id' => redirect { |params, _request| \"http://av-certificates.herokuapp.com/verify/#{params[:id]}\" }\n\n  post 'preview/article', to: 'articles#preview', format: false\n  patch 'preview/article', to: 'articles#preview', as: 'preview_articles', format: false\n\n  get 'projects/:project_id/:id', to: 'documents#show', format: false\n\n  get '/auth/:provider/callback' => 'authentications#create', :format => false\n  get '/auth/failure' => 'authentications#failure', :format => false\n  get '/auth/destroy/:id', to: 'authentications#destroy', via: :delete, format: false\n\n  post 'mail_hire_me_form', to: 'users#hire_me', format: false\n  get 'scrums', to: 'scrums#index', as: 'scrums', format: false\n\n  get 'sections', to: 'documents#get_doc_categories', as: 'project_document_sections', format: false\n  put 'update_document_parent_id/:project_id/:id', to: 'documents#update_parent_id', as: 'update_document_parent_id',\n                                                   format: false\n\n  get '/calendar' => 'calendar#index'\n\n  get '*id', to: 'static_pages#show', as: 'static_page', format: false\nend\n"
  },
  {
    "path": "config/settings/development.yml",
    "content": "features:\n  edit_static_pages:\n    enabled: <%= ENV['EDIT_STATIC_PAGES'] %>\n  get_next_scrum:\n    enabled: <%= ENV['GET_NEXT_SCRUM'] %>\n  get_next_scrum_homepage:\n    enabled: <%= ENV['GET_NEXT_SCRUM_HOMEPAGE'] %>\n  custom_errors:\n    enabled: false\n  slack:\n    notifications:\n      enabled: false\n    invites:\n      enabled: false\n  twitter:\n    notifications:\n      enabled: false\n  welcome_email:\n    enabled: false\n\napi:\n  premium_subscriptions_token: <%= ENV['PREMIUM_SUBSCRIPTIONS_API_TOKEN'] %>\n\nhangouts:\n  app_id: '10095526298'\n\nprivileged_users: \"random@random.com\"\n\nav_dashboard_token_secret: 'super_sauce'\n\nprivileged_users: <%= ENV[\"PRIVILEGED_USERS\"] || \"random@random.com\" %>\n"
  },
  {
    "path": "config/settings/production.yml",
    "content": "features:\n  edit_static_pages:\n    enabled: <%= ENV['EDIT_STATIC_PAGES'] %>\n  get_next_scrum:\n    enabled: <%= ENV['GET_NEXT_SCRUM'] %>\n  get_next_scrum_homepage:\n    enabled: <%= ENV['GET_NEXT_SCRUM_HOMEPAGE'] %>\n  custom_errors:\n    enabled: true\n  slack:\n    notifications:\n      enabled: <%= ENV['SLACK_NOTIFICATIONS_ENABLED'] %>\n    invites:\n      enabled: <%= ENV['SLACK_INVITES_ENABLED'] %>\n  twitter:\n    notifications:\n      enabled: <%= ENV['TWITTER_NOTIFICATIONS_ENABLED'] %>\n  disqus:\n    enabled: false\n  email_registrations:\n    enabled: <%= ENV['EMAIL_REGISTRATIONS_ENABLED'] %>\n\napi:\n  premium_subscriptions_token: <%= ENV['PREMIUM_SUBSCRIPTIONS_API_TOKEN'] %>\n\n#mailer:\n#  delivery_method: 'smtp'\n#  smtp_settings:\n#    port: 587\n#    user_name: <%= ENV['SENDGRID_USERNAME'] %>\n#    password: <%= ENV['SENDGRID_PASSWORD'] %>\n#    address: 'smtp.sendgrid.net'\n#    domain: 'heroku.com'\n#    authentication: 'plain'\n#  url_host: 'agileventures.org'\n\nmailer:\n  delivery_method: 'smtp'\n  smtp_settings:\n    port: <%= ENV['SMTP_PORT'] || 587 %>\n    user_name: 'apikey'\n    password: <%= ENV['SENDGRID_API_KEY'] %>\n    address:  'smtp.sendgrid.net'\n    domain: <%= ENV['SMTP_DOMAIN'] || 'heroku.com' %>\n    authentication: 'plain'\n  url_host: 'www.agileventures.org'\n\ndisqus:\n  shortname: 'agileventures'\n  api_key:  <%= ENV['DISQUS_API_KEY']  %>\n  secret_key:  <%= ENV['DISQUS_SECRET_KEY']  %>\n\nprivileged_users: <%= ENV[\"PRIVILEGED_USERS\"] %>\n\ntwitter:\n  consumer_key: <%= ENV[\"TWITTER_CONSUMER_KEY\"] %>\n  consumer_secret: <%= ENV[\"TWITTER_CONSUMER_SECRET\"] %>\n  access_token: <%= ENV[\"TWITTER_ACCESS_TOKEN\"] %>\n  access_token_secret: <%= ENV[\"TWITTER_TOKEN_SECRET\"] %>\n\npaypal:\n  form_url: <%= ENV[\"PAYPAL_FORM_URL\"] || 'https://www.paypal.com/cgi-bin/webscr' %>\n  form_asset_root: <%= ENV[\"PAYPAL_FORM_ASSET_ROOT\"] ||  'https://www.paypalobjects.com' %>\n  email: <%= ENV[\"PAYPAL_EMAIL\"] || 'sam@agileventures.org' %>\n\ngithub:\n  client_id: <%= ENV[\"GITHUB_KEY\"] %>\n  client_secret: <%= ENV[\"GITHUB_SECRET\"] %>\n\nav_dashboard_token_secret: <%= ENV[\"AV_DASHBOARD_SECRET_TOKEN\"] %>\n"
  },
  {
    "path": "config/settings/test.yml",
    "content": "features:\n  edit_static_pages:\n    enabled: true\n  get_next_scrum:\n    enabled: true\n  get_next_scrum_homepage:\n    enabled: true\n  slack:\n    notifications:\n      enabled: false\n    invites:\n      enabled: false\n  twitter:\n    notifications:\n      enabled: true\n\n  email_registrations:\n    enabled: true\n\napi:\n  premium_subscriptions_token: 'TEST'\n\nmailer:\n  delivery_method: 'test'\n\nprivileged_users: 'admin@privileged.com, chesa@example.com, random@random.com'\n\nagile_bot_url: https://agile-bot.herokuapp.com\n\nav_dashboard_token_secret: 'super_sauce'\n"
  },
  {
    "path": "config/settings.local.yml.example",
    "content": "#   This file contains an example of local settings overrides which can be used\n#   to enable various features to test locally. Create a copy of this file and\n#   rename it to settings.local.yml to apply the local overrides.\n\n# enable the mailer by uncommetting the following and add your own smtp credentials\n# mailer:\n#   delivery_method: 'smtp'\n#   smtp_settings:\n#     port: 587\n#     user_name: 'user'\n#     password: 'password'\n#     address: 'address'\n#     domain: 'domain'\n#     authentication: 'auth'\n\ngithub:\n  auth_token: 'xxxxxxxx'\n"
  },
  {
    "path": "config/settings.yml",
    "content": "features:\n  custom_errors:\n    enabled: false\n    email_notifier:\n      email_prefix: '[ERROR] '\n      sender: '\"Error Police\" <error-police@agileventures.org>'\n      exception_recipients: ['info@agileventures.org']\n  disqus:\n    enabled: false\n  welcome_email:\n    enabled: true\n  twitter:\n    notifications:\n      enabled: false\n  email_registrations:\n    enabled: true\n\nmailer:\n  delivery_method: 'test'\n  smtp_settings:\n    port: 587\n    user_name: 'user'\n    password: 'password'\n    address: 'address'\n    domain: 'domain'\n    authentication: 'auth'\n  url_host: 'localhost:3000'\n  devise_mailer_sender: 'info@agileventures.org'\n\n# as of implementation of gem rails_config arrays\n# wont work on heroku when passed as ENV\n# so for now we take emails divided by ','\nprivileged_users: \"\"\n\ndisqus:\n  shortname: 'agileventures-dev'\n  api_key:  'Mh9WLi09Ve752WaTu3xbfEpSXDHOluVNc2Cm8UnDVA5TTuKXUebEVq56cDlu0SBu'\n  secret_key: 'bRtQeANt2qJQ9Y6CJZtA2I2g6dioHKDuPaX5US17JmRXmvMYcG69wZXeKaFmd8qJ'\n\nhangouts:\n  app_id: <%= ENV['HANGOUTS_APP_ID'] %>\n  ssl_host: <%= ENV['SSL_HOST'] %>\n\ntwitter:\n  consumer_key:        nil\n  consumer_secret:     nil\n  access_token:        nil\n  access_token_secret: nil\n\ngithub:\n  auth_token: <%= ENV[\"GITHUB_AUTH_TOKEN\"] %>\n  client_id: <%= ENV[\"GITHUB_KEY\"] %>\n  client_secret: <%= ENV[\"GITHUB_SECRET\"] %>\n\nagile_bot_url: <%= ENV['AGILE_BOT_URL'] %>\n\npaypal:\n  form_url: 'https://www.sandbox.paypal.com/cgi-bin/webscr'\n  form_asset_root: 'https://www.sandbox.paypal.com'\n  email: 'sam-facilitator@agileventures.org'\n"
  },
  {
    "path": "config/spring.rb",
    "content": "# frozen_string_literal: true\n\n%w(\n  .ruby-version\n  .rbenv-vars\n  tmp/restart.txt\n  tmp/caching-dev.txt\n).each { |path| Spring.watch(path) }\n"
  },
  {
    "path": "config/storage.yml",
    "content": "test:\n  service: Disk\n  root: <%= Rails.root.join(\"tmp/storage\") %>\n\nlocal:\n  service: Disk\n  root: <%= Rails.root.join(\"storage\") %>\n\n# Use rails credentials:edit to set the AWS secrets (as aws:access_key_id|secret_access_key)\n# amazon:\n#   service: S3\n#   access_key_id: <%= Rails.application.credentials.dig(:aws, :access_key_id) %>\n#   secret_access_key: <%= Rails.application.credentials.dig(:aws, :secret_access_key) %>\n#   region: us-east-1\n#   bucket: your_own_bucket\n\n# Use rails credentials:edit to set the Azure Storage secret (as azure_storage:storage_access_key)\n# microsoft:\n#   service: AzureStorage\n#   storage_account_name: your_account_name\n#   storage_access_key: <%= Rails.application.credentials.dig(:azure_storage, :storage_access_key) %>\n#   container: your_container_name\n\n# mirror:\n#   service: Mirror\n#   primary: local\n#   mirrors: [ amazon, google, microsoft ]\n"
  },
  {
    "path": "config/vanity.yml",
    "content": "development:\n  adapter: active_record\n  active_record_adapter: postgresql\n  database: websiteone_development\n  host: <%= ENV['DB_HOST'] || \"\"%>\n  pool: 20\n  username: <%= ENV[\"DATABASE_POSTGRESQL_USERNAME\"] %>\n  password: <%= ENV[\"DATABASE_POSTGRESQL_PASSWORD\"] %>\ntest:\n  adapter: active_record\n  active_record_adapter: default\n  database: websiteone_test\n  collecting: false\nproduction:\n  adapter: active_record\n  active_record_adapter: postgresql\n  <% uri = URI.parse(ENV['DATABASE_URL']) rescue uri = nil %>\n  <% if uri %>\n  host:     <%= uri.host %>\n  username: <%= uri.user %>\n  password: <%= uri.password %>\n  port:     <%= uri.port %>\n  database: <%= uri.path.sub('/', '') %>\n  <% end %>\n"
  },
  {
    "path": "config/zeus/custom_plan.rb",
    "content": "# frozen_string_literal: true\n\nrequire 'zeus/rails'\nclass CucumberPlan < Zeus::Rails\n  def cucumber_environment\n    require 'cucumber/rspec/disable_option_parser'\n    require 'cucumber/cli/main'\n    @cucumber_runtime = Cucumber::Runtime.new\n  end\n\n  def cucumber(argv = ARGV)\n    cucumber_main = Cucumber::Cli::Main.new(argv.dup)\n    had_failures = cucumber_main.execute!(@cucumber_runtime)\n    exit_code = had_failures ? 1 : 0\n    exit exit_code\n  end\nend\n\nZeus.plan = CucumberPlan.new\n"
  },
  {
    "path": "config.ru",
    "content": "# frozen_string_literal: true\n\n# This file is used by Rack-based servers to start the application.\n\nrequire_relative 'config/environment'\n\nrun Rails.application\nRails.application.load_server\n"
  },
  {
    "path": "db/migrate/20140109040839_devise_create_users.rb",
    "content": "# frozen_string_literal: true\n\nclass DeviseCreateUsers < ActiveRecord::Migration[4.2]\n  def change\n    create_table(:users) do |t|\n      ## Database authenticatable\n      t.string :email,              null: false, default: ''\n      t.string :encrypted_password, null: false, default: ''\n\n      ## Recoverable\n      t.string   :reset_password_token\n      t.datetime :reset_password_sent_at\n\n      ## Rememberable\n      t.datetime :remember_created_at\n\n      ## Trackable\n      t.integer  :sign_in_count, default: 0, null: false\n      t.datetime :current_sign_in_at\n      t.datetime :last_sign_in_at\n      t.string   :current_sign_in_ip\n      t.string   :last_sign_in_ip\n\n      ## Confirmable\n      # t.string   :confirmation_token\n      # t.datetime :confirmed_at\n      # t.datetime :confirmation_sent_at\n      # t.string   :unconfirmed_email # Only if using reconfirmable\n\n      ## Lockable\n      # t.integer  :failed_attempts, :default => 0, :null => false # Only if lock strategy is :failed_attempts\n      # t.string   :unlock_token # Only if unlock strategy is :email or :both\n      # t.datetime :locked_at\n\n      t.timestamps\n    end\n\n    add_index :users, :email,                unique: true\n    add_index :users, :reset_password_token, unique: true\n    # add_index :users, :confirmation_token,   :unique => true\n    # add_index :users, :unlock_token,         :unique => true\n  end\nend\n"
  },
  {
    "path": "db/migrate/20140110123347_create_projects.rb",
    "content": "# frozen_string_literal: true\n\nclass CreateProjects < ActiveRecord::Migration[4.2]\n  def change\n    create_table :projects do |t|\n      t.string :title\n      t.string :description\n      t.string :status\n\n      t.timestamps\n    end\n  end\nend\n"
  },
  {
    "path": "db/migrate/20140116112830_create_documents.rb",
    "content": "# frozen_string_literal: true\n\nclass CreateDocuments < ActiveRecord::Migration[4.2]\n  def change\n    create_table :documents do |t|\n      t.string :title\n      t.text :body\n      t.integer :project_id\n\n      t.timestamps\n    end\n  end\nend\n"
  },
  {
    "path": "db/migrate/20140118045711_change_projects_attributes.rb",
    "content": "# frozen_string_literal: true\n\nclass ChangeProjectsAttributes < ActiveRecord::Migration[4.2]\n  def up\n    change_table :projects do |t|\n      t.change :description, :text\n    end\n  end\nend\n"
  },
  {
    "path": "db/migrate/20140120014041_add_first_last_names_to_users.rb",
    "content": "# frozen_string_literal: true\n\nclass AddFirstLastNamesToUsers < ActiveRecord::Migration[4.2]\n  def change\n    add_column :users, :first_name, :string\n    add_column :users, :last_name, :string\n  end\nend\n"
  },
  {
    "path": "db/migrate/20140124205750_add_parent_id_to_documents.rb",
    "content": "# frozen_string_literal: true\n\nclass AddParentIdToDocuments < ActiveRecord::Migration[4.2]\n  def change\n    add_column :documents, :parent_id, :integer\n  end\nend\n"
  },
  {
    "path": "db/migrate/20140124213333_create_authentications.rb",
    "content": "# frozen_string_literal: true\n\nclass CreateAuthentications < ActiveRecord::Migration[4.2]\n  def change\n    create_table :authentications do |t|\n      t.integer :user_id, null: false\n      t.string  :provider, null: false\n      t.string  :uid, null: false\n\n      t.timestamps\n    end\n\n    add_index :authentications, :user_id\n  end\nend\n"
  },
  {
    "path": "db/migrate/20140127043432_acts_as_follower_migration.rb",
    "content": "# frozen_string_literal: true\n\nclass ActsAsFollowerMigration < ActiveRecord::Migration[4.2]\n  def self.up\n    create_table :follows, force: true do |t|\n      t.references :followable, polymorphic: true, null: false\n      t.references :follower,   polymorphic: true, null: false\n      t.boolean :blocked, default: false, null: false\n      t.timestamps\n    end\n\n    add_index :follows, %w(follower_id follower_type),     name: 'fk_follows'\n    add_index :follows, %w(followable_id followable_type), name: 'fk_followables'\n  end\n\n  def self.down\n    drop_table :follows\n  end\nend\n"
  },
  {
    "path": "db/migrate/20140130073721_add_created_by_to_documents.rb",
    "content": "# frozen_string_literal: true\n\nclass AddCreatedByToDocuments < ActiveRecord::Migration[4.2]\n  def self.up\n    add_column :documents, :user_id, :integer\n    add_index :documents, :user_id\n  end\n\n  def self.down\n    remove_index :documents, :user_id\n    remove_column :documents, :user_id\n  end\nend\n"
  },
  {
    "path": "db/migrate/20140130073828_add_created_by_to_projects.rb",
    "content": "# frozen_string_literal: true\n\nclass AddCreatedByToProjects < ActiveRecord::Migration[4.2]\n  def self.up\n    add_column :projects, :user_id, :integer\n    add_index :projects, :user_id\n  end\n\n  def self.down\n    remove_index :projects, :user_id\n    remove_column :projects, :user_id\n  end\nend\n"
  },
  {
    "path": "db/migrate/20140207004506_add_display_email_to_users.rb",
    "content": "# frozen_string_literal: true\n\nclass AddDisplayEmailToUsers < ActiveRecord::Migration[4.2]\n  def change\n    add_column :users, :display_email, :boolean\n  end\nend\n"
  },
  {
    "path": "db/migrate/20140207033343_add_you_tube_id_to_user.rb",
    "content": "# frozen_string_literal: true\n\nclass AddYouTubeIdToUser < ActiveRecord::Migration[4.2]\n  def change\n    add_column :users, :youtube_id, :string\n  end\nend\n"
  },
  {
    "path": "db/migrate/20140207190458_add_slugs_to_models.rb",
    "content": "# frozen_string_literal: true\n\nclass AddSlugsToModels < ActiveRecord::Migration[4.2]\n  def change\n    add_column :users, :slug, :string\n    add_index :users, :slug, unique: true\n\n    add_column :projects, :slug, :string\n    add_index :projects, :slug, unique: true\n\n    add_column :documents, :slug, :string\n    add_index :documents, :slug, unique: true\n  end\nend\n"
  },
  {
    "path": "db/migrate/20140209164254_add_display_profile_to_users.rb",
    "content": "# frozen_string_literal: true\n\nclass AddDisplayProfileToUsers < ActiveRecord::Migration[4.2]\n  def change\n    add_column :users, :display_profile, :boolean, default: true\n  end\nend\n"
  },
  {
    "path": "db/migrate/20140215192014_acts_as_taggable_on_migration.rb",
    "content": "# frozen_string_literal: true\n\nclass ActsAsTaggableOnMigration < ActiveRecord::Migration[4.2]\n  def self.up\n    create_table :tags do |t|\n      t.string :name\n    end\n\n    create_table :taggings do |t|\n      t.references :tag\n\n      # You should make sure that the column created is\n      # long enough to store the required class names.\n      t.references :taggable, polymorphic: true\n      t.references :tagger, polymorphic: true\n\n      # Limit is created to prevent MySQL error on index\n      # length for MyISAM table type: http://bit.ly/vgW2Ql\n      t.string :context, limit: 128\n\n      t.datetime :created_at\n    end\n\n    add_index :taggings, :tag_id\n    add_index :taggings, %i(taggable_id taggable_type context)\n  end\n\n  def self.down\n    drop_table :taggings\n    drop_table :tags\n  end\nend\n"
  },
  {
    "path": "db/migrate/20140219145424_create_articles.rb",
    "content": "# frozen_string_literal: true\n\nclass CreateArticles < ActiveRecord::Migration[4.2]\n  def change\n    create_table :articles do |t|\n      t.integer :user_id\n      t.string :title, null: false\n      t.text :content\n      t.string :slug, null: false\n\n      t.timestamps\n    end\n\n    add_index :articles, :title\n    add_index :articles, :slug, unique: true\n  end\nend\n"
  },
  {
    "path": "db/migrate/20140220091703_add_latitude_and_longitude_to_user.rb",
    "content": "# frozen_string_literal: true\n\nclass AddLatitudeAndLongitudeToUser < ActiveRecord::Migration[4.2]\n  def change\n    add_column :users, :latitude, :float\n    add_column :users, :longitude, :float\n  end\nend\n"
  },
  {
    "path": "db/migrate/20140220131347_add_country_region_city_to_user.rb",
    "content": "# frozen_string_literal: true\n\nclass AddCountryRegionCityToUser < ActiveRecord::Migration[4.2]\n  def change\n    add_column :users, :country, :string\n    add_column :users, :city, :string\n    add_column :users, :region, :string\n  end\nend\n"
  },
  {
    "path": "db/migrate/20140225000044_create_versions.rb",
    "content": "# frozen_string_literal: true\n\nclass CreateVersions < ActiveRecord::Migration[4.2]\n  def self.up\n    create_table :versions do |t|\n      t.string   :item_type, null: false\n      t.integer  :item_id,   null: false\n      t.string   :event,     null: false\n      t.string   :whodunnit\n      t.text     :object\n      t.datetime :created_at\n    end\n    add_index :versions, %i(item_type item_id)\n  end\n\n  def self.down\n    remove_index :versions, %i(item_type item_id)\n    drop_table :versions\n  end\nend\n"
  },
  {
    "path": "db/migrate/20140225215805_create_events.rb",
    "content": "# frozen_string_literal: true\n\nclass CreateEvents < ActiveRecord::Migration[4.2]\n  def change\n    create_table :events do |t|\n      t.string :name\n      t.string :category\n      t.text :description\n      t.date :event_date, null: false\n      t.time :start_time, null: false\n      t.time :end_time, null: false\n      t.string :repeats\n      t.integer :repeats_every_n_weeks\n      t.integer :repeats_weekly_each_days_of_the_week_mask\n      t.boolean :repeat_ends\n      t.date :repeat_ends_on\n      t.string :time_zone\n      t.timestamps\n    end\n  end\nend\n"
  },
  {
    "path": "db/migrate/20140304210808_add_youtube_user_name_to_user.rb",
    "content": "# frozen_string_literal: true\n\nclass AddYoutubeUserNameToUser < ActiveRecord::Migration[4.2]\n  def change\n    add_column :users, :youtube_user_name, :string\n  end\nend\n"
  },
  {
    "path": "db/migrate/20140305125426_add_current_hoa_url_to_events.rb",
    "content": "# frozen_string_literal: true\n\nclass AddCurrentHoaUrlToEvents < ActiveRecord::Migration[4.2]\n  def change\n    add_column :events, :url, :string\n  end\nend\n"
  },
  {
    "path": "db/migrate/20140309133549_add_github_profile_url.rb",
    "content": "# frozen_string_literal: true\n\nclass AddGithubProfileUrl < ActiveRecord::Migration[4.2]\n  def change\n    add_column :users, :github_profile_url, :string\n  end\nend\n"
  },
  {
    "path": "db/migrate/20140311052222_add_pivotaltracker_id_to_projects.rb",
    "content": "# frozen_string_literal: true\n\nclass AddPivotaltrackerIdToProjects < ActiveRecord::Migration[4.2]\n  def change\n    add_column :projects, :pivotaltracker_id, :integer\n  end\nend\n"
  },
  {
    "path": "db/migrate/20140313161712_replace_document_index.rb",
    "content": "# frozen_string_literal: true\n\nclass ReplaceDocumentIndex < ActiveRecord::Migration[4.2]\n  def change\n    remove_index :documents, :slug\n    add_index :documents, %i(slug user_id), unique: true\n  end\nend\n"
  },
  {
    "path": "db/migrate/20140317093616_add_display_hire_me_to_users.rb",
    "content": "# frozen_string_literal: true\n\nclass AddDisplayHireMeToUsers < ActiveRecord::Migration[4.2]\n  def change\n    add_column :users, :display_hire_me, :boolean\n  end\nend\n"
  },
  {
    "path": "db/migrate/20140319173130_add_bio_to_users.rb",
    "content": "# frozen_string_literal: true\n\nclass AddBioToUsers < ActiveRecord::Migration[4.2]\n  def change\n    add_column :users, :bio, :text\n  end\nend\n"
  },
  {
    "path": "db/migrate/20140322120003_create_pages.rb",
    "content": "# frozen_string_literal: true\n\nclass CreatePages < ActiveRecord::Migration[4.2]\n  def change\n    create_table :static_pages do |t|\n      t.string :title\n      t.text :body\n      t.integer :parent_id\n      t.string :slug\n\n      t.timestamps\n    end\n\n    add_index :static_pages, :slug, unique: true\n  end\nend\n"
  },
  {
    "path": "db/migrate/20140324210924_add_github_url_to_projects.rb",
    "content": "# frozen_string_literal: true\n\nclass AddGithubUrlToProjects < ActiveRecord::Migration[4.2]\n  def change\n    add_column :projects, :github_url, :string\n  end\nend\n"
  },
  {
    "path": "db/migrate/20140324211134_add_pivotaltracker_url_to_projects.rb",
    "content": "# frozen_string_literal: true\n\nclass AddPivotaltrackerUrlToProjects < ActiveRecord::Migration[4.2]\n  def change\n    add_column :projects, :pivotaltracker_url, :string\n  end\nend\n"
  },
  {
    "path": "db/migrate/20140402091353_add_slug_to_events.rb",
    "content": "# frozen_string_literal: true\n\nclass AddSlugToEvents < ActiveRecord::Migration[4.2]\n  def change\n    add_column :events, :slug, :string\n    add_index :events, :slug, unique: true\n  end\nend\n"
  },
  {
    "path": "db/migrate/20140404100037_remove_pivotaltracker_id_from_projects.rb",
    "content": "# frozen_string_literal: true\n\nclass RemovePivotaltrackerIdFromProjects < ActiveRecord::Migration[4.2]\n  def change\n    remove_column :projects, :pivotaltracker_id\n  end\nend\n"
  },
  {
    "path": "db/migrate/20140414125301_add_email_option_to_user.rb",
    "content": "# frozen_string_literal: true\n\nclass AddEmailOptionToUser < ActiveRecord::Migration[4.2]\n  def change\n    add_column :users, :receive_mailings, :boolean, default: true\n  end\nend\n"
  },
  {
    "path": "db/migrate/20140417124942_acts_as_votable_migration.rb",
    "content": "# frozen_string_literal: true\n\nclass ActsAsVotableMigration < ActiveRecord::Migration[4.2]\n  def self.up\n    create_table :votes do |t|\n      t.references :votable, polymorphic: true\n      t.references :voter, polymorphic: true\n\n      t.boolean :vote_flag\n      t.string :vote_scope\n      t.integer :vote_weight\n\n      t.timestamps\n    end\n\n    if ActiveRecord::VERSION::MAJOR < 4\n      add_index :votes, %i(votable_id votable_type)\n      add_index :votes, %i(voter_id voter_type)\n    end\n\n    add_index :votes, %i(voter_id voter_type vote_scope)\n    add_index :votes, %i(votable_id votable_type vote_scope)\n  end\n\n  def self.down\n    drop_table :votes\n  end\nend\n"
  },
  {
    "path": "db/migrate/20140427074629_add_missing_unique_indices.acts_as_taggable_on_engine.rb",
    "content": "# frozen_string_literal: true\n\n# This migration comes from acts_as_taggable_on_engine (originally 2)\nclass AddMissingUniqueIndices < ActiveRecord::Migration[4.2]\n  def self.up\n    add_index :tags, :name, unique: true\n\n    remove_index :taggings, :tag_id\n    remove_index :taggings, %i(taggable_id taggable_type context)\n    add_index :taggings,\n              %i(tag_id taggable_id taggable_type context tagger_id tagger_type),\n              unique: true, name: 'taggings_idx'\n  end\n\n  def self.down\n    remove_index :tags, :name\n\n    remove_index :taggings, name: 'taggings_idx'\n    add_index :taggings, :tag_id\n    add_index :taggings, %i(taggable_id taggable_type context)\n  end\nend\n"
  },
  {
    "path": "db/migrate/20140427074630_add_taggings_counter_cache_to_tags.acts_as_taggable_on_engine.rb",
    "content": "# frozen_string_literal: true\n\n# This migration comes from acts_as_taggable_on_engine (originally 3)\nclass AddTaggingsCounterCacheToTags < ActiveRecord::Migration[4.2]\n  def self.up\n    add_column :tags, :taggings_count, :integer, default: 0\n\n    ActsAsTaggableOn::Tag.reset_column_information\n    ActsAsTaggableOn::Tag.find_each do |tag|\n      ActsAsTaggableOn::Tag.reset_counters(tag.id, :taggings)\n    end\n  end\n\n  def self.down\n    remove_column :tags, :taggings_count\n  end\nend\n"
  },
  {
    "path": "db/migrate/20140525135633_add_karma_to_users.rb",
    "content": "# frozen_string_literal: true\n\nclass AddKarmaToUsers < ActiveRecord::Migration[4.2]\n  def change\n    add_column :users, :karma_points, :integer, default: 0\n  end\nend\n"
  },
  {
    "path": "db/migrate/20140606204845_create_hangouts.rb",
    "content": "# frozen_string_literal: true\n\nclass CreateHangouts < ActiveRecord::Migration[4.2]\n  def change\n    create_table :hangouts do |t|\n      t.integer :event_id\n      t.string :title\n      t.string :hangout_url\n\n      t.timestamps\n    end\n  end\nend\n"
  },
  {
    "path": "db/migrate/20140615154859_add_indexes_for_references.rb",
    "content": "# frozen_string_literal: true\n\nclass AddIndexesForReferences < ActiveRecord::Migration[4.2]\n  def change\n    add_index :articles, :user_id\n    add_index :documents, :project_id\n    add_index :taggings, :tagger_id\n    add_index :taggings, :tagger_type\n  end\nend\n"
  },
  {
    "path": "db/migrate/20140618153610_create_commit_counts.rb",
    "content": "# frozen_string_literal: true\n\nclass CreateCommitCounts < ActiveRecord::Migration[4.2]\n  def change\n    create_table :commit_counts do |t|\n      t.integer :commit_count\n      t.references :project, index: true\n      t.references :user, index: true\n    end\n  end\nend\n"
  },
  {
    "path": "db/migrate/20140707211758_add_category_to_hangout.rb",
    "content": "# frozen_string_literal: true\n\nclass AddCategoryToHangout < ActiveRecord::Migration[4.2]\n  def change\n    add_column :hangouts, :uid, :string\n    add_column :hangouts, :category, :string\n  end\nend\n"
  },
  {
    "path": "db/migrate/20140716134701_import_getting_started_static_page.rb",
    "content": "# frozen_string_literal: true\n\nclass ImportGettingStartedStaticPage < ActiveRecord::Migration[4.2]\n  def up\n    page_path = Rails.root.join('app', 'views', 'pages', 'getting-started.html.erb')\n    page = StaticPage.friendly.find_by_id('getting-started') || StaticPage.create!(title: 'Getting started')\n    page.update(body: File.read(page_path))\n    puts 'Imported Getting_started static page'\n  end\n\n  def down; end\nend\n"
  },
  {
    "path": "db/migrate/20140725131327_event_combine_date_and_time_fields.rb",
    "content": "# frozen_string_literal: true\n\nclass EventCombineDateAndTimeFields < ActiveRecord::Migration[4.2]\n  def convert_start_datetime(e)\n    Time.utc(e.read_attribute(:event_date).year,\n             e.read_attribute(:event_date).month,\n             e.read_attribute(:event_date).day,\n             e.read_attribute(:start_time).hour,\n             e.read_attribute(:start_time).min)\n  end\n\n  def convert_duration(e)\n    if e.read_attribute(:end_time) < e.read_attribute(:start_time)\n      e.write_attribute(:end_time,\n                        e.read_attribute(:end_time) + 1.day)\n    end\n    (e.read_attribute(:end_time) - e.read_attribute(:start_time)).to_i / 60\n  end\n\n  def up\n    add_column :events, :start_datetime, :datetime\n    add_index :events, :start_datetime\n    add_column :events, :duration, :integer\n    Event.reset_column_information\n\n    Event.all.each do |event|\n      event.start_datetime = convert_start_datetime event\n      event.duration = convert_duration event\n      event.save!\n    end\n    remove_column :events, :start_time, :time\n    remove_column :events, :event_date, :date\n    remove_column :events, :end_time, :time\n  end\n\n  def down\n    add_column :events, :start_time, :time\n    add_column :events, :event_date, :date\n    add_column :events, :end_time, :time\n    Event.reset_column_information\n\n    Event.all.each do |event|\n      event.send(:write_attribute, :event_date, event.start_datetime)\n      event.send(:write_attribute, :start_time, event.start_datetime)\n      event.send(:write_attribute, :end_time, (event.start_datetime + (event.duration * 60)).utc)\n      event.save!\n    end\n    remove_column :events, :start_datetime, :datetime\n    remove_column :events, :duration, :integer\n  end\nend\n"
  },
  {
    "path": "db/migrate/20140730123120_add_project_and_host_to_hangout.rb",
    "content": "# frozen_string_literal: true\n\nclass AddProjectAndHostToHangout < ActiveRecord::Migration[4.2]\n  def change\n    add_column :hangouts, :project_id, :integer\n    add_column :hangouts, :user_id, :integer\n    add_column :hangouts, :yt_video_id, :string\n    add_column :hangouts, :participants, :text\n  end\nend\n"
  },
  {
    "path": "db/migrate/20140910225619_add_exclusions_to_events.rb",
    "content": "# frozen_string_literal: true\n\nclass AddExclusionsToEvents < ActiveRecord::Migration[4.2]\n  def change\n    add_column :events, :exclusions, :text\n  end\nend\n"
  },
  {
    "path": "db/migrate/20140913021637_add_pitch_to_projects.rb",
    "content": "# frozen_string_literal: true\n\nclass AddPitchToProjects < ActiveRecord::Migration[4.2]\n  def change\n    add_column :projects, :pitch, :string\n  end\nend\n"
  },
  {
    "path": "db/migrate/20140913183322_change_column.rb",
    "content": "# frozen_string_literal: true\n\nclass ChangeColumn < ActiveRecord::Migration[4.2]\n  def change\n    change_column :projects, :pitch, :text\n  end\nend\n"
  },
  {
    "path": "db/migrate/20140914202645_create_activities.rb",
    "content": "# frozen_string_literal: true\n\n# Migration responsible for creating a table with activities\nclass CreateActivities < ActiveRecord::Migration[4.2]\n  # Create table\n  def self.up\n    create_table :activities do |t|\n      t.belongs_to :trackable, polymorphic: true\n      t.belongs_to :owner, polymorphic: true\n      t.string  :key\n      t.text    :parameters\n      t.belongs_to :recipient, polymorphic: true\n\n      t.timestamps\n    end\n\n    add_index :activities, %i(trackable_id trackable_type)\n    add_index :activities, %i(owner_id owner_type)\n    add_index :activities, %i(recipient_id recipient_type)\n  end\n\n  # Drop table\n  def self.down\n    drop_table :activities\n  end\nend\n"
  },
  {
    "path": "db/migrate/20140917070939_rename_hangouts_to_event_instances.rb",
    "content": "# frozen_string_literal: true\n\nclass RenameHangoutsToEventInstances < ActiveRecord::Migration[4.2]\n  def change\n    rename_table :hangouts, :event_instances\n  end\nend\n"
  },
  {
    "path": "db/migrate/20140929201012_create_statuses.rb",
    "content": "# frozen_string_literal: true\n\nclass CreateStatuses < ActiveRecord::Migration[4.2]\n  def change\n    create_table :statuses do |t|\n      t.string :status\n      t.integer :user_id\n      t.timestamps\n    end\n  end\nend\n"
  },
  {
    "path": "db/migrate/20141002084933_create_newsletters.rb",
    "content": "# frozen_string_literal: true\n\nclass CreateNewsletters < ActiveRecord::Migration[4.2]\n  def change\n    create_table :newsletters do |t|\n      t.string :title, null: false\n      t.string :subject, null: false\n      t.text :body, null: false\n      t.boolean :do_send, default: false\n      t.boolean :was_sent, default: false\n      t.integer :last_user_id, default: 0\n      t.datetime :sent_at\n\n      t.timestamps\n    end\n  end\nend\n"
  },
  {
    "path": "db/migrate/20141007192312_add_commit_count_to_projects.rb",
    "content": "# frozen_string_literal: true\n\nclass AddCommitCountToProjects < ActiveRecord::Migration[4.2]\n  def change\n    add_column :projects, :commit_count, :integer, default: 0\n  end\nend\n"
  },
  {
    "path": "db/migrate/20141013191112_add_attributes_to_users.rb",
    "content": "# frozen_string_literal: true\n\nclass AddAttributesToUsers < ActiveRecord::Migration[4.2]\n  def change\n    add_column :users, :country_code, :string\n    rename_column :users, :country, :country_name\n  end\nend\n"
  },
  {
    "path": "db/migrate/20141119002743_add_image_url_to_projects.rb",
    "content": "# frozen_string_literal: true\n\nclass AddImageUrlToProjects < ActiveRecord::Migration[4.2]\n  def change\n    add_column :projects, :image_url, :string\n  end\nend\n"
  },
  {
    "path": "db/migrate/20150208124239_add_timezone_offset_to_users.rb",
    "content": "# frozen_string_literal: true\n\nclass AddTimezoneOffsetToUsers < ActiveRecord::Migration[4.2]\n  def up\n    add_column :users, :timezone_offset, :integer\n  end\n\n  def down\n    remove_column :users, :timezone_offset\n  end\nend\n"
  },
  {
    "path": "db/migrate/20150308085306_add_missing_taggable_index.acts_as_taggable_on_engine.rb",
    "content": "# frozen_string_literal: true\n\n# This migration comes from acts_as_taggable_on_engine (originally 4)\nclass AddMissingTaggableIndex < ActiveRecord::Migration[4.2]\n  def self.up\n    add_index :taggings, %i(taggable_id taggable_type context)\n  end\n\n  def self.down\n    remove_index :taggings, %i(taggable_id taggable_type context)\n  end\nend\n"
  },
  {
    "path": "db/migrate/20150308085307_change_collation_for_tag_names.acts_as_taggable_on_engine.rb",
    "content": "# frozen_string_literal: true\n\n# This migration comes from acts_as_taggable_on_engine (originally 5)\n# This migration is added to circumvent issue #623 and have special characters\n# work properly\nclass ChangeCollationForTagNames < ActiveRecord::Migration[4.2]\n  def up\n    return unless ActsAsTaggableOn::Utils.using_mysql?\n\n    execute('ALTER TABLE tags MODIFY name varchar(255) CHARACTER SET utf8 COLLATE utf8_bin;')\n  end\nend\n"
  },
  {
    "path": "db/migrate/20150410173625_add_status_count_to_users.rb",
    "content": "# frozen_string_literal: true\n\nclass AddStatusCountToUsers < ActiveRecord::Migration[4.2]\n  def up\n    add_column :users, :status_count, :integer, default: 0\n  end\n\n  def down\n    remove_column :users, :status_count\n  end\nend\n"
  },
  {
    "path": "db/migrate/20150520184236_add_hoa_status_to_event_instances.rb",
    "content": "# frozen_string_literal: true\n\nclass AddHoaStatusToEventInstances < ActiveRecord::Migration[4.2]\n  def change\n    add_column :event_instances, :hoa_status, :string\n    EventInstance.reset_column_information\n    EventInstance.update_all(hoa_status: 'finished')\n  end\nend\n"
  },
  {
    "path": "db/migrate/20160316153919_add_project_to_events.rb",
    "content": "# frozen_string_literal: true\n\nclass AddProjectToEvents < ActiveRecord::Migration[4.2]\n  def change\n    add_reference :events, :project\n  end\nend\n"
  },
  {
    "path": "db/migrate/20160627134611_add_creator_to_events.rb",
    "content": "# frozen_string_literal: true\n\nclass AddCreatorToEvents < ActiveRecord::Migration[4.2]\n  def change\n    add_column :events, :creator_id, :integer\n    add_index :events, :creator_id\n    add_foreign_key :events, :users, column: :creator_id\n  end\nend\n"
  },
  {
    "path": "db/migrate/20160831131548_add_stripe_customer_i_dto_users.rb",
    "content": "# frozen_string_literal: true\n\nclass AddStripeCustomerIDtoUsers < ActiveRecord::Migration[4.2]\n  def change\n    add_column :users, :stripe_customer, :string\n  end\nend\n"
  },
  {
    "path": "db/migrate/20160921152810_create_karmas.rb",
    "content": "# frozen_string_literal: true\n\nclass CreateKarmas < ActiveRecord::Migration[4.2]\n  def change\n    create_table :karmas do |t|\n      t.references :user\n      t.integer :karma, default: 0\n      t.integer :hangouts_attended_with_more_than_one_participant, default: 0\n\n      t.timestamps null: false\n    end\n  end\nend\n"
  },
  {
    "path": "db/migrate/20160923135850_add_subscriptions.rb",
    "content": "# frozen_string_literal: true\n\nclass AddSubscriptions < ActiveRecord::Migration[4.2]\n  def change\n    create_table :subscriptions do |t|\n      t.string :type\n      t.datetime :started_at\n      t.datetime :ended_at\n    end\n    add_reference(:subscriptions, :user)\n  end\nend\n"
  },
  {
    "path": "db/migrate/20160923145243_add_payment_sources.rb",
    "content": "# frozen_string_literal: true\n\nclass AddPaymentSources < ActiveRecord::Migration[4.2]\n  def change\n    create_table :payment_sources do |t|\n      t.string :type\n      t.string :identifier\n    end\n    add_reference(:payment_sources, :subscription)\n  end\nend\n"
  },
  {
    "path": "db/migrate/20160928132707_remove_karma_from_user_table.rb",
    "content": "# frozen_string_literal: true\n\nclass RemoveKarmaFromUserTable < ActiveRecord::Migration[4.2]\n  def change\n    remove_column :users, :karma_points, :integer\n  end\nend\n"
  },
  {
    "path": "db/migrate/20160928134250_rename_karma_karma_to_total.rb",
    "content": "# frozen_string_literal: true\n\nclass RenameKarmaKarmaToTotal < ActiveRecord::Migration[4.2]\n  def change\n    rename_column :karmas, :karma, :total\n  end\nend\n"
  },
  {
    "path": "db/migrate/20160928152822_add_hangout_participants_snapshots.rb",
    "content": "# frozen_string_literal: true\n\nclass AddHangoutParticipantsSnapshots < ActiveRecord::Migration[4.2]\n  def change\n    create_table(:hangout_participants_snapshots) do |t|\n      t.references :event_instance\n      t.text :participants\n    end\n  end\nend\n"
  },
  {
    "path": "db/migrate/20161028144621_add_url_set_directly_column_to_event_instance.rb",
    "content": "# frozen_string_literal: true\n\nclass AddUrlSetDirectlyColumnToEventInstance < ActiveRecord::Migration[4.2]\n  def change\n    add_column :event_instances, :url_set_directly, :boolean, default: false\n  end\nend\n"
  },
  {
    "path": "db/migrate/20161103011445_create_friendly_id_slugs.rb",
    "content": "# frozen_string_literal: true\n\nclass CreateFriendlyIdSlugs < ActiveRecord::Migration[4.2]\n  def change\n    create_table :friendly_id_slugs do |t|\n      t.string   :slug,           null: false\n      t.integer  :sluggable_id,   null: false\n      t.string   :sluggable_type, limit: 50\n      t.string   :scope\n      t.datetime :created_at\n    end\n    add_index :friendly_id_slugs, :sluggable_id\n    add_index :friendly_id_slugs, %i(slug sluggable_type)\n    add_index :friendly_id_slugs, %i(slug sluggable_type scope), unique: true\n    add_index :friendly_id_slugs, :sluggable_type\n  end\nend\n"
  },
  {
    "path": "db/migrate/20161122200727_add_deleted_at_to_users.rb",
    "content": "# frozen_string_literal: true\n\nclass AddDeletedAtToUsers < ActiveRecord::Migration[4.2]\n  def change\n    add_column :users, :deleted_at, :datetime\n    add_index :users, :deleted_at\n  end\nend\n"
  },
  {
    "path": "db/migrate/20161128165206_add_last_commit_at_to_projects.rb",
    "content": "# frozen_string_literal: true\n\nclass AddLastCommitAtToProjects < ActiveRecord::Migration[4.2]\n  def change\n    add_column :projects, :last_github_update, :datetime\n  end\nend\n"
  },
  {
    "path": "db/migrate/20161218160338_create_plans.rb",
    "content": "# frozen_string_literal: true\n\nclass CreatePlans < ActiveRecord::Migration[4.2]\n  def change\n    create_table :plans do |t|\n      t.string :name\n      t.integer :free_trial_length_days\n      t.string :third_party_identifier\n      t.integer :amount\n\n      t.timestamps null: false\n    end\n  end\nend\n"
  },
  {
    "path": "db/migrate/20161221125828_add_plan_to_subscription.rb",
    "content": "# frozen_string_literal: true\n\nclass AddPlanToSubscription < ActiveRecord::Migration[4.2]\n  def change\n    add_reference :subscriptions, :plan\n  end\nend\n"
  },
  {
    "path": "db/migrate/20161221182758_remove_stripe_customer_from_user.rb",
    "content": "# frozen_string_literal: true\n\nclass RemoveStripeCustomerFromUser < ActiveRecord::Migration[4.2]\n  def change\n    remove_column :users, :stripe_customer, :string\n  end\nend\n"
  },
  {
    "path": "db/migrate/20161223092205_add_youtube_tweeet_sent_to_event_instances.rb",
    "content": "# frozen_string_literal: true\n\nclass AddYoutubeTweeetSentToEventInstances < ActiveRecord::Migration[4.2]\n  def change\n    add_column :event_instances, :youtube_tweet_sent, :boolean, default: false\n  end\nend\n"
  },
  {
    "path": "db/migrate/20170115171525_add_category_column_to_plans.rb",
    "content": "# frozen_string_literal: true\n\nclass AddCategoryColumnToPlans < ActiveRecord::Migration[4.2]\n  def change\n    add_column :plans, :category, :string\n  end\nend\n"
  },
  {
    "path": "db/migrate/20170918083218_create_source_repositories.rb",
    "content": "# frozen_string_literal: true\n\nclass CreateSourceRepositories < ActiveRecord::Migration[4.2]\n  def change\n    create_table :source_repositories do |t|\n      t.string :url\n      t.references :project\n\n      t.timestamps null: false\n    end\n  end\nend\n"
  },
  {
    "path": "db/migrate/20171118201937_add_sponsor_column_to_subscription.rb",
    "content": "# frozen_string_literal: true\n\nclass AddSponsorColumnToSubscription < ActiveRecord::Migration[4.2]\n  def change\n    add_column :subscriptions, :sponsor_id, :integer\n  end\nend\n"
  },
  {
    "path": "db/migrate/20180121175914_add_for_column_to_events.rb",
    "content": "# frozen_string_literal: true\n\nclass AddForColumnToEvents < ActiveRecord::Migration[4.2]\n  def change\n    add_column :events, :for, :string\n  end\nend\n"
  },
  {
    "path": "db/migrate/20180406015134_add_event_participation_count_to_users.rb",
    "content": "# frozen_string_literal: true\n\nclass AddEventParticipationCountToUsers < ActiveRecord::Migration[5.1]\n  def change\n    add_column :users, :event_participation_count, :integer, default: 0\n  end\nend\n"
  },
  {
    "path": "db/migrate/20180507045056_add_column_modifier_id_to_events.rb",
    "content": "# frozen_string_literal: true\n\nclass AddColumnModifierIdToEvents < ActiveRecord::Migration[5.1]\n  def change\n    add_column :events, :modifier_id, :integer\n  end\nend\n"
  },
  {
    "path": "db/migrate/20180514105034_set_users_receive_mailings_default_false.rb",
    "content": "# frozen_string_literal: true\n\nclass SetUsersReceiveMailingsDefaultFalse < ActiveRecord::Migration[5.1]\n  def change\n    change_column_default :users, :receive_mailings, from: true, to: false\n  end\nend\n"
  },
  {
    "path": "db/migrate/20180515093331_remove_newsletter.rb",
    "content": "# frozen_string_literal: true\n\nclass RemoveNewsletter < ActiveRecord::Migration[5.1]\n  def change\n    drop_table :newsletters\n  end\nend\n"
  },
  {
    "path": "db/migrate/20180729040001_add_slack_channel_name_to_projects.rb",
    "content": "# frozen_string_literal: true\n\nclass AddSlackChannelNameToProjects < ActiveRecord::Migration[5.1]\n  def change\n    add_column :projects, :slack_channel_name, :string\n  end\nend\n"
  },
  {
    "path": "db/migrate/20180730173345_add_creator_attendance_to_events.rb",
    "content": "# frozen_string_literal: true\n\nclass AddCreatorAttendanceToEvents < ActiveRecord::Migration[5.1]\n  def change\n    add_column :events, :creator_attendance, :boolean, default: true\n  end\nend\n"
  },
  {
    "path": "db/migrate/20180803173355_add_can_see_dashboard_to_users.rb",
    "content": "# frozen_string_literal: true\n\nclass AddCanSeeDashboardToUsers < ActiveRecord::Migration[5.1]\n  def change\n    add_column :users, :can_see_dashboard, :boolean, default: false\n  end\nend\n"
  },
  {
    "path": "db/migrate/20180810180605_add_karma_breakdown_elements_to_karma_table.rb",
    "content": "# frozen_string_literal: true\n\nclass AddKarmaBreakdownElementsToKarmaTable < ActiveRecord::Migration[5.1]\n  def change\n    add_column :karmas, :membership_length, :integer, default: 0\n    add_column :karmas, :profile_completeness, :integer, default: 0\n    add_column :karmas, :number_github_contributions, :integer, default: 0\n    add_column :karmas, :activity, :integer, default: 0\n    add_column :karmas, :event_participation, :integer, default: 0\n  end\nend\n"
  },
  {
    "path": "db/migrate/20180813125658_create_languages.rb",
    "content": "# frozen_string_literal: true\n\nclass CreateLanguages < ActiveRecord::Migration[5.1]\n  def change\n    create_table :languages do |t|\n      t.string :name, unique: true\n      t.timestamps\n    end\n\n    create_table :languages_projects, id: false do |t|\n      t.belongs_to :project, index: true\n      t.belongs_to :language, index: true\n    end\n    add_index :languages_projects, %i(project_id language_id), unique: true\n  end\nend\n"
  },
  {
    "path": "db/migrate/20180828145628_vanity_migration.rb",
    "content": "# frozen_string_literal: true\n\nrequire 'vanity/adapters/active_record_adapter'\n\nclass VanityMigration < ActiveRecord::Migration[5.1]\n  # Helper methods to ensure we're connecting to the right database, see\n  # https://github.com/assaf/vanity/issues/295.\n\n  def connection\n    @connection ||= ActiveRecord::Base.connection\n  end\n  alias_method :default_connection, :connection\n\n  def with_vanity_connection\n    @connection = Vanity::Adapters::ActiveRecordAdapter::VanityRecord.connection\n    yield\n    @connection = default_connection\n  end\n\n  def up\n    with_vanity_connection do\n      create_table :vanity_metrics do |t|\n        t.string :metric_id\n        t.datetime :updated_at\n      end\n      add_index :vanity_metrics, [:metric_id]\n\n      create_table :vanity_metric_values do |t|\n        t.integer :vanity_metric_id\n        t.integer :index\n        t.integer :value\n        t.string :date\n      end\n      add_index :vanity_metric_values, %i(vanity_metric_id date)\n\n      create_table :vanity_experiments do |t|\n        t.string :experiment_id\n        t.integer :outcome\n        t.boolean :enabled\n        t.datetime :created_at\n        t.datetime :completed_at\n      end\n      add_index :vanity_experiments, [:experiment_id], unique: true\n\n      create_table :vanity_conversions do |t|\n        t.integer :vanity_experiment_id\n        t.integer :alternative\n        t.integer :conversions\n      end\n      add_index :vanity_conversions, %i(vanity_experiment_id alternative),\n                name: 'by_experiment_id_and_alternative', unique: true\n\n      create_table :vanity_participants do |t|\n        t.string :experiment_id\n        t.string :identity\n        t.integer :shown\n        t.integer :seen\n        t.integer :converted\n        t.timestamps null: false\n      end\n      add_index :vanity_participants, [:experiment_id]\n      add_index :vanity_participants, %i(experiment_id identity), name: 'by_experiment_id_and_identity',\n                                                                  unique: true\n      add_index :vanity_participants, %i(experiment_id shown), name: 'by_experiment_id_and_shown'\n      add_index :vanity_participants, %i(experiment_id seen), name: 'by_experiment_id_and_seen'\n      add_index :vanity_participants, %i(experiment_id converted), name: 'by_experiment_id_and_converted'\n    end\n  end\n\n  def down\n    with_vanity_connection do\n      drop_table :vanity_metrics\n      drop_table :vanity_metric_values\n      drop_table :vanity_experiments\n      drop_table :vanity_conversions\n      drop_table :vanity_participants\n    end\n  end\nend\n"
  },
  {
    "path": "db/migrate/20181220155404_create_slack_channel.rb",
    "content": "# frozen_string_literal: true\n\nclass CreateSlackChannel < ActiveRecord::Migration[5.2]\n  def change\n    create_table :slack_channels do |t|\n      t.string :environment\n      t.string :code\n    end\n  end\nend\n"
  },
  {
    "path": "db/migrate/20181220160421_create_join_table_project_slack_channel.rb",
    "content": "# frozen_string_literal: true\n\nclass CreateJoinTableProjectSlackChannel < ActiveRecord::Migration[5.2]\n  def change\n    create_join_table :projects, :slack_channels do |t|\n      t.index %i(project_id slack_channel_id), name: 'slack_project_channel', unique: true\n      t.index %i(slack_channel_id project_id), name: 'slack_channel_name', unique: true\n    end\n  end\nend\n"
  },
  {
    "path": "db/migrate/20190129191454_add_paypal_id_to_plans.rb",
    "content": "# frozen_string_literal: true\n\nclass AddPaypalIdToPlans < ActiveRecord::Migration[5.2]\n  def change\n    add_column :plans, :paypal_id, :string\n  end\nend\n"
  },
  {
    "path": "db/migrate/20190311230108_create_issue_trackers.rb",
    "content": "# frozen_string_literal: true\n\nclass CreateIssueTrackers < ActiveRecord::Migration[5.2]\n  def change\n    create_table :issue_trackers do |t|\n      t.string :url\n      t.references :project\n\n      t.timestamps null: false\n    end\n  end\nend\n"
  },
  {
    "path": "db/migrate/20190412143519_create_join_table_events_slack_channel.rb",
    "content": "# frozen_string_literal: true\n\nclass CreateJoinTableEventsSlackChannel < ActiveRecord::Migration[5.2]\n  def change\n    create_join_table :events, :slack_channels do |t|\n      t.index %i(event_id slack_channel_id), name: 'slack_event_channel', unique: true\n      t.index %i(slack_channel_id event_id), name: 'slack_channel_name_event', unique: true\n    end\n  end\nend\n"
  },
  {
    "path": "db/migrate/20210702172212_drop_vanity_tables.rb",
    "content": "# frozen_string_literal: true\n\nclass DropVanityTables < ActiveRecord::Migration[6.1]\n  def change\n    drop_table :vanity_metrics\n    drop_table :vanity_metric_values\n    drop_table :vanity_experiments\n    drop_table :vanity_conversions\n    drop_table :vanity_participants\n  end\nend\n"
  },
  {
    "path": "db/migrate/20210721093118_add_admin_to_users.rb",
    "content": "# frozen_string_literal: true\n\nclass AddAdminToUsers < ActiveRecord::Migration[6.1]\n  def change\n    add_column :users, :admin, :boolean\n  end\nend\n"
  },
  {
    "path": "db/migrate/20221215192333_change_exclusions_in_events.rb",
    "content": "# frozen_string_literal: true\n\nclass ChangeExclusionsInEvents < ActiveRecord::Migration[6.1]\n  def change\n    change_column :events, :exclusions, 'json USING CAST(exclusions AS json)'\n    change_column_default :events, :exclusions, []\n  end\nend\n"
  },
  {
    "path": "db/migrate/20221215193425_change_participants_in_event_instances.rb",
    "content": "# frozen_string_literal: true\n\nclass ChangeParticipantsInEventInstances < ActiveRecord::Migration[6.1]\n  def change\n    change_column :event_instances, :participants, 'json USING CAST(participants AS json)'\n    change_column_default :event_instances, :participants, []\n  end\nend\n"
  },
  {
    "path": "db/migrate/20230314192607_create_active_storage_tables.active_storage.rb",
    "content": "# frozen_string_literal: true\n\n# This migration comes from active_storage (originally 20170806125915)\nclass CreateActiveStorageTables < ActiveRecord::Migration[5.2]\n  def change\n    # Use Active Record's configured type for primary and foreign keys\n    primary_key_type, foreign_key_type = primary_and_foreign_key_types\n\n    create_table :active_storage_blobs, id: primary_key_type do |t|\n      t.string   :key,          null: false\n      t.string   :filename,     null: false\n      t.string   :content_type\n      t.text     :metadata\n      t.string   :service_name, null: false\n      t.bigint   :byte_size,    null: false\n      t.string   :checksum\n\n      if connection.supports_datetime_with_precision?\n        t.datetime :created_at, precision: 6, null: false\n      else\n        t.datetime :created_at, null: false\n      end\n\n      t.index [:key], unique: true\n    end\n\n    create_table :active_storage_attachments, id: primary_key_type do |t|\n      t.string     :name,     null: false\n      t.references :record,   null: false, polymorphic: true, index: false, type: foreign_key_type\n      t.references :blob,     null: false, type: foreign_key_type\n\n      if connection.supports_datetime_with_precision?\n        t.datetime :created_at, precision: 6, null: false\n      else\n        t.datetime :created_at, null: false\n      end\n\n      t.index %i(record_type record_id name blob_id), name: :index_active_storage_attachments_uniqueness,\n                                                      unique: true\n      t.foreign_key :active_storage_blobs, column: :blob_id\n    end\n\n    create_table :active_storage_variant_records, id: primary_key_type do |t|\n      t.belongs_to :blob, null: false, index: false, type: foreign_key_type\n      t.string :variation_digest, null: false\n\n      t.index %i(blob_id variation_digest), name: :index_active_storage_variant_records_uniqueness, unique: true\n      t.foreign_key :active_storage_blobs, column: :blob_id\n    end\n  end\n\n  private\n\n  def primary_and_foreign_key_types\n    config = Rails.configuration.generators\n    setting = config.options[config.orm][:primary_key_type]\n    primary_key_type = setting || :primary_key\n    foreign_key_type = setting || :bigint\n    [primary_key_type, foreign_key_type]\n  end\nend\n"
  },
  {
    "path": "db/migrate/20230314193359_create_action_text_tables.action_text.rb",
    "content": "# frozen_string_literal: true\n\n# This migration comes from action_text (originally 20180528164100)\nclass CreateActionTextTables < ActiveRecord::Migration[6.0]\n  def change\n    # Use Active Record's configured type for primary and foreign keys\n    primary_key_type, foreign_key_type = primary_and_foreign_key_types\n\n    create_table :action_text_rich_texts, id: primary_key_type do |t|\n      t.string     :name, null: false\n      t.text       :body, size: :long\n      t.references :record, null: false, polymorphic: true, index: false, type: foreign_key_type\n\n      t.timestamps\n\n      t.index %i(record_type record_id name), name: 'index_action_text_rich_texts_uniqueness', unique: true\n    end\n  end\n\n  private\n\n  def primary_and_foreign_key_types\n    config = Rails.configuration.generators\n    setting = config.options[config.orm][:primary_key_type]\n    primary_key_type = setting || :primary_key\n    foreign_key_type = setting || :bigint\n    [primary_key_type, foreign_key_type]\n  end\nend\n"
  },
  {
    "path": "db/schema.rb",
    "content": "# This file is auto-generated from the current state of the database. Instead\n# of editing this file, please use the migrations feature of Active Record to\n# incrementally modify your database, and then regenerate this schema definition.\n#\n# This file is the source Rails uses to define your schema when running `bin/rails\n# db:schema:load`. When creating a new database, `bin/rails db:schema:load` tends to\n# be faster and is potentially less error prone than running all of your\n# migrations from scratch. Old migrations may fail to apply correctly if those\n# migrations use external dependencies or application code.\n#\n# It's strongly recommended that you check this file into your version control system.\n\nActiveRecord::Schema[7.0].define(version: 2023_03_14_193359) do\n  # These are extensions that must be enabled in order to support this database\n  enable_extension \"plpgsql\"\n\n  create_table \"action_text_rich_texts\", force: :cascade do |t|\n    t.string \"name\", null: false\n    t.text \"body\"\n    t.string \"record_type\", null: false\n    t.bigint \"record_id\", null: false\n    t.datetime \"created_at\", null: false\n    t.datetime \"updated_at\", null: false\n    t.index [\"record_type\", \"record_id\", \"name\"], name: \"index_action_text_rich_texts_uniqueness\", unique: true\n  end\n\n  create_table \"active_storage_attachments\", force: :cascade do |t|\n    t.string \"name\", null: false\n    t.string \"record_type\", null: false\n    t.bigint \"record_id\", null: false\n    t.bigint \"blob_id\", null: false\n    t.datetime \"created_at\", null: false\n    t.index [\"blob_id\"], name: \"index_active_storage_attachments_on_blob_id\"\n    t.index [\"record_type\", \"record_id\", \"name\", \"blob_id\"], name: \"index_active_storage_attachments_uniqueness\", unique: true\n  end\n\n  create_table \"active_storage_blobs\", force: :cascade do |t|\n    t.string \"key\", null: false\n    t.string \"filename\", null: false\n    t.string \"content_type\"\n    t.text \"metadata\"\n    t.string \"service_name\", null: false\n    t.bigint \"byte_size\", null: false\n    t.string \"checksum\"\n    t.datetime \"created_at\", null: false\n    t.index [\"key\"], name: \"index_active_storage_blobs_on_key\", unique: true\n  end\n\n  create_table \"active_storage_variant_records\", force: :cascade do |t|\n    t.bigint \"blob_id\", null: false\n    t.string \"variation_digest\", null: false\n    t.index [\"blob_id\", \"variation_digest\"], name: \"index_active_storage_variant_records_uniqueness\", unique: true\n  end\n\n  create_table \"activities\", id: :serial, force: :cascade do |t|\n    t.string \"trackable_type\"\n    t.integer \"trackable_id\"\n    t.string \"owner_type\"\n    t.integer \"owner_id\"\n    t.string \"key\"\n    t.text \"parameters\"\n    t.string \"recipient_type\"\n    t.integer \"recipient_id\"\n    t.datetime \"created_at\", precision: nil\n    t.datetime \"updated_at\", precision: nil\n    t.index [\"owner_id\", \"owner_type\"], name: \"index_activities_on_owner_id_and_owner_type\"\n    t.index [\"recipient_id\", \"recipient_type\"], name: \"index_activities_on_recipient_id_and_recipient_type\"\n    t.index [\"trackable_id\", \"trackable_type\"], name: \"index_activities_on_trackable_id_and_trackable_type\"\n  end\n\n  create_table \"articles\", id: :serial, force: :cascade do |t|\n    t.integer \"user_id\"\n    t.string \"title\", null: false\n    t.text \"content\"\n    t.string \"slug\", null: false\n    t.datetime \"created_at\", precision: nil\n    t.datetime \"updated_at\", precision: nil\n    t.index [\"slug\"], name: \"index_articles_on_slug\", unique: true\n    t.index [\"title\"], name: \"index_articles_on_title\"\n    t.index [\"user_id\"], name: \"index_articles_on_user_id\"\n  end\n\n  create_table \"authentications\", id: :serial, force: :cascade do |t|\n    t.integer \"user_id\", null: false\n    t.string \"provider\", null: false\n    t.string \"uid\", null: false\n    t.datetime \"created_at\", precision: nil\n    t.datetime \"updated_at\", precision: nil\n    t.index [\"user_id\"], name: \"index_authentications_on_user_id\"\n  end\n\n  create_table \"commit_counts\", id: :serial, force: :cascade do |t|\n    t.integer \"commit_count\"\n    t.integer \"project_id\"\n    t.integer \"user_id\"\n    t.index [\"project_id\"], name: \"index_commit_counts_on_project_id\"\n    t.index [\"user_id\"], name: \"index_commit_counts_on_user_id\"\n  end\n\n  create_table \"documents\", id: :serial, force: :cascade do |t|\n    t.string \"title\"\n    t.text \"body\"\n    t.integer \"project_id\"\n    t.datetime \"created_at\", precision: nil\n    t.datetime \"updated_at\", precision: nil\n    t.integer \"parent_id\"\n    t.integer \"user_id\"\n    t.string \"slug\"\n    t.index [\"project_id\"], name: \"index_documents_on_project_id\"\n    t.index [\"slug\", \"user_id\"], name: \"index_documents_on_slug_and_user_id\", unique: true\n    t.index [\"user_id\"], name: \"index_documents_on_user_id\"\n  end\n\n  create_table \"event_instances\", id: :serial, force: :cascade do |t|\n    t.integer \"event_id\"\n    t.string \"title\"\n    t.string \"hangout_url\"\n    t.datetime \"created_at\", precision: nil\n    t.datetime \"updated_at\", precision: nil\n    t.string \"uid\"\n    t.string \"category\"\n    t.integer \"project_id\"\n    t.integer \"user_id\"\n    t.string \"yt_video_id\"\n    t.json \"participants\", default: []\n    t.string \"hoa_status\"\n    t.boolean \"url_set_directly\", default: false\n    t.boolean \"youtube_tweet_sent\", default: false\n  end\n\n  create_table \"events\", id: :serial, force: :cascade do |t|\n    t.string \"name\"\n    t.string \"category\"\n    t.text \"description\"\n    t.string \"repeats\"\n    t.integer \"repeats_every_n_weeks\"\n    t.integer \"repeats_weekly_each_days_of_the_week_mask\"\n    t.boolean \"repeat_ends\"\n    t.date \"repeat_ends_on\"\n    t.string \"time_zone\"\n    t.datetime \"created_at\", precision: nil\n    t.datetime \"updated_at\", precision: nil\n    t.string \"url\"\n    t.string \"slug\"\n    t.datetime \"start_datetime\", precision: nil\n    t.integer \"duration\"\n    t.json \"exclusions\", default: []\n    t.integer \"project_id\"\n    t.integer \"creator_id\"\n    t.string \"for\"\n    t.integer \"modifier_id\"\n    t.boolean \"creator_attendance\", default: true\n    t.index [\"creator_id\"], name: \"index_events_on_creator_id\"\n    t.index [\"slug\"], name: \"index_events_on_slug\", unique: true\n    t.index [\"start_datetime\"], name: \"index_events_on_start_datetime\"\n  end\n\n  create_table \"events_slack_channels\", id: false, force: :cascade do |t|\n    t.bigint \"event_id\", null: false\n    t.bigint \"slack_channel_id\", null: false\n    t.index [\"event_id\", \"slack_channel_id\"], name: \"slack_event_channel\", unique: true\n    t.index [\"slack_channel_id\", \"event_id\"], name: \"slack_channel_name_event\", unique: true\n  end\n\n  create_table \"follows\", id: :serial, force: :cascade do |t|\n    t.string \"followable_type\", null: false\n    t.integer \"followable_id\", null: false\n    t.string \"follower_type\", null: false\n    t.integer \"follower_id\", null: false\n    t.boolean \"blocked\", default: false, null: false\n    t.datetime \"created_at\", precision: nil\n    t.datetime \"updated_at\", precision: nil\n    t.index [\"followable_id\", \"followable_type\"], name: \"fk_followables\"\n    t.index [\"follower_id\", \"follower_type\"], name: \"fk_follows\"\n  end\n\n  create_table \"friendly_id_slugs\", id: :serial, force: :cascade do |t|\n    t.string \"slug\", null: false\n    t.integer \"sluggable_id\", null: false\n    t.string \"sluggable_type\", limit: 50\n    t.string \"scope\"\n    t.datetime \"created_at\", precision: nil\n    t.index [\"slug\", \"sluggable_type\", \"scope\"], name: \"index_friendly_id_slugs_on_slug_and_sluggable_type_and_scope\", unique: true\n    t.index [\"slug\", \"sluggable_type\"], name: \"index_friendly_id_slugs_on_slug_and_sluggable_type\"\n    t.index [\"sluggable_id\"], name: \"index_friendly_id_slugs_on_sluggable_id\"\n    t.index [\"sluggable_type\"], name: \"index_friendly_id_slugs_on_sluggable_type\"\n  end\n\n  create_table \"hangout_participants_snapshots\", id: :serial, force: :cascade do |t|\n    t.integer \"event_instance_id\"\n    t.text \"participants\"\n  end\n\n  create_table \"issue_trackers\", force: :cascade do |t|\n    t.string \"url\"\n    t.bigint \"project_id\"\n    t.datetime \"created_at\", precision: nil, null: false\n    t.datetime \"updated_at\", precision: nil, null: false\n    t.index [\"project_id\"], name: \"index_issue_trackers_on_project_id\"\n  end\n\n  create_table \"karmas\", id: :serial, force: :cascade do |t|\n    t.integer \"user_id\"\n    t.integer \"total\", default: 0\n    t.integer \"hangouts_attended_with_more_than_one_participant\", default: 0\n    t.datetime \"created_at\", precision: nil, null: false\n    t.datetime \"updated_at\", precision: nil, null: false\n    t.integer \"membership_length\", default: 0\n    t.integer \"profile_completeness\", default: 0\n    t.integer \"number_github_contributions\", default: 0\n    t.integer \"activity\", default: 0\n    t.integer \"event_participation\", default: 0\n  end\n\n  create_table \"languages\", force: :cascade do |t|\n    t.string \"name\"\n    t.datetime \"created_at\", precision: nil, null: false\n    t.datetime \"updated_at\", precision: nil, null: false\n  end\n\n  create_table \"languages_projects\", id: false, force: :cascade do |t|\n    t.bigint \"project_id\"\n    t.bigint \"language_id\"\n    t.index [\"language_id\"], name: \"index_languages_projects_on_language_id\"\n    t.index [\"project_id\", \"language_id\"], name: \"index_languages_projects_on_project_id_and_language_id\", unique: true\n    t.index [\"project_id\"], name: \"index_languages_projects_on_project_id\"\n  end\n\n  create_table \"payment_sources\", id: :serial, force: :cascade do |t|\n    t.string \"type\"\n    t.string \"identifier\"\n    t.integer \"subscription_id\"\n  end\n\n  create_table \"plans\", id: :serial, force: :cascade do |t|\n    t.string \"name\"\n    t.integer \"free_trial_length_days\"\n    t.string \"third_party_identifier\"\n    t.integer \"amount\"\n    t.datetime \"created_at\", precision: nil, null: false\n    t.datetime \"updated_at\", precision: nil, null: false\n    t.string \"category\"\n    t.string \"paypal_id\"\n  end\n\n  create_table \"projects\", id: :serial, force: :cascade do |t|\n    t.string \"title\"\n    t.text \"description\"\n    t.string \"status\"\n    t.datetime \"created_at\", precision: nil\n    t.datetime \"updated_at\", precision: nil\n    t.integer \"user_id\"\n    t.string \"slug\"\n    t.string \"github_url\"\n    t.string \"pivotaltracker_url\"\n    t.text \"pitch\"\n    t.integer \"commit_count\", default: 0\n    t.string \"image_url\"\n    t.datetime \"last_github_update\", precision: nil\n    t.string \"slack_channel_name\"\n    t.index [\"slug\"], name: \"index_projects_on_slug\", unique: true\n    t.index [\"user_id\"], name: \"index_projects_on_user_id\"\n  end\n\n  create_table \"projects_slack_channels\", id: false, force: :cascade do |t|\n    t.bigint \"project_id\", null: false\n    t.bigint \"slack_channel_id\", null: false\n    t.index [\"project_id\", \"slack_channel_id\"], name: \"slack_project_channel\", unique: true\n    t.index [\"slack_channel_id\", \"project_id\"], name: \"slack_channel_name\", unique: true\n  end\n\n  create_table \"slack_channels\", force: :cascade do |t|\n    t.string \"environment\"\n    t.string \"code\"\n  end\n\n  create_table \"source_repositories\", id: :serial, force: :cascade do |t|\n    t.string \"url\"\n    t.integer \"project_id\"\n    t.datetime \"created_at\", precision: nil, null: false\n    t.datetime \"updated_at\", precision: nil, null: false\n  end\n\n  create_table \"static_pages\", id: :serial, force: :cascade do |t|\n    t.string \"title\"\n    t.text \"body\"\n    t.integer \"parent_id\"\n    t.string \"slug\"\n    t.datetime \"created_at\", precision: nil\n    t.datetime \"updated_at\", precision: nil\n    t.index [\"slug\"], name: \"index_static_pages_on_slug\", unique: true\n  end\n\n  create_table \"statuses\", id: :serial, force: :cascade do |t|\n    t.string \"status\"\n    t.integer \"user_id\"\n    t.datetime \"created_at\", precision: nil\n    t.datetime \"updated_at\", precision: nil\n  end\n\n  create_table \"subscriptions\", id: :serial, force: :cascade do |t|\n    t.string \"type\"\n    t.datetime \"started_at\", precision: nil\n    t.datetime \"ended_at\", precision: nil\n    t.integer \"user_id\"\n    t.integer \"plan_id\"\n    t.integer \"sponsor_id\"\n  end\n\n  create_table \"taggings\", id: :serial, force: :cascade do |t|\n    t.integer \"tag_id\"\n    t.string \"taggable_type\"\n    t.integer \"taggable_id\"\n    t.string \"tagger_type\"\n    t.integer \"tagger_id\"\n    t.string \"context\", limit: 128\n    t.datetime \"created_at\", precision: nil\n    t.index [\"tag_id\", \"taggable_id\", \"taggable_type\", \"context\", \"tagger_id\", \"tagger_type\"], name: \"taggings_idx\", unique: true\n    t.index [\"taggable_id\", \"taggable_type\", \"context\"], name: \"index_taggings_on_taggable_id_and_taggable_type_and_context\"\n    t.index [\"tagger_id\"], name: \"index_taggings_on_tagger_id\"\n    t.index [\"tagger_type\"], name: \"index_taggings_on_tagger_type\"\n  end\n\n  create_table \"tags\", id: :serial, force: :cascade do |t|\n    t.string \"name\"\n    t.integer \"taggings_count\", default: 0\n    t.index [\"name\"], name: \"index_tags_on_name\", unique: true\n  end\n\n  create_table \"users\", id: :serial, force: :cascade do |t|\n    t.string \"email\", default: \"\", null: false\n    t.string \"encrypted_password\", default: \"\", null: false\n    t.string \"reset_password_token\"\n    t.datetime \"reset_password_sent_at\", precision: nil\n    t.datetime \"remember_created_at\", precision: nil\n    t.integer \"sign_in_count\", default: 0, null: false\n    t.datetime \"current_sign_in_at\", precision: nil\n    t.datetime \"last_sign_in_at\", precision: nil\n    t.string \"current_sign_in_ip\"\n    t.string \"last_sign_in_ip\"\n    t.datetime \"created_at\", precision: nil\n    t.datetime \"updated_at\", precision: nil\n    t.string \"first_name\"\n    t.string \"last_name\"\n    t.boolean \"display_email\"\n    t.string \"youtube_id\"\n    t.string \"slug\"\n    t.boolean \"display_profile\", default: true\n    t.float \"latitude\"\n    t.float \"longitude\"\n    t.string \"country_name\"\n    t.string \"city\"\n    t.string \"region\"\n    t.string \"youtube_user_name\"\n    t.string \"github_profile_url\"\n    t.boolean \"display_hire_me\"\n    t.text \"bio\"\n    t.boolean \"receive_mailings\", default: false\n    t.string \"country_code\"\n    t.integer \"timezone_offset\"\n    t.integer \"status_count\", default: 0\n    t.datetime \"deleted_at\", precision: nil\n    t.integer \"event_participation_count\", default: 0\n    t.boolean \"can_see_dashboard\", default: false\n    t.boolean \"admin\"\n    t.index [\"deleted_at\"], name: \"index_users_on_deleted_at\"\n    t.index [\"email\"], name: \"index_users_on_email\", unique: true\n    t.index [\"reset_password_token\"], name: \"index_users_on_reset_password_token\", unique: true\n    t.index [\"slug\"], name: \"index_users_on_slug\", unique: true\n  end\n\n  create_table \"versions\", id: :serial, force: :cascade do |t|\n    t.string \"item_type\", null: false\n    t.integer \"item_id\", null: false\n    t.string \"event\", null: false\n    t.string \"whodunnit\"\n    t.text \"object\"\n    t.datetime \"created_at\", precision: nil\n    t.index [\"item_type\", \"item_id\"], name: \"index_versions_on_item_type_and_item_id\"\n  end\n\n  create_table \"votes\", id: :serial, force: :cascade do |t|\n    t.string \"votable_type\"\n    t.integer \"votable_id\"\n    t.string \"voter_type\"\n    t.integer \"voter_id\"\n    t.boolean \"vote_flag\"\n    t.string \"vote_scope\"\n    t.integer \"vote_weight\"\n    t.datetime \"created_at\", precision: nil\n    t.datetime \"updated_at\", precision: nil\n    t.index [\"votable_id\", \"votable_type\", \"vote_scope\"], name: \"index_votes_on_votable_id_and_votable_type_and_vote_scope\"\n    t.index [\"voter_id\", \"voter_type\", \"vote_scope\"], name: \"index_votes_on_voter_id_and_voter_type_and_vote_scope\"\n  end\n\n  add_foreign_key \"active_storage_attachments\", \"active_storage_blobs\", column: \"blob_id\"\n  add_foreign_key \"active_storage_variant_records\", \"active_storage_blobs\", column: \"blob_id\"\n  add_foreign_key \"events\", \"users\", column: \"creator_id\"\nend\n"
  },
  {
    "path": "db/seeds/event_instances.rb",
    "content": "# frozen_string_literal: true\n\nEventInstance.create!([\n                        { event_id: 3, title: 'PairProgramming on LocalSupport',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/gwa4o2wrxv62x3zxsvncd4hexia', uid: '331436862423', category: 'PairProgramming', project_id: 3, user_id: 3, yt_video_id: '1DEI4PP6TH0', participants: nil, hoa_status: nil, url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 1,\n                          title: 'EuroAsia Scrum and Pair Hookup (Scrum Master Sam - LocalSupport, AutoGraders) - Thursday, 29th Oct at 08:30am (UTC)', hangout_url: 'https://talkgadget.google.com/hangouts/_/cscxlx5lqyew2gxhdfm3ktsgcya', uid: '31446107401', category: 'Scrum', project_id: nil, user_id: 3, yt_video_id: 'QBi11jptQSQ', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 2, title: 'Pacific Rim Scrum and Pair Hookup - Wednesday, 7th Oct at 09:15pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/jxufegzuv3c2uodhmleulkkbk4a', uid: '1651444252487', category: 'Scrum', project_id: nil, user_id: 1, yt_video_id: 'GmjEcMVis1Q', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3,\n                          title: 'Test Pair Programming for BerkeleyX: CS169.1x Engineering Software as a Service, Part 1 - Thursday, 29th Oct at 01:40pm (UTC)', hangout_url: 'https://talkgadget.google.com/hangouts/_/mgqzb24f7zreuf3n5kdqumziema', uid: '12911446126241', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'IYvwuQfpkS0', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'PairProgramming on LocalSupport',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/gxl7auuwkm2dano3njuwwct6nua', uid: '331436864218', category: 'PairProgramming', project_id: 3, user_id: 3, yt_video_id: '_YmBZBm_7ks', participants: nil, hoa_status: nil, url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 1,\n                          title: 'EuroAsia Scrum and Pair Hookup (Scrum Master Sam - LocalSupport, AutoGraders) - Thursday, 8th Oct at 07:30am (UTC)', hangout_url: 'https://talkgadget.google.com/hangouts/_/dkm6amdbu3hjporv4j7xi6hegma', uid: '31444289422', category: 'Scrum', project_id: nil, user_id: 3, yt_video_id: '1ICh3Uh22n0', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'aborigenrf CS169.1X recording needed  - Thursday, 29th Oct at 10:30am (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/xs22jjxn4ukywzg7etjgqn75cma', uid: '13761446114405', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'Umbm5RSTlKY', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'HW0 RUBY INTRODUCTION [EN-ES] - Thursday, 29th Oct at 09:40am (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/m2l3eiqdhgiqq4uhikcbdvqwwaa', uid: '13821446111748', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: '8U3-u0_scqQ', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'aborigenrf CS169.1X recording needed  - Thursday, 29th Oct at 10:30am (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/dfbxnq2357jytd3xjmft4rakzua', uid: '13761446113765', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'NP2xZ-Ad1ac', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Pair with Brian and Nate - Thursday, 29th Oct at 01:49pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/w22ghc4hmigxaqx2cog476lp6ea', uid: '14481446127132', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'j9Qd2gLQSvA', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Pair with Brian and Nate - Thursday, 29th Oct at 01:49pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/7mmxtptr6ayl6nd4iijvitd24ia', uid: '14671446126984', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'FT3hR5O2-mQ', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'PairProgramming on WebsiteOne',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/g42qqtrwar7t7peywryeo2hhvea', uid: '68521436869208', category: 'PairProgramming', project_id: 2, user_id: 1, yt_video_id: 'G0LzSbdqW0I', participants: nil, hoa_status: nil, url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'PairProgramming on WebsiteOne',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/g7xhwcqmvz3lrcvdqtjxut6r2ma', uid: '68521436869583', category: 'PairProgramming', project_id: 2, user_id: 1, yt_video_id: '1FMSlSOmgi8', participants: nil, hoa_status: nil, url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'PairProgramming on MetPlus',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/njstppzdf55ju7igpe3julcdlya', uid: '748451444252962', category: 'PairProgramming', project_id: 45, user_id: 1, yt_video_id: 'opxteAbxrCQ', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Spanish Pairing on CS169 Test hangout on air recording - Friday, 30th Oct at 05:00pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/it46cao5j7gr6idtej6lo3f7waa', uid: '14631446159532', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'w6-DGBgA6sk', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Test Pair Programming for BerkeleyX: CS169.1x Engineering Software as a Service, Part 1 - ',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/bwqxzfa27sdmqkdlaesbe42hpqa', uid: '14671446128683', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'doyQLEIst04', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'PairProgramming on WebsiteOne',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/g2x63ytunvf2gpm5old2h2erdya', uid: '68521436872898', category: 'PairProgramming', project_id: 2, user_id: 1, yt_video_id: 'F9M9s48SH0E', participants: nil, hoa_status: nil, url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Pairing on CS169 HW0 Ruby Intro - Friday, 30th Oct at 05:30pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/5mwgd7envpzshsulkkkxyc5gnaa', uid: '15241446225821', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'kN1QiwJUGOU', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'PairProgramming on WebsiteOne',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/g4w6r2aie4uxp25ez4kvkag42ma', uid: '68521436882756', category: 'PairProgramming', project_id: 2, user_id: 1, yt_video_id: 'jP6vTOEx1zk', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Pairing on CS169 HW0 Ruby Intro - Friday, 30th Oct at 05:26pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/ewwsfp6v454u34txkwyourclh4a', uid: '15251446226194', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'UeG5XZzWQ8Q', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3,\n                          title: 'AtlanticScrum and Pair Hookup (Scrum Master Sam - LocalSupport, AgileVentures) - Thursday, 8th Oct at 02:45pm (UTC)', hangout_url: 'https://talkgadget.google.com/hangouts/_/xikr5536qaf7tpazx5tn3bkxmea', uid: '31444315572', category: 'Scrum', project_id: nil, user_id: 3, yt_video_id: 'JKHZ6Ulkeeg', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 2, title: 'AutoGraders Client Meeting (BetaSaaSers) - Tuesday, 14th Jul at 02:45pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/g5xdt6ol2ma5dhlnetuuda5ieqa', uid: '31436885133', category: 'Scrum', project_id: nil, user_id: 3, yt_video_id: 'H254gr9Sr7c', participants: nil, hoa_status: 'broadcasting', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Pairing on CS169 HW0 Ruby Intro - Friday, 30th Oct at 06:05pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/5mzlnr2zblg6ftyif5zysfyj7ua', uid: '15281446228392', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'mY6sx9GT7F0', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 1,\n                          title: 'EuroAsia Scrum and Pair Hookup (Scrum Master Sam - LocalSupport, AutoGraders) - Wednesday, 15th Jul at 07:30am (UTC)', hangout_url: 'https://talkgadget.google.com/hangouts/_/g4rxwtz2c44urb4mp4enyyitqma', uid: '31436945423', category: 'Scrum', project_id: nil, user_id: 3, yt_video_id: '3ARXqdZFHgI', participants: nil, hoa_status: 'broadcasting', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 2, title: 'Pacific Rim Scrum and Pair Hookup - Thursday, 8th Oct at 09:15pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/tmdsfbnogs2itqzbtkb26r53vea', uid: '1651444338970', category: 'Scrum', project_id: nil, user_id: 1, yt_video_id: 'p0leHpmrNdw', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'PairProgramming on MetPlus',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/wnlypclc3apisqar75zgk5piaua', uid: '165451444340101', category: 'PairProgramming', project_id: 45, user_id: 1, yt_video_id: '3jv-IlBE0LM', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'BerkeleyX: CS169.1x HW0 - Friday, 30th Oct at 05:25pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/wococwplxonpraaal53zt7gfvea', uid: '11501446225986', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'KTt13z9_4BU', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Test Hangout for CS169 MOOC - Friday, 30th Oct at 06:10pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/dhngugrvnbdwldu4nvcuyj7roqa', uid: '15261446228724', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'Xec-nZyJB0U', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Test Event #∞ - Friday, 30th Oct at 05:46pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/mmj7l3ihdulse4wdtx4tb7mqmma', uid: '221446227199', category: 'PairProgramming', project_id: nil, user_id: 22, yt_video_id: '66p61uBcWpE', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'PairProgramming on MetPlus',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/cfahlvbwphnlecshkifyxi6ifia', uid: '748451446231749', category: 'PairProgramming', project_id: 45, user_id: 1, yt_video_id: 'DCU34OQVAQQ', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'CS169.1 HW0 from beginning following TDD - Friday, 30th Oct at 05:58pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/w44ynymswgctydf2v42ywkcld4a', uid: '12981446228160', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: '6PPOTnWOcJw', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Test Hangout for CS169 MOOC course - Friday, 30th Oct at 06:00pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/pjdbxrudegoozfvikk7bigkpxaa', uid: '11331446194551', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'gUO6H3GTd3s', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'PairProgramming on LocalSupport',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/gumcjh4l3g54plovfsbwsefrtea', uid: '331436958802', category: 'PairProgramming', project_id: 3, user_id: 3, yt_video_id: '', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 1,\n                          title: 'EuroAsia Scrum and Pair Hookup (Scrum Master Sam - LocalSupport, AutoGraders) - Friday, 9th Oct at 07:30am (UTC)', hangout_url: 'https://talkgadget.google.com/hangouts/_/42zdgdxgm5e5aj4dhymyioghlqa', uid: '31444375774', category: 'Scrum', project_id: nil, user_id: 3, yt_video_id: 'P0Bgc4iHotU', participants: nil, hoa_status: 'broadcasting', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Pairing on CS169 HW0 Ruby Intro - Friday, 30th Oct at 06:05pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/chwmtrvsdw6u2vdjplx4xgllkma', uid: '14441446229165', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'OzMSVxdrBV0', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Test Hangout for CS169.1x - Friday, 30th Oct at 06:27pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/3mnmvv4y5vc7k6oa4oidmqmxmia', uid: '15261446229605', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'OupW51xZT2Q', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'AtlanticScrum and Pair Hookup (Scrum Master Sam - LocalSupport, AgileVentures) - ',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/shazuycj5xjhaxn53mwdkeqq4ia', uid: '31444402695', category: 'Scrum', project_id: nil, user_id: 3, yt_video_id: 'GQTjDElRTGA', participants: nil, hoa_status: 'broadcasting', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'PairProgramming on MetPlus',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/ebjpspg5sdhtypl53otlrma4laa', uid: '165451444428924', category: 'PairProgramming', project_id: 45, user_id: 1, yt_video_id: '0A1j187u65c', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3,\n                          title: 'AtlanticScrum and Pair Hookup (Scrum Master Sam - LocalSupport, AgileVentures) - Wednesday, 15th Jul at 02:45pm (UTC)', hangout_url: 'https://talkgadget.google.com/hangouts/_/gr26mol7ibk4zjwsxt3en3xj3qa', uid: '31436971600', category: 'Scrum', project_id: nil, user_id: 3, yt_video_id: '8un-0iYEV-A', participants: nil, hoa_status: 'broadcasting', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 2, title: 'Pacific Rim Scrum and Pair Hookup - Friday, 9th Oct at 09:15pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/j4jzynsrnmdyvketxbhudiuajqa', uid: '1651444425365', category: 'Scrum', project_id: nil, user_id: 1, yt_video_id: '2wh2K14dYkY', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'MetPlus Client meeting - Friday, 9th Oct at 09:30pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/kj3vzm4ctl7yhtxw7krpvvicoea', uid: '1651444426315', category: 'Scrum', project_id: nil, user_id: 1, yt_video_id: 'KKkbMhOw8nA', participants: nil, hoa_status: 'broadcasting', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Pairing on CS169 HW0 Ruby Intro - Thursday, 29th Oct at 04:30pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/oz6pgusbbtmdccy6zsis4girdqa', uid: '14271446136271', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'I1vCBkUAn90', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Eng_SaaS - Thursday, 29th Oct at 04:35pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/dc2s6smd3thxehis75rbmi2idia', uid: '14251446136386', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'i5HETmdULfY', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3,\n                          title: 'AtlanticScrum and Pair Hookup (Scrum Master Sam - LocalSupport, AgileVentures) - Monday, 12th Oct at 02:45pm (UTC)', hangout_url: 'https://talkgadget.google.com/hangouts/_/mo5ectrz4d5vtmhdxo5oavnlqua', uid: '31444661112', category: 'Scrum', project_id: nil, user_id: 3, yt_video_id: 'tKIEKZTsMu0', participants: nil, hoa_status: 'broadcasting', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'PairProgramming on LocalSupport',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/gwwbtrzyoiryoffvtaesyww2caa', uid: '331437040792', category: 'PairProgramming', project_id: 3, user_id: 3, yt_video_id: 'Rj_JlVb967U', participants: nil, hoa_status: 'broadcasting', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Pairing on CS169 HW0 Ruby Intro - Saturday, 10th Oct at 02:00pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/xkvj2ahcs4krfxt7vflqbqb5t4a', uid: '11781444485830', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'k9821FtB_yc', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Irakli - Saturday, 10th Oct at 05:55pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/ey36idt3lme2huygczray7q3lma', uid: '11691444499831', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'IVgfko6Bck4', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Irakli - Monday, 12th Oct at 05:55pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/biftqm22gr2hnh7t355fkto3bma', uid: '11521444672570', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'bPNEq-B48j8', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 1,\n                          title: 'EuroAsia Scrum and Pair Hookup (Scrum Master Sam - LocalSupport, AutoGraders) - Monday, 12th Oct at 07:30am (UTC)', hangout_url: 'https://talkgadget.google.com/hangouts/_/aifp35r2ufmc4hhoivrbplwhg4a', uid: '31444634914', category: 'Scrum', project_id: nil, user_id: 3, yt_video_id: 'irumoM7JaSk', participants: nil, hoa_status: 'broadcasting', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3,\n                          title: 'CS169.1 HW0 from beginning following TDD looking for a pair, join anytime. - Friday, 30th Oct at 06:15pm (UTC)', hangout_url: 'https://talkgadget.google.com/hangouts/_/fpzv7lxbebrrtrplddko3gi7tqa', uid: '12981446229393', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'LVVrDAlYqyE', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 2, title: 'Pacific Rim Scrum and Pair Hookup - Monday, 12th Oct at 09:15pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/gwnfmui7qzam5clcxzc73deqwea', uid: '1651444684526', category: 'Scrum', project_id: nil, user_id: 1, yt_video_id: 'bsXCNZLzEBI', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 1, title: 'EuroAsia Scrum and Pair Hookup - Tuesday, 30th Sep at 06:30am (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/gr4bo7pzt7homuthdnh3s4wdria', uid: '621412058673', category: 'Scrum', project_id: nil, user_id: 62, yt_video_id: 'zIuWFme7dM0', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Eng_SaaS - Thursday, 29th Oct at 04:35pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/hcbthtvyoilcwftvcazh6aemzaa', uid: '14821446136519', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'jqSbx3o6OYI', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'PairProgramming on MetPlus',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/i6wxb2xemtrq6f3f56strj4lvya', uid: '165451444685262', category: 'PairProgramming', project_id: 45, user_id: 1, yt_video_id: 'CdG1PTGoR_Q', participants: nil, hoa_status: 'broadcasting', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'CS 169.1X HW0 - Pair Programing - Friday, 30th Oct at 07:56pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/drvy2zeqkf4fwcfisle25pnndya', uid: '15311446235585', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: '6auOQ4ThTVs', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'CS169 HW0 test pair programming - Friday, 30th Oct at 07:40pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/j4nca5pqtqwvp6hafdgg6rsk2ya', uid: '15311446233536', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'BVpCiKV-vLk', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Pairing on CS169 HW0 Ruby Intro - Thursday, 29th Oct at 04:30pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/xhu4x4w3fpr4kapqhu2qfgvgt4a', uid: '14481446135957', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'fBcxg54czPA', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 1,\n                          title: 'EuroAsia Scrum and Pair Hookup (Scrum Master Sam - LocalSupport, AutoGraders) - Thursday, 16th Jul at 07:30am (UTC)', hangout_url: 'https://talkgadget.google.com/hangouts/_/grkbul2bp27soiaji5cuv7c6xma', uid: '31437031854', category: 'Scrum', project_id: nil, user_id: 3, yt_video_id: 'iCHiW7dPFpk', participants: nil, hoa_status: 'broadcasting', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: '\"TakeMeAway\" Dev meeting - Monday, 20th Jul at 06:00pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/g7xhgwuhizctvajozgd46yhrw4a', uid: '7511436985161', category: 'Scrum', project_id: nil, user_id: 1, yt_video_id: '583KgThl3QE', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'PairProgramming on WebsiteOne',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/g2edqrjkhiquglq4qp2uylbrvqa', uid: '321412158597', category: 'PairProgramming', project_id: 2, user_id: 3, yt_video_id: 'BLzjM9vlCJM', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 1,\n                          title: 'EuroAsia Scrum and Pair Hookup (Scrum Master Sam - LocalSupport, AutoGraders) - Tuesday, 13th Oct at 07:30am (UTC)', hangout_url: 'https://talkgadget.google.com/hangouts/_/mwogfk3bejcnma2gvkhnwvjfaia', uid: '31444721375', category: 'Scrum', project_id: nil, user_id: 3, yt_video_id: 'CLoDNn9FNlY', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'CS169 HW0 test pair programming - Friday, 30th Oct at 07:40pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/vfyyar446sba2fqrmwvhy2spiua', uid: '15311446234748', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'rRaZd1ACI7s', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'test - Friday, 30th Oct at 07:51pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/usxxk3wissy6wpwo3myp2sbfzea', uid: '13541446234730', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'NvNlQCDvJ8E', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 2, title: 'AutoGraders Client Meeting (BetaSaaSers) - Tuesday, 13th Oct at 02:15pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/tj43tplragxv6nbrk5qmso2lgia', uid: '31444745991', category: 'Scrum', project_id: nil, user_id: 3, yt_video_id: 'VdnCJY1oZ6w', participants: nil, hoa_status: 'broadcasting', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 1,\n                          title: 'EuroAsia Scrum and Pair Hookup (Scrum Master Sam - LocalSupport, AutoGraders) - Friday, 17th Jul at 07:30am (UTC)', hangout_url: 'https://talkgadget.google.com/hangouts/_/gvmupaf4b4lirze3ffmnbqhbrma', uid: '31437118035', category: 'Scrum', project_id: nil, user_id: 3, yt_video_id: 'KT2772aZFjw', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'CS 169.1X HW0 - Pair Programing - Friday, 30th Oct at 08:00pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/gfkxiep72yzakxymnhbfm22xxua', uid: '15201446235278', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'T5Vor4EIPZA', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Tryout for CS169 Ruby Intro - ',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/qzdqnbfttwzgz5ue4aprczq2a4a', uid: '15391446244298', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'rIIVC6o2olQ', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'AtlanticScrum and Pair Hookup - Tuesday, 30th Sep at 02:15pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/gqsdynxy5k2c36yjzjbiyrgpama', uid: '31412086476', category: 'Scrum', project_id: nil, user_id: 3, yt_video_id: 'wNzlHRsnlGA', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3,\n                          title: 'AtlanticScrum and Pair Hookup (Scrum Master Sam - LocalSupport, AgileVentures) - Thursday, 16th Jul at 02:45pm (UTC)', hangout_url: 'https://talkgadget.google.com/hangouts/_/g6ceqnaa44okcdkb6mlw7zcmoaa', uid: '31437058012', category: 'Scrum', project_id: nil, user_id: 3, yt_video_id: 'ZT48QCtdUXM', participants: nil, hoa_status: 'broadcasting', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Pairing on CS169 HW0 Ruby Intro - Saturday, 31st Oct at 12:20am (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/wqj3hrh4cjmsuehhqrz47wdf7qa', uid: '11741446250643', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'id7iIPku3QQ', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Tryout for CS169 Ruby Intro - Friday, 30th Oct at 11:01pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/vixmb4hdswv7oslgig6yds76ema', uid: '15391446246155', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'r8dkPeCv5ys', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Pairing on CS169 HW0 Ruby Intro - Friday, 30th Oct at 09:43pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/guxa3fjcb2hxcjda2ihfm3o5hya', uid: '14081446241552', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'RUqM3rqZgCQ', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 2, title: 'Pacific Rim/US Scrum and Pair Hookup - Friday, 30th Oct at 09:15pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/retutkpbfexycrn3a745vc2gnma', uid: '1651446239707', category: 'Scrum', project_id: nil, user_id: 1, yt_video_id: 'PlZzAXdMAyo', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3,\n                          title: 'AtlanticScrum and Pair Hookup (Scrum Master Sam - LocalSupport, AgileVentures) - Tuesday, 13th Oct at 02:45pm (UTC)', hangout_url: 'https://talkgadget.google.com/hangouts/_/oqphfmenr76bzxxopxaqlxsl4ia', uid: '31444747610', category: 'Scrum', project_id: nil, user_id: 3, yt_video_id: 'w9dg2Cu037c', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3,\n                          title: 'AtlanticScrum and Pair Hookup (Scrum Master Sam - LocalSupport, AgileVentures) - Friday, 17th Jul at 02:45pm (UTC)', hangout_url: 'https://talkgadget.google.com/hangouts/_/gqcfmhjnfesxgsxnhjg7o4tagua', uid: '31437144267', category: 'Scrum', project_id: nil, user_id: 3, yt_video_id: 'KLZzpaKiesU', participants: nil, hoa_status: 'broadcasting', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'PairProgramming on MetPlus',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/sccubvjed3do3krpjcpfnsnmraa', uid: '748451444757367', category: 'PairProgramming', project_id: 45, user_id: 1, yt_video_id: 'ymfREOBmLpQ', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 2, title: 'Pacific Rim/US Scrum and Pair Hookup - Tuesday, 13th Oct at 09:15pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/gpmrt5ubdakw2vxroqdniog2b4a', uid: '1651444770946', category: 'Scrum', project_id: nil, user_id: 1, yt_video_id: 'cd-qQFCm9Eo', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 1,\n                          title: 'EuroAsia Scrum and Pair Hookup (Scrum Master Sam - LocalSupport, AutoGraders) - Monday, 20th Jul at 07:30am (UTC)', hangout_url: 'https://talkgadget.google.com/hangouts/_/gvg3wiluntcn2s7afa3kh6f6xya', uid: '31437377357', category: 'Scrum', project_id: nil, user_id: 3, yt_video_id: 'YHB9Duo55-E', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'PairProgramming on MetPlus',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/jow5f6u5brkbdgxsak5fjjx4jya', uid: '165451444771857', category: 'PairProgramming', project_id: 45, user_id: 1, yt_video_id: 'bGF_gzb4xJ4', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 1,\n                          title: 'EuroAsia Scrum and Pair Hookup (Scrum Master Sam - LocalSupport, AutoGraders) - Wednesday, 14th Oct at 07:30am (UTC)', hangout_url: 'https://talkgadget.google.com/hangouts/_/zltm2ujdri5kabps7wkbgvlslia', uid: '31444807900', category: 'Scrum', project_id: nil, user_id: 3, yt_video_id: 'YL2w37bPiwY', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3,\n                          title: 'AtlanticScrum and Pair Hookup (Scrum Master Sam - LocalSupport, AgileVentures) - Wednesday, 14th Oct at 02:45pm (UTC)', hangout_url: 'https://talkgadget.google.com/hangouts/_/mywarwhc227pwmiwkbpdrswzbaa', uid: '31444834012', category: 'Scrum', project_id: nil, user_id: 3, yt_video_id: 'ZiqAey5-dks', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 6, title: 'AmericasScrum and Pair Hookup - Monday, 6th Oct at 06:00pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/guoqaaqthcrcakrpw26ylngjtea', uid: '151412618425', category: 'Scrum', project_id: nil, user_id: 15, yt_video_id: '2thvcT9TwCk', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Pairing on CS169 HW0 Ruby Intro - ',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/unjx4a37yqicri34r5fszf7teea', uid: '15451446273000', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: '', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'CS169 HW01 pairing - Friday, 30th Oct at 11:45pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/nxfnznqlxsvfv25osh454zvcfaa', uid: '14041446247871', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'yG6MnKxH4gM', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Test Hangout, do not come! - Saturday, 31st Oct at 01:08am (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/zaqvl4tghorqcfkb5t55dy7pxua', uid: '14591446253757', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: '6P5XCU5eUQg', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3,\n                          title: 'AtlanticScrum and Pair Hookup (Scrum Master Sam - LocalSupport, AgileVentures) - Monday, 20th Jul at 02:45pm (UTC)', hangout_url: 'https://talkgadget.google.com/hangouts/_/gxkngzvqqvpulernfy4vh77paaa', uid: '31437403476', category: 'Scrum', project_id: nil, user_id: 3, yt_video_id: '1ho25v2qAd0', participants: nil, hoa_status: 'broadcasting', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: '\"TakeMeAway\" Dev meeting - Wednesday, 22nd Jul at 06:00pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/g3m25rwd4pfstykgaiyjs5krn4a', uid: '7511437416513', category: 'Scrum', project_id: nil, user_id: 1, yt_video_id: 'FYxzhOVlfX8', participants: nil, hoa_status: 'broadcasting', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'PairProgramming on LocalSupport',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/ykz7q4huezxz73zp6aw4vrfzyea', uid: '331444912184', category: 'PairProgramming', project_id: 3, user_id: 3, yt_video_id: 'pN6sx1JOc58', participants: nil, hoa_status: 'broadcasting', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'PairProgramming on LocalSupport',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/gwesl35nwvii45jjnc4ahfm46qa', uid: '92131437465039', category: 'PairProgramming', project_id: 3, user_id: 1, yt_video_id: 'ZAqjW6Z4oME', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Pairing on CS169 HW0 Ruby Intro - Saturday, 31st Oct at 02:21am (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/y6aa6twh7vllkwhi7j3ks6urxya', uid: '15411446258154', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'ExTZlHEjNvE', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Test Pairing for the MOOC - Thursday, 15th Oct at 11:08am (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/xcp5dbkamtj4escbcerioamtf4a', uid: '31444907243', category: 'PairProgramming', project_id: nil, user_id: 3, yt_video_id: '', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 2, title: 'Pacific Rim/US Scrum and Pair Hookup - Wednesday, 14th Oct at 09:15pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/3tba6uv3dqumfz5wm5xon4gktya', uid: '1651444857302', category: 'Scrum', project_id: nil, user_id: 1, yt_video_id: 'YhDExjY9Rx8', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 1, title: 'EuroAsia Scrum and Pair Hookup - Friday, 3rd Oct at 06:30am (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/gzwsmlsjsyii7jhx3o2qpbvzgya', uid: '621412317625', category: 'Scrum', project_id: nil, user_id: 62, yt_video_id: '0QoA4eRa2Zo', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 1,\n                          title: 'EuroAsia Scrum and Pair Hookup (Scrum Master Sam - LocalSupport, AutoGraders) - Thursday, 15th Oct at 07:30am (UTC)', hangout_url: 'https://talkgadget.google.com/hangouts/_/cm6sebqdpdfaap3rsicxdvp7lya', uid: '31444894158', category: 'Scrum', project_id: nil, user_id: 3, yt_video_id: 'QjsEEGAkzl0', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3,\n                          title: 'AtlanticScrum and Pair Hookup (Scrum Master Sam - LocalSupport, AgileVentures) - Thursday, 15th Oct at 02:45pm (UTC)', hangout_url: 'https://talkgadget.google.com/hangouts/_/vvewfwpcqobckuxsmyk2lat3hya', uid: '31444920337', category: 'Scrum', project_id: nil, user_id: 3, yt_video_id: '3rLJDeXOUlU', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Bruno And Gustavo Pair Programing - Saturday, 31st Oct at 01:04am (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/2qai3ip4lzlgued2egbiqskywma', uid: '13591446253478', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'zUKMfnUDg3M', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 1,\n                          title: 'EuroAsia Scrum and Pair Hookup (Scrum Master Sam - LocalSupport, AutoGraders) - Tuesday, 21st Jul at 07:30am (UTC)', hangout_url: 'https://talkgadget.google.com/hangouts/_/gq3pk2o5xajjhwb6hu6mis4hoqa', uid: '31437463532', category: 'Scrum', project_id: nil, user_id: 3, yt_video_id: 'KpcTMUgGYco', participants: nil, hoa_status: 'broadcasting', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Test Pairing for the MOOC - Thursday, 15th Oct at 11:15am (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/5iponpem5xeadliqxxeajmqgsea', uid: '31444907524', category: 'PairProgramming', project_id: nil, user_id: 3, yt_video_id: '84pyGhtpS5Y', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'PairProgramming on MetPlus',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/c3n6d4tg6ntdu7rqfhsywdaswia', uid: '165451444858262', category: 'PairProgramming', project_id: 45, user_id: 1, yt_video_id: '2Nq2P1YdGOc', participants: nil, hoa_status: 'broadcasting', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 2, title: 'AutoGraders Client Meeting (BetaSaaSers) - Tuesday, 21st Jul at 02:45pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/gw4qoaemtquwu2jnx3lzvkzaz4a', uid: '31437489924', category: 'Scrum', project_id: nil, user_id: 3, yt_video_id: 'UmVND5rSiEs', participants: nil, hoa_status: 'broadcasting', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 2, title: 'OSRA Scrum - Tuesday, 21st Jul at 07:00pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/g23born7xqiy7dcy45j5xssihqa', uid: '6331437505199', category: 'Scrum', project_id: nil, user_id: 1, yt_video_id: '', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: ' HW0 Ruby Introduction  - Saturday, 31st Oct at 10:00am (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/7etmtwfmh6ra3xdp5oxjg2ctxea', uid: '11741446285447', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'q7-HfTG-kOE', participants: nil, hoa_status: 'broadcasting', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 1,\n                          title: 'EuroAsia Scrum and Pair Hookup (Scrum Master Sam - LocalSupport, AutoGraders) - Wednesday, 22nd Jul at 07:30am (UTC)', hangout_url: 'https://talkgadget.google.com/hangouts/_/gv76ee5lvbfx7fqe3phpuznfima', uid: '31437550497', category: 'Scrum', project_id: nil, user_id: 3, yt_video_id: 'hk7aTquQa-o', participants: nil, hoa_status: 'broadcasting', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Pairing on CS169 HW0 Ruby Intro - Saturday, 31st Oct at 11:00am (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/s22lhjniru3r3wsgo36kwkueaaa', uid: '14001446289285', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'Kzu72X9npSY', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 1,\n                          title: 'EuroAsia Scrum and Pair Hookup (Scrum Master Sam - LocalSupport, AutoGraders) - Monday, 27th Jul at 07:30am (UTC)', hangout_url: 'https://talkgadget.google.com/hangouts/_/gqkhmkqm3s63xnrwygzc7qlk6qa', uid: '11437982233', category: 'Scrum', project_id: nil, user_id: 1, yt_video_id: '5sb3g5-gTco', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 1,\n                          title: 'EuroAsia Scrum and Pair Hookup (Scrum Master Sam - LocalSupport, AutoGraders) - Friday, 24th Jul at 07:30am (UTC)', hangout_url: 'https://talkgadget.google.com/hangouts/_/gzlyyftj3sq7h57ujzdxjx25bqa', uid: '11437723400', category: 'Scrum', project_id: nil, user_id: 1, yt_video_id: 'ECNBQz8dNDU', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'PairProgramming on LocalSupport',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/gwwv5njvp2spmclrglxu5pq53ua', uid: '2631439662153', category: 'PairProgramming', project_id: 3, user_id: 26, yt_video_id: '8A9yxKRZwaM', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Pairing on CS169 HW0 Ruby Intro - Rahul - Saturday, 31st Oct at 05:37pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/5rb34jwodzbh2vvowwwbiisb2ia', uid: '14551446301811', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'L2jPUkdITzg', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'PairProgramming on LocalSupport',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/g2xlvv7yonemx5zpfrr2fsxdw4a', uid: '2631438553320', category: 'PairProgramming', project_id: 3, user_id: 26, yt_video_id: 'kvbo0ONFrrc', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 1,\n                          title: 'EuroAsia Scrum and Pair Hookup (Scrum Master Sam - LocalSupport, AutoGraders) - Wednesday, 29th Jul at 07:30am (UTC)', hangout_url: 'https://talkgadget.google.com/hangouts/_/gywkb7gkfvhrv4lminw32rvmfia', uid: '11438154873', category: 'Scrum', project_id: nil, user_id: 1, yt_video_id: 'uLYDV7LjI3E', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 2, title: 'AutoGraders Client Meeting (BetaSaaSers) - Tuesday, 28th Jul at 02:45pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/g3oqlsaadsuvs32nfaxyasttcea', uid: '4611438094773', category: 'Scrum', project_id: nil, user_id: 1, yt_video_id: '3x61Tgo06wk', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Pairing on CS169 HW0 Ruby Intro - Saturday, 31st Oct at 01:35pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/3femspmbokpoliphjcylho7soua', uid: '15491446298654', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'oaC0VMsqE1M', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Pairing on CS169 HW0 Ruby - ',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/pnfy4cfyg4fky4ypxemm7mvvmaa', uid: '14981446299275', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'CuDyU5184N4', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Pair Programming on HW1 Sinatra - Saturday, 31st Oct at 03:00pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/2jdmdvlatwssyofxk3wpufs3cua', uid: '14251446304181', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'TxQRx9_ItYQ', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Test Hangout On Air - Saturday, 31st Oct at 03:00pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/tnr2lu3ldt6dhmnwzhy5mcsyqua', uid: '15501446303266', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'FHiI2fIfbhs', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Event test - Saturday, 31st Oct at 02:13pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/44y3fh324rdee66kpgril2beuia', uid: '15511446300856', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: '7t2AXeyW5es', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Pairing on CS169 HW0 Ruby Intro - Thursday, 29th Oct at 04:52pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/ueocmjkdw6rmzj6fqdx563b6l4a', uid: '14271446137581', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'R4LfygwLyto', participants: nil, hoa_status: 'broadcasting', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'PairProgramming on MetPlus',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/m2r7ccrto27w3vjeltxyaakjr4a', uid: '748451444933080', category: 'PairProgramming', project_id: 45, user_id: 1, yt_video_id: '1zobb_CFRVU', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'test pair on air - Thursday, 29th Oct at 05:18pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/yg3tlvmwy746bijjkxq6t4iufea', uid: '14881446139120', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'axbc1oeOVxo', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Home work  - Thursday, 29th Oct at 05:28pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/tj3ws6bkexr52zxthtldacmac4a', uid: '11771446139958', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'H7A0glDi4TY', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'brian and nate share - Thursday, 29th Oct at 05:50pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/6zmefrmrhsmkyhwrxwuhictx7ia', uid: '14801446141029', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: '3c8LHPQWMpA', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 2, title: 'Agile Ventures Weekly Meeting - Friday, 16th Oct at 06:00pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/q65sewfepp5uywidxdqxbhk4yqa', uid: '11301445018600', category: 'Scrum', project_id: nil, user_id: 2, yt_video_id: 'NKT0ppB3A3M', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Pairing on CS169 HW0 Ruby Intro - Saturday, 31st Oct at 04:04pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/kl66tcnklga7uwkslsmjexd7uua', uid: '15541446307568', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'BBvXcy0S2zg', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Chidi - Saturday, 31st Oct at 03:16pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/552pwwf2yw77nocgjhozqjscy4a', uid: '14251446304502', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'ovThy3WC7Z0', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3,\n                          title: 'AtlanticScrum and Pair Hookup (Scrum Master Sam - LocalSupport, AgileVentures) - Thursday, 29th Oct at 03:45pm (UTC)', hangout_url: 'https://talkgadget.google.com/hangouts/_/qmgtwttpmqo6vfx5w6g4gcgvxaa', uid: '31446133536', category: 'Scrum', project_id: nil, user_id: 3, yt_video_id: 'CfH5v9XxKkI', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'CS169.1x HW0 - Saturday, 31st Oct at 03:20pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/taenhwr5nosvm5yqxwsrmigvlua', uid: '15051446304470', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: '7yWNtyfHyzE', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Pairing on CS169 HW0 Ruby Intro - Thursday, 29th Oct at 04:30pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/koj67lkeia43dcmhwl22pnreqya', uid: '13761446136570', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'MFGBqkrEMnA', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 2, title: 'Pacific Rim/US Scrum and Pair Hookup - Thursday, 15th Oct at 09:15pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/2o7ucmksbuldqfq2nn5trj473aa', uid: '1651444943865', category: 'Scrum', project_id: nil, user_id: 1, yt_video_id: '-5GgYbIm6i8', participants: nil, hoa_status: 'broadcasting', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Pairing on CS169 HW0 Ruby Intro - Saturday, 31st Oct at 03:40pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/3yk6xhi5npurzekzhuzmmlqt6ea', uid: '15541446306086', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'f4bIRLGY3IU', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'PairProgramming on LocalSupport',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/g7oywczqxnv4j2kxof6h3y3goma', uid: '2631439686482', category: 'PairProgramming', project_id: 3, user_id: 26, yt_video_id: 'x70VRtGSRmo', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 1,\n                          title: 'EuroAsia Scrum and Pair Hookup (Scrum Master Sam - LocalSupport, AutoGraders) - Friday, 16th Oct at 07:30am (UTC)', hangout_url: 'https://talkgadget.google.com/hangouts/_/2tmetoihszygkjh7s4trvcj4zia', uid: '31444980610', category: 'Scrum', project_id: nil, user_id: 3, yt_video_id: 'xxnJ38DD9dU', participants: nil, hoa_status: 'broadcasting', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 2, title: 'WSO Weekly Dev Meeting - Tuesday, 25th Nov at 07:15pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/gyvnou2a6qszvkw5ep3z5lomcma', uid: '11416942938', category: 'Scrum', project_id: nil, user_id: 1, yt_video_id: '', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'vlad - Saturday, 31st Oct at 05:00pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/247srtekz3dagxvkiv7ogi4wt4a', uid: '11781446310975', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'wVqJfnHDjq8', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Pairing on CS169 HW0 Ruby Intro - Rahul - Sunday, 1st Nov at 05:37pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/bzdlhogidsraatfzvjp6suwzdya', uid: '14551446314674', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'HRH4qMZbRig', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Pairing on CS169 HW0 Ruby Intro - Saturday, 31st Oct at 06:30pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/bsjfafh5ehped4wrm67mqob43ea', uid: '15551446315621', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'DjnGwar6e2Y', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 1,\n                          title: 'EuroAsia Scrum and Pair Hookup (Scrum Master Sam - LocalSupport, AutoGraders) - Tuesday, 25th Aug at 07:30am (UTC)', hangout_url: 'https://talkgadget.google.com/hangouts/_/gtl53dspubrmc2bkglier3hezqa', uid: '31440487796', category: 'Scrum', project_id: nil, user_id: 3, yt_video_id: 'XytLgbYKF0c', participants: nil, hoa_status: 'broadcasting', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 2, title: 'AutoGraders Client Meeting (BetaSaaSers) - Tuesday, 18th Aug at 02:45pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/gvytemkjcbwzpksswaq6q7bl7ia', uid: '4611439909138', category: 'Scrum', project_id: nil, user_id: 1, yt_video_id: '8tlEBWrWcMk', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 1,\n                          title: 'EuroAsia Scrum and Pair Hookup (Scrum Master Sam - LocalSupport, AutoGraders) - Monday, 24th Aug at 07:30am (UTC)', hangout_url: 'https://talkgadget.google.com/hangouts/_/guzy6oxp7vbvvltf45yd3jsifea', uid: '31440401440', category: 'Scrum', project_id: nil, user_id: 3, yt_video_id: 'YkNqqmvGL6I', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Irakli - Saturday, 31st Oct at 05:55pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/67omyzdhotstqkg7brviivv2naa', uid: '15181446314147', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'LIXn-tWdRw4', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'HW0 Ruby Introduction - Saturday, 31st Oct at 06:36pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/rmd4u2um6qsla3qybeeqppd3qaa', uid: '15181446316604', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'ErZceLzSzxk', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Chidi - Saturday, 31st Oct at 08:00pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/6ssfsio57pm4wewgvfqrmnfrmua', uid: '14821446322075', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'NRpcIQyEQPY', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Weekly Dev Meeting WSO - Friday, 16th Oct at 07:30pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/3lj4zpiq7njc7kgfjq5ybujnuia', uid: '10801445023843', category: 'Scrum', project_id: nil, user_id: 2, yt_video_id: 'CXeaLFJcGKc', participants: nil, hoa_status: 'broadcasting', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'HW0 Ruby Introduction - Saturday, 31st Oct at 06:36pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/wmmxc4orbu5jfbe52xy3dvkmxaa', uid: '14551446316616', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'Txe2tpmv6kU', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'ESaaS HW0 - Saturday, 31st Oct at 11:47pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/i5il7tn4pf44224kindanbvvyea', uid: '14251446335417', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'oQMvHzvQ-LM', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Logan Yu Test Pair Programming - Saturday, 31st Oct at 11:01pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/ljhikfz6zwr2wun6h72jy7ogpea', uid: '13511446332662', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'X2VZRP_4Z94', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'PairProgramming on MetPlus',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/4goypj7hkq2ucmahqzmnjxqxlya', uid: '748451444945087', category: 'PairProgramming', project_id: 45, user_id: 1, yt_video_id: 'qR-Y4YDDPxM', participants: nil, hoa_status: 'broadcasting', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'test pair on air - Thursday, 29th Oct at 05:18pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/fpejidzyaxorcti3smnx7wnj3ea', uid: '14881446139759', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: '', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'PairProgramming on MetPlus',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/4j4ysavla3hpar63iddc2cti2ma', uid: '748451446314613', category: 'PairProgramming', project_id: 45, user_id: 1, yt_video_id: 'ziHgmhiQEH8', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'St.chuks - Thursday, 29th Oct at 04:59pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/ven66vsjmai57a3r4mpf7sauiaa', uid: '14251446137818', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'fAa_Xd6PQxY', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'brian and nate share - Thursday, 29th Oct at 05:50pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/5cdhn4tkb6nshtrozv5u2l2yyea', uid: '14671446141680', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'DY3iGzO58Ks', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 2, title: 'OSRA Scrum - Tuesday, 25th Aug at 07:00pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/gwfmhodh75su2mzpiaoj6k6x6ma', uid: '6331440526060', category: 'Scrum', project_id: nil, user_id: 1, yt_video_id: '', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 2, title: 'AutoGraders Client Meeting (BetaSaaSers) - Tuesday, 25th Aug at 02:45pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/gw6i2ig6n5ubeue6skzi4aihdya', uid: '31440513343', category: 'Scrum', project_id: nil, user_id: 3, yt_video_id: 'CK2vy1P6oyA', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 2, title: 'Pacific Rim/US Scrum and Pair Hookup - Friday, 16th Oct at 09:15pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/immtqpnp4vslpzbsq42hpbxmsya', uid: '1651445030477', category: 'Scrum', project_id: nil, user_id: 1, yt_video_id: 'yPXCGm3m8UU', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 2, title: 'OSRA Scrum - Tuesday, 25th Aug at 07:00pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/gwnmd54ohmtj4mre222yin2oria', uid: '6331440529309', category: 'Scrum', project_id: nil, user_id: 1, yt_video_id: '', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Pairing on CS169 HW0 Ruby Intro - Rahul - Saturday, 17th Oct at 05:37pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/72dshoikajjim3s4fbvop5ccfea', uid: '12171445103117', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'JArUeS7fRYY', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'PairProgramming on WebsiteOne',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/ughr5mbpxvjj6jms4dn5whno2qa', uid: '2221445110348', category: 'PairProgramming', project_id: 2, user_id: 22, yt_video_id: '0IKuBxMDJqs', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'PairProgramming on Ütf8-Ärger',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/suqt6siminbilnegvj52pphlhaa', uid: '83131445154109', category: 'PairProgramming', project_id: 13, user_id: 83, yt_video_id: '-JrbxOnPuVo', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'PairProgramming on WebsiteOne',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/nlhu3ohfrmdokziihvomxoxid4a', uid: '8321445155896', category: 'PairProgramming', project_id: 2, user_id: 83, yt_video_id: '_0C01anztNw', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: '\"TakeMeAway\" Dev meeting - Wednesday, 26th Aug at 06:00pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/gq5jdnw2gqmmbctvj327pc53pya', uid: '7511440612002', category: 'Scrum', project_id: nil, user_id: 1, yt_video_id: 's8D5fsLXdO8', participants: nil, hoa_status: 'broadcasting', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3,\n                          title: 'AtlanticScrum and Pair Hookup (Scrum Master Sam - LocalSupport, AgileVentures) - Wednesday, 26th Aug at 02:45pm (UTC)', hangout_url: 'https://talkgadget.google.com/hangouts/_/gsdflijjdgde22zcjoaerfpxmua', uid: '31440600425', category: 'Scrum', project_id: nil, user_id: 3, yt_video_id: 'tU2WDbA9u3c', participants: nil, hoa_status: 'broadcasting', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 2, title: 'OSRA Daily Scrum - Friday, 24th Oct at 07:00pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/gylgsxikkwnm7visrmnd5wd43aa', uid: '151414177179', category: 'Scrum', project_id: nil, user_id: 15, yt_video_id: 'lcgd8Puu0Is', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'PairProgramming on LocalSupport',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/qjdvqfe32rhvayohfsn2zo63cia', uid: '2631445131075', category: 'PairProgramming', project_id: 3, user_id: 26, yt_video_id: 'nxGQB2AQidU', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 1,\n                          title: 'EuroAsia Scrum and Pair Hookup (Scrum Master Sam - LocalSupport, AutoGraders) - Wednesday, 26th Aug at 07:30am (UTC)', hangout_url: 'https://talkgadget.google.com/hangouts/_/gregf724ytunzzlyrkgxx4koa4a', uid: '31440574109', category: 'Scrum', project_id: nil, user_id: 3, yt_video_id: 'jtlaxFq2pik', participants: nil, hoa_status: 'broadcasting', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Pair Programming on HW0 - Saturday, 31st Oct at 10:00pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/igjvyc76xhszrzakndkghckb2aa', uid: '13781446328169', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'tlpa4sydogE', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Logan Yu Test Pair Programming - Saturday, 31st Oct at 11:01pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/ba377sw2pa3xxeroaqfgqvbreaa', uid: '13511446332515', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'BcGCUjnLams', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 1,\n                          title: 'EuroAsia Scrum and Pair Hookup (Scrum Master Sam - LocalSupport, AutoGraders) - Thursday, 27th Aug at 07:30am (UTC)', hangout_url: 'https://talkgadget.google.com/hangouts/_/gvveebmew37snu3yhfudxeia4aa', uid: '31440660657', category: 'Scrum', project_id: nil, user_id: 3, yt_video_id: 'tJF_wMRbaGU', participants: nil, hoa_status: 'broadcasting', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Pairing on CS169 HW0 Ruby Intro - Rahul - Sunday, 18th Oct at 05:37pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/gxdbc3pmedowa2nq4icbwmhuq4a', uid: '5171445190161', category: 'PairProgramming', project_id: nil, user_id: 1, yt_video_id: 'YkYmZhCY1Oo', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Programming HW0 CS169.1x - Sunday, 1st Nov at 02:07am (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/mjo3wmlmyvmbbq5n4n455daugea', uid: '15611446343698', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'G4zOF7JhHhY', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'PairProgramming on WebsiteOne',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/gusb6k4gdc6nxnzfzbcggqixcma', uid: '44821414154389', category: 'PairProgramming', project_id: 2, user_id: 1, yt_video_id: 'xjeMWZ0Y1tk', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'PairProgramming on LocalSupport',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/nbflfd4hqvosy3rpywzebvyddia', uid: '2631445196188', category: 'PairProgramming', project_id: 3, user_id: 26, yt_video_id: 'wi70mp2a_84', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Test pair programming - Thursday, 29th Oct at 07:20pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/ad5me3mns65x2fv5v6ccqctz6ya', uid: '13971446146272', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: '4mKJQ_Xrkh4', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 2, title: 'EuroScrum and Pair Hookup - Wednesday, 26th Nov at 11:00am (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/gson5nbesyjod4qe3rry7enh44a', uid: '5021417000411', category: 'Scrum', project_id: nil, user_id: 1, yt_video_id: 'uxiSDst2x-Y', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Test pair programming - Thursday, 29th Oct at 07:20pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/5wghq4hwss56svpcbk5irbi6z4a', uid: '13971446146561', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: '', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'CS169.1x HW0 RUBY - Sunday, 1st Nov at 07:30am (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/g34cuxljqaom5it5jruit62yuma', uid: '15291446362039', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'zLt4YXanEVk', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3,\n                          title: 'AtlanticScrum and Pair Hookup (Scrum Master Sam - LocalSupport, AgileVentures) - Thursday, 27th Aug at 02:45pm (UTC)', hangout_url: 'https://talkgadget.google.com/hangouts/_/gy4nlaspjpb6geam2hp7qqccuaa', uid: '31440686688', category: 'Scrum', project_id: nil, user_id: 3, yt_video_id: 'QBACN0ieoJ0', participants: nil, hoa_status: 'broadcasting', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 1,\n                          title: 'EuroAsia Scrum and Pair Hookup (Scrum Master Sam - LocalSupport, AutoGraders) - Monday, 19th Oct at 07:30am (UTC)', hangout_url: 'https://talkgadget.google.com/hangouts/_/r64bpkjgcjjcyh2hpzhd5dzbnqa', uid: '31445240115', category: 'Scrum', project_id: nil, user_id: 3, yt_video_id: 'Vhhuf5Ak-lA', participants: nil, hoa_status: 'broadcasting', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'SaaS Edx course HW0 - Sunday, 1st Nov at 03:30am (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/vl6rv6rjhbqhyvgrvzh46y2nlaa', uid: '14701446348782', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'vzVVMkX93g8', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'HW 0 (Ruby Intro) - Monday, 19th Oct at 02:00pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/oeapclm5z4uzbonaqvazogeuima', uid: '7481445263330', category: 'PairProgramming', project_id: nil, user_id: 1, yt_video_id: '03kN5GLXzFY', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Test Event for CS169 HW0 Ruby Intro - Sunday, 1st Nov at 07:55am (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/izvnxjy5pqj7lbpav6qtegfme4a', uid: '15671446364609', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: '_Kd1MoyjIlM', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'SaaS Edx course HW0 - Sunday, 1st Nov at 06:20am (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/ndl6enhtpqyqc6oqcpzr2wa7yea', uid: '14701446358864', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'gwulpf1AbxA', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 7, title: 'Weekend EuroScrum and Pair Hookup - Saturday, 25th Oct at 09:00am (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/gtbh4vwiwezt5acvj4zr3bpkzqa', uid: '151414227700', category: 'Scrum', project_id: nil, user_id: 15, yt_video_id: 'XmbMk8l38hw', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Test Event for CS169 HW0 Ruby Intro - Sunday, 1st Nov at 07:55am (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/32ytisw5dbal2n7ipoiyadvmlqa', uid: '15291446364997', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'QYQnxlA6n9M', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 2, title: 'EuroScrum and Pair Hookup - Tuesday, 21st Oct at 10:00am (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/gxnv7kdxxzjfmt7ct66gpm2tbya', uid: '621413885547', category: 'Scrum', project_id: nil, user_id: 62, yt_video_id: 'djeCiH-xlBo', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3,\n                          title: 'AtlanticScrum and Pair Hookup (Scrum Master Sam - LocalSupport, AgileVentures) - Monday, 19th Oct at 02:45pm (UTC)', hangout_url: 'https://talkgadget.google.com/hangouts/_/uylwncstpicwjdjfcdmriiklk4a', uid: '31445265955', category: 'Scrum', project_id: nil, user_id: 3, yt_video_id: '7c9IEORgiVo', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'PairProgramming on LocalSupport',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/g7g7ne5eepvwpus7wkyigdwi2ua', uid: '2631413927648', category: 'PairProgramming', project_id: 3, user_id: 26, yt_video_id: 'Xjdk3E08WAo', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 1,\n                          title: 'EuroAsia Scrum and Pair Hookup (Scrum Master Sam - LocalSupport, AutoGraders) - Friday, 28th Aug at 07:30am (UTC)', hangout_url: 'https://talkgadget.google.com/hangouts/_/g3k6zjs5oa2ychsnpuvslx7gsaa', uid: '31440746898', category: 'Scrum', project_id: nil, user_id: 3, yt_video_id: 'upP9GQ34-bk', participants: nil, hoa_status: 'broadcasting', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3,\n                          title: 'AtlanticScrum and Pair Hookup (Scrum Master Sam - LocalSupport, AgileVentures) - Friday, 28th Aug at 02:45pm (UTC)', hangout_url: 'https://talkgadget.google.com/hangouts/_/g4ztnxp5tfe2flokrwu7rcknwea', uid: '31440773160', category: 'Scrum', project_id: nil, user_id: 3, yt_video_id: 'uaAYvC_9r_E', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 2, title: 'Pacific Rim/US Scrum and Pair Hookup - Monday, 19th Oct at 09:15pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/3kjo4wq374p5s3xilk5ccvbgwqa', uid: '1651445289396', category: 'Scrum', project_id: nil, user_id: 1, yt_video_id: '_tU4RKcjh-U', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'PairProgramming on WebsiteOne',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/g52iehxzabv6mw3hmws2wlkvaea', uid: '4721414869839', category: 'PairProgramming', project_id: 2, user_id: 47, yt_video_id: '3-2L2b2YxAQ', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3,\n                          title: 'AtlanticScrum and Pair Hookup (Scrum Master Sam - LocalSupport, AgileVentures) - Tuesday, 20th Oct at 02:45pm (UTC)', hangout_url: 'https://talkgadget.google.com/hangouts/_/rgy4drq2fgqivoofbdsspl323ya', uid: '31445352316', category: 'Scrum', project_id: nil, user_id: 3, yt_video_id: 'TfwPW5BUoD4', participants: nil, hoa_status: 'broadcasting', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'PairProgramming on MetPlus',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/tza4gev7npvxwzknhp4lx43q4ya', uid: '165451445290210', category: 'PairProgramming', project_id: 45, user_id: 1, yt_video_id: '4BMxjpZcQkg', participants: nil, hoa_status: 'broadcasting', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'PairProgramming on MetPlus',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/t4navjvy3ikcy4ed6sm5zxftoya', uid: '748451445290232', category: 'PairProgramming', project_id: 45, user_id: 1, yt_video_id: '9zXukolkwtw', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 1,\n                          title: 'EuroAsia Scrum and Pair Hookup (Scrum Master Sam - LocalSupport, AutoGraders) - Tuesday, 20th Oct at 07:30am (UTC)', hangout_url: 'https://talkgadget.google.com/hangouts/_/bkmokd4sfcoolcmwts2wdbprk4a', uid: '31445326247', category: 'Scrum', project_id: nil, user_id: 3, yt_video_id: '9raRTb4Nqns', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 2, title: 'Pacific Rim/US Scrum and Pair Hookup - Tuesday, 20th Oct at 09:15pm (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/4yfcjkvva6kglyudq6oaisv6bua', uid: '1651445375828', category: 'Scrum', project_id: nil, user_id: 1, yt_video_id: 'olsdWqZobKs', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 1,\n                          title: 'EuroAsia Scrum and Pair Hookup (Scrum Master Sam - LocalSupport, AutoGraders) - Tuesday, 1st Sep at 07:30am (UTC)', hangout_url: 'https://talkgadget.google.com/hangouts/_/g5axkohjmr7w5a2dbaaqhzxutaa', uid: '31441092516', category: 'Scrum', project_id: nil, user_id: 3, yt_video_id: 'sXDHIHmOLKg', participants: nil, hoa_status: 'broadcasting', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'PairProgramming on MetPlus',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/nlhom3osyt2kdkpeqastdrkrria', uid: '748451445367798', category: 'PairProgramming', project_id: 45, user_id: 1, yt_video_id: 'JR8CD7TCpfs', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Pairing on CS169 set up linking  - Thursday, 22nd Oct at 09:01am (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/zijgcagsx7ynhxy5cv53orvziqa', uid: '12341445392578', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'Px5_VMkDi98', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 1,\n                          title: 'EuroAsia Scrum and Pair Hookup (Scrum Master Sam - LocalSupport, AutoGraders) - Wednesday, 21st Oct at 07:30am (UTC)', hangout_url: 'https://talkgadget.google.com/hangouts/_/aiyjzvoqebfdbtb3zcmolwnoqia', uid: '31445412674', category: 'Scrum', project_id: nil, user_id: 3, yt_video_id: 'i4eWMOKHpZM', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Test Pairing for CS169.1x - Wednesday, 21st Oct at 10:00am (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/ambz5bhpxpzchmo2h3jwgikpfya', uid: '11911445422261', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'hreqPj9geeI', participants: nil, hoa_status: 'finished', url_set_directly: false, youtube_tweet_sent: false },\n                        { event_id: 3, title: 'Pairing on CS169 HW0 Ruby Intro - Wednesday, 21st Oct at 11:47am (UTC)',\n                          hangout_url: 'https://talkgadget.google.com/hangouts/_/22txkvozkdmpzvutjp6ygjnj7qa', uid: '12381445428208', category: 'PairProgramming', project_id: nil, user_id: 2, yt_video_id: 'iccIj6G63cc', participants: nil, hoa_status: 'started', url_set_directly: false, youtube_tweet_sent: false }\n                      ])\n"
  },
  {
    "path": "db/seeds/events.rb",
    "content": "# frozen_string_literal: true\n\nEvent.create!([\n                { name: 'Atlantic Scrum', category: 'Scrum', description: '', repeats: 'never', repeats_every_n_weeks: 1,\n                  repeats_weekly_each_days_of_the_week_mask: 0, repeat_ends: false, repeat_ends_on: '2018-08-05', time_zone: 'UTC', url: nil, slug: 'atlantic-scrum', start_datetime: '2018-08-05 14:19:00', duration: 30, exclusions: nil, project_id: nil, creator_id: nil, for: nil, modifier_id: nil, creator_attendance: true },\n                { name: 'WebsiteOne pair programming', category: 'PairProgramming', description: 'First steps for a new team member',\n                  repeats: 'never', repeats_every_n_weeks: 1, repeats_weekly_each_days_of_the_week_mask: 0, repeat_ends: false, repeat_ends_on: '2018-08-07', time_zone: 'UTC', url: nil, slug: 'websiteone-pair-programming-1aed14cd-067e-470f-8315-0bce1f2c5a5e', start_datetime: '2018-08-07 08:43:00', duration: 60, exclusions: nil, project_id: nil, creator_id: nil, for: nil, modifier_id: nil, creator_attendance: true },\n                { name: 'OSRA - PP on Orphan model', category: 'PairProgramming', description: '', repeats: 'never',\n                  repeats_every_n_weeks: 1, repeats_weekly_each_days_of_the_week_mask: 0, repeat_ends: false, repeat_ends_on: '2018-08-13', time_zone: 'UTC', url: nil, slug: 'osra-pp-on-orphan-model', start_datetime: '2018-08-13 19:01:00', duration: 30, exclusions: nil, project_id: nil, creator_id: nil, for: nil, modifier_id: nil, creator_attendance: true },\n                { name: 'pair programming: events including hookups, scrums, hangouts -- Yaro, Jon, and more?',\n                  category: 'PairProgramming', description: \"Possibly help Yaro with hangouts PR if there's anything left to do.\\r\\nPossibly work on a new feature to combine active, past and UPCOMING hangouts (both scrum & hookup).\\r\\nPossibly work on hookups table page to use Yaro's new CSS/HTML table design\\r\\nPossibly work on existing Create Hookup PR  to use Yaro's new CSS/HTML table design\", repeats: 'never', repeats_every_n_weeks: 1, repeats_weekly_each_days_of_the_week_mask: 0, repeat_ends: false, repeat_ends_on: '2018-08-14', time_zone: 'UTC', url: nil, slug: 'pair-programming-events-including-hookups-scrums-hangouts-yaro-jon-and-more', start_datetime: '2018-08-14 15:07:00', duration: 60, exclusions: nil, project_id: nil, creator_id: nil, for: nil, modifier_id: nil, creator_attendance: true },\n                { name: 'WebsiteOne: Authentications Controller Refactoring', category: 'PairProgramming', description: '',\n                  repeats: 'never', repeats_every_n_weeks: 1, repeats_weekly_each_days_of_the_week_mask: 0, repeat_ends: false, repeat_ends_on: '2018-08-17', time_zone: 'UTC', url: nil, slug: 'websiteone-authentications-controller-refactoring', start_datetime: '2018-08-17 04:37:00', duration: 30, exclusions: nil, project_id: nil, creator_id: nil, for: nil, modifier_id: nil, creator_attendance: true },\n                { name: 'websiteone: event_occurrences bug fix / refactor', category: 'PairProgramming',\n                  description: \"I've already submitted this as a PR, but it needs refactoring (which I already started on) and then new tests.\", repeats: 'never', repeats_every_n_weeks: 1, repeats_weekly_each_days_of_the_week_mask: 0, repeat_ends: false, repeat_ends_on: '2018-08-18', time_zone: 'UTC', url: nil, slug: 'websiteone-event_occurrences-bug-fix-refactor', start_datetime: '2018-08-18 13:04:00', duration: 60, exclusions: nil, project_id: nil, creator_id: nil, for: nil, modifier_id: nil, creator_attendance: true },\n                { name: 'Pair Programming on OSRA', category: 'PairProgramming',\n                  description: 'Pivotal Tracker story https://www.pivotaltracker.com/story/show/75757844: Introduce Factory Girl', repeats: 'never', repeats_every_n_weeks: 1, repeats_weekly_each_days_of_the_week_mask: 0, repeat_ends: false, repeat_ends_on: '2018-08-19', time_zone: 'UTC', url: nil, slug: 'pair-programming-on-osra', start_datetime: '2018-08-19 20:30:00', duration: 45, exclusions: nil, project_id: nil, creator_id: nil, for: nil, modifier_id: nil, creator_attendance: true },\n                { name: 'websiteone: event and hangout refactor: user stories', category: 'PairProgramming',\n                  description: 'please join us!', repeats: 'never', repeats_every_n_weeks: 1, repeats_weekly_each_days_of_the_week_mask: 0, repeat_ends: false, repeat_ends_on: '2018-08-25', time_zone: 'UTC', url: nil, slug: 'websiteone-event-and-hangout-refactor-user-stories', start_datetime: '2018-08-25 16:04:00', duration: 90, exclusions: nil, project_id: nil, creator_id: nil, for: nil, modifier_id: nil, creator_attendance: true },\n                { name: 'events features (and more?)... Jon & Amal, others welcome.', category: 'PairProgramming', description: '',\n                  repeats: 'never', repeats_every_n_weeks: 1, repeats_weekly_each_days_of_the_week_mask: 0, repeat_ends: false, repeat_ends_on: '2018-08-25', time_zone: 'UTC', url: nil, slug: 'events-features-and-more-jon-amal-others-welcome', start_datetime: '2018-08-25 21:11:00', duration: 30, exclusions: nil, project_id: nil, creator_id: nil, for: nil, modifier_id: nil, creator_attendance: true },\n                { name: 'websiteone: events & hangouts', category: 'PairProgramming', description: '', repeats: 'never',\n                  repeats_every_n_weeks: 1, repeats_weekly_each_days_of_the_week_mask: 0, repeat_ends: false, repeat_ends_on: '2018-08-26', time_zone: 'UTC', url: nil, slug: 'websiteone-events-hangouts', start_datetime: '2018-08-26 13:26:00', duration: 30, exclusions: nil, project_id: nil, creator_id: nil, for: nil, modifier_id: nil, creator_attendance: true },\n                { name: 'Sagar', category: 'PairProgramming', description: '', repeats: 'never', repeats_every_n_weeks: 1,\n                  repeats_weekly_each_days_of_the_week_mask: 0, repeat_ends: true, repeat_ends_on: nil, time_zone: 'UTC', url: nil, slug: 'sagar', start_datetime: '2018-10-05 09:04:00', duration: 30, exclusions: nil, project_id: 64, creator_id: 9, for: nil, modifier_id: nil, creator_attendance: true },\n                { name: 'TakeMeAway Client Meeting', category: 'Scrum', description: 'Client meeting', repeats: 'never',\n                  repeats_every_n_weeks: 1, repeats_weekly_each_days_of_the_week_mask: 0, repeat_ends: true, repeat_ends_on: nil, time_zone: 'UTC', url: nil, slug: 'takemeaway-client-meeting-ee031c7f-7cf6-49c2-8432-72e638d63870', start_datetime: '2018-09-01 18:00:00', duration: 45, exclusions: nil, project_id: nil, creator_id: nil, for: nil, modifier_id: nil, creator_attendance: true },\n                { name: 'Test for AV102', category: 'PairProgramming', description: '', repeats: 'never', repeats_every_n_weeks: 1,\n                  repeats_weekly_each_days_of_the_week_mask: 0, repeat_ends: true, repeat_ends_on: nil, time_zone: 'UTC', url: nil, slug: 'test-for-av102', start_datetime: '2018-09-22 19:01:00', duration: 2, exclusions: nil, project_id: nil, creator_id: nil, for: nil, modifier_id: nil, creator_attendance: true },\n                { name: 'First client meeting MetPlus', category: 'Scrum',\n                  description: \"First client meeting of MetPlus with he agenda:\\r\\n1 - Introduction to MetPlus\\r\\n2 - Talk about PETS in a bit more details\\r\\n3 - Question about the product\\r\\n4 - Presentation of the technological solution\\r\\n5 - Questions about the technological solution\", repeats: 'never', repeats_every_n_weeks: 1, repeats_weekly_each_days_of_the_week_mask: 0, repeat_ends: true, repeat_ends_on: nil, time_zone: 'UTC', url: nil, slug: 'first-client-meeting-metplus', start_datetime: '2018-09-26 14:00:00', duration: 90, exclusions: nil, project_id: nil, creator_id: nil, for: nil, modifier_id: nil, creator_attendance: true },\n                { name: 'Event Scheduler', category: 'PairProgramming', description: 'Continue Iteration 1', repeats: 'never',\n                  repeats_every_n_weeks: 1, repeats_weekly_each_days_of_the_week_mask: 0, repeat_ends: false, repeat_ends_on: '2018-08-28', time_zone: 'UTC', url: nil, slug: 'event-scheduler', start_datetime: '2018-08-28 15:31:00', duration: 30, exclusions: nil, project_id: nil, creator_id: nil, for: nil, modifier_id: nil, creator_attendance: true },\n                { name: 'OSRA Planning', category: 'Scrum', description: '28/08/2014 OSRA team planning meeting', repeats: 'never',\n                  repeats_every_n_weeks: 1, repeats_weekly_each_days_of_the_week_mask: 0, repeat_ends: false, repeat_ends_on: '2018-08-28', time_zone: 'UTC', url: nil, slug: 'osra-planning', start_datetime: '2018-08-28 19:00:00', duration: 30, exclusions: nil, project_id: nil, creator_id: nil, for: nil, modifier_id: nil, creator_attendance: true },\n                { name: 'websiteone- event migration:: Jon, Amal, more?', category: 'PairProgramming', description: '',\n                  repeats: 'never', repeats_every_n_weeks: 1, repeats_weekly_each_days_of_the_week_mask: 0, repeat_ends: false, repeat_ends_on: '2018-08-29', time_zone: 'UTC', url: nil, slug: 'websiteone-event-migration-jon-amal-more-8e67a0d9-7d78-4c32-9470-bb30e75f21ce', start_datetime: '2018-08-29 14:19:00', duration: 30, exclusions: nil, project_id: nil, creator_id: nil, for: nil, modifier_id: nil, creator_attendance: true },\n                { name: 'Codealia.org Reboot Meeting', category: 'Scrum',\n                  description: \"We hope to Reboot this project and put together a dev team and start talking about short and long-term strategy for Codealia.org.\\r\\nCodealia.org wants to get girls between 9 and 14 years old involved in coding. There are way too many guys hogging the coolest programming jobs. We believe the best way to change that is to start young women off with some basic coding skills that they can build on if they want to get a great job one day, or just be better at solving problems using computers in whatever field they go on to be awesome in :)\", repeats: 'never', repeats_every_n_weeks: 1, repeats_weekly_each_days_of_the_week_mask: 0, repeat_ends: false, repeat_ends_on: '2018-08-29', time_zone: 'UTC', url: nil, slug: 'codealia-org-reboot-meeting', start_datetime: '2018-08-31 17:00:00', duration: 30, exclusions: nil, project_id: nil, creator_id: nil, for: nil, modifier_id: nil, creator_attendance: true },\n                { name: 'env', category: 'PairProgramming', description: 'setting up an environment', repeats: 'never',\n                  repeats_every_n_weeks: 1, repeats_weekly_each_days_of_the_week_mask: 0, repeat_ends: false, repeat_ends_on: '2018-09-01', time_zone: 'UTC', url: nil, slug: 'env', start_datetime: '2018-09-01 14:43:00', duration: 30, exclusions: nil, project_id: nil, creator_id: nil, for: nil, modifier_id: nil, creator_attendance: true },\n                { name: 'websiteone- event migration:: Jon, Christian,more?', category: 'PairProgramming',\n                  description: 'starting with fixing the bug in the events form... javascript andmore.', repeats: 'never', repeats_every_n_weeks: 1, repeats_weekly_each_days_of_the_week_mask: 1, repeat_ends: false, repeat_ends_on: '2018-09-04', time_zone: 'UTC', url: nil, slug: 'websiteone-event-migration-jon-christian-more', start_datetime: '2018-09-04 12:19:00', duration: 30, exclusions: nil, project_id: nil, creator_id: nil, for: nil, modifier_id: nil, creator_attendance: true },\n                { name: 'one off meeting', category: 'Scrum', description: '', repeats: 'never', repeats_every_n_weeks: 1,\n                  repeats_weekly_each_days_of_the_week_mask: 0, repeat_ends: false, repeat_ends_on: '2018-09-04', time_zone: 'UTC', url: nil, slug: 'one-off-meeting', start_datetime: '2018-09-04 17:03:00', duration: 30, exclusions: nil, project_id: nil, creator_id: nil, for: nil, modifier_id: nil, creator_attendance: true },\n                { name: 'Local Support Client Meeting', category: 'Scrum', description: 'Weekly client meeting local support',\n                  repeats: 'never', repeats_every_n_weeks: 1, repeats_weekly_each_days_of_the_week_mask: 0, repeat_ends: false, repeat_ends_on: '2018-09-05', time_zone: 'UTC', url: nil, slug: 'local-support-client-meeting', start_datetime: '2018-09-05 15:30:00', duration: 30, exclusions: nil, project_id: nil, creator_id: nil, for: nil, modifier_id: nil, creator_attendance: true },\n                { name: 'Test Scrum', category: 'Scrum', description: '', repeats: 'never', repeats_every_n_weeks: 1,\n                  repeats_weekly_each_days_of_the_week_mask: 0, repeat_ends: false, repeat_ends_on: '2018-09-02', time_zone: 'UTC', url: nil, slug: 'test-scrum', start_datetime: '2018-09-02 09:32:00', duration: 5, exclusions: nil, project_id: nil, creator_id: nil, for: nil, modifier_id: nil, creator_attendance: true },\n                { name: 'Test event', category: 'Scrum', description: 'Testing new stuff', repeats: 'never', repeats_every_n_weeks: 1,\n                  repeats_weekly_each_days_of_the_week_mask: 0, repeat_ends: false, repeat_ends_on: '2018-09-02', time_zone: 'UTC', url: nil, slug: 'test-event-89fbd86b-fb96-440e-b717-e3da3bbf5aaf', start_datetime: '2018-09-02 09:32:00', duration: 30, exclusions: nil, project_id: nil, creator_id: nil, for: nil, modifier_id: nil, creator_attendance: true },\n                { name: 'OSRA Developer Meeting', category: 'PairProgramming', description: '', repeats: 'never',\n                  repeats_every_n_weeks: 1, repeats_weekly_each_days_of_the_week_mask: 0, repeat_ends: false, repeat_ends_on: '2018-09-02', time_zone: 'UTC', url: nil, slug: 'osra-developer-meeting', start_datetime: '2018-09-02 17:00:00', duration: 60, exclusions: nil, project_id: nil, creator_id: nil, for: nil, modifier_id: nil, creator_attendance: true },\n                { name: 'one off meeting', category: 'PairProgramming', description: 'mock or double in rspec', repeats: 'never',\n                  repeats_every_n_weeks: 1, repeats_weekly_each_days_of_the_week_mask: 0, repeat_ends: false, repeat_ends_on: '2018-09-08', time_zone: 'UTC', url: nil, slug: 'one-off-meeting-1da7a91c-a859-4947-b3b9-ecb61937be6d', start_datetime: '2018-09-08 14:35:00', duration: 30, exclusions: nil, project_id: nil, creator_id: nil, for: nil, modifier_id: nil, creator_attendance: true },\n                { name: 'Agile Ventures Retrospective', category: 'Scrum',\n                  description: \"Let's review the last few weeks in Agile Ventures and work out what we could possibly be doing differently.\\r\\n\\r\\nHope to repeat this at least once a month\", repeats: 'never', repeats_every_n_weeks: 1, repeats_weekly_each_days_of_the_week_mask: 0, repeat_ends: true, repeat_ends_on: nil, time_zone: 'UTC', url: nil, slug: 'agile-ventures-retrospective', start_datetime: '2018-10-03 19:00:00', duration: 60, exclusions: nil, project_id: nil, creator_id: nil, for: nil, modifier_id: nil, creator_attendance: true },\n                { name: 'WSO event management', category: 'PairProgramming', description: 'event management implementation',\n                  repeats: 'never', repeats_every_n_weeks: 1, repeats_weekly_each_days_of_the_week_mask: 0, repeat_ends: false, repeat_ends_on: '2018-06-24', time_zone: 'UTC', url: nil, slug: 'wso-event-management-cbfc45cd-f214-42fd-b79b-15845e235fe4', start_datetime: '2018-06-24 14:30:00', duration: 90, exclusions: nil, project_id: nil, creator_id: nil, for: nil, modifier_id: nil, creator_attendance: true }\n              ])\n\nEvent.create!([\n                { name: 'Morning event', category: 'Scrum', description: Faker::Lorem.paragraph,\n                  start_datetime: DateTime.now.change({ hour: 12, min: 15, sec: 0 }), duration: 800, repeats: 'weekly', repeats_every_n_weeks: '1', repeats_weekly_each_days_of_the_week_mask: '31', repeat_ends: 'never', repeat_ends_on: Date.today + 1.year, time_zone: 'UTC' },\n                { name: 'Evening event', category: 'Scrum', description: Faker::Lorem.paragraph,\n                  start_datetime: DateTime.now.change({ hour: 17, min: 45, sec: 0 }), duration: 160, repeats: 'weekly', repeats_every_n_weeks: '1', repeats_weekly_each_days_of_the_week_mask: '31', repeat_ends: 'never', repeat_ends_on: Date.today + 1.year, time_zone: 'UTC' },\n                { name: 'Premium event', for: 'Premium Mob Members', category: 'Scrum', description: Faker::Lorem.paragraph,\n                  start_datetime: DateTime.now.change({ hour: 11, min: 45, sec: 0 }), duration: 800, repeats: 'weekly', repeats_every_n_weeks: '1', repeats_weekly_each_days_of_the_week_mask: '31', repeat_ends: 'never', repeat_ends_on: Date.today + 1.year, time_zone: 'UTC' }\n              ])\n"
  },
  {
    "path": "db/seeds.rb",
    "content": "# frozen_string_literal: true\n\nklasses = [Project, Document, User, Subscription, Karma, Plan, Article, Event, EventInstance, Karma]\nold_counts = klasses.map(&:count)\nshould_prompt = old_counts.min.positive?\n\ndef get_country\n  country = File.readlines(\"#{Rails.root}/spec/fixtures/country_codes.txt\").sample\n  code, name = country.chomp.split('|')\n  @country = { country_name: name, country_code: code }\nend\n\nif should_prompt\n  puts \"Would you like to #{'delete'.red.bold} all the existing projects and documents from the database?\"\nend\n\nwhile true\n  if should_prompt\n    print 'yes(y)/no(n): '\n    response = $stdin.gets.downcase.chomp\n  else\n    response = 'y'\n  end\n\n  if %w(y yes).include?(response)\n    puts 'Clearing existing projects and documents'\n    klasses.each(&:delete_all)\n\n    pw = 'randomrandom'\n    u = User.create(first_name: 'Random', last_name: 'Guy', email: 'random@random.com', password: pw)\n    puts \"Added default user with email: #{u.email.bold.blue} and password: #{pw.bold.red}\"\n\n    autograder = u.projects.create!(\n      title: 'Autograder',\n      description: 'Autograder for the EdX CS169.x SaaS course',\n      status: 'Active',\n      commit_count: 200\n    )\n    autograder.source_repositories.create!(url: 'https://github.com/saasbook/rag')\n\n    websiteone = u.projects.create!(\n      title: 'WebsiteOne',\n      description: 'The AgileVentures site - a platform for online collaboration and crowdsourced project development.',\n      status: 'Active',\n      commit_count: 190\n    )\n    websiteone.source_repositories.create!(url: 'https://github.com/AgileVentures/WebsiteOne')\n\n    localsupport = u.projects.create!(\n      title: 'LocalSupport',\n      description: 'The open source project Local Support is a directory of local charity and non-profit organisations for a small geographical area.\nOur customer is the non-profit organization Voluntary Action Harrow.\nThe mission is to support members of the public searching for support groups for things like helping care for an elderly or sick relative; and also to help charities and non-profits find each other and network.',\n      status: 'Active',\n      commit_count: 100\n    )\n    localsupport.source_repositories.create!(url: 'https://github.com/AgileVentures/LocalSupport')\n\n    u.projects.create!(\n      title: 'EduChat',\n      description: 'Supporting real time synchronous chat in online classes',\n      status: 'Inactive',\n      commit_count: 100\n    )\n\n    u.projects.create!(\n      title: 'PP Scheduler',\n      description: \"Problem: Lots of people want to pair, but they don't know when each other are available\nSolution: is something that requires absolutely minimal effort on their part to use in order to let them pair\",\n      status: 'Active'\n    )\n\n    u.projects.create!(\n      title: 'Funniest Computer Ever',\n      description: \"Can YOU write a program to make humans laugh? Get your editors fired up and your coding caps ready because you've arrived at the Funniest Computer Ever competition!\",\n      status: 'Active'\n    )\n\n    puts 'Created default projects'\n    break\n  elsif %w(n no).include?(response)\n    break\n  end\nend\n\nu ||= User.last\n3.times do\n  p = u.projects.create(\n    title: Faker::Lorem.words(number: 3).join(' '),\n    description: Faker::Lorem.paragraph,\n    status: 'active',\n    created_at: 1.month.ago\n  )\n  3.times do\n    d = p.documents.create(\n      title: Faker::Lorem.words(number: 3).join(' '),\n      body: Faker::Lorem.paragraph,\n      created_at: 1.month.ago,\n      user_id: p.user_id\n    )\n    3.times do\n      d.children.create(\n        title: Faker::Lorem.words(number: 3).join(' '),\n        body: Faker::Lorem.paragraph,\n        project_id: p.id,\n        created_at: 1.month.ago,\n        user_id: p.user_id\n      )\n    end\n  end\nend\n\n# Premium Users\nRake::Task['db:create_plans'].invoke\n\nplans = %w(premium premiummob premiumf2f premiumplus)\nplans.each do |plan|\n  get_country\n  u = User.create!(\n    first_name: Faker::Name.first_name,\n    last_name: Faker::Name.last_name,\n    email: \"#{plan}@premi.um\",\n    password: 'premium123',\n    country_name: @country[:country_name],\n    country_code: @country[:country_code]\n  )\n  Subscription.create(\n    started_at: DateTime.now,\n    user_id: u.id,\n    plan_id: Plan.find_by_third_party_identifier(plan).id\n  )\nend\n\n100.times do |counter|\n  get_country\n  u = User.create(\n    first_name: Faker::Name.first_name,\n    last_name: Faker::Name.last_name,\n    email: Faker::Internet.email,\n    password: Faker::Lorem.characters(number: 10),\n    country_name: @country[:country_name],\n    country_code: @country[:country_code]\n  )\n  Karma.create(\n    user_id: u.id,\n    total: counter,\n    activity: Faker::Number.digit,\n    event_participation: Faker::Number.digit,\n    membership_length: Faker::Number.digit,\n    profile_completeness: Faker::Number.digit,\n    number_github_contributions: Faker::Number.digit\n  )\n\n  Project.all.sample(3).each do |p|\n    u.follow p\n  end\nend\n\n4.times do\n  User.all.sample(3).each do |u|\n    u.articles.create!(\n      title: Faker::Lorem.words(number: 3).join(' '),\n      content: Faker::Lorem.paragraphs(number: 3).join('\\n')\n    )\n  end\nend\n\nRake::Task['db:import_pages'].invoke if StaticPage.count.zero?\n\n# Seed data from \"db/seeds\" folder\nDir[File.join(Rails.root, 'db', 'seeds', '*.rb')].each do |seed|\n  puts \"seeding from : #{seed}\"\n  load seed\nend\n\n# Create ghost user\nRake::Task['user:create_anonymous'].invoke\n\nklasses.each_with_index do |klass, i|\n  puts \"#{klass.name}.count #{old_counts[i].to_s.bold.red} -> #{klass.count.to_s.bold.green}\"\nend\n"
  },
  {
    "path": "docker/README.md",
    "content": "# How to use docker to spin up WebSiteOne\n\n## Prerequisites\n\nIn order to run this container you'll need docker installation\n* [Windows](https://docs.docker.com/docker-for-windows/)\n* [OS X](https://docs.docker.com/docker-for-mac/)\n* [Linux](https://docs.docker.com/linux/started/)\n\n## Setup your environment variables\n\nCreate a .env file at the root of your directory.\n\n```\n$ touch .env\n```\n\n* You'll have to get the `.env` file content from one of the admins: @tansaku or @diraulo.  The project won't work without it.  You can send them a direct message (DM) on Slack.  The `.env` file should go in the root of the WSO project.\n* Add the following to that file:\n\n```\n2_ADDITIONAL_KEYS=please_contact_tansaku_or_diraulo_on_slack\nAIRBRAKE_API_KEY=blahblahblah\nAIRBRAKE_PROJECT_ID=123\nDATABASE_POSTGRESQL_USERNAME=postgres\nDATABASE_POSTGRESQL_PASSWORD=postgres\nRACK_TIMEOUT_SERVICE_TIMEOUT=200000000\nRECAPTCHA_SECRET_KEY=6LeIxAcTAAAAAGG-vFI1TnRWxMZNFuojJ4WifJWe\nRECAPTCHA_SITE_KEY=6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI\nSECRET_KEY_BASE=blabla\n```\n\nthe above are test keys from https://developers.google.com/recaptcha/docs/faq\n\n## Setup docker\n\nExecute this setup just for the first time, or when you want to recreate everything from scratch.\n\n**BE AWARE IT WILL DELETE ALL YOUR DATA, including the Postgres Database.**\n\n\n\n\n```\n$ ./docker/setup.sh\n```\n\n## Start docker\n\nStart the application\n\n```\n$ ./docker/start.sh\n```\n\n## Stop docker\n\nStop the application\n\n```\n$ ./docker/stop.sh\n```\n\n## Tests inside docker container\n\nTo get a shell inside the docker container run:\n\n```\n$ docker-compose run --service-ports web bash\n\n```\n\nFrom there you can run the cucumber tests \n\n(this takes almost 30min on a i5 laptop from 2017)\n\n```\n$ bundle exec cucumber\n```\n\nor rspec\n\n```\n$ bundle exec rspec\n```\n\nor jasmine\n\n```\n$ rake assets:clobber\n$ rake assets:precompile\n$ npx jasmine-browser-runner\n```\n\nps: those docker commands were tested under the following environment:\n\n- MacOS 10.13.6\n    - Docker version 18.06.0-ce, build 0ffa825\n    - docker-compose version 1.22.0, build f46880f\n\n- Linux Manjaro 17.1.12\n    - Docker version 18.06.1-ce, build e68fc7a215\n    - docker-compose version 1.22.0\n\n\nIf it doesn't work for you, try to check your docker version and consider upgrading it if you have an older version.\n"
  },
  {
    "path": "docker/setup.sh",
    "content": "#!/bin/bash\n\ndocker-compose down --rmi all --volumes --remove-orphans\ndocker-compose build --force-rm --no-cache\nDB_HOST=db docker-compose run --rm web rake db:drop\nDB_HOST=db docker-compose run --rm web rake db:create\nDB_HOST=db docker-compose run --rm web rake db:migrate RAILS_ENV=development\nDB_HOST=db docker-compose run --rm web rake db:seed\nDB_HOST=db docker-compose run --rm web rake db:test:prepare\n"
  },
  {
    "path": "docker/start.sh",
    "content": "#!/bin/bash\n\ndocker-compose down\ndocker-compose up"
  },
  {
    "path": "docker/stop.sh",
    "content": "#!/bin/bash\n\ndocker-compose down"
  },
  {
    "path": "docker-compose.yml",
    "content": "version: \"3\"\nservices:\n  db:\n    image: postgres\n    volumes:\n      - dbVolume:/var/lib/postgresql/data\n    environment:\n      POSTGRES_USERNAME: ${DATABASE_POSTGRESQL_USERNAME}\n      POSTGRES_PASSWORD: ${DATABASE_POSTGRESQL_PASSWORD}\n  web:\n    build: .\n    command: bash -c \"rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'\"\n    ports:\n      - \"3000:3000\"\n      - \"8888:8888\"\n    depends_on:\n      - db\n    environment:\n      DB_URL: postgres://db:5432\n    volumes:\n      - .:/WebsiteOne\n      - javascript_vendors:/WebsiteOne/vendor/assets/javascripts\n      - scripts:/WebsiteOne/scripts\n      - bundle_cache:/bundle\nvolumes:\n  dbVolume:\n  javascript_vendors:\n  scripts:\n  bundle_cache:\n"
  },
  {
    "path": "docker-entrypoint.sh",
    "content": "#!/bin/bash\n\n set -e\n\n bundle check || bundle install binstubs --all\n\n exec \"$@\"\n"
  },
  {
    "path": "docs/README.md",
    "content": "## Agile Ventures Documentation\n\n\n### Project overview\n* [Project Mission, Goals and Vision](mission_statement.md)\n    * Project wishlist\n\n\n### Development Set Up and Conventions\n* [Development environment set up](project_setup.md)\n* [Code style and conventions](code_style_conventions.md)\n    * [[Rails Asset Pipeline]]\n    * [[Create tags for project]]\n    * [[Adding title to page view]]\n\n\n### Project workflow - Contribuing and integrating code to WSO\n* [Project coordination outline](project_coordination_outline.md)\n* [Contributing to WebSiteOne (WSO)](../CONTRIBUTING.md)\n* [[Current staging servers]]\n\n\n### Issues\n* [Signup Issues (GitHub)](solutions_for_signup_issues.md)\n\n\n### Literature and reference\n* [[Thoughts on integrating Pair Programming with BDD and TDD]]\n"
  },
  {
    "path": "docs/adding_title_to_page_view.md",
    "content": "In `app/views/layouts/application.html.erb:4` we use following code:\n   ```\n   <title>\n   <%= content_for?(:title) ? [yield(:title),  ' | AgileVentures - WebsiteOne'].join(' ') : '| AgileVentures -    WebsiteOne' %>\n   </title>\n```\n\nUse `<% content_for :title do 'Your stylish WSO title' end %>` if you want to add title property to your view or static page. "
  },
  {
    "path": "docs/c9/install_notes.md",
    "content": "1) Create a blank hosted workspace that clones https://github.com/AgileVentures/WebsiteOne:\n\n![](images/Screenshot%202016-05-25%2008.40.44.png)\n\n1a) install ruby 2.6.3\n\n```\n$ rvm install 2.6.3\n```\n\n2) update the local software (all the linux packages on the c9 machine)\n\n```\n$ sudo apt-get update\n\n```\n\n3) install qtmake (cross-platform build tool) and fix any missing elements (choose Y for install):\n\n```\n$ sudo apt-get install qt5-default --fix-missing\n```\n\n4) install libqt5webkit5 (helps run our acceptance tests) (choose Y for install):\n\n```\n$ sudo apt-get install libqt5webkit5-dev\n```\n\n5) Install X virtual frame buffer (also for our acceptance tests)\n\n```\n$ sudo apt-get install xvfb\n```\n\n6) install bundler (manages all our ruby gems)\n\n```\n$ gem install bundler\n```\n\n7) install gems (note that forkbomb protection on c9 may kill bundle and you will need to re-run it several times to complete the install of all the gems)\n\n```\n$ bundle install --without production\n```\n\n8) install javascript dependencies (ensure bower is installed `npm install bower`)\n\n```\n$ npm install\n```\n\n9) Configure the pre-installed postgreSQL. Check which version is installed with `ls /etc/postgresql/`. If the version is not 9.3, the sed commands must be edited to reflect the current version.\n\n```\n# Change conf files to map your user to postgres user\n$ sudo sed -i 's/local[ ]*all[ ]*postgres[ ]*peer/local all postgres peer map=basic/' /etc/postgresql/9.3/main/pg_hba.conf\n$ sudo sed -i \"$ a\\basic $USER postgres\" /etc/postgresql/9.3/main/pg_ident.conf\n```\n\n- Then start postgres\n\n```\n# Start the service\n$ sudo service postgresql start\n```\n- Set encoding\n\n```\n# Make the default database template encoded in unicode\n$ psql -U postgres -c \"update pg_database set encoding = 6, datcollate = 'C', datctype = 'C' where datname = 'template1';\"\n$ sudo /etc/init.d/postgresql restart\n```\n\n- If the following error occurs when setting the encoding\n\n```\npsql: FATAL:  Peer authentication failed for user \"postgres\"\n```\n\n- Then login into postgres by typing `psql` at the command line\n\n```\n$ psql\n```\n\n- And follow the [stackoverflow](https://stackoverflow.com/a/16737776/10166730) fix.\n- Also for easy reference the commands are listed below.\n\n```\nUPDATE pg_database SET datistemplate = FALSE WHERE datname = 'template1';\nDROP DATABASE template1;\nCREATE DATABASE template1 WITH TEMPLATE = template0 ENCODING = 'UNICODE';\nUPDATE pg_database SET datistemplate = TRUE WHERE datname = 'template1';\n\\c template1\nVACUUM FREEZE;\n```\n\n- Then exit postgres\n\n```\n\\q\n```\n\n10) initialize the db\n\n```\n$ bundle exec rake db:create db:migrate db:setup\n```\n\n11) Request the .env file\n\nAsk one of the admins (e.g. @tansaku or @diraulo) for the project .env file, and also confirm which locale you are working in.\n\nAssuming your locale is `en_US.UTF-8` do the following:\n\nRun in terminal:\n\n```\nsudo locale-gen en_US.UTF-8\n```\n\nThen:\n\n```\nc9 ~/.bashrc\n```\n\nAfter `. /etc/apache2/envvars` add these lines:\n\n```\nexport LC_ALL=en_US.UTF-8\nexport LANG=en_US.UTF-8\nexport LANGUAGE=en_US.UTF-8\n```\n\n**Note**: If you face the error `Fontconfig warning: ignoring C.UTF-8: not a valid language tag`, then your locale is not correctly set.\n\n12) Run the tests\n\n**Note** to run the tests we need to ensure the test database has been migrated, use `bin/rake db:migrate RAILS_ENV=test`\n\n```\n$ xvfb-run -a bundle exec rake spec\n$ bundle exec rake jasmine:ci\n$ bundle exec rake cucumber\n```\n\nIf you get timeouts in running cucumber. They start with `Timed out waiting for response to`, you may increase the value explicitly in `features/support/capybara.rb`:\n```\ntest_options = {\n    phantomjs_options: [\n        '--ignore-ssl-errors=yes',\n        \"--proxy=#{Billy.proxy.host}:#{Billy.proxy.port}\"\n    ],\n    timeout: 500,\n    phantomjs: Phantomjs.path,\n    js_errors: true,\n}\n```\n\nDiscuss any errors with the team.\n\n13) add some seed data\n\n```\n$ rake db:seed\n```\n\n14) Start the server\n\n```\n$ bundle exec rails s -b $IP -p $PORT\n```\n\n15) View the running site\n\nClick on `Share` on top right corner. The url in front of `Application` is the one which you can use to view your site.\n\n\n**Note**\n\nEach time you come back to c9 you may need to restart the database:\n\n```\nsudo service postgresql start\n```\n"
  },
  {
    "path": "docs/cert_renewal_heroku.md",
    "content": "# This method is obsolete.  Do certs right on Heroku now...\n* [ ] updating av.org certs:\n - [ ] ensure servers are running ...\n - [ ] and shut down afterwards\n\n```$ sudo certbot certonly --manual -d develop.agileventures.org\n$ sudo heroku certs:update /etc/letsencrypt/live/develop.agileventures.org/fullchain.pem /etc/letsencrypt/live/develop.agileventures.org/privkey.pem  -r develop --confirm websiteone-develop\n\n$ sudo certbot certonly --manual -d staging.agileventures.org\n$ sudo heroku certs:update /etc/letsencrypt/live/staging.agileventures.org/fullchain.pem /etc/letsencrypt/live/staging.agileventures.org/privkey.pem  -r staging --confirm websiteone-staging\n\n$ sudo certbot certonly --manual -d www.agileventures.org\n$ sudo heroku certs:update /etc/letsencrypt/live/www.agileventures.org/fullchain.pem /etc/letsencrypt/live/www.agileventures.org/privkey.pem  -r production  --confirm websiteone-production\n```\nwould love to 100% automate this\n"
  },
  {
    "path": "docs/code_style_conventions.md",
    "content": "Sub-documents   \n   * [[Rails Asset Pipeline]]\n   * [[Create tags for project]]\n   * [[Adding title to page view]]\n\n\n<font size=\"2\" color=\"green\"><ul>\n<li>In order to keep the code style consistent across the project</li>\n     <li> As a project maintainer</li>\n     <li> I would like to have a document which describes accepted code style</li>\n     <li> And I would like developers to follow it</li>\n     <li> And I would like the document to be maintained by the code reviewer and updated with pull requests from project members</li>\n</ul></font>\n### Collaborative Software Development\nWithin the WebsiteOne project, we are fully dedicated to Pair Programming and Crowdsourced Learning.\nThat means that we strive to solve programming challenges in pairs and document our efforts so that\nother members can review our work after the fact. That means that we make use of Hangouts on Air, GitHub Pong,\nPeer review, etc for ALL code and documentation we produce within the WebsiteOne project. By fully\nadopting those methods, we can make sure that all AgileVentures members can benefit from our work.\n\n\n### Altering someone's code\n#### Simply don't do it unless you really have to in order to deliver your feature.  \nIf it is the case, then:\n\n    * Discuss the issue with the author on slack (or by other means)\n    * Leave a comment in the code for the author, e.g. 'Consider refactoring using helper methods'\n    * Leave a comment on altered lines in the commit, explaining the reasons for alterations\n    * Make sure all tests are passing\n\nIf it is a refactoring issue, it is better to point out the the issue to the author and\nlet them do it themselves or alter code in a pairing session with them.\n\n### Comments in code\n    * The code should simple enough to self-explanatory, so you should not comment on **HOW** the code works\n    * Comments can be added to to explain **WHY** this code is here and is doing what it is doing\n    * Comments can also be used to leave a message for other developers, e.g. 'needs refactoring', 'will be replaced',  etc.\n    * Comments should be done in the following format:\n        * # Comment (general comment)\n        * #TODO NS Comment (a personal todo, where NS = NameSurname initials)\n        * #TODO Comment (anyone's todo)\n    * Hardcoded data - when hardcoding test data, e.g. a parameter for a method call ( get :edit, id: **1** ):\n        - leave a comment in the code, indicating that this hardcoded data is to be replaced.  \n        - This comment is mainly for yourself, but for others too, in case you forget to remove the hardcoded data.\n"
  },
  {
    "path": "docs/create_tags_for_project.md",
    "content": "## Usage\n\nWe use tags on projects to in the context of setting search criteria for retrieval of YT videos for the project. The tags, along the projects title, are used to pull videos from all project members connected YT channels.\n\n### Setting tags\n\nOpen the console by running `$ heroku run rails c` or `$ heroku run rails c --remote production` \n\nSearch for a project and add it to a variable. Search by id or, fince we are using friendly_id's, by the projects slug: `p = Project.find_by_slug('the-odin-project')`\n\nAdd a tag by: `p.tag_list.add(\"odin\")` or a series of tags by `p.tag_list.add(\"odin, learning, web-development\", parse: true)`\n\nRemove tags by: `p.tag_list.remove(\"...\")` \n\nFinish it all by saving the object: `p.save`"
  },
  {
    "path": "docs/current_staging_servers.md",
    "content": "### Staging\n\n- develop: [websiteone-develop.herokuapp.com](http://websiteone-develop.herokuapp.com/) [![Build Status](https://travis-ci.org/AgileVentures/WebsiteOne.png?branch=develop)](https://travis-ci.org/AgileVentures/WebsiteOne) \n- staging: [websiteone-staging.herokuapp.com](http://websiteone-staging.herokuapp.com/) \n- master: [websiteone-production.herokuapp.com](http://websiteone-production.herokuapp.com/) [![Build Status](https://travis-ci.org/AgileVentures/WebsiteOne.png?branch=master)](https://travis-ci.org/AgileVentures/WebsiteOne)\n\n### Issues\nYou might run into some issues with ssh keys. \n\nYou have to upload your public key to Heroku:\n\n```heroku keys:add ~/.ssh/id_rsa.pub```\n\nIf you don't have a public key, Heroku will prompt you to add one automatically which works seamlessly. Just use:\n\n```heroku keys:add```\n"
  },
  {
    "path": "docs/deploy.md",
    "content": "To deploy into staging:\n\n1. Confirm you have privileges to push to https://git.heroku.com/websiteone-staging.git\n1. In github: merge develop to staging\n2. Clone websiteone if not already cloned\n```\ngit clone https://github.com/websiteone.git\n```\n2. If remote not set for heroku:\n  ```\n  git add heroku https://git.heroku.com/websiteone-staging.git\n  ```\n3.  Checkout and pull from staging\n```\ncd websiteone\ngit checkout staging\ngit pull origin staging\n```\n4. Push to heroku\n```\ngit push staging heroku:master\n```\n"
  },
  {
    "path": "docs/development_environment_set_up.md",
    "content": "### Installation Details: PostgreSQL\n\n## [PostgreSQL](id:postgreSQL)\n\n\n\nFirst error is usually `\"role 'postgres' does not exist (PG::ConnectionBad)\"`\n\nResolve this by running `CREATE USER postgres CREATEDB;` from the psql prompt (click the elephant icon and select \"open psql\" OR `createuser -s -r postgres` from command line if you have psql in your path\n\nAnother error occurs on OSX without `\"host: localhost\"` in the database.yml could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket `\"/var/pgsql_socket/.s.PGSQL.5432\"`?\n\nif psql doesn't run from the command line try: add `export PATH=\"/usr/local/bin:$PATH\"` to your `.bash_profile `to make sure you are talking to the postgres.app that's installed rather than the non-running postgresql that comes with OSX\n\nOSX no longer needs host: `localhost` in `database.yml` if you export PG_HOST=localhost in .bash_profile\n"
  },
  {
    "path": "docs/domain_vision_statement.md",
    "content": "The domain model can represent events which include meetings, standups and \npairing activities.  Users work on Projects, which can have associated \nevents.  Any User associated with a Project can edit any of the data \nassociated with it.\n\nAny user can create a one off or recurring event of various types, which \nare then visible in various views and search that help users discover \nrelevant events.  There are various views and search that help users \ndiscovers relevant Projects."
  },
  {
    "path": "docs/expanded_mission_statement.md",
    "content": "AgileVentures provides software project management consulting services to charities and\nnon-profits around the world.  We coordinate teams of volunteers who want to contribute\nto charitable causes and to develop their software development and project management\nskills by working in distributed online teams.\n\nThe AgileVentures website provides a coordination point for new members hoping to join\nexisting teams, start new projects and connect with charitable causes.  Existing teams\ngenerally have autonomy in how they run their projects but benefit from guidance, support\nand input from senior Agile Ventures members.\n\nEach project is autonomous in terms of choosing technologies and workflow, although Agile\nVentures promotes a short cycle development process with prototypes being delivered to\nclients at regular intervals (e.g. weekly) for feedback that allows a team to stay on\ntrack to best support customer needs.\n\nWe are deeply committed to open source (all code and documentation shared publicly) and\nopen development (meetings and pairing recordings shared live where possible), and we\nexpect all teams to be similarly committed.  We also recommend that each project maintains\nits documentation to be as terse and as up to date as possible to facilitate the\nonboarding of new members.  The nature of volunteer open source projects means a high\nturnover of participating members; ideally it will be as straightforward as possible to\ncontribute value to a project.\n\nThe AgileVentures web site (WSO) has been a learning project for many developers over\nthe last few years, and huge amounts of work have been put in to get it where it\ncurrently is.  It is a testament to the dedication and commitment of everyone who has\nbeen involved.  However it lacks coherency since it was an experimental learning\nproject where a number of competing visions have been pursued.\n\nMoving forward WSO will have a more coherent design focus; a new phase for the website\nwhere the emphasis is on doing few things (or perhaps even just one) exceptionally well\nrather than being an entry level project where developers implement whichever\nexperimental features they are interested in. There are plenty of opportunities for\nexperimentation in the increasing number of new AV projects.  The vision for the AV\nwebsite is to support the AV projects and edX MOOC pair programming activities as\neffectively as possible in line with the values outlined above.  In order to move forward\ncoherently the final judgements on the site UX, codebase and workflow will be made by the\nsenior project manager.   This is because WSO does not have a clear non-technical customer\nwho can define the single vision like some other AV projects.\n\nThe ultimate goal of AgileVentures as a whole is to make the world a better place through\ncharitable work, learn new skills, and enjoy being able to experiment with different\nworkflow with friends and colleagues, old and new.  The website is just one element of\nmany that needs to channel this vision clearly in order to achieve that ultimate goal."
  },
  {
    "path": "docs/features_and_implementation_map.md",
    "content": "In order to know which parts of a feature are already implemented or are in progress and which task I can undertake or join\n\nAs I a project member\n\nI would like to have a documents which outlines this information\n\nAnd I would like this document to be maintained by a project coordinator\n\nPossible template for [Features and Implementations map](https://docs.google.com/spreadsheets/d/1dWy07SPOs7EhD0s51STPQ6Xh7CB8cKmBEteRRIS-o-g/edit#gid=0)"
  },
  {
    "path": "docs/how_to_setup_av_dashboard_token_endpoint.md",
    "content": "## Setting up the secret tokens\nYou will need to generate a secret token that is 512 bits, or 64 bytes, long.  In python 3, you can do this by:-\n\n```python3\nimport secrets\nsecrets.token_hex(64)\n```\n\nThen you need to put that token into the WebsiteOne deployed app under the environmental variable AV_DASHBOARD_SECRET_TOKEN.\n\nThis same token will also need to be put into the appropriate environmental variable on the AVDashboard app.\n\n## Giving a specific user access to the dashboard\n\nIn general, for a user to be given access to the dashboard, they should sign the current [Agile Ventures Data Sharing Agreement](http://bit.ly/AV-confidentiality).  Provided, they have done this, you can give them access to the dashboard if you know their email as follows in the rails console:-\n\n```rb\nUser.find_by(email: \"somedude@gmail.com\").update(can_see_dashboard: true)\n```\n"
  },
  {
    "path": "docs/how_to_submit_a_pull_request_on_github.md",
    "content": "How to Submit a WSO Pull Request on Github\n==========================================\n\nAssuming that you have the following local setup:\n\n```\n$ git remote -v\norigin\t   git@github.com:YourName/WebsiteOne.git (fetch)\norigin\t   git@github.com:YourName/WebsiteOne.git (push)\nupstream   https://github.com/AgileVentures/WebsiteOne.git (fetch)\nupstream   https://github.com/AgileVentures/WebsiteOne.git (push)\n```\n1) First, make sure you are checked in to the right branch:\n\n```\n$ git checkout <your_feature_branch>\n```\n\n2) Pull the most recent version of 'develop' from the WSO GitHub repo with\n\n```\n$ git pull upstream develop\n```\n\nThis fetches and merges your current branch with the latest upstream/develop branch. If any conflicts need to be resolved at this step, how you do so will depend on what tools/IDE you use locally. This goes beyond a quick explanation - pair with someone if you get stuck.\n\n3) Run all tests.\n\n4) Push the feature branch up to your GitHub repo with\n\n```\n$ git push origin <your_feature_branch>\n```\n\n5) When you view this branch on GitHub, click the gray button that says 'New pull request':\n\nOr, if you visit your repo shortly after pushing the branch, there will be a prominent notice about the push, with a prompt to create a pull request:\n\n6) Fill out the description including \"fixes #123\" (replacing 123 with the id of the GitHub issue you've been working on) & a brief description of what you've done and create the pull request.\n\n7) Your branch's last commit will now be tested automatically by [Semaphore CI.](https://semaphoreci.com) Keep an eye on the result, which typically takes less than 15 minutes to appear:\n\nClick on the red cross to be taken to [Semaphore CI.](https://semaphoreci.com) where you can scroll through the tests to see the failure(s).\n\n8) If your build passed, wait for code review comments, make necessary changes to your code, and repeat the process starting from Step 1 as many times as necessary.\n\n_Once your pull request has been accepted and merged into the application's code base, the related GitHub issue will automatically be closed if you correctly add the appropriate sentence to the description, e.g. 'fixes #123'._\n"
  },
  {
    "path": "docs/mission_statement.md",
    "content": "# [WebsiteOne](http://agileventures.org/)\n\n## Mission statement\n#### To provide a coordination point for new members hoping to join existing teams, start new projects and connect with charitable causes.\n\n## Main features\n- Help users join standups\n- Help users take part in pair programming  (e.g. from [edX Agile Development using Ruby on Rails](https://www.edx.org/course/agile-development-using-ruby-rails-uc-berkeleyx-cs169-1x) course)\n- Help users get involved in a project\n- Support out users in achieving their learning and project goals\n- Spread AgileVentures mission statement\n\n### Get involved\nTo get involved please contact Sam Joseph <sam@agileventures.org> or Thomas Ochman <thomas@agileventures.org>\n\n### Resources\n- [Agile Ventures site](http://agileventures.org)\n- [Staging & developers servers](https://github.com/AgileVentures/WebsiteOne/wiki/Current-staging-servers)\n- [Expanded Mission Statement](expanded_mission_statement.md)\n\n"
  },
  {
    "path": "docs/osx/el_capitan_10.11.2_install_notes.md",
    "content": "WebSiteOne install\n————————\n\n:warning: These are notes from @tansaku. Use [the project setup guide](../project_setup.md) to setup your own environment. Refer to these notes if you encounter issues mentioned below where solutions are not covered in the project setup guide. :warning:\n\nFresh 10.11.2 (El Capitan) OSX\n\n1) Using git for the first time prompted installing developer tools\n\n2) pull down code\n\n```\ngit clone http://github.com/AgileVentures/WebsiteOne\n```\n\n3) install gems\n\n```\nMacBook-Pro:WebsiteOne tansaku$ bundle\n-bash: bundle: command not found\nMacBook-Pro:WebsiteOne tansaku$ gem install bundle\nFetching: bundler-1.11.2.gem (100%)\nERROR:  While executing gem ... (Gem::FilePermissionError)\n    You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.\n```\n\n4) Searched Web\n\nhttp://stackoverflow.com/questions/14607193/installing-gem-or-updating-rubygems-fails-with-permissions-error\n\n5) Followed suggestions to install RVM\n\nhttps://rvm.io/rvm/install\n\n6) which in turn suggested install of ruby 2.2.2 (because I was in WSO dir?)\n\n```\nrvm install ruby-2.2.2\n```\n\n7) allowed me to install bundle\n\n```\ngem install bundle\n```\n\n8) then I could run bundle\n\n```\nbundle\n```\n\n9) install javascript dependencies\n\n```\nnpm bower install\nnpm install\n```\n\n10) various fails (event machine, pg, puma) - matching what is in the [setup](../project_setup.md):\n\n```\nbrew link openssl --force\n```\n\n11) fixed em and puma, but pg no - need to install postgres\n\nhttp://postgresapp.com/\n\n12) psql not yet working from command line, but that seemed to sort gem\n\n13) capybara install failed - needed qt5: \n\nhttps://github.com/thoughtbot/capybara-webkit/wiki/Installing-Qt-and-compiling-capybara-webkit\n\n14) more capybara issues:\n\n```\nInstalling capybara-webkit 1.5.1 with native extensions\n\nGem::Ext::BuildError: ERROR: Failed to build gem native extension.\n\n    /Users/tansaku/.rvm/rubies/ruby-2.2.2/bin/ruby -r ./siteconf20160225-41347-1seudkd.rb extconf.rb\nProject ERROR: Xcode not set up properly. You may need to confirm the license agreement by running /usr/bin/xcodebuild.\n```\n\ninstall Xcode via the App Store got bundle completed\n\n15) needed the following after db:setup\n\n```\nbin/rake db:migrate RAILS_ENV=test\n```\n\nAnd then we were good\n\n"
  },
  {
    "path": "docs/project_coordination_outline.md",
    "content": "> As a developer\n> In order to be familiar with mechanics of project coordination\n> I would like to have a document that describes how:\n\n> * discussions are done\n* decisions are made\n* tools are used to track project items\n* commits and accepts are made\n* git flow recommendations\n* roles are assigned to project members\n\n> And I would like developers to follow it\n\n### Developer Team meetings\nApart from joining the usual AgileVentures standups, we have a weekly developer kickoff meeting just after the Atlantic standup at 16:45 UTC every Wednesday.\n\n### Waffle flow\nFor any feature request, create a github issue with a clear user story attached to the description. For example:\n\n> **Title:**  \n> Image uploading on project description  \n\n> **Description:**  \n> As a user,  \n> So that I may have a better understanding of the project goals,  \n> I would like to see images of the projects goals or accomplishments  \n\nThe story should be discussed with the project managers ([Sam](http://github.com/tansaku) and [Raoul](http://github.com/diraulo)) and other developers in a standup or developer meeting to ensure that the feature is in line with the project goals and direction.\n\nFollowing the discussion, a clear acceptance criteria should now be defined on the story, and if necessary, the story should be split into smaller (preferably independent) stories:\n\n> **Title:**  \n> Image uploading on project description  \n\n> **Description:**  \n> As a user,  \n> So that I may have a better understanding of the project goals,  \n> I would like to see images of the project goals or accomplishments  \n> Acceptance Criteria:  \n> - a user should be able to upload images through Mercury's native interface and attach it to the project description  \n> - images should also be rendered in the preview of the description  \n\nIt is up to the project managers to prioritize the story by adding priority labels or placing it higher in the relevant waffle column\n\nStories (rather than chores or bugfixes) in the backlog should then be estimated in a developer meeting. At this point, the story is estimated and ready to begin.\n\nAll members are free to start the story and begin pair programming (see Git flow)\n\nOnce completed, a pull request should be submitted and the story should be updated with a link to the pull request on GitHub, do not click finish on the story.\n\n### Git flow:\n\n1. If not already done, create a fork of the main repository on GitHub: https://github.com/AgileVentures/WebsiteOne and clone the repository:\n\n  ```\n  $ git clone git@github.com:<username>/WebsiteOne.git\n  ```\n\n  This requires SSH keys to be set up on GitHub, for more information, check out this link:\n  https://help.github.com/articles/generating-ssh-keys.\n\n  For more information on setting up the project locally, refer to this document.\n\n2. Branch off from develop and begin development:\n\n  ```\n  $ git checkout develop\n  $ git checkout -b my-story-name\n  ```\n\n3. Developers that wish to collaborate on that story should communicate with the story owner and request a pair programming session, if that is not possible, try to negotiate offline pong\n\n4. When the story is complete:\n\n  merge with the latest upstream/develop branch, so that your pull request contains all the latest changes:\n  ```\n  $ git fetch upstream\n  $ git merge upstream/develop\n  ```\n\n  check that all tests are passing (`Rspec`, `Cucumber` and `Jasmine`)\n  ```\n  $ bundle exec rspec\n  $ bundle exec cucumber\n  $ bundle exec rake jasmine:ci\n  ```\n\n  * [create a pull request](how_to_submit_a_pull_request_on_github.md) to the main repository's develop branch\n  * deploy (if a demo is necessary) on Heroku so that reviewers can view the change on a live site\n\n5. When a pull request is submitted:\n\n  the story enters a discussion stage, where other members and story owners will review the code and collaborate to improve the implementation through comments.\n\n6. The project managers will take the final decision about when to merge the story.\n"
  },
  {
    "path": "docs/project_setup.md",
    "content": "# Setting Up for Development on WebSiteOne _(Project Set Up)_\n\nThese are the steps for setting up your development environment for WebSiteOne (WSO) project.\nThis covers the tools you need to have installed and any specific configuration(s).\n\n\n### Step 1: Git ready (`git` and GitHub)\nWe use git for version control and keep the project repository on GitHub.\nYou'll need to be able to use both of those.\n\n* Register on [Github](http://github.com)  (it's free)\n* Install [git](https://git-scm.com/)\n\n### Step 2: Get your own local copy of the project to work on\nYou'll do your development work on your own copy of the project.\n\n[Additional Notes for installation on: [ubuntu](https://github.com/AgileVentures/WebsiteOne/tree/develop/docs/ubuntu), [osx](https://github.com/AgileVentures/WebsiteOne/tree/develop/docs/osx) ]\n\n* On GitHub, fork [AgileVentures/WebSiteOne](https://help.github.com/articles/fork-a-repo/) into your own GitHub area. \n* Clone your fork to your local development machine (or where-ever you are going to do your development coding).\n  To clone the fork, run the following command on your local machine:\n    \n    `git clone https://github.com/<your-github-name>/WebsiteOne`\n\nIf you need more information about git and GitHub, see this [general guide to getting set up with an AgileVentures project](http://www.agileventures.org/articles/project-setup-new-users) (use https://github.com/AgileVentures/WebsiteOne as the project URL).\n\n\nYou should now have the entire project -- all of the directories and files -- on your local machine, _and_ it should have a `git` repository (`.git`).\n\nWhen you've finished working on you changes, create a pull request (PR) on GitHub. Here are [detailed insttructions on how to create a pull request for WSO](how_to_submit_a_pull_request_on_github.md).\n\nThe whole process of doing a PR and getting it reviewed and merged into this project is described in [CONTRIBUTING.md](../CONTRIBUTING.md).\n\n#### Keeping a fork up to date\n1. Clone your fork:\n```\ngit clone git@github.com:YOUR-USERNAME/YOUR-FORKED-REPO.git\n```\n\n2. Add remote from original repository in your forked repository:\n```\ncd into/cloned/fork-repo\ngit remote add upstream https://github.com/AgileVentures/WebsiteOne.git\ngit fetch upstream\n```\n3. Updating your fork from original repo to keep up with [WebsiteOne](https://github.com/AgileVentures/WebsiteOne):\n```\ngit pull upstream develop\n```\n\n### Step 3: There are two options of setting up, choose one.\n\n## Option 1 - Installation and Usage with Docker\nSee the [Docker Project Setup](../docker/README.md) documentation\n\n## Option 2 - Local Installation\n\n### Step 1: PostgreSQL and the `pg` gem\nThe database used is [postgreSQL](https://www.postgresql.org/).  You need to have this installed and running on your local machine. \n\nOSX: Install using brew\n\n`brew install postgres`\n\n`psql -V` - to get the version of postgres\n\n`which psql` - to figure out where postgres was installed: returns eg `/Applications/Postgres93.app/Contents/MacOS/bin/psql`\n\n`bundle config build.pg --with-pg-config=/Applications/Postgres93.app/Contents/MacOS/bin/pg_config`\n\nWe recommend also installing: http://postgresapp.com/\n\n\n### Step 2: Install the gems with `bundle install`\n\n    bundle install\n\n**Note:** On OSX El Capitan and above, you may get this error:\n\n    An error occurred while installing eventmachine (1.2.7), and Bundler cannot continue.\n    Make sure that `gem install eventmachine -v '1.2.7'` succeeds before bundling.\n\nIf you then try to install the `eventmachine` gem, it also fails like this: https://github.com/eventmachine/eventmachine/issues/643.\n That's because OpenSSL is no longer distributed with OS X. So you may need to use brew to set up OpenSSL:\n\n    brew link openssl --force\n\nAnother option is to point the gem to your open ssl settings:\n\n```\ngem install eventmachine -- --with-openssl-dir=/usr/local/opt/openssl@1.1\n```\n\nOn a newer macs you can try:\n\n```\nbrew install openssl\nbrew link openssl --force\ngem install eventmachine -- --with-openssl-dir=/opt/homebrew/opt/openssl@1.1\n```\n\nAfter you do that, re-try running `bundle install` and you should be good to go on to the next step.\n\n**Note:** On OSX El Capitan and above, you may get an error on the pg gem.\n\nTo install the pg gem. You’ll need to include the following options to set your path and include the needed headers:\n\n```bash\ngem install pg -- --with-pg-config=/Applications/Postgres93.app/Contents/MacOS/bin/pg_config --with-pg-include='/Applications/Postgres93.app/Contents/MacOS/include/'\n```\n**Note that you may need to adjust these lines depending on the exact name of your Postgres.app application. Example:\nIf your application is named Postgres93, then “Postgres.app” will need to be changed to “Postgres93.app” in both places.\n\n    \n### Step 3: Install javascript dependencies using `yarn`\n\n* Use the yarn package manager for node.js.  [Here are instructions.](https://www.digitalocean.com/community/tutorials/how-to-install-and-use-the-yarn-package-manager-for-node-js)\n\n    `yarn install`\n\n### Step 4: Request the .env file and confirm your locale\n    \n* You'll have to get the `.env` file from one of the project admins.  The project won't work without it.  The `.env` file should go in the root of the WSO project.\n* Add the following to that file:\n\n```\nRECAPTCHA_SITE_KEY=6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI\nRECAPTCHA_SECRET_KEY=6LeIxAcTAAAAAGG-vFI1TnRWxMZNFuojJ4WifJWe\nAIRBRAKE_API_KEY=blahblahblah\nAIRBRAKE_PROJECT_ID=123\nSECRET_KEY_BASE=blabla\nRACK_TIMEOUT_SERVICE_TIMEOUT=200000000\n```\n\nthe above are test keys from https://developers.google.com/recaptcha/docs/faq\n\n    \n\n### Step 5: Set up the database and static pages\n\n* Run the rake command to set up the database.  Be sure to use `bundle exec` so that the gems specific to this project (listed in the Gemfile) are used:\n\n    `bundle exec rake db:setup`\n\n* Run the rake command to fetch the content for the static pages:\n\n    `bundle exec rake fetch_github:content_for_static_pages`\n    \n### Step 6: Run the tests\n\nNow you're ready to run the tests:\n\n    bundle exec rspec spec\n    npx jasmine-browser-runner runSpecs\n    bundle exec cucumber features\n\nDiscuss any errors with the team on Slack, in a scrum, or in mob or pair programming.\n\n### Step 7. Start the server\n\n    bundle exec rails s\n    \nYou can now see the system working on your local development environment!\n    \nBe sure to read and understand [how to contribute](../CONTRIBUTING.md) when you're ready to start developing and contributing.\n \n\n\n\n\n## Code Style\n\nWe recommend and follow the [Ruby Style Guide](https://github.com/bbatsov/ruby-style-guide)\n\n[Here are notes about comments and altering other's code.](code_style_conventions.md)\n\n\n\n\n[Note: This page originally at https://github.com/AgileVentures/WebsiteOne/wiki/Project-Setup-%28New-Users%29]\n\n"
  },
  {
    "path": "docs/project_wishlist.md",
    "content": "Ideas to be brainstormed, submitted and discussed.\n\n### Project Wishlist\n\n- Surfacing Potential Pairing Opportunities\n- Messaging service\n- Data visualization\n- Filtering capabilities\n- Social Integration\n- G+ and Google apps api integration COMPLETED?\n- Tease services out from current google; slow migration"
  },
  {
    "path": "docs/rails_asset_pipeline.md",
    "content": "### THIS METHOS OF DEPLOYING ASSETS HAS BEEN DEPRECATED!\n\n~~**In order to get assets to work on Heroku (js, css and images) we need to precompile them.**~~ \n\n~~The Rails asset pipeline provides an assets:precompile rake task to allow assets to be compiled and cached up front rather than compiled every time the app boots.~~\n\n~~If you have made any changes to the css or js files or if you have added any images to the project, please run ```RAILS_ENV=production bundle exec rake assets:precompile``` to precompile assets before you make a PR.~~\n\n~~Remember to add them to git with ```git add public/assets -A``` or ```git add . -A``` and make the commit and submit the PR.~~"
  },
  {
    "path": "docs/scrum_minutes.md",
    "content": "In order to keep track of important decision being made during scrums\n\nAs a project member\n\nI would like to have a document that contains:\n\n* Agenda for next scrum\n* Description of decisions that have been made at the scrum\n* Action items\n\nAnd I would like the document to be maintained by scrum masters\n"
  },
  {
    "path": "docs/solutions_for_signup_issues.md",
    "content": "# Instructions for Signup Issues\n\n## GitHub Public Email Issue\n1. Visit [GitHub Profile Settings](https://github.com/settings/profile)\n2. Check for the Public Email field with below status\n\n  > **Don't show my email address**\n  \n3. Click on the dropdown and select your email address. Example:\n\n  > **youremailaddress@domain.com**\n"
  },
  {
    "path": "docs/sponsorship.md",
    "content": "This is a sample of sponsorship copy from Apache Foundation:\n\n## Why should I sponsor the ASF?\nThe Apache Software Foundation provides support for the Apache community of open-source software projects. The Apache projects are characterized by a collaborative, consensus based development process, an open and pragmatic software license, and a desire to create high quality software that leads the way in its field. We consider ourselves not simply a group of projects sharing a server, but rather a community of developers and users.\n\nThe ASF provides the infrastructure for the projects - the mailing lists, code repositories, bug tracking systems, etc. While all of the administrative effort is currently through unpaid volunteers, we need financial assistance to purchase bandwidth and keep our servers running.\n\nBy sponsoring the ASF you show your support for our mission and help sustain a vibrant organization. Sponsorship also shows your support for Open Source and provides you the opportunity to \"give back\" to the community. Finally, since the ASF is non-profit organization, sponsorship provides attractive tax benefits.\n\n## Where will my sponsorship funds go?\nThe Apache Software Foundation comprises over 100 top level projects, over 400 active members, over 2000 committers and countless contributors and users. We are responsible for millions of lines of code and the 35+ servers which make up our infrastructure\n\nWe also have the normal business operating expenses which go with any organization. These include:\n\n- Bandwidth costs\n\n- Servers and hardware\n\n- Legal and Accounting\n\n- Normal office expenses\n\n- Marketing and PR\n\n- Sub-contractors to \"fill in the holes\" for administrative and secretarial duties\n\nYour sponsorship will allow the ASF to meet these expenses as well as expand our capability to maintain our leadership in the developer and Open Source communities. Funding will allow us to perform pro-active hardware procurement, enhance our community outreach, sponsor developer hackathons and user groups, and perform non-code related improvements to projects such as better documentation and more comprehensive websites\n\n## The Apache Software Foundation is a non-profit organization\nThe Apache Software Foundation is a private operating foundation that is registered as a non-profit, charitable organization under Section 501(c)(3) of the U.S. Internal Revenue Code. This means that, for individuals within the U.S., donations to the ASF should be tax-deductible. We are not accountants, so this cannot be trusted as financial advice of any kind, but hopefully this description will be useful to those who advise you in these matters. You may view our ruling letter from the IRS acknowledging our 501(c)3 status.\n\nYou may also review the latest financial filings and non-profit exemption application of The Apache Software Foundation in our public records section. You may also find other helpful information through GuideStar (requires free registration for full access).\n\nMore information about non-profits and related issues can be found at the Internet Nonprofit Center.\n\n## I'd like to talk to someone about supporting the ASF!\nIf you would like more information about supporting the ASF, please contact fundraising at apache dot org. Sponsorship donations are handled differently from standard non-directed donations, so if you want your donations to be part of the Sponsorship program (and thus obtain the benefits of the program), you must coordinate the donation with the Public Relations and Fundraising team ( fundraising at apache dot org ).\n\nAll information will be kept in strictest confidence.\n\n## How do sponsorship renewals happen?\nYour sponsorship will run for one year after the date of receipt of payment. For this period, we shall display your logo on our thanks page.\n\nTwo months before the end of your sponsorship, we will contact you (via the same mechanism as was used to arrange the initial sponsorship) requesting renewal. If renewal has not occurred by the renewal date of the sponsorship, the ASF may remove the sponsor's logo from the thanks page."
  },
  {
    "path": "docs/sprint_retrospective.md",
    "content": "# Purpose\nThe Sprint Retrospective is an opportunity for the Scrum Team to inspect itself and create a plan \nfor improvements to be enacted during the next Sprint. \n# Timetable\nThis is a 1.5 hours timeboxed bi-weekly meeting, after the Sprint Review and before the Spring Planning meeting.\n# Agenda\n1.  Inspect how the last Sprint went with regards to people, relationships, process, and tools.\n2.  Identify and order the major items that went well and potential improvements.\n3.  Create a plan for implementing improvements to the way the Scrum Team does its work. \n\nCurrent issues:\n* Using Lo-Fi prototypes\n* Rules for branching\n* Timetables for Scrum events (Sprint Planning, Sprint Review, Sprint Retrospective)\n* Changing project settings\n* Lay Blame - how to avoid it"
  },
  {
    "path": "docs/sprint_review.md",
    "content": "# Purpose\nA Sprint Review is held at the end of the Sprint to inspect the Increment and adapt the Product \nBacklog if needed. During the Sprint Review, the Scrum Team for WebsiteOne and all attendees collaborate \nabout what was done in the Sprint. Based on that and any changes to the Product Backlog \nduring the Sprint, we collaborate on the next things that could be done to optimize value. \n\n# Timetable\nThis is a two-hour meeting bi-weekly, right after the Scrum weekly meeting. From 4 UTC till 6 UTC.\n\n# Agenda\n1. The Product Owner (**Sam Joseph**) exploring the delivered items in the Sprint backlog and, with the help of Development Team, check them on our staging server. After exploring, he Accepts or Rejects this items.\n2. The Development Team discusses what went well during the Sprint, what problems it ran into, and how those problems were solved. \n3. The Product Owner (**Sam Joseph**) discusses the Product Backlog as it stands. \n4. The entire group collaborates on what to do next by review of how the marketplace or potential use of the product might have changed what is the most valuable thing to do next.\n5. Making a decision about starting the new server for AgileVentures right now or waiting for the next Sprint.\n\n# Result\nThe result of the Sprint Review is a revised Product Backlog that defines the probable Product \nBacklog items for the next Sprint. The Product Backlog may also be adjusted overall to meet new \nopportunities. \n"
  },
  {
    "path": "docs/thoughts_on_integrating_pair_programming_with_bdd_and_tdd.md",
    "content": "PP can be great a great tool for various things, as well as just fun by itself.\nIn order to get the maximum out of PP, it should be approached bearing some points in mind.\n\nThe first things that come to mind are – writing production code and learning.  \nThese are tasks can be very different nature and thus should be approached in a different manner in order to get the maximum potential out of PP\n\n### Purposes of Pair Programming\n\n  * Write production code\n  * Learn and explore together\n  * Have fun\n\nLet's look at Writing production code:\n\n**Here's the main idea: Get the job done!**\n\nThe whole idea of writing the code together is to achieve a goal more efficiently than you would on your own. [actually team communication is just as important as efficiency on a single task]  In this case, the goal would be - to get a working code, working prototype, passing test or functioning feature, while making fewer mistakes, having cleaner code, sharing ideas and finding better solutions together with a partner.\n\nAny code can be working or non-working, ugly or beautiful, simple or complicated.  Ideally, we want a simple, beautiful and working code.  But if we need to choose, in this scenario we choose working code and speed.  Get the job done as quickly and simply as you can and then refactor all you want.\n\nThis approach is ideally reflected in BDD/TDD Red – Green – Refactor cycle.\n\n**Before you start:**\n\n1. Set up the workspace.  It must be comfortable for both of you.\n\n2. It is crucial to set a time and goal!  Use SMART technique to derive an adequate goal.\n\n## Red – Green phase\n<hr>\n### As a Driver:\n\n**Write a failing test:**\n\n1\\.  Choose a simplest to implement example that comes to mind.  The order in which the examples are implemented does not matter.  What matters is getting the business value out of working code in the end.  \n\nAfter finishing with this example, move onto the next simplest one.  Move in short simple steps and add complexity gradually. It will not runaway from you.\n\n2\\.  Remember that writing an example carries several intentions:\n\n* To describe or specify the responsibilities and behavior of the future code we wish we had\n\n* To serve as documentation for you, your colleagues, end users and all the people you do not know.  This is your chance to make the world a better place.  Use it.\n\n* Discover and set requirements or specifications on the behavior and interfaces of the future code, i.e. what it should do, who and how to call, what to receive, etc.\n\n* To set expectations on the results of code execution, i.e. on its state after it has been run.  This, however, should be avoided in preference of behavior expectations.\n\n* To provide a test to exercise the code and make sure that it is doing the job the way we expected\n\n* To provide us with a guard or safety net to assist us during refactoring, aka regression test.\n\n* Use the FIRST principle - the test must be:\n  - Fast\n  - Independent of other tests\n  - Repeatable , i.e. producing the same output given the same input\n  - Self-checking, i.e. does not require a human to validate\n  - Timely, i.e. in time for the job\n\n3\\.  Do it quickly and do it simple:\n\n* The example should be easy to read, i.e it should  make the intention of the code immediately obvious\n\n* Use simple expectation values, that can be checked in your head, without the need of a calculator\n\n* Use simple language constructs, avoid conditionals, loops and variable declarations which are purposed to reduce duplication in the code, but make the example harder to read.\n\n* Employ the “good enough” principle, i.e. follow the accepted code style conventions, but do not slow yourself down by thinking of 'nice' example descriptions and comments, 'ideal' variable names and funky testing framework constructs and abilities.  The only measures are that your pair partner understands the example's description and purpose, and the interpreter accepts it.\n\n* Once you have chosen the example – keep focused on this and this only task and its implementations.  It is the observer's job to think of larger issues.  Tactics – for you, strategy for the observer.\n\n4\\.  Work with your pair partner\n\n* Comment your flow of thought and the flow of your hands over the keyboard.  Tell you partner what you are doing and what you want to do, i.e. what example you want to describe, what piece of code you want to write, what requirements you want to impose on the future code, its implementation or its state.\n\n* Discuss your ideas with them as you go.  This way you will be making sure that they are following you and will not make them feel like you are making all the decisions.\n\n* Confirm that your partner agrees or supports you on specifics that you may doubt about, like naming, algorithm or architecture. Ask their advice. Their job is to help you.\n\n* Ask the observer if they think the test is valid or the chosen algorithm is adequate.\n\n* Thank the observer when they point out an error or suggest an improvement.\n\n* Ask your partner to lookup documentation, so you do not get distracted away.\n\n5\\. If your partner does not understand the code and asks you to make it simpler – do it!\n\nDo it, no matter what you think about your partner's abilities and no matter if you think that your code is trivial.  If your partner cannot understand it then it is not simple and in this context - it is useless.   Simple > Short > Long.  \n\nUnnecessary complexity is also a smell:\n\n  * Clumsy chained calls\n  * Conditionals with more than one assertion\n  * Branching conditionals\n  * Unjustifiable use of pseudo-beautiful, half-magic language constructs – function references, blocks, lambdas, closures and their friends\n\nAnd never pity losing your super smart code!\n\nThe value of code is either in getting the job done, and in PP the job is to get the code working and to get your partner to understand it.  \n\nAnother value of your particular code can be in its outstanding ability to satisfy your ego and make you feel extremely pleased with yourself and your coolness.\n\nFair enough.  We all know that writing code is an art and we all like that feeling of aesthetic pleasure from the code and ourselves. However, PP is not the place nor time for it.  Do it in your own privacy or, on the contrary, do the opposite - go public and tell the world about it.   But save your partner from it – they are here for another reason and they did not ask you for it.\n\n<br>\n**Write the code to make the test pass:**\n\n1. Get the code to work.  Do it as quickly as possible.\n\n2. All the points said above about writing examples apply.  The only purpose of the code is to work and be understandable by your partner.\n\n3. I will repeat it – focus on the tasks on hands.  Do not invent something that you can bet your life on you know will be needed in future.  When the need arises – you will implement it.\n\n4. Similarly, do not try to optimize the code you have not written yet.  If the performance of the feature is not satisfactory once you made it work, then optimize it.  This is the emerging design technique.\n\n5. Development and refactoring are different: different skills, using different techniques, to be performed at different times in the overall cycle.\n\n<br>\n**Once you get Green, i.e. the test is passing:**\n\n1. Celebrate!  Literally!  You are one step closer to your goal.\n\n2. Reflect on what you have just done and discuss with your partner.  Time to move onto refactoring.\n\n### As an Observer:\n\nYour job is to observe and help the driver not only by doing things, but also by not doing some of them:\n\n1. Do not distract the driver from the task.  Let them write their code, when turn comes – you will write yours.\n\n2. Watch out for syntax and semantic errors and suggest corrections.  Be gentle and take your time – sometimes it is better to let the driver finish the line or block and then let them know.\n\n3. Stay focused.  While the driver is typing, they rely on you.\n\n4. If the driver asks you for advice – give your opinion.  Otherwise, if you think there is a better way to name a variable, to make a traversal or to write a comment – make a note and wait till refactor phase.\n\n5. If the driver is stuck and you see a simpler way to implement – suggest it to driver, but do not push it.  If they like the idea – OK, if not - you can discuss it during refactor.\n\n6. Do not grab onto every details of driver's implementation.  Your job is code review, but more importantly – the strategy.  Think of larger issues arising from the code.  Think about next step and architecture, ways of simplifying and improving the current implementation, potential problems and misses, like inputs that are not covered, unhandled scenarios that may lead to a failure.  Write it down and discuss at refactor phase.\n\n7. Lookup documentation to suggest better constructs for refactoring.\n\n## Refactor phase\n<hr>\nMartin Fowler describes refactoring as “a change made to internal structure of software to make it easier to understand and cheaper to modify without changing its observable behavior.”   There are very good books about refactoring that a very worth reading.  I will quote and summarize some critical in my view points that the authors give in their books.\n\n1\\.  Refactoring is a transition to the simplest design that passes all current tests, by removing any smells you just introduced on the Red – Green phase.\n\n2\\.  Simple design is:\n\n* it communicates every intention important to the programmers.\n* it has no duplication of code, or of logic, or of knowledge\n* it contains no unnecessary code\n\n3\\.  Refactoring does not include just any changes in a system: focus on making simpler code, not adding new features, i.e. choose one, worst smell, refactor, test and repeat the cycle.\n\n4\\.  Refactoring is not just any restructuring intended to improve code: all change must me done in simple, short steps and be safe.\n\n5\\.  Always try to stay in the Green, i.e. spend as little time in the Red while refactoring, as possible.\n\n6\\.  After updating the code, update the specs if the examples no longer reflect the responsibilities of the objects they describe.\n\n7\\.  Refactoring can go on pretty much forever, so do decide with your partner on how many internal cycles of refactoring you will be doing each Red – Green – Refactor cycle.\n\n## Switch roles and repeat the cycle\n<hr>\n"
  },
  {
    "path": "docs/tmux_setup_for_remote_pair_programming.md",
    "content": "### Installation script ###\n\nYou can launch Amazon EC2 instance for \"free tier eligible\" or you can use any other hosting.\nIf you launch Ubuntu server you can execute a script that installs all the necessary software on your server.\n\nClone and run the [setup script](https://github.com/coddeys/setup).\n```sh\ncd $HOME\nsudo apt-get install -y git-core\ngit clone https://github.com/coddeys/setup.git\nchmod +x ./setup/*.sh\n./setup/setup.sh\n```\n\n### Getting started ###\n\n* Run ``sudo passwd ubuntu``, create password for default user (ubuntu). \n* Run ``chsh -s /bin/zsh``, change default shell from bash to zsh.\n* Run ``gh-auth add --users=GITHUB_USERNAME``, github-auth allows you to quickly pair with anyone who has a GitHub account by adding and removing their public ssh keys from your ``authorized_keys`` file.\n\n#### Tmux ####\n* A user-specific configuration file should be located at ``~/.tmux.conf``\n* The prefix key (Ctrl-b) changed to (\\`) because (Ctrl-b) is not acceptable, due to emacs, bash, and vim\n* Run ``tmux`` Strat a new session\n* ``\\` b OR \\` :detach `` Detach from currently attached session\n* Run ``tmux ls OR tmux list-sessions`` list sessions\n* Run ``tmux attach`` re-attach a detached session\n\n### Installation WebsiteOne ###\n\nThe script also clones the WebsiteOne project and runs all the steps needed to set up the development enviroment for you.\n\nRun ``./setup/wso_welcome.sh``\n"
  },
  {
    "path": "docs/ubuntu/ubuntu_14.04_manual_install_notes.md",
    "content": "Manual Installation steps for Ubuntu 14.04 LTS\n==============================================\n\nThese set of instructions are a bit opinionated but they do work just fine and can be used if rails installation script doesn't work for the project. The setup is tested against Ubuntu 14.04 LTS 64-bit OS version.\n\n# Steps\nAssuming a fresh ubuntu installation, please follow the instructions in given order\n\n## Update and upgrade packages\n```\nsudo apt-get update\nsudo apt-get upgrade\n```\n\n## Install nvm (node version manager)\n```\nwget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash\n```\n\n## Install latest version of nodejs\n```\nnvm install 5.10.1\nnvm use 5.10.1\n```\n\n## Install phantomjs npm package\n```\nnpm install -g phantomjs\n```\n\nRemember to run `nvm use ..` before you start any work. Unfortunately there is no workaround. There is option for .nvmrc file but it  won't work like rvm config files.\n\n## Install git (Version Control)\n```\nsudo apt-get install git\n```\n\n## Install postgres and other packages\n```\nsudo apt-get install curl bundler postgresql-common postgresql-9.3 libpq-dev libgdbm-dev libncurses5-dev automake libtool bison libffi-dev libqtwebkit-dev\n```\n\n> If you have trouble installing PostgreSQL, read more at [Official PostgreSQL Website](https://www.postgresql.org/download/linux/ubuntu/)\n\n## Install xvfb (Virtual frame buffer implementing X11 display server protocol)\n```\nsudo apt-get install xvfb\n```\nThis will be useful for running rspec tests from a remote terminal(or cloud based dev environment like aws) which will fail otherwise in absence of a display system. Instructions on how to run rspec tests using xvfb will be explained below.\n\n## Install rvm (Ruby version manager)\n```\n\\curl -sSL https://get.rvm.io | bash -s stable --ruby --auto-dotfiles\nsource ~/.rvm/scripts/rvm\n```\n\n## Install ruby\n```\nrvm install ruby-2.6.3\n```\n\n## Clone the respository (after a fork)\n```\ngit clone git@github.com:<your github handle>/WebsiteOne.git\n```\n\n## Generate rvm config files within project\n```\nrvm use ruby-2.6.3@WebsiteOne --ruby-version --create\n```\n\n## Install bundler\nJust to be safe, install bundle gem first. Otherwise `bundle install` may fail.\n```\ngem install bundler\n```\n\n## Install all gems\n```\nbundle install\n```\n\n## Install all javascript dependencies\n```\nnpm install bower\nnpm install\n```\n\n## Database config changes\nPostgres database is intially in **peer** authentication mode. Change it to **trust** mode for **postgres** user\n\n```\nsudo vim /etc/postgresql/9.3/main/pg_hba.conf\n```\n\nFind postgres user and change its authentication mode from peer to trust. Save and close.\n\n## Restart the database\n```\nsudo /etc/init.d/postgresql restart\n```\n\n## Test database login\nYou should be able to see `postgres=#` prompt after executing following command\n```\npsql -U postgres\n```\nenter `\\q` or press CTRL + D for exit from prompt.\n\n## Prepare database\n```\nbundle exec rake db:create:all\nbundle exec rake db:setup\nbundle exec rake db:test:prepare\n```\n\nyou may get a warning saying `db:test:prepare is deprecated. The Rails test helper now maintains your test schema automatically, see the release notes for details.` which is normal.\n\n\n## Request .env file from admins\nask one of the admins (e.g. @tansaku or @diraulo) for the project .env file, and also confirm which locale you are working in.\n\n## Check test runs\nrspec\n```\nbundle exec rspec\n```\njasmine\n```\nbundle exec rake jasmine:ci\n```\ncucumber\n```\nbundle exec rake cucumber\n```\n\nIn case of remote machine (like aws), few rspec tests may fail due to absence of display system. To avoid those erros, use **xvfb**\n```\nxvfb-run -a bundle exec rspec\n```\n\n\n## Start the server\n```\nbundle exec rails s\n```\n"
  },
  {
    "path": "entrypoint.sh",
    "content": "#!/usr/bin/env bash\n\ncd /WebsiteOne\n\n# Create the Rails production DB on first run\nRAILS_ENV=production bundle exec rake db:create\n\n# Make sure we are using the most up to date\n# database schema\nRAILS_ENV=production bundle exec rake db:migrate\n\n# Do some protective cleanup\n> log/production.log\nrm -f tmp/pids/server.pid\n\n# Run the web service on container startup\n# $PORT is provided as an environment variable by Cloud Run\nbundle exec rails server -e production -b 0.0.0.0 -p $PORT"
  },
  {
    "path": "esbuild.config.cjs",
    "content": "const railsEnv = process.env.RAILS_ENV || 'development'\nconst optimize = railsEnv !== 'development'\n\nconst path = require('path')\nconst { default: importGlob } = require('esbuild-plugin-import-glob')\nconst { sassPlugin } = require('esbuild-sass-plugin')\n\nrequire('esbuild')\n  .build({\n    entryPoints: [\n      'application.js',\n    ],\n    bundle: true,\n    outdir: path.join(process.cwd(), 'app/assets/builds'),\n    absWorkingDir: path.join(process.cwd(), 'app/assets/javascripts'),\n    color: true,\n    minify: optimize,\n    sourcemap: true,\n    plugins: [\n      importGlob(),\n      sassPlugin({ cache: true }),\n    ],\n  })\n  "
  },
  {
    "path": "events_exploration.md",
    "content": "Corresponds to background of edit_past_event.feature\n\nid: 3,\n name: \"Daily Standup\",\n category: \"PairProgramming\",\n description: \"We stand up\",\n repeats: \"weekly\",\n repeats_every_n_weeks: 1,\n repeats_weekly_each_days_of_the_week_mask: 9,\n repeat_ends: true,\n repeat_ends_on: Wed, 14 Jun 2017,\n time_zone: \"UTC\",\n created_at: Tue, 13 Jun 2017 08:26:15 UTC +00:00,\n updated_at: Tue, 13 Jun 2017 08:26:15 UTC +00:00,\n url: nil,\n slug: \"daily-standup\",\n start_datetime: Tue, 13 Jun 2017 08:23:00 UTC +00:00,\n duration: 30,\n exclusions: nil,\n project_id: 1,\n creator_id: 302\n"
  },
  {
    "path": "experiments/landing_page_options.rb",
    "content": "# frozen_string_literal: true\n\nab_test 'Landing page options' do\n  description \"Mirror, mirror on the wall, who's the better price of all?\"\n  alternatives 'text_trail', 'text_and_image_trail'\n  metrics :signups, :premium_signups\nend\n"
  },
  {
    "path": "experiments/metrics/premium_signups.rb",
    "content": "# frozen_string_literal: true\n\nmetric 'Premium Signup (Activation)' do\n  description 'Measures how many people signed up for our premium service.'\nend\n"
  },
  {
    "path": "experiments/metrics/signups.rb",
    "content": "# frozen_string_literal: true\n\nmetric 'Signup (Activation)' do\n  description 'Measures how many people signed up for our free service.'\nend\n"
  },
  {
    "path": "features/advanced_site_search.feature",
    "content": "@vcr\nFeature: Advanced Site Search\n  \"As a site user\n  In order to find relevant information in Documents, Projects, Articles, etc\n  I would like to access a fulltext search engine that can perform a Google site search and display the results on a separate web page.\"\n  Pivotal Tracker:  https://www.pivotaltracker.com/story/show/77003304\n\n  Background:\n    Given I visit the site\n    Then I should not see the search form\n\n  Scenario: Performing a Basic Site Search\n    When I click the Search Toggle button\n    Then I should see the search form"
  },
  {
    "path": "features/article_vote.feature",
    "content": "# @vcr\n# Feature:\n#   \"As a developer\n#   So that I may see the ranking of articles\n#   I would like to see the vote count on an article\n#   And ability to vote up or down an article\"\n\n#   Background:\n#     Given the following articles with votes exist:\n#       | Title                    | Content                          | VoteValue |\n#       | Ruby is on Fire          | Fire is fire and sunny           | 0         |\n#       | Rails is not for trains  | Train `tracks` do not work       | 5         |\n#       | JQuery cannot be queried | JQuery moves **towards** the ... | -1        |\n\n#   Scenario: I should see the vote value of an article on the article show page\n#     Given I am on the \"Show\" page for article \"Ruby is on Fire\"\n#     Then I should see a Vote value of \"0\"\n#     Given I am on the \"Show\" page for article \"Rails is not for trains\"\n#     Then I should see a Vote value of \"5\"\n#     Given I am on the \"Show\" page for article \"JQuery cannot be queried\"\n#     Then I should see a Vote value of \"-1\"\n\n#   Scenario: I should not see the links to Up/Down Vote an article on the article show page\n#     Given I am not logged in\n#     And I am on the \"Show\" page for article \"Ruby is on Fire\"\n#     Then I should not see link \"Up Vote\"\n#     And I should not see link \"Down Vote\"\n\n#   Scenario: I should see the links to Up/Down Vote an article on the article show page\n#     Given I have logged in\n#     And I am on the \"Show\" page for article \"Ruby is on Fire\"\n#     Then I should see link \"Up Vote\"\n#     And I should see link \"Down Vote\"\n\n#   Scenario: I should be able to vote up an article\n#     Given I have logged in\n#     And I have voted \"up\" article \"Ruby is on Fire\"\n#     And I am on the \"Show\" page for article \"Ruby is on Fire\"\n#     Then I should see a Vote value of \"1\"\n\n#   Scenario: I should be able to vote down an article\n#     Given I have logged in\n#     And I have voted \"down\" article \"JQuery cannot be queried\"\n#     And I am on the \"Show\" page for article \"JQuery cannot be queried\"\n#     Then I should see a Vote value of \"-2\"\n\n#   Scenario: I should see the link to Cancel Up Vote after voting up an article\n#     Given I have logged in\n#     And I have voted \"up\" article \"Ruby is on Fire\"\n#     And I am on the \"Show\" page for article \"Ruby is on Fire\"\n#     Then I should see link \"Cancel Up Vote\"\n\n#   Scenario: I should see the link to Cancel Down Vote after voting down an article\n#     Given I have logged in\n#     And I have voted \"down\" article \"Ruby is on Fire\"\n#     And I am on the \"Show\" page for article \"Ruby is on Fire\"\n#     Then I should see link \"Cancel Down Vote\"\n\n#   Scenario: I should be able to cancel an up vote on an article\n#     Given I have logged in\n#     And I have voted \"up\" article \"Ruby is on Fire\"\n#     And I am on the \"Show\" page for article \"Ruby is on Fire\"\n#     And I click the \"Cancel Up Vote\" link\n#     Then I should be on the \"Show\" page for article \"Ruby is on Fire\"\n#     And I should see a Vote value of \"0\"\n\n#   Scenario: I should be able to cancel a down vote on an article\n#     Given I have logged in\n#     And I have voted \"down\" article \"JQuery cannot be queried\"\n#     And I am on the \"Show\" page for article \"JQuery cannot be queried\"\n#     And I click the \"Cancel Down Vote\" link\n#     Then I should be on the \"Show\" page for article \"JQuery cannot be queried\"\n#     And I should see a Vote value of \"-1\"\n\n# # Down Vote an up voted article\n\n#   Scenario: I should be able to Down vote an up-voted article\n#     Given I have logged in\n#     And I have voted \"up\" article \"Ruby is on Fire\"\n#     And I am on the \"Show\" page for article \"Ruby is on Fire\"\n#     And I click the \"Down Vote\" link\n#     Then I should be on the \"Show\" page for article \"Ruby is on Fire\"\n#     And I should see a Vote value of \"-1\"\n\n# # Up Vote a down voted article\n\n#   Scenario: I should be able to Up vote a down-voted article\n#     Given I have logged in\n#     And I have voted \"down\" article \"JQuery cannot be queried\"\n#     And I am on the \"Show\" page for article \"JQuery cannot be queried\"\n#     And I click the \"Up Vote\" link\n#     Then I should be on the \"Show\" page for article \"JQuery cannot be queried\"\n#     And I should see a Vote value of \"0\"\n\n\n# # Author voting for own article\n\n#   Scenario: I should not be able to see vote links on my own article\n#     #  clanglois: Following line Implies a log-in\n#     Given I have authored article \"Rubies are red\"\n#     And I am on the \"Show\" page for article \"Rubies are red\"\n#     Then I should not see link \"Up Vote\"\n#     And I should not see link \"Down Vote\"\n#     And I should see a Vote value of \"0\"\n\n#   Scenario: I should not be able to FORGE upvote on my own article\n#     #  clanglois: Following line Implies a log-in\n#     Given I have authored article \"Rubies are red\"\n#     And I visit \"/articles/rubies-are-red/upvote\"\n#     Then I should see a Vote value of \"0\"\n\n#   Scenario: I should not be able to FORGE downvote on my own article\n#     #  clanglois: Following line Implies a log-in\n#     Given I have authored article \"Rubies are red\"\n#     And I visit \"/articles/rubies-are-red/downvote\"\n#     Then I should see a Vote value of \"0\"\n\n# # Visiting User voting twice\n\n#   Scenario: I should not be able to vote up twice on same article\n#     Given I have logged in\n#     And I have voted \"up\" article \"Ruby is on Fire\"\n#     And I am on the \"Show\" page for article \"Ruby is on Fire\"\n#     Then I should see a Vote value of \"1\"\n# # 2nd vote\n#     And I have voted \"up\" article \"Ruby is on Fire\"\n#     Then I should be on the \"Show\" page for article \"Ruby is on Fire\"\n#     And I should see a Vote value of \"1\"\n# # Forge Down Vote url\n#     And I visit \"/articles/ruby-is-on-fire/upvote\"\n#     Then I should be on the \"Show\" page for article \"Ruby is on Fire\"\n#     And I should see a Vote value of \"1\"\n\n\n#   Scenario: I should not be able to vote down twice on same article\n#     Given I have logged in\n#     And I have voted \"down\" article \"Ruby is on Fire\"\n#     And I am on the \"Show\" page for article \"Ruby is on Fire\"\n#     Then I should see a Vote value of \"-1\"\n# # 2nd vote\n#     And I have voted \"down\" article \"Ruby is on Fire\"\n#     Then I should be on the \"Show\" page for article \"Ruby is on Fire\"\n#     And I should see a Vote value of \"-1\"\n# # Forge Down Vote url\n#     And I visit \"/articles/ruby-is-on-fire/downvote\"\n#     Then I should be on the \"Show\" page for article \"Ruby is on Fire\"\n#     And I should see a Vote value of \"-1\"\n"
  },
  {
    "path": "features/articles.feature",
    "content": "@vcr\nFeature:\n  \"As a developer\n  So that I may share or retrieve knowledge between the AgileVentures group\n  I would like to be able to create, read and update special documents in the guides section\"\n\n  Background:\n    Given the following articles exist:\n      | Title                    | Content                          | Tag List           |\n      | Ruby is on Fire          | Fire is fire and sunny           | Ruby, Rails        |\n      | Rails is not for trains  | Train `tracks` do not work       | Rails              |\n      | JQuery cannot be queried | JQuery moves **towards** the ... | Javascript, JQuery |\n\n  Scenario: There should be a list of articles on the index page\n    Given I am on the \"Articles\" page\n    Then I should see \"Ruby is on Fire\"\n    And I should see \"Rails is not for trains\"\n    And I should see \"JQuery cannot be queried\"\n\n  Scenario: Should be able to visit an article from the article index page\n    Given I am on the \"Articles\" page\n    When I click \"Ruby is on Fire\"\n    Then I should be on the \"Show\" page for article \"Ruby is on Fire\"\n\n  Scenario: There should be a link to articles filtered by certain tags\n    Given I am on the \"Articles\" page\n    Then I should see \"Ruby\"\n    When I click \"Ruby\" within the sidebar\n    Then I should be on the \"Articles with Ruby tag\" page\n    And I should see \"Ruby is on Fire\"\n    And I should not see \"Rails is not for trains\"\n    And I should not see \"JQuery cannot be queried\"\n\n  Scenario: Should be able to create a new article from the article index page\n    Given I have logged in\n    When I am on the \"Articles\" page\n    And I click the very stylish \"New Article\" button\n    Then I should see \"Create a New Article\"\n    When I fill in \"Title\" with \"Hello, Uranus!\"\n    And I fill in \"Content\" with \"**An example of** ``Markdown``\"\n    And I click the \"Create\" button\n    Then I should see \"Hello, Uranus!\" within the main content\n    And I should see \"An example of Markdown\"\n\n  Scenario: Should be able to edit an article from the article show page\n    Given I have logged in\n    And I am on the \"Show\" page for article \"Ruby is on Fire\"\n    And I click the very stylish \"Edit article\" button\n    Then I should be on the \"Edit\" page for article \"Ruby is on Fire\"\n    And I fill in \"Content\" with \"**New content** ``New Markdown``\"\n    And I click the \"Update\" button\n    Then I should be on the \"Show\" page for article \"Ruby is on Fire\"\n    And I should see \"Successfully updated the article\"\n    And I should see \"New content New Markdown\"\n\n  # @javascript\n  # Scenario: Should be able to preview an article when editing\n  #   Given I am logged in as user with email \"brett@example.com\", with password \"12345678\"\n  #   And I am on the \"Show\" page for article \"Ruby is on Fire\"\n  #   And I click the very stylish \"Edit article\" button\n  #   Then I should be on the \"Edit\" page for article \"Ruby is on Fire\"\n  #   And I fill in \"Title\" with \"Thomas is on Fire\"\n  #   And I fill in \"Content\" with \"**New content** ``New Markdown``\"\n  #   And I click the Preview button\n  #   Then I should see a preview containing:\n  #     | Thomas is on Fire        |\n  #     | New content New Markdown |\n"
  },
  {
    "path": "features/basic_layout.feature",
    "content": "@javascript\nFeature: Setting up basic page layout for site\n  \"As a user\n  So that I can navigate the site\n  I should see a basic navigation elements\"\n  https://www.pivotaltracker.com/story/show/63523208\n\n\n  Background:\n    Given I visit the site\n\n  Scenario: Load basic design elements\n    Then I should see a navigation header\n    And I should see a main content area\n    And I should see a footer area\n\n  Scenario: Render navigation bar\n    Then I should see a navigation bar\n    And I should see link\n      | About Us        |\n      | Projects        |\n      | Members         |\n      | Get involved    |\n      | Events          |\n      | Getting started |\n\n  Scenario: Events is a dropdown with links\n    When I dropdown the \"Events\" menu\n    Then I should see a link to upcoming events\n    And I should see a link to past events\n    And I should see a link to create a new event\n\n  Scenario: Render footer\n    And I should see \"AgileVentures\" in footer\n    And I should see \"Crowdsourced Learning\" in footer\n    And I should see \"Learn More\" in footer\n    And I should see \"Social\" in footer\n    And I should see \"Our Sponsors\" in footer\n    And I should see \"Contact us\" in footer\n    And I should see \"Opportunities\" in footer\n    And I should see a link \"Standup Bot\" to \"https://standuply.com/?utm_source=links&utm_medium=agileventures&utm_campaign=partnership\"\n    And I should see a link \"Craft Academy\" to \"http://craftacademy.se/english\"\n    And I should see a link \"Mooqita\" to \"http://mooqita.org/\"\n    And I should see a link \"Blog\" to \"http://nonprofits.agileventures.org/blog/\"\n    And I should see a link \"Press Kit\" to \"http://www.agileventures.org/press-kit\"\n\n  @desktop\n  Scenario: Show Sponsors on desktop computer\n    Given I am on a desktop\n    And I am on Events index page\n    Then I should see the supporter content\n    And I am on Projects index page\n    Then I should see the supporter content\n\n  @tablet\n  Scenario: Hide Sponsors from Tablets\n    Given I am on a tablet\n    And I am on Events index page\n    Then I should not see the supporter content\n    And I am on Projects index page\n    Then I should not see the supporter content\n\n  @smartphone\n  Scenario: Hide Sponsors from Smartphones\n    Given I am on a smartphone\n    And I am on Events index page\n    Then I should not see the supporter content\n    And I am on Projects index page\n    Then I should not see the supporter content\n\n  @desktop\n  Scenario: Show Round banners on desktop computer\n    Given I am on a tablet\n    And I visit the site\n    Then I should see the round banners\n\n  @tablet\n  Scenario: Hide Round banners from Tablets\n    Given I am on a tablet\n    And I visit the site\n    Then I should not see the round banners\n\n  @smartphone\n  Scenario: Hide Round banners from Smartphones\n    Given I am on a smartphone\n    And I visit the site\n    Then I should not see the round banners\n"
  },
  {
    "path": "features/custom_errors.feature",
    "content": "@vcr\nFeature: Custom Errors\n  \"As a visitor\n  In order to understand what happened when something goes wrong\n  I would like to have a comprehensible error message\"\n\n  https://www.pivotaltracker.com/s/projects/982890/stories/64956494\n\n  Background:\n    Given Feature \"Custom Errors\" is enabled\n\n  Scenario: 404 page when visiting an invalid URL\n    When I visit \"/foobar\"\n    And the page should be titled \"404 - Page Not Found\"\n    And the response status should be \"404\"\n    And I should see \"We're sorry, but we couldn't find the page you requested\"\n\n  Scenario: 404 page when opening an invalid project\n    When I visit \"/projects/foo-bar-project\"\n    And the page should be titled \"404 - Page Not Found\"\n    And the response status should be \"404\"\n    And I should see \"We're sorry, but we couldn't find the page you requested\"\n\n  Scenario: 404 page when opening an non existant static page\n    When I visit \"/about-ussssss\"\n    And the page should be titled \"404 - Page Not Found\"\n    And the response status should be \"404\"\n    And I should see \"We're sorry, but we couldn't find the page you requested\"\n\n  Scenario: 404 page when opening an url with wrong format\n    Given the following pages exist\n      | title    | body           |\n      | About Us | Agile Ventures |\n    When I visit \"/about-us.png\"\n    And the page should be titled \"404 - Page Not Found\"\n    And the response status should be \"404\"\n    And I should see \"We're sorry, but we couldn't find the page you requested\"\n\n  Scenario: 500 page\n    When I encounter an internal server error\n    Then the page should be titled \"500 Internal Error\"\n    And the response status should be \"500\"\n    And I should see \"We were unable to process your request at this time.\"\n    And The admins should receive an error notification email"
  },
  {
    "path": "features/dashboard/dashboard_stats.feature",
    "content": "@vcr\nFeature: Display Statistics\n  \"As a project maintainer\n  In order to attract more users to AgileVentures\n  I would like to present some attractive statistics to new visitors of WSO\"\n\n  Background:\n    Given the following articles exist:\n      | Title     | Content |\n      | Article 1 | -       |\n      | Article 2 | -       |\n      | Article 2 | -       |\n\n    And the following projects exist:\n      | title     | description | status   |\n      | Project 1 | -           | active   |\n      | Project 2 | -           | active   |\n      | Project 4 | -           | active   |\n      | Project 5 | -           | active   |\n      | Project 6 | -           | inactive |\n      | Project 6 | -           | inactive |\n\n    And the following users exist\n      | first_name | last_name | email                  |\n      | Alice      | Jones     | alice@btinternet.co.uk |\n      | Bob        | Butcher   | bobb112@hotmail.com    |\n\n    And the following documents exist:\n      | title      | project   |\n      | Document 1 | Project 1 |\n      | Document 2 | Project 2 |\n\n  Scenario:\n    Given I am on the \"home\" page\n    Then I should see link \"Dashboard\"\n    When I click \"Dashboard\"\n    Then I should be on the \"Dashboard\" page\n    And I click the \"Site statistics\" link\n    Then I should see a \"statistics\" tab set to active\n    And I should see \"Statistics\"\n    And stats for \"Projects\" should be \"4\"\n    And stats for \"Articles\" should be \"3\"\n    And stats for \"Members\" should be \"3\"\n    And stats for \"Documents\" should be \"2\""
  },
  {
    "path": "features/dashboard/public_activity.feature",
    "content": "@javascript\nFeature: Display Public Activity\n  \"As a user\n  In order to get a better overview of what is going on\n  I would like to see latest activities in projects that I participate in presented as a activity feed\"\n\n  \"As a site visitor\n  In order to get a clearer picture of what is going on in all AgileVenture projects\n  I would like to see an activity feed\"\n\n  Background:\n\n    Given the following users exist\n      | first_name | last_name |\n      | Thomas     | Ochman    |\n      | Anders     | Persson   |\n    Given the following projects exist:\n      | title        | description           | status |\n      | Hello Galaxy | Greetings earthlings! | active |\n\n    Given the following articles exist:\n      | Title           | Content                | Tag List    | author |\n      | Ruby is on Fire | Fire is fire and sunny | Ruby, Rails | Thomas |\n\n    Given I have logged in as \"Anders\"\n    And I create a document named \"A New Guide to the Galaxy\"\n    And I create a project named \"Build NCC-1701 Enterprise\"\n    And I have logged in as \"Thomas\"\n    And I edit article \"Ruby is on Fire\"\n\n  Scenario: Navigate to activity feed\n    Given I am on the \"Dashboard\" page\n    And I click the \"Activity feed\" link\n    Then I should see a \"activity-feed\" tab set to active\n    And I should see a activity feed\n\n  Scenario: Render activity\n    Given Given I am on the Activity feed\n    Then I should see \"Thomas Ochman edited the article: Ruby is on Fire.\"\n    Then I should see \"Anders Persson created a document: A New Guide to the Galaxy on the Hello Galaxy project.\"\n    Then I should see \"Anders Persson created a new project: Build NCC-1701 Enterprise.\"\n\n  Scenario: Render activity feed even if user is deleted\n    Given User Anders's account is deleted\n    And Given I am on the Activity feed\n    Then I should see \"Thomas Ochman edited the article: Ruby is on Fire.\"\n    Then I should not see \"Anders Persson created a document: A New Guide to the Galaxy on the Hello Galaxy project.\"\n    Then I should not see \"Anders Persson created a new project: Build NCC-1701 Enterprise.\"\n"
  },
  {
    "path": "features/devops/create_plans.feature",
    "content": "@rake\nFeature: Create the Plans\n  As the admin\n  So that users can get premium related functionality\n  I want the plans to be in the database\n\n  Scenario: Create the premium plans\n    When I run the rake task for creating plans\n    Then there should be a \"Premium\" subscription plan\n    And there should be a \"Premium Plus\" subscription plan\n    And there should be a \"Premium Mob\" subscription plan\n    And there should be a \"Premium F2F\" subscription plan\n"
  },
  {
    "path": "features/devops/github_commits.feature",
    "content": "# @vcr\n# @rake\n# Feature: Update github stats of all projects\n#    As a website admin, i should be able to update\n#    total commit counts of projects with valid github url\n\n#    Background: projects have been added to database\n#       Given the following projects exist:\n#          | title        | description         | github_url                                    | status   | commit_count |\n#          | WebsiteTwo   | awesome autograder  | https://github.com/AgileVentures/WebsiteTwo   | active   | 1            |\n#          | WebsiteOne   | website one project | https://github.com/AgileVentures/WebsiteOne   | inactive | 1            |\n#          | edx          | MOOC platform       | https://github.com/edx                        | active   | 1            |\n#          | Unity        | Unity project       |                                               | active   | 1            |\n#          | LocalSupport | Scheduler queue     | https://github.com/AgileVentures/LocalSupport | active   | 1            |\n\n#    Scenario: Update github commit count of all projects with valid github_url\n#       When I run the rake task for fetching github commits\n#       Then I should see projects looked up by title with the correct commit count:\n#          | title        | commit_count |\n#          | WebsiteTwo   | 62           |\n#          | WebsiteOne   | 5091         |\n#          | edx          | 1            |\n#          | Unity        | 1            |\n#          | LocalSupport | 4175         |\n"
  },
  {
    "path": "features/devops/github_languages.feature",
    "content": "@vcr\n@rake\nFeature: Update github languages field of all projects\n  As a website admin\n  So that users can see which languages projects use\n  I would like to ensure that all languages are added to projects\n\n  Background: projects have been added to database\n    Given the following projects exist:\n      | title                 | description                              | github_url                                                                                                                                | status   | languages  |\n      | MetPlus               | Detroit job seekers site                 | https://github.com/AgileVentures/MetPlus_PETS, https://github.com/AgileVentures/MetPlus_resumeCruncher                                    | active   | Java       |\n      | WebsiteTwo            | awesome autograder                       | https://github.com/AgileVentures/WebsiteTwo                                                                                               | inactive | Ruby       |\n      | WebsiteOne            | website one project                      | https://github.com/AgileVentures/WebsiteOne                                                                                               | active   | Ruby       |\n      | LocalSupport          | Scheduler queue                          | https://github.com/AgileVentures/LocalSupport                                                                                             | active   | Ruby       |\n      | Rundfunk-Mitbestimmen | Democracy in journalism                  | https://github.com/roschaefer/rundfunk-mitbestimmen                                                                                       | active   | JavaScript |\n      | PhoenixOne            | Really cool Elixir/Phoenix umbrella repo | https://github.com/AgileVentures/sfn-client, https://github.com/AgileVentures/PhoenixOne, https://github.com/AgileVentures/sing_for_needs | active   | CSS        |\n\n  Scenario: Update language field of all projects with valid github_url\n    When I run the rake task for fetching github languages information\n    Then I should see projects with the following language updates:\n      | title                 | status   | languages    |\n      | MetPlus               | active   | Java         |\n      | WebsiteTwo            | inactive | CSS          |\n      | WebsiteOne            | active   | Shell        |\n      | LocalSupport          | active   | CoffeeScript |\n      | Rundfunk-Mitbestimmen | active   | JavaScript   |\n      | PhoenixOne            | active   | Elixir       |"
  },
  {
    "path": "features/devops/github_last_updates.feature",
    "content": "# @vcr\n# @rake\n# Feature: Update github last update field of all projects\n#   \"As a website admin\n#   So that users can see which are the recently active projects\n#   I would like to ensure all projects with valid github URLs know when the last commit happened\"\n\n#   Background: projects have been added to database\n#     Given the following projects exist:\n#       | title        | description         | github_url                                    | status   | last_github_update      |\n#       | WebsiteTwo   | awesome autograder  | https://github.com/AgileVentures/WebsiteTwo   | active   | 2000-01-01 01:01:01 UTC |\n#       | WebsiteOne   | website one project | https://github.com/AgileVentures/WebsiteOne   | inactive | 2000-01-01 01:01:01 UTC |\n#       | edx          | MOOC platform       | https://github.com/edx                        | active   | 2000-01-01 01:01:01 UTC |\n#       | Unity        | Unity project       |                                               | active   | 2000-01-01 01:01:01 UTC |\n#       | LocalSupport | Scheduler queue     | https://github.com/AgileVentures/LocalSupport | active   | 2000-01-01 01:01:01 UTC |\n\n#   Scenario: Update last update field of all projects with valid github_url\n#     When I run the rake task for fetching github last_pushed_at information\n#     Then I should see projects with following updates:\n#       | title        | status   | last_github_update                  |\n#       | WebsiteTwo   | active   | 2016-05-05 14:09:50.000000000 +0000 |\n#       | WebsiteOne   | inactive | 2018-10-16 20:17:42.000000000 +0000 |\n#       | edx          | active   | 2000-01-01 01:01:01.000000000 +0000 |\n#       | Unity        | active   | 2000-01-01 01:01:01.000000000 +0000 |\n#       | LocalSupport | active   | 2018-10-16 08:16:50.000000000 +0000 |\n"
  },
  {
    "path": "features/devops/github_readme_files.feature",
    "content": "@vcr\n@rake\nFeature: Update github pitch of all projects\n  As a website admin, I should be able to update\n  about section of projects with valid github url\n\n  Background: projects have been added to database\n    Given the following projects exist:\n      | title        | description            | status   | pitch        |\n      | WebsiteOne   | website one project    | active   | WebsiteOne   |\n      | edx          | MOOC platform          | active   | edx          |\n      | LocalSupport | Scheduler queue        | active   | LocalSupport |\n      | Unity        | Unity project          | pending  | Unity        |\n      | closed       | closed project         | closed   | keepclosed   |\n      | fakerepo     | fake repository        | active   | keepfake     |\n\n    Given the following source repositories exist:\n      | url                                           | project      |\n      | https://github.com/AgileVentures/WebsiteOne   | WebsiteOne   |\n      | https://github.com/edx                        | edx          |\n      | https://github.com/AgileVentures/LocalSupport | LocalSupport |\n      | https://github.com/AgileVentures/LocalSupport | closed       |\n      | https://github.com/fake/repo                  | fakerepo     |\n\n  Scenario: Update github pitch for all projects with valid github_url\n    When I run the rake task for fetching github readme\n    Then I should see projects with pitch updated:\n      | title        | pitch                     |\n      | WebsiteOne   | AgileVentures WebSiteOne  |\n      | LocalSupport | LocalSupport              |\n      | closed       | keepclosed                |\n      | edx          | edx                       |\n      | fakerepo     | keepfake                  |\n"
  },
  {
    "path": "features/devops/github_static_pages.feature",
    "content": "@vcr\n@rake\nFeature: Github Static Pages\n  As the admin\n  So that we have static page content that is easily editable via Github\n  I want the to import our static page content from Github\n\n  Scenario: Pull static pages from github\n    When I run the rake task for fetching static pages from github\n    Then I should see all the pages on github in the site as static pages with the content from github\n"
  },
  {
    "path": "features/devops/inspect_emails.feature",
    "content": "@intercept\n@wip\nFeature: Inspect outgoing emails\n  As a developer\n  I want to be able to inspect generated emails\n  \n  Background:\n    Given the following users exist\n      | first_name | last_name | email                  | receive_mailings  | \n      | Alice      | Jones     | alicejones@hotmail.com | true              | \n      | John       | Doe       | john@doe.com           | true              |\n    \n    Given the following projects exist:\n      | title         | description           | status   | author |\n      | hello world   | greetings earthlings  | active   | Alice  |\n \n  Scenario: when a person joins project an email is sent to project creator\n    When I am logged in as \"John\"\n    And I go to the \"hello world\" project \"show\" page\n    When I click \"Join Project\"\n    Then \"me@ymail.com\" should receive a \"John Doe just joined hello world project\" email\n"
  },
  {
    "path": "features/devops/migrate_github_urls.feature",
    "content": "@vcr\n@rake\nFeature: Update from github urls to source repository model\n  As a website admin,\n  I want to move existing github urls to source repositories\n  So that the system supports multiple repositories per project\n\n  Background: projects have been added to database\n    Given the following legacy projects exist:\n      | title        | description         | github_url                                    | status   | commit_count |\n      | WebsiteTwo   | awesome autograder  | https://github.com/AgileVentures/WebsiteTwo   | active   | 1            |\n      | WebsiteOne   | website one project | https://github.com/AgileVentures/WebsiteOne   | inactive | 1            |\n      | edx          | MOOC platform       | https://github.com/edx                        | active   | 1            |\n      | Unity        | Unity project       |                                               | active   | 1            |\n      | LocalSupport | Scheduler queue     | https://github.com/AgileVentures/LocalSupport | active   | 1            |\n\n  Scenario: Run the data migration to copy github urls to source repositories\n    When I run the rake task for migrating github urls\n    Then I should see projects looked up by title with first source repository same as github_url:\n      | title        | status   | github_url                                    |\n      | WebsiteTwo   | active   | https://github.com/AgileVentures/WebsiteTwo   |\n      | WebsiteOne   | inactive | https://github.com/AgileVentures/WebsiteOne   |\n      | edx          | active   | https://github.com/edx                        |\n      | Unity        | active   |                                               |\n      | LocalSupport | active   | https://github.com/AgileVentures/LocalSupport |"
  },
  {
    "path": "features/devops/migrate_plans.feature",
    "content": "# @rake\n# @stripe_javascript\n# Feature: Migrate the stripe data\n#   As the admin\n#   So that users can get premium related functionality related to the new data schema\n#   I want to migrate to the new data structure\n\n#   Background:\n#     Given the following plans exist\n#       | name        | id          | amount | free_trial_length_days |\n#       | Premium     | premium     | 1000   | 7                      |\n#       | PremiumMob  | premiummob  | 2500   | 0                      |\n#       | PremiumF2F  | premiumf2f  | 5000   | 0                      |\n#       | PremiumPlus | premiumplus | 10000  | 0                      |\n#     And the following users exist\n#       | first_name | last_name | email                  |\n#       | Alice      | Jones     | alice@btinternet.co.uk |\n#       | Umar       | Hassan    | umar@btinternet.co.uk  |\n#       | Yi         | Shen      | yi@btinternet.co.uk    |\n#       | Fidel      | Garcia    | fidel@btinternet.co.uk |\n#     And the following subscriptions exist\n#       | type        | user  |\n#       | Premium     | Alice |\n#       | PremiumMob  | Yi    |\n#       | PremiumF2F  | Fidel |\n#       | PremiumPlus | Umar  |\n#     And the following payment sources exist\n#       | type                  | identifier | user  |\n#       | PaymentSource::Stripe | 345rfyuh   | Alice |\n#       | PaymentSource::PayPal | 345qwreh   | Umar  |\n#       | PaymentSource::Stripe | 3478yruw   | Yi    |\n#       | PaymentSource::PayPal | 3rewasda   | Fidel |\n\n#   Scenario: Migrate the stripe data to the new architecture\n#     When I run the rake task for migrating plans\n#     Then \"alice@btinternet.co.uk\" should have a \"Premium\" subscription plan\n#     And \"umar@btinternet.co.uk\" should have a \"PremiumPlus\" subscription plan\n#     And \"yi@btinternet.co.uk\" should have a \"PremiumMob\" subscription plan\n#     And \"fidel@btinternet.co.uk\" should have a \"PremiumF2F\" subscription plan\n"
  },
  {
    "path": "features/devops/support_https_renewal.feature",
    "content": "Feature: Support HTTPS renewal\n  As the admin\n  So that users will trust our site\n  I want the HTTPS to be supported and be able to be renewed when required\n\n  Scenario: Create the premium plans\n    When I hit the letsencrypt endpoint\n    Then I should receive the correct challenge response\n"
  },
  {
    "path": "features/events/client_meetings.feature",
    "content": "@vcr\nFeature: Provide a ClientMeeting Category\n  As a project manager\n  In order to be able to distinguish between client meetings and other types of meeting\n  I would like to see and create \"client meeting\" events\n\n  Background:\n    Given following events exist:\n      | name       | description             | category        | start_datetime          | duration | repeats | time_zone | project | repeats_weekly_each_days_of_the_week_mask | repeats_every_n_weeks |\n      | ClientMtg  | Daily client meeting    | ClientMeeting   | 2014/02/03 11:00:00 UTC | 150      | never   | UTC       |         |                                           |                       |\n    And I have logged in\n    And the following projects exist:\n      | title | description          | pitch | status | commit_count |\n      | WSO   | greetings earthlings |       | active | 2795         |\n      | EdX   | greetings earthlings |       | active | 2795         |\n      | AAA   | for roadists         |       | active |              |\n\n  @javascript\n  Scenario: Show Client Meeting event\n    Given the date is \"2014/02/03 07:01:00 UTC\"\n    And I am on Events index page\n    Then I should see \"ClientMtg\"\n    And I should see \"11:00-13:30 (CUT)\"\n\n  @javascript\n  Scenario: Create Client Meeting event\n    Given I am on Events index page\n    When I click \"New Event\"\n    And I fill in event field:\n      | name        | value            |\n      | Name        | Whatever         |\n      | Description | something else   |\n      | Start Datetime  | 2014-02-04T09:00:00 |\n    And I select \"EdX\" from the event project dropdown\n    And I select \"ClientMeeting\" from the event category dropdown\n    And I should not see \"End Date\"\n    And I click on the \"event_date\" div\n    And I click the \"Save\" button\n    Then I should see \"Event Created\"\n    Given the event \"Whatever\"\n    Then I should be on the event \"Show\" page for \"Whatever\"\n    And the event named \"Whatever\" is associated with \"EdX\"\n    And I should see \"Event type: ClientMeeting\"\n"
  },
  {
    "path": "features/events/create_events.feature",
    "content": "@vcr\nFeature: Events\n  As a site user\n  In order to be able to plan activities\n  I would like to create events\n\n  Background:\n    Given I have logged in\n    And the following projects exist:\n      | title            | description          | pitch | status   | commit_count |\n      | WSO              | greetings earthlings |       | active   | 2795         |\n      | EdX              | greetings earthlings |       | active   | 2795         |\n      | AAA              | for roadists         |       | active   |              |\n      | Inactive Project | Has inactive project |       | inactive |              |\n      | Closed Project   | Has closed project   |       | closed   |              |\n    And I am on Events index page\n    When I click \"New Event\"\n    Given the date is \"2014/02/01 09:15:00 UTC\"\n\n  Scenario: New event defaults to cs169 project when it exists\n    Given the following projects exist:\n    |title | description | pitch | status | commit_count|\n    |CS169 | stuff       |       | active |  5000       |\n    And I am on Events index page\n    When I click \"New Event\"\n    Then \"cs169\" is selected in the event project dropdown\n\n  @javascript\n  Scenario: Create a new event\n    Given I fill in event field:\n      | name        | value             |\n      | Name        | Whatever          |\n      | Description | something else    |\n      | Start Datetime  | 2014-02-04T09:00:00  |\n    And I select \"EdX\" from the event project dropdown\n    And I should not see \"End Date\"\n    And I click on the \"event_date\" div\n    And I click the \"Save\" button\n    Then I should see \"Event Created\"\n    Given the event \"Whatever\"\n    Then I should be on the event \"Show\" page for \"Whatever\"\n    And the event named \"Whatever\" is associated with \"EdX\"\n    And I should see \"09:00-09:30 (CUT) UTC\"\n    Then they should see a link to the creator of the event\n\n  @javascript\n  Scenario: Create a new event for Associate Members members\n    Given I fill in event field:\n      | name        | value             |\n      | Name        | Whatever          |\n      | Description | something else    |\n      | Start Datetime  | 2014-02-04T09:00:00  |\n    And I select \"EdX\" from the event project dropdown\n    And I select \"Associate Members\" from the event for dropdown\n    And I should not see \"End Date\"\n    And I click on the \"event_date\" div\n    And I click the \"Save\" button\n    Then I should see \"Event Created\"\n    Given the event \"Whatever\"\n    Then I should be on the event \"Show\" page for \"Whatever\"\n    And the event named \"Whatever\" is associated with \"EdX\"\n    And I should see \"09:00-09:30 (CUT) UTC\"\n    Then they should see a link to the creator of the event\n    And I should see \"for: Associate Members\"\n\n  @javascript\n  Scenario: Create a new event in a non-UTC timezone\n    Given I fill in event field:\n      | name        | value             |\n      | Name        | Whatever          |\n      | Description | something else    |\n      | Start Datetime  | 2014-02-04T09:00:00  |\n    And I select \"Hawaii\" from the time zone dropdown\n    And I click the \"Save\" button\n    Then I should see \"Event Created\"\n    And I should be on the event \"Show\" page for \"Whatever\"\n    And I should see \"19:00-19:30 (CUT) UTC\"\n\n  Scenario: Projects should be ordered alphabetically\n    Then the dropdown with id \"event_project_id\" should only have active projects\n    And I should see \"EdX\" before \"WSO\"\n\n  Scenario: Create a new event for a different project\n    Given I fill in event field:\n      | name        | value             |\n      | Name        | Whatever          |\n      | Description | something else    |\n      | Start Datetime  | 2014-02-04T09:00:00  |\n    And I select \"WSO\" from the event project dropdown\n    And I click the \"Save\" button\n    Then I should see \"Event Created\"\n    Then I should be on the event \"Show\" page for \"Whatever\"\n    And the event named \"Whatever\" is associated with \"WSO\"\n\n  @javascript\n  Scenario: Creating a repeating event requires an end date\n    Given the date is \"2014-02-01\"\n    Given I fill in event field:\n      | name        | value             |\n      | Name        | Daily Standup     |\n      | Start Datetime  | 2014-02-04T09:00:00  |\n      | Description | we stand up       |\n    And I select \"Repeats\" to \"weekly\"\n    And I check \"Monday\"\n    And I check \"Thursday\"\n    Then the event is set to end sometime\n    #And I click the \"Save\" button\n    #Then I should see \"Repeat ends on can't be blank\"\n    #And I fill in event field:\n    #  | name     | value      |\n    #  | End Date | 2014-03-04 |\n    #And I click on the \"repeat_ends_on\" div\n    And I click the \"Save\" button\n    Then I should see \"Event Created\"\n    Then I should be on the event \"Show\" page for \"Daily Standup\"\n    #When I dropdown the \"Events\" menu\n    #And I click \"Upcoming events\"\n    #And I should see multiple \"Standup\" events\n\n  Scenario: Creating a biweekly event\n    Given the date is \"2018-03-19\"\n    Given I fill in event field:\n      | name        | value             |\n      | Name        | Biweekly Meeting  |\n      | Start Datetime  | 2014-02-04T09:00:00  |\n      | Description | meet and discuss  |\n    When I select \"Repeats\" to \"biweekly\"\n    #And I click the \"Save\" button\n    #Then I should see \"Repeat ends on can't be blank and You must have at least one repeats weekly each days of the week\"\n    And I check \"Monday\"\n    #And I click on the \"repeat_ends_on\" div\n    #And I fill in event field:\n    #  | name     | value      |\n    #  | End Date | 2018-05-01 |\n    And I click the \"Save\" button\n    Then I should see \"Event Created\"\n    Then I should be on the event \"Show\" page for \"Biweekly Meeting\"\n    #And I should see \"Occurs every two weeks at the specified times\"\n    #When I dropdown the \"Events\" menu\n    #And I click \"Upcoming events\"\n    #Then I should see 3 \"Biweekly Meeting\" events\n\n  Scenario: Creating a new event without a project association selected defaults to no project\n    Given I create an event without a project association\n    Then the event is not associated with any project\n\n# dimensions\n\n#     * start date (future, past)\n#     * operation (creating, editing)\n#     * timezone user is in (one of many - choose representative set)\n#     * daylight savings difference between next event and start event (true, false)\n#     * repeating event (true, false)\n#       * repeated event already terminated\n#     * will combination of timezone and date lead to change in date field (true, false)\n"
  },
  {
    "path": "features/events/edit_event.feature",
    "content": "@javascript @vcr\nFeature: Editing any event\n  As a site user\n  So that I can Update any events\n  I would like to update the events correctly\n\nBackground:\n  Given I have logged in\n  And the following projects exist:\n    | title            | description          | pitch | status   | commit_count |\n    | WSO              | greetings earthlings |       | active   | 2795         |\n    | EdX              | greetings earthlings |       | active   | 2795         |\n    | AAA              | for roadists         |       | active   |              |\n    | Inactive Project | Has inactive project |       | inactive |              |\n    | Closed Project   | Has closed project   |       | closed   |              |\n  And following events exist:\n    | name       | description             | category        |  project_id  | start_datetime          | duration     | repeats | time_zone                  |\n    | Scrum      | Daily scrum meeting     | Scrum           |              | 2014/02/03 07:00:00 UTC | 150          | never   | London                     |\n    | PP Session | Pair programming on WSO | PairProgramming |       2      | 2014/02/07 10:00:00 UTC | 15           | never   | Eastern Time (US & Canada) |\n    | Scrum 2    | Another scrum           | Scrum           |       1      | 2014/02/05 10:00:00 UTC | 15           | never   | Eastern Time (US & Canada) |\n\n\nScenario: Updating an event not associated with project defaults to correct project\n  Given I update an event with no project association without adding a project association\n  Then the event should have no project association\n\nScenario: Updating an event associated with project defaults to correct project\n  Given I update an event associated to a given project without changing its project association\n  Then the project association for the given event should not change\n"
  },
  {
    "path": "features/events/edit_future_event.feature",
    "content": "@javascript @vcr\nFeature: Editing an event with a start date in the future\n  As a site user\n  In order to be able to update planned activities\n  I would like to edit event details\n\n  Background:\n    Given the date is \"2014/02/01 09:15:00 UTC\"\n    And I have logged in\n    And I am on Events index page\n    When I click \"New Event\"\n    And I select \"Repeats\" to \"weekly\"\n    And I check \"Monday\"\n    And I check \"Thursday\"\n    Given I fill in event field:\n      | name        | value             |\n      | Name        | Daily Standup     |\n      | Start Datetime  | 2014-02-04T09:00:00  |\n      | Description | we stand up       |\n #     | End Date    | 2014-03-04        |\n    Then the event is set to end sometime\n    And I click on the \"repeat_ends_on\" div\n    And I click the \"Save\" button\n    And I am on Events index page\n\n  Scenario: Check that edit page reflects initial settings\n    And I visit the edit page for the event named \"Daily Standup\"\n    Then the \"Repeat ends\" selector should be set to \"on\"\n\n  #TODO: implement this as declarative version of scenario below\n  #Scenario: Edit an existing event to never end\n  #  Given an existing event\n  #  And I set the event to never end\n  #  Then the event should never end\n  #  And we see the appropriate number of repetitions of the event\n  Scenario: Edit an existing event to never end\n    And I visit the edit page for the event named \"Daily Standup\"\n    And I select \"Repeat ends\" to \"never\"\n    And I click the \"Save\" button\n    Then I should be on the event \"Show\" page for \"Daily Standup\"\n    And I should see \"09:00-09:30 (CUT) UTC\"\n    And I visit the edit page for the event named \"Daily Standup\"\n    Then the \"Repeat ends\" selector should be set to \"never\"\n\n  Scenario: Edit an existing event but cancel, and go back to show page for that event\n    And I visit the edit page for the event named \"Daily Standup\"\n    And I click the \"Cancel\" button\n    Then I should be on the event \"Show\" page for \"Daily Standup\"\n\n  Scenario: User in non-UTC timezone edits and overrides the timezone of an existing event, and has expected side-effects for user in UTC timezone\n    Given an existing event\n    And the user is in \"US/Hawaii\"\n    Then the user should see the date and time adjusted for their timezone in the edit form\n    And I select \"Japan\" from the time zone dropdown\n    And they save without making any changes\n    When the user is in \"Etc/UTC\"\n    Then the user should see the date and time adjusted for their timezone and updated by 19 hours in the edit form\n\n  Scenario: User in non-UTC timezone edits but makes no changes to an existing event, and has no side-effects for user in UTC timezone\n    Given an existing event\n    And the user is in \"US/Hawaii\"\n    Then the user should see the date and time adjusted for their timezone in the edit form\n    And they save without making any changes\n    When the user is in \"Etc/UTC\"\n    Then the user should see the date and time adjusted for their timezone in the edit form\n\n  Scenario: User in non-UTC timezone saves an existing event with no changes, during daylight savings\n    Given the date is \"2013/10/14 09:15:00 UTC\"\n    And the user is in \"Europe/London\"\n    And edits an event with start date in standard time\n    When they save without making any changes\n    Then the event date and time should be unchanged\n\n  # Scenario: User fails to give repeating but terminating event an end date, but retains most recent preferences about days\n  #   And I visit the edit page for the event named \"Daily Standup\"\n  #   Given I fill in event field:\n  #     | name        | value         |\n  #     | End Date    |               |\n  #   When I check \"Friday\"\n  #   And I click on the \"repeat_ends_on\" div\n  #   And I click the \"Save\" button\n  #   Then I should see \"Failed to update event: Repeat ends on can't be blank\"\n  #   And The box for \"Friday\" should be checked\n"
  },
  {
    "path": "features/events/edit_past_event.feature",
    "content": "@javascript @vcr\nFeature: Editing an event with start date in the past\n  As a site user\n  In order to be able to update existing activities\n  I would like to edit event details\n\n  Background:\n    Given I have logged in\n    And the \"Daily Standup\" \"weekly\" event exists\n    And I am on Events index page\n\n  Scenario: Check that edit page reflects initial settings\n    And I visit the edit page for the event named \"Daily Standup\"\n    Then the \"Repeat ends\" selector should be set to \"on\"\n\n  #TODO: implement this as declarative version of scenario below\n  #Scenario: Edit an existing event to never end\n  #  Given an existing event\n  #  And I set the event to never end\n  #  Then the event should never end\n  #  And we see the appropriate number of repetitions of the event\n\n  Scenario: Edit an existing event to never end\n    And I visit the edit page for the event named \"Daily Standup\"\n    And I select \"Repeat ends\" to \"never\"\n    And I click the \"Save\" button\n#    Then I should be on the event \"Show\" page for \"Daily Standup\"\n#    And I should see \"09:00-09:30 (CUT) UTC\"\n    And I visit the edit page for the event named \"Daily Standup\"\n    Then the \"Repeat ends\" selector should be set to \"never\"\n\n  Scenario: User in non-UTC timezone edits and overrides the timezone of an existing event, and has expected side-effects for user in UTC timezone\n    Given an existing event\n    And the user is in \"US/Hawaii\"\n    Then the user should see the date and time adjusted for their timezone in the edit form\n    And I select \"Japan\" from the time zone dropdown\n    And they save without making any changes\n    When the user is in \"Etc/UTC\"\n    Then the user should see the date and time adjusted for their timezone and updated by 19 hours in the edit form\n\n  Scenario: User in non-UTC timezone edits but makes no changes to an existing event, and has no side-effects for user in UTC timezone\n    Given an existing event\n    And the user is in \"US/Hawaii\"\n    Then the user should see the date and time adjusted for their timezone in the edit form\n    And they save without making any changes\n    When the user is in \"Etc/UTC\"\n    Then the user should see the date and time adjusted for their timezone in the edit form\n\n  Scenario: User in non-UTC timezone saves an existing event with no changes, during daylight savings\n    Given the date is \"2014/06/01 09:15:00 UTC\"\n    And the user is in \"Europe/London\"\n    And edits an event with start date in standard time\n    When they save without making any changes\n    Then the event date and time should be unchanged\n\n  Scenario: User in UTC timezone edits an existing event, with no changes, that repeats but with end date in the past\n    Given it is now past the end date for the event\n    And the user is in \"Etc/UTC\"\n    And they edit and save the event without making any changes\n    Then the event date and time should be unchanged\n\n  Scenario: User in non-UTC timezone edits an existing event, with no changes, and daylight savings involved, that repeats but with end date in past\n    Given daylight savings are in effect and it is now past the end date for the event\n    And the user is in \"Europe/London\"\n    And edits an event with start date in standard time\n    When they save without making any changes\n    Then the event date and time should be unchanged\n"
  },
  {
    "path": "features/events/event_countdown.feature",
    "content": "@vcr\nFeature: Events\n  As the site administrator\n  In order to help my members plan their time\n  And in order to increase the attendance in scrums (published on G+ api)\n  I want to display a countdown to the next AV Scrum on the home page\n\n  As a site user\n  in order to be able to plan my time\n  I want to see a countdown to the next AV scrum\n\n  Pivotal Tracker: https://www.pivotaltracker.com/story/show/64299418\n\n\n  Background:\n    Given following events exist:\n      | name       | description             | category        | start_datetime          | duration | repeats | time_zone                  |\n      | Scrum      | Daily scrum meeting     | Scrum           | 2014/02/03 07:00:00 UTC | 150      | never   | London                     |\n      | PP Session | Pair programming on WSO | PairProgramming | 2014/02/07 10:00:00 UTC | 15       | never   | Eastern Time (US & Canada) |\n\n  @time-travel-step\n  Scenario: Render Next Scrum info on landing page\n    Given the date is \"2014/02/01 09:15:00 UTC\"\n    And I am on the home page\n    Then I should see \"Want to learn more? Listen in. Next projects' review meeting in\"\n    And the next event should be in:\n      | period | interval |\n      | 1      | day      |\n      | 21     | hours    |\n      | 45     | minutes  |\n\n  @time-travel-step\n  Scenario: Do not render '0 days'\n    Given the date is \"2014/02/02 09:15:00 UTC\"\n    And I am on the home page\n    Then I should see \"Want to learn more? Listen in. Next projects' review meeting in\"\n    And the next event should be in:\n      | period | interval |\n      | 21     | hours    |\n      | 45     | minutes  |\n    And I should not see \"0 days\"\n\n  @time-travel-step\n  Scenario: Do not render '0 hours'\n    Given the date is \"2014/02/03 06:15:00 UTC\"\n    And I am on the home page\n    Then I should see \"Want to learn more? Listen in. Next projects' review meeting in\"\n    And the next event should be in:\n      | period | interval |\n      | 45     | minutes  |\n    And I should not see \"0 days\"\n    And I should not see \"0 hours\"\n\n  @time-travel-step\n  Scenario: Do not render '-1 hour'\n    Given the date is \"2014/02/02 07:50:00 UTC\"\n    And I am on the home page\n    Then I should see \"Want to learn more? Listen in. Next projects' review meeting in\"\n    And the next event should be in:\n      | period | interval |\n      | 23     | hours    |\n      | 10     | minutes  |\n    And I should not see \"0 days\"\n\n  @time-travel-step\n  Scenario: Proper Event Countdown Pluralization (Singular)\n    Given the date is \"2014/02/02 06:00:00 UTC\"\n    And I am on the home page\n    Then I should see \"1 day\"\n    And I should not see \"1 days\"\n\n    Given the date is \"2014/02/03 06:00:00 UTC\"\n    And I am on the home page\n    Then I should see \"1 hour\"\n    And I should not see \"1 hours\"\n\n    Given the date is \"2014/02/03 06:58:30 UTC\"\n    And I am on the home page\n    Then I should see \"1 minute\"\n    And I should not see \"1 minutes\"\n\n  @time-travel-step\n  Scenario: Proper Event Countdown Pluralization (Plural)\n    Given the date is \"2014/02/01 06:00:00 UTC\"\n    And I am on the home page\n    Then I should see \"2 days\"\n\n    Given the date is \"2014/02/03 05:00:00 UTC\"\n    And I am on the home page\n    Then I should see \"2 hours\"\n\n    Given the date is \"2014/02/03 06:57:30 UTC\"\n    And I am on the home page\n    Then I should see \"2 minutes\"\n"
  },
  {
    "path": "features/events/event_countdown_widget.feature",
    "content": "@javascript\nFeature: Events page countdown widget\n  As the site administrator\n  In order to help my members plan their time\n  And in order to increase the attendance in scrums (published on G+ api)\n  I want to display a countdown to the next AV Scrum on the events page\n\n  As a site user\n  in order to be able to plan my time\n  I want to see a countdown to the next AV scrum\n\n  Pivotal Tracker: https://www.pivotaltracker.com/story/show/64299418\n\n\n  Background:\n    Given following events exist:\n      | name       | description             | category        | start_datetime              | duration                | repeats | time_zone                  |\n      | Scrum      | Daily scrum meeting     | Scrum           | 2014/02/03 07:00:00 UTC | 150 | never   | London                     |\n      | PP Session | Pair programming on WSO | PairProgramming | 2014/02/07 10:00:00 UTC | 15 | never   | Eastern Time (US & Canada) |\n      | Scrum 2    | Another scrum           | Scrum           | 2014/02/05 10:00:00 UTC | 15 | never   | Eastern Time (US & Canada) |\n\n    And I have logged in\n\n  @time-travel-step\n  Scenario: Render live Scrum info on events page\n    Given the date is \"2014/02/03 07:10:00 UTC\"\n    And I am on events index page\n    And the window size is wide\n    And I should see \"Scrum is live\"\n\n  @time-travel-step\n  Scenario: Render countdown Scrum info on events page\n    Given the date is \"2014/02/05 09:00:00 UTC\"\n    And I am on events index page\n    And the window size is wide\n    And I should see \" to Scrum 2\"\n\n  @time-travel-step\n  Scenario: Event is not shown as live after it's duration has passed\n    Given the date is \"2014/02/05 10:45:00 UTC\"\n    And I am on events index page\n    And the window size is wide\n    And I should not see \"Scrum 2 is live\"\n\n  @time-travel-step\n  Scenario: Event is not shown as live even if browser is not refreshed\n    Given the date is \"2014/02/05 10:00:00 UTC\"\n    And I am on events index page\n    And 45 minutes pass\n    And the window size is wide\n    And I should not see \"Scrum 2 is live\"\n"
  },
  {
    "path": "features/events/event_videos.feature",
    "content": "@vcr\nFeature: Event Videos\n  \"As a site user\n  In order to see a list of videos for a specific event\n  I would like to see these videos on the event show page\"\n\n  Background:\n    Given following events exist:\n      | name         | description         | category | start_datetime          | duration | repeats | time_zone | repeats_every_n_weeks | repeats_weekly_each_days_of_the_week_mask |\n      | Repeat Scrum | Daily scrum meeting | Scrum    | 2014/03/03 07:00:00 UTC | 15       | daily   | UTC       |                       |                                           |\n    And the following event instances exist:\n      | title        | hangout_url         | created_at       | updated_at          | uid | category | project    | user_id | yt_video_id | hoa_status | url_set_directly | event        |\n      | RepeatScrum1 | http://hangout.test | 2012 Feb 4th 7am | 2012 Feb 4th 7:04am | 100 | Scrum    | Websiteone | 1       | QWERT55     | finished   | true             | Repeat Scrum |\n      | RepeatScrum2 | http://hangout.test | 2014 Feb 4th 7am | 2014 Feb 4th 7:03am | 100 | Scrum    | Websiteone | 1       | QWERT55     | finished   | true             | Repeat Scrum |\n\n  Scenario: show embedded youtube player with the first video\n    Given I am on the show page for event \"Repeat Scrum\"\n    Then I should see video \"RepeatScrum1\" in \"player\"\n\n# @javascript\n# Scenario: Selecting videos from the list\n#   Given I am on the show page for event \"Repeat Scrum\"\n#   When I click \"RepeatScrum2\"\n#   Then I should see \"RepeatScrum2\" in \"video description\"\n#   And I should see video \"RepeatScrum2\" in \"player\"\n"
  },
  {
    "path": "features/events/events_by_project.feature",
    "content": "@vcr\nFeature: List Events by Project\n  As a site user\n  So I can find events relevant to me\n  I would like to see a list of events linked to a given project\n\n  Background:\n    Given the following projects exist:\n      | title      | description          | pitch | status    |\n      | wso        | blah                 |       | active    |\n      | auto       | blah                 |       | active    |\n      | cs169      | greetings earthlings |       | active    |\n      | project x  | great movie project  |       | inactive  |\n      | mega main  | great movie project  |       | closed    |\n    Given following events exist:\n      | name       | description             | category        | start_datetime          | duration | repeats | time_zone | project |\n      | Standup1   | Daily standup meeting   | Scrum           | 2014/02/03 07:00:00 UTC | 150      | never   | UTC       |         |\n      | PP Session | Pair programming on WSO | PairProgramming | 2014/02/07 10:00:00 UTC | 15       | never   | UTC       | cs169   |\n    Given the date is \"2014/02/01 09:15:00 UTC\"\n\n\n  Scenario: Show index of events\n    Given I am on Events index page\n    Then \"All\" is selected in the project dropdown\n    And I select \"All\" from the project dropdown\n    And I click \"Filter by Project\" button\n    Then I should see \"AgileVentures Events\"\n    And I should see \"Standup\"\n    And I should see \"07:00-09:30 (UTC)\"\n    And I should see \"PP Session\"\n    And I should see \"10:00-10:15 (UTC)\"\n    And the short local date element should be set to \"2014-02-03T07:00:00Z\"\n    And the local time element should be set to \"2014-02-03T07:00:00Z\"\n    And the short local date element should be set to \"2014-02-07T10:00:00Z\"\n    And the local time element should be set to \"2014-02-07T10:00:00Z\"\n\n  Scenario: Projects should be ordered alphabetically\n    Given I am on Events index page\n    Then I should see \"cs169\" before \"WSO\"\n\n  Scenario: Show events associated with cs169\n    And I am on the project events index page\n    Then I should not see \"Standup1\"\n    And I should see \"PP Session\"\n\n  Scenario: Choose which project events to display\n    Given I am on Events index page\n    And I select \"cs169\" from the project dropdown\n    And I click \"Filter by Project\" button\n    Then I should not see \"Standup1\"\n    And I should see \"PP Session\"\n    And \"cs169\" is selected in the project dropdown\n\n  Scenario: projects dropdown should only have active projects\n    Given I am on the events index page\n    Then the dropdown with id \"project_id\" should only have active projects\n\n# @javascript\n#   Scenario: Project drop-down resets on hit back\n#     Given I am on the home page\n#     When I dropdown the \"Events\" menu\n#     And I click \"Upcoming events\"\n#     And I select \"cs169\" from the project dropdown\n#     And I click \"Filter by Project\" button\n#     Then I should see \"Standup1\"\n#     And I hit back\n#     Then \"All\" is selected in the project dropdown\n#     And I should see \"PP Session\"\n\n"
  },
  {
    "path": "features/events/list_past_events.feature",
    "content": "Feature: List the recent Event Instances on the corresponding Events page\n  As a user\n  In order to identify repeating events that are still active\n  I would like to see a list of the most recents events\n\n  Background:\n    Given following events exist:\n      | name       | id | description             | category        | start_datetime          | created_at                         | duration | repeats  | time_zone | repeats_weekly_each_days_of_the_week_mask | repeats_every_n_weeks |\n      | Bob's mob  | 3  | All things Bob          | Scrum           | 2018/01/12 17:00:00 UTC | 2018-01-06 17:00:00 +0000          | 30       | weekly   | UTC       | 16                                        | 1                     |\n\n  Scenario: Event show page lists at most five events\n    Given 6 event instances exist\n    When a user views the event \"Bob's mob\"\n    Then they should see 5 event instances\n\n  Scenario: Event show page lists the most recent events\n    Given 3 event instances exist\n    When a user views the event \"Bob's mob\"\n    Then they should see 3 event instances\n\n  Scenario: Event show's relevant information\n    Given 1 event instance exists\n    When a user views the event \"Bob's mob\"\n    Then they should see all information for the instance \"Bob's mob\"\n\n  Scenario: Event show page displays a message when there are no associated event instances\n    Given 0 event instances exist\n    When a user views the event \"Bob's mob\"\n    Then they should see a message stating: \"No previous instances of this event\"\n\n  Scenario: Event instances without youtube id's are not shown\n    Given 2 event instances exist\n    And 1 event instance exists without a youtube id\n    When a user views the event \"Bob's mob\"\n    Then they should see 2 event instances\n\n  Scenario: Event instances are listed in order\n    Given 3 event instances exist\n    When a user views the event \"Bob's mob\"\n    Then they should see the most 3 recent events first\n"
  },
  {
    "path": "features/events/list_repeating_events.feature",
    "content": "@vcr\nFeature: List Repeating Events\n  As an event creator\n  So that I don't have to keep making separate events for repeating meetings\n  I would like everyone to see repeats of regular events\n\n  Background:\n    Given the following events exist that repeat every weekday:\n      | name    | description     | category | start_datetime          | duration | time_zone |\n      | Standup | always<br>woot! | Scrum    | 2014/02/03 07:00:00 UTC | 150      | UTC       |\n\n  Scenario: Show correct timezone for repeating event\n    Given the date is \"2016/05/01 09:15:00 UTC\"\n    When I am on events index page\n    Then I should see \"Standup\"\n    And I should see \"woot!\"\n    And the local time element should be set to \"2016-05-10T07:00:00Z\"\n    And I should not see any HTML tags\n"
  },
  {
    "path": "features/events/list_single_events.feature",
    "content": "@vcr\nFeature: List Single Events\n  As a site user\n  So I can find events relevant to me that are happening now\n  I would like to see one off events\n\n  Background:\n    Given the following projects exist:\n      | title | description          | pitch | status |\n      | wso   | blah                 |       | active |\n      | auto  | blah                 |       | active |\n      | cs169 | greetings earthlings |       | active |\n    And following events exist:\n      | name | description      | category        | start_datetime          | duration | repeats | time_zone | project | repeats_weekly_each_days_of_the_week_mask | repeats_every_n_weeks | repeat_ends |\n      | Once | Once off meeting | PairProgramming | 2016/05/02 07:00:00 UTC | 150      | never   | UTC       | cs169   |                                           |                       | true        |\n\n  Scenario: Show correct timezone\n    Given the date is \"2016/05/01 09:15:00 UTC\"\n    And I am on events index page\n    Then I should see \"Once\"\n    And the local time element should be set to \"2016-05-02T07:00:00Z\""
  },
  {
    "path": "features/events/live_event.feature",
    "content": "@vcr @disable_twitter\nFeature: Live Events\n  As a site user\n  In order to be able participate in an event with others\n  I would like to see when an event is live\n\n  Background:\n    Given following events exist:\n      | name       | description             | category        | start_datetime          | duration | repeats | time_zone | project | repeats_weekly_each_days_of_the_week_mask | repeats_every_n_weeks |\n      | Scrum      | Daily scrum meeting     | Scrum           | 2014/02/03 07:00:00 UTC | 150      | never   | UTC       |         |                                           |                       |\n\n  Scenario: Event is seen to be live when event is started a minute previously\n    Given an event \"Scrum\"\n    And the \"Scrum\" host has started the event\n    Then the event should be live\n    And after one minute\n    Then the event should still be live\n\n  Scenario: Lack of ping from HangoutConnection after two minutes kills events\n    Given an event \"Scrum\"\n    And the \"Scrum\" host has started the event\n    Then the event should be live\n    And after three minutes\n    Then the event should be dead\n"
  },
  {
    "path": "features/events/next_scrum.feature",
    "content": "@vcr\nFeature: Visibility to the next scrum\n  In order to manage hangouts of scrums and PP sessions  easily\n    As a site user\n    I would like to see when the next scrum is\n    So that I can join\n  As a scrum leader\n    I would like my scrum to be visible to others\n    So that people will become interested in my project\n  As a member of AgileVentures\n    I would like scrums to be visible to others\n    So that more people join and contribute to projects\n\n  Background:\n    Given following events exist:\n      | name          | description          | category        | start_datetime          | duration | repeats | time_zone | repeats_every_n_weeks | repeats_weekly_each_days_of_the_week_mask |\n      | Scrum         | Daily scrum meeting  | Scrum           | 2014/02/03 07:00:00 UTC | 150      | never   | UTC       |                       |                                           |\n      | Earlier       | Weekly retrospective | Scrum           | 2014/02/03 06:30:00 UTC | 15       | never   | UTC       |                       |                                           |\n      | Random        | Weekly retrospective | PairProgramming | 2017/01/31 23:30:00 UTC | 15       | never   | UTC       |                       |                                           |\n    And the following projects exist:\n      | title       | description          | status |\n      | WebsiteOne  | greetings earthlings | active |\n      | Autograders | greetings earthlings | active |\n    And I have logged in\n\n  @time-travel-step\n  Scenario: Next upcoming scrum on home page\n    Given the date is \"2014/02/03 06:55:00 UTC\"\n    When I am on the home page\n    Then I should see \"Scrum in 5 minutes\"\n\n  @time-travel-step\n  Scenario: Within duration next scrum on home page\n    Given the date is \"2014/02/03 07:01:00 UTC\"\n    When I am on the home page\n    Then I should see \"Scrum is about to start\"\n\n  @time-travel-step\n  Scenario: Live scrum on home page\n    Given the date is \"2014/02/03 07:01:00 UTC\"\n    And the Hangout for event \"Scrum\" has been started with details:\n      | EventInstance link | http://hangout.test |\n      | Started at         | 07:00:00 UTC        |\n\n    When I am on the home page\n    Then I should see \"Scrum is live!\"\n    And I should see link \"Click to join!\" with \"http://hangout.test\"\n\n  @javascript @time-travel-step\n  Scenario: Within duration scrum displays when not on home page\n    Given the date is \"2014/02/03 07:01:00 UTC\"\n    And the window size is wide\n    When I am on the show page for event \"Random\"\n    Then I should see \"Scrum is live!\"\n"
  },
  {
    "path": "features/events/next_scrum_for_new_user.feature",
    "content": "@vcr\nFeature: Visibility to the next scrum for new user\n  As an AgileVentures Admin,\n  So that new members are more likely to watch and/or attend scrums and other events\n  I would like the language in the upcoming event notification to me as welcoming as possible\n  Instead of mentioning things like \"scrum\" and \"kent beck\" that may be unfamiliar\n\n  As a new member\n  So that I can discover if AgileVentures can help me in my professional development\n  I would like to learn more about how AV events operate\n\n  Background:\n    Given following events exist:\n      | name          | description          | category        | start_datetime          | duration | repeats | time_zone | repeats_every_n_weeks | repeats_weekly_each_days_of_the_week_mask |\n      | Scrum         | Daily scrum meeting  | Scrum           | 2014/02/03 07:00:00 UTC | 150      | never   | UTC       |                       |                                           |\n      | Earlier       | Weekly retrospective | Scrum           | 2014/02/03 06:30:00 UTC | 15       | never   | UTC       |                       |                                           |\n      | Random        | Weekly retrospective | PairProgramming | 2017/01/31 23:30:00 UTC | 15       | never   | UTC       |                       |                                           |\n    And the following projects exist:\n      | title       | description          | status |\n      | WebsiteOne  | greetings earthlings | active |\n      | Autograders | greetings earthlings | active |\n\n  @time-travel-step\n  Scenario: Next upcoming scrum on home page\n    Given the date is \"2014/02/03 06:55:00 UTC\"\n    When I am on the home page\n    Then I should see \"Want to learn more? Listen in. Next projects' review meeting in 5 minutes\"\n\n  @time-travel-step\n  Scenario: Within duration next scrum on home page\n    Given the date is \"2014/02/03 07:01:00 UTC\"\n    When I am on the home page\n    Then I should see \"Want to learn more? Listen in. Next projects' review meeting is about to start\"\n\n  @time-travel-step\n  Scenario: Live scrum on home page\n    Given the date is \"2014/02/03 07:01:00 UTC\"\n    And the Hangout for event \"Scrum\" has been started with details:\n      | EventInstance link | http://hangout.test |\n      | Started at         | 07:00:00 UTC        |\n    When I am on the home page\n    Then I should see \"Want to learn more? Listen in. Next projects' review meeting is live!\"\n    And I should see link \"Click to join!\" with \"http://hangout.test\"\n\n  @javascript @time-travel-step\n  Scenario: Within duration scrum displays when not on home page\n    Given the date is \"2014/02/03 07:01:00 UTC\"\n    And the window size is wide\n    When I am on the show page for event \"Random\"\n    Then I should see \"Next projects review meeting - listen in to learn more about AgileVentures\"\n"
  },
  {
    "path": "features/events/past_events_page.feature",
    "content": "Feature: List the recent Event Instances on the corresponding Events page\n  \"As a user\n  In order to identify repeating events that are still active\n  I would like to see a list of the most recents events\"\n\n  Background:\n    Given following events exist:\n      | name      | id | description        | for                 | category        | start_datetime          | duration | repeats | time_zone | project | repeats_weekly_each_days_of_the_week_mask | repeats_every_n_weeks |\n      | Mob       | 5  | Weekly Mob meeting | Premium Mob Members | PairProgramming | 2014/02/03 09:00:00 UTC | 150      | never   | UTC       |         |                                           |                       |\n      | Bob's mob | 3  | All things Bob     |                     | Scrum           | 2018/01/12 17:00:00 UTC | 30       | weekly  | UTC       |         | 3                                         | 1                     |\n\n  Scenario: Guest user cannot watch a premium mob event\n    Given an event instance exists for event id 5\n    Given an event instance exists for event id 3\n    When I visit \"/hangouts\"\n    Then I should see a link to watch the video for event 3\n    Then I should not see a link to watch the video for event 5\n"
  },
  {
    "path": "features/events/private_events.feature",
    "content": "# Business rules are changing... We are NOT dealing with Premium memberships\n# There WILL be a need to restricting access to AV Edge Events in the fall of 2021\n# Keeping this logic in the model and these specs for future ref\n# @javascript\n# @stripe_javascript\n# Feature: Private Events\n#   \"As a Premium User of sufficient grade\n#   In order to be able to join a private mobbing event\n#   I would like to access the hangout link\"\n\n#   Background:\n#     Given following events exist:\n#       | name | description        | for               | category        | start_datetime          | duration | repeats | time_zone |\n#       | Mob  | Weekly Mob meeting | Associate Members | PairProgramming | 2014/02/03 09:00:00 UTC | 150      | never   | UTC       |\n#     Given the following plans exist\n#       | name         | id          | amount | free_trial_length_days |\n#       | Associate    | associate   | 500    | 0                      |\n#       | Premium      | premium     | 1000   | 7                      |\n#       | Premium Mob  | premiummob  | 2500   | 0                      |\n#       | Premium F2F  | premiumf2f  | 5000   | 0                      |\n#       | Premium Plus | premiumplus | 10000  | 0                      |\n\n#   Scenario Outline: Premium Mob Members and above see link to join Mobs, watch videos, other users see link to upgrade\n#     Given the date is \"2014/02/03 10:26:00 UTC\"\n#     Given I am logged in as a user with \"<plan>\"\n#     Given the Hangout for event \"Mob\" has been started with details:\n#       | EventInstance link | http://hangout.test | yt_video_id |\n#       | Started at         | 10:25:00 UTC        | QWERT55     |\n#     And the time now is \"10:26:00 UTC\"\n#     When I am on the show page for event \"Mob\"\n#     Then I should see a link to join or upgrade based on my <plan>\n#     And I <assertion> see a link to watch the event's past video\n#     Examples:\n#       | plan      | assertion  |\n#       # | Premium Plus | should     |\n#       # | Premium F2F  | should     |\n#       # | Premium Mob  | should     |\n#       # | Premium      | should not |\n#       | Associate | should     |\n#       | Free      | should not |\n\n#   Scenario: Edit hangout url for private event pings only appropriate private channels\n#     Given I have logged in\n#     And the date is \"2014/02/03 9:00:00 UTC\"\n#     And that we're spying on the SlackService\n#     And the Slack notifications are enabled\n#     When I manually set a hangout link for event \"Mob\"\n#     Then the Hangout URL is posted only in appropriate private channels in Slack\n\n#   Scenario: Edit youtube url for private event pings only appropriate private channels\n#     Given the date is \"2014/02/03 9:00:00 UTC\"\n#     And I am logged in as a user with \"Premium Plus\"\n#     And that we're spying on the SlackService\n#     And the Slack notifications are enabled\n#     When I manually set youtube link with youtube id \"12341234111\" for event \"Mob\"\n#     Then the Youtube URL is posted in select private channels in Slack"
  },
  {
    "path": "features/events/rsvping_event.feature",
    "content": "@javascript\nFeature: RSVPing AV events\n  As an event creator\n  In order to see people planning to attend my event\n  I would like to be able to confirm attendence\n\n  Background:\n    Given the following users exist\n      | first_name | last_name | id  | password  | email                  |\n      | Alice      | Jones     | 401 | 12345678  | alicejones@hotmail.com |\n      | John       | Doe       |     | password  | john@doe.com           |\n    And following events exist:\n      | name       | description             | category        | creator_id | start_datetime          | duration | repeats | time_zone | project | repeats_weekly_each_days_of_the_week_mask | repeats_every_n_weeks | creator_attendance |\n      | ClientMtg  | Weekly client meeting   | ClientMeeting   | 401        | 2018/07/19 11:00:00 UTC | 150      | never   | UTC       |         |                                           |                       | true       |\n      | Meeting    | Weekly meeting          | Meeting         | 401        | 2018/07/21 11:00:00 UTC | 150      | weekly  | UTC       |         | 31                                        | 1                     | false      |\n\n  Scenario: Non-logged in users should not see Attend toggle\n    Given I am on the \"ClientMtg\" event page\n    Then I should not see \"Cannot Attend\"\n    And I should not see \"Attend\"\n\n  Scenario: Users who have not created event cannot see Attend toggle\n    Given I am logged in as \"John\"\n    When I am on the \"ClientMtg\" event page\n    Then I should not see \"Cannot Attend\"\n    And I should not see \"Attend\"\n\n  Scenario: Event creator can see Attend toggle after creating event\n    Given I am logged in as \"Alice\"\n    When I am creating an event\n    And I click \"Save\"\n    Then I should see \"Attend\"\n\n  # Scenario: Event creator can mention that they cannot attend\n  #   Given I am logged in as \"Alice\"\n  #   And I am on the \"ClientMtg\" event page\n  #   When I toggle to Cannot Attend\n  #   Then I should see \"Alice Jones cannot attend the event\"\n\n  Scenario: Should see cannot attend message for repeating events\n    Given the date is \"2018/07/28 10:00:00 UTC\"\n    And I am on the \"Meeting\" event page\n    Then I should see \"Alice Jones cannot attend the event\"\n\n  Scenario: Event creator can see Cannot Attend toggle\n    Given I am logged in as \"Alice\"\n    When I am on the \"Meeting\" event page\n    And I should see \"Cannot Attend\"\n    And I should see \"Alice Jones cannot attend the event\"\n\n  # Scenario: When event creator toggles to Attend, the cannot attend message is not shown\n  #   Given I am logged in as \"Alice\"\n  #   And I am on the \"Meeting\" event page\n  #   When I toggle to Attend\n  #   Then I should not see \"Alice Jones cannot attend the event\"\n"
  },
  {
    "path": "features/events/show_event.feature",
    "content": "@vcr\nFeature: Show Events\n  \"As a site user\n  In order to be able to plan activities\n  I would like to see event CRUD functionality\"\n  \"Pivotal Tracker:  https://www.pivotaltracker.com/story/show/66655876\"\n\n  Background:\n    Given the following users exist\n      | first_name | last_name | email                      | latitude | longitude | updated_at   |\n      | Alice      | Jones     | MyEmailAddress@example.com | 59.33    | 18.06     | 1 minute ago |\n      | Billy      | Bob       | MyFakeNews@example.com     | 59.33    | 18.06     | 1 minute ago |\n    Given following events exist:\n      | name       | description             | category        | start_datetime          | duration | repeats | time_zone | project | repeats_weekly_each_days_of_the_week_mask | repeats_every_n_weeks |\n      | Scrum      | Daily scrum meeting     | Scrum           | 2014/02/03 07:00:00 UTC | 150      | never   | UTC       |         |                                           |                       |\n      | PP Session | Pair programming on WSO | PairProgramming | 2014/02/07 10:00:00 UTC | 15       | never   | UTC       |         |                                           |                       |\n      | Standup    | Daily standup meeting   | Scrum           | 2014/02/03 07:00:00 UTC | 150      | weekly  | UTC       |         | 15                                        | 1                     |\n      | ClientMtg  | Daily client meeting    | ClientMeeting   | 2014/02/03 11:00:00 UTC | 150      | never   | UTC       |         |                                           |                       |\n\n  @javascript\n  Scenario: Event show page shows creator's icon, links to creator's profile, and date created\n    Given the date is \"2016/05/01 09:15:00 UTC\"\n    Given that \"Alice\" created the \"Standup\" event\n    Then they view the event \"Standup\"\n    And they should see a link to the creator of the event\n    And they should see the icon of the creator of the event\n    And they should see the date of when it was created\n\n  @javascript\n  Scenario: Event show page shows modifier's icon, links to modifier's profile, and date modified\n    Given the date is \"2018/01/01 09:15:00 UTC\"\n    Given that \"Alice\" created the \"Standup\" event\n    When the date is \"2018/05/04 01:00:00 UTC\"\n    And that \"Billy\" modified the \"Standup\" event\n    Then they view the event \"Standup\"\n    And they should see a link to the modifier of the event\n    And they should see the icon of the modifier of the event\n    And they should see the date of when it was modified\n\n  @javascript\n  Scenario Outline: Do not show hangout button until 10 minutes before scheduled start time, and while event is running\n    Given the date is \"<date>\"\n    And I have logged in\n    And I am on the show page for event \"Standup\"\n    Then I <assertion> see hangout button\n    Examples:\n      | date                    | assertion  |\n      | 2014/02/03 07:55:00 UTC | should     |\n      | 2014/02/03 06:55:00 UTC | should     |\n      | 2014/02/03 06:49:00 UTC | should not |\n      | 2014/02/03 09:40:00 UTC | should not |\n      | 2014/02/04 06:55:00 UTC | should     |\n      | 2014/02/04 06:49:00 UTC | should not |\n      | 2014/02/04 09:40:00 UTC | should not |\n\n  @javascript\n  Scenario Outline: Show correct time, date, timezone and user location\n    Given the date is \"2016/05/01 09:15:00 UTC\"\n    And the user is in \"<zone>\"\n    When they view the event \"Standup\"\n    Then I should see \"Standup\"\n    And the local date element should be set to \"2016-05-02T07:00:00Z\"\n    And the local time element should be set to \"2016-05-02T07:00:00Z\"\n    # And I should see \"<zone>\"\n    Examples:\n      | zone             |\n      | Europe/London    |\n      | America/New_York |\n\n  @time-travel-step\n  Scenario: Date on show page is accurate\n    Given following events exist:\n      | name | description | category | start_datetime          | duration | repeats | time_zone | repeats_weekly_each_days_of_the_week_mask | repeats_every_n_weeks |\n      | Test | Test        | Scrum    | 2014/02/07 08:00:00 UTC | 15       | weekly  | UTC       | 15                                        | 1                     |\n    And the date is \"2016/02/01\"\n    And I am on the show page for event \"Test\"\n    Then I should not see \"2014\"\n    And I should see \"Monday, February 01, 2016\"\n\n  Scenario: Show index of events with a New Event button for logged in user\n    Given I have logged in\n    Given I am on Events index page\n    Then I should see \"AgileVentures Events\"\n    And I should see link \"New Event\"\n\n  Scenario: Show an planned event when a user is not logged in\n    Given the date is \"2014/02/01 09:15:00 UTC\"\n    And I am on Events index page\n    And I click \"Scrum\"\n    Then I should see \"Scrum\"\n    And I should see \"Daily scrum meeting\"\n    And I should see \"Next scheduled event\"\n    And I should see \"Monday, February 03, 2014\"\n    And I should see \"07:00-09:30 (UTC)\"\n    And I should not see \"Edit\"\n    And I should not see \"Event Actions\"\n\n  Scenario: Show an planned event when a user is logged in\n    Given I have logged in\n    And the date is \"2014/02/01 09:15:00 UTC\"\n    And I am on Events index page\n    And I click \"Scrum\"\n    Then I should see \"Scrum\"\n    And I should see \"Daily scrum meeting\"\n    And I should see \"Next scheduled event\"\n    And I should see \"Monday, February 03, 2014\"\n    And I should see \"07:00-09:30 (UTC)\"\n    And I should see \"Edit\"\n\n  Scenario: Render Next Scrum info on landing page\n    Given the date is \"2014/02/01 09:15:00 UTC\"\n    And I am on the home page\n    Then I should see \"Want to learn more? Listen in. Next projects' review meeting\"\n    And the next event should be in:\n      | period | interval |\n      | 1      | day      |\n      | 21     | hours    |\n      | 45     | minutes  |\n\n  Scenario: Don't save with empty name\n    Given I have logged in\n    And I am on Events index page\n    When I click \"New Event\"\n    And I fill in event field:\n      | name        | value             |\n      | Name        |                   |\n      | Description | scrum description |\n    And I select \"Repeats\" to \"weekly\"\n    And I check \"Monday\"\n    And I check \"Thursday\"\n    And I click the \"Save\" button\n    Then I should be on the Events \"Create\" page\n    And I should see \"Name can't be blank\"\n\n  @javascript\n  Scenario: Show events information\n    Given the date is \"2014/02/03 07:01:00 UTC\"\n    And the Hangout for event \"Scrum\" has been started with details:\n      | EventInstance link | http://hangout.test |\n      | Started at         | 07:00:00 UTC        |\n    And I am on Events index page\n    Then I should see \"Scrum\"\n#    And I should see \"07:00-09:30 (UTC)\"\n    And I should see link \"Event live! Join now\" with \"http://hangout.test\"\n    Then I should see \"PP Session\"\n#    And I should see \"10:00-10:15 (UTC)\"\n\n  @javascript\n  Scenario: Show events information (unstarted)\n    Given the date is \"2014/02/03 07:01:00 UTC\"\n    And I am on Events index page\n    Then I should see \"ClientMtg\"\n#    And I should see \"11:00-13:30 (UTC)\"\n\n  # @javascript\n  # Scenario: Body of event is clickable\n  #   Given the date is \"2014/02/01 09:15:00 UTC\"\n  #   And I am on Events index page\n  #   And I click on the event body for the event named \"Scrum\"\n  #   Then I should be on the event \"show\" page for \"Scrum\"\n"
  },
  {
    "path": "features/events/start_event.feature",
    "content": "@vcr @disable_twitter\nFeature: Start Events\n  As a site user\n  In order to encourage the event's host to start the event at start time\n  I would like to see the event be marked as 'Should start' on the site when it's time\n\n  Background:\n    Given following events exist:\n      | name       | description             | category        | start_datetime          | duration | repeats | time_zone | project | repeats_weekly_each_days_of_the_week_mask | repeats_every_n_weeks |\n      | Scrum      | Daily scrum meeting     | Scrum           | 2014/02/03 07:00:00 UTC | 150      | never   | UTC       |         |                                           |                       |\n\n  Scenario: Shows a message at start time to indicate that the event should be started\n    Given an event \"Scrum\"\n    When the time now is \"2014/02/03 07:00:09 UTC\"\n    And I am on the show page for event \"Scrum\"\n    Then I should see \"It's time! Please start the event.\"\n\n  Scenario: Does not show a start event message prior to start time\n    Given an event \"Scrum\"\n    When the time now is \"2014/02/03 06:59:59 UTC\"\n    And I am on the show page for event \"Scrum\"\n    Then I should not see \"It's time! Please start the event.\"\n\n  Scenario: In the events page the event has a start now button when it's time\n    Given the time now is \"2014/02/03 07:00:09 UTC\"\n    When I am on events index page\n    Then I should see \"Event time! Start now\"\n\n  Scenario: Should not see Event time message and link when the event is live\n    Given an event \"Scrum\"\n    And the \"Scrum\" host has started the event\n    When I am on the show page for event \"Scrum\"\n    Then I should not see \"It's time! Please start the event.\"\n    When I am on events index page\n    Then I should not see \"Event time! Start now\"\n"
  },
  {
    "path": "features/events/upcoming_events.feature",
    "content": "@vcr @disable_twitter\nFeature: Upcoming Events\nAs a site user\n  So that I can find events to join\n  I want to see upcoming events\n  And I want to see live events\n  And I want to see events that are within the scheduled event duration\n\n  Background:\n    Given following events exist:\n      | name       | description             | category        | start_datetime          | duration | repeats | time_zone |\n      | Standup    | Daily standup meeting   | Scrum           | 2014/02/03 07:00:00 UTC | 150      | never   | UTC       |\n      | PP Session | Pair programming on WSO | PairProgramming | 2014/02/07 10:00:00 UTC | 15       | never   | UTC       |\n      | 25 Min     | Started 20 minutes ago  | PairProgramming | 2014/02/01 08:55:00 UTC | 25       | never   | UTC       |\n      | 6 Min      | Started 10 minutes ago  | PairProgramming | 2014/02/01 09:05:00 UTC | 6        | never   | UTC       |\n      | Still Live | Started 20 minutes ago  | PairProgramming | 2014/02/01 08:55:00 UTC | 1        | never   | UTC       |\n\n    Given the date is \"2014/02/01 09:15:00 UTC\"\n\n  Scenario: Show upcoming events\n    Given I am on Events index page\n    Then I should see \"AgileVentures Events\"\n    And I should see \"Standup\"\n    And I should see \"PP Session\"\n\n  Scenario: Shows started event within scheduled event duration\n    Given I am on Events index page\n    And I should see \"25 Min\"\n\n  Scenario: Show event calendar download link\n    Given I am on Events index page\n    Then  I should see a link \"calendar\" to \"/calendar\"\n\n  Scenario: Show event calendar download link\n    Given I am on Events index page\n    When I click the \"calendar\" link\n    Then I should receive a file \"AgileVentures_events.ics\"\n\n  Scenario: Doesn't show event past scheduled event duration\n    Given I am on Events index page\n    And I should not see \"6 Min\"\n\n  Scenario: Shows event past end time when still live\n    Given an event \"Still Live\"\n    And the \"Still Live\" host has started the event\n    Then the event should be live\n    Given I am on Events index page\n    Then I should see \"Still Live\"\n"
  },
  {
    "path": "features/follow_project.feature",
    "content": "@vcr\nFeature: Join projects\n    \"As a user\n    So that I can participate in projects\n    I would like to join projects as a member\n    And I can see who is a member of which project\"\n\n  https://www.pivotaltracker.com/story/show/63372740\n\n  Background:\n    Given the following projects exist:\n      | title       | description          | status   |\n      | hello world | greetings earthlings | active   |\n      | hello mars  | greetings aliens     | inactive |\n    And there are no videos\n\n  Scenario: Join a project\n    Given I have logged in\n    And I am not a member of project \"hello mars\"\n    And I am on the \"Show\" page for project \"hello mars\"\n    And I click the \"Join Project\" button\n    Then I should become a member of project \"hello mars\"\n    And I should see \"You just joined hello mars\"\n\n  Scenario: Leave a project\n    Given I have logged in\n    And I am a member of project \"hello mars\"\n    And I am on the \"Show\" page for project \"hello mars\"\n    And I click \"Leave Project\"\n    Then I should stop being a member of project \"hello mars\"\n    And I should see \"You are no longer a member of hello mars\"\n"
  },
  {
    "path": "features/hangouts/edit_hangout_url.feature",
    "content": "@disable_twitter\nFeature: Manual Edit of Hangout URL\n  As a person involved in an event\n  So that I can ensure everyone can access the correct link to join an event\n  I would like to have means of editing the hangout URL\n\n  Background:\n    Given the following projects exist:\n      | title | description | status |\n      | LS    | LS          | active |\n    Given following events exist:\n      | name         | description         | category | start_datetime | duration | repeats | time_zone | repeats_every_n_weeks | repeats_weekly_each_days_of_the_week_mask | project |\n      | Scrum        | Daily scrum meeting | Scrum    | TODAYS_DATE    | 15       | never   | UTC       |                       |                                           | LS      |\n      | Repeat Scrum | Daily scrum meeting | Scrum    | TODAYS_DATE    | 15       | weekly  | UTC       | 1                     | 127                                       |         |\n      | The daily    | Daily scrum meeting | Scrum    | TODAYS_DATE    | 15       | weekly  | UTC       | 1                     | 127                                       |         |\n    And the following event instances (with default participants) exist:\n      | title        | hangout_url         | created_at       | updated_at          | uid | category | project    | user_id | yt_video_id | hoa_status | url_set_directly | event        |\n      | HangoutsFlow | http://hangout.test | 2012 Feb 4th 7am | 2012 Feb 4th 7:04am | 100 | Scrum    | Websiteone | 1       | QWERT55     | started    | true             | Repeat Scrum |\n      | HangoutsFlow | http://hangout.test | 2014 Feb 4th 7am | 2014 Feb 4th 7:03am | 100 | Scrum    | Websiteone | 1       | QWERT55     | started    | true             | Repeat Scrum |\n    And I have logged in\n\n  @javascript\n  Scenario: Hangout link is active at start of event\n    Given a hangout link was set for event \"Scrum\" 0 minutes ago\n    Then \"Scrum\" shows a live hangout link at start of event\n\n  @javascript\n  Scenario: Hangout link is active near the end of event\n    Given a hangout link was set for event \"Scrum\" 10 minutes ago\n    Then \"Scrum\" shows a live hangout link near the end of the event\n\n  @javascript\n  Scenario: Hangout link is NOT active after event ends\n    Given a hangout link was set for event \"Scrum\" 20 minutes ago\n    Then \"Scrum\" does NOT show a live hangout link after the event ends\n\n  @javascript\n  Scenario: Edit Hangout URL on repeating event at start of event\n    Given a hangout link was set for event \"Repeat Scrum\" 0 minutes ago\n    Then \"Repeat Scrum\" shows a live hangout link at start of event\n\n  @javascript\n  Scenario: Edit Hangout URL on repeating event near the end\n    Given a hangout link was set for event \"Repeat Scrum\" 10 minutes ago\n    Then \"Repeat Scrum\" shows a live hangout link near the end of the event\n\n  @javascript\n  Scenario: Edit Hangout URL on repeating event after event ends\n    Given a hangout link was set for event \"Repeat Scrum\" 20 minutes ago\n    Then \"Repeat Scrum\" does NOT show a live hangout link after the event ends\n\n  @javascript\n  Scenario: Repeating event is NOT live after one day\n    Given a hangout link was set for event \"Repeat Scrum\" 1440 minutes ago\n    Then \"Repeat Scrum\" does NOT show a live hangout link after the event ends\n\n  @javascript\n  # wraps bug described in https://github.com/AgileVentures/WebsiteOne/issues/1809\n  Scenario: Event doesn't ping old youtube URL\n    Given the date is \"2014 Feb 5th 6:59am\"\n    And the event \"Repeat Scrum\" was last updated at \"2014 Feb 4th 7:16am\"\n    And that we're spying on the SlackService\n    And the Slack notifications are enabled\n    When I manually set a hangout link for event \"Repeat Scrum\"\n    Then the Hangout URL is posted in Slack\n# And the Youtube URL is not posted in Slack\n"
  },
  {
    "path": "features/hangouts/edit_youtube_url.feature",
    "content": "@vcr @javascript @disable_twitter\nFeature: Manual Edit of Youtube URL\n  As a person involved in an event that starts at 7am\n  So that I can ensure everyone can access the correct link to watch an event\n  I would like to have means of editing the youtube URL\n\n  Background:\n    Given the following projects exist:\n      |title | description | status |\n      | LS   | LS          | active |\n    Given following events exist:\n      | name         | description         | category | start_datetime   | duration | repeats | time_zone | repeats_every_n_weeks | repeats_weekly_each_days_of_the_week_mask | project |\n      | Scrum        | Daily scrum meeting | Scrum    | 2014 Feb 4th 7am | 15       | never   | UTC       |                       |                                           |  LS     |\n      | Repeat Scrum | Daily scrum meeting | Scrum    | 2014 Feb 3rd 7am | 15       | weekly  | UTC       | 1                     | 31                                        |  LS       |\n    And the following event instances (with default participants) exist:\n      | title        | hangout_url         | created_at       | updated_at          | uid | category | project    | user_id | yt_video_id | hoa_status | url_set_directly | event        |\n      | HangoutsFlow | http://hangout.test | 2012 Feb 4th 7am | 2012 Feb 4th 7:04am | 100 | Scrum    | Websiteone | 1       | QWERT55     | started    | true             | Repeat Scrum |\n      | HangoutsFlow | http://hangout.test | 2014 Feb 4th 7am | 2014 Feb 4th 7:03am | 100 | Scrum    | Websiteone | 1       | QWERT55     | started    | true             | Repeat Scrum |\n      | Old          | http://hangout.test | 2014 Jan 4th 7am | 2014 Jan 4th 7:03am | 100 | Scrum    | Websiteone | 1       | QWERT55     | started    | true             | Repeat Scrum |\n    And I have logged in\n\n  # Scenario: Editing Youtube URL has no effect on Hangout URL\n  #   Given the date is \"2014 Feb 4th 7:01am\"\n  #   And I manually set a hangout link for event \"Scrum\"\n  #   And I manually set youtube link with youtube id \"12341234111\" for event \"Scrum\"\n  #   Then Hangout link does not change for \"Scrum\"\n\n  # Scenario: Editing Hangout URL has no effect on Youtube URL\n  #   Given the date is \"2014 Feb 4th 7:01am\"\n  #   And I manually set youtube link with youtube id \"12341234111\" for event \"Scrum\"\n  #   And I manually set a hangout link for event \"Scrum\"\n  #   Then \"Scrum\" shows youtube link with youtube id \"12341234111\"\n\n    # we're sort of stuck here because we don't seem to be able to avoid\n    # a background js error here - best solution to keep this test might be\n    # set up some kind of hook to ignore js errors for this one test, but that's\n    # not ideal ... using a real video id makes the issue go away in the live system\n    # although not in our test ... this might be some sort of underlying bug in the\n    # youtube javascript libraries that get pulled down\n    #\n    # see https://github.com/AgileVentures/WebsiteOne/issues/1754\n    #\n  # @javascript\n  # Scenario: Edit Youtube URL and ensure video appears on Project page\n  #   Given the date is \"2014 Feb 6th 7:01am\"\n  #   And I manually set youtube link with youtube id \"cdODZWHUwhc\" for event \"Repeat Scrum\"\n  #   When I am on the \"Show\" page for project \"LS\"\n  #   And I click \"Videos (1)\"\n  #   Then I should see video with youtube id \"cdODZWHUwhc\"\n\n  Scenario: Edit Youtube URL when event is live and ensure a separate event instance is not created\n    Given the date is \"2014 Feb 7th 7:01am\"\n    And I manually set a hangout link for event \"Scrum\"\n    When I manually set youtube link with youtube id \"12341234111\" for event \"Scrum\"\n    Then a separate event instance is not created\n\n  Scenario: Edit past youtube URL\n    Given the date is \"2014 Feb 10th 7:01am\"\n    And I visit the \"Edit\" page for \"Old\" \"event_instance\"\n    When I fill in \"event_instance_yt_video_id\" with \"http://youtube.com/watch?v=cdODZWHUwhc\"\n    And I click \"Update Event instance\"\n    Then I should see \"Hangout Updated\"\n\n  # Scenario: Edit past youtube URL does not cause an event instance to show as Live\n  #   Given the date is \"2014 Feb 10th 7:01am\"\n  #   And I visit the \"Edit\" page for \"Old\" \"event_instance\"\n  #   When I fill in \"event_instance_yt_video_id\" with \"http://youtube.com/watch?v=cdODZWHUwhc\"\n  #   And I select \"event_instance_hoa_status\" to \"finished\"\n  #   And I click \"Update Event instance\"\n  #   Then \"Repeat Scrum\" doesn't go live\n\n  Scenario: Hangout URL is not posted in slack when Youtube URL is edited\n    Given the date is \"2014 Feb 10th 7:01am\"\n    And the Slack notifications are enabled\n    And I manually set a hangout link for event \"Scrum\"\n    And that we're spying on the SlackService\n    When I manually edit the Youtube URL\n    Then the Youtube URL is posted in Slack\n    # And the Hangout URL is not posted in Slack\n"
  },
  {
    "path": "features/hangouts/hangout.feature",
    "content": "@vcr\nFeature: Managing hangouts of scrums and PairProgramming sessions\n  In order to manage hangouts of scrums and PP sessions  easily\n  As a site user\n  I would like to have means of creating, joining, editing and watching hangouts\n\n  Background:\n    Given following events exist:\n      | name          | description          | category      | start_datetime          | duration | repeats | time_zone | repeats_every_n_weeks | repeats_weekly_each_days_of_the_week_mask |\n      | Scrum         | Daily scrum meeting  | Scrum         | 2014/02/03 07:00:00 UTC | 150      | never   | UTC       |                       |                                           |\n      | Repeat Scrum  | Daily scrum meeting  | Scrum         | 2014/02/03 07:00:00 UTC | 150      | weekly  | UTC       | 1                     | 15                                        |\n      | Retrospective | Weekly retrospective | ClientMeeting | 2014/02/03 07:00:00 UTC | 150      | never   | UTC       |                       |                                           |\n    And the following hangouts exist:\n      | Start time          | Title        | Project    | Category | Event        | EventInstance url   | Youtube video id | End time            |\n      | 2012-02-04 07:00:00 | HangoutsFlow | WebsiteOne | Scrum    | Repeat Scrum | http://hangout.test | QWERT55          | 2014-02-04 07:02:00 |\n      | 2014-02-05 07:00:00 | HangoutsFlow | WebsiteOne | Scrum    | Repeat Scrum | http://hangout.test | QWERT55          | 2014-02-05 07:03:00 |\n    And the following projects exist:\n      | title       | description          | status |\n      | WebsiteOne  | greetings earthlings | active |\n      | Autograders | greetings earthlings | active |\n    And the following users exist\n      | first_name | last_name | email                  | password | gplus   |\n      | Alice      | Jones     | alice@btinternet.co.uk | 12345678 | yt_id_1 |\n      | Bob        | Anchous   | bob@btinternet.co.uk   | 12345678 | yt_id_2 |\n      | Jane       | Anchous   | jan@btinternet.co.uk   | 12345678 | yt_id_3 |\n    And there are no videos\n    And I have logged in\n    And I have Slack notifications enabled\n\n  @javascript\n  Scenario: Create a hangout for a scrum event\n    Given the date is \"2014/02/03 06:55:00 UTC\"\n    Given I am on the show page for event \"Scrum\"\n    Then I should see hangout button\n\n  @time-travel-step\n  Scenario: Show event details\n    Given the date is \"2014/02/03 06:50:00 UTC\"\n    When I am on the show page for event \"Scrum\"\n    Then I should see:\n      | Scrum               |\n      | Scrum               |\n      | Daily scrum meeting |\n      | 07:00-09:30 (UTC)   |\n\n  Scenario: Show hangout details for live event\n    Given the Hangout for event \"Scrum\" has been started with details:\n      | EventInstance link | http://hangout.test |\n      | Started at         | 10:25:00 UTC        |\n    And the time now is \"10:26:00 UTC\"\n    When I am on the show page for event \"Scrum\"\n    Then I should see:\n      | Scrum               |\n      | Scrum               |\n      | Daily scrum meeting |\n    And I should see link \"JOIN THIS LIVE EVENT NOW\" with \"http://hangout.test\"\n    And I should not see hangout button\n\n  @javascript\n  Scenario: Cancel Edit Hangout URL\n    Given I am on the show page for event \"Scrum\"\n    And I open the Edit URL controls\n    Then I should see the Edit URL controls\n    And I click on the Cancel button\n    Then I should not see the Edit URL controls\n\n  Scenario: Display live sessions - basic info\n    Given the date is \"2014/02/01 11:10:00 UTC\"\n    And the following hangouts exist:\n      | Start time | Title        | Project     | Event         | Category        | Host  | EventInstance url      | Youtube video id | End time |\n      | 11:15      | HangoutsFlow | WebsiteOne  | Scrum         | PairProgramming | Alice | http://hangout.test    | QWERT55          | 11:25    |\n      | 11:11      | GithubClone  | Autograders | Retrospective | ClientMeeting   | Bob   | http://hangout.session | TGI345           | 12:42    |\n    When I visit \"/hangouts\"\n    Then I should see:\n\n      | Hangouts   |\n    And I should see:\n      | 11:15        |\n      | 01/02        |\n      | HangoutsFlow |\n    And I should see the avatar for \"Alice\"\n    And I should see link \"Join\" with \"http://hangout.test\"\n    And I should see link \"Watch\" with \"https://www.youtube.com/watch?v=QWERT55&feature=youtube_gdata\"\n    And I should see iframe with address \"https://www.youtube.com/embed/QWERT55?enablejsapi=1\"\n\n    And I should see:\n      | 11:11       |\n      | 01/02       |\n      | GithubClone |\n    And I should see the avatar for \"Bob\"\n    And I should see link \"Join\" with \"http://hangout.session\"\n    And I should see link \"Watch\" with \"https://www.youtube.com/watch?v=TGI345&feature=youtube_gdata\"\n    And I should see iframe with address \"https://www.youtube.com/embed/TGI345?enablejsapi=1\"\n\n  Scenario: Display live sessions - extra info\n    Given the date is \"2014/02/01 11:10:00 UTC\"\n    And the following hangouts exist:\n      | Start time | Title        | Project     | Event         | Category        | Host  | Hangout url            | Youtube video id | End time |\n      | 11:15      | HangoutsFlow | WebsiteOne  | Scrum         | PairProgramming | Alice | http://hangout.test    | QWERT55          | 11:25    |\n      | 11:11      | GithubClone  | Autograders | Retrospective | ClientMeeting   | Bob   | http://hangout.session | TGI345           | 12:42    |\n\n    When I visit \"/hangouts\"\n    Then I should see:\n      | Join  |\n      | Watch |\n    Then I should see:\n      | Scrum           |\n      | PairProgramming |\n      | 10 min          |\n    And I should see the avatar for \"Alice\"\n    And I should see the avatar for \"Bob\"\n\n    And I should see:\n      | Retrospective |\n      | ClientMeeting |\n      | about 2 hours |\n\n  # @javascript\n  # Scenario: Infinite scroll on hangouts scroll down until no more hangouts\n  #   Given 18 hangouts exists\n  #   When I visit \"/hangouts\"\n  #   Then I should see 6 hangouts\n  #   And I scroll to bottom of page\n  #   Then I should see 12 hangouts\n  #   And I scroll to bottom of page\n  #   Then I should see 18 hangouts\n  #   And I scroll to bottom of page\n  #   And I should see \"No more hangouts\"\n"
  },
  {
    "path": "features/hire_me_modal.feature",
    "content": "# TODO: Fix 'Hire me' modal.  Replace turbolinks withe turbo:\n# https://www.honeybadger.io/blog/hb-turbolinks-to-turbo/\n# @javascript \n# @vcr\n\n# Feature: Hire me modal\n#   \"As a member of the Agile Ventures team\n#   To provide employment opportunities to team members\n#   We want to provide a 'Hire Me' button for visitors to be able to contact members\"\n\n#   Background:\n#     Given the following users exist\n#       | first_name | last_name | email                  | display_profile | display_hire_me |\n#       | Alice      | Jones     | alice@btinternet.co.uk | false           | false           |\n#       | Bob        | Butcher   | bobb112@hotmail.com    | true            | true            |\n\n#   Scenario: Sending a message to user with 'Hire me' button\n#     Given I visit Bob's profile page\n#     When I click \"Hire me\"\n#     Then I should see a modal window with a form \"Contact Bob Butcher\"\n#     And I fill in \"f-name\" with \"Anonymous user\"\n#     And I fill in \"f-email\" with \"anonymous@isp.net\"\n#     And I fill in \"f-message\" with \"I want to hire you\"\n#     And I click the \"Send message\" button within the modal dialog\n#     Then \"bobb112@hotmail.com\" should receive a \"message from Anonymous user\" email\n#     Then I should see \"Your message has been sent successfully!\"\n\n#   Scenario: Sending a message to user with 'Hire me' button\n#     Given I visit Bob's profile page\n#     When I click \"Hire me\"\n#     Then I should see a modal window with a form \"Contact Bob Butcher\"\n#     And I fill in \"f-name\" with \"Anonymous user\"\n#     And I fill in \"f-email\" with \"\"\n#     And I fill in \"f-message\" with \"I want to hire you\"\n#     And I click the \"Send message\" button within the modal dialog\n#     Then I should see \"Email can't be blank\"\n#     Then I should see \"Email is invalid\"\n"
  },
  {
    "path": "features/information_pages.feature",
    "content": "@vcr\nFeature: Static pages\n  \"As the site administrator\n  So that I can get information across to sites visitors\n  I want there to be static pages\"\n\n  Background:\n    Given the following pages exist\n      | title           | body                    |\n      | About Us        | Agile Ventures          |\n      | Sponsors        | AV Sponsors             |\n      | Getting Started | Remote Pair Programming |\n\n    And the following page revisions exist\n      | title    | revisions |\n      | About Us | 1         |\n    And I am on the \"home\" page\n\n  Scenario: Render About Us page\n    Then I should see link \"About Us\"\n    When I click \"About Us\"\n    Then I should be on the static \"About Us\" page\n    And I should see \"About Us\"\n\n  # Sponsors and Guides scenarios not really needed. To be removed later.\n  Scenario: See Sponsor Banners\n    When I am on the \"projects\" page\n    Then I see the banners for all sponsors\n    And I should see link \"Become a supporter\"\n\n  Scenario: Render Sponsors page\n    When I am on the \"projects\" page\n    And I click \"Become a supporter\"\n    Then I should be on the static \"Sponsors\" page\n\n  Scenario: There should be a getting started link in the nav bar\n    When I am on the home page\n    And I click \"Getting Started\"\n    Then I should be on the static \"Getting Started\" page\n    And I should see \"Getting Started\"\n    And I should see \"Remote Pair Programming\"\n\n  Scenario: Page can have children and children should have a correct url\n    Given the page \"About Us\" has a child page with title \"SubPage1\"\n    And I am on the static \"SubPage1\" page\n    Then the current page url should be \"about-us/subpage1\"\n\n  Scenario: Page should show ancestry details\n    Given the page \"About Us\" has a child page with title \"SubPage1\"\n    And I am on the static \"SubPage1\" page\n    Then I should see ancestry \"Agile Ventures >> About Us >> SubPage1\"\n\n  Scenario: The browser tab text should reflect the page the user is on\n    Given I am on the \"Home\" page\n    Then the \"Home\" page title should read \"Home | AgileVentures\"\n    When I click \"About\"\n    Then I should be on the static \"About Us\" page\n    And the \"About\" page title should read \"About Us | AgileVentures\"\n\n  Scenario: The browser tab of the registration page should say AgileVentures\n    Given I am on the \"registration\" page\n    Then the \"Sign up\" page title should read \"AgileVentures\"\n"
  },
  {
    "path": "features/jitsi_meet/start_jitsi_button.feature",
    "content": "Feature: Start jitsi meet\n  As a person involved in an project\n  So that I can join a scrum of Pair Programming session\n  I would like to be able to start jitsi meet from event page and project page\n\n  Background:\n    Given the following projects exist:\n      | title | description | status |\n      | LS    | LS          | active |\n    Given following events exist:\n      | name         | description         | category | start_datetime   | duration | repeats | time_zone | repeats_every_n_weeks | repeats_weekly_each_days_of_the_week_mask | project |\n      | Repeat Scrum | Daily scrum meeting | Scrum    | 2014 Feb 3rd 7am | 15       | weekly  | UTC       | 1                     | 31                                        |         |\n    And I have logged in\n    And I am on the \"Show\" page for project \"LS\"\n    And I click the \"Join Project\" button\n\n  Scenario: Start jitsi meet from event page\n    Given the date is \"2014 Feb 5th 6:55am\"\n    And I navigate to the show page for event \"Repeat Scrum\"\n    Then I should see a start jitsi meet button with link \"https://meet.jit.si/AV_Repeat_Scrum\"\n\n  Scenario: Start jitsi meet from project page\n    Given the date is \"2014 Feb 5th 6:55am\"\n    And I am on the \"Show\" page for project \"LS\"\n    Then I should see a start jitsi meet button with link \"https://meet.jit.si/AV_LS\"\n"
  },
  {
    "path": "features/navbar_user_info.feature",
    "content": "@vcr\nFeature: Add current_user options to navbar\n  \"As site developer\n  In order to enhance user experience\n  I want to add options available for the current user to the navigation bar\"\n\n  Scenario: render user info in header\n    Given I am logged in as user with email \"thomas@agileventures.org\", with password \"12345678\"\n    And I am on the \"home\" page\n    And I see a navigation header\n    Then I should see my name\n    And I should see \"1\" avatars"
  },
  {
    "path": "features/past_events.feature",
    "content": "@vcr\nFeature: Past Events Index\n  \"As a developer\n  So that I can get up to speed on Agile Ventures\n  I would like to be able to see a list of previous scrums\"\n\n  Background:\n    Given that there are 5 past events\n    And that there are 15 past non-scrum events\n\n  Scenario: Scrums index page renders a timeline of scrums for users to view in descending order\n    Given I visit \"/scrums\"\n    Then I should see \"Previous events\"\n    And I should see 20 events in descending order by published date\n\n  Scenario: Videos with nil youtube id do not display youtube embed link\n    Given there is one past scrum with invalid youtube id\n    And I visit \"/scrums\"\n    Then wait 1 second\n    Then video with youtube id nil shouldn't be clickable"
  },
  {
    "path": "features/project_documents.feature",
    "content": "@vcr\nFeature: Manage Documents\n  \"As a project member\n  So that I can share my work related to a project\n  I would like to be able to create and edit new documents\"\n\n  Background:\n    Given the following projects exist:\n      | title       | description          | status   |\n      | hello world | greetings earthlings | active   |\n      | hello mars  | greetings aliens     | inactive |\n\n    And the following documents exist:\n      | title         | content          | project     |\n      | Guides        | My guide to      | hello mars  |\n      | Documentation | My documentation | hello world |\n\n    And the following revisions exist\n      | title         | revisions |\n      | Guides        | 1         |\n      | Documentation | 3         |\n    And there are no videos\n\n  Scenario: Render of list documents\n    Given I am on the \"Show\" page for project \"hello world\"\n    And I should see \"Documentation\"\n    And I should not see \"Howto 2\"\n    And I should not see \"Another doc\"\n    And I should not see the document \"Guides\"\n\n  Scenario: Create a new document\n    Given I have logged in\n    Given I am on the \"Show\" page for project \"hello world\"\n    When I click the \"Join Project\" button\n    And I click the \"Create new document\" button\n    And I fill in \"Title\" with \"New doc title\"\n    And I click \"Submit\"\n    Then I should see \"Document was successfully created.\"\n\n  Scenario: Create a new document page should have a back button\n    Given I have logged in\n    Given I am on the \"Show\" page for project \"hello world\"\n    When I click the \"Join Project\" button\n    And I click the \"Create new document\" button\n    And I click \"Back\"\n    Then I should be on the \"Show\" page for project \"hello world\"\n\n  Scenario: Show a document\n    Given I am on the \"Show\" page for project \"hello world\"\n    When I click the sidebar link \"Documentation\"\n    Then I should be on the \"Show\" page for document \"Documentation\"\n    And I should see \"Documentation\"\n    And I should see \"My documentation\"\n\n  Scenario: A document can have children\n    Given the document \"Guides\" has a child document with title \"Howto\"\n    Given I am on the \"Show\" page for document \"Guides\"\n    Then I should see \"Howto\"\n    When I click \"Howto\"\n    Then I should be on the \"Show\" page for document \"Howto\"\n    And I should see \"Guides\"\n\n  #NOTE: below scenario is for children's documents of documents, not projects'\n\n  Scenario: Documents children should be sorted by create date (newest first)\n    Given the document \"Guides\" has a sub-document with title \"SubDoc1\" created 3 days ago\n    Given the document \"Guides\" has a sub-document with title \"SubDoc2\" created 10 days ago\n    Given I am on the \"Show\" page for document \"Guides\"\n    Then I should see the sub-documents in this order:\n      | SubDoc1 |\n      | SubDoc2 |\n\n  @javascript\n  Scenario: A logged in user could change a document's parent section\n    Given I have logged in\n    And the following documents exist:\n      | title     | content     | project    |\n      | Decisions | Examplehere | hello mars |\n    And the document \"Guides\" has a child document with title \"Howto\"\n    And the document \"Guides\" has a child document with title \"PullRequest\"\n    And I am on the \"Show\" page for document \"Howto\"\n    When I click the very stylish \"Change section\" button\n    Then I should see \"Select new section for the document\"\n    And I should see \"Decisions\" in \"Modal window\"\n    #When I click \"Decisions\" in \"Modal window\"\n    #Then I should see \"Decisions\" in \"The Breadcrumb\"\n"
  },
  {
    "path": "features/projects/connections.feature",
    "content": "Feature: Projects should show links to the connected APIs\n  As a User\n  So that I can easily navigate to Project apps\n  I want to see all connected app links on the show page\n\n  Background:\n    Given the following users exist\n      | first_name | last_name | email            | receive_mailings |\n      | Bill       | Bob       | Bill@example.com | true             |\n\n    Given the following projects exist:\n      | title   | description | status | author | pivotaltracker_url                               | github_url               | slack_channel_name |\n      | hello   | earthlings  | active | Bill   | https://www.pivotaltracker.com/n/projects/742821 | https://github.com/hello | hello_earthlings   |\n      | Bat Man | All bat     | active | Bill   |                                                  |                          |                    |\n\n    Given The project has no stories on Pivotal Tracker\n\n  Scenario Outline: Status message for when a project does not have connections\n    When I go to the \"show\" page for project \"<project_name>\"\n    Then I should not see \"<connection_message>\"\n    And I should see \"<connection_link_status>\"\n\n    Examples:\n      | project_name | connection_message      | connection_link_status     |\n      | Bat Man      | Bat Man on GitHub       | not linked to GitHub       |\n      | Bat Man      | Bat Man on IssueTracker | not linked to IssueTracker |\n      | Bat Man      | Bat Man on Slack        | not linked to Slack        |\n\n  Scenario Outline: Show links for when a project has connections\n    When I go to the \"show\" page for project \"hello\"\n    Then I should see \"<text>\"\n    And I should see a link \"hello\" that connects to the issue tracker's url\n\n    Examples:\n      | text                  | url                |\n      | hello on GitHub       | github_url         |\n      | hello on IssueTracker | pivotaltracker_url |\n      | hello on Slack        | slack_channel      |\n"
  },
  {
    "path": "features/projects/create_projects.feature",
    "content": "@vcr\nFeature: Create projects\n  \"As a member of AgileVentures\n  So that I can create a focal point for an AgileVentures project\n  I would like to create a new project profile\"\n\n  Background:\n    Given the following users exist\n      | first_name | last_name | email            | admin |\n      | Thomas     | Admin     | thomas@admin.com | true  |\n\n  Scenario: Show New Project button if user is logged in\n    When I have logged in\n    And I am on the \"projects\" page\n    Then I should see the very stylish \"New Project\" button\n\n  Scenario: Do not show New Project button if user is not logged in\n    Given I am not logged in\n    When I am on the \"projects\" page\n    Then I should not see the very stylish \"New Project\" button\n\n  Scenario: Creating a new project\n    Given I have logged in\n    And I am on the \"projects\" page\n    When I click the very stylish \"New Project\" button\n    Then I should see \"Creating a new Project\"\n    And I should see a form with:\n      | Field                   |\n      | Title                   |\n      | Description             |\n      | GitHub url              |\n      | Issue Tracker           |\n      | Slack channel name      |\n\n  Scenario Outline: Saving a new project: success\n    Given I have logged in\n    And I am on the \"Projects\" page\n    When I click the very stylish \"New Project\" button\n    When I fill in \"Title\" with \"<title>\"\n    And I fill in \"Description\" with \"<description>\"\n    And I fill in \"GitHub url\" with \"<gh_link>\"\n    And I fill in \"Issue Tracker\" with \"<pt_link>\"\n    And The project has no stories on Pivotal Tracker\n    And I fill in \"Slack channel name\" with \"slackin\"\n    And I click the \"Submit\" button\n    Then I should be on the \"Show\" page for project \"<title>\"\n    And I should see \"Project was successfully created.\"\n    And I should see:\n      | Text          |\n      | <title>       |\n      | <description> |\n      | PENDING       |\n    And I should see a link to \"<title>\" on github\n    And I should see a link \"<title>\" that connects to the issue tracker's url\n    And I should see a link \"<title>\" that connects to the \"slack_channel\"\n\n    Examples:\n      | title     | description     | gh_link                   | pt_link                                         |\n      | Title Old | Description Old | http://www.github.com/old | http://www.pivotaltracker.com/s/projects/982890 |\n      | Title New | Description New | http://www.github.com/new | http://www.pivotaltracker.com/n/projects/982890 |\n\n  Scenario: Saving a new project: failure\n    Given I have logged in\n    And I am on the \"projects\" page\n    And I click the very stylish \"New Project\" button\n    When I fill in \"Title\" with \"\"\n    And I click the \"Submit\" button\n    Then I should see \"Project was not saved. Please check the input.\"\n\n  @javascript\n  Scenario: Saving a new project with multiple repositories: success\n    Given I have logged in as \"Thomas\"\n    And I am on the \"Projects\" page\n    When I click the very stylish \"New Project\" button\n    When I fill in \"Title\" with \"multiple repo project\"\n    And I fill in \"Description\" with \"has lots of code\"\n    And I fill in \"GitHub url\" with \"http://www.github.com/new\"\n    And I click \"Add more repos\"\n    # Then I should see \"GitHub url (2)\"\n    # And I fill in \"GitHub url (2)\" with \"http://www.github.com/new2\"\n    And I fill in \"Issue Tracker\" with \"http://www.waffle.com/new\"\n    And The project has no stories on Pivotal Tracker\n    And I select \"Status\" to \"Active\"\n    And I click the \"Submit\" button\n    Then I should be on the \"Show\" page for project \"multiple repo project\"\n    And I should see \"Project was successfully created.\"\n    And I should see:\n      | Text                  |\n      | multiple repo project |\n      | has lots of code      |\n      | ACTIVE                |\n    And I should see a link to \"multiple repo project\" on github\n    And I should see a link \"multiple repo project\" that connects to the issue tracker's url\n\n  # @javascript\n  # Scenario: Saving a new project with multiple issue trackers: success\n  #   Given I have logged in as \"Thomas\"\n  #   Then I should be able to create a project with more than one issue tracker\n"
  },
  {
    "path": "features/projects/deactive_owners.feature",
    "content": "Feature: List projects with deactivated users\n  \"As a user\n  So that I can browse projects\n  Display anonymous for users that have deactivated their account\"\n\n  Scenario: Display anonymous when the project owner account is deactivated\n    Given \"Billy Bob\" creates the project \"Home run\"\n    And project \"Home run\" is activated\n    And \"Billy Bob\" deactivates his account\n    When I visit \"/projects\"\n    Then I should see \"Home run\"\n\n  Scenario: You can view the default anonymous (\"Ghost\") user page\n    Given the anonymous user exists\n    And \"Billy Bob\" creates the project \"Home run\"\n    When \"Billy Bob\" deactivates his account\n    And I visit \"/users/-1\"\n    Then I should be on the anonymous profile page\n"
  },
  {
    "path": "features/projects/edit_project.feature",
    "content": "@vcr\nFeature: Edit Project\n  As a member of AgileVentures\n  So that I can show our project in the best light\n  I would like to update a project\n\n  Background:\n\n    Given the following users exist\n      | first_name | last_name | email            | admin |\n      | Thomas     | Admin     | thomas@admin.com | true  |\n    Given the following projects exist:\n      | title         | description             | author | pitch       | status   | github_url                                  | pivotaltracker_url                               | commit_count |\n      | hello world   | greetings earthlings    | Thomas |             | active   | https://github.com/AgileVentures/WebsiteOne | https://www.pivotaltracker.com/s/projects/742821 | 2795         |\n      | hello mars    | greetings aliens        | Thomas |             | inactive |                                             |                                                  | 2000         |\n      | hello jupiter | greetings jupiter folks |        |             | active   |                                             | https://jira.atlassian.com/projects/CONFEXT      | 2000         |\n      | hello mercury | greetings mercury folks |        |             | inactive |                                             |                                                  | 1900         |\n      | hello saturn  | greetings saturn folks  |        | My pitch... | active   |                                             |                                                  | 1900         |\n      | hello sun     | greetings sun folks     |        |             | active   |                                             |                                                  |              |\n      | hello venus   | greetings venus folks   |        |             | active   |                                             |                                                  |              |\n      | hello terra   | greetings terra folks   |        |             | active   |                                             |                                                  |              |\n      | hello pluto   | greetings pluto folks   |        |             | inactive |                                             |                                                  | 2000         |\n\n    And there are no videos\n    And I am logged in as \"Thomas\"\n\n  Scenario: Edit page has a link to upload an image\n    And I am on the \"Edit\" page for projects \"hello mars\"\n    Then I should see link \"imgur.com/upload\" with \"https://imgur.com/upload\"\n\n  @javascript\n  Scenario: Existing project with multiple repos shows them correctly in edit form\n    And that project \"hello world\" has an extra repository \"https://github.com/AgileVentures/WebsiteOne\"\n    When I am on the \"Edit\" page for projects \"hello world\"\n    Then I should see \"GitHub url\"\n    # And I should see \"GitHub url (2)\"\n\n  Scenario: Edit page has a return link\n    And I am on the \"Edit\" page for projects \"hello mars\"\n    When I click \"Back\"\n    Then I should be on the \"Show\" page for project \"hello mars\"\n\n  @javascript\n  Scenario: Updating a project: success\n    And I am on the \"Edit\" page for project \"hello mars\"\n    And I fill in \"Description\" with \"Hello, Uranus!\"\n    And I click \"Add more repos\"\n    And I fill in \"GitHub url\" with \"https://github.com/google/instant-hangouts\"\n    And I click \"Add more trackers\"\n    And I fill in \"Issue Tracker\" with \"https://www.pivotaltracker.com/s/projects/853345\"\n    And The project has no stories on Pivotal Tracker\n    And I fill in \"Slack channel name\" with \"slackin\"\n    And I click the \"Submit\" button\n    Then I should be on the \"Show\" page for project \"hello mars\"\n    And I should see a success flash \"Project was successfully updated.\"\n    And I should see \"Hello, Uranus!\"\n    And I should see a link to \"hello mars\" on github\n    And I should see a link \"hello mars\" that connects to the issue tracker's url\n    And I should see a link \"hello mars\" that connects to the \"slack_channel\"\n\n  Scenario: Saving a project: failure\n    And I am on the \"Edit\" page for project \"hello mars\"\n    When I fill in \"Title\" with \"\"\n    And I click the \"Submit\" button\n    Then I should see \"Project was not updated.\"\n\n  @javascript\n  Scenario: Update GitHub url if valid\n    And I am on the \"Edit\" page for project \"hello mars\"\n    And I click \"Add more repos\"\n    And I fill in \"GitHub url\" with \"https://github.com/google/instant-hangouts\"\n    And I click the \"Submit\" button\n    Then I should be on the \"Show\" page for project \"hello mars\"\n    And I should see a link to \"hello mars\" on github\n\n  @javascript\n  Scenario: Update Issue Tracker url if valid pivotal tracker link\n    And I am on the \"Edit\" page for project \"hello mars\"\n    And I click \"Add more trackers\"\n    And I fill in \"Issue Tracker\" with \"https://www.pivotaltracker.com/s/projects/853345\"\n    And The project has no stories on Pivotal Tracker\n    And I click the \"Submit\" button\n    Then I should be on the \"Show\" page for project \"hello mars\"\n    And I should see a link \"hello mars\" that connects to the issue tracker's url\n\n  # @javascript\n  # Scenario: Reject GitHub url update if invalid\n  #   And I am on the \"Edit\" page for project \"hello mars\"\n  #   And I click \"Add more repos\"\n  #   And I fill in \"GitHub url\" with \"https:/github.com/google/instant-hangouts\"\n  #   And I click the \"Submit\" button\n  #   Then I should see \"Project was not updated.\"\n"
  },
  {
    "path": "features/projects/list_projects.feature",
    "content": "@vcr\nFeature: Browse  projects\n  As a member of AgileVentures\n  So that I can participate in AgileVentures activities\n  I would like to see existing projects\n\n  Background:\n\n    Given the following users exist\n      | first_name | last_name | email            | admin |\n      | Thomas     | Admin     | thomas@admin.com | true  |\n    Given the following projects exist:\n      | title         | description             | pitch       | status  | github_url                                  | pivotaltracker_url                               | commit_count | last_github_update      |\n      | hello world   | greetings earthlings    |             | active  | https://github.com/AgileVentures/WebsiteOne | https://www.pivotaltracker.com/s/projects/742821 | 2795         | 2000-01-13 09:37:14 UTC |\n      | hello mars    | greetings aliens        |             | active  |                                             |                                                  | 2000         | 1999-01-11 09:37:14 UTC |\n      | hello jupiter | greetings jupiter folks |             | active  |                                             | https://jira.atlassian.com/projects/CONFEXT      | 2000         | 1999-01-10 09:37:14 UTC |\n      | hello mercury | greetings mercury folks |             | active  |                                             |                                                  | 1900         | 1999-01-09 09:37:14 UTC |\n      | hello saturn  | greetings saturn folks  | My pitch... | active  |                                             |                                                  | 1900         | 1999-01-09 08:37:14 UTC |\n      | hello sun     | greetings sun folks     |             | active  |                                             |                                                  | 1800         | 1999-01-01 09:37:14 UTC |\n      | hello venus   | greetings venus folks   |             | inactive  |                                             |                                                  |              | 1999-01-01 09:37:14 UTC |\n      | hello terra   | greetings terra folks   |             | active  |                                             |                                                  |              | 1999-01-01 09:37:14 UTC |\n      | hello pluto   | greetings pluto folks   |             | pending |                                             |                                                  | 2000         | 1999-01-01 09:37:14 UTC |\n      | hello alpha   | greetings alpha folks   |             | active  |                                             |                                                  | 300          | 2000-01-12 09:37:14 UTC |\n    And there are no videos\n\n  #  Scenarios for Index page\n\n  Scenario: List of projects in table layout\n    Given  I am on the \"home\" page\n    When I follow \"Projects\" within the navbar\n    Then I should see \"Projects By Recent Activity\"\n\n  Scenario: Columns in projects table\n    When I go to the \"projects\" page\n    Then I should see \"Projects By Recent Activity\" table\n\n  @javascript\n  Scenario: Display most recently updated at top \"Our Projects\" page\n    Given I am on the \"home\" page\n    When I follow \"Projects\" within the navbar\n    Then I should see \"<title>\" and \"<last_github_update>\" within \"project-list\":\n      | title         | last_github_update |\n      | hello world   | 2000-01-13 |\n      | hello alpha   | 2000-01-12 |\n      | hello mars    | 1999-01-11 |\n      | hello mercury | 1999-01-09 |\n      | hello jupiter | 1999-01-10 |\n      | hello saturn | 1999-01-09 |\n      | hello sun    | 1999-01-01 |\n      | hello terra  | 1999-01-01 |\n   And I should not see \"<title>\" within \"project-list\":\n     | title        |\n     | hello venus  |\n\n  Scenario:  Display pending projects\n    Given I am logged in as \"Thomas\"\n    And I am on the \"pending projects\" page\n    Then I should see \"<title>\" within \"project-list\":\n      | title       |\n      | hello pluto |\n"
  },
  {
    "path": "features/projects/notify_project_creator.feature",
    "content": "Feature: Notify project creator when people join project\n  As a project organizer/creator\n  I want to be notified when new people join my project within the AV site\n  so that I can reach out and personally welcome them\n\n  Background:\n    Given the following users exist\n      | first_name | last_name | email                  | receive_mailings  |\n      | Alice      | Jones     | alicejones@hotmail.com | true              |\n      | John       | Doe       | john@doe.com           | false             |\n      | Bryan      | Yap       | test@test.com          | true              |\n    Given the following projects exist:\n      | title         | description           | status   | author |\n      | hello world   | greetings earthlings  | active   | Alice  |\n      | hello mars    | greetings aliens      | active   | John   |\n\n  Scenario: when a person joins project an email is sent to project creator\n    Given I am logged in as \"John\"\n    And I go to the \"show\" page for project \"hello world\"\n    When I click \"Join Project\"\n    Then project creator \"alicejones@hotmail.com\" should receive a \"John Doe just joined hello world project\" email\n\n  Scenario: Notification should not be sent to project creator if they disable site emails\n    Given I am logged in as \"Bryan\"\n    And I go to the \"show\" page for project \"hello mars\"\n    When I click \"Join Project\"\n    Then project creator \"john@doe.com\" should not receive a \"Bryan Yap just joined hello mars project\" email\n"
  },
  {
    "path": "features/projects/notify_project_joinee.feature",
    "content": "Feature: Notify project joinee when people join project\n  As an AV member joining a project\n  I want to receive a welcome email about the project\n  So that I can understand how to get started and have an email to reach out to\n\n  Background:\n    Given the following users exist\n      | first_name | last_name | email                  | receive_mailings  |\n      | Alice      | Jones     | alicejones@hotmail.com | true              |\n      | John       | Doe       | john@doe.com           | true              |\n      | Bryan      | Yap       | test@test.com          | false             |\n    Given the following projects exist:\n      | title         | description           | status   | author |\n      | hello world   | greetings earthlings  | active   | Alice  |\n      | hello mars    | greetings aliens      | active   | John   |\n\n  Scenario: when a person joins a project they get a welcome email\n    Given I am logged in as \"John\"\n    And I go to the \"show\" page for project \"hello world\"\n    When I click \"Join Project\"\n    Then project joinee \"john@doe.com\" should receive a \"Welcome to the hello world project!\" email\n\n  Scenario: Notification should not be sent to project joinee if they disable site emails\n    Given I am logged in as \"Bryan\"\n    And I go to the \"show\" page for project \"hello mars\"\n    When I click \"Join Project\"\n    Then project joinee \"test@test.com\" should not receive a \"Welcome to the hello mars project!\" email\n"
  },
  {
    "path": "features/projects/project_pivotal_stories.feature",
    "content": "@vcr\nFeature: Adding pivotal tracker stories to projects\n    As a site owner\n    So that I can provide a better overview over project activities to site users\n    I would like to display projects current sprint activities as they are set in Pivotal Tracker \n\n    Background:\n      # And I have access to project iteration with pivitaltracker_id 982890 in PivotalTracker\n      Given the following projects exist:\n        | title      | description    | status | pivotaltracker_url                               |\n        | WebsiteOne | Agile Ventures | active | https://www.pivotaltracker.com/s/projects/982890 |\n      And there are no videos\n\n    Scenario: When a project has no stories\n      Given The project has no stories on Pivotal Tracker\n      And I am on the \"Show\" page for project \"WebsiteOne\"\n      Then I click \"Activity\"\n      Then I should see \"No IssueTracker Stories can be found for project WebsiteOne\"\n\n    Scenario: Project Show Page Renders List of Pivotal Tracker Stories\n      Given The project has some stories on Pivotal Tracker\n      And I am on the \"Show\" page for project \"WebsiteOne\"\n      Then I click \"Activity\"\n      Then I should see a \"Current\" table with:\n        | column     |\n        | Type       |\n        | Points     |\n        | Labels     |\n        | State      |\n      And I should see:\n        | text                             |\n        | YT sync is failing in some cases |\n        | finished                         |\n      And I should see:\n        | text                           |\n        | Clean up turbolinks attributes |\n        | started                       |\n      And I should see:\n        | text                                                              |\n        | Project description not taking into account the github repository |\n        | started                                                          |\n"
  },
  {
    "path": "features/projects/project_show_tabs.feature",
    "content": "# @vcr\n# @javascript\n# Feature: Add in-page links for projects show page to open the tabbed contents\n#   \"As a user\n#   So that I may share a link directly to a tabbed page\n#   I would like the url to reflect the current tab contents in the page\"\n\n#   Background:\n#     Given the following projects exist:\n#       | title       | description          | status |\n#       | hello world | greetings earthlings | active |\n#     And there are no videos\n\n  # Scenario: Share the link to documents tab\n  #   When I am on the \"Show\" page for project \"hello world\"\n  #   And I click \"Documents\"\n  #   And I refresh the page\n  #   Then I should see a \"documents\" tab set to active\n\n  # Scenario: Share the link to videos tab\n  #   When I am on the \"Show\" page for project \"hello world\"\n  #   And I click \"Videos\"\n  #   And I refresh the page\n  #   Then I should see a \"videos\" tab set to active"
  },
  {
    "path": "features/projects/project_videos.feature",
    "content": "@vcr\nFeature: See project related videos\n  As a member of AgileVentures\n  So that I can see all the videos related to a project\n  I would like to see a list of videos on a project page\n\n  Background:\n    Given I have logged in\n    And the following projects exist:\n      | title       | description          | status   | tags            |\n      | hello world | greetings earthlings | active   | WSO, WebsiteOne |\n      | hello mars  | greetings aliens     | inactive | Autograders     |\n    And the project \"hello world\" has 3 videos of user \"John Doe\"\n    And the project \"hello mars\" has 2 videos of user \"John Doe\"\n\n\n  Scenario: Project show page renders a list of videos\n    Given I am on the \"Show\" page for project \"hello world\"\n    Then I should see \"Videos (3)\"\n    And I should see a \"Latest Project videos\" table with:\n      | columns   |\n      | Video     |\n      | Host      |\n      | Published |\n    And I should see:\n      | text                           |\n      | PP on hello world - feature: 0 |\n      | PP on hello world - feature: 1 |\n      | PP on hello world - feature: 2 |\n      | John Doe                       |\n      | 00:00 15/04                    |\n      | 00:01 15/04                    |\n      | 00:02 15/04                    |\n    But I should not see \"PP on hello mars\"\n\n  Scenario: show video's description in the player's heading of the newest video\n    Given I am on the \"Show\" page for project \"hello world\"\n    Then I should see \"PP on hello world - feature: 2\" in \"video description\"\n\n  Scenario: show videos sorted by descending published date\n    Given I am on the \"Show\" page for project \"hello world\"\n    Then I should see \"PP on hello world - feature: 2\" before \"PP on hello world - feature: 1\"\n    Then I should see \"PP on hello world - feature: 1\" before \"PP on hello world - feature: 0\"\n\n  Scenario: show embedded youtube player with the newest video\n    Given I am on the \"Show\" page for project \"hello world\"\n    And I should see video \"PP on hello world - feature: 2\" in \"player\"\n\n  Scenario: show video missing when video is a dud\n    Given there is a dud video for project \"hello mars\"\n    And I am on the \"Show\" page for project \"hello mars\"\n    Then I should see \"video unavailable ('Start Broadcast' not pressed, or Hangout/YouTube fail)\"\n\n  Scenario: show only 25 last videos\n    Given the project \"hello mars\" has 25 videos of user \"John Doe\"\n    Given I am on the \"Show\" page for project \"hello mars\"\n    Then I should see \"Videos (27)\"\n    And I should see 25 rows with text \"PP on hello mars\" in a table\n\n  # @javascript\n  # Scenario: Selecting videos from the list\n  #   Given I am on the \"Show\" page for project \"hello world\"\n  #   When I click \"Videos (3)\"\n  #   When I click \"PP on hello world - feature: 0\"\n  #   Then I should see \"PP on hello world - feature: 0\" in \"video description\"\n  #   And I should see video \"PP on hello world - feature: 0\" in \"player\"\n\n"
  },
  {
    "path": "features/projects/show_project.feature",
    "content": "@vcr\nFeature: Display Projects\n  As a member of AgileVentures\n  So that I can participate in AgileVentures activities\n  I would like to view an existing project\n\n  Background:\n    Given the following projects exist:\n      | title         | description             | pitch       | status   | github_url                                  | pivotaltracker_url                               | commit_count |\n      | hello world   | greetings earthlings    |             | active   | https://github.com/AgileVentures/WebsiteOne | https://www.pivotaltracker.com/s/projects/742821 | 2795         |\n      | hello mars    | greetings aliens        |             | inactive |                                             |                                                  | 2000         |\n      | hello jupiter | greetings jupiter folks |             | active   |                                             | https://jira.atlassian.com/projects/CONFEXT      | 2000         |\n      | hello mercury | greetings mercury folks |             | inactive |                                             |                                                  | 1900         |\n      | hello saturn  | greetings saturn folks  | My pitch... | active   |                                             |                                                  | 1900         |\n      | hello sun     | greetings sun folks     |             | active   |                                             |                                                  |              |\n      | hello venus   | greetings venus folks   |             | active   |                                             |                                                  |              |\n      | hello terra   | greetings terra folks   |             | active   |                                             |                                                  |              |\n      | hello pluto   | greetings pluto folks   |             | inactive |                                             |                                                  | 2000         |\n\n    And The projects have no stories on Pivotal Tracker\n    And the following source repositories exist:\n      | url                               | project   |\n      | https://github.com/HelloSun       | hello sun |\n      | https://github.com/HelloSunExtras | hello sun |\n\n    And there are no videos\n\n  Scenario: Project show page renders a list of members\n    Given The project \"hello world\" has 10 members\n    And I am on the \"Show\" page for project \"hello world\"\n    Then I should see \"Members (10)\"\n    But I should see 5 member avatars\n\n  Scenario: Project show page has links to github and Pivotal Tracker\n    Given I am on the \"Show\" page for project \"hello world\"\n    And I should see a link to \"hello world\" on github\n    And I should see a link \"hello world\" that connects to the issue tracker's url\n\n  Scenario: Project show page has links to multiple github repos\n    Given I am on the \"Show\" page for project \"hello sun\"\n    And I should see link \"HelloSun\"\n    And I should see link \"HelloSunExtras\"\n\n  Scenario: Project show page should not show Meet button for users that not follow the project\n    Given I have logged in\n    And I am on the \"Show\" page for project \"hello world\"\n    Then I should not see \"Start Google Meet\"\n"
  },
  {
    "path": "features/remind_complete_profile.feature",
    "content": "@vcr\nFeature: Remind User complete profile\n  \"As site admin\n  In order to increase the quality of our users database\n  I would like to present users with incomplete user profiles with a popup\n  reminding them about the benefits of adding skills, name, description(bio), etc.\"\n\n  Scenario: User has incomplete profile from home page\n    Given I exist as a user\n    And I have an incomplete profile\n    When I sign in with valid credentials\n    Then I should see \"We've noticed that your profile is incomplete.\"\n    And I should see link \"Take me to my profile page\"\n    And I should see button \"Continue using the site\"\n\n  Scenario: User has incomplete profile from home page and choose 'edit registration'\n    Given I exist as a user\n    And I have an incomplete profile\n    When I sign in with valid credentials\n    And I click \"Take me to my profile page\"\n    Then I should be on the \"edit registration\" page\n\n  Scenario: User has incomplete profile from home page and choose 'continue'\n    Given I exist as a user\n    And I have an incomplete profile\n    When I sign in with valid credentials\n    And I click \"Continue using the site\"\n    Then I should be on the \"getting started\" page\n\n  Scenario: User has complete profile from home page\n    Given I exist as a user\n    When I sign in with valid credentials\n    Then I should not see \"We've noticed that your profile is incomplete.\"\n\n  Scenario: User has incomplete profile not from home page\n    Given I exist as a user\n    And I have an incomplete profile\n    And I visit \"projects\"\n    When I sign in with valid credentials\n    Then I should see \"We've noticed that your profile is incomplete.\"\n    And I should see link \"Take me to my profile page\"\n    And I should see button \"Continue using the site\"\n\n  Scenario: User has complete profile not from home page\n    Given I exist as a user\n    And I visit \"projects\"\n    When I sign in with valid credentials\n    Then I should not see \"We've noticed that your profile is incomplete.\"\n"
  },
  {
    "path": "features/sidebar.feature",
    "content": "@vcr\nFeature: Sidebar navigation\n  \"As a user\n  So that I may navigate through project documents with ease\n  I want to have a sidebar to navigate project documents with\"\n\n  Background:\n    Given the following users exist\n      | first_name | email            | admin |\n      | User 1     | user_1@admin.com | false |\n      | User 2     | user_2@admin.com | false |\n    Given the following projects exist:\n      | title       | description          | status  | id | author |\n      | hello world | greetings earthlings | active  | 1  | User 1 |\n      | hello mars  | greetings aliens     | pending | 2  | User 1 |\n      | hello moon  | greetings moonians   | active  | 3  | User 2 |\n      | hello pluto | greetings plutonians | active  | 4  | User 2 |\n\n    And the following documents exist:\n      | title         | content          | project_id |\n      | Howto         | How to start     | 1          |\n      | Documentation | My documentation | 1          |\n      | Another doc   | My content       | 2          |\n      | Howto 2       | My documentation | 2          |\n    And there are no videos\n\n\n  Scenario: Sidebar is visible except on projects index page\n    Given I am logged in as \"User 1\"\n    And I am on the \"Edit\" page for project \"hello mars\"\n    Then I should see the sidebar\n    Given I am on the \"Show\" page for project \"hello mars\"\n    Then I should see the sidebar\n    Given I am on the \"projects\" page\n    When I click the very stylish \"New Project\" button\n    Then I should see the sidebar\n\n  Scenario: Sidebar always shows the relevant information\n    Given I am logged in as \"User 1\"\n    And I am on the \"Show\" page for document \"Howto 2\"\n    Then I should see a link to \"Show\" page for project \"hello world\" within the sidebar\n    And I should see a link to \"Show\" page for document \"Howto\" within the sidebar\n    And I should see a link to \"Show\" page for document \"Documentation\" within the sidebar\n    And I should not be able to see a link to \"Show\" page for project \"hello mars\" within the sidebar\n    And I should not be able to see a link to \"Show\" page for document \"Another doc\" within the sidebar\n    And I should not be able to see a link to \"Show\" page for document \"Howto 2\" within the sidebar\n\n  Scenario: Sidebar projects are organised alphabetically\n    Given I am logged in as \"User 1\"\n    And I am on the \"Edit\" page for project \"hello mars\"\n    Then I should see \"hello moon\" before \"hello pluto\"\n    And I should see \"hello pluto\" before \"hello world\"\n    Given I am on the \"Show\" page for project \"hello mars\"\n    Then I should see \"hello moon\" before \"hello pluto\"\n    And I should see \"hello pluto\" before \"hello world\"\n"
  },
  {
    "path": "features/step_definitions/.gitkeep",
    "content": ""
  },
  {
    "path": "features/step_definitions/activity_feed_steps.rb",
    "content": "# frozen_string_literal: true\n\nThen(/^I should see a activity feed$/) do\n  expect(page).to have_css('div#feed')\nend\n\nAnd(/^I edit article \"([^\"]*)\"$/) do |article|\n  steps %(\n    And I am on the \"Show\" page for article \"#{article}\"\n    And I click the very stylish \"Edit article\" button\n    Then I should be on the \"Edit\" page for article \"#{article}\"\n    And I fill in \"Content\" with \"**New content** ``New Markdown``\"\n    And I click the \"Update\" button\n)\nend\n\nAnd(/^I create a document named \"([^\"]*)\"$/) do |document|\n  steps %( Given I am on the \"Show\" page for project \"Hello Galaxy\"\n            And I click the \"Join Project\" button\n            And I click \"Project Actions\"\n            And I click \"Create new document\"\n            And I fill in \"Title\" with \"#{document}\"\n            And I click \"Submit\"\n)\nend\n\nAnd(/^I create a project named \"([^\"]*)\"$/) do |project|\n  steps %{\n    Given The project has no stories on Pivotal Tracker\n    And I am on the \"Projects\" page\n    And I click the very stylish \"New Project\" button\n    When I fill in:\n      | Field                     | Text                                            |\n      | Title                     | #{project}                                      |\n      | Description               | Description New                                 |\n      | GitHub url                | http://www.github.com/abc                       |\n      | Issue Tracker             | http://www.pivotaltracker.com/s/projects/982890 |\n    And I click the \"Submit\" button\n}\nend\n\nGiven(/^Given I am on the Activity feed$/) do\n  steps %(\n    Given I am on the \"Dashboard\" page\n    And I click the \"Activity feed\" link\n)\nend\n"
  },
  {
    "path": "features/step_definitions/advanced_site_search.rb",
    "content": "# frozen_string_literal: true\n\nThen(/^I should( not)? see the search form$/) do |negative|\n  if negative\n    expect(page).to have_css '#google-search-wrapper', visible: false\n  else\n    expect(page).to have_css '#google-search-wrapper', visible: true\n  end\nend\n\nThen(/^I click the Search Toggle button$/) do\n  page.find(:css, 'a#google_search', visible: true).click\nend\n"
  },
  {
    "path": "features/step_definitions/article_votes_steps.rb",
    "content": "# frozen_string_literal: true\n\nGiven(/^the following articles with votes exist:$/) do |table|\n  table.hashes.each_with_index do |raw_hash, article_count|\n    hash = {}\n    votes = raw_hash['VoteValue']\n    raw_hash.except! 'VoteValue'\n    raw_hash.each_pair { |k, v| hash[k.to_s.downcase.squish.gsub(/\\s+/, '_')] = v }\n    article = default_test_author.articles.new hash\n    article.save!\n    votes.to_i.abs.times do |voter_count|\n      user_email = \"avoter_#{article_count}#{voter_count}@example.com\"\n      u = FactoryBot.create(:user, email: user_email)\n      votes.to_i >= 0 ? article.upvote_from(u) : article.downvote_from(u)\n    end\n  end\nend\n\nThen(/^I should see a Vote value of \"(.*?)\"$/) do |vote_value|\n  expect(page).to have_text \"Votes: #{vote_value}\"\nend\n\nGiven(/^I have voted \"(.*?)\" article \"(.*?)\"$/) do |up_or_down, article|\n  @article = Article.find_by_title(article)\n  case up_or_down.downcase\n  when 'up'\n    @article.liked_by @current_user\n  when 'down'\n    @article.downvote_from @current_user\n  end\nend\n\nGiven(/^I have authored article \"(.*?)\"$/) do |title|\n  @user = default_test_author\n  step %(I am logged in as \"#{@user.first_name}\")\n  @article = Article.find_by_title title\n  @article ||= @user.articles.create({ title: title, content: 'An Author vote test article.' })\nend\n"
  },
  {
    "path": "features/step_definitions/articles_steps.rb",
    "content": "# frozen_string_literal: true\n\nGiven(/^the following articles exist:$/) do |table|\n  table.hashes.each do |raw_hash|\n    hash = {}\n    raw_hash.each_pair { |k, v| hash[k.to_s.downcase.squish.gsub(/\\s+/, '_')] = v }\n    if hash['author'].present?\n      u = User.find_by_first_name hash['author']\n      hash.except! 'author'\n      article = u.articles.new hash\n    else\n      article = default_test_author.articles.new hash\n    end\n    article.save!\n  end\nend\n\nWhen(/^I click the Preview button$/) do\n  find_button('Preview').trigger('click')\n  sleep(0.1)\nend\n\nThen(/^I should see a preview containing:$/) do |table|\n  content = table.raw.flatten\n  preview_window = windows.last\n  page.within_window preview_window do\n    content.each do |text|\n      expect(page).to have_text text\n    end\n  end\nend\n"
  },
  {
    "path": "features/step_definitions/av_dashboard_token_steps.rb",
    "content": "# frozen_string_literal: true\n\nThen(/^I should have a valid authorized AVDashboard token on the rendered page$/) do\n  expect(page.body).to have_css('form#av_dashboard')\n  encoded_token = page.find(:xpath, '//form[@id=\"av_dashboard\"]/input[1]', visible: false).value\n  require 'jwt'\n  decoded_token = JWT.decode encoded_token, Settings.av_dashboard_token_secret, 'HS256'\n  expect(decoded_token).to include(hash_including('authorized' => 'true'))\n  expect(decoded_token).to include(hash_including('exp'))\n  expect(DateTime.strptime(decoded_token.first['exp'], '%Q')).to be >= DateTime.now\n  expect(DateTime.strptime(decoded_token.first['exp'], '%Q')).to be <= (DateTime.now + 1.day)\nend\n\nThen(/^I should have a valid unauthorized AVDashboard token on the rendered page$/) do\n  expect(page.body).to have_css('form#av_dashboard')\n  encoded_token = page.find(:xpath, '//form[@id=\"av_dashboard\"]/input[1]', visible: false).value\n  require 'jwt'\n  decoded_token = JWT.decode encoded_token, Settings.av_dashboard_token_secret, 'HS256'\n  expect(decoded_token).to include(hash_including('authorized' => 'false'))\n  expect(decoded_token).to include(hash_including('exp'))\n  expect(DateTime.strptime(decoded_token.first['exp'], '%Q')).to be >= DateTime.now\n  expect(DateTime.strptime(decoded_token.first['exp'], '%Q')).to be <= (DateTime.now + 1.day)\nend\n"
  },
  {
    "path": "features/step_definitions/avatar_steps.rb",
    "content": "# frozen_string_literal: true\n\nThen(/^I should see my avatar image$/) do\n  expect(page).to have_xpath(\"//img[contains(@src, '#{@avatar_link}')]\")\nend\n\nThen(/^I should see \"([^\"]*)\" avatars$/) do |arg|\n  expect(page).to have_xpath(\"//img[contains(@src, 'gravatar.com')]\", count: arg)\nend\n\nThen(/^I should see \"([^\"]*)\" user avatars$/) do |arg|\n  expect(page).to have_css('img[src*=\"gravatar.com\"]', count: arg)\nend\n\nWhen(/^I click on the avatar for \"(.*?)\"$/) do |user|\n  this_user = User.find_by_first_name(user) || User.find_by_email(user)\n  first(:css, \"a[href*=\\\"#{this_user.friendly_id}\\\"] img\")\n  visit path_to('user profile', this_user)\nend\n\nAnd(/^I should see the avatar for \"(.*?)\"$/) do |user|\n  user = User.find_by_first_name(user)\n  expect(page).to have_xpath(\"//img[contains(@alt, '#{user.presenter.display_name}')]\")\nend\n\nAnd(/^I should see the avatar for \"(.*?)\" at( least)? (\\d*?) px$/) do |user, _greater_than, size|\n  this_user = User.find_by_first_name(user)\n  # TODO: check for size: > size if greater_than is set\n  expect(page).to have_xpath(\"//img[contains(@src, '#{this_user.gravatar_url(size: size)}')]\")\nend\n"
  },
  {
    "path": "features/step_definitions/basic_steps.rb",
    "content": "# frozen_string_literal: true\n\ndef url_for_title(options)\n  controller = options[:controller]\n  eval(\"#{controller.capitalize.singularize}.find_by_title('#{options[:title]}').url_for_me(options[:action].downcase)\")\nend\n\ndef path_to(page_name, id = '')\n  name = page_name.downcase\n  case name\n  when 'home'\n    root_path\n  when 'about'\n    '/about-us'\n  when 'registration'\n    new_user_registration_path\n  when 'edit registration'\n    edit_user_registration_path\n  when 'sign in'\n    new_user_session_path\n  when 'projects'\n    projects_path\n  when 'pending projects'\n    pending_projects_path\n  when 'new project'\n    new_project_path\n  when 'articles'\n    articles_path\n  when 'articles with ruby tag'\n    articles_path(tag: 'Ruby')\n  when 'edit'\n    edit_project_path(id)\n  when 'show'\n    project_path(id)\n  when 'our members'\n    users_path\n  when 'user profile'\n    user_path(id)\n  when 'my account'\n    edit_user_registration_path(id)\n  when 'scrums'\n    scrums_index_path\n  when 'event_instances'\n    hangouts_path\n  when 'foobar'\n    \"/#{page}\"\n  when 'password reset'\n    edit_user_password_path(id)\n  when 'hookups'\n    hookups_path\n  when 'dashboard'\n    '/dashboard'\n  when 'premium membership'\n    static_page_path('premium')\n  when 'premium mob membership'\n    static_page_path('premium_mob')\n  when 'getting started'\n    static_page_path('getting-started')\n  when 'sign up'\n    new_user_registration_path\n  when 'premium sign up'\n    new_subscription_path(plan: 'premium')\n  when 'premium mob sign up'\n    new_subscription_path(plan: 'premiummob')\n  when 'event'\n    event_path(id: id)\n  else\n    raise('path to specified is not listed in #path_to')\n  end\nend\n\n# GIVEN steps\n\nThen(/^show me the page$/) do\n  save_and_open_page\nend\n\nGiven(/^I (?:visit|am on) the site$/) do\n  visit root_path\nend\n\nGiven(/^I visit \"(.*?)\"$/) do |path|\n  visit path\nend\n\n# WHEN steps\nWhen(/^I (?:go to|am on) the \"([^\"]*)\" page$/) do |page|\n  visit path_to(page)\nend\n\nWhen(/^I (?:go to|am on) the \"([^\"]*)\" event page$/) do |name|\n  id = Event.find_by_name(name).id\n  visit path_to('event', id)\nend\n\nWhen(/^(?:when I|I) click \"([^\"]*)\"$/) do |text|\n  click_link_or_button(text)\nend\n\nWhen(/^(?:when I|I) click the first instance of \"([^\"]*)\"$/) do |text|\n  click_link_or_button(text, match: :first)\nend\n\nWhen(/^I click the \"([^\"]*)\" button$/) do |button|\n  click_link_or_button button\nend\n\nWhen(/^I open the Edit URL controls/) do\n  page.execute_script(%q{$('li[role=\"edit_hoa_link\"] > a').trigger('click')})\nend\n\nWhen(/^I click on the Save button/) do\n  page.find(:css, 'input[id=\"hoa_link_save\"]').trigger('click')\nend\n\nWhen(/^I click on the Cancel button/) do\n  page.find(:css, 'button[id=\"hoa_link_cancel\"]').trigger('click')\nend\n\nThen(/^I should see the Edit URL controls/) do\n  expect(page).to have_css 'div#edit-link-form.collapse.in'\nend\n\nThen(/^I should not see the Edit URL controls/) do\n  expect(page).to have_css 'div#edit-link-form[style*=\"height: 0px\"]'\nend\n\nWhen(/^I click \"([^\"]*)\" button$/) do |button|\n  click_button button\nend\n\nWhen(/^I click the \"([^\"]*)\" link$/) do |button|\n  click_link button\nend\n\nWhen(/^I follow \"([^\"]*)\"$/) do |text|\n  click_link text\nend\n\nWhen(/^I dropdown the \"([^\"]*)\" menu$/) do |text|\n  within('.navbar') do\n    click_link text\n  end\nend\n\nWhen(/^I fill in \"([^\"]*)\" with \"([^\"]*)\"$/) do |field, value|\n  fill_in field, with: value\nend\n\nWhen(/^I fill in(?: \"([^\"]*)\")?:$/) do |name, table|\n  with_scope(name) do\n    table.rows.each do |row|\n      fill_in row[0], with: row[1]\n    end\n  end\nend\n\nWhen(/^I fill in event field(?: \"([^\"]*)\")?:$/) do |name, table|\n  with_scope(name) do\n    table.rows.each do |row|\n      within('form#event-form') do\n        fill_in row[0], with: row[1]\n      end\n    end\n  end\nend\n\nGiven(/^the time now is \"([^\"]*)\"$/) do |time|\n  # use delorean\n  Time.stub(now: Time.parse(time))\nend\n\n# THEN steps\n\nThen(/^I should see link \"([^\"]*)\" with \"([^\"]*)\"$/) do |link, url|\n  expect(page).to have_link(link, href: url)\nend\n\nThen(/^I should( not)? see a link \"([^\"]*)\" to \"([^\"]*)\"$/) do |negate, link, url|\n  if negate\n    expect(page).to have_no_link(link, href: url)\n  else\n    expect(page).to have_link(link, href: url)\n  end\nend\n\nThen(/^I should be on the \"([^\"]*)\" page$/) do |page|\n  expect(current_fullpath).to eq path_to(page)\nend\n\ndef current_fullpath\n  URI.parse(current_url).request_uri\nend\n\nThen(/^I should see a form(?: \"([^\"]*)\")? with:$/) do |name, table|\n  with_scope(name) do\n    table.rows.each do |row|\n      step %(the \"#{row[0]}\" field should contain \"#{row[1]}\")\n    end\n  end\nend\n\nThen(/^I should( not)? see:$/) do |negative, table|\n  expectation = negative ? :should_not : :should\n  table.rows.flatten.each do |string|\n    page.send(expectation, have_text(string))\n  end\nend\n\nThen(/^I should( not)? see \"([^\"]*)\"$/) do |negative, string|\n  if negative\n    expect(page).to_not have_text string\n  else\n    expect(page).to have_text string\n  end\nend\n\nThen(/^I should( not)? see a (notice|success) flash \"([^\"]*)\"$/) do |negative, type, string|\n  if negative\n    expect(page).not_to have_css '.alert', text: string\n    expect(page).not_to have_css \".alert-#{type}\", text: string\n  else\n    expect(page).to have_css '.alert', text: string\n    expect(page).to have_css \".alert-#{type}\", text: string\n  end\nend\n\nThen(/^I should( not)? see \"([^\"]*)\" in \"([^\"]*)\"$/) do |negative, string, scope|\n  within(selector_for(scope)) { step %(I should#{negative} see \"#{string}\") }\nend\n\nThen(/^I should( not)? see link \"([^\"]*)\"$/) do |negative, link|\n  if negative\n    expect(page.has_link?(link)).to be_falsey\n  else\n    expect(page.has_link?(link)).to be_truthy\n  end\nend\n\nThen(/^I should( not)? see button \"([^\"]*)\"$/) do |negative, button|\n  if negative\n    expect(page.has_link_or_button?(button)).to be_falsey\n  else\n    expect(page.has_link_or_button?(button)).to be_truthy\n  end\nend\n\nThen(/^the \"([^\"]*)\" field(?: within (.*))? should( not)? contain \"([^\"]*)\"$/) do |field, parent, negative, value|\n  with_scope(parent) do\n    field = find_field(field)\n    field_value = field.tag_name == 'textarea' ? field.text : field.value\n    field_value ||= ''\n    if negative\n      expect(field_value).to_not match(/#{value}/)\n    else\n      expect(field_value).to match(/#{value}/)\n    end\n  end\nend\n\nThen(/^I should be on the \"([^\"]*)\" page for ([^\"]*) \"([^\"]*)\"/) do |action, controller, title|\n  expect(current_path).to eq url_for_title(action: action, controller: controller, title: title)\nend\n\nGiven(/^I (?:am on|go to) the \"([^\"]*)\" page for ([^\"]*) \"([^\"]*)\"$/) do |action, controller, title|\n  visit url_for_title(action: action, controller: controller, title: title)\nend\n\nThen(/^I should( not be able to)? see a link to \"([^\"]*)\" page for ([^\"]*) \"([^\"]*)\"$/) do |invisible, action, controller, title|\n  if invisible\n    expect(page).not_to have_link(title, href: url_for_title(action: action, controller: controller, title: title))\n  else\n    expect(page).to have_link(title, href: url_for_title(action: action, controller: controller, title: title))\n  end\nend\n\nWhen(/^I select \"([^\"]*)\" to \"([^\"]*)\"$/) do |field, option|\n  find(:select, field).find(:option, option).select_option\nend\n\nWhen(/^I select \"([^\"]*)\" from \"([^\"]*)\"$/) do |option, field|\n  select option, from: field, visible: false\nend\n\nThen(/^I should see the sidebar$/) do\n  page.find(:css, '#sidebar')\nend\n\nThen(/^I should( not)? see the supporter content/) do |negative|\n  if negative\n    expect(page).to_not have_css '#sponsorsBar'\n  else\n    expect(page).to have_css 'div#sponsorsBar', visible: true\n  end\nend\n\nThen(/^I should( not)? see the round banners/) do |negative|\n  if negative\n    expect(page).to_not have_css '.circle'\n  else\n    expect(page).to have_css '.circle', visible: true\n  end\nend\n\nWhen(/^I click the very stylish \"([^\"]*)\" button$/) do |button|\n  find_link(button.downcase.to_s).click\nend\n\nThen(/^I should (not |)see the very stylish \"([^\"]*)\" button$/) do |should, button|\n  if should == 'not '\n    expect(page).to_not have_css %(a[title=\"#{button.downcase}\"])\n  else\n    expect(page).to have_css %(a[title=\"#{button.downcase}\"])\n  end\nend\n\nThen(/^I should see the sub-documents in this order:$/) do |table|\n  expected_order = table.raw.flatten\n  actual_order = page.all('li.listings-item a').map(&:text)\n  expect(actual_order).to eq expected_order\nend\n\nThen(/^I should see a \"([^\"]*)\" table with:$/) do |name, table|\n  expect(page).to have_text(name)\n  table.rows.flatten.each do |heading|\n    expect(page).to have_css('table th', text: heading)\n  end\nend\n\nThen(/^I should see (\\d+) rows with text \"(.*?)\" in a table$/) do |count, text|\n  expect(page).to have_css('table tr', text: text, count: count)\nend\n\nThen(/^I (un)?check \"([^\"]*)\"$/) do |negate, item|\n  if negate\n    uncheck item\n  else\n    check item\n  end\nend\n\nThen(/^I check by value \"([^\"]*)\"$/) do |value|\n  find(:css, \"input[value='#{value}']\").set(true)\nend\n\nWhen(/^I refresh the page$/) do\n  visit current_url\nend\n\ndef assert_link_exists(path, text)\n  expect(page).to have_css \"a[href='#{path}']\", text: text\nend\nThen(/^I should see a link to create a new event$/) do\n  assert_link_exists(new_event_path, 'CREATE EVENT')\nend\n\nThen(/^I should see a link to upcoming events$/) do\n  assert_link_exists(events_path, 'UPCOMING EVENTS')\nend\n\nThen(/^I should see a link to past events$/) do\n  assert_link_exists(scrums_path, 'PAST EVENTS')\nend\n\nThen(/^I should see an image with source \"([^\"]*)\"$/) do |source|\n  expect(page).to have_css \"img[src*=\\\"#{source}\\\"]\"\nend\n\nThen(/^I should see the \"(.*)\" icon$/) do |provider|\n  expect(page).to have_css \".fa-#{provider}\"\nend\n\nThen(/^I should see an video with source \"([^\"]*)\"$/) do |source|\n  expect(page).to have_css \"iframe[src*=\\\"#{source}\\\"]\"\nend\n\nThen(/^I should( not)? see \"([^\"]*)\" in table \"([^\"]*)\"$/) do |negative, title, table_name|\n  within(\"table##{table_name}\") do\n    if negative\n      expect(page.body).not_to have_content(/#{title}/m)\n    else\n      expect(page.body).to have_content(/#{title}/m)\n    end\n  end\nend\n\nGiven(/^I am on a (.*)/) do |device|\n  case device\n  when 'desktop'\n    agent = 'Poltergeist'\n  when 'tablet'\n    agent = 'Mozilla/5.0(iPad; U; CPU iPhone OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B314 Safari/531.21.10'\n  when 'smartphone'\n    agent = 'Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7'\n  else\n    pending\n  end\n  page.driver.headers = { 'User-Agent' => agent }\nend\n\nAnd(/^I debug$/) do\n  byebug\nend\n\nAnd(/^I remote debug/) do\n  page.driver.debug\nend\n\nAnd(/^the window size is wide$/) do\n  Capybara.page.current_window.resize_to(1300, 400)\nend\n\nWhen(/^I toggle to( Cannot)? Attend$/) do |_negated|\n  find('#attendance_checkbox', visible: false).trigger('click')\nend\n\nWhen(/^I scroll to the bottom of the page$/) do\n  page.execute_script 'window.scrollBy(0,10000)'\nend\n\nThen(/^I should( not)? see \"([^\"]*)\" within \"([^\"]*)\"$/) do |negated, project_title, project_list_area|\n  within(\"##{project_list_area}\") do\n    if negated\n      expect(page).to_not have_content(project_title)\n    else\n      expect(page).to have_content(project_title)\n    end\n  end\nend\n\nThen(/^I should see \"([^\"]*)\" within \"([^\"]*)\":$/) do |project_title, project_list_area, table|\n  table.rows.each do |row|\n    project_title = row.first\n    step %(I should see \"#{project_title}\" within \"#{project_list_area}\")\n  end\nend\nThen(/^I should not see \"([^\"]*)\" within \"([^\"]*)\":$/) do |project_title, project_list_area, table|\n  table.rows.each do |row|\n    project_title = row.first\n    step %(I should not see \"#{project_title}\" within \"#{project_list_area}\")\n  end\nend\n\nThen('I should see {string} and {string} within {string}:') do |project_title, project_date, project_list_area, table|\n  table.rows.each do |row|\n    project_title = row.first\n    project_date = row.second\n    within(\"##{project_list_area}\") do\n      expect(page).to have_content(project_title)\n      expect(page).to have_content(project_date)\n      # TODO: This line should work instead of above:\n      # expect(find('a', text: project_title).find(:xpath, \"..\").find('.fa-calendar')).to have_content(project_date)\n    end\n  end\nend\n\nThen(/^I should receive a file(?: \"([^\"]*)\")?/) do |file|\n  result = page.response_headers['Content-Type'].should == 'text/calendar'\n  result = page.response_headers['Content-Disposition'].should =~ /#{file}/ if result\n  result\nend\n"
  },
  {
    "path": "features/step_definitions/commit_count_steps.rb",
    "content": "# frozen_string_literal: true\n\nGiven(/^the following commit_counts exist:$/) do |table|\n  hash = {}\n  project = nil\n  user = nil\n  table.hashes.each do |attributes|\n    project = Project.find_by(title: attributes['project'])\n    user = User.find_by(email: attributes['user_email'])\n    hash[:project_id] = project.id if project\n    hash[:user_id] = user.id if user\n    hash[:commit_count] = attributes['commit_count'].to_i if attributes['commit_count']\n  end\n  CommitCount.new(hash).save!\n  user.follow project\nend\n"
  },
  {
    "path": "features/step_definitions/contained_search_steps.rb",
    "content": "# frozen_string_literal: true\n\n# Bryan: already downcased\ndef css_selector_for(container)\n  case container.downcase\n  when 'navigation bar', 'navbar'\n    '#nav'\n\n  when 'sidebar'\n    '#sidebar'\n\n  when 'main content'\n    '#main'\n\n  when 'footer'\n    '#footer'\n\n  when 'list of projects'\n    '#project-list'\n\n  when 'modal dialog'\n    '#modal-window'\n\n  when 'mercury toolbar', 'mercury editor toolbar'\n    '.mercury-toolbar-container'\n\n  when 'mercury modal', 'mercury editor modal'\n    '.mercury-modal'\n\n  else\n    \"##{container}\"\n  end\nend\n\nThen(/^(.*) within the (.*)$/) do |s, container|\n  case container.downcase\n    # Bryan: when xxx for more control\n\n  when 'mercury editor'\n    page.driver.within_frame('mercury_iframe') { step(s) }\n\n  else\n    page.within(css_selector_for(container.downcase)) { step(s) }\n  end\nend\n"
  },
  {
    "path": "features/step_definitions/custom_errors_step.rb",
    "content": "# frozen_string_literal: true\n\nThen(/^the page should be titled \"(.*?)\"$/) do |title|\n  expect(page.source).to have_css('title', text: title, visible: false)\nend\n\nAnd(/^the response status should be \"([^\"]*)\"$/) do |code|\n  expect(page.status_code).to eql(code.to_i)\nend\n\nWhen(/^I encounter an internal server error$/) do\n  expect_any_instance_of(VisitorsController).to receive(:index).and_raise(Exception)\n  visit root_path\nend\n\nAnd(/^The admins should receive an error notification email$/) do\n  step 'I should receive a \"ERROR\" email'\nend\n"
  },
  {
    "path": "features/step_definitions/devops_steps.rb",
    "content": "# frozen_string_literal: true\n\nWhen(/^I run the rake task for calculating karma points$/) do\n  $rake['karma_calculator'].execute\nend\n\nWhen(/^I run the rake task for fetching github commits$/) do\n  $rake['fetch_github_commits'].execute\nend\n\nWhen(/^I run the rake task for fetching github readme$/) do\n  $rake['fetch_github:readme_files'].execute\nend\n\nWhen(/^I run the rake task for fetching github last_pushed_at information$/) do\n  $rake['fetch_github_last_updates'].execute\nend\n\nWhen(/^I run the rake task for migrating stripe$/) do\n  $rake['db:migrate_stripe'].execute\nend\n\nWhen(/^I run the rake task for fetching github languages/) do\n  $rake['fetch_github_languages'].execute\nend\n\nWhen(/^I run the rake task for fetching static pages from github$/) do\n  $rake['fetch_github:content_for_static_pages'].execute\nend\n\nThen(/^I should see all the pages on github in the site as static pages with the content from github$/) do\n  visit static_page_path('About Us')\n  expect(page).to have_content 'AgileVentures is an official UK Charity dedicated to crowdsourced learning and social coding'\n  visit static_page_path('Code of Conduct')\n  expect(page).to have_content 'A primary goal of Agile Ventures is to be inclusive to the largest number of contributors'\n  visit static_page_path('Constitution')\n  expect(page).to have_content 'is to provide a forum for any individual to develop their skills'\nend\n\nThen(/^\"([^\"]*)\" shoud have \"([^\"]*)\" in their subscription$/) do |email, stripe_id|\n  user = User.find_by_email(email)\n  expect(user.stripe_customer_id).to eq stripe_id\nend\n\nGiven(/^the following payment sources exist$/) do |table|\n  table.hashes.each do |hash|\n    user = User.find_by(first_name: hash.delete('user'))\n    subscription = Subscription.find_by(user_id: user.id)\n    hash[:subscription_id] = subscription.id\n    create(:paypal, hash)\n  end\nend\n\nGiven('the following subscriptions exist') do |table|\n  table.hashes.each do |hash|\n    user = User.find_by(first_name: hash.delete('user'))\n    plan = Plan.find_by(name: hash[:type])\n    hash[:user_id] = user.id\n    hash[:started_at] = Time.now\n    hash[:plan_id] = plan.id\n    create(:subscription, hash)\n  end\nend\n\nWhen(/^I run the rake task for migrating plans$/) do\n  $rake['db:migrate_plans'].execute\nend\n\nWhen(/^I run the rake task for creating plans$/) do\n  $rake['db:create_plans'].execute\nend\n\nThen(/^\"([^\"]*)\" should have a \"([^\"]*)\" subscription plan$/) do |email, plan|\n  user = User.find_by_email(email)\n  expect(user.current_subscription.plan).to eq Plan.find_by(name: plan)\nend\n\nThen(/^there should be a \"([^\"]*)\" subscription plan$/) do |plan|\n  expect(Plan.find_by(name: plan)).not_to be_nil\nend\n\nWhen(/^I hit the letsencrypt endpoint$/) do\n  ENV['CERTBOT_SSL_CHALLENGE'] = 'qwertyui'\n  @response = get '/.well-known/acme-challenge/123456789'\nend\n\nThen(/^I should receive the correct challenge response$/) do\n  expect(@response.body).to eq '123456789.qwertyui'\nend\n\nWhen(/^I run the rake task for migrating github urls$/) do\n  $rake['db:migrate_from_github_url_to_source_repository'].execute\nend\n"
  },
  {
    "path": "features/step_definitions/documents_steps.rb",
    "content": "# frozen_string_literal: true\n\nGiven(/^the following documents exist:$/) do |table|\n  table.hashes.each do |hash|\n    if hash[:project].present?\n      hash[:project_id] = Project.find_by_title(hash[:project]).id\n      hash.except! 'project'\n    end\n    if hash[:author].present?\n      u = User.find_by_first_name hash[:author]\n      hash.except! 'author'\n      document = u.documents.new hash\n    else\n      document = default_test_author.documents.new hash\n    end\n\n    document.save!\n  end\nend\n\nGiven(/^the following revisions exist$/) do |table|\n  table.hashes.each do |hash|\n    hash[:revisions].to_i.times do |number|\n      doc = Document.find_by_title(hash[:title])\n      doc.update(body: \"New content #{number}\")\n      doc.save!\n    end\n  end\nend\n\nWhen(/^I should not see the document \"([^\"]*)\"$/) do |title|\n  expect(page).not_to have_selector('title', text: title)\nend\n\nWhen(/^I click the sidebar link \"([^\"]*)\"$/) do |link|\n  within('#sidebar') do\n    click_link_or_button link\n  end\nend\n\nWhen(/^I click \"([^\"]*)\" in \"([^\"]*)\"$/) do |link, scope|\n  within(selector_for(scope)) { step %(I click \"#{link}\") }\nend\n\nWhen(/^I should see ([^\"]*) revisions for \"([^\"]*)\"$/) do |revisions, document|\n  doc = Document.find_by_title(document)\n  expect doc.versions.count == revisions\n  expect(page).to have_xpath('//div[@id=\"revisions\"]/b', count: revisions)\nend\n\nWhen(/^I should not see any revisions$/) do\n  expect(page).not_to have_css('#revisions')\nend\n"
  },
  {
    "path": "features/step_definitions/email_steps.rb",
    "content": "# frozen_string_literal: true\n\nThen(/^I should( not)? receive a \"([^\"]*)\" email$/) do |negate, subject|\n  check_email(nil, negate, subject)\nend\n\nThen(/^the user should( not)? receive a \"([^\"]*)\" email$/) do |negate, subject|\n  check_email('random@morerandom.com', negate, subject)\nend\n\nAnd(/^\"(.*?)\" should( not)? receive a \"(.*?)\" email(?: containing \"(.*)\")?$/) do |user_email, negate, subject, body|\n  check_email(user_email, negate, subject, body)\nend\n\nThen(/^project creator \"(.*?)\" should( not)? receive a \"(.*?)\" email(?: containing \"(.*)\")?$/) do |user_email, negate, subject, body|\n  check_email(user_email, negate, subject, body, 0, 1)\nend\n\nThen(/^project joinee \"(.*?)\" should( not)? receive a \"(.*?)\" email(?: containing \"(.*)\")?$/) do |user_email, negate, subject, body|\n  check_email(user_email, negate, subject, body, 1, 1)\nend\n\ndef check_email(email, negate, subject, body = nil, message = 0, num_mails = 0)\n  if negate\n    expect(ActionMailer::Base.deliveries.size).to eq num_mails\n  else\n    expect(ActionMailer::Base.deliveries[message].subject).to include(subject)\n    expect(ActionMailer::Base.deliveries[message].body).to include(body) unless body.nil?\n    expect(ActionMailer::Base.deliveries[message].to).to include(email) unless email.nil?\n  end\nend\n\nAnd(/^I should not receive an email$/) do\n  expect(ActionMailer::Base.deliveries.size).to eq 0\nend\n\nAnd(/^the email queue is clear$/) do\n  ActionMailer::Base.deliveries.clear\nend\n\nWhen(/^replies to that email should go to \"([^\"]*)\"$/) do |email|\n  @email = ActionMailer::Base.deliveries.last\n  expect(@email.reply_to).to include email\nend\n\nGiven(/^I click on the retrieve password link in the last email$/) do\n  password_reset_link = ActionMailer::Base.deliveries.last.body.match(\n    %r{<a href=\"(.+)\">Change my password</a>}\n  )[1]\n\n  visit password_reset_link\nend\n"
  },
  {
    "path": "features/step_definitions/event_instances_steps.rb",
    "content": "# frozen_string_literal: true\n\nstarting_date = 1.year.ago\n\nGiven(/^(\\d+) event instances? exists?$/) do |num_event_instances|\n  num_event_instances.to_i.times do |num|\n    created_at_date = starting_date + num.days\n    EventInstance.create title: \"Bob's mob\", event_id: 3, category: 'Scrum', yt_video_id: \"fake_id_#{num}\",\n                         created_at: created_at_date.to_s\n  end\nend\n\nGiven(/^an event instance exists for event id (\\d+)$/) do |event_id|\n  created_at_date = starting_date + 2\n  EventInstance.create title: \"Event #{event_id}\", event_id: event_id, category: 'Mob',\n                       yt_video_id: \"fake_id_#{event_id}\", created_at: created_at_date.to_s\nend\n\nWhen(/^I should not see a link to watch the video for event (\\d+)$/) do |event_id|\n  you_tube_link = \"https://www.youtube.com/watch?v=fake_id_#{event_id}&feature=youtube_gdata\"\n  expect(page).not_to have_link(href: you_tube_link, text: 'Watch')\nend\n\nWhen(/^I should see a link to watch the video for event (\\d+)$/) do |event_id|\n  you_tube_link = \"https://www.youtube.com/watch?v=fake_id_#{event_id}&feature=youtube_gdata\"\n  expect(page).to have_link(href: you_tube_link, text: 'Watch')\nend\n\nWhen(/^a user views the event \"([^\"]*)\"$/) do |event|\n  event = Event.find_by name: event\n  visit event_path event\nend\n\nThen(/^they should see (\\d+) event instances$/) do |num_event_instances|\n  expect(page).to have_css('#video_links td', count: num_event_instances)\nend\n\nThen(/^they should see a message stating: \"([^\"]*)\"$/) do |message|\n  expect(page).to have_content message\nend\n\nThen(/^they should see all information for the instance \"([^\"]*)\"$/) do |event_instance|\n  event_instance = EventInstance.find_by title: event_instance\n  expect(page).to have_css('#video_links td', text: event_instance.title.to_s)\n  expect(page).to have_link(event_instance.title.to_s, href: \"https://www.youtube.com/watch?v=#{event_instance.yt_video_id}&feature=youtube_gdata\")\nend\n\nGiven(/^(\\d+) event instance exists without a youtube id$/) do |num_event_instances|\n  num_event_instances.to_i.times do\n    EventInstance.create title: \"Bob's mob\", event_id: 3, category: 'Scrum'\n  end\nend\n\nThen(/^they should see the most (\\d+) recent events first$/) do |num_event_instances|\n  most_recent_events_first = +''\n  num_event_instances.to_i.times.reverse_each do |num|\n    next_recent_event = starting_date + num.days\n    next_recent_event = next_recent_event.strftime('%A, %B %-d, %Y').to_s\n    most_recent_events_first << \"#{next_recent_event}.*\"\n  end\n  expect(page.text).to match(Regexp.new(most_recent_events_first))\nend\n\nWhen('I hover mouse on the video') do\n  page.find('.card', match: :first).trigger(:mouseover)\nend\n\nWhen('I should see iframe with address {string}') do |link|\n  page.should have_selector(:css, \"iframe[src^='#{link}']\")\nend\n"
  },
  {
    "path": "features/step_definitions/event_steps.rb",
    "content": "# frozen_string_literal: true\n\nGiven(/^I visit the edit page for the event named \"(.*?)\"$/) do |event_name|\n  visit edit_event_path(Event.find_by(name: event_name))\nend\n\nGiven(/^the \"([^\"]*)\" \"([^\"]*)\" event exists$/) do |event_name, repeat|\n  Event.create name: event_name,\n               category: 'Scrum',\n               description: 'we stand up',\n               repeats: repeat,\n               repeats_every_n_weeks: 1,\n               repeats_weekly_each_days_of_the_week_mask: 9,\n               repeat_ends: true,\n               repeat_ends_on: 'Fri, 04 Mar 2016',\n               time_zone: 'UTC',\n               start_datetime: 'Tue, 04 Feb 2014 09:00:00 UTC +00:00',\n               duration: 30\nend\n\nThen(/^the \"(.*?)\" selector should be set to \"(.*?)\"$/) do |selector, value|\n  # NOTE: expect(page).to have_select(selector, selected: \"on\") passes right now which encodes the error\n  # delete this after finishing this feature\n  expect(page).to have_select(selector, selected: value)\nend\n\nThen(/^the event is set to end sometime$/) do\n  expect(page).to have_select('event_repeat_ends_string', selected: 'on')\nend\n\nGiven(/^I am on ([^\"]*) index page$/) do |page|\n  case page.downcase\n  when 'events'\n    visit events_path\n  when 'projects'\n    visit projects_path\n  else\n    visit project_events_path(Project.find_by(title: 'cs169'))\n  end\nend\n\nGiven(/^I click on the event body for the event named \"(.*?)\"$/) do |name|\n  e = Event.find_by(name: name)\n  page.find(:css, \"#details_#{e.id}\").click\nend\n\nGiven('following events exist:') do |table|\n  table.hashes.each do |hash|\n    hash[:project_id] = Project.find_by(title: hash['project']).id if hash['project'].present?\n    hash[:start_datetime] = Time.current.strftime('%c') if hash[:start_datetime] == 'TODAYS_DATE'\n    hash.delete('project')\n    hash[:repeat_ends] = false\n    create(:event, hash)\n  end\nend\n\nGiven(/^the following events exist that repeat every weekday:$/) do |table|\n  table.hashes.each do |hash|\n    hash[:project_id] = Project.find_by(title: hash['project']).id if hash['project'].present?\n    hash[:repeats_weekly_each_days_of_the_week_mask] = 31\n    hash[:repeats_every_n_weeks] = 1\n    hash[:repeats] = 'weekly'\n    hash[:repeat_ends] = false\n    Event.create!(hash)\n  end\nend\n\nGiven(/^following events exist for project \"([^\"]*)\" with active hangouts:$/) do |project_title, table|\n  project = Project.where(title: project_title.to_s).take\n\n  table.hashes.each do |hash|\n    hash[:repeat_ends] = false\n    event = Event.create!(hash)\n    event.event_instances.create(hangout_url: 'x@x.com',\n                                 updated_at: 1.minute.ago,\n                                 category: event.category,\n                                 title: event.name,\n                                 project_id: project.id)\n  end\nend\n\nThen(/^I should be on the Events \"([^\"]*)\" page$/) do |page|\n  case page.downcase\n  when 'index'\n    expect(current_path).to eq events_path\n\n  when 'create'\n    expect(current_path).to eq events_path\n  else\n    pending\n  end\nend\n\nThen(/^I should see multiple \"([^\"]*)\" events$/) do |event|\n  # puts Time.now\n  expect(page.all(:css, 'a', text: event, visible: false).count).to be > 1\nend\n\nWhen(/^the next event should be in:$/) do |table|\n  table.rows.each do |period, interval|\n    expect(page).to have_content([period, interval].join(' '))\n  end\nend\n\nGiven(/^\"([^\"]*)\" created the \"([^\"]*)\" event with an event instance \"([^\"]*)\"$/) do |user_name, event_name, event_instance_name|\n  user = User.find_by(first_name: user_name)\n  event = Event.create!(name: event_name, category: 'PairProgramming', description: 'Pairing together',\n                        repeats: 'never', repeats_every_n_weeks: 1, repeats_weekly_each_days_of_the_week_mask: 0, repeat_ends: true, time_zone: 'UTC', created_at: '2018-09-05 00:49:47', updated_at: '2018-09-05 04:12:15', start_datetime: '2018-09-06 07:00:00', duration: 30, creator_id: user.id)\n  EventInstance.create!(event_id: event.id, title: event_instance_name,\n                        hangout_url: 'https://hangouts.google.com/call/BxivVrWsi_HEyfRVa...', created_at: '2018-09-05 03:22:02', updated_at: '2018-09-05 03:30:20', category: 'PairProgramming', url_set_directly: true, yt_video_id: 'hx7c0P0qKWc')\nend\n\nGiven('I am on the show page for event {string}') do |name|\n  event = Event.find_by_name(name)\n  visit event_path(event)\nend\n\nThen(/^I should be on the event \"([^\"]*)\" page for \"([^\"]*)\"$/) do |page, name|\n  event = Event.find_by_name(name)\n  page.downcase!\n  case page\n  when 'show'\n    expect(current_path).to eq event_path(event)\n  else\n    expect(current_path).to eq eval(\"#{page}_event_path(event)\")\n  end\nend\n\nGiven(/^the date is \"([^\"]*)\"$/) do |jump_date|\n  @jump_date = jump_date\n  Delorean.time_travel_to(Time.parse(@jump_date))\nend\n\nAnd(/^(\\d+) minutes pass$/) do |_minutes|\n  mn = '\"45:00\"'\n  page.execute_script \"window.clock.tick(#{mn});\"\n  sleep 5\nend\n\nWhen(/^I follow \"([^\"]*)\" for \"([^\"]*)\" \"([^\"]*)\"$/) do |linkid, table_name, hookup_number|\n  links = page.all(:css, \"table##{table_name} td##{linkid} a\")\n  link = links[hookup_number.to_i - 1]\n  link.click\nend\n\nAnd(/^I click on the \"([^\"]*)\" div$/) do |arg|\n  find(\"div.#{arg}\").click\nend\n\nAnd(/^I select \"([^\"]*)\" from the event for dropdown$/) do |for_whom|\n  page.select for_whom, from: 'event_for'\nend\n\nAnd(/^I select \"([^\"]*)\" from the event project dropdown$/) do |project_name|\n  page.select project_name, from: 'event_project_id'\nend\n\nWhen(/^I select \"([^\"]*)\" from the event category dropdown$/) do |category|\n  page.select category, from: 'event_category'\nend\n\nAnd(/^I select \"([^\"]*)\" from the project dropdown$/) do |project_name|\n  page.select project_name, from: 'project_id'\nend\n\nGiven(/^I select \"([^\"]*)\" from the time zone dropdown$/) do |timezone|\n  page.select timezone, from: 'start_time_tz'\nend\n\nAnd(/^the event named \"([^\"]*)\" is associated with \"([^\"]*)\"$/) do |event_name, project_title|\n  event = Event.find_by(name: event_name)\n  expect(event.project.title).to eq project_title\nend\n\nGiven(/^the browser is in \"([^\"]*)\" and the server is in UTC$/) do |tz|\n  ENV['TZ'] = tz\n  visit root_path\n  sleep(5)\n  ENV['TZ'] = 'UTC'\nend\n\nAnd(/^the local date element should be set to \"([^\"]*)\"$/) do |datetime|\n  expect(page).to have_css %(time[datetime=\"#{datetime}\"][data-format=\"%A, %B %d, %Y\"])\nend\n\nAnd(/^the short local date element should be set to \"([^\"]*)\"$/) do |datetime|\n  expect(page).to have_css %(time[datetime=\"#{datetime}\"][data-format=\"%a, %b %d, %Y\"])\nend\n\nAnd(/^the local time element should be set to \"([^\"]*)\"$/) do |datetime|\n  expect(page).to have_css %(time[datetime=\"#{datetime}\"][data-format=\"%H:%M\"])\nend\n\nAnd(/^\"([^\"]*)\" is selected in the project dropdown$/) do |project_slug|\n  project_id = project_slug == 'All' ? '' : Project.friendly.find(project_slug).id\n  expect(find('#project_id').value).to eq project_id.to_s\nend\n\nAnd(/^\"([^\"]*)\" is selected in the event project dropdown$/) do |project_slug|\n  project_id = project_slug == 'All' ? '' : Project.friendly.find(project_slug.downcase).id\n  expect(find('#event_project_id').value).to eq project_id.to_s\nend\n\nAnd(/^the start time is \"([^\"]*)\"$/) do |start_time|\n  expect(find('#start_time').value).to eq start_time\nend\n\nAnd(/^the start date is \"([^\"]*)\"$/) do |start_date|\n  expect(find('#start_date').value).to eq start_date\nend\n\nAnd(/^the user is in \"([^\"]*)\"$/) do |zone|\n  @zone = zone\n  # TODO: stub the timezone call here possible\nend\n\nAnd(/^edits an event with start date in standard time$/) do\n  @event = Event.find_by(name: 'Daily Standup')\n#  stub_user_browser_to_specific_timezone\n  visit edit_event_path(@event)\n  @start_datetime = find('#start_datetime').value\nend\n\nWhen(/^they save without making any changes$/) do\n  click_link_or_button 'Save'\nend\n\nThen(/^the event date and time should be unchanged$/) do\n#  expect(current_path).to eq event_path(@event)\n#  stub_user_browser_to_specific_timezone\n  visit edit_event_path(@event)\n  expect(find('#start_datetime').value).to match @start_datetime\nend\n\nGiven(/^it is now past the end date for the event$/) do\n  @event = Event.find_by(name: 'Daily Standup')\n  Delorean.time_travel_to(@event.repeat_ends_on + 1.day)\nend\n\nAnd(/^they edit and save the event without making any changes$/) do\n  visit edit_event_path(@event)\n  @start_datetime = find('#start_datetime').value\n  click_link_or_button 'Save'\nend\n\n# would love to split this in two so we can re-use for two other scenarios\nGiven(/^daylight savings are in effect and it is now past the end date for the event$/) do\n  @event = Event.find_by(name: 'Daily Standup')\n  Delorean.time_travel_to(@event.repeat_ends_on.change(month: 6) + 1.year)\nend\n\nThen(/^the user should see the date and time adjusted for their timezone in the edit form$/) do\n#  stub_user_browser_to_specific_timezone\n  visit edit_event_path(@event)\n  @start_datetime = find('#start_datetime').value\n  # TODO: compare to @zone\n  # expect(@start_datetime).to eq @tz.utc_to_local(@event.start_datetime).strftime('%Y-%m-%dT%H:%M')\nend\n\nGiven(/^an existing event$/) do\n  @event = Event.find_by(name: 'Daily Standup')\nend\n\nThen(/^the user should see the date and time adjusted for their timezone and updated by (\\d+) hours in the edit form$/) do |hours|\n#  stub_user_browser_to_specific_timezone\n  visit edit_event_path(@event)\n  @start_datetime = find('#start_datetime').value\n  # TODO: compare to @zone\n  # expect(@start_datetime).to eq @tz.utc_to_local(@event.start_datetime - hours.to_i.hours).to_time.strftime('%Y-%m-%dT%H:%M')\nend\n\nWhen(/^they view the event \"([^\"]*)\"$/) do |event_name|\n  @event = Event.find_by(name: event_name)\n  visit event_path(@event)\n  # page.execute_script(\"WebsiteOne.timeZoneUtilities.detectUserTimeZone = function(){return '#{@zone}'};\")\n  # page.execute_script('WebsiteOne.showEvent.showUserTimeZone();')\nend\n\nGiven(/^an event \"([^\"]*)\"$/) do |event_name|\n  @event = Event.find_by_name(event_name)\n  @google_id = '123456789'\nend\n\nGiven('the {string} host has started the event') do |event|\n  @event = Event.find_by(name: event)\n  create_user\n  sign_in\n  visit event_path(@event)\n  click_button('Event Actions')\n  click_link('Edit hangout link')\n  fill_in('hangout_url', with: 'http://hangout.test')\n  click_button('hoa_link_save')\nend\n\nThen(/^appropriate tweets will be sent$/) do\n  if Settings.features.twitter.notifications.enabled == true\n    expect(WebMock).to have_requested(:post, 'https://api.twitter.com/1.1/statuses/update.json')\n      .with { |req| req.body =~ /hangout\\.test/ }\n  end\nend\n\nThen(/^the youtube link will not be sent$/) do\n  expect(WebMock).not_to have_requested(:post, 'https://api.twitter.com/1.1/statuses/update.json')\n    .with { |req| req.body =~ %r{youtu\\.be/11} }\nend\n\nThen(/^the youtube link will be sent$/) do\n  expect(WebMock).not_to have_requested(:post, 'https://api.twitter.com/1.1/statuses/update.json').twice\n                                                                                                  .with { |req| req.body =~ %r{youtu\\.be/11} }\nend\n\nThen(/^the hangout link will be sent$/) do\n  if Settings.features.twitter.notifications.enabled == true\n    expect(WebMock).to have_requested(:post, 'https://api.twitter.com/1.1/statuses/update.json')\n      .with { |req| req.body =~ /hangout\\.test/ }\n  end\nend\n\nThen(/^the event should (still )?be live$/) do |_ignore|\n  visit event_path(@event)\n  expect(page).to have_content('JOIN THIS LIVE EVENT NOW')\nend\n\nAnd(/^after three (more )?minutes$/) do |_ignore|\n  Delorean.time_travel_to '3 minutes from now'\nend\n\nAnd(/^after one (more )?minute$/) do |_ignore|\n  Delorean.time_travel_to '1 minute from now'\nend\n\nThen(/^the event should be dead$/) do\n  visit event_path(@event)\n  expect(page).not_to have_content('JOIN THIS LIVE EVENT NOW')\nend\n\nGiven(/^the event \"([^\"]*)\"$/) do |name|\n  @event = Event.find_by(name: name)\nend\n\nThen(/^they should see the icon of the creator of the event$/) do\n  expect(page).to have_xpath(\"//a[@href='#{user_path(@event.creator)}']/img[contains(@src, 'https://www.gravatar.com/avatar/0bc83cb571cd1c50ba6f3e8a78ef1346?s=80&d=retro')]\")\nend\n\nThen(/^they should see the icon of the modifier of the event$/) do\n  expect(page).to have_xpath(\"//a[@href='#{user_path(@event.modifier)}']/img[contains(@src, 'https://www.gravatar.com/avatar/8c5d77ccca5d26e3ae00ddb782876d74?s=80&d=retro')]\")\nend\n\nThen(/^they should see a link to the creator of the event$/) do\n  expect(page).to have_link(@event.creator.display_name, href: user_path(@event.creator))\nend\n\nThen(/^they should see a link to the modifier of the event$/) do\n  expect(page).to have_link(@event.modifier.display_name, href: user_path(@event.modifier))\nend\n\nThen(/^they should see the date of when it was created$/) do\n  expect(page).to have_content(@event.created_at.strftime('%F'))\nend\n\nThen(/^they should see the date of when it was modified$/) do\n  expect(page).to have_content(@event.updated_at.strftime('%F'))\nend\n\nGiven(/^that \"([^\"]*)\" created the \"([^\"]*)\" event$/) do |first_name, event_name|\n  @event = Event.find_by(name: event_name)\n  @event.creator = User.find_by(first_name: first_name)\n  @event.save\nend\n\nGiven(/^that \"([^\"]*)\" modified the \"([^\"]*)\" event$/) do |first_name, event_name|\n  step \"I am logged in as \\\"#{first_name}\\\"\"\n  step \"I visit the edit page for the event named \\\"#{event_name}\\\"\"\n  step 'I click the \"Save\" button'\nend\n\nAnd(/^The box for \"(\\w+)\" should be checked$/) do |day|\n  box = page.find(\"#event_repeats_weekly_each_days_of_the_week_#{day.downcase}\")\n  expect(box).to be_checked\nend\n\nAnd(/^I should not see any HTML tags$/) do\n  expect(page).not_to match(/<.*>/)\nend\n\nThen(/^I should see (\\d+) \"([^\"]*)\" events$/) do |number, event|\n  expect(page.all(:css, 'a', text: event, visible: false).count).to be == number.to_i\nend\n\nWhen(/^I am creating an event$/) do\n  step %(I dropdown the \"Events\" menu)\n  step %(I click \"Create event\")\n  step %(I fill in \"Name\" with \"mob\")\nend\n\nGiven('the following event instances exist:') do |table|\n  table.hashes.each do |hash|\n    hash['event'] = Event.find_by name: hash[:event]\n    hash['project'] = Project.find_by title: hash[:project]\n    create(:event_instance, hash)\n  end\nend\n\nThen(/^I should see a link to join or upgrade based on my (.*)$/) do |plan_name|\n  join_message = 'JOIN THIS LIVE EVENT NOW'\n  join_link = 'http://hangout.test'\n  upgrade_message = 'THIS EVENT IS LIVE, UPGRADE NOW TO JOIN'\n  upgrade_link = '/subscriptions/new?plan=associate'\n  premium_mob_and_above_array = ['Associate']\n  if premium_mob_and_above_array.include? plan_name\n    expect(page).to have_link(join_message, href: join_link)\n    expect(page).to have_no_link(upgrade_message, href: upgrade_link)\n  else\n    expect(page).to have_link(upgrade_message, href: upgrade_link)\n    expect(page).to have_no_link(join_message, href: join_link)\n  end\nend\n\nThen(/^the dropdown with id \"(.*)\" should only have active projects$/) do |select_id|\n  # Write code here that turns the phrase above into concrete actions\n  active_projects = Project.active.pluck(:title)\n  not_active_projects = Project.where.not(status: 'active').pluck(:title)\n  active_projects.each do |project|\n    expect(page).to have_selector(\"##{select_id}\", text: project, visible: false)\n  end\n  not_active_projects.each do |project|\n    expect(page).to_not have_selector(\"##{select_id}\", text: project, visible: false)\n  end\nend\n\nAnd(/^I hit back$/) do\n  page.go_back\nend\n\nGiven(/^I update an event with no project association without adding a project association$/) do\n  event = Event.find_by(name: 'Scrum')\n  visit edit_event_path(event)\n  expect(find('#event_project_id').value).to be_empty\n  fill_in 'Description', with: 'Happy description'\n  click_button 'Save'\nend\n\nThen(/^the event should have no project association$/) do\n  event = Event.find_by(name: 'Scrum')\n  expect(event.project_id).to be_nil\nend\n\nGiven(/^I update an event associated to a given project without changing its project association$/) do\n  event = Event.find_by(name: 'PP Session')\n  visit edit_event_path(event)\n  expect(find('#event_project_id').value).to eq(event.project_id.to_s)\n  fill_in 'Description', with: 'Happy description'\n  click_button 'Save'\nend\n\nThen(/^the project association for the given event should not change$/) do\n  event = Event.find_by(name: 'PP Session')\n  expect(event.project_id).to eq(2)\nend\n\nThen(/^the event is not associated with any project$/) do\n  event_project_id = Event.find_by(name: 'Whatever').project_id\n  expect(event_project_id).to be_nil\nend\n\nGiven('I create an event without a project association') do\n  fill_in 'Name', with: 'Whatever'\n  fill_in 'Description', with: 'something else'\n  fill_in 'Start Datetime', with: '2014-02-04 09:00'\n  click_button 'Save'\n  expect(page).to have_content('Event Created')\n  created_event_name = Event.find_by(name: 'Whatever').name.downcase\n  expect(current_path).to eq event_path id: created_event_name\nend\n"
  },
  {
    "path": "features/step_definitions/features_step.rb",
    "content": "# frozen_string_literal: true\n\nGiven(/^Feature \"([^\"]*)\" is (enable|disable)d$/) do |feature_name, state|\n  Features.send(state, feature_name.underscore.to_sym)\nend\n"
  },
  {
    "path": "features/step_definitions/hangout_steps.rb",
    "content": "# frozen_string_literal: true\n\ndef set_event_start_date(event_ins, num)\n  event_ins.updated_at -= num.minutes\nend\n\nGiven(/^I navigate to the show page for event \"([^\"]*)\"$/) do |name|\n  event = Event.find_by_name(name)\n  visit event_path(event)\nend\n\nThen(/^I jump to one minute before the end of the event at \"([^\"]*)\"/) do |jump_date|\n  Delorean.time_travel_to(Time.parse(jump_date))\nend\n\nThen(/^I should (not )?see hangout button$/) do |absent|\n  if absent\n    expect(page).not_to have_css '#hoa_instructions'\n  else\n    expect(page).to have_css '#hoa_instructions'\n  end\nend\n\nGiven('the Hangout for event {string} has been started with details:') do |event_name, table|\n  ho_details = table.transpose.hashes\n  hangout = ho_details[0]\n\n  start_time = hangout['Started at'] ? Time.parse(hangout['Started at']) : Time.now\n  update_time = hangout['Updated at'] ? Time.parse(hangout['Updated at']) : start_time\n  event = Event.find_by_name(event_name)\n  create(:event_instance,\n         event_id: event.id,\n         hangout_url: hangout['EventInstance link'],\n         created: start_time,\n         updated_at: update_time,\n         hoa_status: 'live',\n         youtube_tweet_sent: true)\nend\n\nGiven(/^the following hangouts exist:$/) do |table|\n  table.hashes.each do |hash|\n    participants = hash['Participants'] || []\n    participants = participants.split(',')\n\n    participants = participants.map do |participant|\n      break if participant.empty?\n\n      name = participant.squish\n      user = User.find_by_first_name(name)\n      gplus_id = user.authentications.find_by(provider: 'gplus')&.uid if user.present?\n      ['0', { 'person' => { displayName: name.to_s, 'id' => gplus_id } }]\n    end\n\n    FactoryBot.create(:event_instance,\n                      title: hash['Title'],\n                      project: Project.find_by_title(hash['Project']),\n                      event: Event.find_by_name(hash['Event']),\n                      category: hash['Category'],\n                      user: User.find_by_first_name(hash['Host']),\n                      hangout_url: hash['EventInstance url'],\n                      participants: participants,\n                      yt_video_id: hash['Youtube video id'],\n                      created: hash['Start time'],\n                      updated: hash['End time'],\n                      youtube_tweet_sent: hash['Youtube tweet sent'])\n  end\nend\n\nThen(/^I have Slack notifications enabled$/) do\n  stub_request(:post, 'https://agile-bot.herokuapp.com/hubot/hangouts-notify').to_return(status: 200)\nend\n\nGiven(/^(\\d+) hangouts exists$/) do |count|\n  count.to_i.times { FactoryBot.create :event_instance }\nend\n\nThen(/^I should see (\\d+) hangouts$/) do |count|\n  expect(page).to have_css('.hangout', count: count.to_i)\nend\n\nWhen(/^I scroll to bottom of page$/) do\n  page.evaluate_script('window.scrollTo(0, $(document).height());')\n  sleep 2\nend\n\nAnd(/^there should be three snapshots$/) do\n  @hangout.reload\n  expect(@hangout.hangout_participants_snapshots.count).to eq 3\nend\n\nAnd(/^the following event instances \\(with default participants\\) exist:$/) do |table|\n  participants = { '0' =>\n     { 'id' => 'hangout2750757B_ephemeral.id.google.com^a85dcb4670',\n       'hasMicrophone' => 'true',\n       'hasCamera' => 'true',\n       'hasAppEnabled' => 'true',\n       'isBroadcaster' => 'true',\n       'isInBroadcast' => 'true',\n       'displayIndex' => '0',\n       'person' => { 'id' =>\n        '108533475599002820142',\n                     'displayName' => 'Alejandro Babio',\n                     'image' => { 'url' => 'https://lh4.googleusercontent.com/-p4ahDFi9my0/AAAAAAAAAAI/AAAAAAAAAAA/n-WK7pTcJa0/s96-c/photo.jpg' },\n                     'na' => 'false' },\n       'locale' => 'en',\n       'na' => 'false' } }\n\n  table.hashes.each do |hash|\n    hash[:event] = Event.find_by name: hash[:event]\n    hash[:project] = Project.find_by title: hash[:project]\n    hash[:participants] = participants\n    create(:event_instance, hash)\n  end\nend\n\nThen(/^there should be exactly (\\d+) hangouts$/) do |number|\n  expect(EventInstance.count).to eq number.to_i\nend\n\nThen(/^there should be exactly (\\d+) hangouts associated with \"([^\"]*)\"$/) do |number, project|\n  project = Project.find_by(title: project)\n  expect(EventInstance.where(project: project).count).to eq number.to_i\nend\n\nGiven('a hangout link was set for event {string} {int} minutes ago') do |name, num|\n  @hangout_url = 'https://streamyard.com/35mRYwG5vr'\n  uid = '865600-888b0a67-ae31-4ecc-a9fa-5617792959d4'\n  event = Event.find_by_name(name)\n  event_ins = EventInstance.create(uid: uid,\n                                   event_id: event.id,\n                                   hangout_url: @hangout_url,\n                                   url_set_directly: true)\n  set_event_start_date(event_ins, num)\n  event_ins.save!\nend\n\nAnd(/^I manually set a hangout link for event \"([^\"]*)\"$/) do |name|\n  @hangout_url = 'https://hangouts.google.com/hangouts/_/ytl/HEuWPSol0vcSmwrkLzR4Wy4mkrNxNUxVmqHMmCIjEZ8=?hl=en_US&authuser=0'\n  event = Event.find_by_name(name)\n  visit event_path(event)\n  page.execute_script(%q{$('li[role=\"edit_hoa_link\"] > a').trigger('click')})\n  fill_in 'hangout_url', with: @hangout_url\n  page.find(:css, 'input[id=\"hoa_link_save\"]').trigger('click')\n  expect(page).to have_css('.btn-success')\nend\n\nThen('{string} shows a live hangout link at start of event') do |event_name|\n  event = Event.find_by_name(event_name)\n  visit event_path(event)\n  expect(page).to have_link('JOIN THIS LIVE EVENT NOW', href: @hangout_url)\nend\n\nThen('{string} shows a live hangout link near the end of the event') do |event_name|\n  event = Event.find_by_name(event_name)\n  visit event_path(event)\n  expect(page).to have_link('JOIN THIS LIVE EVENT NOW', href: @hangout_url)\nend\n\nThen('{string} does NOT show a live hangout link after the event ends') do |event_name|\n  event = Event.find_by_name(event_name)\n  visit event_path(event)\n  expect(page).not_to have_link('JOIN THIS LIVE EVENT NOW')\nend\n\nGiven(/^\"([^\"]*)\" doesn't go live$/) do |event_name|\n  event = Event.find_by_name(event_name)\n  visit event_path(event)\n  expect(page).not_to have_link('JOIN THIS LIVE EVENT NOW')\nend\n\nThen(/^it should not go live the next day just because the event start time is passed$/) do\n  steps %(\n    Given the date is \"2014 Feb 5th 7:05am\"\n    Then \"Repeat Scrum\" doesn't go live\n  )\nend\n\nThen(/^\"([^\"]*)\" shows youtube link with youtube id \"([^\"]*)\"$/) do |event_name, yt_id|\n  yt_url = \"https://youtu.be/#{yt_id}\"\n  visit event_path(Event.find_by_name(event_name))\n  page.find(:css, '#actions-dropdown').trigger('click')\n  page.find_link('Edit streaming link').trigger('click')\n  expect(page).to have_field('yt_url', with: yt_url)\nend\n\nGiven(/^I manually set youtube link with youtube id \"([^\"]*)\" for event \"([^\"]*)\"$/) do |yt_id, event_name|\n  yt_url = \"https://youtu.be/#{yt_id}\"\n  event = Event.find_by_name(event_name)\n  visit event_path(event)\n  page.execute_script(%q{$('li[role=\"edit_yt_link\"] > a').trigger('click')})\n  fill_in 'yt_url', with: yt_url\n  page.find(:css, 'input[id=\"yt_link_save\"]').trigger('click')\n  find_by_id(yt_id)\nend\n\nThen(/^I should see video with youtube id \"([^\"]*)\"$/) do |yt_id|\n  expect(page.find(:css, '#ytplayer')[:src]).to include \"www.youtube.com/embed/#{yt_id}\"\nend\n\nThen(/^Hangout link does not change for \"([^\"]*)\"$/) do |event_name|\n  visit event_path(Event.find_by_name(event_name))\n  page.execute_script(%q{$('li[role=\"edit_hoa_link\"] > a').trigger('click')})\n  page.should have_field('hangout_url', with: @hangout_url)\nend\n\nThen(/^a separate event instance is not created$/) do\n  expect(EventInstance.where('created_at >= ?', Time.now.beginning_of_day).size)\n    .to eq(1)\nend\n\nGiven(/^I visit the \"([^\"]*)\" page for \"([^\"]*)\" \"([^\"]*)\"$/) do |action, object_title, object|\n  instance = object.camelize.constantize.find_by(title: object_title)\n  path = \"#{action.downcase}_#{object}_path\"\n  visit send(path.to_sym, instance)\nend\n\nWhen(/^I manually edit the Youtube URL$/) do\n  yt_url = 'https://youtu.be/11111111111'\n  event = Event.find_by_name('Scrum')\n  visit event_path(event)\n  page.execute_script(%q{$('li[role=\"edit_yt_link\"] > a').trigger('click')})\n  fill_in 'yt_url', with: yt_url\n  page.find(:css, 'input[id=\"yt_link_save\"]').trigger('click')\n  find_by_id('11111111111')\nend\n\nThen(/^the Youtube URL is posted in Slack$/) do\n  sleep 1\n  expect(@slack_client).to have_received :chat_postMessage\nend\n\nThen(/^the Hangout URL is not posted in Slack$/) do\n  expect(@slack_client).not_to have_received :chat_postMessage\nend\n\nThen(/^the Youtube URL is not posted in Slack$/) do\n  sleep 1\n  expect(@slack_client).not_to have_received :chat_postMessage\nend\n\nAnd(/^that we're spying on the SlackService$/) do\n  @slack_client = double(Slack::Web::Client)\n  allow(Slack::Web::Client).to receive(:new).and_return(@slack_client)\n  allow(@slack_client).to receive(:chat_postMessage)\nend\n\nAnd(/^the Hangout URL is posted in Slack$/) do\n  expect(@slack_client).to have_received(:chat_postMessage).twice\nend\n\nThen(/^the Hangout URL is posted only in appropriate private channels in Slack$/) do\n  expect(@slack_client).to have_received(:chat_postMessage).twice\nend\n\nThen(/^the Youtube URL is posted in select private channels in Slack$/) do\n  sleep 1\n  expect(@slack_client).to have_received(:chat_postMessage).once\nend\n\nAnd(/^the event \"([^\"]*)\" was last updated at \"([^\"]*)\"$/) do |event_name, date|\n  id = Event.where(name: event_name).first[:id]\n  EventInstance.where(event_id: id).order('created_at DESC').first.update(updated_at: date)\nend\n\nGiven(/^the Slack notifications are enabled$/) do\n  Features.slack.notifications.enabled = true\nend\n"
  },
  {
    "path": "features/step_definitions/jitsi_steps.rb",
    "content": "# frozen_string_literal: true\n\nThen(/^I should see a start jitsi meet button with link \"([^\"]*)\"$/) do |url|\n  expect(page).to have_css('#start-jitsi')\n  url = page.find(:css, '#start-jitsi').find(:xpath, '..')[:href]\n  expect(url).to eq url\nend\n"
  },
  {
    "path": "features/step_definitions/karma_calculator_steps.rb",
    "content": "# frozen_string_literal: true\n\nGiven(/^a gplus user who has attended one event$/) do\n  hangout = FactoryBot.create(:event_instance, created: '1979-10-14 11:15 UTC')\n  @gplus_user = FactoryBot.create(:user, gplus: hangout.participants.first.last['person']['id'])\nend\n\nThen(/^the gplus user should be credit as having attended one event$/) do\n  expect(@gplus_user.reload.hangouts_attended_with_more_than_one_participant).to eq 1\nend\n"
  },
  {
    "path": "features/step_definitions/layout_steps.rb",
    "content": "# frozen_string_literal: true\n\nThen(/^I(?:| should) see a navigation header$/) do\n  expect(page).to have_selector('.masthead')\nend\n\nThen(/^I should see a main content area$/) do\n  expect(page).to have_selector '#main'\nend\n\nThen(/^I should see a footer area$/) do\n  expect(page).to have_selector '#footer'\nend\n\nThen(/^I should see a navigation bar$/) do\n  find '#nav'\nend\n\nWhen(/^I should see \"([^\"]*)\" in footer$/) do |string|\n  within('#footer') do\n    expect(page).to have_text string\n  end\nend\n\nThen(/^I should see link$/) do |table|\n  table.rows.flatten.each do |link|\n    expect(page).to have_link link\n  end\nend\n\nThen(/^I should see a modal window with a form \"([^\"]*)\"$/) do |arg|\n  expect(page).to have_content(arg)\nend\n"
  },
  {
    "path": "features/step_definitions/pages_steps.rb",
    "content": "# frozen_string_literal: true\n\ndef static_page_path(page)\n  \"/#{StaticPage.url_for_me(page)}\"\nend\n\nGiven(/^the following pages exist$/) do |table|\n  table.hashes.each do |hash|\n    StaticPage.create!(hash)\n  end\nend\n\nThen(/^I (am|should be) on the static \"([^\"]*)\" page$/) do |option, page|\n  case option\n  when 'am'\n    visit static_page_path(page)\n  when 'should be'\n    expect(current_path).to eq static_page_path(page)\n  else\n    pending\n  end\nend\n\nWhen('I visit the profile page for {string}') do |first_name|\n  user = User.find_by(first_name: first_name)\n  visit user_path(user)\nend\n\nGiven(/^the following page revisions exist$/) do |table|\n  table.hashes.each do |hash|\n    hash[:revisions].to_i.times do |number|\n      page = StaticPage.find_by_title(hash[:title])\n      page.update(body: \"New content #{number}\")\n      page.save!\n    end\n  end\nend\n\nWhen(/^I should see ([^\"]*) revisions for the page \"([^\"]*)\"$/) do |revisions, document|\n  page = StaticPage.find_by_title(document)\n  expect page.versions.count == revisions\nend\n\nGiven(/^the page \"([^\"]*)\" has a child page with title \"([^\"]*)\"$/) do |parent, child|\n  parent_page = StaticPage.find_by_title(parent)\n  StaticPage.create!(\n    {\n      title: child,\n      parent_id: parent_page.id\n    }\n  )\nend\n\nThen(/^the current page url should be \"([^\"]*)\"$/) do |url|\n  expect(current_path).to eq \"/#{url}\"\nend\n\nThen(/^I should see ancestry \"([^\"]*)\"$/) do |str|\n  ancestry = str.split(' >> ')\n  within('#ancestry') do\n    ancestry.each do |a|\n      expect(page).to have_content a\n    end\n  end\nend\n\nThen(/^the \"([^\"]*)\" page title should read \"([^\"]*)\"$/) do |str, title|\n  visit path_to(str)\n  expect(page.title).to eq title.to_s\nend\n\nThen(/^I see the banners for all sponsors$/) do\n  sponsors = {\n    'Craft Academy' => 'https://craftacademy.se/english',\n    'Amazon Smile' => 'https://smile.amazon.co.uk/ch/1170963-0'\n  }\n  sponsors.each do |alt_text, url|\n    within(\"//a[@href='#{url}']/div\") do\n      expect(page).to have_selector(\"img[@alt='#{alt_text}']\")\n    end\n  end\nend\n"
  },
  {
    "path": "features/step_definitions/pivotal_steps.rb",
    "content": "# frozen_string_literal: true\n\nGiven(/^The projects? (has|have) some stories on Pivotal Tracker$/) do |_arg|\n  project = JSON.parse File.read('spec/fixtures/pivotal_tracker_project_response.json')\n  response = File.read('spec/fixtures/pivotal_tracker_project_current_iteration.json')\n  json_iterations = JSON.parse(response, { symbolize_names: true })\n  iteration_object = PivotalAPI::Iterations.from_json(json_iterations)\n  allow(PivotalAPI::Project).to receive(:retrieve).and_return(PivotalAPI::Project.new(project))\n  allow(PivotalAPI::Service).to receive(:iterations).and_return(iteration_object)\nend\n\nGiven(/^The projects? (has|have) no stories on Pivotal Tracker$/) do |_arg|\n  project = Object.new\n  iteration = Object.new\n  iteration.stub(stories: nil)\n  project.stub(current_iteration: iteration)\n  allow(PivotalAPI::Project).to receive(:retrieve).and_return(project)\nend\n"
  },
  {
    "path": "features/step_definitions/premium_steps.rb",
    "content": "# frozen_string_literal: true\n\nThen(/^my member page should show premium details$/) do\n  visit\n  expect(page).to have_content 'Premium'\nend\n\nGiven(/^I fill in appropriate card details for premium(?: for user with email \"([^\"]*)\")?$/) do |email|\n  email = 'random@morerandom.com' unless email.present?\n  submit_card_details_for_button_with('Subscribe £10.00', email)\nend\n\nGiven(/^I fill in appropriate card details for premium mob/) do\n  submit_card_details_for_button_with('Subscribe £25.00')\nend\n\nGiven(/^I fill in appropriate card details for nonprofitbasic/) do\n  submit_card_details_for_button_with('Subscribe £20.00')\nend\n\nGiven(/^I fill in appropriate card details for premium f2f/) do\n  submit_card_details_for_button_with('Subscribe £50.00')\nend\n\nGiven(/^I fill in appropriate card details for premium plus$/) do\n  submit_card_details_for_button_with('Subscribe £100.00')\nend\n\nGiven(/^I fill in updated card details for premium(?: for user with email \"([^\"]*)\")?$/) do |email|\n  email = 'random@morerandom.com' unless email.present?\n  submit_card_details_for_button_with('Update Card Details', email)\nend\n\nWhen(/^I fill in new card details for premium for user with email \"([^\"]*)\"$/) do |email|\n  submit_card_details_for_button_with('Add Card Details', email)\nend\n\nWhen(/^I fill in card details for premium for user that will fail with email \"([^\"]*)\"$/) do |email|\n  custom_error = StandardError.new('Unable to create customer')\n  StripeMock.prepare_error(custom_error, :new_customer)\n  submit_card_details_for_button_with('Add Card Details', email)\nend\n\ndef submit_card_details_for_button_with(text, email = 'random@morerandom.com', number = '4242 4242 4242 4242')\n  stripe_iframe = all('iframe[name=stripe_checkout_app]').last\n  Capybara.within_frame stripe_iframe do\n    fill_in 'Email', with: email\n    fill_in 'Card number', with: number\n    fill_in 'CVC', with: '123'\n    fill_in 'cc-exp', with: 1.year.from_now.strftime('%m/%Y')\n    click_button text\n  end\n  sleep(3)\nend\n\nThen(/^I should see a paypal form$/) do\n  expect(page).to have_xpath(\"//form[@action='https://www.sandbox.paypal.com/cgi-bin/webscr']\")\nend\n\nThen('I should see a paypal subscribe button') do\n  within('#paypal_section') do\n    expect(page).to have_css('input[src=\"https://www.paypalobjects.com/en_GB/i/btn/btn_subscribe_LG.gif\"]')\n  end\nend\n\n# Given('the following plans exist') do |table|\n#   table.hashes.each do |hash|\n#     product = @stripe_test_helper.create_product(name: hash['name'], id: hash['id'])\n#     hash['amount'] = Integer(hash['amount'])\n#     @stripe_test_helper.create_plan(hash.merge(product: product.id))\n#     hash[:third_party_identifier] = hash.delete('id')\n#     create(:plan, hash)\n#   end\n# end\n\nAnd(/^a stripe customer with id \"([^\"]*)\"$/) do |stripe_customer_id|\n  StripeMock.create_test_helper.create_customer(id: stripe_customer_id)\nend\n\nAnd(/^there is a card error updating subscription$/) do\n  StripeMock.prepare_card_error(:card_declined, :update_subscription)\nend\n\nAnd(/^I should see myself in the premium members list$/) do\n  visit '/premium_members'\n  within '.user-preview' do\n    expect(page).to have_text(@user.first_name)\n  end\nend\n\nGiven(/^my card will be rejected$/) do\n  # StripeMock.toggle_debug(true)\n  StripeMock.prepare_card_error(:card_declined, :new_customer)\nend\n\nAnd(/^Paypal API updates our endpoint for premium mob$/) do\n  set_cookie \"_WebsiteOne_session=#{page.driver.cookies['_WebsiteOne_session'].value}\"\n  paypal = Paypal.new 'EC-4U870158WU919683B', 'matt+buyer@agileventures.org', '6HAXA86M2NVH8', 'paypal', 'premiummob',\n                      nil\n  visit \"#{paypal_create_path}?#{paypal.url_params}\"\nend\n\nAnd(/^Paypal API updates our endpoint for premium$/) do\n  set_cookie \"_WebsiteOne_session=#{page.driver.cookies['_WebsiteOne_session'].value}\"\n  paypal = Paypal.new 'EC-4U870158WU919683B', 'matt+buyer@agileventures.org', '6HAXA86M2NVH8', 'paypal', 'premium', nil\n  visit \"#{paypal_create_path}?#{paypal.url_params}\"\nend\n\nAnd(/^Paypal API updates our endpoint after sponsoring Alice$/) do\n  set_cookie \"_WebsiteOne_session=#{page.driver.cookies['_WebsiteOne_session'].value}\"\n  get subscriptions_paypal_redirect_path payment_method: 'paypal',\n                                         payer_id: 'paypal_payer_id',\n                                         plan: 'premium',\n                                         email: 'sam-buyer@agileventures.org',\n                                         user: 'alice-jones'\nend\n\nAnd(/^Paypal API updates our endpoint incorrectly$/) do\n  get subscriptions_paypal_redirect_path\nend\n\nAnd(/^I should see \"([^\"]*)\" in last_response$/) do |text|\n  expect(last_response.body).to include(text)\nend\n\nAnd(/^I should see \"([^\"]*)\" on the page$/) do |text|\n  expect(page).to have_content(text)\nend\n\nThen(/^I should see a tooltip explanation of Premium$/) do\n  xpath_tooltip = \"//form/input[@value='Upgrade to Premium' and @title='#{I18n.t('premium.tooltip')}']\"\n  expect(page).to have_xpath(xpath_tooltip)\nend\n\nThen(/^I should see a tooltip explanation of Premium Mob$/) do\n  xpath_tooltip = \"//form/input[@value='Upgrade to Premium Mob' and @title='#{I18n.t('premium_mob.tooltip')}']\"\n  expect(page).to have_xpath(xpath_tooltip)\nend\n\nAnd(/^my profile page should reflect that I am a \"([^\"]*)\" member$/) do |plan_name|\n  # sleep(1)\n  visit user_path @current_user\n  expect(page).to have_content \"#{plan_name} Member\"\n  other_plans(plan_name).each do |other_plan_name|\n    expect(page).not_to have_content \"#{other_plan_name} Member\"\n  end\nend\n\ndef other_plans(plan_name)\n  Plan.all.pluck(:name).reject! { |e| e == plan_name }.push('Basic')\nend\n\n# use for debugging only\nAnd(/^I am a \"([^\"]*)\" Member$/) do |type|\n  puts @user.subscriptions.map(&:inspect)\n  expect(@user.membership_type).to eq type\nend\n"
  },
  {
    "path": "features/step_definitions/profile_karma_link.rb",
    "content": "# frozen_string_literal: true\n\nGiven(/^I click on the karma link$/) do\n  click_link('gotoactivity')\nend\n\nThen(/^the Activity tab displays \"([^\"]*)\"$/) do |arg1|\n  expect(page).to have_content(arg1)\nend\n\nThen(/^the Activity tab does not display \"([^\"]*)\"$/) do |arg1|\n  expect(page).not_to have_content(arg1)\nend\n"
  },
  {
    "path": "features/step_definitions/projects_steps.rb",
    "content": "# frozen_string_literal: true\n\nThen(/^I should see \"([^\"]*)\" table$/) do |legend|\n  expect(page).to have_css 'h1', text: legend\nend\n\nGiven(/^the following projects exist:$/) do |table|\n  table.hashes.each do |hash|\n    if hash[:author].present?\n      u = User.find_by_first_name hash[:author]\n      project = Project.new(hash.except('author', 'tags').merge(user_id: u.id))\n    else\n      project = default_test_author.projects.new(hash.except('author', 'tags', 'languages'))\n    end\n    if hash[:github_url].present?\n      hash[:github_url].split(', ').each do |source_repository|\n        project.source_repositories.build(url: source_repository)\n      end\n    end\n    if hash[:languages].present?\n      language = Language.find_or_create_by(name: hash[:languages])\n      project.languages << language\n    end\n    project.issue_trackers.build(url: hash[:pivotaltracker_url]) if hash[:pivotaltracker_url].present?\n    project.tag_list.add(hash[:tags], parse: true) if hash[:tags]\n    project.save!\n  end\nend\n\nGiven(/^the following source repositories exist:$/) do |table|\n  table.hashes.each do |hash|\n    project = Project.find_by(title: hash[:project])\n    project.source_repositories.delete_all\n    source_repository = SourceRepository.new(url: hash[:url], project_id: project.id)\n    source_repository.save!\n  end\nend\n\nGiven(/^the following legacy projects exist:$/) do |table|\n  # table is a table.hashes.keys # => [:title, :description, :github_url, :status, :commit_count]\n  table.hashes.each do |hash|\n    project = default_test_author.projects.new(hash.except('author', 'tags'))\n    project.save!\n  end\nend\n\nGiven(/^the document \"([^\"]*)\" has a child document with title \"([^\"]*)\"$/) do |parent, child|\n  parent_doc = Document.find_by_title(parent)\n  parent_doc.children.create!(\n    {\n      project_id: parent_doc.project_id,\n      title: child,\n      user_id: parent_doc.user_id\n    }\n  )\nend\n\nThen(/^I should become a member of project \"([^\"]*)\"$/) do |name|\n  object = Project.find_by_title(name)\n  @user.follow(object)\nend\n\nWhen(/^I am a member of project \"([^\"]*)\"$/) do |name|\n  step %(I should become a member of project \"#{name}\")\nend\n\nWhen(/^\"(.*)\" is a member of project \"([^\"]*)\"$/) do |name, project|\n  user = User.find_by_first_name(name)\n  object = Project.find_by_title(project)\n  user.follow(object)\nend\n\nThen(/^I should stop being a member of project \"([^\"]*)\"$/) do |name|\n  object = Project.find_by_title(name)\n  @user.stop_following(object)\nend\n\nWhen(/^I am not a member of project \"([^\"]*)\"$/) do |name|\n  step %(I should stop being a member of project \"#{name}\")\nend\n\nWhen(/^\"(.*)\" is not a member of project \"([^\"]*)\"$/) do |name, project|\n  user = User.find_by_first_name(name)\n  object = Project.find_by_title(project)\n  user.stop_following(object)\nend\n\nGiven(/^I am on the home page$/) do\n  visit root_path\nend\n\nGiven(/^the document \"([^\"]*)\" has a sub-document with title \"([^\"]*)\" created (\\d+) days ago$/) do |parent, child, days_ago|\n  parent_doc = Document.find_by_title(parent)\n  parent_doc.children.create!(\n    {\n      project_id: parent_doc.project_id,\n      title: child,\n      created_at: days_ago.to_i.days.ago,\n      user_id: parent_doc.user_id\n    }\n  )\nend\n\n# Bryan: Redundant, does nothing\n# And(/^the following sub-documents exist:$/) do |table|\n#  table.hashes\n# end\n\nThen(/^I should see a link \"([^\"]*)\" that connects to the \"([^\"]*)\"$/) do |text, url|\n  project = Project.find_by title: text\n  step %(I should see a link \"#{text}\" to \"#{project.send url}\")\nend\n\nThen(/^I should see a link \"([^\"]*)\" that connects to the issue tracker's url$/) do |link|\n  project = Project.find_by title: link\n  project.issue_trackers.each do |issue_tracker|\n    expect(page).to have_link(link, href: issue_tracker.url)\n  end\nend\n\nGiven(/^I (should not|should) see a link to \"(.*?)\" on github$/) do |option, name|\n  object = Project.find_by_title(name)\n  step %(I #{option} see link \"#{object.github_url.split('/').last}\")\nend\n\nGiven(/^The project \"([^\"]*)\" has (\\d+) (.*)$/) do |title, num, item|\n  project = Project.find_by_title(title)\n  case item.downcase.pluralize\n  when 'members'\n    (1..num.to_i).each do\n      u = User.create(email: Faker::Internet.email, password: '1234567890')\n      u.follow(project)\n    end\n  else\n    pending\n  end\nend\n\nThen(/^I should see (\\d+) member avatars$/) do |count|\n  within('#members-list') do\n    expect(page).to have_css '.user-preview', count: count\n  end\nend\n\nThen(/^I should see projects looked up by title with the correct commit count:$/) do |table|\n  # table is a Cucumber::Core::Ast::DataTable\n  projects = table.hashes\n  projects.each do |project|\n    updated_project = Project.find_by_title(project['title'])\n    expect(updated_project.commit_count).to eq(project['commit_count'].to_i)\n  end\nend\n\nThen(/^I should see projects with pitch updated:$/) do |table|\n  # table is a Cucumber::Core::Ast::DataTable\n  projects = table.hashes\n  projects.each do |project|\n    updated_project = Project.find_by_title(project['title'])\n    expect(updated_project.pitch).to match(/#{project[\"pitch\"]}/)\n  end\nend\n\nThen(/^I should see projects looked up by title with first source repository same as github_url:$/) do |table|\n  # table is a Cucumber::Core::Ast::DataTable\n  projects = table.hashes\n  projects.each do |project|\n    updated_project = Project.find_by_title(project['title'])\n    expect(updated_project.github_url).to eq(project['github_url'])\n    expect(updated_project.source_repositories.first.url).to eq(project['github_url'])\n  end\nend\n\nThen(/^I should see projects with following updates:$/) do |table|\n  # table is a Cucumber::Core::Ast::DataTable\n  projects = table.hashes\n  projects.each do |project|\n    updated_project = Project.find_by_title(project['title'])\n    expect(updated_project.last_github_update).to eq(project['last_github_update'])\n  end\nend\n\nThen(/^I should see projects with the following language updates:$/) do |table|\n  # table is a Cucumber::Core::Ast::DataTable\n  projects = table.hashes\n  projects.each do |project|\n    updated_project = Project.find_by_title(project['title'])\n    @updated_language_array = []\n    updated_project.languages.each do |language|\n      @updated_language_array << language.name if language.name.eql?(project[:languages])\n    end\n    expect(@updated_language_array).to include(project[:languages])\n  end\nend\n\nThen(/^I should see a GPA of \"([^\"]*)\" for \"([^\"]*)\"$/) do |gpa, _project_name|\n  within('ul#project-list') do\n    expect(page).to have_css(\"li[title=\\\"#{gpa} CodeClimate GPA\\\"]\")\n  end\nend\n\nWhen(/^I go to the next page$/) do\n  click_link 'Next →', match: :first\nend\n\nWhen(/^I uncheck active$/) do\n  uncheck 'activefilter'\nend\n\nGiven(/^that project \"([^\"]*)\" has an extra repository \"([^\"]*)\"$/) do |project_name, repo|\n  project = Project.find_by_title(project_name)\n  project.source_repositories.create(url: repo)\nend\n\nWhen(/^I go to the \"([^\"]*)\" project \"([^\"]*)\" page$/) do |title, page|\n  id = Project.find_by(title: title).id\n  visit path_to(page, id)\nend\n\nGiven(/^\"([^\"]*)\" creates the project \"([^\"]*)\"$/) do |name, project_title|\n  first_name, last_name = name.split\n  user = User.create last_name: last_name, first_name: first_name, email: 'bob@example.org', password: 'asdf1234'\n  Project.create title: project_title, description: 'Hello world', status: 'Active', user_id: user.id\nend\n\nGiven(/^\"([^\"]*)\" deactivates his account$/) do |name|\n  first_name, last_name = name.split\n  user = User.find_by first_name: first_name, last_name: last_name\n  user.delete\nend\n\nGiven(/^the anonymous user exists$/) do\n  attributes = { id: -1, first_name: 'Anonymous', last_name: '', email: 'anonymous@example.org' }\n  FactoryBot.create(:user, attributes)\nend\n\nGiven('I should be able to create a project with more than one issue tracker') do\n  visit path_to('new project')\n  fill_in 'Title', with: 'Multiple issue tracker project'\n  fill_in 'Description', with: 'has lots of code'\n  fill_in 'GitHub url', with: 'http://www.github.com/new'\n  fill_in 'Issue Tracker', with: 'http://www.waffle.com/new'\n  click_link_or_button 'Add more trackers'\n  expect(page).to have_text('Issue Tracker (2)')\n  select 'Active', from: 'Status'\n  click_button 'Submit'\n  expect(page).to have_content('Multiple issue tracker project')\n  expect(page).to have_content('has lots of code')\nend\n\nGiven('project {string} is activated') do |title|\n  project = Project.find_by title: title\n  project.update status: 'active'\nend\n"
  },
  {
    "path": "features/step_definitions/scrums_steps.rb",
    "content": "# frozen_string_literal: true\n\nThen(/^I should see 20 events in descending order by published date$/) do\n  dates = page.text.scan(/\\d{4}-\\d{2}-\\d{2}/)\n  clocks = page.all(:css, '.fa-clock-o')\n  expect(clocks.count).to eq(20)\n  expect(dates.sort { |x, y| y <=> x }).to eq(dates)\nend\n\nThen(/^I should see a modal window with the (first|second) scrum$/) do |ord|\n  ord_hash = { 'first' => 0, 'second' => 1 }\n  expect(page.find('#scrumVideo')[:style]).to include('display: block;')\n  title = page.body.delete(\"\\n\").scan(%r{</i>\\s*(.*?)\\s*</a>})[ord_hash[ord]]\n  expect(page).to have_selector('#playerTitle', text: title[1])\nend\n\nThen(/^I should not see a modal window$/) do\n  expect(page.evaluate_script(\"$('.modal').css('display')\")).to eq 'none'\nend\n\nWhen(/^I click the (first|second) scrum in the timeline$/) do |ordinal|\n  page.all(:css, 'a.scrum_yt_link').send(ordinal.to_sym).click\nend\n\nWhen(/^I close the modal$/) do\n  page.find(:css, '.close').click\n  expect(page).not_to have_css('.close')\nend\n\nGiven('that there are {int} past events') do |number|\n  number.times do\n    create(:event_instance,\n           category: 'Scrum',\n           created_at: rand(1.month.seconds.to_i).seconds.ago,\n           project_id: nil)\n  end\nend\n\nGiven('that there are {int} past non-scrum events') do |number|\n  number.times do\n    create(:event_instance,\n           category: 'Pair Programming',\n           created_at: rand(1.month.seconds.to_i).seconds.ago,\n           project_id: nil)\n  end\nend\n\nGiven('there is one past scrum with invalid youtube id') do\n  create(:event_instance,\n         yt_video_id: nil,\n         title: 'Invalid',\n         category: 'Scrum',\n         project_id: nil)\nend\n\nThen(\"video with youtube id nil shouldn't be clickable\") do\n  event = EventInstance.find_by_title('Invalid')\n  expect(page).not_to have_css(\"a##{event.id}\")\nend\n\nThen('wait {int} second') do |int|\n  sleep int\nend\n"
  },
  {
    "path": "features/step_definitions/sponsors_steps.rb",
    "content": "# frozen_string_literal: true\n\nThen(/^I should see sponsor banner for \"(.*?)\"$/) do |supporter_name|\n  expect(page).to have_selector('div#sponsorsBar')\n  expect(page).to have_css(\"img[alt*='#{supporter_name}']\")\nend\n\nThen(/^I should be (.*)'s sponsor$/) do |name|\n  user = User.find_by_first_name name\n  subscription = Subscription.find_by(user: user)\n  expect(subscription.sponsor).to eq(@current_user)\nend\n\nThen(/^I should be my own sponsor$/) do\n  subscription = Subscription.find_by(user: @current_user)\n  expect(subscription.sponsor).to eq(@current_user)\nend\n"
  },
  {
    "path": "features/step_definitions/static_pages_edit_button_steps.rb",
    "content": "# frozen_string_literal: true\n\ndef github_edit_url\n  \"https://github.com/AgileVentures/AgileVentures/edit/master/#{static_page.tr(' ', '_').upcase}.md\"\nend\n\ndef static_page\n  'Sponsors'\nend\n\nWhen(/^I click the 'Sponsors' page$/) do\n  click_on('Becoming a sponsor')\nend\n\nThen(/^I should be on 'Sponsors' page$/) do\n  expect(page.title).to have_content('Sponsors')\nend\n\nThen(/^I should see an 'Edit Page' button$/) do\n  expect(page).to have_link 'Edit Page'\nend\n\nThen(/^'Edit Page' should link to github edit page$/) do\n  expect(page).to have_link('Edit Page', href: github_edit_url)\nend\n"
  },
  {
    "path": "features/step_definitions/statistics_steps.rb",
    "content": "# frozen_string_literal: true\n\nAnd(/^stats for \"([^\"]*)\" should be \"([^\"]*)\"$/) do |stat, value|\n  within \"##{stat.downcase}\" do\n    expect(page).to have_css 'div.panel-heading', text: stat\n    expect(page).to have_css 'div.panel-body', text: value\n  end\nend\n"
  },
  {
    "path": "features/step_definitions/tabs_steps.rb",
    "content": "# frozen_string_literal: true\n\nThen(/^I should see a \"(.*?)\" tab (?:set to|is) (.*?)$/) do |tab, state|\n  expect(page).to have_css \"##{tab.downcase}.#{state}\"\nend\n"
  },
  {
    "path": "features/step_definitions/title_steps.rb",
    "content": "# frozen_string_literal: true\n\nGiven(/^I am on the mentors page$/) do\n  visit '/mentors'\nend\n\nGiven(/^I am on the premiums page$/) do\n  visit '/premium_members'\nend\n"
  },
  {
    "path": "features/step_definitions/user_steps.rb",
    "content": "# frozen_string_literal: true\n\nGiven(/^I have an avatar image at \"([^\"]*)\"$/) do |link|\n  @avatar_link = link\nend\n\nGiven(/^I am logged in as a user with \"([^\"]*)\"$/) do |plan|\n  StaticPage.create!(title: 'getting started', body: 'remote pair programming')\n  email =  \"Susan_#{plan.parameterize}@gmail.com\"\n  password = \"Susan_#{plan}\"\n  @current_user = @user = FactoryBot.create(:user, :with_karma, first_name: \"Susan_#{plan}\", email: email,\n                                                                password: password, password_confirmation: password)\n\n  set_user_as_premium(@user, plan)\n\n  visit new_user_session_path\n  within('#main') do\n    fill_in 'user_email', with: email\n    fill_in 'user_password', with: password\n    click_button 'Sign in'\n  end\nend\n\nGiven(/^I am logged in as( a premium)? user with (?:name \"([^\"]*)\", )?email \"([^\"]*)\", with password \"([^\"]*)\"$/) do |premium, name, email, password|\n  StaticPage.create!(title: 'getting started', body: 'remote pair programming')\n  @current_user = @user = create(:user,\n                                 :with_karma,\n                                 first_name: name,\n                                 email: email,\n                                 password: password,\n                                 password_confirmation: password)\n  set_user_as_premium(@user) if premium\n\n  visit new_user_session_path\n  within('#main') do\n    fill_in 'user_email', with: email\n    fill_in 'user_password', with: password\n    click_button 'Sign in'\n  end\nend\n\nGiven(/^A( premium)? user with (?:name \"([^\"]*)\", )?email \"([^\"]*)\", with password \"([^\"]*)\" exists$/) do |premium, name, email, password|\n  split_name = name.split\n  first_name = split_name.first\n  last_name  = split_name.last\n  @current_user = @user = create(:user,\n                                 :with_karma,\n                                 first_name: first_name,\n                                 last_name: last_name,\n                                 email: email, password: password, password_confirmation: password)\n  set_user_as_premium(@user) if premium\nend\n\ndef set_user_as_premium(user, plan = 'Premium')\n  return if plan.downcase == 'free'\n\n  subscription = Subscription.create(\n    user: user,\n    plan: Plan.find_by(name: plan),\n    started_at: Time.now\n  )\n  customer = Stripe::Customer.create(\n    email: user.email,\n    source: StripeMock.create_test_helper.generate_card_token\n  )\n  customer.subscriptions.create(plan: plan.downcase.delete(' '))\n  payment_source = PaymentSource::Stripe.create(\n    identifier: customer.id,\n    subscription: subscription\n  )\nend\n\nGiven(/^(?:|I am) logged in as a premium user paid for the plan via PayPal$/) do\n  @current_user = create(:user)\n  visit new_user_session_path\n  within('#main') do\n    fill_in 'user_email', with: @current_user.email\n    fill_in 'user_password', with: @current_user.password\n    click_button 'Sign in'\n  end\n  set_cookie \"_WebsiteOne_session=#{page.driver.cookies['_WebsiteOne_session'].value}\"\n  get subscriptions_paypal_redirect_path payment_method: 'paypal',\n                                         payer_id: 'paypal_payer_id',\n                                         plan: 'premium',\n                                         email: 'matt+buyer@agileventures.org'\nend\n\nGiven(/^(?:|I am) logged in as a CraftAcademy premium user$/) do\n  @current_user = create(:user)\n  subscription = Subscription.create(user: @current_user,\n                                     plan: Plan.find_by(name: 'Premium'), started_at: Time.now)\n  PaymentSource::CraftAcademy.create(\n    subscription: subscription\n  )\n  visit new_user_session_path\n  within('#main') do\n    fill_in 'user_email', with: @current_user.email\n    fill_in 'user_password', with: @current_user.password\n    click_button 'Sign in'\n  end\nend\n\nGiven(/^I am not logged in$/) do\n  step 'I sign out'\nend\n\nGiven(/^I am logged in as a privileged user$/) do\n  create_privileged_user\n  login_as @user, scope: :user\nend\n\nGiven(/^I am logged in$/) do\n  create_user\n  sign_in\nend\n\nGiven(/^I have logged in$/) do\n  create_user\n  login_as @user, scope: :user\nend\n\nGiven(/^I have logged in as a user who is authorized to view the AVDashboard$/) do\n  create_user(can_see_dashboard: true)\n  login_as @user, scope: :user\nend\n\nGiven('I have logged in as {string}') do |first_name|\n  @user = User.find_by_first_name first_name\n  login_as @user, scope: :user\nend\n\nGiven(/^I have logged in as a user who is not authorized to view the AVDashboard$/) do\n  create_user\n  login_as @user, scope: :user\nend\n\nGiven(/^I exist as a user$/) do\n  create_user\nend\n\nGiven(/^I exist as a user who is not authorized to view the AVDashboard$/) do\n  create_user\nend\n\nGiven(/^I exist as a user who is authorized to view the AVDashboard$/) do\n  create_user(can_see_dashboard: true)\nend\n\nGiven(/^I exist as a user signed up via google/) do\n  step 'I am on the \"registration\" page'\n  step 'I click \"Google\"'\n  @user = User.where(email: 'mock@email.com').first\nend\n\nWhen(/^I have deactivated my account$/) do\n  @user.destroy\nend\n\nGiven(/^User (.*)'s account is deleted$/) do |name|\n  user = User.find_by_first_name name\n  user.really_destroy!\nend\n\nGiven(/^I do not exist as a user$/) do\n  create_visitor\n  delete_user\nend\n\n### WHEN ###\nWhen(/^I submit \"([^\"]*)\" as username$/) do |email|\n  fill_in('user_email', with: email)\nend\n\nWhen(/^I submit \"([^\"]*)\" as password$/) do |password|\n  fill_in('user_password', with: password)\n  fill_in('user_password_confirmation', with: password)\nend\n\nWhen(/^I sign in with valid credentials$/) do\n  create_visitor\n  sign_in\nend\n\nWhen(/^I sign out$/) do\n  page.driver.submit :delete, destroy_user_session_path, {}\nend\n\nWhen(/^I sign off$/) do\n  delete_user\nend\n\nWhen(/^I sign up with valid user data( giving consent)?$/) do |consent|\n  create_visitor(receive_mailings: !consent.nil?)\n  sign_up\nend\n\nWhen(/^I sign up with an invalid email$/) do\n  create_visitor\n  @visitor = @visitor.merge(email: 'notanemail')\n  sign_up\nend\n\nWhen(/^I sign up without a password confirmation$/) do\n  create_visitor\n  @visitor = @visitor.merge(password_confirmation: '')\n  sign_up\nend\n\nWhen(/^I sign up without a password$/) do\n  create_visitor\n  @visitor = @visitor.merge(password: '')\n  sign_up\nend\n\nWhen(/^I sign up with a mismatched password confirmation$/) do\n  create_visitor\n  @visitor = @visitor.merge(password_confirmation: 'changeme123')\n  sign_up\nend\n\nWhen(/^I return to the site$/) do\n  visit root_path\nend\n\nWhen(/^I sign in with a wrong email$/) do\n  @visitor = @visitor.merge(email: 'wrong@example.com')\n  sign_in\nend\n\nWhen(/^I sign in with a wrong password$/) do\n  @visitor = @visitor.merge(password: 'wrongpass')\n  sign_in\nend\n\nWhen(/^I filter users for \"(.*?)\"$/) do |first_name|\n  fill_in 'user-filter', with: first_name\n  # click_link_or_button :UsersFilterSubmit\nend\n\nWhen(/^I sign up with GitHub$/) do\n  click_link_or_button 'GitHub'\nend\n\n### THEN ###\nThen(/^I should be signed in$/) do\n  expect(page).to have_content 'Log out'\n  expect(page).to_not have_content 'Log in'\nend\n\nAnd(/^I should not see a sign up link$/) do\n  expect(page).to have_no_link 'Sign up'\nend\n\nThen(/^I should be signed out$/) do\n  expect(page).to have_content 'Sign up'\n  expect(page).to have_content 'Log in'\n  expect(page).to_not have_content 'Log out'\nend\n\nThen(/^I see a successful sign in message$/) do\n  expect(page).to have_content 'Signed in successfully.'\nend\n\nThen(/^I should see a successful sign up message$/) do\n  expect(page).to have_content 'Welcome! You have signed up successfully.'\nend\n\nThen(/^I should see an invalid email message$/) do\n  expect(page).to have_content 'Email is invalid'\nend\n\nThen(/^I should see a missing password message$/) do\n  expect(page).to have_content \"Password can't be blank\"\nend\n\nThen(/^I should see a missing password confirmation message$/) do\n  expect(page).to have_content \"Password confirmation doesn't match\"\nend\n\nThen(/^I should see a mismatched password message$/) do\n  expect(page).to have_content \"Password confirmation doesn't match\"\nend\n\nThen(/^I should see a signed out message$/) do\n  expect(page).to have_content 'Signed out successfully.'\nend\n\nThen(/^I see an invalid login message$/) do\n  expect(page).to have_content 'Invalid email or password.'\nend\n\nThen(/^I see a user deactivated message$/) do\n  expect(page).to have_content 'User is deactivated.'\nend\n\nThen(/^I should (not |)see my name$/) do |should|\n  create_user\n  # TODO: Bryan: refactor to display_name\n  if should == 'not '\n    expect(page).to_not have_content @user.presenter.display_name\n  else\n    expect(page).to have_content @user.presenter.display_name\n  end\nend\n\nThen(/^I should see link for instructions to sign up$/) do\n  expect(page).to have_link('Click here for instructions',\n                            href: %r{github.com/AgileVentures/WebsiteOne/tree/develop/docs/solutions_for_signup_issues.md})\nend\n\nGiven(/^the following users exist$/) do |table|\n  table.hashes.each do |attributes|\n    create(:user, :with_karma, attributes)\n  end\nend\n\nGiven(/^the following premium users exist$/) do |table|\n  table.hashes.each do |attributes|\n    attributes['password'] = 'password' unless attributes['password']\n    attributes['password_confirmation'] = 'password' unless attributes['password_confirmation']\n    user = User.create(attributes)\n    set_user_as_premium(user)\n  end\nend\n\nGiven(/^the following active users exist$/) do |table|\n  table.hashes.each do |attributes|\n    project = Project.find_by(title: attributes['projects'])\n    Delorean.time_travel_to(attributes['updated_at']) if attributes['updated_at']\n    user = create(\n      :user,\n      first_name: attributes['first_name'],\n      last_name: attributes['last_name'],\n      email: attributes['email'],\n      latitude: attributes['latitude'],\n      longitude: attributes['longitude']\n    )\n    Delorean.back_to_the_present if attributes['updated_at']\n    user.follow project\n  end\nend\n\nGiven(/^the following statuses have been set$/) do |table|\n  table.hashes.each do |attributes|\n    user = User.find_by_first_name(attributes[:user])\n    create(:status, status: attributes[:status], user_id: user.id)\n  end\nend\n\nWhen(/^I click pulldown link \"([^\"]*)\"$/) do |text|\n  page.find(:css, '.dropdown .dropdown-menu.dropdown-menu-right .fa-user').click\n  first(:link, text).click\nend\n\nGiven(/^I should be on the \"([^\"]*)\" page for \"(.*?)\"$/) do |page, user|\n  this_user = User.find_by_first_name(user) || User.find_by_email(user)\n  expect(current_path).to eq path_to(page, this_user)\nend\n\nGiven(/^I should be on the anonymous profile page$/) do\n  expect(current_path).to eq('/users/-1')\nend\n\nGiven(/^I (?:am on|go to|should be on) my \"([^\"]*)\" page$/) do |page|\n  page.downcase!\n  case page\n  when 'profile'\n    visit user_path(@user)\n  when 'edit profile'\n    visit edit_user_registration_path(@user)\n  else\n    pending\n  end\nend\n\nGiven(/^I am on \"(.*?)\" page for user \"(.*?)\"$/) do |page, user_name|\n  user = if user_name == 'me'\n           @user\n         else\n           User.find_by_first_name(user_name)\n         end\n\n  case page\n  when 'profile'\n    visit user_path(user)\n  when page == 'edit profile'\n    visit edit_user_registration_path(user)\n  end\nend\n\nThen(/^I (should not|should)? see my email$/) do |option|\n  if option == 'should'\n    expect(page).to have_content @user.email\n  else\n    expect(page).to_not have_content @user.email\n  end\nend\n\nWhen(/^I set my ([^\"]*) to be (public|private)?$/) do |value, option|\n  value = value.underscore\n  if option == 'public'\n    check(\"user_display_#{value}\")\n  else\n    # uncheck \"Display #{value}\"\n    find(\"input#user_display_#{value}\").set(false)\n    expect(find(\"input#user_display_#{value}\")).to_not be_checked\n  end\nend\n\nWhen(/^I set ([^\"]*) to be (true|false)?$/) do |value, option|\n  value = value.underscore\n  if option == 'true'\n    check(\"user_#{value}\")\n  else\n    uncheck \"user_#{value}\"\n    expect(find(\"input#user_#{value}\")).to_not be_checked\n  end\nend\n\nGiven(/^My ([^\"]*) was set to (public|private)?/) do |value, option|\n  @user.update(\"display_#{value.underscore}\".to_sym => (option == 'public'))\nend\n\nThen(/^\"([^\"]*)\" (should|should not) be checked$/) do |name, option|\n  if option == 'should'\n    expect(page.find(:css, \"input#user_#{name.underscore}\")).to be_checked\n  else\n    expect(page.find(:css, \"input#user_#{name.underscore}\")).to_not be_checked\n  end\nend\n\nGiven(/^user \"(.*?)\" follows projects:$/) do |user, table|\n  @user = User.find_by_first_name user\n  table.hashes.each do |project|\n    step %(I should become a member of project \"#{project[:title]}\")\n  end\nend\n\nGiven(/^user \"(.*?)\" have karma:$/) do |user, table|\n  @user = User.find_by_first_name user\n  table.hashes.each do |karma|\n    @user.karma.update(\n      hangouts_attended_with_more_than_one_participant: karma[:hangouts_attended_with_more_than_one_participant],\n      total: karma[:total]\n    )\n  end\nend\n\nThen(/^the karma summary is \"([^\"]*)\"$/) do |value|\n  expect(page).to have_css('span.karma-summary')\n  expect(page).to have_css('span.karma-summary .fa.fa-fire')\n  expect(page.find(:css, 'span.karma-summary')).to have_content value\nend\n\nGiven(/^I am logged in as \"([^\"]*)\"$/) do |first_name|\n  @user = User.find_by_first_name first_name\n  visit new_user_session_path\n  within('#main') do\n    fill_in 'user_email', with: @user.email\n    fill_in 'user_password', with: test_user_password\n    click_button 'Sign in'\n  end\nend\n\nGiven(/^I visit (.*)'s profile page$/) do |name|\n  user = User.find_by_first_name name\n  visit user_path user\nend\n\nGiven(/^I am on my profile page$/) do\n  visit user_path @current_user\nend\n\nGiven(/^I (?:have|add) (?:skill|skills) \"(.*)\"/) do |skills|\n  @user.skill_list.add(skills, parse: true)\n  @user.save\n  @user.reload\nend\n\nGiven(/^I add a new skill: \"(.*)\"/) do |skills|\n  skills.split(',').each { |s| page.execute_script \"$('#skills').tags().addTag('#{s}')\" }\nend\n\nAnd(/^I have a GitHub profile with username \"([^\"]*)\"$/) do |username|\n  @github_profile_url = \"https://github.com/#{username}\"\nend\nWhen(/^my profile should be updated with my GH username$/) do\n  @user.github_profile_url = @github_profile_url\n  @user.save\n  expect(@user.github_profile_url).to eq @github_profile_url\nend\n\nAnd(/^I have authentication enabled with my github username$/) do\n  @user.github_profile_url = @github_profile_url\n  @user.save\n  @authentication = FactoryBot.create(:authentication, user_id: @user.id, provider: 'github', uid: 42_672)\n  @authentication.save\nend\n\nThen(/^I should not have github_profile_url set in my profile$/) do\n  @user.reload\n  expect(@user.github_profile_url).to be_nil\nend\n\nThen(/^I should not have any authentications by my github username$/) do\n  expect(@user.authentications.find_by(provider: 'github')).to be_nil\nend\n\nThen(/^I should see GitHub account unlinking failed message$/) do\n  expect(page).to have_content 'Failed to unlink GitHub. Please use another provider for login or reset password.'\nend\n\nGiven(/^I fetch the GitHub contribution statistics$/) do\n  GithubCommitsJob.run\nend\n\nWhen(/^I delete my profile$/) do\n  @user.delete\nend\n\n# NOTE: search steps below\n\nWhen(/^I filter \"(.*?)\" for \"(.*?)\"$/) do |list_name, selected_from_list|\n  steps %(\n    When I select \"#{selected_from_list}\" from the \"#{list_name}\" list\n    And I click \"Search\"\n  )\nend\n\nWhen(/^I select \"(.*?)\" from the \"(.*?)\" list$/) do |selected_from_list, list_name|\n  filter = case list_name\n           when 'projects'\n             'project_filter'\n           when 'online status'\n             'online'\n           end\n\n  page.select(selected_from_list, from: filter)\nend\n\nWhen(/^I search for user with email \"([^\"]*)\"$/) do |email|\n  visit \"/users?email=#{email}\"\nend\n\nGiven(/^I have an incomplete profile$/) do\n  @user.bio = ''\n  @user.save\nend\n\nGiven(/^there are an extra (\\d+) users$/) do |number|\n  number.to_i.times { FactoryBot.create(:user) }\nend\n\nAnd(/^I am on the members page$/) do\n  visit '/users'\nend\n\nAnd(/^I click on page \"([^\"]*)\" of users$/) do |page|\n  click_link page\nend\n\nWhen(/^I click Karma link for \"([^\"]*)\"$/) do |user_name|\n  user = User.find_by_first_name(user_name)\n  link = user_path(user)\n  page.find(:css, %(a[href=\"#{link}?tab=activity\"])).trigger('click')\nend\n\nThen(/^I should not exist as a user$/) do\n  user = User.find_by(first_name: 'Anders')\n  expect(user).to be_nil\nend\n\nAnd(/^the page should contain the google adwords conversion code/) do\n  script = page.all('script', visible: false).inject(+'') { |m, el| m << el.native.text }\n  expect(script).to include 'Zms8CLTN-20Q-NGSmwM'\nend\n\nAnd(/^the user \"([^\"]*)\" should have karma$/) do |email|\n  user = User.find_by email: email\n  expect(user.karma).not_to be_nil\nend\n"
  },
  {
    "path": "features/step_definitions/youtube_steps.rb",
    "content": "# frozen_string_literal: true\n\nGiven(/my YouTube channel is connected/) do\n  step 'user \"me\" has YouTube Channel connected'\nend\n\nThen(/I should( not)? see a list of my videos/) do |negative|\n  correct_number = [EventInstance.where(user: @current_user).count, 5].min\n  video_links = page.all(:css, '.yt_link')\n  if negative\n    expect(video_links.size).to eq(0)\n  else\n    expect(video_links.size).to eq(correct_number)\n  end\nend\n\nGiven(/^user \"([^\"]*)\" has YouTube Channel connected/) do |user|\n  user = user == 'me' ? @current_user : User.find_by_first_name(user)\n  user.youtube_id = 'test_id'\n  user.youtube_user_name = 'John Doe'\n  user.save!\nend\n\nThen(/^I should see video \"([^\"]*)\" in \"player\"$/) do |name|\n  id = find_link(name)[:id]\n  expect(page.find(:css, '#ytplayer')[:src]).to include \"www.youtube.com/embed/#{id}\"\nend\n\nThen(/^I should see \"([^\"]*)\" before \"([^\"]*)\"$/) do |title_1, title_2|\n  expect(page.body).to match(/#{title_1}.*#{title_2}/m)\nend\n\nGiven(/^I have some videos on project \"(.*?)\"$/) do |project|\n  step %(the project \"#{project}\" has 3 videos of user \"me\")\nend\n\nGiven(/^the project \"(.*?)\" has (\\d+) videos of user \"(.*?)\"$/) do |project_title, count, user_name|\n  project = Project.find_by(title: project_title)\n  names = user_name.split\n  user = (user_name == 'me') && @current_user\n  user ||= User.find_by first_name: names[0], last_name: names[1]\n  user ||= FactoryBot.create :user, first_name: names[0], last_name: names[1]\n  count.to_i.times do |n|\n    FactoryBot.create :event_instance, title: \"PP on #{project_title} - feature: #{n}\",\n                                       project: project, user: user, created_at: Time.new('2014', '04', '15').utc.beginning_of_day + n.minutes,\n                                       youtube_tweet_sent: false\n  end\nend\n\nGiven(/^there is a dud video for project \"([^\"]*)\"$/) do |project_title|\n  project = Project.find_by(title: project_title)\n  EventInstance.create title: \"PP on #{project_title} - feature: cool\",\n                       project: project, user: User.first, created_at: Time.new('2014', '04', '15').utc.beginning_of_day,\n                       yt_video_id: ''\nend\n\nGiven(/^there are no videos$/) do\n  # No videos created\nend\n\nGiven(/^the live stream has not started$/) do\n  mock = {}\n  results = {}\n  mock.stub_chain(:live_streaming_details, :first).and_return(results)\n  expect(results).to receive(:try).with(:actual_start_time).at_most(1).times.and_return(nil)\n  expect(Yt::Video).to receive(:new).at_most(1).times.with(id: '11').and_return mock\nend\n\nGiven(/^the live stream has started$/) do\n  mock = {}\n  results = {}\n  mock.stub_chain(:live_streaming_details, :first).and_return(results)\n  expect(results).to receive(:try).with(:actual_start_time).at_most(1).times.and_return(Time.now)\n  expect(Yt::Video).to receive(:new).at_most(1).times.with(id: '11').and_return mock\nend\n\nThen(/^the event instance will be marked tweet sent$/) do\n  ei = EventInstance.find_by(yt_video_id: 11)\n  if Settings.features.twitter.notifications.enabled == true\n    expect(ei.youtube_tweet_sent).to eq(true)\n  else\n    expect(ei.youtube_tweet_sent).not_to eq(true)\n  end\nend\n\nThen(/I should( not)? see a link to watch the event's past video/) do |negate|\n  if negate\n    expect(page).to have_no_css('#video_links')\n  else\n    within('#video_links') do\n      expect(page).to have_css('a', count: 1)\n    end\n  end\nend\n"
  },
  {
    "path": "features/support/capybara.rb",
    "content": "# frozen_string_literal: true\n\nrequire 'capybara/cuprite'\n\nCapybara.javascript_driver = :cuprite\nCapybara.register_driver(:cuprite) do |app|\n  Capybara::Cuprite::Driver.new(app, window_size: [1800, 1800], browser_options: { 'no-sandbox': nil })\nend\n\nCapybara.save_path = 'tmp/capybara'\n"
  },
  {
    "path": "features/support/database_cleaner.rb",
    "content": "# frozen_string_literal: true\n\nrequire 'cucumber/rails'\n\nActionController::Base.allow_rescue = false\n\nbegin\n  DatabaseCleaner.strategy = :transaction\nrescue NameError\n  raise 'You need to add database_cleaner to your Gemfile (in the :test group) if you wish to use it.'\nend\n\nCucumber::Rails::Database.javascript_strategy = :truncation\n"
  },
  {
    "path": "features/support/env.rb",
    "content": "# frozen_string_literal: true\n\n# IMPORTANT: This file is generated by cucumber-rails - edit at your own peril.\n# It is recommended to regenerate this file in the future when you upgrade to a\n# newer version of cucumber-rails. Consider adding your own code to a new file\n# instead of editing this one. Cucumber will automatically load all features/**/*.rb\n# files.\nrequire 'simplecov'\n\nrequire 'cucumber/rails'\nrequire 'billy/capybara/cucumber'\nrequire 'cucumber/rspec/doubles'\nrequire 'webmock/cucumber'\nrequire 'capybara-screenshot/cucumber'\n\nActionController::Base.allow_rescue = false\n\n# Remove/comment out the lines below if your app doesn't have a database.\n# For some databases (like MongoDB and CouchDB) you may need to use :truncation instead.\n# begin\n#  DatabaseCleaner.strategy = :transaction\n# rescue NameError\n#  raise 'You need to add database_cleaner to your Gemfile (in the :test group) if you wish to use it.'\n# end\n\n# Cucumber::Rails::Database.javascript_strategy = :truncation\n\nBefore do\n  Settings.reload!\n  StaticPage.create!(title: 'getting started', body: 'remote pair programming')\nend\n\n# To be used in conjunction with rerun option, so that we don't return a failing\n# exit code until the second try fails\nat_exit do\n  exit 0 if ENV['NEVER_FAIL'] == 'true'\nend\n\n# Simplify FactoryBot methods in step definitions\nWorld(FactoryBot::Syntax::Methods)\n"
  },
  {
    "path": "features/support/geocoder.rb",
    "content": "# frozen_string_literal: true\n\nGeocoder.configure(ip_lookup: :test)\nGeocoder::Lookup::Test.add_stub(\n  '127.0.0.1', [\n    {\n      ip: '127.0.0.1',\n      country_code: 'SE',\n      country_name: 'Sweden',\n      region_code: '28',\n      region_name: 'Västra Götaland',\n      city: 'Alingsås',\n      zipcode: '44139',\n      latitude: 57.9333,\n      longitude: 12.5167,\n      metro_code: '',\n      areacode: ''\n    }.as_json\n  ]\n)\n"
  },
  {
    "path": "features/support/helpers.rb",
    "content": "# frozen_string_literal: true\n\nmodule Helpers\n  def default_test_author\n    @default_test_author ||= User.find_by_email(default_test_user_details[:email])\n    @default_test_author = create(:user, default_test_user_details) if @default_test_author.nil?\n    @default_test_author\n  end\n\n  def test_ip_address\n    '127.0.0.1'\n  end\n\n  def test_user_password\n    '12345678'\n  end\n\n  def default_test_user_details\n    {\n      first_name: 'Tester',\n      last_name: 'Person',\n      email: 'testuser@agileventures.org',\n      last_sign_in_ip: test_ip_address,\n      password: test_user_password,\n      password_confirmation: test_user_password,\n      display_profile: true,\n      latitude: 59.33,\n      longitude: 18.06,\n      country_name: 'Stockholm',\n      bio: 'Full time Tester',\n      skill_list: 'Test'\n    }\n  end\n\n  def create_visitor(receive_mailings: false)\n    @visitor ||= { first_name: 'Anders',\n                   last_name: 'Persson',\n                   email: 'example@example.com',\n                   password: 'changemesomeday',\n                   password_confirmation: 'changemesomeday',\n                   slug: 'slug-ma',\n                   country_name: 'Sweden',\n                   admin: false,\n                   receive_mailings: receive_mailings }\n  end\n\n  def create_user(opts = {})\n    @user ||= create(:user, create_visitor.merge(opts))\n    @current_user = @user\n  end\n\n  def create_privileged_visitor(receive_mailings: false)\n    @visitor ||= { first_name: 'Admin',\n                   last_name: 'Privilege',\n                   email: 'admin@privileged.com',\n                   password: 'changemesomeday',\n                   password_confirmation: 'changemesomeday',\n                   slug: 'slug-admin',\n                   country_name: 'UK',\n                   admin: true,\n                   receive_mailings: receive_mailings }\n  end\n\n  def create_privileged_user\n    @user ||= create(:user, create_privileged_visitor)\n    @current_user = @user\n  end\n\n  def delete_user\n    @user&.destroy\n    @user = nil\n    @current_user = nil\n  end\n\n  def sign_up\n    delete_user\n    visit new_user_registration_path\n    within('#main') do\n      fill_in 'user_email', with: @visitor[:email]\n      fill_in 'user_password', with: @visitor[:password]\n      fill_in 'user_password_confirmation', with: @visitor[:password_confirmation]\n      find(:css, '#user_receive_mailings').set(@visitor[:receive_mailings])\n      click_button 'Sign up'\n    end\n  end\n\n  def sign_in\n    visit new_user_session_path unless current_path == new_user_session_path\n    within('#main') do\n      fill_in 'user_email', with: @visitor[:email]\n      fill_in 'user_password', with: @visitor[:password]\n      click_button 'Sign in'\n    end\n  end\n\n  def all_users\n    @all_users = User.all\n  end\nend\n\nmodule WithinHelpers\n  def with_scope(locator, &block)\n    locator ? within(*selector_for(locator), &block) : yield\n  end\n\n  def has_link_or_button?(page, name)\n    page.has_link?(name) || page.has_button?(name)\n  end\nend\n\nmodule WaitForAjax\n  def wait_for_ajax\n    Timeout.timeout(Capybara.default_max_wait_time) do\n      loop until finished_all_ajax_requests?\n    end\n  end\n\n  def finished_all_ajax_requests?\n    page.evaluate_script('jQuery.active').zero?\n  end\nend\n\nWorld(Helpers)\nWorld(WithinHelpers)\nWorld(WaitForAjax)\n\nclass Capybara::Result\n  def second\n    self[1]\n  end\nend\n\nmodule Capybara\n  class Session\n    def has_link_or_button?(name)\n      has_link?(name) || has_button?(name)\n    end\n  end\nend\n\nclass String\n  def underscore\n    gsub(/::/, '/')\n      .gsub(/([A-Z]+)([A-Z][a-z])/, '\\1_\\2')\n      .gsub(/([a-z\\d])([A-Z])/, '\\1_\\2')\n      .tr('- ', '_')\n      .downcase\n  end\nend\n"
  },
  {
    "path": "features/support/hooks.rb",
    "content": "# frozen_string_literal: true\n\nBefore '@disable_twitter' do\n  @original_twitter = Settings.features.twitter.notifications.enabled\n  Settings.features.twitter.notifications.enabled = false\nend\n\nAfter '@disable_twitter' do\n  Settings.features.twitter.notifications.enabled = @original_twitter\nend\n\nBefore('@desktop') do\n  page.driver.resize(1228, 768)\nend\n\nBefore('@tablet') { page.driver.resize(768, 768) }\n\nBefore('@smartphone') { page.driver.resize(640, 640) }\n\nAfter('@desktop', '@tablet', '@smartphone') { page.driver.resize(1600, 1200) }\n\nBefore('@time-travel') do\n  @default_tz = ENV.fetch('TZ', nil)\n  ENV['TZ'] = 'UTC'\n  Delorean.time_travel_to(Time.parse('2014/02/01 09:15:00 UTC'))\nend\n\nBefore('@time-travel-step') do\n  @default_tz = ENV.fetch('TZ', nil)\n  ENV['TZ'] = 'UTC'\nend\n\nAfter('@time-travel or @time-travel-step') do\n  Delorean.back_to_the_present\n  ENV['TZ'] = @default_tz\nend\n\nBefore('@omniauth') do\n  OmniAuth.config.test_mode = true\n  OmniAuth.config.mock_auth[:github] = {\n    'provider' => 'github',\n    'uid' => '12345678',\n    'info' => {\n      'email' => 'mock@email.com'\n    }\n  }\n  OmniAuth.config.mock_auth[:gplus] = {\n    'provider' => 'gplus',\n    'uid' => '12345678',\n    'info' => {\n      'email' => 'mock@email.com'\n    },\n    'credentials' => { 'token' => 'test_token' }\n  }\nend\n\nBefore('@omniauth-with-invalid-credentials') do\n  OmniAuth.config.test_mode = true\n  OmniAuth.config.mock_auth[:gplus] = :invalid_credentials\n  OmniAuth.config.mock_auth[:github] = :invalid_credentials\nend\n\nBefore('@omniauth-without-email') do\n  OmniAuth.config.test_mode = true\n  OmniAuth.config.mock_auth[:github] = {\n    'provider' => 'github',\n    'uid' => '12345678',\n    'info' => {}\n  }\n  OmniAuth.config.mock_auth[:gplus] = {\n    'provider' => 'gplus',\n    'uid' => '12345678',\n    'info' => {},\n    'credentials' => { 'token' => 'test_token' }\n  }\nend\n\nAfter('@omniauth or @omniauth-with-email or @omniauth-with-invalid-credentials') do\n  OmniAuth.config.test_mode = false\nend\n\nBefore('@rake') do |_scenario|\n  unless $rake\n    require 'rake'\n    Rake.application.rake_require 'tasks/github_content_for_static_pages'\n    Rake.application.rake_require 'tasks/scheduler'\n    Rake.application.rake_require 'tasks/migrate_plans'\n    Rake.application.rake_require 'tasks/create_plans'\n    Rake.application.rake_require 'tasks/db'\n    Rake::Task.define_task(:environment)\n    $rake = Rake::Task\n  end\nend\n"
  },
  {
    "path": "features/support/puffing_billy.rb",
    "content": "# frozen_string_literal: true\n\nBilly.configure do |c|\n  c.cache = true\n  c.cache_request_headers = false\n  c.ignore_params = ['http://www.google-analytics.com/__utm.gif',\n                     'https://r.twimg.com/jot',\n                     'http://p.twitter.com/t.gif',\n                     'http://p.twitter.com/f.gif',\n                     'http://www.facebook.com/plugins/like.php',\n                     'https://www.facebook.com/dialog/oauth',\n                     'http://cdn.api.twitter.com/1/urls/count.json',\n                     'http://disqus.com/embed/comments/',\n                     'http://disqus.com/api/3.0/embed/threadDetails.json',\n                     'http://disqus.com/api/3.0/discovery/listRelated.json',\n                     'https://referrer.disqus.com/juggler/event.js',\n                     'https://referrer.disqus.com/juggler/event.gif',\n                     'http://disqus.com/api/3.0/discovery/listRelated.json',\n                     'http://www.google-analytics.com/r/__utm.gif',\n                     'http://disqus.com/api/3.0/timelines/getUnreadCount.json',\n                     'https://ssl.google-analytics.com/__utm.gif',\n                     'https://accounts.google.com/o/oauth2/postmessageRelay',\n                     'https://talkgadget.google.com/talkgadget/_/widget',\n                     'https://api.stripe.com/v1/tokens',\n                     'https://q.stripe.com/',\n                     'https://js.stripe.com/v2/',\n                     'https://checkout.stripe.com/api/bootstrap',\n                     'https://checkout.stripe.com/api/counter',\n                     'https://api.mixpanel.com/track/',\n                     'https://checkout.stripe.com/api/outer/manhattan',\n                     'https://checkout.stripe.com/api/account/lookup',\n                     'https://checkout.stripe.com/',\n                     'https://checkout.stripe.com/v3/',\n                     'https://checkout.stripe.com/v3/data/locales/en_gb-TXHkb1MWMa7xOQfCZf1DFA.json',\n                     'https://checkout.stripe.com/v3/data/locales/en_us-tZLon0RoQY0knbOURjQ.json',\n                     'https://checkout.stripe.com/v3/data/locales/en_gb-LkmkoD88BacHIqnX4OXm6w.json',\n                     'http://a.disquscdn.com/uploads/users/20073/6166/avatar92.jpg',\n                     'https://checkout.stripe.com/v3/BFV9gQSjIO6MQNzvbBr9GA.html',\n                     'http://checkout.stripe.com/v3/BFV9gQSjIO6MQNzvbBr9GA.html',\n                     'https://checkout.stripe.com/v3/MmIlwJCFOGIGxL58rFJw.html',\n                     'http://checkout.stripe.com/v3/MmIlwJCFOGIGxL58rFJw.html',\n                     'https://checkout.stripe.com/v3/n57eSArn7ygyGTkooaU7A.html',\n                     'http://checkout.stripe.com/v3/n57eSArn7ygyGTkooaU7A.html',\n                     'https://checkout.stripe.com/v3/n57eSArn7ygyGTkooaU7A.html',\n                     'http://checkout.stripe.com/v3/n57eSArn7ygyGTkooaU7A.html',\n                     'http://csi.gstatic.com/csi',\n                     'https://csi.gstatic.com/csi']\n  c.merge_cached_responses_whitelist = [\n    /google-analytics/,\n    /disquscdn/,\n    /www\\.gravatar\\.com/,\n    %r{youtube\\.com/embed/yt_video_id}\n  ]\n  c.persist_cache = true\n  c.cache_path = 'features/support/fixtures/req_cache/'\n  c.non_successful_cache_disabled = false\nend\n\nBefore('@billy_directories') do |scenario, _block|\n  Billy.configure do |c|\n    feature_name = scenario.feature.name.underscore\n    scenario_name = scenario.name.underscore\n    c.cache_path = \"features/support/fixtures/req_cache/#{feature_name}/\"\n    FileUtils.mkdir_p(Billy.config.cache_path)\n    c.cache_path = \"features/support/fixtures/req_cache/#{feature_name}/#{scenario_name}/\"\n  end\nend\n"
  },
  {
    "path": "features/support/selectors.rb",
    "content": "# frozen_string_literal: true\n\nmodule HtmlSelectorsHelpers\n  # Maps a name to a selector. Used primarily by the\n  #\n  #   When /^(.+) within (.+)$/ do |step, scope|\n  #\n  # step definitions in web_steps.rb\n  #\n  def selector_for(locator)\n    case locator\n\n    when 'the page'\n      'html > body'\n\n      # Add more mappings here.\n      # Here is an example that pulls values out of the Regexp:\n      #\n      #  when /^the (notice|error|info) flash$/\n      #    \".flash.#{$1}\"\n\n      # You can also return an array to use a different selector\n      # type, like:\n      #\n      #  when /the header/\n      #    [:xpath, \"//header\"]\n\n      # This allows you to provide a quoted selector as the scope\n      # for \"within\" steps as was previously the default for the\n      # web steps:\n    when 'Account details'\n      'form#edit_user'\n    when 'video description'\n      '#video_contents'\n    when 'player'\n      '#ytplayer'\n    when 'Modal window'\n      '.modal-body'\n    when 'The Breadcrumb'\n      '#not-sidebar-content'\n    when 'Search'\n      'form#search'\n    when /^\"(.+)\"$/\n      Regexp.last_match(1)\n\n    else\n      raise \"Can't find mapping from \\\"#{locator}\\\" to a selector.\\n\" \\\n            \"Now, go and add a mapping in #{__FILE__}\"\n    end\n  end\nend\n\nWorld(HtmlSelectorsHelpers)\n"
  },
  {
    "path": "features/support/suppress_logger.rb",
    "content": "# frozen_string_literal: true\n\n# def logger_with_no_output\n#  logger = double('Logger').as_null_object\n# allow(Logger).to receive(:new).and_return(logger)\n# end\n\n# Before do\n#  logger_with_no_output\n# end\n"
  },
  {
    "path": "features/support/vcr.rb",
    "content": "# frozen_string_literal: true\n\nrequire 'vcr'\n\nVCR.configure do |c|\n  c.hook_into :webmock\n  c.cassette_library_dir = 'features/support/fixtures/cassettes'\n\n  # c.debug_logger = File.open('features/support/record.log', 'w')\n\n  # Avoid conflict with Selenium\n  c.ignore_localhost = true\n\n  c.default_cassette_options = {\n    match_requests_on: [\n      :method,\n      VCR.request_matchers.uri_without_param(:imp, :prev_imp, :distinct_id)\n    ]\n  }\n  c.filter_sensitive_data('<SLACK_AUTH_TOKEN>') { ENV.fetch('SLACK_AUTH_TOKEN', nil) }\n  c.filter_sensitive_data('<GITTER_API_TOKEN>') { ENV.fetch('GITTER_API_TOKEN', nil) }\n  c.filter_sensitive_data('<GITHUB_CLIENT_ID>') { ENV.fetch('GITHUB_KEY', nil) }\n  c.filter_sensitive_data('<GITHUB_CLIENT_SECRET>') { ENV.fetch('GITHUB_SECRET', nil) }\n  c.filter_sensitive_data('<AUTHORIZATION_HEADERS>') do |interaction|\n    interaction.request.headers['Authorization'].try(:first)\n  end\nend\n\nVCR.cucumber_tags do |t|\n  t.tag '@vcr', use_scenario_name: true\nend\n"
  },
  {
    "path": "features/user_status.feature",
    "content": "@vcr\nFeature: User status\n  \"As site administrator\n  In order to simplify interactions between users\n  I would like them to be able to set current availability status on their user profile.\"\n\n  PT story: https://www.pivotaltracker.com/story/show/78088070\n\n  Background:\n    Given the following users exist\n      | first_name | last_name | email                  | updated_at               |\n      | Alice      | Jones     | alicejones@hotmail.com | 2014-09-30 05:09:00 UTC' |\n      | Bob        | Butcher   | bobb112@hotmail.com    | 2014-09-30 04:00:00 UTC' |\n\n    And the following statuses have been set\n      | status            | user  |\n      | Ready to pair     | Alice |\n      | Doing code review | Bob   |\n\n  @time-travel-step\n  Scenario: I should see a users status on index page if user is online\n    Given the date is \"2014-09-30 05:15:00 UTC\"\n    And I visit \"/users\"\n    And I should see \"2\" user avatars within the main content\n    And I should see \"Ready to pair\"\n    And I should not see \"I'm offline\"\n\n  @time-travel-step\n  Scenario: I should see a users status on their profile page if user is online\n    Given the date is \"2014-09-30 05:15:00 UTC\"\n    Given I visit Alice's profile page\n    Then I should see \"Ready to pair\"\n\n  @time-travel-step\n  Scenario: I should not see a users status on their profile page if user is offline\n    Given the date is \"2014-09-30 05:15:00 UTC\"\n    And I visit Bob's profile page\n    Then I should not see \"I'm offline\"\n\n  @javascript\n  Scenario: Set status\n    Given I am logged in as user with name \"Thomas\", email \"thomas@agileventures.org\", with password \"qwerty1234\"\n    And I am on my \"Profile\" page\n    And I click \"Set status\"\n    And I select \"user_status\" to \"Ready to pair\"\n    And I click \"Update status\"\n    Then I should see \"Ready to pair\"\n"
  },
  {
    "path": "features/users/activities.feature",
    "content": "@vcr\nFeature: Activities View\n  \"As a site user\n  In order to know how someone has contributed to the community\n  I would like to see a users activities feed\"\n\n  Background:\n    Given I am on the \"home\" page\n    And the following users exist\n      | first_name | last_name | email                  | skill_list         | hangouts_attended_with_more_than_one_participant |\n      | Alice      | Jones     | alicejones@hotmail.com | ruby, rails, rspec | 1                                                |\n      | John       | Doe       | john@doe.com           | ruby, rails, rspec | nil                                              |\n    And the following projects exist:\n      | title      | description        | github_url                                  | status | commit_count |\n      | WebsiteTwo | awesome autograder | https://github.com/AgileVentures/WebsiteTwo | active | 1            |\n    And the following commit_counts exist:\n      | project    | user_email             | commit_count |\n      | WebsiteTwo | alicejones@hotmail.com | 500          |\n    And I am logged in as user with name \"Thomas\", email \"brett@example.com\", with password \"12345678\"\n\n  @javascript\n  Scenario: See how commits,hangouts hosted contribute to Karma\n    Given I am on \"profile\" page for user \"Alice\"\n    When I click \"Activity\"\n    Then I should see \"WebsiteTwo - 500 commits\"\n    And I should see \"Contributions (GitHub) - 500 total commits x 1 - 500\"\n    And I should see \"Contributions (Hangouts Hosted) - 0 total hangouts x 1 - 0\"\n    And I should see \"Contributions (Hangouts Attended) - 1 total hangouts x 1 - 1\"\n    And I should see \"Contributions (Authentications) - 0 authentications x 100 - 0\"\n    And I should see \"Contributions (Profile Completeness) - 6 out of 10\"\n    And I should see \"Contributions (Membership Length) - 0 out of 6\"\n    And I should see \"Contributions (Sign In Activity) - 0 out of 6\"\n\n  @javascript\n  Scenario: use karma link to display user profile activity if there is contributions\n    Given I am on the members page\n    When I click Karma link for \"Alice\"\n    Then I should see \"WebsiteTwo - 500 commits\"\n\n  @javascript\n  Scenario: use karma link display a flash message if there is no contributions\n    Given I am on the members page\n    When I click Karma link for \"John\"\n    Then I should see a success flash \"User does not have activity log\"\n"
  },
  {
    "path": "features/users/avatar.feature",
    "content": "@vcr\nFeature:  In order to make my personal avatar visible to other users\n  As a registered user\n  I want to link my avatar image to my account\n\n  Background:\n    Given I am logged in as user with email \"MyEmailAddress@example.com\", with password \"12345678\"\n    And I have an avatar image at \"https://www.gravatar.com/avatar/0bc83cb571cd1c50ba6f3e8a78ef1346?s=80&d=retro\"\n    And I am on the \"home\" page\n\n  Scenario: See my avatar on My account page\n    When I click pulldown link \"My account\"\n    Then I should see my avatar image\n"
  },
  {
    "path": "features/users/github_commit_count.feature",
    "content": "@vcr\nFeature: Displaying GitHub contribution statistics for user\n  \"As a member of AV\n  So that I can find out what projects others are contributing to\n  I should see the number of commits they have made to projects listed on their profile page.\"\n\n  Background:\n    Given the following projects exist:\n      | title      | description       | status | github_url                                  |\n      | WebsiteOne | agileventures.org | active | https://github.com/AgileVentures/WebsiteOne |\n    And the following users exist\n      | first_name | last_name | email               | github_profile_url       |\n      | Bryan      | Yap       | test@test.com       | https://github.com/yggie |\n      | Thomas     | Ochman    | tochman@hotmail.com |                          |\n    And I fetch the GitHub contribution statistics\n    And \"Bryan\" is a member of project \"WebsiteOne\"\n    And \"Thomas\" is a member of project \"WebsiteOne\"\n\n  # Semaphore often fails on this, so taking out for now.\n  # Scenario: Displays commit counts on user profile page \n  #   Given I am on \"profile\" page for user \"Bryan\"\n  #   Then I should see \"Contributions\"\n  #   And I should see \"WebsiteOne - 395 commits\"\n\n  Scenario: Does not display commit counts for user without github profile url\n    Given I am on \"profile\" page for user \"Thomas\"\n    Then I should not see \"Contributions\"\n    And I should not see \"WebsiteOne - 316\"\n\n  Scenario: Does not display commit counts for projects not followed by a user\n    Given I am on \"profile\" page for user \"Thomas\"\n    And \"Thomas\" is not a member of project \"WebsiteOne\"\n    Then I should not see \"Contributions\"\n    And I should not see \"WebsiteOne - 316\""
  },
  {
    "path": "features/users/link_github.feature",
    "content": "@vcr\nFeature: Linking and unlinking of GitHub account\n  \"As a registered user\n  So that i can use github as authorization\n  I want ability to link and unlink github as authorization provider\"\n\n  @omniauth\n  Scenario: Link my GitHub profile link to my profile: success\n    Given I am logged in as user with name \"Bob\", email \"current@email.com\", with password \"12345678\"\n    And I have a GitHub profile with username \"tochman\"\n    And I am on my \"Edit Profile\" page\n    When I click \"GitHub\"\n    And my profile should be updated with my GH username\n    When I am on \"profile\" page for user \"me\"\n    Then I should see a link \"tochman\" to \"https://github.com/tochman\"\n\n\n  @omniauth\n  Scenario: Unlink my GitHub profile link from my profile: success\n    Given I am logged in as user with name \"Bob\", email \"current@email.com\", with password \"12345678\"\n    Given I have a GitHub profile with username \"tochman\"\n    And I have authentication enabled with my github username\n    And I am on my \"Edit Profile\" page\n    When I click \"Remove GitHub\"\n    Then I should not have any authentications by my github username\n    And I should not have github_profile_url set in my profile\n    When I am on \"profile\" page for user \"me\"\n    Then I should not see a link \"tochman\" to \"https://github.com/tochman\"\n\n  @omniauth\n  Scenario: Unlink my GitHub profile link from my profile with no backup login strategy: failure\n    Given I am on the \"Sign in\" page\n    When I click \"GitHub\"\n    Then I should see a success flash \"Signed in successfully.\"\n    And I am on my \"Edit Profile\" page\n    When I click \"Remove GitHub\"\n    Then I should see GitHub account unlinking failed message\n"
  },
  {
    "path": "features/users/omniauth.feature",
    "content": "@silence-omniauth, @vcr\nFeature: Connect to social sites\n  \"As a registered user\n  So that I can log in  easily\n  I want to connect my account to other authorization services\"\n  \n  Pivotal tracker story: https://www.pivotaltracker.com/story/show/63047066\n\n  Background:\n    Given I am on the \"Sign in\" page\n\n  @omniauth\n  Scenario: Log in with GitHub account\n    When I click \"with GitHub\"\n    Then I should see \"Signed in successfully.\"\n\n  # @omniauth\n  # Scenario: Log in with Google account\n  #   When I click \"with Google\"\n  #   Then I should see \"Signed in successfully.\"\n\n  # @omniauth-with-invalid-credentials\n  # Scenario: Try to log in with invalid credentials\n  #   When I click \"with Google\"\n  #   Then I should see \"invalid_credentials\"\n  #   And I should be signed out\n\n  # @omniauth-with-invalid-credentials\n  # Scenario: Try to log in with invalid credentials\n  #   When I click \"with GitHub\"\n  #   Then I should see \"invalid_credentials\"\n  #   And I should be signed out\n\n  # @omniauth\n  # Scenario: redirect to the last visited page after login with Google\n  #   Given I exist as a user\n  #   And I visit \"/users/sign_in\"\n  #   And I click \"with Google\"\n  #   And I am not logged in\n  #   And I am on Events index page\n  #   And I visit \"/users/sign_in\"\n  #   When I click \"with Google\"\n  #   Then I should be on the Events \"Index\" page\n\n  @omniauth\n  Scenario: redirect to the last visited page after login with Github\n    Given I exist as a user\n    And I visit \"/users/sign_in\"\n    And I click \"with GitHub\"\n    And I am not logged in\n    And I am on Events index page\n    And I visit \"/users/sign_in\"\n    When I click \"with GitHub\"\n    Then I should be on the Events \"Index\" page\n"
  },
  {
    "path": "features/users/opt_out_mailings.feature",
    "content": "@vcr\nFeature: \"Opt out from mailings\"\n  \"As a site user\n  In order to opt-out of mailings\n  I want to be able to toggle email retrieval settings\"\n\n  Background:\n    Given the following users exist\n      | first_name | last_name | email                  | receive_mailings |\n      | Alice      | Jones     | alice@btinternet.co.uk | false            |\n      | Bob        | Butcher   | bobb112@hotmail.com    | true             |\n\n  Scenario: Receive mailings should be false\n    Given I am logged in as \"Alice\"\n    And I am on my \"Edit Profile\" page\n    Then \"Receive mailings\" should not be checked\n\n  Scenario: Receive mailings should be true by default\n    Given I am logged in as \"Bob\"\n    And I am on my \"Edit Profile\" page\n    Then \"Receive mailings\" should be checked\n\n  @javascript\n  Scenario: A logged in user should be able to toggle mail receival\n    Given I am logged in as \"Bob\"\n    And I am on my \"Edit Profile\" page\n    When I set Receive mailings to be false\n    And I click \"Update\"\n    And I am on my \"Profile\" page\n    And I click \"Edit\"\n    Then \"Receive mailings\" should not be checked"
  },
  {
    "path": "features/users/password_reset.feature",
    "content": "@vcr\nFeature: Password retrieval\n  \"As an existing User\n  So that I can recover a lost password\n  I want to be able to ask that system for a new password\"\n\n  Background:\n    Given the following users exist\n      | first_name | last_name | email                  | github_profile_url         |\n      | Alice      | Jones     | alice@btinternet.co.uk | http://github.com/AliceSky |\n    And the email queue is clear\n    And I am not logged in\n    When I go to the \"Sign In\" page\n    And I click \"Forgot your password?\"\n\n  Scenario: Retrieving password for existing user\n    When I fill in \"user_email\" with \"alice@btinternet.co.uk\"\n    And I click \"Send me reset password instructions\"\n    Then I should see \"You will receive an email with instructions about how to reset your password in a few minutes.\"\n    And I should receive a \"Reset password instructions\" email\n    When I click on the retrieve password link in the last email\n    Then I should be on the \"password reset\" page for \"alice@btinternet.co.uk\"\n    And I fill in \"user_password\" with \"12345678\"\n    And I fill in \"user_password_confirmation\" with \"12345678\"\n    And I click \"Change my password\"\n    Then I should be on the \"getting started\" page\n    And I should see \"Your password was changed successfully. You are now signed in.\"\n\n  Scenario: Retrieve password for a non-existent user\n    When I fill in \"user_email\" with \"non-existent_user@example.com\"\n    And I click \"Send me reset password instructions\"\n    And I should see \"Email is not registered\"\n    And I should not receive an email"
  },
  {
    "path": "features/users/profile.feature",
    "content": "@vcr\nFeature: Profile\n  \"As a user of the site\n  In order to get to know other users\n  I want to be able to view a user profile page with information about the user.\"\n\n  Background:\n    Given I am on the \"home\" page\n    And the following users exist\n      | first_name | last_name | email                  | github_profile_url         | last_sign_in_ip |\n      | Alice      | Jones     | alice@btinternet.co.uk | http://github.com/AliceSky | 127.0.0.1       |\n      | Bob        | Butcher   | bobb112@hotmail.com    |                            |                 |\n    And the following projects exist:\n      | title         | description             | status   |\n      | hello world   | greetings earthlings    | active   |\n      | hello mars    | greetings aliens        | inactive |\n      | hello jupiter | greetings jupiter folks | active   |\n      | hello mercury | greetings mercury folks | inactive |\n      | hello saturn  | greetings saturn folks  | active   |\n      | hello sun     | greetings sun folks     | active   |\n    And I am logged in as user with email \"brett@example.com\", with password \"12345678\"\n    And I am on the \"Our members\" page\n\n  Scenario: Having user profile page\n    When I click on the avatar for \"Alice\"\n    Then I should be on the \"user profile\" page for \"Alice\"\n    And I should see the avatar for \"Alice\" at 250 px\n    And I should see \"Alice Jones\"\n    And I should see \"Sweden\"\n    And I should see \"AliceSky\"\n    And I should see \"Member for\"\n\n  Scenario: Having edit button on the profile page\n    When I click on the avatar for \"brett@example.com\" within the main content\n    Then I should be on the \"user profile\" page for \"brett@example.com\"\n    And I should see button \"Edit\"\n    And I click the \"Edit\" button\n    And I should be on the \"my account\" page\n\n  Scenario: Not seeing an edit button on others profile pages\n    When I click on the avatar for \"Bob\"\n    And I should not see button \"Edit\"\n\n  Scenario: Having a list of followed projects on my profile page\n    Given user \"Bob\" follows projects:\n      | title         | description             | status |\n      | hello world   | greetings earthlings    | active |\n      | hello jupiter | greetings jupiter folks | active |\n    When I click the first instance of \"Bob Butcher\"\n    Then I should be on the \"user profile\" page for \"Bob\"\n    And I should see:\n      | title         |\n      | hello world   |\n      | hello jupiter |\n"
  },
  {
    "path": "features/users/profile_karma.feature",
    "content": "@vcr\nFeature: Showing Karma summary on profile page\n  \"As a member of the community\n  In order to see my status in the community\n  I want to see karma on profile page.\"\n\n  Background:\n    Given the following users exist\n      | first_name | last_name | email               | display_profile |\n      | Alice      | Jones     | alice@jones.com     | false           |\n      | Bob        | Butcher   | bobb112@hotmail.com | true            |\n    And user \"Bob\" have karma:\n      | total | hangouts_attended_with_more_than_one_participant |\n      | 20    | 20                                               |\n\n  Scenario: Having karma count on users profile page\n    Given I am logged in as \"Bob\"\n    And I am on my \"Profile\" page\n    Then the karma summary is \"20\"\n\n  Scenario: Having karma count as zero on users profile page with zero hangouts_attended_with_more_than_one_participant\n    Given I am logged in as \"Alice\"\n    And I am on my \"Profile\" page\n    Then the karma summary is \"0\""
  },
  {
    "path": "features/users/profile_karma_link.feature",
    "content": "Feature: Linking karma on users account page to activity tab\n  \"As a member of the community\n  In order to see my status in the community\n  I want to see karma on my profile page.\"\n\n  Background:\n    And the following users exist\n      | first_name | last_name | email                  | skill_list         | hangouts_attended_with_more_than_one_participant |\n      | Alice      | Jones     | alicejones@hotmail.com | ruby, rails, rspec | 1                                                |\n      | John       | Doe       | john@doe.com           | ruby, rails, rspec | nil                                              |\n    And the following projects exist:\n      | title      | description        | github_url                                  | status | commit_count |\n      | WebsiteTwo | awesome autograder | https://github.com/AgileVentures/WebsiteTwo | active | 1            |\n    And the following commit_counts exist:\n      | project    | user_email             | commit_count |\n      | WebsiteTwo | alicejones@hotmail.com | 500          |\n\n  Scenario: user with hangouts attended with more than one participant\n    Given I am logged in as \"Alice\"\n    And I am on my \"Profile\" page\n    When I click on the karma link\n    Then the Activity tab displays \"Contributions (GitHub) - 500 total commits x 1 - 500\"\n\n  Scenario: user not attended hangouts with more than one participant\n    Given I am logged in as \"John\"\n    And I am on my \"Profile\" page\n    When I click on the karma link\n    Then the Activity tab does not display \"Contributions\""
  },
  {
    "path": "features/users/profile_privacy.feature",
    "content": "@vcr\nFeature: Privacy setting\n  \"As a site user\n  To protect my privacy\n  I want to decide if which part of my profile should be made public\"\n\n  Background:\n    Given the following users exist\n      | first_name  | last_name   | email                   | display_profile |\n      | Alice       | Jones       | alice@btinternet.co.uk  |     false       |\n      | Bob         | Butcher     | bobb112@hotmail.com     |     true        |\n\n  Scenario: User profile should be public by default\n    Given I am not logged in\n    And I am on the \"Our members\" page\n    Then I should not see \"Alice Jones\"\n    And I should see \"Bob Butcher\"\n\n  Scenario: Visitor should not be able to access a private profile\n    Given Feature \"Custom Errors\" is enabled\n    And I am not logged in\n    And I visit Alice's profile page\n    Then I should not see \"Alice Jones\"\n\n  Scenario: Should be able to make my profile private\n    Given I am logged in as \"Bob\"\n    And I am on my \"Edit Profile\" page\n    When I set my profile to be private\n    Then \"Display profile\" should not be checked\n    And I click \"Update\"\n    And I am on the \"Our members\" page\n    Then I should not see \"Bob Butcher\" within the main content\n\n  Scenario: Should be able to make my profile public again\n    Given I am logged in as \"Bob\"\n    And My profile was set to private\n    And I am on my \"Edit Profile\" page\n    Then \"Display profile\" should not be checked\n    When I set my profile to be public\n    And I am on the \"Our members\" page\n    Then I should see \"Bob Butcher\"\n\n  Scenario: Email should be private by default\n    Given I have logged in\n    And I am on my \"Profile\" page\n    Then I should not see my email\n\n  @javascript\n  Scenario: Should be able to make my email public\n    Given I have logged in\n    And I am on my \"Edit Profile\" page\n    And \"Display email\" should not be checked\n    When I set my email to be public\n    And I click \"Update\"\n    And I am on my \"Profile\" page\n    Then I should see my email\n\n  @javascript\n  Scenario: Should be able to make my email private again\n    Given I have logged in\n    And My email was set to public\n    And I am on my \"Edit Profile\" page\n    Then \"Display email\" should be checked\n    When I set my email to be private\n    And I click \"Update\"\n    And I am on my \"Profile\" page\n    Then I should not see my email\n\n  Scenario: Hire Me button should be private by default\n    Given I have logged in\n    And I sign out\n    And I am on my \"Profile\" page\n    Then I should not see button \"Hire me\"\n\n  Scenario: Should be able to make my Hire Me button public\n    Given I have logged in\n    And I am on my \"Edit Profile\" page\n    And \"Display Hire Me\" should not be checked\n    When I set my Hire Me to be public\n    And I click \"Update\"\n    And I sign out\n    And I am on my \"Profile\" page\n    Then I should see button \"Hire me\"\n\n  Scenario: Should be able to make my Hire Me button private again\n    Given I have logged in\n    And My hire me was set to public\n    And I am on my \"Edit Profile\" page\n    Then \"Display Hire Me\" should be checked\n    When I set my Hire Me to be private\n    And I click \"Update\"\n    And I sign out\n    And I am on my \"Profile\" page\n    Then I should not see button \"Hire me\"\n\n  Scenario: Should not be able to see Hire Me button when logged in\n    Given I have logged in\n    And I am on my \"Edit Profile\" page\n    And \"Display Hire Me\" should not be checked\n    When I set my Hire Me to be public\n    And I click \"Update\"\n    Then I should not see button \"Hire me\""
  },
  {
    "path": "features/users/profile_update_credit_card.feature",
    "content": "# @javascript\n# @stripe_javascript\n# Feature: Update credit card from user profile\n#   \"As a premium user\n#   So that I am able to continue accessing/paying for cool premium services\n#   I would like to be able to update my credit card details directly from my profile page when necessary\"\n\n#   Background:\n#     Given the following plans exist\n#       | name    | id      | amount | free_trial_length_days |\n#       | Premium | premium | 1000   | 7                      |\n#     And the following users exist\n#       | first_name | last_name | email          | latitude | longitude | updated_at   |\n#       | Alice      | Jones     | alica@mail.com | 59.33    | 18.06     | 1 minute ago |\n\n#   @stripe_javascript\n#   Scenario: User decides to change card details\n#     Given I am logged in as a premium user with name \"user\", email \"user@mail.com\", with password \"asdf1234\"\n#     When I click on the avatar for \"user\"\n#     Then I should be on the \"user profile\" page for \"user\"\n#     When I click \"Update Card Details\"\n#     And I fill in updated card details for premium for user with email \"user+stripe@gmail.com\"\n#     Then I should see \"Your card details have been successfully updated\"\n\n#   Scenario: Basic user should not see update card details\n#     Given I am logged in as \"Alice\"\n#     When I click on the avatar for \"Alice\"\n#     Then I should be on the \"user profile\" page for \"Alice\"\n#     Then I should not see \"Update Card Details\"\n\n#   Scenario: Premium profile owners can only see update card details on their profiles\n#     Given I am logged in as a premium user with name \"user\", email \"user@mail.com\", with password \"asdf1234\"\n#     And A premium user with name \"Emily Smith\", email \"emily@gmail.com\", with password \"asdf1234\" exists\n#     When I visit the profile page for \"Emily\"\n#     Then I should be on the \"user profile\" page for \"Emily\"\n#     Then I should not see \"Update Card Details\"\n\n#   Scenario: Not logged in user cannot see update card details\n#     Given A premium user with name \"Emily Smith\", email \"emily@gmail.com\", with password \"asdf1234\" exists\n#     When I visit the profile page for \"Emily\"\n#     Then I should not see \"Update Card Details\"\n"
  },
  {
    "path": "features/users/sign_in.feature",
    "content": "@vcr\nFeature: Sign in\n  As an existing User\n  So that I can use the systems all functions\n  I want to be able to login\n\n  Scenario: User is not signed up\n    Given I do not exist as a user\n    When I sign in with valid credentials\n    Then I see an invalid login message\n    And I should be signed out\n\n  Scenario: User signs in successfully\n    Given I exist as a user\n    And I am not logged in\n    When I sign in with valid credentials\n    Then I see a successful sign in message\n    When I return to the site\n    Then I should be signed in\n    And I should not see a sign up link\n\n  Scenario Outline: User enters wrong credentials\n    Given I exist as a user\n    And I am not logged in\n    When I sign in with a wrong <credential>\n    Then I see an invalid login message\n    And I should be signed out\n    Examples:\n      |credential|\n      |password  |\n      |email     |\n\n  Scenario: redirect to the last visited page after login\n    Given I exist as a user\n    And I am logged in\n    And I am not logged in\n    And I am on Events index page\n    When I sign in with valid credentials\n    Then I should be on the Events \"Index\" page\n\n  # @omniauth\n  # Scenario: User is deactivated\n  #   Given I exist as a user signed up via google\n  #   And I am not logged in\n  #   And I have deactivated my account\n  #   And I am on the \"Sign in\" page\n  #   And I click \"Google\"\n  #   Then I see a user deactivated message\n  #   And I should be signed out\n"
  },
  {
    "path": "features/users/sign_off.feature",
    "content": "Feature: Sign off\n  As an existing user\n  So that I can not use or be seen on the site\n  A signed in user\n  Should be able to delete/deactivate their account\n  \n  Scenario: User signs off\n    Given I am logged in\n    When I sign off\n    When I return to the site\n    Then I should be signed out\n    And I should not exist as a user\n"
  },
  {
    "path": "features/users/sign_out.feature",
    "content": "@vcr\nFeature: Sign out\n  To protect my account from unauthorized access\n  A signed in user\n  Should be able to sign out\n\n  Scenario: User signs out\n    Given I have logged in\n    When I sign out\n    Then I should see a signed out message\n    When I return to the site\n    Then I should be signed out\n"
  },
  {
    "path": "features/users/sign_up.feature",
    "content": "#@vcr\nFeature: As a developer\n  In order to be able to use the sites features\n  I want to register as a user\n  https://www.pivotaltracker.com/story/show/63047058\n\n  Background:\n    Given I am not logged in\n    And the following pages exist\n      | title           | body                    |\n      | Getting Started | Remote Pair Programming |\n\n  Scenario: Let a visitor register as a site user\n    Given I am on the \"registration\" page\n    And I submit \"user@example.com\" as username\n    And I submit \"password\" as password\n    And I click \"Sign up\" button\n    Then I should be on the \"getting started\" page\n    And I should see \"Signed up successfully.\"\n    And the page should contain the google adwords conversion code\n    And the user \"user@example.com\" should have karma\n    And I should see a successful sign up message\n    And I should receive a \"Welcome to AgileVentures.org\" email\n    And replies to that email should go to \"matt@agileventures.org\"\n\n Scenario: User signs up successfully with no consent for mailings\n    When I sign up with valid user data\n    Then I should see a successful sign up message\n    And I go to my \"edit profile\" page\n    Then \"receive mailings\" should not be checked\n\nScenario: User signs up successfully giving consent for mailings\n    When I sign up with valid user data giving consent\n    Then I should see a successful sign up message\n    And I go to my \"edit profile\" page\n    Then \"receive mailings\" should be checked\n\n  Scenario: User signs up with invalid email\n    When I sign up with an invalid email\n    Then I should see an invalid email message\n\n  Scenario: User signs up without password\n    When I sign up without a password\n    Then I should see a missing password message\n\n  Scenario: User signs up without password confirmation\n    When I sign up without a password confirmation\n    Then I should see a missing password confirmation message\n\n  Scenario: User signs up with mismatched password and confirmation\n    When I sign up with a mismatched password confirmation\n    Then I should see a mismatched password message\n\n  @omniauth\n  Scenario: User signs up with a GitHub account\n    Given I am on the \"registration\" page\n    When I click \"GitHub\"\n    Then I should see \"Signed in successfully.\"\n    And I should see \"Signed up successfully.\"\n    And the page should contain the google adwords conversion code\n    And I should be on the \"getting started\" page\n\n  # @omniauth\n  # Scenario: User signs up with a Google account\n  #   Given I am on the \"registration\" page\n  #   When I click \"Google\"\n  #   Then I should see \"Signed in successfully.\"\n  #   And the page should contain the google adwords conversion code\n  #   And I should be on the \"getting started\" page\n\n  @omniauth-without-email\n  Scenario: User signs up with a GitHub account having no public email (sad path)\n    Given I am on the \"registration\" page\n    When I sign up with GitHub\n    Then I should see link for instructions to sign up\n\n  # @omniauth-without-email\n  # Scenario: User signs up with a Google account having no public email (sad path)\n  #   Given I am on the \"registration\" page\n  #   When I click \"Google\"\n  #   Then I should see the \"google\" icon\n  #   Then I should see \"Your Gplus account needs to have a public email address for sign up\"\n  #   And I should not see \"Password can't be blank\"\n    \n  # @omniauth\n  # Scenario: User is deactivated and tries to sign up again with google\n  #   Given I exist as a user signed up via google\n  #   And I am not logged in\n  #   And I have deactivated my account\n  #   And I am on the \"registration\" page\n  #   And I click \"Google\"\n  #   Then I see a user deactivated message\n  #   And I should be signed out\n  \n  # @omniauth\n  # Scenario: User is deactivated and tries to sign up again with email\n  #   Given I exist as a user signed up via google\n  #   And I am not logged in\n  #   And I have deactivated my account\n  #   And I am on the \"registration\" page\n  #   And I submit \"mock@email.com\" as username\n  #   And I submit \"password\" as password\n  #   And I click \"Sign up\" button\n  #   Then I see a user deactivated message\n  #   And I should be signed out\n"
  },
  {
    "path": "features/users/skills.feature",
    "content": "@vcr\nFeature: As a site user\n  In order to find a user with a relevant skill\n  I would like to see a users self assessed skills set\n\n  Background:\n    Given I am on the \"home\" page\n    And the following users exist\n      | first_name | last_name | email                  | skill_list         |\n      | Alice      | Jones     | alicejones@hotmail.com | ruby, rails, rspec |\n      | Bob        | Butcher   | bobb112@hotmail.com    | ruby, c++          |\n    And I am logged in as user with name \"Thomas\", email \"brett@example.com\", with password \"12345678\"\n\n  Scenario: Viewing skills\n    Given I am on \"profile\" page for user \"Alice\"\n    And I should see a \"About\" tab set to active\n    And when I click \"Skills\"\n    Then I should see:\n      | title |\n      | ruby  |\n      | rails |\n      | rspec |\n\n  # @javascript\n  # Scenario: Adding skills to profile\n  #   Given I have skills \"c++, java, php\"\n  #   And I am on my \"profile\" page\n  #   And I should see a \"About\" tab set to active\n  #   And when I click \"Skills\"\n  #   Then I should see:\n  #     | title |\n  #     | c++   |\n  #     | java  |\n  #     | php   |\n  #   Given I click \"Edit\"\n  #   And I add a new skill: \"cucumber\"\n  #   And I click \"Update\" button\n  #   Then I should be on my \"profile\" page\n  #   And when I click \"Skills\"\n  #   Then I should see:\n  #     | title    |\n  #     | c++      |\n  #     | java     |\n  #     | php      |\n  #     | cucumber |\n"
  },
  {
    "path": "features/users/titles.feature",
    "content": "@vcr\nFeature: list users by title\n  As a prospective or current premiumplus member\n  So that I can understand who are the AV mentors and what are their backgrounds\n  As well as what other AV members have premium membership\n  I would like to see a list of AV mentors and premium members\n\n  Background:\n    And the following users exist\n      | first_name | last_name | email                  | title_list      |\n      | Alice      | Jones     | alicejones@hotmail.com | Mentor          |\n      | Bob        | Butcher   | bobb112@hotmail.com    | Premium         |\n      | John       | Jenkins   | john@hotmail.com       | Premium, Plus   |\n\n  Scenario: see mentors\n    Given I am on the mentors page\n    Then I should see \"Alice Jones\"\n    And I should not see \"Bob Butcher\"\n    And I should see \"Mentors Directory\"\n    And I should see \"Check out our 1 awesome mentor from all over the globe\"\n\n  Scenario: see premium and premium plus members\n    Given I am on the premiums page\n    Then I should see \"Bob Butcher\"\n    And I should see \"John Jenkins\"\n    And I should not see \"Alice Jones\"\n    And I should see \"Premium Members Directory\"\n    And I should see \"Check out our 2 awesome premium members from all over the globe\""
  },
  {
    "path": "features/users/user_bio.feature",
    "content": "@vcr\nFeature: User bio\n  As a site user\n  In order to get to know other users better\n  I would like to see a short bio of a user on their profile page\n\n  Background:\n    Given the following users exist\n      | first_name | last_name | email                   | bio                                        |\n      | Alice      | Jones     | alicejones@hotmail.com  | Lives on a farm with many sheep and goats. |\n      | Bob        | Butcher   | bobb112@hotmail.com     |                                            |\n\n  Scenario: View user's bio details\n    When I visit Alice's profile page\n    Then I should see \"Lives on a farm with many sheep and goats.\"\n\n  @javascript\n  Scenario: Add bio content to profile\n    Given I have logged in\n    And I am on \"profile\" page for user \"me\"\n    And I click the \"Edit\" button\n    And I fill in \"Bio\" with \"Lives on a farm with many sheep and goats\"\n    And I click \"Update\"\n    Then I should see \"Lives on a farm with many sheep and goats\"\n"
  },
  {
    "path": "features/users/user_list.feature",
    "content": "@javascript @vcr\nFeature: List Users\n  As a site owner\n  So I can make collaboration among registered users easier\n  I would like to display a index of users with links to user profiles\n  And allow users to search for other users using a variety of criterias\n\n  Background:\n    Given I am on the \"home\" page\n    And the following projects exist:\n      | title         | description             | status   |\n      | hello world   | greetings earthlings    | active   |\n      | hello mars    | greetings aliens        | inactive |\n      | hello jupiter | greetings jupiter folks | active   |\n      | hello mercury | greetings mercury folks | inactive |\n      | hello saturn  | greetings saturn folks  | active   |\n      | hello sun     | greetings sun folks     | active   |\n    And there are no videos\n    And the following active users exist\n      | first_name | last_name | email                   | projects     | latitude | longitude | updated_at    |\n      | Alice      | Jones     | alice@btinternet.co.uk  | hello world  | 59.33    | 18.06     | 1 minute ago  |\n      | Bob        | Butcher   | bobb112@hotmail.com     | hello world  | 59.33    | 18.06     | 5 minutes ago |\n      |            | Croutch   | c.croutch@enterprise.us | hello saturn | -29.15   | 27.74     | 1 hour ago    |\n      | Dave       |           | dave@dixons.me          | hello sun    | 22.57    | 88.36     | 3 days ago    |\n    And I am logged in as \"Tester\"\n\n  Scenario: Having All Users page\n    When I click \"Members\" within the navbar\n    Then I should be on the \"our members\" page\n    And I should see:\n      | Tester Person |\n      | Alice Jones   |\n      | Bob Butcher   |\n      | Croutch       |\n      | Dave          |\n    And I should see \"5\" user avatars within the main content\n    And I should see \"Check out our 5 awesome volunteers from all over the globe!\"\n\n  Scenario: Project dropdown on users page has only active projects\n    When I click \"Members\" within the navbar\n    Then I should be on the \"our members\" page\n    And the dropdown with id \"project_filter\" should only have active projects\n\n  Scenario: Paginate the User list\n    Given there are an extra 15 users\n    And I am on the members page\n    Then I should see \"15\" user avatars within the main content\n    And I should see \"Check out our 20 awesome volunteers from all over the globe!\"\n    When I scroll to the bottom of the page\n    And I should see \"20\" user avatars within the main content\n\n  Scenario: Filtering by project involvement\n    Given I am on the \"our members\" page\n    When I filter \"projects\" for \"hello world\"\n    Then I should see:\n      | Alice |\n      | Bob   |\n    And I should not see:\n      | Croutch |\n      | Dave    |\n\n  Scenario: Find users who have been online recently\n    Given I am on the \"our members\" page\n    When I check \"online\"\n    When I click the \"Search\" button\n    Then I should see:\n      | Alice |\n      | Bob   |\n    And I should not see:\n      | Croutch |\n      | Dave    |\n"
  },
  {
    "path": "features/users/user_management.feature",
    "content": "@vcr\nFeature: Create and maintain projects\n  In order to manage my account settings\n  As I user I would like to have a \"My account\" page\n  And I would like to be able to edit change my credentials\n\n  Background:\n    Given I am logged in as user with name \"Bob\", email \"current@email.com\", with password \"12345678\"\n    And I am on the \"home\" page\n\n  Scenario: Having My account page\n    Given I am on my \"Edit Profile\" page\n    Then I should see \"Account details\"\n    And I should see a form \"Account details\" with:\n      | Field                 |                     |\n      | First name            |                     |\n      | Last name             |                     |\n      | Email                 | current@email.com   |\n\n  @javascript\n  Scenario: Editing details: successful\n    Given I am on my \"Edit Profile\" page\n    And I fill in \"Account details\":\n      | Field                 | Text      |\n      | First name            | John      |\n      | Last name             | Doe       |\n      | Email                 | a@a.com   |\n    When I click the \"Update\" button\n    Then I should be on the \"user profile\" page for \"John\"\n    And I should see \"You updated your account successfully.\"\n\n  @javascript\n  Scenario: Editing details: successful\n    Given I am on my \"Edit Profile\" page\n    And I fill in \"Account details\":\n      | Field                 | Text      |\n      | First name            | John      |\n      | Last name             | Doe       |\n      | Email                 |           |\n    When I click the \"Update\" button\n    Then I should see \"Email can't be blank\"\n\n  Scenario: Deleting my profile\n    Given the following projects exist:\n      | title       | description          | status   | author |\n      | hello world | greetings earthlings | active   | Bob    |\n    And the following documents exist:\n      | title         | body             | project     |\n      | Documentation | My documentation | hello world |\n    When I delete my profile\n    And I am on the \"Show\" page for project \"hello world\"\n    Then I should see \"by Anonymous\"\n\n"
  },
  {
    "path": "features/users/user_videos.feature",
    "content": "@vcr\nFeature: As a site user\n  In order to know the videos started by a member\n  I would like to see these videos at the member profile\n\n  Background:\n    Given I have logged in\n    And the following projects exist:\n      | title       | description          | status   | tags            |\n      | hello world | greetings earthlings | active   | WSO, WebsiteOne |\n      | hello mars  | greetings aliens     | inactive | Autograders     |\n    And I am a member of project \"hello world\"\n    And I am a member of project \"hello mars\"\n\n  Scenario: Show 'no videos' message if there no videos\n    Given I go to my \"profile\" page\n    Then I should not see a list of my videos\n    And I should see \"has no publicly viewable Youtube videos\"\n\n  Scenario: show first video's description in the player's heading\n    Given I have some videos on project \"hello world\"\n    And my YouTube channel is connected\n    When I go to my \"profile\" page\n    Then I should see \"PP on hello world - feature: 2\" in \"video description\"\n\n  Scenario: show videos sorted by descending published date\n    Given I have some videos on project \"hello world\"\n    And my YouTube channel is connected\n    When I go to my \"profile\" page\n    Then I should see \"PP on hello world - feature: 2\" before \"PP on hello world - feature: 1\"\n\n  Scenario: show embedded youtube player with the first video\n    Given I have some videos on project \"hello world\"\n    And my YouTube channel is connected\n    When I go to my \"profile\" page\n    And I should see video \"PP on hello world - feature: 2\" in \"player\"\n\n  # @javascript\n  # Scenario: Selecting videos from the list\n  #   Given I have some videos on project \"hello world\"\n  #   And my YouTube channel is connected\n  #   And I am on my \"profile\" page\n  #   When I click \"PP on hello world - feature: 1\"\n  #   Then I should see \"PP on hello world - feature: 1\" in \"video description\"\n  #   And I should see video \"PP on hello world - feature: 1\" in \"player\"\n"
  },
  {
    "path": "fixtures/.keep",
    "content": ""
  },
  {
    "path": "fixtures/articles.yml.new",
    "content": "---\narticles_001:\n  id: '1'\n  user_id: '5'\n  title: tenetur aut vel\n  content: Perspiciatis dolor ad vel labore. Modi harum id cupiditate accusamus eius\n    voluptate ullam. Quos ut magnam. Ipsum sit fugiat repellendus qui id ipsa.\\nLibero\n    optio soluta ad praesentium sunt sit. Ea nemo pariatur a nisi sed eos. Voluptas\n    dicta quia illum corporis qui possimus. Hic ab animi.\\nVoluptatem facilis adipisci\n    fuga eos. Repellat perferendis consequuntur quo. Reprehenderit tempore numquam\n    sunt. Ut qui ipsum et esse excepturi.\n  slug: tenetur-aut-vel\n  created_at: '2014-03-01 13:35:00.46488'\n  updated_at: '2014-03-01 13:35:00.46488'\narticles_002:\n  id: '2'\n  user_id: '2'\n  title: et iste perferendis\n  content: Libero ut consequatur et expedita autem et. Nam eum eum dolores reiciendis.\n    Tempore non reiciendis accusamus pariatur deserunt. Exercitationem enim quis repellat\n    vel nisi et.\\nDolorem a eum ea omnis sapiente et occaecati. Doloribus dignissimos\n    eum ut perferendis omnis. Mollitia at vel officiis error beatae commodi. Cumque\n    mollitia perferendis rerum accusantium labore neque.\\nId ex consequatur porro.\n    Et aliquid dolorem hic iste architecto. Pariatur nihil suscipit quia veniam saepe.\n    Molestias veritatis nihil quia iusto.\n  slug: et-iste-perferendis\n  created_at: '2014-03-01 13:35:00.494463'\n  updated_at: '2014-03-01 13:35:00.494463'\narticles_003:\n  id: '3'\n  user_id: '1'\n  title: quod corrupti eos\n  content: Et molestias earum. Asperiores eos placeat non beatae consectetur necessitatibus\n    eum. Repellat ipsam dignissimos blanditiis sed ut aut. Sunt ratione non omnis\n    nostrum dolor voluptatum sed. Sunt eos et rem harum ut veniam blanditiis.\\nBlanditiis\n    quo sunt vel ducimus. Et sapiente dicta esse sunt. Eum quis asperiores dolorem\n    placeat. Magnam eligendi est sit.\\nEarum amet iure sit. Laborum vel aut dicta\n    debitis sed. Debitis architecto ut ut nostrum placeat ut. Occaecati autem culpa\n    quibusdam temporibus eum dignissimos. Aut beatae occaecati perspiciatis ut et\n    aspernatur.\n  slug: quod-corrupti-eos\n  created_at: '2014-03-01 13:35:00.501019'\n  updated_at: '2014-03-01 13:35:00.501019'\narticles_004:\n  id: '4'\n  user_id: '4'\n  title: ut iusto asperiores\n  content: Modi voluptates cupiditate. Impedit quis ex nobis occaecati nam illum pariatur.\n    Repellendus voluptates unde. Voluptatem minus velit. Voluptatem quod earum.\\nBlanditiis\n    laborum eos consequatur. Officia maiores repellat quia dolores. Est eius tempora\n    ut qui laborum omnis. Excepturi nam placeat corrupti. Cupiditate non quos quam\n    quia possimus cum.\\nIpsum odio modi sed tempore et id iure. Quae perferendis necessitatibus\n    consequatur perspiciatis autem illo. Nisi officia laboriosam. Deleniti eligendi\n    perferendis aut.\n  slug: ut-iusto-asperiores\n  created_at: '2014-03-01 13:35:00.508111'\n  updated_at: '2014-03-01 13:35:00.508111'\narticles_005:\n  id: '5'\n  user_id: '6'\n  title: dolor quo fugiat\n  content: Ipsam dolore eaque eos architecto aut sit. Omnis dolorem quae sunt eius.\n    Quidem in et temporibus ut et. Enim ab laudantium. Ipsa dolores expedita corrupti\n    et consequuntur at qui.\\nFacilis nihil porro molestiae doloremque voluptatum sed.\n    Quae ut totam minima. Eum laborum tempora molestiae consequuntur minima. Minus\n    ratione saepe velit tempora soluta. Dolorum enim consequatur ut voluptas cumque.\\nNobis\n    nihil officiis distinctio dicta odio. Magni quia atque. Alias cum quam. Eos repellendus\n    esse atque rem ea vero suscipit. Qui dolores sed facilis ut ratione.\n  slug: dolor-quo-fugiat\n  created_at: '2014-03-01 13:35:00.516266'\n  updated_at: '2014-03-01 13:35:00.516266'\narticles_006:\n  id: '6'\n  user_id: '1'\n  title: labore qui qui\n  content: Necessitatibus vel officia eligendi velit explicabo iste. Non unde aspernatur\n    ipsam nam nesciunt ut inventore. Laborum sit repudiandae ut rem exercitationem.\n    Perspiciatis doloribus veritatis nobis. Excepturi nesciunt blanditiis est nobis\n    itaque.\\nUt architecto odit eum cum sit aperiam. Exercitationem pariatur vero\n    deleniti assumenda eius ipsa harum. Fuga nulla quia ut provident minus. Non culpa\n    commodi natus aut inventore quibusdam. Consequuntur sequi officia quia.\\nDeserunt\n    saepe pariatur. Eum harum dignissimos sit qui. Et sed reiciendis blanditiis nam.\n    Nulla esse eaque consequuntur.\n  slug: labore-qui-qui\n  created_at: '2014-03-01 13:35:00.522612'\n  updated_at: '2014-03-01 13:35:00.522612'\narticles_007:\n  id: '7'\n  user_id: '3'\n  title: voluptatem nihil delectus\n  content: Ea architecto nisi placeat et totam et. Adipisci error minus officia aut\n    fugiat. Rerum distinctio suscipit. Esse modi tempora necessitatibus occaecati\n    deserunt blanditiis.\\nEos sequi ratione ut autem. Id error voluptatem repudiandae\n    saepe maiores minima adipisci. Voluptatem voluptas sint vitae suscipit saepe eveniet\n    molestiae. Quam eaque voluptas enim odio ut.\\nFugiat omnis rem dolor quo sit commodi.\n    Dolorem autem consequatur. Similique dolores rerum aspernatur iste possimus suscipit\n    minima. Magnam sit facilis eum in aliquid eum qui. Minima ipsam illum nihil dolore\n    voluptas illo expedita.\n  slug: voluptatem-nihil-delectus\n  created_at: '2014-03-01 13:35:00.530616'\n  updated_at: '2014-03-01 13:35:00.530616'\narticles_008:\n  id: '8'\n  user_id: '1'\n  title: sit illo exercitationem\n  content: Dignissimos molestiae reprehenderit voluptatem voluptas aspernatur aut.\n    Praesentium accusamus laborum. Fugit nam architecto id ullam.\\nFuga ut qui ex\n    perferendis sed nostrum. Eum nobis dolor nostrum. Quaerat officia sed.\\nEarum\n    doloremque cumque molestiae officiis vel sapiente amet. Et at nesciunt maxime\n    voluptatem in aspernatur. Sunt porro beatae ullam vitae et. Itaque alias et quo\n    molestiae. Suscipit laborum nulla aliquam vitae excepturi ea provident.\n  slug: sit-illo-exercitationem\n  created_at: '2014-03-01 13:35:00.536478'\n  updated_at: '2014-03-01 13:35:00.536478'\narticles_009:\n  id: '9'\n  user_id: '6'\n  title: fuga architecto sed\n  content: Quasi voluptatem nemo doloremque molestiae eligendi. Iste at qui dolorum.\n    Iusto et pariatur magnam totam accusamus. Rerum qui architecto sit.\\nSunt rerum\n    eum. Eius perspiciatis reiciendis architecto laudantium accusantium. Nihil qui\n    nam voluptatem suscipit reprehenderit.\\nAnimi autem voluptas. Cumque fugit harum\n    sapiente placeat illum. Qui amet nihil minus natus vero. Modi esse quasi voluptatibus\n    quam culpa. Et totam in quia.\n  slug: fuga-architecto-sed\n  created_at: '2014-03-01 13:35:00.54234'\n  updated_at: '2014-03-01 13:35:00.54234'\narticles_010:\n  id: '10'\n  user_id: '1'\n  title: qui quae corrupti\n  content: Natus alias debitis reiciendis. Velit vero autem. Est eum accusantium est\n    nisi doloremque eum facere. Et quidem dolore magni quia sunt.\\nId non cumque.\n    Cupiditate itaque ipsa voluptatum dolorem mollitia delectus. Ipsam dicta ratione.\n    Vitae architecto officia quia sed modi ipsa voluptatem. Et in aut esse consectetur\n    ut libero.\\nConsequatur inventore sit totam et et. Voluptas quia in dignissimos.\n    Qui et exercitationem.\n  slug: qui-quae-corrupti\n  created_at: '2014-03-01 13:35:00.550577'\n  updated_at: '2014-03-01 13:35:00.550577'\narticles_011:\n  id: '11'\n  user_id: '4'\n  title: eos qui architecto\n  content: Facilis fuga provident tempora qui nobis nulla commodi. Dolorem iste in\n    architecto dignissimos veritatis tempora eum. Sunt itaque delectus quaerat voluptatum\n    modi porro perferendis. Est et sit eum ipsa beatae earum.\\nNon non nam similique\n    commodi vel eos accusamus. Eligendi possimus et sed sunt. Libero consequatur explicabo.\n    Assumenda facilis sunt molestiae quidem earum voluptatem aliquam. Perspiciatis\n    voluptatem esse ullam ipsum.\\nAt voluptatibus ipsum saepe pariatur et est. Fuga\n    voluptatum libero. Deserunt consequatur tempora. Quam soluta blanditiis cum ut.\n  slug: eos-qui-architecto\n  created_at: '2014-03-01 13:35:00.557723'\n  updated_at: '2014-03-01 13:35:00.557723'\narticles_012:\n  id: '12'\n  user_id: '3'\n  title: aut aliquid et\n  content: Cum ad et delectus itaque illo voluptate. Molestiae qui rerum velit. Nisi\n    perferendis doloremque eius. Est dolor minus sunt et.\\nArchitecto est saepe alias\n    et aut. Dolores dolor eaque. Similique laborum aperiam aliquid fuga pariatur occaecati\n    quod. Blanditiis nihil repellendus quidem voluptatem. Sunt voluptatem voluptatibus.\\nEt\n    aut minus. Consequuntur sit error nam. Aspernatur fugit aut harum expedita quia\n    ipsam quod. Esse eum recusandae odit ab iste. Qui libero voluptate facilis quis\n    et.\n  slug: aut-aliquid-et\n  created_at: '2014-03-01 13:35:00.565802'\n  updated_at: '2014-03-01 13:35:00.565802'\n"
  },
  {
    "path": "fixtures/authentications.yml.new",
    "content": "--- {}\n"
  },
  {
    "path": "fixtures/documents.yml.new",
    "content": "---\ndocuments_001:\n  id: '1'\n  title: accusamus sint animi\n  content: Reprehenderit dolores repudiandae voluptas ullam eos magnam rem. Quidem accusamus\n    iusto maiores quasi. Adipisci enim eum qui. Sit voluptatum aut quos voluptatem\n    distinctio voluptatem animi. A voluptatibus iusto mollitia sapiente quidem architecto.\n  project_id: '7'\n  created_at: '2014-02-01 13:34:59.523139'\n  updated_at: '2014-03-01 13:34:59.535776'\n  parent_id: \n  user_id: '1'\n  slug: accusamus-sint-animi\ndocuments_002:\n  id: '2'\n  title: eos et quae\n  content: Deserunt optio autem ut architecto at. Enim pariatur quae. Nobis delectus\n    doloribus et esse eveniet architecto quasi. Porro et recusandae et reprehenderit\n    autem iure minus.\n  project_id: '7'\n  created_at: '2014-02-01 13:34:59.581688'\n  updated_at: '2014-03-01 13:34:59.614032'\n  parent_id: '1'\n  user_id: '1'\n  slug: eos-et-quae\ndocuments_003:\n  id: '3'\n  title: maxime eius soluta\n  content: Omnis perspiciatis minus sed ullam labore. Ab veritatis culpa eveniet suscipit\n    et aut et. Vero sed temporibus. Consequatur sunt reprehenderit eum et sed praesentium.\n  project_id: '7'\n  created_at: '2014-02-01 13:34:59.6192'\n  updated_at: '2014-03-01 13:34:59.62219'\n  parent_id: \n  user_id: '1'\n  slug: maxime-eius-soluta\ndocuments_004:\n  id: '4'\n  title: dolores voluptatem sint\n  content: Ratione deserunt ea nostrum asperiores modi quo iste. Distinctio ut voluptas\n    aut cumque incidunt. Quisquam consequatur est blanditiis omnis.\n  project_id: '7'\n  created_at: '2014-02-01 13:34:59.62728'\n  updated_at: '2014-03-01 13:34:59.630709'\n  parent_id: \n  user_id: '1'\n  slug: dolores-voluptatem-sint\ndocuments_005:\n  id: '5'\n  title: accusantium expedita ab\n  content: Cum quia est rerum omnis. Sit dolor quia quia hic cumque dolorem incidunt.\n    Libero ducimus error vel quis reprehenderit explicabo et. Nostrum sed id neque\n    vel.\n  project_id: '7'\n  created_at: '2014-02-01 13:34:59.635888'\n  updated_at: '2014-03-01 13:34:59.638857'\n  parent_id: '4'\n  user_id: '1'\n  slug: accusantium-expedita-ab\ndocuments_006:\n  id: '6'\n  title: dolore aspernatur aut\n  content: Tempore optio adipisci aut ipsa. Non cupiditate iste. Hic commodi soluta qui\n    qui deserunt doloribus. Et sapiente ut quod quia accusamus.\n  project_id: '7'\n  created_at: '2014-02-01 13:34:59.643415'\n  updated_at: '2014-03-01 13:34:59.646135'\n  parent_id: '4'\n  user_id: '1'\n  slug: dolore-aspernatur-aut\ndocuments_007:\n  id: '7'\n  title: fuga et tenetur\n  content: Esse aperiam voluptatem quia repellat dolores eaque. Consequatur nostrum voluptatum\n    quis. Similique maxime unde qui. Enim ea officia. Molestiae quia id repudiandae\n    qui consequatur impedit rerum.\n  project_id: '8'\n  created_at: '2014-02-01 13:34:59.656958'\n  updated_at: '2014-03-01 13:34:59.659692'\n  parent_id: \n  user_id: '1'\n  slug: fuga-et-tenetur\ndocuments_008:\n  id: '8'\n  title: dolor necessitatibus et\n  content: Voluptatem qui quidem dicta id deleniti. Ipsum sed id eius laudantium. Est\n    consectetur sunt voluptates. Minima unde tenetur numquam cumque consequuntur quidem.\n  project_id: '8'\n  created_at: '2014-02-01 13:34:59.664883'\n  updated_at: '2014-03-01 13:34:59.668034'\n  parent_id: '7'\n  user_id: '1'\n  slug: dolor-necessitatibus-et\ndocuments_009:\n  id: '9'\n  title: ratione voluptas eum\n  content: Ut beatae eum velit sit consectetur. Et quia nisi itaque corporis a enim qui.\n    Cumque aut aspernatur culpa dolorem fugiat ad. Dignissimos voluptatem occaecati\n    quam repudiandae. Delectus dolor voluptatem eum laudantium cumque ad autem.\n  project_id: '8'\n  created_at: '2014-02-01 13:34:59.672864'\n  updated_at: '2014-03-01 13:34:59.675944'\n  parent_id: '7'\n  user_id: '1'\n  slug: ratione-voluptas-eum\ndocuments_010:\n  id: '10'\n  title: ipsam adipisci magnam\n  content: Est eligendi aut nesciunt beatae quia. Doloremque laboriosam ut reprehenderit\n    esse. Aperiam officiis ullam temporibus neque quis. Autem laudantium eum nam.\n  project_id: '8'\n  created_at: '2014-02-01 13:34:59.680621'\n  updated_at: '2014-03-01 13:34:59.683504'\n  parent_id: \n  user_id: '1'\n  slug: ipsam-adipisci-magnam\ndocuments_011:\n  id: '11'\n  title: porro saepe facere\n  content: Omnis voluptatem maxime in possimus. Deleniti eligendi dignissimos et enim\n    vel facilis. Magnam similique dolor sunt qui consequuntur. Velit velit est non\n    magni.\n  project_id: '8'\n  created_at: '2014-02-01 13:34:59.688395'\n  updated_at: '2014-03-01 13:34:59.691381'\n  parent_id: '10'\n  user_id: '1'\n  slug: porro-saepe-facere\ndocuments_012:\n  id: '12'\n  title: est tenetur ratione\n  content: Architecto quas totam. Vel qui quisquam amet dolorum a. Tempore vitae ab excepturi\n    voluptatem quos atque harum.\n  project_id: '8'\n  created_at: '2014-02-01 13:34:59.695617'\n  updated_at: '2014-03-01 13:34:59.698581'\n  parent_id: \n  user_id: '1'\n  slug: est-tenetur-ratione\ndocuments_013:\n  id: '13'\n  title: in doloremque similique\n  content: Sed architecto molestiae eos quibusdam. Ut mollitia et delectus non eum fugit.\n    Praesentium nihil nesciunt dolor. Eum consequatur explicabo voluptas. Impedit\n    laborum non ipsum quia.\n  project_id: '8'\n  created_at: '2014-02-01 13:34:59.704403'\n  updated_at: '2014-03-01 13:34:59.707701'\n  parent_id: '12'\n  user_id: '1'\n  slug: in-doloremque-similique\ndocuments_014:\n  id: '14'\n  title: consequatur in unde\n  content: Quia ea occaecati quam sapiente illo non voluptatem. Quaerat in quibusdam\n    doloremque sed omnis id autem. Illo aut praesentium rerum exercitationem sapiente\n    quibusdam.\n  project_id: '9'\n  created_at: '2014-02-01 13:34:59.718877'\n  updated_at: '2014-03-01 13:34:59.721804'\n  parent_id: \n  user_id: '1'\n  slug: consequatur-in-unde\ndocuments_015:\n  id: '15'\n  title: repudiandae recusandae aut\n  content: Ratione dicta et id qui. Culpa rerum autem laudantium praesentium facere repellendus.\n    Id sunt vel eligendi eum ad.\n  project_id: '9'\n  created_at: '2014-02-01 13:34:59.727073'\n  updated_at: '2014-03-01 13:34:59.730214'\n  parent_id: '14'\n  user_id: '1'\n  slug: repudiandae-recusandae-aut\ndocuments_016:\n  id: '16'\n  title: quas dolores numquam\n  content: Ducimus dolore iste fuga rerum. Quos ullam optio suscipit qui sapiente velit.\n    Explicabo molestiae id velit.\n  project_id: '9'\n  created_at: '2014-02-01 13:34:59.734729'\n  updated_at: '2014-03-01 13:34:59.737677'\n  parent_id: '14'\n  user_id: '1'\n  slug: quas-dolores-numquam\ndocuments_017:\n  id: '17'\n  title: pariatur quia similique\n  content: Amet nisi perspiciatis sed omnis. Architecto et rerum accusamus. Et et qui\n    ut. A omnis veritatis voluptatum similique nostrum illum corrupti. Consequatur\n    maxime qui atque.\n  project_id: '9'\n  created_at: '2014-02-01 13:34:59.74225'\n  updated_at: '2014-03-01 13:34:59.745104'\n  parent_id: \n  user_id: '1'\n  slug: pariatur-quia-similique\ndocuments_018:\n  id: '18'\n  title: voluptate qui ratione\n  content: Qui optio architecto sunt iusto alias reprehenderit. Esse veritatis expedita\n    facilis corrupti sunt exercitationem ratione. Adipisci vel harum ut at laudantium\n    dolores.\n  project_id: '9'\n  created_at: '2014-02-01 13:34:59.750425'\n  updated_at: '2014-03-01 13:34:59.754267'\n  parent_id: '17'\n  user_id: '1'\n  slug: voluptate-qui-ratione\ndocuments_019:\n  id: '19'\n  title: consequatur nam sequi\n  content: Sit aliquam voluptas. Blanditiis perferendis error quo temporibus excepturi\n    autem. Velit ut quo perspiciatis. Nemo aut fugit facilis.\n  project_id: '9'\n  created_at: '2014-02-01 13:34:59.759687'\n  updated_at: '2014-03-01 13:34:59.763257'\n  parent_id: \n  user_id: '1'\n  slug: consequatur-nam-sequi\ndocuments_020:\n  id: '20'\n  title: vel quo qui\n  content: Sint alias dolore suscipit. Aperiam similique et dolorem aut. Facere rem ipsum\n    enim dicta eos voluptates amet.\n  project_id: '9'\n  created_at: '2014-02-01 13:34:59.769369'\n  updated_at: '2014-03-01 13:34:59.772838'\n  parent_id: '19'\n  user_id: '1'\n  slug: vel-quo-qui\ndocuments_021:\n  id: '21'\n  title: iusto enim animi\n  content: Incidunt impedit nihil culpa qui voluptate repellat. Et architecto nemo aut\n    eveniet dolor dolorem dolores. Quia et similique pariatur ratione cupiditate distinctio.\n    Corporis ratione fugit quisquam. Aperiam laboriosam nisi ipsa facere tenetur officiis\n    consectetur.\n  project_id: '9'\n  created_at: '2014-02-01 13:34:59.777989'\n  updated_at: '2014-03-01 13:34:59.78136'\n  parent_id: '19'\n  user_id: '1'\n  slug: iusto-enim-animi\n"
  },
  {
    "path": "fixtures/events.yml.new",
    "content": "---\nevents_001:\n  id: '2'\n  name: AtlanticScrum\n  description: \"Atlantic scrum for coordinating any/all Agile Venture projects http://agileventures.org\n    and also for people to find pairing partners\\uFEFF\"\n  is_all_day: f\n  from_date: '2014-03-03'\n  from_time: '15:15:00'\n  to_date: '2014-03-03'\n  to_time: '15:40:00'\n  repeats: weekly\n  repeats_every_n_weeks: '1'\n  repeats_weekly_each_days_of_the_week_mask: '6'\n  repeat_ends: 'on'\n  repeat_ends_on: '2014-03-31'\n  time_zone: London\n  category: Scrum\n  created_at: '2014-03-01 13:38:35.84812'\n  updated_at: '2014-03-02 14:06:37.495427'\nevents_002:\n  id: '3'\n  name: EuroAsia Scrum\n  description: \"EuroAsia scrum for coordinating any/all Agile Venture projects http://agileventures.org\n    and also for people to find pairing partners\\uFEFF. \"\n  is_all_day: f\n  from_date: '2014-03-03'\n  from_time: '07:00:00'\n  to_date: '2014-03-03'\n  to_time: '07:25:00'\n  repeats: weekly\n  repeats_every_n_weeks: '1'\n  repeats_weekly_each_days_of_the_week_mask: '15'\n  repeat_ends: 'on'\n  repeat_ends_on: '2014-03-31'\n  time_zone: London\n  category: Scrum\n  created_at: '2014-03-01 13:40:52.918364'\n  updated_at: '2014-03-02 14:04:13.853189'\nevents_003:\n  id: '5'\n  name: EuroScrum\n  description: \"European AM scrum for coordinating any/all Agile Venture projects\n    http://agileventures.org and also for people to find pairing partners\\uFEFF\"\n  is_all_day: f\n  from_date: '2014-03-02'\n  from_time: '10:00:00'\n  to_date: '2014-03-02'\n  to_time: '10:25:00'\n  repeats: weekly\n  repeats_every_n_weeks: '1'\n  repeats_weekly_each_days_of_the_week_mask: '31'\n  repeat_ends: never\n  repeat_ends_on: '2014-03-31'\n  time_zone: London\n  category: Scrum\n  created_at: '2014-03-01 17:18:50.412162'\n  updated_at: '2014-03-02 14:01:08.81271'\nevents_004:\n  id: '6'\n  name: US Scrum\n  description: \"US scrum for coordinating any/all Agile Venture projects http://agileventures.org\n    and also for people to find pairing partners\\uFEFF.\"\n  is_all_day: f\n  from_date: '2014-03-03'\n  from_time: '01:00:00'\n  to_date: '2014-03-03'\n  to_time: '01:25:00'\n  repeats: weekly\n  repeats_every_n_weeks: '1'\n  repeats_weekly_each_days_of_the_week_mask: '31'\n  repeat_ends: 'on'\n  repeat_ends_on: '2014-03-31'\n  time_zone: London\n  category: Scrum\n  created_at: '2014-03-02 14:08:04.257159'\n  updated_at: '2014-03-02 15:45:44.937603'\nevents_005:\n  id: '7'\n  name: weekend\n  description: ''\n  is_all_day: f\n  from_date: '2014-03-09'\n  from_time: '23:30:00'\n  to_date: '2014-03-09'\n  to_time: '23:30:00'\n  repeats: weekly\n  repeats_every_n_weeks: '1'\n  repeats_weekly_each_days_of_the_week_mask: '96'\n  repeat_ends: 'on'\n  repeat_ends_on: '2014-03-26'\n  time_zone: London\n  category: Scrum\n  created_at: '2014-03-02 22:17:36.627594'\n  updated_at: '2014-03-02 22:17:36.627594'\nevents_006:\n  id: '8'\n  name: Sunday\n  description: ''\n  is_all_day: f\n  from_date: '2014-03-09'\n  from_time: '23:30:00'\n  to_date: '2014-03-09'\n  to_time: '23:30:00'\n  repeats: never\n  repeats_every_n_weeks: '1'\n  repeats_weekly_each_days_of_the_week_mask: '0'\n  repeat_ends: never\n  repeat_ends_on: '2014-03-02'\n  time_zone: London\n  category: Scrum\n  created_at: '2014-03-02 22:18:03.820856'\n  updated_at: '2014-03-02 22:18:03.820856'\nevents_007:\n  id: '9'\n  name: Monday\n  description: ''\n  is_all_day: f\n  from_date: '2014-03-10'\n  from_time: '23:30:00'\n  to_date: '2014-03-10'\n  to_time: '23:30:00'\n  repeats: weekly\n  repeats_every_n_weeks: '1'\n  repeats_weekly_each_days_of_the_week_mask: '1'\n  repeat_ends: 'on'\n  repeat_ends_on: '2014-03-27'\n  time_zone: London\n  category: Scrum\n  created_at: '2014-03-02 22:18:52.77266'\n  updated_at: '2014-03-02 22:18:52.77266'\nevents_008:\n  id: '10'\n  name: sunday repeat\n  description: ''\n  is_all_day: f\n  from_date: '2014-03-07'\n  from_time: '23:30:00'\n  to_date: '2014-03-07'\n  to_time: '23:30:00'\n  repeats: weekly\n  repeats_every_n_weeks: '1'\n  repeats_weekly_each_days_of_the_week_mask: '64'\n  repeat_ends: 'on'\n  repeat_ends_on: '2014-03-31'\n  time_zone: London\n  category: Scrum\n  created_at: '2014-03-02 22:27:14.904571'\n  updated_at: '2014-03-02 22:27:14.904571'\n"
  },
  {
    "path": "fixtures/follows.yml.new",
    "content": "---\nfollows_001:\n  id: '1'\n  followable_id: '2'\n  followable_type: Project\n  follower_id: '2'\n  follower_type: User\n  blocked: f\n  created_at: '2014-03-01 13:35:00.000071'\n  updated_at: '2014-03-01 13:35:00.000071'\nfollows_002:\n  id: '2'\n  followable_id: '7'\n  followable_type: Project\n  follower_id: '2'\n  follower_type: User\n  blocked: f\n  created_at: '2014-03-01 13:35:00.008269'\n  updated_at: '2014-03-01 13:35:00.008269'\nfollows_003:\n  id: '3'\n  followable_id: '1'\n  followable_type: Project\n  follower_id: '2'\n  follower_type: User\n  blocked: f\n  created_at: '2014-03-01 13:35:00.01422'\n  updated_at: '2014-03-01 13:35:00.01422'\nfollows_004:\n  id: '4'\n  followable_id: '1'\n  followable_type: Project\n  follower_id: '3'\n  follower_type: User\n  blocked: f\n  created_at: '2014-03-01 13:35:00.113951'\n  updated_at: '2014-03-01 13:35:00.113951'\nfollows_005:\n  id: '5'\n  followable_id: '6'\n  followable_type: Project\n  follower_id: '3'\n  follower_type: User\n  blocked: f\n  created_at: '2014-03-01 13:35:00.117862'\n  updated_at: '2014-03-01 13:35:00.117862'\nfollows_006:\n  id: '6'\n  followable_id: '5'\n  followable_type: Project\n  follower_id: '3'\n  follower_type: User\n  blocked: f\n  created_at: '2014-03-01 13:35:00.13132'\n  updated_at: '2014-03-01 13:35:00.13132'\nfollows_007:\n  id: '7'\n  followable_id: '9'\n  followable_type: Project\n  follower_id: '4'\n  follower_type: User\n  blocked: f\n  created_at: '2014-03-01 13:35:00.230136'\n  updated_at: '2014-03-01 13:35:00.230136'\nfollows_008:\n  id: '8'\n  followable_id: '1'\n  followable_type: Project\n  follower_id: '4'\n  follower_type: User\n  blocked: f\n  created_at: '2014-03-01 13:35:00.233705'\n  updated_at: '2014-03-01 13:35:00.233705'\nfollows_009:\n  id: '9'\n  followable_id: '8'\n  followable_type: Project\n  follower_id: '4'\n  follower_type: User\n  blocked: f\n  created_at: '2014-03-01 13:35:00.237274'\n  updated_at: '2014-03-01 13:35:00.237274'\nfollows_010:\n  id: '10'\n  followable_id: '7'\n  followable_type: Project\n  follower_id: '5'\n  follower_type: User\n  blocked: f\n  created_at: '2014-03-01 13:35:00.333915'\n  updated_at: '2014-03-01 13:35:00.333915'\nfollows_011:\n  id: '11'\n  followable_id: '1'\n  followable_type: Project\n  follower_id: '5'\n  follower_type: User\n  blocked: f\n  created_at: '2014-03-01 13:35:00.337506'\n  updated_at: '2014-03-01 13:35:00.337506'\nfollows_012:\n  id: '12'\n  followable_id: '5'\n  followable_type: Project\n  follower_id: '5'\n  follower_type: User\n  blocked: f\n  created_at: '2014-03-01 13:35:00.340947'\n  updated_at: '2014-03-01 13:35:00.340947'\nfollows_013:\n  id: '13'\n  followable_id: '3'\n  followable_type: Project\n  follower_id: '6'\n  follower_type: User\n  blocked: f\n  created_at: '2014-03-01 13:35:00.438576'\n  updated_at: '2014-03-01 13:35:00.438576'\nfollows_014:\n  id: '14'\n  followable_id: '2'\n  followable_type: Project\n  follower_id: '6'\n  follower_type: User\n  blocked: f\n  created_at: '2014-03-01 13:35:00.442059'\n  updated_at: '2014-03-01 13:35:00.442059'\nfollows_015:\n  id: '15'\n  followable_id: '6'\n  followable_type: Project\n  follower_id: '6'\n  follower_type: User\n  blocked: f\n  created_at: '2014-03-01 13:35:00.44583'\n  updated_at: '2014-03-01 13:35:00.44583'\nfollows_016:\n  id: '16'\n  followable_id: '2'\n  followable_type: Project\n  follower_id: '1'\n  follower_type: User\n  blocked: f\n  created_at: '2014-03-01 21:39:03.585357'\n  updated_at: '2014-03-01 21:39:03.585357'\n"
  },
  {
    "path": "fixtures/projects.yml.new",
    "content": "---\nprojects_001:\n  id: '1'\n  title: Autograder\n  description: Autograder for the EdX CS169.x SaaS course\n  status: Active\n  created_at: '2014-03-01 13:34:59.451651'\n  updated_at: '2014-03-01 13:34:59.451651'\n  user_id: '1'\n  slug: autograder\nprojects_002:\n  id: '2'\n  title: WebsiteOne\n  description: The AgileVentures site - a platform for online collaboration and crowdsourced\n    project development.\n  status: Active\n  created_at: '2014-03-01 13:34:59.471924'\n  updated_at: '2014-03-01 13:34:59.471924'\n  user_id: '1'\n  slug: websiteone\nprojects_003:\n  id: '3'\n  title: LocalSupport\n  description: |-\n    The open source project Local Support is a directory of local charity and non-profit organisations for a small geographical area.\n    Our customer is the non-profit organization Voluntary Action Harrow.\n    The mission is to support members of the public searching for support groups for things like helping care for an elderly or sick relative; and also to help charities and non-profits find each other and network.\n  status: Active\n  created_at: '2014-03-01 13:34:59.477108'\n  updated_at: '2014-03-01 13:34:59.477108'\n  user_id: '1'\n  slug: localsupport\nprojects_004:\n  id: '4'\n  title: EduChat\n  description: Supporting real time synchronous chat in online classes\n  status: Active\n  created_at: '2014-03-01 13:34:59.482318'\n  updated_at: '2014-03-01 13:34:59.482318'\n  user_id: '1'\n  slug: educhat\nprojects_005:\n  id: '5'\n  title: PP Scheduler\n  description: |-\n    Problem: Lots of people want to pair, but they don't know when each other are available\n    Solution: is something that requires absolutely minimal effort on their part to use in order to let them pair\n  status: Active\n  created_at: '2014-03-01 13:34:59.487292'\n  updated_at: '2014-03-01 13:34:59.487292'\n  user_id: '1'\n  slug: pp-scheduler\nprojects_006:\n  id: '6'\n  title: Funniest Computer Ever\n  description: Can YOU write a program to make humans laugh? Get your editors fired\n    up and your coding caps ready because you've arrived at the Funniest Computer\n    Ever competition!\n  status: Active\n  created_at: '2014-03-01 13:34:59.492239'\n  updated_at: '2014-03-01 13:34:59.492239'\n  user_id: '1'\n  slug: funniest-computer-ever\nprojects_007:\n  id: '7'\n  title: aut dolorem consequuntur\n  description: Quaerat voluptas neque dolorem accusamus quae. Blanditiis iusto ea\n    eligendi ea. Non maiores corporis fuga quia doloribus.\n  status: active\n  created_at: '2014-02-01 13:34:59.494468'\n  updated_at: '2014-03-01 13:34:59.518706'\n  user_id: '1'\n  slug: aut-dolorem-consequuntur\nprojects_008:\n  id: '8'\n  title: odio animi veniam\n  description: Aspernatur iste quod aut occaecati. Non molestiae itaque occaecati\n    eaque est. Modi provident nam quisquam amet eius. Doloremque soluta est voluptatem\n    quaerat.\n  status: active\n  created_at: '2014-02-01 13:34:59.651273'\n  updated_at: '2014-03-01 13:34:59.654275'\n  user_id: '1'\n  slug: odio-animi-veniam\nprojects_009:\n  id: '9'\n  title: minus dolores eos\n  description: Sit dolorum aliquid expedita est voluptas quia autem. Ab aut possimus.\n    Ducimus animi quis non nam aut eos. Amet fugiat qui autem molestiae eos corporis\n    aspernatur. Dolor enim et eum eligendi reprehenderit.\n  status: active\n  created_at: '2014-02-01 13:34:59.712904'\n  updated_at: '2014-03-01 13:34:59.716109'\n  user_id: '1'\n  slug: minus-dolores-eos\n"
  },
  {
    "path": "fixtures/taggings.yml.new",
    "content": "--- {}\n"
  },
  {
    "path": "fixtures/tags.yml.new",
    "content": "--- {}\n"
  },
  {
    "path": "fixtures/users.yml.new",
    "content": "---\nusers_001:\n  id: '1'\n  email: random@random.com\n  encrypted_password: $2a$10$4NA5KU4JkC5aHBuY4KlZ5uyNuGwaKDBriVc1OyWpQhre1Z42Wd6U.\n  reset_password_token: \n  reset_password_sent_at: \n  remember_created_at: \n  sign_in_count: '2'\n  current_sign_in_at: '2014-03-02 13:55:08.046569'\n  last_sign_in_at: '2014-03-01 13:36:08.632015'\n  current_sign_in_ip: 127.0.0.1\n  last_sign_in_ip: 127.0.0.1\n  created_at: '2014-03-01 13:34:59.294645'\n  updated_at: '2014-03-02 13:55:08.04853'\n  first_name: Random\n  last_name: Guy\n  display_email: \n  youtube_id: \n  slug: random-guy\n  display_profile: t\n  latitude: \n  longitude: \n  country: \n  city: \n  region: \nusers_002:\n  id: '2'\n  email: trent@aufderharhalvorson.org\n  encrypted_password: $2a$10$/ZVItFwPebxJnIx31F5bkeUHJ.zPkE2yliCoJvgAEXjCqK4dEtF4W\n  reset_password_token: \n  reset_password_sent_at: \n  remember_created_at: \n  sign_in_count: '0'\n  current_sign_in_at: \n  last_sign_in_at: \n  current_sign_in_ip: \n  last_sign_in_ip: \n  created_at: '2014-03-01 13:34:59.873502'\n  updated_at: '2014-03-01 13:34:59.873502'\n  first_name: Jabari\n  last_name: Osinski\n  display_email: \n  youtube_id: \n  slug: jabari-osinski\n  display_profile: t\n  latitude: \n  longitude: \n  country: \n  city: \n  region: \nusers_003:\n  id: '3'\n  email: eldred.lynch@nader.net\n  encrypted_password: $2a$10$Oeppv4NpF1ub9NAhdUGuCO4dblFoXBQeC9KcbRNTbmYB/95Qb7SkG\n  reset_password_token: \n  reset_password_sent_at: \n  remember_created_at: \n  sign_in_count: '0'\n  current_sign_in_at: \n  last_sign_in_at: \n  current_sign_in_ip: \n  last_sign_in_ip: \n  created_at: '2014-03-01 13:35:00.106793'\n  updated_at: '2014-03-01 13:35:00.106793'\n  first_name: Lavonne\n  last_name: Dare\n  display_email: \n  youtube_id: \n  slug: lavonne-dare\n  display_profile: t\n  latitude: \n  longitude: \n  country: \n  city: \n  region: \nusers_004:\n  id: '4'\n  email: ignatius_cremin@zemlak.org\n  encrypted_password: $2a$10$ToWiRcj0QPsbsmrL6m4njeb4XXvdWo7chWFftVovmzm04x7Vyh602\n  reset_password_token: \n  reset_password_sent_at: \n  remember_created_at: \n  sign_in_count: '0'\n  current_sign_in_at: \n  last_sign_in_at: \n  current_sign_in_ip: \n  last_sign_in_ip: \n  created_at: '2014-03-01 13:35:00.223389'\n  updated_at: '2014-03-01 13:35:00.223389'\n  first_name: Elsa\n  last_name: Ledner\n  display_email: \n  youtube_id: \n  slug: elsa-ledner\n  display_profile: t\n  latitude: \n  longitude: \n  country: \n  city: \n  region: \nusers_005:\n  id: '5'\n  email: kaylie@kertzmannkiehn.com\n  encrypted_password: $2a$10$lHW/aTxKf1FKtwazP5k90eUt3cKURmHkrjlViZyUF2twYVPX6/1RW\n  reset_password_token: \n  reset_password_sent_at: \n  remember_created_at: \n  sign_in_count: '0'\n  current_sign_in_at: \n  last_sign_in_at: \n  current_sign_in_ip: \n  last_sign_in_ip: \n  created_at: '2014-03-01 13:35:00.327278'\n  updated_at: '2014-03-01 13:35:00.327278'\n  first_name: Adelbert\n  last_name: Gottlieb\n  display_email: \n  youtube_id: \n  slug: adelbert-gottlieb\n  display_profile: t\n  latitude: \n  longitude: \n  country: \n  city: \n  region: \nusers_006:\n  id: '6'\n  email: nicole@mayert.biz\n  encrypted_password: $2a$10$.lRxRVxhj62RNtUJmL9wX.5KJHL5g3pqHQso4f74c/hRLVe.NCdAO\n  reset_password_token: \n  reset_password_sent_at: \n  remember_created_at: \n  sign_in_count: '0'\n  current_sign_in_at: \n  last_sign_in_at: \n  current_sign_in_ip: \n  last_sign_in_ip: \n  created_at: '2014-03-01 13:35:00.432602'\n  updated_at: '2014-03-01 13:35:00.432602'\n  first_name: Jairo\n  last_name: Turcotte\n  display_email: \n  youtube_id: \n  slug: jairo-turcotte\n  display_profile: t\n  latitude: \n  longitude: \n  country: \n  city: \n  region: \n"
  },
  {
    "path": "fixtures/versions.yml.new",
    "content": "---\nversions_001:\n  id: '1'\n  item_type: Document\n  item_id: '1'\n  event: create\n  whodunnit: \n  object: \n  created_at: '2014-03-01 13:34:59.553348'\nversions_002:\n  id: '2'\n  item_type: Document\n  item_id: '2'\n  event: create\n  whodunnit: \n  object: \n  created_at: '2014-03-01 13:34:59.617133'\nversions_003:\n  id: '3'\n  item_type: Document\n  item_id: '3'\n  event: create\n  whodunnit: \n  object: \n  created_at: '2014-03-01 13:34:59.624962'\nversions_004:\n  id: '4'\n  item_type: Document\n  item_id: '4'\n  event: create\n  whodunnit: \n  object: \n  created_at: '2014-03-01 13:34:59.63331'\nversions_005:\n  id: '5'\n  item_type: Document\n  item_id: '5'\n  event: create\n  whodunnit: \n  object: \n  created_at: '2014-03-01 13:34:59.641372'\nversions_006:\n  id: '6'\n  item_type: Document\n  item_id: '6'\n  event: create\n  whodunnit: \n  object: \n  created_at: '2014-03-01 13:34:59.649059'\nversions_007:\n  id: '7'\n  item_type: Document\n  item_id: '7'\n  event: create\n  whodunnit: \n  object: \n  created_at: '2014-03-01 13:34:59.662327'\nversions_008:\n  id: '8'\n  item_type: Document\n  item_id: '8'\n  event: create\n  whodunnit: \n  object: \n  created_at: '2014-03-01 13:34:59.670822'\nversions_009:\n  id: '9'\n  item_type: Document\n  item_id: '9'\n  event: create\n  whodunnit: \n  object: \n  created_at: '2014-03-01 13:34:59.678621'\nversions_010:\n  id: '10'\n  item_type: Document\n  item_id: '10'\n  event: create\n  whodunnit: \n  object: \n  created_at: '2014-03-01 13:34:59.685865'\nversions_011:\n  id: '11'\n  item_type: Document\n  item_id: '11'\n  event: create\n  whodunnit: \n  object: \n  created_at: '2014-03-01 13:34:59.693733'\nversions_012:\n  id: '12'\n  item_type: Document\n  item_id: '12'\n  event: create\n  whodunnit: \n  object: \n  created_at: '2014-03-01 13:34:59.701483'\nversions_013:\n  id: '13'\n  item_type: Document\n  item_id: '13'\n  event: create\n  whodunnit: \n  object: \n  created_at: '2014-03-01 13:34:59.71055'\nversions_014:\n  id: '14'\n  item_type: Document\n  item_id: '14'\n  event: create\n  whodunnit: \n  object: \n  created_at: '2014-03-01 13:34:59.724266'\nversions_015:\n  id: '15'\n  item_type: Document\n  item_id: '15'\n  event: create\n  whodunnit: \n  object: \n  created_at: '2014-03-01 13:34:59.732749'\nversions_016:\n  id: '16'\n  item_type: Document\n  item_id: '16'\n  event: create\n  whodunnit: \n  object: \n  created_at: '2014-03-01 13:34:59.740066'\nversions_017:\n  id: '17'\n  item_type: Document\n  item_id: '17'\n  event: create\n  whodunnit: \n  object: \n  created_at: '2014-03-01 13:34:59.747779'\nversions_018:\n  id: '18'\n  item_type: Document\n  item_id: '18'\n  event: create\n  whodunnit: \n  object: \n  created_at: '2014-03-01 13:34:59.757371'\nversions_019:\n  id: '19'\n  item_type: Document\n  item_id: '19'\n  event: create\n  whodunnit: \n  object: \n  created_at: '2014-03-01 13:34:59.766267'\nversions_020:\n  id: '20'\n  item_type: Document\n  item_id: '20'\n  event: create\n  whodunnit: \n  object: \n  created_at: '2014-03-01 13:34:59.7757'\nversions_021:\n  id: '21'\n  item_type: Document\n  item_id: '21'\n  event: create\n  whodunnit: \n  object: \n  created_at: '2014-03-01 13:34:59.784233'\n"
  },
  {
    "path": "lib/agile_ventures/errors.rb",
    "content": "# frozen_string_literal: true\n\nmodule AgileVentures\n  class Error < RuntimeError\n  end\n\n  class AccessDenied < Error\n    def initialize(user, request)\n      @user = user\n      @request = request\n    end\n  end\nend\n"
  },
  {
    "path": "lib/agile_ventures.rb",
    "content": "# frozen_string_literal: true\n\nrequire_relative 'agile_ventures/errors'\n\nmodule AgileVentures\nend\n"
  },
  {
    "path": "lib/assets/.keep",
    "content": ""
  },
  {
    "path": "lib/channels_list.rb",
    "content": "# frozen_string_literal: true\n\nmodule ChannelsList\n  if ENV['LIVE_ENV'] == 'production'\n    CHANNELS = {\n      asyncvoter: 'C2HGJF54G',\n      autograder: %w(C0UFNHRAB C02AHEA5P),\n      betasaasers: 'C02AHEA5P',\n      'binghamton-university-bike-share': 'C033Z02P9',\n      codealia: 'C0297TUQC',\n      communityportal: 'C02HVF1TP',\n      cs169: 'C02A6835V',\n      'dda-pallet': 'C2QM5N48P',\n      educhat: 'C02AD0LG0',\n      'esaas-mooc': 'C02A6835V',\n      eventmanager: 'C39J4DTP0',\n      'agileventures-community': %w(C3Q9A5ZJA C02P3CAPA),\n      metplus: 'C0VEPAPJP',\n      localsupport: 'C0KK907B5',\n      'osra-support-system': 'C02AAM8SY',\n      'github-api-gem': 'C02QZ46S9',\n      oodls: 'C03GBBASJ',\n      phoenixone: 'C7JANJXC4',\n      projectscope: 'C1NJX7KM1',\n      redeemify: 'C1FQZHJJX',\n      refugee_tech: 'C0GUTH7RS',\n      'rundfunk-mitbestimmen': 'C5LCQSJMA',\n      secondappinion: 'C03D6RUR7',\n      'shf-project': 'C2SBUUNRY',\n      'snow-angels': 'C03D6RUR7',\n      takemeaway: 'C04B0TN0S',\n      teamaidz: 'C03DA8NH0',\n      visualizer: 'C3NE9JQJX',\n      websiteone: 'C029E8G80',\n      websitetwo: 'C0ASA1X98',\n      'wiki-ed-dashboard': 'C36MNPWTD',\n      general: 'C0285CSUF',\n      pairing_notifications: 'C02BNVCM1',\n      standup_notifications: 'C02B4QH1C',\n      premium_mob_trialists: 'GBNRMP4KH',\n      premium_extra: 'G33RPEG8K',\n      'human-connection': 'CEANP62HG',\n      'weekend-heretics': 'CAW8XPFG8',\n      'new-members': 'C02G8J689',\n      retrospectives: 'CCWNMMHHT',\n      refactoring: 'CBZCZP3GA'\n    }.freeze\n    GITTER_ROOMS = {\n      'saasbook/MOOC': '544100afdb8155e6700cc5e4',\n      'saasbook/AV102': '55e42db80fc9f982beaf2725',\n      'AgileVentures/agile-bot': '56b8bdffe610378809c070cc'\n    }.freeze\n  else\n    CHANNELS = {\n      'multiple-channels': %w(C69J9GC1Y C29J4QQ9W),\n      cs169: 'C29J4CYA2',\n      websiteone: 'C29J4QQ9W',\n      localsupport: 'C69J9GC1Y',\n      general: 'C0TLAE1MH',\n      pairing_notifications: 'C29J3DPGW',\n      standup_notifications: 'C29JE6HGR',\n      premium_extra: 'C29J4QQ9M',\n      premium_mob_trialists: 'C29J4QQ9F',\n      'new-members': 'C02G8J699'\n    }.freeze\n    GITTER_ROOMS = {\n      'saasbook/MOOC': '56b8bdffe610378809c070cc',\n      'saasbook/AV102': '56b8bdffe610378809c070cc',\n      'AgileVentures/agile-bot': '56b8bdffe610378809c070cc'\n    }.freeze\n  end\nend\n"
  },
  {
    "path": "lib/core_ext/active_record/base_extension.rb",
    "content": "# frozen_string_literal: true\n\nmodule ActiveRecord\n  class Base\n    def presenter\n      @_presenter_ ||= \"#{self.class}Presenter\".constantize.new(self)\n    end\n  end\nend\n"
  },
  {
    "path": "lib/core_ext/datetime.rb",
    "content": "# frozen_string_literal: true\n\nclass DateTime\n  def distance_to(end_date)\n    s = end_date.to_i - to_i\n    # s = end_date.to_i - Time.now.to_datetime.to_i\n    minutes, seconds = s.divmod(60)\n    hours, minutes = minutes.divmod(60)\n    days, hours = hours.divmod(24)\n    { seconds: seconds, minutes: minutes, hours: hours, days: days }\n  end\nend\n"
  },
  {
    "path": "lib/custom_errors.rb",
    "content": "# frozen_string_literal: true\n\n# require 'airbrake'\n\nmodule CustomErrors\n  def self.included(base)\n    base.rescue_from Exception, with: ->(exception) { render_error 500, exception }\n\n    base.rescue_from ActionController::RoutingError,\n                     #  ActionController::UnknownController,\n                     AbstractController::ActionNotFound,\n                     ActiveRecord::RecordNotFound,\n                     with: ->(exception) { render_error 404, exception }\n  end\n\n  private\n\n  def render_error(status, error)\n    raise error unless Features.enabled?(:custom_errors)\n\n    Rails.logger.error error.message\n    error.backtrace.each_with_index do |line, index|\n      Rails.logger.error line\n      break if index >= 5\n    end\n\n    # unless [404].include? status\n    #   if Rails.env.production?\n    #     notice = Airbrake.build_notice(error)\n    #     notice.stash[:rack_request] = Rails.env['grape.request']\n    #     Airbrake.notify(notice)\n    #   else\n    #     ExceptionNotifier.notify_exception(error, env: request.env, data: { message: 'was doing something wrong' })\n    #   end\n    # end\n    ExceptionNotifier.notify_exception(error, env: request.env, data: { message: 'was doing something wrong' })\n    case status\n    when 404\n      render template: 'static_pages/not_found', layout: 'layouts/application', status: :not_found, formats: [:html]\n\n    when 500\n      render template: 'static_pages/internal_error', layout: 'layouts/application', status: :internal_server_error,\n             formats: [:html]\n\n    else\n      render template: 'static_pages/internal_error', layout: 'layouts/application', status: :internal_server_error,\n             formats: [:html]\n    end\n  end\nend\n"
  },
  {
    "path": "lib/paypal.rb",
    "content": "# frozen_string_literal: true\n\nclass Paypal\n  def initialize(token, email, payer_id, payment_method, plan, user)\n    @payer_id = payer_id\n    @plan = plan\n    @email = email\n    @payment_method = payment_method\n    @token = token\n    @user = user\n  end\n\n  def url_params\n    \"token=#{@token}&email=#{@email}&payer_id=#{@payer_id}&payment_method=#{@payment_method}&plan=#{@plan}&user=#{@user}\"\n  end\nend\n"
  },
  {
    "path": "lib/tasks/.keep",
    "content": ""
  },
  {
    "path": "lib/tasks/apply_one-time_google_hangout_event_participation_count.rake",
    "content": "# frozen_string_literal: true\n\ndesc 'Modifies the event_participation_count with the values from the specified file'\n\n# This task is meant to be ran only once to update the users past google hangouts event_participation_count\ntask modify_event_participation: :environment do\n  ModifyEventParticipation.run\nend\n"
  },
  {
    "path": "lib/tasks/brakeman.rake",
    "content": "# frozen_string_literal: true\n\nnamespace :brakeman do\n  desc 'Run Brakeman'\n  task :run, :output_files do |_t, args|\n    require 'brakeman'\n\n    files = args[:output_files].split if args[:output_files]\n    Brakeman.run app_path: '.', output_files: files, print_report: true\n  end\n\n  desc 'Check your code with Brakeman'\n  task :check do\n    require 'brakeman'\n    result = Brakeman.run app_path: '.', print_report: true\n    exit Brakeman::Warnings_Found_Exit_Code unless result.filtered_warnings.empty?\n  end\nend\n"
  },
  {
    "path": "lib/tasks/bundle-audit.rake",
    "content": "# frozen_string_literal: true\n\nif Rails.env.development? || Rails.env.test?\n  require 'bundler/audit/cli'\n\n  namespace :bundler do\n    desc 'Updates the ruby-advisory-db and runs audit'\n    task :audit do\n      %w(update check).each do |command|\n        Bundler::Audit::CLI.start [command]\n      end\n    end\n  end\nend\n"
  },
  {
    "path": "lib/tasks/ci.rake",
    "content": "# frozen_string_literal: true\n\nunless Rails.env.production?\n  require 'rspec/core/rake_task'\n  require 'cucumber/rake/task'\n  require 'coveralls/rake/task'\n  Coveralls::RakeTask.new\n  Cucumber::Rake::Task.new(:ci_cucumber) do |t|\n    t.cucumber_opts = \"--tags 'not @intermittent-ci-js-fail'\"\n  end\n\n  namespace :ci do\n    desc 'Run Rspec and Cucumber'\n    # task tests: [:spec, 'coveralls:push']\n    task tests: [:spec, 'cucumber:first_try', 'cucumber:second_try', 'coveralls:push']\n    task third_try: ['cucumber:third_try']\n  end\nend\n"
  },
  {
    "path": "lib/tasks/create_anonymous_user.rake",
    "content": "# frozen_string_literal: true\n\nnamespace :user do\n  desc 'Creates an anonymous user in an existing database'\n  task create_anonymous: :environment do\n    User.create! id: -1, first_name: 'Anonymous', last_name: '', email: 'anonymous@agileventures.org',\n                 password: 'temp1234'\n  end\nend\n"
  },
  {
    "path": "lib/tasks/create_plans.rake",
    "content": "# frozen_string_literal: true\n\nnamespace :db do\n  desc 'This task creates the set of premium plans'\n\n  task create_plans: :environment do\n    Plan.create name: 'Premium', third_party_identifier: 'premium', free_trial_length_days: 7, amount: 1000\n    Plan.create name: 'Premium Mob', third_party_identifier: 'premiummob', free_trial_length_days: 0, amount: 2500\n    Plan.create name: 'Premium F2F', third_party_identifier: 'premiumf2f', free_trial_length_days: 0, amount: 5000\n    Plan.create name: 'Premium Plus', third_party_identifier: 'premiumplus', free_trial_length_days: 0, amount: 10_000\n    Plan.create name: 'Associate', third_party_identifier: 'associate', free_trial_length_days: 0, amount: 500\n    Plan.create name: 'NonProfit Basic', third_party_identifier: 'nonprofitbasic', amount: 2000,\n                category: 'organization'\n    Plan.create name: 'NonProfit Extra', third_party_identifier: 'nonprofitextra', amount: 10_000,\n                category: 'organization'\n    Plan.create name: 'NonProfit Enterprise', third_party_identifier: 'nonprofitenterprise', amount: 25_000,\n                category: 'organization'\n  end\nend\n\nnamespace :paypal do\n  desc 'Create paypal plans'\n  task create_paypal_plans: :environment do\n    Plan.all.each do |plan|\n      paypal_plan = PaypalService.new(plan).create_and_activate_recurring_plan\n      plan.update paypal_id: paypal_plan.id\n    end\n  end\nend\n"
  },
  {
    "path": "lib/tasks/cucumber.rake",
    "content": "# frozen_string_literal: true\n\n# IMPORTANT: This file is generated by cucumber-rails - edit at your own peril.\n# It is recommended to regenerate this file in the future when you upgrade to a\n# newer version of cucumber-rails. Consider adding your own code to a new file\n# instead of editing this one. Cucumber will automatically load all features/**/*.rb\n# files.\n\nunless ARGV.any? { |a| a =~ /^gems/ } # Don't load anything when running the gems:* tasks\n\n  vendored_cucumber_bin = Dir[\"#{Rails.root}/vendor/{gems,plugins}/cucumber*/bin/cucumber\"].first\n  $LOAD_PATH.unshift(\"#{File.dirname(vendored_cucumber_bin)}/../lib\") unless vendored_cucumber_bin.nil?\n\n  begin\n    require 'cucumber/rake/task'\n\n    namespace :cucumber do\n      Cucumber::Rake::Task.new({ ok: 'test:prepare' }, 'Run features that should pass') do |t|\n        t.binary = vendored_cucumber_bin # If nil, the gem's binary is used.\n        t.fork = true # You may get faster startup if you set this to false\n        t.cucumber_opts = '--publish-quiet'\n        t.profile = 'default'\n      end\n\n      Cucumber::Rake::Task.new({ wip: 'test:prepare' }, 'Run features that are being worked on') do |t|\n        t.binary = vendored_cucumber_bin\n        t.fork = true # You may get faster startup if you set this to false\n        t.profile = 'wip'\n      end\n\n      Cucumber::Rake::Task.new({ rerun: 'test:prepare' },\n                               'Record failing features and run only them if any exist') do |t|\n        t.binary = vendored_cucumber_bin\n        t.fork = true # You may get faster startup if you set this to false\n        t.profile = 'rerun'\n      end\n\n      desc 'Run all features'\n      task all: %i(ok wip)\n\n      desc 'Run all features, record any failures'\n      Cucumber::Rake::Task.new({ first_try: 'test:prepare' }, 'run all features and record failures') do |t|\n        t.binary = vendored_cucumber_bin\n        t.cucumber_opts = \"--tags 'not @intermittent-ci-js-fail' --publish-quiet\"\n        t.fork = true # You may get faster startup if you set this to false\n        t.profile = 'first_try'\n      end\n\n      desc 'Run failures if any exist'\n      Cucumber::Rake::Task.new({ second_try: 'test:prepare' }, 'rerun any recorded failures') do |t|\n        t.binary = vendored_cucumber_bin\n        t.cucumber_opts = \"--tags 'not @intermittent-ci-js-fail' --publish-quiet\"\n        t.fork = true # You may get faster startup if you set this to false\n        t.profile = 'second_try'\n      end\n\n      desc 'Run failures if any exist'\n      Cucumber::Rake::Task.new({ third_try: 'test:prepare' }, 'testing failures') do |t|\n        t.binary = vendored_cucumber_bin\n        t.cucumber_opts = \"--tags 'not @intermittent-ci-js-fail' --publish-quiet\"\n        t.fork = true # You may get faster startup if you set this to false\n        t.profile = 'third_try'\n      end\n\n      task :statsetup do\n        require 'rails/code_statistics'\n        STATS_DIRECTORIES << ['Cucumber features', 'features'] if File.exist?('features')\n        CodeStatistics::TEST_TYPES << 'Cucumber features' if File.exist?('features')\n      end\n\n      task :annotations_setup do\n        Rails.application.configure do\n          if config.respond_to?(:annotations)\n            config.annotations.directories << 'features'\n            config.annotations.register_extensions('feature') { |tag| /#\\s*(#{tag}):?\\s*(.*)$/ }\n          end\n        end\n      end\n    end\n    desc 'Alias for cucumber:ok'\n    task cucumber: 'cucumber:ok'\n\n    task default: :cucumber\n\n    task features: :cucumber do\n      warn \"*** The 'features' task is deprecated. See rake -T cucumber ***\"\n    end\n\n    # In case we don't have the generic Rails test:prepare hook, append a no-op task that we can depend upon.\n    task 'test:prepare' do\n    end\n\n    task stats: 'cucumber:statsetup'\n\n    task notes: 'cucumber:annotations_setup'\n  rescue LoadError\n    desc 'cucumber rake task not available (cucumber not installed)'\n    task :cucumber do\n      abort 'Cucumber rake task is not available. Be sure to install cucumber as a gem or plugin'\n    end\n  end\n\nend\n"
  },
  {
    "path": "lib/tasks/db.rake",
    "content": "# frozen_string_literal: true\n\nnamespace :db do\n  desc 'migrate from github url to source repository domain model (copies github_url field to source repo model)'\n  task migrate_from_github_url_to_source_repository: :environment do\n    Project.all.each do |project|\n      project.source_repositories.create(url: project[:github_url])\n    end\n  end\n\n  desc 'add slack channel codes to project slack channels join table'\n  task add_project_slack_channels: :environment do\n    include ChannelsList\n    Project.all.each do |project|\n      if CHANNELS[project.slug.to_sym].respond_to? :each\n        CHANNELS[project.slug.to_sym].each do |code|\n          project.slack_channels << SlackChannel.find_or_create_by(code: code)\n        end\n      else\n        project.slack_channels << SlackChannel.find_or_create_by(code: CHANNELS[project.slug.to_sym])\n      end\n    end\n  end\nend\n"
  },
  {
    "path": "lib/tasks/db_dump.rake",
    "content": "# frozen_string_literal: true\n\nnamespace :db do\n  namespace :fixtures do\n    desc 'Create YAML test fixtures from data in an existing database.\n    Defaults to development database.  Specify RAILS_ENV=production on command line to override.'\n    task dump: :environment do\n      sql = 'SELECT * FROM %s ORDER BY ID'\n      skip_tables = %w(schema_info schema_migrations)\n      ApplicationRecord.establish_connection(Rails.env)\n      (ApplicationRecord.connection.tables - skip_tables).each do |table_name|\n        i = '000'\n        File.open(\"#{Rails.root}/fixtures/#{table_name}.yml.new\", 'w+') do |file|\n          data = ApplicationRecord.connection.select_all(sql % table_name)\n          file.write data.index_by { |_record|\n            \"#{table_name}_#{i.succ!}\"\n          }.to_yaml\n          puts 'Completed db dump for '.green + table_name.red\n        end\n      end\n    end\n  end\nend\n"
  },
  {
    "path": "lib/tasks/dump.rake",
    "content": "# frozen_string_literal: true\n\nrequire 'seed_dump'\n\nnamespace :dump do\n  desc 'Dump Event model to file'\n  task event: :environment do\n    SeedDump.dump(Event.all, file: 'db/seeds/events.rb')\n  end\n  desc 'Dump EventInstance table from last month to file'\n  task event_instance: :environment do\n    SeedDump.dump(EventInstance\n                  .where('created_at >= :start_date', { start_date: 1.month.ago }),\n                  file: 'db/seeds/event_instances.rb')\n  end\n\n  desc 'Dump EventInstance table to file'\n  task event_instance_all: :environment do\n    SeedDump.dump(EventInstance.all, file: 'db/seeds/event_instances.rb')\n  end\nend\n"
  },
  {
    "path": "lib/tasks/event_participation/event_participation_karma.csv",
    "content": "3467,1\n1356,1\n1174,2\n1246,2\n2242,13\n269,2\n962,4\n1025,1\n1030,1\n1376,1\n3082,3\n633,106\n2979,1\n1064,1\n1095,1\n751,133\n3479,1\n1396,1\n2292,3\n1397,5\n548,2\n1787,7\n989,1\n1245,186\n2945,2\n979,2\n1322,1\n1496,1\n1603,1\n1593,1\n1337,7\n1437,7\n1348,1\n1516,1\n1274,1\n460,4\n695,1\n560,1\n1152,6\n201,1\n719,1\n675,44\n632,1\n104,1\n3544,1\n3043,8\n2219,8\n863,2\n309,23\n599,9\n600,1\n2232,1\n830,1\n3555,1\n1255,3\n1455,2\n856,10\n584,6\n1228,9\n497,2\n870,3\n3055,1\n310,1\n3560,1\n562,2\n1280,1\n3564,26\n3242,2\n2422,2\n508,22\n1419,3\n3135,21\n3566,6\n1470,5\n2245,4\n1341,2\n1333,1\n2257,3\n3042,10\n1259,3\n1643,3\n2253,2\n829,5\n499,1\n1385,5\n3079,9\n2956,2\n1209,10\n2953,2\n1529,1\n3012,6\n2169,1\n2915,1\n1515,6\n3899,1\n1589,1\n2961,6\n2172,17\n2344,1\n2992,1\n43,12\n2365,1\n3016,1\n3092,1\n648,7\n1672,25\n2268,9\n2964,1\n2269,6\n1130,4\n2266,1\n1086,8\n2270,10\n2267,10\n1148,1\n1273,1\n2994,15\n1262,4\n2379,1\n2427,1\n1154,1\n529,2\n2802,1\n2175,4\n2238,1\n3201,4\n3193,2\n3205,1\n2202,8\n999,2\n453,2\n606,2\n2971,4\n2919,2\n2997,1\n3071,1\n2185,1\n1384,8\n2226,1\n2980,1\n2977,1\n2299,1\n2568,4\n2584,2\n2302,1\n2306,1\n1641,2\n2322,1\n2313,3\n2323,1\n367,2\n488,1\n2909,2\n2923,3\n2912,2\n3004,11\n3032,1\n2973,3\n3052,12\n3818,1\n61,9\n2385,3\n677,1\n525,1\n329,3\n520,2\n573,1\n394,3\n148,6\n534,1\n2250,3\n21,478\n439,1\n3102,6\n607,3\n1191,8\n2241,1\n1266,1\n1676,4\n2947,1\n1567,1\n1498,1\n3217,1\n1267,1\n1425,7\n1619,2\n3049,7\n645,2\n2289,2\n1007,1\n857,3\n2309,1\n1399,7\n3006,8\n3489,1\n2363,2\n1226,3\n3265,3\n2235,10\n3530,27\n2265,4\n3393,1\n6,34\n3916,4\n4214,14\n3525,4\n3331,2\n1069,7\n3440,1\n3325,1\n3801,2\n1675,9\n10,1\n4440,1\n3456,1\n3670,11\n3799,13\n3798,3\n3581,1\n1072,5\n2939,1\n3460,1\n3562,1\n3797,1\n5199,2\n4300,1\n3810,2\n3504,4\n1016,4\n1080,1\n3872,1\n403,60\n2437,4\n58,23\n1257,1\n384,2\n753,10\n449,44\n423,23\n909,1\n3153,1\n685,21\n3300,1\n2918,6\n3190,107\n547,1\n1674,5\n570,3\n885,8\n354,104\n1014,3\n2239,1\n15,71\n494,1\n505,1\n3292,4\n2362,1\n3191,4\n3561,1\n3753,15\n3542,26\n621,7\n3015,7\n1,790\n748,356\n7978,2\n2220,1\n2237,5\n2201,11\n3883,1\n992,5\n532,3\n62,39\n1243,2\n2958,9\n1284,5\n953,1\n2,9\n23,8\n3338,6\n128,14\n26,80\n1222,2\n461,73\n11,3\n1325,7\n25,11\n165,211\n3,1011\n"
  },
  {
    "path": "lib/tasks/fix_karma.rake",
    "content": "# frozen_string_literal: true\n\ntask fix_karma: :environment do\n  User.all.select { |u| u.karma.nil? }.each do |u|\n    u.karma = Karma.new\n    u.save\n  end\n  nil\nend\n"
  },
  {
    "path": "lib/tasks/github_content_for_static_pages.rake",
    "content": "# frozen_string_literal: true\n\nnamespace :fetch_github do\n  desc 'Get github content for static pages'\n  task content_for_static_pages: :environment do\n    GithubStaticPagesJob.run\n  end\n\n  desc 'Load PITCH/README file for AV projects using associated GitHub repository.'\n  task readme_files: :environment do\n    projects = Project.active.with_github_url\n    GithubReadmeFilesJob.run(projects)\n  end\nend\n"
  },
  {
    "path": "lib/tasks/import_pages.rake",
    "content": "# frozen_string_literal: true\n\nnamespace :db do\n  desc 'Import Existing Static Pages into the database'\n  task import_pages: :environment do\n    # Creating Root Pages\n    Dir.entries(Rails.root.join('app', 'views', 'pages').to_s).select { |f| f.ends_with? '.html.erb' }.each do |page|\n      StaticPage.create!(title: get_title(page), body: File.read(Rails.root.join('app', 'views', 'pages', page).to_s),\n                         slug: page.gsub('.html.erb', ''))\n      puts \"Created Static Page: #{get_title(page)}\"\n    end\n\n    # Creating remote-pair-programming\n    parent1 = StaticPage.find_by_slug('remote-pair-programming')\n    Dir.entries(Rails.root.join('app', 'views', 'pages', 'remote-pair-programming').to_s).select do |f|\n      f.ends_with? '.html.erb'\n    end.each do |page|\n      StaticPage.create!(title: get_title(page),\n                         body: File.read(Rails.root.join('app', 'views', 'pages', 'remote-pair-programming', page).to_s), parent_id: parent1.id)\n      puts \"Created Static Page: Remote Pair Programming/#{get_title(page)}\"\n    end\n\n    # Creating pair-programming-protocols\n    parent2 = StaticPage.find_by_slug('pair-programming-protocols')\n    Dir.entries(Rails.root.join('app', 'views', 'pages', 'remote-pair-programming',\n                                'pair-programming-protocols').to_s).select do |f|\n      f.ends_with? '.html.erb'\n    end.each do |page|\n      StaticPage.create!(title: get_title(page),\n                         body: File.read(Rails.root.join('app', 'views', 'pages', 'remote-pair-programming', 'pair-programming-protocols', page).to_s), parent_id: parent2.id)\n      puts \"Created Static Page: Remote Pair Programming/Pair Programming Protocols/#{get_title(page)}\"\n    end\n  end\nend\n\ndef get_title(page)\n  page.gsub('.html.erb', '').gsub(/[-_]/, ' ').split.map(&:capitalize).join(' ')\nend\n"
  },
  {
    "path": "lib/tasks/migrate_plans.rake",
    "content": "# frozen_string_literal: true\n\nnamespace :db do\n  desc 'Migrate Subscriptions away from STI to use composition with Plans'\n\n  task migrate_plans: :environment do\n    Subscription.all.each do |subscription|\n      plan = Plan.find_by(third_party_identifier: subscription.type.to_s.downcase)\n      subscription.plan = plan\n      subscription.save\n      Logger.new($stdout).info \"#{subscription.user.display_name.bold.blue}'s subscription migrated to use Plan'\"\n    end\n    Logger.new($stdout).info 'migration has been completed'.green\n  end\nend\n"
  },
  {
    "path": "lib/tasks/regenerate_slugs.rake",
    "content": "# frozen_string_literal: true\n\nnamespace :db do\n  desc 'Regenerate the permalinks used in place of ID for REST-ful paths'\n  task regenerate_slugs: :environment do\n    [Project, User, Document, StaticPage, Event].each do |klass|\n      klass.find_each(&:save)\n      puts \"Completed permalink regeneration for #{klass.name.bold.green} models\"\n    end\n  end\nend\n"
  },
  {
    "path": "lib/tasks/scheduler.rake",
    "content": "# frozen_string_literal: true\n\ndesc 'This task is called by the Heroku Scheduler'\n\ntask fetch_github_commits: :environment do\n  GithubCommitsJob.run\nend\n\ntask fetch_github_last_updates: :environment do\n  GithubLastUpdatesJob.run\nend\n\ntask fetch_github_languages: :environment do\n  GithubLanguagesJob.run\nend\n\ntask karma_calculator: :environment do\n  User.find_each do |user|\n    user_karma = Karma.find_or_initialize_by(user_id: user.id)\n    user_karma.attributes = KarmaCalculator.new(user).calculate\n    user_karma.save!\n  rescue StandardError => e\n    Rails.logger.error \"Error: Occurred while processing KarmaCalculator for User: #{usr.id}\"\n    Rails.logger.error e.message\n    Rails.logger.error e.backtrace.join \"\\n\"\n  end\nend\n"
  },
  {
    "path": "lib/tasks/send_welcome_message.rake",
    "content": "# frozen_string_literal: true\n\nnamespace :mailer do\n  desc 'sends welcome email to all users'\n  task send_welcome_message: :environment do\n    User.all.each do |user|\n      Mailer.send_welcome_message(user).deliver\n      puts \"sent welcome email to #{user.email.bold.blue}\"\n    end\n    puts 'completed sending welcome emails'.green\n  end\nend\n"
  },
  {
    "path": "lib/tasks/utils.rake",
    "content": "# frozen_string_literal: true\n\nnamespace :util do\n  task 'geocode-all' => [:environment] do\n    User.all.each do |user|\n      user.geocode\n      user.save!\n      puts \"Successfully geocoded User:#{user.id}\"\n    end\n  end\nend\n"
  },
  {
    "path": "lib/tasks/vcr_billy_caches.rake",
    "content": "# frozen_string_literal: true\n\nnamespace :vcr_billy_caches do\n  desc 'resets all vcr and billy caches to their default state in current git branch'\n  task reset: :environment do\n    `rm -rf features/support/fixtures/`\n    `git checkout features/support/fixtures/`\n  end\nend\n"
  },
  {
    "path": "lib/validators/image_url_validator.rb",
    "content": "# frozen_string_literal: true\n\nclass ImageUrlValidator < ActiveModel::Validator\n  IMAGE_HOST_WHITELIST = %w(bluemelon.com deviantart.com facebook.com\n                            flickr.com freeimagehosting.net imagebam.com imageshack.com\n                            imagevenue.com imgur.com instagram postimage.org photobucket.com\n                            picasa.com shutterfly.com slickpic.com snapfish.com smugmug.com\n                            tinypic.com twitpic.com webshots.com weheartit.com zenfolio.com).freeze\n\n  def validate(record)\n    return unless record.image_url.present?\n\n    if invalid_format?(record.image_url)\n      record.errors.add(:image_url, 'Invalid format. Image must be png, jpg, or jpeg.')\n    end\n\n    return if is_image_host_whitelisted?(record.image_url)\n\n    record.errors.add(:image_url, 'Invalid image url. Image provider not found in provider whitelist.')\n  end\n\n  private\n\n  def invalid_format?(url)\n    validation_regex = /\\.(png|jpg|jpeg)$/i\n    validation_regex.match(url).nil?\n  end\n\n  def is_image_host_whitelisted?(url)\n    IMAGE_HOST_WHITELIST.any? { |whitelist_item| url.match(/#{Regexp.escape(whitelist_item)}/) }\n  end\nend\n"
  },
  {
    "path": "lib/validators/pivotal_tracker_url_validator.rb",
    "content": "# frozen_string_literal: true\n\nclass PivotalTrackerUrlValidator < ActiveModel::Validator\n  def validate(record)\n    validate_pivotal_tracker_url(record) if record.pivotaltracker_url.present? && is_pivotal_tracker_url?(record)\n  end\n\n  private\n\n  def validate_pivotal_tracker_url(record)\n    url = record.pivotaltracker_url\n    match = url.match(%r{^(?:https|http|)[:/]*www\\.pivotaltracker\\.com/(s|n)/projects/(\\d+)$}i)\n    if match.present?\n      pv_id = match.captures[1]\n    elsif url =~ /^\\d+$/\n      pv_id = url\n    end\n\n    if pv_id.present?\n      # tidy up URL\n      record.pivotaltracker_url = \"https://www.pivotaltracker.com/n/projects/#{pv_id}\"\n    else\n      record.errors.add(:pivotaltracker_url, 'Invalid Pivotal Tracker URL')\n    end\n  end\n\n  def is_pivotal_tracker_url?(record)\n    url = record.pivotaltracker_url\n    match = url.match(/pivotaltracker/)\n    pv_id = url =~ /^\\d+$/\n\n    !match.nil? or pv_id\n  end\nend\n"
  },
  {
    "path": "lib/validators/uri_validator.rb",
    "content": "# frozen_string_literal: true\n\nrequire 'addressable/uri'\nclass UriValidator < ActiveModel::EachValidator\n  def validate_each(record, attribute, value)\n    uri = parse_uri(value)\n    if !uri\n      record.errors.add(attribute, generic_failure_message)\n    elsif !allowed_protocols.include?(uri.scheme)\n      record.errors.add(attribute, \"must begin with #{allowed_protocols_humanized}\")\n    end\n  end\n\n  private\n\n  def generic_failure_message\n    options[:message] || 'is an invalid URL'\n  end\n\n  def allowed_protocols_humanized\n    allowed_protocols.to_sentence(two_words_connector: ' or ')\n  end\n\n  def allowed_protocols\n    @allowed_protocols ||= Array((options[:allowed_protocols] || %w(http https)))\n  end\n\n  def parse_uri(value)\n    uri = Addressable::URI.parse(value)\n    uri.scheme && uri.host && uri\n  rescue URI::InvalidURIError, Addressable::URI::InvalidURIError, TypeError\n  end\nend\n"
  },
  {
    "path": "log/.keep",
    "content": ""
  },
  {
    "path": "package.json",
    "content": "{\n  \"name\": \"websiteone\",\n  \"version\": \"1.0.0\",\n  \"description\": \"A website for AgileVentures\",\n  \"main\": \"index.js\",\n  \"directories\": {\n    \"doc\": \"docs\"\n  },\n  \"type\": \"module\",\n  \"scripts\": {\n    \"postinstall\": \"scripts/copy_javascript_dependencies.cjs\",\n    \"build\": \"node esbuild.config.cjs\",\n    \"build:css\": \"pwd\",\n    \"build:cssx\": \"sass ./app/assets/stylesheets/application.bootstrap.scss:./app/assets/builds/application.css --no-source-map --load-path=node_modules\"\n  },\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"git+https://github.com/AgileVentures/WebsiteOne.git\"\n  },\n  \"author\": \"\",\n  \"license\": \"MIT\",\n  \"bugs\": {\n    \"url\": \"https://github.com/AgileVentures/WebsiteOne/issues\"\n  },\n  \"homepage\": \"https://github.com/AgileVentures/WebsiteOne#readme\",\n  \"dependencies\": {\n    \"@hotwired/stimulus\": \"^3.2.1\",\n    \"@hotwired/turbo-rails\": \"^7.3.0\",\n    \"@nathanvda/cocoon\": \"^1.2.14\",\n    \"@popperjs/core\": \"^2.11.6\",\n    \"@rails/actiontext\": \"^7.0.4-3\",\n    \"copyfiles\": \"^1.0.0\",\n    \"corejs-typeahead\": \"^1.2.1\",\n    \"esbuild\": \"^0.17.11\",\n    \"esbuild-plugin-import-glob\": \"^0.1.1\",\n    \"esbuild-sass-plugin\": \"^2.6.0\",\n    \"fullcalendar\": \"^3.6.2\",\n    \"geckodriver\": \"^3.2.0\",\n    \"jasmine-browser-runner\": \"^0.10.0\",\n    \"jasmine-core\": \"^3.99.0\",\n    \"jquery\": \"^3.6.4\",\n    \"local-time\": \"^2.1.0\",\n    \"lolex\": \"^6.0.0\",\n    \"moment\": \"^2.13.0\",\n    \"moment-timezone\": \"0.5.4\",\n    \"npx\": \"^10.2.2\",\n    \"sass\": \"^1.59.3\",\n    \"trix\": \"^1.3.1\",\n    \"yarn\": \"^1.22.19\"\n  }\n}\n"
  },
  {
    "path": "public/403.html",
    "content": "\n<html>\n<head>\n  <title>Access rejected (403)</title>\n  <style>\n  body {\n    background-color: #EFEFEF;\n    color: #2E2F30;\n    text-align: center;\n    font-family: arial, sans-serif;\n  }\n\n  div.dialog {\n    width: 30em;\n    margin: 5em auto 0 auto;\n    border: 1px solid #CCC;\n    border-right-color: #999;\n    border-left-color: #999;\n    border-bottom-color: #BBB;\n    border-top: #B00100 solid 4px;\n    border-top-left-radius: 9px;\n    border-top-right-radius: 9px;\n    background-color: white;\n    padding: 7px 4em 0 4em;\n  }\n\n  h1 {\n    font-size: 100%;\n    color: #730E15;\n    line-height: 1.5em;\n  }\n\n  body > p {\n    width: 33em;\n    margin: 0 auto 1em;\n    padding: 1em 0;\n    background-color: #F7F7F7;\n    border: 1px solid #CCC;\n    border-right-color: #999;\n    border-bottom-color: #999;\n    border-bottom-left-radius: 4px;\n    border-bottom-right-radius: 4px;\n    border-top-color: #DADADA;\n    color: #666;\n    box-shadow:0 3px 8px rgba(50, 50, 50, 0.17);\n  }\n  </style>\n</head>\n\n<body>\n  <!-- This file lives in public/422.html -->\n  <div class=\"dialog\">\n    <h1>Access rejected.</h1>\n    <p>Maybe you tried to do something you didn't have access to.</p>\n  </div>\n  <p>If you are the application owner check the logs for more information.</p>\n</body>\n</html>\n"
  },
  {
    "path": "public/404.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n  <title>The page you were looking for doesn't exist (404)</title>\n  <style>\n  body {\n    background-color: #EFEFEF;\n    color: #2E2F30;\n    text-align: center;\n    font-family: arial, sans-serif;\n  }\n\n  div.dialog {\n    width: 25em;\n    margin: 4em auto 0 auto;\n    border: 1px solid #CCC;\n    border-right-color: #999;\n    border-left-color: #999;\n    border-bottom-color: #BBB;\n    border-top: #B00100 solid 4px;\n    border-top-left-radius: 9px;\n    border-top-right-radius: 9px;\n    background-color: white;\n    padding: 7px 4em 0 4em;\n  }\n\n  h1 {\n    font-size: 100%;\n    color: #730E15;\n    line-height: 1.5em;\n  }\n\n  body > p {\n    width: 33em;\n    margin: 0 auto 1em;\n    padding: 1em 0;\n    background-color: #F7F7F7;\n    border: 1px solid #CCC;\n    border-right-color: #999;\n    border-bottom-color: #999;\n    border-bottom-left-radius: 4px;\n    border-bottom-right-radius: 4px;\n    border-top-color: #DADADA;\n    color: #666;\n    box-shadow:0 3px 8px rgba(50, 50, 50, 0.17);\n  }\n  </style>\n</head>\n\n<body>\n  <!-- This file lives in public/404.html -->\n  <div class=\"dialog\">\n    <h1>The page you were looking for doesn't exist.</h1>\n    <p>You may have mistyped the address or the page may have moved.</p>\n  </div>\n  <p>If you are the application owner check the logs for more information.</p>\n</body>\n</html>\n"
  },
  {
    "path": "public/422.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n  <title>The change you wanted was rejected (422)</title>\n  <style>\n  body {\n    background-color: #EFEFEF;\n    color: #2E2F30;\n    text-align: center;\n    font-family: arial, sans-serif;\n  }\n\n  div.dialog {\n    width: 25em;\n    margin: 4em auto 0 auto;\n    border: 1px solid #CCC;\n    border-right-color: #999;\n    border-left-color: #999;\n    border-bottom-color: #BBB;\n    border-top: #B00100 solid 4px;\n    border-top-left-radius: 9px;\n    border-top-right-radius: 9px;\n    background-color: white;\n    padding: 7px 4em 0 4em;\n  }\n\n  h1 {\n    font-size: 100%;\n    color: #730E15;\n    line-height: 1.5em;\n  }\n\n  body > p {\n    width: 33em;\n    margin: 0 auto 1em;\n    padding: 1em 0;\n    background-color: #F7F7F7;\n    border: 1px solid #CCC;\n    border-right-color: #999;\n    border-bottom-color: #999;\n    border-bottom-left-radius: 4px;\n    border-bottom-right-radius: 4px;\n    border-top-color: #DADADA;\n    color: #666;\n    box-shadow:0 3px 8px rgba(50, 50, 50, 0.17);\n  }\n  </style>\n</head>\n\n<body>\n  <!-- This file lives in public/422.html -->\n  <div class=\"dialog\">\n    <h1>The change you wanted was rejected.</h1>\n    <p>Maybe you tried to change something you didn't have access to.</p>\n  </div>\n  <p>If you are the application owner check the logs for more information.</p>\n</body>\n</html>\n"
  },
  {
    "path": "public/500.html",
    "content": "<!DOCTYPE html>\n<html>\n<head>\n  <title>We're sorry, but something went wrong (500)</title>\n  <style>\n  body {\n    background-color: #EFEFEF;\n    color: #2E2F30;\n    text-align: center;\n    font-family: arial, sans-serif;\n  }\n\n  div.dialog {\n    width: 25em;\n    margin: 4em auto 0 auto;\n    border: 1px solid #CCC;\n    border-right-color: #999;\n    border-left-color: #999;\n    border-bottom-color: #BBB;\n    border-top: #B00100 solid 4px;\n    border-top-left-radius: 9px;\n    border-top-right-radius: 9px;\n    background-color: white;\n    padding: 7px 4em 0 4em;\n  }\n\n  h1 {\n    font-size: 100%;\n    color: #730E15;\n    line-height: 1.5em;\n  }\n\n  body > p {\n    width: 33em;\n    margin: 0 auto 1em;\n    padding: 1em 0;\n    background-color: #F7F7F7;\n    border: 1px solid #CCC;\n    border-right-color: #999;\n    border-bottom-color: #999;\n    border-bottom-left-radius: 4px;\n    border-bottom-right-radius: 4px;\n    border-top-color: #DADADA;\n    color: #666;\n    box-shadow:0 3px 8px rgba(50, 50, 50, 0.17);\n  }\n  </style>\n</head>\n\n<body>\n  <!-- This file lives in public/500.html -->\n  <div class=\"dialog\">\n    <h1>We're sorry, but something went wrong.</h1>\n  </div>\n  <p>If you are the application owner check the logs for more information.</p>\n</body>\n</html>\n"
  },
  {
    "path": "public/analytics.txt",
    "content": "GooGhywoiu9839t543j0s7543uw1 - pls add thomas@agileventures.org to GA account UA-47795185-1 with ‘Manage Users and Edit’ permissions - date 2021-06-10."
  },
  {
    "path": "public/robots.txt",
    "content": "# See http://www.robotstxt.org/wc/norobots.html for documentation on how to use the robots.txt file\n#\n# To ban all spiders from the entire site uncomment the next two lines:\n# User-agent: *\n# Disallow: /\n"
  },
  {
    "path": "scripts/copy_javascript_dependencies.cjs",
    "content": "#!/usr/bin/env node\nvar copyfiles = require('copyfiles');\n\ncopyfiles([\n    'node_modules/nprogress/nprogress.js',\n    'node_modules/corejs-typeahead/dist/typeahead.jquery.js',\n    'node_modules/moment/min/moment.min.js',\n    'node_modules/moment-timezone/builds/moment-timezone-with-data-2012-2022.js',\n    'vendor/assets/javascripts'],\n    true,\n    function (err, files) { });"
  },
  {
    "path": "spec/controllers/application_controller_spec.rb",
    "content": "# frozen_string_literal: true\n\ndescribe ApplicationController do\n  controller do\n    def events\n      render plain: ''\n    end\n\n    def new\n      render plain: ''\n    end\n\n    def new_user\n      render plain: ''\n    end\n\n    def new_password\n      render plain: ''\n    end\n\n    def signout\n      render plain: ''\n    end\n\n    def edit_password\n      render plain: ''\n    end\n  end\n\n  before do\n    @routes.draw do\n      match '/events' => 'anonymous#events', :as => :events, via: %i(get post delete put)\n      get '/users/sign_in' => 'anonymous#new', :as => :user_session\n      get '/users/sign_up' => 'anonymous#new_user', :as => :new_user_registration\n      get '/users/password/new' => 'anonymous#new_password', :as => :new_user_password\n      get '/users/sign_out' => 'anonymous#signout', :as => :destroy_user_session\n      get '/users/password/edit' => 'anonymous#edit_password', :as => :edit_user_password\n    end\n  end\n\n  describe 'store a location if not a blacklisted url' do\n    it 'should store the path in the session if a get request' do\n      get :events\n      expect(session[:previous_url]).to eq('/events')\n    end\n  end\n  describe 'do not store a location if url okay but not a get request' do\n    it 'should not store the path in the session if a put request' do\n      put :events\n      expect(session[:previous_url]).to_not eq('/events')\n    end\n    it 'should not store the path in the session if an xhr request' do\n      get :events, xhr: true\n      expect(session[:previous_url]).to_not eq('/events')\n    end\n    it 'should not store the path in the session if a delete request' do\n      delete :events\n      expect(session[:previous_url]).to_not eq('/events')\n    end\n    it 'should not store the path in the session if a post request' do\n      post :events\n      expect(session[:previous_url]).to_not eq('/events')\n    end\n  end\n  describe 'do not store a location if a blacklisted url' do\n    it \"doesn't accept sign in path\" do\n      get :new\n      expect(session[:previous_url]).to be_nil\n    end\n    it \"doesn't accept sign up path\" do\n      get :new_user\n      expect(session[:previous_url]).to be_nil\n    end\n    it \"doesn't accept new user password path\" do\n      get :new_password\n      expect(session[:previous_url]).to be_nil\n    end\n    it \"doesn't accept sign in\" do\n      get :signout\n      expect(session[:previous_url]).to be_nil\n    end\n    it \"doesn't accept sign in\" do\n      get :edit_password\n      expect(session[:previous_url]).to be_nil\n    end\n  end\nend\n"
  },
  {
    "path": "spec/controllers/articles_controller_spec.rb",
    "content": "# frozen_string_literal: true\n\nRSpec.describe ArticlesController do\n  let(:valid_params) do\n    { article: { title: 'title',\n                 content: 'Content',\n                 tag_list: 'Ruby on Rails' } }\n  end\n  let(:articles) { instance_double(ActiveRecord::Relation) }\n\n  describe 'GET index' do\n    before { allow(articles).to receive_messages(order: articles, includes: articles) }\n\n    context 'when tag is provided' do\n      before { allow(Article).to receive(:tagged_with).and_return articles }\n\n      it 'executes tagged queries', :aggregate_failures do\n        get :index, params: { tag: 'tag' }\n        expect(Article).to have_received(:tagged_with).with 'tag'\n        expect(articles).to have_received(:order).with 'created_at DESC'\n        expect(articles).to have_received(:includes).with :user\n      end\n    end\n\n    context 'when tag is not provided' do\n      before { allow(Article).to receive(:order).and_return articles }\n\n      it 'executes untagged queries', :aggregate_failures do\n        get :index\n        expect(Article).to have_received(:order).with 'created_at DESC'\n        expect(articles).to have_received(:includes).with :user\n      end\n    end\n  end\n\n  describe 'GET show' do\n    let(:article) { double('Article', friendly_id: 'friend', user: author) }\n    let(:author)  { double('User') }\n\n    before(:each) do\n      allow(Article).to receive(:friendly).and_return articles\n      allow(articles).to receive(:find).and_return article\n    end\n\n    it 'is expected to render the show template' do\n      get :show, params: { id: article.friendly_id }\n      expect(response).to render_template :show\n    end\n\n    it 'is expected to search the database using the friendly id' do\n      get :show, params: { id: article.friendly_id }\n      expect(Article).to have_received(:friendly)\n      expect(articles).to have_received(:find).with article.friendly_id\n      expect(article).to have_received(:user)\n    end\n\n    it 'is expected to assign the requested article to article' do\n      get :show, params: { id: article.friendly_id }\n      expect(assigns(:article)).to eq article\n    end\n\n    it 'is expected to assign the requested article author to author' do\n      get :show, params: { id: article.friendly_id }\n      expect(assigns(:author)).to eq author\n    end\n  end\n\n  describe 'GET new' do\n    before(:each) { controller.stub(:authenticate_user!).and_return(true) }\n\n    it 'is expected to require authentication' do\n      expect(controller).to receive(:authenticate_user!)\n      get :new\n    end\n\n    it 'is expected to render the new template' do\n      get :new\n      expect(response).to render_template(:new)\n    end\n\n    it 'is expected to assign a new article to @article' do\n      get :new\n      expect(assigns(:article)).to be_a(Article)\n      expect(assigns(:article)).to be_new_record\n    end\n\n    it 'should be initialize the article with default tags if present' do\n      tag = 'I love AV!'\n      dummy = double('Article')\n      expect(Article).to receive(:new).and_return(dummy)\n      expect(dummy).to receive(:tag_list=).with([tag])\n      get :new, params: { tag: tag }\n    end\n  end\n\n  describe 'GET edit' do\n    let(:article) { double('Article', friendly_id: 'friend') }\n\n    before(:each) do\n      controller.stub(:authenticate_user!).and_return(true)\n      allow(Article).to receive(:friendly).and_return articles\n      allow(articles).to receive(:find).and_return article\n    end\n\n    it 'is expected to require authentication' do\n      expect(controller).to receive(:authenticate_user!)\n      get :edit, params: { id: article.friendly_id }\n    end\n\n    it 'is expected to search for the article using friendly ids' do\n      get :edit, params: { id: article.friendly_id }\n      expect(Article).to have_received(:friendly)\n      expect(articles).to have_received(:find).with article.friendly_id\n    end\n\n    it 'is expected to assign the article to be edited to article' do\n      get :edit, params: { id: article.friendly_id }\n      expect(assigns(:article)).to eq article\n    end\n  end\n\n  describe 'POST create' do\n    let(:user)    { double('User', id: 1) }\n    let(:article) { build(:article, title: 'my title', slug: 'friend') }\n    let(:save)    { true }\n\n    before(:each) do\n      controller.stub(:authenticate_user!).and_return(true)\n      allow(controller).to receive(:current_user).and_return(user)\n      allow(article).to receive(:create_activity)\n      allow(user).to receive_message_chain(:articles, :build).and_return article\n      allow(article).to receive(:save).and_return save\n    end\n\n    it 'is expected to require authentication' do\n      expect(controller).to receive(:authenticate_user!)\n      post :create, params: valid_params\n    end\n\n    context 'when successful' do\n      before { allow(article).to receive(:create_activity) }\n\n      it 'creates activity' do\n        post :create, params: valid_params\n        expect(article).to have_received(:create_activity).with(:create, { owner: user })\n      end\n\n      it 'is responds with success message', :aggregate_failures do\n        post :create, params: valid_params\n        expect(flash[:notice]).to match(/^Successfully created the article/)\n        expect(response).to redirect_to article_path(article)\n      end\n    end\n\n    context 'when unsuccessful' do\n      let(:save)          { false }\n      let(:error_message) { 'invalid form entry' }\n\n      before do\n        allow(article).to(\n          receive_message_chain(:errors, :full_messages, :join).and_return(error_message)\n        )\n      end\n\n      it 'responds with error message' do\n        post :create, params: valid_params\n        expect(flash.now[:alert]).to eq error_message\n        expect(response).to render_template :new\n      end\n    end\n  end\n\n  describe 'POST update' do\n    before(:each) do\n      controller.stub(:authenticate_user!).and_return(true)\n      @article = double('Article', title: 'my title', friendly_id: 'friend')\n      @article.stub(:update).and_return(true)\n      Article.stub_chain('friendly.find').and_return(@article)\n      allow(@article).to receive(:create_activity)\n    end\n\n    let(:valid_update_params) { valid_params.merge(id: @article.friendly_id) }\n\n    it 'is expected to require authentication' do\n      expect(controller).to receive(:authenticate_user!)\n      post :update, params: valid_update_params\n    end\n\n    it 'is expected to receive :create_activity with :update' do\n      post :update, params: valid_update_params\n      expect(@article).to have_received(:create_activity).with(:update, { owner: @user })\n    end\n\n    it 'is expected to redirect the user back to the show page with a flash message on success' do\n      post :update, params: valid_update_params\n      expect(flash[:notice]).to match(/^Successfully updated the article/)\n      expect(response).to redirect_to article_path(@article)\n    end\n\n    it 'is expected to render the edit template with error messages on failure' do\n      error_messages = 'error!'\n      expect(@article).to receive(:update).and_return(false)\n      @article.stub_chain('errors.full_messages.join').and_return(error_messages)\n      post :update, params: valid_update_params\n      expect(flash.now[:alert]).to eq error_messages\n      expect(response).to render_template :edit\n    end\n  end\n\n  describe 'POST/PATCH preview' do\n    before(:each) do\n      @params = { article: { title: 'Patch title', content: 'Some content', tag_list: 'Ruby' } }\n      controller.stub(:authenticate_user!).and_return(true)\n    end\n\n    it 'is expected to require authentication' do\n      expect(controller).to receive(:authenticate_user!)\n      patch :preview, params: @params\n    end\n\n    it 'is expected to render the preview template' do\n      patch :preview, params: @params\n      expect(response).to render_template :preview\n    end\n\n    it 'is expected to assign a new article with the given parameters' do\n      patch :preview, params: @params\n      expect(assigns(:article)).to be_a(Article)\n\n      @params[:article].each_pair do |k, v|\n        expect(assigns(:article).send(k).to_s).to eq v\n      end\n    end\n\n    it 'is expected to assign default parameters to the preview article' do\n      @user = double('User', id: 1)\n      controller.stub(:current_user).and_return(@user)\n      patch :preview, params: @params\n      expect(assigns(:author)).to eq @user\n      expect(assigns(:article).created_at).to_not be_nil\n      expect(assigns(:article).created_at).to_not be_nil\n    end\n  end\nend\n"
  },
  {
    "path": "spec/controllers/authentications_controller_spec.rb",
    "content": "# frozen_string_literal: true\n\nRSpec.describe AuthenticationsController do\n  before(:each) do\n    OmniAuth.config.mock_auth['agileventures'] = {\n      'provider' => 'agileventures',\n      'uid' => '12345678',\n      'info' => { 'email' => 'foo@agileventures.org' }\n    }\n    @provider = 'agileventures'\n    @path = '/some/path'\n    request.env['omniauth.origin'] = @path\n  end\n\n  it 'should render a failure message on unsuccessful authentication' do\n    get :failure\n    expect(flash[:alert]).to eq 'Authentication failed.'\n    expect(response).to redirect_to root_path\n  end\n\n  context 'destroying authentications' do\n    before(:each) do\n      @user = double(User, id: 1, friendly_id: 'my-id', encrypted_password: 'i-am-encrypted')\n      request.env['warden'].stub authenticate!: @user\n      controller.stub current_user: @user\n\n      @auth = double(Authentication)\n      @auths = [@auth]\n      expect(@user).to receive(:authentications).at_least(1).and_return @auths\n      expect(@auths).to receive(:find).and_return @auth\n      @auth.stub(destroy: true)\n    end\n\n    it 'should require authentication' do\n      User.stub(find: @user)\n      expect(controller).to receive(:authenticate_user!)\n      expect(@user).to receive(:update)\n      get :destroy, params: { id: 1 }\n    end\n\n    it 'should be removable for users with a password' do\n      User.stub(find: @user)\n      expect(@auths).to receive(:count).and_return 2\n      expect(@auth).to receive(:destroy).and_return true\n      expect(@user).to receive(:update).and_return true\n      get :destroy, params: { id: 1 }\n      expect(flash[:notice]).to eq 'Successfully removed profile.'\n    end\n\n    it 'should not be allowed for users without any other means of authentication' do\n      expect(@auths).to receive(:count).and_return 1\n      expect(@user).to receive(:encrypted_password).and_return nil\n      get :destroy, params: { id: 1 }\n      expect(flash[:alert]).to eq 'Failed to unlink GitHub. Please use another provider for login or reset password.'\n    end\n  end\n\n  before(:each) do\n    request.env['omniauth.auth'] = OmniAuth.config.mock_auth[@provider]\n    request.env['omniauth.params'] = {}\n  end\n\n  context 'for not signed in users' do\n    before(:each) do\n      @user = double(User)\n      @user.stub(:apply_omniauth)\n    end\n\n    it 'should sign in the correct user for existing profiles' do\n      @auth = double(Authentication, user: @user)\n      expect(Authentication).to receive(:find_by_provider_and_uid).and_return @auth\n      expect(controller).to receive(:sign_in_and_redirect) do\n        controller.redirect_to root_path\n      end\n      get :create, params: { provider: @provider }\n      expect(flash[:notice]).to eq 'Signed in successfully.'\n    end\n\n    context 'for new profiles' do\n      before(:each) do\n        expect(Authentication).to receive(:find_by_provider_and_uid).and_return nil\n        expect(User).to receive(:new).and_return(@user)\n      end\n\n      it 'should create a new user for non-existing profiles' do\n        Mailer.stub_chain :send_welcome_message, :deliver_now\n        expect(@user).to receive(:save).and_return(true)\n        expect(controller).to receive(:sign_in_and_redirect) do\n          controller.redirect_to root_path\n        end\n        get :create, params: { provider: @provider }\n        expect(flash[:notice]).to eq 'Signed in successfully.'\n      end\n\n      it 'should redirect to the new user form if there is an error' do\n        expect(@user).to receive(:save).and_return(false)\n        get :create, params: { provider: @provider }\n        expect(response).to redirect_to new_user_registration_path\n      end\n    end\n\n    context 'for deactivated users' do\n      before(:each) do\n        expect(Authentication).to receive(:find_by_provider_and_uid).and_return nil\n        expect(controller).to receive(:deactivated_user_with_email).with('foo@agileventures.org').and_return(@user)\n      end\n\n      it 'should redirect to root path with deactivated user alert message' do\n        get :create, params: { provider: @provider }\n        expect(response).to redirect_to root_path\n        expect(flash[:alert]).to eq('User is deactivated.')\n      end\n    end\n  end\n\n  context 'for signed in users' do\n    before(:each) do\n      @user = double(User, id: 1, friendly_id: 'my-id', encrypted_password: 'i-am-encrypted')\n      request.env['warden'].stub authenticate!: @user\n      controller.stub current_user: @user\n      @auth = double(Authentication, user: @user)\n      controller.stub user_signed_in?: true\n    end\n\n    it 'should not allow connecting to a profile when the profile already exists under a different user' do\n      Authentication.stub(:find_by_provider_and_uid).and_return @auth\n      other_user = double(User, id: @user.id + 1)\n      controller.stub current_user: other_user\n      get :create, params: { provider: @provider }\n      expect(flash[:alert]).to eq 'Another account is already associated with these credentials!'\n      expect(response).to redirect_to @path\n    end\n\n    context 'connecting to a new profile' do\n      before(:each) do\n        Authentication.stub(:find_by_provider_and_uid).and_return nil\n        @user.stub_chain(:authentications, :build).and_return @auth\n      end\n\n      it 'should be able to create other profiles' do\n        other_auths = %w(Glitter Smoogle HitPub)\n        other_auths.each do |p|\n          expect(@auth).to receive(:save).and_return true\n          get :create, params: { provider: p }\n          expect(flash[:notice]).to eq 'Authentication successful.'\n          expect(response).to redirect_to @path\n        end\n      end\n\n      it 'should not accept multiple profiles from the same source' do\n        expect(@auth).to receive(:save).and_return false\n        get :create, params: { provider: @provider }\n        expect(flash[:alert]).to eq 'Unable to create additional profiles.'\n        expect(response).to redirect_to @path\n      end\n    end\n  end\n\n  describe 'Github profile link' do\n    before(:each) do\n      controller.stub(authenticate_user!: true)\n\n      request.env['omniauth.auth'] = {\n        'provider' => 'github',\n        'info' => { 'urls' => { 'GitHub' => 'http://github.com/test' } }\n      }\n    end\n\n    it 'links Github profile when authenticate with GitHub' do\n      user = stub_model(User, github_profile_url: nil)\n      controller.stub(current_user: user)\n      User.stub(find: user)\n      user.stub(:reload)\n\n      expect(controller).to receive(:link_github_profile).and_call_original\n      get :create, params: { provider: 'github' }\n      expect(user.github_profile_url).to eq('http://github.com/test')\n    end\n\n    it 'unlinks Github profile when Github profile is removed by user' do\n      @user = stub_model(User, github_profile_url: 'http://github.com/test', encrypted_password: 'i-am-encrypted')\n      controller.stub(current_user: @user)\n      @auth = double(Authentication, user: @user)\n      @auths = [@auth]\n\n      User.stub(find: @user)\n      expect(@user).to receive(:authentications).at_least(1).and_return @auths\n      expect(@auths).to receive(:find).and_return @auth\n\n      expect(@auths).to receive(:count).and_return 2\n      expect(@auth).to receive(:destroy).and_return true\n\n      expect(controller).to receive(:destroy).and_call_original\n      get :destroy, params: { id: @user.id }\n      expect(@user.github_profile_url).to be_nil\n    end\n  end\nend\n"
  },
  {
    "path": "spec/controllers/calendar_controller_spec.rb",
    "content": "# frozen_string_literal: true\n\nRSpec.describe CalendarController, type: :controller do\n  it 'is expected to have calendar route' do\n    get :index\n    expect(response.status).to eq(200)\n  end\n  context 'is expected to send a file' do\n    before do\n      @time = Time.now\n      @name = 'Test_Event'\n      @event = create(:event, category: 'PairProgramming', name: @name, start_datetime: @time, repeat_ends: false)\n    end\n    it 'with proper headers' do\n      get :index\n      expect(response.header['Content-Type']).to eq('text/calendar')\n      expect(response.header['Content-Transfer-Encoding']).to eq('binary')\n    end\n    it 'and proper content' do\n      get :index\n      expect(response.body).to match(/BEGIN:VCALENDAR/)\n      expect(response.body).to include(@name)\n      expect(response.body).to include(@event.start_datetime.strftime('%Y%m%d'))\n    end\n  end\nend\n"
  },
  {
    "path": "spec/controllers/concerns/deactivated_user_finder_spec.rb",
    "content": "# frozen_string_literal: true\n\nRSpec.describe 'DeactivatedUserFinderConcern' do\n  before do\n    class FakeController < ActionController::Base\n      include DeactivatedUserFinder\n    end\n    @fake_controller = FakeController.new\n  end\n\n  describe '#deactivated_user_with_email' do\n    before do\n      @deactivated_user = create(:user,\n                                 deleted_at: DateTime.new(2000, 1, 1),\n                                 email: 'random@random.com')\n      @user = create(:user, email: 'example@example.com')\n    end\n\n    after do\n      Object.send(:remove_const, :FakeController)\n    end\n\n    it \"is expected to return deactivated user when email is deactivated_user's email\" do\n      expect(@fake_controller.deactivated_user_with_email(@deactivated_user.email)).to eq @deactivated_user\n    end\n\n    it \"is expected to return nil when email is user's email\" do\n      expect(@fake_controller.deactivated_user_with_email(@user.email)).to be nil\n    end\n  end\nend\n"
  },
  {
    "path": "spec/controllers/concerns/statistics_spec.rb",
    "content": "# frozen_string_literal: true\n\nRSpec.describe 'StatisticsConcern' do\n  before do\n    class FakeController < ActionController::Base\n      include Statistics\n    end\n    @time = Time.now\n    @fake_controller = FakeController.new\n  end\n\n  after do\n    Object.send(:remove_const, :FakeController)\n  end\n\n  it 'gets stats for articles' do\n    create_list(:article, 5)\n    expect(@fake_controller.get_stats_for(:articles)).to eq({ count: 5 })\n  end\n\n  describe 'gets stats for projects' do\n    it 'and only counts active projects ' do\n      create_list(:project, 5, status: 'active')\n      create_list(:project, 3, status: 'disactivated')\n      expect(@fake_controller.get_stats_for(:projects)).to eq({ count: 5 })\n    end\n\n    it 'with mixed case status' do\n      create_list(:project, 5, status: 'ACTive')\n      expect(@fake_controller.get_stats_for(:projects)).to eq({ count: 5 })\n    end\n  end\n\n  it 'gets stats for members' do\n    create_list(:user, 5)\n    expect(@fake_controller.get_stats_for(:members)).to eq({ count: 5 })\n  end\n\n  it 'gets stats for documents' do\n    create_list(:document, 5)\n    expect(@fake_controller.get_stats_for(:documents)).to eq({ count: 5 })\n  end\n\n  it 'get stats for pair programming minutes' do\n    create_list(:event_instance, 5,\n                category: 'PairProgramming',\n                created_at: @time,\n                updated_at: (@time + (10 * 60)))\n    expect(@fake_controller.get_stats_for(:pairing_minutes)).to eq({ value: 50 })\n  end\n\n  it 'get stats for pair scrum minutes' do\n    create_list(:event_instance, 5,\n                category: 'Scrum',\n                created_at: @time,\n                updated_at: (@time + (10 * 60)))\n    expect(@fake_controller.get_stats_for(:scrum_minutes)).to eq({ value: 50 })\n  end\nend\n"
  },
  {
    "path": "spec/controllers/dashboard_controller_spec.rb",
    "content": "# frozen_string_literal: true\n\ndescribe DashboardController, type: :controller do\n  describe 'GET index' do\n    it 'renders the correct template' do\n      get :index\n      expect(response).to render_template 'dashboard/index'\n    end\n\n    it 'assigns stats variable' do\n      allow(controller).to receive(:get_stats).and_return('test')\n      get :index\n      expect(assigns(:stats)).to eq 'test'\n    end\n  end\nend\n"
  },
  {
    "path": "spec/controllers/documents_controller_spec.rb",
    "content": "# frozen_string_literal: true\n\nRSpec.describe DocumentsController, type: :controller do\n  let(:user) { @user }\n  let(:document) { @document }\n  let(:valid_attributes) do\n    {\n      'title' => 'MyString',\n      'body' => 'MyText',\n      'user_id' => user.id.to_s\n    }\n  end\n  let(:valid_session) { {} }\n  let(:categories) do\n    [\n      create(:document, id: 555, project_id: document.project_id, parent_id: nil, title: 'Title-1'),\n      create(:document, id: 556, project_id: document.project_id, parent_id: nil, title: 'Title-2')\n    ]\n  end\n  let(:params) { { id: categories.first.to_param, project_id: document.project.friendly_id, categories: 'true' } }\n\n  before(:each) do\n    @user = create(:user)\n    request.env['warden'].stub authenticate!: user\n    controller.stub current_user: user\n    @document = create(:document, title: 'doc title')\n    allow(@document).to receive(:create_activity)\n  end\n\n  it 'is expected to raise an error if no project was found' do\n    expect do\n      get :show, params: { id: @document.id, project_id: @document.project.id + 3 }.merge(valid_session)\n    end.to raise_error ActiveRecord::RecordNotFound\n  end\n\n  describe 'GET show' do\n    context 'with a single project' do\n      before(:each) do\n        get :show, params: { id: document.to_param, project_id: document.project.friendly_id }.merge(valid_session)\n      end\n\n      it 'is expected to assign the requested document as @document' do\n        expect(assigns(:document)).to eq(document)\n      end\n\n      it do\n        expect(response).to render_template 'show'\n      end\n    end\n\n    context 'with more than one project' do\n      before(:each) do\n        @document_2 = create(:document)\n      end\n\n      it 'is expected to not mistakenly render the document under the wrong project' do\n        expect do\n          get :show, params: { id: document.to_param, project_id: @document_2.project.friendly_id }\n        end.to raise_error ActiveRecord::RecordNotFound\n      end\n    end\n  end\n\n  describe 'get_doc_categories' do\n    context 'has categories to show' do\n      it 'is expected to render the categories partial' do\n        get :get_doc_categories, params: params\n        expect(response).to render_template(partial: '_categories')\n      end\n\n      it 'is expected to assign the available categories to @categories' do\n        get :get_doc_categories, params: params.merge({ id: document.to_param })\n        extended_categories = categories.push(document)\n        expect(assigns(:categories)).to match_array extended_categories\n      end\n    end\n  end\n\n  describe 'PUT update_document_parent_id/' do\n    let(:do_post) { post :update_parent_id, params: params.merge({ new_parent_id: parent_id }) }\n    let(:current_document) { Document.find_by_id(categories.first.id) }\n\n    context 'with a valid parent id' do\n      let(:parent) { Document.find_by_id(categories.last.id) }\n      let(:parent_id) { parent.id.to_s }\n\n      it 'is expected to change the document parent id' do\n        do_post\n        expect(current_document.parent_id).to eq(parent.id)\n      end\n\n      it 'is expected to assign flash message after changing parent_id' do\n        do_post\n        expect(flash[:notice]).to eq('You have successfully moved Title-1 to the Title-2 section.')\n      end\n    end\n\n    context 'with an invalid parent id' do\n      let(:parent_id) { 'invalid_id' }\n\n      it 'is not expected to change the document parent id' do\n        old_parent_id = current_document.parent_id\n        do_post\n        current_document.reload\n        expect(current_document.parent_id).to eq(old_parent_id)\n      end\n\n      it 'is expected to render a flash error message' do\n        do_post\n        expect(flash[:error]).to eq('Could not find the new parent document')\n      end\n    end\n  end\n\n  describe 'GET new' do\n    before(:each) { get :new, params: { project_id: document.project.friendly_id }.merge(valid_session) }\n\n    it 'is expected to assign a new document as @document' do\n      expect(assigns(:document)).to be_a_new(Document)\n    end\n\n    it do\n      expect(response).to render_template 'new'\n    end\n  end\n\n  describe 'POST create' do\n    describe 'with valid params' do\n      it 'is expected to create a new Document' do\n        expect do\n          post :create, params: { project_id: document.project.friendly_id, document: valid_attributes }\n        end.to change(Document, :count).by 1\n      end\n\n      it 'is expected to assign a newly created document as @document' do\n        post :create,\n             params: { project_id: document.project.friendly_id, document: valid_attributes }.merge(valid_session)\n        expect(assigns(:document)).to be_a(Document)\n        expect(assigns(:document)).to be_persisted\n      end\n\n      it 'is expected to redirect to the created document' do\n        post :create,\n             params: { project_id: document.project.friendly_id, document: valid_attributes }.merge(valid_session)\n        expect(response).to redirect_to project_document_path(Document.last.project, Document.last)\n      end\n\n      it 'is expected to create a document create activity' do\n        expect do\n          post :create, params: { project_id: document.project.friendly_id, document: valid_attributes }\n        end.to change(PublicActivity::Activity, :count).by 1\n      end\n    end\n\n    describe 'with invalid params' do\n      it 'is expected to assign a newly created but unsaved document as @document' do\n        # Trigger the behavior that occurs when invalid params are submitted\n        Document.any_instance.stub(:save).and_return(false)\n        post :create,\n             params: { project_id: document.project.friendly_id,\n                       document: { title: 'invalid value' } }.merge(valid_session)\n        expect(assigns(:document)).to be_a_new(Document)\n        expect(assigns(:document)).to_not be_persisted\n      end\n\n      it 'is expected to re-render the new template' do\n        # Trigger the behavior that occurs when invalid params are submitted\n        Document.any_instance.stub(:save).and_return(false)\n        post :create,\n             params: { project_id: document.project.friendly_id,\n                       document: { title: 'invalid value' } }.merge(valid_session)\n        expect(response).to render_template 'new'\n      end\n    end\n  end\n\n  describe 'DELETE destroy' do\n    before(:each) { @document = FactoryBot.create(:document) }\n\n    it 'is expected to destroy the requested document' do\n      expect do\n        delete :destroy,\n               params: { id: @document.to_param, project_id: @document.project.friendly_id }.merge(valid_session)\n      end.to change(Document, :count).by(-1)\n    end\n\n    it 'is expected to redirect to the documents list' do\n      id = @document.project.id\n      delete :destroy,\n             params: { id: @document.to_param, project_id: @document.project.friendly_id }.merge(valid_session)\n      expect(response).to redirect_to(project_documents_path(id))\n    end\n  end\nend\n"
  },
  {
    "path": "spec/controllers/event_instances_controller_spec.rb",
    "content": "# frozen_string_literal: true\n\nRSpec.describe EventInstancesController do\n  let(:params) { { id: '333', host_id: 'host', title: 'title' } }\n\n  before do\n    allow(HangoutNotificationService).to receive(:with)\n    allow(YoutubeNotificationService).to receive(:with)\n    request.env['HTTP_ORIGIN'] = 'http://test.com'\n  end\n\n  describe '#index' do\n    before do\n      create_list(:event_instance, 3)\n      create_list(:event_instance, 3, updated: 1.hour.ago)\n    end\n\n    context 'show all hangouts/event-instances' do\n      it 'assigns all hangouts' do\n        get :index\n        expect(assigns(:event_instances).count).to eq(6)\n      end\n    end\n\n    context 'show only live hangouts/event-instances' do\n      it 'assigns live hangouts' do\n        get :index, params: { live: 'true' }\n        expect(assigns(:event_instances).count).to eq(3)\n      end\n    end\n  end\n\n  describe '#update' do\n    before do\n      allow_any_instance_of(EventInstance).to receive(:update).and_return('true')\n      allow(controller).to receive(:authenticate_user!).and_return(true)\n    end\n\n    it 'requires user to be logged in' do\n      expect(controller).to receive(:authenticate_user!)\n      get :update, params: params\n    end\n\n    it 'creates a hangout if there is no hangout assosciated with the event' do\n      get :update, params: params\n      hangout = EventInstance.find_by_uid('333')\n      expect(hangout).to be_valid\n    end\n\n    it 'updates a hangout if it is present' do\n      expect_any_instance_of(EventInstance).to receive(:update)\n      get :update, params: params\n    end\n\n    it 'returns a success response if update is successful' do\n      get :update, params: params\n      expect(response.status).to eq(200)\n    end\n\n    context 'slack notification' do\n      it 'calls the SlackService to post hangout notification on successful update' do\n        expect(HangoutNotificationService).to receive(:with).with(an_instance_of(EventInstance))\n        expect_any_instance_of(EventInstance).to receive(:hangout_url?).at_least(:once).and_return(true)\n        get :update, params: params.merge(notify: 'true', hangout_url: 'test_url')\n      end\n\n      it 'does not call the SlackService if not update' do\n        allow_any_instance_of(EventInstance).to receive(:update).and_return(false)\n        expect(HangoutNotificationService).not_to receive(:with).with(an_instance_of(EventInstance))\n        get :update, params: params.merge(notify: 'true')\n      end\n\n      it 'does not call the SlackService if not notify' do\n        expect(HangoutNotificationService).not_to receive(:with).with(an_instance_of(EventInstance))\n        get :update, params: params.merge(notify: 'false')\n      end\n\n      it 'calls the SlackService to post yt_link on successful update' do\n        expect(YoutubeNotificationService).to receive(:with).with(an_instance_of(EventInstance))\n        expect_any_instance_of(EventInstance).to receive(:yt_video_id?).at_least(:once).and_return(true)\n        get :update, params: params.merge(notify_yt: 'true', yt_video_id: 'test')\n      end\n\n      it 'does not call the SlackService to post yt_link if not update' do\n        allow_any_instance_of(EventInstance).to receive(:update).and_return(false)\n        expect(YoutubeNotificationService).not_to receive(:with).with(an_instance_of(EventInstance))\n        get :update, params: params.merge(notify: 'true')\n      end\n\n      it 'does not calls the SlackService to post yt_link if not notify' do\n        expect(YoutubeNotificationService).not_to receive(:with).with(an_instance_of(EventInstance))\n        get :update, params: params.merge(notify: 'false')\n      end\n    end\n\n    it 'returns a failure response if update is unsuccessful' do\n      allow_any_instance_of(EventInstance).to receive(:update).and_return(false)\n      get :update, params: params\n      expect(response.status).to eq(500)\n    end\n\n    it 'redirects to event show page if the link was updated manually' do\n      allow(controller).to receive(:local_request?).and_return(true)\n      get :update, params: params.merge(event_id: '50')\n      expect(response).to redirect_to(event_path(50))\n    end\n\n    it 'update EventInstance with permitted params' do\n      allow(Time).to receive(:now).and_return DateTime.parse('2016-06-23 13:57:37.073318243')\n      upd_params = {\n        'title' => 'title',\n        'project_id' => 'project_id',\n        'event_id' => 'event_id',\n        'category' => 'category',\n        'user_id' => 'host',\n        'hangout_participants_snapshots_attributes' => [{ 'participants' => 'one, two' }],\n        'participants' => 'one, two',\n        'hangout_url' => 'test_url',\n        'yt_video_id' => 'video',\n        'hoa_status' => 'started',\n        'url_set_directly' => nil,\n        'updated_at' => Time.now,\n        'youtube_tweet_sent' => nil\n      }\n      allow_any_instance_of(EventInstance).to receive(:update).with(upd_params)\n      get :update, params: params.merge(upd_params)\n    end\n\n    context 'required parameters are missing' do\n      it 'raises exception on missing host_id' do\n        params[:host_id] = nil\n        expect { get :update, params: params }.to raise_error(ActionController::ParameterMissing)\n      end\n\n      it 'raises exception on missing title' do\n        params[:title] = nil\n        expect { get :update, params: params }.to raise_error(ActionController::ParameterMissing)\n      end\n    end\n  end\nend\n"
  },
  {
    "path": "spec/controllers/scrums_controller_spec.rb",
    "content": "# frozen_string_literal: true\n\ndescribe ScrumsController do\n  let!(:scrum) { FactoryBot.create(:event_instance, category: 'Scrum', created_at: DateTime.now) }\n  let!(:scrum2) { FactoryBot.create(:event_instance, category: 'Scrum', created_at: DateTime.now.at_beginning_of_day) }\n  let!(:hangout) { FactoryBot.create(:event_instance, category: 'PairProgramming') }\n\n  describe '#index' do\n    context '@scrums instance variable' do\n      before { get :index }\n\n      context 'the array of videos' do\n        subject { assigns(:scrums) }\n\n        it 'the last video has an older date than the first video' do\n          expect(subject.last.created_at).to be < subject.first.created_at\n        end\n\n        it 'includes instances with category Scrum' do\n          expect(subject).to include scrum, scrum2, hangout\n        end\n      end\n    end\n  end\nend\n"
  },
  {
    "path": "spec/controllers/static_pages_controller_spec.rb",
    "content": "# frozen_string_literal: true\n\ndescribe StaticPagesController, type: :controller do\n  let(:user) { FactoryBot.build_stubbed(:user) }\n  let(:page) { FactoryBot.create(:static_page) }\n  let(:valid_attributes) do\n    {\n      'title' => 'MyString',\n      'body' => 'MyText'\n    }\n  end\n  let(:valid_session) { {} }\n\n  before(:each) do\n    allow(request.env['warden']).to receive(:authenticate!).and_return(user)\n    allow(controller).to receive(:current_user) { user }\n    allow(user).to receive(:touch)\n  end\n\n  describe 'GET show' do\n    before(:each) do\n      get :show, params: { id: page.to_param }.merge(valid_session)\n    end\n\n    it 'assigns the requested page as page' do\n      expect(assigns(:page)).to eq(page)\n    end\n\n    it 'renders the show template' do\n      expect(response).to render_template 'show'\n    end\n\n    it 'assigns the requested page ancestry as the page.title' do\n      expect(assigns(:ancestry)).to eq([page.title])\n    end\n\n    it 'assigns the requested child page ancestry as @ancestry' do\n      page_child = FactoryBot.create(:static_page, parent_id: page.id)\n      get :show, params: { id: page_child.to_param }.merge(valid_session)\n      expect(assigns(:ancestry)).to eq([page.title, page_child.title])\n    end\n  end\nend\n"
  },
  {
    "path": "spec/controllers/subscriptions_controller_spec.rb",
    "content": "# frozen_string_literal: true\n\ndescribe SubscriptionsController, type: :controller do\n  describe 'Attempt to get individual subscription/upgrade' do\n    it 'raises URL Generation error' do\n      expect { get '/subscriptions/upgrade' }.to raise_error(ActionController::UrlGenerationError)\n    end\n  end\nend\n"
  },
  {
    "path": "spec/controllers/users_controller_spec.rb",
    "content": "# frozen_string_literal: true\n\ndescribe UsersController, type: :controller do\n  describe '#index' do\n    it 'should return a status code of 200' do\n      expect(response.code).to eq('200')\n    end\n\n    it 'should assign the results of the search to @users' do\n      user = FactoryBot.create(:user)\n      get :index\n      expect(assigns(:users)).to include(user)\n    end\n  end\n\n  describe '#new' do\n    before do\n      @user = User.new\n    end\n\n    it 'new creates a User object\" ' do\n      expect(@user).to be_an_instance_of User\n    end\n  end\n\n  describe '#show' do\n    before do\n      @projects = build_stubbed_list(:project, 3)\n      @user = build_stubbed(:user)\n      allow(@user).to receive(:following_by_type).and_return(@projects)\n      allow(@user).to receive(:skill_list).and_return([])\n      User.stub_chain(:friendly, :find).and_return(@user)\n      allow(@user).to receive(:bio).and_return('test_bio')\n    end\n\n    context 'with a public profile' do\n      before(:each) do\n        object = double('object')\n        expect(EventInstance).to receive(:where).with(user_id: @user.id).and_return(object)\n        object2 = double('object2')\n        expect(object).to receive(:order).with(created_at: :desc).and_return(object2)\n        expect(object2).to receive(:limit).with(5).and_return('videos')\n        get 'show', params: { id: @user.friendly_id }\n      end\n\n      it 'assigns a user instance' do\n        expect(assigns(:user)).to eq(@user)\n      end\n\n      it 'assigns youtube videos' do\n        expect(assigns(:event_instances)).to eq('videos')\n      end\n\n      it 'renders the show view' do\n        expect(response).to render_template :show\n      end\n    end\n\n    context 'with a private profile' do\n      before do\n        allow(@user).to receive(:display_profile).and_return(false)\n      end\n\n      it 'it renders an error message when accessing a private profile' do\n        expect { get 'show', params: { id: @user.friendly_id } }.to raise_error ActiveRecord::RecordNotFound\n      end\n    end\n  end\n\n  describe 'send hire me button message' do\n    let(:mail) { ActionMailer::Base.deliveries }\n\n    before(:each) do\n      @user = build_stubbed(:user, display_hire_me: true)\n      allow(User).to receive(:find).with(@user.id.to_s).and_return(@user)\n      request.env['HTTP_REFERER'] = 'back'\n      mail.clear\n    end\n\n    let(:valid_params) do\n      {\n        contact_form: {\n          name: 'Thomas',\n          email: 'example@example.com',\n          message: 'This is a message just for you',\n          recipient_id: @user.id\n        }\n      }\n    end\n\n    let(:invalid_params) do\n      {\n        contact_form: {\n          name: 'Thomas',\n          email: '',\n          message: 'This is a message just for you',\n          recipient_id: @user.id\n        }\n      }\n    end\n\n    let(:empty_params) do\n      {\n        contact_form: {\n          name: '',\n          email: '',\n          message: '',\n          recipient_id: @user.id\n        }\n      }\n    end\n\n    context 'with valid parameters' do\n      before(:each) { post :hire_me, params: valid_params }\n\n      it 'should redirect to the previous page' do\n        expect(response).to redirect_to user_path(@user.id)\n      end\n\n      it 'should respond with \"Your message has been sent successfully!\"' do\n        expect(flash[:notice]).to eq 'Your message has been sent successfully!'\n      end\n\n      it 'should send out an email to the user' do\n        expect(mail.count).to eq 1\n        expect(mail.last.to).to include @user.email\n      end\n    end\n\n    context 'with invalid parameters' do\n      context 'empty form fields' do\n        before(:each) { post :hire_me, params: invalid_params }\n\n        it 'should redirect to the previous page' do\n          expect(response).to have_http_status(:ok)\n        end\n\n        it 'should respond with \"Email cant be blank' do\n          expect(flash[:alert]).to include \"Email can't be blank\"\n        end\n      end\n\n      context 'invalid email address' do\n        before(:each) do\n          post :hire_me,\n               params: { contact_form: { name: 'Thomas', email: 'example@example..com', message: 'This is a message just for you',\n                                         recipient_id: @user.id } }\n        end\n\n        it 'should redirect to the previous page' do\n          expect(response).to have_http_status :ok\n        end\n\n        it 'should respond with \"Please give a valid email address\"' do\n          expect(flash[:alert]).to eq ['Email is invalid']\n        end\n      end\n    end\n\n    context 'with empty parameters' do\n      it 'should fail with no back path' do\n        request.env['HTTP_REFERER'] = nil\n        post :hire_me, params: empty_params\n        expect(flash[:alert]).to include 'Email is invalid'\n        expect(flash[:alert]).to include \"Email can't be blank\"\n        expect(flash[:alert]).to include \"Name can't be blank\"\n        expect(flash[:alert]).to include \"Message can't be blank\"\n      end\n    end\n  end\n\n  describe 'PATCH add_status_user' do\n    let(:user) { FactoryBot.create(:user) }\n    let(:valid_attributes) { { status: 'Sleeping at my keyboard', user_id: user.friendly_id } }\n\n    before(:each) do\n      allow(request.env['warden']).to receive(:authenticate!).and_return(user)\n    end\n\n    context 'with valid attributes' do\n      before(:each) do\n        patch :add_status, params: { id: user, user: valid_attributes }\n      end\n\n      it 'should require user to be signed in' do\n        expect(request.env['warden']).to have_received(:authenticate!)\n      end\n\n      it 'should redirect to user show page' do\n        expect(response).to redirect_to user_path(user)\n      end\n\n      it 'should render a successful flash message' do\n        expect(flash[:notice]).to eq 'Your status has been set'\n      end\n    end\n\n    context 'with invalid attributes' do\n      it 'should render a failure flash message' do\n        patch :add_status, params: { id: user, user: {} }\n        expect(flash[:alert]).to eq 'Something went wrong...'\n      end\n    end\n  end\nend\n"
  },
  {
    "path": "spec/controllers/visitors_controller_spec.rb",
    "content": "# frozen_string_literal: true\n\ndescribe VisitorsController do\n  let(:valid_params) { { name: 'Ivan', email: 'my@email.com', message: 'Love your site!' } }\n  it 'renders index template' do\n    get :index\n    expect(response).to render_template('index')\n  end\n\n  it 'assigns event to next_occurrence' do\n    event = double(Event)\n    expect(Event).to receive(:next_occurrence).with(:Scrum).and_return(event)\n    get :index\n    expect(assigns(:event)).to eq event\n  end\nend\n"
  },
  {
    "path": "spec/factories/articles.rb",
    "content": "# frozen_string_literal: true\n\n# Read about factories at https://github.com/thoughtbot/factory_bot\n\nFactoryBot.define do\n  factory :article do\n    sequence(:title) { |n| \"Title #{n}\" }\n    content { Faker::Lorem.paragraph(sentence_count: 1) }\n    tag_list { ['Ruby'] }\n    slug { title.parameterize }\n    user\n  end\nend\n"
  },
  {
    "path": "spec/factories/authentications.rb",
    "content": "# frozen_string_literal: true\n\nFactoryBot.define do\n  factory :authentication do\n    user\n  end\nend\n"
  },
  {
    "path": "spec/factories/commit_count.rb",
    "content": "# frozen_string_literal: true\n\nFactoryBot.define do\n  factory :commit_count do\n    commit_count { rand(500) }\n    user\n    project\n  end\nend\n"
  },
  {
    "path": "spec/factories/documents.rb",
    "content": "# frozen_string_literal: true\n\n# Read about factories at https://github.com/thoughtbot/factory_bot\n\nFactoryBot.define do\n  factory :document do\n    sequence(:title) { |n| \"Title #{n}\" }\n    sequence(:body) { |n| \"MyText #{n}\" }\n    sequence(:content) { |n| \"MyContent #{n}\" }\n    slug { title.parameterize }\n    versions { [FactoryBot.build(:version)] }\n    project\n    user\n  end\nend\n"
  },
  {
    "path": "spec/factories/event_instances.rb",
    "content": "# frozen_string_literal: true\n\nFactoryBot.define do\n  sequence :participant do |n|\n    { n.to_s => { 'person' => { displayName: \"Participant_#{n}\", 'id' => \"youtube_id_#{n}\", isBroadcaster: 'false' } } }\n  end\n  sequence :broadcaster do |n|\n    { (n - 1).to_s => { 'person' => { displayName: \"Broadcaster#{n}\", 'id' => \"youtube_id_#{n}\",\n                                      isBroadcaster: 'true' } } }\n  end\n\n  factory :event_instance do\n    transient do\n      created { Time.now }\n      updated { Time.now }\n    end\n\n    project\n    event\n    user\n    sequence(:uid) { |n| \"uid_#{n}\" }\n    sequence(:title) { |n| \"Hangout_#{n}\" }\n    sequence(:category) { |n| \"Category_#{n}\" }\n    hangout_url { 'http://hangout.test' }\n    sequence(:yt_video_id) { |n| \"yt_video_id_#{n}\" }\n\n    participants { ActionController::Parameters.new((generate :broadcaster).merge(generate(:participant))) }\n\n    created_at { Time.parse(\"#{created} UTC\") }\n    updated_at { Time.parse(\"#{updated} UTC\") }\n\n    factory :live_event_instance do\n      association :event, factory: :recent_event\n    end\n  end\nend\n"
  },
  {
    "path": "spec/factories/events.rb",
    "content": "# frozen_string_literal: true\n\nFactoryBot.define do\n  factory :event do\n    sequence(:name) { |n| \"Event #{n}\" }\n    category { 'Scrum' }\n    description { '' }\n    start_datetime { '2014-03-07 23:30:00 UTC' }\n    duration { '1' }\n    repeats { 'weekly' }\n    repeats_every_n_weeks { '1' }\n    repeats_weekly_each_days_of_the_week_mask { '64' }\n    repeat_ends_string { 'on' }\n    repeat_ends_on { '2015-03-31' }\n    time_zone { 'UTC' }\n    repeat_ends { true }\n\n    factory :recent_event do\n      start_datetime { 8.hours.ago }\n      repeat_ends_on { 1.year.from_now }\n      repeats_weekly_each_days_of_the_week_mask { '127' }\n    end\n  end\n  factory :invalid_event do\n    name { nil }\n  end\nend\n"
  },
  {
    "path": "spec/factories/karmas.rb",
    "content": "# frozen_string_literal: true\n\nFactoryBot.define do\n  factory :karma do\n    total { 1 }\n    hangouts_attended_with_more_than_one_participant { 1 }\n  end\nend\n"
  },
  {
    "path": "spec/factories/papertrail_version.rb",
    "content": "# frozen_string_literal: true\n\nFactoryBot.define do\n  factory :version, class: PaperTrail::Version do\n    item_type { 'Document' }\n    event { 'create' }\n    object { nil }\n    created_at { '2014-02-25 11:50:56' }\n    item_id { 99 }\n    whodunnit\n  end\nend\n"
  },
  {
    "path": "spec/factories/payment_source.rb",
    "content": "# frozen_string_literal: true\n\nFactoryBot.define do\n  factory :paypal, class: PaymentSource::PayPal do\n  end\nend\n"
  },
  {
    "path": "spec/factories/plans.rb",
    "content": "# frozen_string_literal: true\n\nFactoryBot.define do\n  factory :plan do\n    name { '' }\n    free_trial_length_days { '' }\n    third_party_identifier { 'MyString' }\n    amount { 0 }\n  end\nend\n"
  },
  {
    "path": "spec/factories/projects.rb",
    "content": "# frozen_string_literal: true\n\nFactoryBot.define do\n  sequence(:tag) { |n| \"tag_#{n}\" }\n\n  factory :project do\n    sequence(:title) { |n| \"Title #{n}\" }\n    sequence(:slug) { |n| \"title-#{n}\" }\n    description { 'Warp fields stabilize.' }\n    pitch { \"'I AM the greatest!' - M. Ali\" }\n    status { 'active' }\n    factory :project_with_tags do\n      transient do\n        tags { [generate(:tag), generate(:tag)] }\n      end\n\n      after(:create) do |project, evaluator|\n        project.tag_list.add(*evaluator.tags)\n        project.save\n      end\n    end\n  end\nend\n"
  },
  {
    "path": "spec/factories/scrums.rb",
    "content": "# frozen_string_literal: true\n\n# Read about factories at https://github.com/thoughtbot/factory_bot\n\nFactoryBot.define do\n  factory :scrum do\n    title { 'MyString' }\n  end\nend\n"
  },
  {
    "path": "spec/factories/source_repositories.rb",
    "content": "# frozen_string_literal: true\n\nFactoryBot.define do\n  factory :source_repository do\n    url { 'MyString' }\n  end\nend\n"
  },
  {
    "path": "spec/factories/static_page.rb",
    "content": "# frozen_string_literal: true\n\n# Read about factories at https://github.com/thoughtbot/factory_bot\n\nFactoryBot.define do\n  factory :static_page do\n    sequence(:title) { |n| \"Page #{n}\" }\n    sequence(:body) { |n| \"My Static Page #{n}\" }\n  end\nend\n"
  },
  {
    "path": "spec/factories/statuses.rb",
    "content": "# frozen_string_literal: true\n\n# Read about factories at https://github.com/thoughtbot/factory_bot\n\nFactoryBot.define do\n  factory :status do\n    status { Status::OPTIONS[rand(Status::OPTIONS.length)] }\n    user\n  end\nend\n"
  },
  {
    "path": "spec/factories/subscriptions.rb",
    "content": "# frozen_string_literal: true\n\nFactoryBot.define do\n  factory :subscription do\n    type { 'Premium' }\n    started_at { Time.now }\n    user\n  end\nend\n"
  },
  {
    "path": "spec/factories/users.rb",
    "content": "# frozen_string_literal: true\n\ninclude Warden::Test::Helpers\nWarden.test_mode!\nFactoryBot.define do\n  factory :user, aliases: [:whodunnit] do\n    trait(:with_karma) {  karma { Karma.new } }\n    trait(:without_karma) { karma { nil } }\n\n    transient do\n      gplus { 'youtube_id_1' }\n    end\n\n    first_name { Faker::Name.first_name }\n    last_name { Faker::Name.last_name }\n    email { Faker::Internet.email }\n    password { '12345678' }\n    password_confirmation { password }\n    display_profile { true }\n    slug { \"#{first_name} #{last_name}\".parameterize }\n    bio { Faker::Lorem.sentence }\n    skill_list { Faker::Lorem.words(number: 4) }\n\n    after(:save) do |user, evaluator|\n      create(:authentication, provider: 'gplus', uid: evaluator.gplus, user_id: user.id)\n    end\n  end\nend\n"
  },
  {
    "path": "spec/features/project_create_and_approval_spec.rb",
    "content": "# frozen_string_literal: true\n\nRSpec.describe 'Project is subject to approval' do\n  let!(:admin) { create(:user, admin: true) }\n  let!(:user) { create(:user, admin: false) }\n\n  subject { page }\n\n  feature 'upon creation by a user without admin rights a project' do\n    scenario \"is expected to have status set to 'Pending'\" do\n      login_as user, scope: :user\n      visit('/projects/new')\n      fill_in('Title', with: 'Read a book')\n      fill_in('Description', with: 'Excellent read')\n\n      click_button('Submit')\n      expect(Project.last.status).to eq('pending')\n    end\n  end\n\n  feature 'user without admin rights attempts to access pending projects view' do\n    before do\n      login_as user, scope: :user\n      visit('/pending_projects')\n    end\n\n    it {\n      is_expected\n        .to have_content('You do not have permission to perform that operation')\n    }\n  end\n\n  feature 'user with admin rights can access pending projects view' do\n    let!(:projects) { 5.times { create(:project, status: 'pending') } }\n    before do\n      login_as admin, scope: :user\n      visit('/pending_projects')\n    end\n\n    it {\n      is_expected\n        .to have_content('List of Pending Projects')\n    }\n\n    it {\n      is_expected.to have_selector('.project_card', count: 5)\n    }\n  end\n\n  feature 'user without admin rights cannot access edit projects view for a project they did not create' do\n    before do\n      login_as user, scope: :user\n      project = create(:project, user: admin)\n      visit(\"/projects/#{project.id}/edit\")\n    end\n\n    it {\n      is_expected\n        .to have_content('You do not have permission to perform that operation')\n    }\n  end\n\n  feature 'user with admin rights can access edit projects view for a project they did not create' do\n    let!(:project) { create(:project, user: user) }\n\n    before do\n      login_as admin, scope: :user\n      visit(\"/projects/#{project.id}/edit\")\n    end\n\n    it {\n      is_expected.to have_current_path(\"/projects/#{project.id}/edit\")\n    }\n\n    it {\n      is_expected\n        .to have_no_content('You do not have permission to perform that operation')\n    }\n  end\n\n  feature 'user without admin rights cannot see activate button on project page' do\n    before do\n      login_as user, scope: :user\n      project = create(:project, status: 'pending')\n      visit(\"/projects/#{project.id}\")\n    end\n\n    it {\n      is_expected\n        .to have_no_content('Activate Project')\n    }\n  end\n\n  feature 'user without admin rights cannot see deactivate button on project page' do\n    let(:project) { create(:project, status: 'active') }\n    before do\n      login_as user, scope: :user\n      visit(\"/projects/#{project.id}\")\n    end\n\n    it {\n      is_expected\n        .to have_no_content('Deactivate Project')\n    }\n  end\n\n  feature 'user with admin rights can see activate button on project page' do\n    let(:project) { create(:project, status: 'pending') }\n\n    before do\n      login_as admin, scope: :user\n      visit(\"/projects/#{project.id}\")\n    end\n\n    it {\n      is_expected\n        .to have_content('Activate Project')\n    }\n\n    feature 'and clicking the activate project button' do\n      before { click_on('Activate Project') }\n\n      it 'is expected to set project status to \"active\"' do\n        expect(project.reload.status).to eq 'active'\n      end\n\n      it {\n        is_expected\n          .to have_content('Project was activated')\n      }\n    end\n  end\n\n  feature 'user with admin rights can see deactivate button on project page' do\n    let(:project) { create(:project, status: 'active') }\n\n    before do\n      login_as admin, scope: :user\n      visit(\"/projects/#{project.id}\")\n    end\n\n    it {\n      is_expected\n        .to have_content('Deactivate Project')\n    }\n\n    feature 'and clicking the activate project button' do\n      before { click_on('Deactivate Project') }\n\n      it 'is expected to set project status to \"active\"' do\n        expect(project.reload.status).to eq 'pending'\n      end\n\n      it {\n        is_expected\n          .to have_content('Project was deactivated')\n      }\n    end\n  end\nend\n"
  },
  {
    "path": "spec/fixtures/cassettes/GithubLastUpdatesJob/_run/shf-project_with_hyphen/has_correct_last_commit_date_after_job_run.yml",
    "content": "---\nhttp_interactions:\n- request:\n    method: get\n    uri: https://api.github.com/repos/AgileVentures/shf-project\n    body:\n      encoding: US-ASCII\n      string: ''\n    headers:\n      Accept:\n      - application/vnd.github.v3+json\n      User-Agent:\n      - Octokit Ruby Gem 4.3.0\n      Content-Type:\n      - application/json\n      Accept-Encoding:\n      - gzip;q=1.0,deflate;q=0.6,identity;q=0.3\n  response:\n    status:\n      code: 200\n      message: OK\n    headers:\n      Server:\n      - GitHub.com\n      Date:\n      - Thu, 09 Mar 2017 14:12:37 GMT\n      Content-Type:\n      - application/json; charset=utf-8\n      Transfer-Encoding:\n      - chunked\n      Status:\n      - 200 OK\n      X-Ratelimit-Limit:\n      - '60'\n      X-Ratelimit-Remaining:\n      - '52'\n      X-Ratelimit-Reset:\n      - '1489070493'\n      Cache-Control:\n      - public, max-age=60, s-maxage=60\n      Vary:\n      - Accept\n      - Accept-Encoding\n      Etag:\n      - W/\"731b062a44e336a800ee4f9003342fe3\"\n      Last-Modified:\n      - Fri, 02 Dec 2016 13:34:05 GMT\n      X-Github-Media-Type:\n      - github.v3; format=json\n      Access-Control-Expose-Headers:\n      - ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset,\n        X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval\n      Access-Control-Allow-Origin:\n      - \"*\"\n      Content-Security-Policy:\n      - default-src 'none'\n      Strict-Transport-Security:\n      - max-age=31536000; includeSubdomains; preload\n      X-Content-Type-Options:\n      - nosniff\n      X-Frame-Options:\n      - deny\n      X-Xss-Protection:\n      - 1; mode=block\n      X-Served-By:\n      - 15bc4ab707db6d6b474783868c7cc828\n      X-Github-Request-Id:\n      - C370:04A8:3C719DC:4D17708:58C162D5\n    body:\n      encoding: ASCII-8BIT\n      string: !binary |-\n        eyJpZCI6NzExNTc3MzcsIm5hbWUiOiJzaGYtcHJvamVjdCIsImZ1bGxfbmFt\n        ZSI6IkFnaWxlVmVudHVyZXMvc2hmLXByb2plY3QiLCJvd25lciI6eyJsb2dp\n        biI6IkFnaWxlVmVudHVyZXMiLCJpZCI6NTExNjk2OCwiYXZhdGFyX3VybCI6\n        Imh0dHBzOi8vYXZhdGFyczMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNTEx\n        Njk2OD92PTMiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBp\n        LmdpdGh1Yi5jb20vdXNlcnMvQWdpbGVWZW50dXJlcyIsImh0bWxfdXJsIjoi\n        aHR0cHM6Ly9naXRodWIuY29tL0FnaWxlVmVudHVyZXMiLCJmb2xsb3dlcnNf\n        dXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9BZ2lsZVZlbnR1\n        cmVzL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5n\n        aXRodWIuY29tL3VzZXJzL0FnaWxlVmVudHVyZXMvZm9sbG93aW5ney9vdGhl\n        cl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20v\n        dXNlcnMvQWdpbGVWZW50dXJlcy9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVk\n        X3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvQWdpbGVWZW50\n        dXJlcy9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191\n        cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0FnaWxlVmVudHVy\n        ZXMvc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6\n        Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9BZ2lsZVZlbnR1cmVzL29yZ3MiLCJy\n        ZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0FnaWxl\n        VmVudHVyZXMvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0\n        aHViLmNvbS91c2Vycy9BZ2lsZVZlbnR1cmVzL2V2ZW50c3svcHJpdmFjeX0i\n        LCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNv\n        bS91c2Vycy9BZ2lsZVZlbnR1cmVzL3JlY2VpdmVkX2V2ZW50cyIsInR5cGUi\n        OiJPcmdhbml6YXRpb24iLCJzaXRlX2FkbWluIjpmYWxzZX0sInByaXZhdGUi\n        OmZhbHNlLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9BZ2lsZVZl\n        bnR1cmVzL3NoZi1wcm9qZWN0IiwiZGVzY3JpcHRpb24iOm51bGwsImZvcmsi\n        OnRydWUsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvQWdp\n        bGVWZW50dXJlcy9zaGYtcHJvamVjdCIsImZvcmtzX3VybCI6Imh0dHBzOi8v\n        YXBpLmdpdGh1Yi5jb20vcmVwb3MvQWdpbGVWZW50dXJlcy9zaGYtcHJvamVj\n        dC9mb3JrcyIsImtleXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9y\n        ZXBvcy9BZ2lsZVZlbnR1cmVzL3NoZi1wcm9qZWN0L2tleXN7L2tleV9pZH0i\n        LCJjb2xsYWJvcmF0b3JzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20v\n        cmVwb3MvQWdpbGVWZW50dXJlcy9zaGYtcHJvamVjdC9jb2xsYWJvcmF0b3Jz\n        ey9jb2xsYWJvcmF0b3J9IiwidGVhbXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0\n        aHViLmNvbS9yZXBvcy9BZ2lsZVZlbnR1cmVzL3NoZi1wcm9qZWN0L3RlYW1z\n        IiwiaG9va3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9B\n        Z2lsZVZlbnR1cmVzL3NoZi1wcm9qZWN0L2hvb2tzIiwiaXNzdWVfZXZlbnRz\n        X3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvQWdpbGVWZW50\n        dXJlcy9zaGYtcHJvamVjdC9pc3N1ZXMvZXZlbnRzey9udW1iZXJ9IiwiZXZl\n        bnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvQWdpbGVW\n        ZW50dXJlcy9zaGYtcHJvamVjdC9ldmVudHMiLCJhc3NpZ25lZXNfdXJsIjoi\n        aHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9BZ2lsZVZlbnR1cmVzL3No\n        Zi1wcm9qZWN0L2Fzc2lnbmVlc3svdXNlcn0iLCJicmFuY2hlc191cmwiOiJo\n        dHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL0FnaWxlVmVudHVyZXMvc2hm\n        LXByb2plY3QvYnJhbmNoZXN7L2JyYW5jaH0iLCJ0YWdzX3VybCI6Imh0dHBz\n        Oi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvQWdpbGVWZW50dXJlcy9zaGYtcHJv\n        amVjdC90YWdzIiwiYmxvYnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNv\n        bS9yZXBvcy9BZ2lsZVZlbnR1cmVzL3NoZi1wcm9qZWN0L2dpdC9ibG9ic3sv\n        c2hhfSIsImdpdF90YWdzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20v\n        cmVwb3MvQWdpbGVWZW50dXJlcy9zaGYtcHJvamVjdC9naXQvdGFnc3svc2hh\n        fSIsImdpdF9yZWZzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVw\n        b3MvQWdpbGVWZW50dXJlcy9zaGYtcHJvamVjdC9naXQvcmVmc3svc2hhfSIs\n        InRyZWVzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvQWdp\n        bGVWZW50dXJlcy9zaGYtcHJvamVjdC9naXQvdHJlZXN7L3NoYX0iLCJzdGF0\n        dXNlc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL0FnaWxl\n        VmVudHVyZXMvc2hmLXByb2plY3Qvc3RhdHVzZXMve3NoYX0iLCJsYW5ndWFn\n        ZXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9BZ2lsZVZl\n        bnR1cmVzL3NoZi1wcm9qZWN0L2xhbmd1YWdlcyIsInN0YXJnYXplcnNfdXJs\n        IjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9BZ2lsZVZlbnR1cmVz\n        L3NoZi1wcm9qZWN0L3N0YXJnYXplcnMiLCJjb250cmlidXRvcnNfdXJsIjoi\n        aHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9BZ2lsZVZlbnR1cmVzL3No\n        Zi1wcm9qZWN0L2NvbnRyaWJ1dG9ycyIsInN1YnNjcmliZXJzX3VybCI6Imh0\n        dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvQWdpbGVWZW50dXJlcy9zaGYt\n        cHJvamVjdC9zdWJzY3JpYmVycyIsInN1YnNjcmlwdGlvbl91cmwiOiJodHRw\n        czovL2FwaS5naXRodWIuY29tL3JlcG9zL0FnaWxlVmVudHVyZXMvc2hmLXBy\n        b2plY3Qvc3Vic2NyaXB0aW9uIiwiY29tbWl0c191cmwiOiJodHRwczovL2Fw\n        aS5naXRodWIuY29tL3JlcG9zL0FnaWxlVmVudHVyZXMvc2hmLXByb2plY3Qv\n        Y29tbWl0c3svc2hhfSIsImdpdF9jb21taXRzX3VybCI6Imh0dHBzOi8vYXBp\n        LmdpdGh1Yi5jb20vcmVwb3MvQWdpbGVWZW50dXJlcy9zaGYtcHJvamVjdC9n\n        aXQvY29tbWl0c3svc2hhfSIsImNvbW1lbnRzX3VybCI6Imh0dHBzOi8vYXBp\n        LmdpdGh1Yi5jb20vcmVwb3MvQWdpbGVWZW50dXJlcy9zaGYtcHJvamVjdC9j\n        b21tZW50c3svbnVtYmVyfSIsImlzc3VlX2NvbW1lbnRfdXJsIjoiaHR0cHM6\n        Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9BZ2lsZVZlbnR1cmVzL3NoZi1wcm9q\n        ZWN0L2lzc3Vlcy9jb21tZW50c3svbnVtYmVyfSIsImNvbnRlbnRzX3VybCI6\n        Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvQWdpbGVWZW50dXJlcy9z\n        aGYtcHJvamVjdC9jb250ZW50cy97K3BhdGh9IiwiY29tcGFyZV91cmwiOiJo\n        dHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL0FnaWxlVmVudHVyZXMvc2hm\n        LXByb2plY3QvY29tcGFyZS97YmFzZX0uLi57aGVhZH0iLCJtZXJnZXNfdXJs\n        IjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9BZ2lsZVZlbnR1cmVz\n        L3NoZi1wcm9qZWN0L21lcmdlcyIsImFyY2hpdmVfdXJsIjoiaHR0cHM6Ly9h\n        cGkuZ2l0aHViLmNvbS9yZXBvcy9BZ2lsZVZlbnR1cmVzL3NoZi1wcm9qZWN0\n        L3thcmNoaXZlX2Zvcm1hdH17L3JlZn0iLCJkb3dubG9hZHNfdXJsIjoiaHR0\n        cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9BZ2lsZVZlbnR1cmVzL3NoZi1w\n        cm9qZWN0L2Rvd25sb2FkcyIsImlzc3Vlc191cmwiOiJodHRwczovL2FwaS5n\n        aXRodWIuY29tL3JlcG9zL0FnaWxlVmVudHVyZXMvc2hmLXByb2plY3QvaXNz\n        dWVzey9udW1iZXJ9IiwicHVsbHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHVi\n        LmNvbS9yZXBvcy9BZ2lsZVZlbnR1cmVzL3NoZi1wcm9qZWN0L3B1bGxzey9u\n        dW1iZXJ9IiwibWlsZXN0b25lc191cmwiOiJodHRwczovL2FwaS5naXRodWIu\n        Y29tL3JlcG9zL0FnaWxlVmVudHVyZXMvc2hmLXByb2plY3QvbWlsZXN0b25l\n        c3svbnVtYmVyfSIsIm5vdGlmaWNhdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGku\n        Z2l0aHViLmNvbS9yZXBvcy9BZ2lsZVZlbnR1cmVzL3NoZi1wcm9qZWN0L25v\n        dGlmaWNhdGlvbnN7P3NpbmNlLGFsbCxwYXJ0aWNpcGF0aW5nfSIsImxhYmVs\n        c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL0FnaWxlVmVu\n        dHVyZXMvc2hmLXByb2plY3QvbGFiZWxzey9uYW1lfSIsInJlbGVhc2VzX3Vy\n        bCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvQWdpbGVWZW50dXJl\n        cy9zaGYtcHJvamVjdC9yZWxlYXNlc3svaWR9IiwiZGVwbG95bWVudHNfdXJs\n        IjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy9BZ2lsZVZlbnR1cmVz\n        L3NoZi1wcm9qZWN0L2RlcGxveW1lbnRzIiwiY3JlYXRlZF9hdCI6IjIwMTYt\n        MTAtMTdUMTY6MTg6MTBaIiwidXBkYXRlZF9hdCI6IjIwMTYtMTItMDJUMTM6\n        MzQ6MDVaIiwicHVzaGVkX2F0IjoiMjAxNy0wMy0wOVQwMDoxMDowNVoiLCJn\n        aXRfdXJsIjoiZ2l0Oi8vZ2l0aHViLmNvbS9BZ2lsZVZlbnR1cmVzL3NoZi1w\n        cm9qZWN0LmdpdCIsInNzaF91cmwiOiJnaXRAZ2l0aHViLmNvbTpBZ2lsZVZl\n        bnR1cmVzL3NoZi1wcm9qZWN0LmdpdCIsImNsb25lX3VybCI6Imh0dHBzOi8v\n        Z2l0aHViLmNvbS9BZ2lsZVZlbnR1cmVzL3NoZi1wcm9qZWN0LmdpdCIsInN2\n        bl91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vQWdpbGVWZW50dXJlcy9zaGYt\n        cHJvamVjdCIsImhvbWVwYWdlIjpudWxsLCJzaXplIjoyMjU2OSwic3Rhcmdh\n        emVyc19jb3VudCI6MSwid2F0Y2hlcnNfY291bnQiOjEsImxhbmd1YWdlIjoi\n        UnVieSIsImhhc19pc3N1ZXMiOnRydWUsImhhc19kb3dubG9hZHMiOnRydWUs\n        Imhhc193aWtpIjp0cnVlLCJoYXNfcGFnZXMiOmZhbHNlLCJmb3Jrc19jb3Vu\n        dCI6OSwibWlycm9yX3VybCI6bnVsbCwib3Blbl9pc3N1ZXNfY291bnQiOjEs\n        ImZvcmtzIjo5LCJvcGVuX2lzc3VlcyI6MSwid2F0Y2hlcnMiOjEsImRlZmF1\n        bHRfYnJhbmNoIjoiZGV2ZWxvcCIsIm9yZ2FuaXphdGlvbiI6eyJsb2dpbiI6\n        IkFnaWxlVmVudHVyZXMiLCJpZCI6NTExNjk2OCwiYXZhdGFyX3VybCI6Imh0\n        dHBzOi8vYXZhdGFyczMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNTExNjk2\n        OD92PTMiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdp\n        dGh1Yi5jb20vdXNlcnMvQWdpbGVWZW50dXJlcyIsImh0bWxfdXJsIjoiaHR0\n        cHM6Ly9naXRodWIuY29tL0FnaWxlVmVudHVyZXMiLCJmb2xsb3dlcnNfdXJs\n        IjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9BZ2lsZVZlbnR1cmVz\n        L2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRo\n        dWIuY29tL3VzZXJzL0FnaWxlVmVudHVyZXMvZm9sbG93aW5ney9vdGhlcl91\n        c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNl\n        cnMvQWdpbGVWZW50dXJlcy9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3Vy\n        bCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvQWdpbGVWZW50dXJl\n        cy9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwi\n        OiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0FnaWxlVmVudHVyZXMv\n        c3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9h\n        cGkuZ2l0aHViLmNvbS91c2Vycy9BZ2lsZVZlbnR1cmVzL29yZ3MiLCJyZXBv\n        c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0FnaWxlVmVu\n        dHVyZXMvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHVi\n        LmNvbS91c2Vycy9BZ2lsZVZlbnR1cmVzL2V2ZW50c3svcHJpdmFjeX0iLCJy\n        ZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91\n        c2Vycy9BZ2lsZVZlbnR1cmVzL3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJP\n        cmdhbml6YXRpb24iLCJzaXRlX2FkbWluIjpmYWxzZX0sInBhcmVudCI6eyJp\n        ZCI6NjU2MjkyMzUsIm5hbWUiOiJzaGYtcHJvamVjdCIsImZ1bGxfbmFtZSI6\n        InRoZXN1c3Mvc2hmLXByb2plY3QiLCJvd25lciI6eyJsb2dpbiI6InRoZXN1\n        c3MiLCJpZCI6NzI2NjkwOSwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFy\n        czEuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNzI2NjkwOT92PTMiLCJncmF2\n        YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNl\n        cnMvdGhlc3VzcyIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL3Ro\n        ZXN1c3MiLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNv\n        bS91c2Vycy90aGVzdXNzL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJo\n        dHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3RoZXN1c3MvZm9sbG93aW5n\n        ey9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1\n        Yi5jb20vdXNlcnMvdGhlc3Vzcy9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVk\n        X3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdGhlc3Vzcy9z\n        dGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJo\n        dHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3RoZXN1c3Mvc3Vic2NyaXB0\n        aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHVi\n        LmNvbS91c2Vycy90aGVzdXNzL29yZ3MiLCJyZXBvc191cmwiOiJodHRwczov\n        L2FwaS5naXRodWIuY29tL3VzZXJzL3RoZXN1c3MvcmVwb3MiLCJldmVudHNf\n        dXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90aGVzdXNzL2V2\n        ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6\n        Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90aGVzdXNzL3JlY2VpdmVkX2V2ZW50\n        cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2V9LCJwcml2YXRl\n        IjpmYWxzZSwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vdGhlc3Vz\n        cy9zaGYtcHJvamVjdCIsImRlc2NyaXB0aW9uIjoiVGhpcyBpcyB0aGUgcmVw\n        byBmb3Igd2hhdCB3aWxsIGJlIG1lbWJlcnNoaXAgaGFuZGxpbmcgb2YgU3Zl\n        cmlnZXMgSHVuZGbDtnJldGFnYXJlIiwiZm9yayI6ZmFsc2UsInVybCI6Imh0\n        dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGhlc3Vzcy9zaGYtcHJvamVj\n        dCIsImZvcmtzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mv\n        dGhlc3Vzcy9zaGYtcHJvamVjdC9mb3JrcyIsImtleXNfdXJsIjoiaHR0cHM6\n        Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90aGVzdXNzL3NoZi1wcm9qZWN0L2tl\n        eXN7L2tleV9pZH0iLCJjb2xsYWJvcmF0b3JzX3VybCI6Imh0dHBzOi8vYXBp\n        LmdpdGh1Yi5jb20vcmVwb3MvdGhlc3Vzcy9zaGYtcHJvamVjdC9jb2xsYWJv\n        cmF0b3Jzey9jb2xsYWJvcmF0b3J9IiwidGVhbXNfdXJsIjoiaHR0cHM6Ly9h\n        cGkuZ2l0aHViLmNvbS9yZXBvcy90aGVzdXNzL3NoZi1wcm9qZWN0L3RlYW1z\n        IiwiaG9va3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90\n        aGVzdXNzL3NoZi1wcm9qZWN0L2hvb2tzIiwiaXNzdWVfZXZlbnRzX3VybCI6\n        Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGhlc3Vzcy9zaGYtcHJv\n        amVjdC9pc3N1ZXMvZXZlbnRzey9udW1iZXJ9IiwiZXZlbnRzX3VybCI6Imh0\n        dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGhlc3Vzcy9zaGYtcHJvamVj\n        dC9ldmVudHMiLCJhc3NpZ25lZXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHVi\n        LmNvbS9yZXBvcy90aGVzdXNzL3NoZi1wcm9qZWN0L2Fzc2lnbmVlc3svdXNl\n        cn0iLCJicmFuY2hlc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3Jl\n        cG9zL3RoZXN1c3Mvc2hmLXByb2plY3QvYnJhbmNoZXN7L2JyYW5jaH0iLCJ0\n        YWdzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGhlc3Vz\n        cy9zaGYtcHJvamVjdC90YWdzIiwiYmxvYnNfdXJsIjoiaHR0cHM6Ly9hcGku\n        Z2l0aHViLmNvbS9yZXBvcy90aGVzdXNzL3NoZi1wcm9qZWN0L2dpdC9ibG9i\n        c3svc2hhfSIsImdpdF90YWdzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5j\n        b20vcmVwb3MvdGhlc3Vzcy9zaGYtcHJvamVjdC9naXQvdGFnc3svc2hhfSIs\n        ImdpdF9yZWZzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mv\n        dGhlc3Vzcy9zaGYtcHJvamVjdC9naXQvcmVmc3svc2hhfSIsInRyZWVzX3Vy\n        bCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGhlc3Vzcy9zaGYt\n        cHJvamVjdC9naXQvdHJlZXN7L3NoYX0iLCJzdGF0dXNlc191cmwiOiJodHRw\n        czovL2FwaS5naXRodWIuY29tL3JlcG9zL3RoZXN1c3Mvc2hmLXByb2plY3Qv\n        c3RhdHVzZXMve3NoYX0iLCJsYW5ndWFnZXNfdXJsIjoiaHR0cHM6Ly9hcGku\n        Z2l0aHViLmNvbS9yZXBvcy90aGVzdXNzL3NoZi1wcm9qZWN0L2xhbmd1YWdl\n        cyIsInN0YXJnYXplcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9y\n        ZXBvcy90aGVzdXNzL3NoZi1wcm9qZWN0L3N0YXJnYXplcnMiLCJjb250cmli\n        dXRvcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90aGVz\n        dXNzL3NoZi1wcm9qZWN0L2NvbnRyaWJ1dG9ycyIsInN1YnNjcmliZXJzX3Vy\n        bCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGhlc3Vzcy9zaGYt\n        cHJvamVjdC9zdWJzY3JpYmVycyIsInN1YnNjcmlwdGlvbl91cmwiOiJodHRw\n        czovL2FwaS5naXRodWIuY29tL3JlcG9zL3RoZXN1c3Mvc2hmLXByb2plY3Qv\n        c3Vic2NyaXB0aW9uIiwiY29tbWl0c191cmwiOiJodHRwczovL2FwaS5naXRo\n        dWIuY29tL3JlcG9zL3RoZXN1c3Mvc2hmLXByb2plY3QvY29tbWl0c3svc2hh\n        fSIsImdpdF9jb21taXRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20v\n        cmVwb3MvdGhlc3Vzcy9zaGYtcHJvamVjdC9naXQvY29tbWl0c3svc2hhfSIs\n        ImNvbW1lbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mv\n        dGhlc3Vzcy9zaGYtcHJvamVjdC9jb21tZW50c3svbnVtYmVyfSIsImlzc3Vl\n        X2NvbW1lbnRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90\n        aGVzdXNzL3NoZi1wcm9qZWN0L2lzc3Vlcy9jb21tZW50c3svbnVtYmVyfSIs\n        ImNvbnRlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3Mv\n        dGhlc3Vzcy9zaGYtcHJvamVjdC9jb250ZW50cy97K3BhdGh9IiwiY29tcGFy\n        ZV91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3RoZXN1c3Mv\n        c2hmLXByb2plY3QvY29tcGFyZS97YmFzZX0uLi57aGVhZH0iLCJtZXJnZXNf\n        dXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90aGVzdXNzL3No\n        Zi1wcm9qZWN0L21lcmdlcyIsImFyY2hpdmVfdXJsIjoiaHR0cHM6Ly9hcGku\n        Z2l0aHViLmNvbS9yZXBvcy90aGVzdXNzL3NoZi1wcm9qZWN0L3thcmNoaXZl\n        X2Zvcm1hdH17L3JlZn0iLCJkb3dubG9hZHNfdXJsIjoiaHR0cHM6Ly9hcGku\n        Z2l0aHViLmNvbS9yZXBvcy90aGVzdXNzL3NoZi1wcm9qZWN0L2Rvd25sb2Fk\n        cyIsImlzc3Vlc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9z\n        L3RoZXN1c3Mvc2hmLXByb2plY3QvaXNzdWVzey9udW1iZXJ9IiwicHVsbHNf\n        dXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90aGVzdXNzL3No\n        Zi1wcm9qZWN0L3B1bGxzey9udW1iZXJ9IiwibWlsZXN0b25lc191cmwiOiJo\n        dHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3RoZXN1c3Mvc2hmLXByb2pl\n        Y3QvbWlsZXN0b25lc3svbnVtYmVyfSIsIm5vdGlmaWNhdGlvbnNfdXJsIjoi\n        aHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90aGVzdXNzL3NoZi1wcm9q\n        ZWN0L25vdGlmaWNhdGlvbnN7P3NpbmNlLGFsbCxwYXJ0aWNpcGF0aW5nfSIs\n        ImxhYmVsc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3Ro\n        ZXN1c3Mvc2hmLXByb2plY3QvbGFiZWxzey9uYW1lfSIsInJlbGVhc2VzX3Vy\n        bCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGhlc3Vzcy9zaGYt\n        cHJvamVjdC9yZWxlYXNlc3svaWR9IiwiZGVwbG95bWVudHNfdXJsIjoiaHR0\n        cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90aGVzdXNzL3NoZi1wcm9qZWN0\n        L2RlcGxveW1lbnRzIiwiY3JlYXRlZF9hdCI6IjIwMTYtMDgtMTNUMTc6Mzg6\n        MDhaIiwidXBkYXRlZF9hdCI6IjIwMTYtMTAtMjJUMTA6NDU6MDdaIiwicHVz\n        aGVkX2F0IjoiMjAxNy0wMy0wM1QwOTozMToyNFoiLCJnaXRfdXJsIjoiZ2l0\n        Oi8vZ2l0aHViLmNvbS90aGVzdXNzL3NoZi1wcm9qZWN0LmdpdCIsInNzaF91\n        cmwiOiJnaXRAZ2l0aHViLmNvbTp0aGVzdXNzL3NoZi1wcm9qZWN0LmdpdCIs\n        ImNsb25lX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS90aGVzdXNzL3NoZi1w\n        cm9qZWN0LmdpdCIsInN2bl91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vdGhl\n        c3Vzcy9zaGYtcHJvamVjdCIsImhvbWVwYWdlIjoiaHR0cDovL3d3dy5zdmVy\n        aWdlc2h1bmRmb3JldGFnYXJlLnNlIiwic2l6ZSI6MjI4MzQsInN0YXJnYXpl\n        cnNfY291bnQiOjAsIndhdGNoZXJzX2NvdW50IjowLCJsYW5ndWFnZSI6bnVs\n        bCwiaGFzX2lzc3VlcyI6dHJ1ZSwiaGFzX2Rvd25sb2FkcyI6dHJ1ZSwiaGFz\n        X3dpa2kiOnRydWUsImhhc19wYWdlcyI6ZmFsc2UsImZvcmtzX2NvdW50Ijox\n        MCwibWlycm9yX3VybCI6bnVsbCwib3Blbl9pc3N1ZXNfY291bnQiOjEsImZv\n        cmtzIjoxMCwib3Blbl9pc3N1ZXMiOjEsIndhdGNoZXJzIjowLCJkZWZhdWx0\n        X2JyYW5jaCI6Im1hc3RlciJ9LCJzb3VyY2UiOnsiaWQiOjY1NjI5MjM1LCJu\n        YW1lIjoic2hmLXByb2plY3QiLCJmdWxsX25hbWUiOiJ0aGVzdXNzL3NoZi1w\n        cm9qZWN0Iiwib3duZXIiOnsibG9naW4iOiJ0aGVzdXNzIiwiaWQiOjcyNjY5\n        MDksImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMxLmdpdGh1YnVzZXJj\n        b250ZW50LmNvbS91LzcyNjY5MDk/dj0zIiwiZ3JhdmF0YXJfaWQiOiIiLCJ1\n        cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3RoZXN1c3MiLCJo\n        dG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS90aGVzdXNzIiwiZm9sbG93\n        ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdGhlc3Vz\n        cy9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0\n        aHViLmNvbS91c2Vycy90aGVzdXNzL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0i\n        LCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3Ro\n        ZXN1c3MvZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJodHRwczov\n        L2FwaS5naXRodWIuY29tL3VzZXJzL3RoZXN1c3Mvc3RhcnJlZHsvb3duZXJ9\n        ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0\n        aHViLmNvbS91c2Vycy90aGVzdXNzL3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6\n        YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdGhl\n        c3Vzcy9vcmdzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNv\n        bS91c2Vycy90aGVzdXNzL3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8v\n        YXBpLmdpdGh1Yi5jb20vdXNlcnMvdGhlc3Vzcy9ldmVudHN7L3ByaXZhY3l9\n        IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5j\n        b20vdXNlcnMvdGhlc3Vzcy9yZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNl\n        ciIsInNpdGVfYWRtaW4iOmZhbHNlfSwicHJpdmF0ZSI6ZmFsc2UsImh0bWxf\n        dXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL3RoZXN1c3Mvc2hmLXByb2plY3Qi\n        LCJkZXNjcmlwdGlvbiI6IlRoaXMgaXMgdGhlIHJlcG8gZm9yIHdoYXQgd2ls\n        bCBiZSBtZW1iZXJzaGlwIGhhbmRsaW5nIG9mIFN2ZXJpZ2VzIEh1bmRmw7Zy\n        ZXRhZ2FyZSIsImZvcmsiOmZhbHNlLCJ1cmwiOiJodHRwczovL2FwaS5naXRo\n        dWIuY29tL3JlcG9zL3RoZXN1c3Mvc2hmLXByb2plY3QiLCJmb3Jrc191cmwi\n        OiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3RoZXN1c3Mvc2hmLXBy\n        b2plY3QvZm9ya3MiLCJrZXlzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5j\n        b20vcmVwb3MvdGhlc3Vzcy9zaGYtcHJvamVjdC9rZXlzey9rZXlfaWR9Iiwi\n        Y29sbGFib3JhdG9yc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3Jl\n        cG9zL3RoZXN1c3Mvc2hmLXByb2plY3QvY29sbGFib3JhdG9yc3svY29sbGFi\n        b3JhdG9yfSIsInRlYW1zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20v\n        cmVwb3MvdGhlc3Vzcy9zaGYtcHJvamVjdC90ZWFtcyIsImhvb2tzX3VybCI6\n        Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGhlc3Vzcy9zaGYtcHJv\n        amVjdC9ob29rcyIsImlzc3VlX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5n\n        aXRodWIuY29tL3JlcG9zL3RoZXN1c3Mvc2hmLXByb2plY3QvaXNzdWVzL2V2\n        ZW50c3svbnVtYmVyfSIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRo\n        dWIuY29tL3JlcG9zL3RoZXN1c3Mvc2hmLXByb2plY3QvZXZlbnRzIiwiYXNz\n        aWduZWVzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGhl\n        c3Vzcy9zaGYtcHJvamVjdC9hc3NpZ25lZXN7L3VzZXJ9IiwiYnJhbmNoZXNf\n        dXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90aGVzdXNzL3No\n        Zi1wcm9qZWN0L2JyYW5jaGVzey9icmFuY2h9IiwidGFnc191cmwiOiJodHRw\n        czovL2FwaS5naXRodWIuY29tL3JlcG9zL3RoZXN1c3Mvc2hmLXByb2plY3Qv\n        dGFncyIsImJsb2JzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVw\n        b3MvdGhlc3Vzcy9zaGYtcHJvamVjdC9naXQvYmxvYnN7L3NoYX0iLCJnaXRf\n        dGFnc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3RoZXN1\n        c3Mvc2hmLXByb2plY3QvZ2l0L3RhZ3N7L3NoYX0iLCJnaXRfcmVmc191cmwi\n        OiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3RoZXN1c3Mvc2hmLXBy\n        b2plY3QvZ2l0L3JlZnN7L3NoYX0iLCJ0cmVlc191cmwiOiJodHRwczovL2Fw\n        aS5naXRodWIuY29tL3JlcG9zL3RoZXN1c3Mvc2hmLXByb2plY3QvZ2l0L3Ry\n        ZWVzey9zaGF9Iiwic3RhdHVzZXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHVi\n        LmNvbS9yZXBvcy90aGVzdXNzL3NoZi1wcm9qZWN0L3N0YXR1c2VzL3tzaGF9\n        IiwibGFuZ3VhZ2VzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVw\n        b3MvdGhlc3Vzcy9zaGYtcHJvamVjdC9sYW5ndWFnZXMiLCJzdGFyZ2F6ZXJz\n        X3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGhlc3Vzcy9z\n        aGYtcHJvamVjdC9zdGFyZ2F6ZXJzIiwiY29udHJpYnV0b3JzX3VybCI6Imh0\n        dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGhlc3Vzcy9zaGYtcHJvamVj\n        dC9jb250cmlidXRvcnMiLCJzdWJzY3JpYmVyc191cmwiOiJodHRwczovL2Fw\n        aS5naXRodWIuY29tL3JlcG9zL3RoZXN1c3Mvc2hmLXByb2plY3Qvc3Vic2Ny\n        aWJlcnMiLCJzdWJzY3JpcHRpb25fdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHVi\n        LmNvbS9yZXBvcy90aGVzdXNzL3NoZi1wcm9qZWN0L3N1YnNjcmlwdGlvbiIs\n        ImNvbW1pdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90\n        aGVzdXNzL3NoZi1wcm9qZWN0L2NvbW1pdHN7L3NoYX0iLCJnaXRfY29tbWl0\n        c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3RoZXN1c3Mv\n        c2hmLXByb2plY3QvZ2l0L2NvbW1pdHN7L3NoYX0iLCJjb21tZW50c191cmwi\n        OiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3RoZXN1c3Mvc2hmLXBy\n        b2plY3QvY29tbWVudHN7L251bWJlcn0iLCJpc3N1ZV9jb21tZW50X3VybCI6\n        Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvdGhlc3Vzcy9zaGYtcHJv\n        amVjdC9pc3N1ZXMvY29tbWVudHN7L251bWJlcn0iLCJjb250ZW50c191cmwi\n        OiJodHRwczovL2FwaS5naXRodWIuY29tL3JlcG9zL3RoZXN1c3Mvc2hmLXBy\n        b2plY3QvY29udGVudHMveytwYXRofSIsImNvbXBhcmVfdXJsIjoiaHR0cHM6\n        Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90aGVzdXNzL3NoZi1wcm9qZWN0L2Nv\n        bXBhcmUve2Jhc2V9Li4ue2hlYWR9IiwibWVyZ2VzX3VybCI6Imh0dHBzOi8v\n        YXBpLmdpdGh1Yi5jb20vcmVwb3MvdGhlc3Vzcy9zaGYtcHJvamVjdC9tZXJn\n        ZXMiLCJhcmNoaXZlX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVw\n        b3MvdGhlc3Vzcy9zaGYtcHJvamVjdC97YXJjaGl2ZV9mb3JtYXR9ey9yZWZ9\n        IiwiZG93bmxvYWRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVw\n        b3MvdGhlc3Vzcy9zaGYtcHJvamVjdC9kb3dubG9hZHMiLCJpc3N1ZXNfdXJs\n        IjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90aGVzdXNzL3NoZi1w\n        cm9qZWN0L2lzc3Vlc3svbnVtYmVyfSIsInB1bGxzX3VybCI6Imh0dHBzOi8v\n        YXBpLmdpdGh1Yi5jb20vcmVwb3MvdGhlc3Vzcy9zaGYtcHJvamVjdC9wdWxs\n        c3svbnVtYmVyfSIsIm1pbGVzdG9uZXNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0\n        aHViLmNvbS9yZXBvcy90aGVzdXNzL3NoZi1wcm9qZWN0L21pbGVzdG9uZXN7\n        L251bWJlcn0iLCJub3RpZmljYXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdp\n        dGh1Yi5jb20vcmVwb3MvdGhlc3Vzcy9zaGYtcHJvamVjdC9ub3RpZmljYXRp\n        b25zez9zaW5jZSxhbGwscGFydGljaXBhdGluZ30iLCJsYWJlbHNfdXJsIjoi\n        aHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS9yZXBvcy90aGVzdXNzL3NoZi1wcm9q\n        ZWN0L2xhYmVsc3svbmFtZX0iLCJyZWxlYXNlc191cmwiOiJodHRwczovL2Fw\n        aS5naXRodWIuY29tL3JlcG9zL3RoZXN1c3Mvc2hmLXByb2plY3QvcmVsZWFz\n        ZXN7L2lkfSIsImRlcGxveW1lbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1\n        Yi5jb20vcmVwb3MvdGhlc3Vzcy9zaGYtcHJvamVjdC9kZXBsb3ltZW50cyIs\n        ImNyZWF0ZWRfYXQiOiIyMDE2LTA4LTEzVDE3OjM4OjA4WiIsInVwZGF0ZWRf\n        YXQiOiIyMDE2LTEwLTIyVDEwOjQ1OjA3WiIsInB1c2hlZF9hdCI6IjIwMTct\n        MDMtMDNUMDk6MzE6MjRaIiwiZ2l0X3VybCI6ImdpdDovL2dpdGh1Yi5jb20v\n        dGhlc3Vzcy9zaGYtcHJvamVjdC5naXQiLCJzc2hfdXJsIjoiZ2l0QGdpdGh1\n        Yi5jb206dGhlc3Vzcy9zaGYtcHJvamVjdC5naXQiLCJjbG9uZV91cmwiOiJo\n        dHRwczovL2dpdGh1Yi5jb20vdGhlc3Vzcy9zaGYtcHJvamVjdC5naXQiLCJz\n        dm5fdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL3RoZXN1c3Mvc2hmLXByb2pl\n        Y3QiLCJob21lcGFnZSI6Imh0dHA6Ly93d3cuc3ZlcmlnZXNodW5kZm9yZXRh\n        Z2FyZS5zZSIsInNpemUiOjIyODM0LCJzdGFyZ2F6ZXJzX2NvdW50IjowLCJ3\n        YXRjaGVyc19jb3VudCI6MCwibGFuZ3VhZ2UiOm51bGwsImhhc19pc3N1ZXMi\n        OnRydWUsImhhc19kb3dubG9hZHMiOnRydWUsImhhc193aWtpIjp0cnVlLCJo\n        YXNfcGFnZXMiOmZhbHNlLCJmb3Jrc19jb3VudCI6MTAsIm1pcnJvcl91cmwi\n        Om51bGwsIm9wZW5faXNzdWVzX2NvdW50IjoxLCJmb3JrcyI6MTAsIm9wZW5f\n        aXNzdWVzIjoxLCJ3YXRjaGVycyI6MCwiZGVmYXVsdF9icmFuY2giOiJtYXN0\n        ZXIifSwibmV0d29ya19jb3VudCI6MTAsInN1YnNjcmliZXJzX2NvdW50Ijo5\n        fQ==\n    http_version: \n  recorded_at: Thu, 09 Mar 2017 14:12:37 GMT\nrecorded_with: VCR 3.0.1\n"
  },
  {
    "path": "spec/fixtures/cassettes/github_commit_count/websiteone_stats.yml",
    "content": "---\nhttp_interactions:\n- request:\n    method: get\n    uri: https://api.github.com/repos/AgileVentures/WebsiteOne/contributors?anon=1&per_page=100\n    body:\n      encoding: US-ASCII\n      string: ''\n    headers:\n      Accept:\n      - application/vnd.github.v3+json\n      User-Agent:\n      - Octokit Ruby Gem 4.21.0\n      Content-Type:\n      - application/json\n      Authorization:\n      - Basic ZDA1ZWIzMTBlYmY1NDllNTM4ODk6NmE1OTg4YWYxMmE4YTAxMjM5OWUwMzdkMDU4NmJmNzA2YzRiZmJmMA==\n      Accept-Encoding:\n      - gzip;q=1.0,deflate;q=0.6,identity;q=0.3\n  response:\n    status:\n      code: 200\n      message: OK\n    headers:\n      Server:\n      - GitHub.com\n      Date:\n      - Sat, 15 May 2021 08:56:35 GMT\n      Content-Type:\n      - application/json; charset=utf-8\n      Transfer-Encoding:\n      - chunked\n      Cache-Control:\n      - public, max-age=60, s-maxage=60\n      Vary:\n      - Accept\n      - Accept-Encoding, Accept, X-Requested-With\n      Etag:\n      - W/\"ee1af98d60fbf3808ae4045bf4ef46740cbe8c1e152a37c8fee63053af8ce175\"\n      Last-Modified:\n      - Fri, 14 May 2021 04:34:48 GMT\n      X-Github-Media-Type:\n      - github.v3; format=json\n      Link:\n      - <https://api.github.com/repositories/15742370/contributors?anon=1&per_page=100&page=2>;\n        rel=\"next\", <https://api.github.com/repositories/15742370/contributors?anon=1&per_page=100&page=2>;\n        rel=\"last\"\n      X-Ratelimit-Limit:\n      - '5000'\n      X-Ratelimit-Remaining:\n      - '4970'\n      X-Ratelimit-Reset:\n      - '1621071767'\n      X-Ratelimit-Used:\n      - '30'\n      X-Ratelimit-Resource:\n      - core\n      Access-Control-Expose-Headers:\n      - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining,\n        X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes,\n        X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation,\n        Sunset\n      Access-Control-Allow-Origin:\n      - \"*\"\n      Strict-Transport-Security:\n      - max-age=31536000; includeSubdomains; preload\n      X-Frame-Options:\n      - deny\n      X-Content-Type-Options:\n      - nosniff\n      X-Xss-Protection:\n      - '0'\n      Referrer-Policy:\n      - origin-when-cross-origin, strict-origin-when-cross-origin\n      Content-Security-Policy:\n      - default-src 'none'\n      X-Github-Request-Id:\n      - DF79:7FEB:518404:562EC7:609F8CC3\n    body:\n      encoding: ASCII-8BIT\n      string: !binary |-\n        W3sibG9naW4iOiJ0b2NobWFuIiwiaWQiOjUyNDgxNzAsIm5vZGVfaWQiOiJNRFE2VlhObGNqVXlORGd4TnpBPSIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNTI0ODE3MD92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdG9jaG1hbiIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL3RvY2htYW4iLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90b2NobWFuL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3RvY2htYW4vZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdG9jaG1hbi9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdG9jaG1hbi9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3RvY2htYW4vc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90b2NobWFuL29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3RvY2htYW4vcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90b2NobWFuL2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90b2NobWFuL3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2UsImNvbnRyaWJ1dGlvbnMiOjEwMzV9LHsibG9naW4iOiJ5Z2dpZSIsImlkIjoyNjYzNDAyLCJub2RlX2lkIjoiTURRNlZYTmxjakkyTmpNME1EST0iLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzI2NjM0MDI/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3lnZ2llIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20veWdnaWUiLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy95Z2dpZS9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy95Z2dpZS9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy95Z2dpZS9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMveWdnaWUvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy95Z2dpZS9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3lnZ2llL29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3lnZ2llL3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMveWdnaWUvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3lnZ2llL3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2UsImNvbnRyaWJ1dGlvbnMiOjU4NX0seyJsb2dpbiI6InNhbXByaXRpcGFuZGEiLCJpZCI6MTczNjAwMSwibm9kZV9pZCI6Ik1EUTZWWE5sY2pFM016WXdNREU9IiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNzM2MDAxP3Y9NCIsImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9zYW1wcml0aXBhbmRhIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vc2FtcHJpdGlwYW5kYSIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3NhbXByaXRpcGFuZGEvZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvc2FtcHJpdGlwYW5kYS9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9zYW1wcml0aXBhbmRhL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9zYW1wcml0aXBhbmRhL3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvc2FtcHJpdGlwYW5kYS9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3NhbXByaXRpcGFuZGEvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvc2FtcHJpdGlwYW5kYS9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3NhbXByaXRpcGFuZGEvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3NhbXByaXRpcGFuZGEvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6NDQ5fSx7ImxvZ2luIjoiZGVwZW5kYWJvdFtib3RdIiwiaWQiOjQ5Njk5MzMzLCJub2RlX2lkIjoiTURNNlFtOTBORGsyT1Rrek16TT0iLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS9pbi8yOTExMD92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGVwZW5kYWJvdCU1QmJvdCU1RCIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL2FwcHMvZGVwZW5kYWJvdCIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2RlcGVuZGFib3QlNUJib3QlNUQvZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGVwZW5kYWJvdCU1QmJvdCU1RC9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9kZXBlbmRhYm90JTVCYm90JTVEL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9kZXBlbmRhYm90JTVCYm90JTVEL3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGVwZW5kYWJvdCU1QmJvdCU1RC9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2RlcGVuZGFib3QlNUJib3QlNUQvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGVwZW5kYWJvdCU1QmJvdCU1RC9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2RlcGVuZGFib3QlNUJib3QlNUQvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2RlcGVuZGFib3QlNUJib3QlNUQvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IkJvdCIsInNpdGVfYWRtaW4iOmZhbHNlLCJjb250cmlidXRpb25zIjozODR9LHsibG9naW4iOiJ0YW5zYWt1IiwiaWQiOjMwMjE2LCJub2RlX2lkIjoiTURRNlZYTmxjak13TWpFMiIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMzAyMTY/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3RhbnNha3UiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS90YW5zYWt1IiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdGFuc2FrdS9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90YW5zYWt1L2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3RhbnNha3UvZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3RhbnNha3Uvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90YW5zYWt1L3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdGFuc2FrdS9vcmdzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90YW5zYWt1L3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdGFuc2FrdS9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdGFuc2FrdS9yZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVfYWRtaW4iOmZhbHNlLCJjb250cmlidXRpb25zIjozNjF9LHsibG9naW4iOiJZYXJvU3BhY2UiLCJpZCI6NTY3MDk0MCwibm9kZV9pZCI6Ik1EUTZWWE5sY2pVMk56QTVOREE9IiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS81NjcwOTQwP3Y9NCIsImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9ZYXJvU3BhY2UiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9ZYXJvU3BhY2UiLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9ZYXJvU3BhY2UvZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvWWFyb1NwYWNlL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1lhcm9TcGFjZS9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvWWFyb1NwYWNlL3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvWWFyb1NwYWNlL3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvWWFyb1NwYWNlL29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1lhcm9TcGFjZS9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1lhcm9TcGFjZS9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvWWFyb1NwYWNlL3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2UsImNvbnRyaWJ1dGlvbnMiOjMyM30seyJsb2dpbiI6ImRpcmF1bG8iLCJpZCI6NDAyODM3NCwibm9kZV9pZCI6Ik1EUTZWWE5sY2pRd01qZ3pOelE9IiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS80MDI4Mzc0P3Y9NCIsImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9kaXJhdWxvIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vZGlyYXVsbyIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2RpcmF1bG8vZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGlyYXVsby9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9kaXJhdWxvL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9kaXJhdWxvL3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGlyYXVsby9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2RpcmF1bG8vb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGlyYXVsby9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2RpcmF1bG8vZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2RpcmF1bG8vcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6MTk2fSx7ImxvZ2luIjoiY2hyaXN0b3BoZXJtbG5lIiwiaWQiOjEwMDc5ODEsIm5vZGVfaWQiOiJNRFE2VlhObGNqRXdNRGM1T0RFPSIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTAwNzk4MT92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvY2hyaXN0b3BoZXJtbG5lIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vY2hyaXN0b3BoZXJtbG5lIiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvY2hyaXN0b3BoZXJtbG5lL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2NocmlzdG9waGVybWxuZS9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jaHJpc3RvcGhlcm1sbmUvZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2NocmlzdG9waGVybWxuZS9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2NocmlzdG9waGVybWxuZS9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2NocmlzdG9waGVybWxuZS9vcmdzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jaHJpc3RvcGhlcm1sbmUvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jaHJpc3RvcGhlcm1sbmUvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2NocmlzdG9waGVybWxuZS9yZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVfYWRtaW4iOmZhbHNlLCJjb250cmlidXRpb25zIjoxMzV9LHsibG9naW4iOiJkZXBlbmRhYm90LXByZXZpZXdbYm90XSIsImlkIjoyNzg1NjI5Nywibm9kZV9pZCI6Ik1ETTZRbTkwTWpjNE5UWXlPVGM9IiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vaW4vMjE0MT92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGVwZW5kYWJvdC1wcmV2aWV3JTVCYm90JTVEIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vYXBwcy9kZXBlbmRhYm90LXByZXZpZXciLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9kZXBlbmRhYm90LXByZXZpZXclNUJib3QlNUQvZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGVwZW5kYWJvdC1wcmV2aWV3JTVCYm90JTVEL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2RlcGVuZGFib3QtcHJldmlldyU1QmJvdCU1RC9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGVwZW5kYWJvdC1wcmV2aWV3JTVCYm90JTVEL3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGVwZW5kYWJvdC1wcmV2aWV3JTVCYm90JTVEL3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGVwZW5kYWJvdC1wcmV2aWV3JTVCYm90JTVEL29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2RlcGVuZGFib3QtcHJldmlldyU1QmJvdCU1RC9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2RlcGVuZGFib3QtcHJldmlldyU1QmJvdCU1RC9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGVwZW5kYWJvdC1wcmV2aWV3JTVCYm90JTVEL3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJCb3QiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6MTM1fSx7ImxvZ2luIjoiYW9ub21pa2UiLCJpZCI6MTU0MzU0Niwibm9kZV9pZCI6Ik1EUTZWWE5sY2pFMU5ETTFORFk9IiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNTQzNTQ2P3Y9NCIsImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hb25vbWlrZSIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL2Fvbm9taWtlIiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYW9ub21pa2UvZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYW9ub21pa2UvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYW9ub21pa2UvZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2Fvbm9taWtlL3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYW9ub21pa2Uvc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hb25vbWlrZS9vcmdzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hb25vbWlrZS9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2Fvbm9taWtlL2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hb25vbWlrZS9yZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVfYWRtaW4iOmZhbHNlLCJjb250cmlidXRpb25zIjo5OH0seyJsb2dpbiI6Im1hcmlhbm1vc2xleSIsImlkIjoxMDMxNDgzLCJub2RlX2lkIjoiTURRNlZYTmxjakV3TXpFME9ETT0iLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzEwMzE0ODM/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL21hcmlhbm1vc2xleSIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL21hcmlhbm1vc2xleSIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL21hcmlhbm1vc2xleS9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9tYXJpYW5tb3NsZXkvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbWFyaWFubW9zbGV5L2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9tYXJpYW5tb3NsZXkvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9tYXJpYW5tb3NsZXkvc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9tYXJpYW5tb3NsZXkvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbWFyaWFubW9zbGV5L3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbWFyaWFubW9zbGV5L2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9tYXJpYW5tb3NsZXkvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6OTB9LHsibG9naW4iOiJkZWNhcmVhbm8iLCJpZCI6MzMzMjI0Niwibm9kZV9pZCI6Ik1EUTZWWE5sY2pNek16SXlORFk9IiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8zMzMyMjQ2P3Y9NCIsImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9kZWNhcmVhbm8iLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9kZWNhcmVhbm8iLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9kZWNhcmVhbm8vZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGVjYXJlYW5vL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2RlY2FyZWFuby9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGVjYXJlYW5vL3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGVjYXJlYW5vL3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGVjYXJlYW5vL29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2RlY2FyZWFuby9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2RlY2FyZWFuby9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGVjYXJlYW5vL3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2UsImNvbnRyaWJ1dGlvbnMiOjg1fSx7ImxvZ2luIjoibXRjMjAxMyIsImlkIjozOTA5OTE4LCJub2RlX2lkIjoiTURRNlZYTmxjak01TURrNU1UZz0iLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzM5MDk5MTg/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL210YzIwMTMiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9tdGMyMDEzIiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbXRjMjAxMy9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9tdGMyMDEzL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL210YzIwMTMvZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL210YzIwMTMvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9tdGMyMDEzL3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbXRjMjAxMy9vcmdzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9tdGMyMDEzL3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbXRjMjAxMy9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbXRjMjAxMy9yZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVfYWRtaW4iOmZhbHNlLCJjb250cmlidXRpb25zIjo2OX0seyJsb2dpbiI6Ik5pY2tTY2hpbWVrIiwiaWQiOjE5NTE5MzE3LCJub2RlX2lkIjoiTURRNlZYTmxjakU1TlRFNU16RTMiLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE5NTE5MzE3P3Y9NCIsImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9OaWNrU2NoaW1layIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL05pY2tTY2hpbWVrIiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvTmlja1NjaGltZWsvZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvTmlja1NjaGltZWsvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvTmlja1NjaGltZWsvZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL05pY2tTY2hpbWVrL3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvTmlja1NjaGltZWsvc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9OaWNrU2NoaW1lay9vcmdzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9OaWNrU2NoaW1lay9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL05pY2tTY2hpbWVrL2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9OaWNrU2NoaW1lay9yZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVfYWRtaW4iOmZhbHNlLCJjb250cmlidXRpb25zIjo1Nn0seyJsb2dpbiI6IlBldGVCb3VjaGVyIiwiaWQiOjEzNzg4NTMsIm5vZGVfaWQiOiJNRFE2VlhObGNqRXpOemc0TlRNPSIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTM3ODg1Mz92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvUGV0ZUJvdWNoZXIiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9QZXRlQm91Y2hlciIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1BldGVCb3VjaGVyL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1BldGVCb3VjaGVyL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1BldGVCb3VjaGVyL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9QZXRlQm91Y2hlci9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1BldGVCb3VjaGVyL3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvUGV0ZUJvdWNoZXIvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvUGV0ZUJvdWNoZXIvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9QZXRlQm91Y2hlci9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvUGV0ZUJvdWNoZXIvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6NTF9LHsibG9naW4iOiJqb2hubnltbzg3IiwiaWQiOjM0NjY0OTksIm5vZGVfaWQiOiJNRFE2VlhObGNqTTBOalkwT1RrPSIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMzQ2NjQ5OT92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvam9obm55bW84NyIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL2pvaG5ueW1vODciLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9qb2hubnltbzg3L2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2pvaG5ueW1vODcvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvam9obm55bW84Ny9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvam9obm55bW84Ny9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2pvaG5ueW1vODcvc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9qb2hubnltbzg3L29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2pvaG5ueW1vODcvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9qb2hubnltbzg3L2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9qb2hubnltbzg3L3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2UsImNvbnRyaWJ1dGlvbnMiOjUxfSx7ImxvZ2luIjoibmlzZXZpIiwiaWQiOjMwMjQ3ODksIm5vZGVfaWQiOiJNRFE2VlhObGNqTXdNalEzT0RrPSIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMzAyNDc4OT92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbmlzZXZpIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vbmlzZXZpIiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbmlzZXZpL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL25pc2V2aS9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9uaXNldmkvZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL25pc2V2aS9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL25pc2V2aS9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL25pc2V2aS9vcmdzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9uaXNldmkvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9uaXNldmkvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL25pc2V2aS9yZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVfYWRtaW4iOmZhbHNlLCJjb250cmlidXRpb25zIjo0OH0seyJsb2dpbiI6ImFsZWphbmRyb2JhYmlvIiwiaWQiOjE1ODE2NDksIm5vZGVfaWQiOiJNRFE2VlhObGNqRTFPREUyTkRrPSIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTU4MTY0OT92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYWxlamFuZHJvYmFiaW8iLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9hbGVqYW5kcm9iYWJpbyIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2FsZWphbmRyb2JhYmlvL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2FsZWphbmRyb2JhYmlvL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2FsZWphbmRyb2JhYmlvL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hbGVqYW5kcm9iYWJpby9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2FsZWphbmRyb2JhYmlvL3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYWxlamFuZHJvYmFiaW8vb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYWxlamFuZHJvYmFiaW8vcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hbGVqYW5kcm9iYWJpby9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYWxlamFuZHJvYmFiaW8vcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6NDJ9LHsibG9naW4iOiJtYXR0d3IxOCIsImlkIjoyNjk0MzkxNSwibm9kZV9pZCI6Ik1EUTZWWE5sY2pJMk9UUXpPVEUxIiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8yNjk0MzkxNT92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbWF0dHdyMTgiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9tYXR0d3IxOCIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL21hdHR3cjE4L2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL21hdHR3cjE4L2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL21hdHR3cjE4L2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9tYXR0d3IxOC9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL21hdHR3cjE4L3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbWF0dHdyMTgvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbWF0dHdyMTgvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9tYXR0d3IxOC9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbWF0dHdyMTgvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6Mzh9LHsibG9naW4iOiJjb2RkZXlzIiwiaWQiOjQxOTgyOTQsIm5vZGVfaWQiOiJNRFE2VlhObGNqUXhPVGd5T1RRPSIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNDE5ODI5ND92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvY29kZGV5cyIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL2NvZGRleXMiLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jb2RkZXlzL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2NvZGRleXMvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvY29kZGV5cy9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvY29kZGV5cy9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2NvZGRleXMvc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jb2RkZXlzL29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2NvZGRleXMvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jb2RkZXlzL2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jb2RkZXlzL3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2UsImNvbnRyaWJ1dGlvbnMiOjM0fSx7ImxvZ2luIjoiam9uLWVuZ2VsYmVydCIsImlkIjo2MzQzMTEzLCJub2RlX2lkIjoiTURRNlZYTmxjall6TkRNeE1UTT0iLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzYzNDMxMTM/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2pvbi1lbmdlbGJlcnQiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9qb24tZW5nZWxiZXJ0IiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvam9uLWVuZ2VsYmVydC9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9qb24tZW5nZWxiZXJ0L2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2pvbi1lbmdlbGJlcnQvZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2pvbi1lbmdlbGJlcnQvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9qb24tZW5nZWxiZXJ0L3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvam9uLWVuZ2VsYmVydC9vcmdzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9qb24tZW5nZWxiZXJ0L3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvam9uLWVuZ2VsYmVydC9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvam9uLWVuZ2VsYmVydC9yZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVfYWRtaW4iOmZhbHNlLCJjb250cmlidXRpb25zIjozNH0seyJsb2dpbiI6InRlY2hzYWlsb3IiLCJpZCI6OTY3Nzc0LCJub2RlX2lkIjoiTURRNlZYTmxjamsyTnpjM05BPT0iLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91Lzk2Nzc3ND92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdGVjaHNhaWxvciIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL3RlY2hzYWlsb3IiLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90ZWNoc2FpbG9yL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3RlY2hzYWlsb3IvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdGVjaHNhaWxvci9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdGVjaHNhaWxvci9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3RlY2hzYWlsb3Ivc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90ZWNoc2FpbG9yL29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3RlY2hzYWlsb3IvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90ZWNoc2FpbG9yL2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90ZWNoc2FpbG9yL3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2UsImNvbnRyaWJ1dGlvbnMiOjMwfSx7ImxvZ2luIjoibm9yYmVydHN6aXZvcyIsImlkIjoxNjQ3ODMxLCJub2RlX2lkIjoiTURRNlZYTmxjakUyTkRjNE16RT0iLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE2NDc4MzE/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL25vcmJlcnRzeml2b3MiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9ub3JiZXJ0c3ppdm9zIiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbm9yYmVydHN6aXZvcy9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9ub3JiZXJ0c3ppdm9zL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL25vcmJlcnRzeml2b3MvZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL25vcmJlcnRzeml2b3Mvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9ub3JiZXJ0c3ppdm9zL3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbm9yYmVydHN6aXZvcy9vcmdzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9ub3JiZXJ0c3ppdm9zL3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbm9yYmVydHN6aXZvcy9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbm9yYmVydHN6aXZvcy9yZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVfYWRtaW4iOmZhbHNlLCJjb250cmlidXRpb25zIjoyOX0seyJsb2dpbiI6ImRhbm55YnVzaW5lc3MiLCJpZCI6MTczMTE5Niwibm9kZV9pZCI6Ik1EUTZWWE5sY2pFM016RXhPVFk9IiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNzMxMTk2P3Y9NCIsImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9kYW5ueWJ1c2luZXNzIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vZGFubnlidXNpbmVzcyIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2Rhbm55YnVzaW5lc3MvZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGFubnlidXNpbmVzcy9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9kYW5ueWJ1c2luZXNzL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9kYW5ueWJ1c2luZXNzL3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGFubnlidXNpbmVzcy9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2Rhbm55YnVzaW5lc3Mvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGFubnlidXNpbmVzcy9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2Rhbm55YnVzaW5lc3MvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2Rhbm55YnVzaW5lc3MvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6Mjh9LHsiZW1haWwiOiJzdmV0b3NsYXZAbWV0YWlkZWFzLmJnIiwibmFtZSI6ImJldGFzdmUiLCJ0eXBlIjoiQW5vbnltb3VzIiwiY29udHJpYnV0aW9ucyI6Mjh9LHsiZW1haWwiOiJ0aG9tYXNAbmVjZWJvLnNlIiwibmFtZSI6IlRob21hcyBPY2htYW4iLCJ0eXBlIjoiQW5vbnltb3VzIiwiY29udHJpYnV0aW9ucyI6Mjd9LHsibG9naW4iOiJtYXR0bGluZHNleSIsImlkIjo1NjM4MzM5LCJub2RlX2lkIjoiTURRNlZYTmxjalUyTXpnek16az0iLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzU2MzgzMzk/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL21hdHRsaW5kc2V5IiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vbWF0dGxpbmRzZXkiLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9tYXR0bGluZHNleS9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9tYXR0bGluZHNleS9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9tYXR0bGluZHNleS9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbWF0dGxpbmRzZXkvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9tYXR0bGluZHNleS9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL21hdHRsaW5kc2V5L29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL21hdHRsaW5kc2V5L3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbWF0dGxpbmRzZXkvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL21hdHRsaW5kc2V5L3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2UsImNvbnRyaWJ1dGlvbnMiOjI2fSx7ImxvZ2luIjoiZXJwZSIsImlkIjo0ODk5Niwibm9kZV9pZCI6Ik1EUTZWWE5sY2pRNE9UazIiLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzQ4OTk2P3Y9NCIsImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9lcnBlIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vZXJwZSIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2VycGUvZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZXJwZS9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9lcnBlL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9lcnBlL3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZXJwZS9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2VycGUvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZXJwZS9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2VycGUvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2VycGUvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6MjZ9LHsibG9naW4iOiJhYmRlbGxhbmkiLCJpZCI6MTYxMTM5OTcsIm5vZGVfaWQiOiJNRFE2VlhObGNqRTJNVEV6T1RrMyIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTYxMTM5OTc/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2FiZGVsbGFuaSIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL2FiZGVsbGFuaSIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2FiZGVsbGFuaS9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hYmRlbGxhbmkvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYWJkZWxsYW5pL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hYmRlbGxhbmkvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hYmRlbGxhbmkvc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hYmRlbGxhbmkvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYWJkZWxsYW5pL3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYWJkZWxsYW5pL2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hYmRlbGxhbmkvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6MjR9LHsibG9naW4iOiJzaWRoZW5lIiwiaWQiOjk0OTEwLCJub2RlX2lkIjoiTURRNlZYTmxjamswT1RFdyIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvOTQ5MTA/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3NpZGhlbmUiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9zaWRoZW5lIiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvc2lkaGVuZS9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9zaWRoZW5lL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3NpZGhlbmUvZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3NpZGhlbmUvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9zaWRoZW5lL3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvc2lkaGVuZS9vcmdzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9zaWRoZW5lL3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvc2lkaGVuZS9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvc2lkaGVuZS9yZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVfYWRtaW4iOmZhbHNlLCJjb250cmlidXRpb25zIjoyMn0seyJsb2dpbiI6Ik5pa2l0YUF2dmFrdW1vdiIsImlkIjo1MDI5NDAzLCJub2RlX2lkIjoiTURRNlZYTmxjalV3TWprME1ETT0iLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzUwMjk0MDM/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL05pa2l0YUF2dmFrdW1vdiIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL05pa2l0YUF2dmFrdW1vdiIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL05pa2l0YUF2dmFrdW1vdi9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9OaWtpdGFBdnZha3Vtb3YvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvTmlraXRhQXZ2YWt1bW92L2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9OaWtpdGFBdnZha3Vtb3Yvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9OaWtpdGFBdnZha3Vtb3Yvc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9OaWtpdGFBdnZha3Vtb3Yvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvTmlraXRhQXZ2YWt1bW92L3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvTmlraXRhQXZ2YWt1bW92L2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9OaWtpdGFBdnZha3Vtb3YvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6MTh9LHsibG9naW4iOiJjb3JlZCIsImlkIjoxMTcxOSwibm9kZV9pZCI6Ik1EUTZWWE5sY2pFeE56RTUiLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzExNzE5P3Y9NCIsImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jb3JlZCIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL2NvcmVkIiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvY29yZWQvZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvY29yZWQvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvY29yZWQvZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2NvcmVkL3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvY29yZWQvc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jb3JlZC9vcmdzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jb3JlZC9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2NvcmVkL2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jb3JlZC9yZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVfYWRtaW4iOmZhbHNlLCJjb250cmlidXRpb25zIjoxOH0seyJsb2dpbiI6IkFyZXBvIiwiaWQiOjExODU3NjAsIm5vZGVfaWQiOiJNRFE2VlhObGNqRXhPRFUzTmpBPSIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTE4NTc2MD92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvQXJlcG8iLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9BcmVwbyIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0FyZXBvL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0FyZXBvL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0FyZXBvL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9BcmVwby9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0FyZXBvL3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvQXJlcG8vb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvQXJlcG8vcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9BcmVwby9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvQXJlcG8vcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6MTh9LHsiZW1haWwiOiJ0aG9tYXNAbmVjZWJvLnNlIiwibmFtZSI6InRvY2htYW4iLCJ0eXBlIjoiQW5vbnltb3VzIiwiY29udHJpYnV0aW9ucyI6MTV9LHsiZW1haWwiOiJtYXJpYW0yYWMxQGdtYWlsLmNvbSIsIm5hbWUiOiJNYXJpYW0gQWhodHRvdWNoZSIsInR5cGUiOiJBbm9ueW1vdXMiLCJjb250cmlidXRpb25zIjoxNH0seyJlbWFpbCI6InRvbnlAdG9ueXMtbWFjYm9vay1wcm8ubG9jYWwiLCJuYW1lIjoiVG9ueSBCdXRsZXIiLCJ0eXBlIjoiQW5vbnltb3VzIiwiY29udHJpYnV0aW9ucyI6MTN9LHsibG9naW4iOiJtYWNoMTAxMCIsImlkIjo1NjAwNTYwLCJub2RlX2lkIjoiTURRNlZYTmxjalUyTURBMU5qQT0iLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzU2MDA1NjA/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL21hY2gxMDEwIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vbWFjaDEwMTAiLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9tYWNoMTAxMC9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9tYWNoMTAxMC9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9tYWNoMTAxMC9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbWFjaDEwMTAvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9tYWNoMTAxMC9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL21hY2gxMDEwL29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL21hY2gxMDEwL3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbWFjaDEwMTAvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL21hY2gxMDEwL3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2UsImNvbnRyaWJ1dGlvbnMiOjEzfSx7ImxvZ2luIjoibG9rZXNoaCIsImlkIjo3Njc3NTI0LCJub2RlX2lkIjoiTURRNlZYTmxjamMyTnpjMU1qUT0iLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91Lzc2Nzc1MjQ/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xva2VzaGgiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9sb2tlc2hoIiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbG9rZXNoaC9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sb2tlc2hoL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xva2VzaGgvZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xva2VzaGgvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sb2tlc2hoL3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbG9rZXNoaC9vcmdzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sb2tlc2hoL3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbG9rZXNoaC9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbG9rZXNoaC9yZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVfYWRtaW4iOmZhbHNlLCJjb250cmlidXRpb25zIjoxMn0seyJlbWFpbCI6Im1hcmNlbG9AbWFyY2Vsb3MtbWFjYm9vay1wcm8ubG9jYWwiLCJuYW1lIjoiTWFyY2VsbyBHb2JlbGxpIiwidHlwZSI6IkFub255bW91cyIsImNvbnRyaWJ1dGlvbnMiOjEyfSx7ImxvZ2luIjoiYXBlbGFkZSIsImlkIjoxODkxMTg2LCJub2RlX2lkIjoiTURRNlZYTmxjakU0T1RFeE9EWT0iLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE4OTExODY/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2FwZWxhZGUiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9hcGVsYWRlIiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYXBlbGFkZS9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hcGVsYWRlL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2FwZWxhZGUvZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2FwZWxhZGUvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hcGVsYWRlL3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYXBlbGFkZS9vcmdzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hcGVsYWRlL3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYXBlbGFkZS9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYXBlbGFkZS9yZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVfYWRtaW4iOmZhbHNlLCJjb250cmlidXRpb25zIjoxMn0seyJsb2dpbiI6IlBhdmVsR2ltZWxiZXJnIiwiaWQiOjYwMTE4OTQsIm5vZGVfaWQiOiJNRFE2VlhObGNqWXdNVEU0T1RRPSIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNjAxMTg5ND92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvUGF2ZWxHaW1lbGJlcmciLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9QYXZlbEdpbWVsYmVyZyIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1BhdmVsR2ltZWxiZXJnL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1BhdmVsR2ltZWxiZXJnL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1BhdmVsR2ltZWxiZXJnL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9QYXZlbEdpbWVsYmVyZy9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1BhdmVsR2ltZWxiZXJnL3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvUGF2ZWxHaW1lbGJlcmcvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvUGF2ZWxHaW1lbGJlcmcvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9QYXZlbEdpbWVsYmVyZy9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvUGF2ZWxHaW1lbGJlcmcvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6MTJ9LHsibG9naW4iOiJka3VrdSIsImlkIjo5MDQxNzksIm5vZGVfaWQiOiJNRFE2VlhObGNqa3dOREUzT1E9PSIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvOTA0MTc5P3Y9NCIsImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9ka3VrdSIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL2RrdWt1IiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGt1a3UvZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGt1a3UvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGt1a3UvZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2RrdWt1L3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGt1a3Uvc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9ka3VrdS9vcmdzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9ka3VrdS9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2RrdWt1L2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9ka3VrdS9yZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVfYWRtaW4iOmZhbHNlLCJjb250cmlidXRpb25zIjoxMX0seyJlbWFpbCI6ImFjaG9ja0B1c2Vycy5ub3JlcGx5LmNvbSIsIm5hbWUiOiJjaG9jayIsInR5cGUiOiJBbm9ueW1vdXMiLCJjb250cmlidXRpb25zIjoxMH0seyJsb2dpbiI6Ikhlc3MzMDAwIiwiaWQiOjQ3NTIyNDEsIm5vZGVfaWQiOiJNRFE2VlhObGNqUTNOVEl5TkRFPSIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNDc1MjI0MT92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvSGVzczMwMDAiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9IZXNzMzAwMCIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0hlc3MzMDAwL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0hlc3MzMDAwL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0hlc3MzMDAwL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9IZXNzMzAwMC9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0hlc3MzMDAwL3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvSGVzczMwMDAvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvSGVzczMwMDAvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9IZXNzMzAwMC9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvSGVzczMwMDAvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6MTB9LHsibG9naW4iOiJxcGlhcyIsImlkIjoxMDAzNDI2LCJub2RlX2lkIjoiTURRNlZYTmxjakV3TURNME1qWT0iLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzEwMDM0MjY/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3FwaWFzIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vcXBpYXMiLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9xcGlhcy9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9xcGlhcy9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9xcGlhcy9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvcXBpYXMvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9xcGlhcy9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3FwaWFzL29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3FwaWFzL3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvcXBpYXMvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3FwaWFzL3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2UsImNvbnRyaWJ1dGlvbnMiOjl9LHsibG9naW4iOiJ0b3VjaHBzIiwiaWQiOjEzMTc4NzAsIm5vZGVfaWQiOiJNRFE2VlhObGNqRXpNVGM0TnpBPSIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTMxNzg3MD92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdG91Y2hwcyIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL3RvdWNocHMiLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90b3VjaHBzL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3RvdWNocHMvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdG91Y2hwcy9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdG91Y2hwcy9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3RvdWNocHMvc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90b3VjaHBzL29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3RvdWNocHMvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90b3VjaHBzL2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90b3VjaHBzL3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2UsImNvbnRyaWJ1dGlvbnMiOjl9LHsibG9naW4iOiJ5b3NlZmJlbm55d2lkeW8iLCJpZCI6MTc1MzYwMDEsIm5vZGVfaWQiOiJNRFE2VlhObGNqRTNOVE0yTURBeCIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTc1MzYwMDE/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3lvc2VmYmVubnl3aWR5byIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL3lvc2VmYmVubnl3aWR5byIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3lvc2VmYmVubnl3aWR5by9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy95b3NlZmJlbm55d2lkeW8vZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMveW9zZWZiZW5ueXdpZHlvL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy95b3NlZmJlbm55d2lkeW8vc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy95b3NlZmJlbm55d2lkeW8vc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy95b3NlZmJlbm55d2lkeW8vb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMveW9zZWZiZW5ueXdpZHlvL3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMveW9zZWZiZW5ueXdpZHlvL2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy95b3NlZmJlbm55d2lkeW8vcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6OX0seyJsb2dpbiI6ImNvbG9yYWRvYnVtIiwiaWQiOjI4MjY5LCJub2RlX2lkIjoiTURRNlZYTmxjakk0TWpZNSIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMjgyNjk/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2NvbG9yYWRvYnVtIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vY29sb3JhZG9idW0iLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jb2xvcmFkb2J1bS9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jb2xvcmFkb2J1bS9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jb2xvcmFkb2J1bS9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvY29sb3JhZG9idW0vc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jb2xvcmFkb2J1bS9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2NvbG9yYWRvYnVtL29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2NvbG9yYWRvYnVtL3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvY29sb3JhZG9idW0vZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2NvbG9yYWRvYnVtL3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2UsImNvbnRyaWJ1dGlvbnMiOjl9LHsibG9naW4iOiJSY1NtaXRoIiwiaWQiOjU5OTUxNTEsIm5vZGVfaWQiOiJNRFE2VlhObGNqVTVPVFV4TlRFPSIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNTk5NTE1MT92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvUmNTbWl0aCIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL1JjU21pdGgiLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9SY1NtaXRoL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1JjU21pdGgvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvUmNTbWl0aC9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvUmNTbWl0aC9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1JjU21pdGgvc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9SY1NtaXRoL29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1JjU21pdGgvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9SY1NtaXRoL2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9SY1NtaXRoL3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2UsImNvbnRyaWJ1dGlvbnMiOjh9LHsibG9naW4iOiJmcmVlcmFuZ2VyIiwiaWQiOjE0MDEwNjksIm5vZGVfaWQiOiJNRFE2VlhObGNqRTBNREV3TmprPSIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQwMTA2OT92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZnJlZXJhbmdlciIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL2ZyZWVyYW5nZXIiLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9mcmVlcmFuZ2VyL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2ZyZWVyYW5nZXIvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZnJlZXJhbmdlci9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZnJlZXJhbmdlci9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2ZyZWVyYW5nZXIvc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9mcmVlcmFuZ2VyL29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2ZyZWVyYW5nZXIvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9mcmVlcmFuZ2VyL2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9mcmVlcmFuZ2VyL3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2UsImNvbnRyaWJ1dGlvbnMiOjd9LHsibG9naW4iOiJjbGVtZW50a25nIiwiaWQiOjI0MTk3MDkyLCJub2RlX2lkIjoiTURRNlZYTmxjakkwTVRrM01Ea3kiLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzI0MTk3MDkyP3Y9NCIsImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jbGVtZW50a25nIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vY2xlbWVudGtuZyIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2NsZW1lbnRrbmcvZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvY2xlbWVudGtuZy9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jbGVtZW50a25nL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jbGVtZW50a25nL3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvY2xlbWVudGtuZy9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2NsZW1lbnRrbmcvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvY2xlbWVudGtuZy9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2NsZW1lbnRrbmcvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2NsZW1lbnRrbmcvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6Nn0seyJsb2dpbiI6ImMxNTA1IiwiaWQiOjY1OTkwNzcsIm5vZGVfaWQiOiJNRFE2VlhObGNqWTFPVGt3TnpjPSIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNjU5OTA3Nz92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYzE1MDUiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9jMTUwNSIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2MxNTA1L2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2MxNTA1L2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2MxNTA1L2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jMTUwNS9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2MxNTA1L3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYzE1MDUvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYzE1MDUvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jMTUwNS9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYzE1MDUvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6Nn0seyJsb2dpbiI6ImRhbHVwdXMiLCJpZCI6ODA2NDU4LCJub2RlX2lkIjoiTURRNlZYTmxjamd3TmpRMU9BPT0iLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzgwNjQ1OD92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGFsdXB1cyIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL2RhbHVwdXMiLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9kYWx1cHVzL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2RhbHVwdXMvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGFsdXB1cy9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGFsdXB1cy9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2RhbHVwdXMvc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9kYWx1cHVzL29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2RhbHVwdXMvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9kYWx1cHVzL2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9kYWx1cHVzL3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2UsImNvbnRyaWJ1dGlvbnMiOjZ9LHsibG9naW4iOiJqZXRocjBudWxsIiwiaWQiOjIxMTk3NDEsIm5vZGVfaWQiOiJNRFE2VlhObGNqSXhNVGszTkRFPSIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMjExOTc0MT92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvamV0aHIwbnVsbCIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL2pldGhyMG51bGwiLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9qZXRocjBudWxsL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2pldGhyMG51bGwvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvamV0aHIwbnVsbC9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvamV0aHIwbnVsbC9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2pldGhyMG51bGwvc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9qZXRocjBudWxsL29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2pldGhyMG51bGwvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9qZXRocjBudWxsL2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9qZXRocjBudWxsL3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2UsImNvbnRyaWJ1dGlvbnMiOjZ9LHsiZW1haWwiOiJwaW90ckBrZWR6aWEuZXUiLCJuYW1lIjoiUGlvdHIgS2VkemlhIiwidHlwZSI6IkFub255bW91cyIsImNvbnRyaWJ1dGlvbnMiOjZ9LHsibG9naW4iOiJrdW5rczAwMSIsImlkIjozOTQ5NjMwLCJub2RlX2lkIjoiTURRNlZYTmxjak01TkRrMk16QT0iLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzM5NDk2MzA/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2t1bmtzMDAxIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20va3Vua3MwMDEiLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9rdW5rczAwMS9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9rdW5rczAwMS9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9rdW5rczAwMS9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMva3Vua3MwMDEvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9rdW5rczAwMS9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2t1bmtzMDAxL29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2t1bmtzMDAxL3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMva3Vua3MwMDEvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2t1bmtzMDAxL3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2UsImNvbnRyaWJ1dGlvbnMiOjZ9LHsibG9naW4iOiJhbGV4YW5kZXIta2giLCJpZCI6MTk2MDY4ODUsIm5vZGVfaWQiOiJNRFE2VlhObGNqRTVOakEyT0RnMSIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTk2MDY4ODU/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2FsZXhhbmRlci1raCIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL2FsZXhhbmRlci1raCIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2FsZXhhbmRlci1raC9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hbGV4YW5kZXIta2gvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYWxleGFuZGVyLWtoL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hbGV4YW5kZXIta2gvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hbGV4YW5kZXIta2gvc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hbGV4YW5kZXIta2gvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYWxleGFuZGVyLWtoL3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYWxleGFuZGVyLWtoL2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hbGV4YW5kZXIta2gvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6NX0seyJsb2dpbiI6IlB1cml0eUNvbnRyb2wiLCJpZCI6NzUwOTE4MCwibm9kZV9pZCI6Ik1EUTZWWE5sY2pjMU1Ea3hPREE9IiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS83NTA5MTgwP3Y9NCIsImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9QdXJpdHlDb250cm9sIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vUHVyaXR5Q29udHJvbCIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1B1cml0eUNvbnRyb2wvZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvUHVyaXR5Q29udHJvbC9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9QdXJpdHlDb250cm9sL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9QdXJpdHlDb250cm9sL3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvUHVyaXR5Q29udHJvbC9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1B1cml0eUNvbnRyb2wvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvUHVyaXR5Q29udHJvbC9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1B1cml0eUNvbnRyb2wvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1B1cml0eUNvbnRyb2wvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6NX0seyJsb2dpbiI6ImRjb3JraW5nIiwiaWQiOjI4MTMzNTcsIm5vZGVfaWQiOiJNRFE2VlhObGNqSTRNVE16TlRjPSIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMjgxMzM1Nz92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGNvcmtpbmciLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9kY29ya2luZyIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2Rjb3JraW5nL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2Rjb3JraW5nL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2Rjb3JraW5nL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9kY29ya2luZy9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2Rjb3JraW5nL3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGNvcmtpbmcvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGNvcmtpbmcvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9kY29ya2luZy9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGNvcmtpbmcvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6NX0seyJsb2dpbiI6InBpb3Rya2VkemlhIiwiaWQiOjg0MjE5MjksIm5vZGVfaWQiOiJNRFE2VlhObGNqZzBNakU1TWprPSIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvODQyMTkyOT92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvcGlvdHJrZWR6aWEiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9waW90cmtlZHppYSIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3Bpb3Rya2VkemlhL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3Bpb3Rya2VkemlhL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3Bpb3Rya2VkemlhL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9waW90cmtlZHppYS9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3Bpb3Rya2VkemlhL3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvcGlvdHJrZWR6aWEvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvcGlvdHJrZWR6aWEvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9waW90cmtlZHppYS9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvcGlvdHJrZWR6aWEvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6NX0seyJsb2dpbiI6InByYXZlZW5kaGF3YW4iLCJpZCI6MTI5NDg5MDYsIm5vZGVfaWQiOiJNRFE2VlhObGNqRXlPVFE0T1RBMiIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTI5NDg5MDY/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3ByYXZlZW5kaGF3YW4iLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9wcmF2ZWVuZGhhd2FuIiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvcHJhdmVlbmRoYXdhbi9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9wcmF2ZWVuZGhhd2FuL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3ByYXZlZW5kaGF3YW4vZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3ByYXZlZW5kaGF3YW4vc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9wcmF2ZWVuZGhhd2FuL3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvcHJhdmVlbmRoYXdhbi9vcmdzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9wcmF2ZWVuZGhhd2FuL3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvcHJhdmVlbmRoYXdhbi9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvcHJhdmVlbmRoYXdhbi9yZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVfYWRtaW4iOmZhbHNlLCJjb250cmlidXRpb25zIjo1fSx7ImxvZ2luIjoidGhlQm95TW8iLCJpZCI6NTgzMzEyMCwibm9kZV9pZCI6Ik1EUTZWWE5sY2pVNE16TXhNakE9IiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS81ODMzMTIwP3Y9NCIsImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90aGVCb3lNbyIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL3RoZUJveU1vIiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdGhlQm95TW8vZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdGhlQm95TW8vZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdGhlQm95TW8vZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3RoZUJveU1vL3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdGhlQm95TW8vc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90aGVCb3lNby9vcmdzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90aGVCb3lNby9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3RoZUJveU1vL2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90aGVCb3lNby9yZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVfYWRtaW4iOmZhbHNlLCJjb250cmlidXRpb25zIjo0fSx7ImxvZ2luIjoic2lndSIsImlkIjo1ODQyMTEsIm5vZGVfaWQiOiJNRFE2VlhObGNqVTROREl4TVE9PSIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNTg0MjExP3Y9NCIsImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9zaWd1IiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vc2lndSIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3NpZ3UvZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvc2lndS9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9zaWd1L2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9zaWd1L3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvc2lndS9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3NpZ3Uvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvc2lndS9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3NpZ3UvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3NpZ3UvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6NH0seyJlbWFpbCI6ImJyeWFuLnlhcEBhbGxpYW50cy5jb20iLCJuYW1lIjoiQnJ5YW4gWWFwIiwidHlwZSI6IkFub255bW91cyIsImNvbnRyaWJ1dGlvbnMiOjN9LHsibG9naW4iOiJjZXNzd2FpcmltdSIsImlkIjoxNzA4MTA3NCwibm9kZV9pZCI6Ik1EUTZWWE5sY2pFM01EZ3hNRGMwIiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNzA4MTA3ND92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvY2Vzc3dhaXJpbXUiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9jZXNzd2FpcmltdSIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2Nlc3N3YWlyaW11L2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2Nlc3N3YWlyaW11L2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2Nlc3N3YWlyaW11L2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jZXNzd2FpcmltdS9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2Nlc3N3YWlyaW11L3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvY2Vzc3dhaXJpbXUvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvY2Vzc3dhaXJpbXUvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jZXNzd2FpcmltdS9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvY2Vzc3dhaXJpbXUvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6M30seyJsb2dpbiI6IkRhbmllbHNob3ciLCJpZCI6MjQ4NDY1MTMsIm5vZGVfaWQiOiJNRFE2VlhObGNqSTBPRFEyTlRFeiIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMjQ4NDY1MTM/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0RhbmllbHNob3ciLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9EYW5pZWxzaG93IiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvRGFuaWVsc2hvdy9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9EYW5pZWxzaG93L2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0RhbmllbHNob3cvZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0RhbmllbHNob3cvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9EYW5pZWxzaG93L3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvRGFuaWVsc2hvdy9vcmdzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9EYW5pZWxzaG93L3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvRGFuaWVsc2hvdy9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvRGFuaWVsc2hvdy9yZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVfYWRtaW4iOmZhbHNlLCJjb250cmlidXRpb25zIjozfSx7ImxvZ2luIjoiRWxpc2FSbXoiLCJpZCI6MjU5NTIwNjYsIm5vZGVfaWQiOiJNRFE2VlhObGNqSTFPVFV5TURZMiIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMjU5NTIwNjY/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0VsaXNhUm16IiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vRWxpc2FSbXoiLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9FbGlzYVJtei9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9FbGlzYVJtei9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9FbGlzYVJtei9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvRWxpc2FSbXovc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9FbGlzYVJtei9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0VsaXNhUm16L29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0VsaXNhUm16L3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvRWxpc2FSbXovZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0VsaXNhUm16L3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2UsImNvbnRyaWJ1dGlvbnMiOjN9LHsibG9naW4iOiJGZWRlcmljb0VzcGFyemEiLCJpZCI6MTE5ODgwODksIm5vZGVfaWQiOiJNRFE2VlhObGNqRXhPVGc0TURnNSIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTE5ODgwODk/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0ZlZGVyaWNvRXNwYXJ6YSIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL0ZlZGVyaWNvRXNwYXJ6YSIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0ZlZGVyaWNvRXNwYXJ6YS9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9GZWRlcmljb0VzcGFyemEvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvRmVkZXJpY29Fc3BhcnphL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9GZWRlcmljb0VzcGFyemEvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9GZWRlcmljb0VzcGFyemEvc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9GZWRlcmljb0VzcGFyemEvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvRmVkZXJpY29Fc3BhcnphL3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvRmVkZXJpY29Fc3BhcnphL2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9GZWRlcmljb0VzcGFyemEvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6M30seyJlbWFpbCI6ImlzbWFlbEBpc21hZWwtbGFwdG9wLihub25lKSIsIm5hbWUiOiJJc21hZWwiLCJ0eXBlIjoiQW5vbnltb3VzIiwiY29udHJpYnV0aW9ucyI6M30seyJsb2dpbiI6Ik1hcm9vLWIiLCJpZCI6NzEyODk3Miwibm9kZV9pZCI6Ik1EUTZWWE5sY2pjeE1qZzVOekk9IiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS83MTI4OTcyP3Y9NCIsImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9NYXJvby1iIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vTWFyb28tYiIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL01hcm9vLWIvZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvTWFyb28tYi9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9NYXJvby1iL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9NYXJvby1iL3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvTWFyb28tYi9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL01hcm9vLWIvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvTWFyb28tYi9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL01hcm9vLWIvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL01hcm9vLWIvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6M30seyJsb2dpbiI6Im5pdGlzaG1hZGh1a2FyIiwiaWQiOjc3NzcwMzgsIm5vZGVfaWQiOiJNRFE2VlhObGNqYzNOemN3TXpnPSIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNzc3NzAzOD92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbml0aXNobWFkaHVrYXIiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9uaXRpc2htYWRodWthciIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL25pdGlzaG1hZGh1a2FyL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL25pdGlzaG1hZGh1a2FyL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL25pdGlzaG1hZGh1a2FyL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9uaXRpc2htYWRodWthci9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL25pdGlzaG1hZGh1a2FyL3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbml0aXNobWFkaHVrYXIvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbml0aXNobWFkaHVrYXIvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9uaXRpc2htYWRodWthci9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbml0aXNobWFkaHVrYXIvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6M30seyJsb2dpbiI6ImFjaG9jayIsImlkIjoyMzYzMTQ2LCJub2RlX2lkIjoiTURRNlZYTmxjakl6TmpNeE5EWT0iLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzIzNjMxNDY/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2FjaG9jayIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL2FjaG9jayIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2FjaG9jay9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hY2hvY2svZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYWNob2NrL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hY2hvY2svc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hY2hvY2svc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hY2hvY2svb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYWNob2NrL3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYWNob2NrL2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hY2hvY2svcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6M30seyJlbWFpbCI6Im1hcmNlbG9AbWFyY2Vsb3MtbWFjYm9vay1wcm8ubG9jYWwiLCJuYW1lIjoiZGVjYXJlYW5vIiwidHlwZSI6IkFub255bW91cyIsImNvbnRyaWJ1dGlvbnMiOjN9LHsibG9naW4iOiJtYXJ5YW0yMSIsImlkIjoxNzIyNTEwMywibm9kZV9pZCI6Ik1EUTZWWE5sY2pFM01qSTFNVEF6IiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNzIyNTEwMz92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbWFyeWFtMjEiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9tYXJ5YW0yMSIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL21hcnlhbTIxL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL21hcnlhbTIxL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL21hcnlhbTIxL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9tYXJ5YW0yMS9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL21hcnlhbTIxL3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbWFyeWFtMjEvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbWFyeWFtMjEvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9tYXJ5YW0yMS9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbWFyeWFtMjEvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6M30seyJlbWFpbCI6InNhYXNib29rQHNhYXNib29rLihub25lKSIsIm5hbWUiOiJzYWFzYm9vayIsInR5cGUiOiJBbm9ueW1vdXMiLCJjb250cmlidXRpb25zIjozfSx7ImVtYWlsIjoiYW50b255ZGVueWVyQGdtYWlsLmNvbSIsIm5hbWUiOiJBbnRvbnkgRGVueWVyIiwidHlwZSI6IkFub255bW91cyIsImNvbnRyaWJ1dGlvbnMiOjJ9LHsibG9naW4iOiJiY2IzNyIsImlkIjozODg1Njg3LCJub2RlX2lkIjoiTURRNlZYTmxjak00T0RVMk9EYz0iLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzM4ODU2ODc/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2JjYjM3IiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vYmNiMzciLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9iY2IzNy9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9iY2IzNy9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9iY2IzNy9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYmNiMzcvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9iY2IzNy9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2JjYjM3L29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2JjYjM3L3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYmNiMzcvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2JjYjM3L3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2UsImNvbnRyaWJ1dGlvbnMiOjJ9LHsiZW1haWwiOiJlZF9rZWl0aEBhY20ub3JnIiwibmFtZSI6IkVkIEtlaXRoIiwidHlwZSI6IkFub255bW91cyIsImNvbnRyaWJ1dGlvbnMiOjJ9LHsibG9naW4iOiJldGhhbnN0cm9taW5nZXIiLCJpZCI6MzIwNzgzOTYsIm5vZGVfaWQiOiJNRFE2VlhObGNqTXlNRGM0TXprMiIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMzIwNzgzOTY/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2V0aGFuc3Ryb21pbmdlciIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL2V0aGFuc3Ryb21pbmdlciIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2V0aGFuc3Ryb21pbmdlci9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9ldGhhbnN0cm9taW5nZXIvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZXRoYW5zdHJvbWluZ2VyL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9ldGhhbnN0cm9taW5nZXIvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9ldGhhbnN0cm9taW5nZXIvc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9ldGhhbnN0cm9taW5nZXIvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZXRoYW5zdHJvbWluZ2VyL3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZXRoYW5zdHJvbWluZ2VyL2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9ldGhhbnN0cm9taW5nZXIvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6Mn0seyJsb2dpbiI6Ikdlb3JneTUiLCJpZCI6MjE5MjU2MCwibm9kZV9pZCI6Ik1EUTZWWE5sY2pJeE9USTFOakE9IiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8yMTkyNTYwP3Y9NCIsImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9HZW9yZ3k1IiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vR2Vvcmd5NSIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0dlb3JneTUvZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvR2Vvcmd5NS9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9HZW9yZ3k1L2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9HZW9yZ3k1L3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvR2Vvcmd5NS9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0dlb3JneTUvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvR2Vvcmd5NS9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0dlb3JneTUvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0dlb3JneTUvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6Mn0seyJsb2dpbiI6Ik5pY2hvbGFzSmFjcXVlcyIsImlkIjoyMDAzNjk0Mywibm9kZV9pZCI6Ik1EUTZWWE5sY2pJd01ETTJPVFF6IiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8yMDAzNjk0Mz92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvTmljaG9sYXNKYWNxdWVzIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vTmljaG9sYXNKYWNxdWVzIiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvTmljaG9sYXNKYWNxdWVzL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL05pY2hvbGFzSmFjcXVlcy9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9OaWNob2xhc0phY3F1ZXMvZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL05pY2hvbGFzSmFjcXVlcy9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL05pY2hvbGFzSmFjcXVlcy9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL05pY2hvbGFzSmFjcXVlcy9vcmdzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9OaWNob2xhc0phY3F1ZXMvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9OaWNob2xhc0phY3F1ZXMvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL05pY2hvbGFzSmFjcXVlcy9yZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVfYWRtaW4iOmZhbHNlLCJjb250cmlidXRpb25zIjoyfSx7ImVtYWlsIjoicGlvdHJAa2VkemlhLmV1IiwibmFtZSI6IlBpb3RyIEvEmWR6aWEiLCJ0eXBlIjoiQW5vbnltb3VzIiwiY29udHJpYnV0aW9ucyI6Mn0seyJsb2dpbiI6IlJvbXVzYyIsImlkIjoyMDYwMDk0Mywibm9kZV9pZCI6Ik1EUTZWWE5sY2pJd05qQXdPVFF6IiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8yMDYwMDk0Mz92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvUm9tdXNjIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vUm9tdXNjIiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvUm9tdXNjL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1JvbXVzYy9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9Sb211c2MvZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1JvbXVzYy9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1JvbXVzYy9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1JvbXVzYy9vcmdzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9Sb211c2MvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9Sb211c2MvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1JvbXVzYy9yZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVfYWRtaW4iOmZhbHNlLCJjb250cmlidXRpb25zIjoyfSx7ImxvZ2luIjoidGJhcmF6YSIsImlkIjoxOTQzMDEwNiwibm9kZV9pZCI6Ik1EUTZWWE5sY2pFNU5ETXdNVEEyIiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xOTQzMDEwNj92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdGJhcmF6YSIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL3RiYXJhemEiLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90YmFyYXphL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3RiYXJhemEvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdGJhcmF6YS9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdGJhcmF6YS9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3RiYXJhemEvc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90YmFyYXphL29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3RiYXJhemEvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90YmFyYXphL2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90YmFyYXphL3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2UsImNvbnRyaWJ1dGlvbnMiOjJ9LHsibG9naW4iOiJabWFnb0QiLCJpZCI6NzA0Njc4Nywibm9kZV9pZCI6Ik1EUTZWWE5sY2pjd05EWTNPRGM9IiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS83MDQ2Nzg3P3Y9NCIsImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9abWFnb0QiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9abWFnb0QiLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9abWFnb0QvZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvWm1hZ29EL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1ptYWdvRC9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvWm1hZ29EL3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvWm1hZ29EL3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvWm1hZ29EL29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1ptYWdvRC9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1ptYWdvRC9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvWm1hZ29EL3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2UsImNvbnRyaWJ1dGlvbnMiOjJ9LHsibG9naW4iOiJTdGxNYXJpczEyMyIsImlkIjoxMzA2MjYxNywibm9kZV9pZCI6Ik1EUTZWWE5sY2pFek1EWXlOakUzIiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xMzA2MjYxNz92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvU3RsTWFyaXMxMjMiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9TdGxNYXJpczEyMyIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1N0bE1hcmlzMTIzL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1N0bE1hcmlzMTIzL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1N0bE1hcmlzMTIzL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9TdGxNYXJpczEyMy9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1N0bE1hcmlzMTIzL3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvU3RsTWFyaXMxMjMvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvU3RsTWFyaXMxMjMvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9TdGxNYXJpczEyMy9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvU3RsTWFyaXMxMjMvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6Mn0seyJsb2dpbiI6IkFkdmFpdFQxNyIsImlkIjoxNTcxNzY1Nywibm9kZV9pZCI6Ik1EUTZWWE5sY2pFMU56RTNOalUzIiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNTcxNzY1Nz92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvQWR2YWl0VDE3IiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vQWR2YWl0VDE3IiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvQWR2YWl0VDE3L2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0FkdmFpdFQxNy9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9BZHZhaXRUMTcvZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0FkdmFpdFQxNy9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0FkdmFpdFQxNy9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0FkdmFpdFQxNy9vcmdzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9BZHZhaXRUMTcvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9BZHZhaXRUMTcvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0FkdmFpdFQxNy9yZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVfYWRtaW4iOmZhbHNlLCJjb250cmlidXRpb25zIjoxfSx7ImxvZ2luIjoicGFqYXlkZXYiLCJpZCI6MjEzNzUwMTQsIm5vZGVfaWQiOiJNRFE2VlhObGNqSXhNemMxTURFMCIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMjEzNzUwMTQ/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3BhamF5ZGV2IiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vcGFqYXlkZXYiLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9wYWpheWRldi9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9wYWpheWRldi9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9wYWpheWRldi9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvcGFqYXlkZXYvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9wYWpheWRldi9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3BhamF5ZGV2L29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3BhamF5ZGV2L3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvcGFqYXlkZXYvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3BhamF5ZGV2L3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2UsImNvbnRyaWJ1dGlvbnMiOjF9LHsibG9naW4iOiJBbWJlcldpbGtpZSIsImlkIjoyMDE0MTQyOCwibm9kZV9pZCI6Ik1EUTZWWE5sY2pJd01UUXhOREk0IiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8yMDE0MTQyOD92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvQW1iZXJXaWxraWUiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9BbWJlcldpbGtpZSIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0FtYmVyV2lsa2llL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0FtYmVyV2lsa2llL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0FtYmVyV2lsa2llL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9BbWJlcldpbGtpZS9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0FtYmVyV2lsa2llL3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvQW1iZXJXaWxraWUvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvQW1iZXJXaWxraWUvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9BbWJlcldpbGtpZS9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvQW1iZXJXaWxraWUvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6MX0seyJsb2dpbiI6ImFya3UiLCJpZCI6NzAzOTUyMywibm9kZV9pZCI6Ik1EUTZWWE5sY2pjd016azFNak09IiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS83MDM5NTIzP3Y9NCIsImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hcmt1IiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vYXJrdSIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2Fya3UvZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYXJrdS9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hcmt1L2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hcmt1L3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYXJrdS9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2Fya3Uvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYXJrdS9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2Fya3UvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2Fya3UvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6MX0seyJsb2dpbiI6IndlZWR5U2VhRHJhZ29uIiwiaWQiOjY3Mzc5NCwibm9kZV9pZCI6Ik1EUTZWWE5sY2pZM016YzVOQT09IiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS82NzM3OTQ/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3dlZWR5U2VhRHJhZ29uIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vd2VlZHlTZWFEcmFnb24iLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy93ZWVkeVNlYURyYWdvbi9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy93ZWVkeVNlYURyYWdvbi9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy93ZWVkeVNlYURyYWdvbi9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvd2VlZHlTZWFEcmFnb24vc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy93ZWVkeVNlYURyYWdvbi9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3dlZWR5U2VhRHJhZ29uL29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3dlZWR5U2VhRHJhZ29uL3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvd2VlZHlTZWFEcmFnb24vZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3dlZWR5U2VhRHJhZ29uL3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2UsImNvbnRyaWJ1dGlvbnMiOjF9LHsibG9naW4iOiJjaXJlbW91c3NhZGlhIiwiaWQiOjIyMTMyOTQ3LCJub2RlX2lkIjoiTURRNlZYTmxjakl5TVRNeU9UUTMiLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzIyMTMyOTQ3P3Y9NCIsImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jaXJlbW91c3NhZGlhIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vY2lyZW1vdXNzYWRpYSIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2NpcmVtb3Vzc2FkaWEvZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvY2lyZW1vdXNzYWRpYS9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jaXJlbW91c3NhZGlhL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jaXJlbW91c3NhZGlhL3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvY2lyZW1vdXNzYWRpYS9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2NpcmVtb3Vzc2FkaWEvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvY2lyZW1vdXNzYWRpYS9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2NpcmVtb3Vzc2FkaWEvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2NpcmVtb3Vzc2FkaWEvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6MX0seyJsb2dpbiI6IkRlYW4tQ29ha2xleSIsImlkIjoxNTcxOTY1Mywibm9kZV9pZCI6Ik1EUTZWWE5sY2pFMU56RTVOalV6IiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNTcxOTY1Mz92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvRGVhbi1Db2FrbGV5IiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vRGVhbi1Db2FrbGV5IiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvRGVhbi1Db2FrbGV5L2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0RlYW4tQ29ha2xleS9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9EZWFuLUNvYWtsZXkvZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0RlYW4tQ29ha2xleS9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0RlYW4tQ29ha2xleS9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0RlYW4tQ29ha2xleS9vcmdzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9EZWFuLUNvYWtsZXkvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9EZWFuLUNvYWtsZXkvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0RlYW4tQ29ha2xleS9yZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVfYWRtaW4iOmZhbHNlLCJjb250cmlidXRpb25zIjoxfSx7ImxvZ2luIjoiZWRtaWxzb25lZnMiLCJpZCI6NDk4OTM4LCJub2RlX2lkIjoiTURRNlZYTmxjalE1T0Rrek9BPT0iLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzQ5ODkzOD92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZWRtaWxzb25lZnMiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9lZG1pbHNvbmVmcyIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2VkbWlsc29uZWZzL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2VkbWlsc29uZWZzL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2VkbWlsc29uZWZzL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9lZG1pbHNvbmVmcy9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2VkbWlsc29uZWZzL3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZWRtaWxzb25lZnMvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZWRtaWxzb25lZnMvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9lZG1pbHNvbmVmcy9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZWRtaWxzb25lZnMvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6MX0seyJsb2dpbiI6IlRlZmlDIiwiaWQiOjE2ODg4MTcyLCJub2RlX2lkIjoiTURRNlZYTmxjakUyT0RnNE1UY3kiLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE2ODg4MTcyP3Y9NCIsImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9UZWZpQyIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL1RlZmlDIiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvVGVmaUMvZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvVGVmaUMvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvVGVmaUMvZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1RlZmlDL3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvVGVmaUMvc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9UZWZpQy9vcmdzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9UZWZpQy9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1RlZmlDL2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9UZWZpQy9yZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVfYWRtaW4iOmZhbHNlLCJjb250cmlidXRpb25zIjoxfSx7ImxvZ2luIjoibGV4Y29ycDE2IiwiaWQiOjE0MTY2MjYwLCJub2RlX2lkIjoiTURRNlZYTmxjakUwTVRZMk1qWXciLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0MTY2MjYwP3Y9NCIsImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sZXhjb3JwMTYiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9sZXhjb3JwMTYiLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sZXhjb3JwMTYvZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbGV4Y29ycDE2L2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xleGNvcnAxNi9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbGV4Y29ycDE2L3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbGV4Y29ycDE2L3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbGV4Y29ycDE2L29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xleGNvcnAxNi9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xleGNvcnAxNi9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbGV4Y29ycDE2L3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2UsImNvbnRyaWJ1dGlvbnMiOjF9LHsibG9naW4iOiJLYWNodWxpbzEiLCJpZCI6MjIyNDMwOTAsIm5vZGVfaWQiOiJNRFE2VlhObGNqSXlNalF6TURrdyIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMjIyNDMwOTA/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0thY2h1bGlvMSIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL0thY2h1bGlvMSIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0thY2h1bGlvMS9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9LYWNodWxpbzEvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvS2FjaHVsaW8xL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9LYWNodWxpbzEvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9LYWNodWxpbzEvc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9LYWNodWxpbzEvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvS2FjaHVsaW8xL3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvS2FjaHVsaW8xL2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9LYWNodWxpbzEvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6MX0seyJsb2dpbiI6ImxvbGx5cG9wMjciLCJpZCI6NTczNjI0OCwibm9kZV9pZCI6Ik1EUTZWWE5sY2pVM016WXlORGc9IiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS81NzM2MjQ4P3Y9NCIsImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sb2xseXBvcDI3IiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vbG9sbHlwb3AyNyIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xvbGx5cG9wMjcvZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbG9sbHlwb3AyNy9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sb2xseXBvcDI3L2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sb2xseXBvcDI3L3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbG9sbHlwb3AyNy9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xvbGx5cG9wMjcvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbG9sbHlwb3AyNy9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xvbGx5cG9wMjcvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xvbGx5cG9wMjcvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6MX0seyJlbWFpbCI6ImxlbmlxdWVub3JhbGV6QGdtYWlsLmNvbSIsIm5hbWUiOiJMZW5pcXVlIE5vcmFsZXoiLCJ0eXBlIjoiQW5vbnltb3VzIiwiY29udHJpYnV0aW9ucyI6MX0seyJsb2dpbiI6InBqYmVsbyIsImlkIjoyODg3NjgwMywibm9kZV9pZCI6Ik1EUTZWWE5sY2pJNE9EYzJPREF6IiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8yODg3NjgwMz92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvcGpiZWxvIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vcGpiZWxvIiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvcGpiZWxvL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3BqYmVsby9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9wamJlbG8vZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3BqYmVsby9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3BqYmVsby9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3BqYmVsby9vcmdzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9wamJlbG8vcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9wamJlbG8vZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3BqYmVsby9yZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVfYWRtaW4iOmZhbHNlLCJjb250cmlidXRpb25zIjoxfV0=\n  recorded_at: Sat, 15 May 2021 08:56:36 GMT\n- request:\n    method: get\n    uri: https://api.github.com/repos/AgileVentures/WebsiteOne/stats/contributors\n    body:\n      encoding: US-ASCII\n      string: ''\n    headers:\n      Accept:\n      - application/vnd.github.v3+json\n      User-Agent:\n      - Octokit Ruby Gem 4.21.0\n      Content-Type:\n      - application/json\n      Authorization:\n      - Basic ZDA1ZWIzMTBlYmY1NDllNTM4ODk6NmE1OTg4YWYxMmE4YTAxMjM5OWUwMzdkMDU4NmJmNzA2YzRiZmJmMA==\n      Accept-Encoding:\n      - gzip;q=1.0,deflate;q=0.6,identity;q=0.3\n  response:\n    status:\n      code: 200\n      message: OK\n    headers:\n      Server:\n      - GitHub.com\n      Date:\n      - Sat, 15 May 2021 08:56:37 GMT\n      Content-Type:\n      - application/json; charset=utf-8\n      Transfer-Encoding:\n      - chunked\n      Cache-Control:\n      - public, max-age=60, s-maxage=60\n      Vary:\n      - Accept\n      - Accept-Encoding, Accept, X-Requested-With\n      Etag:\n      - W/\"85a064b2b8d28a052bf169ef63d77ccbdcc33e77fb9bce5825bb0669d98dee77\"\n      X-Github-Media-Type:\n      - github.v3; format=json\n      X-Ratelimit-Limit:\n      - '5000'\n      X-Ratelimit-Remaining:\n      - '4969'\n      X-Ratelimit-Reset:\n      - '1621071767'\n      X-Ratelimit-Used:\n      - '31'\n      X-Ratelimit-Resource:\n      - core\n      Access-Control-Expose-Headers:\n      - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining,\n        X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes,\n        X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation,\n        Sunset\n      Access-Control-Allow-Origin:\n      - \"*\"\n      Strict-Transport-Security:\n      - max-age=31536000; includeSubdomains; preload\n      X-Frame-Options:\n      - deny\n      X-Content-Type-Options:\n      - nosniff\n      X-Xss-Protection:\n      - '0'\n      Referrer-Policy:\n      - origin-when-cross-origin, strict-origin-when-cross-origin\n      Content-Security-Policy:\n      - default-src 'none'\n      X-Github-Request-Id:\n      - DF7A:3952:14B7383:151E4DE:609F8CC4\n    body:\n      encoding: ASCII-8BIT\n      string: '[{\"total\":1,\"weeks\":[{\"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\":17,\"d\":4,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"lollypop27\",\"id\":5736248,\"node_id\":\"MDQ6VXNlcjU3MzYyNDg=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/5736248?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/lollypop27\",\"html_url\":\"https://github.com/lollypop27\",\"followers_url\":\"https://api.github.com/users/lollypop27/followers\",\"following_url\":\"https://api.github.com/users/lollypop27/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/lollypop27/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/lollypop27/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/lollypop27/subscriptions\",\"organizations_url\":\"https://api.github.com/users/lollypop27/orgs\",\"repos_url\":\"https://api.github.com/users/lollypop27/repos\",\"events_url\":\"https://api.github.com/users/lollypop27/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/lollypop27/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":12,\"weeks\":[{\"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\":40,\"d\":3,\"c\":1},{\"w\":1497139200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1497744000,\"a\":48,\"d\":8,\"c\":1},{\"w\":1498348800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1498953600,\"a\":3,\"d\":3,\"c\":2},{\"w\":1499558400,\"a\":163,\"d\":13,\"c\":2},{\"w\":1500163200,\"a\":74,\"d\":14,\"c\":3},{\"w\":1500768000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1501372800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1501977600,\"a\":45,\"d\":3,\"c\":1},{\"w\":1502582400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1503187200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1503792000,\"a\":26,\"d\":7,\"c\":1},{\"w\":1504396800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1505001600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1505606400,\"a\":3,\"d\":3,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"lokeshh\",\"id\":7677524,\"node_id\":\"MDQ6VXNlcjc2Nzc1MjQ=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/7677524?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/lokeshh\",\"html_url\":\"https://github.com/lokeshh\",\"followers_url\":\"https://api.github.com/users/lokeshh/followers\",\"following_url\":\"https://api.github.com/users/lokeshh/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/lokeshh/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/lokeshh/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/lokeshh/subscriptions\",\"organizations_url\":\"https://api.github.com/users/lokeshh/orgs\",\"repos_url\":\"https://api.github.com/users/lokeshh/repos\",\"events_url\":\"https://api.github.com/users/lokeshh/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/lokeshh/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":11,\"weeks\":[{\"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\":37,\"d\":7,\"c\":1},{\"w\":1539475200,\"a\":43,\"d\":5,\"c\":3},{\"w\":1540080000,\"a\":2,\"d\":2,\"c\":1},{\"w\":1540684800,\"a\":86,\"d\":1,\"c\":1},{\"w\":1541289600,\"a\":146,\"d\":220,\"c\":2},{\"w\":1541894400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1542499200,\"a\":50,\"d\":52,\"c\":1},{\"w\":1543104000,\"a\":235,\"d\":13,\"c\":1},{\"w\":1543708800,\"a\":250,\"d\":88,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"dkuku\",\"id\":904179,\"node_id\":\"MDQ6VXNlcjkwNDE3OQ==\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/904179?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/dkuku\",\"html_url\":\"https://github.com/dkuku\",\"followers_url\":\"https://api.github.com/users/dkuku/followers\",\"following_url\":\"https://api.github.com/users/dkuku/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/dkuku/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/dkuku/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/dkuku/subscriptions\",\"organizations_url\":\"https://api.github.com/users/dkuku/orgs\",\"repos_url\":\"https://api.github.com/users/dkuku/repos\",\"events_url\":\"https://api.github.com/users/dkuku/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/dkuku/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":1,\"weeks\":[{\"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\":41,\"d\":25,\"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\":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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"vikasvr\",\"id\":19375738,\"node_id\":\"MDQ6VXNlcjE5Mzc1NzM4\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/19375738?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/vikasvr\",\"html_url\":\"https://github.com/vikasvr\",\"followers_url\":\"https://api.github.com/users/vikasvr/followers\",\"following_url\":\"https://api.github.com/users/vikasvr/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/vikasvr/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/vikasvr/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/vikasvr/subscriptions\",\"organizations_url\":\"https://api.github.com/users/vikasvr/orgs\",\"repos_url\":\"https://api.github.com/users/vikasvr/repos\",\"events_url\":\"https://api.github.com/users/vikasvr/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/vikasvr/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":1,\"weeks\":[{\"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\":8,\"d\":6,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"bill-auger\",\"id\":1642691,\"node_id\":\"MDQ6VXNlcjE2NDI2OTE=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/1642691?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/bill-auger\",\"html_url\":\"https://github.com/bill-auger\",\"followers_url\":\"https://api.github.com/users/bill-auger/followers\",\"following_url\":\"https://api.github.com/users/bill-auger/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/bill-auger/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/bill-auger/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/bill-auger/subscriptions\",\"organizations_url\":\"https://api.github.com/users/bill-auger/orgs\",\"repos_url\":\"https://api.github.com/users/bill-auger/repos\",\"events_url\":\"https://api.github.com/users/bill-auger/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/bill-auger/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":2,\"weeks\":[{\"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\":5,\"d\":5,\"c\":2},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"ZmagoD\",\"id\":7046787,\"node_id\":\"MDQ6VXNlcjcwNDY3ODc=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/7046787?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/ZmagoD\",\"html_url\":\"https://github.com/ZmagoD\",\"followers_url\":\"https://api.github.com/users/ZmagoD/followers\",\"following_url\":\"https://api.github.com/users/ZmagoD/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/ZmagoD/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/ZmagoD/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/ZmagoD/subscriptions\",\"organizations_url\":\"https://api.github.com/users/ZmagoD/orgs\",\"repos_url\":\"https://api.github.com/users/ZmagoD/repos\",\"events_url\":\"https://api.github.com/users/ZmagoD/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/ZmagoD/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":2,\"weeks\":[{\"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\":3,\"d\":3,\"c\":1},{\"w\":1506211200,\"a\":10,\"d\":1,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"NicholasJacques\",\"id\":20036943,\"node_id\":\"MDQ6VXNlcjIwMDM2OTQz\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/20036943?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/NicholasJacques\",\"html_url\":\"https://github.com/NicholasJacques\",\"followers_url\":\"https://api.github.com/users/NicholasJacques/followers\",\"following_url\":\"https://api.github.com/users/NicholasJacques/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/NicholasJacques/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/NicholasJacques/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/NicholasJacques/subscriptions\",\"organizations_url\":\"https://api.github.com/users/NicholasJacques/orgs\",\"repos_url\":\"https://api.github.com/users/NicholasJacques/repos\",\"events_url\":\"https://api.github.com/users/NicholasJacques/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/NicholasJacques/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":2,\"weeks\":[{\"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\":11,\"d\":7,\"c\":1},{\"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\":17,\"d\":1,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"StlMaris123\",\"id\":13062617,\"node_id\":\"MDQ6VXNlcjEzMDYyNjE3\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/13062617?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/StlMaris123\",\"html_url\":\"https://github.com/StlMaris123\",\"followers_url\":\"https://api.github.com/users/StlMaris123/followers\",\"following_url\":\"https://api.github.com/users/StlMaris123/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/StlMaris123/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/StlMaris123/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/StlMaris123/subscriptions\",\"organizations_url\":\"https://api.github.com/users/StlMaris123/orgs\",\"repos_url\":\"https://api.github.com/users/StlMaris123/repos\",\"events_url\":\"https://api.github.com/users/StlMaris123/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/StlMaris123/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":1,\"weeks\":[{\"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\":13383,\"d\":3,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"AmberWilkie\",\"id\":20141428,\"node_id\":\"MDQ6VXNlcjIwMTQxNDI4\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/20141428?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/AmberWilkie\",\"html_url\":\"https://github.com/AmberWilkie\",\"followers_url\":\"https://api.github.com/users/AmberWilkie/followers\",\"following_url\":\"https://api.github.com/users/AmberWilkie/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/AmberWilkie/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/AmberWilkie/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/AmberWilkie/subscriptions\",\"organizations_url\":\"https://api.github.com/users/AmberWilkie/orgs\",\"repos_url\":\"https://api.github.com/users/AmberWilkie/repos\",\"events_url\":\"https://api.github.com/users/AmberWilkie/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/AmberWilkie/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":3,\"weeks\":[{\"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\":12,\"d\":3,\"c\":1},{\"w\":1559433600,\"a\":11,\"d\":3,\"c\":1},{\"w\":1560038400,\"a\":2,\"d\":49,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"Danielshow\",\"id\":24846513,\"node_id\":\"MDQ6VXNlcjI0ODQ2NTEz\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/24846513?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/Danielshow\",\"html_url\":\"https://github.com/Danielshow\",\"followers_url\":\"https://api.github.com/users/Danielshow/followers\",\"following_url\":\"https://api.github.com/users/Danielshow/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/Danielshow/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/Danielshow/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/Danielshow/subscriptions\",\"organizations_url\":\"https://api.github.com/users/Danielshow/orgs\",\"repos_url\":\"https://api.github.com/users/Danielshow/repos\",\"events_url\":\"https://api.github.com/users/Danielshow/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/Danielshow/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":78,\"weeks\":[{\"w\":1388880000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1389484800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1390089600,\"a\":60,\"d\":42,\"c\":3},{\"w\":1390694400,\"a\":117,\"d\":25,\"c\":4},{\"w\":1391299200,\"a\":190,\"d\":96,\"c\":5},{\"w\":1391904000,\"a\":196,\"d\":78,\"c\":6},{\"w\":1392508800,\"a\":182,\"d\":120,\"c\":9},{\"w\":1393113600,\"a\":2,\"d\":1,\"c\":1},{\"w\":1393718400,\"a\":490,\"d\":231,\"c\":8},{\"w\":1394323200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1394928000,\"a\":86,\"d\":56,\"c\":6},{\"w\":1395532800,\"a\":82,\"d\":49,\"c\":9},{\"w\":1396137600,\"a\":44597,\"d\":4,\"c\":6},{\"w\":1396742400,\"a\":107,\"d\":44642,\"c\":4},{\"w\":1397347200,\"a\":84,\"d\":3,\"c\":3},{\"w\":1397952000,\"a\":164,\"d\":30,\"c\":7},{\"w\":1398556800,\"a\":45,\"d\":152,\"c\":4},{\"w\":1399161600,\"a\":381,\"d\":38,\"c\":3},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"decareano\",\"id\":3332246,\"node_id\":\"MDQ6VXNlcjMzMzIyNDY=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/3332246?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/decareano\",\"html_url\":\"https://github.com/decareano\",\"followers_url\":\"https://api.github.com/users/decareano/followers\",\"following_url\":\"https://api.github.com/users/decareano/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/decareano/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/decareano/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/decareano/subscriptions\",\"organizations_url\":\"https://api.github.com/users/decareano/orgs\",\"repos_url\":\"https://api.github.com/users/decareano/repos\",\"events_url\":\"https://api.github.com/users/decareano/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/decareano/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":6,\"weeks\":[{\"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\":224,\"d\":107,\"c\":6},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"kunks001\",\"id\":3949630,\"node_id\":\"MDQ6VXNlcjM5NDk2MzA=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/3949630?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/kunks001\",\"html_url\":\"https://github.com/kunks001\",\"followers_url\":\"https://api.github.com/users/kunks001/followers\",\"following_url\":\"https://api.github.com/users/kunks001/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/kunks001/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/kunks001/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/kunks001/subscriptions\",\"organizations_url\":\"https://api.github.com/users/kunks001/orgs\",\"repos_url\":\"https://api.github.com/users/kunks001/repos\",\"events_url\":\"https://api.github.com/users/kunks001/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/kunks001/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":76,\"weeks\":[{\"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\":82,\"d\":27,\"c\":8},{\"w\":1396137600,\"a\":46,\"d\":12,\"c\":2},{\"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\":6,\"d\":4,\"c\":2},{\"w\":1400371200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1400976000,\"a\":53,\"d\":11,\"c\":3},{\"w\":1401580800,\"a\":2367,\"d\":985,\"c\":7},{\"w\":1402185600,\"a\":3134,\"d\":366,\"c\":21},{\"w\":1402790400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1403395200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1404000000,\"a\":299,\"d\":345,\"c\":4},{\"w\":1404604800,\"a\":42,\"d\":39,\"c\":3},{\"w\":1405209600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1405814400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1406419200,\"a\":1,\"d\":4,\"c\":1},{\"w\":1407024000,\"a\":876,\"d\":8425,\"c\":8},{\"w\":1407628800,\"a\":21,\"d\":154,\"c\":12},{\"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\":8,\"d\":0,\"c\":1},{\"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\":164,\"d\":0,\"c\":1},{\"w\":1511049600,\"a\":42,\"d\":12,\"c\":1},{\"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\":119,\"d\":83,\"c\":1},{\"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\":58,\"d\":3,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"marianmosley\",\"id\":1031483,\"node_id\":\"MDQ6VXNlcjEwMzE0ODM=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/1031483?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/marianmosley\",\"html_url\":\"https://github.com/marianmosley\",\"followers_url\":\"https://api.github.com/users/marianmosley/followers\",\"following_url\":\"https://api.github.com/users/marianmosley/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/marianmosley/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/marianmosley/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/marianmosley/subscriptions\",\"organizations_url\":\"https://api.github.com/users/marianmosley/orgs\",\"repos_url\":\"https://api.github.com/users/marianmosley/repos\",\"events_url\":\"https://api.github.com/users/marianmosley/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/marianmosley/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":9,\"weeks\":[{\"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\":2,\"d\":6,\"c\":2},{\"w\":1503187200,\"a\":23,\"d\":12,\"c\":6},{\"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\":1,\"d\":1,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"yosefbennywidyo\",\"id\":17536001,\"node_id\":\"MDQ6VXNlcjE3NTM2MDAx\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/17536001?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/yosefbennywidyo\",\"html_url\":\"https://github.com/yosefbennywidyo\",\"followers_url\":\"https://api.github.com/users/yosefbennywidyo/followers\",\"following_url\":\"https://api.github.com/users/yosefbennywidyo/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/yosefbennywidyo/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/yosefbennywidyo/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/yosefbennywidyo/subscriptions\",\"organizations_url\":\"https://api.github.com/users/yosefbennywidyo/orgs\",\"repos_url\":\"https://api.github.com/users/yosefbennywidyo/repos\",\"events_url\":\"https://api.github.com/users/yosefbennywidyo/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/yosefbennywidyo/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":1,\"weeks\":[{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":14,\"d\":14,\"c\":1},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"snpd25\",\"id\":32434989,\"node_id\":\"MDQ6VXNlcjMyNDM0OTg5\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/32434989?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/snpd25\",\"html_url\":\"https://github.com/snpd25\",\"followers_url\":\"https://api.github.com/users/snpd25/followers\",\"following_url\":\"https://api.github.com/users/snpd25/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/snpd25/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/snpd25/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/snpd25/subscriptions\",\"organizations_url\":\"https://api.github.com/users/snpd25/orgs\",\"repos_url\":\"https://api.github.com/users/snpd25/repos\",\"events_url\":\"https://api.github.com/users/snpd25/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/snpd25/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":5,\"weeks\":[{\"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\":67,\"d\":9,\"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\":4,\"d\":6128,\"c\":1},{\"w\":1498348800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1498953600,\"a\":521,\"d\":2,\"c\":1},{\"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\":1,\"d\":1,\"c\":1},{\"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\":35,\"d\":187,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"alexander-kh\",\"id\":19606885,\"node_id\":\"MDQ6VXNlcjE5NjA2ODg1\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/19606885?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/alexander-kh\",\"html_url\":\"https://github.com/alexander-kh\",\"followers_url\":\"https://api.github.com/users/alexander-kh/followers\",\"following_url\":\"https://api.github.com/users/alexander-kh/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/alexander-kh/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/alexander-kh/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/alexander-kh/subscriptions\",\"organizations_url\":\"https://api.github.com/users/alexander-kh/orgs\",\"repos_url\":\"https://api.github.com/users/alexander-kh/repos\",\"events_url\":\"https://api.github.com/users/alexander-kh/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/alexander-kh/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":6,\"weeks\":[{\"w\":1388880000,\"a\":8,\"d\":0,\"c\":1},{\"w\":1389484800,\"a\":73,\"d\":32,\"c\":2},{\"w\":1390089600,\"a\":57,\"d\":25,\"c\":2},{\"w\":1390694400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1391299200,\"a\":41,\"d\":1,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"PavelGimelberg\",\"id\":6011894,\"node_id\":\"MDQ6VXNlcjYwMTE4OTQ=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/6011894?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/PavelGimelberg\",\"html_url\":\"https://github.com/PavelGimelberg\",\"followers_url\":\"https://api.github.com/users/PavelGimelberg/followers\",\"following_url\":\"https://api.github.com/users/PavelGimelberg/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/PavelGimelberg/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/PavelGimelberg/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/PavelGimelberg/subscriptions\",\"organizations_url\":\"https://api.github.com/users/PavelGimelberg/orgs\",\"repos_url\":\"https://api.github.com/users/PavelGimelberg/repos\",\"events_url\":\"https://api.github.com/users/PavelGimelberg/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/PavelGimelberg/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":1,\"weeks\":[{\"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\":68,\"d\":60,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"lexcorp16\",\"id\":14166260,\"node_id\":\"MDQ6VXNlcjE0MTY2MjYw\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/14166260?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/lexcorp16\",\"html_url\":\"https://github.com/lexcorp16\",\"followers_url\":\"https://api.github.com/users/lexcorp16/followers\",\"following_url\":\"https://api.github.com/users/lexcorp16/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/lexcorp16/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/lexcorp16/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/lexcorp16/subscriptions\",\"organizations_url\":\"https://api.github.com/users/lexcorp16/orgs\",\"repos_url\":\"https://api.github.com/users/lexcorp16/repos\",\"events_url\":\"https://api.github.com/users/lexcorp16/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/lexcorp16/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":1,\"weeks\":[{\"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\":33,\"d\":2,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"arku\",\"id\":7039523,\"node_id\":\"MDQ6VXNlcjcwMzk1MjM=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/7039523?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/arku\",\"html_url\":\"https://github.com/arku\",\"followers_url\":\"https://api.github.com/users/arku/followers\",\"following_url\":\"https://api.github.com/users/arku/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/arku/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/arku/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/arku/subscriptions\",\"organizations_url\":\"https://api.github.com/users/arku/orgs\",\"repos_url\":\"https://api.github.com/users/arku/repos\",\"events_url\":\"https://api.github.com/users/arku/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/arku/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":1,\"weeks\":[{\"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\":74,\"d\":44,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"javpet\",\"id\":9334646,\"node_id\":\"MDQ6VXNlcjkzMzQ2NDY=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/9334646?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/javpet\",\"html_url\":\"https://github.com/javpet\",\"followers_url\":\"https://api.github.com/users/javpet/followers\",\"following_url\":\"https://api.github.com/users/javpet/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/javpet/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/javpet/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/javpet/subscriptions\",\"organizations_url\":\"https://api.github.com/users/javpet/orgs\",\"repos_url\":\"https://api.github.com/users/javpet/repos\",\"events_url\":\"https://api.github.com/users/javpet/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/javpet/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":6,\"weeks\":[{\"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\":64,\"d\":24,\"c\":6},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"jethr0null\",\"id\":2119741,\"node_id\":\"MDQ6VXNlcjIxMTk3NDE=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/2119741?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/jethr0null\",\"html_url\":\"https://github.com/jethr0null\",\"followers_url\":\"https://api.github.com/users/jethr0null/followers\",\"following_url\":\"https://api.github.com/users/jethr0null/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/jethr0null/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/jethr0null/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/jethr0null/subscriptions\",\"organizations_url\":\"https://api.github.com/users/jethr0null/orgs\",\"repos_url\":\"https://api.github.com/users/jethr0null/repos\",\"events_url\":\"https://api.github.com/users/jethr0null/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/jethr0null/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":317,\"weeks\":[{\"w\":1388880000,\"a\":900,\"d\":1439,\"c\":19},{\"w\":1389484800,\"a\":2066,\"d\":1023,\"c\":33},{\"w\":1390089600,\"a\":426,\"d\":276,\"c\":13},{\"w\":1390694400,\"a\":155,\"d\":6,\"c\":3},{\"w\":1391299200,\"a\":914,\"d\":1064,\"c\":18},{\"w\":1391904000,\"a\":1993,\"d\":277,\"c\":17},{\"w\":1392508800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1393113600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1393718400,\"a\":2580,\"d\":2714,\"c\":26},{\"w\":1394323200,\"a\":339,\"d\":228,\"c\":9},{\"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\":772,\"d\":225,\"c\":17},{\"w\":1402790400,\"a\":859,\"d\":665,\"c\":27},{\"w\":1403395200,\"a\":640,\"d\":595,\"c\":23},{\"w\":1404000000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1404604800,\"a\":5562,\"d\":5331,\"c\":13},{\"w\":1405209600,\"a\":547,\"d\":217,\"c\":15},{\"w\":1405814400,\"a\":308,\"d\":157,\"c\":20},{\"w\":1406419200,\"a\":104,\"d\":1,\"c\":4},{\"w\":1407024000,\"a\":397,\"d\":106,\"c\":6},{\"w\":1407628800,\"a\":938,\"d\":482,\"c\":24},{\"w\":1408233600,\"a\":860,\"d\":831,\"c\":15},{\"w\":1408838400,\"a\":383,\"d\":345,\"c\":7},{\"w\":1409443200,\"a\":23,\"d\":20,\"c\":1},{\"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\":33,\"d\":39,\"c\":7},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"YaroSpace\",\"id\":5670940,\"node_id\":\"MDQ6VXNlcjU2NzA5NDA=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/5670940?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/YaroSpace\",\"html_url\":\"https://github.com/YaroSpace\",\"followers_url\":\"https://api.github.com/users/YaroSpace/followers\",\"following_url\":\"https://api.github.com/users/YaroSpace/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/YaroSpace/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/YaroSpace/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/YaroSpace/subscriptions\",\"organizations_url\":\"https://api.github.com/users/YaroSpace/orgs\",\"repos_url\":\"https://api.github.com/users/YaroSpace/repos\",\"events_url\":\"https://api.github.com/users/YaroSpace/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/YaroSpace/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":55,\"weeks\":[{\"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\":20,\"d\":16,\"c\":1},{\"w\":1522540800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1523145600,\"a\":334,\"d\":53,\"c\":1},{\"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\":110,\"d\":15,\"c\":1},{\"w\":1526169600,\"a\":58,\"d\":59,\"c\":2},{\"w\":1526774400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1527379200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1527984000,\"a\":109,\"d\":5,\"c\":2},{\"w\":1528588800,\"a\":135,\"d\":123,\"c\":1},{\"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\":114,\"d\":2540,\"c\":3},{\"w\":1533427200,\"a\":120,\"d\":90,\"c\":2},{\"w\":1534032000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1534636800,\"a\":107,\"d\":62,\"c\":3},{\"w\":1535241600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1535846400,\"a\":14,\"d\":2,\"c\":2},{\"w\":1536451200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1537056000,\"a\":3,\"d\":359,\"c\":1},{\"w\":1537660800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1538265600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1538870400,\"a\":29,\"d\":7,\"c\":1},{\"w\":1539475200,\"a\":45,\"d\":8,\"c\":1},{\"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\":114,\"d\":44,\"c\":2},{\"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\":45,\"d\":185,\"c\":2},{\"w\":1560038400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1560643200,\"a\":1,\"d\":1,\"c\":1},{\"w\":1561248000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1561852800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1562457600,\"a\":14,\"d\":0,\"c\":1},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":21,\"d\":20,\"c\":5},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":11,\"d\":35,\"c\":2},{\"w\":1565481600,\"a\":8,\"d\":15,\"c\":2},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":50,\"d\":48,\"c\":5},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":53,\"d\":83,\"c\":6},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":37,\"d\":40,\"c\":3},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":10,\"d\":10,\"c\":1},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":42,\"d\":3,\"c\":3},{\"w\":1590883200,\"a\":45,\"d\":27,\"c\":1},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"NickSchimek\",\"id\":19519317,\"node_id\":\"MDQ6VXNlcjE5NTE5MzE3\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/19519317?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/NickSchimek\",\"html_url\":\"https://github.com/NickSchimek\",\"followers_url\":\"https://api.github.com/users/NickSchimek/followers\",\"following_url\":\"https://api.github.com/users/NickSchimek/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/NickSchimek/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/NickSchimek/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/NickSchimek/subscriptions\",\"organizations_url\":\"https://api.github.com/users/NickSchimek/orgs\",\"repos_url\":\"https://api.github.com/users/NickSchimek/repos\",\"events_url\":\"https://api.github.com/users/NickSchimek/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/NickSchimek/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":1,\"weeks\":[{\"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\":1,\"d\":1,\"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\":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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"TefiC\",\"id\":16888172,\"node_id\":\"MDQ6VXNlcjE2ODg4MTcy\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/16888172?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/TefiC\",\"html_url\":\"https://github.com/TefiC\",\"followers_url\":\"https://api.github.com/users/TefiC/followers\",\"following_url\":\"https://api.github.com/users/TefiC/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/TefiC/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/TefiC/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/TefiC/subscriptions\",\"organizations_url\":\"https://api.github.com/users/TefiC/orgs\",\"repos_url\":\"https://api.github.com/users/TefiC/repos\",\"events_url\":\"https://api.github.com/users/TefiC/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/TefiC/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":2,\"weeks\":[{\"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\":192,\"d\":296,\"c\":2},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"Georgy5\",\"id\":2192560,\"node_id\":\"MDQ6VXNlcjIxOTI1NjA=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/2192560?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/Georgy5\",\"html_url\":\"https://github.com/Georgy5\",\"followers_url\":\"https://api.github.com/users/Georgy5/followers\",\"following_url\":\"https://api.github.com/users/Georgy5/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/Georgy5/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/Georgy5/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/Georgy5/subscriptions\",\"organizations_url\":\"https://api.github.com/users/Georgy5/orgs\",\"repos_url\":\"https://api.github.com/users/Georgy5/repos\",\"events_url\":\"https://api.github.com/users/Georgy5/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/Georgy5/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":17,\"weeks\":[{\"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\":82,\"d\":95,\"c\":4},{\"w\":1405209600,\"a\":27,\"d\":206,\"c\":6},{\"w\":1405814400,\"a\":2,\"d\":1,\"c\":1},{\"w\":1406419200,\"a\":48,\"d\":7,\"c\":2},{\"w\":1407024000,\"a\":38,\"d\":7,\"c\":3},{\"w\":1407628800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1408233600,\"a\":1,\"d\":1,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"NikitaAvvakumov\",\"id\":5029403,\"node_id\":\"MDQ6VXNlcjUwMjk0MDM=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/5029403?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/NikitaAvvakumov\",\"html_url\":\"https://github.com/NikitaAvvakumov\",\"followers_url\":\"https://api.github.com/users/NikitaAvvakumov/followers\",\"following_url\":\"https://api.github.com/users/NikitaAvvakumov/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/NikitaAvvakumov/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/NikitaAvvakumov/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/NikitaAvvakumov/subscriptions\",\"organizations_url\":\"https://api.github.com/users/NikitaAvvakumov/orgs\",\"repos_url\":\"https://api.github.com/users/NikitaAvvakumov/repos\",\"events_url\":\"https://api.github.com/users/NikitaAvvakumov/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/NikitaAvvakumov/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":7,\"weeks\":[{\"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\":23381,\"d\":8708,\"c\":2},{\"w\":1524960000,\"a\":342,\"d\":0,\"c\":1},{\"w\":1525564800,\"a\":4,\"d\":1,\"c\":1},{\"w\":1526169600,\"a\":53,\"d\":2,\"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\":27,\"d\":32,\"c\":1},{\"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\":16,\"d\":0,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"Hess3000\",\"id\":4752241,\"node_id\":\"MDQ6VXNlcjQ3NTIyNDE=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/4752241?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/Hess3000\",\"html_url\":\"https://github.com/Hess3000\",\"followers_url\":\"https://api.github.com/users/Hess3000/followers\",\"following_url\":\"https://api.github.com/users/Hess3000/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/Hess3000/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/Hess3000/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/Hess3000/subscriptions\",\"organizations_url\":\"https://api.github.com/users/Hess3000/orgs\",\"repos_url\":\"https://api.github.com/users/Hess3000/repos\",\"events_url\":\"https://api.github.com/users/Hess3000/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/Hess3000/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":1,\"weeks\":[{\"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\":3,\"d\":3,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"Dean-Coakley\",\"id\":15719653,\"node_id\":\"MDQ6VXNlcjE1NzE5NjUz\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/15719653?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/Dean-Coakley\",\"html_url\":\"https://github.com/Dean-Coakley\",\"followers_url\":\"https://api.github.com/users/Dean-Coakley/followers\",\"following_url\":\"https://api.github.com/users/Dean-Coakley/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/Dean-Coakley/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/Dean-Coakley/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/Dean-Coakley/subscriptions\",\"organizations_url\":\"https://api.github.com/users/Dean-Coakley/orgs\",\"repos_url\":\"https://api.github.com/users/Dean-Coakley/repos\",\"events_url\":\"https://api.github.com/users/Dean-Coakley/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/Dean-Coakley/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":1,\"weeks\":[{\"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\":1,\"d\":1,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"sngeth\",\"id\":575392,\"node_id\":\"MDQ6VXNlcjU3NTM5Mg==\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/575392?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/sngeth\",\"html_url\":\"https://github.com/sngeth\",\"followers_url\":\"https://api.github.com/users/sngeth/followers\",\"following_url\":\"https://api.github.com/users/sngeth/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/sngeth/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/sngeth/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/sngeth/subscriptions\",\"organizations_url\":\"https://api.github.com/users/sngeth/orgs\",\"repos_url\":\"https://api.github.com/users/sngeth/repos\",\"events_url\":\"https://api.github.com/users/sngeth/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/sngeth/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":5,\"weeks\":[{\"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\":9,\"d\":5,\"c\":2},{\"w\":1561852800,\"a\":10,\"d\":21,\"c\":1},{\"w\":1562457600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":17,\"d\":0,\"c\":2},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"clementkng\",\"id\":24197092,\"node_id\":\"MDQ6VXNlcjI0MTk3MDky\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/24197092?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/clementkng\",\"html_url\":\"https://github.com/clementkng\",\"followers_url\":\"https://api.github.com/users/clementkng/followers\",\"following_url\":\"https://api.github.com/users/clementkng/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/clementkng/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/clementkng/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/clementkng/subscriptions\",\"organizations_url\":\"https://api.github.com/users/clementkng/orgs\",\"repos_url\":\"https://api.github.com/users/clementkng/repos\",\"events_url\":\"https://api.github.com/users/clementkng/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/clementkng/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":1,\"weeks\":[{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":6,\"d\":6,\"c\":1},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"pjbelo\",\"id\":28876803,\"node_id\":\"MDQ6VXNlcjI4ODc2ODAz\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/28876803?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/pjbelo\",\"html_url\":\"https://github.com/pjbelo\",\"followers_url\":\"https://api.github.com/users/pjbelo/followers\",\"following_url\":\"https://api.github.com/users/pjbelo/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/pjbelo/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/pjbelo/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/pjbelo/subscriptions\",\"organizations_url\":\"https://api.github.com/users/pjbelo/orgs\",\"repos_url\":\"https://api.github.com/users/pjbelo/repos\",\"events_url\":\"https://api.github.com/users/pjbelo/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/pjbelo/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":4,\"weeks\":[{\"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\":2,\"d\":2,\"c\":1},{\"w\":1513468800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1514073600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1514678400,\"a\":43,\"d\":3,\"c\":2},{\"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\":16,\"d\":10,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"theBoyMo\",\"id\":5833120,\"node_id\":\"MDQ6VXNlcjU4MzMxMjA=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/5833120?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/theBoyMo\",\"html_url\":\"https://github.com/theBoyMo\",\"followers_url\":\"https://api.github.com/users/theBoyMo/followers\",\"following_url\":\"https://api.github.com/users/theBoyMo/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/theBoyMo/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/theBoyMo/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/theBoyMo/subscriptions\",\"organizations_url\":\"https://api.github.com/users/theBoyMo/orgs\",\"repos_url\":\"https://api.github.com/users/theBoyMo/repos\",\"events_url\":\"https://api.github.com/users/theBoyMo/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/theBoyMo/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":12,\"weeks\":[{\"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\":31,\"d\":10,\"c\":1},{\"w\":1398556800,\"a\":150,\"d\":101,\"c\":7},{\"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\":12,\"d\":9,\"c\":1},{\"w\":1403395200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1404000000,\"a\":4,\"d\":6,\"c\":1},{\"w\":1404604800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1405209600,\"a\":2,\"d\":0,\"c\":1},{\"w\":1405814400,\"a\":1,\"d\":1,\"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\":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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"cored\",\"id\":11719,\"node_id\":\"MDQ6VXNlcjExNzE5\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/11719?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/cored\",\"html_url\":\"https://github.com/cored\",\"followers_url\":\"https://api.github.com/users/cored/followers\",\"following_url\":\"https://api.github.com/users/cored/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/cored/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/cored/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/cored/subscriptions\",\"organizations_url\":\"https://api.github.com/users/cored/orgs\",\"repos_url\":\"https://api.github.com/users/cored/repos\",\"events_url\":\"https://api.github.com/users/cored/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/cored/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":14,\"weeks\":[{\"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\":84,\"d\":38,\"c\":3},{\"w\":1412467200,\"a\":18,\"d\":3,\"c\":2},{\"w\":1413072000,\"a\":12,\"d\":12,\"c\":1},{\"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\":19,\"d\":3,\"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\":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\":11,\"d\":3,\"c\":1},{\"w\":1477180800,\"a\":11,\"d\":3,\"c\":2},{\"w\":1477785600,\"a\":161,\"d\":8,\"c\":3},{\"w\":1478390400,\"a\":4,\"d\":8,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"Arepo\",\"id\":1185760,\"node_id\":\"MDQ6VXNlcjExODU3NjA=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/1185760?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/Arepo\",\"html_url\":\"https://github.com/Arepo\",\"followers_url\":\"https://api.github.com/users/Arepo/followers\",\"following_url\":\"https://api.github.com/users/Arepo/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/Arepo/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/Arepo/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/Arepo/subscriptions\",\"organizations_url\":\"https://api.github.com/users/Arepo/orgs\",\"repos_url\":\"https://api.github.com/users/Arepo/repos\",\"events_url\":\"https://api.github.com/users/Arepo/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/Arepo/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":1,\"weeks\":[{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":22,\"d\":0,\"c\":1},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"ethanstrominger\",\"id\":32078396,\"node_id\":\"MDQ6VXNlcjMyMDc4Mzk2\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/32078396?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/ethanstrominger\",\"html_url\":\"https://github.com/ethanstrominger\",\"followers_url\":\"https://api.github.com/users/ethanstrominger/followers\",\"following_url\":\"https://api.github.com/users/ethanstrominger/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/ethanstrominger/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/ethanstrominger/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/ethanstrominger/subscriptions\",\"organizations_url\":\"https://api.github.com/users/ethanstrominger/orgs\",\"repos_url\":\"https://api.github.com/users/ethanstrominger/repos\",\"events_url\":\"https://api.github.com/users/ethanstrominger/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/ethanstrominger/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":9,\"weeks\":[{\"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\":156,\"d\":335,\"c\":2},{\"w\":1462060800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1462665600,\"a\":483,\"d\":2,\"c\":1},{\"w\":1463270400,\"a\":10,\"d\":10,\"c\":2},{\"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\":29,\"d\":29,\"c\":1},{\"w\":1468713600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1469318400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1469923200,\"a\":3,\"d\":3,\"c\":1},{\"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\":97,\"d\":18,\"c\":1},{\"w\":1472947200,\"a\":1,\"d\":2,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"touchps\",\"id\":1317870,\"node_id\":\"MDQ6VXNlcjEzMTc4NzA=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/1317870?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/touchps\",\"html_url\":\"https://github.com/touchps\",\"followers_url\":\"https://api.github.com/users/touchps/followers\",\"following_url\":\"https://api.github.com/users/touchps/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/touchps/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/touchps/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/touchps/subscriptions\",\"organizations_url\":\"https://api.github.com/users/touchps/orgs\",\"repos_url\":\"https://api.github.com/users/touchps/repos\",\"events_url\":\"https://api.github.com/users/touchps/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/touchps/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":1,\"weeks\":[{\"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\":1,\"d\":1,\"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\":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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"ragesoss\",\"id\":848483,\"node_id\":\"MDQ6VXNlcjg0ODQ4Mw==\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/848483?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/ragesoss\",\"html_url\":\"https://github.com/ragesoss\",\"followers_url\":\"https://api.github.com/users/ragesoss/followers\",\"following_url\":\"https://api.github.com/users/ragesoss/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/ragesoss/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/ragesoss/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/ragesoss/subscriptions\",\"organizations_url\":\"https://api.github.com/users/ragesoss/orgs\",\"repos_url\":\"https://api.github.com/users/ragesoss/repos\",\"events_url\":\"https://api.github.com/users/ragesoss/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/ragesoss/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":36,\"weeks\":[{\"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\":6,\"d\":30,\"c\":1},{\"w\":1531008000,\"a\":97,\"d\":102,\"c\":1},{\"w\":1531612800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1532217600,\"a\":27,\"d\":3,\"c\":1},{\"w\":1532822400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1533427200,\"a\":138,\"d\":13,\"c\":2},{\"w\":1534032000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1534636800,\"a\":912,\"d\":10,\"c\":1},{\"w\":1535241600,\"a\":21,\"d\":6,\"c\":1},{\"w\":1535846400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1536451200,\"a\":65,\"d\":9,\"c\":1},{\"w\":1537056000,\"a\":49,\"d\":4,\"c\":1},{\"w\":1537660800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1538265600,\"a\":12482,\"d\":384082,\"c\":3},{\"w\":1538870400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1539475200,\"a\":308,\"d\":136,\"c\":5},{\"w\":1540080000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1540684800,\"a\":923,\"d\":775,\"c\":2},{\"w\":1541289600,\"a\":14,\"d\":14,\"c\":1},{\"w\":1541894400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1542499200,\"a\":418,\"d\":341,\"c\":2},{\"w\":1543104000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1543708800,\"a\":11,\"d\":1,\"c\":1},{\"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\":86,\"d\":13,\"c\":1},{\"w\":1547942400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1548547200,\"a\":6,\"d\":1,\"c\":1},{\"w\":1549152000,\"a\":27,\"d\":19,\"c\":1},{\"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\":71,\"d\":123,\"c\":2},{\"w\":1553990400,\"a\":106,\"d\":84,\"c\":1},{\"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\":114,\"d\":39,\"c\":4},{\"w\":1557619200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1558224000,\"a\":858,\"d\":1,\"c\":1},{\"w\":1558828800,\"a\":471,\"d\":173,\"c\":1},{\"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\":98,\"d\":3,\"c\":1},{\"w\":1561852800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1562457600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"mattwr18\",\"id\":26943915,\"node_id\":\"MDQ6VXNlcjI2OTQzOTE1\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/26943915?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/mattwr18\",\"html_url\":\"https://github.com/mattwr18\",\"followers_url\":\"https://api.github.com/users/mattwr18/followers\",\"following_url\":\"https://api.github.com/users/mattwr18/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/mattwr18/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/mattwr18/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/mattwr18/subscriptions\",\"organizations_url\":\"https://api.github.com/users/mattwr18/orgs\",\"repos_url\":\"https://api.github.com/users/mattwr18/repos\",\"events_url\":\"https://api.github.com/users/mattwr18/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/mattwr18/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":23,\"weeks\":[{\"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\":32,\"d\":13,\"c\":2},{\"w\":1480204800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1480809600,\"a\":1736,\"d\":63,\"c\":1},{\"w\":1481414400,\"a\":56,\"d\":0,\"c\":1},{\"w\":1482019200,\"a\":1963,\"d\":264,\"c\":1},{\"w\":1482624000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1483228800,\"a\":1737,\"d\":1759,\"c\":1},{\"w\":1483833600,\"a\":42,\"d\":42,\"c\":1},{\"w\":1484438400,\"a\":257,\"d\":7,\"c\":2},{\"w\":1485043200,\"a\":305,\"d\":57,\"c\":1},{\"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\":126,\"d\":28,\"c\":1},{\"w\":1493510400,\"a\":1,\"d\":1,\"c\":1},{\"w\":1494115200,\"a\":115,\"d\":25,\"c\":1},{\"w\":1494720000,\"a\":361,\"d\":250,\"c\":2},{\"w\":1495324800,\"a\":9,\"d\":9,\"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\":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\":57,\"d\":1,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":239,\"d\":236,\"c\":3},{\"w\":1607212800,\"a\":37515,\"d\":343,\"c\":1},{\"w\":1607817600,\"a\":0,\"d\":6,\"c\":2},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"mattlindsey\",\"id\":5638339,\"node_id\":\"MDQ6VXNlcjU2MzgzMzk=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/5638339?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/mattlindsey\",\"html_url\":\"https://github.com/mattlindsey\",\"followers_url\":\"https://api.github.com/users/mattlindsey/followers\",\"following_url\":\"https://api.github.com/users/mattlindsey/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/mattlindsey/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/mattlindsey/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/mattlindsey/subscriptions\",\"organizations_url\":\"https://api.github.com/users/mattlindsey/orgs\",\"repos_url\":\"https://api.github.com/users/mattlindsey/repos\",\"events_url\":\"https://api.github.com/users/mattlindsey/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/mattlindsey/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":1,\"weeks\":[{\"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\":153,\"d\":55,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"weedySeaDragon\",\"id\":673794,\"node_id\":\"MDQ6VXNlcjY3Mzc5NA==\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/673794?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/weedySeaDragon\",\"html_url\":\"https://github.com/weedySeaDragon\",\"followers_url\":\"https://api.github.com/users/weedySeaDragon/followers\",\"following_url\":\"https://api.github.com/users/weedySeaDragon/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/weedySeaDragon/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/weedySeaDragon/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/weedySeaDragon/subscriptions\",\"organizations_url\":\"https://api.github.com/users/weedySeaDragon/orgs\",\"repos_url\":\"https://api.github.com/users/weedySeaDragon/repos\",\"events_url\":\"https://api.github.com/users/weedySeaDragon/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/weedySeaDragon/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":23,\"weeks\":[{\"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\":27,\"d\":1,\"c\":1},{\"w\":1392508800,\"a\":72,\"d\":108,\"c\":4},{\"w\":1393113600,\"a\":98,\"d\":55,\"c\":9},{\"w\":1393718400,\"a\":115,\"d\":81,\"c\":9},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"dannybusiness\",\"id\":1731196,\"node_id\":\"MDQ6VXNlcjE3MzExOTY=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/1731196?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/dannybusiness\",\"html_url\":\"https://github.com/dannybusiness\",\"followers_url\":\"https://api.github.com/users/dannybusiness/followers\",\"following_url\":\"https://api.github.com/users/dannybusiness/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/dannybusiness/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/dannybusiness/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/dannybusiness/subscriptions\",\"organizations_url\":\"https://api.github.com/users/dannybusiness/orgs\",\"repos_url\":\"https://api.github.com/users/dannybusiness/repos\",\"events_url\":\"https://api.github.com/users/dannybusiness/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/dannybusiness/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":2,\"weeks\":[{\"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\":17,\"d\":17,\"c\":1},{\"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\":177,\"d\":9,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"Romusc\",\"id\":20600943,\"node_id\":\"MDQ6VXNlcjIwNjAwOTQz\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/20600943?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/Romusc\",\"html_url\":\"https://github.com/Romusc\",\"followers_url\":\"https://api.github.com/users/Romusc/followers\",\"following_url\":\"https://api.github.com/users/Romusc/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/Romusc/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/Romusc/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/Romusc/subscriptions\",\"organizations_url\":\"https://api.github.com/users/Romusc/orgs\",\"repos_url\":\"https://api.github.com/users/Romusc/repos\",\"events_url\":\"https://api.github.com/users/Romusc/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/Romusc/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":1,\"weeks\":[{\"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\":8,\"d\":1,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"ciremoussadia\",\"id\":22132947,\"node_id\":\"MDQ6VXNlcjIyMTMyOTQ3\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/22132947?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/ciremoussadia\",\"html_url\":\"https://github.com/ciremoussadia\",\"followers_url\":\"https://api.github.com/users/ciremoussadia/followers\",\"following_url\":\"https://api.github.com/users/ciremoussadia/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/ciremoussadia/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/ciremoussadia/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/ciremoussadia/subscriptions\",\"organizations_url\":\"https://api.github.com/users/ciremoussadia/orgs\",\"repos_url\":\"https://api.github.com/users/ciremoussadia/repos\",\"events_url\":\"https://api.github.com/users/ciremoussadia/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/ciremoussadia/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":5,\"weeks\":[{\"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\":42,\"d\":4,\"c\":1},{\"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\":54,\"d\":4,\"c\":1},{\"w\":1504396800,\"a\":158,\"d\":1,\"c\":1},{\"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\":68,\"d\":52,\"c\":1},{\"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\":100,\"d\":1406,\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"praveendhawan\",\"id\":12948906,\"node_id\":\"MDQ6VXNlcjEyOTQ4OTA2\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/12948906?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/praveendhawan\",\"html_url\":\"https://github.com/praveendhawan\",\"followers_url\":\"https://api.github.com/users/praveendhawan/followers\",\"following_url\":\"https://api.github.com/users/praveendhawan/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/praveendhawan/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/praveendhawan/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/praveendhawan/subscriptions\",\"organizations_url\":\"https://api.github.com/users/praveendhawan/orgs\",\"repos_url\":\"https://api.github.com/users/praveendhawan/repos\",\"events_url\":\"https://api.github.com/users/praveendhawan/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/praveendhawan/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":3,\"weeks\":[{\"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\":96,\"d\":0,\"c\":1},{\"w\":1405209600,\"a\":1,\"d\":1,\"c\":1},{\"w\":1405814400,\"a\":0,\"d\":7,\"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\":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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"dcorking\",\"id\":2813357,\"node_id\":\"MDQ6VXNlcjI4MTMzNTc=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/2813357?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/dcorking\",\"html_url\":\"https://github.com/dcorking\",\"followers_url\":\"https://api.github.com/users/dcorking/followers\",\"following_url\":\"https://api.github.com/users/dcorking/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/dcorking/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/dcorking/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/dcorking/subscriptions\",\"organizations_url\":\"https://api.github.com/users/dcorking/orgs\",\"repos_url\":\"https://api.github.com/users/dcorking/repos\",\"events_url\":\"https://api.github.com/users/dcorking/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/dcorking/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":2,\"weeks\":[{\"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\":5,\"d\":11,\"c\":1},{\"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\":19919,\"d\":47,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"sigu\",\"id\":584211,\"node_id\":\"MDQ6VXNlcjU4NDIxMQ==\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/584211?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/sigu\",\"html_url\":\"https://github.com/sigu\",\"followers_url\":\"https://api.github.com/users/sigu/followers\",\"following_url\":\"https://api.github.com/users/sigu/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/sigu/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/sigu/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/sigu/subscriptions\",\"organizations_url\":\"https://api.github.com/users/sigu/orgs\",\"repos_url\":\"https://api.github.com/users/sigu/repos\",\"events_url\":\"https://api.github.com/users/sigu/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/sigu/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":8,\"weeks\":[{\"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\":228,\"d\":188,\"c\":7},{\"w\":1418515200,\"a\":15,\"d\":3,\"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\":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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"RcSmith\",\"id\":5995151,\"node_id\":\"MDQ6VXNlcjU5OTUxNTE=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/5995151?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/RcSmith\",\"html_url\":\"https://github.com/RcSmith\",\"followers_url\":\"https://api.github.com/users/RcSmith/followers\",\"following_url\":\"https://api.github.com/users/RcSmith/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/RcSmith/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/RcSmith/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/RcSmith/subscriptions\",\"organizations_url\":\"https://api.github.com/users/RcSmith/orgs\",\"repos_url\":\"https://api.github.com/users/RcSmith/repos\",\"events_url\":\"https://api.github.com/users/RcSmith/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/RcSmith/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":6,\"weeks\":[{\"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\":18,\"d\":6,\"c\":1},{\"w\":1454803200,\"a\":14,\"d\":10,\"c\":5},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"dalupus\",\"id\":806458,\"node_id\":\"MDQ6VXNlcjgwNjQ1OA==\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/806458?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/dalupus\",\"html_url\":\"https://github.com/dalupus\",\"followers_url\":\"https://api.github.com/users/dalupus/followers\",\"following_url\":\"https://api.github.com/users/dalupus/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/dalupus/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/dalupus/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/dalupus/subscriptions\",\"organizations_url\":\"https://api.github.com/users/dalupus/orgs\",\"repos_url\":\"https://api.github.com/users/dalupus/repos\",\"events_url\":\"https://api.github.com/users/dalupus/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/dalupus/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":34,\"weeks\":[{\"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\":237,\"d\":99,\"c\":8},{\"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\":433,\"d\":30,\"c\":2},{\"w\":1406419200,\"a\":240,\"d\":110,\"c\":1},{\"w\":1407024000,\"a\":38,\"d\":43,\"c\":3},{\"w\":1407628800,\"a\":186,\"d\":89,\"c\":1},{\"w\":1408233600,\"a\":152,\"d\":169,\"c\":2},{\"w\":1408838400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1409443200,\"a\":122,\"d\":167,\"c\":4},{\"w\":1410048000,\"a\":262,\"d\":175,\"c\":12},{\"w\":1410652800,\"a\":16,\"d\":3,\"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\":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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"jon-engelbert\",\"id\":6343113,\"node_id\":\"MDQ6VXNlcjYzNDMxMTM=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/6343113?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/jon-engelbert\",\"html_url\":\"https://github.com/jon-engelbert\",\"followers_url\":\"https://api.github.com/users/jon-engelbert/followers\",\"following_url\":\"https://api.github.com/users/jon-engelbert/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/jon-engelbert/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/jon-engelbert/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/jon-engelbert/subscriptions\",\"organizations_url\":\"https://api.github.com/users/jon-engelbert/orgs\",\"repos_url\":\"https://api.github.com/users/jon-engelbert/repos\",\"events_url\":\"https://api.github.com/users/jon-engelbert/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/jon-engelbert/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":3,\"weeks\":[{\"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\":18,\"d\":1,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":2,\"d\":1,\"c\":1},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":6,\"d\":6,\"c\":1},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"cesswairimu\",\"id\":17081074,\"node_id\":\"MDQ6VXNlcjE3MDgxMDc0\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/17081074?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/cesswairimu\",\"html_url\":\"https://github.com/cesswairimu\",\"followers_url\":\"https://api.github.com/users/cesswairimu/followers\",\"following_url\":\"https://api.github.com/users/cesswairimu/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/cesswairimu/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/cesswairimu/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/cesswairimu/subscriptions\",\"organizations_url\":\"https://api.github.com/users/cesswairimu/orgs\",\"repos_url\":\"https://api.github.com/users/cesswairimu/repos\",\"events_url\":\"https://api.github.com/users/cesswairimu/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/cesswairimu/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":6,\"weeks\":[{\"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\":14,\"d\":3,\"c\":1},{\"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\":1,\"d\":1,\"c\":1},{\"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\":161,\"d\":76,\"c\":2},{\"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\":65,\"d\":27,\"c\":1},{\"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\":64,\"d\":35,\"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\":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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"c1505\",\"id\":6599077,\"node_id\":\"MDQ6VXNlcjY1OTkwNzc=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/6599077?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/c1505\",\"html_url\":\"https://github.com/c1505\",\"followers_url\":\"https://api.github.com/users/c1505/followers\",\"following_url\":\"https://api.github.com/users/c1505/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/c1505/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/c1505/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/c1505/subscriptions\",\"organizations_url\":\"https://api.github.com/users/c1505/orgs\",\"repos_url\":\"https://api.github.com/users/c1505/repos\",\"events_url\":\"https://api.github.com/users/c1505/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/c1505/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":3,\"weeks\":[{\"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\":14,\"d\":1,\"c\":1},{\"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\":1},{\"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\":1,\"d\":1,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"FedericoEsparza\",\"id\":11988089,\"node_id\":\"MDQ6VXNlcjExOTg4MDg5\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/11988089?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/FedericoEsparza\",\"html_url\":\"https://github.com/FedericoEsparza\",\"followers_url\":\"https://api.github.com/users/FedericoEsparza/followers\",\"following_url\":\"https://api.github.com/users/FedericoEsparza/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/FedericoEsparza/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/FedericoEsparza/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/FedericoEsparza/subscriptions\",\"organizations_url\":\"https://api.github.com/users/FedericoEsparza/orgs\",\"repos_url\":\"https://api.github.com/users/FedericoEsparza/repos\",\"events_url\":\"https://api.github.com/users/FedericoEsparza/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/FedericoEsparza/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":23,\"weeks\":[{\"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\":1,\"d\":1,\"c\":1},{\"w\":1558828800,\"a\":14,\"d\":15,\"c\":8},{\"w\":1559433600,\"a\":6,\"d\":6,\"c\":3},{\"w\":1560038400,\"a\":20,\"d\":19,\"c\":7},{\"w\":1560643200,\"a\":45,\"d\":45,\"c\":4},{\"w\":1561248000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1561852800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1562457600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"dependabot-preview[bot]\",\"id\":27856297,\"node_id\":\"MDM6Qm90Mjc4NTYyOTc=\",\"avatar_url\":\"https://avatars.githubusercontent.com/in/2141?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/dependabot-preview%5Bbot%5D\",\"html_url\":\"https://github.com/apps/dependabot-preview\",\"followers_url\":\"https://api.github.com/users/dependabot-preview%5Bbot%5D/followers\",\"following_url\":\"https://api.github.com/users/dependabot-preview%5Bbot%5D/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/dependabot-preview%5Bbot%5D/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/dependabot-preview%5Bbot%5D/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/dependabot-preview%5Bbot%5D/subscriptions\",\"organizations_url\":\"https://api.github.com/users/dependabot-preview%5Bbot%5D/orgs\",\"repos_url\":\"https://api.github.com/users/dependabot-preview%5Bbot%5D/repos\",\"events_url\":\"https://api.github.com/users/dependabot-preview%5Bbot%5D/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/dependabot-preview%5Bbot%5D/received_events\",\"type\":\"Bot\",\"site_admin\":false}},{\"total\":18,\"weeks\":[{\"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\":781879,\"d\":0,\"c\":1},{\"w\":1415491200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1416096000,\"a\":122,\"d\":3,\"c\":1},{\"w\":1416700800,\"a\":81,\"d\":52,\"c\":5},{\"w\":1417305600,\"a\":82,\"d\":34,\"c\":3},{\"w\":1417910400,\"a\":38,\"d\":15,\"c\":3},{\"w\":1418515200,\"a\":16,\"d\":782030,\"c\":4},{\"w\":1419120000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1419724800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1420329600,\"a\":68,\"d\":57,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"sidhene\",\"id\":94910,\"node_id\":\"MDQ6VXNlcjk0OTEw\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/94910?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/sidhene\",\"html_url\":\"https://github.com/sidhene\",\"followers_url\":\"https://api.github.com/users/sidhene/followers\",\"following_url\":\"https://api.github.com/users/sidhene/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/sidhene/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/sidhene/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/sidhene/subscriptions\",\"organizations_url\":\"https://api.github.com/users/sidhene/orgs\",\"repos_url\":\"https://api.github.com/users/sidhene/repos\",\"events_url\":\"https://api.github.com/users/sidhene/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/sidhene/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":410,\"weeks\":[{\"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\":17,\"d\":18,\"c\":3},{\"w\":1393718400,\"a\":859,\"d\":58,\"c\":10},{\"w\":1394323200,\"a\":10658,\"d\":65334,\"c\":47},{\"w\":1394928000,\"a\":270,\"d\":165,\"c\":25},{\"w\":1395532800,\"a\":1488,\"d\":1346,\"c\":47},{\"w\":1396137600,\"a\":558,\"d\":150,\"c\":43},{\"w\":1396742400,\"a\":154,\"d\":72,\"c\":16},{\"w\":1397347200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1397952000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1398556800,\"a\":72,\"d\":33,\"c\":2},{\"w\":1399161600,\"a\":45,\"d\":27,\"c\":8},{\"w\":1399766400,\"a\":67,\"d\":150,\"c\":3},{\"w\":1400371200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1400976000,\"a\":5,\"d\":9,\"c\":1},{\"w\":1401580800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1402185600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1402790400,\"a\":1231,\"d\":912,\"c\":63},{\"w\":1403395200,\"a\":166,\"d\":120,\"c\":10},{\"w\":1404000000,\"a\":227,\"d\":136,\"c\":11},{\"w\":1404604800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1405209600,\"a\":107,\"d\":75,\"c\":3},{\"w\":1405814400,\"a\":84,\"d\":449,\"c\":10},{\"w\":1406419200,\"a\":25,\"d\":17,\"c\":2},{\"w\":1407024000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1407628800,\"a\":268,\"d\":535,\"c\":11},{\"w\":1408233600,\"a\":313,\"d\":80,\"c\":17},{\"w\":1408838400,\"a\":15,\"d\":11,\"c\":2},{\"w\":1409443200,\"a\":71,\"d\":7,\"c\":5},{\"w\":1410048000,\"a\":31,\"d\":37,\"c\":1},{\"w\":1410652800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1411257600,\"a\":29,\"d\":33,\"c\":1},{\"w\":1411862400,\"a\":127,\"d\":127,\"c\":1},{\"w\":1412467200,\"a\":252,\"d\":140,\"c\":30},{\"w\":1413072000,\"a\":1541,\"d\":20,\"c\":4},{\"w\":1413676800,\"a\":40,\"d\":44,\"c\":6},{\"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\":234,\"d\":246,\"c\":5},{\"w\":1426982400,\"a\":64,\"d\":31,\"c\":4},{\"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\":115,\"d\":123,\"c\":7},{\"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\":219,\"d\":235,\"c\":3},{\"w\":1443916800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1444521600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1445126400,\"a\":59,\"d\":10,\"c\":1},{\"w\":1445731200,\"a\":23,\"d\":20,\"c\":4},{\"w\":1446336000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1446940800,\"a\":12,\"d\":11,\"c\":3},{\"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\":27,\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"sampritipanda\",\"id\":1736001,\"node_id\":\"MDQ6VXNlcjE3MzYwMDE=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/1736001?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/sampritipanda\",\"html_url\":\"https://github.com/sampritipanda\",\"followers_url\":\"https://api.github.com/users/sampritipanda/followers\",\"following_url\":\"https://api.github.com/users/sampritipanda/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/sampritipanda/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/sampritipanda/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/sampritipanda/subscriptions\",\"organizations_url\":\"https://api.github.com/users/sampritipanda/orgs\",\"repos_url\":\"https://api.github.com/users/sampritipanda/repos\",\"events_url\":\"https://api.github.com/users/sampritipanda/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/sampritipanda/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":44,\"weeks\":[{\"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\":271,\"d\":443,\"c\":14},{\"w\":1391299200,\"a\":226,\"d\":53,\"c\":18},{\"w\":1391904000,\"a\":109,\"d\":91,\"c\":6},{\"w\":1392508800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1393113600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1393718400,\"a\":31,\"d\":13,\"c\":6},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"PeteBoucher\",\"id\":1378853,\"node_id\":\"MDQ6VXNlcjEzNzg4NTM=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/1378853?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/PeteBoucher\",\"html_url\":\"https://github.com/PeteBoucher\",\"followers_url\":\"https://api.github.com/users/PeteBoucher/followers\",\"following_url\":\"https://api.github.com/users/PeteBoucher/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/PeteBoucher/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/PeteBoucher/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/PeteBoucher/subscriptions\",\"organizations_url\":\"https://api.github.com/users/PeteBoucher/orgs\",\"repos_url\":\"https://api.github.com/users/PeteBoucher/repos\",\"events_url\":\"https://api.github.com/users/PeteBoucher/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/PeteBoucher/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":12,\"weeks\":[{\"w\":1388880000,\"a\":34,\"d\":19,\"c\":2},{\"w\":1389484800,\"a\":72,\"d\":54,\"c\":4},{\"w\":1390089600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1390694400,\"a\":38,\"d\":3,\"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\":30,\"d\":26,\"c\":1},{\"w\":1397347200,\"a\":1,\"d\":1,\"c\":1},{\"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\":5,\"d\":45,\"c\":2},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"apelade\",\"id\":1891186,\"node_id\":\"MDQ6VXNlcjE4OTExODY=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/1891186?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/apelade\",\"html_url\":\"https://github.com/apelade\",\"followers_url\":\"https://api.github.com/users/apelade/followers\",\"following_url\":\"https://api.github.com/users/apelade/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/apelade/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/apelade/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/apelade/subscriptions\",\"organizations_url\":\"https://api.github.com/users/apelade/orgs\",\"repos_url\":\"https://api.github.com/users/apelade/repos\",\"events_url\":\"https://api.github.com/users/apelade/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/apelade/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":3,\"weeks\":[{\"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\":1,\"d\":1,\"c\":1},{\"w\":1518912000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1519516800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1520121600,\"a\":6,\"d\":1,\"c\":1},{\"w\":1520726400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1521331200,\"a\":13,\"d\":5,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"maryam21\",\"id\":17225103,\"node_id\":\"MDQ6VXNlcjE3MjI1MTAz\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/17225103?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/maryam21\",\"html_url\":\"https://github.com/maryam21\",\"followers_url\":\"https://api.github.com/users/maryam21/followers\",\"following_url\":\"https://api.github.com/users/maryam21/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/maryam21/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/maryam21/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/maryam21/subscriptions\",\"organizations_url\":\"https://api.github.com/users/maryam21/orgs\",\"repos_url\":\"https://api.github.com/users/maryam21/repos\",\"events_url\":\"https://api.github.com/users/maryam21/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/maryam21/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":41,\"weeks\":[{\"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\":6,\"d\":6,\"c\":2},{\"w\":1428192000,\"a\":24,\"d\":4,\"c\":3},{\"w\":1428796800,\"a\":133,\"d\":7,\"c\":6},{\"w\":1429401600,\"a\":148,\"d\":69,\"c\":7},{\"w\":1430006400,\"a\":32,\"d\":59,\"c\":7},{\"w\":1430611200,\"a\":264,\"d\":1315,\"c\":1},{\"w\":1431216000,\"a\":36,\"d\":38,\"c\":1},{\"w\":1431820800,\"a\":132,\"d\":40,\"c\":5},{\"w\":1432425600,\"a\":7,\"d\":7,\"c\":4},{\"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\":94,\"d\":28,\"c\":1},{\"w\":1435449600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1436054400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1436659200,\"a\":45,\"d\":21,\"c\":1},{\"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\":214,\"c\":1},{\"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\":1,\"d\":2,\"c\":1},{\"w\":1460246400,\"a\":2,\"d\":6,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"alejandrobabio\",\"id\":1581649,\"node_id\":\"MDQ6VXNlcjE1ODE2NDk=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/1581649?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/alejandrobabio\",\"html_url\":\"https://github.com/alejandrobabio\",\"followers_url\":\"https://api.github.com/users/alejandrobabio/followers\",\"following_url\":\"https://api.github.com/users/alejandrobabio/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/alejandrobabio/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/alejandrobabio/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/alejandrobabio/subscriptions\",\"organizations_url\":\"https://api.github.com/users/alejandrobabio/orgs\",\"repos_url\":\"https://api.github.com/users/alejandrobabio/repos\",\"events_url\":\"https://api.github.com/users/alejandrobabio/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/alejandrobabio/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":26,\"weeks\":[{\"w\":1388880000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1389484800,\"a\":1297,\"d\":21,\"c\":6},{\"w\":1390089600,\"a\":36,\"d\":6,\"c\":2},{\"w\":1390694400,\"a\":130,\"d\":50,\"c\":6},{\"w\":1391299200,\"a\":23,\"d\":9,\"c\":2},{\"w\":1391904000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1392508800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1393113600,\"a\":64,\"d\":5,\"c\":2},{\"w\":1393718400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1394323200,\"a\":93,\"d\":42,\"c\":2},{\"w\":1394928000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1395532800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1396137600,\"a\":129,\"d\":17709,\"c\":6},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"coddeys\",\"id\":4198294,\"node_id\":\"MDQ6VXNlcjQxOTgyOTQ=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/4198294?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/coddeys\",\"html_url\":\"https://github.com/coddeys\",\"followers_url\":\"https://api.github.com/users/coddeys/followers\",\"following_url\":\"https://api.github.com/users/coddeys/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/coddeys/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/coddeys/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/coddeys/subscriptions\",\"organizations_url\":\"https://api.github.com/users/coddeys/orgs\",\"repos_url\":\"https://api.github.com/users/coddeys/repos\",\"events_url\":\"https://api.github.com/users/coddeys/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/coddeys/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":381,\"weeks\":[{\"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\":7,\"d\":5,\"c\":1},{\"w\":1507420800,\"a\":34,\"d\":34,\"c\":3},{\"w\":1508025600,\"a\":3,\"d\":3,\"c\":1},{\"w\":1508630400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1509235200,\"a\":1,\"d\":1,\"c\":1},{\"w\":1509840000,\"a\":6,\"d\":6,\"c\":5},{\"w\":1510444800,\"a\":21,\"d\":21,\"c\":6},{\"w\":1511049600,\"a\":94,\"d\":65,\"c\":29},{\"w\":1511654400,\"a\":22,\"d\":23,\"c\":4},{\"w\":1512259200,\"a\":11,\"d\":10,\"c\":6},{\"w\":1512864000,\"a\":3,\"d\":3,\"c\":3},{\"w\":1513468800,\"a\":3,\"d\":3,\"c\":3},{\"w\":1514073600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1514678400,\"a\":18,\"d\":20,\"c\":7},{\"w\":1515283200,\"a\":20,\"d\":20,\"c\":8},{\"w\":1515888000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1516492800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1517097600,\"a\":3,\"d\":3,\"c\":2},{\"w\":1517702400,\"a\":3,\"d\":3,\"c\":1},{\"w\":1518307200,\"a\":12,\"d\":12,\"c\":4},{\"w\":1518912000,\"a\":6,\"d\":6,\"c\":3},{\"w\":1519516800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1520121600,\"a\":8,\"d\":8,\"c\":4},{\"w\":1520726400,\"a\":10,\"d\":10,\"c\":5},{\"w\":1521331200,\"a\":7,\"d\":7,\"c\":3},{\"w\":1521936000,\"a\":13,\"d\":13,\"c\":3},{\"w\":1522540800,\"a\":36,\"d\":36,\"c\":1},{\"w\":1523145600,\"a\":9,\"d\":9,\"c\":4},{\"w\":1523750400,\"a\":10,\"d\":10,\"c\":7},{\"w\":1524355200,\"a\":9,\"d\":9,\"c\":5},{\"w\":1524960000,\"a\":10,\"d\":10,\"c\":7},{\"w\":1525564800,\"a\":11,\"d\":11,\"c\":7},{\"w\":1526169600,\"a\":5,\"d\":5,\"c\":3},{\"w\":1526774400,\"a\":2,\"d\":2,\"c\":2},{\"w\":1527379200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1527984000,\"a\":11,\"d\":11,\"c\":7},{\"w\":1528588800,\"a\":1,\"d\":1,\"c\":1},{\"w\":1529193600,\"a\":6,\"d\":6,\"c\":3},{\"w\":1529798400,\"a\":7,\"d\":7,\"c\":4},{\"w\":1530403200,\"a\":6,\"d\":6,\"c\":3},{\"w\":1531008000,\"a\":5,\"d\":5,\"c\":3},{\"w\":1531612800,\"a\":2,\"d\":2,\"c\":2},{\"w\":1532217600,\"a\":9,\"d\":9,\"c\":6},{\"w\":1532822400,\"a\":3,\"d\":3,\"c\":3},{\"w\":1533427200,\"a\":26,\"d\":26,\"c\":6},{\"w\":1534032000,\"a\":8,\"d\":8,\"c\":4},{\"w\":1534636800,\"a\":9,\"d\":9,\"c\":4},{\"w\":1535241600,\"a\":9,\"d\":9,\"c\":7},{\"w\":1535846400,\"a\":6,\"d\":8,\"c\":4},{\"w\":1536451200,\"a\":8,\"d\":8,\"c\":5},{\"w\":1537056000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1537660800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1538265600,\"a\":10,\"d\":10,\"c\":6},{\"w\":1538870400,\"a\":9,\"d\":9,\"c\":4},{\"w\":1539475200,\"a\":5,\"d\":5,\"c\":2},{\"w\":1540080000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1540684800,\"a\":26,\"d\":26,\"c\":11},{\"w\":1541289600,\"a\":8,\"d\":8,\"c\":5},{\"w\":1541894400,\"a\":18,\"d\":14,\"c\":7},{\"w\":1542499200,\"a\":11,\"d\":12,\"c\":5},{\"w\":1543104000,\"a\":113,\"d\":96,\"c\":7},{\"w\":1543708800,\"a\":51,\"d\":62,\"c\":6},{\"w\":1544313600,\"a\":7,\"d\":7,\"c\":6},{\"w\":1544918400,\"a\":25,\"d\":22,\"c\":7},{\"w\":1545523200,\"a\":2,\"d\":2,\"c\":2},{\"w\":1546128000,\"a\":4,\"d\":4,\"c\":3},{\"w\":1546732800,\"a\":14,\"d\":14,\"c\":5},{\"w\":1547337600,\"a\":13,\"d\":13,\"c\":7},{\"w\":1547942400,\"a\":4,\"d\":4,\"c\":2},{\"w\":1548547200,\"a\":11,\"d\":11,\"c\":7},{\"w\":1549152000,\"a\":13,\"d\":13,\"c\":4},{\"w\":1549756800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1550361600,\"a\":15,\"d\":13,\"c\":7},{\"w\":1550966400,\"a\":23,\"d\":23,\"c\":11},{\"w\":1551571200,\"a\":4,\"d\":4,\"c\":2},{\"w\":1552176000,\"a\":3,\"d\":3,\"c\":2},{\"w\":1552780800,\"a\":4,\"d\":4,\"c\":2},{\"w\":1553385600,\"a\":61,\"d\":61,\"c\":16},{\"w\":1553990400,\"a\":22,\"d\":22,\"c\":8},{\"w\":1554595200,\"a\":7,\"d\":7,\"c\":4},{\"w\":1555200000,\"a\":18,\"d\":18,\"c\":8},{\"w\":1555804800,\"a\":12,\"d\":12,\"c\":8},{\"w\":1556409600,\"a\":11,\"d\":11,\"c\":5},{\"w\":1557014400,\"a\":2,\"d\":2,\"c\":2},{\"w\":1557619200,\"a\":22,\"d\":24,\"c\":9},{\"w\":1558224000,\"a\":1,\"d\":1,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"dependabot[bot]\",\"id\":49699333,\"node_id\":\"MDM6Qm90NDk2OTkzMzM=\",\"avatar_url\":\"https://avatars.githubusercontent.com/in/29110?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/dependabot%5Bbot%5D\",\"html_url\":\"https://github.com/apps/dependabot\",\"followers_url\":\"https://api.github.com/users/dependabot%5Bbot%5D/followers\",\"following_url\":\"https://api.github.com/users/dependabot%5Bbot%5D/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/dependabot%5Bbot%5D/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/dependabot%5Bbot%5D/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/dependabot%5Bbot%5D/subscriptions\",\"organizations_url\":\"https://api.github.com/users/dependabot%5Bbot%5D/orgs\",\"repos_url\":\"https://api.github.com/users/dependabot%5Bbot%5D/repos\",\"events_url\":\"https://api.github.com/users/dependabot%5Bbot%5D/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/dependabot%5Bbot%5D/received_events\",\"type\":\"Bot\",\"site_admin\":false}},{\"total\":308,\"weeks\":[{\"w\":1388880000,\"a\":300,\"d\":148,\"c\":1},{\"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\":12,\"d\":7,\"c\":1},{\"w\":1392508800,\"a\":4,\"d\":4,\"c\":1},{\"w\":1393113600,\"a\":23,\"d\":3,\"c\":1},{\"w\":1393718400,\"a\":320,\"d\":67,\"c\":4},{\"w\":1394323200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1394928000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1395532800,\"a\":80,\"d\":41,\"c\":2},{\"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\":15,\"d\":7,\"c\":4},{\"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\":3,\"d\":3,\"c\":2},{\"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\":15,\"d\":13,\"c\":1},{\"w\":1417305600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1417910400,\"a\":2,\"d\":2,\"c\":2},{\"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\":3,\"d\":10,\"c\":1},{\"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\":27,\"d\":14,\"c\":1},{\"w\":1455408000,\"a\":84,\"d\":36,\"c\":9},{\"w\":1456012800,\"a\":259,\"d\":125,\"c\":7},{\"w\":1456617600,\"a\":22,\"d\":30,\"c\":1},{\"w\":1457222400,\"a\":111,\"d\":91,\"c\":7},{\"w\":1457827200,\"a\":154,\"d\":97,\"c\":7},{\"w\":1458432000,\"a\":46220,\"d\":30,\"c\":5},{\"w\":1459036800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1459641600,\"a\":239,\"d\":18,\"c\":6},{\"w\":1460246400,\"a\":154348,\"d\":47770,\"c\":5},{\"w\":1460851200,\"a\":2,\"d\":2,\"c\":1},{\"w\":1461456000,\"a\":58,\"d\":22,\"c\":2},{\"w\":1462060800,\"a\":1,\"d\":1,\"c\":1},{\"w\":1462665600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1463270400,\"a\":44023,\"d\":19104,\"c\":3},{\"w\":1463875200,\"a\":121,\"d\":19,\"c\":6},{\"w\":1464480000,\"a\":1464,\"d\":173,\"c\":1},{\"w\":1465084800,\"a\":489,\"d\":165,\"c\":3},{\"w\":1465689600,\"a\":713,\"d\":180,\"c\":6},{\"w\":1466294400,\"a\":567,\"d\":259,\"c\":9},{\"w\":1466899200,\"a\":981,\"d\":352,\"c\":7},{\"w\":1467504000,\"a\":14851,\"d\":374,\"c\":8},{\"w\":1468108800,\"a\":214,\"d\":35,\"c\":5},{\"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\":186205,\"d\":18950,\"c\":1},{\"w\":1473552000,\"a\":7,\"d\":5,\"c\":1},{\"w\":1474156800,\"a\":1816,\"d\":3149,\"c\":3},{\"w\":1474761600,\"a\":158149,\"d\":119,\"c\":5},{\"w\":1475366400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1475971200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1476576000,\"a\":36,\"d\":21,\"c\":5},{\"w\":1477180800,\"a\":168845,\"d\":454,\"c\":6},{\"w\":1477785600,\"a\":110661,\"d\":68,\"c\":3},{\"w\":1478390400,\"a\":80,\"d\":40,\"c\":1},{\"w\":1478995200,\"a\":159,\"d\":13,\"c\":2},{\"w\":1479600000,\"a\":12,\"d\":0,\"c\":1},{\"w\":1480204800,\"a\":15,\"d\":0,\"c\":1},{\"w\":1480809600,\"a\":91,\"d\":38,\"c\":2},{\"w\":1481414400,\"a\":584,\"d\":236,\"c\":2},{\"w\":1482019200,\"a\":105,\"d\":30,\"c\":8},{\"w\":1482624000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1483228800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1483833600,\"a\":4,\"d\":4,\"c\":1},{\"w\":1484438400,\"a\":62,\"d\":24,\"c\":3},{\"w\":1485043200,\"a\":128,\"d\":97,\"c\":5},{\"w\":1485648000,\"a\":140,\"d\":35,\"c\":4},{\"w\":1486252800,\"a\":29,\"d\":0,\"c\":1},{\"w\":1486857600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1487462400,\"a\":13,\"d\":10,\"c\":3},{\"w\":1488067200,\"a\":207,\"d\":121,\"c\":3},{\"w\":1488672000,\"a\":112,\"d\":77,\"c\":4},{\"w\":1489276800,\"a\":26,\"d\":19,\"c\":6},{\"w\":1489881600,\"a\":2,\"d\":1,\"c\":1},{\"w\":1490486400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1491091200,\"a\":4,\"d\":2,\"c\":1},{\"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\":3,\"d\":3,\"c\":2},{\"w\":1494115200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1494720000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1495324800,\"a\":3,\"d\":1,\"c\":2},{\"w\":1495929600,\"a\":1,\"d\":1,\"c\":1},{\"w\":1496534400,\"a\":18,\"d\":1,\"c\":1},{\"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\":40806,\"d\":13,\"c\":1},{\"w\":1499558400,\"a\":18,\"d\":4,\"c\":2},{\"w\":1500163200,\"a\":32,\"d\":2,\"c\":2},{\"w\":1500768000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1501372800,\"a\":16668,\"d\":34,\"c\":6},{\"w\":1501977600,\"a\":16,\"d\":2,\"c\":3},{\"w\":1502582400,\"a\":44,\"d\":42,\"c\":10},{\"w\":1503187200,\"a\":11,\"d\":6,\"c\":2},{\"w\":1503792000,\"a\":17,\"d\":7,\"c\":2},{\"w\":1504396800,\"a\":4,\"d\":4,\"c\":1},{\"w\":1505001600,\"a\":159,\"d\":0,\"c\":2},{\"w\":1505606400,\"a\":7,\"d\":0,\"c\":1},{\"w\":1506211200,\"a\":31827,\"d\":582,\"c\":3},{\"w\":1506816000,\"a\":1029,\"d\":56,\"c\":4},{\"w\":1507420800,\"a\":31,\"d\":16,\"c\":2},{\"w\":1508025600,\"a\":166,\"d\":98,\"c\":3},{\"w\":1508630400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1509235200,\"a\":34,\"d\":5,\"c\":3},{\"w\":1509840000,\"a\":25,\"d\":95,\"c\":5},{\"w\":1510444800,\"a\":51,\"d\":24,\"c\":3},{\"w\":1511049600,\"a\":115,\"d\":1606,\"c\":3},{\"w\":1511654400,\"a\":259,\"d\":103,\"c\":4},{\"w\":1512259200,\"a\":80,\"d\":54,\"c\":3},{\"w\":1512864000,\"a\":99,\"d\":33,\"c\":3},{\"w\":1513468800,\"a\":66,\"d\":18,\"c\":2},{\"w\":1514073600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1514678400,\"a\":1,\"d\":1,\"c\":1},{\"w\":1515283200,\"a\":18,\"d\":0,\"c\":1},{\"w\":1515888000,\"a\":122,\"d\":66,\"c\":3},{\"w\":1516492800,\"a\":1,\"d\":1,\"c\":1},{\"w\":1517097600,\"a\":11,\"d\":0,\"c\":2},{\"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\":140,\"d\":119,\"c\":3},{\"w\":1520726400,\"a\":1,\"d\":0,\"c\":1},{\"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\":15,\"d\":10,\"c\":2},{\"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\":3,\"d\":3,\"c\":2},{\"w\":1526774400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1527379200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1527984000,\"a\":13,\"d\":1,\"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\":144,\"d\":12,\"c\":3},{\"w\":1534032000,\"a\":15,\"d\":14,\"c\":3},{\"w\":1534636800,\"a\":2,\"d\":2,\"c\":2},{\"w\":1535241600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1535846400,\"a\":1573,\"d\":461,\"c\":3},{\"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\":20,\"d\":18,\"c\":1},{\"w\":1540080000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1540684800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1541289600,\"a\":11,\"d\":25,\"c\":1},{\"w\":1541894400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1542499200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1543104000,\"a\":4751,\"d\":17,\"c\":2},{\"w\":1543708800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1544313600,\"a\":238,\"d\":108,\"c\":2},{\"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\":4,\"d\":3,\"c\":3},{\"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\":1,\"d\":1,\"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\":309,\"d\":110,\"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\":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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"tansaku\",\"id\":30216,\"node_id\":\"MDQ6VXNlcjMwMjE2\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/30216?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/tansaku\",\"html_url\":\"https://github.com/tansaku\",\"followers_url\":\"https://api.github.com/users/tansaku/followers\",\"following_url\":\"https://api.github.com/users/tansaku/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/tansaku/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/tansaku/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/tansaku/subscriptions\",\"organizations_url\":\"https://api.github.com/users/tansaku/orgs\",\"repos_url\":\"https://api.github.com/users/tansaku/repos\",\"events_url\":\"https://api.github.com/users/tansaku/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/tansaku/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":8,\"weeks\":[{\"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\":6,\"d\":5,\"c\":1},{\"w\":1391904000,\"a\":30,\"d\":30,\"c\":1},{\"w\":1392508800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1393113600,\"a\":83,\"d\":6,\"c\":3},{\"w\":1393718400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1394323200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1394928000,\"a\":90,\"d\":44,\"c\":2},{\"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\":31,\"d\":14,\"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\":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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"coloradobum\",\"id\":28269,\"node_id\":\"MDQ6VXNlcjI4MjY5\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/28269?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/coloradobum\",\"html_url\":\"https://github.com/coloradobum\",\"followers_url\":\"https://api.github.com/users/coloradobum/followers\",\"following_url\":\"https://api.github.com/users/coloradobum/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/coloradobum/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/coloradobum/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/coloradobum/subscriptions\",\"organizations_url\":\"https://api.github.com/users/coloradobum/orgs\",\"repos_url\":\"https://api.github.com/users/coloradobum/repos\",\"events_url\":\"https://api.github.com/users/coloradobum/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/coloradobum/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":482,\"weeks\":[{\"w\":1388880000,\"a\":13915,\"d\":1669,\"c\":29},{\"w\":1389484800,\"a\":27043,\"d\":395,\"c\":38},{\"w\":1390089600,\"a\":1690,\"d\":1015,\"c\":43},{\"w\":1390694400,\"a\":1189,\"d\":342,\"c\":29},{\"w\":1391299200,\"a\":1342,\"d\":305,\"c\":27},{\"w\":1391904000,\"a\":871,\"d\":386,\"c\":11},{\"w\":1392508800,\"a\":820,\"d\":212,\"c\":23},{\"w\":1393113600,\"a\":8566,\"d\":935,\"c\":28},{\"w\":1393718400,\"a\":2511,\"d\":1796,\"c\":36},{\"w\":1394323200,\"a\":82522,\"d\":896,\"c\":24},{\"w\":1394928000,\"a\":90,\"d\":102,\"c\":3},{\"w\":1395532800,\"a\":317,\"d\":164,\"c\":7},{\"w\":1396137600,\"a\":134,\"d\":69,\"c\":11},{\"w\":1396742400,\"a\":2,\"d\":1,\"c\":1},{\"w\":1397347200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1397952000,\"a\":61,\"d\":53,\"c\":6},{\"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\":364,\"d\":142,\"c\":7},{\"w\":1410048000,\"a\":587,\"d\":395,\"c\":30},{\"w\":1410652800,\"a\":1228,\"d\":880,\"c\":14},{\"w\":1411257600,\"a\":156,\"d\":89,\"c\":4},{\"w\":1411862400,\"a\":728,\"d\":346,\"c\":20},{\"w\":1412467200,\"a\":45,\"d\":20,\"c\":6},{\"w\":1413072000,\"a\":915,\"d\":640,\"c\":13},{\"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\":37,\"d\":12,\"c\":5},{\"w\":1419120000,\"a\":178,\"d\":90,\"c\":8},{\"w\":1419724800,\"a\":14,\"d\":13,\"c\":6},{\"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\":18,\"d\":14,\"c\":5},{\"w\":1426377600,\"a\":3,\"d\":3,\"c\":2},{\"w\":1426982400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1427587200,\"a\":5,\"d\":5,\"c\":5},{\"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\":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\":12627,\"d\":361,\"c\":19},{\"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\":53,\"d\":53,\"c\":2},{\"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\":673,\"d\":682,\"c\":14},{\"w\":1455408000,\"a\":130,\"d\":92,\"c\":5},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"tochman\",\"id\":5248170,\"node_id\":\"MDQ6VXNlcjUyNDgxNzA=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/5248170?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/tochman\",\"html_url\":\"https://github.com/tochman\",\"followers_url\":\"https://api.github.com/users/tochman/followers\",\"following_url\":\"https://api.github.com/users/tochman/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/tochman/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/tochman/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/tochman/subscriptions\",\"organizations_url\":\"https://api.github.com/users/tochman/orgs\",\"repos_url\":\"https://api.github.com/users/tochman/repos\",\"events_url\":\"https://api.github.com/users/tochman/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/tochman/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":1,\"weeks\":[{\"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\":89,\"d\":99,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"edmilsonefs\",\"id\":498938,\"node_id\":\"MDQ6VXNlcjQ5ODkzOA==\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/498938?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/edmilsonefs\",\"html_url\":\"https://github.com/edmilsonefs\",\"followers_url\":\"https://api.github.com/users/edmilsonefs/followers\",\"following_url\":\"https://api.github.com/users/edmilsonefs/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/edmilsonefs/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/edmilsonefs/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/edmilsonefs/subscriptions\",\"organizations_url\":\"https://api.github.com/users/edmilsonefs/orgs\",\"repos_url\":\"https://api.github.com/users/edmilsonefs/repos\",\"events_url\":\"https://api.github.com/users/edmilsonefs/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/edmilsonefs/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":3,\"weeks\":[{\"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\":18,\"d\":12,\"c\":2},{\"w\":1465689600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1466294400,\"a\":13,\"d\":6,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"nitishmadhukar\",\"id\":7777038,\"node_id\":\"MDQ6VXNlcjc3NzcwMzg=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/7777038?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/nitishmadhukar\",\"html_url\":\"https://github.com/nitishmadhukar\",\"followers_url\":\"https://api.github.com/users/nitishmadhukar/followers\",\"following_url\":\"https://api.github.com/users/nitishmadhukar/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/nitishmadhukar/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/nitishmadhukar/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/nitishmadhukar/subscriptions\",\"organizations_url\":\"https://api.github.com/users/nitishmadhukar/orgs\",\"repos_url\":\"https://api.github.com/users/nitishmadhukar/repos\",\"events_url\":\"https://api.github.com/users/nitishmadhukar/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/nitishmadhukar/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":26,\"weeks\":[{\"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\":322,\"d\":7,\"c\":6},{\"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\":1047,\"d\":3,\"c\":1},{\"w\":1412467200,\"a\":87,\"d\":116,\"c\":11},{\"w\":1413072000,\"a\":209,\"d\":33,\"c\":4},{\"w\":1413676800,\"a\":156,\"d\":53,\"c\":4},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"erpe\",\"id\":48996,\"node_id\":\"MDQ6VXNlcjQ4OTk2\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/48996?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/erpe\",\"html_url\":\"https://github.com/erpe\",\"followers_url\":\"https://api.github.com/users/erpe/followers\",\"following_url\":\"https://api.github.com/users/erpe/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/erpe/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/erpe/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/erpe/subscriptions\",\"organizations_url\":\"https://api.github.com/users/erpe/orgs\",\"repos_url\":\"https://api.github.com/users/erpe/repos\",\"events_url\":\"https://api.github.com/users/erpe/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/erpe/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":2,\"weeks\":[{\"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\":10995,\"d\":5,\"c\":1},{\"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\":1156,\"d\":15,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"bcb37\",\"id\":3885687,\"node_id\":\"MDQ6VXNlcjM4ODU2ODc=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/3885687?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/bcb37\",\"html_url\":\"https://github.com/bcb37\",\"followers_url\":\"https://api.github.com/users/bcb37/followers\",\"following_url\":\"https://api.github.com/users/bcb37/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/bcb37/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/bcb37/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/bcb37/subscriptions\",\"organizations_url\":\"https://api.github.com/users/bcb37/orgs\",\"repos_url\":\"https://api.github.com/users/bcb37/repos\",\"events_url\":\"https://api.github.com/users/bcb37/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/bcb37/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":5,\"weeks\":[{\"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\":109,\"d\":60,\"c\":5},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"piotrkedzia\",\"id\":8421929,\"node_id\":\"MDQ6VXNlcjg0MjE5Mjk=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/8421929?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/piotrkedzia\",\"html_url\":\"https://github.com/piotrkedzia\",\"followers_url\":\"https://api.github.com/users/piotrkedzia/followers\",\"following_url\":\"https://api.github.com/users/piotrkedzia/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/piotrkedzia/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/piotrkedzia/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/piotrkedzia/subscriptions\",\"organizations_url\":\"https://api.github.com/users/piotrkedzia/orgs\",\"repos_url\":\"https://api.github.com/users/piotrkedzia/repos\",\"events_url\":\"https://api.github.com/users/piotrkedzia/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/piotrkedzia/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":6,\"weeks\":[{\"w\":1388880000,\"a\":47,\"d\":11,\"c\":4},{\"w\":1389484800,\"a\":54,\"d\":24,\"c\":2},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"mach1010\",\"id\":5600560,\"node_id\":\"MDQ6VXNlcjU2MDA1NjA=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/5600560?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/mach1010\",\"html_url\":\"https://github.com/mach1010\",\"followers_url\":\"https://api.github.com/users/mach1010/followers\",\"following_url\":\"https://api.github.com/users/mach1010/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/mach1010/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/mach1010/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/mach1010/subscriptions\",\"organizations_url\":\"https://api.github.com/users/mach1010/orgs\",\"repos_url\":\"https://api.github.com/users/mach1010/repos\",\"events_url\":\"https://api.github.com/users/mach1010/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/mach1010/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":3,\"weeks\":[{\"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\":10,\"d\":4,\"c\":2},{\"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\":63,\"d\":17,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"Maroo-b\",\"id\":7128972,\"node_id\":\"MDQ6VXNlcjcxMjg5NzI=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/7128972?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/Maroo-b\",\"html_url\":\"https://github.com/Maroo-b\",\"followers_url\":\"https://api.github.com/users/Maroo-b/followers\",\"following_url\":\"https://api.github.com/users/Maroo-b/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/Maroo-b/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/Maroo-b/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/Maroo-b/subscriptions\",\"organizations_url\":\"https://api.github.com/users/Maroo-b/orgs\",\"repos_url\":\"https://api.github.com/users/Maroo-b/repos\",\"events_url\":\"https://api.github.com/users/Maroo-b/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/Maroo-b/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":7,\"weeks\":[{\"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\":2,\"d\":1,\"c\":2},{\"w\":1455408000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1456012800,\"a\":0,\"d\":0,\"c\":1},{\"w\":1456617600,\"a\":1,\"d\":1,\"c\":1},{\"w\":1457222400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1457827200,\"a\":29,\"d\":55,\"c\":2},{\"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\":7,\"d\":7,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"freeranger\",\"id\":1401069,\"node_id\":\"MDQ6VXNlcjE0MDEwNjk=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/1401069?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/freeranger\",\"html_url\":\"https://github.com/freeranger\",\"followers_url\":\"https://api.github.com/users/freeranger/followers\",\"following_url\":\"https://api.github.com/users/freeranger/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/freeranger/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/freeranger/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/freeranger/subscriptions\",\"organizations_url\":\"https://api.github.com/users/freeranger/orgs\",\"repos_url\":\"https://api.github.com/users/freeranger/repos\",\"events_url\":\"https://api.github.com/users/freeranger/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/freeranger/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":27,\"weeks\":[{\"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\":48,\"d\":47,\"c\":2},{\"w\":1515888000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1516492800,\"a\":3097,\"d\":2836,\"c\":4},{\"w\":1517097600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1517702400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1518307200,\"a\":8,\"d\":8,\"c\":1},{\"w\":1518912000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1519516800,\"a\":20,\"d\":66,\"c\":3},{\"w\":1520121600,\"a\":672,\"d\":698,\"c\":3},{\"w\":1520726400,\"a\":27,\"d\":22,\"c\":2},{\"w\":1521331200,\"a\":4,\"d\":3,\"c\":2},{\"w\":1521936000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1522540800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1523145600,\"a\":218,\"d\":217,\"c\":1},{\"w\":1523750400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1524355200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1524960000,\"a\":1837,\"d\":11261,\"c\":3},{\"w\":1525564800,\"a\":59,\"d\":60,\"c\":1},{\"w\":1526169600,\"a\":890,\"d\":92,\"c\":4},{\"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\":9,\"d\":11,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"nisevi\",\"id\":3024789,\"node_id\":\"MDQ6VXNlcjMwMjQ3ODk=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/3024789?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/nisevi\",\"html_url\":\"https://github.com/nisevi\",\"followers_url\":\"https://api.github.com/users/nisevi/followers\",\"following_url\":\"https://api.github.com/users/nisevi/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/nisevi/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/nisevi/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/nisevi/subscriptions\",\"organizations_url\":\"https://api.github.com/users/nisevi/orgs\",\"repos_url\":\"https://api.github.com/users/nisevi/repos\",\"events_url\":\"https://api.github.com/users/nisevi/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/nisevi/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":1,\"weeks\":[{\"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\":61,\"d\":12,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"Kachulio1\",\"id\":22243090,\"node_id\":\"MDQ6VXNlcjIyMjQzMDkw\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/22243090?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/Kachulio1\",\"html_url\":\"https://github.com/Kachulio1\",\"followers_url\":\"https://api.github.com/users/Kachulio1/followers\",\"following_url\":\"https://api.github.com/users/Kachulio1/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/Kachulio1/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/Kachulio1/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/Kachulio1/subscriptions\",\"organizations_url\":\"https://api.github.com/users/Kachulio1/orgs\",\"repos_url\":\"https://api.github.com/users/Kachulio1/repos\",\"events_url\":\"https://api.github.com/users/Kachulio1/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/Kachulio1/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":2,\"weeks\":[{\"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\":10,\"d\":12,\"c\":1},{\"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\":69,\"d\":85,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"tbaraza\",\"id\":19430106,\"node_id\":\"MDQ6VXNlcjE5NDMwMTA2\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/19430106?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/tbaraza\",\"html_url\":\"https://github.com/tbaraza\",\"followers_url\":\"https://api.github.com/users/tbaraza/followers\",\"following_url\":\"https://api.github.com/users/tbaraza/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/tbaraza/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/tbaraza/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/tbaraza/subscriptions\",\"organizations_url\":\"https://api.github.com/users/tbaraza/orgs\",\"repos_url\":\"https://api.github.com/users/tbaraza/repos\",\"events_url\":\"https://api.github.com/users/tbaraza/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/tbaraza/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":28,\"weeks\":[{\"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\":9,\"d\":8,\"c\":4},{\"w\":1413676800,\"a\":4,\"d\":2,\"c\":1},{\"w\":1414281600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1414886400,\"a\":27,\"d\":8,\"c\":2},{\"w\":1415491200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1416096000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1416700800,\"a\":16,\"d\":1,\"c\":1},{\"w\":1417305600,\"a\":24,\"d\":4,\"c\":2},{\"w\":1417910400,\"a\":61,\"d\":40,\"c\":6},{\"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\":108,\"d\":46,\"c\":1},{\"w\":1421539200,\"a\":73,\"d\":61,\"c\":2},{\"w\":1422144000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1422748800,\"a\":7,\"d\":2,\"c\":1},{\"w\":1423353600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1423958400,\"a\":3,\"d\":2,\"c\":1},{\"w\":1424563200,\"a\":61,\"d\":24,\"c\":2},{\"w\":1425168000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1425772800,\"a\":79,\"d\":20,\"c\":4},{\"w\":1426377600,\"a\":7,\"d\":7,\"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\":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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"norbertszivos\",\"id\":1647831,\"node_id\":\"MDQ6VXNlcjE2NDc4MzE=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/1647831?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/norbertszivos\",\"html_url\":\"https://github.com/norbertszivos\",\"followers_url\":\"https://api.github.com/users/norbertszivos/followers\",\"following_url\":\"https://api.github.com/users/norbertszivos/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/norbertszivos/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/norbertszivos/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/norbertszivos/subscriptions\",\"organizations_url\":\"https://api.github.com/users/norbertszivos/orgs\",\"repos_url\":\"https://api.github.com/users/norbertszivos/repos\",\"events_url\":\"https://api.github.com/users/norbertszivos/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/norbertszivos/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":68,\"weeks\":[{\"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\":30,\"d\":8,\"c\":3},{\"w\":1391299200,\"a\":26,\"d\":42,\"c\":2},{\"w\":1391904000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1392508800,\"a\":23,\"d\":19,\"c\":1},{\"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\":51,\"d\":93,\"c\":3},{\"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\":92,\"d\":95,\"c\":1},{\"w\":1457222400,\"a\":207,\"d\":158,\"c\":5},{\"w\":1457827200,\"a\":222,\"d\":89,\"c\":10},{\"w\":1458432000,\"a\":23,\"d\":2,\"c\":1},{\"w\":1459036800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1459641600,\"a\":941,\"d\":121,\"c\":4},{\"w\":1460246400,\"a\":0,\"d\":15,\"c\":1},{\"w\":1460851200,\"a\":149,\"d\":30,\"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\":6,\"d\":2,\"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\":18,\"d\":12,\"c\":1},{\"w\":1466294400,\"a\":34,\"d\":0,\"c\":2},{\"w\":1466899200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1467504000,\"a\":313,\"d\":23,\"c\":1},{\"w\":1468108800,\"a\":216,\"d\":66,\"c\":3},{\"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\":44,\"d\":31,\"c\":1},{\"w\":1472342400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1472947200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1473552000,\"a\":111724,\"d\":54904,\"c\":2},{\"w\":1474156800,\"a\":4,\"d\":3035,\"c\":2},{\"w\":1474761600,\"a\":242,\"d\":109,\"c\":1},{\"w\":1475366400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1475971200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1476576000,\"a\":59,\"d\":8,\"c\":1},{\"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\":28,\"d\":15,\"c\":3},{\"w\":1479600000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1480204800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1480809600,\"a\":328,\"d\":175528,\"c\":1},{\"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\":19,\"d\":7,\"c\":1},{\"w\":1484438400,\"a\":439,\"d\":457,\"c\":1},{\"w\":1485043200,\"a\":30,\"d\":2,\"c\":1},{\"w\":1485648000,\"a\":17,\"d\":2,\"c\":1},{\"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\":78,\"d\":79,\"c\":1},{\"w\":1488672000,\"a\":775,\"d\":1,\"c\":2},{\"w\":1489276800,\"a\":2,\"d\":0,\"c\":1},{\"w\":1489881600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1490486400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1491091200,\"a\":1,\"d\":1,\"c\":1},{\"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\":46,\"d\":6663,\"c\":1},{\"w\":1495324800,\"a\":32,\"d\":11,\"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\":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\":4,\"d\":5,\"c\":1},{\"w\":1534032000,\"a\":148,\"d\":31,\"c\":4},{\"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\":7,\"d\":1,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"mtc2013\",\"id\":3909918,\"node_id\":\"MDQ6VXNlcjM5MDk5MTg=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/3909918?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/mtc2013\",\"html_url\":\"https://github.com/mtc2013\",\"followers_url\":\"https://api.github.com/users/mtc2013/followers\",\"following_url\":\"https://api.github.com/users/mtc2013/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/mtc2013/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/mtc2013/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/mtc2013/subscriptions\",\"organizations_url\":\"https://api.github.com/users/mtc2013/orgs\",\"repos_url\":\"https://api.github.com/users/mtc2013/repos\",\"events_url\":\"https://api.github.com/users/mtc2013/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/mtc2013/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":9,\"weeks\":[{\"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\":73,\"d\":13,\"c\":8},{\"w\":1397952000,\"a\":56,\"d\":4,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"qpias\",\"id\":1003426,\"node_id\":\"MDQ6VXNlcjEwMDM0MjY=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/1003426?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/qpias\",\"html_url\":\"https://github.com/qpias\",\"followers_url\":\"https://api.github.com/users/qpias/followers\",\"following_url\":\"https://api.github.com/users/qpias/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/qpias/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/qpias/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/qpias/subscriptions\",\"organizations_url\":\"https://api.github.com/users/qpias/orgs\",\"repos_url\":\"https://api.github.com/users/qpias/repos\",\"events_url\":\"https://api.github.com/users/qpias/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/qpias/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":13,\"weeks\":[{\"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\":14,\"d\":14,\"c\":2},{\"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\":46,\"d\":20,\"c\":1},{\"w\":1540684800,\"a\":13,\"d\":31,\"c\":2},{\"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\":105,\"d\":31,\"c\":6},{\"w\":1543708800,\"a\":6,\"d\":4,\"c\":1},{\"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\":130,\"d\":40,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"aonomike\",\"id\":1543546,\"node_id\":\"MDQ6VXNlcjE1NDM1NDY=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/1543546?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/aonomike\",\"html_url\":\"https://github.com/aonomike\",\"followers_url\":\"https://api.github.com/users/aonomike/followers\",\"following_url\":\"https://api.github.com/users/aonomike/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/aonomike/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/aonomike/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/aonomike/subscriptions\",\"organizations_url\":\"https://api.github.com/users/aonomike/orgs\",\"repos_url\":\"https://api.github.com/users/aonomike/repos\",\"events_url\":\"https://api.github.com/users/aonomike/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/aonomike/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":1,\"weeks\":[{\"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\":2,\"d\":0,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"Xiaohong-Deng\",\"id\":3221403,\"node_id\":\"MDQ6VXNlcjMyMjE0MDM=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/3221403?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/Xiaohong-Deng\",\"html_url\":\"https://github.com/Xiaohong-Deng\",\"followers_url\":\"https://api.github.com/users/Xiaohong-Deng/followers\",\"following_url\":\"https://api.github.com/users/Xiaohong-Deng/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/Xiaohong-Deng/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/Xiaohong-Deng/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/Xiaohong-Deng/subscriptions\",\"organizations_url\":\"https://api.github.com/users/Xiaohong-Deng/orgs\",\"repos_url\":\"https://api.github.com/users/Xiaohong-Deng/repos\",\"events_url\":\"https://api.github.com/users/Xiaohong-Deng/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/Xiaohong-Deng/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":3,\"weeks\":[{\"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\":26,\"d\":12,\"c\":1},{\"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\":10,\"d\":4,\"c\":1},{\"w\":1544918400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1545523200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1546128000,\"a\":22,\"d\":0,\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"ElisaRmz\",\"id\":25952066,\"node_id\":\"MDQ6VXNlcjI1OTUyMDY2\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/25952066?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/ElisaRmz\",\"html_url\":\"https://github.com/ElisaRmz\",\"followers_url\":\"https://api.github.com/users/ElisaRmz/followers\",\"following_url\":\"https://api.github.com/users/ElisaRmz/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/ElisaRmz/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/ElisaRmz/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/ElisaRmz/subscriptions\",\"organizations_url\":\"https://api.github.com/users/ElisaRmz/orgs\",\"repos_url\":\"https://api.github.com/users/ElisaRmz/repos\",\"events_url\":\"https://api.github.com/users/ElisaRmz/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/ElisaRmz/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":17,\"weeks\":[{\"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\":1,\"d\":1,\"c\":1},{\"w\":1558828800,\"a\":60,\"d\":50,\"c\":4},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":56,\"d\":0,\"c\":1},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":48,\"d\":5,\"c\":1},{\"w\":1570320000,\"a\":10,\"d\":36,\"c\":1},{\"w\":1570924800,\"a\":48,\"d\":46,\"c\":4},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":20,\"d\":16,\"c\":2},{\"w\":1573344000,\"a\":1,\"d\":0,\"c\":1},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":17,\"d\":21,\"c\":2},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"abdellani\",\"id\":16113997,\"node_id\":\"MDQ6VXNlcjE2MTEzOTk3\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/16113997?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/abdellani\",\"html_url\":\"https://github.com/abdellani\",\"followers_url\":\"https://api.github.com/users/abdellani/followers\",\"following_url\":\"https://api.github.com/users/abdellani/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/abdellani/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/abdellani/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/abdellani/subscriptions\",\"organizations_url\":\"https://api.github.com/users/abdellani/orgs\",\"repos_url\":\"https://api.github.com/users/abdellani/repos\",\"events_url\":\"https://api.github.com/users/abdellani/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/abdellani/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":5,\"weeks\":[{\"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\":74,\"d\":14,\"c\":4},{\"w\":1407628800,\"a\":101,\"d\":20,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"PurityControl\",\"id\":7509180,\"node_id\":\"MDQ6VXNlcjc1MDkxODA=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/7509180?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/PurityControl\",\"html_url\":\"https://github.com/PurityControl\",\"followers_url\":\"https://api.github.com/users/PurityControl/followers\",\"following_url\":\"https://api.github.com/users/PurityControl/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/PurityControl/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/PurityControl/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/PurityControl/subscriptions\",\"organizations_url\":\"https://api.github.com/users/PurityControl/orgs\",\"repos_url\":\"https://api.github.com/users/PurityControl/repos\",\"events_url\":\"https://api.github.com/users/PurityControl/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/PurityControl/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":27,\"weeks\":[{\"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\":113,\"d\":22,\"c\":9},{\"w\":1397952000,\"a\":0,\"d\":1,\"c\":1},{\"w\":1398556800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1399161600,\"a\":44,\"d\":7,\"c\":3},{\"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\":121,\"d\":86,\"c\":4},{\"w\":1402185600,\"a\":183,\"d\":74,\"c\":6},{\"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\":87,\"d\":74,\"c\":2},{\"w\":1406419200,\"a\":40,\"d\":46,\"c\":2},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"techsailor\",\"id\":967774,\"node_id\":\"MDQ6VXNlcjk2Nzc3NA==\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/967774?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/techsailor\",\"html_url\":\"https://github.com/techsailor\",\"followers_url\":\"https://api.github.com/users/techsailor/followers\",\"following_url\":\"https://api.github.com/users/techsailor/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/techsailor/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/techsailor/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/techsailor/subscriptions\",\"organizations_url\":\"https://api.github.com/users/techsailor/orgs\",\"repos_url\":\"https://api.github.com/users/techsailor/repos\",\"events_url\":\"https://api.github.com/users/techsailor/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/techsailor/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":3,\"weeks\":[{\"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\":12,\"d\":7,\"c\":3},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"achock\",\"id\":2363146,\"node_id\":\"MDQ6VXNlcjIzNjMxNDY=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/2363146?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/achock\",\"html_url\":\"https://github.com/achock\",\"followers_url\":\"https://api.github.com/users/achock/followers\",\"following_url\":\"https://api.github.com/users/achock/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/achock/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/achock/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/achock/subscriptions\",\"organizations_url\":\"https://api.github.com/users/achock/orgs\",\"repos_url\":\"https://api.github.com/users/achock/repos\",\"events_url\":\"https://api.github.com/users/achock/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/achock/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":1,\"weeks\":[{\"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\":2,\"d\":1,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"pajaydev\",\"id\":21375014,\"node_id\":\"MDQ6VXNlcjIxMzc1MDE0\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/21375014?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/pajaydev\",\"html_url\":\"https://github.com/pajaydev\",\"followers_url\":\"https://api.github.com/users/pajaydev/followers\",\"following_url\":\"https://api.github.com/users/pajaydev/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/pajaydev/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/pajaydev/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/pajaydev/subscriptions\",\"organizations_url\":\"https://api.github.com/users/pajaydev/orgs\",\"repos_url\":\"https://api.github.com/users/pajaydev/repos\",\"events_url\":\"https://api.github.com/users/pajaydev/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/pajaydev/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":395,\"weeks\":[{\"w\":1388880000,\"a\":62,\"d\":28,\"c\":1},{\"w\":1389484800,\"a\":490,\"d\":343,\"c\":16},{\"w\":1390089600,\"a\":2116,\"d\":768,\"c\":53},{\"w\":1390694400,\"a\":861,\"d\":300,\"c\":16},{\"w\":1391299200,\"a\":277,\"d\":118,\"c\":8},{\"w\":1391904000,\"a\":3101,\"d\":1774,\"c\":42},{\"w\":1392508800,\"a\":3743,\"d\":1749,\"c\":39},{\"w\":1393113600,\"a\":2802,\"d\":2102,\"c\":20},{\"w\":1393718400,\"a\":378,\"d\":360,\"c\":11},{\"w\":1394323200,\"a\":1347,\"d\":1592,\"c\":38},{\"w\":1394928000,\"a\":216,\"d\":110,\"c\":15},{\"w\":1395532800,\"a\":181,\"d\":145,\"c\":5},{\"w\":1396137600,\"a\":1235,\"d\":997,\"c\":21},{\"w\":1396742400,\"a\":3418,\"d\":2886,\"c\":42},{\"w\":1397347200,\"a\":288,\"d\":152,\"c\":9},{\"w\":1397952000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1398556800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1399161600,\"a\":5732,\"d\":5750,\"c\":18},{\"w\":1399766400,\"a\":75,\"d\":57,\"c\":8},{\"w\":1400371200,\"a\":267,\"d\":294,\"c\":3},{\"w\":1400976000,\"a\":845,\"d\":680,\"c\":13},{\"w\":1401580800,\"a\":114,\"d\":86,\"c\":6},{\"w\":1402185600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1402790400,\"a\":150,\"d\":88,\"c\":3},{\"w\":1403395200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1404000000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1404604800,\"a\":15,\"d\":8,\"c\":1},{\"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\":233,\"d\":1,\"c\":1},{\"w\":1410048000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1410652800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1411257600,\"a\":50,\"d\":19,\"c\":1},{\"w\":1411862400,\"a\":4,\"d\":4,\"c\":1},{\"w\":1412467200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1413072000,\"a\":18,\"d\":10,\"c\":2},{\"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\":160,\"d\":206,\"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\":158,\"d\":3,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"yggie\",\"id\":2663402,\"node_id\":\"MDQ6VXNlcjI2NjM0MDI=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/2663402?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/yggie\",\"html_url\":\"https://github.com/yggie\",\"followers_url\":\"https://api.github.com/users/yggie/followers\",\"following_url\":\"https://api.github.com/users/yggie/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/yggie/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/yggie/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/yggie/subscriptions\",\"organizations_url\":\"https://api.github.com/users/yggie/orgs\",\"repos_url\":\"https://api.github.com/users/yggie/repos\",\"events_url\":\"https://api.github.com/users/yggie/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/yggie/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":44,\"weeks\":[{\"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\":6,\"d\":7,\"c\":1},{\"w\":1427587200,\"a\":142,\"d\":38,\"c\":5},{\"w\":1428192000,\"a\":156,\"d\":152,\"c\":7},{\"w\":1428796800,\"a\":71,\"d\":68,\"c\":4},{\"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\":12,\"d\":2,\"c\":2},{\"w\":1446336000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1446940800,\"a\":5,\"d\":3,\"c\":1},{\"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\":6206,\"d\":6206,\"c\":1},{\"w\":1450569600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1451174400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1451779200,\"a\":51,\"d\":47,\"c\":3},{\"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\":33,\"d\":31,\"c\":4},{\"w\":1455408000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1456012800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1456617600,\"a\":35,\"d\":28,\"c\":1},{\"w\":1457222400,\"a\":2,\"d\":0,\"c\":1},{\"w\":1457827200,\"a\":52,\"d\":0,\"c\":2},{\"w\":1458432000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1459036800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1459641600,\"a\":232,\"d\":0,\"c\":1},{\"w\":1460246400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1460851200,\"a\":5,\"d\":5,\"c\":2},{\"w\":1461456000,\"a\":219,\"d\":372,\"c\":3},{\"w\":1462060800,\"a\":313,\"d\":272,\"c\":2},{\"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\":62,\"d\":0,\"c\":1},{\"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\":22,\"d\":9,\"c\":1},{\"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\":1543,\"d\":0,\"c\":1},{\"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\":42,\"d\":28,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"diraulo\",\"id\":4028374,\"node_id\":\"MDQ6VXNlcjQwMjgzNzQ=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/4028374?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/diraulo\",\"html_url\":\"https://github.com/diraulo\",\"followers_url\":\"https://api.github.com/users/diraulo/followers\",\"following_url\":\"https://api.github.com/users/diraulo/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/diraulo/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/diraulo/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/diraulo/subscriptions\",\"organizations_url\":\"https://api.github.com/users/diraulo/orgs\",\"repos_url\":\"https://api.github.com/users/diraulo/repos\",\"events_url\":\"https://api.github.com/users/diraulo/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/diraulo/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":1,\"weeks\":[{\"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\":3,\"d\":3,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"AdvaitT17\",\"id\":15717657,\"node_id\":\"MDQ6VXNlcjE1NzE3NjU3\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/15717657?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/AdvaitT17\",\"html_url\":\"https://github.com/AdvaitT17\",\"followers_url\":\"https://api.github.com/users/AdvaitT17/followers\",\"following_url\":\"https://api.github.com/users/AdvaitT17/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/AdvaitT17/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/AdvaitT17/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/AdvaitT17/subscriptions\",\"organizations_url\":\"https://api.github.com/users/AdvaitT17/orgs\",\"repos_url\":\"https://api.github.com/users/AdvaitT17/repos\",\"events_url\":\"https://api.github.com/users/AdvaitT17/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/AdvaitT17/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":44,\"weeks\":[{\"w\":1388880000,\"a\":193,\"d\":135,\"c\":11},{\"w\":1389484800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1390089600,\"a\":853,\"d\":1,\"c\":1},{\"w\":1390694400,\"a\":14,\"d\":10,\"c\":1},{\"w\":1391299200,\"a\":12,\"d\":12,\"c\":3},{\"w\":1391904000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1392508800,\"a\":153,\"d\":807,\"c\":6},{\"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\":288,\"d\":199,\"c\":3},{\"w\":1397347200,\"a\":392,\"d\":255,\"c\":7},{\"w\":1397952000,\"a\":13,\"d\":11,\"c\":3},{\"w\":1398556800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1399161600,\"a\":9,\"d\":5,\"c\":3},{\"w\":1399766400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1400371200,\"a\":1021,\"d\":0,\"c\":1},{\"w\":1400976000,\"a\":2807,\"d\":64,\"c\":4},{\"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\":13,\"d\":1,\"c\":1},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"johnnymo87\",\"id\":3466499,\"node_id\":\"MDQ6VXNlcjM0NjY0OTk=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/3466499?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/johnnymo87\",\"html_url\":\"https://github.com/johnnymo87\",\"followers_url\":\"https://api.github.com/users/johnnymo87/followers\",\"following_url\":\"https://api.github.com/users/johnnymo87/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/johnnymo87/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/johnnymo87/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/johnnymo87/subscriptions\",\"organizations_url\":\"https://api.github.com/users/johnnymo87/orgs\",\"repos_url\":\"https://api.github.com/users/johnnymo87/repos\",\"events_url\":\"https://api.github.com/users/johnnymo87/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/johnnymo87/received_events\",\"type\":\"User\",\"site_admin\":false}},{\"total\":129,\"weeks\":[{\"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\":88,\"d\":92,\"c\":8},{\"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\":33,\"d\":0,\"c\":1},{\"w\":1408838400,\"a\":224,\"d\":83,\"c\":4},{\"w\":1409443200,\"a\":727,\"d\":473,\"c\":14},{\"w\":1410048000,\"a\":415,\"d\":461,\"c\":30},{\"w\":1410652800,\"a\":207,\"d\":118,\"c\":19},{\"w\":1411257600,\"a\":49,\"d\":23,\"c\":9},{\"w\":1411862400,\"a\":47,\"d\":1,\"c\":3},{\"w\":1412467200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1413072000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1413676800,\"a\":88,\"d\":72,\"c\":3},{\"w\":1414281600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1414886400,\"a\":26,\"d\":25,\"c\":4},{\"w\":1415491200,\"a\":52,\"d\":3,\"c\":2},{\"w\":1416096000,\"a\":21,\"d\":31,\"c\":4},{\"w\":1416700800,\"a\":230,\"d\":224,\"c\":7},{\"w\":1417305600,\"a\":73,\"d\":32,\"c\":4},{\"w\":1417910400,\"a\":108,\"d\":26,\"c\":4},{\"w\":1418515200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1419120000,\"a\":53,\"d\":6,\"c\":2},{\"w\":1419724800,\"a\":16,\"d\":11,\"c\":4},{\"w\":1420329600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1420934400,\"a\":21,\"d\":8,\"c\":1},{\"w\":1421539200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1422144000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1422748800,\"a\":51,\"d\":17,\"c\":2},{\"w\":1423353600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1423958400,\"a\":52,\"d\":54,\"c\":4},{\"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},{\"w\":1563062400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1563667200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564272000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1564876800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1565481600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566086400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1566691200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567296000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1567900800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1568505600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569110400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1569715200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570320000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1570924800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1571529600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572134400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1572739200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573344000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1573948800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1574553600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575158400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1575763200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576368000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1576972800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1577577600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578182400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1578787200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579392000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1579996800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1580601600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581206400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1581811200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1582416000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583020800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1583625600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584230400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1584835200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1585440000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586044800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1586649600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587254400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1587859200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1588464000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589068800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1589673600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590278400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1590883200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1591488000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592092800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1592697600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593302400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1593907200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1594512000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595116800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1595721600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596326400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1596931200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1597536000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598140800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1598745600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599350400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1599955200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1600560000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601164800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1601769600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602374400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1602979200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1603584000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604188800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1604793600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1605398400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606003200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1606608000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607212800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1607817600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1608422400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609027200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1609632000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610236800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1610841600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1611446400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612051200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1612656000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613260800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1613865600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1614470400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615075200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1615680000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616284800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1616889600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1617494400,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618099200,\"a\":0,\"d\":0,\"c\":0},{\"w\":1618704000,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619308800,\"a\":0,\"d\":0,\"c\":0},{\"w\":1619913600,\"a\":0,\"d\":0,\"c\":0},{\"w\":1620518400,\"a\":0,\"d\":0,\"c\":0}],\"author\":{\"login\":\"christophermlne\",\"id\":1007981,\"node_id\":\"MDQ6VXNlcjEwMDc5ODE=\",\"avatar_url\":\"https://avatars.githubusercontent.com/u/1007981?v=4\",\"gravatar_id\":\"\",\"url\":\"https://api.github.com/users/christophermlne\",\"html_url\":\"https://github.com/christophermlne\",\"followers_url\":\"https://api.github.com/users/christophermlne/followers\",\"following_url\":\"https://api.github.com/users/christophermlne/following{/other_user}\",\"gists_url\":\"https://api.github.com/users/christophermlne/gists{/gist_id}\",\"starred_url\":\"https://api.github.com/users/christophermlne/starred{/owner}{/repo}\",\"subscriptions_url\":\"https://api.github.com/users/christophermlne/subscriptions\",\"organizations_url\":\"https://api.github.com/users/christophermlne/orgs\",\"repos_url\":\"https://api.github.com/users/christophermlne/repos\",\"events_url\":\"https://api.github.com/users/christophermlne/events{/privacy}\",\"received_events_url\":\"https://api.github.com/users/christophermlne/received_events\",\"type\":\"User\",\"site_admin\":false}}]'\n  recorded_at: Sat, 15 May 2021 08:56:37 GMT\n- request:\n    method: get\n    uri: https://api.github.com/repos/AgileVentures/WebsiteOne/contributors?anon=1&per_page=100\n    body:\n      encoding: US-ASCII\n      string: ''\n    headers:\n      Accept:\n      - application/vnd.github.v3+json\n      User-Agent:\n      - Octokit Ruby Gem 4.21.0\n      Content-Type:\n      - application/json\n      Authorization:\n      - Basic ZDA1ZWIzMTBlYmY1NDllNTM4ODk6NmE1OTg4YWYxMmE4YTAxMjM5OWUwMzdkMDU4NmJmNzA2YzRiZmJmMA==\n      Accept-Encoding:\n      - gzip;q=1.0,deflate;q=0.6,identity;q=0.3\n  response:\n    status:\n      code: 200\n      message: OK\n    headers:\n      Server:\n      - GitHub.com\n      Date:\n      - Sat, 15 May 2021 08:56:55 GMT\n      Content-Type:\n      - application/json; charset=utf-8\n      Transfer-Encoding:\n      - chunked\n      Cache-Control:\n      - public, max-age=60, s-maxage=60\n      Vary:\n      - Accept\n      - Accept-Encoding, Accept, X-Requested-With\n      Etag:\n      - W/\"ee1af98d60fbf3808ae4045bf4ef46740cbe8c1e152a37c8fee63053af8ce175\"\n      Last-Modified:\n      - Fri, 14 May 2021 04:34:48 GMT\n      X-Github-Media-Type:\n      - github.v3; format=json\n      Link:\n      - <https://api.github.com/repositories/15742370/contributors?anon=1&per_page=100&page=2>;\n        rel=\"next\", <https://api.github.com/repositories/15742370/contributors?anon=1&per_page=100&page=2>;\n        rel=\"last\"\n      X-Ratelimit-Limit:\n      - '5000'\n      X-Ratelimit-Remaining:\n      - '4968'\n      X-Ratelimit-Reset:\n      - '1621071767'\n      X-Ratelimit-Used:\n      - '32'\n      X-Ratelimit-Resource:\n      - core\n      Access-Control-Expose-Headers:\n      - ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining,\n        X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes,\n        X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, Deprecation,\n        Sunset\n      Access-Control-Allow-Origin:\n      - \"*\"\n      Strict-Transport-Security:\n      - max-age=31536000; includeSubdomains; preload\n      X-Frame-Options:\n      - deny\n      X-Content-Type-Options:\n      - nosniff\n      X-Xss-Protection:\n      - '0'\n      Referrer-Policy:\n      - origin-when-cross-origin, strict-origin-when-cross-origin\n      Content-Security-Policy:\n      - default-src 'none'\n      X-Github-Request-Id:\n      - DF7C:7F22:1683F22:16EF5CB:609F8CD7\n    body:\n      encoding: ASCII-8BIT\n      string: !binary |-\n        W3sibG9naW4iOiJ0b2NobWFuIiwiaWQiOjUyNDgxNzAsIm5vZGVfaWQiOiJNRFE2VlhObGNqVXlORGd4TnpBPSIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNTI0ODE3MD92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdG9jaG1hbiIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL3RvY2htYW4iLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90b2NobWFuL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3RvY2htYW4vZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdG9jaG1hbi9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdG9jaG1hbi9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3RvY2htYW4vc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90b2NobWFuL29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3RvY2htYW4vcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90b2NobWFuL2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90b2NobWFuL3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2UsImNvbnRyaWJ1dGlvbnMiOjEwMzV9LHsibG9naW4iOiJ5Z2dpZSIsImlkIjoyNjYzNDAyLCJub2RlX2lkIjoiTURRNlZYTmxjakkyTmpNME1EST0iLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzI2NjM0MDI/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3lnZ2llIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20veWdnaWUiLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy95Z2dpZS9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy95Z2dpZS9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy95Z2dpZS9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMveWdnaWUvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy95Z2dpZS9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3lnZ2llL29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3lnZ2llL3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMveWdnaWUvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3lnZ2llL3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2UsImNvbnRyaWJ1dGlvbnMiOjU4NX0seyJsb2dpbiI6InNhbXByaXRpcGFuZGEiLCJpZCI6MTczNjAwMSwibm9kZV9pZCI6Ik1EUTZWWE5sY2pFM016WXdNREU9IiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNzM2MDAxP3Y9NCIsImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9zYW1wcml0aXBhbmRhIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vc2FtcHJpdGlwYW5kYSIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3NhbXByaXRpcGFuZGEvZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvc2FtcHJpdGlwYW5kYS9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9zYW1wcml0aXBhbmRhL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9zYW1wcml0aXBhbmRhL3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvc2FtcHJpdGlwYW5kYS9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3NhbXByaXRpcGFuZGEvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvc2FtcHJpdGlwYW5kYS9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3NhbXByaXRpcGFuZGEvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3NhbXByaXRpcGFuZGEvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6NDQ5fSx7ImxvZ2luIjoiZGVwZW5kYWJvdFtib3RdIiwiaWQiOjQ5Njk5MzMzLCJub2RlX2lkIjoiTURNNlFtOTBORGsyT1Rrek16TT0iLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS9pbi8yOTExMD92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGVwZW5kYWJvdCU1QmJvdCU1RCIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL2FwcHMvZGVwZW5kYWJvdCIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2RlcGVuZGFib3QlNUJib3QlNUQvZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGVwZW5kYWJvdCU1QmJvdCU1RC9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9kZXBlbmRhYm90JTVCYm90JTVEL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9kZXBlbmRhYm90JTVCYm90JTVEL3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGVwZW5kYWJvdCU1QmJvdCU1RC9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2RlcGVuZGFib3QlNUJib3QlNUQvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGVwZW5kYWJvdCU1QmJvdCU1RC9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2RlcGVuZGFib3QlNUJib3QlNUQvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2RlcGVuZGFib3QlNUJib3QlNUQvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IkJvdCIsInNpdGVfYWRtaW4iOmZhbHNlLCJjb250cmlidXRpb25zIjozODR9LHsibG9naW4iOiJ0YW5zYWt1IiwiaWQiOjMwMjE2LCJub2RlX2lkIjoiTURRNlZYTmxjak13TWpFMiIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMzAyMTY/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3RhbnNha3UiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS90YW5zYWt1IiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdGFuc2FrdS9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90YW5zYWt1L2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3RhbnNha3UvZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3RhbnNha3Uvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90YW5zYWt1L3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdGFuc2FrdS9vcmdzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90YW5zYWt1L3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdGFuc2FrdS9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdGFuc2FrdS9yZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVfYWRtaW4iOmZhbHNlLCJjb250cmlidXRpb25zIjozNjF9LHsibG9naW4iOiJZYXJvU3BhY2UiLCJpZCI6NTY3MDk0MCwibm9kZV9pZCI6Ik1EUTZWWE5sY2pVMk56QTVOREE9IiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS81NjcwOTQwP3Y9NCIsImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9ZYXJvU3BhY2UiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9ZYXJvU3BhY2UiLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9ZYXJvU3BhY2UvZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvWWFyb1NwYWNlL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1lhcm9TcGFjZS9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvWWFyb1NwYWNlL3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvWWFyb1NwYWNlL3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvWWFyb1NwYWNlL29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1lhcm9TcGFjZS9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1lhcm9TcGFjZS9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvWWFyb1NwYWNlL3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2UsImNvbnRyaWJ1dGlvbnMiOjMyM30seyJsb2dpbiI6ImRpcmF1bG8iLCJpZCI6NDAyODM3NCwibm9kZV9pZCI6Ik1EUTZWWE5sY2pRd01qZ3pOelE9IiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS80MDI4Mzc0P3Y9NCIsImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9kaXJhdWxvIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vZGlyYXVsbyIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2RpcmF1bG8vZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGlyYXVsby9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9kaXJhdWxvL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9kaXJhdWxvL3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGlyYXVsby9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2RpcmF1bG8vb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGlyYXVsby9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2RpcmF1bG8vZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2RpcmF1bG8vcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6MTk2fSx7ImxvZ2luIjoiY2hyaXN0b3BoZXJtbG5lIiwiaWQiOjEwMDc5ODEsIm5vZGVfaWQiOiJNRFE2VlhObGNqRXdNRGM1T0RFPSIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTAwNzk4MT92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvY2hyaXN0b3BoZXJtbG5lIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vY2hyaXN0b3BoZXJtbG5lIiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvY2hyaXN0b3BoZXJtbG5lL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2NocmlzdG9waGVybWxuZS9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jaHJpc3RvcGhlcm1sbmUvZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2NocmlzdG9waGVybWxuZS9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2NocmlzdG9waGVybWxuZS9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2NocmlzdG9waGVybWxuZS9vcmdzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jaHJpc3RvcGhlcm1sbmUvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jaHJpc3RvcGhlcm1sbmUvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2NocmlzdG9waGVybWxuZS9yZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVfYWRtaW4iOmZhbHNlLCJjb250cmlidXRpb25zIjoxMzV9LHsibG9naW4iOiJkZXBlbmRhYm90LXByZXZpZXdbYm90XSIsImlkIjoyNzg1NjI5Nywibm9kZV9pZCI6Ik1ETTZRbTkwTWpjNE5UWXlPVGM9IiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vaW4vMjE0MT92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGVwZW5kYWJvdC1wcmV2aWV3JTVCYm90JTVEIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vYXBwcy9kZXBlbmRhYm90LXByZXZpZXciLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9kZXBlbmRhYm90LXByZXZpZXclNUJib3QlNUQvZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGVwZW5kYWJvdC1wcmV2aWV3JTVCYm90JTVEL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2RlcGVuZGFib3QtcHJldmlldyU1QmJvdCU1RC9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGVwZW5kYWJvdC1wcmV2aWV3JTVCYm90JTVEL3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGVwZW5kYWJvdC1wcmV2aWV3JTVCYm90JTVEL3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGVwZW5kYWJvdC1wcmV2aWV3JTVCYm90JTVEL29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2RlcGVuZGFib3QtcHJldmlldyU1QmJvdCU1RC9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2RlcGVuZGFib3QtcHJldmlldyU1QmJvdCU1RC9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGVwZW5kYWJvdC1wcmV2aWV3JTVCYm90JTVEL3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJCb3QiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6MTM1fSx7ImxvZ2luIjoiYW9ub21pa2UiLCJpZCI6MTU0MzU0Niwibm9kZV9pZCI6Ik1EUTZWWE5sY2pFMU5ETTFORFk9IiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNTQzNTQ2P3Y9NCIsImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hb25vbWlrZSIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL2Fvbm9taWtlIiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYW9ub21pa2UvZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYW9ub21pa2UvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYW9ub21pa2UvZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2Fvbm9taWtlL3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYW9ub21pa2Uvc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hb25vbWlrZS9vcmdzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hb25vbWlrZS9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2Fvbm9taWtlL2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hb25vbWlrZS9yZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVfYWRtaW4iOmZhbHNlLCJjb250cmlidXRpb25zIjo5OH0seyJsb2dpbiI6Im1hcmlhbm1vc2xleSIsImlkIjoxMDMxNDgzLCJub2RlX2lkIjoiTURRNlZYTmxjakV3TXpFME9ETT0iLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzEwMzE0ODM/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL21hcmlhbm1vc2xleSIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL21hcmlhbm1vc2xleSIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL21hcmlhbm1vc2xleS9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9tYXJpYW5tb3NsZXkvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbWFyaWFubW9zbGV5L2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9tYXJpYW5tb3NsZXkvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9tYXJpYW5tb3NsZXkvc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9tYXJpYW5tb3NsZXkvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbWFyaWFubW9zbGV5L3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbWFyaWFubW9zbGV5L2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9tYXJpYW5tb3NsZXkvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6OTB9LHsibG9naW4iOiJkZWNhcmVhbm8iLCJpZCI6MzMzMjI0Niwibm9kZV9pZCI6Ik1EUTZWWE5sY2pNek16SXlORFk9IiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8zMzMyMjQ2P3Y9NCIsImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9kZWNhcmVhbm8iLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9kZWNhcmVhbm8iLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9kZWNhcmVhbm8vZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGVjYXJlYW5vL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2RlY2FyZWFuby9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGVjYXJlYW5vL3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGVjYXJlYW5vL3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGVjYXJlYW5vL29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2RlY2FyZWFuby9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2RlY2FyZWFuby9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGVjYXJlYW5vL3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2UsImNvbnRyaWJ1dGlvbnMiOjg1fSx7ImxvZ2luIjoibXRjMjAxMyIsImlkIjozOTA5OTE4LCJub2RlX2lkIjoiTURRNlZYTmxjak01TURrNU1UZz0iLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzM5MDk5MTg/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL210YzIwMTMiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9tdGMyMDEzIiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbXRjMjAxMy9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9tdGMyMDEzL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL210YzIwMTMvZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL210YzIwMTMvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9tdGMyMDEzL3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbXRjMjAxMy9vcmdzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9tdGMyMDEzL3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbXRjMjAxMy9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbXRjMjAxMy9yZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVfYWRtaW4iOmZhbHNlLCJjb250cmlidXRpb25zIjo2OX0seyJsb2dpbiI6Ik5pY2tTY2hpbWVrIiwiaWQiOjE5NTE5MzE3LCJub2RlX2lkIjoiTURRNlZYTmxjakU1TlRFNU16RTMiLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE5NTE5MzE3P3Y9NCIsImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9OaWNrU2NoaW1layIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL05pY2tTY2hpbWVrIiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvTmlja1NjaGltZWsvZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvTmlja1NjaGltZWsvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvTmlja1NjaGltZWsvZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL05pY2tTY2hpbWVrL3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvTmlja1NjaGltZWsvc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9OaWNrU2NoaW1lay9vcmdzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9OaWNrU2NoaW1lay9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL05pY2tTY2hpbWVrL2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9OaWNrU2NoaW1lay9yZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVfYWRtaW4iOmZhbHNlLCJjb250cmlidXRpb25zIjo1Nn0seyJsb2dpbiI6IlBldGVCb3VjaGVyIiwiaWQiOjEzNzg4NTMsIm5vZGVfaWQiOiJNRFE2VlhObGNqRXpOemc0TlRNPSIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTM3ODg1Mz92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvUGV0ZUJvdWNoZXIiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9QZXRlQm91Y2hlciIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1BldGVCb3VjaGVyL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1BldGVCb3VjaGVyL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1BldGVCb3VjaGVyL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9QZXRlQm91Y2hlci9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1BldGVCb3VjaGVyL3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvUGV0ZUJvdWNoZXIvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvUGV0ZUJvdWNoZXIvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9QZXRlQm91Y2hlci9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvUGV0ZUJvdWNoZXIvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6NTF9LHsibG9naW4iOiJqb2hubnltbzg3IiwiaWQiOjM0NjY0OTksIm5vZGVfaWQiOiJNRFE2VlhObGNqTTBOalkwT1RrPSIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMzQ2NjQ5OT92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvam9obm55bW84NyIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL2pvaG5ueW1vODciLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9qb2hubnltbzg3L2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2pvaG5ueW1vODcvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvam9obm55bW84Ny9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvam9obm55bW84Ny9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2pvaG5ueW1vODcvc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9qb2hubnltbzg3L29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2pvaG5ueW1vODcvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9qb2hubnltbzg3L2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9qb2hubnltbzg3L3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2UsImNvbnRyaWJ1dGlvbnMiOjUxfSx7ImxvZ2luIjoibmlzZXZpIiwiaWQiOjMwMjQ3ODksIm5vZGVfaWQiOiJNRFE2VlhObGNqTXdNalEzT0RrPSIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMzAyNDc4OT92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbmlzZXZpIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vbmlzZXZpIiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbmlzZXZpL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL25pc2V2aS9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9uaXNldmkvZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL25pc2V2aS9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL25pc2V2aS9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL25pc2V2aS9vcmdzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9uaXNldmkvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9uaXNldmkvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL25pc2V2aS9yZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVfYWRtaW4iOmZhbHNlLCJjb250cmlidXRpb25zIjo0OH0seyJsb2dpbiI6ImFsZWphbmRyb2JhYmlvIiwiaWQiOjE1ODE2NDksIm5vZGVfaWQiOiJNRFE2VlhObGNqRTFPREUyTkRrPSIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTU4MTY0OT92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYWxlamFuZHJvYmFiaW8iLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9hbGVqYW5kcm9iYWJpbyIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2FsZWphbmRyb2JhYmlvL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2FsZWphbmRyb2JhYmlvL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2FsZWphbmRyb2JhYmlvL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hbGVqYW5kcm9iYWJpby9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2FsZWphbmRyb2JhYmlvL3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYWxlamFuZHJvYmFiaW8vb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYWxlamFuZHJvYmFiaW8vcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hbGVqYW5kcm9iYWJpby9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYWxlamFuZHJvYmFiaW8vcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6NDJ9LHsibG9naW4iOiJtYXR0d3IxOCIsImlkIjoyNjk0MzkxNSwibm9kZV9pZCI6Ik1EUTZWWE5sY2pJMk9UUXpPVEUxIiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8yNjk0MzkxNT92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbWF0dHdyMTgiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9tYXR0d3IxOCIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL21hdHR3cjE4L2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL21hdHR3cjE4L2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL21hdHR3cjE4L2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9tYXR0d3IxOC9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL21hdHR3cjE4L3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbWF0dHdyMTgvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbWF0dHdyMTgvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9tYXR0d3IxOC9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbWF0dHdyMTgvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6Mzh9LHsibG9naW4iOiJjb2RkZXlzIiwiaWQiOjQxOTgyOTQsIm5vZGVfaWQiOiJNRFE2VlhObGNqUXhPVGd5T1RRPSIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNDE5ODI5ND92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvY29kZGV5cyIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL2NvZGRleXMiLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jb2RkZXlzL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2NvZGRleXMvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvY29kZGV5cy9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvY29kZGV5cy9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2NvZGRleXMvc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jb2RkZXlzL29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2NvZGRleXMvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jb2RkZXlzL2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jb2RkZXlzL3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2UsImNvbnRyaWJ1dGlvbnMiOjM0fSx7ImxvZ2luIjoiam9uLWVuZ2VsYmVydCIsImlkIjo2MzQzMTEzLCJub2RlX2lkIjoiTURRNlZYTmxjall6TkRNeE1UTT0iLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzYzNDMxMTM/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2pvbi1lbmdlbGJlcnQiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9qb24tZW5nZWxiZXJ0IiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvam9uLWVuZ2VsYmVydC9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9qb24tZW5nZWxiZXJ0L2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2pvbi1lbmdlbGJlcnQvZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2pvbi1lbmdlbGJlcnQvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9qb24tZW5nZWxiZXJ0L3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvam9uLWVuZ2VsYmVydC9vcmdzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9qb24tZW5nZWxiZXJ0L3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvam9uLWVuZ2VsYmVydC9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvam9uLWVuZ2VsYmVydC9yZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVfYWRtaW4iOmZhbHNlLCJjb250cmlidXRpb25zIjozNH0seyJsb2dpbiI6InRlY2hzYWlsb3IiLCJpZCI6OTY3Nzc0LCJub2RlX2lkIjoiTURRNlZYTmxjamsyTnpjM05BPT0iLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91Lzk2Nzc3ND92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdGVjaHNhaWxvciIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL3RlY2hzYWlsb3IiLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90ZWNoc2FpbG9yL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3RlY2hzYWlsb3IvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdGVjaHNhaWxvci9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdGVjaHNhaWxvci9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3RlY2hzYWlsb3Ivc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90ZWNoc2FpbG9yL29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3RlY2hzYWlsb3IvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90ZWNoc2FpbG9yL2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90ZWNoc2FpbG9yL3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2UsImNvbnRyaWJ1dGlvbnMiOjMwfSx7ImxvZ2luIjoibm9yYmVydHN6aXZvcyIsImlkIjoxNjQ3ODMxLCJub2RlX2lkIjoiTURRNlZYTmxjakUyTkRjNE16RT0iLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE2NDc4MzE/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL25vcmJlcnRzeml2b3MiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9ub3JiZXJ0c3ppdm9zIiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbm9yYmVydHN6aXZvcy9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9ub3JiZXJ0c3ppdm9zL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL25vcmJlcnRzeml2b3MvZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL25vcmJlcnRzeml2b3Mvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9ub3JiZXJ0c3ppdm9zL3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbm9yYmVydHN6aXZvcy9vcmdzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9ub3JiZXJ0c3ppdm9zL3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbm9yYmVydHN6aXZvcy9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbm9yYmVydHN6aXZvcy9yZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVfYWRtaW4iOmZhbHNlLCJjb250cmlidXRpb25zIjoyOX0seyJsb2dpbiI6ImRhbm55YnVzaW5lc3MiLCJpZCI6MTczMTE5Niwibm9kZV9pZCI6Ik1EUTZWWE5sY2pFM016RXhPVFk9IiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNzMxMTk2P3Y9NCIsImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9kYW5ueWJ1c2luZXNzIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vZGFubnlidXNpbmVzcyIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2Rhbm55YnVzaW5lc3MvZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGFubnlidXNpbmVzcy9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9kYW5ueWJ1c2luZXNzL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9kYW5ueWJ1c2luZXNzL3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGFubnlidXNpbmVzcy9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2Rhbm55YnVzaW5lc3Mvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGFubnlidXNpbmVzcy9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2Rhbm55YnVzaW5lc3MvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2Rhbm55YnVzaW5lc3MvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6Mjh9LHsiZW1haWwiOiJzdmV0b3NsYXZAbWV0YWlkZWFzLmJnIiwibmFtZSI6ImJldGFzdmUiLCJ0eXBlIjoiQW5vbnltb3VzIiwiY29udHJpYnV0aW9ucyI6Mjh9LHsiZW1haWwiOiJ0aG9tYXNAbmVjZWJvLnNlIiwibmFtZSI6IlRob21hcyBPY2htYW4iLCJ0eXBlIjoiQW5vbnltb3VzIiwiY29udHJpYnV0aW9ucyI6Mjd9LHsibG9naW4iOiJtYXR0bGluZHNleSIsImlkIjo1NjM4MzM5LCJub2RlX2lkIjoiTURRNlZYTmxjalUyTXpnek16az0iLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzU2MzgzMzk/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL21hdHRsaW5kc2V5IiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vbWF0dGxpbmRzZXkiLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9tYXR0bGluZHNleS9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9tYXR0bGluZHNleS9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9tYXR0bGluZHNleS9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbWF0dGxpbmRzZXkvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9tYXR0bGluZHNleS9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL21hdHRsaW5kc2V5L29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL21hdHRsaW5kc2V5L3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbWF0dGxpbmRzZXkvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL21hdHRsaW5kc2V5L3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2UsImNvbnRyaWJ1dGlvbnMiOjI2fSx7ImxvZ2luIjoiZXJwZSIsImlkIjo0ODk5Niwibm9kZV9pZCI6Ik1EUTZWWE5sY2pRNE9UazIiLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzQ4OTk2P3Y9NCIsImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9lcnBlIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vZXJwZSIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2VycGUvZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZXJwZS9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9lcnBlL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9lcnBlL3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZXJwZS9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2VycGUvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZXJwZS9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2VycGUvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2VycGUvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6MjZ9LHsibG9naW4iOiJhYmRlbGxhbmkiLCJpZCI6MTYxMTM5OTcsIm5vZGVfaWQiOiJNRFE2VlhObGNqRTJNVEV6T1RrMyIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTYxMTM5OTc/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2FiZGVsbGFuaSIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL2FiZGVsbGFuaSIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2FiZGVsbGFuaS9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hYmRlbGxhbmkvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYWJkZWxsYW5pL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hYmRlbGxhbmkvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hYmRlbGxhbmkvc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hYmRlbGxhbmkvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYWJkZWxsYW5pL3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYWJkZWxsYW5pL2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hYmRlbGxhbmkvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6MjR9LHsibG9naW4iOiJzaWRoZW5lIiwiaWQiOjk0OTEwLCJub2RlX2lkIjoiTURRNlZYTmxjamswT1RFdyIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvOTQ5MTA/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3NpZGhlbmUiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9zaWRoZW5lIiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvc2lkaGVuZS9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9zaWRoZW5lL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3NpZGhlbmUvZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3NpZGhlbmUvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9zaWRoZW5lL3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvc2lkaGVuZS9vcmdzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9zaWRoZW5lL3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvc2lkaGVuZS9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvc2lkaGVuZS9yZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVfYWRtaW4iOmZhbHNlLCJjb250cmlidXRpb25zIjoyMn0seyJsb2dpbiI6Ik5pa2l0YUF2dmFrdW1vdiIsImlkIjo1MDI5NDAzLCJub2RlX2lkIjoiTURRNlZYTmxjalV3TWprME1ETT0iLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzUwMjk0MDM/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL05pa2l0YUF2dmFrdW1vdiIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL05pa2l0YUF2dmFrdW1vdiIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL05pa2l0YUF2dmFrdW1vdi9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9OaWtpdGFBdnZha3Vtb3YvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvTmlraXRhQXZ2YWt1bW92L2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9OaWtpdGFBdnZha3Vtb3Yvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9OaWtpdGFBdnZha3Vtb3Yvc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9OaWtpdGFBdnZha3Vtb3Yvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvTmlraXRhQXZ2YWt1bW92L3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvTmlraXRhQXZ2YWt1bW92L2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9OaWtpdGFBdnZha3Vtb3YvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6MTh9LHsibG9naW4iOiJjb3JlZCIsImlkIjoxMTcxOSwibm9kZV9pZCI6Ik1EUTZWWE5sY2pFeE56RTUiLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzExNzE5P3Y9NCIsImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jb3JlZCIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL2NvcmVkIiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvY29yZWQvZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvY29yZWQvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvY29yZWQvZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2NvcmVkL3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvY29yZWQvc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jb3JlZC9vcmdzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jb3JlZC9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2NvcmVkL2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jb3JlZC9yZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVfYWRtaW4iOmZhbHNlLCJjb250cmlidXRpb25zIjoxOH0seyJsb2dpbiI6IkFyZXBvIiwiaWQiOjExODU3NjAsIm5vZGVfaWQiOiJNRFE2VlhObGNqRXhPRFUzTmpBPSIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTE4NTc2MD92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvQXJlcG8iLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9BcmVwbyIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0FyZXBvL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0FyZXBvL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0FyZXBvL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9BcmVwby9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0FyZXBvL3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvQXJlcG8vb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvQXJlcG8vcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9BcmVwby9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvQXJlcG8vcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6MTh9LHsiZW1haWwiOiJ0aG9tYXNAbmVjZWJvLnNlIiwibmFtZSI6InRvY2htYW4iLCJ0eXBlIjoiQW5vbnltb3VzIiwiY29udHJpYnV0aW9ucyI6MTV9LHsiZW1haWwiOiJtYXJpYW0yYWMxQGdtYWlsLmNvbSIsIm5hbWUiOiJNYXJpYW0gQWhodHRvdWNoZSIsInR5cGUiOiJBbm9ueW1vdXMiLCJjb250cmlidXRpb25zIjoxNH0seyJlbWFpbCI6InRvbnlAdG9ueXMtbWFjYm9vay1wcm8ubG9jYWwiLCJuYW1lIjoiVG9ueSBCdXRsZXIiLCJ0eXBlIjoiQW5vbnltb3VzIiwiY29udHJpYnV0aW9ucyI6MTN9LHsibG9naW4iOiJtYWNoMTAxMCIsImlkIjo1NjAwNTYwLCJub2RlX2lkIjoiTURRNlZYTmxjalUyTURBMU5qQT0iLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzU2MDA1NjA/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL21hY2gxMDEwIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vbWFjaDEwMTAiLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9tYWNoMTAxMC9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9tYWNoMTAxMC9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9tYWNoMTAxMC9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbWFjaDEwMTAvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9tYWNoMTAxMC9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL21hY2gxMDEwL29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL21hY2gxMDEwL3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbWFjaDEwMTAvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL21hY2gxMDEwL3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2UsImNvbnRyaWJ1dGlvbnMiOjEzfSx7ImxvZ2luIjoibG9rZXNoaCIsImlkIjo3Njc3NTI0LCJub2RlX2lkIjoiTURRNlZYTmxjamMyTnpjMU1qUT0iLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91Lzc2Nzc1MjQ/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xva2VzaGgiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9sb2tlc2hoIiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbG9rZXNoaC9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sb2tlc2hoL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xva2VzaGgvZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xva2VzaGgvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sb2tlc2hoL3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbG9rZXNoaC9vcmdzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sb2tlc2hoL3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbG9rZXNoaC9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbG9rZXNoaC9yZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVfYWRtaW4iOmZhbHNlLCJjb250cmlidXRpb25zIjoxMn0seyJlbWFpbCI6Im1hcmNlbG9AbWFyY2Vsb3MtbWFjYm9vay1wcm8ubG9jYWwiLCJuYW1lIjoiTWFyY2VsbyBHb2JlbGxpIiwidHlwZSI6IkFub255bW91cyIsImNvbnRyaWJ1dGlvbnMiOjEyfSx7ImxvZ2luIjoiYXBlbGFkZSIsImlkIjoxODkxMTg2LCJub2RlX2lkIjoiTURRNlZYTmxjakU0T1RFeE9EWT0iLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE4OTExODY/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2FwZWxhZGUiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9hcGVsYWRlIiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYXBlbGFkZS9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hcGVsYWRlL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2FwZWxhZGUvZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2FwZWxhZGUvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hcGVsYWRlL3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYXBlbGFkZS9vcmdzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hcGVsYWRlL3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYXBlbGFkZS9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYXBlbGFkZS9yZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVfYWRtaW4iOmZhbHNlLCJjb250cmlidXRpb25zIjoxMn0seyJsb2dpbiI6IlBhdmVsR2ltZWxiZXJnIiwiaWQiOjYwMTE4OTQsIm5vZGVfaWQiOiJNRFE2VlhObGNqWXdNVEU0T1RRPSIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNjAxMTg5ND92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvUGF2ZWxHaW1lbGJlcmciLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9QYXZlbEdpbWVsYmVyZyIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1BhdmVsR2ltZWxiZXJnL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1BhdmVsR2ltZWxiZXJnL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1BhdmVsR2ltZWxiZXJnL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9QYXZlbEdpbWVsYmVyZy9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1BhdmVsR2ltZWxiZXJnL3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvUGF2ZWxHaW1lbGJlcmcvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvUGF2ZWxHaW1lbGJlcmcvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9QYXZlbEdpbWVsYmVyZy9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvUGF2ZWxHaW1lbGJlcmcvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6MTJ9LHsibG9naW4iOiJka3VrdSIsImlkIjo5MDQxNzksIm5vZGVfaWQiOiJNRFE2VlhObGNqa3dOREUzT1E9PSIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvOTA0MTc5P3Y9NCIsImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9ka3VrdSIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL2RrdWt1IiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGt1a3UvZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGt1a3UvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGt1a3UvZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2RrdWt1L3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGt1a3Uvc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9ka3VrdS9vcmdzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9ka3VrdS9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2RrdWt1L2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9ka3VrdS9yZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVfYWRtaW4iOmZhbHNlLCJjb250cmlidXRpb25zIjoxMX0seyJlbWFpbCI6ImFjaG9ja0B1c2Vycy5ub3JlcGx5LmNvbSIsIm5hbWUiOiJjaG9jayIsInR5cGUiOiJBbm9ueW1vdXMiLCJjb250cmlidXRpb25zIjoxMH0seyJsb2dpbiI6Ikhlc3MzMDAwIiwiaWQiOjQ3NTIyNDEsIm5vZGVfaWQiOiJNRFE2VlhObGNqUTNOVEl5TkRFPSIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNDc1MjI0MT92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvSGVzczMwMDAiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9IZXNzMzAwMCIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0hlc3MzMDAwL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0hlc3MzMDAwL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0hlc3MzMDAwL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9IZXNzMzAwMC9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0hlc3MzMDAwL3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvSGVzczMwMDAvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvSGVzczMwMDAvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9IZXNzMzAwMC9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvSGVzczMwMDAvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6MTB9LHsibG9naW4iOiJxcGlhcyIsImlkIjoxMDAzNDI2LCJub2RlX2lkIjoiTURRNlZYTmxjakV3TURNME1qWT0iLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzEwMDM0MjY/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3FwaWFzIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vcXBpYXMiLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9xcGlhcy9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9xcGlhcy9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9xcGlhcy9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvcXBpYXMvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9xcGlhcy9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3FwaWFzL29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3FwaWFzL3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvcXBpYXMvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3FwaWFzL3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2UsImNvbnRyaWJ1dGlvbnMiOjl9LHsibG9naW4iOiJ0b3VjaHBzIiwiaWQiOjEzMTc4NzAsIm5vZGVfaWQiOiJNRFE2VlhObGNqRXpNVGM0TnpBPSIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTMxNzg3MD92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdG91Y2hwcyIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL3RvdWNocHMiLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90b3VjaHBzL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3RvdWNocHMvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdG91Y2hwcy9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdG91Y2hwcy9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3RvdWNocHMvc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90b3VjaHBzL29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3RvdWNocHMvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90b3VjaHBzL2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90b3VjaHBzL3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2UsImNvbnRyaWJ1dGlvbnMiOjl9LHsibG9naW4iOiJ5b3NlZmJlbm55d2lkeW8iLCJpZCI6MTc1MzYwMDEsIm5vZGVfaWQiOiJNRFE2VlhObGNqRTNOVE0yTURBeCIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTc1MzYwMDE/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3lvc2VmYmVubnl3aWR5byIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL3lvc2VmYmVubnl3aWR5byIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3lvc2VmYmVubnl3aWR5by9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy95b3NlZmJlbm55d2lkeW8vZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMveW9zZWZiZW5ueXdpZHlvL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy95b3NlZmJlbm55d2lkeW8vc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy95b3NlZmJlbm55d2lkeW8vc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy95b3NlZmJlbm55d2lkeW8vb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMveW9zZWZiZW5ueXdpZHlvL3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMveW9zZWZiZW5ueXdpZHlvL2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy95b3NlZmJlbm55d2lkeW8vcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6OX0seyJsb2dpbiI6ImNvbG9yYWRvYnVtIiwiaWQiOjI4MjY5LCJub2RlX2lkIjoiTURRNlZYTmxjakk0TWpZNSIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMjgyNjk/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2NvbG9yYWRvYnVtIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vY29sb3JhZG9idW0iLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jb2xvcmFkb2J1bS9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jb2xvcmFkb2J1bS9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jb2xvcmFkb2J1bS9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvY29sb3JhZG9idW0vc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jb2xvcmFkb2J1bS9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2NvbG9yYWRvYnVtL29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2NvbG9yYWRvYnVtL3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvY29sb3JhZG9idW0vZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2NvbG9yYWRvYnVtL3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2UsImNvbnRyaWJ1dGlvbnMiOjl9LHsibG9naW4iOiJSY1NtaXRoIiwiaWQiOjU5OTUxNTEsIm5vZGVfaWQiOiJNRFE2VlhObGNqVTVPVFV4TlRFPSIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNTk5NTE1MT92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvUmNTbWl0aCIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL1JjU21pdGgiLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9SY1NtaXRoL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1JjU21pdGgvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvUmNTbWl0aC9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvUmNTbWl0aC9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1JjU21pdGgvc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9SY1NtaXRoL29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1JjU21pdGgvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9SY1NtaXRoL2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9SY1NtaXRoL3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2UsImNvbnRyaWJ1dGlvbnMiOjh9LHsibG9naW4iOiJmcmVlcmFuZ2VyIiwiaWQiOjE0MDEwNjksIm5vZGVfaWQiOiJNRFE2VlhObGNqRTBNREV3TmprPSIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTQwMTA2OT92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZnJlZXJhbmdlciIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL2ZyZWVyYW5nZXIiLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9mcmVlcmFuZ2VyL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2ZyZWVyYW5nZXIvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZnJlZXJhbmdlci9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZnJlZXJhbmdlci9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2ZyZWVyYW5nZXIvc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9mcmVlcmFuZ2VyL29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2ZyZWVyYW5nZXIvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9mcmVlcmFuZ2VyL2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9mcmVlcmFuZ2VyL3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2UsImNvbnRyaWJ1dGlvbnMiOjd9LHsibG9naW4iOiJjbGVtZW50a25nIiwiaWQiOjI0MTk3MDkyLCJub2RlX2lkIjoiTURRNlZYTmxjakkwTVRrM01Ea3kiLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzI0MTk3MDkyP3Y9NCIsImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jbGVtZW50a25nIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vY2xlbWVudGtuZyIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2NsZW1lbnRrbmcvZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvY2xlbWVudGtuZy9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jbGVtZW50a25nL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jbGVtZW50a25nL3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvY2xlbWVudGtuZy9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2NsZW1lbnRrbmcvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvY2xlbWVudGtuZy9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2NsZW1lbnRrbmcvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2NsZW1lbnRrbmcvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6Nn0seyJsb2dpbiI6ImMxNTA1IiwiaWQiOjY1OTkwNzcsIm5vZGVfaWQiOiJNRFE2VlhObGNqWTFPVGt3TnpjPSIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNjU5OTA3Nz92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYzE1MDUiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9jMTUwNSIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2MxNTA1L2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2MxNTA1L2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2MxNTA1L2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jMTUwNS9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2MxNTA1L3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYzE1MDUvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYzE1MDUvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jMTUwNS9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYzE1MDUvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6Nn0seyJsb2dpbiI6ImRhbHVwdXMiLCJpZCI6ODA2NDU4LCJub2RlX2lkIjoiTURRNlZYTmxjamd3TmpRMU9BPT0iLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzgwNjQ1OD92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGFsdXB1cyIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL2RhbHVwdXMiLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9kYWx1cHVzL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2RhbHVwdXMvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGFsdXB1cy9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGFsdXB1cy9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2RhbHVwdXMvc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9kYWx1cHVzL29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2RhbHVwdXMvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9kYWx1cHVzL2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9kYWx1cHVzL3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2UsImNvbnRyaWJ1dGlvbnMiOjZ9LHsibG9naW4iOiJqZXRocjBudWxsIiwiaWQiOjIxMTk3NDEsIm5vZGVfaWQiOiJNRFE2VlhObGNqSXhNVGszTkRFPSIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMjExOTc0MT92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvamV0aHIwbnVsbCIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL2pldGhyMG51bGwiLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9qZXRocjBudWxsL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2pldGhyMG51bGwvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvamV0aHIwbnVsbC9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvamV0aHIwbnVsbC9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2pldGhyMG51bGwvc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9qZXRocjBudWxsL29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2pldGhyMG51bGwvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9qZXRocjBudWxsL2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9qZXRocjBudWxsL3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2UsImNvbnRyaWJ1dGlvbnMiOjZ9LHsiZW1haWwiOiJwaW90ckBrZWR6aWEuZXUiLCJuYW1lIjoiUGlvdHIgS2VkemlhIiwidHlwZSI6IkFub255bW91cyIsImNvbnRyaWJ1dGlvbnMiOjZ9LHsibG9naW4iOiJrdW5rczAwMSIsImlkIjozOTQ5NjMwLCJub2RlX2lkIjoiTURRNlZYTmxjak01TkRrMk16QT0iLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzM5NDk2MzA/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2t1bmtzMDAxIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20va3Vua3MwMDEiLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9rdW5rczAwMS9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9rdW5rczAwMS9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9rdW5rczAwMS9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMva3Vua3MwMDEvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9rdW5rczAwMS9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2t1bmtzMDAxL29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2t1bmtzMDAxL3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMva3Vua3MwMDEvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2t1bmtzMDAxL3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2UsImNvbnRyaWJ1dGlvbnMiOjZ9LHsibG9naW4iOiJhbGV4YW5kZXIta2giLCJpZCI6MTk2MDY4ODUsIm5vZGVfaWQiOiJNRFE2VlhObGNqRTVOakEyT0RnMSIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTk2MDY4ODU/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2FsZXhhbmRlci1raCIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL2FsZXhhbmRlci1raCIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2FsZXhhbmRlci1raC9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hbGV4YW5kZXIta2gvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYWxleGFuZGVyLWtoL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hbGV4YW5kZXIta2gvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hbGV4YW5kZXIta2gvc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hbGV4YW5kZXIta2gvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYWxleGFuZGVyLWtoL3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYWxleGFuZGVyLWtoL2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hbGV4YW5kZXIta2gvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6NX0seyJsb2dpbiI6IlB1cml0eUNvbnRyb2wiLCJpZCI6NzUwOTE4MCwibm9kZV9pZCI6Ik1EUTZWWE5sY2pjMU1Ea3hPREE9IiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS83NTA5MTgwP3Y9NCIsImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9QdXJpdHlDb250cm9sIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vUHVyaXR5Q29udHJvbCIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1B1cml0eUNvbnRyb2wvZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvUHVyaXR5Q29udHJvbC9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9QdXJpdHlDb250cm9sL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9QdXJpdHlDb250cm9sL3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvUHVyaXR5Q29udHJvbC9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1B1cml0eUNvbnRyb2wvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvUHVyaXR5Q29udHJvbC9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1B1cml0eUNvbnRyb2wvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1B1cml0eUNvbnRyb2wvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6NX0seyJsb2dpbiI6ImRjb3JraW5nIiwiaWQiOjI4MTMzNTcsIm5vZGVfaWQiOiJNRFE2VlhObGNqSTRNVE16TlRjPSIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMjgxMzM1Nz92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGNvcmtpbmciLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9kY29ya2luZyIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2Rjb3JraW5nL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2Rjb3JraW5nL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2Rjb3JraW5nL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9kY29ya2luZy9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2Rjb3JraW5nL3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGNvcmtpbmcvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGNvcmtpbmcvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9kY29ya2luZy9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZGNvcmtpbmcvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6NX0seyJsb2dpbiI6InBpb3Rya2VkemlhIiwiaWQiOjg0MjE5MjksIm5vZGVfaWQiOiJNRFE2VlhObGNqZzBNakU1TWprPSIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvODQyMTkyOT92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvcGlvdHJrZWR6aWEiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9waW90cmtlZHppYSIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3Bpb3Rya2VkemlhL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3Bpb3Rya2VkemlhL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3Bpb3Rya2VkemlhL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9waW90cmtlZHppYS9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3Bpb3Rya2VkemlhL3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvcGlvdHJrZWR6aWEvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvcGlvdHJrZWR6aWEvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9waW90cmtlZHppYS9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvcGlvdHJrZWR6aWEvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6NX0seyJsb2dpbiI6InByYXZlZW5kaGF3YW4iLCJpZCI6MTI5NDg5MDYsIm5vZGVfaWQiOiJNRFE2VlhObGNqRXlPVFE0T1RBMiIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTI5NDg5MDY/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3ByYXZlZW5kaGF3YW4iLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9wcmF2ZWVuZGhhd2FuIiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvcHJhdmVlbmRoYXdhbi9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9wcmF2ZWVuZGhhd2FuL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3ByYXZlZW5kaGF3YW4vZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3ByYXZlZW5kaGF3YW4vc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9wcmF2ZWVuZGhhd2FuL3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvcHJhdmVlbmRoYXdhbi9vcmdzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9wcmF2ZWVuZGhhd2FuL3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvcHJhdmVlbmRoYXdhbi9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvcHJhdmVlbmRoYXdhbi9yZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVfYWRtaW4iOmZhbHNlLCJjb250cmlidXRpb25zIjo1fSx7ImxvZ2luIjoidGhlQm95TW8iLCJpZCI6NTgzMzEyMCwibm9kZV9pZCI6Ik1EUTZWWE5sY2pVNE16TXhNakE9IiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS81ODMzMTIwP3Y9NCIsImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90aGVCb3lNbyIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL3RoZUJveU1vIiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdGhlQm95TW8vZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdGhlQm95TW8vZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdGhlQm95TW8vZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3RoZUJveU1vL3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdGhlQm95TW8vc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90aGVCb3lNby9vcmdzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90aGVCb3lNby9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3RoZUJveU1vL2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90aGVCb3lNby9yZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVfYWRtaW4iOmZhbHNlLCJjb250cmlidXRpb25zIjo0fSx7ImxvZ2luIjoic2lndSIsImlkIjo1ODQyMTEsIm5vZGVfaWQiOiJNRFE2VlhObGNqVTROREl4TVE9PSIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNTg0MjExP3Y9NCIsImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9zaWd1IiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vc2lndSIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3NpZ3UvZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvc2lndS9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9zaWd1L2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9zaWd1L3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvc2lndS9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3NpZ3Uvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvc2lndS9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3NpZ3UvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3NpZ3UvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6NH0seyJlbWFpbCI6ImJyeWFuLnlhcEBhbGxpYW50cy5jb20iLCJuYW1lIjoiQnJ5YW4gWWFwIiwidHlwZSI6IkFub255bW91cyIsImNvbnRyaWJ1dGlvbnMiOjN9LHsibG9naW4iOiJjZXNzd2FpcmltdSIsImlkIjoxNzA4MTA3NCwibm9kZV9pZCI6Ik1EUTZWWE5sY2pFM01EZ3hNRGMwIiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNzA4MTA3ND92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvY2Vzc3dhaXJpbXUiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9jZXNzd2FpcmltdSIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2Nlc3N3YWlyaW11L2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2Nlc3N3YWlyaW11L2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2Nlc3N3YWlyaW11L2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jZXNzd2FpcmltdS9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2Nlc3N3YWlyaW11L3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvY2Vzc3dhaXJpbXUvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvY2Vzc3dhaXJpbXUvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jZXNzd2FpcmltdS9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvY2Vzc3dhaXJpbXUvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6M30seyJsb2dpbiI6IkRhbmllbHNob3ciLCJpZCI6MjQ4NDY1MTMsIm5vZGVfaWQiOiJNRFE2VlhObGNqSTBPRFEyTlRFeiIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMjQ4NDY1MTM/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0RhbmllbHNob3ciLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9EYW5pZWxzaG93IiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvRGFuaWVsc2hvdy9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9EYW5pZWxzaG93L2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0RhbmllbHNob3cvZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0RhbmllbHNob3cvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9EYW5pZWxzaG93L3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvRGFuaWVsc2hvdy9vcmdzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9EYW5pZWxzaG93L3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvRGFuaWVsc2hvdy9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvRGFuaWVsc2hvdy9yZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVfYWRtaW4iOmZhbHNlLCJjb250cmlidXRpb25zIjozfSx7ImxvZ2luIjoiRWxpc2FSbXoiLCJpZCI6MjU5NTIwNjYsIm5vZGVfaWQiOiJNRFE2VlhObGNqSTFPVFV5TURZMiIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMjU5NTIwNjY/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0VsaXNhUm16IiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vRWxpc2FSbXoiLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9FbGlzYVJtei9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9FbGlzYVJtei9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9FbGlzYVJtei9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvRWxpc2FSbXovc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9FbGlzYVJtei9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0VsaXNhUm16L29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0VsaXNhUm16L3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvRWxpc2FSbXovZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0VsaXNhUm16L3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2UsImNvbnRyaWJ1dGlvbnMiOjN9LHsibG9naW4iOiJGZWRlcmljb0VzcGFyemEiLCJpZCI6MTE5ODgwODksIm5vZGVfaWQiOiJNRFE2VlhObGNqRXhPVGc0TURnNSIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMTE5ODgwODk/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0ZlZGVyaWNvRXNwYXJ6YSIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL0ZlZGVyaWNvRXNwYXJ6YSIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0ZlZGVyaWNvRXNwYXJ6YS9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9GZWRlcmljb0VzcGFyemEvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvRmVkZXJpY29Fc3BhcnphL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9GZWRlcmljb0VzcGFyemEvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9GZWRlcmljb0VzcGFyemEvc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9GZWRlcmljb0VzcGFyemEvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvRmVkZXJpY29Fc3BhcnphL3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvRmVkZXJpY29Fc3BhcnphL2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9GZWRlcmljb0VzcGFyemEvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6M30seyJlbWFpbCI6ImlzbWFlbEBpc21hZWwtbGFwdG9wLihub25lKSIsIm5hbWUiOiJJc21hZWwiLCJ0eXBlIjoiQW5vbnltb3VzIiwiY29udHJpYnV0aW9ucyI6M30seyJsb2dpbiI6Ik1hcm9vLWIiLCJpZCI6NzEyODk3Miwibm9kZV9pZCI6Ik1EUTZWWE5sY2pjeE1qZzVOekk9IiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS83MTI4OTcyP3Y9NCIsImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9NYXJvby1iIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vTWFyb28tYiIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL01hcm9vLWIvZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvTWFyb28tYi9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9NYXJvby1iL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9NYXJvby1iL3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvTWFyb28tYi9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL01hcm9vLWIvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvTWFyb28tYi9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL01hcm9vLWIvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL01hcm9vLWIvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6M30seyJsb2dpbiI6Im5pdGlzaG1hZGh1a2FyIiwiaWQiOjc3NzcwMzgsIm5vZGVfaWQiOiJNRFE2VlhObGNqYzNOemN3TXpnPSIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvNzc3NzAzOD92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbml0aXNobWFkaHVrYXIiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9uaXRpc2htYWRodWthciIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL25pdGlzaG1hZGh1a2FyL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL25pdGlzaG1hZGh1a2FyL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL25pdGlzaG1hZGh1a2FyL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9uaXRpc2htYWRodWthci9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL25pdGlzaG1hZGh1a2FyL3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbml0aXNobWFkaHVrYXIvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbml0aXNobWFkaHVrYXIvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9uaXRpc2htYWRodWthci9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbml0aXNobWFkaHVrYXIvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6M30seyJsb2dpbiI6ImFjaG9jayIsImlkIjoyMzYzMTQ2LCJub2RlX2lkIjoiTURRNlZYTmxjakl6TmpNeE5EWT0iLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzIzNjMxNDY/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2FjaG9jayIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL2FjaG9jayIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2FjaG9jay9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hY2hvY2svZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYWNob2NrL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hY2hvY2svc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hY2hvY2svc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hY2hvY2svb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYWNob2NrL3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYWNob2NrL2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hY2hvY2svcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6M30seyJlbWFpbCI6Im1hcmNlbG9AbWFyY2Vsb3MtbWFjYm9vay1wcm8ubG9jYWwiLCJuYW1lIjoiZGVjYXJlYW5vIiwidHlwZSI6IkFub255bW91cyIsImNvbnRyaWJ1dGlvbnMiOjN9LHsibG9naW4iOiJtYXJ5YW0yMSIsImlkIjoxNzIyNTEwMywibm9kZV9pZCI6Ik1EUTZWWE5sY2pFM01qSTFNVEF6IiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNzIyNTEwMz92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbWFyeWFtMjEiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9tYXJ5YW0yMSIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL21hcnlhbTIxL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL21hcnlhbTIxL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL21hcnlhbTIxL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9tYXJ5YW0yMS9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL21hcnlhbTIxL3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbWFyeWFtMjEvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbWFyeWFtMjEvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9tYXJ5YW0yMS9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbWFyeWFtMjEvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6M30seyJlbWFpbCI6InNhYXNib29rQHNhYXNib29rLihub25lKSIsIm5hbWUiOiJzYWFzYm9vayIsInR5cGUiOiJBbm9ueW1vdXMiLCJjb250cmlidXRpb25zIjozfSx7ImVtYWlsIjoiYW50b255ZGVueWVyQGdtYWlsLmNvbSIsIm5hbWUiOiJBbnRvbnkgRGVueWVyIiwidHlwZSI6IkFub255bW91cyIsImNvbnRyaWJ1dGlvbnMiOjJ9LHsibG9naW4iOiJiY2IzNyIsImlkIjozODg1Njg3LCJub2RlX2lkIjoiTURRNlZYTmxjak00T0RVMk9EYz0iLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzM4ODU2ODc/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2JjYjM3IiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vYmNiMzciLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9iY2IzNy9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9iY2IzNy9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9iY2IzNy9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYmNiMzcvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9iY2IzNy9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2JjYjM3L29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2JjYjM3L3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYmNiMzcvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2JjYjM3L3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2UsImNvbnRyaWJ1dGlvbnMiOjJ9LHsiZW1haWwiOiJlZF9rZWl0aEBhY20ub3JnIiwibmFtZSI6IkVkIEtlaXRoIiwidHlwZSI6IkFub255bW91cyIsImNvbnRyaWJ1dGlvbnMiOjJ9LHsibG9naW4iOiJldGhhbnN0cm9taW5nZXIiLCJpZCI6MzIwNzgzOTYsIm5vZGVfaWQiOiJNRFE2VlhObGNqTXlNRGM0TXprMiIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMzIwNzgzOTY/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2V0aGFuc3Ryb21pbmdlciIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL2V0aGFuc3Ryb21pbmdlciIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2V0aGFuc3Ryb21pbmdlci9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9ldGhhbnN0cm9taW5nZXIvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZXRoYW5zdHJvbWluZ2VyL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9ldGhhbnN0cm9taW5nZXIvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9ldGhhbnN0cm9taW5nZXIvc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9ldGhhbnN0cm9taW5nZXIvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZXRoYW5zdHJvbWluZ2VyL3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZXRoYW5zdHJvbWluZ2VyL2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9ldGhhbnN0cm9taW5nZXIvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6Mn0seyJsb2dpbiI6Ikdlb3JneTUiLCJpZCI6MjE5MjU2MCwibm9kZV9pZCI6Ik1EUTZWWE5sY2pJeE9USTFOakE9IiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8yMTkyNTYwP3Y9NCIsImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9HZW9yZ3k1IiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vR2Vvcmd5NSIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0dlb3JneTUvZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvR2Vvcmd5NS9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9HZW9yZ3k1L2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9HZW9yZ3k1L3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvR2Vvcmd5NS9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0dlb3JneTUvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvR2Vvcmd5NS9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0dlb3JneTUvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0dlb3JneTUvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6Mn0seyJsb2dpbiI6Ik5pY2hvbGFzSmFjcXVlcyIsImlkIjoyMDAzNjk0Mywibm9kZV9pZCI6Ik1EUTZWWE5sY2pJd01ETTJPVFF6IiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8yMDAzNjk0Mz92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvTmljaG9sYXNKYWNxdWVzIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vTmljaG9sYXNKYWNxdWVzIiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvTmljaG9sYXNKYWNxdWVzL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL05pY2hvbGFzSmFjcXVlcy9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9OaWNob2xhc0phY3F1ZXMvZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL05pY2hvbGFzSmFjcXVlcy9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL05pY2hvbGFzSmFjcXVlcy9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL05pY2hvbGFzSmFjcXVlcy9vcmdzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9OaWNob2xhc0phY3F1ZXMvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9OaWNob2xhc0phY3F1ZXMvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL05pY2hvbGFzSmFjcXVlcy9yZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVfYWRtaW4iOmZhbHNlLCJjb250cmlidXRpb25zIjoyfSx7ImVtYWlsIjoicGlvdHJAa2VkemlhLmV1IiwibmFtZSI6IlBpb3RyIEvEmWR6aWEiLCJ0eXBlIjoiQW5vbnltb3VzIiwiY29udHJpYnV0aW9ucyI6Mn0seyJsb2dpbiI6IlJvbXVzYyIsImlkIjoyMDYwMDk0Mywibm9kZV9pZCI6Ik1EUTZWWE5sY2pJd05qQXdPVFF6IiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8yMDYwMDk0Mz92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvUm9tdXNjIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vUm9tdXNjIiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvUm9tdXNjL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1JvbXVzYy9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9Sb211c2MvZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1JvbXVzYy9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1JvbXVzYy9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1JvbXVzYy9vcmdzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9Sb211c2MvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9Sb211c2MvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1JvbXVzYy9yZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVfYWRtaW4iOmZhbHNlLCJjb250cmlidXRpb25zIjoyfSx7ImxvZ2luIjoidGJhcmF6YSIsImlkIjoxOTQzMDEwNiwibm9kZV9pZCI6Ik1EUTZWWE5sY2pFNU5ETXdNVEEyIiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xOTQzMDEwNj92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdGJhcmF6YSIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL3RiYXJhemEiLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90YmFyYXphL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3RiYXJhemEvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdGJhcmF6YS9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvdGJhcmF6YS9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3RiYXJhemEvc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90YmFyYXphL29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3RiYXJhemEvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90YmFyYXphL2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy90YmFyYXphL3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2UsImNvbnRyaWJ1dGlvbnMiOjJ9LHsibG9naW4iOiJabWFnb0QiLCJpZCI6NzA0Njc4Nywibm9kZV9pZCI6Ik1EUTZWWE5sY2pjd05EWTNPRGM9IiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS83MDQ2Nzg3P3Y9NCIsImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9abWFnb0QiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9abWFnb0QiLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9abWFnb0QvZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvWm1hZ29EL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1ptYWdvRC9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvWm1hZ29EL3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvWm1hZ29EL3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvWm1hZ29EL29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1ptYWdvRC9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1ptYWdvRC9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvWm1hZ29EL3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2UsImNvbnRyaWJ1dGlvbnMiOjJ9LHsibG9naW4iOiJTdGxNYXJpczEyMyIsImlkIjoxMzA2MjYxNywibm9kZV9pZCI6Ik1EUTZWWE5sY2pFek1EWXlOakUzIiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xMzA2MjYxNz92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvU3RsTWFyaXMxMjMiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9TdGxNYXJpczEyMyIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1N0bE1hcmlzMTIzL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1N0bE1hcmlzMTIzL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1N0bE1hcmlzMTIzL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9TdGxNYXJpczEyMy9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1N0bE1hcmlzMTIzL3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvU3RsTWFyaXMxMjMvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvU3RsTWFyaXMxMjMvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9TdGxNYXJpczEyMy9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvU3RsTWFyaXMxMjMvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6Mn0seyJsb2dpbiI6IkFkdmFpdFQxNyIsImlkIjoxNTcxNzY1Nywibm9kZV9pZCI6Ik1EUTZWWE5sY2pFMU56RTNOalUzIiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNTcxNzY1Nz92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvQWR2YWl0VDE3IiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vQWR2YWl0VDE3IiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvQWR2YWl0VDE3L2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0FkdmFpdFQxNy9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9BZHZhaXRUMTcvZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0FkdmFpdFQxNy9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0FkdmFpdFQxNy9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0FkdmFpdFQxNy9vcmdzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9BZHZhaXRUMTcvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9BZHZhaXRUMTcvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0FkdmFpdFQxNy9yZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVfYWRtaW4iOmZhbHNlLCJjb250cmlidXRpb25zIjoxfSx7ImxvZ2luIjoicGFqYXlkZXYiLCJpZCI6MjEzNzUwMTQsIm5vZGVfaWQiOiJNRFE2VlhObGNqSXhNemMxTURFMCIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMjEzNzUwMTQ/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3BhamF5ZGV2IiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vcGFqYXlkZXYiLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9wYWpheWRldi9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9wYWpheWRldi9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9wYWpheWRldi9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvcGFqYXlkZXYvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9wYWpheWRldi9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3BhamF5ZGV2L29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3BhamF5ZGV2L3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvcGFqYXlkZXYvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3BhamF5ZGV2L3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2UsImNvbnRyaWJ1dGlvbnMiOjF9LHsibG9naW4iOiJBbWJlcldpbGtpZSIsImlkIjoyMDE0MTQyOCwibm9kZV9pZCI6Ik1EUTZWWE5sY2pJd01UUXhOREk0IiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8yMDE0MTQyOD92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvQW1iZXJXaWxraWUiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9BbWJlcldpbGtpZSIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0FtYmVyV2lsa2llL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0FtYmVyV2lsa2llL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0FtYmVyV2lsa2llL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9BbWJlcldpbGtpZS9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0FtYmVyV2lsa2llL3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvQW1iZXJXaWxraWUvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvQW1iZXJXaWxraWUvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9BbWJlcldpbGtpZS9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvQW1iZXJXaWxraWUvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6MX0seyJsb2dpbiI6ImFya3UiLCJpZCI6NzAzOTUyMywibm9kZV9pZCI6Ik1EUTZWWE5sY2pjd016azFNak09IiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS83MDM5NTIzP3Y9NCIsImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hcmt1IiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vYXJrdSIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2Fya3UvZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYXJrdS9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hcmt1L2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9hcmt1L3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYXJrdS9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2Fya3Uvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvYXJrdS9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2Fya3UvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2Fya3UvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6MX0seyJsb2dpbiI6IndlZWR5U2VhRHJhZ29uIiwiaWQiOjY3Mzc5NCwibm9kZV9pZCI6Ik1EUTZWWE5sY2pZM016YzVOQT09IiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS82NzM3OTQ/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3dlZWR5U2VhRHJhZ29uIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vd2VlZHlTZWFEcmFnb24iLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy93ZWVkeVNlYURyYWdvbi9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy93ZWVkeVNlYURyYWdvbi9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy93ZWVkeVNlYURyYWdvbi9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvd2VlZHlTZWFEcmFnb24vc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy93ZWVkeVNlYURyYWdvbi9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3dlZWR5U2VhRHJhZ29uL29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3dlZWR5U2VhRHJhZ29uL3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvd2VlZHlTZWFEcmFnb24vZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3dlZWR5U2VhRHJhZ29uL3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2UsImNvbnRyaWJ1dGlvbnMiOjF9LHsibG9naW4iOiJjaXJlbW91c3NhZGlhIiwiaWQiOjIyMTMyOTQ3LCJub2RlX2lkIjoiTURRNlZYTmxjakl5TVRNeU9UUTMiLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzIyMTMyOTQ3P3Y9NCIsImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jaXJlbW91c3NhZGlhIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vY2lyZW1vdXNzYWRpYSIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2NpcmVtb3Vzc2FkaWEvZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvY2lyZW1vdXNzYWRpYS9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jaXJlbW91c3NhZGlhL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9jaXJlbW91c3NhZGlhL3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvY2lyZW1vdXNzYWRpYS9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2NpcmVtb3Vzc2FkaWEvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvY2lyZW1vdXNzYWRpYS9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2NpcmVtb3Vzc2FkaWEvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2NpcmVtb3Vzc2FkaWEvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6MX0seyJsb2dpbiI6IkRlYW4tQ29ha2xleSIsImlkIjoxNTcxOTY1Mywibm9kZV9pZCI6Ik1EUTZWWE5sY2pFMU56RTVOalV6IiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8xNTcxOTY1Mz92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvRGVhbi1Db2FrbGV5IiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vRGVhbi1Db2FrbGV5IiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvRGVhbi1Db2FrbGV5L2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0RlYW4tQ29ha2xleS9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9EZWFuLUNvYWtsZXkvZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0RlYW4tQ29ha2xleS9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0RlYW4tQ29ha2xleS9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0RlYW4tQ29ha2xleS9vcmdzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9EZWFuLUNvYWtsZXkvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9EZWFuLUNvYWtsZXkvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0RlYW4tQ29ha2xleS9yZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVfYWRtaW4iOmZhbHNlLCJjb250cmlidXRpb25zIjoxfSx7ImxvZ2luIjoiZWRtaWxzb25lZnMiLCJpZCI6NDk4OTM4LCJub2RlX2lkIjoiTURRNlZYTmxjalE1T0Rrek9BPT0iLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzQ5ODkzOD92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZWRtaWxzb25lZnMiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9lZG1pbHNvbmVmcyIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2VkbWlsc29uZWZzL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2VkbWlsc29uZWZzL2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2VkbWlsc29uZWZzL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9lZG1pbHNvbmVmcy9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2VkbWlsc29uZWZzL3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZWRtaWxzb25lZnMvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZWRtaWxzb25lZnMvcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9lZG1pbHNvbmVmcy9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvZWRtaWxzb25lZnMvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6MX0seyJsb2dpbiI6IlRlZmlDIiwiaWQiOjE2ODg4MTcyLCJub2RlX2lkIjoiTURRNlZYTmxjakUyT0RnNE1UY3kiLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE2ODg4MTcyP3Y9NCIsImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9UZWZpQyIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL1RlZmlDIiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvVGVmaUMvZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvVGVmaUMvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvVGVmaUMvZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1RlZmlDL3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvVGVmaUMvc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9UZWZpQy9vcmdzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9UZWZpQy9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL1RlZmlDL2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9UZWZpQy9yZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVfYWRtaW4iOmZhbHNlLCJjb250cmlidXRpb25zIjoxfSx7ImxvZ2luIjoibGV4Y29ycDE2IiwiaWQiOjE0MTY2MjYwLCJub2RlX2lkIjoiTURRNlZYTmxjakUwTVRZMk1qWXciLCJhdmF0YXJfdXJsIjoiaHR0cHM6Ly9hdmF0YXJzLmdpdGh1YnVzZXJjb250ZW50LmNvbS91LzE0MTY2MjYwP3Y9NCIsImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sZXhjb3JwMTYiLCJodG1sX3VybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9sZXhjb3JwMTYiLCJmb2xsb3dlcnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sZXhjb3JwMTYvZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbGV4Y29ycDE2L2ZvbGxvd2luZ3svb3RoZXJfdXNlcn0iLCJnaXN0c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xleGNvcnAxNi9naXN0c3svZ2lzdF9pZH0iLCJzdGFycmVkX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbGV4Y29ycDE2L3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbGV4Y29ycDE2L3N1YnNjcmlwdGlvbnMiLCJvcmdhbml6YXRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbGV4Y29ycDE2L29yZ3MiLCJyZXBvc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xleGNvcnAxNi9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xleGNvcnAxNi9ldmVudHN7L3ByaXZhY3l9IiwicmVjZWl2ZWRfZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbGV4Y29ycDE2L3JlY2VpdmVkX2V2ZW50cyIsInR5cGUiOiJVc2VyIiwic2l0ZV9hZG1pbiI6ZmFsc2UsImNvbnRyaWJ1dGlvbnMiOjF9LHsibG9naW4iOiJLYWNodWxpbzEiLCJpZCI6MjIyNDMwOTAsIm5vZGVfaWQiOiJNRFE2VlhObGNqSXlNalF6TURrdyIsImF2YXRhcl91cmwiOiJodHRwczovL2F2YXRhcnMuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3UvMjIyNDMwOTA/dj00IiwiZ3JhdmF0YXJfaWQiOiIiLCJ1cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0thY2h1bGlvMSIsImh0bWxfdXJsIjoiaHR0cHM6Ly9naXRodWIuY29tL0thY2h1bGlvMSIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL0thY2h1bGlvMS9mb2xsb3dlcnMiLCJmb2xsb3dpbmdfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9LYWNodWxpbzEvZm9sbG93aW5ney9vdGhlcl91c2VyfSIsImdpc3RzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvS2FjaHVsaW8xL2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9LYWNodWxpbzEvc3RhcnJlZHsvb3duZXJ9ey9yZXBvfSIsInN1YnNjcmlwdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9LYWNodWxpbzEvc3Vic2NyaXB0aW9ucyIsIm9yZ2FuaXphdGlvbnNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9LYWNodWxpbzEvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvS2FjaHVsaW8xL3JlcG9zIiwiZXZlbnRzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvS2FjaHVsaW8xL2V2ZW50c3svcHJpdmFjeX0iLCJyZWNlaXZlZF9ldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9LYWNodWxpbzEvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6MX0seyJsb2dpbiI6ImxvbGx5cG9wMjciLCJpZCI6NTczNjI0OCwibm9kZV9pZCI6Ik1EUTZWWE5sY2pVM016WXlORGc9IiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS81NzM2MjQ4P3Y9NCIsImdyYXZhdGFyX2lkIjoiIiwidXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sb2xseXBvcDI3IiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vbG9sbHlwb3AyNyIsImZvbGxvd2Vyc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xvbGx5cG9wMjcvZm9sbG93ZXJzIiwiZm9sbG93aW5nX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbG9sbHlwb3AyNy9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sb2xseXBvcDI3L2dpc3Rzey9naXN0X2lkfSIsInN0YXJyZWRfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9sb2xseXBvcDI3L3N0YXJyZWR7L293bmVyfXsvcmVwb30iLCJzdWJzY3JpcHRpb25zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbG9sbHlwb3AyNy9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xvbGx5cG9wMjcvb3JncyIsInJlcG9zX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvbG9sbHlwb3AyNy9yZXBvcyIsImV2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xvbGx5cG9wMjcvZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL2xvbGx5cG9wMjcvcmVjZWl2ZWRfZXZlbnRzIiwidHlwZSI6IlVzZXIiLCJzaXRlX2FkbWluIjpmYWxzZSwiY29udHJpYnV0aW9ucyI6MX0seyJlbWFpbCI6ImxlbmlxdWVub3JhbGV6QGdtYWlsLmNvbSIsIm5hbWUiOiJMZW5pcXVlIE5vcmFsZXoiLCJ0eXBlIjoiQW5vbnltb3VzIiwiY29udHJpYnV0aW9ucyI6MX0seyJsb2dpbiI6InBqYmVsbyIsImlkIjoyODg3NjgwMywibm9kZV9pZCI6Ik1EUTZWWE5sY2pJNE9EYzJPREF6IiwiYXZhdGFyX3VybCI6Imh0dHBzOi8vYXZhdGFycy5naXRodWJ1c2VyY29udGVudC5jb20vdS8yODg3NjgwMz92PTQiLCJncmF2YXRhcl9pZCI6IiIsInVybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvcGpiZWxvIiwiaHRtbF91cmwiOiJodHRwczovL2dpdGh1Yi5jb20vcGpiZWxvIiwiZm9sbG93ZXJzX3VybCI6Imh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vdXNlcnMvcGpiZWxvL2ZvbGxvd2VycyIsImZvbGxvd2luZ191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3BqYmVsby9mb2xsb3dpbmd7L290aGVyX3VzZXJ9IiwiZ2lzdHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9wamJlbG8vZ2lzdHN7L2dpc3RfaWR9Iiwic3RhcnJlZF91cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3BqYmVsby9zdGFycmVkey9vd25lcn17L3JlcG99Iiwic3Vic2NyaXB0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3BqYmVsby9zdWJzY3JpcHRpb25zIiwib3JnYW5pemF0aW9uc191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3BqYmVsby9vcmdzIiwicmVwb3NfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9wamJlbG8vcmVwb3MiLCJldmVudHNfdXJsIjoiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbS91c2Vycy9wamJlbG8vZXZlbnRzey9wcml2YWN5fSIsInJlY2VpdmVkX2V2ZW50c191cmwiOiJodHRwczovL2FwaS5naXRodWIuY29tL3VzZXJzL3BqYmVsby9yZWNlaXZlZF9ldmVudHMiLCJ0eXBlIjoiVXNlciIsInNpdGVfYWRtaW4iOmZhbHNlLCJjb250cmlidXRpb25zIjoxfV0=\n  recorded_at: Sat, 15 May 2021 08:56:55 GMT\nrecorded_with: VCR 6.0.0\n"
  },
  {
    "path": "spec/fixtures/cassettes/github_readme_pitch/github_readme_pitch.yml",
    "content": "---\nhttp_interactions:\n- request:\n    method: get\n    uri: https://api.github.com/repos/fake/repository/contents/PITCH.md\n    body:\n      encoding: US-ASCII\n      string: ''\n    headers:\n      Accept:\n      - application/vnd.github.html\n      User-Agent:\n      - Octokit Ruby Gem 4.8.0\n      Content-Type:\n      - application/json\n      Accept-Encoding:\n      - gzip;q=1.0,deflate;q=0.6,identity;q=0.3\n  response:\n    status:\n      code: 404\n      message: Not Found\n    headers:\n      Server:\n      - GitHub.com\n      Date:\n      - Tue, 01 May 2018 18:50:16 GMT\n      Content-Type:\n      - application/json; charset=utf-8\n      Transfer-Encoding:\n      - chunked\n      Status:\n      - 404 Not Found\n      X-Ratelimit-Limit:\n      - '60'\n      X-Ratelimit-Remaining:\n      - '40'\n      X-Ratelimit-Reset:\n      - '1525202856'\n      X-Github-Media-Type:\n      - github.v3; param=html\n      Access-Control-Expose-Headers:\n      - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining,\n        X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval\n      Access-Control-Allow-Origin:\n      - \"*\"\n      Strict-Transport-Security:\n      - max-age=31536000; includeSubdomains; preload\n      X-Frame-Options:\n      - deny\n      X-Content-Type-Options:\n      - nosniff\n      X-Xss-Protection:\n      - 1; mode=block\n      Referrer-Policy:\n      - origin-when-cross-origin, strict-origin-when-cross-origin\n      Content-Security-Policy:\n      - default-src 'none'\n      X-Runtime-Rack:\n      - '0.022758'\n      X-Github-Request-Id:\n      - A958:27B5:3D82EB7:893F7AB:5AE8B6E7\n    body:\n      encoding: ASCII-8BIT\n      string: '{\"message\":\"Not Found\",\"documentation_url\":\"https://developer.github.com/v3/repos/contents/#get-contents\"}'\n    http_version: \n  recorded_at: Tue, 01 May 2018 18:50:16 GMT\n- request:\n    method: get\n    uri: https://api.github.com/repos/fake/repository/contents/README.md\n    body:\n      encoding: US-ASCII\n      string: ''\n    headers:\n      Accept:\n      - application/vnd.github.html\n      User-Agent:\n      - Octokit Ruby Gem 4.8.0\n      Content-Type:\n      - application/json\n      Accept-Encoding:\n      - gzip;q=1.0,deflate;q=0.6,identity;q=0.3\n  response:\n    status:\n      code: 404\n      message: Not Found\n    headers:\n      Server:\n      - GitHub.com\n      Date:\n      - Tue, 01 May 2018 18:50:16 GMT\n      Content-Type:\n      - application/json; charset=utf-8\n      Transfer-Encoding:\n      - chunked\n      Status:\n      - 404 Not Found\n      X-Ratelimit-Limit:\n      - '60'\n      X-Ratelimit-Remaining:\n      - '39'\n      X-Ratelimit-Reset:\n      - '1525202856'\n      X-Github-Media-Type:\n      - github.v3; param=html\n      Access-Control-Expose-Headers:\n      - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining,\n        X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval\n      Access-Control-Allow-Origin:\n      - \"*\"\n      Strict-Transport-Security:\n      - max-age=31536000; includeSubdomains; preload\n      X-Frame-Options:\n      - deny\n      X-Content-Type-Options:\n      - nosniff\n      X-Xss-Protection:\n      - 1; mode=block\n      Referrer-Policy:\n      - origin-when-cross-origin, strict-origin-when-cross-origin\n      Content-Security-Policy:\n      - default-src 'none'\n      X-Runtime-Rack:\n      - '0.015194'\n      X-Github-Request-Id:\n      - A95A:27AF:26D6B0F:5D24FD3:5AE8B6E8\n    body:\n      encoding: ASCII-8BIT\n      string: '{\"message\":\"Not Found\",\"documentation_url\":\"https://developer.github.com/v3/repos/contents/#get-contents\"}'\n    http_version: \n  recorded_at: Tue, 01 May 2018 18:50:16 GMT\n- request:\n    method: get\n    uri: https://api.github.com/repos/AgileVentures/LocalSupport/contents/README.md\n    body:\n      encoding: US-ASCII\n      string: ''\n    headers:\n      Accept:\n      - application/vnd.github.html\n      User-Agent:\n      - Octokit Ruby Gem 4.8.0\n      Content-Type:\n      - application/json\n      Accept-Encoding:\n      - gzip;q=1.0,deflate;q=0.6,identity;q=0.3\n  response:\n    status:\n      code: 200\n      message: OK\n    headers:\n      Server:\n      - GitHub.com\n      Date:\n      - Tue, 01 May 2018 18:50:17 GMT\n      Content-Type:\n      - application/vnd.github.html; charset=utf-8\n      Content-Length:\n      - '4728'\n      Status:\n      - 200 OK\n      X-Ratelimit-Limit:\n      - '60'\n      X-Ratelimit-Remaining:\n      - '38'\n      X-Ratelimit-Reset:\n      - '1525202856'\n      Cache-Control:\n      - public, max-age=60, s-maxage=60\n      Vary:\n      - Accept\n      Etag:\n      - '\"06ba001b49a7c9eb032b3809a62db448f8558073\"'\n      Last-Modified:\n      - Tue, 01 May 2018 11:39:30 GMT\n      X-Github-Media-Type:\n      - github.v3; param=html\n      Access-Control-Expose-Headers:\n      - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining,\n        X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval\n      Access-Control-Allow-Origin:\n      - \"*\"\n      Strict-Transport-Security:\n      - max-age=31536000; includeSubdomains; preload\n      X-Frame-Options:\n      - deny\n      X-Content-Type-Options:\n      - nosniff\n      X-Xss-Protection:\n      - 1; mode=block\n      Referrer-Policy:\n      - origin-when-cross-origin, strict-origin-when-cross-origin\n      Content-Security-Policy:\n      - default-src 'none'\n      X-Runtime-Rack:\n      - '0.047969'\n      X-Github-Request-Id:\n      - A95C:27B0:571E0EE:AA0732A:5AE8B6E9\n    body:\n      encoding: UTF-8\n      string: |-\n        <div id=\"file\" class=\"announce instapaper_body md\" data-path=\"README.md\"><article class=\"markdown-body entry-content\" itemprop=\"text\"><p><a href=\"https://travis-ci.org/AgileVentures/LocalSupport\" rel=\"nofollow\"><img src=\"https://camo.githubusercontent.com/d16061b38261e29c60358f72cacd60e9ff7d8c49/68747470733a2f2f7472617669732d63692e6f72672f4167696c6556656e74757265732f4c6f63616c537570706f72742e706e67\" alt=\"Build Status\" data-canonical-src=\"https://travis-ci.org/AgileVentures/LocalSupport.png\" style=\"max-width:100%;\"></a> <a href=\"https://codeclimate.com/github/AgileVentures/LocalSupport/maintainability\" rel=\"nofollow\"><img src=\"https://camo.githubusercontent.com/f8b663b417ebde32e165904a32a4c2129ff3c662/68747470733a2f2f6170692e636f6465636c696d6174652e636f6d2f76312f6261646765732f33343438663635346164636466653334623030372f6d61696e7461696e6162696c697479\" alt=\"Maintainability\" data-canonical-src=\"https://api.codeclimate.com/v1/badges/3448f654adcdfe34b007/maintainability\" style=\"max-width:100%;\"></a> <a href=\"https://codeclimate.com/github/AgileVentures/LocalSupport/test_coverage\" rel=\"nofollow\"><img src=\"https://camo.githubusercontent.com/54876f91c8630fc0af13a1ce7ea6a7b437e2ffde/68747470733a2f2f6170692e636f6465636c696d6174652e636f6d2f76312f6261646765732f33343438663635346164636466653334623030372f746573745f636f766572616765\" alt=\"Test Coverage\" data-canonical-src=\"https://api.codeclimate.com/v1/badges/3448f654adcdfe34b007/test_coverage\" style=\"max-width:100%;\"></a></p>\n        <h1><a id=\"user-content-localsupport\" class=\"anchor\" aria-hidden=\"true\" href=\"#localsupport\"><svg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>LocalSupport</h1>\n        <p>LocalSupport is the software that runs the <a href=\"https://www.harrowcn.org.uk/\" rel=\"nofollow\">Harrow Community Network</a>, which was originally conceived as a directory of local support services, e.g. a list charities and non-profits in a particular area.  It's since pivoted to focus on volunteer opportunities in a local area, but the list of organisations remains accessible.</p>\n        <p><a href=\"http://www.agileventures.org/projects/localsupport/documents/project-overview-localsupport\" rel=\"nofollow\">Project Overview on AgileVentures</a></p>\n        <p>Installation and other technical issues are being moved from the github wiki to the docs dir:</p>\n        <p><a href=\"https://github.com/AgileVentures/LocalSupport/blob/develop/docs/installation.md#installation\">Installation notes</a></p>\n        <p>To help with development please see our <a href=\"CONTRIBUTING.md\">contribution guidelines</a>.</p>\n        <p>If you encounter any issues or trouble, please search the issues tracker, and if necessary open a new issue describing the problem in detail including information about platforms, versions etc.</p>\n        <p><a href=\"https://github.com/AgileVentures/LocalSupport/issues\">https://github.com/AgileVentures/LocalSupport/issues</a></p>\n        <p>Many thanks to all the contributions from volunteers from all around the world.</p>\n        <p><a href=\"https://github.com/AgileVentures/LocalSupport/contributors\">Graph of Contributors</a></p>\n        <a href=\"mailto:tansaku@gmail.com?subject=Pairing on LocalSupport\" title=\"Pair program with me!\">\n          <img src=\"https://camo.githubusercontent.com/9f9e2984449459c75bbeef9c6feb3ed812371e9c/687474703a2f2f7061697270726f6772616d776974682e6d652f62616467652e706e67\" alt=\"Pair program with me!\" data-canonical-src=\"http://pairprogramwith.me/badge.png\" style=\"max-width:100%;\">\n        </a>\n        <h1><a id=\"user-content-license\" class=\"anchor\" aria-hidden=\"true\" href=\"#license\"><svg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>License</h1>\n        <p>The logo is copyright Alex, all rights reserved.</p>\n        <p>The authors and contributors have agreed to license all other software\n        under the MIT license, an open source free software license. See the\n        file named COPYING which includes a disclaimer of warranty.</p>\n        </article></div>\n    http_version: \n  recorded_at: Tue, 01 May 2018 18:50:17 GMT\n- request:\n    method: get\n    uri: https://api.github.com/repos/AgileVentures/LocalSupport/contents/PITCH.md\n    body:\n      encoding: US-ASCII\n      string: ''\n    headers:\n      Accept:\n      - application/vnd.github.html\n      User-Agent:\n      - Octokit Ruby Gem 4.8.0\n      Content-Type:\n      - application/json\n      Accept-Encoding:\n      - gzip;q=1.0,deflate;q=0.6,identity;q=0.3\n  response:\n    status:\n      code: 404\n      message: Not Found\n    headers:\n      Server:\n      - GitHub.com\n      Date:\n      - Tue, 01 May 2018 18:50:18 GMT\n      Content-Type:\n      - application/json; charset=utf-8\n      Transfer-Encoding:\n      - chunked\n      Status:\n      - 404 Not Found\n      X-Ratelimit-Limit:\n      - '60'\n      X-Ratelimit-Remaining:\n      - '37'\n      X-Ratelimit-Reset:\n      - '1525202856'\n      X-Github-Media-Type:\n      - github.v3; param=html\n      Access-Control-Expose-Headers:\n      - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining,\n        X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval\n      Access-Control-Allow-Origin:\n      - \"*\"\n      Strict-Transport-Security:\n      - max-age=31536000; includeSubdomains; preload\n      X-Frame-Options:\n      - deny\n      X-Content-Type-Options:\n      - nosniff\n      X-Xss-Protection:\n      - 1; mode=block\n      Referrer-Policy:\n      - origin-when-cross-origin, strict-origin-when-cross-origin\n      Content-Security-Policy:\n      - default-src 'none'\n      X-Runtime-Rack:\n      - '0.030976'\n      X-Github-Request-Id:\n      - A95E:27B5:3D82F90:893F9AF:5AE8B6E9\n    body:\n      encoding: ASCII-8BIT\n      string: '{\"message\":\"Not Found\",\"documentation_url\":\"https://developer.github.com/v3/repos/contents/#get-contents\"}'\n    http_version: \n  recorded_at: Tue, 01 May 2018 18:50:18 GMT\n- request:\n    method: get\n    uri: https://api.github.com/repos/AgileVentures/LocalSupport/contents/README.md\n    body:\n      encoding: US-ASCII\n      string: ''\n    headers:\n      Accept:\n      - application/vnd.github.html\n      User-Agent:\n      - Octokit Ruby Gem 4.8.0\n      Content-Type:\n      - application/json\n      Accept-Encoding:\n      - gzip;q=1.0,deflate;q=0.6,identity;q=0.3\n  response:\n    status:\n      code: 200\n      message: OK\n    headers:\n      Server:\n      - GitHub.com\n      Date:\n      - Tue, 01 May 2018 18:50:18 GMT\n      Content-Type:\n      - application/vnd.github.html; charset=utf-8\n      Content-Length:\n      - '4728'\n      Status:\n      - 200 OK\n      X-Ratelimit-Limit:\n      - '60'\n      X-Ratelimit-Remaining:\n      - '36'\n      X-Ratelimit-Reset:\n      - '1525202856'\n      Cache-Control:\n      - public, max-age=60, s-maxage=60\n      Vary:\n      - Accept\n      Etag:\n      - '\"06ba001b49a7c9eb032b3809a62db448f8558073\"'\n      Last-Modified:\n      - Tue, 01 May 2018 11:39:30 GMT\n      X-Github-Media-Type:\n      - github.v3; param=html\n      Access-Control-Expose-Headers:\n      - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining,\n        X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval\n      Access-Control-Allow-Origin:\n      - \"*\"\n      Strict-Transport-Security:\n      - max-age=31536000; includeSubdomains; preload\n      X-Frame-Options:\n      - deny\n      X-Content-Type-Options:\n      - nosniff\n      X-Xss-Protection:\n      - 1; mode=block\n      Referrer-Policy:\n      - origin-when-cross-origin, strict-origin-when-cross-origin\n      Content-Security-Policy:\n      - default-src 'none'\n      X-Runtime-Rack:\n      - '0.051749'\n      X-Github-Request-Id:\n      - A960:27B0:571E1AE:AA074C4:5AE8B6EA\n    body:\n      encoding: UTF-8\n      string: |-\n        <div id=\"file\" class=\"announce instapaper_body md\" data-path=\"README.md\"><article class=\"markdown-body entry-content\" itemprop=\"text\"><p><a href=\"https://travis-ci.org/AgileVentures/LocalSupport\" rel=\"nofollow\"><img src=\"https://camo.githubusercontent.com/d16061b38261e29c60358f72cacd60e9ff7d8c49/68747470733a2f2f7472617669732d63692e6f72672f4167696c6556656e74757265732f4c6f63616c537570706f72742e706e67\" alt=\"Build Status\" data-canonical-src=\"https://travis-ci.org/AgileVentures/LocalSupport.png\" style=\"max-width:100%;\"></a> <a href=\"https://codeclimate.com/github/AgileVentures/LocalSupport/maintainability\" rel=\"nofollow\"><img src=\"https://camo.githubusercontent.com/f8b663b417ebde32e165904a32a4c2129ff3c662/68747470733a2f2f6170692e636f6465636c696d6174652e636f6d2f76312f6261646765732f33343438663635346164636466653334623030372f6d61696e7461696e6162696c697479\" alt=\"Maintainability\" data-canonical-src=\"https://api.codeclimate.com/v1/badges/3448f654adcdfe34b007/maintainability\" style=\"max-width:100%;\"></a> <a href=\"https://codeclimate.com/github/AgileVentures/LocalSupport/test_coverage\" rel=\"nofollow\"><img src=\"https://camo.githubusercontent.com/54876f91c8630fc0af13a1ce7ea6a7b437e2ffde/68747470733a2f2f6170692e636f6465636c696d6174652e636f6d2f76312f6261646765732f33343438663635346164636466653334623030372f746573745f636f766572616765\" alt=\"Test Coverage\" data-canonical-src=\"https://api.codeclimate.com/v1/badges/3448f654adcdfe34b007/test_coverage\" style=\"max-width:100%;\"></a></p>\n        <h1><a id=\"user-content-localsupport\" class=\"anchor\" aria-hidden=\"true\" href=\"#localsupport\"><svg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>LocalSupport</h1>\n        <p>LocalSupport is the software that runs the <a href=\"https://www.harrowcn.org.uk/\" rel=\"nofollow\">Harrow Community Network</a>, which was originally conceived as a directory of local support services, e.g. a list charities and non-profits in a particular area.  It's since pivoted to focus on volunteer opportunities in a local area, but the list of organisations remains accessible.</p>\n        <p><a href=\"http://www.agileventures.org/projects/localsupport/documents/project-overview-localsupport\" rel=\"nofollow\">Project Overview on AgileVentures</a></p>\n        <p>Installation and other technical issues are being moved from the github wiki to the docs dir:</p>\n        <p><a href=\"https://github.com/AgileVentures/LocalSupport/blob/develop/docs/installation.md#installation\">Installation notes</a></p>\n        <p>To help with development please see our <a href=\"CONTRIBUTING.md\">contribution guidelines</a>.</p>\n        <p>If you encounter any issues or trouble, please search the issues tracker, and if necessary open a new issue describing the problem in detail including information about platforms, versions etc.</p>\n        <p><a href=\"https://github.com/AgileVentures/LocalSupport/issues\">https://github.com/AgileVentures/LocalSupport/issues</a></p>\n        <p>Many thanks to all the contributions from volunteers from all around the world.</p>\n        <p><a href=\"https://github.com/AgileVentures/LocalSupport/contributors\">Graph of Contributors</a></p>\n        <a href=\"mailto:tansaku@gmail.com?subject=Pairing on LocalSupport\" title=\"Pair program with me!\">\n          <img src=\"https://camo.githubusercontent.com/9f9e2984449459c75bbeef9c6feb3ed812371e9c/687474703a2f2f7061697270726f6772616d776974682e6d652f62616467652e706e67\" alt=\"Pair program with me!\" data-canonical-src=\"http://pairprogramwith.me/badge.png\" style=\"max-width:100%;\">\n        </a>\n        <h1><a id=\"user-content-license\" class=\"anchor\" aria-hidden=\"true\" href=\"#license\"><svg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>License</h1>\n        <p>The logo is copyright Alex, all rights reserved.</p>\n        <p>The authors and contributors have agreed to license all other software\n        under the MIT license, an open source free software license. See the\n        file named COPYING which includes a disclaimer of warranty.</p>\n        </article></div>\n    http_version: \n  recorded_at: Tue, 01 May 2018 18:50:18 GMT\n- request:\n    method: get\n    uri: https://api.github.com/repos/nisevi/nisevi/contents/PITCH.md\n    body:\n      encoding: US-ASCII\n      string: ''\n    headers:\n      Accept:\n      - application/vnd.github.html\n      User-Agent:\n      - Octokit Ruby Gem 4.8.0\n      Content-Type:\n      - application/json\n      Accept-Encoding:\n      - gzip;q=1.0,deflate;q=0.6,identity;q=0.3\n  response:\n    status:\n      code: 200\n      message: OK\n    headers:\n      Server:\n      - GitHub.com\n      Date:\n      - Tue, 01 May 2018 18:50:19 GMT\n      Content-Type:\n      - application/vnd.github.html; charset=utf-8\n      Content-Length:\n      - '805'\n      Status:\n      - 200 OK\n      X-Ratelimit-Limit:\n      - '60'\n      X-Ratelimit-Remaining:\n      - '35'\n      X-Ratelimit-Reset:\n      - '1525202856'\n      Cache-Control:\n      - public, max-age=60, s-maxage=60\n      Vary:\n      - Accept\n      Etag:\n      - '\"d25bb0737558204b4f0d08efc0519c53d2efd0cb\"'\n      Last-Modified:\n      - Tue, 01 May 2018 17:54:10 GMT\n      X-Github-Media-Type:\n      - github.v3; param=html\n      Access-Control-Expose-Headers:\n      - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining,\n        X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval\n      Access-Control-Allow-Origin:\n      - \"*\"\n      Strict-Transport-Security:\n      - max-age=31536000; includeSubdomains; preload\n      X-Frame-Options:\n      - deny\n      X-Content-Type-Options:\n      - nosniff\n      X-Xss-Protection:\n      - 1; mode=block\n      Referrer-Policy:\n      - origin-when-cross-origin, strict-origin-when-cross-origin\n      Content-Security-Policy:\n      - default-src 'none'\n      X-Runtime-Rack:\n      - '0.044519'\n      X-Github-Request-Id:\n      - A962:27B0:571E22C:AA075CD:5AE8B6EB\n    body:\n      encoding: UTF-8\n      string: |-\n        <div id=\"file\" class=\"announce instapaper_body md\" data-path=\"PITCH.md\"><article class=\"markdown-body entry-content\" itemprop=\"text\"><h1><a id=\"user-content-introduction\" class=\"anchor\" aria-hidden=\"true\" href=\"#introduction\"><svg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Introduction</h1>\n        <p>This project is a blog built by using Rails 5.</p>\n        </article></div>\n    http_version: \n  recorded_at: Tue, 01 May 2018 18:50:19 GMT\n- request:\n    method: get\n    uri: https://api.github.com/repos/nisevi/nisevi/contents/PITCH.md\n    body:\n      encoding: US-ASCII\n      string: ''\n    headers:\n      Accept:\n      - application/vnd.github.html\n      User-Agent:\n      - Octokit Ruby Gem 4.8.0\n      Content-Type:\n      - application/json\n      Accept-Encoding:\n      - gzip;q=1.0,deflate;q=0.6,identity;q=0.3\n  response:\n    status:\n      code: 200\n      message: OK\n    headers:\n      Server:\n      - GitHub.com\n      Date:\n      - Tue, 01 May 2018 18:50:20 GMT\n      Content-Type:\n      - application/vnd.github.html; charset=utf-8\n      Content-Length:\n      - '805'\n      Status:\n      - 200 OK\n      X-Ratelimit-Limit:\n      - '60'\n      X-Ratelimit-Remaining:\n      - '34'\n      X-Ratelimit-Reset:\n      - '1525202856'\n      Cache-Control:\n      - public, max-age=60, s-maxage=60\n      Vary:\n      - Accept\n      Etag:\n      - '\"d25bb0737558204b4f0d08efc0519c53d2efd0cb\"'\n      Last-Modified:\n      - Tue, 01 May 2018 17:54:10 GMT\n      X-Github-Media-Type:\n      - github.v3; param=html\n      Access-Control-Expose-Headers:\n      - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining,\n        X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval\n      Access-Control-Allow-Origin:\n      - \"*\"\n      Strict-Transport-Security:\n      - max-age=31536000; includeSubdomains; preload\n      X-Frame-Options:\n      - deny\n      X-Content-Type-Options:\n      - nosniff\n      X-Xss-Protection:\n      - 1; mode=block\n      Referrer-Policy:\n      - origin-when-cross-origin, strict-origin-when-cross-origin\n      Content-Security-Policy:\n      - default-src 'none'\n      X-Runtime-Rack:\n      - '0.042540'\n      X-Github-Request-Id:\n      - A964:27B0:571E28E:AA0769B:5AE8B6EB\n    body:\n      encoding: UTF-8\n      string: |-\n        <div id=\"file\" class=\"announce instapaper_body md\" data-path=\"PITCH.md\"><article class=\"markdown-body entry-content\" itemprop=\"text\"><h1><a id=\"user-content-introduction\" class=\"anchor\" aria-hidden=\"true\" href=\"#introduction\"><svg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Introduction</h1>\n        <p>This project is a blog built by using Rails 5.</p>\n        </article></div>\n    http_version: \n  recorded_at: Tue, 01 May 2018 18:50:20 GMT\n- request:\n    method: get\n    uri: https://api.github.com/repos/AgileVentures/LocalSupport/contents/PITCH.md?client_id=d05eb310ebf549e53889&client_secret=6a5988af12a8a012399e037d0586bf706c4bfbf0\n    body:\n      encoding: US-ASCII\n      string: ''\n    headers:\n      Accept:\n      - application/vnd.github.html\n      User-Agent:\n      - Octokit Ruby Gem 4.8.0\n      Content-Type:\n      - application/json\n      Accept-Encoding:\n      - gzip;q=1.0,deflate;q=0.6,identity;q=0.3\n  response:\n    status:\n      code: 404\n      message: Not Found\n    headers:\n      Server:\n      - GitHub.com\n      Date:\n      - Wed, 02 May 2018 11:00:48 GMT\n      Content-Type:\n      - application/json; charset=utf-8\n      Transfer-Encoding:\n      - chunked\n      Status:\n      - 404 Not Found\n      X-Ratelimit-Limit:\n      - '5000'\n      X-Ratelimit-Remaining:\n      - '4810'\n      X-Ratelimit-Reset:\n      - '1525259263'\n      X-Github-Media-Type:\n      - github.v3; param=html\n      Access-Control-Expose-Headers:\n      - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining,\n        X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval\n      Access-Control-Allow-Origin:\n      - \"*\"\n      Strict-Transport-Security:\n      - max-age=31536000; includeSubdomains; preload\n      X-Frame-Options:\n      - deny\n      X-Content-Type-Options:\n      - nosniff\n      X-Xss-Protection:\n      - 1; mode=block\n      Referrer-Policy:\n      - origin-when-cross-origin, strict-origin-when-cross-origin\n      Content-Security-Policy:\n      - default-src 'none'\n      X-Runtime-Rack:\n      - '0.045162'\n      X-Github-Request-Id:\n      - E356:4EF4:271479:6171F8:5AE99A5F\n    body:\n      encoding: ASCII-8BIT\n      string: '{\"message\":\"Not Found\",\"documentation_url\":\"https://developer.github.com/v3/repos/contents/#get-contents\"}'\n    http_version: \n  recorded_at: Wed, 02 May 2018 11:00:48 GMT\n- request:\n    method: get\n    uri: https://api.github.com/repos/AgileVentures/LocalSupport/contents/README.md?client_id=d05eb310ebf549e53889&client_secret=6a5988af12a8a012399e037d0586bf706c4bfbf0\n    body:\n      encoding: US-ASCII\n      string: ''\n    headers:\n      Accept:\n      - application/vnd.github.html\n      User-Agent:\n      - Octokit Ruby Gem 4.8.0\n      Content-Type:\n      - application/json\n      Accept-Encoding:\n      - gzip;q=1.0,deflate;q=0.6,identity;q=0.3\n  response:\n    status:\n      code: 200\n      message: OK\n    headers:\n      Server:\n      - GitHub.com\n      Date:\n      - Wed, 02 May 2018 11:00:48 GMT\n      Content-Type:\n      - application/vnd.github.html; charset=utf-8\n      Content-Length:\n      - '4728'\n      Status:\n      - 200 OK\n      X-Ratelimit-Limit:\n      - '5000'\n      X-Ratelimit-Remaining:\n      - '4809'\n      X-Ratelimit-Reset:\n      - '1525259263'\n      Cache-Control:\n      - public, max-age=60, s-maxage=60\n      Vary:\n      - Accept\n      Etag:\n      - '\"06ba001b49a7c9eb032b3809a62db448f8558073\"'\n      Last-Modified:\n      - Tue, 01 May 2018 11:39:30 GMT\n      X-Github-Media-Type:\n      - github.v3; param=html\n      Access-Control-Expose-Headers:\n      - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining,\n        X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval\n      Access-Control-Allow-Origin:\n      - \"*\"\n      Strict-Transport-Security:\n      - max-age=31536000; includeSubdomains; preload\n      X-Frame-Options:\n      - deny\n      X-Content-Type-Options:\n      - nosniff\n      X-Xss-Protection:\n      - 1; mode=block\n      Referrer-Policy:\n      - origin-when-cross-origin, strict-origin-when-cross-origin\n      Content-Security-Policy:\n      - default-src 'none'\n      X-Runtime-Rack:\n      - '0.049083'\n      X-Github-Request-Id:\n      - E358:4EF7:4436CA:988FF3:5AE99A60\n    body:\n      encoding: UTF-8\n      string: |-\n        <div id=\"file\" class=\"announce instapaper_body md\" data-path=\"README.md\"><article class=\"markdown-body entry-content\" itemprop=\"text\"><p><a href=\"https://travis-ci.org/AgileVentures/LocalSupport\" rel=\"nofollow\"><img src=\"https://camo.githubusercontent.com/d16061b38261e29c60358f72cacd60e9ff7d8c49/68747470733a2f2f7472617669732d63692e6f72672f4167696c6556656e74757265732f4c6f63616c537570706f72742e706e67\" alt=\"Build Status\" data-canonical-src=\"https://travis-ci.org/AgileVentures/LocalSupport.png\" style=\"max-width:100%;\"></a> <a href=\"https://codeclimate.com/github/AgileVentures/LocalSupport/maintainability\" rel=\"nofollow\"><img src=\"https://camo.githubusercontent.com/f8b663b417ebde32e165904a32a4c2129ff3c662/68747470733a2f2f6170692e636f6465636c696d6174652e636f6d2f76312f6261646765732f33343438663635346164636466653334623030372f6d61696e7461696e6162696c697479\" alt=\"Maintainability\" data-canonical-src=\"https://api.codeclimate.com/v1/badges/3448f654adcdfe34b007/maintainability\" style=\"max-width:100%;\"></a> <a href=\"https://codeclimate.com/github/AgileVentures/LocalSupport/test_coverage\" rel=\"nofollow\"><img src=\"https://camo.githubusercontent.com/54876f91c8630fc0af13a1ce7ea6a7b437e2ffde/68747470733a2f2f6170692e636f6465636c696d6174652e636f6d2f76312f6261646765732f33343438663635346164636466653334623030372f746573745f636f766572616765\" alt=\"Test Coverage\" data-canonical-src=\"https://api.codeclimate.com/v1/badges/3448f654adcdfe34b007/test_coverage\" style=\"max-width:100%;\"></a></p>\n        <h1><a id=\"user-content-localsupport\" class=\"anchor\" aria-hidden=\"true\" href=\"#localsupport\"><svg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>LocalSupport</h1>\n        <p>LocalSupport is the software that runs the <a href=\"https://www.harrowcn.org.uk/\" rel=\"nofollow\">Harrow Community Network</a>, which was originally conceived as a directory of local support services, e.g. a list charities and non-profits in a particular area.  It's since pivoted to focus on volunteer opportunities in a local area, but the list of organisations remains accessible.</p>\n        <p><a href=\"http://www.agileventures.org/projects/localsupport/documents/project-overview-localsupport\" rel=\"nofollow\">Project Overview on AgileVentures</a></p>\n        <p>Installation and other technical issues are being moved from the github wiki to the docs dir:</p>\n        <p><a href=\"https://github.com/AgileVentures/LocalSupport/blob/develop/docs/installation.md#installation\">Installation notes</a></p>\n        <p>To help with development please see our <a href=\"CONTRIBUTING.md\">contribution guidelines</a>.</p>\n        <p>If you encounter any issues or trouble, please search the issues tracker, and if necessary open a new issue describing the problem in detail including information about platforms, versions etc.</p>\n        <p><a href=\"https://github.com/AgileVentures/LocalSupport/issues\">https://github.com/AgileVentures/LocalSupport/issues</a></p>\n        <p>Many thanks to all the contributions from volunteers from all around the world.</p>\n        <p><a href=\"https://github.com/AgileVentures/LocalSupport/contributors\">Graph of Contributors</a></p>\n        <a href=\"mailto:tansaku@gmail.com?subject=Pairing on LocalSupport\" title=\"Pair program with me!\">\n          <img src=\"https://camo.githubusercontent.com/9f9e2984449459c75bbeef9c6feb3ed812371e9c/687474703a2f2f7061697270726f6772616d776974682e6d652f62616467652e706e67\" alt=\"Pair program with me!\" data-canonical-src=\"http://pairprogramwith.me/badge.png\" style=\"max-width:100%;\">\n        </a>\n        <h1><a id=\"user-content-license\" class=\"anchor\" aria-hidden=\"true\" href=\"#license\"><svg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>License</h1>\n        <p>The logo is copyright Alex, all rights reserved.</p>\n        <p>The authors and contributors have agreed to license all other software\n        under the MIT license, an open source free software license. See the\n        file named COPYING which includes a disclaimer of warranty.</p>\n        </article></div>\n    http_version: \n  recorded_at: Wed, 02 May 2018 11:00:48 GMT\n- request:\n    method: get\n    uri: https://api.github.com/repos/fake/repository/contents/PITCH.md?client_id=d05eb310ebf549e53889&client_secret=6a5988af12a8a012399e037d0586bf706c4bfbf0\n    body:\n      encoding: US-ASCII\n      string: ''\n    headers:\n      Accept:\n      - application/vnd.github.html\n      User-Agent:\n      - Octokit Ruby Gem 4.8.0\n      Content-Type:\n      - application/json\n      Accept-Encoding:\n      - gzip;q=1.0,deflate;q=0.6,identity;q=0.3\n  response:\n    status:\n      code: 404\n      message: Not Found\n    headers:\n      Server:\n      - GitHub.com\n      Date:\n      - Wed, 02 May 2018 11:00:49 GMT\n      Content-Type:\n      - application/json; charset=utf-8\n      Transfer-Encoding:\n      - chunked\n      Status:\n      - 404 Not Found\n      X-Ratelimit-Limit:\n      - '5000'\n      X-Ratelimit-Remaining:\n      - '4808'\n      X-Ratelimit-Reset:\n      - '1525259263'\n      X-Github-Media-Type:\n      - github.v3; param=html\n      Access-Control-Expose-Headers:\n      - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining,\n        X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval\n      Access-Control-Allow-Origin:\n      - \"*\"\n      Strict-Transport-Security:\n      - max-age=31536000; includeSubdomains; preload\n      X-Frame-Options:\n      - deny\n      X-Content-Type-Options:\n      - nosniff\n      X-Xss-Protection:\n      - 1; mode=block\n      Referrer-Policy:\n      - origin-when-cross-origin, strict-origin-when-cross-origin\n      Content-Security-Policy:\n      - default-src 'none'\n      X-Runtime-Rack:\n      - '0.019345'\n      X-Github-Request-Id:\n      - E35A:4EF4:2714BA:6172A5:5AE99A61\n    body:\n      encoding: ASCII-8BIT\n      string: '{\"message\":\"Not Found\",\"documentation_url\":\"https://developer.github.com/v3/repos/contents/#get-contents\"}'\n    http_version: \n  recorded_at: Wed, 02 May 2018 11:00:49 GMT\n- request:\n    method: get\n    uri: https://api.github.com/repos/fake/repository/contents/README.md?client_id=d05eb310ebf549e53889&client_secret=6a5988af12a8a012399e037d0586bf706c4bfbf0\n    body:\n      encoding: US-ASCII\n      string: ''\n    headers:\n      Accept:\n      - application/vnd.github.html\n      User-Agent:\n      - Octokit Ruby Gem 4.8.0\n      Content-Type:\n      - application/json\n      Accept-Encoding:\n      - gzip;q=1.0,deflate;q=0.6,identity;q=0.3\n  response:\n    status:\n      code: 404\n      message: Not Found\n    headers:\n      Server:\n      - GitHub.com\n      Date:\n      - Wed, 02 May 2018 11:00:50 GMT\n      Content-Type:\n      - application/json; charset=utf-8\n      Transfer-Encoding:\n      - chunked\n      Status:\n      - 404 Not Found\n      X-Ratelimit-Limit:\n      - '5000'\n      X-Ratelimit-Remaining:\n      - '4807'\n      X-Ratelimit-Reset:\n      - '1525259263'\n      X-Github-Media-Type:\n      - github.v3; param=html\n      Access-Control-Expose-Headers:\n      - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining,\n        X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval\n      Access-Control-Allow-Origin:\n      - \"*\"\n      Strict-Transport-Security:\n      - max-age=31536000; includeSubdomains; preload\n      X-Frame-Options:\n      - deny\n      X-Content-Type-Options:\n      - nosniff\n      X-Xss-Protection:\n      - 1; mode=block\n      Referrer-Policy:\n      - origin-when-cross-origin, strict-origin-when-cross-origin\n      Content-Security-Policy:\n      - default-src 'none'\n      X-Runtime-Rack:\n      - '0.023947'\n      X-Github-Request-Id:\n      - E35C:4EF1:614F18:BE5A88:5AE99A61\n    body:\n      encoding: ASCII-8BIT\n      string: '{\"message\":\"Not Found\",\"documentation_url\":\"https://developer.github.com/v3/repos/contents/#get-contents\"}'\n    http_version: \n  recorded_at: Wed, 02 May 2018 11:00:50 GMT\n- request:\n    method: get\n    uri: https://api.github.com/repos/nisevi/nisevi/contents/PITCH.md?client_id=d05eb310ebf549e53889&client_secret=6a5988af12a8a012399e037d0586bf706c4bfbf0\n    body:\n      encoding: US-ASCII\n      string: ''\n    headers:\n      Accept:\n      - application/vnd.github.html\n      User-Agent:\n      - Octokit Ruby Gem 4.8.0\n      Content-Type:\n      - application/json\n      Accept-Encoding:\n      - gzip;q=1.0,deflate;q=0.6,identity;q=0.3\n  response:\n    status:\n      code: 200\n      message: OK\n    headers:\n      Server:\n      - GitHub.com\n      Date:\n      - Wed, 02 May 2018 11:00:50 GMT\n      Content-Type:\n      - application/vnd.github.html; charset=utf-8\n      Content-Length:\n      - '805'\n      Status:\n      - 200 OK\n      X-Ratelimit-Limit:\n      - '5000'\n      X-Ratelimit-Remaining:\n      - '4806'\n      X-Ratelimit-Reset:\n      - '1525259263'\n      Cache-Control:\n      - public, max-age=60, s-maxage=60\n      Vary:\n      - Accept\n      Etag:\n      - '\"d25bb0737558204b4f0d08efc0519c53d2efd0cb\"'\n      Last-Modified:\n      - Tue, 01 May 2018 17:54:10 GMT\n      X-Github-Media-Type:\n      - github.v3; param=html\n      Access-Control-Expose-Headers:\n      - ETag, Link, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining,\n        X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval\n      Access-Control-Allow-Origin:\n      - \"*\"\n      Strict-Transport-Security:\n      - max-age=31536000; includeSubdomains; preload\n      X-Frame-Options:\n      - deny\n      X-Content-Type-Options:\n      - nosniff\n      X-Xss-Protection:\n      - 1; mode=block\n      Referrer-Policy:\n      - origin-when-cross-origin, strict-origin-when-cross-origin\n      Content-Security-Policy:\n      - default-src 'none'\n      X-Runtime-Rack:\n      - '0.040417'\n      X-Github-Request-Id:\n      - E35E:4EF1:614F98:BE5B71:5AE99A62\n    body:\n      encoding: UTF-8\n      string: |-\n        <div id=\"file\" class=\"announce instapaper_body md\" data-path=\"PITCH.md\"><article class=\"markdown-body entry-content\" itemprop=\"text\"><h1><a id=\"user-content-introduction\" class=\"anchor\" aria-hidden=\"true\" href=\"#introduction\"><svg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Introduction</h1>\n        <p>This project is a blog built by using Rails 5.</p>\n        </article></div>\n    http_version: \n  recorded_at: Wed, 02 May 2018 11:00:50 GMT\nrecorded_with: VCR 4.0.0\n"
  },
  {
    "path": "spec/fixtures/cassettes/scrums_controller/videos_by_query.yml",
    "content": "---\nhttp_interactions:\n- request:\n    method: get\n    uri: http://gdata.youtube.com/feeds/api/videos?max-results=20&orderby=published&q=AtlanticScrum%7CAmericasScrum%7CEuroScrum%20Pair%20Hookup&start-index=1&v=2\n    body:\n      encoding: US-ASCII\n      string: ''\n    headers:\n      Accept-Encoding:\n      - gzip;q=1.0,deflate;q=0.6,identity;q=0.3\n      Accept:\n      - \"*/*\"\n      User-Agent:\n      - Ruby\n  response:\n    status:\n      code: 200\n      message: OK\n    headers:\n      X-Gdata-User-Country:\n      - US\n      Content-Type:\n      - application/atom+xml; charset=UTF-8; type=feed\n      Expires:\n      - Thu, 07 Aug 2014 19:15:01 GMT\n      Date:\n      - Thu, 07 Aug 2014 19:15:01 GMT\n      Cache-Control:\n      - private, max-age=300, no-transform\n      Vary:\n      - \"*\"\n      Gdata-Version:\n      - '2.1'\n      Etag:\n      - W/\"Ak4EQHY4eyp7I2A9XRZUFE4.\"\n      Last-Modified:\n      - Thu, 07 Aug 2014 19:15:01 GMT\n      Transfer-Encoding:\n      - chunked\n      X-Content-Type-Options:\n      - nosniff\n      X-Frame-Options:\n      - SAMEORIGIN\n      X-Xss-Protection:\n      - 1; mode=block\n      Server:\n      - GSE\n      Alternate-Protocol:\n      - 80:quic\n    body:\n      encoding: UTF-8\n      string: \"<?xml version='1.0' encoding='UTF-8'?><feed xmlns='http://www.w3.org/2005/Atom'\n        xmlns:media='http://search.yahoo.com/mrss/' xmlns:openSearch='http://a9.com/-/spec/opensearch/1.1/'\n        xmlns:gd='http://schemas.google.com/g/2005' xmlns:yt='http://gdata.youtube.com/schemas/2007'\n        gd:etag='W/&quot;Ak4EQHY4eyp7I2A9XRZUFE4.&quot;'><id>tag:youtube.com,2008:videos</id><updated>2014-08-07T19:15:01.833Z</updated><category\n        scheme='http://schemas.google.com/g/2005#kind' term='http://gdata.youtube.com/schemas/2007#video'/><title>Videos\n        matching: AtlanticScrum|AmericasScrum|EuroScrum Pair Hookup</title><logo>http://www.gstatic.com/youtube/img/logo.png</logo><link\n        rel='alternate' type='text/html' href='http://www.youtube.com'/><link rel='http://schemas.google.com/g/2006#spellcorrection'\n        type='application/atom+xml' href='http://gdata.youtube.com/feeds/api/videos?q=Atlantic+Scrum%7CAmerica&apos;s+Scrum%7CEuro+Scrum+Pair+Hookup&amp;start-index=1&amp;max-results=20&amp;orderby=published&amp;oi=spell&amp;spell=1&amp;v=2'\n        title='Atlantic Scrum|America&apos;s Scrum|Euro Scrum Pair Hookup'/><link\n        rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://gdata.youtube.com/feeds/api/videos?v=2'/><link\n        rel='http://schemas.google.com/g/2005#batch' type='application/atom+xml' href='http://gdata.youtube.com/feeds/api/videos/batch?v=2'/><link\n        rel='self' type='application/atom+xml' href='http://gdata.youtube.com/feeds/api/videos?q=AtlanticScrum%7CAmericasScrum%7CEuroScrum+Pair+Hookup&amp;start-index=1&amp;max-results=20&amp;orderby=published&amp;v=2'/><link\n        rel='service' type='application/atomsvc+xml' href='http://gdata.youtube.com/feeds/api/videos?alt=atom-service&amp;v=2'/><link\n        rel='next' type='application/atom+xml' href='http://gdata.youtube.com/feeds/api/videos?q=AtlanticScrum%7CAmericasScrum%7CEuroScrum+Pair+Hookup&amp;start-index=21&amp;max-results=20&amp;orderby=published&amp;v=2'/><author><name>YouTube</name><uri>http://www.youtube.com/</uri></author><generator\n        version='2.1' uri='http://gdata.youtube.com'>YouTube data API</generator><openSearch:totalResults>1805</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>20</openSearch:itemsPerPage><entry\n        gd:etag='W/&quot;D0YDRn47eCp7I2A9XRZUFE4.&quot;'><id>tag:youtube.com,2008:video:secwIO1fabc</id><published>2014-08-07T18:07:54.000Z</published><updated>2014-08-07T18:12:57.000Z</updated><category\n        scheme='http://schemas.google.com/g/2005#kind' term='http://gdata.youtube.com/schemas/2007#video'/><category\n        scheme='http://gdata.youtube.com/schemas/2007/categories.cat' term='Entertainment'\n        label='Entertainment'/><title>AmericasScrum and Pair Hookup - Thursday, 7th\n        Aug at 06:00pm (UTC)</title><content type='application/x-shockwave-flash'\n        src='http://www.youtube.com/v/secwIO1fabc?version=3&amp;f=videos&amp;app=youtube_gdata'/><link\n        rel='alternate' type='text/html' href='http://www.youtube.com/watch?v=secwIO1fabc&amp;feature=youtube_gdata'/><link\n        rel='http://gdata.youtube.com/schemas/2007#video.related' type='application/atom+xml'\n        href='http://gdata.youtube.com/feeds/api/videos/secwIO1fabc/related?v=2'/><link\n        rel='http://gdata.youtube.com/schemas/2007#uploader' type='application/atom+xml'\n        href='http://gdata.youtube.com/feeds/api/users/EGV_WXdoIdga2AUQMCdd0Q?v=2'/><link\n        rel='self' type='application/atom+xml' href='http://gdata.youtube.com/feeds/api/videos/secwIO1fabc?v=2'/><author><name>Pavel\n        Gimelberg</name><uri>http://gdata.youtube.com/feeds/api/users/EGV_WXdoIdga2AUQMCdd0Q</uri><yt:userId>EGV_WXdoIdga2AUQMCdd0Q</yt:userId></author><yt:accessControl\n        action='comment' permission='allowed'/><yt:accessControl action='commentVote'\n        permission='allowed'/><yt:accessControl action='videoRespond' permission='moderated'/><yt:accessControl\n        action='rate' permission='allowed'/><yt:accessControl action='embed' permission='allowed'/><yt:accessControl\n        action='list' permission='allowed'/><yt:accessControl action='autoPlay' permission='allowed'/><yt:accessControl\n        action='syndicate' permission='allowed'/><gd:comments><gd:feedLink rel='http://gdata.youtube.com/schemas/2007#comments'\n        href='http://gdata.youtube.com/feeds/api/videos/secwIO1fabc/comments?v=2'\n        countHint='0'/></gd:comments><media:group><media:category label='Entertainment'\n        scheme='http://gdata.youtube.com/schemas/2007/categories.cat'>Entertainment</media:category><media:content\n        url='http://www.youtube.com/v/secwIO1fabc?version=3&amp;f=videos&amp;app=youtube_gdata'\n        type='application/x-shockwave-flash' medium='video' isDefault='true' expression='full'\n        duration='0' yt:format='5'/><media:credit role='uploader' scheme='urn:youtube'\n        yt:display='Pavel Gimelberg'>EGV_WXdoIdga2AUQMCdd0Q</media:credit><media:description\n        type='plain'>AmericasScrum and Pair Hookup - Thursday, 7th Aug at 06:00pm\n        (UTC)</media:description><media:keywords/><media:license type='text/html'\n        href='http://www.youtube.com/t/terms'>youtube</media:license><media:player\n        url='http://www.youtube.com/watch?v=secwIO1fabc&amp;feature=youtube_gdata_player'/><media:thumbnail\n        url='http://i.ytimg.com/vi/secwIO1fabc/default.jpg' height='90' width='120'\n        time='00:00:00' yt:name='default'/><media:thumbnail url='http://i.ytimg.com/vi/secwIO1fabc/mqdefault.jpg'\n        height='180' width='320' yt:name='mqdefault'/><media:thumbnail url='http://i.ytimg.com/vi/secwIO1fabc/hqdefault.jpg'\n        height='360' width='480' yt:name='hqdefault'/><media:thumbnail url='http://i.ytimg.com/vi/secwIO1fabc/1.jpg'\n        height='90' width='120' time='00:00:00' yt:name='start'/><media:thumbnail\n        url='http://i.ytimg.com/vi/secwIO1fabc/2.jpg' height='90' width='120' time='00:00:00'\n        yt:name='middle'/><media:thumbnail url='http://i.ytimg.com/vi/secwIO1fabc/3.jpg'\n        height='90' width='120' time='00:00:00' yt:name='end'/><media:title type='plain'>AmericasScrum\n        and Pair Hookup - Thursday, 7th Aug at 06:00pm (UTC)</media:title><yt:aspectRatio>widescreen</yt:aspectRatio><yt:duration\n        seconds='0'/><yt:uploaded>2014-08-07T18:07:54.000Z</yt:uploaded><yt:uploaderId>UCEGV_WXdoIdga2AUQMCdd0Q</yt:uploaderId><yt:videoid>secwIO1fabc</yt:videoid></media:group></entry><entry\n        gd:etag='W/&quot;CEYGQn47eCp7I2A9XRZUFE8.&quot;'><id>tag:youtube.com,2008:video:_uY_TQRc5PM</id><published>2014-08-07T14:35:23.000Z</published><updated>2014-08-07T14:35:23.000Z</updated><category\n        scheme='http://schemas.google.com/g/2005#kind' term='http://gdata.youtube.com/schemas/2007#video'/><category\n        scheme='http://gdata.youtube.com/schemas/2007/categories.cat' term='Entertainment'\n        label='Entertainment'/><title>AtlanticScrum and Pair Hookup - Thursday, 7th\n        Aug at 02:15pm (UTC)</title><content type='application/x-shockwave-flash'\n        src='http://www.youtube.com/v/_uY_TQRc5PM?version=3&amp;f=videos&amp;app=youtube_gdata'/><link\n        rel='alternate' type='text/html' href='http://www.youtube.com/watch?v=_uY_TQRc5PM&amp;feature=youtube_gdata'/><link\n        rel='http://gdata.youtube.com/schemas/2007#video.related' type='application/atom+xml'\n        href='http://gdata.youtube.com/feeds/api/videos/_uY_TQRc5PM/related?v=2'/><link\n        rel='http://gdata.youtube.com/schemas/2007#mobile' type='text/html' href='http://m.youtube.com/details?v=_uY_TQRc5PM'/><link\n        rel='http://gdata.youtube.com/schemas/2007#uploader' type='application/atom+xml'\n        href='http://gdata.youtube.com/feeds/api/users/QAfJk9oo7BwrfmrA05CrtQ?v=2'/><link\n        rel='self' type='application/atom+xml' href='http://gdata.youtube.com/feeds/api/videos/_uY_TQRc5PM?v=2'/><author><name>Ben\n        Patterson</name><uri>http://gdata.youtube.com/feeds/api/users/QAfJk9oo7BwrfmrA05CrtQ</uri><yt:userId>QAfJk9oo7BwrfmrA05CrtQ</yt:userId></author><yt:accessControl\n        action='comment' permission='allowed'/><yt:accessControl action='commentVote'\n        permission='allowed'/><yt:accessControl action='videoRespond' permission='moderated'/><yt:accessControl\n        action='rate' permission='allowed'/><yt:accessControl action='embed' permission='allowed'/><yt:accessControl\n        action='list' permission='allowed'/><yt:accessControl action='autoPlay' permission='allowed'/><yt:accessControl\n        action='syndicate' permission='allowed'/><gd:comments><gd:feedLink rel='http://gdata.youtube.com/schemas/2007#comments'\n        href='http://gdata.youtube.com/feeds/api/videos/_uY_TQRc5PM/comments?v=2'\n        countHint='0'/></gd:comments><yt:hd/><media:group><media:category label='Entertainment'\n        scheme='http://gdata.youtube.com/schemas/2007/categories.cat'>Entertainment</media:category><media:content\n        url='http://www.youtube.com/v/_uY_TQRc5PM?version=3&amp;f=videos&amp;app=youtube_gdata'\n        type='application/x-shockwave-flash' medium='video' isDefault='true' expression='full'\n        duration='255' yt:format='5'/><media:content url='rtsp://r2---sn-p5qlsu7e.c.youtube.com/CiILENy73wIaGQnz5FwETT_m_hMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp'\n        type='video/3gpp' medium='video' expression='full' duration='255' yt:format='1'/><media:content\n        url='rtsp://r2---sn-p5qlsu7e.c.youtube.com/CiILENy73wIaGQnz5FwETT_m_hMYESARFEgGUgZ2aWRlb3MM/0/0/0/video.3gp'\n        type='video/3gpp' medium='video' expression='full' duration='255' yt:format='6'/><media:credit\n        role='uploader' scheme='urn:youtube' yt:display='Ben Patterson'>QAfJk9oo7BwrfmrA05CrtQ</media:credit><media:description\n        type='plain'>AtlanticScrum and Pair Hookup - Thursday, 7th Aug at 02:15pm\n        (UTC)</media:description><media:keywords/><media:license type='text/html'\n        href='http://www.youtube.com/t/terms'>youtube</media:license><media:player\n        url='http://www.youtube.com/watch?v=_uY_TQRc5PM&amp;feature=youtube_gdata_player'/><media:thumbnail\n        url='http://i.ytimg.com/vi/_uY_TQRc5PM/default.jpg' height='90' width='120'\n        time='00:02:07.500' yt:name='default'/><media:thumbnail url='http://i.ytimg.com/vi/_uY_TQRc5PM/mqdefault.jpg'\n        height='180' width='320' yt:name='mqdefault'/><media:thumbnail url='http://i.ytimg.com/vi/_uY_TQRc5PM/hqdefault.jpg'\n        height='360' width='480' yt:name='hqdefault'/><media:thumbnail url='http://i.ytimg.com/vi/_uY_TQRc5PM/sddefault.jpg'\n        height='480' width='640' yt:name='sddefault'/><media:thumbnail url='http://i.ytimg.com/vi/_uY_TQRc5PM/1.jpg'\n        height='90' width='120' time='00:01:03.750' yt:name='start'/><media:thumbnail\n        url='http://i.ytimg.com/vi/_uY_TQRc5PM/2.jpg' height='90' width='120' time='00:02:07.500'\n        yt:name='middle'/><media:thumbnail url='http://i.ytimg.com/vi/_uY_TQRc5PM/3.jpg'\n        height='90' width='120' time='00:03:11.250' yt:name='end'/><media:title type='plain'>AtlanticScrum\n        and Pair Hookup - Thursday, 7th Aug at 02:15pm (UTC)</media:title><yt:aspectRatio>widescreen</yt:aspectRatio><yt:duration\n        seconds='255'/><yt:uploaded>2014-08-07T14:35:23.000Z</yt:uploaded><yt:uploaderId>UCQAfJk9oo7BwrfmrA05CrtQ</yt:uploaderId><yt:videoid>_uY_TQRc5PM</yt:videoid></media:group></entry><entry\n        gd:etag='W/&quot;CkUCR347eCp7I2A9XRZUE0g.&quot;'><id>tag:youtube.com,2008:video:APmGxwaQdoI</id><published>2014-08-06T18:37:46.000Z</published><updated>2014-08-06T18:37:46.000Z</updated><category\n        scheme='http://schemas.google.com/g/2005#kind' term='http://gdata.youtube.com/schemas/2007#video'/><category\n        scheme='http://gdata.youtube.com/schemas/2007/categories.cat' term='Entertainment'\n        label='Entertainment'/><title>AmericasScrum and Pair Hookup - Wednesday, 6th\n        Aug at 06:00pm (UTC)</title><content type='application/x-shockwave-flash'\n        src='http://www.youtube.com/v/APmGxwaQdoI?version=3&amp;f=videos&amp;app=youtube_gdata'/><link\n        rel='alternate' type='text/html' href='http://www.youtube.com/watch?v=APmGxwaQdoI&amp;feature=youtube_gdata'/><link\n        rel='http://gdata.youtube.com/schemas/2007#video.related' type='application/atom+xml'\n        href='http://gdata.youtube.com/feeds/api/videos/APmGxwaQdoI/related?v=2'/><link\n        rel='http://gdata.youtube.com/schemas/2007#mobile' type='text/html' href='http://m.youtube.com/details?v=APmGxwaQdoI'/><link\n        rel='http://gdata.youtube.com/schemas/2007#uploader' type='application/atom+xml'\n        href='http://gdata.youtube.com/feeds/api/users/EGV_WXdoIdga2AUQMCdd0Q?v=2'/><link\n        rel='self' type='application/atom+xml' href='http://gdata.youtube.com/feeds/api/videos/APmGxwaQdoI?v=2'/><author><name>Pavel\n        Gimelberg</name><uri>http://gdata.youtube.com/feeds/api/users/EGV_WXdoIdga2AUQMCdd0Q</uri><yt:userId>EGV_WXdoIdga2AUQMCdd0Q</yt:userId></author><yt:accessControl\n        action='comment' permission='allowed'/><yt:accessControl action='commentVote'\n        permission='allowed'/><yt:accessControl action='videoRespond' permission='moderated'/><yt:accessControl\n        action='rate' permission='allowed'/><yt:accessControl action='embed' permission='allowed'/><yt:accessControl\n        action='list' permission='allowed'/><yt:accessControl action='autoPlay' permission='allowed'/><yt:accessControl\n        action='syndicate' permission='allowed'/><gd:comments><gd:feedLink rel='http://gdata.youtube.com/schemas/2007#comments'\n        href='http://gdata.youtube.com/feeds/api/videos/APmGxwaQdoI/comments?v=2'\n        countHint='0'/></gd:comments><yt:hd/><media:group><media:category label='Entertainment'\n        scheme='http://gdata.youtube.com/schemas/2007/categories.cat'>Entertainment</media:category><media:content\n        url='http://www.youtube.com/v/APmGxwaQdoI?version=3&amp;f=videos&amp;app=youtube_gdata'\n        type='application/x-shockwave-flash' medium='video' isDefault='true' expression='full'\n        duration='472' yt:format='5'/><media:content url='rtsp://r4---sn-p5qlsu7r.c.youtube.com/CiILENy73wIaGQmCdpAGx4b5ABMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp'\n        type='video/3gpp' medium='video' expression='full' duration='472' yt:format='1'/><media:content\n        url='rtsp://r4---sn-p5qlsu7r.c.youtube.com/CiILENy73wIaGQmCdpAGx4b5ABMYESARFEgGUgZ2aWRlb3MM/0/0/0/video.3gp'\n        type='video/3gpp' medium='video' expression='full' duration='472' yt:format='6'/><media:credit\n        role='uploader' scheme='urn:youtube' yt:display='Pavel Gimelberg'>EGV_WXdoIdga2AUQMCdd0Q</media:credit><media:description\n        type='plain'>AmericasScrum and Pair Hookup - Wednesday, 6th Aug at 06:00pm\n        (UTC)</media:description><media:keywords/><media:license type='text/html'\n        href='http://www.youtube.com/t/terms'>youtube</media:license><media:player\n        url='http://www.youtube.com/watch?v=APmGxwaQdoI&amp;feature=youtube_gdata_player'/><media:thumbnail\n        url='http://i.ytimg.com/vi/APmGxwaQdoI/default.jpg' height='90' width='120'\n        time='00:03:56' yt:name='default'/><media:thumbnail url='http://i.ytimg.com/vi/APmGxwaQdoI/mqdefault.jpg'\n        height='180' width='320' yt:name='mqdefault'/><media:thumbnail url='http://i.ytimg.com/vi/APmGxwaQdoI/hqdefault.jpg'\n        height='360' width='480' yt:name='hqdefault'/><media:thumbnail url='http://i.ytimg.com/vi/APmGxwaQdoI/sddefault.jpg'\n        height='480' width='640' yt:name='sddefault'/><media:thumbnail url='http://i.ytimg.com/vi/APmGxwaQdoI/1.jpg'\n        height='90' width='120' time='00:01:58' yt:name='start'/><media:thumbnail\n        url='http://i.ytimg.com/vi/APmGxwaQdoI/2.jpg' height='90' width='120' time='00:03:56'\n        yt:name='middle'/><media:thumbnail url='http://i.ytimg.com/vi/APmGxwaQdoI/3.jpg'\n        height='90' width='120' time='00:05:54' yt:name='end'/><media:title type='plain'>AmericasScrum\n        and Pair Hookup - Wednesday, 6th Aug at 06:00pm (UTC)</media:title><yt:aspectRatio>widescreen</yt:aspectRatio><yt:duration\n        seconds='472'/><yt:uploaded>2014-08-06T18:37:46.000Z</yt:uploaded><yt:uploaderId>UCEGV_WXdoIdga2AUQMCdd0Q</yt:uploaderId><yt:videoid>APmGxwaQdoI</yt:videoid></media:group><yt:statistics\n        favoriteCount='0' viewCount='1'/></entry><entry gd:etag='W/&quot;CUUEQ347eCp7I2A9XRZUEks.&quot;'><id>tag:youtube.com,2008:video:4BhSzjZYMt8</id><published>2014-08-05T18:26:42.000Z</published><updated>2014-08-05T18:26:42.000Z</updated><category\n        scheme='http://schemas.google.com/g/2005#kind' term='http://gdata.youtube.com/schemas/2007#video'/><category\n        scheme='http://gdata.youtube.com/schemas/2007/categories.cat' term='Entertainment'\n        label='Entertainment'/><title>AmericasScrum and Pair Hookup - Tuesday, 5th\n        Aug at 06:00pm (UTC)</title><content type='application/x-shockwave-flash'\n        src='http://www.youtube.com/v/4BhSzjZYMt8?version=3&amp;f=videos&amp;app=youtube_gdata'/><link\n        rel='alternate' type='text/html' href='http://www.youtube.com/watch?v=4BhSzjZYMt8&amp;feature=youtube_gdata'/><link\n        rel='http://gdata.youtube.com/schemas/2007#video.related' type='application/atom+xml'\n        href='http://gdata.youtube.com/feeds/api/videos/4BhSzjZYMt8/related?v=2'/><link\n        rel='http://gdata.youtube.com/schemas/2007#mobile' type='text/html' href='http://m.youtube.com/details?v=4BhSzjZYMt8'/><link\n        rel='http://gdata.youtube.com/schemas/2007#uploader' type='application/atom+xml'\n        href='http://gdata.youtube.com/feeds/api/users/EGV_WXdoIdga2AUQMCdd0Q?v=2'/><link\n        rel='self' type='application/atom+xml' href='http://gdata.youtube.com/feeds/api/videos/4BhSzjZYMt8?v=2'/><author><name>Pavel\n        Gimelberg</name><uri>http://gdata.youtube.com/feeds/api/users/EGV_WXdoIdga2AUQMCdd0Q</uri><yt:userId>EGV_WXdoIdga2AUQMCdd0Q</yt:userId></author><yt:accessControl\n        action='comment' permission='allowed'/><yt:accessControl action='commentVote'\n        permission='allowed'/><yt:accessControl action='videoRespond' permission='moderated'/><yt:accessControl\n        action='rate' permission='allowed'/><yt:accessControl action='embed' permission='allowed'/><yt:accessControl\n        action='list' permission='allowed'/><yt:accessControl action='autoPlay' permission='allowed'/><yt:accessControl\n        action='syndicate' permission='allowed'/><gd:comments><gd:feedLink rel='http://gdata.youtube.com/schemas/2007#comments'\n        href='http://gdata.youtube.com/feeds/api/videos/4BhSzjZYMt8/comments?v=2'\n        countHint='0'/></gd:comments><yt:hd/><media:group><media:category label='Entertainment'\n        scheme='http://gdata.youtube.com/schemas/2007/categories.cat'>Entertainment</media:category><media:content\n        url='http://www.youtube.com/v/4BhSzjZYMt8?version=3&amp;f=videos&amp;app=youtube_gdata'\n        type='application/x-shockwave-flash' medium='video' isDefault='true' expression='full'\n        duration='662' yt:format='5'/><media:content url='rtsp://r2---sn-p5qlsu7l.c.youtube.com/CiILENy73wIaGQnfMlg2zlIY4BMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp'\n        type='video/3gpp' medium='video' expression='full' duration='662' yt:format='1'/><media:content\n        url='rtsp://r2---sn-p5qlsu7l.c.youtube.com/CiILENy73wIaGQnfMlg2zlIY4BMYESARFEgGUgZ2aWRlb3MM/0/0/0/video.3gp'\n        type='video/3gpp' medium='video' expression='full' duration='662' yt:format='6'/><media:credit\n        role='uploader' scheme='urn:youtube' yt:display='Pavel Gimelberg'>EGV_WXdoIdga2AUQMCdd0Q</media:credit><media:description\n        type='plain'>AmericasScrum and Pair Hookup - Tuesday, 5th Aug at 06:00pm (UTC)</media:description><media:keywords/><media:license\n        type='text/html' href='http://www.youtube.com/t/terms'>youtube</media:license><media:player\n        url='http://www.youtube.com/watch?v=4BhSzjZYMt8&amp;feature=youtube_gdata_player'/><media:thumbnail\n        url='http://i.ytimg.com/vi/4BhSzjZYMt8/default.jpg' height='90' width='120'\n        time='00:05:31' yt:name='default'/><media:thumbnail url='http://i.ytimg.com/vi/4BhSzjZYMt8/mqdefault.jpg'\n        height='180' width='320' yt:name='mqdefault'/><media:thumbnail url='http://i.ytimg.com/vi/4BhSzjZYMt8/hqdefault.jpg'\n        height='360' width='480' yt:name='hqdefault'/><media:thumbnail url='http://i.ytimg.com/vi/4BhSzjZYMt8/sddefault.jpg'\n        height='480' width='640' yt:name='sddefault'/><media:thumbnail url='http://i.ytimg.com/vi/4BhSzjZYMt8/1.jpg'\n        height='90' width='120' time='00:02:45.500' yt:name='start'/><media:thumbnail\n        url='http://i.ytimg.com/vi/4BhSzjZYMt8/2.jpg' height='90' width='120' time='00:05:31'\n        yt:name='middle'/><media:thumbnail url='http://i.ytimg.com/vi/4BhSzjZYMt8/3.jpg'\n        height='90' width='120' time='00:08:16.500' yt:name='end'/><media:title type='plain'>AmericasScrum\n        and Pair Hookup - Tuesday, 5th Aug at 06:00pm (UTC)</media:title><yt:aspectRatio>widescreen</yt:aspectRatio><yt:duration\n        seconds='662'/><yt:uploaded>2014-08-05T18:26:42.000Z</yt:uploaded><yt:uploaderId>UCEGV_WXdoIdga2AUQMCdd0Q</yt:uploaderId><yt:videoid>4BhSzjZYMt8</yt:videoid></media:group></entry><entry\n        gd:etag='W/&quot;CUINSH47eCp7I2A9XRZUEk4.&quot;'><id>tag:youtube.com,2008:video:PMj560Qd4Ts</id><published>2014-08-05T10:13:19.000Z</published><updated>2014-08-05T10:13:19.000Z</updated><category\n        scheme='http://schemas.google.com/g/2005#kind' term='http://gdata.youtube.com/schemas/2007#video'/><category\n        scheme='http://gdata.youtube.com/schemas/2007/categories.cat' term='Entertainment'\n        label='Entertainment'/><title>EuroScrum and Pair Hookup - Tuesday, 5th Aug\n        at 10:00am (UTC)</title><content type='application/x-shockwave-flash' src='http://www.youtube.com/v/PMj560Qd4Ts?version=3&amp;f=videos&amp;app=youtube_gdata'/><link\n        rel='alternate' type='text/html' href='http://www.youtube.com/watch?v=PMj560Qd4Ts&amp;feature=youtube_gdata'/><link\n        rel='http://gdata.youtube.com/schemas/2007#video.related' type='application/atom+xml'\n        href='http://gdata.youtube.com/feeds/api/videos/PMj560Qd4Ts/related?v=2'/><link\n        rel='http://gdata.youtube.com/schemas/2007#mobile' type='text/html' href='http://m.youtube.com/details?v=PMj560Qd4Ts'/><link\n        rel='http://gdata.youtube.com/schemas/2007#uploader' type='application/atom+xml'\n        href='http://gdata.youtube.com/feeds/api/users/bayZ3PUZyt3K-WmpE8Inng?v=2'/><link\n        rel='self' type='application/atom+xml' href='http://gdata.youtube.com/feeds/api/videos/PMj560Qd4Ts?v=2'/><author><name>Svetlio\n        Blyahoff</name><uri>http://gdata.youtube.com/feeds/api/users/sblyahoff</uri><yt:userId>bayZ3PUZyt3K-WmpE8Inng</yt:userId></author><yt:accessControl\n        action='comment' permission='allowed'/><yt:accessControl action='commentVote'\n        permission='allowed'/><yt:accessControl action='videoRespond' permission='moderated'/><yt:accessControl\n        action='rate' permission='allowed'/><yt:accessControl action='embed' permission='allowed'/><yt:accessControl\n        action='list' permission='allowed'/><yt:accessControl action='autoPlay' permission='allowed'/><yt:accessControl\n        action='syndicate' permission='allowed'/><gd:comments><gd:feedLink rel='http://gdata.youtube.com/schemas/2007#comments'\n        href='http://gdata.youtube.com/feeds/api/videos/PMj560Qd4Ts/comments?v=2'\n        countHint='0'/></gd:comments><yt:hd/><media:group><media:category label='Entertainment'\n        scheme='http://gdata.youtube.com/schemas/2007/categories.cat'>Entertainment</media:category><media:content\n        url='http://www.youtube.com/v/PMj560Qd4Ts?version=3&amp;f=videos&amp;app=youtube_gdata'\n        type='application/x-shockwave-flash' medium='video' isDefault='true' expression='full'\n        duration='365' yt:format='5'/><media:content url='rtsp://r2---sn-p5qlsu7s.c.youtube.com/CiILENy73wIaGQk74R1E6_nIPBMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp'\n        type='video/3gpp' medium='video' expression='full' duration='365' yt:format='1'/><media:content\n        url='rtsp://r2---sn-p5qlsu7s.c.youtube.com/CiILENy73wIaGQk74R1E6_nIPBMYESARFEgGUgZ2aWRlb3MM/0/0/0/video.3gp'\n        type='video/3gpp' medium='video' expression='full' duration='365' yt:format='6'/><media:credit\n        role='uploader' scheme='urn:youtube' yt:display='Svetlio Blyahoff'>sblyahoff</media:credit><media:description\n        type='plain'>EuroScrum and Pair Hookup - Tuesday, 5th Aug at 10:00am (UTC)</media:description><media:keywords/><media:license\n        type='text/html' href='http://www.youtube.com/t/terms'>youtube</media:license><media:player\n        url='http://www.youtube.com/watch?v=PMj560Qd4Ts&amp;feature=youtube_gdata_player'/><media:thumbnail\n        url='http://i.ytimg.com/vi/PMj560Qd4Ts/default.jpg' height='90' width='120'\n        time='00:03:02.500' yt:name='default'/><media:thumbnail url='http://i.ytimg.com/vi/PMj560Qd4Ts/mqdefault.jpg'\n        height='180' width='320' yt:name='mqdefault'/><media:thumbnail url='http://i.ytimg.com/vi/PMj560Qd4Ts/hqdefault.jpg'\n        height='360' width='480' yt:name='hqdefault'/><media:thumbnail url='http://i.ytimg.com/vi/PMj560Qd4Ts/sddefault.jpg'\n        height='480' width='640' yt:name='sddefault'/><media:thumbnail url='http://i.ytimg.com/vi/PMj560Qd4Ts/1.jpg'\n        height='90' width='120' time='00:01:31.250' yt:name='start'/><media:thumbnail\n        url='http://i.ytimg.com/vi/PMj560Qd4Ts/2.jpg' height='90' width='120' time='00:03:02.500'\n        yt:name='middle'/><media:thumbnail url='http://i.ytimg.com/vi/PMj560Qd4Ts/3.jpg'\n        height='90' width='120' time='00:04:33.750' yt:name='end'/><media:title type='plain'>EuroScrum\n        and Pair Hookup - Tuesday, 5th Aug at 10:00am (UTC)</media:title><yt:aspectRatio>widescreen</yt:aspectRatio><yt:duration\n        seconds='365'/><yt:uploaded>2014-08-05T10:13:19.000Z</yt:uploaded><yt:uploaderId>UCbayZ3PUZyt3K-WmpE8Inng</yt:uploaderId><yt:videoid>PMj560Qd4Ts</yt:videoid></media:group><yt:statistics\n        favoriteCount='0' viewCount='1'/></entry><entry gd:etag='W/&quot;DUANQn47eCp7I2A9XRZUEUo.&quot;'><id>tag:youtube.com,2008:video:9K6D9McdtoU</id><published>2014-08-04T18:43:13.000Z</published><updated>2014-08-04T18:43:13.000Z</updated><category\n        scheme='http://schemas.google.com/g/2005#kind' term='http://gdata.youtube.com/schemas/2007#video'/><category\n        scheme='http://gdata.youtube.com/schemas/2007/categories.cat' term='Entertainment'\n        label='Entertainment'/><title>AmericasScrum and Pair Hookup - Monday, 4th\n        Aug at 06:00pm (UTC)</title><content type='application/x-shockwave-flash'\n        src='http://www.youtube.com/v/9K6D9McdtoU?version=3&amp;f=videos&amp;app=youtube_gdata'/><link\n        rel='alternate' type='text/html' href='http://www.youtube.com/watch?v=9K6D9McdtoU&amp;feature=youtube_gdata'/><link\n        rel='http://gdata.youtube.com/schemas/2007#video.related' type='application/atom+xml'\n        href='http://gdata.youtube.com/feeds/api/videos/9K6D9McdtoU/related?v=2'/><link\n        rel='http://gdata.youtube.com/schemas/2007#mobile' type='text/html' href='http://m.youtube.com/details?v=9K6D9McdtoU'/><link\n        rel='http://gdata.youtube.com/schemas/2007#uploader' type='application/atom+xml'\n        href='http://gdata.youtube.com/feeds/api/users/EGV_WXdoIdga2AUQMCdd0Q?v=2'/><link\n        rel='self' type='application/atom+xml' href='http://gdata.youtube.com/feeds/api/videos/9K6D9McdtoU?v=2'/><author><name>Pavel\n        Gimelberg</name><uri>http://gdata.youtube.com/feeds/api/users/EGV_WXdoIdga2AUQMCdd0Q</uri><yt:userId>EGV_WXdoIdga2AUQMCdd0Q</yt:userId></author><yt:accessControl\n        action='comment' permission='allowed'/><yt:accessControl action='commentVote'\n        permission='allowed'/><yt:accessControl action='videoRespond' permission='moderated'/><yt:accessControl\n        action='rate' permission='allowed'/><yt:accessControl action='embed' permission='allowed'/><yt:accessControl\n        action='list' permission='allowed'/><yt:accessControl action='autoPlay' permission='allowed'/><yt:accessControl\n        action='syndicate' permission='allowed'/><gd:comments><gd:feedLink rel='http://gdata.youtube.com/schemas/2007#comments'\n        href='http://gdata.youtube.com/feeds/api/videos/9K6D9McdtoU/comments?v=2'\n        countHint='0'/></gd:comments><yt:hd/><media:group><media:category label='Entertainment'\n        scheme='http://gdata.youtube.com/schemas/2007/categories.cat'>Entertainment</media:category><media:content\n        url='http://www.youtube.com/v/9K6D9McdtoU?version=3&amp;f=videos&amp;app=youtube_gdata'\n        type='application/x-shockwave-flash' medium='video' isDefault='true' expression='full'\n        duration='1026' yt:format='5'/><media:content url='rtsp://r6---sn-p5qlsu7l.c.youtube.com/CiILENy73wIaGQmFth3H9IOu9BMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp'\n        type='video/3gpp' medium='video' expression='full' duration='1026' yt:format='1'/><media:content\n        url='rtsp://r6---sn-p5qlsu7l.c.youtube.com/CiILENy73wIaGQmFth3H9IOu9BMYESARFEgGUgZ2aWRlb3MM/0/0/0/video.3gp'\n        type='video/3gpp' medium='video' expression='full' duration='1026' yt:format='6'/><media:credit\n        role='uploader' scheme='urn:youtube' yt:display='Pavel Gimelberg'>EGV_WXdoIdga2AUQMCdd0Q</media:credit><media:description\n        type='plain'>AmericasScrum and Pair Hookup - Monday, 4th Aug at 06:00pm (UTC)</media:description><media:keywords/><media:license\n        type='text/html' href='http://www.youtube.com/t/terms'>youtube</media:license><media:player\n        url='http://www.youtube.com/watch?v=9K6D9McdtoU&amp;feature=youtube_gdata_player'/><media:thumbnail\n        url='http://i.ytimg.com/vi/9K6D9McdtoU/default.jpg' height='90' width='120'\n        time='00:08:33' yt:name='default'/><media:thumbnail url='http://i.ytimg.com/vi/9K6D9McdtoU/mqdefault.jpg'\n        height='180' width='320' yt:name='mqdefault'/><media:thumbnail url='http://i.ytimg.com/vi/9K6D9McdtoU/hqdefault.jpg'\n        height='360' width='480' yt:name='hqdefault'/><media:thumbnail url='http://i.ytimg.com/vi/9K6D9McdtoU/sddefault.jpg'\n        height='480' width='640' yt:name='sddefault'/><media:thumbnail url='http://i.ytimg.com/vi/9K6D9McdtoU/1.jpg'\n        height='90' width='120' time='00:04:16.500' yt:name='start'/><media:thumbnail\n        url='http://i.ytimg.com/vi/9K6D9McdtoU/2.jpg' height='90' width='120' time='00:08:33'\n        yt:name='middle'/><media:thumbnail url='http://i.ytimg.com/vi/9K6D9McdtoU/3.jpg'\n        height='90' width='120' time='00:12:49.500' yt:name='end'/><media:title type='plain'>AmericasScrum\n        and Pair Hookup - Monday, 4th Aug at 06:00pm (UTC)</media:title><yt:aspectRatio>widescreen</yt:aspectRatio><yt:duration\n        seconds='1026'/><yt:uploaded>2014-08-04T18:43:13.000Z</yt:uploaded><yt:uploaderId>UCEGV_WXdoIdga2AUQMCdd0Q</yt:uploaderId><yt:videoid>9K6D9McdtoU</yt:videoid></media:group></entry><entry\n        gd:etag='W/&quot;D0YMQ347eCp7I2A9XRZUEUs.&quot;'><id>tag:youtube.com,2008:video:G7DU5xI--28</id><published>2014-08-04T15:13:02.000Z</published><updated>2014-08-04T15:13:02.000Z</updated><category\n        scheme='http://schemas.google.com/g/2005#kind' term='http://gdata.youtube.com/schemas/2007#video'/><category\n        scheme='http://gdata.youtube.com/schemas/2007/categories.cat' term='Entertainment'\n        label='Entertainment'/><title>AtlanticScrum and Pair Hookup - Monday, 4th\n        Aug at 02:15pm (UTC)</title><content type='application/x-shockwave-flash'\n        src='http://www.youtube.com/v/G7DU5xI--28?version=3&amp;f=videos&amp;app=youtube_gdata'/><link\n        rel='alternate' type='text/html' href='http://www.youtube.com/watch?v=G7DU5xI--28&amp;feature=youtube_gdata'/><link\n        rel='http://gdata.youtube.com/schemas/2007#video.related' type='application/atom+xml'\n        href='http://gdata.youtube.com/feeds/api/videos/G7DU5xI--28/related?v=2'/><link\n        rel='http://gdata.youtube.com/schemas/2007#mobile' type='text/html' href='http://m.youtube.com/details?v=G7DU5xI--28'/><link\n        rel='http://gdata.youtube.com/schemas/2007#uploader' type='application/atom+xml'\n        href='http://gdata.youtube.com/feeds/api/users/A7se0_zonrOg9DFQY_xtRw?v=2'/><link\n        rel='self' type='application/atom+xml' href='http://gdata.youtube.com/feeds/api/videos/G7DU5xI--28?v=2'/><author><name>Jon\n        Engelbert</name><uri>http://gdata.youtube.com/feeds/api/users/A7se0_zonrOg9DFQY_xtRw</uri><yt:userId>A7se0_zonrOg9DFQY_xtRw</yt:userId></author><yt:accessControl\n        action='comment' permission='allowed'/><yt:accessControl action='commentVote'\n        permission='allowed'/><yt:accessControl action='videoRespond' permission='moderated'/><yt:accessControl\n        action='rate' permission='allowed'/><yt:accessControl action='embed' permission='allowed'/><yt:accessControl\n        action='list' permission='allowed'/><yt:accessControl action='autoPlay' permission='allowed'/><yt:accessControl\n        action='syndicate' permission='allowed'/><gd:comments><gd:feedLink rel='http://gdata.youtube.com/schemas/2007#comments'\n        href='http://gdata.youtube.com/feeds/api/videos/G7DU5xI--28/comments?v=2'\n        countHint='0'/></gd:comments><yt:hd/><media:group><media:category label='Entertainment'\n        scheme='http://gdata.youtube.com/schemas/2007/categories.cat'>Entertainment</media:category><media:content\n        url='http://www.youtube.com/v/G7DU5xI--28?version=3&amp;f=videos&amp;app=youtube_gdata'\n        type='application/x-shockwave-flash' medium='video' isDefault='true' expression='full'\n        duration='2296' yt:format='5'/><media:content url='rtsp://r8---sn-p5qlsu76.c.youtube.com/CiILENy73wIaGQlv-z4S59SwGxMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp'\n        type='video/3gpp' medium='video' expression='full' duration='2296' yt:format='1'/><media:content\n        url='rtsp://r8---sn-p5qlsu76.c.youtube.com/CiILENy73wIaGQlv-z4S59SwGxMYESARFEgGUgZ2aWRlb3MM/0/0/0/video.3gp'\n        type='video/3gpp' medium='video' expression='full' duration='2296' yt:format='6'/><media:credit\n        role='uploader' scheme='urn:youtube' yt:display='Jon Engelbert'>A7se0_zonrOg9DFQY_xtRw</media:credit><media:description\n        type='plain'>AtlanticScrum and Pair Hookup - Monday, 4th Aug at 02:15pm (UTC)</media:description><media:keywords/><media:license\n        type='text/html' href='http://www.youtube.com/t/terms'>youtube</media:license><media:player\n        url='http://www.youtube.com/watch?v=G7DU5xI--28&amp;feature=youtube_gdata_player'/><media:thumbnail\n        url='http://i.ytimg.com/vi/G7DU5xI--28/default.jpg' height='90' width='120'\n        time='00:19:08' yt:name='default'/><media:thumbnail url='http://i.ytimg.com/vi/G7DU5xI--28/mqdefault.jpg'\n        height='180' width='320' yt:name='mqdefault'/><media:thumbnail url='http://i.ytimg.com/vi/G7DU5xI--28/hqdefault.jpg'\n        height='360' width='480' yt:name='hqdefault'/><media:thumbnail url='http://i.ytimg.com/vi/G7DU5xI--28/sddefault.jpg'\n        height='480' width='640' yt:name='sddefault'/><media:thumbnail url='http://i.ytimg.com/vi/G7DU5xI--28/1.jpg'\n        height='90' width='120' time='00:09:34' yt:name='start'/><media:thumbnail\n        url='http://i.ytimg.com/vi/G7DU5xI--28/2.jpg' height='90' width='120' time='00:19:08'\n        yt:name='middle'/><media:thumbnail url='http://i.ytimg.com/vi/G7DU5xI--28/3.jpg'\n        height='90' width='120' time='00:28:42' yt:name='end'/><media:title type='plain'>AtlanticScrum\n        and Pair Hookup - Monday, 4th Aug at 02:15pm (UTC)</media:title><yt:aspectRatio>widescreen</yt:aspectRatio><yt:duration\n        seconds='2296'/><yt:uploaded>2014-08-04T15:13:02.000Z</yt:uploaded><yt:uploaderId>UCA7se0_zonrOg9DFQY_xtRw</yt:uploaderId><yt:videoid>G7DU5xI--28</yt:videoid></media:group></entry><entry\n        gd:etag='W/&quot;DU4ARH47eCp7I2A9XRZVGUw.&quot;'><id>tag:youtube.com,2008:video:UAmAQWMpQeI</id><published>2014-08-01T18:32:25.000Z</published><updated>2014-08-01T18:32:25.000Z</updated><category\n        scheme='http://schemas.google.com/g/2005#kind' term='http://gdata.youtube.com/schemas/2007#video'/><category\n        scheme='http://gdata.youtube.com/schemas/2007/categories.cat' term='Entertainment'\n        label='Entertainment'/><title>AmericasScrum and Pair Hookup - Friday, 1st\n        Aug at 06:00pm (UTC)</title><content type='application/x-shockwave-flash'\n        src='http://www.youtube.com/v/UAmAQWMpQeI?version=3&amp;f=videos&amp;app=youtube_gdata'/><link\n        rel='alternate' type='text/html' href='http://www.youtube.com/watch?v=UAmAQWMpQeI&amp;feature=youtube_gdata'/><link\n        rel='http://gdata.youtube.com/schemas/2007#video.related' type='application/atom+xml'\n        href='http://gdata.youtube.com/feeds/api/videos/UAmAQWMpQeI/related?v=2'/><link\n        rel='http://gdata.youtube.com/schemas/2007#mobile' type='text/html' href='http://m.youtube.com/details?v=UAmAQWMpQeI'/><link\n        rel='http://gdata.youtube.com/schemas/2007#uploader' type='application/atom+xml'\n        href='http://gdata.youtube.com/feeds/api/users/EGV_WXdoIdga2AUQMCdd0Q?v=2'/><link\n        rel='self' type='application/atom+xml' href='http://gdata.youtube.com/feeds/api/videos/UAmAQWMpQeI?v=2'/><author><name>Pavel\n        Gimelberg</name><uri>http://gdata.youtube.com/feeds/api/users/EGV_WXdoIdga2AUQMCdd0Q</uri><yt:userId>EGV_WXdoIdga2AUQMCdd0Q</yt:userId></author><yt:accessControl\n        action='comment' permission='allowed'/><yt:accessControl action='commentVote'\n        permission='allowed'/><yt:accessControl action='videoRespond' permission='moderated'/><yt:accessControl\n        action='rate' permission='allowed'/><yt:accessControl action='embed' permission='allowed'/><yt:accessControl\n        action='list' permission='allowed'/><yt:accessControl action='autoPlay' permission='allowed'/><yt:accessControl\n        action='syndicate' permission='allowed'/><gd:comments><gd:feedLink rel='http://gdata.youtube.com/schemas/2007#comments'\n        href='http://gdata.youtube.com/feeds/api/videos/UAmAQWMpQeI/comments?v=2'\n        countHint='0'/></gd:comments><yt:hd/><media:group><media:category label='Entertainment'\n        scheme='http://gdata.youtube.com/schemas/2007/categories.cat'>Entertainment</media:category><media:content\n        url='http://www.youtube.com/v/UAmAQWMpQeI?version=3&amp;f=videos&amp;app=youtube_gdata'\n        type='application/x-shockwave-flash' medium='video' isDefault='true' expression='full'\n        duration='821' yt:format='5'/><media:content url='rtsp://r4---sn-p5qlsu7k.c.youtube.com/CiILENy73wIaGQniQSljQYAJUBMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp'\n        type='video/3gpp' medium='video' expression='full' duration='821' yt:format='1'/><media:content\n        url='rtsp://r4---sn-p5qlsu7k.c.youtube.com/CiILENy73wIaGQniQSljQYAJUBMYESARFEgGUgZ2aWRlb3MM/0/0/0/video.3gp'\n        type='video/3gpp' medium='video' expression='full' duration='821' yt:format='6'/><media:credit\n        role='uploader' scheme='urn:youtube' yt:display='Pavel Gimelberg'>EGV_WXdoIdga2AUQMCdd0Q</media:credit><media:description\n        type='plain'>AmericasScrum and Pair Hookup - Friday, 1st Aug at 06:00pm (UTC)</media:description><media:keywords/><media:license\n        type='text/html' href='http://www.youtube.com/t/terms'>youtube</media:license><media:player\n        url='http://www.youtube.com/watch?v=UAmAQWMpQeI&amp;feature=youtube_gdata_player'/><media:thumbnail\n        url='http://i.ytimg.com/vi/UAmAQWMpQeI/default.jpg' height='90' width='120'\n        time='00:06:50.500' yt:name='default'/><media:thumbnail url='http://i.ytimg.com/vi/UAmAQWMpQeI/mqdefault.jpg'\n        height='180' width='320' yt:name='mqdefault'/><media:thumbnail url='http://i.ytimg.com/vi/UAmAQWMpQeI/hqdefault.jpg'\n        height='360' width='480' yt:name='hqdefault'/><media:thumbnail url='http://i.ytimg.com/vi/UAmAQWMpQeI/sddefault.jpg'\n        height='480' width='640' yt:name='sddefault'/><media:thumbnail url='http://i.ytimg.com/vi/UAmAQWMpQeI/1.jpg'\n        height='90' width='120' time='00:03:25.250' yt:name='start'/><media:thumbnail\n        url='http://i.ytimg.com/vi/UAmAQWMpQeI/2.jpg' height='90' width='120' time='00:06:50.500'\n        yt:name='middle'/><media:thumbnail url='http://i.ytimg.com/vi/UAmAQWMpQeI/3.jpg'\n        height='90' width='120' time='00:10:15.750' yt:name='end'/><media:title type='plain'>AmericasScrum\n        and Pair Hookup - Friday, 1st Aug at 06:00pm (UTC)</media:title><yt:aspectRatio>widescreen</yt:aspectRatio><yt:duration\n        seconds='821'/><yt:uploaded>2014-08-01T18:32:25.000Z</yt:uploaded><yt:uploaderId>UCEGV_WXdoIdga2AUQMCdd0Q</yt:uploaderId><yt:videoid>UAmAQWMpQeI</yt:videoid></media:group></entry><entry\n        gd:etag='W/&quot;C0UCQ347eCp7I2A9XRZVGE4.&quot;'><id>tag:youtube.com,2008:video:gMlfx_dUBYw</id><published>2014-07-31T18:27:42.000Z</published><updated>2014-07-31T18:27:42.000Z</updated><category\n        scheme='http://schemas.google.com/g/2005#kind' term='http://gdata.youtube.com/schemas/2007#video'/><category\n        scheme='http://gdata.youtube.com/schemas/2007/categories.cat' term='Entertainment'\n        label='Entertainment'/><title>AmericasScrum and Pair Hookup - Thursday, 31st\n        Jul at 06:00pm (UTC)</title><content type='application/x-shockwave-flash'\n        src='http://www.youtube.com/v/gMlfx_dUBYw?version=3&amp;f=videos&amp;app=youtube_gdata'/><link\n        rel='alternate' type='text/html' href='http://www.youtube.com/watch?v=gMlfx_dUBYw&amp;feature=youtube_gdata'/><link\n        rel='http://gdata.youtube.com/schemas/2007#video.related' type='application/atom+xml'\n        href='http://gdata.youtube.com/feeds/api/videos/gMlfx_dUBYw/related?v=2'/><link\n        rel='http://gdata.youtube.com/schemas/2007#mobile' type='text/html' href='http://m.youtube.com/details?v=gMlfx_dUBYw'/><link\n        rel='http://gdata.youtube.com/schemas/2007#uploader' type='application/atom+xml'\n        href='http://gdata.youtube.com/feeds/api/users/EGV_WXdoIdga2AUQMCdd0Q?v=2'/><link\n        rel='self' type='application/atom+xml' href='http://gdata.youtube.com/feeds/api/videos/gMlfx_dUBYw?v=2'/><author><name>Pavel\n        Gimelberg</name><uri>http://gdata.youtube.com/feeds/api/users/EGV_WXdoIdga2AUQMCdd0Q</uri><yt:userId>EGV_WXdoIdga2AUQMCdd0Q</yt:userId></author><yt:accessControl\n        action='comment' permission='allowed'/><yt:accessControl action='commentVote'\n        permission='allowed'/><yt:accessControl action='videoRespond' permission='moderated'/><yt:accessControl\n        action='rate' permission='allowed'/><yt:accessControl action='embed' permission='allowed'/><yt:accessControl\n        action='list' permission='allowed'/><yt:accessControl action='autoPlay' permission='allowed'/><yt:accessControl\n        action='syndicate' permission='allowed'/><gd:comments><gd:feedLink rel='http://gdata.youtube.com/schemas/2007#comments'\n        href='http://gdata.youtube.com/feeds/api/videos/gMlfx_dUBYw/comments?v=2'\n        countHint='0'/></gd:comments><yt:hd/><media:group><media:category label='Entertainment'\n        scheme='http://gdata.youtube.com/schemas/2007/categories.cat'>Entertainment</media:category><media:content\n        url='http://www.youtube.com/v/gMlfx_dUBYw?version=3&amp;f=videos&amp;app=youtube_gdata'\n        type='application/x-shockwave-flash' medium='video' isDefault='true' expression='full'\n        duration='706' yt:format='5'/><media:content url='rtsp://r4---sn-p5qlsu7d.c.youtube.com/CiILENy73wIaGQmMBVT3x1_JgBMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp'\n        type='video/3gpp' medium='video' expression='full' duration='706' yt:format='1'/><media:content\n        url='rtsp://r4---sn-p5qlsu7d.c.youtube.com/CiILENy73wIaGQmMBVT3x1_JgBMYESARFEgGUgZ2aWRlb3MM/0/0/0/video.3gp'\n        type='video/3gpp' medium='video' expression='full' duration='706' yt:format='6'/><media:credit\n        role='uploader' scheme='urn:youtube' yt:display='Pavel Gimelberg'>EGV_WXdoIdga2AUQMCdd0Q</media:credit><media:description\n        type='plain'>AmericasScrum and Pair Hookup - Thursday, 31st Jul at 06:00pm\n        (UTC)</media:description><media:keywords/><media:license type='text/html'\n        href='http://www.youtube.com/t/terms'>youtube</media:license><media:player\n        url='http://www.youtube.com/watch?v=gMlfx_dUBYw&amp;feature=youtube_gdata_player'/><media:thumbnail\n        url='http://i.ytimg.com/vi/gMlfx_dUBYw/default.jpg' height='90' width='120'\n        time='00:05:53' yt:name='default'/><media:thumbnail url='http://i.ytimg.com/vi/gMlfx_dUBYw/mqdefault.jpg'\n        height='180' width='320' yt:name='mqdefault'/><media:thumbnail url='http://i.ytimg.com/vi/gMlfx_dUBYw/hqdefault.jpg'\n        height='360' width='480' yt:name='hqdefault'/><media:thumbnail url='http://i.ytimg.com/vi/gMlfx_dUBYw/sddefault.jpg'\n        height='480' width='640' yt:name='sddefault'/><media:thumbnail url='http://i.ytimg.com/vi/gMlfx_dUBYw/1.jpg'\n        height='90' width='120' time='00:02:56.500' yt:name='start'/><media:thumbnail\n        url='http://i.ytimg.com/vi/gMlfx_dUBYw/2.jpg' height='90' width='120' time='00:05:53'\n        yt:name='middle'/><media:thumbnail url='http://i.ytimg.com/vi/gMlfx_dUBYw/3.jpg'\n        height='90' width='120' time='00:08:49.500' yt:name='end'/><media:title type='plain'>AmericasScrum\n        and Pair Hookup - Thursday, 31st Jul at 06:00pm (UTC)</media:title><yt:aspectRatio>widescreen</yt:aspectRatio><yt:duration\n        seconds='706'/><yt:uploaded>2014-07-31T18:27:42.000Z</yt:uploaded><yt:uploaderId>UCEGV_WXdoIdga2AUQMCdd0Q</yt:uploaderId><yt:videoid>gMlfx_dUBYw</yt:videoid></media:group></entry><entry\n        gd:etag='W/&quot;Dk4ARH47eCp7I2A9XRZVF0k.&quot;'><id>tag:youtube.com,2008:video:WrQj5e6jG5M</id><published>2014-07-30T18:29:05.000Z</published><updated>2014-07-30T18:29:05.000Z</updated><category\n        scheme='http://schemas.google.com/g/2005#kind' term='http://gdata.youtube.com/schemas/2007#video'/><category\n        scheme='http://gdata.youtube.com/schemas/2007/categories.cat' term='Entertainment'\n        label='Entertainment'/><title>AmericasScrum and Pair Hookup - Wednesday, 30th\n        Jul at 06:00pm (UTC)</title><content type='application/x-shockwave-flash'\n        src='http://www.youtube.com/v/WrQj5e6jG5M?version=3&amp;f=videos&amp;app=youtube_gdata'/><link\n        rel='alternate' type='text/html' href='http://www.youtube.com/watch?v=WrQj5e6jG5M&amp;feature=youtube_gdata'/><link\n        rel='http://gdata.youtube.com/schemas/2007#video.related' type='application/atom+xml'\n        href='http://gdata.youtube.com/feeds/api/videos/WrQj5e6jG5M/related?v=2'/><link\n        rel='http://gdata.youtube.com/schemas/2007#mobile' type='text/html' href='http://m.youtube.com/details?v=WrQj5e6jG5M'/><link\n        rel='http://gdata.youtube.com/schemas/2007#uploader' type='application/atom+xml'\n        href='http://gdata.youtube.com/feeds/api/users/EGV_WXdoIdga2AUQMCdd0Q?v=2'/><link\n        rel='self' type='application/atom+xml' href='http://gdata.youtube.com/feeds/api/videos/WrQj5e6jG5M?v=2'/><author><name>Pavel\n        Gimelberg</name><uri>http://gdata.youtube.com/feeds/api/users/EGV_WXdoIdga2AUQMCdd0Q</uri><yt:userId>EGV_WXdoIdga2AUQMCdd0Q</yt:userId></author><yt:accessControl\n        action='comment' permission='allowed'/><yt:accessControl action='commentVote'\n        permission='allowed'/><yt:accessControl action='videoRespond' permission='moderated'/><yt:accessControl\n        action='rate' permission='allowed'/><yt:accessControl action='embed' permission='allowed'/><yt:accessControl\n        action='list' permission='allowed'/><yt:accessControl action='autoPlay' permission='allowed'/><yt:accessControl\n        action='syndicate' permission='allowed'/><gd:comments><gd:feedLink rel='http://gdata.youtube.com/schemas/2007#comments'\n        href='http://gdata.youtube.com/feeds/api/videos/WrQj5e6jG5M/comments?v=2'\n        countHint='0'/></gd:comments><yt:hd/><media:group><media:category label='Entertainment'\n        scheme='http://gdata.youtube.com/schemas/2007/categories.cat'>Entertainment</media:category><media:content\n        url='http://www.youtube.com/v/WrQj5e6jG5M?version=3&amp;f=videos&amp;app=youtube_gdata'\n        type='application/x-shockwave-flash' medium='video' isDefault='true' expression='full'\n        duration='789' yt:format='5'/><media:content url='rtsp://r3---sn-p5qlsu7l.c.youtube.com/CiILENy73wIaGQmTG6Pu5SO0WhMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp'\n        type='video/3gpp' medium='video' expression='full' duration='789' yt:format='1'/><media:content\n        url='rtsp://r3---sn-p5qlsu7l.c.youtube.com/CiILENy73wIaGQmTG6Pu5SO0WhMYESARFEgGUgZ2aWRlb3MM/0/0/0/video.3gp'\n        type='video/3gpp' medium='video' expression='full' duration='789' yt:format='6'/><media:credit\n        role='uploader' scheme='urn:youtube' yt:display='Pavel Gimelberg'>EGV_WXdoIdga2AUQMCdd0Q</media:credit><media:description\n        type='plain'>AmericasScrum and Pair Hookup - Wednesday, 30th Jul at 06:00pm\n        (UTC)</media:description><media:keywords/><media:license type='text/html'\n        href='http://www.youtube.com/t/terms'>youtube</media:license><media:player\n        url='http://www.youtube.com/watch?v=WrQj5e6jG5M&amp;feature=youtube_gdata_player'/><media:thumbnail\n        url='http://i.ytimg.com/vi/WrQj5e6jG5M/default.jpg' height='90' width='120'\n        time='00:06:34.500' yt:name='default'/><media:thumbnail url='http://i.ytimg.com/vi/WrQj5e6jG5M/mqdefault.jpg'\n        height='180' width='320' yt:name='mqdefault'/><media:thumbnail url='http://i.ytimg.com/vi/WrQj5e6jG5M/hqdefault.jpg'\n        height='360' width='480' yt:name='hqdefault'/><media:thumbnail url='http://i.ytimg.com/vi/WrQj5e6jG5M/sddefault.jpg'\n        height='480' width='640' yt:name='sddefault'/><media:thumbnail url='http://i.ytimg.com/vi/WrQj5e6jG5M/1.jpg'\n        height='90' width='120' time='00:03:17.250' yt:name='start'/><media:thumbnail\n        url='http://i.ytimg.com/vi/WrQj5e6jG5M/2.jpg' height='90' width='120' time='00:06:34.500'\n        yt:name='middle'/><media:thumbnail url='http://i.ytimg.com/vi/WrQj5e6jG5M/3.jpg'\n        height='90' width='120' time='00:09:51.750' yt:name='end'/><media:title type='plain'>AmericasScrum\n        and Pair Hookup - Wednesday, 30th Jul at 06:00pm (UTC)</media:title><yt:aspectRatio>widescreen</yt:aspectRatio><yt:duration\n        seconds='789'/><yt:uploaded>2014-07-30T18:29:05.000Z</yt:uploaded><yt:uploaderId>UCEGV_WXdoIdga2AUQMCdd0Q</yt:uploaderId><yt:videoid>WrQj5e6jG5M</yt:videoid></media:group></entry><entry\n        gd:etag='W/&quot;C0UESX47eCp7I2A9XRZVF04.&quot;'><id>tag:youtube.com,2008:video:8Jq7tT-9-64</id><published>2014-07-30T14:40:08.000Z</published><updated>2014-07-30T14:40:08.000Z</updated><category\n        scheme='http://schemas.google.com/g/2005#kind' term='http://gdata.youtube.com/schemas/2007#video'/><category\n        scheme='http://gdata.youtube.com/schemas/2007/categories.cat' term='Entertainment'\n        label='Entertainment'/><title>AtlanticScrum and Pair Hookup - Wednesday, 30th\n        Jul at 02:15pm (UTC)</title><content type='application/x-shockwave-flash'\n        src='http://www.youtube.com/v/8Jq7tT-9-64?version=3&amp;f=videos&amp;app=youtube_gdata'/><link\n        rel='alternate' type='text/html' href='http://www.youtube.com/watch?v=8Jq7tT-9-64&amp;feature=youtube_gdata'/><link\n        rel='http://gdata.youtube.com/schemas/2007#video.related' type='application/atom+xml'\n        href='http://gdata.youtube.com/feeds/api/videos/8Jq7tT-9-64/related?v=2'/><link\n        rel='http://gdata.youtube.com/schemas/2007#mobile' type='text/html' href='http://m.youtube.com/details?v=8Jq7tT-9-64'/><link\n        rel='http://gdata.youtube.com/schemas/2007#uploader' type='application/atom+xml'\n        href='http://gdata.youtube.com/feeds/api/users/A7se0_zonrOg9DFQY_xtRw?v=2'/><link\n        rel='self' type='application/atom+xml' href='http://gdata.youtube.com/feeds/api/videos/8Jq7tT-9-64?v=2'/><author><name>Jon\n        Engelbert</name><uri>http://gdata.youtube.com/feeds/api/users/A7se0_zonrOg9DFQY_xtRw</uri><yt:userId>A7se0_zonrOg9DFQY_xtRw</yt:userId></author><yt:accessControl\n        action='comment' permission='allowed'/><yt:accessControl action='commentVote'\n        permission='allowed'/><yt:accessControl action='videoRespond' permission='moderated'/><yt:accessControl\n        action='rate' permission='allowed'/><yt:accessControl action='embed' permission='allowed'/><yt:accessControl\n        action='list' permission='allowed'/><yt:accessControl action='autoPlay' permission='allowed'/><yt:accessControl\n        action='syndicate' permission='allowed'/><gd:comments><gd:feedLink rel='http://gdata.youtube.com/schemas/2007#comments'\n        href='http://gdata.youtube.com/feeds/api/videos/8Jq7tT-9-64/comments?v=2'\n        countHint='0'/></gd:comments><yt:hd/><media:group><media:category label='Entertainment'\n        scheme='http://gdata.youtube.com/schemas/2007/categories.cat'>Entertainment</media:category><media:content\n        url='http://www.youtube.com/v/8Jq7tT-9-64?version=3&amp;f=videos&amp;app=youtube_gdata'\n        type='application/x-shockwave-flash' medium='video' isDefault='true' expression='full'\n        duration='21' yt:format='5'/><media:content url='rtsp://r8---sn-p5qlsu7k.c.youtube.com/CiILENy73wIaGQmu-70_tbua8BMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp'\n        type='video/3gpp' medium='video' expression='full' duration='21' yt:format='1'/><media:content\n        url='rtsp://r8---sn-p5qlsu7k.c.youtube.com/CiILENy73wIaGQmu-70_tbua8BMYESARFEgGUgZ2aWRlb3MM/0/0/0/video.3gp'\n        type='video/3gpp' medium='video' expression='full' duration='21' yt:format='6'/><media:credit\n        role='uploader' scheme='urn:youtube' yt:display='Jon Engelbert'>A7se0_zonrOg9DFQY_xtRw</media:credit><media:description\n        type='plain'>AtlanticScrum and Pair Hookup - Wednesday, 30th Jul at 02:15pm\n        (UTC)</media:description><media:keywords/><media:license type='text/html'\n        href='http://www.youtube.com/t/terms'>youtube</media:license><media:player\n        url='http://www.youtube.com/watch?v=8Jq7tT-9-64&amp;feature=youtube_gdata_player'/><media:thumbnail\n        url='http://i.ytimg.com/vi/8Jq7tT-9-64/default.jpg' height='90' width='120'\n        time='00:00:10.500' yt:name='default'/><media:thumbnail url='http://i.ytimg.com/vi/8Jq7tT-9-64/mqdefault.jpg'\n        height='180' width='320' yt:name='mqdefault'/><media:thumbnail url='http://i.ytimg.com/vi/8Jq7tT-9-64/hqdefault.jpg'\n        height='360' width='480' yt:name='hqdefault'/><media:thumbnail url='http://i.ytimg.com/vi/8Jq7tT-9-64/sddefault.jpg'\n        height='480' width='640' yt:name='sddefault'/><media:thumbnail url='http://i.ytimg.com/vi/8Jq7tT-9-64/1.jpg'\n        height='90' width='120' time='00:00:05.250' yt:name='start'/><media:thumbnail\n        url='http://i.ytimg.com/vi/8Jq7tT-9-64/2.jpg' height='90' width='120' time='00:00:10.500'\n        yt:name='middle'/><media:thumbnail url='http://i.ytimg.com/vi/8Jq7tT-9-64/3.jpg'\n        height='90' width='120' time='00:00:15.750' yt:name='end'/><media:title type='plain'>AtlanticScrum\n        and Pair Hookup - Wednesday, 30th Jul at 02:15pm (UTC)</media:title><yt:aspectRatio>widescreen</yt:aspectRatio><yt:duration\n        seconds='21'/><yt:uploaded>2014-07-30T14:40:08.000Z</yt:uploaded><yt:uploaderId>UCA7se0_zonrOg9DFQY_xtRw</yt:uploaderId><yt:videoid>8Jq7tT-9-64</yt:videoid></media:group><yt:statistics\n        favoriteCount='0' viewCount='1'/></entry><entry gd:etag='W/&quot;D04EQ347eCp7I2A9XRZVF0w.&quot;'><id>tag:youtube.com,2008:video:1IzEFH7ToSc</id><published>2014-07-30T10:25:02.000Z</published><updated>2014-07-30T10:25:02.000Z</updated><category\n        scheme='http://schemas.google.com/g/2005#kind' term='http://gdata.youtube.com/schemas/2007#video'/><category\n        scheme='http://gdata.youtube.com/schemas/2007/categories.cat' term='Entertainment'\n        label='Entertainment'/><title>EuroScrum and Pair Hookup - Wednesday, 30th\n        Jul at 10:00am (UTC)</title><content type='application/x-shockwave-flash'\n        src='http://www.youtube.com/v/1IzEFH7ToSc?version=3&amp;f=videos&amp;app=youtube_gdata'/><link\n        rel='alternate' type='text/html' href='http://www.youtube.com/watch?v=1IzEFH7ToSc&amp;feature=youtube_gdata'/><link\n        rel='http://gdata.youtube.com/schemas/2007#video.related' type='application/atom+xml'\n        href='http://gdata.youtube.com/feeds/api/videos/1IzEFH7ToSc/related?v=2'/><link\n        rel='http://gdata.youtube.com/schemas/2007#mobile' type='text/html' href='http://m.youtube.com/details?v=1IzEFH7ToSc'/><link\n        rel='http://gdata.youtube.com/schemas/2007#uploader' type='application/atom+xml'\n        href='http://gdata.youtube.com/feeds/api/users/gTOz02neY70sqnk05zNkGA?v=2'/><link\n        rel='self' type='application/atom+xml' href='http://gdata.youtube.com/feeds/api/videos/1IzEFH7ToSc?v=2'/><author><name>Yaro\n        Apletov</name><uri>http://gdata.youtube.com/feeds/api/users/gTOz02neY70sqnk05zNkGA</uri><yt:userId>gTOz02neY70sqnk05zNkGA</yt:userId></author><yt:accessControl\n        action='comment' permission='allowed'/><yt:accessControl action='commentVote'\n        permission='allowed'/><yt:accessControl action='videoRespond' permission='moderated'/><yt:accessControl\n        action='rate' permission='allowed'/><yt:accessControl action='embed' permission='allowed'/><yt:accessControl\n        action='list' permission='allowed'/><yt:accessControl action='autoPlay' permission='allowed'/><yt:accessControl\n        action='syndicate' permission='allowed'/><gd:comments><gd:feedLink rel='http://gdata.youtube.com/schemas/2007#comments'\n        href='http://gdata.youtube.com/feeds/api/videos/1IzEFH7ToSc/comments?v=2'\n        countHint='0'/></gd:comments><yt:hd/><media:group><media:category label='Entertainment'\n        scheme='http://gdata.youtube.com/schemas/2007/categories.cat'>Entertainment</media:category><media:content\n        url='http://www.youtube.com/v/1IzEFH7ToSc?version=3&amp;f=videos&amp;app=youtube_gdata'\n        type='application/x-shockwave-flash' medium='video' isDefault='true' expression='full'\n        duration='531' yt:format='5'/><media:content url='rtsp://r7---sn-p5qlsu7s.c.youtube.com/CiILENy73wIaGQknodN-FMSM1BMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp'\n        type='video/3gpp' medium='video' expression='full' duration='531' yt:format='1'/><media:content\n        url='rtsp://r7---sn-p5qlsu7s.c.youtube.com/CiILENy73wIaGQknodN-FMSM1BMYESARFEgGUgZ2aWRlb3MM/0/0/0/video.3gp'\n        type='video/3gpp' medium='video' expression='full' duration='531' yt:format='6'/><media:credit\n        role='uploader' scheme='urn:youtube' yt:display='Yaro Apletov'>gTOz02neY70sqnk05zNkGA</media:credit><media:description\n        type='plain'>EuroScrum and Pair Hookup - Wednesday, 30th Jul at 10:00am (UTC)</media:description><media:keywords/><media:license\n        type='text/html' href='http://www.youtube.com/t/terms'>youtube</media:license><media:player\n        url='http://www.youtube.com/watch?v=1IzEFH7ToSc&amp;feature=youtube_gdata_player'/><media:thumbnail\n        url='http://i.ytimg.com/vi/1IzEFH7ToSc/default.jpg' height='90' width='120'\n        time='00:04:25.500' yt:name='default'/><media:thumbnail url='http://i.ytimg.com/vi/1IzEFH7ToSc/mqdefault.jpg'\n        height='180' width='320' yt:name='mqdefault'/><media:thumbnail url='http://i.ytimg.com/vi/1IzEFH7ToSc/hqdefault.jpg'\n        height='360' width='480' yt:name='hqdefault'/><media:thumbnail url='http://i.ytimg.com/vi/1IzEFH7ToSc/sddefault.jpg'\n        height='480' width='640' yt:name='sddefault'/><media:thumbnail url='http://i.ytimg.com/vi/1IzEFH7ToSc/1.jpg'\n        height='90' width='120' time='00:02:12.750' yt:name='start'/><media:thumbnail\n        url='http://i.ytimg.com/vi/1IzEFH7ToSc/2.jpg' height='90' width='120' time='00:04:25.500'\n        yt:name='middle'/><media:thumbnail url='http://i.ytimg.com/vi/1IzEFH7ToSc/3.jpg'\n        height='90' width='120' time='00:06:38.250' yt:name='end'/><media:title type='plain'>EuroScrum\n        and Pair Hookup - Wednesday, 30th Jul at 10:00am (UTC)</media:title><yt:aspectRatio>widescreen</yt:aspectRatio><yt:duration\n        seconds='531'/><yt:uploaded>2014-07-30T10:25:02.000Z</yt:uploaded><yt:uploaderId>UCgTOz02neY70sqnk05zNkGA</yt:uploaderId><yt:videoid>1IzEFH7ToSc</yt:videoid></media:group><yt:statistics\n        favoriteCount='0' viewCount='1'/></entry><entry gd:etag='W/&quot;AkIFQH47eCp7I2A9XRZVFkg.&quot;'><id>tag:youtube.com,2008:video:WjnFV-FL1Tw</id><published>2014-07-29T18:28:31.000Z</published><updated>2014-07-29T18:28:31.000Z</updated><category\n        scheme='http://schemas.google.com/g/2005#kind' term='http://gdata.youtube.com/schemas/2007#video'/><category\n        scheme='http://gdata.youtube.com/schemas/2007/categories.cat' term='Entertainment'\n        label='Entertainment'/><title>AmericasScrum and Pair Hookup - Tuesday, 29th\n        Jul at 06:00pm (UTC)</title><content type='application/x-shockwave-flash'\n        src='http://www.youtube.com/v/WjnFV-FL1Tw?version=3&amp;f=videos&amp;app=youtube_gdata'/><link\n        rel='alternate' type='text/html' href='http://www.youtube.com/watch?v=WjnFV-FL1Tw&amp;feature=youtube_gdata'/><link\n        rel='http://gdata.youtube.com/schemas/2007#video.related' type='application/atom+xml'\n        href='http://gdata.youtube.com/feeds/api/videos/WjnFV-FL1Tw/related?v=2'/><link\n        rel='http://gdata.youtube.com/schemas/2007#mobile' type='text/html' href='http://m.youtube.com/details?v=WjnFV-FL1Tw'/><link\n        rel='http://gdata.youtube.com/schemas/2007#uploader' type='application/atom+xml'\n        href='http://gdata.youtube.com/feeds/api/users/EGV_WXdoIdga2AUQMCdd0Q?v=2'/><link\n        rel='self' type='application/atom+xml' href='http://gdata.youtube.com/feeds/api/videos/WjnFV-FL1Tw?v=2'/><author><name>Pavel\n        Gimelberg</name><uri>http://gdata.youtube.com/feeds/api/users/EGV_WXdoIdga2AUQMCdd0Q</uri><yt:userId>EGV_WXdoIdga2AUQMCdd0Q</yt:userId></author><yt:accessControl\n        action='comment' permission='allowed'/><yt:accessControl action='commentVote'\n        permission='allowed'/><yt:accessControl action='videoRespond' permission='moderated'/><yt:accessControl\n        action='rate' permission='allowed'/><yt:accessControl action='embed' permission='allowed'/><yt:accessControl\n        action='list' permission='allowed'/><yt:accessControl action='autoPlay' permission='allowed'/><yt:accessControl\n        action='syndicate' permission='allowed'/><gd:comments><gd:feedLink rel='http://gdata.youtube.com/schemas/2007#comments'\n        href='http://gdata.youtube.com/feeds/api/videos/WjnFV-FL1Tw/comments?v=2'\n        countHint='0'/></gd:comments><yt:hd/><media:group><media:category label='Entertainment'\n        scheme='http://gdata.youtube.com/schemas/2007/categories.cat'>Entertainment</media:category><media:content\n        url='http://www.youtube.com/v/WjnFV-FL1Tw?version=3&amp;f=videos&amp;app=youtube_gdata'\n        type='application/x-shockwave-flash' medium='video' isDefault='true' expression='full'\n        duration='846' yt:format='5'/><media:content url='rtsp://r4---sn-p5qlsu7r.c.youtube.com/CiILENy73wIaGQk81UvhV8U5WhMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp'\n        type='video/3gpp' medium='video' expression='full' duration='846' yt:format='1'/><media:content\n        url='rtsp://r4---sn-p5qlsu7r.c.youtube.com/CiILENy73wIaGQk81UvhV8U5WhMYESARFEgGUgZ2aWRlb3MM/0/0/0/video.3gp'\n        type='video/3gpp' medium='video' expression='full' duration='846' yt:format='6'/><media:credit\n        role='uploader' scheme='urn:youtube' yt:display='Pavel Gimelberg'>EGV_WXdoIdga2AUQMCdd0Q</media:credit><media:description\n        type='plain'>AmericasScrum and Pair Hookup - Tuesday, 29th Jul at 06:00pm\n        (UTC)</media:description><media:keywords/><media:license type='text/html'\n        href='http://www.youtube.com/t/terms'>youtube</media:license><media:player\n        url='http://www.youtube.com/watch?v=WjnFV-FL1Tw&amp;feature=youtube_gdata_player'/><media:thumbnail\n        url='http://i.ytimg.com/vi/WjnFV-FL1Tw/default.jpg' height='90' width='120'\n        time='00:07:03' yt:name='default'/><media:thumbnail url='http://i.ytimg.com/vi/WjnFV-FL1Tw/mqdefault.jpg'\n        height='180' width='320' yt:name='mqdefault'/><media:thumbnail url='http://i.ytimg.com/vi/WjnFV-FL1Tw/hqdefault.jpg'\n        height='360' width='480' yt:name='hqdefault'/><media:thumbnail url='http://i.ytimg.com/vi/WjnFV-FL1Tw/sddefault.jpg'\n        height='480' width='640' yt:name='sddefault'/><media:thumbnail url='http://i.ytimg.com/vi/WjnFV-FL1Tw/1.jpg'\n        height='90' width='120' time='00:03:31.500' yt:name='start'/><media:thumbnail\n        url='http://i.ytimg.com/vi/WjnFV-FL1Tw/2.jpg' height='90' width='120' time='00:07:03'\n        yt:name='middle'/><media:thumbnail url='http://i.ytimg.com/vi/WjnFV-FL1Tw/3.jpg'\n        height='90' width='120' time='00:10:34.500' yt:name='end'/><media:title type='plain'>AmericasScrum\n        and Pair Hookup - Tuesday, 29th Jul at 06:00pm (UTC)</media:title><yt:aspectRatio>widescreen</yt:aspectRatio><yt:duration\n        seconds='846'/><yt:uploaded>2014-07-29T18:28:31.000Z</yt:uploaded><yt:uploaderId>UCEGV_WXdoIdga2AUQMCdd0Q</yt:uploaderId><yt:videoid>WjnFV-FL1Tw</yt:videoid></media:group><yt:statistics\n        favoriteCount='0' viewCount='2'/></entry><entry gd:etag='W/&quot;DEcAR347eCp7I2A9XRZVFkk.&quot;'><id>tag:youtube.com,2008:video:4BzVfoojZnk</id><published>2014-07-29T14:59:07.000Z</published><updated>2014-07-29T15:00:46.000Z</updated><category\n        scheme='http://schemas.google.com/g/2005#kind' term='http://gdata.youtube.com/schemas/2007#video'/><category\n        scheme='http://gdata.youtube.com/schemas/2007/categories.cat' term='Entertainment'\n        label='Entertainment'/><title>AtlanticScrum and Pair Hookup - Tuesday, 29th\n        Jul at 02:15pm (UTC)</title><content type='application/x-shockwave-flash'\n        src='http://www.youtube.com/v/4BzVfoojZnk?version=3&amp;f=videos&amp;app=youtube_gdata'/><link\n        rel='alternate' type='text/html' href='http://www.youtube.com/watch?v=4BzVfoojZnk&amp;feature=youtube_gdata'/><link\n        rel='http://gdata.youtube.com/schemas/2007#video.related' type='application/atom+xml'\n        href='http://gdata.youtube.com/feeds/api/videos/4BzVfoojZnk/related?v=2'/><link\n        rel='http://gdata.youtube.com/schemas/2007#mobile' type='text/html' href='http://m.youtube.com/details?v=4BzVfoojZnk'/><link\n        rel='http://gdata.youtube.com/schemas/2007#uploader' type='application/atom+xml'\n        href='http://gdata.youtube.com/feeds/api/users/2w-vj4CkaMSUO6ZEVLPKSg?v=2'/><link\n        rel='self' type='application/atom+xml' href='http://gdata.youtube.com/feeds/api/videos/4BzVfoojZnk?v=2'/><author><name>Paul\n        McCulloch</name><uri>http://gdata.youtube.com/feeds/api/users/2w-vj4CkaMSUO6ZEVLPKSg</uri><yt:userId>2w-vj4CkaMSUO6ZEVLPKSg</yt:userId></author><yt:accessControl\n        action='comment' permission='allowed'/><yt:accessControl action='commentVote'\n        permission='allowed'/><yt:accessControl action='videoRespond' permission='moderated'/><yt:accessControl\n        action='rate' permission='allowed'/><yt:accessControl action='embed' permission='allowed'/><yt:accessControl\n        action='list' permission='allowed'/><yt:accessControl action='autoPlay' permission='allowed'/><yt:accessControl\n        action='syndicate' permission='allowed'/><gd:comments><gd:feedLink rel='http://gdata.youtube.com/schemas/2007#comments'\n        href='http://gdata.youtube.com/feeds/api/videos/4BzVfoojZnk/comments?v=2'\n        countHint='0'/></gd:comments><yt:hd/><media:group><media:category label='Entertainment'\n        scheme='http://gdata.youtube.com/schemas/2007/categories.cat'>Entertainment</media:category><media:content\n        url='http://www.youtube.com/v/4BzVfoojZnk?version=3&amp;f=videos&amp;app=youtube_gdata'\n        type='application/x-shockwave-flash' medium='video' isDefault='true' expression='full'\n        duration='541' yt:format='5'/><media:content url='rtsp://r1---sn-p5qlsu7z.c.youtube.com/CiILENy73wIaGQl5ZiOKftUc4BMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp'\n        type='video/3gpp' medium='video' expression='full' duration='541' yt:format='1'/><media:content\n        url='rtsp://r1---sn-p5qlsu7z.c.youtube.com/CiILENy73wIaGQl5ZiOKftUc4BMYESARFEgGUgZ2aWRlb3MM/0/0/0/video.3gp'\n        type='video/3gpp' medium='video' expression='full' duration='541' yt:format='6'/><media:credit\n        role='uploader' scheme='urn:youtube' yt:display='Paul McCulloch'>2w-vj4CkaMSUO6ZEVLPKSg</media:credit><media:description\n        type='plain'>AtlanticScrum and Pair Hookup - Tuesday, 29th Jul at 02:15pm\n        (UTC)</media:description><media:keywords/><media:license type='text/html'\n        href='http://www.youtube.com/t/terms'>youtube</media:license><media:player\n        url='http://www.youtube.com/watch?v=4BzVfoojZnk&amp;feature=youtube_gdata_player'/><media:thumbnail\n        url='http://i.ytimg.com/vi/4BzVfoojZnk/default.jpg' height='90' width='120'\n        time='00:04:30.500' yt:name='default'/><media:thumbnail url='http://i.ytimg.com/vi/4BzVfoojZnk/mqdefault.jpg'\n        height='180' width='320' yt:name='mqdefault'/><media:thumbnail url='http://i.ytimg.com/vi/4BzVfoojZnk/hqdefault.jpg'\n        height='360' width='480' yt:name='hqdefault'/><media:thumbnail url='http://i.ytimg.com/vi/4BzVfoojZnk/sddefault.jpg'\n        height='480' width='640' yt:name='sddefault'/><media:thumbnail url='http://i.ytimg.com/vi/4BzVfoojZnk/1.jpg'\n        height='90' width='120' time='00:02:15.250' yt:name='start'/><media:thumbnail\n        url='http://i.ytimg.com/vi/4BzVfoojZnk/2.jpg' height='90' width='120' time='00:04:30.500'\n        yt:name='middle'/><media:thumbnail url='http://i.ytimg.com/vi/4BzVfoojZnk/3.jpg'\n        height='90' width='120' time='00:06:45.750' yt:name='end'/><media:title type='plain'>AtlanticScrum\n        and Pair Hookup - Tuesday, 29th Jul at 02:15pm (UTC)</media:title><yt:aspectRatio>widescreen</yt:aspectRatio><yt:duration\n        seconds='541'/><yt:uploaded>2014-07-29T14:59:07.000Z</yt:uploaded><yt:uploaderId>UC2w-vj4CkaMSUO6ZEVLPKSg</yt:uploaderId><yt:videoid>4BzVfoojZnk</yt:videoid></media:group></entry><entry\n        gd:etag='W/&quot;CEMBSH47eCp7I2A9XRZVFUo.&quot;'><id>tag:youtube.com,2008:video:Q4g9pGJoZHs</id><published>2014-07-28T18:34:19.000Z</published><updated>2014-07-28T18:34:19.000Z</updated><category\n        scheme='http://schemas.google.com/g/2005#kind' term='http://gdata.youtube.com/schemas/2007#video'/><category\n        scheme='http://gdata.youtube.com/schemas/2007/categories.cat' term='Entertainment'\n        label='Entertainment'/><title>AmericasScrum and Pair Hookup - Monday, 28th\n        Jul at 06:00pm (UTC)</title><content type='application/x-shockwave-flash'\n        src='http://www.youtube.com/v/Q4g9pGJoZHs?version=3&amp;f=videos&amp;app=youtube_gdata'/><link\n        rel='alternate' type='text/html' href='http://www.youtube.com/watch?v=Q4g9pGJoZHs&amp;feature=youtube_gdata'/><link\n        rel='http://gdata.youtube.com/schemas/2007#video.related' type='application/atom+xml'\n        href='http://gdata.youtube.com/feeds/api/videos/Q4g9pGJoZHs/related?v=2'/><link\n        rel='http://gdata.youtube.com/schemas/2007#mobile' type='text/html' href='http://m.youtube.com/details?v=Q4g9pGJoZHs'/><link\n        rel='http://gdata.youtube.com/schemas/2007#uploader' type='application/atom+xml'\n        href='http://gdata.youtube.com/feeds/api/users/EGV_WXdoIdga2AUQMCdd0Q?v=2'/><link\n        rel='self' type='application/atom+xml' href='http://gdata.youtube.com/feeds/api/videos/Q4g9pGJoZHs?v=2'/><author><name>Pavel\n        Gimelberg</name><uri>http://gdata.youtube.com/feeds/api/users/EGV_WXdoIdga2AUQMCdd0Q</uri><yt:userId>EGV_WXdoIdga2AUQMCdd0Q</yt:userId></author><yt:accessControl\n        action='comment' permission='allowed'/><yt:accessControl action='commentVote'\n        permission='allowed'/><yt:accessControl action='videoRespond' permission='moderated'/><yt:accessControl\n        action='rate' permission='allowed'/><yt:accessControl action='embed' permission='allowed'/><yt:accessControl\n        action='list' permission='allowed'/><yt:accessControl action='autoPlay' permission='allowed'/><yt:accessControl\n        action='syndicate' permission='allowed'/><gd:comments><gd:feedLink rel='http://gdata.youtube.com/schemas/2007#comments'\n        href='http://gdata.youtube.com/feeds/api/videos/Q4g9pGJoZHs/comments?v=2'\n        countHint='0'/></gd:comments><yt:hd/><media:group><media:category label='Entertainment'\n        scheme='http://gdata.youtube.com/schemas/2007/categories.cat'>Entertainment</media:category><media:content\n        url='http://www.youtube.com/v/Q4g9pGJoZHs?version=3&amp;f=videos&amp;app=youtube_gdata'\n        type='application/x-shockwave-flash' medium='video' isDefault='true' expression='full'\n        duration='866' yt:format='5'/><media:content url='rtsp://r4---sn-p5qlsu7r.c.youtube.com/CiILENy73wIaGQl7ZGhipD2IQxMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp'\n        type='video/3gpp' medium='video' expression='full' duration='866' yt:format='1'/><media:content\n        url='rtsp://r4---sn-p5qlsu7r.c.youtube.com/CiILENy73wIaGQl7ZGhipD2IQxMYESARFEgGUgZ2aWRlb3MM/0/0/0/video.3gp'\n        type='video/3gpp' medium='video' expression='full' duration='866' yt:format='6'/><media:credit\n        role='uploader' scheme='urn:youtube' yt:display='Pavel Gimelberg'>EGV_WXdoIdga2AUQMCdd0Q</media:credit><media:description\n        type='plain'>AmericasScrum and Pair Hookup - Monday, 28th Jul at 06:00pm (UTC)</media:description><media:keywords/><media:license\n        type='text/html' href='http://www.youtube.com/t/terms'>youtube</media:license><media:player\n        url='http://www.youtube.com/watch?v=Q4g9pGJoZHs&amp;feature=youtube_gdata_player'/><media:thumbnail\n        url='http://i.ytimg.com/vi/Q4g9pGJoZHs/default.jpg' height='90' width='120'\n        time='00:07:13' yt:name='default'/><media:thumbnail url='http://i.ytimg.com/vi/Q4g9pGJoZHs/mqdefault.jpg'\n        height='180' width='320' yt:name='mqdefault'/><media:thumbnail url='http://i.ytimg.com/vi/Q4g9pGJoZHs/hqdefault.jpg'\n        height='360' width='480' yt:name='hqdefault'/><media:thumbnail url='http://i.ytimg.com/vi/Q4g9pGJoZHs/sddefault.jpg'\n        height='480' width='640' yt:name='sddefault'/><media:thumbnail url='http://i.ytimg.com/vi/Q4g9pGJoZHs/1.jpg'\n        height='90' width='120' time='00:03:36.500' yt:name='start'/><media:thumbnail\n        url='http://i.ytimg.com/vi/Q4g9pGJoZHs/2.jpg' height='90' width='120' time='00:07:13'\n        yt:name='middle'/><media:thumbnail url='http://i.ytimg.com/vi/Q4g9pGJoZHs/3.jpg'\n        height='90' width='120' time='00:10:49.500' yt:name='end'/><media:title type='plain'>AmericasScrum\n        and Pair Hookup - Monday, 28th Jul at 06:00pm (UTC)</media:title><yt:aspectRatio>widescreen</yt:aspectRatio><yt:duration\n        seconds='866'/><yt:uploaded>2014-07-28T18:34:19.000Z</yt:uploaded><yt:uploaderId>UCEGV_WXdoIdga2AUQMCdd0Q</yt:uploaderId><yt:videoid>Q4g9pGJoZHs</yt:videoid></media:group></entry><entry\n        gd:etag='W/&quot;A0QERH47eCp7I2A9XRZVFUg.&quot;'><id>tag:youtube.com,2008:video:9xyhLZcmSMM</id><published>2014-07-28T14:55:05.000Z</published><updated>2014-07-28T14:55:05.000Z</updated><category\n        scheme='http://schemas.google.com/g/2005#kind' term='http://gdata.youtube.com/schemas/2007#video'/><category\n        scheme='http://gdata.youtube.com/schemas/2007/categories.cat' term='Entertainment'\n        label='Entertainment'/><title>AtlanticScrum and Pair Hookup - Monday, 28th\n        Jul at 02:15pm (UTC)</title><content type='application/x-shockwave-flash'\n        src='http://www.youtube.com/v/9xyhLZcmSMM?version=3&amp;f=videos&amp;app=youtube_gdata'/><link\n        rel='alternate' type='text/html' href='http://www.youtube.com/watch?v=9xyhLZcmSMM&amp;feature=youtube_gdata'/><link\n        rel='http://gdata.youtube.com/schemas/2007#video.related' type='application/atom+xml'\n        href='http://gdata.youtube.com/feeds/api/videos/9xyhLZcmSMM/related?v=2'/><link\n        rel='http://gdata.youtube.com/schemas/2007#mobile' type='text/html' href='http://m.youtube.com/details?v=9xyhLZcmSMM'/><link\n        rel='http://gdata.youtube.com/schemas/2007#uploader' type='application/atom+xml'\n        href='http://gdata.youtube.com/feeds/api/users/TwDZCW4SIqz4SCB4NGjepA?v=2'/><link\n        rel='self' type='application/atom+xml' href='http://gdata.youtube.com/feeds/api/videos/9xyhLZcmSMM?v=2'/><author><name>Christian\n        Langlois</name><uri>http://gdata.youtube.com/feeds/api/users/TwDZCW4SIqz4SCB4NGjepA</uri><yt:userId>TwDZCW4SIqz4SCB4NGjepA</yt:userId></author><yt:accessControl\n        action='comment' permission='allowed'/><yt:accessControl action='commentVote'\n        permission='allowed'/><yt:accessControl action='videoRespond' permission='moderated'/><yt:accessControl\n        action='rate' permission='allowed'/><yt:accessControl action='embed' permission='allowed'/><yt:accessControl\n        action='list' permission='allowed'/><yt:accessControl action='autoPlay' permission='allowed'/><yt:accessControl\n        action='syndicate' permission='allowed'/><gd:comments><gd:feedLink rel='http://gdata.youtube.com/schemas/2007#comments'\n        href='http://gdata.youtube.com/feeds/api/videos/9xyhLZcmSMM/comments?v=2'\n        countHint='0'/></gd:comments><yt:hd/><media:group><media:category label='Entertainment'\n        scheme='http://gdata.youtube.com/schemas/2007/categories.cat'>Entertainment</media:category><media:content\n        url='http://www.youtube.com/v/9xyhLZcmSMM?version=3&amp;f=videos&amp;app=youtube_gdata'\n        type='application/x-shockwave-flash' medium='video' isDefault='true' expression='full'\n        duration='6' yt:format='5'/><media:content url='rtsp://r8---sn-p5qlsu7z.c.youtube.com/CiILENy73wIaGQnDSCaXLaEc9xMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp'\n        type='video/3gpp' medium='video' expression='full' duration='6' yt:format='1'/><media:content\n        url='rtsp://r8---sn-p5qlsu7z.c.youtube.com/CiILENy73wIaGQnDSCaXLaEc9xMYESARFEgGUgZ2aWRlb3MM/0/0/0/video.3gp'\n        type='video/3gpp' medium='video' expression='full' duration='6' yt:format='6'/><media:credit\n        role='uploader' scheme='urn:youtube' yt:display='Christian Langlois'>TwDZCW4SIqz4SCB4NGjepA</media:credit><media:description\n        type='plain'>AtlanticScrum and Pair Hookup - Monday, 28th Jul at 02:15pm (UTC)</media:description><media:keywords/><media:license\n        type='text/html' href='http://www.youtube.com/t/terms'>youtube</media:license><media:player\n        url='http://www.youtube.com/watch?v=9xyhLZcmSMM&amp;feature=youtube_gdata_player'/><media:thumbnail\n        url='http://i.ytimg.com/vi/9xyhLZcmSMM/default.jpg' height='90' width='120'\n        time='00:00:03' yt:name='default'/><media:thumbnail url='http://i.ytimg.com/vi/9xyhLZcmSMM/mqdefault.jpg'\n        height='180' width='320' yt:name='mqdefault'/><media:thumbnail url='http://i.ytimg.com/vi/9xyhLZcmSMM/hqdefault.jpg'\n        height='360' width='480' yt:name='hqdefault'/><media:thumbnail url='http://i.ytimg.com/vi/9xyhLZcmSMM/sddefault.jpg'\n        height='480' width='640' yt:name='sddefault'/><media:thumbnail url='http://i.ytimg.com/vi/9xyhLZcmSMM/1.jpg'\n        height='90' width='120' time='00:00:01.500' yt:name='start'/><media:thumbnail\n        url='http://i.ytimg.com/vi/9xyhLZcmSMM/2.jpg' height='90' width='120' time='00:00:03'\n        yt:name='middle'/><media:thumbnail url='http://i.ytimg.com/vi/9xyhLZcmSMM/3.jpg'\n        height='90' width='120' time='00:00:04.500' yt:name='end'/><media:title type='plain'>AtlanticScrum\n        and Pair Hookup - Monday, 28th Jul at 02:15pm (UTC)</media:title><yt:aspectRatio>widescreen</yt:aspectRatio><yt:duration\n        seconds='6'/><yt:uploaded>2014-07-28T14:55:05.000Z</yt:uploaded><yt:uploaderId>UCTwDZCW4SIqz4SCB4NGjepA</yt:uploaderId><yt:videoid>9xyhLZcmSMM</yt:videoid></media:group></entry><entry\n        gd:etag='W/&quot;D0QMQX47eCp7I2A9XRZVFEU.&quot;'><id>tag:youtube.com,2008:video:H3GI5FKKE9Q</id><published>2014-07-27T18:22:55.000Z</published><updated>2014-07-27T18:23:00.000Z</updated><category\n        scheme='http://schemas.google.com/g/2005#kind' term='http://gdata.youtube.com/schemas/2007#video'/><category\n        scheme='http://gdata.youtube.com/schemas/2007/categories.cat' term='Entertainment'\n        label='Entertainment'/><title>AmericasScrum and Pair Hookup - Sunday, 27th\n        Jul at 06:00pm (UTC)</title><content type='application/x-shockwave-flash'\n        src='http://www.youtube.com/v/H3GI5FKKE9Q?version=3&amp;f=videos&amp;app=youtube_gdata'/><link\n        rel='alternate' type='text/html' href='http://www.youtube.com/watch?v=H3GI5FKKE9Q&amp;feature=youtube_gdata'/><link\n        rel='http://gdata.youtube.com/schemas/2007#video.related' type='application/atom+xml'\n        href='http://gdata.youtube.com/feeds/api/videos/H3GI5FKKE9Q/related?v=2'/><link\n        rel='http://gdata.youtube.com/schemas/2007#mobile' type='text/html' href='http://m.youtube.com/details?v=H3GI5FKKE9Q'/><link\n        rel='http://gdata.youtube.com/schemas/2007#uploader' type='application/atom+xml'\n        href='http://gdata.youtube.com/feeds/api/users/2w-vj4CkaMSUO6ZEVLPKSg?v=2'/><link\n        rel='self' type='application/atom+xml' href='http://gdata.youtube.com/feeds/api/videos/H3GI5FKKE9Q?v=2'/><author><name>Paul\n        McCulloch</name><uri>http://gdata.youtube.com/feeds/api/users/2w-vj4CkaMSUO6ZEVLPKSg</uri><yt:userId>2w-vj4CkaMSUO6ZEVLPKSg</yt:userId></author><yt:accessControl\n        action='comment' permission='allowed'/><yt:accessControl action='commentVote'\n        permission='allowed'/><yt:accessControl action='videoRespond' permission='moderated'/><yt:accessControl\n        action='rate' permission='allowed'/><yt:accessControl action='embed' permission='allowed'/><yt:accessControl\n        action='list' permission='allowed'/><yt:accessControl action='autoPlay' permission='allowed'/><yt:accessControl\n        action='syndicate' permission='allowed'/><gd:comments><gd:feedLink rel='http://gdata.youtube.com/schemas/2007#comments'\n        href='http://gdata.youtube.com/feeds/api/videos/H3GI5FKKE9Q/comments?v=2'\n        countHint='0'/></gd:comments><yt:hd/><media:group><media:category label='Entertainment'\n        scheme='http://gdata.youtube.com/schemas/2007/categories.cat'>Entertainment</media:category><media:content\n        url='http://www.youtube.com/v/H3GI5FKKE9Q?version=3&amp;f=videos&amp;app=youtube_gdata'\n        type='application/x-shockwave-flash' medium='video' isDefault='true' expression='full'\n        duration='11' yt:format='5'/><media:content url='rtsp://r5---sn-p5qlsu7e.c.youtube.com/CiILENy73wIaGQnUE4pS5IhxHxMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp'\n        type='video/3gpp' medium='video' expression='full' duration='11' yt:format='1'/><media:content\n        url='rtsp://r5---sn-p5qlsu7e.c.youtube.com/CiILENy73wIaGQnUE4pS5IhxHxMYESARFEgGUgZ2aWRlb3MM/0/0/0/video.3gp'\n        type='video/3gpp' medium='video' expression='full' duration='11' yt:format='6'/><media:credit\n        role='uploader' scheme='urn:youtube' yt:display='Paul McCulloch'>2w-vj4CkaMSUO6ZEVLPKSg</media:credit><media:description\n        type='plain'>AmericasScrum and Pair Hookup - Sunday, 27th Jul at 06:00pm (UTC)</media:description><media:keywords/><media:license\n        type='text/html' href='http://www.youtube.com/t/terms'>youtube</media:license><media:player\n        url='http://www.youtube.com/watch?v=H3GI5FKKE9Q&amp;feature=youtube_gdata_player'/><media:thumbnail\n        url='http://i.ytimg.com/vi/H3GI5FKKE9Q/default.jpg' height='90' width='120'\n        time='00:00:05.500' yt:name='default'/><media:thumbnail url='http://i.ytimg.com/vi/H3GI5FKKE9Q/mqdefault.jpg'\n        height='180' width='320' yt:name='mqdefault'/><media:thumbnail url='http://i.ytimg.com/vi/H3GI5FKKE9Q/hqdefault.jpg'\n        height='360' width='480' yt:name='hqdefault'/><media:thumbnail url='http://i.ytimg.com/vi/H3GI5FKKE9Q/sddefault.jpg'\n        height='480' width='640' yt:name='sddefault'/><media:thumbnail url='http://i.ytimg.com/vi/H3GI5FKKE9Q/1.jpg'\n        height='90' width='120' time='00:00:02.750' yt:name='start'/><media:thumbnail\n        url='http://i.ytimg.com/vi/H3GI5FKKE9Q/2.jpg' height='90' width='120' time='00:00:05.500'\n        yt:name='middle'/><media:thumbnail url='http://i.ytimg.com/vi/H3GI5FKKE9Q/3.jpg'\n        height='90' width='120' time='00:00:08.250' yt:name='end'/><media:title type='plain'>AmericasScrum\n        and Pair Hookup - Sunday, 27th Jul at 06:00pm (UTC)</media:title><yt:aspectRatio>widescreen</yt:aspectRatio><yt:duration\n        seconds='11'/><yt:uploaded>2014-07-27T18:22:55.000Z</yt:uploaded><yt:uploaderId>UC2w-vj4CkaMSUO6ZEVLPKSg</yt:uploaderId><yt:videoid>H3GI5FKKE9Q</yt:videoid></media:group><yt:statistics\n        favoriteCount='0' viewCount='1'/></entry><entry gd:etag='W/&quot;C08HRH47eCp7I2A9XRZVE00.&quot;'><id>tag:youtube.com,2008:video:TJ5yehlaNDY</id><published>2014-07-25T15:23:55.000Z</published><updated>2014-07-25T15:23:55.000Z</updated><category\n        scheme='http://schemas.google.com/g/2005#kind' term='http://gdata.youtube.com/schemas/2007#video'/><category\n        scheme='http://gdata.youtube.com/schemas/2007/categories.cat' term='Entertainment'\n        label='Entertainment'/><title>AtlanticScrum and Pair Hookup - Friday, 25th\n        Jul at 02:15pm (UTC)</title><content type='application/x-shockwave-flash'\n        src='http://www.youtube.com/v/TJ5yehlaNDY?version=3&amp;f=videos&amp;app=youtube_gdata'/><link\n        rel='alternate' type='text/html' href='http://www.youtube.com/watch?v=TJ5yehlaNDY&amp;feature=youtube_gdata'/><link\n        rel='http://gdata.youtube.com/schemas/2007#video.related' type='application/atom+xml'\n        href='http://gdata.youtube.com/feeds/api/videos/TJ5yehlaNDY/related?v=2'/><link\n        rel='http://gdata.youtube.com/schemas/2007#mobile' type='text/html' href='http://m.youtube.com/details?v=TJ5yehlaNDY'/><link\n        rel='http://gdata.youtube.com/schemas/2007#uploader' type='application/atom+xml'\n        href='http://gdata.youtube.com/feeds/api/users/PKcVnukjy0kxc2fFDad2cw?v=2'/><link\n        rel='self' type='application/atom+xml' href='http://gdata.youtube.com/feeds/api/videos/TJ5yehlaNDY?v=2'/><author><name>freecee833</name><uri>http://gdata.youtube.com/feeds/api/users/freecee833</uri><yt:userId>PKcVnukjy0kxc2fFDad2cw</yt:userId></author><yt:accessControl\n        action='comment' permission='allowed'/><yt:accessControl action='commentVote'\n        permission='allowed'/><yt:accessControl action='videoRespond' permission='moderated'/><yt:accessControl\n        action='rate' permission='allowed'/><yt:accessControl action='embed' permission='allowed'/><yt:accessControl\n        action='list' permission='allowed'/><yt:accessControl action='autoPlay' permission='allowed'/><yt:accessControl\n        action='syndicate' permission='allowed'/><gd:comments><gd:feedLink rel='http://gdata.youtube.com/schemas/2007#comments'\n        href='http://gdata.youtube.com/feeds/api/videos/TJ5yehlaNDY/comments?v=2'\n        countHint='0'/></gd:comments><yt:hd/><media:group><media:category label='Entertainment'\n        scheme='http://gdata.youtube.com/schemas/2007/categories.cat'>Entertainment</media:category><media:content\n        url='http://www.youtube.com/v/TJ5yehlaNDY?version=3&amp;f=videos&amp;app=youtube_gdata'\n        type='application/x-shockwave-flash' medium='video' isDefault='true' expression='full'\n        duration='3585' yt:format='5'/><media:content url='rtsp://r5---sn-p5qlsu7e.c.youtube.com/CiILENy73wIaGQk2NFoZenKeTBMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp'\n        type='video/3gpp' medium='video' expression='full' duration='3585' yt:format='1'/><media:content\n        url='rtsp://r5---sn-p5qlsu7e.c.youtube.com/CiILENy73wIaGQk2NFoZenKeTBMYESARFEgGUgZ2aWRlb3MM/0/0/0/video.3gp'\n        type='video/3gpp' medium='video' expression='full' duration='3585' yt:format='6'/><media:credit\n        role='uploader' scheme='urn:youtube' yt:display='freecee833'>freecee833</media:credit><media:description\n        type='plain'>AtlanticScrum and Pair Hookup - Friday, 25th Jul at 02:15pm (UTC)</media:description><media:keywords/><media:license\n        type='text/html' href='http://www.youtube.com/t/terms'>youtube</media:license><media:player\n        url='http://www.youtube.com/watch?v=TJ5yehlaNDY&amp;feature=youtube_gdata_player'/><media:thumbnail\n        url='http://i.ytimg.com/vi/TJ5yehlaNDY/default.jpg' height='90' width='120'\n        time='00:29:52.500' yt:name='default'/><media:thumbnail url='http://i.ytimg.com/vi/TJ5yehlaNDY/mqdefault.jpg'\n        height='180' width='320' yt:name='mqdefault'/><media:thumbnail url='http://i.ytimg.com/vi/TJ5yehlaNDY/hqdefault.jpg'\n        height='360' width='480' yt:name='hqdefault'/><media:thumbnail url='http://i.ytimg.com/vi/TJ5yehlaNDY/sddefault.jpg'\n        height='480' width='640' yt:name='sddefault'/><media:thumbnail url='http://i.ytimg.com/vi/TJ5yehlaNDY/1.jpg'\n        height='90' width='120' time='00:14:56.250' yt:name='start'/><media:thumbnail\n        url='http://i.ytimg.com/vi/TJ5yehlaNDY/2.jpg' height='90' width='120' time='00:29:52.500'\n        yt:name='middle'/><media:thumbnail url='http://i.ytimg.com/vi/TJ5yehlaNDY/3.jpg'\n        height='90' width='120' time='00:44:48.750' yt:name='end'/><media:title type='plain'>AtlanticScrum\n        and Pair Hookup - Friday, 25th Jul at 02:15pm (UTC)</media:title><yt:aspectRatio>widescreen</yt:aspectRatio><yt:duration\n        seconds='3585'/><yt:uploaded>2014-07-25T15:23:55.000Z</yt:uploaded><yt:uploaderId>UCPKcVnukjy0kxc2fFDad2cw</yt:uploaderId><yt:videoid>TJ5yehlaNDY</yt:videoid></media:group><yt:statistics\n        favoriteCount='0' viewCount='8'/></entry><entry gd:etag='W/&quot;CUQGQn47eCp7I2A9XRZVEkU.&quot;'><id>tag:youtube.com,2008:video:yyqbycPlGPA</id><published>2014-07-25T10:15:23.000Z</published><updated>2014-07-25T10:15:23.000Z</updated><category\n        scheme='http://schemas.google.com/g/2005#kind' term='http://gdata.youtube.com/schemas/2007#video'/><category\n        scheme='http://gdata.youtube.com/schemas/2007/categories.cat' term='Entertainment'\n        label='Entertainment'/><title>EuroScrum and Pair Hookup - Friday, 25th Jul\n        at 10:00am (UTC)</title><content type='application/x-shockwave-flash' src='http://www.youtube.com/v/yyqbycPlGPA?version=3&amp;f=videos&amp;app=youtube_gdata'/><link\n        rel='alternate' type='text/html' href='http://www.youtube.com/watch?v=yyqbycPlGPA&amp;feature=youtube_gdata'/><link\n        rel='http://gdata.youtube.com/schemas/2007#video.related' type='application/atom+xml'\n        href='http://gdata.youtube.com/feeds/api/videos/yyqbycPlGPA/related?v=2'/><link\n        rel='http://gdata.youtube.com/schemas/2007#mobile' type='text/html' href='http://m.youtube.com/details?v=yyqbycPlGPA'/><link\n        rel='http://gdata.youtube.com/schemas/2007#uploader' type='application/atom+xml'\n        href='http://gdata.youtube.com/feeds/api/users/gTOz02neY70sqnk05zNkGA?v=2'/><link\n        rel='self' type='application/atom+xml' href='http://gdata.youtube.com/feeds/api/videos/yyqbycPlGPA?v=2'/><author><name>Yaro\n        Apletov</name><uri>http://gdata.youtube.com/feeds/api/users/gTOz02neY70sqnk05zNkGA</uri><yt:userId>gTOz02neY70sqnk05zNkGA</yt:userId></author><yt:accessControl\n        action='comment' permission='allowed'/><yt:accessControl action='commentVote'\n        permission='allowed'/><yt:accessControl action='videoRespond' permission='moderated'/><yt:accessControl\n        action='rate' permission='allowed'/><yt:accessControl action='embed' permission='allowed'/><yt:accessControl\n        action='list' permission='allowed'/><yt:accessControl action='autoPlay' permission='allowed'/><yt:accessControl\n        action='syndicate' permission='allowed'/><gd:comments><gd:feedLink rel='http://gdata.youtube.com/schemas/2007#comments'\n        href='http://gdata.youtube.com/feeds/api/videos/yyqbycPlGPA/comments?v=2'\n        countHint='0'/></gd:comments><yt:hd/><media:group><media:category label='Entertainment'\n        scheme='http://gdata.youtube.com/schemas/2007/categories.cat'>Entertainment</media:category><media:content\n        url='http://www.youtube.com/v/yyqbycPlGPA?version=3&amp;f=videos&amp;app=youtube_gdata'\n        type='application/x-shockwave-flash' medium='video' isDefault='true' expression='full'\n        duration='603' yt:format='5'/><media:content url='rtsp://r4---sn-p5qlsu76.c.youtube.com/CiILENy73wIaGQnwGOXDyZsqyxMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp'\n        type='video/3gpp' medium='video' expression='full' duration='603' yt:format='1'/><media:content\n        url='rtsp://r4---sn-p5qlsu76.c.youtube.com/CiILENy73wIaGQnwGOXDyZsqyxMYESARFEgGUgZ2aWRlb3MM/0/0/0/video.3gp'\n        type='video/3gpp' medium='video' expression='full' duration='603' yt:format='6'/><media:credit\n        role='uploader' scheme='urn:youtube' yt:display='Yaro Apletov'>gTOz02neY70sqnk05zNkGA</media:credit><media:description\n        type='plain'>EuroScrum and Pair Hookup - Friday, 25th Jul at 10:00am (UTC)</media:description><media:keywords/><media:license\n        type='text/html' href='http://www.youtube.com/t/terms'>youtube</media:license><media:player\n        url='http://www.youtube.com/watch?v=yyqbycPlGPA&amp;feature=youtube_gdata_player'/><media:thumbnail\n        url='http://i.ytimg.com/vi/yyqbycPlGPA/default.jpg' height='90' width='120'\n        time='00:05:01.500' yt:name='default'/><media:thumbnail url='http://i.ytimg.com/vi/yyqbycPlGPA/mqdefault.jpg'\n        height='180' width='320' yt:name='mqdefault'/><media:thumbnail url='http://i.ytimg.com/vi/yyqbycPlGPA/hqdefault.jpg'\n        height='360' width='480' yt:name='hqdefault'/><media:thumbnail url='http://i.ytimg.com/vi/yyqbycPlGPA/sddefault.jpg'\n        height='480' width='640' yt:name='sddefault'/><media:thumbnail url='http://i.ytimg.com/vi/yyqbycPlGPA/1.jpg'\n        height='90' width='120' time='00:02:30.750' yt:name='start'/><media:thumbnail\n        url='http://i.ytimg.com/vi/yyqbycPlGPA/2.jpg' height='90' width='120' time='00:05:01.500'\n        yt:name='middle'/><media:thumbnail url='http://i.ytimg.com/vi/yyqbycPlGPA/3.jpg'\n        height='90' width='120' time='00:07:32.250' yt:name='end'/><media:title type='plain'>EuroScrum\n        and Pair Hookup - Friday, 25th Jul at 10:00am (UTC)</media:title><yt:aspectRatio>widescreen</yt:aspectRatio><yt:duration\n        seconds='603'/><yt:uploaded>2014-07-25T10:15:23.000Z</yt:uploaded><yt:uploaderId>UCgTOz02neY70sqnk05zNkGA</yt:uploaderId><yt:videoid>yyqbycPlGPA</yt:videoid></media:group><yt:statistics\n        favoriteCount='0' viewCount='3'/></entry><entry gd:etag='W/&quot;DUEFQH47eCp7I2A9XRZVEk8.&quot;'><id>tag:youtube.com,2008:video:KdULIpVayr8</id><published>2014-07-24T18:46:51.000Z</published><updated>2014-07-24T18:46:51.000Z</updated><category\n        scheme='http://schemas.google.com/g/2005#kind' term='http://gdata.youtube.com/schemas/2007#video'/><category\n        scheme='http://gdata.youtube.com/schemas/2007/categories.cat' term='Entertainment'\n        label='Entertainment'/><title>AmericasScrum and Pair Hookup - Thursday, 24th\n        Jul at 06:00pm (UTC)</title><content type='application/x-shockwave-flash'\n        src='http://www.youtube.com/v/KdULIpVayr8?version=3&amp;f=videos&amp;app=youtube_gdata'/><link\n        rel='alternate' type='text/html' href='http://www.youtube.com/watch?v=KdULIpVayr8&amp;feature=youtube_gdata'/><link\n        rel='http://gdata.youtube.com/schemas/2007#video.related' type='application/atom+xml'\n        href='http://gdata.youtube.com/feeds/api/videos/KdULIpVayr8/related?v=2'/><link\n        rel='http://gdata.youtube.com/schemas/2007#mobile' type='text/html' href='http://m.youtube.com/details?v=KdULIpVayr8'/><link\n        rel='http://gdata.youtube.com/schemas/2007#uploader' type='application/atom+xml'\n        href='http://gdata.youtube.com/feeds/api/users/A7se0_zonrOg9DFQY_xtRw?v=2'/><link\n        rel='self' type='application/atom+xml' href='http://gdata.youtube.com/feeds/api/videos/KdULIpVayr8?v=2'/><author><name>Jon\n        Engelbert</name><uri>http://gdata.youtube.com/feeds/api/users/A7se0_zonrOg9DFQY_xtRw</uri><yt:userId>A7se0_zonrOg9DFQY_xtRw</yt:userId></author><yt:accessControl\n        action='comment' permission='allowed'/><yt:accessControl action='commentVote'\n        permission='allowed'/><yt:accessControl action='videoRespond' permission='moderated'/><yt:accessControl\n        action='rate' permission='allowed'/><yt:accessControl action='embed' permission='allowed'/><yt:accessControl\n        action='list' permission='allowed'/><yt:accessControl action='autoPlay' permission='allowed'/><yt:accessControl\n        action='syndicate' permission='allowed'/><gd:comments><gd:feedLink rel='http://gdata.youtube.com/schemas/2007#comments'\n        href='http://gdata.youtube.com/feeds/api/videos/KdULIpVayr8/comments?v=2'\n        countHint='0'/></gd:comments><yt:hd/><media:group><media:category label='Entertainment'\n        scheme='http://gdata.youtube.com/schemas/2007/categories.cat'>Entertainment</media:category><media:content\n        url='http://www.youtube.com/v/KdULIpVayr8?version=3&amp;f=videos&amp;app=youtube_gdata'\n        type='application/x-shockwave-flash' medium='video' isDefault='true' expression='full'\n        duration='951' yt:format='5'/><media:content url='rtsp://r4---sn-p5qlsu7z.c.youtube.com/CiILENy73wIaGQm_ylqVIgvVKRMYDSANFEgGUgZ2aWRlb3MM/0/0/0/video.3gp'\n        type='video/3gpp' medium='video' expression='full' duration='951' yt:format='1'/><media:content\n        url='rtsp://r4---sn-p5qlsu7z.c.youtube.com/CiILENy73wIaGQm_ylqVIgvVKRMYESARFEgGUgZ2aWRlb3MM/0/0/0/video.3gp'\n        type='video/3gpp' medium='video' expression='full' duration='951' yt:format='6'/><media:credit\n        role='uploader' scheme='urn:youtube' yt:display='Jon Engelbert'>A7se0_zonrOg9DFQY_xtRw</media:credit><media:description\n        type='plain'>AmericasScrum and Pair Hookup - Thursday, 24th Jul at 06:00pm\n        (UTC)</media:description><media:keywords/><media:license type='text/html'\n        href='http://www.youtube.com/t/terms'>youtube</media:license><media:player\n        url='http://www.youtube.com/watch?v=KdULIpVayr8&amp;feature=youtube_gdata_player'/><media:thumbnail\n        url='http://i.ytimg.com/vi/KdULIpVayr8/default.jpg' height='90' width='120'\n        time='00:07:55.500' yt:name='default'/><media:thumbnail url='http://i.ytimg.com/vi/KdULIpVayr8/mqdefault.jpg'\n        height='180' width='320' yt:name='mqdefault'/><media:thumbnail url='http://i.ytimg.com/vi/KdULIpVayr8/hqdefault.jpg'\n        height='360' width='480' yt:name='hqdefault'/><media:thumbnail url='http://i.ytimg.com/vi/KdULIpVayr8/sddefault.jpg'\n        height='480' width='640' yt:name='sddefault'/><media:thumbnail url='http://i.ytimg.com/vi/KdULIpVayr8/1.jpg'\n        height='90' width='120' time='00:03:57.750' yt:name='start'/><media:thumbnail\n        url='http://i.ytimg.com/vi/KdULIpVayr8/2.jpg' height='90' width='120' time='00:07:55.500'\n        yt:name='middle'/><media:thumbnail url='http://i.ytimg.com/vi/KdULIpVayr8/3.jpg'\n        height='90' width='120' time='00:11:53.250' yt:name='end'/><media:title type='plain'>AmericasScrum\n        and Pair Hookup - Thursday, 24th Jul at 06:00pm (UTC)</media:title><yt:aspectRatio>widescreen</yt:aspectRatio><yt:duration\n        seconds='951'/><yt:uploaded>2014-07-24T18:46:51.000Z</yt:uploaded><yt:uploaderId>UCA7se0_zonrOg9DFQY_xtRw</yt:uploaderId><yt:videoid>KdULIpVayr8</yt:videoid></media:group><yt:statistics\n        favoriteCount='0' viewCount='1'/></entry></feed>\"\n    http_version: \n  recorded_at: Thu, 07 Aug 2014 19:15:04 GMT\n- request:\n    method: get\n    uri: http://gdata.youtube.com/feeds/api/videos?max-results=20&orderby=published&q=AtlanticScrum%7CAmericasScrum%7CEuroScrum%20Pair%20Hookup&start-index=1&v=2.1\n    body:\n      encoding: US-ASCII\n      string: ''\n    headers:\n      Accept-Encoding:\n      - gzip;q=1.0,deflate;q=0.6,identity;q=0.3\n      Accept:\n      - \"*/*\"\n      User-Agent:\n      - Ruby\n  response:\n    status:\n      code: 200\n      message: OK\n    headers:\n      X-Gdata-User-Country:\n      - SE\n      Content-Type:\n      - application/atom+xml; charset=UTF-8; type=feed\n      Expires:\n      - Sun, 08 Mar 2015 08:54:14 GMT\n      Date:\n      - Sun, 08 Mar 2015 08:54:14 GMT\n      Cache-Control:\n      - private, max-age=300, no-transform\n      Vary:\n      - \"*\"\n      Gdata-Version:\n      - '2.1'\n      Etag:\n      - W/\"Dk8BRXY9eip7I2A9XRRWGE0.\"\n      Last-Modified:\n      - Sun, 08 Mar 2015 08:54:14 GMT\n      Transfer-Encoding:\n      - chunked\n      X-Content-Type-Options:\n      - nosniff\n      X-Frame-Options:\n      - SAMEORIGIN\n      X-Xss-Protection:\n      - 1; mode=block\n      Server:\n      - GSE\n      Alternate-Protocol:\n      - 80:quic,p=0.08\n    body:\n      encoding: ASCII-8BIT\n      string: !binary |-\n        PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz48ZmVlZCB4\n        bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwNS9BdG9tJyB4bWxuczpnZD0n\n        aHR0cDovL3NjaGVtYXMuZ29vZ2xlLmNvbS9nLzIwMDUnIHhtbG5zOm9wZW5T\n        ZWFyY2g9J2h0dHA6Ly9hOS5jb20vLS9zcGVjL29wZW5zZWFyY2gvMS4xLycg\n        eG1sbnM6eXQ9J2h0dHA6Ly9nZGF0YS55b3V0dWJlLmNvbS9zY2hlbWFzLzIw\n        MDcnIHhtbG5zOm1lZGlhPSdodHRwOi8vc2VhcmNoLnlhaG9vLmNvbS9tcnNz\n        LycgZ2Q6ZXRhZz0nVy8mcXVvdDtEazhCUlhZOWVpcDdJMkE5WFJSV0dFMC4m\n        cXVvdDsnPjxpZD50YWc6eW91dHViZS5jb20sMjAwODp2aWRlb3M8L2lkPjx1\n        cGRhdGVkPjIwMTUtMDMtMDhUMDg6NTQ6MTQuODYyWjwvdXBkYXRlZD48Y2F0\n        ZWdvcnkgc2NoZW1lPSdodHRwOi8vc2NoZW1hcy5nb29nbGUuY29tL2cvMjAw\n        NSNraW5kJyB0ZXJtPSdodHRwOi8vZ2RhdGEueW91dHViZS5jb20vc2NoZW1h\n        cy8yMDA3I3ZpZGVvJy8+PHRpdGxlPlZpZGVvcyBtYXRjaGluZzogQXRsYW50\n        aWNTY3J1bXxBbWVyaWNhc1NjcnVtfEV1cm9TY3J1bSBQYWlyIEhvb2t1cDwv\n        dGl0bGU+PGxvZ28+aHR0cDovL3d3dy5nc3RhdGljLmNvbS95b3V0dWJlL2lt\n        Zy9sb2dvLnBuZzwvbG9nbz48bGluayByZWw9J2FsdGVybmF0ZScgdHlwZT0n\n        dGV4dC9odG1sJyBocmVmPSdodHRwOi8vd3d3LnlvdXR1YmUuY29tJy8+PGxp\n        bmsgcmVsPSdodHRwOi8vc2NoZW1hcy5nb29nbGUuY29tL2cvMjAwNiNzcGVs\n        bGNvcnJlY3Rpb24nIHR5cGU9J2FwcGxpY2F0aW9uL2F0b20reG1sJyBocmVm\n        PSdodHRwOi8vZ2RhdGEueW91dHViZS5jb20vZmVlZHMvYXBpL3ZpZGVvcz9x\n        PUF0bGFudGljK1NjcnVtJTdDQW1lcmljYXMrU2NydW0lN0NFdXJvK1NjcnVt\n        K1BhaXIrSG9va3VwJmFtcDtzdGFydC1pbmRleD0xJmFtcDttYXgtcmVzdWx0\n        cz0yMCZhbXA7b3JkZXJieT1wdWJsaXNoZWQmYW1wO29pPXNwZWxsJmFtcDtz\n        cGVsbD0xJmFtcDt2PTIuMScgdGl0bGU9J0F0bGFudGljIFNjcnVtfEFtZXJp\n        Y2FzIFNjcnVtfEV1cm8gU2NydW0gUGFpciBIb29rdXAnLz48bGluayByZWw9\n        J2h0dHA6Ly9zY2hlbWFzLmdvb2dsZS5jb20vZy8yMDA1I2ZlZWQnIHR5cGU9\n        J2FwcGxpY2F0aW9uL2F0b20reG1sJyBocmVmPSdodHRwOi8vZ2RhdGEueW91\n        dHViZS5jb20vZmVlZHMvYXBpL3ZpZGVvcz92PTIuMScvPjxsaW5rIHJlbD0n\n        aHR0cDovL3NjaGVtYXMuZ29vZ2xlLmNvbS9nLzIwMDUjYmF0Y2gnIHR5cGU9\n        J2FwcGxpY2F0aW9uL2F0b20reG1sJyBocmVmPSdodHRwOi8vZ2RhdGEueW91\n        dHViZS5jb20vZmVlZHMvYXBpL3ZpZGVvcy9iYXRjaD92PTIuMScvPjxsaW5r\n        IHJlbD0nc2VsZicgdHlwZT0nYXBwbGljYXRpb24vYXRvbSt4bWwnIGhyZWY9\n        J2h0dHA6Ly9nZGF0YS55b3V0dWJlLmNvbS9mZWVkcy9hcGkvdmlkZW9zP3E9\n        QXRsYW50aWNTY3J1bSU3Q0FtZXJpY2FzU2NydW0lN0NFdXJvU2NydW0rUGFp\n        citIb29rdXAmYW1wO3N0YXJ0LWluZGV4PTEmYW1wO21heC1yZXN1bHRzPTIw\n        JmFtcDtvcmRlcmJ5PXB1Ymxpc2hlZCZhbXA7dj0yLjEnLz48bGluayByZWw9\n        J3NlcnZpY2UnIHR5cGU9J2FwcGxpY2F0aW9uL2F0b21zdmMreG1sJyBocmVm\n        PSdodHRwOi8vZ2RhdGEueW91dHViZS5jb20vZmVlZHMvYXBpL3ZpZGVvcz9h\n        bHQ9YXRvbS1zZXJ2aWNlJmFtcDt2PTIuMScvPjxsaW5rIHJlbD0nbmV4dCcg\n        dHlwZT0nYXBwbGljYXRpb24vYXRvbSt4bWwnIGhyZWY9J2h0dHA6Ly9nZGF0\n        YS55b3V0dWJlLmNvbS9mZWVkcy9hcGkvdmlkZW9zP3E9QXRsYW50aWNTY3J1\n        bSU3Q0FtZXJpY2FzU2NydW0lN0NFdXJvU2NydW0rUGFpcitIb29rdXAmYW1w\n        O3N0YXJ0LWluZGV4PTIxJmFtcDttYXgtcmVzdWx0cz0yMCZhbXA7b3JkZXJi\n        eT1wdWJsaXNoZWQmYW1wO3Y9Mi4xJy8+PGF1dGhvcj48bmFtZT5Zb3VUdWJl\n        PC9uYW1lPjx1cmk+aHR0cDovL3d3dy55b3V0dWJlLmNvbS88L3VyaT48L2F1\n        dGhvcj48Z2VuZXJhdG9yIHZlcnNpb249JzIuMScgdXJpPSdodHRwOi8vZ2Rh\n        dGEueW91dHViZS5jb20nPllvdVR1YmUgZGF0YSBBUEk8L2dlbmVyYXRvcj48\n        b3BlblNlYXJjaDp0b3RhbFJlc3VsdHM+MTYwNjwvb3BlblNlYXJjaDp0b3Rh\n        bFJlc3VsdHM+PG9wZW5TZWFyY2g6c3RhcnRJbmRleD4xPC9vcGVuU2VhcmNo\n        OnN0YXJ0SW5kZXg+PG9wZW5TZWFyY2g6aXRlbXNQZXJQYWdlPjIwPC9vcGVu\n        U2VhcmNoOml0ZW1zUGVyUGFnZT48ZW50cnkgZ2Q6ZXRhZz0nVy8mcXVvdDtD\n        a1FEUkg0N2VDcDdJMkE5WFJSV0ZVby4mcXVvdDsnPjxpZD50YWc6eW91dHVi\n        ZS5jb20sMjAwODp2aWRlbzpOeUw3bnFOWEVpQTwvaWQ+PHB1Ymxpc2hlZD4y\n        MDE1LTAzLTA1VDE1OjQ2OjAzLjAwMFo8L3B1Ymxpc2hlZD48dXBkYXRlZD4y\n        MDE1LTAzLTA1VDE1OjQ2OjE1LjAwMFo8L3VwZGF0ZWQ+PGNhdGVnb3J5IHNj\n        aGVtZT0naHR0cDovL3NjaGVtYXMuZ29vZ2xlLmNvbS9nLzIwMDUja2luZCcg\n        dGVybT0naHR0cDovL2dkYXRhLnlvdXR1YmUuY29tL3NjaGVtYXMvMjAwNyN2\n        aWRlbycvPjxjYXRlZ29yeSBzY2hlbWU9J2h0dHA6Ly9nZGF0YS55b3V0dWJl\n        LmNvbS9zY2hlbWFzLzIwMDcvY2F0ZWdvcmllcy5jYXQnIHRlcm09J0VudGVy\n        dGFpbm1lbnQnIGxhYmVsPSdFbnRlcnRhaW5tZW50Jy8+PHRpdGxlPkF0bGFu\n        dGljU2NydW0gYW5kIFBhaXIgSG9va3VwIChTY3J1bSBNYXN0ZXIgU2FtIC0g\n        TG9jYWxTdXBwb3J0LCBBZ2lsZVZlbnR1cmVzKSAtIFRodXJzZGF5LCA1dGgg\n        TWFyIGE8L3RpdGxlPjxjb250ZW50IHR5cGU9J2FwcGxpY2F0aW9uL3gtc2hv\n        Y2t3YXZlLWZsYXNoJyBzcmM9J2h0dHA6Ly93d3cueW91dHViZS5jb20vdi9O\n        eUw3bnFOWEVpQT92ZXJzaW9uPTMmYW1wO2Y9dmlkZW9zJmFtcDthcHA9eW91\n        dHViZV9nZGF0YScvPjxsaW5rIHJlbD0nYWx0ZXJuYXRlJyB0eXBlPSd0ZXh0\n        L2h0bWwnIGhyZWY9J2h0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1O\n        eUw3bnFOWEVpQSZhbXA7ZmVhdHVyZT15b3V0dWJlX2dkYXRhJy8+PGxpbmsg\n        cmVsPSdodHRwOi8vZ2RhdGEueW91dHViZS5jb20vc2NoZW1hcy8yMDA3I3Zp\n        ZGVvLnJlbGF0ZWQnIHR5cGU9J2FwcGxpY2F0aW9uL2F0b20reG1sJyBocmVm\n        PSdodHRwOi8vZ2RhdGEueW91dHViZS5jb20vZmVlZHMvYXBpL3ZpZGVvcy9O\n        eUw3bnFOWEVpQS9yZWxhdGVkP3Y9Mi4xJy8+PGxpbmsgcmVsPSdodHRwOi8v\n        Z2RhdGEueW91dHViZS5jb20vc2NoZW1hcy8yMDA3I21vYmlsZScgdHlwZT0n\n        dGV4dC9odG1sJyBocmVmPSdodHRwOi8vbS55b3V0dWJlLmNvbS9kZXRhaWxz\n        P3Y9TnlMN25xTlhFaUEnLz48bGluayByZWw9J2h0dHA6Ly9nZGF0YS55b3V0\n        dWJlLmNvbS9zY2hlbWFzLzIwMDcjdXBsb2FkZXInIHR5cGU9J2FwcGxpY2F0\n        aW9uL2F0b20reG1sJyBocmVmPSdodHRwOi8vZ2RhdGEueW91dHViZS5jb20v\n        ZmVlZHMvYXBpL3VzZXJzL1BQbzRabkJXd1E3NUpxaUkxM1ZGTnc/dj0yLjEn\n        Lz48bGluayByZWw9J3NlbGYnIHR5cGU9J2FwcGxpY2F0aW9uL2F0b20reG1s\n        JyBocmVmPSdodHRwOi8vZ2RhdGEueW91dHViZS5jb20vZmVlZHMvYXBpL3Zp\n        ZGVvcy9OeUw3bnFOWEVpQT92PTIuMScvPjxhdXRob3I+PG5hbWU+U2FtIEpv\n        c2VwaDwvbmFtZT48dXJpPmh0dHA6Ly9nZGF0YS55b3V0dWJlLmNvbS9mZWVk\n        cy9hcGkvdXNlcnMvYWV1cmRzdGZha3NmPC91cmk+PHl0OnVzZXJJZD5QUG80\n        Wm5CV3dRNzVKcWlJMTNWRk53PC95dDp1c2VySWQ+PC9hdXRob3I+PHl0OmFj\n        Y2Vzc0NvbnRyb2wgYWN0aW9uPSdjb21tZW50JyBwZXJtaXNzaW9uPSdhbGxv\n        d2VkJy8+PHl0OmFjY2Vzc0NvbnRyb2wgYWN0aW9uPSdjb21tZW50Vm90ZScg\n        cGVybWlzc2lvbj0nYWxsb3dlZCcvPjx5dDphY2Nlc3NDb250cm9sIGFjdGlv\n        bj0ndmlkZW9SZXNwb25kJyBwZXJtaXNzaW9uPSdtb2RlcmF0ZWQnLz48eXQ6\n        YWNjZXNzQ29udHJvbCBhY3Rpb249J3JhdGUnIHBlcm1pc3Npb249J2FsbG93\n        ZWQnLz48eXQ6YWNjZXNzQ29udHJvbCBhY3Rpb249J2VtYmVkJyBwZXJtaXNz\n        aW9uPSdhbGxvd2VkJy8+PHl0OmFjY2Vzc0NvbnRyb2wgYWN0aW9uPSdsaXN0\n        JyBwZXJtaXNzaW9uPSdhbGxvd2VkJy8+PHl0OmFjY2Vzc0NvbnRyb2wgYWN0\n        aW9uPSdhdXRvUGxheScgcGVybWlzc2lvbj0nYWxsb3dlZCcvPjx5dDphY2Nl\n        c3NDb250cm9sIGFjdGlvbj0nc3luZGljYXRlJyBwZXJtaXNzaW9uPSdhbGxv\n        d2VkJy8+PGdkOmNvbW1lbnRzPjxnZDpmZWVkTGluayByZWw9J2h0dHA6Ly9n\n        ZGF0YS55b3V0dWJlLmNvbS9zY2hlbWFzLzIwMDcjY29tbWVudHMnIGhyZWY9\n        J2h0dHA6Ly9nZGF0YS55b3V0dWJlLmNvbS9mZWVkcy9hcGkvdmlkZW9zL055\n        TDducU5YRWlBL2NvbW1lbnRzP3Y9Mi4xJyBjb3VudEhpbnQ9JzAnLz48L2dk\n        OmNvbW1lbnRzPjx5dDpoZC8+PG1lZGlhOmdyb3VwPjxtZWRpYTpjYXRlZ29y\n        eSBsYWJlbD0nRW50ZXJ0YWlubWVudCcgc2NoZW1lPSdodHRwOi8vZ2RhdGEu\n        eW91dHViZS5jb20vc2NoZW1hcy8yMDA3L2NhdGVnb3JpZXMuY2F0Jz5FbnRl\n        cnRhaW5tZW50PC9tZWRpYTpjYXRlZ29yeT48bWVkaWE6Y29udGVudCB1cmw9\n        J2h0dHA6Ly93d3cueW91dHViZS5jb20vdi9OeUw3bnFOWEVpQT92ZXJzaW9u\n        PTMmYW1wO2Y9dmlkZW9zJmFtcDthcHA9eW91dHViZV9nZGF0YScgdHlwZT0n\n        YXBwbGljYXRpb24veC1zaG9ja3dhdmUtZmxhc2gnIG1lZGl1bT0ndmlkZW8n\n        IGlzRGVmYXVsdD0ndHJ1ZScgZXhwcmVzc2lvbj0nZnVsbCcgZHVyYXRpb249\n        JzE4OTcnIHl0OmZvcm1hdD0nNScvPjxtZWRpYTpjb250ZW50IHVybD0ncnRz\n        cDovL3I3LS0tc24tNWhuN3N1N3ouYy55b3V0dWJlLmNvbS9DaUlMRU55NzN3\n        SWFHUWtnRWxlam52c2lOeE1ZRFNBTkZFZ0dVZ1oyYVdSbGIzTU0vMC8wLzAv\n        dmlkZW8uM2dwJyB0eXBlPSd2aWRlby8zZ3BwJyBtZWRpdW09J3ZpZGVvJyBl\n        eHByZXNzaW9uPSdmdWxsJyBkdXJhdGlvbj0nMTg5NycgeXQ6Zm9ybWF0PScx\n        Jy8+PG1lZGlhOmNvbnRlbnQgdXJsPSdydHNwOi8vcjctLS1zbi01aG43c3U3\n        ei5jLnlvdXR1YmUuY29tL0NpSUxFTnk3M3dJYUdRa2dFbGVqbnZzaU54TVlF\n        U0FSRkVnR1VnWjJhV1JsYjNNTS8wLzAvMC92aWRlby4zZ3AnIHR5cGU9J3Zp\n        ZGVvLzNncHAnIG1lZGl1bT0ndmlkZW8nIGV4cHJlc3Npb249J2Z1bGwnIGR1\n        cmF0aW9uPScxODk3JyB5dDpmb3JtYXQ9JzYnLz48bWVkaWE6Y3JlZGl0IHJv\n        bGU9J3VwbG9hZGVyJyBzY2hlbWU9J3Vybjp5b3V0dWJlJyB5dDpkaXNwbGF5\n        PSdTYW0gSm9zZXBoJz5hZXVyZHN0ZmFrc2Y8L21lZGlhOmNyZWRpdD48bWVk\n        aWE6ZGVzY3JpcHRpb24gdHlwZT0ncGxhaW4nPkF0bGFudGljU2NydW0gYW5k\n        IFBhaXIgSG9va3VwIChTY3J1bSBNYXN0ZXIgU2FtIC0gTG9jYWxTdXBwb3J0\n        LCBBZ2lsZVZlbnR1cmVzKSAtIFRodXJzZGF5LCA1dGggTWFyIGF0IDAzOjQ1\n        cG0gKFVUQyk8L21lZGlhOmRlc2NyaXB0aW9uPjxtZWRpYTprZXl3b3Jkcy8+\n        PG1lZGlhOmxpY2Vuc2UgdHlwZT0ndGV4dC9odG1sJyBocmVmPSdodHRwOi8v\n        d3d3LnlvdXR1YmUuY29tL3QvdGVybXMnPnlvdXR1YmU8L21lZGlhOmxpY2Vu\n        c2U+PG1lZGlhOnBsYXllciB1cmw9J2h0dHA6Ly93d3cueW91dHViZS5jb20v\n        d2F0Y2g/dj1OeUw3bnFOWEVpQSZhbXA7ZmVhdHVyZT15b3V0dWJlX2dkYXRh\n        X3BsYXllcicvPjxtZWRpYTp0aHVtYm5haWwgdXJsPSdodHRwOi8vaS55dGlt\n        Zy5jb20vdmkvTnlMN25xTlhFaUEvZGVmYXVsdC5qcGcnIGhlaWdodD0nOTAn\n        IHdpZHRoPScxMjAnIHRpbWU9JzAwOjE1OjQ4LjUwMCcgeXQ6bmFtZT0nZGVm\n        YXVsdCcvPjxtZWRpYTp0aHVtYm5haWwgdXJsPSdodHRwOi8vaS55dGltZy5j\n        b20vdmkvTnlMN25xTlhFaUEvbXFkZWZhdWx0LmpwZycgaGVpZ2h0PScxODAn\n        IHdpZHRoPSczMjAnIHl0Om5hbWU9J21xZGVmYXVsdCcvPjxtZWRpYTp0aHVt\n        Ym5haWwgdXJsPSdodHRwOi8vaS55dGltZy5jb20vdmkvTnlMN25xTlhFaUEv\n        aHFkZWZhdWx0LmpwZycgaGVpZ2h0PSczNjAnIHdpZHRoPSc0ODAnIHl0Om5h\n        bWU9J2hxZGVmYXVsdCcvPjxtZWRpYTp0aHVtYm5haWwgdXJsPSdodHRwOi8v\n        aS55dGltZy5jb20vdmkvTnlMN25xTlhFaUEvc2RkZWZhdWx0LmpwZycgaGVp\n        Z2h0PSc0ODAnIHdpZHRoPSc2NDAnIHl0Om5hbWU9J3NkZGVmYXVsdCcvPjxt\n        ZWRpYTp0aHVtYm5haWwgdXJsPSdodHRwOi8vaS55dGltZy5jb20vdmkvTnlM\n        N25xTlhFaUEvMS5qcGcnIGhlaWdodD0nOTAnIHdpZHRoPScxMjAnIHRpbWU9\n        JzAwOjA3OjU0LjI1MCcgeXQ6bmFtZT0nc3RhcnQnLz48bWVkaWE6dGh1bWJu\n        YWlsIHVybD0naHR0cDovL2kueXRpbWcuY29tL3ZpL055TDducU5YRWlBLzIu\n        anBnJyBoZWlnaHQ9JzkwJyB3aWR0aD0nMTIwJyB0aW1lPScwMDoxNTo0OC41\n        MDAnIHl0Om5hbWU9J21pZGRsZScvPjxtZWRpYTp0aHVtYm5haWwgdXJsPSdo\n        dHRwOi8vaS55dGltZy5jb20vdmkvTnlMN25xTlhFaUEvMy5qcGcnIGhlaWdo\n        dD0nOTAnIHdpZHRoPScxMjAnIHRpbWU9JzAwOjIzOjQyLjc1MCcgeXQ6bmFt\n        ZT0nZW5kJy8+PG1lZGlhOnRpdGxlIHR5cGU9J3BsYWluJz5BdGxhbnRpY1Nj\n        cnVtIGFuZCBQYWlyIEhvb2t1cCAoU2NydW0gTWFzdGVyIFNhbSAtIExvY2Fs\n        U3VwcG9ydCwgQWdpbGVWZW50dXJlcykgLSBUaHVyc2RheSwgNXRoIE1hciBh\n        PC9tZWRpYTp0aXRsZT48eXQ6YXNwZWN0UmF0aW8+d2lkZXNjcmVlbjwveXQ6\n        YXNwZWN0UmF0aW8+PHl0OmR1cmF0aW9uIHNlY29uZHM9JzE4OTcnLz48eXQ6\n        dXBsb2FkZWQ+MjAxNS0wMy0wNVQxNTo0NjowMy4wMDBaPC95dDp1cGxvYWRl\n        ZD48eXQ6dXBsb2FkZXJJZD5VQ1BQbzRabkJXd1E3NUpxaUkxM1ZGTnc8L3l0\n        OnVwbG9hZGVySWQ+PHl0OnZpZGVvaWQ+TnlMN25xTlhFaUE8L3l0OnZpZGVv\n        aWQ+PC9tZWRpYTpncm91cD48L2VudHJ5PjxlbnRyeSBnZDpldGFnPSdXLyZx\n        dW90O0RrQUVRSDQ3ZUNwN0kyQTlYUlJXRkVVLiZxdW90Oyc+PGlkPnRhZzp5\n        b3V0dWJlLmNvbSwyMDA4OnZpZGVvOmxPSTJoNGJzTGFjPC9pZD48cHVibGlz\n        aGVkPjIwMTUtMDMtMDRUMTU6NTg6MjEuMDAwWjwvcHVibGlzaGVkPjx1cGRh\n        dGVkPjIwMTUtMDMtMDRUMTU6NTg6MjEuMDAwWjwvdXBkYXRlZD48Y2F0ZWdv\n        cnkgc2NoZW1lPSdodHRwOi8vc2NoZW1hcy5nb29nbGUuY29tL2cvMjAwNSNr\n        aW5kJyB0ZXJtPSdodHRwOi8vZ2RhdGEueW91dHViZS5jb20vc2NoZW1hcy8y\n        MDA3I3ZpZGVvJy8+PGNhdGVnb3J5IHNjaGVtZT0naHR0cDovL2dkYXRhLnlv\n        dXR1YmUuY29tL3NjaGVtYXMvMjAwNy9jYXRlZ29yaWVzLmNhdCcgdGVybT0n\n        RW50ZXJ0YWlubWVudCcgbGFiZWw9J0VudGVydGFpbm1lbnQnLz48dGl0bGU+\n        QXRsYW50aWNTY3J1bSBhbmQgUGFpciBIb29rdXAgKFNjcnVtIE1hc3RlciBT\n        YW0gLSBMb2NhbFN1cHBvcnQsIEFnaWxlVmVudHVyZXMpIC0gV2VkbmVzZGF5\n        LCA0dGggTWFyPC90aXRsZT48Y29udGVudCB0eXBlPSdhcHBsaWNhdGlvbi94\n        LXNob2Nrd2F2ZS1mbGFzaCcgc3JjPSdodHRwOi8vd3d3LnlvdXR1YmUuY29t\n        L3YvbE9JMmg0YnNMYWM/dmVyc2lvbj0zJmFtcDtmPXZpZGVvcyZhbXA7YXBw\n        PXlvdXR1YmVfZ2RhdGEnLz48bGluayByZWw9J2FsdGVybmF0ZScgdHlwZT0n\n        dGV4dC9odG1sJyBocmVmPSdodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNo\n        P3Y9bE9JMmg0YnNMYWMmYW1wO2ZlYXR1cmU9eW91dHViZV9nZGF0YScvPjxs\n        aW5rIHJlbD0naHR0cDovL2dkYXRhLnlvdXR1YmUuY29tL3NjaGVtYXMvMjAw\n        NyN2aWRlby5yZWxhdGVkJyB0eXBlPSdhcHBsaWNhdGlvbi9hdG9tK3htbCcg\n        aHJlZj0naHR0cDovL2dkYXRhLnlvdXR1YmUuY29tL2ZlZWRzL2FwaS92aWRl\n        b3MvbE9JMmg0YnNMYWMvcmVsYXRlZD92PTIuMScvPjxsaW5rIHJlbD0naHR0\n        cDovL2dkYXRhLnlvdXR1YmUuY29tL3NjaGVtYXMvMjAwNyNtb2JpbGUnIHR5\n        cGU9J3RleHQvaHRtbCcgaHJlZj0naHR0cDovL20ueW91dHViZS5jb20vZGV0\n        YWlscz92PWxPSTJoNGJzTGFjJy8+PGxpbmsgcmVsPSdodHRwOi8vZ2RhdGEu\n        eW91dHViZS5jb20vc2NoZW1hcy8yMDA3I3VwbG9hZGVyJyB0eXBlPSdhcHBs\n        aWNhdGlvbi9hdG9tK3htbCcgaHJlZj0naHR0cDovL2dkYXRhLnlvdXR1YmUu\n        Y29tL2ZlZWRzL2FwaS91c2Vycy9QUG80Wm5CV3dRNzVKcWlJMTNWRk53P3Y9\n        Mi4xJy8+PGxpbmsgcmVsPSdzZWxmJyB0eXBlPSdhcHBsaWNhdGlvbi9hdG9t\n        K3htbCcgaHJlZj0naHR0cDovL2dkYXRhLnlvdXR1YmUuY29tL2ZlZWRzL2Fw\n        aS92aWRlb3MvbE9JMmg0YnNMYWM/dj0yLjEnLz48YXV0aG9yPjxuYW1lPlNh\n        bSBKb3NlcGg8L25hbWU+PHVyaT5odHRwOi8vZ2RhdGEueW91dHViZS5jb20v\n        ZmVlZHMvYXBpL3VzZXJzL2FldXJkc3RmYWtzZjwvdXJpPjx5dDp1c2VySWQ+\n        UFBvNFpuQld3UTc1SnFpSTEzVkZOdzwveXQ6dXNlcklkPjwvYXV0aG9yPjx5\n        dDphY2Nlc3NDb250cm9sIGFjdGlvbj0nY29tbWVudCcgcGVybWlzc2lvbj0n\n        YWxsb3dlZCcvPjx5dDphY2Nlc3NDb250cm9sIGFjdGlvbj0nY29tbWVudFZv\n        dGUnIHBlcm1pc3Npb249J2FsbG93ZWQnLz48eXQ6YWNjZXNzQ29udHJvbCBh\n        Y3Rpb249J3ZpZGVvUmVzcG9uZCcgcGVybWlzc2lvbj0nbW9kZXJhdGVkJy8+\n        PHl0OmFjY2Vzc0NvbnRyb2wgYWN0aW9uPSdyYXRlJyBwZXJtaXNzaW9uPSdh\n        bGxvd2VkJy8+PHl0OmFjY2Vzc0NvbnRyb2wgYWN0aW9uPSdlbWJlZCcgcGVy\n        bWlzc2lvbj0nYWxsb3dlZCcvPjx5dDphY2Nlc3NDb250cm9sIGFjdGlvbj0n\n        bGlzdCcgcGVybWlzc2lvbj0nYWxsb3dlZCcvPjx5dDphY2Nlc3NDb250cm9s\n        IGFjdGlvbj0nYXV0b1BsYXknIHBlcm1pc3Npb249J2FsbG93ZWQnLz48eXQ6\n        YWNjZXNzQ29udHJvbCBhY3Rpb249J3N5bmRpY2F0ZScgcGVybWlzc2lvbj0n\n        YWxsb3dlZCcvPjxnZDpjb21tZW50cz48Z2Q6ZmVlZExpbmsgcmVsPSdodHRw\n        Oi8vZ2RhdGEueW91dHViZS5jb20vc2NoZW1hcy8yMDA3I2NvbW1lbnRzJyBo\n        cmVmPSdodHRwOi8vZ2RhdGEueW91dHViZS5jb20vZmVlZHMvYXBpL3ZpZGVv\n        cy9sT0kyaDRic0xhYy9jb21tZW50cz92PTIuMScgY291bnRIaW50PScwJy8+\n        PC9nZDpjb21tZW50cz48eXQ6aGQvPjxtZWRpYTpncm91cD48bWVkaWE6Y2F0\n        ZWdvcnkgbGFiZWw9J0VudGVydGFpbm1lbnQnIHNjaGVtZT0naHR0cDovL2dk\n        YXRhLnlvdXR1YmUuY29tL3NjaGVtYXMvMjAwNy9jYXRlZ29yaWVzLmNhdCc+\n        RW50ZXJ0YWlubWVudDwvbWVkaWE6Y2F0ZWdvcnk+PG1lZGlhOmNvbnRlbnQg\n        dXJsPSdodHRwOi8vd3d3LnlvdXR1YmUuY29tL3YvbE9JMmg0YnNMYWM/dmVy\n        c2lvbj0zJmFtcDtmPXZpZGVvcyZhbXA7YXBwPXlvdXR1YmVfZ2RhdGEnIHR5\n        cGU9J2FwcGxpY2F0aW9uL3gtc2hvY2t3YXZlLWZsYXNoJyBtZWRpdW09J3Zp\n        ZGVvJyBpc0RlZmF1bHQ9J3RydWUnIGV4cHJlc3Npb249J2Z1bGwnIGR1cmF0\n        aW9uPScxMDc3JyB5dDpmb3JtYXQ9JzUnLz48bWVkaWE6Y29udGVudCB1cmw9\n        J3J0c3A6Ly9yNy0tLXNuLTVobjdzdTdsLmMueW91dHViZS5jb20vQ2lJTEVO\n        eTczd0lhR1FtbkxleUdoemJpbEJNWURTQU5GRWdHVWdaMmFXUmxiM01NLzAv\n        MC8wL3ZpZGVvLjNncCcgdHlwZT0ndmlkZW8vM2dwcCcgbWVkaXVtPSd2aWRl\n        bycgZXhwcmVzc2lvbj0nZnVsbCcgZHVyYXRpb249JzEwNzcnIHl0OmZvcm1h\n        dD0nMScvPjxtZWRpYTpjb250ZW50IHVybD0ncnRzcDovL3I3LS0tc24tNWhu\n        N3N1N2wuYy55b3V0dWJlLmNvbS9DaUlMRU55NzN3SWFHUW1uTGV5R2h6Ymls\n        Qk1ZRVNBUkZFZ0dVZ1oyYVdSbGIzTU0vMC8wLzAvdmlkZW8uM2dwJyB0eXBl\n        PSd2aWRlby8zZ3BwJyBtZWRpdW09J3ZpZGVvJyBleHByZXNzaW9uPSdmdWxs\n        JyBkdXJhdGlvbj0nMTA3NycgeXQ6Zm9ybWF0PSc2Jy8+PG1lZGlhOmNyZWRp\n        dCByb2xlPSd1cGxvYWRlcicgc2NoZW1lPSd1cm46eW91dHViZScgeXQ6ZGlz\n        cGxheT0nU2FtIEpvc2VwaCc+YWV1cmRzdGZha3NmPC9tZWRpYTpjcmVkaXQ+\n        PG1lZGlhOmRlc2NyaXB0aW9uIHR5cGU9J3BsYWluJz5BdGxhbnRpY1NjcnVt\n        IGFuZCBQYWlyIEhvb2t1cCAoU2NydW0gTWFzdGVyIFNhbSAtIExvY2FsU3Vw\n        cG9ydCwgQWdpbGVWZW50dXJlcykgLSBXZWRuZXNkYXksIDR0aCBNYXIgYXQg\n        MDM6NDVwbSAoVVRDKTwvbWVkaWE6ZGVzY3JpcHRpb24+PG1lZGlhOmtleXdv\n        cmRzLz48bWVkaWE6bGljZW5zZSB0eXBlPSd0ZXh0L2h0bWwnIGhyZWY9J2h0\n        dHA6Ly93d3cueW91dHViZS5jb20vdC90ZXJtcyc+eW91dHViZTwvbWVkaWE6\n        bGljZW5zZT48bWVkaWE6cGxheWVyIHVybD0naHR0cDovL3d3dy55b3V0dWJl\n        LmNvbS93YXRjaD92PWxPSTJoNGJzTGFjJmFtcDtmZWF0dXJlPXlvdXR1YmVf\n        Z2RhdGFfcGxheWVyJy8+PG1lZGlhOnRodW1ibmFpbCB1cmw9J2h0dHA6Ly9p\n        Lnl0aW1nLmNvbS92aS9sT0kyaDRic0xhYy9kZWZhdWx0LmpwZycgaGVpZ2h0\n        PSc5MCcgd2lkdGg9JzEyMCcgdGltZT0nMDA6MDg6NTguNTAwJyB5dDpuYW1l\n        PSdkZWZhdWx0Jy8+PG1lZGlhOnRodW1ibmFpbCB1cmw9J2h0dHA6Ly9pLnl0\n        aW1nLmNvbS92aS9sT0kyaDRic0xhYy9tcWRlZmF1bHQuanBnJyBoZWlnaHQ9\n        JzE4MCcgd2lkdGg9JzMyMCcgeXQ6bmFtZT0nbXFkZWZhdWx0Jy8+PG1lZGlh\n        OnRodW1ibmFpbCB1cmw9J2h0dHA6Ly9pLnl0aW1nLmNvbS92aS9sT0kyaDRi\n        c0xhYy9ocWRlZmF1bHQuanBnJyBoZWlnaHQ9JzM2MCcgd2lkdGg9JzQ4MCcg\n        eXQ6bmFtZT0naHFkZWZhdWx0Jy8+PG1lZGlhOnRodW1ibmFpbCB1cmw9J2h0\n        dHA6Ly9pLnl0aW1nLmNvbS92aS9sT0kyaDRic0xhYy9zZGRlZmF1bHQuanBn\n        JyBoZWlnaHQ9JzQ4MCcgd2lkdGg9JzY0MCcgeXQ6bmFtZT0nc2RkZWZhdWx0\n        Jy8+PG1lZGlhOnRodW1ibmFpbCB1cmw9J2h0dHA6Ly9pLnl0aW1nLmNvbS92\n        aS9sT0kyaDRic0xhYy8xLmpwZycgaGVpZ2h0PSc5MCcgd2lkdGg9JzEyMCcg\n        dGltZT0nMDA6MDQ6MjkuMjUwJyB5dDpuYW1lPSdzdGFydCcvPjxtZWRpYTp0\n        aHVtYm5haWwgdXJsPSdodHRwOi8vaS55dGltZy5jb20vdmkvbE9JMmg0YnNM\n        YWMvMi5qcGcnIGhlaWdodD0nOTAnIHdpZHRoPScxMjAnIHRpbWU9JzAwOjA4\n        OjU4LjUwMCcgeXQ6bmFtZT0nbWlkZGxlJy8+PG1lZGlhOnRodW1ibmFpbCB1\n        cmw9J2h0dHA6Ly9pLnl0aW1nLmNvbS92aS9sT0kyaDRic0xhYy8zLmpwZycg\n        aGVpZ2h0PSc5MCcgd2lkdGg9JzEyMCcgdGltZT0nMDA6MTM6MjcuNzUwJyB5\n        dDpuYW1lPSdlbmQnLz48bWVkaWE6dGl0bGUgdHlwZT0ncGxhaW4nPkF0bGFu\n        dGljU2NydW0gYW5kIFBhaXIgSG9va3VwIChTY3J1bSBNYXN0ZXIgU2FtIC0g\n        TG9jYWxTdXBwb3J0LCBBZ2lsZVZlbnR1cmVzKSAtIFdlZG5lc2RheSwgNHRo\n        IE1hcjwvbWVkaWE6dGl0bGU+PHl0OmFzcGVjdFJhdGlvPndpZGVzY3JlZW48\n        L3l0OmFzcGVjdFJhdGlvPjx5dDpkdXJhdGlvbiBzZWNvbmRzPScxMDc3Jy8+\n        PHl0OnVwbG9hZGVkPjIwMTUtMDMtMDRUMTU6NTg6MjEuMDAwWjwveXQ6dXBs\n        b2FkZWQ+PHl0OnVwbG9hZGVySWQ+VUNQUG80Wm5CV3dRNzVKcWlJMTNWRk53\n        PC95dDp1cGxvYWRlcklkPjx5dDp2aWRlb2lkPmxPSTJoNGJzTGFjPC95dDp2\n        aWRlb2lkPjwvbWVkaWE6Z3JvdXA+PC9lbnRyeT48ZW50cnkgZ2Q6ZXRhZz0n\n        Vy8mcXVvdDtERVlEUkg0N2VDcDdJMkE5WFJSWEdVcy4mcXVvdDsnPjxpZD50\n        YWc6eW91dHViZS5jb20sMjAwODp2aWRlbzpWckZaM2U2X1A1STwvaWQ+PHB1\n        Ymxpc2hlZD4yMDE1LTAyLTI2VDE1OjU2OjE1LjAwMFo8L3B1Ymxpc2hlZD48\n        dXBkYXRlZD4yMDE1LTAyLTI2VDE1OjU2OjE1LjAwMFo8L3VwZGF0ZWQ+PGNh\n        dGVnb3J5IHNjaGVtZT0naHR0cDovL3NjaGVtYXMuZ29vZ2xlLmNvbS9nLzIw\n        MDUja2luZCcgdGVybT0naHR0cDovL2dkYXRhLnlvdXR1YmUuY29tL3NjaGVt\n        YXMvMjAwNyN2aWRlbycvPjxjYXRlZ29yeSBzY2hlbWU9J2h0dHA6Ly9nZGF0\n        YS55b3V0dWJlLmNvbS9zY2hlbWFzLzIwMDcvY2F0ZWdvcmllcy5jYXQnIHRl\n        cm09J0VudGVydGFpbm1lbnQnIGxhYmVsPSdFbnRlcnRhaW5tZW50Jy8+PHRp\n        dGxlPkF0bGFudGljU2NydW0gYW5kIFBhaXIgSG9va3VwIChTY3J1bSBNYXN0\n        ZXIgU2FtIC0gTG9jYWxTdXBwb3J0LCBBZ2lsZVZlbnR1cmVzKSAtIFRodXJz\n        ZGF5LCAyNnRoIEZlYjwvdGl0bGU+PGNvbnRlbnQgdHlwZT0nYXBwbGljYXRp\n        b24veC1zaG9ja3dhdmUtZmxhc2gnIHNyYz0naHR0cDovL3d3dy55b3V0dWJl\n        LmNvbS92L1ZyRlozZTZfUDVJP3ZlcnNpb249MyZhbXA7Zj12aWRlb3MmYW1w\n        O2FwcD15b3V0dWJlX2dkYXRhJy8+PGxpbmsgcmVsPSdhbHRlcm5hdGUnIHR5\n        cGU9J3RleHQvaHRtbCcgaHJlZj0naHR0cDovL3d3dy55b3V0dWJlLmNvbS93\n        YXRjaD92PVZyRlozZTZfUDVJJmFtcDtmZWF0dXJlPXlvdXR1YmVfZ2RhdGEn\n        Lz48bGluayByZWw9J2h0dHA6Ly9nZGF0YS55b3V0dWJlLmNvbS9zY2hlbWFz\n        LzIwMDcjdmlkZW8ucmVsYXRlZCcgdHlwZT0nYXBwbGljYXRpb24vYXRvbSt4\n        bWwnIGhyZWY9J2h0dHA6Ly9nZGF0YS55b3V0dWJlLmNvbS9mZWVkcy9hcGkv\n        dmlkZW9zL1ZyRlozZTZfUDVJL3JlbGF0ZWQ/dj0yLjEnLz48bGluayByZWw9\n        J2h0dHA6Ly9nZGF0YS55b3V0dWJlLmNvbS9zY2hlbWFzLzIwMDcjbW9iaWxl\n        JyB0eXBlPSd0ZXh0L2h0bWwnIGhyZWY9J2h0dHA6Ly9tLnlvdXR1YmUuY29t\n        L2RldGFpbHM/dj1WckZaM2U2X1A1SScvPjxsaW5rIHJlbD0naHR0cDovL2dk\n        YXRhLnlvdXR1YmUuY29tL3NjaGVtYXMvMjAwNyN1cGxvYWRlcicgdHlwZT0n\n        YXBwbGljYXRpb24vYXRvbSt4bWwnIGhyZWY9J2h0dHA6Ly9nZGF0YS55b3V0\n        dWJlLmNvbS9mZWVkcy9hcGkvdXNlcnMvUFBvNFpuQld3UTc1SnFpSTEzVkZO\n        dz92PTIuMScvPjxsaW5rIHJlbD0nc2VsZicgdHlwZT0nYXBwbGljYXRpb24v\n        YXRvbSt4bWwnIGhyZWY9J2h0dHA6Ly9nZGF0YS55b3V0dWJlLmNvbS9mZWVk\n        cy9hcGkvdmlkZW9zL1ZyRlozZTZfUDVJP3Y9Mi4xJy8+PGF1dGhvcj48bmFt\n        ZT5TYW0gSm9zZXBoPC9uYW1lPjx1cmk+aHR0cDovL2dkYXRhLnlvdXR1YmUu\n        Y29tL2ZlZWRzL2FwaS91c2Vycy9hZXVyZHN0ZmFrc2Y8L3VyaT48eXQ6dXNl\n        cklkPlBQbzRabkJXd1E3NUpxaUkxM1ZGTnc8L3l0OnVzZXJJZD48L2F1dGhv\n        cj48eXQ6YWNjZXNzQ29udHJvbCBhY3Rpb249J2NvbW1lbnQnIHBlcm1pc3Np\n        b249J2FsbG93ZWQnLz48eXQ6YWNjZXNzQ29udHJvbCBhY3Rpb249J2NvbW1l\n        bnRWb3RlJyBwZXJtaXNzaW9uPSdhbGxvd2VkJy8+PHl0OmFjY2Vzc0NvbnRy\n        b2wgYWN0aW9uPSd2aWRlb1Jlc3BvbmQnIHBlcm1pc3Npb249J21vZGVyYXRl\n        ZCcvPjx5dDphY2Nlc3NDb250cm9sIGFjdGlvbj0ncmF0ZScgcGVybWlzc2lv\n        bj0nYWxsb3dlZCcvPjx5dDphY2Nlc3NDb250cm9sIGFjdGlvbj0nZW1iZWQn\n        IHBlcm1pc3Npb249J2FsbG93ZWQnLz48eXQ6YWNjZXNzQ29udHJvbCBhY3Rp\n        b249J2xpc3QnIHBlcm1pc3Npb249J2FsbG93ZWQnLz48eXQ6YWNjZXNzQ29u\n        dHJvbCBhY3Rpb249J2F1dG9QbGF5JyBwZXJtaXNzaW9uPSdhbGxvd2VkJy8+\n        PHl0OmFjY2Vzc0NvbnRyb2wgYWN0aW9uPSdzeW5kaWNhdGUnIHBlcm1pc3Np\n        b249J2FsbG93ZWQnLz48Z2Q6Y29tbWVudHM+PGdkOmZlZWRMaW5rIHJlbD0n\n        aHR0cDovL2dkYXRhLnlvdXR1YmUuY29tL3NjaGVtYXMvMjAwNyNjb21tZW50\n        cycgaHJlZj0naHR0cDovL2dkYXRhLnlvdXR1YmUuY29tL2ZlZWRzL2FwaS92\n        aWRlb3MvVnJGWjNlNl9QNUkvY29tbWVudHM/dj0yLjEnIGNvdW50SGludD0n\n        MCcvPjwvZ2Q6Y29tbWVudHM+PHl0OmhkLz48bWVkaWE6Z3JvdXA+PG1lZGlh\n        OmNhdGVnb3J5IGxhYmVsPSdFbnRlcnRhaW5tZW50JyBzY2hlbWU9J2h0dHA6\n        Ly9nZGF0YS55b3V0dWJlLmNvbS9zY2hlbWFzLzIwMDcvY2F0ZWdvcmllcy5j\n        YXQnPkVudGVydGFpbm1lbnQ8L21lZGlhOmNhdGVnb3J5PjxtZWRpYTpjb250\n        ZW50IHVybD0naHR0cDovL3d3dy55b3V0dWJlLmNvbS92L1ZyRlozZTZfUDVJ\n        P3ZlcnNpb249MyZhbXA7Zj12aWRlb3MmYW1wO2FwcD15b3V0dWJlX2dkYXRh\n        JyB0eXBlPSdhcHBsaWNhdGlvbi94LXNob2Nrd2F2ZS1mbGFzaCcgbWVkaXVt\n        PSd2aWRlbycgaXNEZWZhdWx0PSd0cnVlJyBleHByZXNzaW9uPSdmdWxsJyBk\n        dXJhdGlvbj0nMjIxJyB5dDpmb3JtYXQ9JzUnLz48bWVkaWE6Y29udGVudCB1\n        cmw9J3J0c3A6Ly9yNC0tLXNuLTVobjdzdTdrLmMueW91dHViZS5jb20vQ2lJ\n        TEVOeTczd0lhR1FtU1A3X3UzVm14VmhNWURTQU5GRWdHVWdaMmFXUmxiM01N\n        LzAvMC8wL3ZpZGVvLjNncCcgdHlwZT0ndmlkZW8vM2dwcCcgbWVkaXVtPSd2\n        aWRlbycgZXhwcmVzc2lvbj0nZnVsbCcgZHVyYXRpb249JzIyMScgeXQ6Zm9y\n        bWF0PScxJy8+PG1lZGlhOmNvbnRlbnQgdXJsPSdydHNwOi8vcjQtLS1zbi01\n        aG43c3U3ay5jLnlvdXR1YmUuY29tL0NpSUxFTnk3M3dJYUdRbVNQN191M1Zt\n        eFZoTVlFU0FSRkVnR1VnWjJhV1JsYjNNTS8wLzAvMC92aWRlby4zZ3AnIHR5\n        cGU9J3ZpZGVvLzNncHAnIG1lZGl1bT0ndmlkZW8nIGV4cHJlc3Npb249J2Z1\n        bGwnIGR1cmF0aW9uPScyMjEnIHl0OmZvcm1hdD0nNicvPjxtZWRpYTpjcmVk\n        aXQgcm9sZT0ndXBsb2FkZXInIHNjaGVtZT0ndXJuOnlvdXR1YmUnIHl0OmRp\n        c3BsYXk9J1NhbSBKb3NlcGgnPmFldXJkc3RmYWtzZjwvbWVkaWE6Y3JlZGl0\n        PjxtZWRpYTpkZXNjcmlwdGlvbiB0eXBlPSdwbGFpbic+QXRsYW50aWNTY3J1\n        bSBhbmQgUGFpciBIb29rdXAgKFNjcnVtIE1hc3RlciBTYW0gLSBMb2NhbFN1\n        cHBvcnQsIEFnaWxlVmVudHVyZXMpIC0gVGh1cnNkYXksIDI2dGggRmViIGF0\n        IDAzOjQ1cG0gKFVUQyk8L21lZGlhOmRlc2NyaXB0aW9uPjxtZWRpYTprZXl3\n        b3Jkcy8+PG1lZGlhOmxpY2Vuc2UgdHlwZT0ndGV4dC9odG1sJyBocmVmPSdo\n        dHRwOi8vd3d3LnlvdXR1YmUuY29tL3QvdGVybXMnPnlvdXR1YmU8L21lZGlh\n        OmxpY2Vuc2U+PG1lZGlhOnBsYXllciB1cmw9J2h0dHA6Ly93d3cueW91dHVi\n        ZS5jb20vd2F0Y2g/dj1WckZaM2U2X1A1SSZhbXA7ZmVhdHVyZT15b3V0dWJl\n        X2dkYXRhX3BsYXllcicvPjxtZWRpYTp0aHVtYm5haWwgdXJsPSdodHRwOi8v\n        aS55dGltZy5jb20vdmkvVnJGWjNlNl9QNUkvZGVmYXVsdC5qcGcnIGhlaWdo\n        dD0nOTAnIHdpZHRoPScxMjAnIHRpbWU9JzAwOjAxOjUwLjUwMCcgeXQ6bmFt\n        ZT0nZGVmYXVsdCcvPjxtZWRpYTp0aHVtYm5haWwgdXJsPSdodHRwOi8vaS55\n        dGltZy5jb20vdmkvVnJGWjNlNl9QNUkvbXFkZWZhdWx0LmpwZycgaGVpZ2h0\n        PScxODAnIHdpZHRoPSczMjAnIHl0Om5hbWU9J21xZGVmYXVsdCcvPjxtZWRp\n        YTp0aHVtYm5haWwgdXJsPSdodHRwOi8vaS55dGltZy5jb20vdmkvVnJGWjNl\n        Nl9QNUkvaHFkZWZhdWx0LmpwZycgaGVpZ2h0PSczNjAnIHdpZHRoPSc0ODAn\n        IHl0Om5hbWU9J2hxZGVmYXVsdCcvPjxtZWRpYTp0aHVtYm5haWwgdXJsPSdo\n        dHRwOi8vaS55dGltZy5jb20vdmkvVnJGWjNlNl9QNUkvc2RkZWZhdWx0Lmpw\n        ZycgaGVpZ2h0PSc0ODAnIHdpZHRoPSc2NDAnIHl0Om5hbWU9J3NkZGVmYXVs\n        dCcvPjxtZWRpYTp0aHVtYm5haWwgdXJsPSdodHRwOi8vaS55dGltZy5jb20v\n        dmkvVnJGWjNlNl9QNUkvMS5qcGcnIGhlaWdodD0nOTAnIHdpZHRoPScxMjAn\n        IHRpbWU9JzAwOjAwOjU1LjI1MCcgeXQ6bmFtZT0nc3RhcnQnLz48bWVkaWE6\n        dGh1bWJuYWlsIHVybD0naHR0cDovL2kueXRpbWcuY29tL3ZpL1ZyRlozZTZf\n        UDVJLzIuanBnJyBoZWlnaHQ9JzkwJyB3aWR0aD0nMTIwJyB0aW1lPScwMDow\n        MTo1MC41MDAnIHl0Om5hbWU9J21pZGRsZScvPjxtZWRpYTp0aHVtYm5haWwg\n        dXJsPSdodHRwOi8vaS55dGltZy5jb20vdmkvVnJGWjNlNl9QNUkvMy5qcGcn\n        IGhlaWdodD0nOTAnIHdpZHRoPScxMjAnIHRpbWU9JzAwOjAyOjQ1Ljc1MCcg\n        eXQ6bmFtZT0nZW5kJy8+PG1lZGlhOnRpdGxlIHR5cGU9J3BsYWluJz5BdGxh\n        bnRpY1NjcnVtIGFuZCBQYWlyIEhvb2t1cCAoU2NydW0gTWFzdGVyIFNhbSAt\n        IExvY2FsU3VwcG9ydCwgQWdpbGVWZW50dXJlcykgLSBUaHVyc2RheSwgMjZ0\n        aCBGZWI8L21lZGlhOnRpdGxlPjx5dDphc3BlY3RSYXRpbz53aWRlc2NyZWVu\n        PC95dDphc3BlY3RSYXRpbz48eXQ6ZHVyYXRpb24gc2Vjb25kcz0nMjIxJy8+\n        PHl0OnVwbG9hZGVkPjIwMTUtMDItMjZUMTU6NTY6MTUuMDAwWjwveXQ6dXBs\n        b2FkZWQ+PHl0OnVwbG9hZGVySWQ+VUNQUG80Wm5CV3dRNzVKcWlJMTNWRk53\n        PC95dDp1cGxvYWRlcklkPjx5dDp2aWRlb2lkPlZyRlozZTZfUDVJPC95dDp2\n        aWRlb2lkPjwvbWVkaWE6Z3JvdXA+PHl0OnN0YXRpc3RpY3MgZmF2b3JpdGVD\n        b3VudD0nMCcgdmlld0NvdW50PScxJy8+PC9lbnRyeT48ZW50cnkgZ2Q6ZXRh\n        Zz0nVy8mcXVvdDtDa01IUkg0N2VDcDdJMkE5WFJSWEdFVS4mcXVvdDsnPjxp\n        ZD50YWc6eW91dHViZS5jb20sMjAwODp2aWRlbzpRYy1meER4d2VIRTwvaWQ+\n        PHB1Ymxpc2hlZD4yMDE1LTAyLTI1VDE2OjA3OjE1LjAwMFo8L3B1Ymxpc2hl\n        ZD48dXBkYXRlZD4yMDE1LTAyLTI1VDE2OjA3OjE1LjAwMFo8L3VwZGF0ZWQ+\n        PGNhdGVnb3J5IHNjaGVtZT0naHR0cDovL3NjaGVtYXMuZ29vZ2xlLmNvbS9n\n        LzIwMDUja2luZCcgdGVybT0naHR0cDovL2dkYXRhLnlvdXR1YmUuY29tL3Nj\n        aGVtYXMvMjAwNyN2aWRlbycvPjxjYXRlZ29yeSBzY2hlbWU9J2h0dHA6Ly9n\n        ZGF0YS55b3V0dWJlLmNvbS9zY2hlbWFzLzIwMDcvY2F0ZWdvcmllcy5jYXQn\n        IHRlcm09J0VudGVydGFpbm1lbnQnIGxhYmVsPSdFbnRlcnRhaW5tZW50Jy8+\n        PHRpdGxlPkF0bGFudGljU2NydW0gYW5kIFBhaXIgSG9va3VwIChTY3J1bSBN\n        YXN0ZXIgU2FtIC0gTG9jYWxTdXBwb3J0LCBBZ2lsZVZlbnR1cmVzKSAtIFdl\n        ZG5lc2RheSwgMjV0aCBGZWI8L3RpdGxlPjxjb250ZW50IHR5cGU9J2FwcGxp\n        Y2F0aW9uL3gtc2hvY2t3YXZlLWZsYXNoJyBzcmM9J2h0dHA6Ly93d3cueW91\n        dHViZS5jb20vdi9RYy1meER4d2VIRT92ZXJzaW9uPTMmYW1wO2Y9dmlkZW9z\n        JmFtcDthcHA9eW91dHViZV9nZGF0YScvPjxsaW5rIHJlbD0nYWx0ZXJuYXRl\n        JyB0eXBlPSd0ZXh0L2h0bWwnIGhyZWY9J2h0dHA6Ly93d3cueW91dHViZS5j\n        b20vd2F0Y2g/dj1RYy1meER4d2VIRSZhbXA7ZmVhdHVyZT15b3V0dWJlX2dk\n        YXRhJy8+PGxpbmsgcmVsPSdodHRwOi8vZ2RhdGEueW91dHViZS5jb20vc2No\n        ZW1hcy8yMDA3I3ZpZGVvLnJlbGF0ZWQnIHR5cGU9J2FwcGxpY2F0aW9uL2F0\n        b20reG1sJyBocmVmPSdodHRwOi8vZ2RhdGEueW91dHViZS5jb20vZmVlZHMv\n        YXBpL3ZpZGVvcy9RYy1meER4d2VIRS9yZWxhdGVkP3Y9Mi4xJy8+PGxpbmsg\n        cmVsPSdodHRwOi8vZ2RhdGEueW91dHViZS5jb20vc2NoZW1hcy8yMDA3I21v\n        YmlsZScgdHlwZT0ndGV4dC9odG1sJyBocmVmPSdodHRwOi8vbS55b3V0dWJl\n        LmNvbS9kZXRhaWxzP3Y9UWMtZnhEeHdlSEUnLz48bGluayByZWw9J2h0dHA6\n        Ly9nZGF0YS55b3V0dWJlLmNvbS9zY2hlbWFzLzIwMDcjdXBsb2FkZXInIHR5\n        cGU9J2FwcGxpY2F0aW9uL2F0b20reG1sJyBocmVmPSdodHRwOi8vZ2RhdGEu\n        eW91dHViZS5jb20vZmVlZHMvYXBpL3VzZXJzL1BQbzRabkJXd1E3NUpxaUkx\n        M1ZGTnc/dj0yLjEnLz48bGluayByZWw9J3NlbGYnIHR5cGU9J2FwcGxpY2F0\n        aW9uL2F0b20reG1sJyBocmVmPSdodHRwOi8vZ2RhdGEueW91dHViZS5jb20v\n        ZmVlZHMvYXBpL3ZpZGVvcy9RYy1meER4d2VIRT92PTIuMScvPjxhdXRob3I+\n        PG5hbWU+U2FtIEpvc2VwaDwvbmFtZT48dXJpPmh0dHA6Ly9nZGF0YS55b3V0\n        dWJlLmNvbS9mZWVkcy9hcGkvdXNlcnMvYWV1cmRzdGZha3NmPC91cmk+PHl0\n        OnVzZXJJZD5QUG80Wm5CV3dRNzVKcWlJMTNWRk53PC95dDp1c2VySWQ+PC9h\n        dXRob3I+PHl0OmFjY2Vzc0NvbnRyb2wgYWN0aW9uPSdjb21tZW50JyBwZXJt\n        aXNzaW9uPSdhbGxvd2VkJy8+PHl0OmFjY2Vzc0NvbnRyb2wgYWN0aW9uPSdj\n        b21tZW50Vm90ZScgcGVybWlzc2lvbj0nYWxsb3dlZCcvPjx5dDphY2Nlc3ND\n        b250cm9sIGFjdGlvbj0ndmlkZW9SZXNwb25kJyBwZXJtaXNzaW9uPSdtb2Rl\n        cmF0ZWQnLz48eXQ6YWNjZXNzQ29udHJvbCBhY3Rpb249J3JhdGUnIHBlcm1p\n        c3Npb249J2FsbG93ZWQnLz48eXQ6YWNjZXNzQ29udHJvbCBhY3Rpb249J2Vt\n        YmVkJyBwZXJtaXNzaW9uPSdhbGxvd2VkJy8+PHl0OmFjY2Vzc0NvbnRyb2wg\n        YWN0aW9uPSdsaXN0JyBwZXJtaXNzaW9uPSdhbGxvd2VkJy8+PHl0OmFjY2Vz\n        c0NvbnRyb2wgYWN0aW9uPSdhdXRvUGxheScgcGVybWlzc2lvbj0nYWxsb3dl\n        ZCcvPjx5dDphY2Nlc3NDb250cm9sIGFjdGlvbj0nc3luZGljYXRlJyBwZXJt\n        aXNzaW9uPSdhbGxvd2VkJy8+PGdkOmNvbW1lbnRzPjxnZDpmZWVkTGluayBy\n        ZWw9J2h0dHA6Ly9nZGF0YS55b3V0dWJlLmNvbS9zY2hlbWFzLzIwMDcjY29t\n        bWVudHMnIGhyZWY9J2h0dHA6Ly9nZGF0YS55b3V0dWJlLmNvbS9mZWVkcy9h\n        cGkvdmlkZW9zL1FjLWZ4RHh3ZUhFL2NvbW1lbnRzP3Y9Mi4xJyBjb3VudEhp\n        bnQ9JzAnLz48L2dkOmNvbW1lbnRzPjx5dDpoZC8+PG1lZGlhOmdyb3VwPjxt\n        ZWRpYTpjYXRlZ29yeSBsYWJlbD0nRW50ZXJ0YWlubWVudCcgc2NoZW1lPSdo\n        dHRwOi8vZ2RhdGEueW91dHViZS5jb20vc2NoZW1hcy8yMDA3L2NhdGVnb3Jp\n        ZXMuY2F0Jz5FbnRlcnRhaW5tZW50PC9tZWRpYTpjYXRlZ29yeT48bWVkaWE6\n        Y29udGVudCB1cmw9J2h0dHA6Ly93d3cueW91dHViZS5jb20vdi9RYy1meER4\n        d2VIRT92ZXJzaW9uPTMmYW1wO2Y9dmlkZW9zJmFtcDthcHA9eW91dHViZV9n\n        ZGF0YScgdHlwZT0nYXBwbGljYXRpb24veC1zaG9ja3dhdmUtZmxhc2gnIG1l\n        ZGl1bT0ndmlkZW8nIGlzRGVmYXVsdD0ndHJ1ZScgZXhwcmVzc2lvbj0nZnVs\n        bCcgZHVyYXRpb249JzgwNicgeXQ6Zm9ybWF0PSc1Jy8+PG1lZGlhOmNvbnRl\n        bnQgdXJsPSdydHNwOi8vcjQtLS1zbi01aG43c3U3bC5jLnlvdXR1YmUuY29t\n        L0NpSUxFTnk3M3dJYUdRbHhlSEE4eEpfUFFSTVlEU0FORkVnR1VnWjJhV1Js\n        YjNNTS8wLzAvMC92aWRlby4zZ3AnIHR5cGU9J3ZpZGVvLzNncHAnIG1lZGl1\n        bT0ndmlkZW8nIGV4cHJlc3Npb249J2Z1bGwnIGR1cmF0aW9uPSc4MDYnIHl0\n        OmZvcm1hdD0nMScvPjxtZWRpYTpjb250ZW50IHVybD0ncnRzcDovL3I0LS0t\n        c24tNWhuN3N1N2wuYy55b3V0dWJlLmNvbS9DaUlMRU55NzN3SWFHUWx4ZUhB\n        OHhKX1BRUk1ZRVNBUkZFZ0dVZ1oyYVdSbGIzTU0vMC8wLzAvdmlkZW8uM2dw\n        JyB0eXBlPSd2aWRlby8zZ3BwJyBtZWRpdW09J3ZpZGVvJyBleHByZXNzaW9u\n        PSdmdWxsJyBkdXJhdGlvbj0nODA2JyB5dDpmb3JtYXQ9JzYnLz48bWVkaWE6\n        Y3JlZGl0IHJvbGU9J3VwbG9hZGVyJyBzY2hlbWU9J3Vybjp5b3V0dWJlJyB5\n        dDpkaXNwbGF5PSdTYW0gSm9zZXBoJz5hZXVyZHN0ZmFrc2Y8L21lZGlhOmNy\n        ZWRpdD48bWVkaWE6ZGVzY3JpcHRpb24gdHlwZT0ncGxhaW4nPkF0bGFudGlj\n        U2NydW0gYW5kIFBhaXIgSG9va3VwIChTY3J1bSBNYXN0ZXIgU2FtIC0gTG9j\n        YWxTdXBwb3J0LCBBZ2lsZVZlbnR1cmVzKSAtIFdlZG5lc2RheSwgMjV0aCBG\n        ZWIgYXQgMDM6NDVwbSAoVVRDKTwvbWVkaWE6ZGVzY3JpcHRpb24+PG1lZGlh\n        OmtleXdvcmRzLz48bWVkaWE6bGljZW5zZSB0eXBlPSd0ZXh0L2h0bWwnIGhy\n        ZWY9J2h0dHA6Ly93d3cueW91dHViZS5jb20vdC90ZXJtcyc+eW91dHViZTwv\n        bWVkaWE6bGljZW5zZT48bWVkaWE6cGxheWVyIHVybD0naHR0cDovL3d3dy55\n        b3V0dWJlLmNvbS93YXRjaD92PVFjLWZ4RHh3ZUhFJmFtcDtmZWF0dXJlPXlv\n        dXR1YmVfZ2RhdGFfcGxheWVyJy8+PG1lZGlhOnRodW1ibmFpbCB1cmw9J2h0\n        dHA6Ly9pLnl0aW1nLmNvbS92aS9RYy1meER4d2VIRS9kZWZhdWx0LmpwZycg\n        aGVpZ2h0PSc5MCcgd2lkdGg9JzEyMCcgdGltZT0nMDA6MDY6NDMnIHl0Om5h\n        bWU9J2RlZmF1bHQnLz48bWVkaWE6dGh1bWJuYWlsIHVybD0naHR0cDovL2ku\n        eXRpbWcuY29tL3ZpL1FjLWZ4RHh3ZUhFL21xZGVmYXVsdC5qcGcnIGhlaWdo\n        dD0nMTgwJyB3aWR0aD0nMzIwJyB5dDpuYW1lPSdtcWRlZmF1bHQnLz48bWVk\n        aWE6dGh1bWJuYWlsIHVybD0naHR0cDovL2kueXRpbWcuY29tL3ZpL1FjLWZ4\n        RHh3ZUhFL2hxZGVmYXVsdC5qcGcnIGhlaWdodD0nMzYwJyB3aWR0aD0nNDgw\n        JyB5dDpuYW1lPSdocWRlZmF1bHQnLz48bWVkaWE6dGh1bWJuYWlsIHVybD0n\n        aHR0cDovL2kueXRpbWcuY29tL3ZpL1FjLWZ4RHh3ZUhFL3NkZGVmYXVsdC5q\n        cGcnIGhlaWdodD0nNDgwJyB3aWR0aD0nNjQwJyB5dDpuYW1lPSdzZGRlZmF1\n        bHQnLz48bWVkaWE6dGh1bWJuYWlsIHVybD0naHR0cDovL2kueXRpbWcuY29t\n        L3ZpL1FjLWZ4RHh3ZUhFLzEuanBnJyBoZWlnaHQ9JzkwJyB3aWR0aD0nMTIw\n        JyB0aW1lPScwMDowMzoyMS41MDAnIHl0Om5hbWU9J3N0YXJ0Jy8+PG1lZGlh\n        OnRodW1ibmFpbCB1cmw9J2h0dHA6Ly9pLnl0aW1nLmNvbS92aS9RYy1meER4\n        d2VIRS8yLmpwZycgaGVpZ2h0PSc5MCcgd2lkdGg9JzEyMCcgdGltZT0nMDA6\n        MDY6NDMnIHl0Om5hbWU9J21pZGRsZScvPjxtZWRpYTp0aHVtYm5haWwgdXJs\n        PSdodHRwOi8vaS55dGltZy5jb20vdmkvUWMtZnhEeHdlSEUvMy5qcGcnIGhl\n        aWdodD0nOTAnIHdpZHRoPScxMjAnIHRpbWU9JzAwOjEwOjA0LjUwMCcgeXQ6\n        bmFtZT0nZW5kJy8+PG1lZGlhOnRpdGxlIHR5cGU9J3BsYWluJz5BdGxhbnRp\n        Y1NjcnVtIGFuZCBQYWlyIEhvb2t1cCAoU2NydW0gTWFzdGVyIFNhbSAtIExv\n        Y2FsU3VwcG9ydCwgQWdpbGVWZW50dXJlcykgLSBXZWRuZXNkYXksIDI1dGgg\n        RmViPC9tZWRpYTp0aXRsZT48eXQ6YXNwZWN0UmF0aW8+d2lkZXNjcmVlbjwv\n        eXQ6YXNwZWN0UmF0aW8+PHl0OmR1cmF0aW9uIHNlY29uZHM9JzgwNicvPjx5\n        dDp1cGxvYWRlZD4yMDE1LTAyLTI1VDE2OjA3OjE1LjAwMFo8L3l0OnVwbG9h\n        ZGVkPjx5dDp1cGxvYWRlcklkPlVDUFBvNFpuQld3UTc1SnFpSTEzVkZOdzwv\n        eXQ6dXBsb2FkZXJJZD48eXQ6dmlkZW9pZD5RYy1meER4d2VIRTwveXQ6dmlk\n        ZW9pZD48L21lZGlhOmdyb3VwPjx5dDpzdGF0aXN0aWNzIGZhdm9yaXRlQ291\n        bnQ9JzAnIHZpZXdDb3VudD0nMicvPjwvZW50cnk+PGVudHJ5IGdkOmV0YWc9\n        J1cvJnF1b3Q7Q2tJRFFINDdlQ3A3STJBOVhSUlhGa1EuJnF1b3Q7Jz48aWQ+\n        dGFnOnlvdXR1YmUuY29tLDIwMDg6dmlkZW86bEIxTE01dGRlNlk8L2lkPjxw\n        dWJsaXNoZWQ+MjAxNS0wMi0yM1QxMToyMjo1MS4wMDBaPC9wdWJsaXNoZWQ+\n        PHVwZGF0ZWQ+MjAxNS0wMi0yM1QxMToyMjo1MS4wMDBaPC91cGRhdGVkPjxj\n        YXRlZ29yeSBzY2hlbWU9J2h0dHA6Ly9zY2hlbWFzLmdvb2dsZS5jb20vZy8y\n        MDA1I2tpbmQnIHRlcm09J2h0dHA6Ly9nZGF0YS55b3V0dWJlLmNvbS9zY2hl\n        bWFzLzIwMDcjdmlkZW8nLz48Y2F0ZWdvcnkgc2NoZW1lPSdodHRwOi8vZ2Rh\n        dGEueW91dHViZS5jb20vc2NoZW1hcy8yMDA3L2NhdGVnb3JpZXMuY2F0JyB0\n        ZXJtPSdFbnRlcnRhaW5tZW50JyBsYWJlbD0nRW50ZXJ0YWlubWVudCcvPjx0\n        aXRsZT5FdXJvU2NydW0gYW5kIFBhaXIgSG9va3VwIC0gTW9uZGF5LCAyM3Jk\n        IEZlYiBhdCAxMTowMGFtIChVVEMpPC90aXRsZT48Y29udGVudCB0eXBlPSdh\n        cHBsaWNhdGlvbi94LXNob2Nrd2F2ZS1mbGFzaCcgc3JjPSdodHRwOi8vd3d3\n        LnlvdXR1YmUuY29tL3YvbEIxTE01dGRlNlk/dmVyc2lvbj0zJmFtcDtmPXZp\n        ZGVvcyZhbXA7YXBwPXlvdXR1YmVfZ2RhdGEnLz48bGluayByZWw9J2FsdGVy\n        bmF0ZScgdHlwZT0ndGV4dC9odG1sJyBocmVmPSdodHRwOi8vd3d3LnlvdXR1\n        YmUuY29tL3dhdGNoP3Y9bEIxTE01dGRlNlkmYW1wO2ZlYXR1cmU9eW91dHVi\n        ZV9nZGF0YScvPjxsaW5rIHJlbD0naHR0cDovL2dkYXRhLnlvdXR1YmUuY29t\n        L3NjaGVtYXMvMjAwNyN2aWRlby5yZWxhdGVkJyB0eXBlPSdhcHBsaWNhdGlv\n        bi9hdG9tK3htbCcgaHJlZj0naHR0cDovL2dkYXRhLnlvdXR1YmUuY29tL2Zl\n        ZWRzL2FwaS92aWRlb3MvbEIxTE01dGRlNlkvcmVsYXRlZD92PTIuMScvPjxs\n        aW5rIHJlbD0naHR0cDovL2dkYXRhLnlvdXR1YmUuY29tL3NjaGVtYXMvMjAw\n        NyNtb2JpbGUnIHR5cGU9J3RleHQvaHRtbCcgaHJlZj0naHR0cDovL20ueW91\n        dHViZS5jb20vZGV0YWlscz92PWxCMUxNNXRkZTZZJy8+PGxpbmsgcmVsPSdo\n        dHRwOi8vZ2RhdGEueW91dHViZS5jb20vc2NoZW1hcy8yMDA3I3VwbG9hZGVy\n        JyB0eXBlPSdhcHBsaWNhdGlvbi9hdG9tK3htbCcgaHJlZj0naHR0cDovL2dk\n        YXRhLnlvdXR1YmUuY29tL2ZlZWRzL2FwaS91c2Vycy9ta1lZU1ZRN3FVa2ZY\n        anh5ckxqZHZRP3Y9Mi4xJy8+PGxpbmsgcmVsPSdzZWxmJyB0eXBlPSdhcHBs\n        aWNhdGlvbi9hdG9tK3htbCcgaHJlZj0naHR0cDovL2dkYXRhLnlvdXR1YmUu\n        Y29tL2ZlZWRzL2FwaS92aWRlb3MvbEIxTE01dGRlNlk/dj0yLjEnLz48YXV0\n        aG9yPjxuYW1lPkNyaXN0aWFuIER1ZzwvbmFtZT48dXJpPmh0dHA6Ly9nZGF0\n        YS55b3V0dWJlLmNvbS9mZWVkcy9hcGkvdXNlcnMvbWtZWVNWUTdxVWtmWGp4\n        eXJMamR2UTwvdXJpPjx5dDp1c2VySWQ+bWtZWVNWUTdxVWtmWGp4eXJMamR2\n        UTwveXQ6dXNlcklkPjwvYXV0aG9yPjx5dDphY2Nlc3NDb250cm9sIGFjdGlv\n        bj0nY29tbWVudCcgcGVybWlzc2lvbj0nYWxsb3dlZCcvPjx5dDphY2Nlc3ND\n        b250cm9sIGFjdGlvbj0nY29tbWVudFZvdGUnIHBlcm1pc3Npb249J2FsbG93\n        ZWQnLz48eXQ6YWNjZXNzQ29udHJvbCBhY3Rpb249J3ZpZGVvUmVzcG9uZCcg\n        cGVybWlzc2lvbj0nbW9kZXJhdGVkJy8+PHl0OmFjY2Vzc0NvbnRyb2wgYWN0\n        aW9uPSdyYXRlJyBwZXJtaXNzaW9uPSdhbGxvd2VkJy8+PHl0OmFjY2Vzc0Nv\n        bnRyb2wgYWN0aW9uPSdlbWJlZCcgcGVybWlzc2lvbj0nYWxsb3dlZCcvPjx5\n        dDphY2Nlc3NDb250cm9sIGFjdGlvbj0nbGlzdCcgcGVybWlzc2lvbj0nYWxs\n        b3dlZCcvPjx5dDphY2Nlc3NDb250cm9sIGFjdGlvbj0nYXV0b1BsYXknIHBl\n        cm1pc3Npb249J2FsbG93ZWQnLz48eXQ6YWNjZXNzQ29udHJvbCBhY3Rpb249\n        J3N5bmRpY2F0ZScgcGVybWlzc2lvbj0nYWxsb3dlZCcvPjxnZDpjb21tZW50\n        cz48Z2Q6ZmVlZExpbmsgcmVsPSdodHRwOi8vZ2RhdGEueW91dHViZS5jb20v\n        c2NoZW1hcy8yMDA3I2NvbW1lbnRzJyBocmVmPSdodHRwOi8vZ2RhdGEueW91\n        dHViZS5jb20vZmVlZHMvYXBpL3ZpZGVvcy9sQjFMTTV0ZGU2WS9jb21tZW50\n        cz92PTIuMScgY291bnRIaW50PScwJy8+PC9nZDpjb21tZW50cz48eXQ6aGQv\n        PjxtZWRpYTpncm91cD48bWVkaWE6Y2F0ZWdvcnkgbGFiZWw9J0VudGVydGFp\n        bm1lbnQnIHNjaGVtZT0naHR0cDovL2dkYXRhLnlvdXR1YmUuY29tL3NjaGVt\n        YXMvMjAwNy9jYXRlZ29yaWVzLmNhdCc+RW50ZXJ0YWlubWVudDwvbWVkaWE6\n        Y2F0ZWdvcnk+PG1lZGlhOmNvbnRlbnQgdXJsPSdodHRwOi8vd3d3LnlvdXR1\n        YmUuY29tL3YvbEIxTE01dGRlNlk/dmVyc2lvbj0zJmFtcDtmPXZpZGVvcyZh\n        bXA7YXBwPXlvdXR1YmVfZ2RhdGEnIHR5cGU9J2FwcGxpY2F0aW9uL3gtc2hv\n        Y2t3YXZlLWZsYXNoJyBtZWRpdW09J3ZpZGVvJyBpc0RlZmF1bHQ9J3RydWUn\n        IGV4cHJlc3Npb249J2Z1bGwnIGR1cmF0aW9uPSc3NjYnIHl0OmZvcm1hdD0n\n        NScvPjxtZWRpYTpjb250ZW50IHVybD0ncnRzcDovL3IyLS0tc24tNWhuN3N1\n        N3IuYy55b3V0dWJlLmNvbS9DaUlMRU55NzN3SWFHUW1tZTEyYk0wc2RsQk1Z\n        RFNBTkZFZ0dVZ1oyYVdSbGIzTU0vMC8wLzAvdmlkZW8uM2dwJyB0eXBlPSd2\n        aWRlby8zZ3BwJyBtZWRpdW09J3ZpZGVvJyBleHByZXNzaW9uPSdmdWxsJyBk\n        dXJhdGlvbj0nNzY2JyB5dDpmb3JtYXQ9JzEnLz48bWVkaWE6Y29udGVudCB1\n        cmw9J3J0c3A6Ly9yMi0tLXNuLTVobjdzdTdyLmMueW91dHViZS5jb20vQ2lJ\n        TEVOeTczd0lhR1FtbWUxMmJNMHNkbEJNWUVTQVJGRWdHVWdaMmFXUmxiM01N\n        LzAvMC8wL3ZpZGVvLjNncCcgdHlwZT0ndmlkZW8vM2dwcCcgbWVkaXVtPSd2\n        aWRlbycgZXhwcmVzc2lvbj0nZnVsbCcgZHVyYXRpb249Jzc2NicgeXQ6Zm9y\n        bWF0PSc2Jy8+PG1lZGlhOmNyZWRpdCByb2xlPSd1cGxvYWRlcicgc2NoZW1l\n        PSd1cm46eW91dHViZScgeXQ6ZGlzcGxheT0nQ3Jpc3RpYW4gRHVnJz5ta1lZ\n        U1ZRN3FVa2ZYanh5ckxqZHZRPC9tZWRpYTpjcmVkaXQ+PG1lZGlhOmRlc2Ny\n        aXB0aW9uIHR5cGU9J3BsYWluJz5FdXJvU2NydW0gYW5kIFBhaXIgSG9va3Vw\n        IC0gTW9uZGF5LCAyM3JkIEZlYiBhdCAxMTowMGFtIChVVEMpPC9tZWRpYTpk\n        ZXNjcmlwdGlvbj48bWVkaWE6a2V5d29yZHMvPjxtZWRpYTpsaWNlbnNlIHR5\n        cGU9J3RleHQvaHRtbCcgaHJlZj0naHR0cDovL3d3dy55b3V0dWJlLmNvbS90\n        L3Rlcm1zJz55b3V0dWJlPC9tZWRpYTpsaWNlbnNlPjxtZWRpYTpwbGF5ZXIg\n        dXJsPSdodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9bEIxTE01dGRl\n        NlkmYW1wO2ZlYXR1cmU9eW91dHViZV9nZGF0YV9wbGF5ZXInLz48bWVkaWE6\n        dGh1bWJuYWlsIHVybD0naHR0cDovL2kueXRpbWcuY29tL3ZpL2xCMUxNNXRk\n        ZTZZL2RlZmF1bHQuanBnJyBoZWlnaHQ9JzkwJyB3aWR0aD0nMTIwJyB0aW1l\n        PScwMDowNjoyMycgeXQ6bmFtZT0nZGVmYXVsdCcvPjxtZWRpYTp0aHVtYm5h\n        aWwgdXJsPSdodHRwOi8vaS55dGltZy5jb20vdmkvbEIxTE01dGRlNlkvbXFk\n        ZWZhdWx0LmpwZycgaGVpZ2h0PScxODAnIHdpZHRoPSczMjAnIHl0Om5hbWU9\n        J21xZGVmYXVsdCcvPjxtZWRpYTp0aHVtYm5haWwgdXJsPSdodHRwOi8vaS55\n        dGltZy5jb20vdmkvbEIxTE01dGRlNlkvaHFkZWZhdWx0LmpwZycgaGVpZ2h0\n        PSczNjAnIHdpZHRoPSc0ODAnIHl0Om5hbWU9J2hxZGVmYXVsdCcvPjxtZWRp\n        YTp0aHVtYm5haWwgdXJsPSdodHRwOi8vaS55dGltZy5jb20vdmkvbEIxTE01\n        dGRlNlkvc2RkZWZhdWx0LmpwZycgaGVpZ2h0PSc0ODAnIHdpZHRoPSc2NDAn\n        IHl0Om5hbWU9J3NkZGVmYXVsdCcvPjxtZWRpYTp0aHVtYm5haWwgdXJsPSdo\n        dHRwOi8vaS55dGltZy5jb20vdmkvbEIxTE01dGRlNlkvMS5qcGcnIGhlaWdo\n        dD0nOTAnIHdpZHRoPScxMjAnIHRpbWU9JzAwOjAzOjExLjUwMCcgeXQ6bmFt\n        ZT0nc3RhcnQnLz48bWVkaWE6dGh1bWJuYWlsIHVybD0naHR0cDovL2kueXRp\n        bWcuY29tL3ZpL2xCMUxNNXRkZTZZLzIuanBnJyBoZWlnaHQ9JzkwJyB3aWR0\n        aD0nMTIwJyB0aW1lPScwMDowNjoyMycgeXQ6bmFtZT0nbWlkZGxlJy8+PG1l\n        ZGlhOnRodW1ibmFpbCB1cmw9J2h0dHA6Ly9pLnl0aW1nLmNvbS92aS9sQjFM\n        TTV0ZGU2WS8zLmpwZycgaGVpZ2h0PSc5MCcgd2lkdGg9JzEyMCcgdGltZT0n\n        MDA6MDk6MzQuNTAwJyB5dDpuYW1lPSdlbmQnLz48bWVkaWE6dGl0bGUgdHlw\n        ZT0ncGxhaW4nPkV1cm9TY3J1bSBhbmQgUGFpciBIb29rdXAgLSBNb25kYXks\n        IDIzcmQgRmViIGF0IDExOjAwYW0gKFVUQyk8L21lZGlhOnRpdGxlPjx5dDph\n        c3BlY3RSYXRpbz53aWRlc2NyZWVuPC95dDphc3BlY3RSYXRpbz48eXQ6ZHVy\n        YXRpb24gc2Vjb25kcz0nNzY2Jy8+PHl0OnVwbG9hZGVkPjIwMTUtMDItMjNU\n        MTE6MjI6NTEuMDAwWjwveXQ6dXBsb2FkZWQ+PHl0OnVwbG9hZGVySWQ+VUNt\n        a1lZU1ZRN3FVa2ZYanh5ckxqZHZRPC95dDp1cGxvYWRlcklkPjx5dDp2aWRl\n        b2lkPmxCMUxNNXRkZTZZPC95dDp2aWRlb2lkPjwvbWVkaWE6Z3JvdXA+PHl0\n        OnN0YXRpc3RpY3MgZmF2b3JpdGVDb3VudD0nMCcgdmlld0NvdW50PScyJy8+\n        PC9lbnRyeT48ZW50cnkgZ2Q6ZXRhZz0nVy8mcXVvdDtERVVFUm40N2VDcDdJ\n        MkE5WFJSWEVFVS4mcXVvdDsnPjxpZD50YWc6eW91dHViZS5jb20sMjAwODp2\n        aWRlbzotSXBpekl4RmE1QTwvaWQ+PHB1Ymxpc2hlZD4yMDE1LTAyLTE2VDEx\n        OjMwOjA3LjAwMFo8L3B1Ymxpc2hlZD48dXBkYXRlZD4yMDE1LTAyLTE2VDEx\n        OjMwOjA3LjAwMFo8L3VwZGF0ZWQ+PGNhdGVnb3J5IHNjaGVtZT0naHR0cDov\n        L3NjaGVtYXMuZ29vZ2xlLmNvbS9nLzIwMDUja2luZCcgdGVybT0naHR0cDov\n        L2dkYXRhLnlvdXR1YmUuY29tL3NjaGVtYXMvMjAwNyN2aWRlbycvPjxjYXRl\n        Z29yeSBzY2hlbWU9J2h0dHA6Ly9nZGF0YS55b3V0dWJlLmNvbS9zY2hlbWFz\n        LzIwMDcvY2F0ZWdvcmllcy5jYXQnIHRlcm09J0VudGVydGFpbm1lbnQnIGxh\n        YmVsPSdFbnRlcnRhaW5tZW50Jy8+PHRpdGxlPkV1cm9TY3J1bSBhbmQgUGFp\n        ciBIb29rdXAgLSBNb25kYXksIDE2dGggRmViIGF0IDExOjAwYW0gKFVUQyk8\n        L3RpdGxlPjxjb250ZW50IHR5cGU9J2FwcGxpY2F0aW9uL3gtc2hvY2t3YXZl\n        LWZsYXNoJyBzcmM9J2h0dHA6Ly93d3cueW91dHViZS5jb20vdi8tSXBpekl4\n        RmE1QT92ZXJzaW9uPTMmYW1wO2Y9dmlkZW9zJmFtcDthcHA9eW91dHViZV9n\n        ZGF0YScvPjxsaW5rIHJlbD0nYWx0ZXJuYXRlJyB0eXBlPSd0ZXh0L2h0bWwn\n        IGhyZWY9J2h0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj0tSXBpekl4\n        RmE1QSZhbXA7ZmVhdHVyZT15b3V0dWJlX2dkYXRhJy8+PGxpbmsgcmVsPSdo\n        dHRwOi8vZ2RhdGEueW91dHViZS5jb20vc2NoZW1hcy8yMDA3I3ZpZGVvLnJl\n        bGF0ZWQnIHR5cGU9J2FwcGxpY2F0aW9uL2F0b20reG1sJyBocmVmPSdodHRw\n        Oi8vZ2RhdGEueW91dHViZS5jb20vZmVlZHMvYXBpL3ZpZGVvcy8tSXBpekl4\n        RmE1QS9yZWxhdGVkP3Y9Mi4xJy8+PGxpbmsgcmVsPSdodHRwOi8vZ2RhdGEu\n        eW91dHViZS5jb20vc2NoZW1hcy8yMDA3I21vYmlsZScgdHlwZT0ndGV4dC9o\n        dG1sJyBocmVmPSdodHRwOi8vbS55b3V0dWJlLmNvbS9kZXRhaWxzP3Y9LUlw\n        aXpJeEZhNUEnLz48bGluayByZWw9J2h0dHA6Ly9nZGF0YS55b3V0dWJlLmNv\n        bS9zY2hlbWFzLzIwMDcjdXBsb2FkZXInIHR5cGU9J2FwcGxpY2F0aW9uL2F0\n        b20reG1sJyBocmVmPSdodHRwOi8vZ2RhdGEueW91dHViZS5jb20vZmVlZHMv\n        YXBpL3VzZXJzL21rWVlTVlE3cVVrZlhqeHlyTGpkdlE/dj0yLjEnLz48bGlu\n        ayByZWw9J3NlbGYnIHR5cGU9J2FwcGxpY2F0aW9uL2F0b20reG1sJyBocmVm\n        PSdodHRwOi8vZ2RhdGEueW91dHViZS5jb20vZmVlZHMvYXBpL3ZpZGVvcy8t\n        SXBpekl4RmE1QT92PTIuMScvPjxhdXRob3I+PG5hbWU+Q3Jpc3RpYW4gRHVn\n        PC9uYW1lPjx1cmk+aHR0cDovL2dkYXRhLnlvdXR1YmUuY29tL2ZlZWRzL2Fw\n        aS91c2Vycy9ta1lZU1ZRN3FVa2ZYanh5ckxqZHZRPC91cmk+PHl0OnVzZXJJ\n        ZD5ta1lZU1ZRN3FVa2ZYanh5ckxqZHZRPC95dDp1c2VySWQ+PC9hdXRob3I+\n        PHl0OmFjY2Vzc0NvbnRyb2wgYWN0aW9uPSdjb21tZW50JyBwZXJtaXNzaW9u\n        PSdhbGxvd2VkJy8+PHl0OmFjY2Vzc0NvbnRyb2wgYWN0aW9uPSdjb21tZW50\n        Vm90ZScgcGVybWlzc2lvbj0nYWxsb3dlZCcvPjx5dDphY2Nlc3NDb250cm9s\n        IGFjdGlvbj0ndmlkZW9SZXNwb25kJyBwZXJtaXNzaW9uPSdtb2RlcmF0ZWQn\n        Lz48eXQ6YWNjZXNzQ29udHJvbCBhY3Rpb249J3JhdGUnIHBlcm1pc3Npb249\n        J2FsbG93ZWQnLz48eXQ6YWNjZXNzQ29udHJvbCBhY3Rpb249J2VtYmVkJyBw\n        ZXJtaXNzaW9uPSdhbGxvd2VkJy8+PHl0OmFjY2Vzc0NvbnRyb2wgYWN0aW9u\n        PSdsaXN0JyBwZXJtaXNzaW9uPSdhbGxvd2VkJy8+PHl0OmFjY2Vzc0NvbnRy\n        b2wgYWN0aW9uPSdhdXRvUGxheScgcGVybWlzc2lvbj0nYWxsb3dlZCcvPjx5\n        dDphY2Nlc3NDb250cm9sIGFjdGlvbj0nc3luZGljYXRlJyBwZXJtaXNzaW9u\n        PSdhbGxvd2VkJy8+PGdkOmNvbW1lbnRzPjxnZDpmZWVkTGluayByZWw9J2h0\n        dHA6Ly9nZGF0YS55b3V0dWJlLmNvbS9zY2hlbWFzLzIwMDcjY29tbWVudHMn\n        IGhyZWY9J2h0dHA6Ly9nZGF0YS55b3V0dWJlLmNvbS9mZWVkcy9hcGkvdmlk\n        ZW9zLy1JcGl6SXhGYTVBL2NvbW1lbnRzP3Y9Mi4xJyBjb3VudEhpbnQ9JzAn\n        Lz48L2dkOmNvbW1lbnRzPjx5dDpoZC8+PG1lZGlhOmdyb3VwPjxtZWRpYTpj\n        YXRlZ29yeSBsYWJlbD0nRW50ZXJ0YWlubWVudCcgc2NoZW1lPSdodHRwOi8v\n        Z2RhdGEueW91dHViZS5jb20vc2NoZW1hcy8yMDA3L2NhdGVnb3JpZXMuY2F0\n        Jz5FbnRlcnRhaW5tZW50PC9tZWRpYTpjYXRlZ29yeT48bWVkaWE6Y29udGVu\n        dCB1cmw9J2h0dHA6Ly93d3cueW91dHViZS5jb20vdi8tSXBpekl4RmE1QT92\n        ZXJzaW9uPTMmYW1wO2Y9dmlkZW9zJmFtcDthcHA9eW91dHViZV9nZGF0YScg\n        dHlwZT0nYXBwbGljYXRpb24veC1zaG9ja3dhdmUtZmxhc2gnIG1lZGl1bT0n\n        dmlkZW8nIGlzRGVmYXVsdD0ndHJ1ZScgZXhwcmVzc2lvbj0nZnVsbCcgZHVy\n        YXRpb249Jzg1NScgeXQ6Zm9ybWF0PSc1Jy8+PG1lZGlhOmNvbnRlbnQgdXJs\n        PSdydHNwOi8vcjgtLS1zbi01aG43c3U3Ni5jLnlvdXR1YmUuY29tL0NpSUxF\n        Tnk3M3dJYUdRbVFhMFdNekdLSy1CTVlEU0FORkVnR1VnWjJhV1JsYjNNTS8w\n        LzAvMC92aWRlby4zZ3AnIHR5cGU9J3ZpZGVvLzNncHAnIG1lZGl1bT0ndmlk\n        ZW8nIGV4cHJlc3Npb249J2Z1bGwnIGR1cmF0aW9uPSc4NTUnIHl0OmZvcm1h\n        dD0nMScvPjxtZWRpYTpjb250ZW50IHVybD0ncnRzcDovL3I4LS0tc24tNWhu\n        N3N1NzYuYy55b3V0dWJlLmNvbS9DaUlMRU55NzN3SWFHUW1RYTBXTXpHS0st\n        Qk1ZRVNBUkZFZ0dVZ1oyYVdSbGIzTU0vMC8wLzAvdmlkZW8uM2dwJyB0eXBl\n        PSd2aWRlby8zZ3BwJyBtZWRpdW09J3ZpZGVvJyBleHByZXNzaW9uPSdmdWxs\n        JyBkdXJhdGlvbj0nODU1JyB5dDpmb3JtYXQ9JzYnLz48bWVkaWE6Y3JlZGl0\n        IHJvbGU9J3VwbG9hZGVyJyBzY2hlbWU9J3Vybjp5b3V0dWJlJyB5dDpkaXNw\n        bGF5PSdDcmlzdGlhbiBEdWcnPm1rWVlTVlE3cVVrZlhqeHlyTGpkdlE8L21l\n        ZGlhOmNyZWRpdD48bWVkaWE6ZGVzY3JpcHRpb24gdHlwZT0ncGxhaW4nPkV1\n        cm9TY3J1bSBhbmQgUGFpciBIb29rdXAgLSBNb25kYXksIDE2dGggRmViIGF0\n        IDExOjAwYW0gKFVUQyk8L21lZGlhOmRlc2NyaXB0aW9uPjxtZWRpYTprZXl3\n        b3Jkcy8+PG1lZGlhOmxpY2Vuc2UgdHlwZT0ndGV4dC9odG1sJyBocmVmPSdo\n        dHRwOi8vd3d3LnlvdXR1YmUuY29tL3QvdGVybXMnPnlvdXR1YmU8L21lZGlh\n        OmxpY2Vuc2U+PG1lZGlhOnBsYXllciB1cmw9J2h0dHA6Ly93d3cueW91dHVi\n        ZS5jb20vd2F0Y2g/dj0tSXBpekl4RmE1QSZhbXA7ZmVhdHVyZT15b3V0dWJl\n        X2dkYXRhX3BsYXllcicvPjxtZWRpYTp0aHVtYm5haWwgdXJsPSdodHRwOi8v\n        aS55dGltZy5jb20vdmkvLUlwaXpJeEZhNUEvZGVmYXVsdC5qcGcnIGhlaWdo\n        dD0nOTAnIHdpZHRoPScxMjAnIHRpbWU9JzAwOjA3OjA3LjUwMCcgeXQ6bmFt\n        ZT0nZGVmYXVsdCcvPjxtZWRpYTp0aHVtYm5haWwgdXJsPSdodHRwOi8vaS55\n        dGltZy5jb20vdmkvLUlwaXpJeEZhNUEvbXFkZWZhdWx0LmpwZycgaGVpZ2h0\n        PScxODAnIHdpZHRoPSczMjAnIHl0Om5hbWU9J21xZGVmYXVsdCcvPjxtZWRp\n        YTp0aHVtYm5haWwgdXJsPSdodHRwOi8vaS55dGltZy5jb20vdmkvLUlwaXpJ\n        eEZhNUEvaHFkZWZhdWx0LmpwZycgaGVpZ2h0PSczNjAnIHdpZHRoPSc0ODAn\n        IHl0Om5hbWU9J2hxZGVmYXVsdCcvPjxtZWRpYTp0aHVtYm5haWwgdXJsPSdo\n        dHRwOi8vaS55dGltZy5jb20vdmkvLUlwaXpJeEZhNUEvc2RkZWZhdWx0Lmpw\n        ZycgaGVpZ2h0PSc0ODAnIHdpZHRoPSc2NDAnIHl0Om5hbWU9J3NkZGVmYXVs\n        dCcvPjxtZWRpYTp0aHVtYm5haWwgdXJsPSdodHRwOi8vaS55dGltZy5jb20v\n        dmkvLUlwaXpJeEZhNUEvMS5qcGcnIGhlaWdodD0nOTAnIHdpZHRoPScxMjAn\n        IHRpbWU9JzAwOjAzOjMzLjc1MCcgeXQ6bmFtZT0nc3RhcnQnLz48bWVkaWE6\n        dGh1bWJuYWlsIHVybD0naHR0cDovL2kueXRpbWcuY29tL3ZpLy1JcGl6SXhG\n        YTVBLzIuanBnJyBoZWlnaHQ9JzkwJyB3aWR0aD0nMTIwJyB0aW1lPScwMDow\n        NzowNy41MDAnIHl0Om5hbWU9J21pZGRsZScvPjxtZWRpYTp0aHVtYm5haWwg\n        dXJsPSdodHRwOi8vaS55dGltZy5jb20vdmkvLUlwaXpJeEZhNUEvMy5qcGcn\n        IGhlaWdodD0nOTAnIHdpZHRoPScxMjAnIHRpbWU9JzAwOjEwOjQxLjI1MCcg\n        eXQ6bmFtZT0nZW5kJy8+PG1lZGlhOnRpdGxlIHR5cGU9J3BsYWluJz5FdXJv\n        U2NydW0gYW5kIFBhaXIgSG9va3VwIC0gTW9uZGF5LCAxNnRoIEZlYiBhdCAx\n        MTowMGFtIChVVEMpPC9tZWRpYTp0aXRsZT48eXQ6YXNwZWN0UmF0aW8+d2lk\n        ZXNjcmVlbjwveXQ6YXNwZWN0UmF0aW8+PHl0OmR1cmF0aW9uIHNlY29uZHM9\n        Jzg1NScvPjx5dDp1cGxvYWRlZD4yMDE1LTAyLTE2VDExOjMwOjA3LjAwMFo8\n        L3l0OnVwbG9hZGVkPjx5dDp1cGxvYWRlcklkPlVDbWtZWVNWUTdxVWtmWGp4\n        eXJMamR2UTwveXQ6dXBsb2FkZXJJZD48eXQ6dmlkZW9pZD4tSXBpekl4RmE1\n        QTwveXQ6dmlkZW9pZD48L21lZGlhOmdyb3VwPjx5dDpzdGF0aXN0aWNzIGZh\n        dm9yaXRlQ291bnQ9JzAnIHZpZXdDb3VudD0nMycvPjwvZW50cnk+PGVudHJ5\n        IGdkOmV0YWc9J1cvJnF1b3Q7Q2tBRFNINDdlQ3A3STJBOVhSUlFGa28uJnF1\n        b3Q7Jz48aWQ+dGFnOnlvdXR1YmUuY29tLDIwMDg6dmlkZW86SDZUSGZTNjJn\n        aGs8L2lkPjxwdWJsaXNoZWQ+MjAxNS0wMi0xMVQxNjowNjoxOS4wMDBaPC9w\n        dWJsaXNoZWQ+PHVwZGF0ZWQ+MjAxNS0wMi0xMVQxNjowNjoxOS4wMDBaPC91\n        cGRhdGVkPjxjYXRlZ29yeSBzY2hlbWU9J2h0dHA6Ly9zY2hlbWFzLmdvb2ds\n        ZS5jb20vZy8yMDA1I2tpbmQnIHRlcm09J2h0dHA6Ly9nZGF0YS55b3V0dWJl\n        LmNvbS9zY2hlbWFzLzIwMDcjdmlkZW8nLz48Y2F0ZWdvcnkgc2NoZW1lPSdo\n        dHRwOi8vZ2RhdGEueW91dHViZS5jb20vc2NoZW1hcy8yMDA3L2NhdGVnb3Jp\n        ZXMuY2F0JyB0ZXJtPSdFbnRlcnRhaW5tZW50JyBsYWJlbD0nRW50ZXJ0YWlu\n        bWVudCcvPjx0aXRsZT5BdGxhbnRpY1NjcnVtIGFuZCBQYWlyIEhvb2t1cCAo\n        U2NydW0gTWFzdGVyIFNhbSAtIExvY2FsU3VwcG9ydCwgQWdpbGVWZW50dXJl\n        cykgLSBXZWRuZXNkYXksIDExdGggRmViPC90aXRsZT48Y29udGVudCB0eXBl\n        PSdhcHBsaWNhdGlvbi94LXNob2Nrd2F2ZS1mbGFzaCcgc3JjPSdodHRwOi8v\n        d3d3LnlvdXR1YmUuY29tL3YvSDZUSGZTNjJnaGs/dmVyc2lvbj0zJmFtcDtm\n        PXZpZGVvcyZhbXA7YXBwPXlvdXR1YmVfZ2RhdGEnLz48bGluayByZWw9J2Fs\n        dGVybmF0ZScgdHlwZT0ndGV4dC9odG1sJyBocmVmPSdodHRwOi8vd3d3Lnlv\n        dXR1YmUuY29tL3dhdGNoP3Y9SDZUSGZTNjJnaGsmYW1wO2ZlYXR1cmU9eW91\n        dHViZV9nZGF0YScvPjxsaW5rIHJlbD0naHR0cDovL2dkYXRhLnlvdXR1YmUu\n        Y29tL3NjaGVtYXMvMjAwNyN2aWRlby5yZWxhdGVkJyB0eXBlPSdhcHBsaWNh\n        dGlvbi9hdG9tK3htbCcgaHJlZj0naHR0cDovL2dkYXRhLnlvdXR1YmUuY29t\n        L2ZlZWRzL2FwaS92aWRlb3MvSDZUSGZTNjJnaGsvcmVsYXRlZD92PTIuMScv\n        PjxsaW5rIHJlbD0naHR0cDovL2dkYXRhLnlvdXR1YmUuY29tL3NjaGVtYXMv\n        MjAwNyNtb2JpbGUnIHR5cGU9J3RleHQvaHRtbCcgaHJlZj0naHR0cDovL20u\n        eW91dHViZS5jb20vZGV0YWlscz92PUg2VEhmUzYyZ2hrJy8+PGxpbmsgcmVs\n        PSdodHRwOi8vZ2RhdGEueW91dHViZS5jb20vc2NoZW1hcy8yMDA3I3VwbG9h\n        ZGVyJyB0eXBlPSdhcHBsaWNhdGlvbi9hdG9tK3htbCcgaHJlZj0naHR0cDov\n        L2dkYXRhLnlvdXR1YmUuY29tL2ZlZWRzL2FwaS91c2Vycy9QUG80Wm5CV3dR\n        NzVKcWlJMTNWRk53P3Y9Mi4xJy8+PGxpbmsgcmVsPSdzZWxmJyB0eXBlPSdh\n        cHBsaWNhdGlvbi9hdG9tK3htbCcgaHJlZj0naHR0cDovL2dkYXRhLnlvdXR1\n        YmUuY29tL2ZlZWRzL2FwaS92aWRlb3MvSDZUSGZTNjJnaGs/dj0yLjEnLz48\n        YXV0aG9yPjxuYW1lPlNhbSBKb3NlcGg8L25hbWU+PHVyaT5odHRwOi8vZ2Rh\n        dGEueW91dHViZS5jb20vZmVlZHMvYXBpL3VzZXJzL2FldXJkc3RmYWtzZjwv\n        dXJpPjx5dDp1c2VySWQ+UFBvNFpuQld3UTc1SnFpSTEzVkZOdzwveXQ6dXNl\n        cklkPjwvYXV0aG9yPjx5dDphY2Nlc3NDb250cm9sIGFjdGlvbj0nY29tbWVu\n        dCcgcGVybWlzc2lvbj0nYWxsb3dlZCcvPjx5dDphY2Nlc3NDb250cm9sIGFj\n        dGlvbj0nY29tbWVudFZvdGUnIHBlcm1pc3Npb249J2FsbG93ZWQnLz48eXQ6\n        YWNjZXNzQ29udHJvbCBhY3Rpb249J3ZpZGVvUmVzcG9uZCcgcGVybWlzc2lv\n        bj0nbW9kZXJhdGVkJy8+PHl0OmFjY2Vzc0NvbnRyb2wgYWN0aW9uPSdyYXRl\n        JyBwZXJtaXNzaW9uPSdhbGxvd2VkJy8+PHl0OmFjY2Vzc0NvbnRyb2wgYWN0\n        aW9uPSdlbWJlZCcgcGVybWlzc2lvbj0nYWxsb3dlZCcvPjx5dDphY2Nlc3ND\n        b250cm9sIGFjdGlvbj0nbGlzdCcgcGVybWlzc2lvbj0nYWxsb3dlZCcvPjx5\n        dDphY2Nlc3NDb250cm9sIGFjdGlvbj0nYXV0b1BsYXknIHBlcm1pc3Npb249\n        J2FsbG93ZWQnLz48eXQ6YWNjZXNzQ29udHJvbCBhY3Rpb249J3N5bmRpY2F0\n        ZScgcGVybWlzc2lvbj0nYWxsb3dlZCcvPjxnZDpjb21tZW50cz48Z2Q6ZmVl\n        ZExpbmsgcmVsPSdodHRwOi8vZ2RhdGEueW91dHViZS5jb20vc2NoZW1hcy8y\n        MDA3I2NvbW1lbnRzJyBocmVmPSdodHRwOi8vZ2RhdGEueW91dHViZS5jb20v\n        ZmVlZHMvYXBpL3ZpZGVvcy9INlRIZlM2Mmdoay9jb21tZW50cz92PTIuMScg\n        Y291bnRIaW50PScwJy8+PC9nZDpjb21tZW50cz48eXQ6aGQvPjxtZWRpYTpn\n        cm91cD48bWVkaWE6Y2F0ZWdvcnkgbGFiZWw9J0VudGVydGFpbm1lbnQnIHNj\n        aGVtZT0naHR0cDovL2dkYXRhLnlvdXR1YmUuY29tL3NjaGVtYXMvMjAwNy9j\n        YXRlZ29yaWVzLmNhdCc+RW50ZXJ0YWlubWVudDwvbWVkaWE6Y2F0ZWdvcnk+\n        PG1lZGlhOmNvbnRlbnQgdXJsPSdodHRwOi8vd3d3LnlvdXR1YmUuY29tL3Yv\n        SDZUSGZTNjJnaGs/dmVyc2lvbj0zJmFtcDtmPXZpZGVvcyZhbXA7YXBwPXlv\n        dXR1YmVfZ2RhdGEnIHR5cGU9J2FwcGxpY2F0aW9uL3gtc2hvY2t3YXZlLWZs\n        YXNoJyBtZWRpdW09J3ZpZGVvJyBpc0RlZmF1bHQ9J3RydWUnIGV4cHJlc3Np\n        b249J2Z1bGwnIGR1cmF0aW9uPScxMCcgeXQ6Zm9ybWF0PSc1Jy8+PG1lZGlh\n        OmNvbnRlbnQgdXJsPSdydHNwOi8vcjEtLS1zbi01aG43c3U3ci5jLnlvdXR1\n        YmUuY29tL0NpSUxFTnk3M3dJYUdRa1pncll1ZmNla0h4TVlEU0FORkVnR1Vn\n        WjJhV1JsYjNNTS8wLzAvMC92aWRlby4zZ3AnIHR5cGU9J3ZpZGVvLzNncHAn\n        IG1lZGl1bT0ndmlkZW8nIGV4cHJlc3Npb249J2Z1bGwnIGR1cmF0aW9uPScx\n        MCcgeXQ6Zm9ybWF0PScxJy8+PG1lZGlhOmNvbnRlbnQgdXJsPSdydHNwOi8v\n        cjEtLS1zbi01aG43c3U3ci5jLnlvdXR1YmUuY29tL0NpSUxFTnk3M3dJYUdR\n        a1pncll1ZmNla0h4TVlFU0FSRkVnR1VnWjJhV1JsYjNNTS8wLzAvMC92aWRl\n        by4zZ3AnIHR5cGU9J3ZpZGVvLzNncHAnIG1lZGl1bT0ndmlkZW8nIGV4cHJl\n        c3Npb249J2Z1bGwnIGR1cmF0aW9uPScxMCcgeXQ6Zm9ybWF0PSc2Jy8+PG1l\n        ZGlhOmNyZWRpdCByb2xlPSd1cGxvYWRlcicgc2NoZW1lPSd1cm46eW91dHVi\n        ZScgeXQ6ZGlzcGxheT0nU2FtIEpvc2VwaCc+YWV1cmRzdGZha3NmPC9tZWRp\n        YTpjcmVkaXQ+PG1lZGlhOmRlc2NyaXB0aW9uIHR5cGU9J3BsYWluJz5BdGxh\n        bnRpY1NjcnVtIGFuZCBQYWlyIEhvb2t1cCAoU2NydW0gTWFzdGVyIFNhbSAt\n        IExvY2FsU3VwcG9ydCwgQWdpbGVWZW50dXJlcykgLSBXZWRuZXNkYXksIDEx\n        dGggRmViIGF0IDAzOjQ1cG0gKFVUQyk8L21lZGlhOmRlc2NyaXB0aW9uPjxt\n        ZWRpYTprZXl3b3Jkcy8+PG1lZGlhOmxpY2Vuc2UgdHlwZT0ndGV4dC9odG1s\n        JyBocmVmPSdodHRwOi8vd3d3LnlvdXR1YmUuY29tL3QvdGVybXMnPnlvdXR1\n        YmU8L21lZGlhOmxpY2Vuc2U+PG1lZGlhOnBsYXllciB1cmw9J2h0dHA6Ly93\n        d3cueW91dHViZS5jb20vd2F0Y2g/dj1INlRIZlM2MmdoayZhbXA7ZmVhdHVy\n        ZT15b3V0dWJlX2dkYXRhX3BsYXllcicvPjxtZWRpYTp0aHVtYm5haWwgdXJs\n        PSdodHRwOi8vaS55dGltZy5jb20vdmkvSDZUSGZTNjJnaGsvZGVmYXVsdC5q\n        cGcnIGhlaWdodD0nOTAnIHdpZHRoPScxMjAnIHRpbWU9JzAwOjAwOjA1JyB5\n        dDpuYW1lPSdkZWZhdWx0Jy8+PG1lZGlhOnRodW1ibmFpbCB1cmw9J2h0dHA6\n        Ly9pLnl0aW1nLmNvbS92aS9INlRIZlM2Mmdoay9tcWRlZmF1bHQuanBnJyBo\n        ZWlnaHQ9JzE4MCcgd2lkdGg9JzMyMCcgeXQ6bmFtZT0nbXFkZWZhdWx0Jy8+\n        PG1lZGlhOnRodW1ibmFpbCB1cmw9J2h0dHA6Ly9pLnl0aW1nLmNvbS92aS9I\n        NlRIZlM2Mmdoay9ocWRlZmF1bHQuanBnJyBoZWlnaHQ9JzM2MCcgd2lkdGg9\n        JzQ4MCcgeXQ6bmFtZT0naHFkZWZhdWx0Jy8+PG1lZGlhOnRodW1ibmFpbCB1\n        cmw9J2h0dHA6Ly9pLnl0aW1nLmNvbS92aS9INlRIZlM2Mmdoay9zZGRlZmF1\n        bHQuanBnJyBoZWlnaHQ9JzQ4MCcgd2lkdGg9JzY0MCcgeXQ6bmFtZT0nc2Rk\n        ZWZhdWx0Jy8+PG1lZGlhOnRodW1ibmFpbCB1cmw9J2h0dHA6Ly9pLnl0aW1n\n        LmNvbS92aS9INlRIZlM2Mmdoay8xLmpwZycgaGVpZ2h0PSc5MCcgd2lkdGg9\n        JzEyMCcgdGltZT0nMDA6MDA6MDIuNTAwJyB5dDpuYW1lPSdzdGFydCcvPjxt\n        ZWRpYTp0aHVtYm5haWwgdXJsPSdodHRwOi8vaS55dGltZy5jb20vdmkvSDZU\n        SGZTNjJnaGsvMi5qcGcnIGhlaWdodD0nOTAnIHdpZHRoPScxMjAnIHRpbWU9\n        JzAwOjAwOjA1JyB5dDpuYW1lPSdtaWRkbGUnLz48bWVkaWE6dGh1bWJuYWls\n        IHVybD0naHR0cDovL2kueXRpbWcuY29tL3ZpL0g2VEhmUzYyZ2hrLzMuanBn\n        JyBoZWlnaHQ9JzkwJyB3aWR0aD0nMTIwJyB0aW1lPScwMDowMDowNy41MDAn\n        IHl0Om5hbWU9J2VuZCcvPjxtZWRpYTp0aXRsZSB0eXBlPSdwbGFpbic+QXRs\n        YW50aWNTY3J1bSBhbmQgUGFpciBIb29rdXAgKFNjcnVtIE1hc3RlciBTYW0g\n        LSBMb2NhbFN1cHBvcnQsIEFnaWxlVmVudHVyZXMpIC0gV2VkbmVzZGF5LCAx\n        MXRoIEZlYjwvbWVkaWE6dGl0bGU+PHl0OmFzcGVjdFJhdGlvPndpZGVzY3Jl\n        ZW48L3l0OmFzcGVjdFJhdGlvPjx5dDpkdXJhdGlvbiBzZWNvbmRzPScxMCcv\n        Pjx5dDp1cGxvYWRlZD4yMDE1LTAyLTExVDE2OjA2OjE5LjAwMFo8L3l0OnVw\n        bG9hZGVkPjx5dDp1cGxvYWRlcklkPlVDUFBvNFpuQld3UTc1SnFpSTEzVkZO\n        dzwveXQ6dXBsb2FkZXJJZD48eXQ6dmlkZW9pZD5INlRIZlM2MmdoazwveXQ6\n        dmlkZW9pZD48L21lZGlhOmdyb3VwPjx5dDpzdGF0aXN0aWNzIGZhdm9yaXRl\n        Q291bnQ9JzAnIHZpZXdDb3VudD0nMTAnLz48L2VudHJ5PjxlbnRyeSBnZDpl\n        dGFnPSdXLyZxdW90O0QwY05RSDQ3ZUNwN0kyQTlYUlJRRlVnLiZxdW90Oyc+\n        PGlkPnRhZzp5b3V0dWJlLmNvbSwyMDA4OnZpZGVvOkJrMlM2M21KNkwwPC9p\n        ZD48cHVibGlzaGVkPjIwMTUtMDItMDlUMTY6MTE6NDAuMDAwWjwvcHVibGlz\n        aGVkPjx1cGRhdGVkPjIwMTUtMDItMTBUMDc6NTg6MTEuMDAwWjwvdXBkYXRl\n        ZD48Y2F0ZWdvcnkgc2NoZW1lPSdodHRwOi8vc2NoZW1hcy5nb29nbGUuY29t\n        L2cvMjAwNSNraW5kJyB0ZXJtPSdodHRwOi8vZ2RhdGEueW91dHViZS5jb20v\n        c2NoZW1hcy8yMDA3I3ZpZGVvJy8+PGNhdGVnb3J5IHNjaGVtZT0naHR0cDov\n        L2dkYXRhLnlvdXR1YmUuY29tL3NjaGVtYXMvMjAwNy9jYXRlZ29yaWVzLmNh\n        dCcgdGVybT0nRW50ZXJ0YWlubWVudCcgbGFiZWw9J0VudGVydGFpbm1lbnQn\n        Lz48dGl0bGU+QXRsYW50aWNTY3J1bSBhbmQgUGFpciBIb29rdXAgKFNjcnVt\n        IE1hc3RlciBTYW0gLSBMb2NhbFN1cHBvcnQsIEFnaWxlVmVudHVyZXMpIC0g\n        TW9uZGF5LCA5dGggRmViIGF0PC90aXRsZT48Y29udGVudCB0eXBlPSdhcHBs\n        aWNhdGlvbi94LXNob2Nrd2F2ZS1mbGFzaCcgc3JjPSdodHRwOi8vd3d3Lnlv\n        dXR1YmUuY29tL3YvQmsyUzYzbUo2TDA/dmVyc2lvbj0zJmFtcDtmPXZpZGVv\n        cyZhbXA7YXBwPXlvdXR1YmVfZ2RhdGEnLz48bGluayByZWw9J2FsdGVybmF0\n        ZScgdHlwZT0ndGV4dC9odG1sJyBocmVmPSdodHRwOi8vd3d3LnlvdXR1YmUu\n        Y29tL3dhdGNoP3Y9QmsyUzYzbUo2TDAmYW1wO2ZlYXR1cmU9eW91dHViZV9n\n        ZGF0YScvPjxsaW5rIHJlbD0naHR0cDovL2dkYXRhLnlvdXR1YmUuY29tL3Nj\n        aGVtYXMvMjAwNyN2aWRlby5yZWxhdGVkJyB0eXBlPSdhcHBsaWNhdGlvbi9h\n        dG9tK3htbCcgaHJlZj0naHR0cDovL2dkYXRhLnlvdXR1YmUuY29tL2ZlZWRz\n        L2FwaS92aWRlb3MvQmsyUzYzbUo2TDAvcmVsYXRlZD92PTIuMScvPjxsaW5r\n        IHJlbD0naHR0cDovL2dkYXRhLnlvdXR1YmUuY29tL3NjaGVtYXMvMjAwNyNt\n        b2JpbGUnIHR5cGU9J3RleHQvaHRtbCcgaHJlZj0naHR0cDovL20ueW91dHVi\n        ZS5jb20vZGV0YWlscz92PUJrMlM2M21KNkwwJy8+PGxpbmsgcmVsPSdodHRw\n        Oi8vZ2RhdGEueW91dHViZS5jb20vc2NoZW1hcy8yMDA3I3VwbG9hZGVyJyB0\n        eXBlPSdhcHBsaWNhdGlvbi9hdG9tK3htbCcgaHJlZj0naHR0cDovL2dkYXRh\n        LnlvdXR1YmUuY29tL2ZlZWRzL2FwaS91c2Vycy9QUG80Wm5CV3dRNzVKcWlJ\n        MTNWRk53P3Y9Mi4xJy8+PGxpbmsgcmVsPSdzZWxmJyB0eXBlPSdhcHBsaWNh\n        dGlvbi9hdG9tK3htbCcgaHJlZj0naHR0cDovL2dkYXRhLnlvdXR1YmUuY29t\n        L2ZlZWRzL2FwaS92aWRlb3MvQmsyUzYzbUo2TDA/dj0yLjEnLz48YXV0aG9y\n        PjxuYW1lPlNhbSBKb3NlcGg8L25hbWU+PHVyaT5odHRwOi8vZ2RhdGEueW91\n        dHViZS5jb20vZmVlZHMvYXBpL3VzZXJzL2FldXJkc3RmYWtzZjwvdXJpPjx5\n        dDp1c2VySWQ+UFBvNFpuQld3UTc1SnFpSTEzVkZOdzwveXQ6dXNlcklkPjwv\n        YXV0aG9yPjx5dDphY2Nlc3NDb250cm9sIGFjdGlvbj0nY29tbWVudCcgcGVy\n        bWlzc2lvbj0nYWxsb3dlZCcvPjx5dDphY2Nlc3NDb250cm9sIGFjdGlvbj0n\n        Y29tbWVudFZvdGUnIHBlcm1pc3Npb249J2FsbG93ZWQnLz48eXQ6YWNjZXNz\n        Q29udHJvbCBhY3Rpb249J3ZpZGVvUmVzcG9uZCcgcGVybWlzc2lvbj0nbW9k\n        ZXJhdGVkJy8+PHl0OmFjY2Vzc0NvbnRyb2wgYWN0aW9uPSdyYXRlJyBwZXJt\n        aXNzaW9uPSdhbGxvd2VkJy8+PHl0OmFjY2Vzc0NvbnRyb2wgYWN0aW9uPSdl\n        bWJlZCcgcGVybWlzc2lvbj0nYWxsb3dlZCcvPjx5dDphY2Nlc3NDb250cm9s\n        IGFjdGlvbj0nbGlzdCcgcGVybWlzc2lvbj0nYWxsb3dlZCcvPjx5dDphY2Nl\n        c3NDb250cm9sIGFjdGlvbj0nYXV0b1BsYXknIHBlcm1pc3Npb249J2FsbG93\n        ZWQnLz48eXQ6YWNjZXNzQ29udHJvbCBhY3Rpb249J3N5bmRpY2F0ZScgcGVy\n        bWlzc2lvbj0nYWxsb3dlZCcvPjxnZDpjb21tZW50cz48Z2Q6ZmVlZExpbmsg\n        cmVsPSdodHRwOi8vZ2RhdGEueW91dHViZS5jb20vc2NoZW1hcy8yMDA3I2Nv\n        bW1lbnRzJyBocmVmPSdodHRwOi8vZ2RhdGEueW91dHViZS5jb20vZmVlZHMv\n        YXBpL3ZpZGVvcy9CazJTNjNtSjZMMC9jb21tZW50cz92PTIuMScgY291bnRI\n        aW50PScwJy8+PC9nZDpjb21tZW50cz48eXQ6aGQvPjxtZWRpYTpncm91cD48\n        bWVkaWE6Y2F0ZWdvcnkgbGFiZWw9J0VudGVydGFpbm1lbnQnIHNjaGVtZT0n\n        aHR0cDovL2dkYXRhLnlvdXR1YmUuY29tL3NjaGVtYXMvMjAwNy9jYXRlZ29y\n        aWVzLmNhdCc+RW50ZXJ0YWlubWVudDwvbWVkaWE6Y2F0ZWdvcnk+PG1lZGlh\n        OmNvbnRlbnQgdXJsPSdodHRwOi8vd3d3LnlvdXR1YmUuY29tL3YvQmsyUzYz\n        bUo2TDA/dmVyc2lvbj0zJmFtcDtmPXZpZGVvcyZhbXA7YXBwPXlvdXR1YmVf\n        Z2RhdGEnIHR5cGU9J2FwcGxpY2F0aW9uL3gtc2hvY2t3YXZlLWZsYXNoJyBt\n        ZWRpdW09J3ZpZGVvJyBpc0RlZmF1bHQ9J3RydWUnIGV4cHJlc3Npb249J2Z1\n        bGwnIGR1cmF0aW9uPScxMjUxJyB5dDpmb3JtYXQ9JzUnLz48bWVkaWE6Y29u\n        dGVudCB1cmw9J3J0c3A6Ly9yNy0tLXNuLTVobjdzdTdlLmMueW91dHViZS5j\n        b20vQ2lJTEVOeTczd0lhR1FtOTZJbDU2NUpOQmhNWURTQU5GRWdHVWdaMmFX\n        UmxiM01NLzAvMC8wL3ZpZGVvLjNncCcgdHlwZT0ndmlkZW8vM2dwcCcgbWVk\n        aXVtPSd2aWRlbycgZXhwcmVzc2lvbj0nZnVsbCcgZHVyYXRpb249JzEyNTEn\n        IHl0OmZvcm1hdD0nMScvPjxtZWRpYTpjb250ZW50IHVybD0ncnRzcDovL3I3\n        LS0tc24tNWhuN3N1N2UuYy55b3V0dWJlLmNvbS9DaUlMRU55NzN3SWFHUW05\n        NklsNTY1Sk5CaE1ZRVNBUkZFZ0dVZ1oyYVdSbGIzTU0vMC8wLzAvdmlkZW8u\n        M2dwJyB0eXBlPSd2aWRlby8zZ3BwJyBtZWRpdW09J3ZpZGVvJyBleHByZXNz\n        aW9uPSdmdWxsJyBkdXJhdGlvbj0nMTI1MScgeXQ6Zm9ybWF0PSc2Jy8+PG1l\n        ZGlhOmNyZWRpdCByb2xlPSd1cGxvYWRlcicgc2NoZW1lPSd1cm46eW91dHVi\n        ZScgeXQ6ZGlzcGxheT0nU2FtIEpvc2VwaCc+YWV1cmRzdGZha3NmPC9tZWRp\n        YTpjcmVkaXQ+PG1lZGlhOmRlc2NyaXB0aW9uIHR5cGU9J3BsYWluJz5BdGxh\n        bnRpY1NjcnVtIGFuZCBQYWlyIEhvb2t1cCAoU2NydW0gTWFzdGVyIFNhbSAt\n        IExvY2FsU3VwcG9ydCwgQWdpbGVWZW50dXJlcykgLSBNb25kYXksIDl0aCBG\n        ZWIgYXQgMDM6NDVwbSAoVVRDKTwvbWVkaWE6ZGVzY3JpcHRpb24+PG1lZGlh\n        OmtleXdvcmRzLz48bWVkaWE6bGljZW5zZSB0eXBlPSd0ZXh0L2h0bWwnIGhy\n        ZWY9J2h0dHA6Ly93d3cueW91dHViZS5jb20vdC90ZXJtcyc+eW91dHViZTwv\n        bWVkaWE6bGljZW5zZT48bWVkaWE6cGxheWVyIHVybD0naHR0cDovL3d3dy55\n        b3V0dWJlLmNvbS93YXRjaD92PUJrMlM2M21KNkwwJmFtcDtmZWF0dXJlPXlv\n        dXR1YmVfZ2RhdGFfcGxheWVyJy8+PG1lZGlhOnRodW1ibmFpbCB1cmw9J2h0\n        dHA6Ly9pLnl0aW1nLmNvbS92aS9CazJTNjNtSjZMMC9kZWZhdWx0LmpwZycg\n        aGVpZ2h0PSc5MCcgd2lkdGg9JzEyMCcgdGltZT0nMDA6MTA6MjUuNTAwJyB5\n        dDpuYW1lPSdkZWZhdWx0Jy8+PG1lZGlhOnRodW1ibmFpbCB1cmw9J2h0dHA6\n        Ly9pLnl0aW1nLmNvbS92aS9CazJTNjNtSjZMMC9tcWRlZmF1bHQuanBnJyBo\n        ZWlnaHQ9JzE4MCcgd2lkdGg9JzMyMCcgeXQ6bmFtZT0nbXFkZWZhdWx0Jy8+\n        PG1lZGlhOnRodW1ibmFpbCB1cmw9J2h0dHA6Ly9pLnl0aW1nLmNvbS92aS9C\n        azJTNjNtSjZMMC9ocWRlZmF1bHQuanBnJyBoZWlnaHQ9JzM2MCcgd2lkdGg9\n        JzQ4MCcgeXQ6bmFtZT0naHFkZWZhdWx0Jy8+PG1lZGlhOnRodW1ibmFpbCB1\n        cmw9J2h0dHA6Ly9pLnl0aW1nLmNvbS92aS9CazJTNjNtSjZMMC9zZGRlZmF1\n        bHQuanBnJyBoZWlnaHQ9JzQ4MCcgd2lkdGg9JzY0MCcgeXQ6bmFtZT0nc2Rk\n        ZWZhdWx0Jy8+PG1lZGlhOnRodW1ibmFpbCB1cmw9J2h0dHA6Ly9pLnl0aW1n\n        LmNvbS92aS9CazJTNjNtSjZMMC8xLmpwZycgaGVpZ2h0PSc5MCcgd2lkdGg9\n        JzEyMCcgdGltZT0nMDA6MDU6MTIuNzUwJyB5dDpuYW1lPSdzdGFydCcvPjxt\n        ZWRpYTp0aHVtYm5haWwgdXJsPSdodHRwOi8vaS55dGltZy5jb20vdmkvQmsy\n        UzYzbUo2TDAvMi5qcGcnIGhlaWdodD0nOTAnIHdpZHRoPScxMjAnIHRpbWU9\n        JzAwOjEwOjI1LjUwMCcgeXQ6bmFtZT0nbWlkZGxlJy8+PG1lZGlhOnRodW1i\n        bmFpbCB1cmw9J2h0dHA6Ly9pLnl0aW1nLmNvbS92aS9CazJTNjNtSjZMMC8z\n        LmpwZycgaGVpZ2h0PSc5MCcgd2lkdGg9JzEyMCcgdGltZT0nMDA6MTU6Mzgu\n        MjUwJyB5dDpuYW1lPSdlbmQnLz48bWVkaWE6dGl0bGUgdHlwZT0ncGxhaW4n\n        PkF0bGFudGljU2NydW0gYW5kIFBhaXIgSG9va3VwIChTY3J1bSBNYXN0ZXIg\n        U2FtIC0gTG9jYWxTdXBwb3J0LCBBZ2lsZVZlbnR1cmVzKSAtIE1vbmRheSwg\n        OXRoIEZlYiBhdDwvbWVkaWE6dGl0bGU+PHl0OmFzcGVjdFJhdGlvPndpZGVz\n        Y3JlZW48L3l0OmFzcGVjdFJhdGlvPjx5dDpkdXJhdGlvbiBzZWNvbmRzPScx\n        MjUxJy8+PHl0OnVwbG9hZGVkPjIwMTUtMDItMDlUMTY6MTE6NDAuMDAwWjwv\n        eXQ6dXBsb2FkZWQ+PHl0OnVwbG9hZGVySWQ+VUNQUG80Wm5CV3dRNzVKcWlJ\n        MTNWRk53PC95dDp1cGxvYWRlcklkPjx5dDp2aWRlb2lkPkJrMlM2M21KNkww\n        PC95dDp2aWRlb2lkPjwvbWVkaWE6Z3JvdXA+PHl0OnN0YXRpc3RpY3MgZmF2\n        b3JpdGVDb3VudD0nMCcgdmlld0NvdW50PSc4Jy8+PC9lbnRyeT48ZW50cnkg\n        Z2Q6ZXRhZz0nVy8mcXVvdDtDa0lNUVg0N2VDcDdJMkE5WFJSUUZFVS4mcXVv\n        dDsnPjxpZD50YWc6eW91dHViZS5jb20sMjAwODp2aWRlbzpEaVF1cVhWNkR4\n        RTwvaWQ+PHB1Ymxpc2hlZD4yMDE1LTAyLTA5VDExOjE2OjIwLjAwMFo8L3B1\n        Ymxpc2hlZD48dXBkYXRlZD4yMDE1LTAyLTA5VDExOjE2OjIwLjAwMFo8L3Vw\n        ZGF0ZWQ+PGNhdGVnb3J5IHNjaGVtZT0naHR0cDovL3NjaGVtYXMuZ29vZ2xl\n        LmNvbS9nLzIwMDUja2luZCcgdGVybT0naHR0cDovL2dkYXRhLnlvdXR1YmUu\n        Y29tL3NjaGVtYXMvMjAwNyN2aWRlbycvPjxjYXRlZ29yeSBzY2hlbWU9J2h0\n        dHA6Ly9nZGF0YS55b3V0dWJlLmNvbS9zY2hlbWFzLzIwMDcvY2F0ZWdvcmll\n        cy5jYXQnIHRlcm09J0VudGVydGFpbm1lbnQnIGxhYmVsPSdFbnRlcnRhaW5t\n        ZW50Jy8+PHRpdGxlPkV1cm9TY3J1bSBhbmQgUGFpciBIb29rdXAgLSBNb25k\n        YXksIDl0aCBGZWIgYXQgMTE6MDBhbSAoVVRDKTwvdGl0bGU+PGNvbnRlbnQg\n        dHlwZT0nYXBwbGljYXRpb24veC1zaG9ja3dhdmUtZmxhc2gnIHNyYz0naHR0\n        cDovL3d3dy55b3V0dWJlLmNvbS92L0RpUXVxWFY2RHhFP3ZlcnNpb249MyZh\n        bXA7Zj12aWRlb3MmYW1wO2FwcD15b3V0dWJlX2dkYXRhJy8+PGxpbmsgcmVs\n        PSdhbHRlcm5hdGUnIHR5cGU9J3RleHQvaHRtbCcgaHJlZj0naHR0cDovL3d3\n        dy55b3V0dWJlLmNvbS93YXRjaD92PURpUXVxWFY2RHhFJmFtcDtmZWF0dXJl\n        PXlvdXR1YmVfZ2RhdGEnLz48bGluayByZWw9J2h0dHA6Ly9nZGF0YS55b3V0\n        dWJlLmNvbS9zY2hlbWFzLzIwMDcjdmlkZW8ucmVsYXRlZCcgdHlwZT0nYXBw\n        bGljYXRpb24vYXRvbSt4bWwnIGhyZWY9J2h0dHA6Ly9nZGF0YS55b3V0dWJl\n        LmNvbS9mZWVkcy9hcGkvdmlkZW9zL0RpUXVxWFY2RHhFL3JlbGF0ZWQ/dj0y\n        LjEnLz48bGluayByZWw9J2h0dHA6Ly9nZGF0YS55b3V0dWJlLmNvbS9zY2hl\n        bWFzLzIwMDcjbW9iaWxlJyB0eXBlPSd0ZXh0L2h0bWwnIGhyZWY9J2h0dHA6\n        Ly9tLnlvdXR1YmUuY29tL2RldGFpbHM/dj1EaVF1cVhWNkR4RScvPjxsaW5r\n        IHJlbD0naHR0cDovL2dkYXRhLnlvdXR1YmUuY29tL3NjaGVtYXMvMjAwNyN1\n        cGxvYWRlcicgdHlwZT0nYXBwbGljYXRpb24vYXRvbSt4bWwnIGhyZWY9J2h0\n        dHA6Ly9nZGF0YS55b3V0dWJlLmNvbS9mZWVkcy9hcGkvdXNlcnMvbWtZWVNW\n        UTdxVWtmWGp4eXJMamR2UT92PTIuMScvPjxsaW5rIHJlbD0nc2VsZicgdHlw\n        ZT0nYXBwbGljYXRpb24vYXRvbSt4bWwnIGhyZWY9J2h0dHA6Ly9nZGF0YS55\n        b3V0dWJlLmNvbS9mZWVkcy9hcGkvdmlkZW9zL0RpUXVxWFY2RHhFP3Y9Mi4x\n        Jy8+PGF1dGhvcj48bmFtZT5DcmlzdGlhbiBEdWc8L25hbWU+PHVyaT5odHRw\n        Oi8vZ2RhdGEueW91dHViZS5jb20vZmVlZHMvYXBpL3VzZXJzL21rWVlTVlE3\n        cVVrZlhqeHlyTGpkdlE8L3VyaT48eXQ6dXNlcklkPm1rWVlTVlE3cVVrZlhq\n        eHlyTGpkdlE8L3l0OnVzZXJJZD48L2F1dGhvcj48eXQ6YWNjZXNzQ29udHJv\n        bCBhY3Rpb249J2NvbW1lbnQnIHBlcm1pc3Npb249J2FsbG93ZWQnLz48eXQ6\n        YWNjZXNzQ29udHJvbCBhY3Rpb249J2NvbW1lbnRWb3RlJyBwZXJtaXNzaW9u\n        PSdhbGxvd2VkJy8+PHl0OmFjY2Vzc0NvbnRyb2wgYWN0aW9uPSd2aWRlb1Jl\n        c3BvbmQnIHBlcm1pc3Npb249J21vZGVyYXRlZCcvPjx5dDphY2Nlc3NDb250\n        cm9sIGFjdGlvbj0ncmF0ZScgcGVybWlzc2lvbj0nYWxsb3dlZCcvPjx5dDph\n        Y2Nlc3NDb250cm9sIGFjdGlvbj0nZW1iZWQnIHBlcm1pc3Npb249J2FsbG93\n        ZWQnLz48eXQ6YWNjZXNzQ29udHJvbCBhY3Rpb249J2xpc3QnIHBlcm1pc3Np\n        b249J2FsbG93ZWQnLz48eXQ6YWNjZXNzQ29udHJvbCBhY3Rpb249J2F1dG9Q\n        bGF5JyBwZXJtaXNzaW9uPSdhbGxvd2VkJy8+PHl0OmFjY2Vzc0NvbnRyb2wg\n        YWN0aW9uPSdzeW5kaWNhdGUnIHBlcm1pc3Npb249J2FsbG93ZWQnLz48Z2Q6\n        Y29tbWVudHM+PGdkOmZlZWRMaW5rIHJlbD0naHR0cDovL2dkYXRhLnlvdXR1\n        YmUuY29tL3NjaGVtYXMvMjAwNyNjb21tZW50cycgaHJlZj0naHR0cDovL2dk\n        YXRhLnlvdXR1YmUuY29tL2ZlZWRzL2FwaS92aWRlb3MvRGlRdXFYVjZEeEUv\n        Y29tbWVudHM/dj0yLjEnIGNvdW50SGludD0nMCcvPjwvZ2Q6Y29tbWVudHM+\n        PHl0OmhkLz48bWVkaWE6Z3JvdXA+PG1lZGlhOmNhdGVnb3J5IGxhYmVsPSdF\n        bnRlcnRhaW5tZW50JyBzY2hlbWU9J2h0dHA6Ly9nZGF0YS55b3V0dWJlLmNv\n        bS9zY2hlbWFzLzIwMDcvY2F0ZWdvcmllcy5jYXQnPkVudGVydGFpbm1lbnQ8\n        L21lZGlhOmNhdGVnb3J5PjxtZWRpYTpjb250ZW50IHVybD0naHR0cDovL3d3\n        dy55b3V0dWJlLmNvbS92L0RpUXVxWFY2RHhFP3ZlcnNpb249MyZhbXA7Zj12\n        aWRlb3MmYW1wO2FwcD15b3V0dWJlX2dkYXRhJyB0eXBlPSdhcHBsaWNhdGlv\n        bi94LXNob2Nrd2F2ZS1mbGFzaCcgbWVkaXVtPSd2aWRlbycgaXNEZWZhdWx0\n        PSd0cnVlJyBleHByZXNzaW9uPSdmdWxsJyBkdXJhdGlvbj0nMzUxJyB5dDpm\n        b3JtYXQ9JzUnLz48bWVkaWE6Y29udGVudCB1cmw9J3J0c3A6Ly9yNS0tLXNu\n        LTVobjdzdTdsLmMueW91dHViZS5jb20vQ2lJTEVOeTczd0lhR1FrUkQzcDFx\n        UzRrRGhNWURTQU5GRWdHVWdaMmFXUmxiM01NLzAvMC8wL3ZpZGVvLjNncCcg\n        dHlwZT0ndmlkZW8vM2dwcCcgbWVkaXVtPSd2aWRlbycgZXhwcmVzc2lvbj0n\n        ZnVsbCcgZHVyYXRpb249JzM1MScgeXQ6Zm9ybWF0PScxJy8+PG1lZGlhOmNv\n        bnRlbnQgdXJsPSdydHNwOi8vcjUtLS1zbi01aG43c3U3bC5jLnlvdXR1YmUu\n        Y29tL0NpSUxFTnk3M3dJYUdRa1JEM3AxcVM0a0RoTVlFU0FSRkVnR1VnWjJh\n        V1JsYjNNTS8wLzAvMC92aWRlby4zZ3AnIHR5cGU9J3ZpZGVvLzNncHAnIG1l\n        ZGl1bT0ndmlkZW8nIGV4cHJlc3Npb249J2Z1bGwnIGR1cmF0aW9uPSczNTEn\n        IHl0OmZvcm1hdD0nNicvPjxtZWRpYTpjcmVkaXQgcm9sZT0ndXBsb2FkZXIn\n        IHNjaGVtZT0ndXJuOnlvdXR1YmUnIHl0OmRpc3BsYXk9J0NyaXN0aWFuIER1\n        Zyc+bWtZWVNWUTdxVWtmWGp4eXJMamR2UTwvbWVkaWE6Y3JlZGl0PjxtZWRp\n        YTpkZXNjcmlwdGlvbiB0eXBlPSdwbGFpbic+RXVyb1NjcnVtIGFuZCBQYWly\n        IEhvb2t1cCAtIE1vbmRheSwgOXRoIEZlYiBhdCAxMTowMGFtIChVVEMpPC9t\n        ZWRpYTpkZXNjcmlwdGlvbj48bWVkaWE6a2V5d29yZHMvPjxtZWRpYTpsaWNl\n        bnNlIHR5cGU9J3RleHQvaHRtbCcgaHJlZj0naHR0cDovL3d3dy55b3V0dWJl\n        LmNvbS90L3Rlcm1zJz55b3V0dWJlPC9tZWRpYTpsaWNlbnNlPjxtZWRpYTpw\n        bGF5ZXIgdXJsPSdodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9RGlR\n        dXFYVjZEeEUmYW1wO2ZlYXR1cmU9eW91dHViZV9nZGF0YV9wbGF5ZXInLz48\n        bWVkaWE6dGh1bWJuYWlsIHVybD0naHR0cDovL2kueXRpbWcuY29tL3ZpL0Rp\n        UXVxWFY2RHhFL2RlZmF1bHQuanBnJyBoZWlnaHQ9JzkwJyB3aWR0aD0nMTIw\n        JyB0aW1lPScwMDowMjo1NS41MDAnIHl0Om5hbWU9J2RlZmF1bHQnLz48bWVk\n        aWE6dGh1bWJuYWlsIHVybD0naHR0cDovL2kueXRpbWcuY29tL3ZpL0RpUXVx\n        WFY2RHhFL21xZGVmYXVsdC5qcGcnIGhlaWdodD0nMTgwJyB3aWR0aD0nMzIw\n        JyB5dDpuYW1lPSdtcWRlZmF1bHQnLz48bWVkaWE6dGh1bWJuYWlsIHVybD0n\n        aHR0cDovL2kueXRpbWcuY29tL3ZpL0RpUXVxWFY2RHhFL2hxZGVmYXVsdC5q\n        cGcnIGhlaWdodD0nMzYwJyB3aWR0aD0nNDgwJyB5dDpuYW1lPSdocWRlZmF1\n        bHQnLz48bWVkaWE6dGh1bWJuYWlsIHVybD0naHR0cDovL2kueXRpbWcuY29t\n        L3ZpL0RpUXVxWFY2RHhFL3NkZGVmYXVsdC5qcGcnIGhlaWdodD0nNDgwJyB3\n        aWR0aD0nNjQwJyB5dDpuYW1lPSdzZGRlZmF1bHQnLz48bWVkaWE6dGh1bWJu\n        YWlsIHVybD0naHR0cDovL2kueXRpbWcuY29tL3ZpL0RpUXVxWFY2RHhFLzEu\n        anBnJyBoZWlnaHQ9JzkwJyB3aWR0aD0nMTIwJyB0aW1lPScwMDowMToyNy43\n        NTAnIHl0Om5hbWU9J3N0YXJ0Jy8+PG1lZGlhOnRodW1ibmFpbCB1cmw9J2h0\n        dHA6Ly9pLnl0aW1nLmNvbS92aS9EaVF1cVhWNkR4RS8yLmpwZycgaGVpZ2h0\n        PSc5MCcgd2lkdGg9JzEyMCcgdGltZT0nMDA6MDI6NTUuNTAwJyB5dDpuYW1l\n        PSdtaWRkbGUnLz48bWVkaWE6dGh1bWJuYWlsIHVybD0naHR0cDovL2kueXRp\n        bWcuY29tL3ZpL0RpUXVxWFY2RHhFLzMuanBnJyBoZWlnaHQ9JzkwJyB3aWR0\n        aD0nMTIwJyB0aW1lPScwMDowNDoyMy4yNTAnIHl0Om5hbWU9J2VuZCcvPjxt\n        ZWRpYTp0aXRsZSB0eXBlPSdwbGFpbic+RXVyb1NjcnVtIGFuZCBQYWlyIEhv\n        b2t1cCAtIE1vbmRheSwgOXRoIEZlYiBhdCAxMTowMGFtIChVVEMpPC9tZWRp\n        YTp0aXRsZT48eXQ6YXNwZWN0UmF0aW8+d2lkZXNjcmVlbjwveXQ6YXNwZWN0\n        UmF0aW8+PHl0OmR1cmF0aW9uIHNlY29uZHM9JzM1MScvPjx5dDp1cGxvYWRl\n        ZD4yMDE1LTAyLTA5VDExOjE2OjIwLjAwMFo8L3l0OnVwbG9hZGVkPjx5dDp1\n        cGxvYWRlcklkPlVDbWtZWVNWUTdxVWtmWGp4eXJMamR2UTwveXQ6dXBsb2Fk\n        ZXJJZD48eXQ6dmlkZW9pZD5EaVF1cVhWNkR4RTwveXQ6dmlkZW9pZD48L21l\n        ZGlhOmdyb3VwPjx5dDpzdGF0aXN0aWNzIGZhdm9yaXRlQ291bnQ9JzAnIHZp\n        ZXdDb3VudD0nNScvPjwvZW50cnk+PGVudHJ5IGdkOmV0YWc9J1cvJnF1b3Q7\n        QzA0TlFuNDdlQ3A3STJBOVhSUlFFazguJnF1b3Q7Jz48aWQ+dGFnOnlvdXR1\n        YmUuY29tLDIwMDg6dmlkZW86bExDUHNwWUlxZXM8L2lkPjxwdWJsaXNoZWQ+\n        MjAxNS0wMi0wNlQxMToyNjozMy4wMDBaPC9wdWJsaXNoZWQ+PHVwZGF0ZWQ+\n        MjAxNS0wMi0wNlQxMToyNjozMy4wMDBaPC91cGRhdGVkPjxjYXRlZ29yeSBz\n        Y2hlbWU9J2h0dHA6Ly9zY2hlbWFzLmdvb2dsZS5jb20vZy8yMDA1I2tpbmQn\n        IHRlcm09J2h0dHA6Ly9nZGF0YS55b3V0dWJlLmNvbS9zY2hlbWFzLzIwMDcj\n        dmlkZW8nLz48Y2F0ZWdvcnkgc2NoZW1lPSdodHRwOi8vZ2RhdGEueW91dHVi\n        ZS5jb20vc2NoZW1hcy8yMDA3L2NhdGVnb3JpZXMuY2F0JyB0ZXJtPSdFbnRl\n        cnRhaW5tZW50JyBsYWJlbD0nRW50ZXJ0YWlubWVudCcvPjx0aXRsZT5FdXJv\n        U2NydW0gYW5kIFBhaXIgSG9va3VwIC0gRnJpZGF5LCA2dGggRmViIGF0IDEx\n        OjAwYW0gKFVUQyk8L3RpdGxlPjxjb250ZW50IHR5cGU9J2FwcGxpY2F0aW9u\n        L3gtc2hvY2t3YXZlLWZsYXNoJyBzcmM9J2h0dHA6Ly93d3cueW91dHViZS5j\n        b20vdi9sTENQc3BZSXFlcz92ZXJzaW9uPTMmYW1wO2Y9dmlkZW9zJmFtcDth\n        cHA9eW91dHViZV9nZGF0YScvPjxsaW5rIHJlbD0nYWx0ZXJuYXRlJyB0eXBl\n        PSd0ZXh0L2h0bWwnIGhyZWY9J2h0dHA6Ly93d3cueW91dHViZS5jb20vd2F0\n        Y2g/dj1sTENQc3BZSXFlcyZhbXA7ZmVhdHVyZT15b3V0dWJlX2dkYXRhJy8+\n        PGxpbmsgcmVsPSdodHRwOi8vZ2RhdGEueW91dHViZS5jb20vc2NoZW1hcy8y\n        MDA3I3ZpZGVvLnJlbGF0ZWQnIHR5cGU9J2FwcGxpY2F0aW9uL2F0b20reG1s\n        JyBocmVmPSdodHRwOi8vZ2RhdGEueW91dHViZS5jb20vZmVlZHMvYXBpL3Zp\n        ZGVvcy9sTENQc3BZSXFlcy9yZWxhdGVkP3Y9Mi4xJy8+PGxpbmsgcmVsPSdo\n        dHRwOi8vZ2RhdGEueW91dHViZS5jb20vc2NoZW1hcy8yMDA3I21vYmlsZScg\n        dHlwZT0ndGV4dC9odG1sJyBocmVmPSdodHRwOi8vbS55b3V0dWJlLmNvbS9k\n        ZXRhaWxzP3Y9bExDUHNwWUlxZXMnLz48bGluayByZWw9J2h0dHA6Ly9nZGF0\n        YS55b3V0dWJlLmNvbS9zY2hlbWFzLzIwMDcjdXBsb2FkZXInIHR5cGU9J2Fw\n        cGxpY2F0aW9uL2F0b20reG1sJyBocmVmPSdodHRwOi8vZ2RhdGEueW91dHVi\n        ZS5jb20vZmVlZHMvYXBpL3VzZXJzL21rWVlTVlE3cVVrZlhqeHlyTGpkdlE/\n        dj0yLjEnLz48bGluayByZWw9J3NlbGYnIHR5cGU9J2FwcGxpY2F0aW9uL2F0\n        b20reG1sJyBocmVmPSdodHRwOi8vZ2RhdGEueW91dHViZS5jb20vZmVlZHMv\n        YXBpL3ZpZGVvcy9sTENQc3BZSXFlcz92PTIuMScvPjxhdXRob3I+PG5hbWU+\n        Q3Jpc3RpYW4gRHVnPC9uYW1lPjx1cmk+aHR0cDovL2dkYXRhLnlvdXR1YmUu\n        Y29tL2ZlZWRzL2FwaS91c2Vycy9ta1lZU1ZRN3FVa2ZYanh5ckxqZHZRPC91\n        cmk+PHl0OnVzZXJJZD5ta1lZU1ZRN3FVa2ZYanh5ckxqZHZRPC95dDp1c2Vy\n        SWQ+PC9hdXRob3I+PHl0OmFjY2Vzc0NvbnRyb2wgYWN0aW9uPSdjb21tZW50\n        JyBwZXJtaXNzaW9uPSdhbGxvd2VkJy8+PHl0OmFjY2Vzc0NvbnRyb2wgYWN0\n        aW9uPSdjb21tZW50Vm90ZScgcGVybWlzc2lvbj0nYWxsb3dlZCcvPjx5dDph\n        Y2Nlc3NDb250cm9sIGFjdGlvbj0ndmlkZW9SZXNwb25kJyBwZXJtaXNzaW9u\n        PSdtb2RlcmF0ZWQnLz48eXQ6YWNjZXNzQ29udHJvbCBhY3Rpb249J3JhdGUn\n        IHBlcm1pc3Npb249J2FsbG93ZWQnLz48eXQ6YWNjZXNzQ29udHJvbCBhY3Rp\n        b249J2VtYmVkJyBwZXJtaXNzaW9uPSdhbGxvd2VkJy8+PHl0OmFjY2Vzc0Nv\n        bnRyb2wgYWN0aW9uPSdsaXN0JyBwZXJtaXNzaW9uPSdhbGxvd2VkJy8+PHl0\n        OmFjY2Vzc0NvbnRyb2wgYWN0aW9uPSdhdXRvUGxheScgcGVybWlzc2lvbj0n\n        YWxsb3dlZCcvPjx5dDphY2Nlc3NDb250cm9sIGFjdGlvbj0nc3luZGljYXRl\n        JyBwZXJtaXNzaW9uPSdhbGxvd2VkJy8+PGdkOmNvbW1lbnRzPjxnZDpmZWVk\n        TGluayByZWw9J2h0dHA6Ly9nZGF0YS55b3V0dWJlLmNvbS9zY2hlbWFzLzIw\n        MDcjY29tbWVudHMnIGhyZWY9J2h0dHA6Ly9nZGF0YS55b3V0dWJlLmNvbS9m\n        ZWVkcy9hcGkvdmlkZW9zL2xMQ1BzcFlJcWVzL2NvbW1lbnRzP3Y9Mi4xJyBj\n        b3VudEhpbnQ9JzAnLz48L2dkOmNvbW1lbnRzPjx5dDpoZC8+PG1lZGlhOmdy\n        b3VwPjxtZWRpYTpjYXRlZ29yeSBsYWJlbD0nRW50ZXJ0YWlubWVudCcgc2No\n        ZW1lPSdodHRwOi8vZ2RhdGEueW91dHViZS5jb20vc2NoZW1hcy8yMDA3L2Nh\n        dGVnb3JpZXMuY2F0Jz5FbnRlcnRhaW5tZW50PC9tZWRpYTpjYXRlZ29yeT48\n        bWVkaWE6Y29udGVudCB1cmw9J2h0dHA6Ly93d3cueW91dHViZS5jb20vdi9s\n        TENQc3BZSXFlcz92ZXJzaW9uPTMmYW1wO2Y9dmlkZW9zJmFtcDthcHA9eW91\n        dHViZV9nZGF0YScgdHlwZT0nYXBwbGljYXRpb24veC1zaG9ja3dhdmUtZmxh\n        c2gnIG1lZGl1bT0ndmlkZW8nIGlzRGVmYXVsdD0ndHJ1ZScgZXhwcmVzc2lv\n        bj0nZnVsbCcgZHVyYXRpb249Jzk3NicgeXQ6Zm9ybWF0PSc1Jy8+PG1lZGlh\n        OmNvbnRlbnQgdXJsPSdydHNwOi8vcjEtLS1zbi01aG43c3U3bC5jLnlvdXR1\n        YmUuY29tL0NpSUxFTnk3M3dJYUdRbnJxUWlXc28td2xCTVlEU0FORkVnR1Vn\n        WjJhV1JsYjNNTS8wLzAvMC92aWRlby4zZ3AnIHR5cGU9J3ZpZGVvLzNncHAn\n        IG1lZGl1bT0ndmlkZW8nIGV4cHJlc3Npb249J2Z1bGwnIGR1cmF0aW9uPSc5\n        NzYnIHl0OmZvcm1hdD0nMScvPjxtZWRpYTpjb250ZW50IHVybD0ncnRzcDov\n        L3IxLS0tc24tNWhuN3N1N2wuYy55b3V0dWJlLmNvbS9DaUlMRU55NzN3SWFH\n        UW5ycVFpV3NvLXdsQk1ZRVNBUkZFZ0dVZ1oyYVdSbGIzTU0vMC8wLzAvdmlk\n        ZW8uM2dwJyB0eXBlPSd2aWRlby8zZ3BwJyBtZWRpdW09J3ZpZGVvJyBleHBy\n        ZXNzaW9uPSdmdWxsJyBkdXJhdGlvbj0nOTc2JyB5dDpmb3JtYXQ9JzYnLz48\n        bWVkaWE6Y3JlZGl0IHJvbGU9J3VwbG9hZGVyJyBzY2hlbWU9J3Vybjp5b3V0\n        dWJlJyB5dDpkaXNwbGF5PSdDcmlzdGlhbiBEdWcnPm1rWVlTVlE3cVVrZlhq\n        eHlyTGpkdlE8L21lZGlhOmNyZWRpdD48bWVkaWE6ZGVzY3JpcHRpb24gdHlw\n        ZT0ncGxhaW4nPkV1cm9TY3J1bSBhbmQgUGFpciBIb29rdXAgLSBGcmlkYXks\n        IDZ0aCBGZWIgYXQgMTE6MDBhbSAoVVRDKTwvbWVkaWE6ZGVzY3JpcHRpb24+\n        PG1lZGlhOmtleXdvcmRzLz48bWVkaWE6bGljZW5zZSB0eXBlPSd0ZXh0L2h0\n        bWwnIGhyZWY9J2h0dHA6Ly93d3cueW91dHViZS5jb20vdC90ZXJtcyc+eW91\n        dHViZTwvbWVkaWE6bGljZW5zZT48bWVkaWE6cGxheWVyIHVybD0naHR0cDov\n        L3d3dy55b3V0dWJlLmNvbS93YXRjaD92PWxMQ1BzcFlJcWVzJmFtcDtmZWF0\n        dXJlPXlvdXR1YmVfZ2RhdGFfcGxheWVyJy8+PG1lZGlhOnRodW1ibmFpbCB1\n        cmw9J2h0dHA6Ly9pLnl0aW1nLmNvbS92aS9sTENQc3BZSXFlcy9kZWZhdWx0\n        LmpwZycgaGVpZ2h0PSc5MCcgd2lkdGg9JzEyMCcgdGltZT0nMDA6MDg6MDgn\n        IHl0Om5hbWU9J2RlZmF1bHQnLz48bWVkaWE6dGh1bWJuYWlsIHVybD0naHR0\n        cDovL2kueXRpbWcuY29tL3ZpL2xMQ1BzcFlJcWVzL21xZGVmYXVsdC5qcGcn\n        IGhlaWdodD0nMTgwJyB3aWR0aD0nMzIwJyB5dDpuYW1lPSdtcWRlZmF1bHQn\n        Lz48bWVkaWE6dGh1bWJuYWlsIHVybD0naHR0cDovL2kueXRpbWcuY29tL3Zp\n        L2xMQ1BzcFlJcWVzL2hxZGVmYXVsdC5qcGcnIGhlaWdodD0nMzYwJyB3aWR0\n        aD0nNDgwJyB5dDpuYW1lPSdocWRlZmF1bHQnLz48bWVkaWE6dGh1bWJuYWls\n        IHVybD0naHR0cDovL2kueXRpbWcuY29tL3ZpL2xMQ1BzcFlJcWVzL3NkZGVm\n        YXVsdC5qcGcnIGhlaWdodD0nNDgwJyB3aWR0aD0nNjQwJyB5dDpuYW1lPSdz\n        ZGRlZmF1bHQnLz48bWVkaWE6dGh1bWJuYWlsIHVybD0naHR0cDovL2kueXRp\n        bWcuY29tL3ZpL2xMQ1BzcFlJcWVzLzEuanBnJyBoZWlnaHQ9JzkwJyB3aWR0\n        aD0nMTIwJyB0aW1lPScwMDowNDowNCcgeXQ6bmFtZT0nc3RhcnQnLz48bWVk\n        aWE6dGh1bWJuYWlsIHVybD0naHR0cDovL2kueXRpbWcuY29tL3ZpL2xMQ1Bz\n        cFlJcWVzLzIuanBnJyBoZWlnaHQ9JzkwJyB3aWR0aD0nMTIwJyB0aW1lPScw\n        MDowODowOCcgeXQ6bmFtZT0nbWlkZGxlJy8+PG1lZGlhOnRodW1ibmFpbCB1\n        cmw9J2h0dHA6Ly9pLnl0aW1nLmNvbS92aS9sTENQc3BZSXFlcy8zLmpwZycg\n        aGVpZ2h0PSc5MCcgd2lkdGg9JzEyMCcgdGltZT0nMDA6MTI6MTInIHl0Om5h\n        bWU9J2VuZCcvPjxtZWRpYTp0aXRsZSB0eXBlPSdwbGFpbic+RXVyb1NjcnVt\n        IGFuZCBQYWlyIEhvb2t1cCAtIEZyaWRheSwgNnRoIEZlYiBhdCAxMTowMGFt\n        IChVVEMpPC9tZWRpYTp0aXRsZT48eXQ6YXNwZWN0UmF0aW8+d2lkZXNjcmVl\n        bjwveXQ6YXNwZWN0UmF0aW8+PHl0OmR1cmF0aW9uIHNlY29uZHM9Jzk3Nicv\n        Pjx5dDp1cGxvYWRlZD4yMDE1LTAyLTA2VDExOjI2OjMzLjAwMFo8L3l0OnVw\n        bG9hZGVkPjx5dDp1cGxvYWRlcklkPlVDbWtZWVNWUTdxVWtmWGp4eXJMamR2\n        UTwveXQ6dXBsb2FkZXJJZD48eXQ6dmlkZW9pZD5sTENQc3BZSXFlczwveXQ6\n        dmlkZW9pZD48L21lZGlhOmdyb3VwPjx5dDpzdGF0aXN0aWNzIGZhdm9yaXRl\n        Q291bnQ9JzAnIHZpZXdDb3VudD0nMicvPjwvZW50cnk+PGVudHJ5IGdkOmV0\n        YWc9J1cvJnF1b3Q7REVBR1FYNDdlQ3A3STJBOVhSUlJGa3cuJnF1b3Q7Jz48\n        aWQ+dGFnOnlvdXR1YmUuY29tLDIwMDg6dmlkZW86YUlOZm1pbnFFSmc8L2lk\n        PjxwdWJsaXNoZWQ+MjAxNS0wMS0zMFQxMToxODo0MC4wMDBaPC9wdWJsaXNo\n        ZWQ+PHVwZGF0ZWQ+MjAxNS0wMS0zMFQxMToxODo0MC4wMDBaPC91cGRhdGVk\n        PjxjYXRlZ29yeSBzY2hlbWU9J2h0dHA6Ly9zY2hlbWFzLmdvb2dsZS5jb20v\n        Zy8yMDA1I2tpbmQnIHRlcm09J2h0dHA6Ly9nZGF0YS55b3V0dWJlLmNvbS9z\n        Y2hlbWFzLzIwMDcjdmlkZW8nLz48Y2F0ZWdvcnkgc2NoZW1lPSdodHRwOi8v\n        Z2RhdGEueW91dHViZS5jb20vc2NoZW1hcy8yMDA3L2NhdGVnb3JpZXMuY2F0\n        JyB0ZXJtPSdFbnRlcnRhaW5tZW50JyBsYWJlbD0nRW50ZXJ0YWlubWVudCcv\n        Pjx0aXRsZT5FdXJvU2NydW0gYW5kIFBhaXIgSG9va3VwIC0gRnJpZGF5LCAz\n        MHRoIEphbiBhdCAxMTowMGFtIChVVEMpPC90aXRsZT48Y29udGVudCB0eXBl\n        PSdhcHBsaWNhdGlvbi94LXNob2Nrd2F2ZS1mbGFzaCcgc3JjPSdodHRwOi8v\n        d3d3LnlvdXR1YmUuY29tL3YvYUlOZm1pbnFFSmc/dmVyc2lvbj0zJmFtcDtm\n        PXZpZGVvcyZhbXA7YXBwPXlvdXR1YmVfZ2RhdGEnLz48bGluayByZWw9J2Fs\n        dGVybmF0ZScgdHlwZT0ndGV4dC9odG1sJyBocmVmPSdodHRwOi8vd3d3Lnlv\n        dXR1YmUuY29tL3dhdGNoP3Y9YUlOZm1pbnFFSmcmYW1wO2ZlYXR1cmU9eW91\n        dHViZV9nZGF0YScvPjxsaW5rIHJlbD0naHR0cDovL2dkYXRhLnlvdXR1YmUu\n        Y29tL3NjaGVtYXMvMjAwNyN2aWRlby5yZWxhdGVkJyB0eXBlPSdhcHBsaWNh\n        dGlvbi9hdG9tK3htbCcgaHJlZj0naHR0cDovL2dkYXRhLnlvdXR1YmUuY29t\n        L2ZlZWRzL2FwaS92aWRlb3MvYUlOZm1pbnFFSmcvcmVsYXRlZD92PTIuMScv\n        PjxsaW5rIHJlbD0naHR0cDovL2dkYXRhLnlvdXR1YmUuY29tL3NjaGVtYXMv\n        MjAwNyNtb2JpbGUnIHR5cGU9J3RleHQvaHRtbCcgaHJlZj0naHR0cDovL20u\n        eW91dHViZS5jb20vZGV0YWlscz92PWFJTmZtaW5xRUpnJy8+PGxpbmsgcmVs\n        PSdodHRwOi8vZ2RhdGEueW91dHViZS5jb20vc2NoZW1hcy8yMDA3I3VwbG9h\n        ZGVyJyB0eXBlPSdhcHBsaWNhdGlvbi9hdG9tK3htbCcgaHJlZj0naHR0cDov\n        L2dkYXRhLnlvdXR1YmUuY29tL2ZlZWRzL2FwaS91c2Vycy9ta1lZU1ZRN3FV\n        a2ZYanh5ckxqZHZRP3Y9Mi4xJy8+PGxpbmsgcmVsPSdzZWxmJyB0eXBlPSdh\n        cHBsaWNhdGlvbi9hdG9tK3htbCcgaHJlZj0naHR0cDovL2dkYXRhLnlvdXR1\n        YmUuY29tL2ZlZWRzL2FwaS92aWRlb3MvYUlOZm1pbnFFSmc/dj0yLjEnLz48\n        YXV0aG9yPjxuYW1lPkNyaXN0aWFuIER1ZzwvbmFtZT48dXJpPmh0dHA6Ly9n\n        ZGF0YS55b3V0dWJlLmNvbS9mZWVkcy9hcGkvdXNlcnMvbWtZWVNWUTdxVWtm\n        WGp4eXJMamR2UTwvdXJpPjx5dDp1c2VySWQ+bWtZWVNWUTdxVWtmWGp4eXJM\n        amR2UTwveXQ6dXNlcklkPjwvYXV0aG9yPjx5dDphY2Nlc3NDb250cm9sIGFj\n        dGlvbj0nY29tbWVudCcgcGVybWlzc2lvbj0nYWxsb3dlZCcvPjx5dDphY2Nl\n        c3NDb250cm9sIGFjdGlvbj0nY29tbWVudFZvdGUnIHBlcm1pc3Npb249J2Fs\n        bG93ZWQnLz48eXQ6YWNjZXNzQ29udHJvbCBhY3Rpb249J3ZpZGVvUmVzcG9u\n        ZCcgcGVybWlzc2lvbj0nbW9kZXJhdGVkJy8+PHl0OmFjY2Vzc0NvbnRyb2wg\n        YWN0aW9uPSdyYXRlJyBwZXJtaXNzaW9uPSdhbGxvd2VkJy8+PHl0OmFjY2Vz\n        c0NvbnRyb2wgYWN0aW9uPSdlbWJlZCcgcGVybWlzc2lvbj0nYWxsb3dlZCcv\n        Pjx5dDphY2Nlc3NDb250cm9sIGFjdGlvbj0nbGlzdCcgcGVybWlzc2lvbj0n\n        YWxsb3dlZCcvPjx5dDphY2Nlc3NDb250cm9sIGFjdGlvbj0nYXV0b1BsYXkn\n        IHBlcm1pc3Npb249J2FsbG93ZWQnLz48eXQ6YWNjZXNzQ29udHJvbCBhY3Rp\n        b249J3N5bmRpY2F0ZScgcGVybWlzc2lvbj0nYWxsb3dlZCcvPjxnZDpjb21t\n        ZW50cz48Z2Q6ZmVlZExpbmsgcmVsPSdodHRwOi8vZ2RhdGEueW91dHViZS5j\n        b20vc2NoZW1hcy8yMDA3I2NvbW1lbnRzJyBocmVmPSdodHRwOi8vZ2RhdGEu\n        eW91dHViZS5jb20vZmVlZHMvYXBpL3ZpZGVvcy9hSU5mbWlucUVKZy9jb21t\n        ZW50cz92PTIuMScgY291bnRIaW50PScwJy8+PC9nZDpjb21tZW50cz48eXQ6\n        aGQvPjxtZWRpYTpncm91cD48bWVkaWE6Y2F0ZWdvcnkgbGFiZWw9J0VudGVy\n        dGFpbm1lbnQnIHNjaGVtZT0naHR0cDovL2dkYXRhLnlvdXR1YmUuY29tL3Nj\n        aGVtYXMvMjAwNy9jYXRlZ29yaWVzLmNhdCc+RW50ZXJ0YWlubWVudDwvbWVk\n        aWE6Y2F0ZWdvcnk+PG1lZGlhOmNvbnRlbnQgdXJsPSdodHRwOi8vd3d3Lnlv\n        dXR1YmUuY29tL3YvYUlOZm1pbnFFSmc/dmVyc2lvbj0zJmFtcDtmPXZpZGVv\n        cyZhbXA7YXBwPXlvdXR1YmVfZ2RhdGEnIHR5cGU9J2FwcGxpY2F0aW9uL3gt\n        c2hvY2t3YXZlLWZsYXNoJyBtZWRpdW09J3ZpZGVvJyBpc0RlZmF1bHQ9J3Ry\n        dWUnIGV4cHJlc3Npb249J2Z1bGwnIGR1cmF0aW9uPSc0MzAnIHl0OmZvcm1h\n        dD0nNScvPjxtZWRpYTpjb250ZW50IHVybD0ncnRzcDovL3I1LS0tc24tNWhu\n        N3N1N2QuYy55b3V0dWJlLmNvbS9DaUlMRU55NzN3SWFHUW1ZRU9vcG1sLURh\n        Qk1ZRFNBTkZFZ0dVZ1oyYVdSbGIzTU0vMC8wLzAvdmlkZW8uM2dwJyB0eXBl\n        PSd2aWRlby8zZ3BwJyBtZWRpdW09J3ZpZGVvJyBleHByZXNzaW9uPSdmdWxs\n        JyBkdXJhdGlvbj0nNDMwJyB5dDpmb3JtYXQ9JzEnLz48bWVkaWE6Y29udGVu\n        dCB1cmw9J3J0c3A6Ly9yNS0tLXNuLTVobjdzdTdkLmMueW91dHViZS5jb20v\n        Q2lJTEVOeTczd0lhR1FtWUVPb3BtbC1EYUJNWUVTQVJGRWdHVWdaMmFXUmxi\n        M01NLzAvMC8wL3ZpZGVvLjNncCcgdHlwZT0ndmlkZW8vM2dwcCcgbWVkaXVt\n        PSd2aWRlbycgZXhwcmVzc2lvbj0nZnVsbCcgZHVyYXRpb249JzQzMCcgeXQ6\n        Zm9ybWF0PSc2Jy8+PG1lZGlhOmNyZWRpdCByb2xlPSd1cGxvYWRlcicgc2No\n        ZW1lPSd1cm46eW91dHViZScgeXQ6ZGlzcGxheT0nQ3Jpc3RpYW4gRHVnJz5t\n        a1lZU1ZRN3FVa2ZYanh5ckxqZHZRPC9tZWRpYTpjcmVkaXQ+PG1lZGlhOmRl\n        c2NyaXB0aW9uIHR5cGU9J3BsYWluJz5ldXJvc2NydW0gYW5kIFBhaXIgSG9v\n        a3VwIC0gRnJpZGF5LCAzMHRoIEphbiBhdCAxMTowMGFtIChVVEMpPC9tZWRp\n        YTpkZXNjcmlwdGlvbj48bWVkaWE6a2V5d29yZHMvPjxtZWRpYTpsaWNlbnNl\n        IHR5cGU9J3RleHQvaHRtbCcgaHJlZj0naHR0cDovL3d3dy55b3V0dWJlLmNv\n        bS90L3Rlcm1zJz55b3V0dWJlPC9tZWRpYTpsaWNlbnNlPjxtZWRpYTpwbGF5\n        ZXIgdXJsPSdodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9YUlOZm1p\n        bnFFSmcmYW1wO2ZlYXR1cmU9eW91dHViZV9nZGF0YV9wbGF5ZXInLz48bWVk\n        aWE6dGh1bWJuYWlsIHVybD0naHR0cDovL2kueXRpbWcuY29tL3ZpL2FJTmZt\n        aW5xRUpnL2RlZmF1bHQuanBnJyBoZWlnaHQ9JzkwJyB3aWR0aD0nMTIwJyB0\n        aW1lPScwMDowMzozNScgeXQ6bmFtZT0nZGVmYXVsdCcvPjxtZWRpYTp0aHVt\n        Ym5haWwgdXJsPSdodHRwOi8vaS55dGltZy5jb20vdmkvYUlOZm1pbnFFSmcv\n        bXFkZWZhdWx0LmpwZycgaGVpZ2h0PScxODAnIHdpZHRoPSczMjAnIHl0Om5h\n        bWU9J21xZGVmYXVsdCcvPjxtZWRpYTp0aHVtYm5haWwgdXJsPSdodHRwOi8v\n        aS55dGltZy5jb20vdmkvYUlOZm1pbnFFSmcvaHFkZWZhdWx0LmpwZycgaGVp\n        Z2h0PSczNjAnIHdpZHRoPSc0ODAnIHl0Om5hbWU9J2hxZGVmYXVsdCcvPjxt\n        ZWRpYTp0aHVtYm5haWwgdXJsPSdodHRwOi8vaS55dGltZy5jb20vdmkvYUlO\n        Zm1pbnFFSmcvc2RkZWZhdWx0LmpwZycgaGVpZ2h0PSc0ODAnIHdpZHRoPSc2\n        NDAnIHl0Om5hbWU9J3NkZGVmYXVsdCcvPjxtZWRpYTp0aHVtYm5haWwgdXJs\n        PSdodHRwOi8vaS55dGltZy5jb20vdmkvYUlOZm1pbnFFSmcvMS5qcGcnIGhl\n        aWdodD0nOTAnIHdpZHRoPScxMjAnIHRpbWU9JzAwOjAxOjQ3LjUwMCcgeXQ6\n        bmFtZT0nc3RhcnQnLz48bWVkaWE6dGh1bWJuYWlsIHVybD0naHR0cDovL2ku\n        eXRpbWcuY29tL3ZpL2FJTmZtaW5xRUpnLzIuanBnJyBoZWlnaHQ9JzkwJyB3\n        aWR0aD0nMTIwJyB0aW1lPScwMDowMzozNScgeXQ6bmFtZT0nbWlkZGxlJy8+\n        PG1lZGlhOnRodW1ibmFpbCB1cmw9J2h0dHA6Ly9pLnl0aW1nLmNvbS92aS9h\n        SU5mbWlucUVKZy8zLmpwZycgaGVpZ2h0PSc5MCcgd2lkdGg9JzEyMCcgdGlt\n        ZT0nMDA6MDU6MjIuNTAwJyB5dDpuYW1lPSdlbmQnLz48bWVkaWE6dGl0bGUg\n        dHlwZT0ncGxhaW4nPkV1cm9TY3J1bSBhbmQgUGFpciBIb29rdXAgLSBGcmlk\n        YXksIDMwdGggSmFuIGF0IDExOjAwYW0gKFVUQyk8L21lZGlhOnRpdGxlPjx5\n        dDphc3BlY3RSYXRpbz53aWRlc2NyZWVuPC95dDphc3BlY3RSYXRpbz48eXQ6\n        ZHVyYXRpb24gc2Vjb25kcz0nNDMwJy8+PHl0OnVwbG9hZGVkPjIwMTUtMDEt\n        MzBUMTE6MTg6NDAuMDAwWjwveXQ6dXBsb2FkZWQ+PHl0OnVwbG9hZGVySWQ+\n        VUNta1lZU1ZRN3FVa2ZYanh5ckxqZHZRPC95dDp1cGxvYWRlcklkPjx5dDp2\n        aWRlb2lkPmFJTmZtaW5xRUpnPC95dDp2aWRlb2lkPjwvbWVkaWE6Z3JvdXA+\n        PHl0OnN0YXRpc3RpY3MgZmF2b3JpdGVDb3VudD0nMCcgdmlld0NvdW50PScz\n        Jy8+PC9lbnRyeT48ZW50cnkgZ2Q6ZXRhZz0nVy8mcXVvdDtDMEVEU0g0N2VD\n        cDdJMkE5WFJSUkZVNC4mcXVvdDsnPjxpZD50YWc6eW91dHViZS5jb20sMjAw\n        ODp2aWRlbzplTld4RFhzZ0RuODwvaWQ+PHB1Ymxpc2hlZD4yMDE1LTAxLTI5\n        VDExOjQxOjE5LjAwMFo8L3B1Ymxpc2hlZD48dXBkYXRlZD4yMDE1LTAxLTI5\n        VDExOjQxOjE5LjAwMFo8L3VwZGF0ZWQ+PGNhdGVnb3J5IHNjaGVtZT0naHR0\n        cDovL3NjaGVtYXMuZ29vZ2xlLmNvbS9nLzIwMDUja2luZCcgdGVybT0naHR0\n        cDovL2dkYXRhLnlvdXR1YmUuY29tL3NjaGVtYXMvMjAwNyN2aWRlbycvPjxj\n        YXRlZ29yeSBzY2hlbWU9J2h0dHA6Ly9nZGF0YS55b3V0dWJlLmNvbS9zY2hl\n        bWFzLzIwMDcvY2F0ZWdvcmllcy5jYXQnIHRlcm09J0VudGVydGFpbm1lbnQn\n        IGxhYmVsPSdFbnRlcnRhaW5tZW50Jy8+PHRpdGxlPkV1cm9TY3J1bSBhbmQg\n        UGFpciBIb29rdXAgLSBUaHVyc2RheSwgMjl0aCBKYW4gYXQgMTE6MDBhbSAo\n        VVRDKTwvdGl0bGU+PGNvbnRlbnQgdHlwZT0nYXBwbGljYXRpb24veC1zaG9j\n        a3dhdmUtZmxhc2gnIHNyYz0naHR0cDovL3d3dy55b3V0dWJlLmNvbS92L2VO\n        V3hEWHNnRG44P3ZlcnNpb249MyZhbXA7Zj12aWRlb3MmYW1wO2FwcD15b3V0\n        dWJlX2dkYXRhJy8+PGxpbmsgcmVsPSdhbHRlcm5hdGUnIHR5cGU9J3RleHQv\n        aHRtbCcgaHJlZj0naHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PWVO\n        V3hEWHNnRG44JmFtcDtmZWF0dXJlPXlvdXR1YmVfZ2RhdGEnLz48bGluayBy\n        ZWw9J2h0dHA6Ly9nZGF0YS55b3V0dWJlLmNvbS9zY2hlbWFzLzIwMDcjdmlk\n        ZW8ucmVsYXRlZCcgdHlwZT0nYXBwbGljYXRpb24vYXRvbSt4bWwnIGhyZWY9\n        J2h0dHA6Ly9nZGF0YS55b3V0dWJlLmNvbS9mZWVkcy9hcGkvdmlkZW9zL2VO\n        V3hEWHNnRG44L3JlbGF0ZWQ/dj0yLjEnLz48bGluayByZWw9J2h0dHA6Ly9n\n        ZGF0YS55b3V0dWJlLmNvbS9zY2hlbWFzLzIwMDcjbW9iaWxlJyB0eXBlPSd0\n        ZXh0L2h0bWwnIGhyZWY9J2h0dHA6Ly9tLnlvdXR1YmUuY29tL2RldGFpbHM/\n        dj1lTld4RFhzZ0RuOCcvPjxsaW5rIHJlbD0naHR0cDovL2dkYXRhLnlvdXR1\n        YmUuY29tL3NjaGVtYXMvMjAwNyN1cGxvYWRlcicgdHlwZT0nYXBwbGljYXRp\n        b24vYXRvbSt4bWwnIGhyZWY9J2h0dHA6Ly9nZGF0YS55b3V0dWJlLmNvbS9m\n        ZWVkcy9hcGkvdXNlcnMvMTRpY09rVU9xNC12WFdfaWZBUTZSdz92PTIuMScv\n        PjxsaW5rIHJlbD0nc2VsZicgdHlwZT0nYXBwbGljYXRpb24vYXRvbSt4bWwn\n        IGhyZWY9J2h0dHA6Ly9nZGF0YS55b3V0dWJlLmNvbS9mZWVkcy9hcGkvdmlk\n        ZW9zL2VOV3hEWHNnRG44P3Y9Mi4xJy8+PGF1dGhvcj48bmFtZT5Ob3JiZXJ0\n        IFN6aXbDs3M8L25hbWU+PHVyaT5odHRwOi8vZ2RhdGEueW91dHViZS5jb20v\n        ZmVlZHMvYXBpL3VzZXJzL1N5c3FhVmlkZW9XaWtpPC91cmk+PHl0OnVzZXJJ\n        ZD4xNGljT2tVT3E0LXZYV19pZkFRNlJ3PC95dDp1c2VySWQ+PC9hdXRob3I+\n        PHl0OmFjY2Vzc0NvbnRyb2wgYWN0aW9uPSdjb21tZW50JyBwZXJtaXNzaW9u\n        PSdhbGxvd2VkJy8+PHl0OmFjY2Vzc0NvbnRyb2wgYWN0aW9uPSdjb21tZW50\n        Vm90ZScgcGVybWlzc2lvbj0nYWxsb3dlZCcvPjx5dDphY2Nlc3NDb250cm9s\n        IGFjdGlvbj0ndmlkZW9SZXNwb25kJyBwZXJtaXNzaW9uPSdtb2RlcmF0ZWQn\n        Lz48eXQ6YWNjZXNzQ29udHJvbCBhY3Rpb249J3JhdGUnIHBlcm1pc3Npb249\n        J2FsbG93ZWQnLz48eXQ6YWNjZXNzQ29udHJvbCBhY3Rpb249J2VtYmVkJyBw\n        ZXJtaXNzaW9uPSdhbGxvd2VkJy8+PHl0OmFjY2Vzc0NvbnRyb2wgYWN0aW9u\n        PSdsaXN0JyBwZXJtaXNzaW9uPSdhbGxvd2VkJy8+PHl0OmFjY2Vzc0NvbnRy\n        b2wgYWN0aW9uPSdhdXRvUGxheScgcGVybWlzc2lvbj0nYWxsb3dlZCcvPjx5\n        dDphY2Nlc3NDb250cm9sIGFjdGlvbj0nc3luZGljYXRlJyBwZXJtaXNzaW9u\n        PSdhbGxvd2VkJy8+PGdkOmNvbW1lbnRzPjxnZDpmZWVkTGluayByZWw9J2h0\n        dHA6Ly9nZGF0YS55b3V0dWJlLmNvbS9zY2hlbWFzLzIwMDcjY29tbWVudHMn\n        IGhyZWY9J2h0dHA6Ly9nZGF0YS55b3V0dWJlLmNvbS9mZWVkcy9hcGkvdmlk\n        ZW9zL2VOV3hEWHNnRG44L2NvbW1lbnRzP3Y9Mi4xJyBjb3VudEhpbnQ9JzAn\n        Lz48L2dkOmNvbW1lbnRzPjx5dDpoZC8+PG1lZGlhOmdyb3VwPjxtZWRpYTpj\n        YXRlZ29yeSBsYWJlbD0nRW50ZXJ0YWlubWVudCcgc2NoZW1lPSdodHRwOi8v\n        Z2RhdGEueW91dHViZS5jb20vc2NoZW1hcy8yMDA3L2NhdGVnb3JpZXMuY2F0\n        Jz5FbnRlcnRhaW5tZW50PC9tZWRpYTpjYXRlZ29yeT48bWVkaWE6Y29udGVu\n        dCB1cmw9J2h0dHA6Ly93d3cueW91dHViZS5jb20vdi9lTld4RFhzZ0RuOD92\n        ZXJzaW9uPTMmYW1wO2Y9dmlkZW9zJmFtcDthcHA9eW91dHViZV9nZGF0YScg\n        dHlwZT0nYXBwbGljYXRpb24veC1zaG9ja3dhdmUtZmxhc2gnIG1lZGl1bT0n\n        dmlkZW8nIGlzRGVmYXVsdD0ndHJ1ZScgZXhwcmVzc2lvbj0nZnVsbCcgZHVy\n        YXRpb249JzE2NicgeXQ6Zm9ybWF0PSc1Jy8+PG1lZGlhOmNvbnRlbnQgdXJs\n        PSdydHNwOi8vcjEtLS1zbi01aG43c3U3ZC5jLnlvdXR1YmUuY29tL0NpSUxF\n        Tnk3M3dJYUdRbF9EaUI3RGJIVmVCTVlEU0FORkVnR1VnWjJhV1JsYjNNTS8w\n        LzAvMC92aWRlby4zZ3AnIHR5cGU9J3ZpZGVvLzNncHAnIG1lZGl1bT0ndmlk\n        ZW8nIGV4cHJlc3Npb249J2Z1bGwnIGR1cmF0aW9uPScxNjYnIHl0OmZvcm1h\n        dD0nMScvPjxtZWRpYTpjb250ZW50IHVybD0ncnRzcDovL3IxLS0tc24tNWhu\n        N3N1N2QuYy55b3V0dWJlLmNvbS9DaUlMRU55NzN3SWFHUWxfRGlCN0RiSFZl\n        Qk1ZRVNBUkZFZ0dVZ1oyYVdSbGIzTU0vMC8wLzAvdmlkZW8uM2dwJyB0eXBl\n        PSd2aWRlby8zZ3BwJyBtZWRpdW09J3ZpZGVvJyBleHByZXNzaW9uPSdmdWxs\n        JyBkdXJhdGlvbj0nMTY2JyB5dDpmb3JtYXQ9JzYnLz48bWVkaWE6Y3JlZGl0\n        IHJvbGU9J3VwbG9hZGVyJyBzY2hlbWU9J3Vybjp5b3V0dWJlJyB5dDpkaXNw\n        bGF5PSdOb3JiZXJ0IFN6aXbDs3MnPnN5c3FhdmlkZW93aWtpPC9tZWRpYTpj\n        cmVkaXQ+PG1lZGlhOmRlc2NyaXB0aW9uIHR5cGU9J3BsYWluJz5ldXJvc2Ny\n        dW0gYW5kIFBhaXIgSG9va3VwIC0gVGh1cnNkYXksIDI5dGggSmFuIGF0IDEx\n        OjAwYW0gKFVUQyk8L21lZGlhOmRlc2NyaXB0aW9uPjxtZWRpYTprZXl3b3Jk\n        cy8+PG1lZGlhOmxpY2Vuc2UgdHlwZT0ndGV4dC9odG1sJyBocmVmPSdodHRw\n        Oi8vd3d3LnlvdXR1YmUuY29tL3QvdGVybXMnPnlvdXR1YmU8L21lZGlhOmxp\n        Y2Vuc2U+PG1lZGlhOnBsYXllciB1cmw9J2h0dHA6Ly93d3cueW91dHViZS5j\n        b20vd2F0Y2g/dj1lTld4RFhzZ0RuOCZhbXA7ZmVhdHVyZT15b3V0dWJlX2dk\n        YXRhX3BsYXllcicvPjxtZWRpYTp0aHVtYm5haWwgdXJsPSdodHRwOi8vaS55\n        dGltZy5jb20vdmkvZU5XeERYc2dEbjgvZGVmYXVsdC5qcGcnIGhlaWdodD0n\n        OTAnIHdpZHRoPScxMjAnIHRpbWU9JzAwOjAxOjIzJyB5dDpuYW1lPSdkZWZh\n        dWx0Jy8+PG1lZGlhOnRodW1ibmFpbCB1cmw9J2h0dHA6Ly9pLnl0aW1nLmNv\n        bS92aS9lTld4RFhzZ0RuOC9tcWRlZmF1bHQuanBnJyBoZWlnaHQ9JzE4MCcg\n        d2lkdGg9JzMyMCcgeXQ6bmFtZT0nbXFkZWZhdWx0Jy8+PG1lZGlhOnRodW1i\n        bmFpbCB1cmw9J2h0dHA6Ly9pLnl0aW1nLmNvbS92aS9lTld4RFhzZ0RuOC9o\n        cWRlZmF1bHQuanBnJyBoZWlnaHQ9JzM2MCcgd2lkdGg9JzQ4MCcgeXQ6bmFt\n        ZT0naHFkZWZhdWx0Jy8+PG1lZGlhOnRodW1ibmFpbCB1cmw9J2h0dHA6Ly9p\n        Lnl0aW1nLmNvbS92aS9lTld4RFhzZ0RuOC9zZGRlZmF1bHQuanBnJyBoZWln\n        aHQ9JzQ4MCcgd2lkdGg9JzY0MCcgeXQ6bmFtZT0nc2RkZWZhdWx0Jy8+PG1l\n        ZGlhOnRodW1ibmFpbCB1cmw9J2h0dHA6Ly9pLnl0aW1nLmNvbS92aS9lTld4\n        RFhzZ0RuOC8xLmpwZycgaGVpZ2h0PSc5MCcgd2lkdGg9JzEyMCcgdGltZT0n\n        MDA6MDA6NDEuNTAwJyB5dDpuYW1lPSdzdGFydCcvPjxtZWRpYTp0aHVtYm5h\n        aWwgdXJsPSdodHRwOi8vaS55dGltZy5jb20vdmkvZU5XeERYc2dEbjgvMi5q\n        cGcnIGhlaWdodD0nOTAnIHdpZHRoPScxMjAnIHRpbWU9JzAwOjAxOjIzJyB5\n        dDpuYW1lPSdtaWRkbGUnLz48bWVkaWE6dGh1bWJuYWlsIHVybD0naHR0cDov\n        L2kueXRpbWcuY29tL3ZpL2VOV3hEWHNnRG44LzMuanBnJyBoZWlnaHQ9Jzkw\n        JyB3aWR0aD0nMTIwJyB0aW1lPScwMDowMjowNC41MDAnIHl0Om5hbWU9J2Vu\n        ZCcvPjxtZWRpYTp0aXRsZSB0eXBlPSdwbGFpbic+RXVyb1NjcnVtIGFuZCBQ\n        YWlyIEhvb2t1cCAtIFRodXJzZGF5LCAyOXRoIEphbiBhdCAxMTowMGFtIChV\n        VEMpPC9tZWRpYTp0aXRsZT48eXQ6YXNwZWN0UmF0aW8+d2lkZXNjcmVlbjwv\n        eXQ6YXNwZWN0UmF0aW8+PHl0OmR1cmF0aW9uIHNlY29uZHM9JzE2NicvPjx5\n        dDp1cGxvYWRlZD4yMDE1LTAxLTI5VDExOjQxOjE5LjAwMFo8L3l0OnVwbG9h\n        ZGVkPjx5dDp1cGxvYWRlcklkPlVDMTRpY09rVU9xNC12WFdfaWZBUTZSdzwv\n        eXQ6dXBsb2FkZXJJZD48eXQ6dmlkZW9pZD5lTld4RFhzZ0RuODwveXQ6dmlk\n        ZW9pZD48L21lZGlhOmdyb3VwPjx5dDpzdGF0aXN0aWNzIGZhdm9yaXRlQ291\n        bnQ9JzAnIHZpZXdDb3VudD0nNCcvPjwvZW50cnk+PGVudHJ5IGdkOmV0YWc9\n        J1cvJnF1b3Q7QzBNRlFYNDdlQ3A3STJBOVhSUlJFa28uJnF1b3Q7Jz48aWQ+\n        dGFnOnlvdXR1YmUuY29tLDIwMDg6dmlkZW86dFpRelBaQm54eWs8L2lkPjxw\n        dWJsaXNoZWQ+MjAxNS0wMS0yNlQxMToyMzozMC4wMDBaPC9wdWJsaXNoZWQ+\n        PHVwZGF0ZWQ+MjAxNS0wMS0yNlQxMToyMzozMC4wMDBaPC91cGRhdGVkPjxj\n        YXRlZ29yeSBzY2hlbWU9J2h0dHA6Ly9zY2hlbWFzLmdvb2dsZS5jb20vZy8y\n        MDA1I2tpbmQnIHRlcm09J2h0dHA6Ly9nZGF0YS55b3V0dWJlLmNvbS9zY2hl\n        bWFzLzIwMDcjdmlkZW8nLz48Y2F0ZWdvcnkgc2NoZW1lPSdodHRwOi8vZ2Rh\n        dGEueW91dHViZS5jb20vc2NoZW1hcy8yMDA3L2NhdGVnb3JpZXMuY2F0JyB0\n        ZXJtPSdFbnRlcnRhaW5tZW50JyBsYWJlbD0nRW50ZXJ0YWlubWVudCcvPjx0\n        aXRsZT5FdXJvU2NydW0gYW5kIFBhaXIgSG9va3VwIC0gTW9uZGF5LCAyNnRo\n        IEphbiBhdCAxMTowMGFtIChVVEMpPC90aXRsZT48Y29udGVudCB0eXBlPSdh\n        cHBsaWNhdGlvbi94LXNob2Nrd2F2ZS1mbGFzaCcgc3JjPSdodHRwOi8vd3d3\n        LnlvdXR1YmUuY29tL3YvdFpRelBaQm54eWs/dmVyc2lvbj0zJmFtcDtmPXZp\n        ZGVvcyZhbXA7YXBwPXlvdXR1YmVfZ2RhdGEnLz48bGluayByZWw9J2FsdGVy\n        bmF0ZScgdHlwZT0ndGV4dC9odG1sJyBocmVmPSdodHRwOi8vd3d3LnlvdXR1\n        YmUuY29tL3dhdGNoP3Y9dFpRelBaQm54eWsmYW1wO2ZlYXR1cmU9eW91dHVi\n        ZV9nZGF0YScvPjxsaW5rIHJlbD0naHR0cDovL2dkYXRhLnlvdXR1YmUuY29t\n        L3NjaGVtYXMvMjAwNyN2aWRlby5yZWxhdGVkJyB0eXBlPSdhcHBsaWNhdGlv\n        bi9hdG9tK3htbCcgaHJlZj0naHR0cDovL2dkYXRhLnlvdXR1YmUuY29tL2Zl\n        ZWRzL2FwaS92aWRlb3MvdFpRelBaQm54eWsvcmVsYXRlZD92PTIuMScvPjxs\n        aW5rIHJlbD0naHR0cDovL2dkYXRhLnlvdXR1YmUuY29tL3NjaGVtYXMvMjAw\n        NyNtb2JpbGUnIHR5cGU9J3RleHQvaHRtbCcgaHJlZj0naHR0cDovL20ueW91\n        dHViZS5jb20vZGV0YWlscz92PXRaUXpQWkJueHlrJy8+PGxpbmsgcmVsPSdo\n        dHRwOi8vZ2RhdGEueW91dHViZS5jb20vc2NoZW1hcy8yMDA3I3VwbG9hZGVy\n        JyB0eXBlPSdhcHBsaWNhdGlvbi9hdG9tK3htbCcgaHJlZj0naHR0cDovL2dk\n        YXRhLnlvdXR1YmUuY29tL2ZlZWRzL2FwaS91c2Vycy8waExJeHNsUzJHb2hq\n        T2tPeFF2aC13P3Y9Mi4xJy8+PGxpbmsgcmVsPSdzZWxmJyB0eXBlPSdhcHBs\n        aWNhdGlvbi9hdG9tK3htbCcgaHJlZj0naHR0cDovL2dkYXRhLnlvdXR1YmUu\n        Y29tL2ZlZWRzL2FwaS92aWRlb3MvdFpRelBaQm54eWs/dj0yLjEnLz48YXV0\n        aG9yPjxuYW1lPlRob21hcyBPY2htYW48L25hbWU+PHVyaT5odHRwOi8vZ2Rh\n        dGEueW91dHViZS5jb20vZmVlZHMvYXBpL3VzZXJzL1RORVdlYmNhc3Q8L3Vy\n        aT48eXQ6dXNlcklkPjBoTEl4c2xTMkdvaGpPa094UXZoLXc8L3l0OnVzZXJJ\n        ZD48L2F1dGhvcj48eXQ6YWNjZXNzQ29udHJvbCBhY3Rpb249J2NvbW1lbnQn\n        IHBlcm1pc3Npb249J2FsbG93ZWQnLz48eXQ6YWNjZXNzQ29udHJvbCBhY3Rp\n        b249J2NvbW1lbnRWb3RlJyBwZXJtaXNzaW9uPSdhbGxvd2VkJy8+PHl0OmFj\n        Y2Vzc0NvbnRyb2wgYWN0aW9uPSd2aWRlb1Jlc3BvbmQnIHBlcm1pc3Npb249\n        J21vZGVyYXRlZCcvPjx5dDphY2Nlc3NDb250cm9sIGFjdGlvbj0ncmF0ZScg\n        cGVybWlzc2lvbj0nYWxsb3dlZCcvPjx5dDphY2Nlc3NDb250cm9sIGFjdGlv\n        bj0nZW1iZWQnIHBlcm1pc3Npb249J2FsbG93ZWQnLz48eXQ6YWNjZXNzQ29u\n        dHJvbCBhY3Rpb249J2xpc3QnIHBlcm1pc3Npb249J2FsbG93ZWQnLz48eXQ6\n        YWNjZXNzQ29udHJvbCBhY3Rpb249J2F1dG9QbGF5JyBwZXJtaXNzaW9uPSdh\n        bGxvd2VkJy8+PHl0OmFjY2Vzc0NvbnRyb2wgYWN0aW9uPSdzeW5kaWNhdGUn\n        IHBlcm1pc3Npb249J2FsbG93ZWQnLz48Z2Q6Y29tbWVudHM+PGdkOmZlZWRM\n        aW5rIHJlbD0naHR0cDovL2dkYXRhLnlvdXR1YmUuY29tL3NjaGVtYXMvMjAw\n        NyNjb21tZW50cycgaHJlZj0naHR0cDovL2dkYXRhLnlvdXR1YmUuY29tL2Zl\n        ZWRzL2FwaS92aWRlb3MvdFpRelBaQm54eWsvY29tbWVudHM/dj0yLjEnIGNv\n        dW50SGludD0nMCcvPjwvZ2Q6Y29tbWVudHM+PHl0OmhkLz48bWVkaWE6Z3Jv\n        dXA+PG1lZGlhOmNhdGVnb3J5IGxhYmVsPSdFbnRlcnRhaW5tZW50JyBzY2hl\n        bWU9J2h0dHA6Ly9nZGF0YS55b3V0dWJlLmNvbS9zY2hlbWFzLzIwMDcvY2F0\n        ZWdvcmllcy5jYXQnPkVudGVydGFpbm1lbnQ8L21lZGlhOmNhdGVnb3J5Pjxt\n        ZWRpYTpjb250ZW50IHVybD0naHR0cDovL3d3dy55b3V0dWJlLmNvbS92L3Ra\n        UXpQWkJueHlrP3ZlcnNpb249MyZhbXA7Zj12aWRlb3MmYW1wO2FwcD15b3V0\n        dWJlX2dkYXRhJyB0eXBlPSdhcHBsaWNhdGlvbi94LXNob2Nrd2F2ZS1mbGFz\n        aCcgbWVkaXVtPSd2aWRlbycgaXNEZWZhdWx0PSd0cnVlJyBleHByZXNzaW9u\n        PSdmdWxsJyBkdXJhdGlvbj0nMTA3MicgeXQ6Zm9ybWF0PSc1Jy8+PG1lZGlh\n        OmNvbnRlbnQgdXJsPSdydHNwOi8vcjQtLS1zbi01aG43c3U3Ni5jLnlvdXR1\n        YmUuY29tL0NpSUxFTnk3M3dJYUdRa3B4MmVRUFRPVXRSTVlEU0FORkVnR1Vn\n        WjJhV1JsYjNNTS8wLzAvMC92aWRlby4zZ3AnIHR5cGU9J3ZpZGVvLzNncHAn\n        IG1lZGl1bT0ndmlkZW8nIGV4cHJlc3Npb249J2Z1bGwnIGR1cmF0aW9uPScx\n        MDcyJyB5dDpmb3JtYXQ9JzEnLz48bWVkaWE6Y29udGVudCB1cmw9J3J0c3A6\n        Ly9yNC0tLXNuLTVobjdzdTc2LmMueW91dHViZS5jb20vQ2lJTEVOeTczd0lh\n        R1FrcHgyZVFQVE9VdFJNWUVTQVJGRWdHVWdaMmFXUmxiM01NLzAvMC8wL3Zp\n        ZGVvLjNncCcgdHlwZT0ndmlkZW8vM2dwcCcgbWVkaXVtPSd2aWRlbycgZXhw\n        cmVzc2lvbj0nZnVsbCcgZHVyYXRpb249JzEwNzInIHl0OmZvcm1hdD0nNicv\n        PjxtZWRpYTpjcmVkaXQgcm9sZT0ndXBsb2FkZXInIHNjaGVtZT0ndXJuOnlv\n        dXR1YmUnIHl0OmRpc3BsYXk9J1Rob21hcyBPY2htYW4nPnRuZXdlYmNhc3Q8\n        L21lZGlhOmNyZWRpdD48bWVkaWE6ZGVzY3JpcHRpb24gdHlwZT0ncGxhaW4n\n        PmV1cm9zY3J1bSBhbmQgUGFpciBIb29rdXAgLSBNb25kYXksIDI2dGggSmFu\n        IGF0IDExOjAwYW0gKFVUQyk8L21lZGlhOmRlc2NyaXB0aW9uPjxtZWRpYTpr\n        ZXl3b3Jkcy8+PG1lZGlhOmxpY2Vuc2UgdHlwZT0ndGV4dC9odG1sJyBocmVm\n        PSdodHRwOi8vd3d3LnlvdXR1YmUuY29tL3QvdGVybXMnPnlvdXR1YmU8L21l\n        ZGlhOmxpY2Vuc2U+PG1lZGlhOnBsYXllciB1cmw9J2h0dHA6Ly93d3cueW91\n        dHViZS5jb20vd2F0Y2g/dj10WlF6UFpCbnh5ayZhbXA7ZmVhdHVyZT15b3V0\n        dWJlX2dkYXRhX3BsYXllcicvPjxtZWRpYTp0aHVtYm5haWwgdXJsPSdodHRw\n        Oi8vaS55dGltZy5jb20vdmkvdFpRelBaQm54eWsvZGVmYXVsdC5qcGcnIGhl\n        aWdodD0nOTAnIHdpZHRoPScxMjAnIHRpbWU9JzAwOjA4OjU2JyB5dDpuYW1l\n        PSdkZWZhdWx0Jy8+PG1lZGlhOnRodW1ibmFpbCB1cmw9J2h0dHA6Ly9pLnl0\n        aW1nLmNvbS92aS90WlF6UFpCbnh5ay9tcWRlZmF1bHQuanBnJyBoZWlnaHQ9\n        JzE4MCcgd2lkdGg9JzMyMCcgeXQ6bmFtZT0nbXFkZWZhdWx0Jy8+PG1lZGlh\n        OnRodW1ibmFpbCB1cmw9J2h0dHA6Ly9pLnl0aW1nLmNvbS92aS90WlF6UFpC\n        bnh5ay9ocWRlZmF1bHQuanBnJyBoZWlnaHQ9JzM2MCcgd2lkdGg9JzQ4MCcg\n        eXQ6bmFtZT0naHFkZWZhdWx0Jy8+PG1lZGlhOnRodW1ibmFpbCB1cmw9J2h0\n        dHA6Ly9pLnl0aW1nLmNvbS92aS90WlF6UFpCbnh5ay9zZGRlZmF1bHQuanBn\n        JyBoZWlnaHQ9JzQ4MCcgd2lkdGg9JzY0MCcgeXQ6bmFtZT0nc2RkZWZhdWx0\n        Jy8+PG1lZGlhOnRodW1ibmFpbCB1cmw9J2h0dHA6Ly9pLnl0aW1nLmNvbS92\n        aS90WlF6UFpCbnh5ay8xLmpwZycgaGVpZ2h0PSc5MCcgd2lkdGg9JzEyMCcg\n        dGltZT0nMDA6MDQ6MjgnIHl0Om5hbWU9J3N0YXJ0Jy8+PG1lZGlhOnRodW1i\n        bmFpbCB1cmw9J2h0dHA6Ly9pLnl0aW1nLmNvbS92aS90WlF6UFpCbnh5ay8y\n        LmpwZycgaGVpZ2h0PSc5MCcgd2lkdGg9JzEyMCcgdGltZT0nMDA6MDg6NTYn\n        IHl0Om5hbWU9J21pZGRsZScvPjxtZWRpYTp0aHVtYm5haWwgdXJsPSdodHRw\n        Oi8vaS55dGltZy5jb20vdmkvdFpRelBaQm54eWsvMy5qcGcnIGhlaWdodD0n\n        OTAnIHdpZHRoPScxMjAnIHRpbWU9JzAwOjEzOjI0JyB5dDpuYW1lPSdlbmQn\n        Lz48bWVkaWE6dGl0bGUgdHlwZT0ncGxhaW4nPkV1cm9TY3J1bSBhbmQgUGFp\n        ciBIb29rdXAgLSBNb25kYXksIDI2dGggSmFuIGF0IDExOjAwYW0gKFVUQyk8\n        L21lZGlhOnRpdGxlPjx5dDphc3BlY3RSYXRpbz53aWRlc2NyZWVuPC95dDph\n        c3BlY3RSYXRpbz48eXQ6ZHVyYXRpb24gc2Vjb25kcz0nMTA3MicvPjx5dDp1\n        cGxvYWRlZD4yMDE1LTAxLTI2VDExOjIzOjMwLjAwMFo8L3l0OnVwbG9hZGVk\n        Pjx5dDp1cGxvYWRlcklkPlVDMGhMSXhzbFMyR29oak9rT3hRdmgtdzwveXQ6\n        dXBsb2FkZXJJZD48eXQ6dmlkZW9pZD50WlF6UFpCbnh5azwveXQ6dmlkZW9p\n        ZD48L21lZGlhOmdyb3VwPjx5dDpzdGF0aXN0aWNzIGZhdm9yaXRlQ291bnQ9\n        JzAnIHZpZXdDb3VudD0nMTUnLz48L2VudHJ5PjxlbnRyeSBnZDpldGFnPSdX\n        LyZxdW90O0NFTUdTWDQ3ZUNwN0kyQTlYUlJTR1VrLiZxdW90Oyc+PGlkPnRh\n        Zzp5b3V0dWJlLmNvbSwyMDA4OnZpZGVvOndTNl9WV3JrcWdRPC9pZD48cHVi\n        bGlzaGVkPjIwMTUtMDEtMjJUMTY6MDA6MjguMDAwWjwvcHVibGlzaGVkPjx1\n        cGRhdGVkPjIwMTUtMDEtMjJUMTY6MDA6MjguMDAwWjwvdXBkYXRlZD48Y2F0\n        ZWdvcnkgc2NoZW1lPSdodHRwOi8vc2NoZW1hcy5nb29nbGUuY29tL2cvMjAw\n        NSNraW5kJyB0ZXJtPSdodHRwOi8vZ2RhdGEueW91dHViZS5jb20vc2NoZW1h\n        cy8yMDA3I3ZpZGVvJy8+PGNhdGVnb3J5IHNjaGVtZT0naHR0cDovL2dkYXRh\n        LnlvdXR1YmUuY29tL3NjaGVtYXMvMjAwNy9jYXRlZ29yaWVzLmNhdCcgdGVy\n        bT0nRW50ZXJ0YWlubWVudCcgbGFiZWw9J0VudGVydGFpbm1lbnQnLz48dGl0\n        bGU+QXRsYW50aWNTY3J1bSBhbmQgUGFpciBIb29rdXAgKFNjcnVtIE1hc3Rl\n        ciBTYW0gLSBMb2NhbFN1cHBvcnQsIEFnaWxlVmVudHVyZXMpIC0gVGh1cnNk\n        YXksIDIybmQgSmFuPC90aXRsZT48Y29udGVudCB0eXBlPSdhcHBsaWNhdGlv\n        bi94LXNob2Nrd2F2ZS1mbGFzaCcgc3JjPSdodHRwOi8vd3d3LnlvdXR1YmUu\n        Y29tL3Yvd1M2X1ZXcmtxZ1E/dmVyc2lvbj0zJmFtcDtmPXZpZGVvcyZhbXA7\n        YXBwPXlvdXR1YmVfZ2RhdGEnLz48bGluayByZWw9J2FsdGVybmF0ZScgdHlw\n        ZT0ndGV4dC9odG1sJyBocmVmPSdodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dh\n        dGNoP3Y9d1M2X1ZXcmtxZ1EmYW1wO2ZlYXR1cmU9eW91dHViZV9nZGF0YScv\n        PjxsaW5rIHJlbD0naHR0cDovL2dkYXRhLnlvdXR1YmUuY29tL3NjaGVtYXMv\n        MjAwNyN2aWRlby5yZWxhdGVkJyB0eXBlPSdhcHBsaWNhdGlvbi9hdG9tK3ht\n        bCcgaHJlZj0naHR0cDovL2dkYXRhLnlvdXR1YmUuY29tL2ZlZWRzL2FwaS92\n        aWRlb3Mvd1M2X1ZXcmtxZ1EvcmVsYXRlZD92PTIuMScvPjxsaW5rIHJlbD0n\n        aHR0cDovL2dkYXRhLnlvdXR1YmUuY29tL3NjaGVtYXMvMjAwNyNtb2JpbGUn\n        IHR5cGU9J3RleHQvaHRtbCcgaHJlZj0naHR0cDovL20ueW91dHViZS5jb20v\n        ZGV0YWlscz92PXdTNl9WV3JrcWdRJy8+PGxpbmsgcmVsPSdodHRwOi8vZ2Rh\n        dGEueW91dHViZS5jb20vc2NoZW1hcy8yMDA3I3VwbG9hZGVyJyB0eXBlPSdh\n        cHBsaWNhdGlvbi9hdG9tK3htbCcgaHJlZj0naHR0cDovL2dkYXRhLnlvdXR1\n        YmUuY29tL2ZlZWRzL2FwaS91c2Vycy9QUG80Wm5CV3dRNzVKcWlJMTNWRk53\n        P3Y9Mi4xJy8+PGxpbmsgcmVsPSdzZWxmJyB0eXBlPSdhcHBsaWNhdGlvbi9h\n        dG9tK3htbCcgaHJlZj0naHR0cDovL2dkYXRhLnlvdXR1YmUuY29tL2ZlZWRz\n        L2FwaS92aWRlb3Mvd1M2X1ZXcmtxZ1E/dj0yLjEnLz48YXV0aG9yPjxuYW1l\n        PlNhbSBKb3NlcGg8L25hbWU+PHVyaT5odHRwOi8vZ2RhdGEueW91dHViZS5j\n        b20vZmVlZHMvYXBpL3VzZXJzL2FldXJkc3RmYWtzZjwvdXJpPjx5dDp1c2Vy\n        SWQ+UFBvNFpuQld3UTc1SnFpSTEzVkZOdzwveXQ6dXNlcklkPjwvYXV0aG9y\n        Pjx5dDphY2Nlc3NDb250cm9sIGFjdGlvbj0nY29tbWVudCcgcGVybWlzc2lv\n        bj0nYWxsb3dlZCcvPjx5dDphY2Nlc3NDb250cm9sIGFjdGlvbj0nY29tbWVu\n        dFZvdGUnIHBlcm1pc3Npb249J2FsbG93ZWQnLz48eXQ6YWNjZXNzQ29udHJv\n        bCBhY3Rpb249J3ZpZGVvUmVzcG9uZCcgcGVybWlzc2lvbj0nbW9kZXJhdGVk\n        Jy8+PHl0OmFjY2Vzc0NvbnRyb2wgYWN0aW9uPSdyYXRlJyBwZXJtaXNzaW9u\n        PSdhbGxvd2VkJy8+PHl0OmFjY2Vzc0NvbnRyb2wgYWN0aW9uPSdlbWJlZCcg\n        cGVybWlzc2lvbj0nYWxsb3dlZCcvPjx5dDphY2Nlc3NDb250cm9sIGFjdGlv\n        bj0nbGlzdCcgcGVybWlzc2lvbj0nYWxsb3dlZCcvPjx5dDphY2Nlc3NDb250\n        cm9sIGFjdGlvbj0nYXV0b1BsYXknIHBlcm1pc3Npb249J2FsbG93ZWQnLz48\n        eXQ6YWNjZXNzQ29udHJvbCBhY3Rpb249J3N5bmRpY2F0ZScgcGVybWlzc2lv\n        bj0nYWxsb3dlZCcvPjxnZDpjb21tZW50cz48Z2Q6ZmVlZExpbmsgcmVsPSdo\n        dHRwOi8vZ2RhdGEueW91dHViZS5jb20vc2NoZW1hcy8yMDA3I2NvbW1lbnRz\n        JyBocmVmPSdodHRwOi8vZ2RhdGEueW91dHViZS5jb20vZmVlZHMvYXBpL3Zp\n        ZGVvcy93UzZfVldya3FnUS9jb21tZW50cz92PTIuMScgY291bnRIaW50PScw\n        Jy8+PC9nZDpjb21tZW50cz48eXQ6aGQvPjxtZWRpYTpncm91cD48bWVkaWE6\n        Y2F0ZWdvcnkgbGFiZWw9J0VudGVydGFpbm1lbnQnIHNjaGVtZT0naHR0cDov\n        L2dkYXRhLnlvdXR1YmUuY29tL3NjaGVtYXMvMjAwNy9jYXRlZ29yaWVzLmNh\n        dCc+RW50ZXJ0YWlubWVudDwvbWVkaWE6Y2F0ZWdvcnk+PG1lZGlhOmNvbnRl\n        bnQgdXJsPSdodHRwOi8vd3d3LnlvdXR1YmUuY29tL3Yvd1M2X1ZXcmtxZ1E/\n        dmVyc2lvbj0zJmFtcDtmPXZpZGVvcyZhbXA7YXBwPXlvdXR1YmVfZ2RhdGEn\n        IHR5cGU9J2FwcGxpY2F0aW9uL3gtc2hvY2t3YXZlLWZsYXNoJyBtZWRpdW09\n        J3ZpZGVvJyBpc0RlZmF1bHQ9J3RydWUnIGV4cHJlc3Npb249J2Z1bGwnIGR1\n        cmF0aW9uPSczNzEnIHl0OmZvcm1hdD0nNScvPjxtZWRpYTpjb250ZW50IHVy\n        bD0ncnRzcDovL3I4LS0tc24tNWhuN3N1N2UuYy55b3V0dWJlLmNvbS9DaUlM\n        RU55NzN3SWFHUWtFcXVScVZiOHV3Uk1ZRFNBTkZFZ0dVZ1oyYVdSbGIzTU0v\n        MC8wLzAvdmlkZW8uM2dwJyB0eXBlPSd2aWRlby8zZ3BwJyBtZWRpdW09J3Zp\n        ZGVvJyBleHByZXNzaW9uPSdmdWxsJyBkdXJhdGlvbj0nMzcxJyB5dDpmb3Jt\n        YXQ9JzEnLz48bWVkaWE6Y29udGVudCB1cmw9J3J0c3A6Ly9yOC0tLXNuLTVo\n        bjdzdTdlLmMueW91dHViZS5jb20vQ2lJTEVOeTczd0lhR1FrRXF1UnFWYjh1\n        d1JNWUVTQVJGRWdHVWdaMmFXUmxiM01NLzAvMC8wL3ZpZGVvLjNncCcgdHlw\n        ZT0ndmlkZW8vM2dwcCcgbWVkaXVtPSd2aWRlbycgZXhwcmVzc2lvbj0nZnVs\n        bCcgZHVyYXRpb249JzM3MScgeXQ6Zm9ybWF0PSc2Jy8+PG1lZGlhOmNyZWRp\n        dCByb2xlPSd1cGxvYWRlcicgc2NoZW1lPSd1cm46eW91dHViZScgeXQ6ZGlz\n        cGxheT0nU2FtIEpvc2VwaCc+YWV1cmRzdGZha3NmPC9tZWRpYTpjcmVkaXQ+\n        PG1lZGlhOmRlc2NyaXB0aW9uIHR5cGU9J3BsYWluJz5hdGxhbnRpY3NjcnVt\n        IGFuZCBQYWlyIEhvb2t1cCAoU2NydW0gTWFzdGVyIFNhbSAtIGxvY2Fsc3Vw\n        cG9ydCwgYWdpbGV2ZW50dXJlcykgLSBUaHVyc2RheSwgMjJuZCBKYW4gYXQg\n        MDM6NDVwbSAoVVRDKTwvbWVkaWE6ZGVzY3JpcHRpb24+PG1lZGlhOmtleXdv\n        cmRzLz48bWVkaWE6bGljZW5zZSB0eXBlPSd0ZXh0L2h0bWwnIGhyZWY9J2h0\n        dHA6Ly93d3cueW91dHViZS5jb20vdC90ZXJtcyc+eW91dHViZTwvbWVkaWE6\n        bGljZW5zZT48bWVkaWE6cGxheWVyIHVybD0naHR0cDovL3d3dy55b3V0dWJl\n        LmNvbS93YXRjaD92PXdTNl9WV3JrcWdRJmFtcDtmZWF0dXJlPXlvdXR1YmVf\n        Z2RhdGFfcGxheWVyJy8+PG1lZGlhOnRodW1ibmFpbCB1cmw9J2h0dHA6Ly9p\n        Lnl0aW1nLmNvbS92aS93UzZfVldya3FnUS9kZWZhdWx0LmpwZycgaGVpZ2h0\n        PSc5MCcgd2lkdGg9JzEyMCcgdGltZT0nMDA6MDM6MDUuNTAwJyB5dDpuYW1l\n        PSdkZWZhdWx0Jy8+PG1lZGlhOnRodW1ibmFpbCB1cmw9J2h0dHA6Ly9pLnl0\n        aW1nLmNvbS92aS93UzZfVldya3FnUS9tcWRlZmF1bHQuanBnJyBoZWlnaHQ9\n        JzE4MCcgd2lkdGg9JzMyMCcgeXQ6bmFtZT0nbXFkZWZhdWx0Jy8+PG1lZGlh\n        OnRodW1ibmFpbCB1cmw9J2h0dHA6Ly9pLnl0aW1nLmNvbS92aS93UzZfVldy\n        a3FnUS9ocWRlZmF1bHQuanBnJyBoZWlnaHQ9JzM2MCcgd2lkdGg9JzQ4MCcg\n        eXQ6bmFtZT0naHFkZWZhdWx0Jy8+PG1lZGlhOnRodW1ibmFpbCB1cmw9J2h0\n        dHA6Ly9pLnl0aW1nLmNvbS92aS93UzZfVldya3FnUS9zZGRlZmF1bHQuanBn\n        JyBoZWlnaHQ9JzQ4MCcgd2lkdGg9JzY0MCcgeXQ6bmFtZT0nc2RkZWZhdWx0\n        Jy8+PG1lZGlhOnRodW1ibmFpbCB1cmw9J2h0dHA6Ly9pLnl0aW1nLmNvbS92\n        aS93UzZfVldya3FnUS8xLmpwZycgaGVpZ2h0PSc5MCcgd2lkdGg9JzEyMCcg\n        dGltZT0nMDA6MDE6MzIuNzUwJyB5dDpuYW1lPSdzdGFydCcvPjxtZWRpYTp0\n        aHVtYm5haWwgdXJsPSdodHRwOi8vaS55dGltZy5jb20vdmkvd1M2X1ZXcmtx\n        Z1EvMi5qcGcnIGhlaWdodD0nOTAnIHdpZHRoPScxMjAnIHRpbWU9JzAwOjAz\n        OjA1LjUwMCcgeXQ6bmFtZT0nbWlkZGxlJy8+PG1lZGlhOnRodW1ibmFpbCB1\n        cmw9J2h0dHA6Ly9pLnl0aW1nLmNvbS92aS93UzZfVldya3FnUS8zLmpwZycg\n        aGVpZ2h0PSc5MCcgd2lkdGg9JzEyMCcgdGltZT0nMDA6MDQ6MzguMjUwJyB5\n        dDpuYW1lPSdlbmQnLz48bWVkaWE6dGl0bGUgdHlwZT0ncGxhaW4nPkF0bGFu\n        dGljU2NydW0gYW5kIFBhaXIgSG9va3VwIChTY3J1bSBNYXN0ZXIgU2FtIC0g\n        TG9jYWxTdXBwb3J0LCBBZ2lsZVZlbnR1cmVzKSAtIFRodXJzZGF5LCAyMm5k\n        IEphbjwvbWVkaWE6dGl0bGU+PHl0OmFzcGVjdFJhdGlvPndpZGVzY3JlZW48\n        L3l0OmFzcGVjdFJhdGlvPjx5dDpkdXJhdGlvbiBzZWNvbmRzPSczNzEnLz48\n        eXQ6dXBsb2FkZWQ+MjAxNS0wMS0yMlQxNjowMDoyOC4wMDBaPC95dDp1cGxv\n        YWRlZD48eXQ6dXBsb2FkZXJJZD5VQ1BQbzRabkJXd1E3NUpxaUkxM1ZGTnc8\n        L3l0OnVwbG9hZGVySWQ+PHl0OnZpZGVvaWQ+d1M2X1ZXcmtxZ1E8L3l0OnZp\n        ZGVvaWQ+PC9tZWRpYTpncm91cD48eXQ6c3RhdGlzdGljcyBmYXZvcml0ZUNv\n        dW50PScwJyB2aWV3Q291bnQ9JzknLz48L2VudHJ5PjxlbnRyeSBnZDpldGFn\n        PSdXLyZxdW90O0NVUUJSbjQ3ZUNwN0kyQTlYUlJTRmtVLiZxdW90Oyc+PGlk\n        PnRhZzp5b3V0dWJlLmNvbSwyMDA4OnZpZGVvOmZHeG1yNEJmNHpNPC9pZD48\n        cHVibGlzaGVkPjIwMTUtMDEtMTlUMTY6MDI6MzcuMDAwWjwvcHVibGlzaGVk\n        Pjx1cGRhdGVkPjIwMTUtMDEtMTlUMTY6MDI6MzcuMDAwWjwvdXBkYXRlZD48\n        Y2F0ZWdvcnkgc2NoZW1lPSdodHRwOi8vc2NoZW1hcy5nb29nbGUuY29tL2cv\n        MjAwNSNraW5kJyB0ZXJtPSdodHRwOi8vZ2RhdGEueW91dHViZS5jb20vc2No\n        ZW1hcy8yMDA3I3ZpZGVvJy8+PGNhdGVnb3J5IHNjaGVtZT0naHR0cDovL2dk\n        YXRhLnlvdXR1YmUuY29tL3NjaGVtYXMvMjAwNy9jYXRlZ29yaWVzLmNhdCcg\n        dGVybT0nRW50ZXJ0YWlubWVudCcgbGFiZWw9J0VudGVydGFpbm1lbnQnLz48\n        dGl0bGU+QXRsYW50aWNTY3J1bSBhbmQgUGFpciBIb29rdXAgKFNjcnVtIE1h\n        c3RlciBTYW0gLSBMb2NhbFN1cHBvcnQsIEFnaWxlVmVudHVyZXMpIC0gTW9u\n        ZGF5LCAxOXRoIEphbiBhdDwvdGl0bGU+PGNvbnRlbnQgdHlwZT0nYXBwbGlj\n        YXRpb24veC1zaG9ja3dhdmUtZmxhc2gnIHNyYz0naHR0cDovL3d3dy55b3V0\n        dWJlLmNvbS92L2ZHeG1yNEJmNHpNP3ZlcnNpb249MyZhbXA7Zj12aWRlb3Mm\n        YW1wO2FwcD15b3V0dWJlX2dkYXRhJy8+PGxpbmsgcmVsPSdhbHRlcm5hdGUn\n        IHR5cGU9J3RleHQvaHRtbCcgaHJlZj0naHR0cDovL3d3dy55b3V0dWJlLmNv\n        bS93YXRjaD92PWZHeG1yNEJmNHpNJmFtcDtmZWF0dXJlPXlvdXR1YmVfZ2Rh\n        dGEnLz48bGluayByZWw9J2h0dHA6Ly9nZGF0YS55b3V0dWJlLmNvbS9zY2hl\n        bWFzLzIwMDcjdmlkZW8ucmVsYXRlZCcgdHlwZT0nYXBwbGljYXRpb24vYXRv\n        bSt4bWwnIGhyZWY9J2h0dHA6Ly9nZGF0YS55b3V0dWJlLmNvbS9mZWVkcy9h\n        cGkvdmlkZW9zL2ZHeG1yNEJmNHpNL3JlbGF0ZWQ/dj0yLjEnLz48bGluayBy\n        ZWw9J2h0dHA6Ly9nZGF0YS55b3V0dWJlLmNvbS9zY2hlbWFzLzIwMDcjbW9i\n        aWxlJyB0eXBlPSd0ZXh0L2h0bWwnIGhyZWY9J2h0dHA6Ly9tLnlvdXR1YmUu\n        Y29tL2RldGFpbHM/dj1mR3htcjRCZjR6TScvPjxsaW5rIHJlbD0naHR0cDov\n        L2dkYXRhLnlvdXR1YmUuY29tL3NjaGVtYXMvMjAwNyN1cGxvYWRlcicgdHlw\n        ZT0nYXBwbGljYXRpb24vYXRvbSt4bWwnIGhyZWY9J2h0dHA6Ly9nZGF0YS55\n        b3V0dWJlLmNvbS9mZWVkcy9hcGkvdXNlcnMvUFBvNFpuQld3UTc1SnFpSTEz\n        VkZOdz92PTIuMScvPjxsaW5rIHJlbD0nc2VsZicgdHlwZT0nYXBwbGljYXRp\n        b24vYXRvbSt4bWwnIGhyZWY9J2h0dHA6Ly9nZGF0YS55b3V0dWJlLmNvbS9m\n        ZWVkcy9hcGkvdmlkZW9zL2ZHeG1yNEJmNHpNP3Y9Mi4xJy8+PGF1dGhvcj48\n        bmFtZT5TYW0gSm9zZXBoPC9uYW1lPjx1cmk+aHR0cDovL2dkYXRhLnlvdXR1\n        YmUuY29tL2ZlZWRzL2FwaS91c2Vycy9hZXVyZHN0ZmFrc2Y8L3VyaT48eXQ6\n        dXNlcklkPlBQbzRabkJXd1E3NUpxaUkxM1ZGTnc8L3l0OnVzZXJJZD48L2F1\n        dGhvcj48eXQ6YWNjZXNzQ29udHJvbCBhY3Rpb249J2NvbW1lbnQnIHBlcm1p\n        c3Npb249J2FsbG93ZWQnLz48eXQ6YWNjZXNzQ29udHJvbCBhY3Rpb249J2Nv\n        bW1lbnRWb3RlJyBwZXJtaXNzaW9uPSdhbGxvd2VkJy8+PHl0OmFjY2Vzc0Nv\n        bnRyb2wgYWN0aW9uPSd2aWRlb1Jlc3BvbmQnIHBlcm1pc3Npb249J21vZGVy\n        YXRlZCcvPjx5dDphY2Nlc3NDb250cm9sIGFjdGlvbj0ncmF0ZScgcGVybWlz\n        c2lvbj0nYWxsb3dlZCcvPjx5dDphY2Nlc3NDb250cm9sIGFjdGlvbj0nZW1i\n        ZWQnIHBlcm1pc3Npb249J2FsbG93ZWQnLz48eXQ6YWNjZXNzQ29udHJvbCBh\n        Y3Rpb249J2xpc3QnIHBlcm1pc3Npb249J2FsbG93ZWQnLz48eXQ6YWNjZXNz\n        Q29udHJvbCBhY3Rpb249J2F1dG9QbGF5JyBwZXJtaXNzaW9uPSdhbGxvd2Vk\n        Jy8+PHl0OmFjY2Vzc0NvbnRyb2wgYWN0aW9uPSdzeW5kaWNhdGUnIHBlcm1p\n        c3Npb249J2FsbG93ZWQnLz48Z2Q6Y29tbWVudHM+PGdkOmZlZWRMaW5rIHJl\n        bD0naHR0cDovL2dkYXRhLnlvdXR1YmUuY29tL3NjaGVtYXMvMjAwNyNjb21t\n        ZW50cycgaHJlZj0naHR0cDovL2dkYXRhLnlvdXR1YmUuY29tL2ZlZWRzL2Fw\n        aS92aWRlb3MvZkd4bXI0QmY0ek0vY29tbWVudHM/dj0yLjEnIGNvdW50SGlu\n        dD0nMCcvPjwvZ2Q6Y29tbWVudHM+PHl0OmhkLz48bWVkaWE6Z3JvdXA+PG1l\n        ZGlhOmNhdGVnb3J5IGxhYmVsPSdFbnRlcnRhaW5tZW50JyBzY2hlbWU9J2h0\n        dHA6Ly9nZGF0YS55b3V0dWJlLmNvbS9zY2hlbWFzLzIwMDcvY2F0ZWdvcmll\n        cy5jYXQnPkVudGVydGFpbm1lbnQ8L21lZGlhOmNhdGVnb3J5PjxtZWRpYTpj\n        b250ZW50IHVybD0naHR0cDovL3d3dy55b3V0dWJlLmNvbS92L2ZHeG1yNEJm\n        NHpNP3ZlcnNpb249MyZhbXA7Zj12aWRlb3MmYW1wO2FwcD15b3V0dWJlX2dk\n        YXRhJyB0eXBlPSdhcHBsaWNhdGlvbi94LXNob2Nrd2F2ZS1mbGFzaCcgbWVk\n        aXVtPSd2aWRlbycgaXNEZWZhdWx0PSd0cnVlJyBleHByZXNzaW9uPSdmdWxs\n        JyBkdXJhdGlvbj0nNDE3JyB5dDpmb3JtYXQ9JzUnLz48bWVkaWE6Y29udGVu\n        dCB1cmw9J3J0c3A6Ly9yNC0tLXNuLTVobjdzdTc2LmMueW91dHViZS5jb20v\n        Q2lJTEVOeTczd0lhR1FrejQxLUFyMlpzZkJNWURTQU5GRWdHVWdaMmFXUmxi\n        M01NLzAvMC8wL3ZpZGVvLjNncCcgdHlwZT0ndmlkZW8vM2dwcCcgbWVkaXVt\n        PSd2aWRlbycgZXhwcmVzc2lvbj0nZnVsbCcgZHVyYXRpb249JzQxNycgeXQ6\n        Zm9ybWF0PScxJy8+PG1lZGlhOmNvbnRlbnQgdXJsPSdydHNwOi8vcjQtLS1z\n        bi01aG43c3U3Ni5jLnlvdXR1YmUuY29tL0NpSUxFTnk3M3dJYUdRa3o0MS1B\n        cjJac2ZCTVlFU0FSRkVnR1VnWjJhV1JsYjNNTS8wLzAvMC92aWRlby4zZ3An\n        IHR5cGU9J3ZpZGVvLzNncHAnIG1lZGl1bT0ndmlkZW8nIGV4cHJlc3Npb249\n        J2Z1bGwnIGR1cmF0aW9uPSc0MTcnIHl0OmZvcm1hdD0nNicvPjxtZWRpYTpj\n        cmVkaXQgcm9sZT0ndXBsb2FkZXInIHNjaGVtZT0ndXJuOnlvdXR1YmUnIHl0\n        OmRpc3BsYXk9J1NhbSBKb3NlcGgnPmFldXJkc3RmYWtzZjwvbWVkaWE6Y3Jl\n        ZGl0PjxtZWRpYTpkZXNjcmlwdGlvbiB0eXBlPSdwbGFpbic+YXRsYW50aWNz\n        Y3J1bSBhbmQgUGFpciBIb29rdXAgKFNjcnVtIE1hc3RlciBTYW0gLSBsb2Nh\n        bHN1cHBvcnQsIGFnaWxldmVudHVyZXMpIC0gTW9uZGF5LCAxOXRoIEphbiBh\n        dCAwMzo0NXBtIChVVEMpPC9tZWRpYTpkZXNjcmlwdGlvbj48bWVkaWE6a2V5\n        d29yZHMvPjxtZWRpYTpsaWNlbnNlIHR5cGU9J3RleHQvaHRtbCcgaHJlZj0n\n        aHR0cDovL3d3dy55b3V0dWJlLmNvbS90L3Rlcm1zJz55b3V0dWJlPC9tZWRp\n        YTpsaWNlbnNlPjxtZWRpYTpwbGF5ZXIgdXJsPSdodHRwOi8vd3d3LnlvdXR1\n        YmUuY29tL3dhdGNoP3Y9Zkd4bXI0QmY0ek0mYW1wO2ZlYXR1cmU9eW91dHVi\n        ZV9nZGF0YV9wbGF5ZXInLz48bWVkaWE6dGh1bWJuYWlsIHVybD0naHR0cDov\n        L2kueXRpbWcuY29tL3ZpL2ZHeG1yNEJmNHpNL2RlZmF1bHQuanBnJyBoZWln\n        aHQ9JzkwJyB3aWR0aD0nMTIwJyB0aW1lPScwMDowMzoyOC41MDAnIHl0Om5h\n        bWU9J2RlZmF1bHQnLz48bWVkaWE6dGh1bWJuYWlsIHVybD0naHR0cDovL2ku\n        eXRpbWcuY29tL3ZpL2ZHeG1yNEJmNHpNL21xZGVmYXVsdC5qcGcnIGhlaWdo\n        dD0nMTgwJyB3aWR0aD0nMzIwJyB5dDpuYW1lPSdtcWRlZmF1bHQnLz48bWVk\n        aWE6dGh1bWJuYWlsIHVybD0naHR0cDovL2kueXRpbWcuY29tL3ZpL2ZHeG1y\n        NEJmNHpNL2hxZGVmYXVsdC5qcGcnIGhlaWdodD0nMzYwJyB3aWR0aD0nNDgw\n        JyB5dDpuYW1lPSdocWRlZmF1bHQnLz48bWVkaWE6dGh1bWJuYWlsIHVybD0n\n        aHR0cDovL2kueXRpbWcuY29tL3ZpL2ZHeG1yNEJmNHpNL3NkZGVmYXVsdC5q\n        cGcnIGhlaWdodD0nNDgwJyB3aWR0aD0nNjQwJyB5dDpuYW1lPSdzZGRlZmF1\n        bHQnLz48bWVkaWE6dGh1bWJuYWlsIHVybD0naHR0cDovL2kueXRpbWcuY29t\n        L3ZpL2ZHeG1yNEJmNHpNLzEuanBnJyBoZWlnaHQ9JzkwJyB3aWR0aD0nMTIw\n        JyB0aW1lPScwMDowMTo0NC4yNTAnIHl0Om5hbWU9J3N0YXJ0Jy8+PG1lZGlh\n        OnRodW1ibmFpbCB1cmw9J2h0dHA6Ly9pLnl0aW1nLmNvbS92aS9mR3htcjRC\n        ZjR6TS8yLmpwZycgaGVpZ2h0PSc5MCcgd2lkdGg9JzEyMCcgdGltZT0nMDA6\n        MDM6MjguNTAwJyB5dDpuYW1lPSdtaWRkbGUnLz48bWVkaWE6dGh1bWJuYWls\n        IHVybD0naHR0cDovL2kueXRpbWcuY29tL3ZpL2ZHeG1yNEJmNHpNLzMuanBn\n        JyBoZWlnaHQ9JzkwJyB3aWR0aD0nMTIwJyB0aW1lPScwMDowNToxMi43NTAn\n        IHl0Om5hbWU9J2VuZCcvPjxtZWRpYTp0aXRsZSB0eXBlPSdwbGFpbic+QXRs\n        YW50aWNTY3J1bSBhbmQgUGFpciBIb29rdXAgKFNjcnVtIE1hc3RlciBTYW0g\n        LSBMb2NhbFN1cHBvcnQsIEFnaWxlVmVudHVyZXMpIC0gTW9uZGF5LCAxOXRo\n        IEphbiBhdDwvbWVkaWE6dGl0bGU+PHl0OmFzcGVjdFJhdGlvPndpZGVzY3Jl\n        ZW48L3l0OmFzcGVjdFJhdGlvPjx5dDpkdXJhdGlvbiBzZWNvbmRzPSc0MTcn\n        Lz48eXQ6dXBsb2FkZWQ+MjAxNS0wMS0xOVQxNjowMjozNy4wMDBaPC95dDp1\n        cGxvYWRlZD48eXQ6dXBsb2FkZXJJZD5VQ1BQbzRabkJXd1E3NUpxaUkxM1ZG\n        Tnc8L3l0OnVwbG9hZGVySWQ+PHl0OnZpZGVvaWQ+Zkd4bXI0QmY0ek08L3l0\n        OnZpZGVvaWQ+PC9tZWRpYTpncm91cD48eXQ6c3RhdGlzdGljcyBmYXZvcml0\n        ZUNvdW50PScwJyB2aWV3Q291bnQ9JzEwJy8+PC9lbnRyeT48ZW50cnkgZ2Q6\n        ZXRhZz0nVy8mcXVvdDtDa1FFUkg0N2VDcDdJMkE5WFJSUkZVNC4mcXVvdDsn\n        PjxpZD50YWc6eW91dHViZS5jb20sMjAwODp2aWRlbzpHOFlDVThjYUhyVTwv\n        aWQ+PHB1Ymxpc2hlZD4yMDE1LTAxLTE1VDE1OjU5OjEyLjAwMFo8L3B1Ymxp\n        c2hlZD48dXBkYXRlZD4yMDE1LTAxLTI5VDExOjE4OjI1LjAwMFo8L3VwZGF0\n        ZWQ+PGNhdGVnb3J5IHNjaGVtZT0naHR0cDovL3NjaGVtYXMuZ29vZ2xlLmNv\n        bS9nLzIwMDUja2luZCcgdGVybT0naHR0cDovL2dkYXRhLnlvdXR1YmUuY29t\n        L3NjaGVtYXMvMjAwNyN2aWRlbycvPjxjYXRlZ29yeSBzY2hlbWU9J2h0dHA6\n        Ly9nZGF0YS55b3V0dWJlLmNvbS9zY2hlbWFzLzIwMDcvY2F0ZWdvcmllcy5j\n        YXQnIHRlcm09J0VudGVydGFpbm1lbnQnIGxhYmVsPSdFbnRlcnRhaW5tZW50\n        Jy8+PHRpdGxlPkF0bGFudGljU2NydW0gYW5kIFBhaXIgSG9va3VwIChTY3J1\n        bSBNYXN0ZXIgU2FtIC0gTG9jYWxTdXBwb3J0LCBBZ2lsZVZlbnR1cmVzKSAt\n        IFRodXJzZGF5LCAxNXRoIEphbjwvdGl0bGU+PGNvbnRlbnQgdHlwZT0nYXBw\n        bGljYXRpb24veC1zaG9ja3dhdmUtZmxhc2gnIHNyYz0naHR0cDovL3d3dy55\n        b3V0dWJlLmNvbS92L0c4WUNVOGNhSHJVP3ZlcnNpb249MyZhbXA7Zj12aWRl\n        b3MmYW1wO2FwcD15b3V0dWJlX2dkYXRhJy8+PGxpbmsgcmVsPSdhbHRlcm5h\n        dGUnIHR5cGU9J3RleHQvaHRtbCcgaHJlZj0naHR0cDovL3d3dy55b3V0dWJl\n        LmNvbS93YXRjaD92PUc4WUNVOGNhSHJVJmFtcDtmZWF0dXJlPXlvdXR1YmVf\n        Z2RhdGEnLz48bGluayByZWw9J2h0dHA6Ly9nZGF0YS55b3V0dWJlLmNvbS9z\n        Y2hlbWFzLzIwMDcjdmlkZW8ucmVsYXRlZCcgdHlwZT0nYXBwbGljYXRpb24v\n        YXRvbSt4bWwnIGhyZWY9J2h0dHA6Ly9nZGF0YS55b3V0dWJlLmNvbS9mZWVk\n        cy9hcGkvdmlkZW9zL0c4WUNVOGNhSHJVL3JlbGF0ZWQ/dj0yLjEnLz48bGlu\n        ayByZWw9J2h0dHA6Ly9nZGF0YS55b3V0dWJlLmNvbS9zY2hlbWFzLzIwMDcj\n        bW9iaWxlJyB0eXBlPSd0ZXh0L2h0bWwnIGhyZWY9J2h0dHA6Ly9tLnlvdXR1\n        YmUuY29tL2RldGFpbHM/dj1HOFlDVThjYUhyVScvPjxsaW5rIHJlbD0naHR0\n        cDovL2dkYXRhLnlvdXR1YmUuY29tL3NjaGVtYXMvMjAwNyN1cGxvYWRlcicg\n        dHlwZT0nYXBwbGljYXRpb24vYXRvbSt4bWwnIGhyZWY9J2h0dHA6Ly9nZGF0\n        YS55b3V0dWJlLmNvbS9mZWVkcy9hcGkvdXNlcnMvbWtZWVNWUTdxVWtmWGp4\n        eXJMamR2UT92PTIuMScvPjxsaW5rIHJlbD0nc2VsZicgdHlwZT0nYXBwbGlj\n        YXRpb24vYXRvbSt4bWwnIGhyZWY9J2h0dHA6Ly9nZGF0YS55b3V0dWJlLmNv\n        bS9mZWVkcy9hcGkvdmlkZW9zL0c4WUNVOGNhSHJVP3Y9Mi4xJy8+PGF1dGhv\n        cj48bmFtZT5DcmlzdGlhbiBEdWc8L25hbWU+PHVyaT5odHRwOi8vZ2RhdGEu\n        eW91dHViZS5jb20vZmVlZHMvYXBpL3VzZXJzL21rWVlTVlE3cVVrZlhqeHly\n        TGpkdlE8L3VyaT48eXQ6dXNlcklkPm1rWVlTVlE3cVVrZlhqeHlyTGpkdlE8\n        L3l0OnVzZXJJZD48L2F1dGhvcj48eXQ6YWNjZXNzQ29udHJvbCBhY3Rpb249\n        J2NvbW1lbnQnIHBlcm1pc3Npb249J2FsbG93ZWQnLz48eXQ6YWNjZXNzQ29u\n        dHJvbCBhY3Rpb249J2NvbW1lbnRWb3RlJyBwZXJtaXNzaW9uPSdhbGxvd2Vk\n        Jy8+PHl0OmFjY2Vzc0NvbnRyb2wgYWN0aW9uPSd2aWRlb1Jlc3BvbmQnIHBl\n        cm1pc3Npb249J21vZGVyYXRlZCcvPjx5dDphY2Nlc3NDb250cm9sIGFjdGlv\n        bj0ncmF0ZScgcGVybWlzc2lvbj0nYWxsb3dlZCcvPjx5dDphY2Nlc3NDb250\n        cm9sIGFjdGlvbj0nZW1iZWQnIHBlcm1pc3Npb249J2FsbG93ZWQnLz48eXQ6\n        YWNjZXNzQ29udHJvbCBhY3Rpb249J2xpc3QnIHBlcm1pc3Npb249J2FsbG93\n        ZWQnLz48eXQ6YWNjZXNzQ29udHJvbCBhY3Rpb249J2F1dG9QbGF5JyBwZXJt\n        aXNzaW9uPSdhbGxvd2VkJy8+PHl0OmFjY2Vzc0NvbnRyb2wgYWN0aW9uPSdz\n        eW5kaWNhdGUnIHBlcm1pc3Npb249J2FsbG93ZWQnLz48Z2Q6Y29tbWVudHM+\n        PGdkOmZlZWRMaW5rIHJlbD0naHR0cDovL2dkYXRhLnlvdXR1YmUuY29tL3Nj\n        aGVtYXMvMjAwNyNjb21tZW50cycgaHJlZj0naHR0cDovL2dkYXRhLnlvdXR1\n        YmUuY29tL2ZlZWRzL2FwaS92aWRlb3MvRzhZQ1U4Y2FIclUvY29tbWVudHM/\n        dj0yLjEnIGNvdW50SGludD0nMCcvPjwvZ2Q6Y29tbWVudHM+PHl0OmhkLz48\n        bWVkaWE6Z3JvdXA+PG1lZGlhOmNhdGVnb3J5IGxhYmVsPSdFbnRlcnRhaW5t\n        ZW50JyBzY2hlbWU9J2h0dHA6Ly9nZGF0YS55b3V0dWJlLmNvbS9zY2hlbWFz\n        LzIwMDcvY2F0ZWdvcmllcy5jYXQnPkVudGVydGFpbm1lbnQ8L21lZGlhOmNh\n        dGVnb3J5PjxtZWRpYTpjb250ZW50IHVybD0naHR0cDovL3d3dy55b3V0dWJl\n        LmNvbS92L0c4WUNVOGNhSHJVP3ZlcnNpb249MyZhbXA7Zj12aWRlb3MmYW1w\n        O2FwcD15b3V0dWJlX2dkYXRhJyB0eXBlPSdhcHBsaWNhdGlvbi94LXNob2Nr\n        d2F2ZS1mbGFzaCcgbWVkaXVtPSd2aWRlbycgaXNEZWZhdWx0PSd0cnVlJyBl\n        eHByZXNzaW9uPSdmdWxsJyBkdXJhdGlvbj0nMjU2JyB5dDpmb3JtYXQ9JzUn\n        Lz48bWVkaWE6Y29udGVudCB1cmw9J3J0c3A6Ly9yNy0tLXNuLTVobjdzdTdr\n        LmMueW91dHViZS5jb20vQ2lJTEVOeTczd0lhR1FtMUhockhVd0xHR3hNWURT\n        QU5GRWdHVWdaMmFXUmxiM01NLzAvMC8wL3ZpZGVvLjNncCcgdHlwZT0ndmlk\n        ZW8vM2dwcCcgbWVkaXVtPSd2aWRlbycgZXhwcmVzc2lvbj0nZnVsbCcgZHVy\n        YXRpb249JzI1NicgeXQ6Zm9ybWF0PScxJy8+PG1lZGlhOmNvbnRlbnQgdXJs\n        PSdydHNwOi8vcjctLS1zbi01aG43c3U3ay5jLnlvdXR1YmUuY29tL0NpSUxF\n        Tnk3M3dJYUdRbTFIaHJIVXdMR0d4TVlFU0FSRkVnR1VnWjJhV1JsYjNNTS8w\n        LzAvMC92aWRlby4zZ3AnIHR5cGU9J3ZpZGVvLzNncHAnIG1lZGl1bT0ndmlk\n        ZW8nIGV4cHJlc3Npb249J2Z1bGwnIGR1cmF0aW9uPScyNTYnIHl0OmZvcm1h\n        dD0nNicvPjxtZWRpYTpjcmVkaXQgcm9sZT0ndXBsb2FkZXInIHNjaGVtZT0n\n        dXJuOnlvdXR1YmUnIHl0OmRpc3BsYXk9J0NyaXN0aWFuIER1Zyc+bWtZWVNW\n        UTdxVWtmWGp4eXJMamR2UTwvbWVkaWE6Y3JlZGl0PjxtZWRpYTpkZXNjcmlw\n        dGlvbiB0eXBlPSdwbGFpbic+YXRsYW50aWNzY3J1bSBhbmQgUGFpciBIb29r\n        dXAgKFNjcnVtIE1hc3RlciBTYW0gLSBsb2NhbHN1cHBvcnQsIGFnaWxldmVu\n        dHVyZXMpIC0gVGh1cnNkYXksIDE1dGggSmFuIGF0IDAzOjQ1cG0gKFVUQyk8\n        L21lZGlhOmRlc2NyaXB0aW9uPjxtZWRpYTprZXl3b3Jkcy8+PG1lZGlhOmxp\n        Y2Vuc2UgdHlwZT0ndGV4dC9odG1sJyBocmVmPSdodHRwOi8vd3d3LnlvdXR1\n        YmUuY29tL3QvdGVybXMnPnlvdXR1YmU8L21lZGlhOmxpY2Vuc2U+PG1lZGlh\n        OnBsYXllciB1cmw9J2h0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1H\n        OFlDVThjYUhyVSZhbXA7ZmVhdHVyZT15b3V0dWJlX2dkYXRhX3BsYXllcicv\n        PjxtZWRpYTp0aHVtYm5haWwgdXJsPSdodHRwOi8vaS55dGltZy5jb20vdmkv\n        RzhZQ1U4Y2FIclUvZGVmYXVsdC5qcGcnIGhlaWdodD0nOTAnIHdpZHRoPScx\n        MjAnIHRpbWU9JzAwOjAyOjA4JyB5dDpuYW1lPSdkZWZhdWx0Jy8+PG1lZGlh\n        OnRodW1ibmFpbCB1cmw9J2h0dHA6Ly9pLnl0aW1nLmNvbS92aS9HOFlDVThj\n        YUhyVS9tcWRlZmF1bHQuanBnJyBoZWlnaHQ9JzE4MCcgd2lkdGg9JzMyMCcg\n        eXQ6bmFtZT0nbXFkZWZhdWx0Jy8+PG1lZGlhOnRodW1ibmFpbCB1cmw9J2h0\n        dHA6Ly9pLnl0aW1nLmNvbS92aS9HOFlDVThjYUhyVS9ocWRlZmF1bHQuanBn\n        JyBoZWlnaHQ9JzM2MCcgd2lkdGg9JzQ4MCcgeXQ6bmFtZT0naHFkZWZhdWx0\n        Jy8+PG1lZGlhOnRodW1ibmFpbCB1cmw9J2h0dHA6Ly9pLnl0aW1nLmNvbS92\n        aS9HOFlDVThjYUhyVS9zZGRlZmF1bHQuanBnJyBoZWlnaHQ9JzQ4MCcgd2lk\n        dGg9JzY0MCcgeXQ6bmFtZT0nc2RkZWZhdWx0Jy8+PG1lZGlhOnRodW1ibmFp\n        bCB1cmw9J2h0dHA6Ly9pLnl0aW1nLmNvbS92aS9HOFlDVThjYUhyVS8xLmpw\n        ZycgaGVpZ2h0PSc5MCcgd2lkdGg9JzEyMCcgdGltZT0nMDA6MDE6MDQnIHl0\n        Om5hbWU9J3N0YXJ0Jy8+PG1lZGlhOnRodW1ibmFpbCB1cmw9J2h0dHA6Ly9p\n        Lnl0aW1nLmNvbS92aS9HOFlDVThjYUhyVS8yLmpwZycgaGVpZ2h0PSc5MCcg\n        d2lkdGg9JzEyMCcgdGltZT0nMDA6MDI6MDgnIHl0Om5hbWU9J21pZGRsZScv\n        PjxtZWRpYTp0aHVtYm5haWwgdXJsPSdodHRwOi8vaS55dGltZy5jb20vdmkv\n        RzhZQ1U4Y2FIclUvMy5qcGcnIGhlaWdodD0nOTAnIHdpZHRoPScxMjAnIHRp\n        bWU9JzAwOjAzOjEyJyB5dDpuYW1lPSdlbmQnLz48bWVkaWE6dGl0bGUgdHlw\n        ZT0ncGxhaW4nPkF0bGFudGljU2NydW0gYW5kIFBhaXIgSG9va3VwIChTY3J1\n        bSBNYXN0ZXIgU2FtIC0gTG9jYWxTdXBwb3J0LCBBZ2lsZVZlbnR1cmVzKSAt\n        IFRodXJzZGF5LCAxNXRoIEphbjwvbWVkaWE6dGl0bGU+PHl0OmFzcGVjdFJh\n        dGlvPndpZGVzY3JlZW48L3l0OmFzcGVjdFJhdGlvPjx5dDpkdXJhdGlvbiBz\n        ZWNvbmRzPScyNTYnLz48eXQ6dXBsb2FkZWQ+MjAxNS0wMS0xNVQxNTo1OTox\n        Mi4wMDBaPC95dDp1cGxvYWRlZD48eXQ6dXBsb2FkZXJJZD5VQ21rWVlTVlE3\n        cVVrZlhqeHlyTGpkdlE8L3l0OnVwbG9hZGVySWQ+PHl0OnZpZGVvaWQ+RzhZ\n        Q1U4Y2FIclU8L3l0OnZpZGVvaWQ+PC9tZWRpYTpncm91cD48eXQ6c3RhdGlz\n        dGljcyBmYXZvcml0ZUNvdW50PScwJyB2aWV3Q291bnQ9JzMnLz48L2VudHJ5\n        PjxlbnRyeSBnZDpldGFnPSdXLyZxdW90O0MwY05SMzQ3ZUNwN0kyQTlYUlJT\n        RWtnLiZxdW90Oyc+PGlkPnRhZzp5b3V0dWJlLmNvbSwyMDA4OnZpZGVvOkN0\n        U0xxbzc4d0lNPC9pZD48cHVibGlzaGVkPjIwMTUtMDEtMTRUMTU6NTg6MTYu\n        MDAwWjwvcHVibGlzaGVkPjx1cGRhdGVkPjIwMTUtMDEtMTRUMTU6NTg6MTYu\n        MDAwWjwvdXBkYXRlZD48Y2F0ZWdvcnkgc2NoZW1lPSdodHRwOi8vc2NoZW1h\n        cy5nb29nbGUuY29tL2cvMjAwNSNraW5kJyB0ZXJtPSdodHRwOi8vZ2RhdGEu\n        eW91dHViZS5jb20vc2NoZW1hcy8yMDA3I3ZpZGVvJy8+PGNhdGVnb3J5IHNj\n        aGVtZT0naHR0cDovL2dkYXRhLnlvdXR1YmUuY29tL3NjaGVtYXMvMjAwNy9j\n        YXRlZ29yaWVzLmNhdCcgdGVybT0nRW50ZXJ0YWlubWVudCcgbGFiZWw9J0Vu\n        dGVydGFpbm1lbnQnLz48dGl0bGU+QXRsYW50aWNTY3J1bSBhbmQgUGFpciBI\n        b29rdXAgKFNjcnVtIE1hc3RlciBTYW0gLSBMb2NhbFN1cHBvcnQsIEFnaWxl\n        VmVudHVyZXMpIC0gV2VkbmVzZGF5LCAxNHRoIEphbjwvdGl0bGU+PGNvbnRl\n        bnQgdHlwZT0nYXBwbGljYXRpb24veC1zaG9ja3dhdmUtZmxhc2gnIHNyYz0n\n        aHR0cDovL3d3dy55b3V0dWJlLmNvbS92L0N0U0xxbzc4d0lNP3ZlcnNpb249\n        MyZhbXA7Zj12aWRlb3MmYW1wO2FwcD15b3V0dWJlX2dkYXRhJy8+PGxpbmsg\n        cmVsPSdhbHRlcm5hdGUnIHR5cGU9J3RleHQvaHRtbCcgaHJlZj0naHR0cDov\n        L3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUN0U0xxbzc4d0lNJmFtcDtmZWF0\n        dXJlPXlvdXR1YmVfZ2RhdGEnLz48bGluayByZWw9J2h0dHA6Ly9nZGF0YS55\n        b3V0dWJlLmNvbS9zY2hlbWFzLzIwMDcjdmlkZW8ucmVsYXRlZCcgdHlwZT0n\n        YXBwbGljYXRpb24vYXRvbSt4bWwnIGhyZWY9J2h0dHA6Ly9nZGF0YS55b3V0\n        dWJlLmNvbS9mZWVkcy9hcGkvdmlkZW9zL0N0U0xxbzc4d0lNL3JlbGF0ZWQ/\n        dj0yLjEnLz48bGluayByZWw9J2h0dHA6Ly9nZGF0YS55b3V0dWJlLmNvbS9z\n        Y2hlbWFzLzIwMDcjbW9iaWxlJyB0eXBlPSd0ZXh0L2h0bWwnIGhyZWY9J2h0\n        dHA6Ly9tLnlvdXR1YmUuY29tL2RldGFpbHM/dj1DdFNMcW83OHdJTScvPjxs\n        aW5rIHJlbD0naHR0cDovL2dkYXRhLnlvdXR1YmUuY29tL3NjaGVtYXMvMjAw\n        NyN1cGxvYWRlcicgdHlwZT0nYXBwbGljYXRpb24vYXRvbSt4bWwnIGhyZWY9\n        J2h0dHA6Ly9nZGF0YS55b3V0dWJlLmNvbS9mZWVkcy9hcGkvdXNlcnMvUFBv\n        NFpuQld3UTc1SnFpSTEzVkZOdz92PTIuMScvPjxsaW5rIHJlbD0nc2VsZicg\n        dHlwZT0nYXBwbGljYXRpb24vYXRvbSt4bWwnIGhyZWY9J2h0dHA6Ly9nZGF0\n        YS55b3V0dWJlLmNvbS9mZWVkcy9hcGkvdmlkZW9zL0N0U0xxbzc4d0lNP3Y9\n        Mi4xJy8+PGF1dGhvcj48bmFtZT5TYW0gSm9zZXBoPC9uYW1lPjx1cmk+aHR0\n        cDovL2dkYXRhLnlvdXR1YmUuY29tL2ZlZWRzL2FwaS91c2Vycy9hZXVyZHN0\n        ZmFrc2Y8L3VyaT48eXQ6dXNlcklkPlBQbzRabkJXd1E3NUpxaUkxM1ZGTnc8\n        L3l0OnVzZXJJZD48L2F1dGhvcj48eXQ6YWNjZXNzQ29udHJvbCBhY3Rpb249\n        J2NvbW1lbnQnIHBlcm1pc3Npb249J2FsbG93ZWQnLz48eXQ6YWNjZXNzQ29u\n        dHJvbCBhY3Rpb249J2NvbW1lbnRWb3RlJyBwZXJtaXNzaW9uPSdhbGxvd2Vk\n        Jy8+PHl0OmFjY2Vzc0NvbnRyb2wgYWN0aW9uPSd2aWRlb1Jlc3BvbmQnIHBl\n        cm1pc3Npb249J21vZGVyYXRlZCcvPjx5dDphY2Nlc3NDb250cm9sIGFjdGlv\n        bj0ncmF0ZScgcGVybWlzc2lvbj0nYWxsb3dlZCcvPjx5dDphY2Nlc3NDb250\n        cm9sIGFjdGlvbj0nZW1iZWQnIHBlcm1pc3Npb249J2FsbG93ZWQnLz48eXQ6\n        YWNjZXNzQ29udHJvbCBhY3Rpb249J2xpc3QnIHBlcm1pc3Npb249J2FsbG93\n        ZWQnLz48eXQ6YWNjZXNzQ29udHJvbCBhY3Rpb249J2F1dG9QbGF5JyBwZXJt\n        aXNzaW9uPSdhbGxvd2VkJy8+PHl0OmFjY2Vzc0NvbnRyb2wgYWN0aW9uPSdz\n        eW5kaWNhdGUnIHBlcm1pc3Npb249J2FsbG93ZWQnLz48Z2Q6Y29tbWVudHM+\n        PGdkOmZlZWRMaW5rIHJlbD0naHR0cDovL2dkYXRhLnlvdXR1YmUuY29tL3Nj\n        aGVtYXMvMjAwNyNjb21tZW50cycgaHJlZj0naHR0cDovL2dkYXRhLnlvdXR1\n        YmUuY29tL2ZlZWRzL2FwaS92aWRlb3MvQ3RTTHFvNzh3SU0vY29tbWVudHM/\n        dj0yLjEnIGNvdW50SGludD0nMCcvPjwvZ2Q6Y29tbWVudHM+PHl0OmhkLz48\n        bWVkaWE6Z3JvdXA+PG1lZGlhOmNhdGVnb3J5IGxhYmVsPSdFbnRlcnRhaW5t\n        ZW50JyBzY2hlbWU9J2h0dHA6Ly9nZGF0YS55b3V0dWJlLmNvbS9zY2hlbWFz\n        LzIwMDcvY2F0ZWdvcmllcy5jYXQnPkVudGVydGFpbm1lbnQ8L21lZGlhOmNh\n        dGVnb3J5PjxtZWRpYTpjb250ZW50IHVybD0naHR0cDovL3d3dy55b3V0dWJl\n        LmNvbS92L0N0U0xxbzc4d0lNP3ZlcnNpb249MyZhbXA7Zj12aWRlb3MmYW1w\n        O2FwcD15b3V0dWJlX2dkYXRhJyB0eXBlPSdhcHBsaWNhdGlvbi94LXNob2Nr\n        d2F2ZS1mbGFzaCcgbWVkaXVtPSd2aWRlbycgaXNEZWZhdWx0PSd0cnVlJyBl\n        eHByZXNzaW9uPSdmdWxsJyBkdXJhdGlvbj0nMTgxJyB5dDpmb3JtYXQ9JzUn\n        Lz48bWVkaWE6Y29udGVudCB1cmw9J3J0c3A6Ly9yOC0tLXNuLTVobjdzdTdr\n        LmMueW91dHViZS5jb20vQ2lJTEVOeTczd0lhR1FtRHdQeU9xb3ZVQ2hNWURT\n        QU5GRWdHVWdaMmFXUmxiM01NLzAvMC8wL3ZpZGVvLjNncCcgdHlwZT0ndmlk\n        ZW8vM2dwcCcgbWVkaXVtPSd2aWRlbycgZXhwcmVzc2lvbj0nZnVsbCcgZHVy\n        YXRpb249JzE4MScgeXQ6Zm9ybWF0PScxJy8+PG1lZGlhOmNvbnRlbnQgdXJs\n        PSdydHNwOi8vcjgtLS1zbi01aG43c3U3ay5jLnlvdXR1YmUuY29tL0NpSUxF\n        Tnk3M3dJYUdRbUR3UHlPcW92VUNoTVlFU0FSRkVnR1VnWjJhV1JsYjNNTS8w\n        LzAvMC92aWRlby4zZ3AnIHR5cGU9J3ZpZGVvLzNncHAnIG1lZGl1bT0ndmlk\n        ZW8nIGV4cHJlc3Npb249J2Z1bGwnIGR1cmF0aW9uPScxODEnIHl0OmZvcm1h\n        dD0nNicvPjxtZWRpYTpjcmVkaXQgcm9sZT0ndXBsb2FkZXInIHNjaGVtZT0n\n        dXJuOnlvdXR1YmUnIHl0OmRpc3BsYXk9J1NhbSBKb3NlcGgnPmFldXJkc3Rm\n        YWtzZjwvbWVkaWE6Y3JlZGl0PjxtZWRpYTpkZXNjcmlwdGlvbiB0eXBlPSdw\n        bGFpbic+YXRsYW50aWNzY3J1bSBhbmQgUGFpciBIb29rdXAgKFNjcnVtIE1h\n        c3RlciBTYW0gLSBsb2NhbHN1cHBvcnQsIGFnaWxldmVudHVyZXMpIC0gV2Vk\n        bmVzZGF5LCAxNHRoIEphbiBhdCAwMzo0NXBtIChVVEMpPC9tZWRpYTpkZXNj\n        cmlwdGlvbj48bWVkaWE6a2V5d29yZHMvPjxtZWRpYTpsaWNlbnNlIHR5cGU9\n        J3RleHQvaHRtbCcgaHJlZj0naHR0cDovL3d3dy55b3V0dWJlLmNvbS90L3Rl\n        cm1zJz55b3V0dWJlPC9tZWRpYTpsaWNlbnNlPjxtZWRpYTpwbGF5ZXIgdXJs\n        PSdodHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9Q3RTTHFvNzh3SU0m\n        YW1wO2ZlYXR1cmU9eW91dHViZV9nZGF0YV9wbGF5ZXInLz48bWVkaWE6dGh1\n        bWJuYWlsIHVybD0naHR0cDovL2kueXRpbWcuY29tL3ZpL0N0U0xxbzc4d0lN\n        L2RlZmF1bHQuanBnJyBoZWlnaHQ9JzkwJyB3aWR0aD0nMTIwJyB0aW1lPScw\n        MDowMTozMC41MDAnIHl0Om5hbWU9J2RlZmF1bHQnLz48bWVkaWE6dGh1bWJu\n        YWlsIHVybD0naHR0cDovL2kueXRpbWcuY29tL3ZpL0N0U0xxbzc4d0lNL21x\n        ZGVmYXVsdC5qcGcnIGhlaWdodD0nMTgwJyB3aWR0aD0nMzIwJyB5dDpuYW1l\n        PSdtcWRlZmF1bHQnLz48bWVkaWE6dGh1bWJuYWlsIHVybD0naHR0cDovL2ku\n        eXRpbWcuY29tL3ZpL0N0U0xxbzc4d0lNL2hxZGVmYXVsdC5qcGcnIGhlaWdo\n        dD0nMzYwJyB3aWR0aD0nNDgwJyB5dDpuYW1lPSdocWRlZmF1bHQnLz48bWVk\n        aWE6dGh1bWJuYWlsIHVybD0naHR0cDovL2kueXRpbWcuY29tL3ZpL0N0U0xx\n        bzc4d0lNL3NkZGVmYXVsdC5qcGcnIGhlaWdodD0nNDgwJyB3aWR0aD0nNjQw\n        JyB5dDpuYW1lPSdzZGRlZmF1bHQnLz48bWVkaWE6dGh1bWJuYWlsIHVybD0n\n        aHR0cDovL2kueXRpbWcuY29tL3ZpL0N0U0xxbzc4d0lNLzEuanBnJyBoZWln\n        aHQ9JzkwJyB3aWR0aD0nMTIwJyB0aW1lPScwMDowMDo0NS4yNTAnIHl0Om5h\n        bWU9J3N0YXJ0Jy8+PG1lZGlhOnRodW1ibmFpbCB1cmw9J2h0dHA6Ly9pLnl0\n        aW1nLmNvbS92aS9DdFNMcW83OHdJTS8yLmpwZycgaGVpZ2h0PSc5MCcgd2lk\n        dGg9JzEyMCcgdGltZT0nMDA6MDE6MzAuNTAwJyB5dDpuYW1lPSdtaWRkbGUn\n        Lz48bWVkaWE6dGh1bWJuYWlsIHVybD0naHR0cDovL2kueXRpbWcuY29tL3Zp\n        L0N0U0xxbzc4d0lNLzMuanBnJyBoZWlnaHQ9JzkwJyB3aWR0aD0nMTIwJyB0\n        aW1lPScwMDowMjoxNS43NTAnIHl0Om5hbWU9J2VuZCcvPjxtZWRpYTp0aXRs\n        ZSB0eXBlPSdwbGFpbic+QXRsYW50aWNTY3J1bSBhbmQgUGFpciBIb29rdXAg\n        KFNjcnVtIE1hc3RlciBTYW0gLSBMb2NhbFN1cHBvcnQsIEFnaWxlVmVudHVy\n        ZXMpIC0gV2VkbmVzZGF5LCAxNHRoIEphbjwvbWVkaWE6dGl0bGU+PHl0OmFz\n        cGVjdFJhdGlvPndpZGVzY3JlZW48L3l0OmFzcGVjdFJhdGlvPjx5dDpkdXJh\n        dGlvbiBzZWNvbmRzPScxODEnLz48eXQ6dXBsb2FkZWQ+MjAxNS0wMS0xNFQx\n        NTo1ODoxNi4wMDBaPC95dDp1cGxvYWRlZD48eXQ6dXBsb2FkZXJJZD5VQ1BQ\n        bzRabkJXd1E3NUpxaUkxM1ZGTnc8L3l0OnVwbG9hZGVySWQ+PHl0OnZpZGVv\n        aWQ+Q3RTTHFvNzh3SU08L3l0OnZpZGVvaWQ+PC9tZWRpYTpncm91cD48eXQ6\n        c3RhdGlzdGljcyBmYXZvcml0ZUNvdW50PScwJyB2aWV3Q291bnQ9JzUnLz48\n        L2VudHJ5PjxlbnRyeSBnZDpldGFnPSdXLyZxdW90O0RrSU1RMzQ3ZUNwN0ky\n        QTlYUlJTRVVzLiZxdW90Oyc+PGlkPnRhZzp5b3V0dWJlLmNvbSwyMDA4OnZp\n        ZGVvOklQeWFDZy1jZTJvPC9pZD48cHVibGlzaGVkPjIwMTUtMDEtMTNUMTU6\n        NTY6MjIuMDAwWjwvcHVibGlzaGVkPjx1cGRhdGVkPjIwMTUtMDEtMTNUMTU6\n        NTY6MjIuMDAwWjwvdXBkYXRlZD48Y2F0ZWdvcnkgc2NoZW1lPSdodHRwOi8v\n        c2NoZW1hcy5nb29nbGUuY29tL2cvMjAwNSNraW5kJyB0ZXJtPSdodHRwOi8v\n        Z2RhdGEueW91dHViZS5jb20vc2NoZW1hcy8yMDA3I3ZpZGVvJy8+PGNhdGVn\n        b3J5IHNjaGVtZT0naHR0cDovL2dkYXRhLnlvdXR1YmUuY29tL3NjaGVtYXMv\n        MjAwNy9jYXRlZ29yaWVzLmNhdCcgdGVybT0nRW50ZXJ0YWlubWVudCcgbGFi\n        ZWw9J0VudGVydGFpbm1lbnQnLz48dGl0bGU+QXRsYW50aWNTY3J1bSBhbmQg\n        UGFpciBIb29rdXAgKFNjcnVtIE1hc3RlciBTYW0gLSBMb2NhbFN1cHBvcnQs\n        IEFnaWxlVmVudHVyZXMpIC0gVHVlc2RheSwgMTN0aCBKYW4gYTwvdGl0bGU+\n        PGNvbnRlbnQgdHlwZT0nYXBwbGljYXRpb24veC1zaG9ja3dhdmUtZmxhc2gn\n        IHNyYz0naHR0cDovL3d3dy55b3V0dWJlLmNvbS92L0lQeWFDZy1jZTJvP3Zl\n        cnNpb249MyZhbXA7Zj12aWRlb3MmYW1wO2FwcD15b3V0dWJlX2dkYXRhJy8+\n        PGxpbmsgcmVsPSdhbHRlcm5hdGUnIHR5cGU9J3RleHQvaHRtbCcgaHJlZj0n\n        aHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUlQeWFDZy1jZTJvJmFt\n        cDtmZWF0dXJlPXlvdXR1YmVfZ2RhdGEnLz48bGluayByZWw9J2h0dHA6Ly9n\n        ZGF0YS55b3V0dWJlLmNvbS9zY2hlbWFzLzIwMDcjdmlkZW8ucmVsYXRlZCcg\n        dHlwZT0nYXBwbGljYXRpb24vYXRvbSt4bWwnIGhyZWY9J2h0dHA6Ly9nZGF0\n        YS55b3V0dWJlLmNvbS9mZWVkcy9hcGkvdmlkZW9zL0lQeWFDZy1jZTJvL3Jl\n        bGF0ZWQ/dj0yLjEnLz48bGluayByZWw9J2h0dHA6Ly9nZGF0YS55b3V0dWJl\n        LmNvbS9zY2hlbWFzLzIwMDcjbW9iaWxlJyB0eXBlPSd0ZXh0L2h0bWwnIGhy\n        ZWY9J2h0dHA6Ly9tLnlvdXR1YmUuY29tL2RldGFpbHM/dj1JUHlhQ2ctY2Uy\n        bycvPjxsaW5rIHJlbD0naHR0cDovL2dkYXRhLnlvdXR1YmUuY29tL3NjaGVt\n        YXMvMjAwNyN1cGxvYWRlcicgdHlwZT0nYXBwbGljYXRpb24vYXRvbSt4bWwn\n        IGhyZWY9J2h0dHA6Ly9nZGF0YS55b3V0dWJlLmNvbS9mZWVkcy9hcGkvdXNl\n        cnMvUFBvNFpuQld3UTc1SnFpSTEzVkZOdz92PTIuMScvPjxsaW5rIHJlbD0n\n        c2VsZicgdHlwZT0nYXBwbGljYXRpb24vYXRvbSt4bWwnIGhyZWY9J2h0dHA6\n        Ly9nZGF0YS55b3V0dWJlLmNvbS9mZWVkcy9hcGkvdmlkZW9zL0lQeWFDZy1j\n        ZTJvP3Y9Mi4xJy8+PGF1dGhvcj48bmFtZT5TYW0gSm9zZXBoPC9uYW1lPjx1\n        cmk+aHR0cDovL2dkYXRhLnlvdXR1YmUuY29tL2ZlZWRzL2FwaS91c2Vycy9h\n        ZXVyZHN0ZmFrc2Y8L3VyaT48eXQ6dXNlcklkPlBQbzRabkJXd1E3NUpxaUkx\n        M1ZGTnc8L3l0OnVzZXJJZD48L2F1dGhvcj48eXQ6YWNjZXNzQ29udHJvbCBh\n        Y3Rpb249J2NvbW1lbnQnIHBlcm1pc3Npb249J2FsbG93ZWQnLz48eXQ6YWNj\n        ZXNzQ29udHJvbCBhY3Rpb249J2NvbW1lbnRWb3RlJyBwZXJtaXNzaW9uPSdh\n        bGxvd2VkJy8+PHl0OmFjY2Vzc0NvbnRyb2wgYWN0aW9uPSd2aWRlb1Jlc3Bv\n        bmQnIHBlcm1pc3Npb249J21vZGVyYXRlZCcvPjx5dDphY2Nlc3NDb250cm9s\n        IGFjdGlvbj0ncmF0ZScgcGVybWlzc2lvbj0nYWxsb3dlZCcvPjx5dDphY2Nl\n        c3NDb250cm9sIGFjdGlvbj0nZW1iZWQnIHBlcm1pc3Npb249J2FsbG93ZWQn\n        Lz48eXQ6YWNjZXNzQ29udHJvbCBhY3Rpb249J2xpc3QnIHBlcm1pc3Npb249\n        J2FsbG93ZWQnLz48eXQ6YWNjZXNzQ29udHJvbCBhY3Rpb249J2F1dG9QbGF5\n        JyBwZXJtaXNzaW9uPSdhbGxvd2VkJy8+PHl0OmFjY2Vzc0NvbnRyb2wgYWN0\n        aW9uPSdzeW5kaWNhdGUnIHBlcm1pc3Npb249J2FsbG93ZWQnLz48Z2Q6Y29t\n        bWVudHM+PGdkOmZlZWRMaW5rIHJlbD0naHR0cDovL2dkYXRhLnlvdXR1YmUu\n        Y29tL3NjaGVtYXMvMjAwNyNjb21tZW50cycgaHJlZj0naHR0cDovL2dkYXRh\n        LnlvdXR1YmUuY29tL2ZlZWRzL2FwaS92aWRlb3MvSVB5YUNnLWNlMm8vY29t\n        bWVudHM/dj0yLjEnIGNvdW50SGludD0nMCcvPjwvZ2Q6Y29tbWVudHM+PHl0\n        OmhkLz48bWVkaWE6Z3JvdXA+PG1lZGlhOmNhdGVnb3J5IGxhYmVsPSdFbnRl\n        cnRhaW5tZW50JyBzY2hlbWU9J2h0dHA6Ly9nZGF0YS55b3V0dWJlLmNvbS9z\n        Y2hlbWFzLzIwMDcvY2F0ZWdvcmllcy5jYXQnPkVudGVydGFpbm1lbnQ8L21l\n        ZGlhOmNhdGVnb3J5PjxtZWRpYTpjb250ZW50IHVybD0naHR0cDovL3d3dy55\n        b3V0dWJlLmNvbS92L0lQeWFDZy1jZTJvP3ZlcnNpb249MyZhbXA7Zj12aWRl\n        b3MmYW1wO2FwcD15b3V0dWJlX2dkYXRhJyB0eXBlPSdhcHBsaWNhdGlvbi94\n        LXNob2Nrd2F2ZS1mbGFzaCcgbWVkaXVtPSd2aWRlbycgaXNEZWZhdWx0PSd0\n        cnVlJyBleHByZXNzaW9uPSdmdWxsJyBkdXJhdGlvbj0nMzA3JyB5dDpmb3Jt\n        YXQ9JzUnLz48bWVkaWE6Y29udGVudCB1cmw9J3J0c3A6Ly9yMS0tLXNuLTVo\n        bjdzdTdyLmMueW91dHViZS5jb20vQ2lJTEVOeTczd0lhR1FscWU1d1BDcHI4\n        SUJNWURTQU5GRWdHVWdaMmFXUmxiM01NLzAvMC8wL3ZpZGVvLjNncCcgdHlw\n        ZT0ndmlkZW8vM2dwcCcgbWVkaXVtPSd2aWRlbycgZXhwcmVzc2lvbj0nZnVs\n        bCcgZHVyYXRpb249JzMwNycgeXQ6Zm9ybWF0PScxJy8+PG1lZGlhOmNvbnRl\n        bnQgdXJsPSdydHNwOi8vcjEtLS1zbi01aG43c3U3ci5jLnlvdXR1YmUuY29t\n        L0NpSUxFTnk3M3dJYUdRbHFlNXdQQ3ByOElCTVlFU0FSRkVnR1VnWjJhV1Js\n        YjNNTS8wLzAvMC92aWRlby4zZ3AnIHR5cGU9J3ZpZGVvLzNncHAnIG1lZGl1\n        bT0ndmlkZW8nIGV4cHJlc3Npb249J2Z1bGwnIGR1cmF0aW9uPSczMDcnIHl0\n        OmZvcm1hdD0nNicvPjxtZWRpYTpjcmVkaXQgcm9sZT0ndXBsb2FkZXInIHNj\n        aGVtZT0ndXJuOnlvdXR1YmUnIHl0OmRpc3BsYXk9J1NhbSBKb3NlcGgnPmFl\n        dXJkc3RmYWtzZjwvbWVkaWE6Y3JlZGl0PjxtZWRpYTpkZXNjcmlwdGlvbiB0\n        eXBlPSdwbGFpbic+YXRsYW50aWNzY3J1bSBhbmQgUGFpciBIb29rdXAgKFNj\n        cnVtIE1hc3RlciBTYW0gLSBsb2NhbHN1cHBvcnQsIGFnaWxldmVudHVyZXMp\n        IC0gVHVlc2RheSwgMTN0aCBKYW4gYXQgMDM6NDVwbSAoVVRDKTwvbWVkaWE6\n        ZGVzY3JpcHRpb24+PG1lZGlhOmtleXdvcmRzLz48bWVkaWE6bGljZW5zZSB0\n        eXBlPSd0ZXh0L2h0bWwnIGhyZWY9J2h0dHA6Ly93d3cueW91dHViZS5jb20v\n        dC90ZXJtcyc+eW91dHViZTwvbWVkaWE6bGljZW5zZT48bWVkaWE6cGxheWVy\n        IHVybD0naHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUlQeWFDZy1j\n        ZTJvJmFtcDtmZWF0dXJlPXlvdXR1YmVfZ2RhdGFfcGxheWVyJy8+PG1lZGlh\n        OnRodW1ibmFpbCB1cmw9J2h0dHA6Ly9pLnl0aW1nLmNvbS92aS9JUHlhQ2ct\n        Y2Uyby9kZWZhdWx0LmpwZycgaGVpZ2h0PSc5MCcgd2lkdGg9JzEyMCcgdGlt\n        ZT0nMDA6MDI6MzMuNTAwJyB5dDpuYW1lPSdkZWZhdWx0Jy8+PG1lZGlhOnRo\n        dW1ibmFpbCB1cmw9J2h0dHA6Ly9pLnl0aW1nLmNvbS92aS9JUHlhQ2ctY2Uy\n        by9tcWRlZmF1bHQuanBnJyBoZWlnaHQ9JzE4MCcgd2lkdGg9JzMyMCcgeXQ6\n        bmFtZT0nbXFkZWZhdWx0Jy8+PG1lZGlhOnRodW1ibmFpbCB1cmw9J2h0dHA6\n        Ly9pLnl0aW1nLmNvbS92aS9JUHlhQ2ctY2Uyby9ocWRlZmF1bHQuanBnJyBo\n        ZWlnaHQ9JzM2MCcgd2lkdGg9JzQ4MCcgeXQ6bmFtZT0naHFkZWZhdWx0Jy8+\n        PG1lZGlhOnRodW1ibmFpbCB1cmw9J2h0dHA6Ly9pLnl0aW1nLmNvbS92aS9J\n        UHlhQ2ctY2Uyby9zZGRlZmF1bHQuanBnJyBoZWlnaHQ9JzQ4MCcgd2lkdGg9\n        JzY0MCcgeXQ6bmFtZT0nc2RkZWZhdWx0Jy8+PG1lZGlhOnRodW1ibmFpbCB1\n        cmw9J2h0dHA6Ly9pLnl0aW1nLmNvbS92aS9JUHlhQ2ctY2Uyby8xLmpwZycg\n        aGVpZ2h0PSc5MCcgd2lkdGg9JzEyMCcgdGltZT0nMDA6MDE6MTYuNzUwJyB5\n        dDpuYW1lPSdzdGFydCcvPjxtZWRpYTp0aHVtYm5haWwgdXJsPSdodHRwOi8v\n        aS55dGltZy5jb20vdmkvSVB5YUNnLWNlMm8vMi5qcGcnIGhlaWdodD0nOTAn\n        IHdpZHRoPScxMjAnIHRpbWU9JzAwOjAyOjMzLjUwMCcgeXQ6bmFtZT0nbWlk\n        ZGxlJy8+PG1lZGlhOnRodW1ibmFpbCB1cmw9J2h0dHA6Ly9pLnl0aW1nLmNv\n        bS92aS9JUHlhQ2ctY2Uyby8zLmpwZycgaGVpZ2h0PSc5MCcgd2lkdGg9JzEy\n        MCcgdGltZT0nMDA6MDM6NTAuMjUwJyB5dDpuYW1lPSdlbmQnLz48bWVkaWE6\n        dGl0bGUgdHlwZT0ncGxhaW4nPkF0bGFudGljU2NydW0gYW5kIFBhaXIgSG9v\n        a3VwIChTY3J1bSBNYXN0ZXIgU2FtIC0gTG9jYWxTdXBwb3J0LCBBZ2lsZVZl\n        bnR1cmVzKSAtIFR1ZXNkYXksIDEzdGggSmFuIGE8L21lZGlhOnRpdGxlPjx5\n        dDphc3BlY3RSYXRpbz53aWRlc2NyZWVuPC95dDphc3BlY3RSYXRpbz48eXQ6\n        ZHVyYXRpb24gc2Vjb25kcz0nMzA3Jy8+PHl0OnVwbG9hZGVkPjIwMTUtMDEt\n        MTNUMTU6NTY6MjIuMDAwWjwveXQ6dXBsb2FkZWQ+PHl0OnVwbG9hZGVySWQ+\n        VUNQUG80Wm5CV3dRNzVKcWlJMTNWRk53PC95dDp1cGxvYWRlcklkPjx5dDp2\n        aWRlb2lkPklQeWFDZy1jZTJvPC95dDp2aWRlb2lkPjwvbWVkaWE6Z3JvdXA+\n        PHl0OnN0YXRpc3RpY3MgZmF2b3JpdGVDb3VudD0nMCcgdmlld0NvdW50PScx\n        Jy8+PC9lbnRyeT48ZW50cnkgZ2Q6ZXRhZz0nVy8mcXVvdDtBa0lOUW40N2VD\n        cDdJMkE5WFJSU0VFby4mcXVvdDsnPjxpZD50YWc6eW91dHViZS5jb20sMjAw\n        ODp2aWRlbzpFTUtuV3pDN2dzUTwvaWQ+PHB1Ymxpc2hlZD4yMDE1LTAxLTEy\n        VDE2OjAzOjEzLjAwMFo8L3B1Ymxpc2hlZD48dXBkYXRlZD4yMDE1LTAxLTEy\n        VDE2OjAzOjEzLjAwMFo8L3VwZGF0ZWQ+PGNhdGVnb3J5IHNjaGVtZT0naHR0\n        cDovL3NjaGVtYXMuZ29vZ2xlLmNvbS9nLzIwMDUja2luZCcgdGVybT0naHR0\n        cDovL2dkYXRhLnlvdXR1YmUuY29tL3NjaGVtYXMvMjAwNyN2aWRlbycvPjxj\n        YXRlZ29yeSBzY2hlbWU9J2h0dHA6Ly9nZGF0YS55b3V0dWJlLmNvbS9zY2hl\n        bWFzLzIwMDcvY2F0ZWdvcmllcy5jYXQnIHRlcm09J0VudGVydGFpbm1lbnQn\n        IGxhYmVsPSdFbnRlcnRhaW5tZW50Jy8+PHRpdGxlPkF0bGFudGljU2NydW0g\n        YW5kIFBhaXIgSG9va3VwIChTY3J1bSBNYXN0ZXIgU2FtIC0gTG9jYWxTdXBw\n        b3J0LCBBZ2lsZVZlbnR1cmVzKSAtIE1vbmRheSwgMTJ0aCBKYW4gYXQ8L3Rp\n        dGxlPjxjb250ZW50IHR5cGU9J2FwcGxpY2F0aW9uL3gtc2hvY2t3YXZlLWZs\n        YXNoJyBzcmM9J2h0dHA6Ly93d3cueW91dHViZS5jb20vdi9FTUtuV3pDN2dz\n        UT92ZXJzaW9uPTMmYW1wO2Y9dmlkZW9zJmFtcDthcHA9eW91dHViZV9nZGF0\n        YScvPjxsaW5rIHJlbD0nYWx0ZXJuYXRlJyB0eXBlPSd0ZXh0L2h0bWwnIGhy\n        ZWY9J2h0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1FTUtuV3pDN2dz\n        USZhbXA7ZmVhdHVyZT15b3V0dWJlX2dkYXRhJy8+PGxpbmsgcmVsPSdodHRw\n        Oi8vZ2RhdGEueW91dHViZS5jb20vc2NoZW1hcy8yMDA3I3ZpZGVvLnJlbGF0\n        ZWQnIHR5cGU9J2FwcGxpY2F0aW9uL2F0b20reG1sJyBocmVmPSdodHRwOi8v\n        Z2RhdGEueW91dHViZS5jb20vZmVlZHMvYXBpL3ZpZGVvcy9FTUtuV3pDN2dz\n        US9yZWxhdGVkP3Y9Mi4xJy8+PGxpbmsgcmVsPSdodHRwOi8vZ2RhdGEueW91\n        dHViZS5jb20vc2NoZW1hcy8yMDA3I21vYmlsZScgdHlwZT0ndGV4dC9odG1s\n        JyBocmVmPSdodHRwOi8vbS55b3V0dWJlLmNvbS9kZXRhaWxzP3Y9RU1Lbld6\n        Qzdnc1EnLz48bGluayByZWw9J2h0dHA6Ly9nZGF0YS55b3V0dWJlLmNvbS9z\n        Y2hlbWFzLzIwMDcjdXBsb2FkZXInIHR5cGU9J2FwcGxpY2F0aW9uL2F0b20r\n        eG1sJyBocmVmPSdodHRwOi8vZ2RhdGEueW91dHViZS5jb20vZmVlZHMvYXBp\n        L3VzZXJzL1BQbzRabkJXd1E3NUpxaUkxM1ZGTnc/dj0yLjEnLz48bGluayBy\n        ZWw9J3NlbGYnIHR5cGU9J2FwcGxpY2F0aW9uL2F0b20reG1sJyBocmVmPSdo\n        dHRwOi8vZ2RhdGEueW91dHViZS5jb20vZmVlZHMvYXBpL3ZpZGVvcy9FTUtu\n        V3pDN2dzUT92PTIuMScvPjxhdXRob3I+PG5hbWU+U2FtIEpvc2VwaDwvbmFt\n        ZT48dXJpPmh0dHA6Ly9nZGF0YS55b3V0dWJlLmNvbS9mZWVkcy9hcGkvdXNl\n        cnMvYWV1cmRzdGZha3NmPC91cmk+PHl0OnVzZXJJZD5QUG80Wm5CV3dRNzVK\n        cWlJMTNWRk53PC95dDp1c2VySWQ+PC9hdXRob3I+PHl0OmFjY2Vzc0NvbnRy\n        b2wgYWN0aW9uPSdjb21tZW50JyBwZXJtaXNzaW9uPSdhbGxvd2VkJy8+PHl0\n        OmFjY2Vzc0NvbnRyb2wgYWN0aW9uPSdjb21tZW50Vm90ZScgcGVybWlzc2lv\n        bj0nYWxsb3dlZCcvPjx5dDphY2Nlc3NDb250cm9sIGFjdGlvbj0ndmlkZW9S\n        ZXNwb25kJyBwZXJtaXNzaW9uPSdtb2RlcmF0ZWQnLz48eXQ6YWNjZXNzQ29u\n        dHJvbCBhY3Rpb249J3JhdGUnIHBlcm1pc3Npb249J2FsbG93ZWQnLz48eXQ6\n        YWNjZXNzQ29udHJvbCBhY3Rpb249J2VtYmVkJyBwZXJtaXNzaW9uPSdhbGxv\n        d2VkJy8+PHl0OmFjY2Vzc0NvbnRyb2wgYWN0aW9uPSdsaXN0JyBwZXJtaXNz\n        aW9uPSdhbGxvd2VkJy8+PHl0OmFjY2Vzc0NvbnRyb2wgYWN0aW9uPSdhdXRv\n        UGxheScgcGVybWlzc2lvbj0nYWxsb3dlZCcvPjx5dDphY2Nlc3NDb250cm9s\n        IGFjdGlvbj0nc3luZGljYXRlJyBwZXJtaXNzaW9uPSdhbGxvd2VkJy8+PGdk\n        OmNvbW1lbnRzPjxnZDpmZWVkTGluayByZWw9J2h0dHA6Ly9nZGF0YS55b3V0\n        dWJlLmNvbS9zY2hlbWFzLzIwMDcjY29tbWVudHMnIGhyZWY9J2h0dHA6Ly9n\n        ZGF0YS55b3V0dWJlLmNvbS9mZWVkcy9hcGkvdmlkZW9zL0VNS25XekM3Z3NR\n        L2NvbW1lbnRzP3Y9Mi4xJyBjb3VudEhpbnQ9JzAnLz48L2dkOmNvbW1lbnRz\n        Pjx5dDpoZC8+PG1lZGlhOmdyb3VwPjxtZWRpYTpjYXRlZ29yeSBsYWJlbD0n\n        RW50ZXJ0YWlubWVudCcgc2NoZW1lPSdodHRwOi8vZ2RhdGEueW91dHViZS5j\n        b20vc2NoZW1hcy8yMDA3L2NhdGVnb3JpZXMuY2F0Jz5FbnRlcnRhaW5tZW50\n        PC9tZWRpYTpjYXRlZ29yeT48bWVkaWE6Y29udGVudCB1cmw9J2h0dHA6Ly93\n        d3cueW91dHViZS5jb20vdi9FTUtuV3pDN2dzUT92ZXJzaW9uPTMmYW1wO2Y9\n        dmlkZW9zJmFtcDthcHA9eW91dHViZV9nZGF0YScgdHlwZT0nYXBwbGljYXRp\n        b24veC1zaG9ja3dhdmUtZmxhc2gnIG1lZGl1bT0ndmlkZW8nIGlzRGVmYXVs\n        dD0ndHJ1ZScgZXhwcmVzc2lvbj0nZnVsbCcgZHVyYXRpb249JzgzNicgeXQ6\n        Zm9ybWF0PSc1Jy8+PG1lZGlhOmNvbnRlbnQgdXJsPSdydHNwOi8vcjctLS1z\n        bi01aG43c3U3ay5jLnlvdXR1YmUuY29tL0NpSUxFTnk3M3dJYUdRbkVncnN3\n        VzZmQ0VCTVlEU0FORkVnR1VnWjJhV1JsYjNNTS8wLzAvMC92aWRlby4zZ3An\n        IHR5cGU9J3ZpZGVvLzNncHAnIG1lZGl1bT0ndmlkZW8nIGV4cHJlc3Npb249\n        J2Z1bGwnIGR1cmF0aW9uPSc4MzYnIHl0OmZvcm1hdD0nMScvPjxtZWRpYTpj\n        b250ZW50IHVybD0ncnRzcDovL3I3LS0tc24tNWhuN3N1N2suYy55b3V0dWJl\n        LmNvbS9DaUlMRU55NzN3SWFHUW5FZ3Jzd1c2ZkNFQk1ZRVNBUkZFZ0dVZ1oy\n        YVdSbGIzTU0vMC8wLzAvdmlkZW8uM2dwJyB0eXBlPSd2aWRlby8zZ3BwJyBt\n        ZWRpdW09J3ZpZGVvJyBleHByZXNzaW9uPSdmdWxsJyBkdXJhdGlvbj0nODM2\n        JyB5dDpmb3JtYXQ9JzYnLz48bWVkaWE6Y3JlZGl0IHJvbGU9J3VwbG9hZGVy\n        JyBzY2hlbWU9J3Vybjp5b3V0dWJlJyB5dDpkaXNwbGF5PSdTYW0gSm9zZXBo\n        Jz5hZXVyZHN0ZmFrc2Y8L21lZGlhOmNyZWRpdD48bWVkaWE6ZGVzY3JpcHRp\n        b24gdHlwZT0ncGxhaW4nPmF0bGFudGljc2NydW0gYW5kIFBhaXIgSG9va3Vw\n        IChTY3J1bSBNYXN0ZXIgU2FtIC0gbG9jYWxzdXBwb3J0LCBhZ2lsZXZlbnR1\n        cmVzKSAtIE1vbmRheSwgMTJ0aCBKYW4gYXQgMDM6NDVwbSAoVVRDKTwvbWVk\n        aWE6ZGVzY3JpcHRpb24+PG1lZGlhOmtleXdvcmRzLz48bWVkaWE6bGljZW5z\n        ZSB0eXBlPSd0ZXh0L2h0bWwnIGhyZWY9J2h0dHA6Ly93d3cueW91dHViZS5j\n        b20vdC90ZXJtcyc+eW91dHViZTwvbWVkaWE6bGljZW5zZT48bWVkaWE6cGxh\n        eWVyIHVybD0naHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUVNS25X\n        ekM3Z3NRJmFtcDtmZWF0dXJlPXlvdXR1YmVfZ2RhdGFfcGxheWVyJy8+PG1l\n        ZGlhOnRodW1ibmFpbCB1cmw9J2h0dHA6Ly9pLnl0aW1nLmNvbS92aS9FTUtu\n        V3pDN2dzUS9kZWZhdWx0LmpwZycgaGVpZ2h0PSc5MCcgd2lkdGg9JzEyMCcg\n        dGltZT0nMDA6MDY6NTgnIHl0Om5hbWU9J2RlZmF1bHQnLz48bWVkaWE6dGh1\n        bWJuYWlsIHVybD0naHR0cDovL2kueXRpbWcuY29tL3ZpL0VNS25XekM3Z3NR\n        L21xZGVmYXVsdC5qcGcnIGhlaWdodD0nMTgwJyB3aWR0aD0nMzIwJyB5dDpu\n        YW1lPSdtcWRlZmF1bHQnLz48bWVkaWE6dGh1bWJuYWlsIHVybD0naHR0cDov\n        L2kueXRpbWcuY29tL3ZpL0VNS25XekM3Z3NRL2hxZGVmYXVsdC5qcGcnIGhl\n        aWdodD0nMzYwJyB3aWR0aD0nNDgwJyB5dDpuYW1lPSdocWRlZmF1bHQnLz48\n        bWVkaWE6dGh1bWJuYWlsIHVybD0naHR0cDovL2kueXRpbWcuY29tL3ZpL0VN\n        S25XekM3Z3NRL3NkZGVmYXVsdC5qcGcnIGhlaWdodD0nNDgwJyB3aWR0aD0n\n        NjQwJyB5dDpuYW1lPSdzZGRlZmF1bHQnLz48bWVkaWE6dGh1bWJuYWlsIHVy\n        bD0naHR0cDovL2kueXRpbWcuY29tL3ZpL0VNS25XekM3Z3NRLzEuanBnJyBo\n        ZWlnaHQ9JzkwJyB3aWR0aD0nMTIwJyB0aW1lPScwMDowMzoyOScgeXQ6bmFt\n        ZT0nc3RhcnQnLz48bWVkaWE6dGh1bWJuYWlsIHVybD0naHR0cDovL2kueXRp\n        bWcuY29tL3ZpL0VNS25XekM3Z3NRLzIuanBnJyBoZWlnaHQ9JzkwJyB3aWR0\n        aD0nMTIwJyB0aW1lPScwMDowNjo1OCcgeXQ6bmFtZT0nbWlkZGxlJy8+PG1l\n        ZGlhOnRodW1ibmFpbCB1cmw9J2h0dHA6Ly9pLnl0aW1nLmNvbS92aS9FTUtu\n        V3pDN2dzUS8zLmpwZycgaGVpZ2h0PSc5MCcgd2lkdGg9JzEyMCcgdGltZT0n\n        MDA6MTA6MjcnIHl0Om5hbWU9J2VuZCcvPjxtZWRpYTp0aXRsZSB0eXBlPSdw\n        bGFpbic+QXRsYW50aWNTY3J1bSBhbmQgUGFpciBIb29rdXAgKFNjcnVtIE1h\n        c3RlciBTYW0gLSBMb2NhbFN1cHBvcnQsIEFnaWxlVmVudHVyZXMpIC0gTW9u\n        ZGF5LCAxMnRoIEphbiBhdDwvbWVkaWE6dGl0bGU+PHl0OmFzcGVjdFJhdGlv\n        PndpZGVzY3JlZW48L3l0OmFzcGVjdFJhdGlvPjx5dDpkdXJhdGlvbiBzZWNv\n        bmRzPSc4MzYnLz48eXQ6dXBsb2FkZWQ+MjAxNS0wMS0xMlQxNjowMzoxMy4w\n        MDBaPC95dDp1cGxvYWRlZD48eXQ6dXBsb2FkZXJJZD5VQ1BQbzRabkJXd1E3\n        NUpxaUkxM1ZGTnc8L3l0OnVwbG9hZGVySWQ+PHl0OnZpZGVvaWQ+RU1Lbld6\n        Qzdnc1E8L3l0OnZpZGVvaWQ+PC9tZWRpYTpncm91cD48eXQ6c3RhdGlzdGlj\n        cyBmYXZvcml0ZUNvdW50PScwJyB2aWV3Q291bnQ9JzUnLz48L2VudHJ5Pjxl\n        bnRyeSBnZDpldGFnPSdXLyZxdW90O0RFRUhSSDQ3ZUNwN0kyQTlYUlJURmtr\n        LiZxdW90Oyc+PGlkPnRhZzp5b3V0dWJlLmNvbSwyMDA4OnZpZGVvOlRfUFRL\n        U3ZlM19rPC9pZD48cHVibGlzaGVkPjIwMTUtMDEtMDdUMTY6MDM6NTUuMDAw\n        WjwvcHVibGlzaGVkPjx1cGRhdGVkPjIwMTUtMDEtMDdUMTY6MDM6NTUuMDAw\n        WjwvdXBkYXRlZD48Y2F0ZWdvcnkgc2NoZW1lPSdodHRwOi8vc2NoZW1hcy5n\n        b29nbGUuY29tL2cvMjAwNSNraW5kJyB0ZXJtPSdodHRwOi8vZ2RhdGEueW91\n        dHViZS5jb20vc2NoZW1hcy8yMDA3I3ZpZGVvJy8+PGNhdGVnb3J5IHNjaGVt\n        ZT0naHR0cDovL2dkYXRhLnlvdXR1YmUuY29tL3NjaGVtYXMvMjAwNy9jYXRl\n        Z29yaWVzLmNhdCcgdGVybT0nRW50ZXJ0YWlubWVudCcgbGFiZWw9J0VudGVy\n        dGFpbm1lbnQnLz48dGl0bGU+QXRsYW50aWNTY3J1bSBhbmQgUGFpciBIb29r\n        dXAgKFNjcnVtIE1hc3RlciBTYW0gLSBMb2NhbFN1cHBvcnQsIEFnaWxlVmVu\n        dHVyZXMpIC0gV2VkbmVzZGF5LCA3dGggSmFuPC90aXRsZT48Y29udGVudCB0\n        eXBlPSdhcHBsaWNhdGlvbi94LXNob2Nrd2F2ZS1mbGFzaCcgc3JjPSdodHRw\n        Oi8vd3d3LnlvdXR1YmUuY29tL3YvVF9QVEtTdmUzX2s/dmVyc2lvbj0zJmFt\n        cDtmPXZpZGVvcyZhbXA7YXBwPXlvdXR1YmVfZ2RhdGEnLz48bGluayByZWw9\n        J2FsdGVybmF0ZScgdHlwZT0ndGV4dC9odG1sJyBocmVmPSdodHRwOi8vd3d3\n        LnlvdXR1YmUuY29tL3dhdGNoP3Y9VF9QVEtTdmUzX2smYW1wO2ZlYXR1cmU9\n        eW91dHViZV9nZGF0YScvPjxsaW5rIHJlbD0naHR0cDovL2dkYXRhLnlvdXR1\n        YmUuY29tL3NjaGVtYXMvMjAwNyN2aWRlby5yZWxhdGVkJyB0eXBlPSdhcHBs\n        aWNhdGlvbi9hdG9tK3htbCcgaHJlZj0naHR0cDovL2dkYXRhLnlvdXR1YmUu\n        Y29tL2ZlZWRzL2FwaS92aWRlb3MvVF9QVEtTdmUzX2svcmVsYXRlZD92PTIu\n        MScvPjxsaW5rIHJlbD0naHR0cDovL2dkYXRhLnlvdXR1YmUuY29tL3NjaGVt\n        YXMvMjAwNyNtb2JpbGUnIHR5cGU9J3RleHQvaHRtbCcgaHJlZj0naHR0cDov\n        L20ueW91dHViZS5jb20vZGV0YWlscz92PVRfUFRLU3ZlM19rJy8+PGxpbmsg\n        cmVsPSdodHRwOi8vZ2RhdGEueW91dHViZS5jb20vc2NoZW1hcy8yMDA3I3Vw\n        bG9hZGVyJyB0eXBlPSdhcHBsaWNhdGlvbi9hdG9tK3htbCcgaHJlZj0naHR0\n        cDovL2dkYXRhLnlvdXR1YmUuY29tL2ZlZWRzL2FwaS91c2Vycy9QUG80Wm5C\n        V3dRNzVKcWlJMTNWRk53P3Y9Mi4xJy8+PGxpbmsgcmVsPSdzZWxmJyB0eXBl\n        PSdhcHBsaWNhdGlvbi9hdG9tK3htbCcgaHJlZj0naHR0cDovL2dkYXRhLnlv\n        dXR1YmUuY29tL2ZlZWRzL2FwaS92aWRlb3MvVF9QVEtTdmUzX2s/dj0yLjEn\n        Lz48YXV0aG9yPjxuYW1lPlNhbSBKb3NlcGg8L25hbWU+PHVyaT5odHRwOi8v\n        Z2RhdGEueW91dHViZS5jb20vZmVlZHMvYXBpL3VzZXJzL2FldXJkc3RmYWtz\n        ZjwvdXJpPjx5dDp1c2VySWQ+UFBvNFpuQld3UTc1SnFpSTEzVkZOdzwveXQ6\n        dXNlcklkPjwvYXV0aG9yPjx5dDphY2Nlc3NDb250cm9sIGFjdGlvbj0nY29t\n        bWVudCcgcGVybWlzc2lvbj0nYWxsb3dlZCcvPjx5dDphY2Nlc3NDb250cm9s\n        IGFjdGlvbj0nY29tbWVudFZvdGUnIHBlcm1pc3Npb249J2FsbG93ZWQnLz48\n        eXQ6YWNjZXNzQ29udHJvbCBhY3Rpb249J3ZpZGVvUmVzcG9uZCcgcGVybWlz\n        c2lvbj0nbW9kZXJhdGVkJy8+PHl0OmFjY2Vzc0NvbnRyb2wgYWN0aW9uPSdy\n        YXRlJyBwZXJtaXNzaW9uPSdhbGxvd2VkJy8+PHl0OmFjY2Vzc0NvbnRyb2wg\n        YWN0aW9uPSdlbWJlZCcgcGVybWlzc2lvbj0nYWxsb3dlZCcvPjx5dDphY2Nl\n        c3NDb250cm9sIGFjdGlvbj0nbGlzdCcgcGVybWlzc2lvbj0nYWxsb3dlZCcv\n        Pjx5dDphY2Nlc3NDb250cm9sIGFjdGlvbj0nYXV0b1BsYXknIHBlcm1pc3Np\n        b249J2FsbG93ZWQnLz48eXQ6YWNjZXNzQ29udHJvbCBhY3Rpb249J3N5bmRp\n        Y2F0ZScgcGVybWlzc2lvbj0nYWxsb3dlZCcvPjxnZDpjb21tZW50cz48Z2Q6\n        ZmVlZExpbmsgcmVsPSdodHRwOi8vZ2RhdGEueW91dHViZS5jb20vc2NoZW1h\n        cy8yMDA3I2NvbW1lbnRzJyBocmVmPSdodHRwOi8vZ2RhdGEueW91dHViZS5j\n        b20vZmVlZHMvYXBpL3ZpZGVvcy9UX1BUS1N2ZTNfay9jb21tZW50cz92PTIu\n        MScgY291bnRIaW50PScwJy8+PC9nZDpjb21tZW50cz48eXQ6aGQvPjxtZWRp\n        YTpncm91cD48bWVkaWE6Y2F0ZWdvcnkgbGFiZWw9J0VudGVydGFpbm1lbnQn\n        IHNjaGVtZT0naHR0cDovL2dkYXRhLnlvdXR1YmUuY29tL3NjaGVtYXMvMjAw\n        Ny9jYXRlZ29yaWVzLmNhdCc+RW50ZXJ0YWlubWVudDwvbWVkaWE6Y2F0ZWdv\n        cnk+PG1lZGlhOmNvbnRlbnQgdXJsPSdodHRwOi8vd3d3LnlvdXR1YmUuY29t\n        L3YvVF9QVEtTdmUzX2s/dmVyc2lvbj0zJmFtcDtmPXZpZGVvcyZhbXA7YXBw\n        PXlvdXR1YmVfZ2RhdGEnIHR5cGU9J2FwcGxpY2F0aW9uL3gtc2hvY2t3YXZl\n        LWZsYXNoJyBtZWRpdW09J3ZpZGVvJyBpc0RlZmF1bHQ9J3RydWUnIGV4cHJl\n        c3Npb249J2Z1bGwnIGR1cmF0aW9uPSc3NzcnIHl0OmZvcm1hdD0nNScvPjxt\n        ZWRpYTpjb250ZW50IHVybD0ncnRzcDovL3I1LS0tc24tNWhuN3N1N3MuYy55\n        b3V0dWJlLmNvbS9DaUlMRU55NzN3SWFHUW41Mzk0cktkUHpUeE1ZRFNBTkZF\n        Z0dVZ1oyYVdSbGIzTU0vMC8wLzAvdmlkZW8uM2dwJyB0eXBlPSd2aWRlby8z\n        Z3BwJyBtZWRpdW09J3ZpZGVvJyBleHByZXNzaW9uPSdmdWxsJyBkdXJhdGlv\n        bj0nNzc3JyB5dDpmb3JtYXQ9JzEnLz48bWVkaWE6Y29udGVudCB1cmw9J3J0\n        c3A6Ly9yNS0tLXNuLTVobjdzdTdzLmMueW91dHViZS5jb20vQ2lJTEVOeTcz\n        d0lhR1FuNTM5NHJLZFB6VHhNWUVTQVJGRWdHVWdaMmFXUmxiM01NLzAvMC8w\n        L3ZpZGVvLjNncCcgdHlwZT0ndmlkZW8vM2dwcCcgbWVkaXVtPSd2aWRlbycg\n        ZXhwcmVzc2lvbj0nZnVsbCcgZHVyYXRpb249Jzc3NycgeXQ6Zm9ybWF0PSc2\n        Jy8+PG1lZGlhOmNyZWRpdCByb2xlPSd1cGxvYWRlcicgc2NoZW1lPSd1cm46\n        eW91dHViZScgeXQ6ZGlzcGxheT0nU2FtIEpvc2VwaCc+YWV1cmRzdGZha3Nm\n        PC9tZWRpYTpjcmVkaXQ+PG1lZGlhOmRlc2NyaXB0aW9uIHR5cGU9J3BsYWlu\n        Jz5hdGxhbnRpY3NjcnVtIGFuZCBQYWlyIEhvb2t1cCAoU2NydW0gTWFzdGVy\n        IFNhbSAtIGxvY2Fsc3VwcG9ydCwgYWdpbGV2ZW50dXJlcykgLSBXZWRuZXNk\n        YXksIDd0aCBKYW4gYXQgMDM6NDVwbSAoVVRDKTwvbWVkaWE6ZGVzY3JpcHRp\n        b24+PG1lZGlhOmtleXdvcmRzLz48bWVkaWE6bGljZW5zZSB0eXBlPSd0ZXh0\n        L2h0bWwnIGhyZWY9J2h0dHA6Ly93d3cueW91dHViZS5jb20vdC90ZXJtcyc+\n        eW91dHViZTwvbWVkaWE6bGljZW5zZT48bWVkaWE6cGxheWVyIHVybD0naHR0\n        cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PVRfUFRLU3ZlM19rJmFtcDtm\n        ZWF0dXJlPXlvdXR1YmVfZ2RhdGFfcGxheWVyJy8+PG1lZGlhOnRodW1ibmFp\n        bCB1cmw9J2h0dHA6Ly9pLnl0aW1nLmNvbS92aS9UX1BUS1N2ZTNfay9kZWZh\n        dWx0LmpwZycgaGVpZ2h0PSc5MCcgd2lkdGg9JzEyMCcgdGltZT0nMDA6MDY6\n        MjguNTAwJyB5dDpuYW1lPSdkZWZhdWx0Jy8+PG1lZGlhOnRodW1ibmFpbCB1\n        cmw9J2h0dHA6Ly9pLnl0aW1nLmNvbS92aS9UX1BUS1N2ZTNfay9tcWRlZmF1\n        bHQuanBnJyBoZWlnaHQ9JzE4MCcgd2lkdGg9JzMyMCcgeXQ6bmFtZT0nbXFk\n        ZWZhdWx0Jy8+PG1lZGlhOnRodW1ibmFpbCB1cmw9J2h0dHA6Ly9pLnl0aW1n\n        LmNvbS92aS9UX1BUS1N2ZTNfay9ocWRlZmF1bHQuanBnJyBoZWlnaHQ9JzM2\n        MCcgd2lkdGg9JzQ4MCcgeXQ6bmFtZT0naHFkZWZhdWx0Jy8+PG1lZGlhOnRo\n        dW1ibmFpbCB1cmw9J2h0dHA6Ly9pLnl0aW1nLmNvbS92aS9UX1BUS1N2ZTNf\n        ay9zZGRlZmF1bHQuanBnJyBoZWlnaHQ9JzQ4MCcgd2lkdGg9JzY0MCcgeXQ6\n        bmFtZT0nc2RkZWZhdWx0Jy8+PG1lZGlhOnRodW1ibmFpbCB1cmw9J2h0dHA6\n        Ly9pLnl0aW1nLmNvbS92aS9UX1BUS1N2ZTNfay8xLmpwZycgaGVpZ2h0PSc5\n        MCcgd2lkdGg9JzEyMCcgdGltZT0nMDA6MDM6MTQuMjUwJyB5dDpuYW1lPSdz\n        dGFydCcvPjxtZWRpYTp0aHVtYm5haWwgdXJsPSdodHRwOi8vaS55dGltZy5j\n        b20vdmkvVF9QVEtTdmUzX2svMi5qcGcnIGhlaWdodD0nOTAnIHdpZHRoPScx\n        MjAnIHRpbWU9JzAwOjA2OjI4LjUwMCcgeXQ6bmFtZT0nbWlkZGxlJy8+PG1l\n        ZGlhOnRodW1ibmFpbCB1cmw9J2h0dHA6Ly9pLnl0aW1nLmNvbS92aS9UX1BU\n        S1N2ZTNfay8zLmpwZycgaGVpZ2h0PSc5MCcgd2lkdGg9JzEyMCcgdGltZT0n\n        MDA6MDk6NDIuNzUwJyB5dDpuYW1lPSdlbmQnLz48bWVkaWE6dGl0bGUgdHlw\n        ZT0ncGxhaW4nPkF0bGFudGljU2NydW0gYW5kIFBhaXIgSG9va3VwIChTY3J1\n        bSBNYXN0ZXIgU2FtIC0gTG9jYWxTdXBwb3J0LCBBZ2lsZVZlbnR1cmVzKSAt\n        IFdlZG5lc2RheSwgN3RoIEphbjwvbWVkaWE6dGl0bGU+PHl0OmFzcGVjdFJh\n        dGlvPndpZGVzY3JlZW48L3l0OmFzcGVjdFJhdGlvPjx5dDpkdXJhdGlvbiBz\n        ZWNvbmRzPSc3NzcnLz48eXQ6dXBsb2FkZWQ+MjAxNS0wMS0wN1QxNjowMzo1\n        NS4wMDBaPC95dDp1cGxvYWRlZD48eXQ6dXBsb2FkZXJJZD5VQ1BQbzRabkJX\n        d1E3NUpxaUkxM1ZGTnc8L3l0OnVwbG9hZGVySWQ+PHl0OnZpZGVvaWQ+VF9Q\n        VEtTdmUzX2s8L3l0OnZpZGVvaWQ+PC9tZWRpYTpncm91cD48eXQ6c3RhdGlz\n        dGljcyBmYXZvcml0ZUNvdW50PScwJyB2aWV3Q291bnQ9JzQnLz48L2VudHJ5\n        PjwvZmVlZD4=\n    http_version: \n  recorded_at: Sat, 16 Feb 2013 23:00:05 GMT\n- request:\n    method: get\n    uri: https://www.googleapis.com/discovery/v1/apis/youtube/v3/rest?key=AIzaSyAYXJjUwwDKVEliqBxQ8AMbk7ocWJ-z4zw\n    body:\n      encoding: UTF-8\n      string: ''\n    headers:\n      User-Agent:\n      - |-\n        /Users/thomas/.rvm/gems/ruby-2.2.2/bin/rspec/1.0.0 google-api-ruby-client/0.8.6 Mac OS X/10.10.3\n         (gzip)\n      Accept-Encoding:\n      - gzip\n      Content-Type:\n      - ''\n      Accept:\n      - \"*/*\"\n  response:\n    status:\n      code: 200\n      message: OK\n    headers:\n      Expires:\n      - Mon, 15 Jun 2015 20:18:02 GMT\n      Date:\n      - Mon, 15 Jun 2015 20:13:02 GMT\n      Etag:\n      - '\"ye6orv2F-1npMW3u9suM3a7C5Bo/xrj0tixOAUjJF__K-i_9CMlHy5Y\"'\n      Vary:\n      - Origin\n      - X-Origin\n      Content-Type:\n      - application/json; charset=UTF-8\n      Content-Encoding:\n      - gzip\n      X-Content-Type-Options:\n      - nosniff\n      X-Frame-Options:\n      - SAMEORIGIN\n      X-Xss-Protection:\n      - 1; mode=block\n      Server:\n      - GSE\n      Content-Length:\n      - '44914'\n      Age:\n      - '49'\n      Cache-Control:\n      - public, max-age=300, must-revalidate, no-transform\n      Alternate-Protocol:\n      - 443:quic,p=1\n    body:\n      encoding: ASCII-8BIT\n      string: !binary |-\n        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\n        brBqYcsnW9ZeNF4B0/h5DfVTm2BNJx3gybPsFhmV7cIsL13N+wGdTmIGojFa\n        rULHIRpZIrtmm+1rOXJvbuKxHbVxqLDVIbNmr4antsdLexXprbLs1NKeTaMy\n        E99fqliw7f3yNlzot+Xl5lFVZmdwHtb2HfXLMWDSbYNthu5SfyjRSFNsJ8ka\n        VNn6p+qP/7XNVLWDwVvyQd18+UwfVo5yyCm9QO0xjTUDyBewKCZVUqdYtC/g\n        tdxRO4Ogmwf3bhVnwbop0zCPEvITtV01VZhhw29yJyCoKpUdBv2CmEsR0GEy\n        zzBtAEdHJeR84ioLWxANBx9aCoIkJactysZOC1nlnDZQ1I6IoTjt0vmBWoem\n        pm1o7BfkO5uTWNNLO1z299EebOunWcoh6yiYvs9uDDxgtvs3/19739bctpWl\n        +55fgfJL7BnqZidOJ1X9YEtOoqp47CPJ3TVzHlIQAYqISYADgJLZp/q/n73W\n        2nds3EmJtHdXz7RFAPu+1/rWnQ3x/xBV0lNKDNmBbqv6T+5xPnxhRaV7Hd7B\n        2qKyKEpmMyjuDSvKwwdqbmyW67Sa5zSAahEp3t80hrQHWhvickuXefCVVU6c\n        t/EMPL3EgGTUuOna5UyHeZmCO21CJnBUb0lrb4JBBzRQ6A9ktc9gD4aAVfS9\n        d4YNlKSb4Plf5STpC+GcL1U8xSad8p4mvC0okT5jcyCP/5B9Tw0bNtLxh3Me\n        Fu/YxGFndeLBOH9agEyaQk6QbLHW7WN0mmAGjONOkZ+dGwoQ4zkeavv5Ov2c\n        Zg+p81v+7Fxm9K480pp8HHLV8Y6Z3uNbsl6J0iy8KLjw+ta5l+73LV1N0e4O\n        RzWZZxnX3HK9LnAudMaJNV9tkmuLGJkOIKocLLsPeOgYaOTXqmtiHG0dbvRV\n        aXWDq/2wGReb73YHyW/AzfduEVvglqxkaBPn0R1QwL1bPQGhwRU1pQYcBFQY\n        OEo8gzFGJb2EISdygKXyoSaqlJjRL1ArRWTaVMKrDeqhajipdXWdr16rXv0u\n        BFNlXSwq1sW3G2HLrsgPPI6Gx85gHC6UCVKzJbkf4iHY/6WZLK5VyNzKwjjF\n        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\n        0ZYwXeZgXibLZMq1s0JTQqpokXpcpOi5vHBSKgrf6kWlkuGKiCRyQ1LEmfrS\n        c7hX8ByJ3FnZItih9c3lBQZ+iWYxUqLkvSrHd+0zVbBpO2gtS9+iiv7DbNAK\n        sfFzMVPomD4aWgc7a4XYcFwmoJJkIGCN9NtQNWyeRuEDlKgYNAUyS9wY4nWA\n        LhU82gX5cZHcg0ELJiZ1Tjx7FRBU1nkhVc7uwRnMrRLKwBcGRHPOXogzTNm+\n        wuFgQF6JEipZ1vn7a7KBQAhnQgyI3HjkwtJGiExbOBIDNjhgzXHTcjQtAYc2\n        DyRlL8MUDsMS4A84C8a57vYrSg2jmYCJJtlDYQ4TrTC69oJNa0qg7w608pSB\n        Ht4hPV+Sa8YUcfLAW2oi0/UxJMh99gQz1tq3l1tqPGG72MvrcKGMZDdz4XiI\n        exBSyIbaT9wUffDcY0bYzhZJ+lm5ZqgNsVcWV2LLCCCpxD4M5t8j2DE/M06d\n        f8SmDS5HHbiseLOOz578vyT6d3/l/wVvt0KyaetNKo6+WUoNCXG8sror8S3w\n        JhX+xoIG6rIDMQhBNsvZUtf2oAuG1azMcdOvYfhMy1/i0cKeoAWlVNwXvID3\n        yMMFDxc8XPg64YK8HMBtBhM8i1XpSjqZuFgnYG7DnWb0sYqPGYcKS7pVdKJ4\n        E0gB3pUd6ytkR0qwed9qoTsAjqbGn3mp/1lChSDt7/tSaFe0YIXmaIXg2fX6\n        lqoGgvFeT/zBH0/jNMzBrkMhw8E5X9PKbLCpq2TlbgcqpUXBDTjcvQ/zz+tV\n        IPLsiV0yXv9nfMsL+OAnN7C4hXrTMcsupw0gyPDjZgIY13kzjCD8uEkHAAwy\n        WsjSWZb2sIrz6nWIr1/9fHQGHlCiarxEZKBGNGw/UmcdF8B2ZT/iC+pKH1qi\n        1yBhLJ68YpchBGwYb6rkMcRQYZPwWfwtyAxyKOvVKsvL4n0cJeGFkh0A3Rhy\n        RYsHppQqavwvW3R3Td6Xn1ZuaeLrQuBu08IACO5xpseZHmd+XThzNw4wOsQ0\n        6wx2cmwh16oqo2crILMEb0fTDqG/w9y/YP4YOOy6qnZhJ07B2R5nGJVL9bTZ\n        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\n        hp3tiG0Jef0IkiWJWRhB3QfHJAQJg6xiKdp27YLPIccxQi3cRht4sujSudQO\n        v9pQg3akTo6iBF6Y6GTFKJbBd4jqOofVU5wU1iHdQtWOX5MUXFIm5oI3t1Td\n        USs7Zc2dGj9cOml7TQHZhQNPSCT4GSZxsSm+qObdQuvHEkchPAwsFPGUko0B\n        EPcypTyKPeizsLWEFAjDRrjSiwa6Q0Qd/9WjRAkk0QpRVp3Ulgk4PStTBO4C\n        gW50PqkF3SZMJdhdh0m37HnSV4b8Qz+ReyE6GoIc92uBU5pni67CmXi9RT6z\n        X+sRXUpf0vErRMUxzPMXFJAr0bCmc18uRRDV2egmWfEGrheGc0/Q02NUb8V5\n        l1Si0pjPQl6bOAWDE2YYYc3gv588I6GOsWBntWVlpIAq3iFlWFQiktSbRkov\n        a9Jb9sHMZjN2VG6SZfx+eGoevZEaRrTKigRc6ijDGH1AcNHE/zRb7iJH2b+n\n        03VO/EWaDJdxWKxzOrtL9lJSxOzeQP6SPFvSYsZ3SZqiEGhJ6FCDIEuTkp0a\n        OugTvtg8lRkOUHK8ktcxXM3DQsFXtVWsnzA9Dt7d40wwsDrhnv0a4NDHSKRb\n        WT8xwz1IDQwrrRjT/ZIsQ0KuQKMVwAIreMmPCsez4IdPMDiEnHdZgR6Lpu8k\n        zQTyinF7PjDlKKOoNRzjxkLnOsvBwaZyFBxucf9t2XWR0f+Kfo+D65iytf9G\n        ZAi4NyqyyW48E9Aj0ovUL0HZHablL9Cd0DOT91jrOLk/Z16hYrDEUYyETr8y\n        ZhTl6x+2IWB6tYtXu3i1i1e7eLWLV7t4tYtXu3i1S2W9H9g5wwy6Q9dcNFBL\n        aOEFgMLTzwTkwSdbiVI9xQzj9IKP4t9en54Fz/+b/efo/fuji4ub+fyX5fKX\n        ojguiuJ/XlRjuTWgCWLbEU7e61l66Vla0rZZapaa5G2Wud2tXemawk0p6Z7E\n        +lyvX3DndJNIYjsp3bwY5MUgLwZ5MciLQV4M8mLQAYtBfTCmhSr3Bhy2JHO1\n        wGFNStdO4LBbYtfO0NCDJw+ePHjy4MmDJw+ePHg6PPC0Gx3ygWWKsT/dO81z\n        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\n        rX4FAA==\n    http_version: \n  recorded_at: Mon, 15 Jun 2015 20:13:52 GMT\n- request:\n    method: get\n    uri: https://www.googleapis.com/youtube/v3/search?key=AIzaSyAYXJjUwwDKVEliqBxQ8AMbk7ocWJ-z4zw&maxResults=20&part=snippet&q=AtlanticScrum%7CAmericasScrum%7CEuroScrum%7CEuroAsia%7COSRA%20Scrum\n    body:\n      encoding: UTF-8\n      string: ''\n    headers:\n      User-Agent:\n      - |-\n        /Users/thomas/.rvm/gems/ruby-2.2.2/bin/rspec/1.0.0 google-api-ruby-client/0.8.6 Mac OS X/10.10.3\n         (gzip)\n      Accept-Encoding:\n      - gzip\n      Content-Type:\n      - ''\n      Accept:\n      - \"*/*\"\n  response:\n    status:\n      code: 200\n      message: OK\n    headers:\n      Expires:\n      - Mon, 15 Jun 2015 20:13:52 GMT\n      Date:\n      - Mon, 15 Jun 2015 20:13:52 GMT\n      Cache-Control:\n      - private, max-age=120, must-revalidate, no-transform\n      Etag:\n      - '\"eYE31WLho912TfxEBDDRSwEQ5Ms/2vv_Oc1zHs5NHZnESiN-gt9b1NE\"'\n      Vary:\n      - Origin\n      - X-Origin\n      Content-Type:\n      - application/json; charset=UTF-8\n      Content-Encoding:\n      - gzip\n      X-Content-Type-Options:\n      - nosniff\n      X-Frame-Options:\n      - SAMEORIGIN\n      X-Xss-Protection:\n      - 1; mode=block\n      Server:\n      - GSE\n      Alternate-Protocol:\n      - 443:quic,p=1\n      Transfer-Encoding:\n      - chunked\n    body:\n      encoding: ASCII-8BIT\n      string: !binary |-\n        H4sIAAAAAAAAANWbS2+rSBbH9/kUyCONuqVLwsPYmB1+xHb8jvFzemSVoXjY\n        QGEoHOPWlUazmsVIsx9pdj37Xo5mpN70F8j9RgN2cpvOvfaNbZxHFlFSwP8c\n        qPPjVJ0qfrwgUnPDVlICkQqQj/0p/IMHgSvrdcPDt9BzkO3B1IfwNIiBFp32\n        QwqOSiw9qOsoRzOSuirli8Xb7l2pwzW8K2a5nLRkel3xuGZlbJe6RpPUcG5K\n        N0s/pDY6NlzhNtCghObQjgQL+U5HFDfHnLC9aqsobP7xgiBSGGFghl74JvbC\n        NprJfYia3W1LG7qRUHiAoS6Ij5GAgaEVnfmn8LRIYdfdbTUjm8Rz76xNdfk+\n        KwVy2lgtUB2X88XCqLKq8M3e9s5CJUN58PwrhpeGAtH2PCK1+ae6Oa6121Rr\n        3Bup7XQqOvhxK+XZhuNA/Jue409Nw9OhIkaNKYaiOZJKkxQv0ZxAsQLLXlIU\n        NX60IOvAtqG5tdErtNsoPbbzg7tOlrtZGFWa7V837x5PxgY2o+eYErEJbGzI\n        Xdn1LQLYCtEGhktUEJr7DvHdtrkBPAxdogssgiTqSAZm13cc5OIPhKgZJuxD\n        G/thH30fHh5AxYaeAoIPBI91QnTcR5sK9GTXcLCB7BeyTABMUIyQ5hyL+K4n\n        Fb7/fPu6b01tYJje58cd+aeCKEY+txAp3zUjV3WMHU+4ujIuA2xY2qWMrKul\n        cRXryKuHiy9njpbaXr3t1lDEgorhW8fJWos9wrqh6cfJ6l+TvYiJP0aT9Bgn\n        APqu4mEVzD318SmaxhLmXQQUOeylArJx2BnRuTay4TayLx4EEyZT4bTZrT2T\n        c950lDEUVBtxNJ65VdVOn0TmYjUeDteVSrWPDiQzTdIMSdESQwksJXDZfWSW\n        yv3JYKiENjXAiL1Oo6AoVOcLMlvdW5EohjEaEFsWSKKB7E140x4milDehDcv\n        UNTT8H5C2glKyYASe65JghKXTRCUuOzhoLw6HGll2bNmfbzA1wO6z8HqyvEt\n        JSNCpJ0ER3Xc9+XbKZ7fioenLY5keInKCGlGoOh9cKxmYu+ur5nDyk2G13LT\n        pj3Jrb5MWyXfRaJnAOLo7OFjVHaBAt1N7pB0392mDibKHQ0QEGAHTS9hOqQx\n        E75IwFlojHVkkjTGZROkMS77DmmsmxkWj+usO+wElbKymmvecFLse5xYOonG\n        ZttbL5HYKrjzw2nMkDQVDSJpSkin3/ggkqZCKG58+xVGkY+mzzyMjHVlkjzG\n        ZRPkMS77zoeRC0wta5zYr63VoZVbmHRzjido3Zkz3klsTopNDtzyE5A7IlOG\n        bHKbCR4jsPxbZPPz0JH7TMdLsfkV0+cEM9aPSYIZl00QzLjsOweztypm8jUO\n        Da/1jLoUM8qIpf0cJfHl0UlgsqxkcjdD0M1qR4FJb8Ck3mjl5beBJE2/bM78\n        0vKZyYx1ZJJkxmUTJDMu+87JtNYNad7JqyObrJcXDtWg5/k60ntwUj2JzLFU\n        ZDJts7o2e0dOLkMymbRA751cvj6Zj1O8lyfzd5PL85EZ68gkyYzLJkhmXPad\n        k9kGlsr4CDXsAiAL10rQVyZwNatCRT6JzKBlWg7k636nc3BNlKJJNsyZVFT2\n        oZl9ZFJ6vbryzC5TRvqsNW+tOkud/AqZUXwTjwFORKWYhzLMH+Ok7KLreVdf\n        JktE7AEmSURcNkEi4rKHEyE1SwM4jUL/1Xlo+J0s2Vj5+M4jQTd3Lelcadwp\n        LHzntDFkt1IzXKUsKeOjCi/R6l1a4HiByrzFTPU4w+JfbW7Hv8gAMtaLSUIZ\n        l00QyrjsO09TKzcz5zlI0bqK59UbraFMq4v+eMgMOs/C8uHmDsPmIE6pbJS3\n        GGbDKSukkyjCRATcIA86+g6cToxuU2cvNYQ0E/oedOVtf26ih6xhmpnzYLGQ\n        vCvx80819rd4JdWp8XUbNxhJvnJ0hNFRLLyEE9/g5pwuvB/GpvYCAFkNur2x\n        FhRXNOgU82VtUMgVn7c8vp+xqpz2013P8+C0lYZkCHGYCg6tp7BhIiTpjBQt\n        OvMCs7eessPgU8aaxtzAgBCXSzD3LbQ8F2npXRHmaX627028Hl/dGWF8B/Zk\n        DxRdSzyJtPM78U3SzufCXtJenS5zuO7elGHHkKRKdzU2LDU3GgYw3R48b1vY\n        frp2bA45lC6aIhlaojghTQnU3pnXM3ejtMESmkTZsKA5ha52Lri4na/vplWT\n        llapOmnsDKrb5lTHo4lreKOT4Dq/E9+E63wuvG24BpPcXSM/5pvr9bQ6qXEF\n        rUSOTGc1vnteFWM/XNZ8NOr2O9lFb64OZ6vArc+U5eFwUTmSYqPURWcFdm/B\n        cYfBp3AVwq7CBrCJov/yZIndUa87Wzh5qrczonI816oypUHLRuchKzEnjifr\n        ZBfeNlk33dw1PyteD9eLWo203RZHXxe7vpgdP68esp+sHfW7w8hiorRFZzdp\n        K5x45RIoGEo6soBHtGTdAruWw6RmiXioWhEkSdQDz7MB4fz6b2KOLCvsH+BC\n        l0AW4SDTwMacQLJOgDn2oWkSHrD0X38yTU+BU4DxJdGACgExJkwjzJPAxIQX\n        2N6vP4UtD2phq0vMgPYoAYhQwFagGQbkJVFDLt4YmCNbDt8Km78vL0+tSe6J\n        +6IY5PGqUm31d0+MSos02dP8vjz0zsN/Yk4cz//JLuzl/w1VRvku7KstRr3j\n        l4xd5Zy7/FRRp5rUWT1vDc8xQRCS+/lGHv/fotmuGzObyvZXiqQVhxXs9ga8\n        F7RIemAjqde+W1CHb62mSYaSqNy3p4rNLDepBww5aAczbblwOMmFzI5lhHbj\n        PKn2Se2OW3bl9ECfu9G+9eQqjXHZBCuNcdkjyv/ANGXfXQaesYY5T0fQe/Vo\n        V/KjO6+HS5lFbXFNBWunP4Z1Q8d5NYm85weVaUee1Ce344nX6hfyC23YPHTX\n        Fxt91hNFOCtwOYHdO13bYfBphOfdaDhZfvFqY6FDlwqBNQbl9M6XKHOd5zhx\n        fDNr8eepNibmxPHVxpNdeNuDyWAUyGkdhnOgRpEfkOKoP9S5QZHDo9M+jVve\n        znMZeUmXm4cWFDdZgmYlOicwnMDtnZWpEBUtR7MHE1dhcYOf57vI+LKgKFrQ\n        NcIn+9Ulrh1kbb+y8TZXqMgNr5AN1ZCJ8B0L12GvRMtav1+GTni1OfYEk0w3\n        cdkE001c9h1u7mfU/qjW0jNDepgdBi4ztq+RScIyX6YSyC07PoU5jAt6M6di\n        JYoRuIzA7d3t/8xvb+7/df/zp7/e/3z/v09///QP4v6f9798+sv9f+//8+lv\n        4e9fXrzu7piWnkln7tQh2r2yMxu2RnZfXoDTVrjO78TxdfeTXXjbsKHqnPal\n        G7VlVmoNmeWHUEqTOtMm/SRWjrlilfbbk65TsWdcYxRURVNbH5qEKJJiHnYJ\n        c5RAUftg22HwKWyN8GlBExFlNIWmabz4gM7MWNn2oDgQWXF3vbnSzIJiy+N7\n        vfMM6BJz4vgB3cku7IXLhYECzdCQA15/xoSzonvd7/i6q4zWsDprBXUrm6lO\n        jEUSy8dTEIzZdm8cYLZGDiynxFdt+0DQor34IWhpiaKEzb7ffaDtMPgUtG44\n        bsubAdCRqr44ZTf1ij/JqWwG7o6umjlo2w49W6jaeShLzInjKTvZhb2UedMn\n        /fs8xC6IP198vPg/nS0bRDlFAAA=\n    http_version: \n  recorded_at: Mon, 15 Jun 2015 20:13:52 GMT\n- request:\n    method: get\n    uri: https://www.googleapis.com/discovery/v1/apis/youtube/v3/rest?key=AIzaSyAYXJjUwwDKVEliqBxQ8AMbk7ocWJ-z4zw\n    body:\n      encoding: UTF-8\n      string: ''\n    headers:\n      User-Agent:\n      - |-\n        /Users/thomas/.rvm/gems/ruby-2.2.2/bin/rspec/1.0.0 google-api-ruby-client/0.8.6 Mac OS X/10.10.3\n         (gzip)\n      Accept-Encoding:\n      - gzip\n      Content-Type:\n      - ''\n      Accept:\n      - \"*/*\"\n  response:\n    status:\n      code: 200\n      message: OK\n    headers:\n      Expires:\n      - Mon, 15 Jun 2015 20:18:02 GMT\n      Date:\n      - Mon, 15 Jun 2015 20:13:02 GMT\n      Etag:\n      - '\"ye6orv2F-1npMW3u9suM3a7C5Bo/xrj0tixOAUjJF__K-i_9CMlHy5Y\"'\n      Vary:\n      - Origin\n      - X-Origin\n      Content-Type:\n      - application/json; charset=UTF-8\n      Content-Encoding:\n      - gzip\n      X-Content-Type-Options:\n      - nosniff\n      X-Frame-Options:\n      - SAMEORIGIN\n      X-Xss-Protection:\n      - 1; mode=block\n      Server:\n      - GSE\n      Content-Length:\n      - '44914'\n      Age:\n      - '50'\n      Cache-Control:\n      - public, max-age=300, must-revalidate, no-transform\n      Alternate-Protocol:\n      - 443:quic,p=1\n    body:\n      encoding: ASCII-8BIT\n      string: !binary |-\n        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\n        brBqYcsnW9ZeNF4B0/h5DfVTm2BNJx3gybPsFhmV7cIsL13N+wGdTmIGojFa\n        rULHIRpZIrtmm+1rOXJvbuKxHbVxqLDVIbNmr4antsdLexXprbLs1NKeTaMy\n        E99fqliw7f3yNlzot+Xl5lFVZmdwHtb2HfXLMWDSbYNthu5SfyjRSFNsJ8ka\n        VNn6p+qP/7XNVLWDwVvyQd18+UwfVo5yyCm9QO0xjTUDyBewKCZVUqdYtC/g\n        tdxRO4Ogmwf3bhVnwbop0zCPEvITtV01VZhhw29yJyCoKpUdBv2CmEsR0GEy\n        zzBtAEdHJeR84ioLWxANBx9aCoIkJactysZOC1nlnDZQ1I6IoTjt0vmBWoem\n        pm1o7BfkO5uTWNNLO1z299EebOunWcoh6yiYvs9uDDxgtvs3/19739bctpWl\n        +55fgfJL7BnqZidOJ1X9YEtOoqp47CPJ3TVzHlIQAYqISYADgJLZp/q/n73W\n        2nds3EmJtHdXz7RFAPu+1/rWnQ3x/xBV0lNKDNmBbqv6T+5xPnxhRaV7Hd7B\n        2qKyKEpmMyjuDSvKwwdqbmyW67Sa5zSAahEp3t80hrQHWhvickuXefCVVU6c\n        t/EMPL3EgGTUuOna5UyHeZmCO21CJnBUb0lrb4JBBzRQ6A9ktc9gD4aAVfS9\n        d4YNlKSb4Plf5STpC+GcL1U8xSad8p4mvC0okT5jcyCP/5B9Tw0bNtLxh3Me\n        Fu/YxGFndeLBOH9agEyaQk6QbLHW7WN0mmAGjONOkZ+dGwoQ4zkeavv5Ov2c\n        Zg+p81v+7Fxm9K480pp8HHLV8Y6Z3uNbsl6J0iy8KLjw+ta5l+73LV1N0e4O\n        RzWZZxnX3HK9LnAudMaJNV9tkmuLGJkOIKocLLsPeOgYaOTXqmtiHG0dbvRV\n        aXWDq/2wGReb73YHyW/AzfduEVvglqxkaBPn0R1QwL1bPQGhwRU1pQYcBFQY\n        OEo8gzFGJb2EISdygKXyoSaqlJjRL1ArRWTaVMKrDeqhajipdXWdr16rXv0u\n        BFNlXSwq1sW3G2HLrsgPPI6Gx85gHC6UCVKzJbkf4iHY/6WZLK5VyNzKwjjF\n        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\n        0ZYwXeZgXibLZMq1s0JTQqpokXpcpOi5vHBSKgrf6kWlkuGKiCRyQ1LEmfrS\n        c7hX8ByJ3FnZItih9c3lBQZ+iWYxUqLkvSrHd+0zVbBpO2gtS9+iiv7DbNAK\n        sfFzMVPomD4aWgc7a4XYcFwmoJJkIGCN9NtQNWyeRuEDlKgYNAUyS9wY4nWA\n        LhU82gX5cZHcg0ELJiZ1Tjx7FRBU1nkhVc7uwRnMrRLKwBcGRHPOXogzTNm+\n        wuFgQF6JEipZ1vn7a7KBQAhnQgyI3HjkwtJGiExbOBIDNjhgzXHTcjQtAYc2\n        DyRlL8MUDsMS4A84C8a57vYrSg2jmYCJJtlDYQ4TrTC69oJNa0qg7w608pSB\n        Ht4hPV+Sa8YUcfLAW2oi0/UxJMh99gQz1tq3l1tqPGG72MvrcKGMZDdz4XiI\n        exBSyIbaT9wUffDcY0bYzhZJ+lm5ZqgNsVcWV2LLCCCpxD4M5t8j2DE/M06d\n        f8SmDS5HHbiseLOOz578vyT6d3/l/wVvt0KyaetNKo6+WUoNCXG8sror8S3w\n        JhX+xoIG6rIDMQhBNsvZUtf2oAuG1azMcdOvYfhMy1/i0cKeoAWlVNwXvID3\n        yMMFDxc8XPg64YK8HMBtBhM8i1XpSjqZuFgnYG7DnWb0sYqPGYcKS7pVdKJ4\n        E0gB3pUd6ytkR0qwed9qoTsAjqbGn3mp/1lChSDt7/tSaFe0YIXmaIXg2fX6\n        lqoGgvFeT/zBH0/jNMzBrkMhw8E5X9PKbLCpq2TlbgcqpUXBDTjcvQ/zz+tV\n        IPLsiV0yXv9nfMsL+OAnN7C4hXrTMcsupw0gyPDjZgIY13kzjCD8uEkHAAwy\n        WsjSWZb2sIrz6nWIr1/9fHQGHlCiarxEZKBGNGw/UmcdF8B2ZT/iC+pKH1qi\n        1yBhLJ68YpchBGwYb6rkMcRQYZPwWfwtyAxyKOvVKsvL4n0cJeGFkh0A3Rhy\n        RYsHppQqavwvW3R3Td6Xn1ZuaeLrQuBu08IACO5xpseZHmd+XThzNw4wOsQ0\n        6wx2cmwh16oqo2crILMEb0fTDqG/w9y/YP4YOOy6qnZhJ07B2R5nGJVL9bTZ\n        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\n        hp3tiG0Jef0IkiWJWRhB3QfHJAQJg6xiKdp27YLPIccxQi3cRht4sujSudQO\n        v9pQg3akTo6iBF6Y6GTFKJbBd4jqOofVU5wU1iHdQtWOX5MUXFIm5oI3t1Td\n        USs7Zc2dGj9cOml7TQHZhQNPSCT4GSZxsSm+qObdQuvHEkchPAwsFPGUko0B\n        EPcypTyKPeizsLWEFAjDRrjSiwa6Q0Qd/9WjRAkk0QpRVp3Ulgk4PStTBO4C\n        gW50PqkF3SZMJdhdh0m37HnSV4b8Qz+ReyE6GoIc92uBU5pni67CmXi9RT6z\n        X+sRXUpf0vErRMUxzPMXFJAr0bCmc18uRRDV2egmWfEGrheGc0/Q02NUb8V5\n        l1Si0pjPQl6bOAWDE2YYYc3gv588I6GOsWBntWVlpIAq3iFlWFQiktSbRkov\n        a9Jb9sHMZjN2VG6SZfx+eGoevZEaRrTKigRc6ijDGH1AcNHE/zRb7iJH2b+n\n        03VO/EWaDJdxWKxzOrtL9lJSxOzeQP6SPFvSYsZ3SZqiEGhJ6FCDIEuTkp0a\n        OugTvtg8lRkOUHK8ktcxXM3DQsFXtVWsnzA9Dt7d40wwsDrhnv0a4NDHSKRb\n        WT8xwz1IDQwrrRjT/ZIsQ0KuQKMVwAIreMmPCsez4IdPMDiEnHdZgR6Lpu8k\n        zQTyinF7PjDlKKOoNRzjxkLnOsvBwaZyFBxucf9t2XWR0f+Kfo+D65iytf9G\n        ZAi4NyqyyW48E9Aj0ovUL0HZHablL9Cd0DOT91jrOLk/Z16hYrDEUYyETr8y\n        ZhTl6x+2IWB6tYtXu3i1i1e7eLWLV7t4tYtXu3i1S2W9H9g5wwy6Q9dcNFBL\n        aOEFgMLTzwTkwSdbiVI9xQzj9IKP4t9en54Fz/+b/efo/fuji4ub+fyX5fKX\n        ojguiuJ/XlRjuTWgCWLbEU7e61l66Vla0rZZapaa5G2Wud2tXemawk0p6Z7E\n        +lyvX3DndJNIYjsp3bwY5MUgLwZ5MciLQV4M8mLQAYtBfTCmhSr3Bhy2JHO1\n        wGFNStdO4LBbYtfO0NCDJw+ePHjy4MmDJw+ePHg6PPC0Gx3ygWWKsT/dO81z\n        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\n        rX4FAA==\n    http_version: \n  recorded_at: Mon, 15 Jun 2015 20:13:52 GMT\n- request:\n    method: get\n    uri: https://www.googleapis.com/youtube/v3/search?key=AIzaSyAYXJjUwwDKVEliqBxQ8AMbk7ocWJ-z4zw&maxResults=20&part=snippet&q=UCPPo4ZnBWwQ75JqiI13VFNw\n    body:\n      encoding: UTF-8\n      string: ''\n    headers:\n      User-Agent:\n      - |-\n        /Users/thomas/.rvm/gems/ruby-2.2.2/bin/rspec/1.0.0 google-api-ruby-client/0.8.6 Mac OS X/10.10.3\n         (gzip)\n      Accept-Encoding:\n      - gzip\n      Content-Type:\n      - ''\n      Accept:\n      - \"*/*\"\n  response:\n    status:\n      code: 200\n      message: OK\n    headers:\n      Expires:\n      - Mon, 15 Jun 2015 20:13:52 GMT\n      Date:\n      - Mon, 15 Jun 2015 20:13:52 GMT\n      Cache-Control:\n      - private, max-age=120, must-revalidate, no-transform\n      Etag:\n      - '\"eYE31WLho912TfxEBDDRSwEQ5Ms/UYCn5k-JEBBTXjoUJ8gmLCFGJJg\"'\n      Vary:\n      - Origin\n      - X-Origin\n      Content-Type:\n      - application/json; charset=UTF-8\n      Content-Encoding:\n      - gzip\n      X-Content-Type-Options:\n      - nosniff\n      X-Frame-Options:\n      - SAMEORIGIN\n      X-Xss-Protection:\n      - 1; mode=block\n      Server:\n      - GSE\n      Alternate-Protocol:\n      - 443:quic,p=1\n      Transfer-Encoding:\n      - chunked\n    body:\n      encoding: ASCII-8BIT\n      string: !binary |-\n        H4sIAAAAAAAAAMWSX2/aMBTF3/MpIu+1kD/AyngDClMymKANpWXdg0luYjeJ\n        HeKb0aniuy8mwPqwSdtTI1mKr3/3nKNrvxomSbmIyMAkP2WF1RY+KKBlyGZc\n        4S2oQgoF5KrGAGmisScCj5OOs54x+clxg/hlMrq5ub3bT5a9ubJWj2PRS1v+\n        ZDQKHp7lyu8n+Ww8/ez7yRM56hQ0AU/EstZ6NUyToESa1U5VhqquOVe6WDb7\n        BZSLGq/Lrm2YB93OEXLNfasx3f+3/I2idjT/NftL+THt98B2WIyp5yfzaOvt\n        7jcP7nrZZK+VeHTK/QfjkFEhIGtIk5y23pFZjRcL2d2I0Xq/vO75O+45nfvp\n        1z3R7KHRVoIXBeBvg6LaZlwxiIa6SFzbvm7ZTst1A6c76HUG3X7btu3N/xme\n        YOSY6cGSO5qbvlRQsPNRBCoseYFcCg1cOliVbwXlmbok1GxM9ZwvFZNUZabb\n        GGKhBpaVsU47kTLJoFJQhlIgCGyHMrdaX9Bx0z7d7QJlDS+f9+Z/aAUzezNd\n        4NwNQqtgEmX7uUhI49XMrbbMIeJV/s4hGE/YO0Uw3gQ5P4PgfMEUqjJSGNNU\n        xee7zPgPGJWSRiFVOG6yaFZIAc2TNI7ru3EwfgHEyr3BJAQAAA==\n    http_version: \n  recorded_at: Mon, 15 Jun 2015 20:13:52 GMT\n- request:\n    method: get\n    uri: https://www.googleapis.com/discovery/v1/apis/youtube/v3/rest?key=AIzaSyAYXJjUwwDKVEliqBxQ8AMbk7ocWJ-z4zw\n    body:\n      encoding: UTF-8\n      string: ''\n    headers:\n      User-Agent:\n      - |-\n        /Users/thomas/.rvm/gems/ruby-2.2.2/bin/rspec/1.0.0 google-api-ruby-client/0.8.6 Mac OS X/10.10.3\n         (gzip)\n      Accept-Encoding:\n      - gzip\n      Content-Type:\n      - ''\n      Accept:\n      - \"*/*\"\n  response:\n    status:\n      code: 200\n      message: OK\n    headers:\n      Expires:\n      - Mon, 15 Jun 2015 20:18:02 GMT\n      Date:\n      - Mon, 15 Jun 2015 20:13:02 GMT\n      Etag:\n      - '\"ye6orv2F-1npMW3u9suM3a7C5Bo/xrj0tixOAUjJF__K-i_9CMlHy5Y\"'\n      Vary:\n      - Origin\n      - X-Origin\n      Content-Type:\n      - application/json; charset=UTF-8\n      Content-Encoding:\n      - gzip\n      X-Content-Type-Options:\n      - nosniff\n      X-Frame-Options:\n      - SAMEORIGIN\n      X-Xss-Protection:\n      - 1; mode=block\n      Server:\n      - GSE\n      Content-Length:\n      - '44914'\n      Age:\n      - '51'\n      Cache-Control:\n      - public, max-age=300, must-revalidate, no-transform\n      Alternate-Protocol:\n      - 443:quic,p=1\n    body:\n      encoding: ASCII-8BIT\n      string: !binary |-\n        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\n        brBqYcsnW9ZeNF4B0/h5DfVTm2BNJx3gybPsFhmV7cIsL13N+wGdTmIGojFa\n        rULHIRpZIrtmm+1rOXJvbuKxHbVxqLDVIbNmr4antsdLexXprbLs1NKeTaMy\n        E99fqliw7f3yNlzot+Xl5lFVZmdwHtb2HfXLMWDSbYNthu5SfyjRSFNsJ8ka\n        VNn6p+qP/7XNVLWDwVvyQd18+UwfVo5yyCm9QO0xjTUDyBewKCZVUqdYtC/g\n        tdxRO4Ogmwf3bhVnwbop0zCPEvITtV01VZhhw29yJyCoKpUdBv2CmEsR0GEy\n        zzBtAEdHJeR84ioLWxANBx9aCoIkJactysZOC1nlnDZQ1I6IoTjt0vmBWoem\n        pm1o7BfkO5uTWNNLO1z299EebOunWcoh6yiYvs9uDDxgtvs3/19739bctpWl\n        +55fgfJL7BnqZidOJ1X9YEtOoqp47CPJ3TVzHlIQAYqISYADgJLZp/q/n73W\n        2nds3EmJtHdXz7RFAPu+1/rWnQ3x/xBV0lNKDNmBbqv6T+5xPnxhRaV7Hd7B\n        2qKyKEpmMyjuDSvKwwdqbmyW67Sa5zSAahEp3t80hrQHWhvickuXefCVVU6c\n        t/EMPL3EgGTUuOna5UyHeZmCO21CJnBUb0lrb4JBBzRQ6A9ktc9gD4aAVfS9\n        d4YNlKSb4Plf5STpC+GcL1U8xSad8p4mvC0okT5jcyCP/5B9Tw0bNtLxh3Me\n        Fu/YxGFndeLBOH9agEyaQk6QbLHW7WN0mmAGjONOkZ+dGwoQ4zkeavv5Ov2c\n        Zg+p81v+7Fxm9K480pp8HHLV8Y6Z3uNbsl6J0iy8KLjw+ta5l+73LV1N0e4O\n        RzWZZxnX3HK9LnAudMaJNV9tkmuLGJkOIKocLLsPeOgYaOTXqmtiHG0dbvRV\n        aXWDq/2wGReb73YHyW/AzfduEVvglqxkaBPn0R1QwL1bPQGhwRU1pQYcBFQY\n        OEo8gzFGJb2EISdygKXyoSaqlJjRL1ArRWTaVMKrDeqhajipdXWdr16rXv0u\n        BFNlXSwq1sW3G2HLrsgPPI6Gx85gHC6UCVKzJbkf4iHY/6WZLK5VyNzKwjjF\n        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\n        0ZYwXeZgXibLZMq1s0JTQqpokXpcpOi5vHBSKgrf6kWlkuGKiCRyQ1LEmfrS\n        c7hX8ByJ3FnZItih9c3lBQZ+iWYxUqLkvSrHd+0zVbBpO2gtS9+iiv7DbNAK\n        sfFzMVPomD4aWgc7a4XYcFwmoJJkIGCN9NtQNWyeRuEDlKgYNAUyS9wY4nWA\n        LhU82gX5cZHcg0ELJiZ1Tjx7FRBU1nkhVc7uwRnMrRLKwBcGRHPOXogzTNm+\n        wuFgQF6JEipZ1vn7a7KBQAhnQgyI3HjkwtJGiExbOBIDNjhgzXHTcjQtAYc2\n        DyRlL8MUDsMS4A84C8a57vYrSg2jmYCJJtlDYQ4TrTC69oJNa0qg7w608pSB\n        Ht4hPV+Sa8YUcfLAW2oi0/UxJMh99gQz1tq3l1tqPGG72MvrcKGMZDdz4XiI\n        exBSyIbaT9wUffDcY0bYzhZJ+lm5ZqgNsVcWV2LLCCCpxD4M5t8j2DE/M06d\n        f8SmDS5HHbiseLOOz578vyT6d3/l/wVvt0KyaetNKo6+WUoNCXG8sror8S3w\n        JhX+xoIG6rIDMQhBNsvZUtf2oAuG1azMcdOvYfhMy1/i0cKeoAWlVNwXvID3\n        yMMFDxc8XPg64YK8HMBtBhM8i1XpSjqZuFgnYG7DnWb0sYqPGYcKS7pVdKJ4\n        E0gB3pUd6ytkR0qwed9qoTsAjqbGn3mp/1lChSDt7/tSaFe0YIXmaIXg2fX6\n        lqoGgvFeT/zBH0/jNMzBrkMhw8E5X9PKbLCpq2TlbgcqpUXBDTjcvQ/zz+tV\n        IPLsiV0yXv9nfMsL+OAnN7C4hXrTMcsupw0gyPDjZgIY13kzjCD8uEkHAAwy\n        WsjSWZb2sIrz6nWIr1/9fHQGHlCiarxEZKBGNGw/UmcdF8B2ZT/iC+pKH1qi\n        1yBhLJ68YpchBGwYb6rkMcRQYZPwWfwtyAxyKOvVKsvL4n0cJeGFkh0A3Rhy\n        RYsHppQqavwvW3R3Td6Xn1ZuaeLrQuBu08IACO5xpseZHmd+XThzNw4wOsQ0\n        6wx2cmwh16oqo2crILMEb0fTDqG/w9y/YP4YOOy6qnZhJ07B2R5nGJVL9bTZ\n        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\n        hp3tiG0Jef0IkiWJWRhB3QfHJAQJg6xiKdp27YLPIccxQi3cRht4sujSudQO\n        v9pQg3akTo6iBF6Y6GTFKJbBd4jqOofVU5wU1iHdQtWOX5MUXFIm5oI3t1Td\n        USs7Zc2dGj9cOml7TQHZhQNPSCT4GSZxsSm+qObdQuvHEkchPAwsFPGUko0B\n        EPcypTyKPeizsLWEFAjDRrjSiwa6Q0Qd/9WjRAkk0QpRVp3Ulgk4PStTBO4C\n        gW50PqkF3SZMJdhdh0m37HnSV4b8Qz+ReyE6GoIc92uBU5pni67CmXi9RT6z\n        X+sRXUpf0vErRMUxzPMXFJAr0bCmc18uRRDV2egmWfEGrheGc0/Q02NUb8V5\n        l1Si0pjPQl6bOAWDE2YYYc3gv588I6GOsWBntWVlpIAq3iFlWFQiktSbRkov\n        a9Jb9sHMZjN2VG6SZfx+eGoevZEaRrTKigRc6ijDGH1AcNHE/zRb7iJH2b+n\n        03VO/EWaDJdxWKxzOrtL9lJSxOzeQP6SPFvSYsZ3SZqiEGhJ6FCDIEuTkp0a\n        OugTvtg8lRkOUHK8ktcxXM3DQsFXtVWsnzA9Dt7d40wwsDrhnv0a4NDHSKRb\n        WT8xwz1IDQwrrRjT/ZIsQ0KuQKMVwAIreMmPCsez4IdPMDiEnHdZgR6Lpu8k\n        zQTyinF7PjDlKKOoNRzjxkLnOsvBwaZyFBxucf9t2XWR0f+Kfo+D65iytf9G\n        ZAi4NyqyyW48E9Aj0ovUL0HZHablL9Cd0DOT91jrOLk/Z16hYrDEUYyETr8y\n        ZhTl6x+2IWB6tYtXu3i1i1e7eLWLV7t4tYtXu3i1S2W9H9g5wwy6Q9dcNFBL\n        aOEFgMLTzwTkwSdbiVI9xQzj9IKP4t9en54Fz/+b/efo/fuji4ub+fyX5fKX\n        ojguiuJ/XlRjuTWgCWLbEU7e61l66Vla0rZZapaa5G2Wud2tXemawk0p6Z7E\n        +lyvX3DndJNIYjsp3bwY5MUgLwZ5MciLQV4M8mLQAYtBfTCmhSr3Bhy2JHO1\n        wGFNStdO4LBbYtfO0NCDJw+ePHjy4MmDJw+ePHg6PPC0Gx3ygWWKsT/dO81z\n        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\n        rX4FAA==\n    http_version: \n  recorded_at: Mon, 15 Jun 2015 20:13:53 GMT\n- request:\n    method: get\n    uri: https://www.googleapis.com/youtube/v3/search?key=AIzaSyAYXJjUwwDKVEliqBxQ8AMbk7ocWJ-z4zw&maxResults=20&part=snippet&q=UCPPo4ZnBWwQ75JqiI13VFNw\n    body:\n      encoding: UTF-8\n      string: ''\n    headers:\n      User-Agent:\n      - |-\n        /Users/thomas/.rvm/gems/ruby-2.2.2/bin/rspec/1.0.0 google-api-ruby-client/0.8.6 Mac OS X/10.10.3\n         (gzip)\n      Accept-Encoding:\n      - gzip\n      Content-Type:\n      - ''\n      Accept:\n      - \"*/*\"\n  response:\n    status:\n      code: 200\n      message: OK\n    headers:\n      Expires:\n      - Mon, 15 Jun 2015 20:13:53 GMT\n      Date:\n      - Mon, 15 Jun 2015 20:13:53 GMT\n      Cache-Control:\n      - private, max-age=120, must-revalidate, no-transform\n      Etag:\n      - '\"eYE31WLho912TfxEBDDRSwEQ5Ms/UYCn5k-JEBBTXjoUJ8gmLCFGJJg\"'\n      Vary:\n      - Origin\n      - X-Origin\n      Content-Type:\n      - application/json; charset=UTF-8\n      Content-Encoding:\n      - gzip\n      X-Content-Type-Options:\n      - nosniff\n      X-Frame-Options:\n      - SAMEORIGIN\n      X-Xss-Protection:\n      - 1; mode=block\n      Server:\n      - GSE\n      Alternate-Protocol:\n      - 443:quic,p=1\n      Transfer-Encoding:\n      - chunked\n    body:\n      encoding: ASCII-8BIT\n      string: !binary |-\n        H4sIAAAAAAAAAMWSX2/aMBTF3/MpIu+1kD/AyngDClMymKANpWXdg0luYjeJ\n        HeKb0aniuy8mwPqwSdtTI1mKr3/3nKNrvxomSbmIyMAkP2WF1RY+KKBlyGZc\n        4S2oQgoF5KrGAGmisScCj5OOs54x+clxg/hlMrq5ub3bT5a9ubJWj2PRS1v+\n        ZDQKHp7lyu8n+Ww8/ez7yRM56hQ0AU/EstZ6NUyToESa1U5VhqquOVe6WDb7\n        BZSLGq/Lrm2YB93OEXLNfasx3f+3/I2idjT/NftL+THt98B2WIyp5yfzaOvt\n        7jcP7nrZZK+VeHTK/QfjkFEhIGtIk5y23pFZjRcL2d2I0Xq/vO75O+45nfvp\n        1z3R7KHRVoIXBeBvg6LaZlwxiIa6SFzbvm7ZTst1A6c76HUG3X7btu3N/xme\n        YOSY6cGSO5qbvlRQsPNRBCoseYFcCg1cOliVbwXlmbok1GxM9ZwvFZNUZabb\n        GGKhBpaVsU47kTLJoFJQhlIgCGyHMrdaX9Bx0z7d7QJlDS+f9+Z/aAUzezNd\n        4NwNQqtgEmX7uUhI49XMrbbMIeJV/s4hGE/YO0Uw3gQ5P4PgfMEUqjJSGNNU\n        xee7zPgPGJWSRiFVOG6yaFZIAc2TNI7ru3EwfgHEyr3BJAQAAA==\n    http_version: \n  recorded_at: Mon, 15 Jun 2015 20:13:53 GMT\n- request:\n    method: get\n    uri: https://www.googleapis.com/discovery/v1/apis/youtube/v3/rest?key=AIzaSyAYXJjUwwDKVEliqBxQ8AMbk7ocWJ-z4zw\n    body:\n      encoding: UTF-8\n      string: ''\n    headers:\n      User-Agent:\n      - |-\n        /Users/thomas/.rvm/gems/ruby-2.2.2/bin/rspec/1.0.0 google-api-ruby-client/0.8.6 Mac OS X/10.10.3\n         (gzip)\n      Accept-Encoding:\n      - gzip\n      Content-Type:\n      - ''\n      Accept:\n      - \"*/*\"\n  response:\n    status:\n      code: 200\n      message: OK\n    headers:\n      Expires:\n      - Mon, 15 Jun 2015 20:18:02 GMT\n      Date:\n      - Mon, 15 Jun 2015 20:13:02 GMT\n      Etag:\n      - '\"ye6orv2F-1npMW3u9suM3a7C5Bo/xrj0tixOAUjJF__K-i_9CMlHy5Y\"'\n      Vary:\n      - Origin\n      - X-Origin\n      Content-Type:\n      - application/json; charset=UTF-8\n      Content-Encoding:\n      - gzip\n      X-Content-Type-Options:\n      - nosniff\n      X-Frame-Options:\n      - SAMEORIGIN\n      X-Xss-Protection:\n      - 1; mode=block\n      Server:\n      - GSE\n      Content-Length:\n      - '44914'\n      Age:\n      - '51'\n      Cache-Control:\n      - public, max-age=300, must-revalidate, no-transform\n      Alternate-Protocol:\n      - 443:quic,p=1\n    body:\n      encoding: ASCII-8BIT\n      string: !binary |-\n        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\n        brBqYcsnW9ZeNF4B0/h5DfVTm2BNJx3gybPsFhmV7cIsL13N+wGdTmIGojFa\n        rULHIRpZIrtmm+1rOXJvbuKxHbVxqLDVIbNmr4antsdLexXprbLs1NKeTaMy\n        E99fqliw7f3yNlzot+Xl5lFVZmdwHtb2HfXLMWDSbYNthu5SfyjRSFNsJ8ka\n        VNn6p+qP/7XNVLWDwVvyQd18+UwfVo5yyCm9QO0xjTUDyBewKCZVUqdYtC/g\n        tdxRO4Ogmwf3bhVnwbop0zCPEvITtV01VZhhw29yJyCoKpUdBv2CmEsR0GEy\n        zzBtAEdHJeR84ioLWxANBx9aCoIkJactysZOC1nlnDZQ1I6IoTjt0vmBWoem\n        pm1o7BfkO5uTWNNLO1z299EebOunWcoh6yiYvs9uDDxgtvs3/19739bctpWl\n        +55fgfJL7BnqZidOJ1X9YEtOoqp47CPJ3TVzHlIQAYqISYADgJLZp/q/n73W\n        2nds3EmJtHdXz7RFAPu+1/rWnQ3x/xBV0lNKDNmBbqv6T+5xPnxhRaV7Hd7B\n        2qKyKEpmMyjuDSvKwwdqbmyW67Sa5zSAahEp3t80hrQHWhvickuXefCVVU6c\n        t/EMPL3EgGTUuOna5UyHeZmCO21CJnBUb0lrb4JBBzRQ6A9ktc9gD4aAVfS9\n        d4YNlKSb4Plf5STpC+GcL1U8xSad8p4mvC0okT5jcyCP/5B9Tw0bNtLxh3Me\n        Fu/YxGFndeLBOH9agEyaQk6QbLHW7WN0mmAGjONOkZ+dGwoQ4zkeavv5Ov2c\n        Zg+p81v+7Fxm9K480pp8HHLV8Y6Z3uNbsl6J0iy8KLjw+ta5l+73LV1N0e4O\n        RzWZZxnX3HK9LnAudMaJNV9tkmuLGJkOIKocLLsPeOgYaOTXqmtiHG0dbvRV\n        aXWDq/2wGReb73YHyW/AzfduEVvglqxkaBPn0R1QwL1bPQGhwRU1pQYcBFQY\n        OEo8gzFGJb2EISdygKXyoSaqlJjRL1ArRWTaVMKrDeqhajipdXWdr16rXv0u\n        BFNlXSwq1sW3G2HLrsgPPI6Gx85gHC6UCVKzJbkf4iHY/6WZLK5VyNzKwjjF\n        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\n        0ZYwXeZgXibLZMq1s0JTQqpokXpcpOi5vHBSKgrf6kWlkuGKiCRyQ1LEmfrS\n        c7hX8ByJ3FnZItih9c3lBQZ+iWYxUqLkvSrHd+0zVbBpO2gtS9+iiv7DbNAK\n        sfFzMVPomD4aWgc7a4XYcFwmoJJkIGCN9NtQNWyeRuEDlKgYNAUyS9wY4nWA\n        LhU82gX5cZHcg0ELJiZ1Tjx7FRBU1nkhVc7uwRnMrRLKwBcGRHPOXogzTNm+\n        wuFgQF6JEipZ1vn7a7KBQAhnQgyI3HjkwtJGiExbOBIDNjhgzXHTcjQtAYc2\n        DyRlL8MUDsMS4A84C8a57vYrSg2jmYCJJtlDYQ4TrTC69oJNa0qg7w608pSB\n        Ht4hPV+Sa8YUcfLAW2oi0/UxJMh99gQz1tq3l1tqPGG72MvrcKGMZDdz4XiI\n        exBSyIbaT9wUffDcY0bYzhZJ+lm5ZqgNsVcWV2LLCCCpxD4M5t8j2DE/M06d\n        f8SmDS5HHbiseLOOz578vyT6d3/l/wVvt0KyaetNKo6+WUoNCXG8sror8S3w\n        JhX+xoIG6rIDMQhBNsvZUtf2oAuG1azMcdOvYfhMy1/i0cKeoAWlVNwXvID3\n        yMMFDxc8XPg64YK8HMBtBhM8i1XpSjqZuFgnYG7DnWb0sYqPGYcKS7pVdKJ4\n        E0gB3pUd6ytkR0qwed9qoTsAjqbGn3mp/1lChSDt7/tSaFe0YIXmaIXg2fX6\n        lqoGgvFeT/zBH0/jNMzBrkMhw8E5X9PKbLCpq2TlbgcqpUXBDTjcvQ/zz+tV\n        IPLsiV0yXv9nfMsL+OAnN7C4hXrTMcsupw0gyPDjZgIY13kzjCD8uEkHAAwy\n        WsjSWZb2sIrz6nWIr1/9fHQGHlCiarxEZKBGNGw/UmcdF8B2ZT/iC+pKH1qi\n        1yBhLJ68YpchBGwYb6rkMcRQYZPwWfwtyAxyKOvVKsvL4n0cJeGFkh0A3Rhy\n        RYsHppQqavwvW3R3Td6Xn1ZuaeLrQuBu08IACO5xpseZHmd+XThzNw4wOsQ0\n        6wx2cmwh16oqo2crILMEb0fTDqG/w9y/YP4YOOy6qnZhJ07B2R5nGJVL9bTZ\n        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\n        hp3tiG0Jef0IkiWJWRhB3QfHJAQJg6xiKdp27YLPIccxQi3cRht4sujSudQO\n        v9pQg3akTo6iBF6Y6GTFKJbBd4jqOofVU5wU1iHdQtWOX5MUXFIm5oI3t1Td\n        USs7Zc2dGj9cOml7TQHZhQNPSCT4GSZxsSm+qObdQuvHEkchPAwsFPGUko0B\n        EPcypTyKPeizsLWEFAjDRrjSiwa6Q0Qd/9WjRAkk0QpRVp3Ulgk4PStTBO4C\n        gW50PqkF3SZMJdhdh0m37HnSV4b8Qz+ReyE6GoIc92uBU5pni67CmXi9RT6z\n        X+sRXUpf0vErRMUxzPMXFJAr0bCmc18uRRDV2egmWfEGrheGc0/Q02NUb8V5\n        l1Si0pjPQl6bOAWDE2YYYc3gv588I6GOsWBntWVlpIAq3iFlWFQiktSbRkov\n        a9Jb9sHMZjN2VG6SZfx+eGoevZEaRrTKigRc6ijDGH1AcNHE/zRb7iJH2b+n\n        03VO/EWaDJdxWKxzOrtL9lJSxOzeQP6SPFvSYsZ3SZqiEGhJ6FCDIEuTkp0a\n        OugTvtg8lRkOUHK8ktcxXM3DQsFXtVWsnzA9Dt7d40wwsDrhnv0a4NDHSKRb\n        WT8xwz1IDQwrrRjT/ZIsQ0KuQKMVwAIreMmPCsez4IdPMDiEnHdZgR6Lpu8k\n        zQTyinF7PjDlKKOoNRzjxkLnOsvBwaZyFBxucf9t2XWR0f+Kfo+D65iytf9G\n        ZAi4NyqyyW48E9Aj0ovUL0HZHablL9Cd0DOT91jrOLk/Z16hYrDEUYyETr8y\n        ZhTl6x+2IWB6tYtXu3i1i1e7eLWLV7t4tYtXu3i1S2W9H9g5wwy6Q9dcNFBL\n        aOEFgMLTzwTkwSdbiVI9xQzj9IKP4t9en54Fz/+b/efo/fuji4ub+fyX5fKX\n        ojguiuJ/XlRjuTWgCWLbEU7e61l66Vla0rZZapaa5G2Wud2tXemawk0p6Z7E\n        +lyvX3DndJNIYjsp3bwY5MUgLwZ5MciLQV4M8mLQAYtBfTCmhSr3Bhy2JHO1\n        wGFNStdO4LBbYtfO0NCDJw+ePHjy4MmDJw+ePHg6PPC0Gx3ygWWKsT/dO81z\n        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\n        rX4FAA==\n    http_version: \n  recorded_at: Mon, 15 Jun 2015 20:13:53 GMT\n- request:\n    method: get\n    uri: https://www.googleapis.com/youtube/v3/search?key=AIzaSyAYXJjUwwDKVEliqBxQ8AMbk7ocWJ-z4zw&maxResults=20&part=snippet&q=UCPPo4ZnBWwQ75JqiI13VFNw\n    body:\n      encoding: UTF-8\n      string: ''\n    headers:\n      User-Agent:\n      - |-\n        /Users/thomas/.rvm/gems/ruby-2.2.2/bin/rspec/1.0.0 google-api-ruby-client/0.8.6 Mac OS X/10.10.3\n         (gzip)\n      Accept-Encoding:\n      - gzip\n      Content-Type:\n      - ''\n      Accept:\n      - \"*/*\"\n  response:\n    status:\n      code: 200\n      message: OK\n    headers:\n      Expires:\n      - Mon, 15 Jun 2015 20:13:54 GMT\n      Date:\n      - Mon, 15 Jun 2015 20:13:54 GMT\n      Cache-Control:\n      - private, max-age=120, must-revalidate, no-transform\n      Etag:\n      - '\"eYE31WLho912TfxEBDDRSwEQ5Ms/UYCn5k-JEBBTXjoUJ8gmLCFGJJg\"'\n      Vary:\n      - Origin\n      - X-Origin\n      Content-Type:\n      - application/json; charset=UTF-8\n      Content-Encoding:\n      - gzip\n      X-Content-Type-Options:\n      - nosniff\n      X-Frame-Options:\n      - SAMEORIGIN\n      X-Xss-Protection:\n      - 1; mode=block\n      Server:\n      - GSE\n      Alternate-Protocol:\n      - 443:quic,p=1\n      Transfer-Encoding:\n      - chunked\n    body:\n      encoding: ASCII-8BIT\n      string: !binary |-\n        H4sIAAAAAAAAAMWSX2/aMBTF3/MpIu+1kD/AyngDClMymKANpWXdg0luYjeJ\n        HeKb0aniuy8mwPqwSdtTI1mKr3/3nKNrvxomSbmIyMAkP2WF1RY+KKBlyGZc\n        4S2oQgoF5KrGAGmisScCj5OOs54x+clxg/hlMrq5ub3bT5a9ubJWj2PRS1v+\n        ZDQKHp7lyu8n+Ww8/ez7yRM56hQ0AU/EstZ6NUyToESa1U5VhqquOVe6WDb7\n        BZSLGq/Lrm2YB93OEXLNfasx3f+3/I2idjT/NftL+THt98B2WIyp5yfzaOvt\n        7jcP7nrZZK+VeHTK/QfjkFEhIGtIk5y23pFZjRcL2d2I0Xq/vO75O+45nfvp\n        1z3R7KHRVoIXBeBvg6LaZlwxiIa6SFzbvm7ZTst1A6c76HUG3X7btu3N/xme\n        YOSY6cGSO5qbvlRQsPNRBCoseYFcCg1cOliVbwXlmbok1GxM9ZwvFZNUZabb\n        GGKhBpaVsU47kTLJoFJQhlIgCGyHMrdaX9Bx0z7d7QJlDS+f9+Z/aAUzezNd\n        4NwNQqtgEmX7uUhI49XMrbbMIeJV/s4hGE/YO0Uw3gQ5P4PgfMEUqjJSGNNU\n        xee7zPgPGJWSRiFVOG6yaFZIAc2TNI7ru3EwfgHEyr3BJAQAAA==\n    http_version: \n  recorded_at: Mon, 15 Jun 2015 20:13:54 GMT\n- request:\n    method: get\n    uri: https://www.googleapis.com/discovery/v1/apis/youtube/v3/rest?key=AIzaSyAYXJjUwwDKVEliqBxQ8AMbk7ocWJ-z4zw\n    body:\n      encoding: UTF-8\n      string: ''\n    headers:\n      User-Agent:\n      - |-\n        /Users/thomas/.rvm/gems/ruby-2.2.2/bin/rspec/1.0.0 google-api-ruby-client/0.8.6 Mac OS X/10.10.3\n         (gzip)\n      Accept-Encoding:\n      - gzip\n      Content-Type:\n      - ''\n      Accept:\n      - \"*/*\"\n  response:\n    status:\n      code: 200\n      message: OK\n    headers:\n      Expires:\n      - Mon, 15 Jun 2015 20:18:02 GMT\n      Date:\n      - Mon, 15 Jun 2015 20:13:02 GMT\n      Etag:\n      - '\"ye6orv2F-1npMW3u9suM3a7C5Bo/xrj0tixOAUjJF__K-i_9CMlHy5Y\"'\n      Vary:\n      - Origin\n      - X-Origin\n      Content-Type:\n      - application/json; charset=UTF-8\n      Content-Encoding:\n      - gzip\n      X-Content-Type-Options:\n      - nosniff\n      X-Frame-Options:\n      - SAMEORIGIN\n      X-Xss-Protection:\n      - 1; mode=block\n      Server:\n      - GSE\n      Content-Length:\n      - '44914'\n      Age:\n      - '52'\n      Cache-Control:\n      - public, max-age=300, must-revalidate, no-transform\n      Alternate-Protocol:\n      - 443:quic,p=1\n    body:\n      encoding: ASCII-8BIT\n      string: !binary |-\n        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\n        brBqYcsnW9ZeNF4B0/h5DfVTm2BNJx3gybPsFhmV7cIsL13N+wGdTmIGojFa\n        rULHIRpZIrtmm+1rOXJvbuKxHbVxqLDVIbNmr4antsdLexXprbLs1NKeTaMy\n        E99fqliw7f3yNlzot+Xl5lFVZmdwHtb2HfXLMWDSbYNthu5SfyjRSFNsJ8ka\n        VNn6p+qP/7XNVLWDwVvyQd18+UwfVo5yyCm9QO0xjTUDyBewKCZVUqdYtC/g\n        tdxRO4Ogmwf3bhVnwbop0zCPEvITtV01VZhhw29yJyCoKpUdBv2CmEsR0GEy\n        zzBtAEdHJeR84ioLWxANBx9aCoIkJactysZOC1nlnDZQ1I6IoTjt0vmBWoem\n        pm1o7BfkO5uTWNNLO1z299EebOunWcoh6yiYvs9uDDxgtvs3/19739bctpWl\n        +55fgfJL7BnqZidOJ1X9YEtOoqp47CPJ3TVzHlIQAYqISYADgJLZp/q/n73W\n        2nds3EmJtHdXz7RFAPu+1/rWnQ3x/xBV0lNKDNmBbqv6T+5xPnxhRaV7Hd7B\n        2qKyKEpmMyjuDSvKwwdqbmyW67Sa5zSAahEp3t80hrQHWhvickuXefCVVU6c\n        t/EMPL3EgGTUuOna5UyHeZmCO21CJnBUb0lrb4JBBzRQ6A9ktc9gD4aAVfS9\n        d4YNlKSb4Plf5STpC+GcL1U8xSad8p4mvC0okT5jcyCP/5B9Tw0bNtLxh3Me\n        Fu/YxGFndeLBOH9agEyaQk6QbLHW7WN0mmAGjONOkZ+dGwoQ4zkeavv5Ov2c\n        Zg+p81v+7Fxm9K480pp8HHLV8Y6Z3uNbsl6J0iy8KLjw+ta5l+73LV1N0e4O\n        RzWZZxnX3HK9LnAudMaJNV9tkmuLGJkOIKocLLsPeOgYaOTXqmtiHG0dbvRV\n        aXWDq/2wGReb73YHyW/AzfduEVvglqxkaBPn0R1QwL1bPQGhwRU1pQYcBFQY\n        OEo8gzFGJb2EISdygKXyoSaqlJjRL1ArRWTaVMKrDeqhajipdXWdr16rXv0u\n        BFNlXSwq1sW3G2HLrsgPPI6Gx85gHC6UCVKzJbkf4iHY/6WZLK5VyNzKwjjF\n        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\n        0ZYwXeZgXibLZMq1s0JTQqpokXpcpOi5vHBSKgrf6kWlkuGKiCRyQ1LEmfrS\n        c7hX8ByJ3FnZItih9c3lBQZ+iWYxUqLkvSrHd+0zVbBpO2gtS9+iiv7DbNAK\n        sfFzMVPomD4aWgc7a4XYcFwmoJJkIGCN9NtQNWyeRuEDlKgYNAUyS9wY4nWA\n        LhU82gX5cZHcg0ELJiZ1Tjx7FRBU1nkhVc7uwRnMrRLKwBcGRHPOXogzTNm+\n        wuFgQF6JEipZ1vn7a7KBQAhnQgyI3HjkwtJGiExbOBIDNjhgzXHTcjQtAYc2\n        DyRlL8MUDsMS4A84C8a57vYrSg2jmYCJJtlDYQ4TrTC69oJNa0qg7w608pSB\n        Ht4hPV+Sa8YUcfLAW2oi0/UxJMh99gQz1tq3l1tqPGG72MvrcKGMZDdz4XiI\n        exBSyIbaT9wUffDcY0bYzhZJ+lm5ZqgNsVcWV2LLCCCpxD4M5t8j2DE/M06d\n        f8SmDS5HHbiseLOOz578vyT6d3/l/wVvt0KyaetNKo6+WUoNCXG8sror8S3w\n        JhX+xoIG6rIDMQhBNsvZUtf2oAuG1azMcdOvYfhMy1/i0cKeoAWlVNwXvID3\n        yMMFDxc8XPg64YK8HMBtBhM8i1XpSjqZuFgnYG7DnWb0sYqPGYcKS7pVdKJ4\n        E0gB3pUd6ytkR0qwed9qoTsAjqbGn3mp/1lChSDt7/tSaFe0YIXmaIXg2fX6\n        lqoGgvFeT/zBH0/jNMzBrkMhw8E5X9PKbLCpq2TlbgcqpUXBDTjcvQ/zz+tV\n        IPLsiV0yXv9nfMsL+OAnN7C4hXrTMcsupw0gyPDjZgIY13kzjCD8uEkHAAwy\n        WsjSWZb2sIrz6nWIr1/9fHQGHlCiarxEZKBGNGw/UmcdF8B2ZT/iC+pKH1qi\n        1yBhLJ68YpchBGwYb6rkMcRQYZPwWfwtyAxyKOvVKsvL4n0cJeGFkh0A3Rhy\n        RYsHppQqavwvW3R3Td6Xn1ZuaeLrQuBu08IACO5xpseZHmd+XThzNw4wOsQ0\n        6wx2cmwh16oqo2crILMEb0fTDqG/w9y/YP4YOOy6qnZhJ07B2R5nGJVL9bTZ\n        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\n        hp3tiG0Jef0IkiWJWRhB3QfHJAQJg6xiKdp27YLPIccxQi3cRht4sujSudQO\n        v9pQg3akTo6iBF6Y6GTFKJbBd4jqOofVU5wU1iHdQtWOX5MUXFIm5oI3t1Td\n        USs7Zc2dGj9cOml7TQHZhQNPSCT4GSZxsSm+qObdQuvHEkchPAwsFPGUko0B\n        EPcypTyKPeizsLWEFAjDRrjSiwa6Q0Qd/9WjRAkk0QpRVp3Ulgk4PStTBO4C\n        gW50PqkF3SZMJdhdh0m37HnSV4b8Qz+ReyE6GoIc92uBU5pni67CmXi9RT6z\n        X+sRXUpf0vErRMUxzPMXFJAr0bCmc18uRRDV2egmWfEGrheGc0/Q02NUb8V5\n        l1Si0pjPQl6bOAWDE2YYYc3gv588I6GOsWBntWVlpIAq3iFlWFQiktSbRkov\n        a9Jb9sHMZjN2VG6SZfx+eGoevZEaRrTKigRc6ijDGH1AcNHE/zRb7iJH2b+n\n        03VO/EWaDJdxWKxzOrtL9lJSxOzeQP6SPFvSYsZ3SZqiEGhJ6FCDIEuTkp0a\n        OugTvtg8lRkOUHK8ktcxXM3DQsFXtVWsnzA9Dt7d40wwsDrhnv0a4NDHSKRb\n        WT8xwz1IDQwrrRjT/ZIsQ0KuQKMVwAIreMmPCsez4IdPMDiEnHdZgR6Lpu8k\n        zQTyinF7PjDlKKOoNRzjxkLnOsvBwaZyFBxucf9t2XWR0f+Kfo+D65iytf9G\n        ZAi4NyqyyW48E9Aj0ovUL0HZHablL9Cd0DOT91jrOLk/Z16hYrDEUYyETr8y\n        ZhTl6x+2IWB6tYtXu3i1i1e7eLWLV7t4tYtXu3i1S2W9H9g5wwy6Q9dcNFBL\n        aOEFgMLTzwTkwSdbiVI9xQzj9IKP4t9en54Fz/+b/efo/fuji4ub+fyX5fKX\n        ojguiuJ/XlRjuTWgCWLbEU7e61l66Vla0rZZapaa5G2Wud2tXemawk0p6Z7E\n        +lyvX3DndJNIYjsp3bwY5MUgLwZ5MciLQV4M8mLQAYtBfTCmhSr3Bhy2JHO1\n        wGFNStdO4LBbYtfO0NCDJw+ePHjy4MmDJw+ePHg6PPC0Gx3ygWWKsT/dO81z\n        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\n        rX4FAA==\n    http_version: \n  recorded_at: Mon, 15 Jun 2015 20:13:54 GMT\n- request:\n    method: get\n    uri: https://www.googleapis.com/youtube/v3/search?key=AIzaSyAYXJjUwwDKVEliqBxQ8AMbk7ocWJ-z4zw&maxResults=20&part=snippet&q=UCPPo4ZnBWwQ75JqiI13VFNw\n    body:\n      encoding: UTF-8\n      string: ''\n    headers:\n      User-Agent:\n      - |-\n        /Users/thomas/.rvm/gems/ruby-2.2.2/bin/rspec/1.0.0 google-api-ruby-client/0.8.6 Mac OS X/10.10.3\n         (gzip)\n      Accept-Encoding:\n      - gzip\n      Content-Type:\n      - ''\n      Accept:\n      - \"*/*\"\n  response:\n    status:\n      code: 200\n      message: OK\n    headers:\n      Expires:\n      - Mon, 15 Jun 2015 20:13:54 GMT\n      Date:\n      - Mon, 15 Jun 2015 20:13:54 GMT\n      Cache-Control:\n      - private, max-age=120, must-revalidate, no-transform\n      Etag:\n      - '\"eYE31WLho912TfxEBDDRSwEQ5Ms/UYCn5k-JEBBTXjoUJ8gmLCFGJJg\"'\n      Vary:\n      - Origin\n      - X-Origin\n      Content-Type:\n      - application/json; charset=UTF-8\n      Content-Encoding:\n      - gzip\n      X-Content-Type-Options:\n      - nosniff\n      X-Frame-Options:\n      - SAMEORIGIN\n      X-Xss-Protection:\n      - 1; mode=block\n      Server:\n      - GSE\n      Alternate-Protocol:\n      - 443:quic,p=1\n      Transfer-Encoding:\n      - chunked\n    body:\n      encoding: ASCII-8BIT\n      string: !binary |-\n        H4sIAAAAAAAAAMWSX2/aMBTF3/MpIu+1kD/AyngDClMymKANpWXdg0luYjeJ\n        HeKb0aniuy8mwPqwSdtTI1mKr3/3nKNrvxomSbmIyMAkP2WF1RY+KKBlyGZc\n        4S2oQgoF5KrGAGmisScCj5OOs54x+clxg/hlMrq5ub3bT5a9ubJWj2PRS1v+\n        ZDQKHp7lyu8n+Ww8/ez7yRM56hQ0AU/EstZ6NUyToESa1U5VhqquOVe6WDb7\n        BZSLGq/Lrm2YB93OEXLNfasx3f+3/I2idjT/NftL+THt98B2WIyp5yfzaOvt\n        7jcP7nrZZK+VeHTK/QfjkFEhIGtIk5y23pFZjRcL2d2I0Xq/vO75O+45nfvp\n        1z3R7KHRVoIXBeBvg6LaZlwxiIa6SFzbvm7ZTst1A6c76HUG3X7btu3N/xme\n        YOSY6cGSO5qbvlRQsPNRBCoseYFcCg1cOliVbwXlmbok1GxM9ZwvFZNUZabb\n        GGKhBpaVsU47kTLJoFJQhlIgCGyHMrdaX9Bx0z7d7QJlDS+f9+Z/aAUzezNd\n        4NwNQqtgEmX7uUhI49XMrbbMIeJV/s4hGE/YO0Uw3gQ5P4PgfMEUqjJSGNNU\n        xee7zPgPGJWSRiFVOG6yaFZIAc2TNI7ru3EwfgHEyr3BJAQAAA==\n    http_version: \n  recorded_at: Mon, 15 Jun 2015 20:13:54 GMT\n- request:\n    method: get\n    uri: https://www.googleapis.com/discovery/v1/apis/youtube/v3/rest?key=AIzaSyAYXJjUwwDKVEliqBxQ8AMbk7ocWJ-z4zw\n    body:\n      encoding: UTF-8\n      string: ''\n    headers:\n      User-Agent:\n      - |-\n        /Users/thomas/.rvm/gems/ruby-2.2.2/bin/rspec/1.0.0 google-api-ruby-client/0.8.6 Mac OS X/10.10.3\n         (gzip)\n      Accept-Encoding:\n      - gzip\n      Content-Type:\n      - ''\n      Accept:\n      - \"*/*\"\n  response:\n    status:\n      code: 200\n      message: OK\n    headers:\n      Expires:\n      - Mon, 15 Jun 2015 20:18:02 GMT\n      Date:\n      - Mon, 15 Jun 2015 20:13:02 GMT\n      Etag:\n      - '\"ye6orv2F-1npMW3u9suM3a7C5Bo/xrj0tixOAUjJF__K-i_9CMlHy5Y\"'\n      Vary:\n      - Origin\n      - X-Origin\n      Content-Type:\n      - application/json; charset=UTF-8\n      Content-Encoding:\n      - gzip\n      X-Content-Type-Options:\n      - nosniff\n      X-Frame-Options:\n      - SAMEORIGIN\n      X-Xss-Protection:\n      - 1; mode=block\n      Server:\n      - GSE\n      Content-Length:\n      - '44914'\n      Age:\n      - '52'\n      Cache-Control:\n      - public, max-age=300, must-revalidate, no-transform\n      Alternate-Protocol:\n      - 443:quic,p=1\n    body:\n      encoding: ASCII-8BIT\n      string: !binary |-\n        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\n        brBqYcsnW9ZeNF4B0/h5DfVTm2BNJx3gybPsFhmV7cIsL13N+wGdTmIGojFa\n        rULHIRpZIrtmm+1rOXJvbuKxHbVxqLDVIbNmr4antsdLexXprbLs1NKeTaMy\n        E99fqliw7f3yNlzot+Xl5lFVZmdwHtb2HfXLMWDSbYNthu5SfyjRSFNsJ8ka\n        VNn6p+qP/7XNVLWDwVvyQd18+UwfVo5yyCm9QO0xjTUDyBewKCZVUqdYtC/g\n        tdxRO4Ogmwf3bhVnwbop0zCPEvITtV01VZhhw29yJyCoKpUdBv2CmEsR0GEy\n        zzBtAEdHJeR84ioLWxANBx9aCoIkJactysZOC1nlnDZQ1I6IoTjt0vmBWoem\n        pm1o7BfkO5uTWNNLO1z299EebOunWcoh6yiYvs9uDDxgtvs3/19739bctpWl\n        +55fgfJL7BnqZidOJ1X9YEtOoqp47CPJ3TVzHlIQAYqISYADgJLZp/q/n73W\n        2nds3EmJtHdXz7RFAPu+1/rWnQ3x/xBV0lNKDNmBbqv6T+5xPnxhRaV7Hd7B\n        2qKyKEpmMyjuDSvKwwdqbmyW67Sa5zSAahEp3t80hrQHWhvickuXefCVVU6c\n        t/EMPL3EgGTUuOna5UyHeZmCO21CJnBUb0lrb4JBBzRQ6A9ktc9gD4aAVfS9\n        d4YNlKSb4Plf5STpC+GcL1U8xSad8p4mvC0okT5jcyCP/5B9Tw0bNtLxh3Me\n        Fu/YxGFndeLBOH9agEyaQk6QbLHW7WN0mmAGjONOkZ+dGwoQ4zkeavv5Ov2c\n        Zg+p81v+7Fxm9K480pp8HHLV8Y6Z3uNbsl6J0iy8KLjw+ta5l+73LV1N0e4O\n        RzWZZxnX3HK9LnAudMaJNV9tkmuLGJkOIKocLLsPeOgYaOTXqmtiHG0dbvRV\n        aXWDq/2wGReb73YHyW/AzfduEVvglqxkaBPn0R1QwL1bPQGhwRU1pQYcBFQY\n        OEo8gzFGJb2EISdygKXyoSaqlJjRL1ArRWTaVMKrDeqhajipdXWdr16rXv0u\n        BFNlXSwq1sW3G2HLrsgPPI6Gx85gHC6UCVKzJbkf4iHY/6WZLK5VyNzKwjjF\n        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\n        0ZYwXeZgXibLZMq1s0JTQqpokXpcpOi5vHBSKgrf6kWlkuGKiCRyQ1LEmfrS\n        c7hX8ByJ3FnZItih9c3lBQZ+iWYxUqLkvSrHd+0zVbBpO2gtS9+iiv7DbNAK\n        sfFzMVPomD4aWgc7a4XYcFwmoJJkIGCN9NtQNWyeRuEDlKgYNAUyS9wY4nWA\n        LhU82gX5cZHcg0ELJiZ1Tjx7FRBU1nkhVc7uwRnMrRLKwBcGRHPOXogzTNm+\n        wuFgQF6JEipZ1vn7a7KBQAhnQgyI3HjkwtJGiExbOBIDNjhgzXHTcjQtAYc2\n        DyRlL8MUDsMS4A84C8a57vYrSg2jmYCJJtlDYQ4TrTC69oJNa0qg7w608pSB\n        Ht4hPV+Sa8YUcfLAW2oi0/UxJMh99gQz1tq3l1tqPGG72MvrcKGMZDdz4XiI\n        exBSyIbaT9wUffDcY0bYzhZJ+lm5ZqgNsVcWV2LLCCCpxD4M5t8j2DE/M06d\n        f8SmDS5HHbiseLOOz578vyT6d3/l/wVvt0KyaetNKo6+WUoNCXG8sror8S3w\n        JhX+xoIG6rIDMQhBNsvZUtf2oAuG1azMcdOvYfhMy1/i0cKeoAWlVNwXvID3\n        yMMFDxc8XPg64YK8HMBtBhM8i1XpSjqZuFgnYG7DnWb0sYqPGYcKS7pVdKJ4\n        E0gB3pUd6ytkR0qwed9qoTsAjqbGn3mp/1lChSDt7/tSaFe0YIXmaIXg2fX6\n        lqoGgvFeT/zBH0/jNMzBrkMhw8E5X9PKbLCpq2TlbgcqpUXBDTjcvQ/zz+tV\n        IPLsiV0yXv9nfMsL+OAnN7C4hXrTMcsupw0gyPDjZgIY13kzjCD8uEkHAAwy\n        WsjSWZb2sIrz6nWIr1/9fHQGHlCiarxEZKBGNGw/UmcdF8B2ZT/iC+pKH1qi\n        1yBhLJ68YpchBGwYb6rkMcRQYZPwWfwtyAxyKOvVKsvL4n0cJeGFkh0A3Rhy\n        RYsHppQqavwvW3R3Td6Xn1ZuaeLrQuBu08IACO5xpseZHmd+XThzNw4wOsQ0\n        6wx2cmwh16oqo2crILMEb0fTDqG/w9y/YP4YOOy6qnZhJ07B2R5nGJVL9bTZ\n        1/M8S5N/xcaCYaE96T+qRRwbaRMMr5NSqie469lE1ZSClY2SgrIvoNUbrfMA\n        iLSQI365ZXy2MRi6RtwUmsYPeguSfAs2DZQNwov4nMXwrLUSLnIJTQJju7Fv\n        4mkUdw7LLRxfqdC11vOEF8TCNYCsPFOexFSNTVRDokngLLEyzJTcxx9CjcTg\n        gDZUzeMLNLR8FBNvrds4lyb6eI3XfLKvmJDQl3lrny2NJ3KKQMBXpS6fPfuP\n        k//QNihcUZooNv+TbFrG5RGVVdRegWClky9L4dCuRa0vwy/XkMuFreHZ6en7\n        t2q6jPSX2TRbmF61RQIuafpPrI31okw4NTXIkEKqJ3TCxRqd3L86keBVvP1v\n        na4V66WZMK5rR/LTTl1aR9kA542O/vLOO938W4B5Pyd/HZ9rZKvqnq/YIyeT\n        ZmY7g+tILxDhjFcqTi1Gz6OATL2JMnGIKCCOEYj1aTlNNP9fL2M8opq/izOu\n        DNk1i0tYuMXl3C7MAu8A8jG5BpGaBrlN9ZorLMQ+pociienSwuBBeznMy2Fe\n        Dgt2L4d1C0QYIanJ3oeGIJAn/XaFukqxsp7Lyb+vlWzNSkmKmPKcVkaWGFg7\n        U99tQplHDVqtrFBFHGkVLnbicLojhxWqQ9mOXvl7fRXLnxr0ylFIHqGW9eKf\n        4K6M3RGsMh6rIFSgWHexMp5B/aI8nJUyKyLPsRuiMG6I6tKphFqENFJZOfdo\n        c99wlNdoeyTlkdTeI6n9T6mhlOXC1czWlZs6Vs576njLcfABNNcPCcTpFrVN\n        J9HTa+AF6eIgC7YqF6nr9ZyjFXeBmUGMZahomMrK1TpLlYTtYLT93TqmTlw9\n        e8W3V3x/u4rv7wIj9IxY3lv4//nwNGJmM7WuLMZbJ9Zbg/xaOBC4xSapWCBQ\n        DZFPlqAO12HnMa/5QXRzluSQF+4BisrEq4JcAst5HrObwX5Q6bozTjfxK6Mn\n        DuBpEL8AIT0KzjlgCZxromXV4kIONpqkYb7hjYpcu9ocYv5IRRaHwdnrX35m\n        LBXtgshxERlBhrQyYJeXvfjy7OXpl7Ozn18Gq+RLjBkPjoJ3X4AGchiTLyTv\n        k8k99ABg4scWlybbBUwdl+ns2DVrIXUa85WLqOVqE1kMC54BUTF88UjkRjzG\n        NTimDWDTiPM0XHxyTYHjrk9XfwTZLaZ5RiyMw33ZJit64cMLH08ufOyL1FEB\n        KfWwRqd2V1zT2gvkdGngMGK+ibLvEiN1QEVILU/+WsV3lR9XMlutGyu9flSk\n        5AQFjwibmvvvjqGuqcDZiCh+s53aYH6rOzd+6hrTb7bWxhy3b77WDQ7mWMDy\n        IFSN0nRTE+9+mVamYqVQ0oPVOva+/XB3jyg8ovCIIuikVtli8MdjMv8mg103\n        IVrS/2YpuoX+N8nPb6KoSvpVFjhX7kZxlrzw5EmdJ3Vb8QzjAs9AQGWcAzCq\n        Z7xAIFqcUZdFeIdn3+XJw/h5JrfRx7hefJZdsZ/mbiLNy5nIsadqfxD8w3JV\n        rksh0BrlT1MG9/okFW20wahJYi81W5K/1umUW73Q4BBqZrZqBbimqgYUdhlW\n        T3FSWIfUJB7ypLeSObkKx8GvEJ9MtScd9vyuO2qnJXTfqfHDpZO21xSQXTjw\n        2JAlI6oUn69eG60fSxyFS1yFc3srsy/coCvcOPwboKqr+fLgYXpzTIgF0t2h\n        IZ0geocIkRqVRqX6A51sqwJEC1bffb2E1kIJyEi536hVHsFe537kaz4UVsXB\n        fNEsEQhnXhjFAjm26T5SqCQhPB1I7SYqN0H+iWIKMrFDMgtUT7wDmU1YvoWx\n        QveM2ICS004sPqscEbVJ88XfIzPJeHViiZpTlYKK0KLf4pyxU0oojsUVzR+s\n        AQoMwdkpkFjB3FT3klXyheNNEUCKE/RJ0ViqJTeDb6j9xLBJ9jxSjxm506iW\n        fF68qOhF4TcZNFbJ7rVz7eiBFaIYR1u8jsPrOLyOw74VTxrg4yZtvt6I4cfj\n        qjfSyBS6Vx1RGaHqSotYZsb9LSkyUtrqKjR9RYntHzOkyYnnhlpI2gKcelvH\n        PTLwyMAjg50iA69K9KrEPeOETn72XeDwEGtwDeuic2xWNo7KQzPNFguOARlt\n        /lecZza4rtc99tY7MvJzl+WbMYpH2USL5vFuDeRUvI7oMo9vN2LMQHZtyu9I\n        ZwJgnDfRk/axU/WpAEf1mpKtXSartdEy2zV/zTlP3fjknKL4+olUrY6Y6Vmy\n        gCfAI110GEglZWfGx3cJVHlX+W0/iWZKRzABkufD0gCOVv111vkpLbxDg99T\n        7YdoK3q7eb9T7Z+o3CZ5M/tNNy7Iy83HI0oYbMGEfiPglW7LVypHlIl1TFYH\n        tcyhAOuvGYXoh4PFvnpsX0l5Pyspdz7CcEDkAR5fWHtzTaXbb002vUsFvVXa\n        XhwKMQ55OTp5Ij660n6oMF2djZeNDyCnQxrHUcHLte5WTPZFzg+vyLkNrZ7S\n        5mCqCiaY8YINOZmCxSBbJVP5hIp74d37mGfLDLUme2yfsJCrOdFe9gm86Tx8\n        XLMZBG8KfGUiMy4Lw4S9qF+7fcIbJoZ+d8QP6xGkGilHmDfa7BrjMrZJ2Y4d\n        mxCY7SNaNTx08tDJWxj2wMLAE5M6MYCeUFwlTyF/TZHqENqNvySkWdS8EiXr\n        g1wlJfj6ObV2nFPyQBV2Y1ZmRtba0IL9tn8MMHwcJIvtYvFg2Jldj5s5cOMR\n        eYWMZmojIs3OarhjQ0DkOfuQ2CMmHKXmghLbowT52SpYMNFkIR62MU1Pkkbm\n        Sg5+zx5imfFOWEQlwreHB51Aarotls6Zs1F9SCnz6cfFeqByDFal0lQQweRB\n        o6iy6+F28iMnMuyBVAGa3gxlCLZbPA9rjW50xj6IO7HOnRFC/Sb2IodNH24j\n        0Z0LjjcbXU3S4za9diE8/QqBGLSnMc5DEZ42YsS4Mh/iVQxlGqOb7Hx08EdT\n        owaaJ7V2oeu1ZchHXJkwWwMAEYhLCjtojmqVqL/5x4UgXj1x424iYPrOWOAm\n        58Seq/KzALXk74t4VgJBoHV6sceWTIubQlES24TZUILkK7VtCZztcvGDHee5\n        orgEyuSrmjBjcz9q2MJL3dLVzWZ25raZnZ32NZplEQca15h+d9Cxq9qX4EYt\n        kmUivBRFoJVNPDNQWjIOlkzXixA0tmI0qBuNH3cbVutbdifmDI2ox9U60PN4\n        Ef2a5VfxfRI/qDeBWX2OF5vrlZ7kS29U/Na5/rNgPgiw7KULH8KkJF8CGAiY\n        G0Oxfpk+w5Z2pouwKEjSDyF+HebAvRQKNpX6huTE7CaH1oDOOLQZqLWCr2sJ\n        Aj1lZ8MsjGFXhEaSaE8n+Ee4SGRoHwOKvwSQUBPL/B0F5/a+5Lw3bgJmb3EF\n        ViLqPeOBQ5XYfcK2ChrLYya8hKBQam1Rvnr8aBcDoHnjnZBj0k8LTL3/oUeA\n        a85Tb1Q+xoUdeNIO35InLSqWQAlvUZfZTO9SF8EU7949dX3aArA6+B9UBlbO\n        X11+3aKHcDePV4vxii8l1cZhPp3fMOFzGC9GcVa10QZ765l0QapgMJER0dRr\n        FCr1MPUVgLRc7MeBgmzjvwoQtQ0wozvLzMvlAmzLqwVbihu4bTWeQVV5gssE\n        jHaBOh41RNgaAT7UHyCLwqYDmEUNOf71w9X7Nzd//n7z/o9mpMJaN6CIGPNw\n        KGJMh40SxsAn4EQK9vtqbvKrYSR8+yW2hkiFpWhJuxDc74tnQuooII1U93RU\n        2+y6dpZLhdNmUTWVOHV21U7643rr6vss4ow5VVYRryjemaLYzSGHaYx5SZR9\n        NSwdhj71u8Bh+xmRCJk3UJsBWXTgvqmdUx93u6G7yXks6H1tkmOF3kWW40c6\n        oltMvNpCvLsZ/9rMflsz+Gn4kvHmKb4CJUFs2x+kAQT3E7DOpDE4ZkDxDv0T\n        k5kfB28zqN0NKXCm7NGKKzbY02x9N68KE4U8Cp57fKVmxh0zjAGsYp+Mbs3m\n        tm0a2rZkYXsKg4q3pHxLlhSvVNwvpSKbwgj9gGig9mJoaZD5dVd1t7nA47zl\n        annO1zn0wbiacLGcMXSyZotLvA6iGAjWsI5Ek8+TWP4b9HM29CleKI6pvSf+\n        uQwxL7LaA36IZmvoeN80t1vU2e6izPuhKBqVgpFhOtTYgUND4RWNT6iQewpV\n        3DLMP78p0EDdCu+0d+tA3onjne4C3rsvUOtRlMiFSrF4/rMV48wZTzar5DR2\n        Swxr9B6gPEB3Okwl0s9JPoQEzBbh3R1dOsuS/pVoBxjkeF/rPlJ3sFwf1Z6w\n        ppe7HzVGaDmYNd1L1kUlWFCMsuWc3YbpG8y35TxunVxOZRN07LCCQTIjGCeK\n        KodRRAOn5F424OChGqwlPJSylmoIchTjicTU1QnVMq4CVOGVmpdaqWZEKn/F\n        07IFxyE+uUe3CARvS6iPqsCb7VQUfC9a/X60Y+xkP+46mEWrx0lLkbIVrbWS\n        9rbhpnWhfJoJ1j+4b4Rp4K3ciaap9HCXcnhbQcN0TvoDh/eMGWk6Y0zr0d1F\n        6pxd2Fz/HMA8jnAq8mVasAPGafUH0s0soW/FR+oWTSXcB2/ymMSh4CHckBm+\n        wHzYGBf7kLDDxRqYQjQPFkehRZFqUInwSc+5yooigUge0HDOwxRkQza26t6C\n        g1cGtUsKfIGJMMBXSyAEn9PsIXUJJzLglkahzRh+jGczyEqFSQ5R3TrHMDYA\n        5GUhpQ5SJco5wxgwg8pGTF9Olr22FHSMPRKzMYWU3QC5RB3E6nV7JI7azVja\n        Zib1BtJvQcV9EHbRfVRzfxfotlBMQHdOyeOSeGgCQKsVt3bc7mobSnLZmnE2\n        7PRxlSjnliu9tZRxhlZHFsPAoYpsEzKZHArrZoUO/RbWIMc4Pfp0vb/IEWZh\n        52gTqQqH54vTT9JmaKUIfRx7ofnrltDFPfdHT+tiUPB9zMzSdEaGJI4nNQ01\n        931B2eP3OE28PKt5fMdeOGeIbvCJVU308BcUZ9fIcIqHQVTZqRYVwrQN+UYe\n        T+PcJYjOLq8/BK/OXr8+OmPrt5qHRy/FV+x/o44q/JFcv56H/6YfOp+ppgl4\n        JGd/S//gHHEo7DDacIMOs5stQA5lO1rInvcATjiy0w4FFH/2BRRPyQ71/d0T\n        bvikEkk9bbrUVsqTpjbSdIU8bwxh4i3UkyXRxVaJUs579STpSUkS7a0nSG0E\n        idbJk6MmcrRI7uO3eRZG07Boclq/TdKoliKZjRzjuzZRMt85Md7pbm58yz7T\n        k/7fihYp3J1dwDhcwmXJ42V2b+lcoU/837h8iLE0uvocjrT4/jh4oz3Ra57f\n        MmkgotzUMjiJPnkSN/p1mrDrpLlLacvBi6aTjkOOO3SPeqQY6Es/+dJPT56j\n        ce9KP7kPnkh9N4wcGOdAp0yIglA3RWgAbIb86CJww/N8HDzW9RIljusoV7W0\n        hp3tiG0Jef0IkiWJWRhB3QfHJAQJg6xiKdp27YLPIccxQi3cRht4sujSudQO\n        v9pQg3akTo6iBF6Y6GTFKJbBd4jqOofVU5wU1iHdQtWOX5MUXFIm5oI3t1Td\n        USs7Zc2dGj9cOml7TQHZhQNPSCT4GSZxsSm+qObdQuvHEkchPAwsFPGUko0B\n        EPcypTyKPeizsLWEFAjDRrjSiwa6Q0Qd/9WjRAkk0QpRVp3Ulgk4PStTBO4C\n        gW50PqkF3SZMJdhdh0m37HnSV4b8Qz+ReyE6GoIc92uBU5pni67CmXi9RT6z\n        X+sRXUpf0vErRMUxzPMXFJAr0bCmc18uRRDV2egmWfEGrheGc0/Q02NUb8V5\n        l1Si0pjPQl6bOAWDE2YYYc3gv588I6GOsWBntWVlpIAq3iFlWFQiktSbRkov\n        a9Jb9sHMZjN2VG6SZfx+eGoevZEaRrTKigRc6ijDGH1AcNHE/zRb7iJH2b+n\n        03VO/EWaDJdxWKxzOrtL9lJSxOzeQP6SPFvSYsZ3SZqiEGhJ6FCDIEuTkp0a\n        OugTvtg8lRkOUHK8ktcxXM3DQsFXtVWsnzA9Dt7d40wwsDrhnv0a4NDHSKRb\n        WT8xwz1IDQwrrRjT/ZIsQ0KuQKMVwAIreMmPCsez4IdPMDiEnHdZgR6Lpu8k\n        zQTyinF7PjDlKKOoNRzjxkLnOsvBwaZyFBxucf9t2XWR0f+Kfo+D65iytf9G\n        ZAi4NyqyyW48E9Aj0ovUL0HZHablL9Cd0DOT91jrOLk/Z16hYrDEUYyETr8y\n        ZhTl6x+2IWB6tYtXu3i1i1e7eLWLV7t4tYtXu3i1S2W9H9g5wwy6Q9dcNFBL\n        aOEFgMLTzwTkwSdbiVI9xQzj9IKP4t9en54Fz/+b/efo/fuji4ub+fyX5fKX\n        ojguiuJ/XlRjuTWgCWLbEU7e61l66Vla0rZZapaa5G2Wud2tXemawk0p6Z7E\n        +lyvX3DndJNIYjsp3bwY5MUgLwZ5MciLQV4M8mLQAYtBfTCmhSr3Bhy2JHO1\n        wGFNStdO4LBbYtfO0NCDJw+ePHjy4MmDJw+ePHg6PPC0Gx3ygWWKsT/dO81z\n        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\n        rX4FAA==\n    http_version: \n  recorded_at: Mon, 15 Jun 2015 20:13:54 GMT\n- request:\n    method: get\n    uri: https://www.googleapis.com/youtube/v3/search?key=AIzaSyAYXJjUwwDKVEliqBxQ8AMbk7ocWJ-z4zw&maxResults=20&part=snippet&q=UCPPo4ZnBWwQ75JqiI13VFNw\n    body:\n      encoding: UTF-8\n      string: ''\n    headers:\n      User-Agent:\n      - |-\n        /Users/thomas/.rvm/gems/ruby-2.2.2/bin/rspec/1.0.0 google-api-ruby-client/0.8.6 Mac OS X/10.10.3\n         (gzip)\n      Accept-Encoding:\n      - gzip\n      Content-Type:\n      - ''\n      Accept:\n      - \"*/*\"\n  response:\n    status:\n      code: 200\n      message: OK\n    headers:\n      Expires:\n      - Mon, 15 Jun 2015 20:13:55 GMT\n      Date:\n      - Mon, 15 Jun 2015 20:13:55 GMT\n      Cache-Control:\n      - private, max-age=120, must-revalidate, no-transform\n      Etag:\n      - '\"eYE31WLho912TfxEBDDRSwEQ5Ms/UYCn5k-JEBBTXjoUJ8gmLCFGJJg\"'\n      Vary:\n      - Origin\n      - X-Origin\n      Content-Type:\n      - application/json; charset=UTF-8\n      Content-Encoding:\n      - gzip\n      X-Content-Type-Options:\n      - nosniff\n      X-Frame-Options:\n      - SAMEORIGIN\n      X-Xss-Protection:\n      - 1; mode=block\n      Server:\n      - GSE\n      Alternate-Protocol:\n      - 443:quic,p=1\n      Transfer-Encoding:\n      - chunked\n    body:\n      encoding: ASCII-8BIT\n      string: !binary |-\n        H4sIAAAAAAAAAMWSX2/aMBTF3/MpIu+1kD/AyngDClMymKANpWXdg0luYjeJ\n        HeKb0aniuy8mwPqwSdtTI1mKr3/3nKNrvxomSbmIyMAkP2WF1RY+KKBlyGZc\n        4S2oQgoF5KrGAGmisScCj5OOs54x+clxg/hlMrq5ub3bT5a9ubJWj2PRS1v+\n        ZDQKHp7lyu8n+Ww8/ez7yRM56hQ0AU/EstZ6NUyToESa1U5VhqquOVe6WDb7\n        BZSLGq/Lrm2YB93OEXLNfasx3f+3/I2idjT/NftL+THt98B2WIyp5yfzaOvt\n        7jcP7nrZZK+VeHTK/QfjkFEhIGtIk5y23pFZjRcL2d2I0Xq/vO75O+45nfvp\n        1z3R7KHRVoIXBeBvg6LaZlwxiIa6SFzbvm7ZTst1A6c76HUG3X7btu3N/xme\n        YOSY6cGSO5qbvlRQsPNRBCoseYFcCg1cOliVbwXlmbok1GxM9ZwvFZNUZabb\n        GGKhBpaVsU47kTLJoFJQhlIgCGyHMrdaX9Bx0z7d7QJlDS+f9+Z/aAUzezNd\n        4NwNQqtgEmX7uUhI49XMrbbMIeJV/s4hGE/YO0Uw3gQ5P4PgfMEUqjJSGNNU\n        xee7zPgPGJWSRiFVOG6yaFZIAc2TNI7ru3EwfgHEyr3BJAQAAA==\n    http_version: \n  recorded_at: Mon, 15 Jun 2015 20:13:55 GMT\n- request:\n    method: get\n    uri: https://www.googleapis.com/discovery/v1/apis/youtube/v3/rest?key=AIzaSyAYXJjUwwDKVEliqBxQ8AMbk7ocWJ-z4zw\n    body:\n      encoding: UTF-8\n      string: ''\n    headers:\n      User-Agent:\n      - |-\n        /Users/thomas/.rvm/gems/ruby-2.2.2/bin/rspec/1.0.0 google-api-ruby-client/0.8.6 Mac OS X/10.10.3\n         (gzip)\n      Accept-Encoding:\n      - gzip\n      Content-Type:\n      - ''\n      Accept:\n      - \"*/*\"\n  response:\n    status:\n      code: 200\n      message: OK\n    headers:\n      Expires:\n      - Mon, 15 Jun 2015 20:18:02 GMT\n      Date:\n      - Mon, 15 Jun 2015 20:13:02 GMT\n      Etag:\n      - '\"ye6orv2F-1npMW3u9suM3a7C5Bo/xrj0tixOAUjJF__K-i_9CMlHy5Y\"'\n      Vary:\n      - Origin\n      - X-Origin\n      Content-Type:\n      - application/json; charset=UTF-8\n      Content-Encoding:\n      - gzip\n      X-Content-Type-Options:\n      - nosniff\n      X-Frame-Options:\n      - SAMEORIGIN\n      X-Xss-Protection:\n      - 1; mode=block\n      Server:\n      - GSE\n      Content-Length:\n      - '44914'\n      Age:\n      - '53'\n      Cache-Control:\n      - public, max-age=300, must-revalidate, no-transform\n      Alternate-Protocol:\n      - 443:quic,p=1\n    body:\n      encoding: ASCII-8BIT\n      string: !binary |-\n        H4sIAAAAAAAAAOy97XLcuJIo+H+egtuzd9rekWTLbcvq3pi4IUtut6ZlW0eS\n        faZn+4aDVURV8YhF1uGH5Oob913ui2xsxH2hfYXNDwAEQJDFqqI+Tq/PTLRF\n        FAkkEolEZiI//vs/Bd9dx2n03U/Bd1FcjLMbkS//ORdFeSKKcR4vyjhLv9uB\n        t0QZTvGt379bioMsv3nx8+5+unj/1x+qH4vq/Q/h6+NXb7JnX/O/PS/jrx+P\n        Pv3t33/+8uXX3fjLj8fvk1+Wr377/TvqR4/yWeQFdg593uzTTzGBscyqshqJ\n        n25+oMY0nAujmdrGYZql8ThMPsgff8uqK/XjjdEvd5GLm1g1vXi+/+r5qxcH\n        9EMZl4n5fXASlmFwdH7KkBoYgHfO82yah/N5WMbjIByPRVEEZRaoTyciLCtA\n        3B59m92mIj/J5mFM306zbJqIvXE2r39VsL+j3xgB4ywtoO2//1MQfPd1/wB/\n        npXlovjp2bPb29u9uptn8TyciuIZffFskWdRNS6fSRzt7h/sLdIpdgnd/PBi\n        025+eEHd/FPwPwgd2biai7QMESFncXptdhuJG5FkC0C92bvs6JlcB+i/zMZZ\n        gh8iiVHjKCzEpzzxwxgu4sLp6Zn+6jwsZ/hZ48c8y8rVXdKrhchv4rHuqjlM\n        OZ6pH+mBJxICIYgSZqsWK0xK+SdQ1XJBC1uUeSxXoUFMRGiTLAdqwn+CciYC\n        QMkClkHs6U8mYUX9fve3gnchtIq0mkPT/4UP8gf887/Vvxo7t6jfvJC9F8Ft\n        XM6C4ywtYTF3rwDYIJsE4WKRwI7Cj565nSYZ/4CQ/L2CrYs//g+irkkskqhY\n        a+qXIhHjEuZcLMQ4nizhxeB2Fo9nAXeGmypOx0kVCfg3CAPAdhmHSQM/HWBd\n        i+VaMMGWD+CbPdzNeSCfgjgCDMUAVREssR3o928AehCmEf59A7/TL4xR/IrZ\n        wk7w9yorwx16MReLLC+LveBC/L2KcxEFVZog78APZS/wYvDxqIJOXuw9h/lf\n        i7THJLMQvvhCb681WWckTX/jKs9hwkEFm6LH8ItclOXyHMZpkv4oy2Cnpf7x\n        LwQwyrTQ68nog0NIMZeCEJfEqQhGuQivC8+OKPNKrIaR1uETzGc9argJ4yQc\n        JQJJEbBBGKKugkWVLzLcRNiEzEPkuwWtYL1/YK2PYUFHuKzLIMxHcZmH+TLg\n        IYOwKOJpCnQAnYeE7J1gVJVBMcuqJArSrAzE17GAF14+D8YzYDVj5DR7wUcY\n        LCeaw49OF0E8CUYZoC7MhaKkqMfC8ddrYeT0PAijKEeyBV6BxFLEJSzcTMDQ\n        zLtgkKIMsjyexmlYwjkYAN7ht7hAOGmXhEBcMGmRAvLGADLgDmGBlZ7HZdEN\n        uTyEkOQVzyX6f6HnAWLFQmhW1Mn68UN1augPGpN+H6ZwOPLWV6c8bPCsAoKn\n        Lwid/Ufao2nvFkVyj2PC/omyNFm2D/k5FrcDDlgtkiyM1pshUm5WbDQeHg5p\n        vb9bpof8ZG4MDHtQlMxm4M9sHAPFRsGYz8QgSxVk24C0C3s3TUWyG1ZRXK4A\n        cJHHNwADcEEWCuA33GkWlmR/sNcScYN7KaqIoeD+ozGQCZBYSgw11B8qHPFk\n        /kn+R22pYjwT81BLMkd0hJ1nwM3qM5Qlc+unHYt5ZCM8GVv4fTydAbIZ/yhB\n        BgvqgnioghF4C8x1LDQbgLkAgyhjc0uHSZLdCpO4vAdOE4QrQNFNmFQs6nAv\n        eOIgx0aJaCYAiXwK1pI9PklIgYmprwBmOKhi+Gu0DOSBtGfTCbJvNbQLaJjn\n        4bINzCNghchEJ4COKZLAOEN2X85ASpTCyDKgvZnHDLZkvxIOBW6U0TGCZ9Jy\n        Tw8GHHteI7PJ+bn5fzhUssNEUcY3cdkkCNncnxiOQKKTX+k1p40HmlJhkX84\n        gu2EkhG+D8+EBSkNjqskzNWG2ME14XN0FgK2QhRq6j28d0WryoIFS2O0+DUc\n        EzhsCy1z5jA8HtPMlXbgXA5zq2Ee5tdGA3AQ+HMS3sDZV4odmMwciRzfwFmo\n        r5gvWh0h+yky3AblbC94G4II3MSNIYTiSpdKXqcJ7bDgJhmDwcqIA5R64jyW\n        VDKo3yfF0873iwqh4TF5moT/W2jK6QvEOU2pljl8W1by1BMBC5wY1Pfd/56L\n        iUlDx/aLHRvZ7jJgauuiobL+qHXOCMJe8DPMSnwN54sEFjKWkk4aLxai3CPM\n        MxMBdkA4ucB+aA1ScxAbsu8LPbizloxI6snlIGxscZmHKaI1cfMWPmLxLC70\n        Ojsdxz7m2d0tovz0hJdfcesKRWAUjtMYRLRkWXMnC5/22NLOtN7opzXKbhEC\n        7IQZpNwfLGGCuPkZl+YnAmASfwXESnn7d6XV/7OC6/fv9ozhtErhvmZDL8mg\n        g4Iv5RsdeJSdNGh2FBbxGLg4001NtQqUHcmd9HEv24G2iCxxd0/zrFrASu25\n        57zFwY+9+9Hh57692Iu7nzRmoGWqiWLlOMBPPr6CjFZuJ83S6h+rEY40Ir1p\n        JxDluIvrjKokEWWc9uY3b9QHHYunOm2snr1uoQZefwAqY7kXXCGlym/xL5DK\n        QWITBXEGD6+Bd1QPzk6SA5zCgd57hsfGN13MtX5t5Tz1HmTzDS4TaIlKs5U9\n        yXnLVVr2nbkBhzt5Pl/7T1y+33mi0Cs9jpLQZDxAmrkYi/gGphyqTjadr/za\n        nquSKnpP9mf1QcdsVae9puvsUZR9cLamyCNPsM3mrTpxJp7E1/0nfYYvd0wY\n        O9tubWEDxzCyCJ5gX0+ljLjhlLELZ7qLJFyi6L/Wjj43P+qYvtl5LzSkqJDK\n        jwLUGjacqDmwO+E8m2cg/aw3YfOjrgkb763LxJDpCjxmVSebzt2AwZk70BVt\n        9ih0dMTu2V/Yn3XM3x6gJ+XLT0RUi46bzdwe3Zk7Cd9J7zlf8utdEhW9sXKV\n        5WupKG+z/No8kNedHvfkToulE1fpXzE586OuKRrv9VpMS3hiE7MtP206dQMQ\n        BwENq1/31D/x6x2T5g57KndKEd3qJOJO1pGe3zhSZqcUbUuYG0jTbXJlhxis\n        dvKpb2Uu6h87eYl6q3MtTBOVVm8VZ3V17tCdQX+UHzcl306sN6TejRDfT9B9\n        /AuhxTgNvaFrrbUMtgzevQSm/N0L/aebiN2PH/s+05Mj9vfB/c+OTtCJfFsf\n        2Bj7/bWAx78MnbNYZyHODB2lcxFq/WR48m/RTB7vMhD9u9bJPug+9+hInWhv\n        6kcbo7+pEXUgWKs9m9la2cS8hrlVjdehU24AyumJuurH+RLHitOu8e6PrmrB\n        b8XJ5kLai8w8mmk3mTW00iFkjKYe2nUvGl1tcF+AGP90ccbnUBKjaCx9UCai\n        BBAAicqtI9RgSOq3LXJJPL6+ysMxXoux491QkCzI4p3pu1peaJL5UauhkXG9\n        Z3lWTWcBMR1D+/ZCm4sQOSbeu98rsGzjzm77wFiGVwzM+rCpG8JxmCS7Zbar\n        bwCDuSgKdIGQu4OAkrDSvaRxzzpmBya6S60vSyzfQ9T6Uvbhi4Xe1sF36Gtb\n        HkU3SKQwwiVKH/zbfzP78Xopwm91R+orGzNVUWbz4zJ8U5Vlll6Jr+VGWOJ+\n        HCShH1aJKIBe94LTSaCntwOrBDwwSYJMemFZ9+7Gd7U7XRl+QXicpTVg2Rh4\n        GsdoJz1kDLLkAj3OSsME5iMu+LBEHy34cFj6j+IcebamLbyokco279ZZlsmT\n        jIiEr7I0pXxfBLdiVDSNwYBRMQ4R6Bbu0ulUwRZgdqswesI5FGgq8O7iEFea\n        QC9otuRskbp8ELk0OVooh8Gd5vZ3PxnTILMQRLaRgC6JI2zopKEudedo2iha\n        17M3euqO1sXOplxvm2mTwrGhkLXehbYG2rqr7yNNXHhtvZ3yhM/Ou7bg6teA\n        PDbeTkUhLLw+TKvRy5/WlFB7sxQWGMZJtPYpAyuhtFu3HRUut+2v6L0PrZsd\n        Rb6/fMfTQ+u4vhW2ACyEiC62B9LuZiNpfRzCskc23NaVQZ/9dWndJ3TuK/Mu\n        YSMJ3XeH0CWUV+UsyzfaPvypdrX2jescACDWbXKWH6UBfauGwr7hGObxG/rd\n        ROQiHW80kBIaek/pTjYSQB8uiiohp88tzNerwS83ld4x3M2PpXYGOQnHYpRl\n        1zVvYu/k86Qq6rYSgC9FXjeYfPWOuGKvLey5O+veyI17s43tOqtvyh6vIc1i\n        plrccqDvvwyfrBu8zgUwb+82RL3n1q4D0/cn6bkwdeHvDKRmFVXXgjfrlQ58\n        +SZ9Zz6g4gYmvAE2L0UO7Cj+A7DzlrtQjEqZidh0xWGkdLTHdZSXe2TZAv+6\n        /vHSkRAQRt7fNKVih1d6HpL1yoBrjEIiAN+hb7j31V6N49F4sJp01dOb1SJF\n        a1ap+FqegxBwZUYSrmePoDhC03BEop1yH1eBFyRhqIECHUTLhkYMabhhqwoC\n        RC8G0uIMqEIrSyEaNm54CZmLhwGfq5/sD3Jx86jmigDFWVX0my8NDvBL841n\n        2lfOG9bnZHXJ8k0vJtTX7lEkf+jmlpe2/7TDKC3f6V5nyhuPy7ThYWx5TGOY\n        /45pMENOUc1HKX67Uwdd2L7UnWEN0q/gPs6kVeEdHld7+cmVzG+wHoTHSijC\n        r2tzpo4+Ix4Sj/RvGBzldZm3+10fTaaFU580kmkuclBc8hhw1Y0W1T0An8no\n        YpPt5zIo2xBwNevcqw+ZPZDIgATkoSClW+dwIJrZkCCU7/6K8JSj+kVjC5Lc\n        xyegFGRzv7NBgboFvc2B6crNz416kYJwTmqSjnKiEMr8uqi78oY/4a9CBqgx\n        fWSFUODd1sZP3Us9pVSLsd8XdnTWXnCacjCkvLQAVopazw4FFiMfhvFjCrYX\n        QLZkyl9yz8gA1OgWIuR6Mct2z5VqBJLGTERHmxnoI7SDUshVPDckdEYYWkR1\n        6FRQX/mih51SyBAZp5cfg8OD5/vBk9/gf7vv3++enFzNZj/N5z8VxV7xn09l\n        AomayPkZgUAAdnFw5/zQXM93dKgfV8RgHQEdLHhDyg/YiFB4ic7WU8gC3Gvn\n        MlViTJwKmWDygLGZyChDA1OjqTQ7QNWRbxrJofai5FNcaVxZOSPa8ukqulf3\n        QN6Iw5IcQdx1U7Y2jLHBDCbkA7BhsOWvRjou12N+GDmxM3Z8St1ox2EYwQ26\n        JTEc+R2n+LrV4wTe8KnW7YXlQOw46taWEFZopeliACPIMH9JeHxS1XHos5eo\n        1v5S1BEwTz5g9YoDD2VH2cIIIVdvlXjLjweR1UC7yqFXOFDGJdBxlgo7zr9L\n        rPrHjnu0kbSV6CG7KvaqBbLyTsHjwbVSCewKRVS+1TeqUtLyHQRVSkD86ooc\n        tsO243vjm2knGMy0o0h/AGPOsUlyj3TXrGHK8Xzx8Pq9s0+9e2Ug7d5msHWO\n        ghiOqiRMpxWaUFDcQ3mw+2ouijNyWNvay4q6kqeg18Hbfya4MpQUjsJ8WZ//\n        etQbUygiAdF4q0qv0+w2vasbHElZE1iHKhcXw7gE6JyJ0Ct7AajMNU2U9Qzm\n        KVHjUm+B+qilfR6jHfNyZID+Z3qzgdmfWakyr82qBWcRkT9ti3ofwuPiqCqz\n        y2U63iTfzWkjtY1CeQE9zvIsJV7fwLZyyDCpWupdOrRKaVLkDYc+gjkiGq0G\n        2Ddpt+IrJkOLUfyTXBu3hM6SYY1oa8OWKYK+QA89lfZAS0VsjkHLvyMoBXOY\n        bhYVtWGgEHzqE3CWHZYAJ8cloN5qXJMltNHb1oWQhR+JjNOJrVlOwqQAuG1p\n        kXS9uZC5fJSRQ3XbQH+E4M0x9x0jDFriAlWheqrOcVscHw9BIQQoQaElqHGS\n        FTWMhbYFRiKcEKOdhTmdfzNBOXKYPJRTpI2WBtQneTjxWVc2ArypjgQR9t9c\n        I1x1I2WL/gD9+MjsMwaqxRNvlIi15vM2LJbAHyPh8/lYe1KNCbFVAjcSrsLv\n        3wE7xd2F4+38/h3QfZjiNonJxkK32SCL5NHuNIdXggTzs9KX+qAEePKUEguu\n        McmzMJ/6DswBFo12S4L92360nLt3N54vQlSX1gBXTXWj80rjSQrCjVOpPm4M\n        01Lw5vh89+Xr+msQ2gfSBHuYoJOwKD8RH9xMArTNlh0MGwcKmOPetwlT5oPe\n        zrPGs5j0Mwrv6OkgfRNHQnECy2c+ZBsidyGT8CGHHg2n9vdYbBR5Kp+e1cP5\n        3Zw+CEvcVZeDkS0ZUdbkeghogOOydtMdVhIiIH/dRFvzTZU98tsmenR5Ydgn\n        MV2nOesStgYceHcyy/tzcVG3Nr11lTsjZEeRjNJLUaJrvpuWyvxlDRUyj8XE\n        d4eYYLgkYFWE82AckYRIfXdpjJotrb86Msu3HJyxL0enVUNBFW/sQJ2JZADR\n        bxKLWy0BTvOSxtGrsNP5Ug9TI8CHwSNZ2uJ0cWr93oEUq6PVvm86k6nKuq0x\n        lwrpRp6HaTGPS74lvLh6f47awS9XV+ca2TpXvyvVKFg2Ngaw0oEDqhT37BRi\n        wuUufjsTisJiZtxslPPFdvFTj4aInP3Ol0TuXpeta11h1K4Jq/OJuul0V9mJ\n        OlJXSliPzLc6qIR6g2cncaXllKymEmF9AHVjqhP+mglzzzmpb9HIAoxzlUYN\n        h9BHQIvIYlw225zSG/fNjmm5va50tq4t8epTLZbZmSgk2CtTiEqgt80g2gNg\n        CWCd0tMP6keq/tETXuvl1UCbrw9FQkmcXluCQNs6yNoq593Uc+y82D0p89We\n        S1F/RfFo8jhQRwFnkwY1pOQkze0z+ge/bvTOKU7plOGodL+P4Kn7SudBbb/b\n        c4UW+v1xiIr7NPVLnN4pPPzVDIO16jpGHlUW7Fi9IIn/cI9Z70nWnMSZ+TXt\n        1SieUNhNqU0K9X4KI2b3YXLePLya29Ls3HPL4DF9AKXvABEiciSO4O8x+eB8\n        QfcbKTpAKxpsSbdSZ46rrLbf8zJwd3HPq9KDm/dEPl9Q9hCyfZncsDkUnEBI\n        HHewvcv6na5Z6Le8W8n42fG89EBUrYCmWglJtc7pR0UKxkv9YdehXWaLeLzy\n        CLwy3+q6bTPe6wnwz7kQWCWKv/X7pnVmvvJJd15ZtSn/9ZJbtUh4x/JgLQy2\n        C7p4/QiHTLl8VwG3x8o7xbssiy5Lls/WN/j+VZp5AUA0rLsOxDBPedenBg6m\n        emS/THUaHSdhPL87uGZk1lvCYYtHRoLplcY0YgOexTLHkhag8sTXd4goBZAe\n        kJjwdQNBmJEiTJLt4DhRfn4EwlSk2Ke8VnU2Ot/IUrEuvgQMk9twyVH+8j4W\n        HZBzrn8UF0Ulz+QiEzeYEcDdfsExV55KlnxIc9eGH1pZx0QoG042xfp/xLqR\n        nGWm0xt1s+Ahq2AKCAoKiSGZZtxFrf2S9h1VWcxBQGOacDsbEYuMManYkuZV\n        B3NMKqwL2Mlj3uB/cxUy6Ocyzjub6Mcj6gLjT6o8rWNWdB0uM5vhF35Z3bTi\n        LeyDOO49FlnQRn8/ydBZMmte1bZB1JggiteTBJZu+mpR/B0K8yr9PW2tcsPU\n        tEHOMesYW5Q43S7RrDBG+IBwo1duYnHrUNgsBhbjWYtudzUteqOzg8hj8t5J\n        aotGDUMPPzUpvi+JGltSvNj3mFqVw/ZNEaOB9Yq8t1TusjkkJdLYZi2oY4p3\n        6yTazkoVHSafAQpV9CHXOsQe6wtuGvfjdKJjHWwHPC4R+6+IzEmcCH+gUF00\n        oZFKAWXJSKVD7KGVeuYb1P76ZmPbZFvtGyo0UiVTtEMwjK36+3eFk1tUlxQU\n        gZVaXrsD4Wnt/AJnvyj5ZIvIQJ+LOUgJlH0I+s8zeQljZAnUiAs4IOH+pouj\n        Rc253tdk2Sfp/qZrx9qbM5YNcqbydgXtYJwUHLNx8it1cA9/ITFQfyEbVJQt\n        SJjuqE08EH/6BcDP8uW9IYOZ4oxHvX9Cp+HPwtJ0XrqXGSNryutEnXridztv\n        64jtOn18lnzvEdS04vc2AjyEYb/LFFBDs6kRWymM6kjFvhQs/qTjymoEctQZ\n        vbfR0Lb/EkBRuzBJ3JHzkg2ICeR9+TK1kZxxF9JKbeY7/QntvL4nIcvQYoH1\n        tkB5n6AB9wlmfEKRYxzKS5NRXIwzkPEAP9l1LJ7K+oQUTkuGCUbc1xID7WV0\n        iOp4XsHep35pJ5OCTKVWA9B69B2GMlLh7ysJcoNEmSdiQmq/XuSv2npgDBl4\n        fPFRSTDcflRGHdsFXDVy27DOQPX91qa5thDRT3DbK/GWq7w+rSkA2SjmCyIi\n        QN8TjRkqEHJKecBY8ad4bBpEsEsGnqtjzIHK6859q2LZT7BMbnBTBFQu92nw\n        lt25WbDWtgcA8Kfg2TNZRjcq9qZ7UVaNEkEpffdSUT5DDSGMnpHOJhP81oh5\n        9uPBix8PXx28Onj2X5Eh/tsiLGf/5YeT8hfxhf98g9iCloDWE55BN48jaHh3\n        evmX8urDu9/+Hv6WvCx+/Zp9vvn16F+ScCT+TfmVsusYTp2pGcgaUaR3hbFf\n        ECNP5gX7luNmGKPVGWY7z0Yx3jVMap/2p8x1MKCBSLA3N2g/fJo3rescPPd7\n        +dq+yRfOjXIvJfwfgqd16f1+pr5aOKm1TZscTjuTcnkza5HFoZXDdMDQFSHp\n        eWNNuL5FSHZFSDJ+B4mQNO+wH12EZJOO+hlev+W64n31LdfVPcfCehwt/Kyx\n        4YrR69BWmZlMJxPlvtzBTLfNwySH01uUTbm1L5zxyWDpUVaNST13rsKlGLcv\n        gPpxzWOpryui7H6wmuatzi2w+ly5QHZQO7uE+rhQBpMiqDEI6BQh3ktGah/K\n        jv6MHnItc3ss55skln5HmyJcayaP2OlMwvu4fc8YxrtzQVME6LiiAcjQUi4T\n        ZbQyWJpioBgPWdoeHX7or/SbXQe6eqllBvXvKiimfTJ9mG+fO7wOXrlNlUyN\n        8joPZM0IEd3qvR530mvL6lcGuuJIXn1ixog57OoY6PWLM7pPRu9RAmPRcae3\n        EsC6oJkJIe44gE//SHn/FNR6PI7U53fVxeIOZ2bAhE91CTSKik2S7NbMwbDW\n        VLvoa7US6nvxmy4aDKaL2mgeUCW1DrpHqpl6iGutU/yRZfJpP7E7t9ZWuozs\n        ZF2V5o4UC3W2raNgtGQ+ahcttkmA5MoTjSTHtTjBlUGztMf5dq9pjOkTnWC1\n        h5wut9HZoNkcGuutLP+clxMR2K7WahpaKZX55N4W+VtEag0xq8cunqWuBUiu\n        qAcDmLVgWhf38B738usWFCg90DbWB+YtZgWj/PDCDUNYbrgRmVL9wHRczlnS\n        3SX28SmN6KrPCNWfZXn8B4q2yUVmXOVRpTlANvLdu8lVsDFbamFAxJya4pct\n        ldWypA3MtrnN1loYEPJqD7Md/3JhgLVntbBwIXpxRCTNGF+TQ5SnV3bLMh5v\n        hPupQs6xkuAbv3j6XWSLKgnzT9IRymgvSi8g/MNn8iSqW7E8c1rqShJO+3lm\n        dcGNjSFt0bpxGy1pVDdXC0AifCLRsC1tP6a/rH3WdRBfubqy9yh29ORNZJWG\n        ltztvlBxNvSNdEj62GvMolxWCpDttMjayLMBiLXB5k5hzMW0xbi1EkL+9K7g\n        a6HILkf7gRzs/b7tqyhxudGRoAixM+avt6Dm++oqHK0N2V9JzVUeXGU4ovxM\n        hapVWgiZxAoxo67m20Df/IrkUnqJWR6OHdKjsryro2mzKh1XVnUObc2v74bD\n        0YpxP+WbGbZ0MV13zO12+LVY3mZ55AOpGxNnJBGpz7sCPXcoMCzcLQReUlJR\n        dQuEeRZhKJk45mysPlB6hvMhHe7CWT2PKWWfTO9aBImYlIHDjOg21PCfCReY\n        5qbhPiPdKPmdRqZC9+qXAgWOs2SDCpRHFL0PIlqK9uGEKKy+Ac4xOxquuqq1\n        bk7DjVGeZbdv8uy2oGLrm2OzJNP1iOZO3Rk+32qzA2gyUWZjWRGMCw6C0OLg\n        xrDIaIp6o9XjI9PFhJmDXIL6uYr3jgDTdUFPR2mYLDFy/GhM7HpzrR65Siij\n        TgLdLZUYr5DR6oTHqIWIsKhySqQ5meAVguXf6+okhudkdJVjWrnNnIxL/tY5\n        j9jXjs8AXQkHw2r1oHnRbdLptOUMa8TprlBlJyVYEbz9WM719Q0waxpetvVk\n        8GSD80+5h4VnA9OOO7sOU8/dFCAy3eDHMPb9p+98gApEOsz8T15RaC3nmEY+\n        E4fXOblMerG7+iOX1/0UpDBb5tcGL94xmuVpblshdwJRjlclrgA55RjZ2EZI\n        qwHQMloj74rfEnrw0o0jjiKRXurZtcG0fkIIL+5os4Jgk9ZV+PDgc0WfleCs\n        gyJz+AZPmYVFX1TRWg8BkCSaOkl7tsnKoXo4BDTI7QoXJyAYSg3UvAFvAah1\n        r1Yd+7RaZ4/+++XHDwFoZwuUYjWpy4w+oBX1D4COi9ZIrVXZwCduFnau6meG\n        ZomYdkFoXi7lzJXz4N2/Kll0L/iI793GhSw9SD1FmSjS70suNBhKZUn3xLdS\n        jSpqSZZOpRn2cvPUytiLpMfCSpRkhGcHl0IHE/ns6OgsYThJxUWjTSTxFNU+\n        wwZeQ//p7uu6azWTEkJtiK7z7nRSbQiiQc2qcby8hi08RQvFAJO3puzdmlee\n        LFf2Bm1muOq1Te3sVZYIoRRQL6/zX5ZjH6dey0pPLw8HnNOTFZLWb7L4hnb/\n        bspAJIhxd+zlhx3ocQhtwdH56TBWWVl60FkhsyBh31Q6/I1dJI/vaupcJ/zO\n        n7jOnZqgNfTDO+UwWKs8cOSq22JSu4sov34XvqE2Fr0U2+Xf5nmjg5K/Obat\n        G2Sl1IEBPNpMknt0rmxNOuq3g74FWdGc/gGjlGyW5mUrg9k6uTvb8R0DczMu\n        Qo7Rtt0Z2PHVRthr0LDGnUZdiIo1I+EOvy/czGRc+Dx1lQJr/E2C8VFHqquq\n        bTD2CV9qfBii7A0pR7ezLGC/lY7DnMfmG4BFUhXnfKE0GAacjFadGJBjU6qz\n        TfMhYNo8peyGoD6E+fo4AU50gYrHVtdYY051yQaBnIVk1MRZQfSPu5WTZk36\n        4yzno5KuHNzMfMFpnbmgdjRV8q48UBxHTmHIwxMyCmVOP1zxQr0VY1IJfXX3\n        fVvCMnTvarPH9HB0LDPMxFebZchbzEIw2WXQ8Sq+aTfKuJ6O8nKYvA43r7zE\n        AMDU6+5U+aXgr5hMFY1+WKdR6NqWWhK5xbyqdUFFmROD3oFVhj1Sov2vTW+e\n        iQQLVl4IO70JYidZXi5Cs8a6un0w3dT+Rjkd7tqiEOabiY6IXNZWDIrn3upD\n        iOJTELMTShS1SOJG1sNhL17q/EOS8PDiJcvjaRomWMRUDXbflzBw6spzZUsq\n        pvObgJdljgB6abqD3lHaorQ7WInn/RlIB5hFhbItpSy5agOpJus9Ev15+eoe\n        tL7NOwaz7HKQokrxJdRIMQpahFzm57GUI+OSvsJVD8eqFA/aGwu2X3AD3ZwU\n        fOvQQNlH2fmWOFMwAuO/ZahRLkrjMjbhplKNbpU9/Sl9RsmXiabJL0Nm1gGu\n        IYtAjqmwrVG9jg+dHalFqVK60woEZ2Cr/G39nub3GnI+j90rfQZwuP3iFhgM\n        7nl3bFmKzSr05T0jW6QdxjqIGHa4Z//Bc/rUXEHcXtP4huvIWiIGXYbStkG8\n        jwR/GBdMVCkl6maSCi6Ort5+ufrt/O2Xk9PLs9Nf39J6YdVcEUbNlz58/PBW\n        5ghvT4bddkhFcYEHkn081U9pltppuO7a0O3VnK5meG3vV5zkb5vYFEv61DQt\n        NuqghQs6szhTd5ktZF1X1QMlJILlQyVLHW/BKevQYVJk0uOEleLm5/CZSLiw\n        b5HVWoM+KP/k9ky5AI/UrMmE1c80I4nQmodcxXYTJ390IV/rYjP8SsPQiRkn\n        5jEy7Fr2Vu8+YY73VJ1ETeKbgMBfJ6Ng84N7mb3KSstTuDtbrdqivM+Klql0\n        Wl0YxNV2Xc9736y7JmMYxLorF3RAI6+59R6pqbdJWutwlW9m3+Af2uxrs/kO\n        3mOdBP3CpLShIke3dwopfRLFObLYDP3g+O+ndCosW4+CHv5eG+38lrNpL/iU\n        gs5XOK5W6uTSehWwhBDjKtC69IVm8IXdoe0zSxKa/Ej1go7IpGyF5EQldCpa\n        11hlC1s9GE6Pe2/7WOxY8oGt/lqg6ljPMEU685khNjeqar9NOqzZD0ESXFxK\n        1QT+X74tdYhxsCv9NbmdtRcMIQqNfEjMg7THHVUqGtRc65hlbQOgpDStKEyY\n        6TlxYNodo6GCFvobUAuk99yXGHO0oLdUIUr/y1bvrCS4p3Fxzk4424V48Lye\n        SP9aGD7DIlJSoVFgPeW104YN/N10EmuEQWeLM2QvjhOIZyd1nkyuvKqEJK/S\n        QLuaCHtAO7aWpdFEbMQO+MB72teqfUfGjpp4tLEj+JAZFDeXfLGOl4uLcVVQ\n        WuEVcjRF+9lmEs3MzN/6czH+oOBE1ngisMGOQiN2NX/I5VvIy+dZgeXKKDo/\n        u6GZoNY8y27h6w9v/+Pqy+nJT8HBq66rzfFoQ1sPfxYUywLOBmQKRxV8AKJ1\n        CDxM/50Gx0kICJ2oJNVvsjCvb0kbfofj0XFtBYGnt9bTO+vpvf0U7r/CS0Kr\n        8dx+mlqPF/uHjQ8+pRSS96Cx63Jsa4eEU6DHQVYKqeUU9vSSlqnE0jb/7//z\n        fwcLLI4ggndohf0jRrE1gUdgSlUKS/cHdBW3rxoCd2XgEZ8VJu3Wz/P9l82m\n        wzu+0AlB/BXJYOg7nmH9I0AfOR+OY8BfGnyAP6gUVySCK6yHAYcD/tCONQLq\n        yMAGNfzsNpw2GvafN5teNJpeuy0XbsPDEbtvkUajyXjDJXoDRBwXM2Yu5Coa\n        J3OH87SuA45roo+fQ6fhlfN8aD+brIUm4r7wyXl8XKif3GyK+ubuuJqBGI4H\n        0a69HthESUqCY5EWWV60rwiAs/+DgTB8fuU8H9rPL57bz2/sx7f24zv78ZGt\n        xry6vh5sOegopkP5TZXC2/M4Rcf0PK6wNBFwqBxUT3jO4/Gs3Al+rVK89IK1\n        +rVKQH/839pXCcE0WRE3vHAbXroNB06D+3zoPB+FTsPjWi5gLzfDHS3AmSMU\n        m64+w4qZT44cdUnftC4OArX/0hZvqO2w2XbsPB7az+/sR5PT4fN9L0bbEkw2\n        vbRsLsLPoGWPZ85aXIgpiEVRFYzjVMzDTsxP8v0fmniG1gNvq2dNJrm38Z3b\n        cD/Y9+J88+O6oTqcphFxKDgYUG1wz3FUWlYe4wiPIUzh46X9+Ml5dN6+S1R6\n        ETge7sxVEukxGsT/hpWRgHoTQpoUT4+JastsmsMjtrcjcjw2eTY+HjqPhfN8\n        Yz0fWE9Xwnp8FOxiLAbD/HmWl9UUaBaRP4+LAtDL+Nf8GlpU41sqSgRP4yrJ\n        2gUgAPC9eZDS84HzfGg/v7Qf7bcfkE3MJrCHB0P35W1c/iFyKV+aT/LdVeci\n        gWMILdxgIZtbDhoth25L45WHRPNNXmyIZX3O/YL+Fiyi98UmjLr/MjTxgC2H\n        bstb5/md82wJFTQV5/lRsI14PBmMkN+IZAoiOIrl8q+eKAcgTGzC469p+TYN\n        nbbyrdMyPAa9OErDwVB0kYHOyHLBxw+Xp2enn86CD0dXpx8/HJ0F+P+fTk4/\n        fj79z09HZ5/OPp3iex+O2hGXhtYuh8dX9uOh8+gIYGl4tLAeH3C3F8Nh+ec8\n        xIoWUnaIk6CoFqgVxqLK8chK/mtYRXF2ExeVSNqxW4SmKoiPL+zHA/vx0Ho8\n        RQ00isemhEc/PCSOB9ztZ9VXMR9lVT5lOQEFBdTiAL9Fld8A2hNaBcR3GIxt\n        VS/CNItwunTICwCrjW94PnCeD+1n5+cf7ccj5zGxnx+ZBv7HoDLG8R8CtL9c\n        yIwNu25DT0b9R0Ow4JaXjZZDt+VTo+GedZPob+Py70Npd2/y8I8YBeQTzHhY\n        qovLf68wS4/YkfjcCa7Y7R2Fub9UUnvpVPkISpPtcMMLt+Gl23DgNhw6DWfO\n        82MQP4w1uRBh0ScP7apsBXpAB7NysOM8nqOj/9HYyBUtfzvJq2mj8e3XBWyQ\n        uLwUX5s/lbmYi89xlgjgdO7Pp0kiQIvy9no6X4RjnLa8WW38nlKyykWOiSB0\n        fjjnpbPW7j/A8WYkyJatnilAE5BlCxB6YrL5v1m4bSESY83v/U8FJ/9rOwkK\n        MShDfVuUGQty6q9+LJTB+NXc0KrpZbPpoNHUaDlzG94Xzc7fF43vzkUu3LbH\n        elMspsOu3XS5KHHl6N+e6zZ1jzVueZO6Le8aLfejpogYsDDU+fbv4QKUZ0BR\n        PAXKjtM8Dn4N8b+ncXodtl+bExCGJkzP51OLIglO17FBth56Wu9bUJiMR8PR\n        2vswCZcFMQpp+KV7wlm8qC3C6p1WrCJEJunx8yJstCRuSzFttHy1W87NW0ls\n        +OQ8PiqxeDLOBluaXzCj2DX+Zzf4iCl22f8Ql2kn+CBui0WIHiQoux1heRNM\n        2RvxVWPeLcQBlKcmFrPTOHSeR85zbD3fO8nPs8EuPrTyLa+c3svLWSpqRvev\n        7TnaEA5T+KXnF87zgfN8aD+/tR8/OY+PQOqdLIZxUCPjcVaVsyCc5KBYKB7z\n        LwE7jfbxTgNY9p/vvzCNldj0g/14YD8eWo+vf3S+PrKenB8bPlTQ9h9Oj//x\n        9UFFkBWrVwzjyABb5Z3I52GKXmufs6RKyzBfBpcYKXghplXCyycdQd+jMyRe\n        KqLrw7J9OYtrc/sUlu8CPh7Yj4fWo/3jw9mppvmg8t67XAjiSPKPfhIfA2Fw\n        E274tdFgbhbV9Nptum+ODrt/GHsqkOnlAtMF7AL1FWVcViXfBerL13AC4s2S\n        7XwFHpUC/qvsq2Ei2m18CKRJoPT8g/N84Dwf2s+v7cejRRnaLQ2Gg43/8Ujk\n        mXgogQY9DjCBJd0hnuboOehxGJRyTvuCADjWgtBz6DS8cp/dFw6c50P7+Z39\n        aB4Q8R0LP1utVTIoVzot8lCgCVH+0Y8rMRDWGiXu3a5sOXRbTKczbrl3rpQO\n        xZbIDTCfYpReGlq8yXRaRiYFrGktnoQgHpXGtRi1HDvPl+Hc4lSq7cDTdui0\n        PdzBej0ZKDYC0f+rSJeIev7Xx226RU8ExvUew7Z39qPJHgh++/G+Sfg6/tv1\n        bfy3PzZOKNJE5AeK1ELeXQA6P4hIPUiirsrgJsty2wOnjDFwN62pWoB++l5E\n        HWaEGnSTfxitB97WQ1+r99UffY3mPVvd+hj0sOt5PlikEOthv2a5oC1B/9Jq\n        KL6+Yi8AKPsvnL2Aba+abUdJYjdc2I9XQqS53fRwHCcphrtxBu0nSwUb087E\n        fBROQ1CX0J5G3KcVuQCDoZLC05vMejyxni6sp8vKenw4RM7HQx6d78Ok1PaC\n        o6nYXYtzEywmD5ENodvy0m145TYcuA2HToPJ/qnhk/v8SMVFAG65GGzBTkQ6\n        D/NrWDIMoWTOgiGw4zjR3rJRLri81W/wwzQ4F9kiaZf1Cb79fQub0PDKaXjt\n        PB85z/d9/s6j4XbBJTyHC4yF3pUoPcFY32xB9/lHlJTNuEdtojAKDWEFniwP\n        Vnj+YFkrocGiZnw0hUic2ot96/kxHJNzwIwo46RYpqIcTujJ8ttwKRGvu29H\n        tfmWRbXWD6/afjhs+eF1S/tRS/sDHgDiuhrOQy5Opa0A/krRWkBxCnwDwlvh\n        bVTJw4BuQGrlaYWUiXBaZwM+HzjPh/bza/vx0n58QJzHo3C4iBAZoawuRNCM\n        FgdvRBoH6CWHsclHJZU2D+VFSZjIn4KrKo+LedaOdATUCFem54bli1o/hwu3\n        xbInqKaXzaYhY5p7L8FAN1N0SGZJNh+R/Pg+O25Hpn3phI+v7MdD6/G19fQG\n        0y5EVtNb6+nKemouUjZ+COvkylUob4cLpw3jW3Iv4K3AZTLl3SBKOOFt2H65\n        SqC8s/BV3p67z1On4cJ5vnexZbGx9P4+Iy58Ho8JP0eyPpC8HDqaC7r7yxnL\n        usYeu3S1JwRFgEwswiNIK6/tFguN9GzJKzgn+/EBWXWZD2jbOgdxOl4sYlA3\n        kUw/fj59Gxx9OAmu3p69/Xx6efrxQ3ABf7z9K7Uenx1dXp7+fHpMnvzBm49H\n        FyftiEdATczjs4VomomFaG45aLQcOi1NZoKt98dOfAuTjoZj4KC2RvENrckH\n        2gEYWAmbIqyIg/RLjgAAuaYWbHrVbDpsacqttnfWk7mS+FhZj4/LmwYAWgyX\n        QuQ8kyJlvTR5FkbjsKA3pbbatSyLxIPyhZkthJ/jRkOj5cZpeDjGlE7y4TbA\n        myqZhpz6QGNZ+ZWVHY41CISh0uDjG/vx2H48sR8bjAUb75qv+LF5MyCb/xBP\n        hQ+bjbweKwxiBJUpM8qG0G155TYcOg3vnGeLndDchdPwyFjK9TgZLnXEWVje\n        tBA7O5TxC+3rgtA0mD01uowGG1972j65z/csOGaTZDAN9IO4Df5ThJJNS59H\n        lZIAG88wK29IYmbPwxTBM2gWH9/bjyYF02RMyYYbXrkNB27DodOwaHSycD96\n        DHbh7qVdDBuScC7yCpaV/unnTMAAmJq+bDl0W8xFlC2l23LfOyMfp9lwl0u/\n        VOkU/e92Fe4opLEshc6MrHmQvXFasUvwGbILP8eNhkbLjdPQOHyp9bP7HD+o\n        mI95s/NS3HDMUDyckf6zSMUflUjwGLiM3xyftiPcAcEQeNyf3rT/dNz+00n7\n        T2/bf3o40TMvBzs63ouv8ThDH0pYDsxnc0IppzOcGu6EizCKsx2dJVBajQ0n\n        wcWs/R4F4DTXCp5C6/GN/WSeF/B8bD2dWE+P4f4EaGG4K3Dt43cRxhGmwQGU\n        x0mMSc+KAP4DqxKm7cc1wHI8MzEk3lmoFu/tx/PCerx3Fo+JawfzY72g3tpx\n        Qz8b7tPcYIr1suWg0XLotjReeTguUFwPm64myW7Ca5LK9Z/9xA0GxJAWueH8\n        RaPlVaPl0G25b1Is5mG8aTYazz4eq318+f7o9LIdZTiqSYHc8NJtOHAbDp2G\n        187zmfP8GBhlMR8wB8jlrYgE3jFgUUlQ4gO6xsVMYVHwRItyliPF045lKELz\n        0pmeX9nPr+3HI/vxvsm1vFlMN8Tl1efgnOo7An7eVXEkEjKDywsGXfN0xf3C\n        YmpSKYLzzn40Txp8NlUMfG5Ivdj4m/P42n3++eaRGEKWm7pKUN4YpE2Ve58R\n        347pZXk0FRcCe127kKgF+T8FZj74dyI7z+LUrWuhm6n/Xlng4RMSAONxiHn0\n        szzC2i1Y6Aor2S6wtx08n//67vLwZWfR6gTdYSNfpeCUsvm34fRIfoiFNGQN\n        G0qjj9kNApEk8aLI4oiAoIo3hbeqYVaNEqc0DwZpbQTRmfwQh4zENBei/5hZ\n        Ot1wUPXlOqM6VIEM4RhWb5rlS5c0rN/608dRMDW/rEswGVV4wmCsfrYK0IXJ\n        FH20ZnMkLiwDA7LWlAuOYa3PtC6EgFWRmWlhXQ+uSIKVc6DfLC/qQupGTQ74\n        ZJEtqiRELzAuXkB1rrBWZjyPoR3rZMhSzAwewLpTFwpR9U3GdSVILDaoyzRX\n        iyQLI1mumkGvazur+Y6qkkvc6BIm5su6oLR8/c9bTZCIxJinBcGD1wCzSHhF\n        3S/rXXse7aX4rN11F6X4ZNf1TsDiMFS3118wxAKoo/Be+3sdLOJb4b11C+9p\n        /mPVeQultwgMTlzJKYNUUFn5kmvKLnYsQsDtKSsVw2/BtQDSoAK1QBa6ZjDL\n        gjnPicrm+Hl5j7pb75q74rEV+pu2kfI6G/5boT/e4OLmUc0VAYqzqug333/A\n        OoXeA6SDVQ9VtM49t9sZ/FoV3vQm+3T85uJw9+D57psXh7PFizfzk/MoLcd/\n        cRYMD7K1sW0oToqW/GKIjerT/cNUZ22zUWz9tIaMnAax8WWLjPzpNEjUG7J2\n        H0hRRbVY4I1EFIy0EPnnFRMRTRoLj01KNNdwxZlhvtpXRjSJ6w5ERAu1tZxY\n        k1yGKjZgZ1bNw3QX6/eFWEwwBZa7eqN0iJCtr32TIIPBJMiaTVjr7BMRrRc2\n        lBO97KyHmHja2BePTUqMW6h1jQ3fLiM+hOTgYyvtG3QguSHdkt20c4FZsjbu\n        jrAEZV4Gb47Pd1++5pHpTHLPID6HW44fBGyjZfNMUPEJjQ0psdbPVj3Z5oJi\n        8Z9acDXWUf6wjv0u1p+1CCY5/3iLxWf1OQ4bKrzBwmqj5M8uj/D8H6M0wsvW\n        gzVJslhDEuEv7koOYZTWbEGS2GYyCIO6QgLxvPRN/ggGkz94AYsuJtEiicil\n        31wOcXhXTynE3BGPUQZp0mvvbf745A+bmbRtzmFlj41YTPvun64vd1zRTjRG\n        xcP0xW4iSjRhnV5+VNW06ed7EDfsg8xZpjlKfwAadF+4S2T9tsby5CFv0xqh\n        5N4RY39Fw7xtXN51rcQoHF9Pc8BcRHB9ys2VUVv8LBszazznHlpZGKLs08WZ\n        jr2se2cwqXx5ipeRdUn327BEtooyIt0r6herJEJT5v6L588XX9Fgc7D/avFV\n        3imGwNm+xvNqjsVT4HWADhdm/8XhtbP2I8RB/vYr+xLYE+xLCMRs2KhK948g\n        YVaLCB0+5eFQ/J9Ygz4uvy/QQgowkizEbAoRAjLRlNxFS7yoTRQN8SU8Q4jv\n        FV7YPSvTs3Iyd0wY3QtORHFdZgvG1ZP95wfPv+6/fvXUO+T7bARoxbIO4S8+\n        ythkfO6Th5/F0xlx86Qii+KT/Zcvn3/94cdOcO4JkheHAMnB8y5I7gCOJwcv\n        V67HWXZ7ByMn2a2FgB9ePP96eNgFB/qKVfM7WY45df2ssSo/ArW+OPjBD9UV\n        MudyWGrlPhkogT03KeXFKwDq5YuXXUDdCTxNSF68Pvj6w+vXXZDcARxP9l8/\n        f/31xWHnsgxHtObQLtHu7/9w+HW/jWyvbn4BlA0Fxuc2zvEj7Jz954ctrOPq\n        ZmAA2shyH8EAYNrAGHBFPvtX4/DVy68v2/HA/GNgGJhzNFn56xcNOJIwnwqS\n        p0T0pj5i4T+LSxpoWxmIZRjUvfgnLRDRyOrA5wn0Am1guQzWh0Wq1yhaMbTs\n        kAU6Q5gXIHfhktZC2iIJl+QlRm3i64IAlD/exOJWSTQNmc4xk8xB+nkQzNPI\n        XZhvAW1gzMMpb2DeBGedBZAa6zqYB1YxBjV6uvGuM2cSBvs8C/xH9RwsQAFP\n        mm4IIPuOsyRBe1ZRhmWMheFYdUHwC+1HLd33qJ2mTFcu9ixoeqfjLB1kGqUm\n        GAv3tWssiMugYU7QEJenHGftLgkqLawegDr6apdwsEs8mXuW2sokEV9jVCFv\n        44i0M0ZSmpWwm8YC0ARnKWOwaNEpU0AHzsJ0LlE6pfVbf52SL/VHoD7GKTu9\n        It9MxVgUBYaAkn7JfcP6wppeXL0/xxXCesJXV+dobRHhfJWCWS00gEdRBBza\n        ZxtbvWzclQIIACXNCjG5zCqlMZLalUnA5ErBs7rsxz+CWSjXN9P+DAXokkkZ\n        piKrCnQUoM/ZT1W7+NdjhTkwFMHqOHROdOTMkNtZ/XOtg0MgY5EDfeXLAbAx\n        r4qy8YYG/ff09/RELORk6eYCzaCwV3RdFdxJWZbQuHJAkZKRBlrUbuYBduil\n        ebgEImPWwAkMiEMzCDgNNCnJRzK5FFhbEnRnWBkYzO0ClgedUNCTHjuaKy45\n        Aa6T3cacCwpo+yecy+XVxduj919glGfyzw9H7986RwEN/WFToxHtDCxxjJvF\n        nIbtry39syX9mFhqYwD0jrIDNViA/eua9nhiVm+WpehBjbV7/Ag+cGh7JV+2\n        Xl9kRdziNSYndK7esE8zFJPK49VeUvZXWPFy2j7WFf/egfxzB14b+frXTTgw\n        bYEF7KgwCRRaOC5EJpuEkwPmDMRdoNuVdI7fC05LPnyqVH5wE+bsvac6QTiK\n        nQDtufAz718yY93GKBLh9kK/+k6LLR+A7vR7bwvzoJEQ+I5Uaf82Zksg8sHc\n        Hvczysoym5/BQV2HInHbBRzERiOc5/Zb0MCvcMMQoVKyJ5vwGEnr4mxC4Wbk\n        kmmuZTsiGKdDxT0pqs6zedZB9PrnTageLxhSKU+pjkAwmi9CDOoAzl7EhYq2\n        wxM6XiRCvonuOXgptRcc1V+g3JxOiauGcKin00RLll/iqIvCpUx91Y9HdLB/\n        JZwDbIssN3czyoKxZfumCz72uTWmpDdmFBckZUZ7wTFL1CCZ5jneGKH0PceE\n        zcVCjDE7TcDcTR1+2M8Qt5Jn8k7SxjmHTY3hsCr4SiKm/NA9rgvPZT+nGB/N\n        P9oXhmscCV0X6S4n3QL3NhZBwrkEyatJKAqdI5CFRNgK3SlHWtHVJpW7cOOs\n        1DbAEEFF1uRY8TvqqHkpF3rv9+9Y9ZgIzlMUlkhxJdE+3rPUPcE2K1V8YeAi\n        gR6XJNISPSXxNcpZ0AkGR4CQd42u5CCQJSjV1r8CfvJqUcrOBMlZ4itsqxij\n        vPYc2JICNjj0hZFe9c6st7yCGf4UIZwOfLh1HcU2/m2eZG7SdRmSZ9+uPoW7\n        +ErFNTLfry/nmyeA6oYiM4FE40IAd4xYkeYTtaZlfK++QTO4yClw0bhA7MsI\n        lyRGxcbUFmoO5guIrICEDl7aOyKbTECC2HJ+QNRIwt6pmEJAYCkjdnwDDNqM\n        eFDQBZNYJBH3lYsFKF4485AH5peCCQwpdRHcaIBZ3SLSyJJVdpDYUXtDvmEv\n        SV+8bSgVGJTKHJ9kAlzaeu5xIaf0M8B/iZOh9U59GNHIoNO4BRPGzLuGeptG\n        mw7kIrhdyrGGqyUvZ8IbinQd8pBy67wKXbZj/rKm4kVIXKW/OHDEN0InFHUh\n        sX7rzwDR+cj4sva0sReNvKtYj9XKA6msAtYdExRiL2qDwP7sEWMhjSsn7Hfi\n        s7WagB3bb3dIAHa/DY860+BV+9PR/OAQloHH3EXt9mKd2NIoJE2d7NkQp4Sl\n        +UhEtX1c2m7RloY+AhpzYT6ewdz4dMV+xQQPYO3kpW2kZHybKDsJr8EspCju\n        cVJFDRHlsbuJGqYPv6foSC13zQTIVhqqnavFSvS/iHMRGbtZe3HtWSRd7LHL\n        htzhcos/Nm81C+QVTmrWu33dUa3ddAceqUSdmD8CKZP0ERU7vRMY3e/IgwVP\n        X3ZORP6PT+61jL4yWDmZ+s2u+dRXED6W4OEFMnyMvizIR6kQcn7EBdTvuFMF\n        Xh/gRDLMGTMmKz+6pe0FNXTEMVDen4rgCTAMERNPiSiNHED6FGU9ZXpO4omQ\n        Eormv1ZnKLeTMScXIGmn6P41Q2+KmlPEBXFlD16rXjitVuKzWpe98keNQFJQ\n        EHoeA1fmuyvPyGPvEeM7MX3HS08FAr/AHS09+1hpcBmZ/4oEHeQu6RjdyJk0\n        Vl69vhAMJqIbbV6nwZTR2QDPPkBSPH+Okwyk2+Nw4XDdvpouQSbxoRKMGGrv\n        mLqH3UAf0DtFwCNH8noOGmoQ2TvQuu5QV4dWT3QZp3dDOcuzajrTeGA8F8HR\n        +al/0kwBb9NxvlQzGXbe6hSUShcPq8UJoQeuvSgf6jRk0E5u8i1xEGGY+ZxU\n        PYUExSwpg8sY7xuDk88XhIU8SwrJxOi6V7FCqXxYr0nkKRsEB7PLX52rWrw9\n        NAwUaD9bhBWrwjnKWBH9iTofCsATrMqV0wmmMnwFpnWPd5wmU7mvl+RZn1eC\n        7s3w/07RmFCGafmTcdkmSkOBwr0IX9C5QXYS9TNP7oilRD3C94XzHQiVeCN2\n        G6JkngXz8FrUE66FyXiOHjJ8iVYLk5q28PwtHobA3qK4PPg2s2enMgmRrM7W\n        EFdYV/f5p4zP8SzL+DJTyukGPT0huulYpKc7TBYKPLZg4OLixelS8V+tATga\n        731i/yy7PcPb0/GyYwms7+bArcssZ07qOanfm7/XHgl++cHqrKcYIb/Rd8q1\n        zUgvuMwkJa+jMaGFuDVkIsVtR6xy2bQiT0pcPlLqFtUoiceJm2gJxLUsj2p7\n        w9oEfFSVGc6N83WxPMyd+hS+aSakIDcYH/JwG2D2PTnNzOAybCxek9eojcYA\n        GLA3xsW8X1EWoLPMCpDVJzusT5ObAEKGpeNCKq4VcjhClgIK6UdNAPZmrLV0\n        Sx1XU77vvUrU8VfQFC4TfPVumaWUTEKLPkdiGqfSnQkNHbtymxQIEF8kkAMI\n        x0VYHWqJH5eHSfiIqIJeVpyUX2EPETIhKv8O9LQJ2LR0XAm6xSj2gDsI2i8c\n        nEf2BZifjGuTr8HAtHko8yl7m0TMD+bKxcudCJ7CdISS70qDKWB0FkkcmRJh\n        7o0SOhScjnDN9vfWNFR+i9jsiNjUdCJzjs3JDdOEBb4rEeAeV6RnTbvOozZT\n        rRFX2frdt/Rfj2auf/r0X14TaAfX7BFK683ROy6rMHmbRlfxho6EkTqQyAJI\n        C2wf1DwEHM4CvdaVK7IhM+PlHBoHayEmS8f+05lu8sbZfJEAVbCMqS/4pI8J\n        60wYa3t48Hw/ePIb/G/3/fvdk5Or2eyn+fynotgr/vOpdLf05tOFcXZxNjYV\n        8DxIjL4HZJEsNQi6anH83lC1Vma4LRN2KJd8+gQFdFSECm2QabMe2uNu4Odt\n        oNr4GYTGoo5tllcKpKkD09NKBF81k3NUBPNowFofdyDNw2tKJma/hzrHHfej\n        c7ybeRJYP2i7IitO+Nhr3NCuUqsldkV05PtkgA1wizHzZOqoXcC/ZyI2Bd0x\n        gFAl903XatjoThkmTkQNJPWBu5/ngPoBaz3aXWErjVLh4Y7Zroty4r7/f0V6\n        Oavmo7TlhutK/bjCu+GI4tuINckPupJAGBcoPwPLI++6FDQSzGXA1rZYppLh\n        R3YMuxZLlSTGTHrhjLijXBfqpUTPHu6WBVJlyVNp5n32PN2rK1tulKnUPUI4\n        cXfwISu99Gk4uIivICNgjElaZ92Rtw6/DXnOEETrnDCPjJi7xOnGdb1Xonau\n        6ntdsZqX3pp07MNL3c6b/n1FGi6KWVb7sCGlkkdsqdwObbPBiut1tALaoxYr\n        3Jukg8BnthdtRM9czYKiO9TFmU5qa12SOdel2i5qp39Stk2FpXjiEC95F/n8\n        Gqy3sluM4MB30TQ7i6NIKOdicUt+D/oOU26jehPqW9AyWxR1DGlpTdbjXcHh\n        p4ZQo5wNXevyZbbjmMRvyaqJoFpSbhO3GqN4OWlbhelW35GYOHg0wSxBShPr\n        6wGKbiLH8DnWXdpM6mNPk3oOBBs5nswxiBNPhZpUsnRIIlEawXiHaEBvRxpd\n        eX7LC30+KfA1+A1k34IijhSMNneOLV9dXK8RcssEBYj224TLbN3ltrE04bBW\n        33orrThy2c2qZV7BKKuVTLLqZJA+foMOQ8fLcSIuXQefzU5P6aoTGL4+yshE\n        JwR6jauNe3R+KvUJ4yCBrZ1KP/q5KGdZ1O7YG46ASIAsDKdehfpmC4mtxkTg\n        F9iBVp0shMR+an5Eu9Z8HCchnAlmjVlxk11b5bcELY7TUclR0g9QdKv7LwmP\n        xXesJTqXwTtrk4r6UCdgtdkiX1s+iVUVL7KaPG1ffQyaN1Yru60fUtxeydao\n        9aFikcc34Xg50G6Rvelds43QuRMUmTTIyk6VaxkKJczTsI4Y+RKgq0Kdtnqi\n        kihwympQ+mN2uhzUXGKhbhNxtlEpDzs09zofL/VzleKFywDFA53vH4lcbTkW\n        AOIGIsrap0D5XbYtAGDhQr1s8URoslmiemnQLdlxXJLDZ9dpyS+seVj2dJOm\n        vlf4Sp/6NVv8km8DG176G4X/kMiHcU5KIccB2heUdt67UBnbNokJltBWqZxF\n        hzmzDTXy/neShOTjicwnRskrTOV16a3gnBws6wnEIN+x1/eojEnWnEkTQSTA\n        muIMIw73vU7RWwfZYtlSjaTdh3gVZfXwCPYRGEG9+l6531Uwk7jFMVZNr8ft\n        VpO4+09v47yqlk2JSdhhgagjiBO/r0tfq6QZTcj0c0u5a6nvaC/4mXUK0lEx\n        R8JPgbNfPPi1vd4MhMof+tszjiy/7MiI66P22tOZXFk6bQyR7971OErtNLN+\n        VMHHymIXGfGYBmxGvUgsgXsjcsy9Ut5m+XXw5Pjkw1MtmSj7i5ZU5Ab1xInM\n        ZeorlQ6CPMEYFeR5o3Pu1NlqnIuwPnFjvChrB419idaKGlN+iHXQS+nzSjdd\n        1/9sEVtWIqgtJCrpnv8PE6vF8PbwepHswZpBt/jBX9xBiFaTXNHoIy97d9TN\n        Kh6y5u3rGuFDEvLhYodsZmRHD7WxaNj0k3gqo+ZPi6KOsm0wbc+rax6E2155\n        Y9KSXZy1dQctD8gYIWL7GeYEZE0qwSPCvXnHfBwbQkBVXRgE7qX2Kabx3fUH\n        7X4jo8EvMAX6WBid01VT5mUkrkQr8jzLawUiNtzLMT1gng6ulWwrrisWQ5CD\n        nAt7FYHsMIPBpszexGVu6cJm6y+WqcT85cw0m9APx1kkxr6293FB4rXz22WI\n        9rWL5tj1D21flrCqWcuPV1n2PkyXMmVX/eMojI554wtjWUe+eY48U5ygF1vz\n        Vd3chGaaLbyNl/EfAsuCNxo/3piQycZL3C4mGcLck3AsPqMAWberlEVHjB86\n        25q/0keNX9PM+MpsNl6vm4Enpe+yhamjq0S4zelyqjhGZ8uvDtnUbS3v6wyP\n        aBm9MY0F8meJoJbPz/MME/m3/Hqh53JZjTBpI1oD2175lGpD2KMzxv6Z/7KY\n        Zsep3B2K2y6xbxOHuzpP6dgKdtXUvGmKWTtOtc415SoFSnyXqo9MLOqe63Fx\n        IaoCjSIbWF+8wR51jFMue1ZhVIZZJtYOxTpqWOdgM26/ZQrCcTafS7HBCMMq\n        WGBRqYUKSufJg+OboAYugyieTATd8hp+9HTdiGZtoy0bj0E1BMjqL/ACv6Ao\n        JzecSMcQTcKkEEZaGjm8ebu4GgnkBGBiAu31xkXqhwzrxHAvcoRCgsk5bho/\n        NrKU3obL4qcg+D3dDY4AsEZ/veBo/3qOiQ4pH5Tgy8zRki48OcoHAyDzjAJx\n        2+9YsXOkbjOSeo9iIPhqL4gwSA1xSo0eKAoVRIZBRWwI4C8p5auM68JQYdtB\n        nULZaGhOXBlSpBcTVahHdz3ZtVLHTgM+pLDgqagzjuxhvSpuN4P7RYRJOWu9\n        3fW8tKaqMW4oK2vHrUhLR92NFMMLdhDQ7KiffbJVh+KXbaU9AWL6RLo9ehxe\n        bqYskdMFuxvGOrQMTXvqShrTashkXE91T92uGA2Fdg3VSV6LY8Zjm5+3ivgg\n        9ZoiZWY8pdlJWIaGYHdtynR8FX0XYk2v43tFoJnnpTWp+1uUWUeUmWEGGSrO\n        zDRLPV772poRZh4ytGb2LbzsW3jZ3YaX2bbbNka54a3bQ4YAkTfXPC6NqG1T\n        KpJo39Ycqk29VvhPHTIgK2eM2HBKwipQ5v5z+B9CnIfjkiKzHSVKRuY0Elc8\n        RFiOUkLQ0Zb91u454GZz53q9OtKzvgabskqgciLKW7zG36eJ7784NFaFlmy4\n        i6JOv5s+t0mtm7dbhF8tvLtVq4AFTnzmffMW2HLQ8Zds9+gX3jO9qWP4V5M7\n        1Hcxk/ZdXXjw0k44Dav2uLTcMRvemg3LvvsFu2ret+zbqPTkUIS/EtQ6V0dK\n        hmlBqMNZ6W2VcNZHAW4u2jYlil9TK67yySj3abcumZrmSum1XdxUXVwa82rZ\n        hc6rLSi/NChuDQ/pJu66ML5Bgt5mAiR7Ai0JkvpFwWgnUOCs+K1aQDspUsf8\n        R7WDOb55gplxvMm78VJjWt99eNy6lqqYkp2Rx5qfPzdP6jjrGyniiCeKdApM\n        ye9YTLl82nzvf3ix9dGyZhYtzB/2Szlf3078y9X7M7YakFRAHaH7j8wXTI34\n        d+FZX2/uwvctibnWyRHEB7knY18Thma+RssSeeqjS+MbSQdKDuVwEyOoxs3V\n        hd4ALBWRMzn3hj9FqixzAwiRs+9SUc0NGdKbJKwWybryhekcfa5xUF5KsTma\n        fuX8RGOdsAhN1BhFWGc1cu3UZo4tnhi20v4KXfKnuZKjFKeExd7R2fwnTmqg\n        91UtKSvbWDOjQRBrY7QMYghUjBv57D9QhqNzR9WVzFM39+eZpB1OtScMR/DR\n        fUJtmCgs9y0nqIprntRZIZAM6l91F3WQYJwaRS6oGGM7P2bdtzgX+bn/VFrB\n        h+34QNmbSlAcqZU9Oj81rFJN3sms09YQEAsX3N9mYLl4rIFraP3dEDmUARsA\n        F9ClDNXcnzKOiMGSfc2b8V5zJ/UaFhvSn1DdLVnbUgr0HHVhWUsoqhAvN0C9\n        TrEoTcKRdgWoRCpQm6OjgRHlhTUCpYpm9wgsnALs4AWouDwIu2gpAI2bF1DP\n        nUg31Z8EjGLAcTCpesKYb5ZKAtwx3sbrSJX90Ex9ZoC7Q9n56k9Uik36CvmI\n        DOpQ/I/dCZGFkuHBgMzgqIrL17gtDOTybY72V5PJ+eXNWbVIgNeo+L2C2ibh\n        DQYqCbONi7vcoMEj5zsDLG0TPTXf4WKqwE/h/FoaLZgoLg+CK8p6aBVhojOt\n        EEGNPjck3wCcDcceIgIRADCL8TrTPKsWlJQWw97CdKlqExTGMjEh8JooDBs+\n        dHXwum2HUzR2esIoJapgiUvPQFfn0IYg505tCihM1Y/6jMPB6HBXR2ughzul\n        kl3mnaFpIMTb4Exd/BIINfScPjWKEBsygR/zZQmk/gQvNvF6UZmo3MHl0YxI\n        c3/iq1EJ2aq47m73Y8WN7qRiBdKqLlJRNfwFHrs7cbfNUfNae+wHv49QcK24\n        gVCveRVoV3jynlLNaZyZX9PWqz0glD5b05aK9wuT8yblekjU7L22inQZDYBU\n        dmTgr0QT/D2mwttfMHWIlAixrC46i1B0xZ6/3BspOx3755xf6KAuVV+lY7/o\n        uri3Zllc/NDmhf6U0H29thXId+CzrSCsa9HouhqbempraDf105bNJp6VBuZu\n        Yb/81ukM1sU/16hrC2y9LbnCWnK1FAuk5FrPr9UK0TVxKn7ony79tIkAix/W\n        bM24sApTFg3UbzUJhSrQWN3umEpDaMi8VgyxOX8atB5Vk0aTgHXXBudF+wYs\n        GAq3SoAi6Ri1XvR0xxfqGRV87xintWWEoDMFy28y5T3JlKakN6hY6ZUrgz+T\n        UMlpuL6SN/0O2ntC1sVwymT+k1SENMTGiHqj1keYHI+2AguCwHYyaS69rmlV\n        rwezZngbB/tex/sMIuOeEpfdTs6NmzaLeu9PbB5ChVpjUz+X+YXIQ9A5pmpp\n        qCV8z6o1+qeSoH1VgB+NGI1E01OUrosF9xfC8Js7FMQItW3SmK4c2xAX1hPN\n        aA7DluCy4G9mLFkptvSS2dr4wRp+gOmm/hZcUW4uwqLKmZXoSrntNU136jxi\n        zExlCQTMTkYow4Ct4MmViUDOfkbZVOik5q3HFwBtvYXyiDD7dV+OC6NATan4\n        5VcNsCamp5bVDoSCynQwYa4mOJuqyuXYLLJqESRIiuu7hBzRibI7FalgqQd7\n        MaIHmyyI8PA4lhfffLzrezVzC73Ax88dbHJ81V0fK6E+Yh1/Pju5z46+Co6j\n        ALrIl44jf33jFad8gcU3E5x6cSX76XBAbn1tXdbzzQW53QXZOj6GcEI+bxzx\n        j80NedFCV2vILt9ckXmzfXNFvl9XZJ8s3M40e7gjuz6NHiE5NGyVxo16owKw\n        zCer8mF36qH36PBMqjhndOVU+TO2CKj8BC2ivATxaiOn2mPlZM15oaUN1XK9\n        bojuQPzoSIszGdj5WioG7RZlzdnuVZVtQQOZDbbzUPEZcjwOxfZrPTzDlBa4\n        mekZU+4Z+ZE0HWL+iDBvWqINN2zCaBj8IfJsdxSy0TQSX3VCyUmcK/RRRt5a\n        XwXm+ZwtvCxVt720z/ZB6A+otZytNIMrjNyNLz0BaVW3aMPMPfjVKxHD2h3q\n        hLiof+zagdHqyyzz/GvdPLat3WNh03tJHqGO4egx7qoHKKFgY6Uuo2DWT6C7\n        zz9F7QTJ/zm4Y7VY4QuTaLNf9RIq/Jk0V9mt2qWHbTP8Ggpd27jBI8hl27VQ\n        PbTmbxrzHWvMQyrLj1tR3kBJ/qYgB98U5AdUkC0PqBYG2XCS6ud7rs4t0wFM\n        ZSfqDAvbNqOgDJKS+7TQ5asRmk79bnPRYeWgPYSKc8shzFkE0xlsjfNp4xCd\n        ozT4vXr+/AfQGHCP0N/k/Ra0h+xQIEvDtax70t3GmW+GGdccohXJO7PJXJlD\n        kl1GlTZwzTJ8AdJhjmmL2Fwn440drGltY74e6uMKuC1P6cU9fJGifRxOW1xe\n        cYl9U9vBNKXRLsZ9ucfu3RgZtALygCH74XRtQfRXsbzN8gh5Vrdy2yF++kJe\n        H49W/qdXyJvn5xB2mR42mbWi9Wxv4paDbKOMZ9uX6DEw+I+lv+fZPIMxfP7C\n        5k/9BYMTo8yAik+UPZk2P/9pXxVlNn/PBdPWF6UC/l5VXMOTPooLEpS0swjD\n        IiN1dXmi2KxhF0/TDD0/AP+YrJDVFGMG7Bd4K0Yg9nc63+lDycBku1321NYq\n        HKQ5ahz/9mYpfaA+oieJB2E96qaoePk6Chr7AjomRqZK9JGSR24mEqN1iSYf\n        Ps08kuiuoR1UeLsjBuchJrNDDXIWJpO6rJMBRIO/zY1UDQZ+T1OSkK749y7l\n        VcwXWR4m9U0D8vrY9J2pE6naa64QIaePJzNgT8Zx7mAOz+xG5Dn0wctXS01z\n        SsW9avPVEq5n+ymiGWQDgtCrEqqGKAnLsNIwZz08K2QQJkfUtG/WXIxpv3yS\n        vutv1k/VjvSHVXbINIa9cV+yrKbcmva2UMIx+WLJi6sMZI9rlZATu5H+9LRE\n        87hALOxYX8eF9Gajq42RkTlW9w8Mw7gXS1UOaSZ2WWRoiHpL9XLR2W5UXvKx\n        Tc85YmKuZvo3dppwya3uJG/9pu5hp55p2rHROnhEU4PxM7ETUuS0fgf6ntLo\n        uOiExZTccqPEoGJJgjPLguVzXZQo3CRf8+qZys4755onXKhHuuxjmzqENpym\n        c4Y1uBNlePhspqepmZPxW3/edBQswjgP1OfBMzb6dl+u2FmR1hAHWjINrci3\n        0yXlyQ6/lx6GfsRdNO5nJdbcu9meKDNCrphpkyNsPIYfKEBTRzpRGhCK5kjt\n        uBqnMOKDW1oI8NwI1drhAAwnGiusw3PsnCNYSh6p2ikcXF+M79Etg9ay1GWA\n        jkix6GGja40rh1nL7Be+O6Z79WbpjVrTeWEI3LaYyO7Hd3itmetIniGmbZ0U\n        Nh+4FFjqueNm1PPCt3tRA4gt70VVLhjnVrQgrK9zKcrrxHlqHufFaNGgpBXX\n        os0Pvl2KPpq5/ukvRa0N5eOJ8qd1pCS5rSWaOmLUQrcItg5tNm4SDaYhJyT7\n        16vmGONh2c0wk+CvsxivFBywDBGtcYrFlPirPrwoA4vWgeKyTsBECdswHhCr\n        0WLQNZoJsXZmWIZdIt79hJw+Ck9Ez8o5EUCPi3Uzwfdi2uY5tDpY1dxPAwer\n        OsTtC1XFNDJmgm03MN1aHtohsaX3S6shd6YUW22sU9cV+lrFvGP2ve25U2xn\n        TP4b81Z8bnFr7qBxjatzXcCRDQpSHaTCOw3U3p3yJ/NLDnLTbm9jD33orTf0\n        XXz7HfxAEG5zOX7ky+vtLK81mJUUU94SrM/n8KZTFfdyNKLgCRvMMcsHI+sp\n        WZeqxThDk/czTq7tptaVBv694GMOVAt78vfv0iwFcVX2n5N2haccJtXo7qzj\n        ci2x8nrjCMa9muz0Toyh2/oG0L0/rrHtJJBN1qW9e3YcuP/beZv6/+xX9BZ3\n        8m585ySrRg1uo44w86e1RGzjQ09Kpi5Rm4LezO8xCanVH2x5mU2KX6Yrw1Tc\n        qjQzlJZIRd9oy2CQyTeVyZOj68JrKjVGCKNawGEShColU6qgqiUWvi/CI1cL\n        HzI3jn7mbEZzwfZ3ShUtbT8dx+qq9DbmUgyWxpFlNXQ/AL0gHluFuc0V+DPl\n        o+mY2MNL+AZsqyR8c2v2lfCNb+6ilrvRvVvR3Za+G36L5qYf0cZ103So3/LL\n        ftNrvN81Uffl/lMeVfLL1by1M1vNqu3d8z7fhU85ScBugNMQOZjLmidUnKid\n        MZE4FZfLq01urM2rD9UR7wcLiph9s5+QWZ0ZbLGDyeTzJfpcTJ921CdPElNc\n        o083lNZ8MhqcKqdDZW3EE4ozVUiBw8IB5yzFraLWDH07qbwkOpf2jWqlLOdb\n        ghwugBC+xliItZF3vpYmTeC1sWrNHJQm1XfdfrS99u0OxABiyzsQc0GHiA+7\n        bBxQj+4qpIWs1jh5v12L8F77di1yz9ciHkmunWcOZn1sEfB6Gx8NCW+lg+89\n        OpnU8p+Zi9Ra5PvIqWIdqXeWUsUc5XudHfl+4lasGT5c7Mrdp8UwJPA+qo4a\n        aJMYCuvcVnEU8q3HkrRC+tH8yQ1vzs7qiC/t1lQ7GLlfqx2IpX9fGJywk73r\n        m3BktPcVomkM6R4nrv//tjzSd4PSNtYg2+mqPip1/En7iAOZhhv920SqYXII\n        sm5fxyJsbGLar7SVa8dlNqCu44U6E/F0toGG++Qj/RkmT4NfqIsWNtNX4642\n        8PK+ag4Hm+/TxZnrSB5H5WyrKf4Ve9h0hi304Ldg+Um9Z5YdEOIxJ7omh7De\n        etbGWI9EmuVsG/uymwtwYA6Tqt6XLTaAGdDSpiPht8HfqzBB+1i/4ebh11x0\n        spyuAeHreF5xjY6kImSvObyI4mq+8fD09ZpDFiWcNGHuk9l6Daq+7ztsC/Vf\n        ijYzlfeVbyYqA4gtTVQNKaPL/tTgRz5Z+MFtUKWHZlbYn3yfPLxFwjWROFvD\n        +bX/2XAJc5bmoYX+nsIzsUoNFa+tFnhqFMqLm+BjoD5TaJsNyuc63K2n6GJn\n        FffX5Fx5wQus5h3dE3vYF4F0pF9o2wckL+H6cSEdJcrnIiFtq67N4touVt0t\n        0/h3UhvQKWyiPrWMRzO3xDa/GlLGT9QnF9g9XrJ7JnaDPq1Zeo4JfjpmZr3W\n        PTXzVTU3kY7DBRAXezc15kfxdvQ+qZ+qqjJLKQh97Wd3tFig2ltXzDPw8rV0\n        zTB3dhpM4kSsoIefjVc6MGb01BNb9RLjt4yyW+1ZwajTbhc2neAH3xeG1AJa\n        aUWUAX+F8B6TjcJpJMbFjiqlPYpLLAkhq0lhVSsZ2IO+0FYYujIl60WT7mue\n        QPN78VgwecuGRiL2jOmT0vTBT0QCdcURyCHLFtzoxsfF5qG7FaR95nu3Y7l8\n        fTfY3hzaiZSUaYU8EGVCproSPfYnPyW/Y0V0OppMuws1Sk7pkh1YJ156Ju7Q\n        MLqCGhb3ihzfR39OpE2Lf1LWISr0BsBbfRkU2rPmJy/GAxb8nGepKOXYK2jm\n        vefVLg2n+foa7NH8WpdUai+V01q3lCC/j6Klqurb6oqlIBuNBeVZWIHw88aL\n        XTPQL8NnU5IG+2FbcmBKxiM/hFnU3bHJ3qq5SKcQb+Ra0FO2bGXZtnzYOV+M\n        2atcUzyJEGNFyd4Wyk6Dlya5mMMq4MsVdJXos2ICjQUGrDhAWrGqVPsHywnW\n        Ttm3M0HW8Fr0oI2BYxLbIg4ipTPl7EgHtJIzSU+2jf077Gt5Ay0UkqSuthgW\n        rMvYvTgxBVrE01QLTAssFBlxcngrp51eAyq9mIfja3nTK3u0zlP0LqesMb3X\n        cks5AAbBCa0mafOtbno23uxbTo0/0sU6JbzqYHJAzsU4y6PV+/DCfa8DbLfP\n        NVgeHiVSolN3h3CM0NLWiXZk4p2wkCOJqHc9ZJrLHTg9Sp/fRkCTc1+C88F9\n        OM1yN8lE7X7bCnb9Rrd9S7nx+qojNzx8fSdJaxVADceA5f9UrJV2qd4xNiuj\n        zM6Q1oiTKarpFJmnLcnYMBuvdN7d6de8RGv+zgUMFIfPFossL0Fyp2MAq/zO\n        YRZWQTJlcJTcUUuKil3aPGkAdlRmi3i8Yl9fme90uubU7/Xczz/nQmCtD/62\n        60rYa0pic8gI1vtCIG59Bhzz5zVNrNI3f/3sfUd18VbVByzKNMy1fhoiVGgg\n        ArBcsXuQnKv6UDSdRG9icUu+Eg0OHxZZuqEVEK8kdhMgNxntnMOJny8p02mh\n        5EETEFRLYPageTjOHFjY2ECL6uD0xN3LVOQFxrjYBuy6UDUArbt0wY4LD9zB\n        E6x/rGSZp32nEah6JiG+HEf1qOodXYiecSibHyz7yRo7j5dixf6TL61tUW10\n        YaYvqivGW0sXatsOaiEjtRrsKqjp7zMbEJvLxbFBnKEQGRGjgmEgcB4+Jn6t\n        VVcde6b62EJb/Evex87TJLV1RL7G13cgA3agv8/+6vB87/HBtwtGcyttd8HI\n        DFwtJ3MM5ju92EYTgFXE+DgvJf3bbg0X+dUdPPyFZTd36LMNh/LBk0ea1A5t\n        XTKxM893nU8gtojNXJHqQagP6Xusk0f2OmAc8W3tTUh815GcfJoD7X38kbKC\n        YOS/ZYLiwtnQMifXLpAQnqMkSNc9T9ffpZf2rOzt2k1P7qfdFOW+vSZXH1iE\n        cBeiocsMRWna+abX8D6Eu9fqFn7tK/X+6AyTcTbLkvZkGKuyZTesrjBPzFRR\n        q+1Ux5KHAZYwosjzqTCSXlAsZIHZo2CJElAzk2ABjBy+I19JjmsJydQbj0EV\n        R/NtlZbIQJB3KE5I1oLT46PzHTImoK5o6m0NlZH9C4SPnlZMGrC9W3+PNto4\n        weBScvvORTQiR2HZKg18cG7s5rS9CSu703COCSmMycNEo2D/8F/90AfsSSnq\n        5OyYpdxVTE2oMlaXjZ5hOFyi2xgI8Ep3dZul35fGxZxPXXsH0F64Th39NgOr\n        KDhdmT5AsbOOUNd0aSUnme+/Ok9qcxw2HLgNr6mBnzfPXlL/JXtq3Y7H8hDz\n        7Ub929qaovqyRUFUJyeLarixRkKkfKEh1UT3HLEtbp1O649Q7VtX2W+zPD8O\n        QVOtbh+ZUtPQOiqg+uiurP+G6OZJetBxeCnAVimA3ve+6X3BcHqfuYysPdSR\n        qC7vsFz+gMxPUwZNhzHZREGp5gsV6IQxTjvat01bF/nAynl2RD9+xtdX0bT3\n        yaPUL31EvQ4L+BZ6zVv9W+j1A9gN3COlg2k/MisBcLN4mqKq3CHhW0jeLmpP\n        cUsrDlaG/XolFM/+/3T85uJw9+D57psXh7PFizfzk/MoLcd/GSoszgahO3TT\n        5yvtW/3hc/hgDh2Nzs+r/M3H4ebhj3rTy04KjxuRrcnqF1nPbVdiJmFSGDoM\n        amsDpuuRqGroZIqZHFu/twkmMvqceQFrZ0biG+WbORbxDZX+igAbqiaSTAVX\n        jGdi3sw7yvr5Re3D7wHxaIwOEOdoFei0lTU76xuQTh/yOY6GMsVZ4PR+AqvH\n        KTWfkpZMBjU3shb9z7anrLqfTtpCy5D2LoPDhALljG8BYC5ak9bhXfXP7WQ4\n        M+ofFZuWzfNRYBTPRVpsjx7VzVrY+eEEEQJ/vHAv15WX/GZGu2Z0hjS8gHZg\n        XpDrVA1qOHX+Mx0G51f//P6fL1FLMgpmJaKkHOnnV3quxmaj3gu9I0NMYh5n\n        rCoAjupcAKqb99RyyZnNUDqR0MOY8zitEJH4ApsYix0VoQF7OVnyrP4Zz6o8\n        HFN3C9zo2r9Dda4GQ9PzKKPeKSBXsgmGlxXwOoGWGv6J9kwonjpItZJehzU5\n        nF/tv3r/av/SoAaHH8EC7L+yZvhqX40SoDW/kfR3DAQmoo1NnBa5xsUX2eEX\n        bXbrpls1fqsdcgrjdHNKzzl70fisA/rGGHfEQBsu/7L/QMQaL3ZI1V4DtL0w\n        STJ08tFVaLKeH45ANrw2Puwt1TRxuVLMaUF/P7nn7fnF2+Ojq7cnAXdjxbrZ\n        zu9dhntC0+aWAEYgxQ65jn7uulv0XK/2qTSXmPWCVHAHGb3V0a2yV3PpVmRQ\n        2iRgJLTXI6iFpHKGIagUIWnVsdLduNPV42vqJlf9BbzAZdi9g+EVA1GsnPp2\n        hZllr/e/OnLgu1sctfx3tBxm90Osh3/zG5GPLXvdfGNN+6OMcFxbADlBaU5V\n        9OQ+tDkixmOtTcSTLppGSFFcYKGUusF+KuDQ377q5Ur9RKJwk9qQeI5gqOkT\n        NEPqDLSoaoRPa3kAWEMAcwEqARqLNKIwz1Rwimn0ydCTJJTsjEYQHOGTwdMY\n        FlrKZtwx3SwUIngyK8tFcFME+C/ILW9ZSmGlFHqocozhAOh+Cp49m2bZFGSH\n        qNib7kVZBYQ7hvP+ei8V5TM0C4XRMyLpcpZn1XRWY+XZjwcvfjx8dfDq4Nl/\n        Rf/nf1uE5ey//HBS/iK+8J9vEFXQQjVv4LEqqziC53enl38prz68++3v4W/J\n        y+LXr9nnm1+P4IVleUMvfMpPw3//dHP6l5Ppv+Dd87+p7B6kTBE+gnkFbAZZ\n        K+BtFBfjrCzjIKxwu5cxhycET+YFW79wL47RyRlFu2wUo8g2qeW3p9p3gsm0\n        58ZrMyY0A5j7b72FExzdi+me21pvTVUTDK3jXCzMn54YGOLrZo27cZZdx+hK\n        +xazfhEZ0r232smOKoCD0BrQGIpydyRnRtJX7F4J5DYLWGETt/nXKob4czNE\n        2lyTRnh0T+sOp1xCQ0mMNs3EDIWuF88KfBbjWQrITVyToBPvzHHO8OmoksFf\n        OtDAFGSpWJSS0lk52gF9cxrrgENWrGCFpyIDFW/KYobuoVP+Qpg4VHaL6xie\n        mZyPOiH5FG6GS8gQLqIwLlrNb1Fn+nRl1ME3bphuao3Wl5aM1T+qp+wXejju\n        /M1i/YCDK/9kMUllNh8RSmRpFdohCMhTFeeOaBihzLIQSt1sy/d08LKZLwIR\n        7isTvznAsk+drdEeUtYyucJcjZuMaiecNIrIN4BZO++kBDg45jDOZLkjbRqo\n        a+DecN5kswBmJSHP9J+C4Pd0Nzih+M40Wf4U1Hks6ZcPIQYfINzmT1e//PLT\n        +/c/XV7SO1c0K/KAg7/+yFL/u/9Kf/hNP+83oz/b+OPgk4wqCew0NjT0JTBc\n        hg/hhiutQZCUhZkirarWhoCtTA+huf54dMkSICo3vaYL1bknXcZl/McwABfQ\n        Ee3OZcnFdwaGvP8abJzT350SQRMSl9XZTurIap6BEYcr0LlUWDtK3WvIyrr0\n        qiiMyctzrbwrbDW8rfLxzKoMRezV0CaycWXrFxQSXT/SyPWjDM6tGwjSAfWN\n        9bURHa17JmNvPUa2dyI7x+T+bdQAv0/zcAEiHAp72FttnbQckRZJOBaGbu5w\n        EiumNzg2ukJmSiZ91C+IfP767jI4fOlzyNta8rAkqTuWPKzBNhA8PtczXkeY\n        NeWVbrnWfLO/iHvarO3klbG88uOWwpI5DDAe2dvONrIQX1sPUgCEoZM9mqU0\n        OEGRopi+iUcpv9EWaKLvG1B4oqxvQB/O1hcGj8xqj40StkJX7wy4fzgJlwtU\n        c5SAVd8sgWBV5bt86SLfJug7tOqWfdJN8OabWxG8b2u3eGPg5RPeR2ce/DLp\n        9PBcYG0O7TlxQTlZzKRpO8qgY91rm2/YWriEfaZ8Z2WfftGCzTs2vWy5iU3c\n        DbSJN94pCr89d8okZ49w8bN37n3XU8+d+gv09OlxFQJ8K8K5ks/jryLxwdWD\n        i4kUkRA1CI57pjwr1Htf5pXLFGab8a85smPbDRqT7pEfNPXMMoa2sRj1B2U1\n        LN6MwI/UjnGvlzwi4RhvETBMoJaryBAv8uPmL3YhUUcYrBYFDHWS3aZ3IgD6\n        hL1Hz8QlnJTy+i4olTo2CBUphzweAdpxlSiaoc/gdeqGIm1MRhnKfr5wJ//r\n        fz77X/+Tt8CXnvTvOaveCemR1OUD3nxpTSvwNwfwrotF08trq7JXtFjSwcyS\n        yiWgj8P5ukFNfTyvmyToaGAP5Iy7KnziW9jEXYZNDLZpHvF2WTdG4VtsAu+n\n        b7EJD8IO2zPh2myxLQvuho7qlHa2UD0aeQc79N9xWYXJ2zTa+OLHLjCmk94G\n        3DPIqiBpDlRgjE313Ak58qGD0MjMf8mZOm1A4JPsBjO0eVQ1f3kyBv2yDPPy\n        7tBSYPcPipiRmLZYu1rwArK8TKX6mUO4N8JMbY9TgeBjdQ0R3OIhpnwLnKTN\n        2oHLDt6j+Zr5myfONCk8QmaA1aHn0jGnfouy+NG7iLtZHEXaxUzckpbpJFcN\n        PmTKUVqpwEWZLQrOjarmUE+2Rp6Ggp04ahj0rWndJPBWL7jMdhwnNs4CjKBa\n        Rv4mbjVG0QjMVypKNSPXITtVNc8nTLDisdq5PW086K4UVYmI7oKZ4M5Q/eOp\n        ApANs3FOJ7aWzB6AOl9c7TKIqJYkZvgftkOIem+cYqepjIdA//b+e013djds\n        yAWXeMF9VYH0nZlmEnLfWdlIUt7rjDzTcXnS84iSeYxhUdH/W9+LqhzST8Te\n        dI+Dz552nZr2KOutSgMky7dauQTy+4PUnVs54KpgO1/mdc8StSZo30CasfKv\n        rxd3F1L8lkdY7BvYpaVa7qkzkEIKxRJcQLEKv2tF5rmVKt7En5kmvhfK+AOZ\n        t5vkctMrEI2qIziJOlNrYKb4X8r5+q6wR2nwe/X8+Q/AIFDYp785HomYDXVM\n        0UISRqoxgie1a+ttR1RbnnoLZ/4c9Wu6AvrzwuvM5uTbxZJUzGmEJ0GRYXlU\n        oobPMh5RqraYD6g7n0mE+oORFvnI6HsDJq8lvyahMiXggDS3ekh1JcVJulTC\n        ZH7dSZas6CgQXzH0S6Rj0Z11Xtt1TdWvsDM8j5bKSqEEJfNXyp4P/BlU+lxl\n        eUCTx5On6qv2ajp3h0wrF78fAW4e6QYmQs10rd6a6DCr+qyNjpqef4YOqlzY\n        GdDWEiDM5K+6AgL7U5Tap8hc/StbTtUlVmYhz5+xO1EClgSUM5vr7743UnPw\n        aO23Qs7VjtZ/f6bv6h9ALk8LvJpwf+BVk63ceFfxB/WET4sCVu7uqLU+oxp+\n        X6TlTAXoO+Qv3sisbjOF2o1MsT9n3fVIwFTCPK3N+MAwEkvMUmDAn7Br0FMa\n        3fXzPMt1whcMdWh9/yFYS7N2hke08J9F581POzZae5GO1VUn+PUexTeM2GEi\n        HGZksGHQIkHbNBeJuAlrPVrxq+YZGZuNrVi7dAsarHn37xvasnc0SV/h4ZZS\n        UifCy6goUNsp6wQ0QrYESXPkAtnBeCYOH6nhNLhRBUKkiCw+JPI5udbdNbMB\n        aexepIxrsbzN8ih4AgM+tXZbp5hwFU4LneIpiqwCit8b5bygdR5ew8DAUcIi\n        Zg92KXtxisISPQHT6GFlkLo26l0ydbv8Dx+qlGyv5uc2mtcQsD38qo/I3cbm\n        egnhnz28vpa6ZUU1FROj6zR1idckf5+r3bulhZI6s8tiNuocKWtZzTE09em6\n        UsSnBagHwMmnYt0OkVSVkwSA/tPv6f7z58H/wdB9qV97JlvKrAwTLP5Umyi5\n        QBsOqmCKGtPkZI3wIsp8HO3AznR2YjT9gry/cbuRSSBR2pMTIQLVYO7gTsbD\n        I4MVHyWGeUo7ghjKFwPFSSfYrwWjJCWEMxSiFepqp3VdhbWf5ZLAvkKcbaIG\n        N2qHYUd+pBh1SetFc7lijdF5SGVnuGakzH2HeZQpJwYmS1VDF62Y8DhVdeMC\n        t9mZmJQbBKt4cCH9xHSuEBmuonN/+B3IuMCaX3RZNQ0/n/OUBnNYWqMsWD8L\n        jFvwq5mgcrPkUcAltnALUHXIsJf22j+YJEYhl1Wg4YLZ7QRQJq7N1E/9vUDy\n        nkl+XRFtRci57SNYpdrifceSGeG/62K6HbEtReMsFHsLxvUiaP2prWu0l49q\n        X7Jk85gW5IFTkake+sJioVh9fLKFqZ4uUNA9w2hXrE0Dt0ZxvLo6HxYBHjDK\n        0hfCs/FVTrH1ZU5HUsZBkzFaQdqemn/SHJfv1IJz4RQCbKdf9c6WaRfVPYHM\n        I9uXfLfL+bheimorM6RNTkZJcD+AVxtdSR2rEfFrLQG1wMHFMIomCNL5i6Kk\n        zrap7iY7+kJhOV90rTdtxLQDN/TvIBGju1Ns7EG6vuO0FhzjQ84Afri3AlkD\n        YaoShTG8TKTdGHo7brj6jhL9Cd6oa+b25GYr/Ae15ttReftZSFnj3GLbwccc\n        FAyA8Xc63n//rtEHXuWv7qdVpkisqFRHhJB9bi0/+KQGnWS2zQLpq+Tdfhus\n        Uq0XIuGYYc2QZkntw0cuEmnG2W7NcuOB+AriZiEdU+qI4GwhVTjdnUuSwZML\n        UAt30dz41NHEqlGCtZWjo/Vppnk8dvCz+/J0qC1xW4jzyr7WLc5LgxoqjSq/\n        XbEIx80IdzLzohejNI2azEudmNulGatPWw+lXqkfV5Q+PaJs7cTeHKNXBwoo\n        fyOGA6v61sybdWZ4rE4vs71j2gKts9tD1EktzeSaskuZXUya5NkM6TfM614H\n        ceMw2e8qj43LRkVjSwZzqhn3EsMuWysY15mwbWsQboPC2X+yUiqsEipiUaf8\n        xenD2gJ/17Hi6WKxjmm0n0lE6pBDAMLm6ttZxvYxZeCNNKuicDhCjSkALYNp\n        fENKGYq+qZiGdGCxUtw730R4k2FAwLDzqF03aUY10PMwv5ZVQQM19Hp4v0ek\n        r8D4IiviDTCOxD7EBNyNpAvs8G7axCZm38q5zKFahzHcabJ88iOKViTLX+cm\n        xZIF5eUTD4JsKdUJS27FCNbcDdeZbOlOoQGSV+NIlss6aYp2q5DmOMeXQp3d\n        jqczv+w4UPgSFfOLK/0pOFh7p35UWdvqNvKSxbj9uilOqXan3Vhm2eU8TBLX\n        1+JoRJmZ7jj5ileG5rTHW52+so8ODFIyrRvgXvO5iTYZojRgtvNFHt+E4+Ug\n        l+zUk7phb50bvVcaa0wyu0EvVcopW+9EBeLBcLrFZ5mSdVjGIL6W5PWuEwFo\n        qSdjUZL86Tl+SbIPKdPAmYE1BLFEnBkbUMoQAk4Zu0NHDShNohyzb5TyOdAS\n        eSzDFmNKJoEzdM2IUksaREe6bWTStdzC5VCYuFRNt8DqXJTyX/lwmYRjX23G\n        kq5Ktyb9XStcucADK8Zc2IOyamVQ4/5RvkkbTn93wrTZtsuDdiVICOO5yboX\n        yxydueqmCPqjIUzOHS4Qgjy2mjnvnO22UnycfLKrh8DEUdJzGbzIj8ZE8MdJ\n        VjR97fTPl1WxoP12b3m4+nIac4E22mf2fnCIpP3CSiSiNBHW4mRkNim6aGD5\n        brBqYcsnW9ZeNF4B0/h5DfVTm2BNJx3gybPsFhmV7cIsL13N+wGdTmIGojFa\n        rULHIRpZIrtmm+1rOXJvbuKxHbVxqLDVIbNmr4antsdLexXprbLs1NKeTaMy\n        E99fqliw7f3yNlzot+Xl5lFVZmdwHtb2HfXLMWDSbYNthu5SfyjRSFNsJ8ka\n        VNn6p+qP/7XNVLWDwVvyQd18+UwfVo5yyCm9QO0xjTUDyBewKCZVUqdYtC/g\n        tdxRO4Ogmwf3bhVnwbop0zCPEvITtV01VZhhw29yJyCoKpUdBv2CmEsR0GEy\n        zzBtAEdHJeR84ioLWxANBx9aCoIkJactysZOC1nlnDZQ1I6IoTjt0vmBWoem\n        pm1o7BfkO5uTWNNLO1z299EebOunWcoh6yiYvs9uDDxgtvs3/19739bctpWl\n        +55fgfJL7BnqZidOJ1X9YEtOoqp47CPJ3TVzHlIQAYqISYADgJLZp/q/n73W\n        2nds3EmJtHdXz7RFAPu+1/rWnQ3x/xBV0lNKDNmBbqv6T+5xPnxhRaV7Hd7B\n        2qKyKEpmMyjuDSvKwwdqbmyW67Sa5zSAahEp3t80hrQHWhvickuXefCVVU6c\n        t/EMPL3EgGTUuOna5UyHeZmCO21CJnBUb0lrb4JBBzRQ6A9ktc9gD4aAVfS9\n        d4YNlKSb4Plf5STpC+GcL1U8xSad8p4mvC0okT5jcyCP/5B9Tw0bNtLxh3Me\n        Fu/YxGFndeLBOH9agEyaQk6QbLHW7WN0mmAGjONOkZ+dGwoQ4zkeavv5Ov2c\n        Zg+p81v+7Fxm9K480pp8HHLV8Y6Z3uNbsl6J0iy8KLjw+ta5l+73LV1N0e4O\n        RzWZZxnX3HK9LnAudMaJNV9tkmuLGJkOIKocLLsPeOgYaOTXqmtiHG0dbvRV\n        aXWDq/2wGReb73YHyW/AzfduEVvglqxkaBPn0R1QwL1bPQGhwRU1pQYcBFQY\n        OEo8gzFGJb2EISdygKXyoSaqlJjRL1ArRWTaVMKrDeqhajipdXWdr16rXv0u\n        BFNlXSwq1sW3G2HLrsgPPI6Gx85gHC6UCVKzJbkf4iHY/6WZLK5VyNzKwjjF\n        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\n        0ZYwXeZgXibLZMq1s0JTQqpokXpcpOi5vHBSKgrf6kWlkuGKiCRyQ1LEmfrS\n        c7hX8ByJ3FnZItih9c3lBQZ+iWYxUqLkvSrHd+0zVbBpO2gtS9+iiv7DbNAK\n        sfFzMVPomD4aWgc7a4XYcFwmoJJkIGCN9NtQNWyeRuEDlKgYNAUyS9wY4nWA\n        LhU82gX5cZHcg0ELJiZ1Tjx7FRBU1nkhVc7uwRnMrRLKwBcGRHPOXogzTNm+\n        wuFgQF6JEipZ1vn7a7KBQAhnQgyI3HjkwtJGiExbOBIDNjhgzXHTcjQtAYc2\n        DyRlL8MUDsMS4A84C8a57vYrSg2jmYCJJtlDYQ4TrTC69oJNa0qg7w608pSB\n        Ht4hPV+Sa8YUcfLAW2oi0/UxJMh99gQz1tq3l1tqPGG72MvrcKGMZDdz4XiI\n        exBSyIbaT9wUffDcY0bYzhZJ+lm5ZqgNsVcWV2LLCCCpxD4M5t8j2DE/M06d\n        f8SmDS5HHbiseLOOz578vyT6d3/l/wVvt0KyaetNKo6+WUoNCXG8sror8S3w\n        JhX+xoIG6rIDMQhBNsvZUtf2oAuG1azMcdOvYfhMy1/i0cKeoAWlVNwXvID3\n        yMMFDxc8XPg64YK8HMBtBhM8i1XpSjqZuFgnYG7DnWb0sYqPGYcKS7pVdKJ4\n        E0gB3pUd6ytkR0qwed9qoTsAjqbGn3mp/1lChSDt7/tSaFe0YIXmaIXg2fX6\n        lqoGgvFeT/zBH0/jNMzBrkMhw8E5X9PKbLCpq2TlbgcqpUXBDTjcvQ/zz+tV\n        IPLsiV0yXv9nfMsL+OAnN7C4hXrTMcsupw0gyPDjZgIY13kzjCD8uEkHAAwy\n        WsjSWZb2sIrz6nWIr1/9fHQGHlCiarxEZKBGNGw/UmcdF8B2ZT/iC+pKH1qi\n        1yBhLJ68YpchBGwYb6rkMcRQYZPwWfwtyAxyKOvVKsvL4n0cJeGFkh0A3Rhy\n        RYsHppQqavwvW3R3Td6Xn1ZuaeLrQuBu08IACO5xpseZHmd+XThzNw4wOsQ0\n        6wx2cmwh16oqo2crILMEb0fTDqG/w9y/YP4YOOy6qnZhJ07B2R5nGJVL9bTZ\n        1/M8S5N/xcaCYaE96T+qRRwbaRMMr5NSqie469lE1ZSClY2SgrIvoNUbrfMA\n        iLSQI365ZXy2MRi6RtwUmsYPeguSfAs2DZQNwov4nMXwrLUSLnIJTQJju7Fv\n        4mkUdw7LLRxfqdC11vOEF8TCNYCsPFOexFSNTVRDokngLLEyzJTcxx9CjcTg\n        gDZUzeMLNLR8FBNvrds4lyb6eI3XfLKvmJDQl3lrny2NJ3KKQMBXpS6fPfuP\n        k//QNihcUZooNv+TbFrG5RGVVdRegWClky9L4dCuRa0vwy/XkMuFreHZ6en7\n        t2q6jPSX2TRbmF61RQIuafpPrI31okw4NTXIkEKqJ3TCxRqd3L86keBVvP1v\n        na4V66WZMK5rR/LTTl1aR9kA542O/vLOO938W4B5Pyd/HZ9rZKvqnq/YIyeT\n        ZmY7g+tILxDhjFcqTi1Gz6OATL2JMnGIKCCOEYj1aTlNNP9fL2M8opq/izOu\n        DNk1i0tYuMXl3C7MAu8A8jG5BpGaBrlN9ZorLMQ+pociienSwuBBeznMy2Fe\n        Dgt2L4d1C0QYIanJ3oeGIJAn/XaFukqxsp7Lyb+vlWzNSkmKmPKcVkaWGFg7\n        U99tQplHDVqtrFBFHGkVLnbicLojhxWqQ9mOXvl7fRXLnxr0ylFIHqGW9eKf\n        4K6M3RGsMh6rIFSgWHexMp5B/aI8nJUyKyLPsRuiMG6I6tKphFqENFJZOfdo\n        c99wlNdoeyTlkdTeI6n9T6mhlOXC1czWlZs6Vs576njLcfABNNcPCcTpFrVN\n        J9HTa+AF6eIgC7YqF6nr9ZyjFXeBmUGMZahomMrK1TpLlYTtYLT93TqmTlw9\n        e8W3V3x/u4rv7wIj9IxY3lv4//nwNGJmM7WuLMZbJ9Zbg/xaOBC4xSapWCBQ\n        DZFPlqAO12HnMa/5QXRzluSQF+4BisrEq4JcAst5HrObwX5Q6bozTjfxK6Mn\n        DuBpEL8AIT0KzjlgCZxromXV4kIONpqkYb7hjYpcu9ocYv5IRRaHwdnrX35m\n        LBXtgshxERlBhrQyYJeXvfjy7OXpl7Ozn18Gq+RLjBkPjoJ3X4AGchiTLyTv\n        k8k99ABg4scWlybbBUwdl+ns2DVrIXUa85WLqOVqE1kMC54BUTF88UjkRjzG\n        NTimDWDTiPM0XHxyTYHjrk9XfwTZLaZ5RiyMw33ZJit64cMLH08ufOyL1FEB\n        KfWwRqd2V1zT2gvkdGngMGK+ibLvEiN1QEVILU/+WsV3lR9XMlutGyu9flSk\n        5AQFjwibmvvvjqGuqcDZiCh+s53aYH6rOzd+6hrTb7bWxhy3b77WDQ7mWMDy\n        IFSN0nRTE+9+mVamYqVQ0oPVOva+/XB3jyg8ovCIIuikVtli8MdjMv8mg103\n        IVrS/2YpuoX+N8nPb6KoSvpVFjhX7kZxlrzw5EmdJ3Vb8QzjAs9AQGWcAzCq\n        Z7xAIFqcUZdFeIdn3+XJw/h5JrfRx7hefJZdsZ/mbiLNy5nIsadqfxD8w3JV\n        rksh0BrlT1MG9/okFW20wahJYi81W5K/1umUW73Q4BBqZrZqBbimqgYUdhlW\n        T3FSWIfUJB7ypLeSObkKx8GvEJ9MtScd9vyuO2qnJXTfqfHDpZO21xSQXTjw\n        2JAlI6oUn69eG60fSxyFS1yFc3srsy/coCvcOPwboKqr+fLgYXpzTIgF0t2h\n        IZ0geocIkRqVRqX6A51sqwJEC1bffb2E1kIJyEi536hVHsFe537kaz4UVsXB\n        fNEsEQhnXhjFAjm26T5SqCQhPB1I7SYqN0H+iWIKMrFDMgtUT7wDmU1YvoWx\n        QveM2ICS004sPqscEbVJ88XfIzPJeHViiZpTlYKK0KLf4pyxU0oojsUVzR+s\n        AQoMwdkpkFjB3FT3klXyheNNEUCKE/RJ0ViqJTeDb6j9xLBJ9jxSjxm506iW\n        fF68qOhF4TcZNFbJ7rVz7eiBFaIYR1u8jsPrOLyOw74VTxrg4yZtvt6I4cfj\n        qjfSyBS6Vx1RGaHqSotYZsb9LSkyUtrqKjR9RYntHzOkyYnnhlpI2gKcelvH\n        PTLwyMAjg50iA69K9KrEPeOETn72XeDwEGtwDeuic2xWNo7KQzPNFguOARlt\n        /lecZza4rtc99tY7MvJzl+WbMYpH2USL5vFuDeRUvI7oMo9vN2LMQHZtyu9I\n        ZwJgnDfRk/axU/WpAEf1mpKtXSartdEy2zV/zTlP3fjknKL4+olUrY6Y6Vmy\n        gCfAI110GEglZWfGx3cJVHlX+W0/iWZKRzABkufD0gCOVv111vkpLbxDg99T\n        7YdoK3q7eb9T7Z+o3CZ5M/tNNy7Iy83HI0oYbMGEfiPglW7LVypHlIl1TFYH\n        tcyhAOuvGYXoh4PFvnpsX0l5Pyspdz7CcEDkAR5fWHtzTaXbb002vUsFvVXa\n        XhwKMQ55OTp5Ij660n6oMF2djZeNDyCnQxrHUcHLte5WTPZFzg+vyLkNrZ7S\n        5mCqCiaY8YINOZmCxSBbJVP5hIp74d37mGfLDLUme2yfsJCrOdFe9gm86Tx8\n        XLMZBG8KfGUiMy4Lw4S9qF+7fcIbJoZ+d8QP6xGkGilHmDfa7BrjMrZJ2Y4d\n        mxCY7SNaNTx08tDJWxj2wMLAE5M6MYCeUFwlTyF/TZHqENqNvySkWdS8EiXr\n        g1wlJfj6ObV2nFPyQBV2Y1ZmRtba0IL9tn8MMHwcJIvtYvFg2Jldj5s5cOMR\n        eYWMZmojIs3OarhjQ0DkOfuQ2CMmHKXmghLbowT52SpYMNFkIR62MU1Pkkbm\n        Sg5+zx5imfFOWEQlwreHB51Aarotls6Zs1F9SCnz6cfFeqByDFal0lQQweRB\n        o6iy6+F28iMnMuyBVAGa3gxlCLZbPA9rjW50xj6IO7HOnRFC/Sb2IodNH24j\n        0Z0LjjcbXU3S4za9diE8/QqBGLSnMc5DEZ42YsS4Mh/iVQxlGqOb7Hx08EdT\n        owaaJ7V2oeu1ZchHXJkwWwMAEYhLCjtojmqVqL/5x4UgXj1x424iYPrOWOAm\n        58Seq/KzALXk74t4VgJBoHV6sceWTIubQlES24TZUILkK7VtCZztcvGDHee5\n        orgEyuSrmjBjcz9q2MJL3dLVzWZ25raZnZ32NZplEQca15h+d9Cxq9qX4EYt\n        kmUivBRFoJVNPDNQWjIOlkzXixA0tmI0qBuNH3cbVutbdifmDI2ox9U60PN4\n        Ef2a5VfxfRI/qDeBWX2OF5vrlZ7kS29U/Na5/rNgPgiw7KULH8KkJF8CGAiY\n        G0Oxfpk+w5Z2pouwKEjSDyF+HebAvRQKNpX6huTE7CaH1oDOOLQZqLWCr2sJ\n        Aj1lZ8MsjGFXhEaSaE8n+Ee4SGRoHwOKvwSQUBPL/B0F5/a+5Lw3bgJmb3EF\n        ViLqPeOBQ5XYfcK2ChrLYya8hKBQam1Rvnr8aBcDoHnjnZBj0k8LTL3/oUeA\n        a85Tb1Q+xoUdeNIO35InLSqWQAlvUZfZTO9SF8EU7949dX3aArA6+B9UBlbO\n        X11+3aKHcDePV4vxii8l1cZhPp3fMOFzGC9GcVa10QZ765l0QapgMJER0dRr\n        FCr1MPUVgLRc7MeBgmzjvwoQtQ0wozvLzMvlAmzLqwVbihu4bTWeQVV5gssE\n        jHaBOh41RNgaAT7UHyCLwqYDmEUNOf71w9X7Nzd//n7z/o9mpMJaN6CIGPNw\n        KGJMh40SxsAn4EQK9vtqbvKrYSR8+yW2hkiFpWhJuxDc74tnQuooII1U93RU\n        2+y6dpZLhdNmUTWVOHV21U7643rr6vss4ow5VVYRryjemaLYzSGHaYx5SZR9\n        NSwdhj71u8Bh+xmRCJk3UJsBWXTgvqmdUx93u6G7yXks6H1tkmOF3kWW40c6\n        oltMvNpCvLsZ/9rMflsz+Gn4kvHmKb4CJUFs2x+kAQT3E7DOpDE4ZkDxDv0T\n        k5kfB28zqN0NKXCm7NGKKzbY02x9N68KE4U8Cp57fKVmxh0zjAGsYp+Mbs3m\n        tm0a2rZkYXsKg4q3pHxLlhSvVNwvpSKbwgj9gGig9mJoaZD5dVd1t7nA47zl\n        annO1zn0wbiacLGcMXSyZotLvA6iGAjWsI5Ek8+TWP4b9HM29CleKI6pvSf+\n        uQwxL7LaA36IZmvoeN80t1vU2e6izPuhKBqVgpFhOtTYgUND4RWNT6iQewpV\n        3DLMP78p0EDdCu+0d+tA3onjne4C3rsvUOtRlMiFSrF4/rMV48wZTzar5DR2\n        Swxr9B6gPEB3Okwl0s9JPoQEzBbh3R1dOsuS/pVoBxjkeF/rPlJ3sFwf1Z6w\n        ppe7HzVGaDmYNd1L1kUlWFCMsuWc3YbpG8y35TxunVxOZRN07LCCQTIjGCeK\n        KodRRAOn5F424OChGqwlPJSylmoIchTjicTU1QnVMq4CVOGVmpdaqWZEKn/F\n        07IFxyE+uUe3CARvS6iPqsCb7VQUfC9a/X60Y+xkP+46mEWrx0lLkbIVrbWS\n        9rbhpnWhfJoJ1j+4b4Rp4K3ciaap9HCXcnhbQcN0TvoDh/eMGWk6Y0zr0d1F\n        6pxd2Fz/HMA8jnAq8mVasAPGafUH0s0soW/FR+oWTSXcB2/ymMSh4CHckBm+\n        wHzYGBf7kLDDxRqYQjQPFkehRZFqUInwSc+5yooigUge0HDOwxRkQza26t6C\n        g1cGtUsKfIGJMMBXSyAEn9PsIXUJJzLglkahzRh+jGczyEqFSQ5R3TrHMDYA\n        5GUhpQ5SJco5wxgwg8pGTF9Olr22FHSMPRKzMYWU3QC5RB3E6nV7JI7azVja\n        Zib1BtJvQcV9EHbRfVRzfxfotlBMQHdOyeOSeGgCQKsVt3bc7mobSnLZmnE2\n        7PRxlSjnliu9tZRxhlZHFsPAoYpsEzKZHArrZoUO/RbWIMc4Pfp0vb/IEWZh\n        52gTqQqH54vTT9JmaKUIfRx7ofnrltDFPfdHT+tiUPB9zMzSdEaGJI4nNQ01\n        931B2eP3OE28PKt5fMdeOGeIbvCJVU308BcUZ9fIcIqHQVTZqRYVwrQN+UYe\n        T+PcJYjOLq8/BK/OXr8+OmPrt5qHRy/FV+x/o44q/JFcv56H/6YfOp+ppgl4\n        JGd/S//gHHEo7DDacIMOs5stQA5lO1rInvcATjiy0w4FFH/2BRRPyQ71/d0T\n        bvikEkk9bbrUVsqTpjbSdIU8bwxh4i3UkyXRxVaJUs579STpSUkS7a0nSG0E\n        idbJk6MmcrRI7uO3eRZG07Boclq/TdKoliKZjRzjuzZRMt85Md7pbm58yz7T\n        k/7fihYp3J1dwDhcwmXJ42V2b+lcoU/837h8iLE0uvocjrT4/jh4oz3Ra57f\n        MmkgotzUMjiJPnkSN/p1mrDrpLlLacvBi6aTjkOOO3SPeqQY6Es/+dJPT56j\n        ce9KP7kPnkh9N4wcGOdAp0yIglA3RWgAbIb86CJww/N8HDzW9RIljusoV7W0\n        hp3tiG0Jef0IkiWJWRhB3QfHJAQJg6xiKdp27YLPIccxQi3cRht4sujSudQO\n        v9pQg3akTo6iBF6Y6GTFKJbBd4jqOofVU5wU1iHdQtWOX5MUXFIm5oI3t1Td\n        USs7Zc2dGj9cOml7TQHZhQNPSCT4GSZxsSm+qObdQuvHEkchPAwsFPGUko0B\n        EPcypTyKPeizsLWEFAjDRrjSiwa6Q0Qd/9WjRAkk0QpRVp3Ulgk4PStTBO4C\n        gW50PqkF3SZMJdhdh0m37HnSV4b8Qz+ReyE6GoIc92uBU5pni67CmXi9RT6z\n        X+sRXUpf0vErRMUxzPMXFJAr0bCmc18uRRDV2egmWfEGrheGc0/Q02NUb8V5\n        l1Si0pjPQl6bOAWDE2YYYc3gv588I6GOsWBntWVlpIAq3iFlWFQiktSbRkov\n        a9Jb9sHMZjN2VG6SZfx+eGoevZEaRrTKigRc6ijDGH1AcNHE/zRb7iJH2b+n\n        03VO/EWaDJdxWKxzOrtL9lJSxOzeQP6SPFvSYsZ3SZqiEGhJ6FCDIEuTkp0a\n        OugTvtg8lRkOUHK8ktcxXM3DQsFXtVWsnzA9Dt7d40wwsDrhnv0a4NDHSKRb\n        WT8xwz1IDQwrrRjT/ZIsQ0KuQKMVwAIreMmPCsez4IdPMDiEnHdZgR6Lpu8k\n        zQTyinF7PjDlKKOoNRzjxkLnOsvBwaZyFBxucf9t2XWR0f+Kfo+D65iytf9G\n        ZAi4NyqyyW48E9Aj0ovUL0HZHablL9Cd0DOT91jrOLk/Z16hYrDEUYyETr8y\n        ZhTl6x+2IWB6tYtXu3i1i1e7eLWLV7t4tYtXu3i1S2W9H9g5wwy6Q9dcNFBL\n        aOEFgMLTzwTkwSdbiVI9xQzj9IKP4t9en54Fz/+b/efo/fuji4ub+fyX5fKX\n        ojguiuJ/XlRjuTWgCWLbEU7e61l66Vla0rZZapaa5G2Wud2tXemawk0p6Z7E\n        +lyvX3DndJNIYjsp3bwY5MUgLwZ5MciLQV4M8mLQAYtBfTCmhSr3Bhy2JHO1\n        wGFNStdO4LBbYtfO0NCDJw+ePHjy4MmDJw+ePHg6PPC0Gx3ygWWKsT/dO81z\n        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\n        rX4FAA==\n    http_version: \n  recorded_at: Mon, 15 Jun 2015 20:13:55 GMT\n- request:\n    method: get\n    uri: https://www.googleapis.com/youtube/v3/search?key=AIzaSyAYXJjUwwDKVEliqBxQ8AMbk7ocWJ-z4zw&maxResults=20&part=snippet&q=UCxjAUwVglXHJ68g9bNn_9xw\n    body:\n      encoding: UTF-8\n      string: ''\n    headers:\n      User-Agent:\n      - |-\n        /Users/thomas/.rvm/gems/ruby-2.2.2/bin/rspec/1.0.0 google-api-ruby-client/0.8.6 Mac OS X/10.10.3\n         (gzip)\n      Accept-Encoding:\n      - gzip\n      Content-Type:\n      - ''\n      Accept:\n      - \"*/*\"\n  response:\n    status:\n      code: 200\n      message: OK\n    headers:\n      Expires:\n      - Mon, 15 Jun 2015 20:13:55 GMT\n      Date:\n      - Mon, 15 Jun 2015 20:13:55 GMT\n      Cache-Control:\n      - private, max-age=120, must-revalidate, no-transform\n      Etag:\n      - '\"eYE31WLho912TfxEBDDRSwEQ5Ms/2rcvY3Un4eSAESOp29wYs8C-Z9k\"'\n      Vary:\n      - Origin\n      - X-Origin\n      Content-Type:\n      - application/json; charset=UTF-8\n      Content-Encoding:\n      - gzip\n      X-Content-Type-Options:\n      - nosniff\n      X-Frame-Options:\n      - SAMEORIGIN\n      X-Xss-Protection:\n      - 1; mode=block\n      Server:\n      - GSE\n      Alternate-Protocol:\n      - 443:quic,p=1\n      Transfer-Encoding:\n      - chunked\n    body:\n      encoding: ASCII-8BIT\n      string: !binary |-\n        H4sIAAAAAAAAAMWSzW7TQBSF934Ka9g28U/SkGSXpqEECinND04oQo5945l0\n        PDN4xk2qKhJixQKJPRLv0CUCqc/gvBGeOAldgASrWrI1c/3dc47uzI1hokvC\n        QtQ00TVPVTqFRxL8JMCnRKpzkIIzCeggx0D5kcYuEIw7Fef1KeYNxx3Mlp2j\n        4+Pz/qLz6vCFtNwkuBpXhqwK/Van3xNuYzGW9XZp0ri8QBsd4UfQZTOea90Y\n        pokUVz7NnVKqZF5zDnQxKfZnkJzleF52bcNc6XaiINbcmxzT/X/LXyhqR/Of\n        s89G4+c9XPMc77F3nbgT9oTTEpzUT+wie65Ewm3uPxgH2GcMaEGaaLvtbphh\n        ezlvDRejiHpPn9XqUWP6kr1rLBdIs6tCWzIiBKjfBiKdUiIxhC1dRK7tOCXH\n        LjmVge02D2vNw2rZtu3J/xluYUUU1YNF2bfsdv0xu81+rj+vv5jZ1+xu/SH7\n        kX1ff8q/dzs+BBkkRCjCme7ay+A0njKfULmPrdmZr4e/r5goTahuw0oJ2bQs\n        iqvliPOIQiohCThTwFQ54LFVEjTGtWptMfO41do/3XvrljWYe70xGwXv/cAS\n        mCtenosIFV7FMHPLGEKSxg8cApMIP1AE416Q3d0Y7E59d36UXMFRwv0w8KVq\n        F/76P+MMirtpbN63xsr4BZabJ8UtBAAA\n    http_version: \n  recorded_at: Mon, 15 Jun 2015 20:13:55 GMT\n- request:\n    method: get\n    uri: https://www.googleapis.com/discovery/v1/apis/youtube/v3/rest?key=AIzaSyAYXJjUwwDKVEliqBxQ8AMbk7ocWJ-z4zw\n    body:\n      encoding: UTF-8\n      string: ''\n    headers:\n      User-Agent:\n      - |-\n        /Users/thomas/.rvm/gems/ruby-2.2.2/bin/rspec/1.0.0 google-api-ruby-client/0.8.6 Mac OS X/10.10.3\n         (gzip)\n      Accept-Encoding:\n      - gzip\n      Content-Type:\n      - ''\n      Accept:\n      - \"*/*\"\n  response:\n    status:\n      code: 200\n      message: OK\n    headers:\n      Expires:\n      - Mon, 15 Jun 2015 20:18:02 GMT\n      Date:\n      - Mon, 15 Jun 2015 20:13:02 GMT\n      Etag:\n      - '\"ye6orv2F-1npMW3u9suM3a7C5Bo/xrj0tixOAUjJF__K-i_9CMlHy5Y\"'\n      Vary:\n      - Origin\n      - X-Origin\n      Content-Type:\n      - application/json; charset=UTF-8\n      Content-Encoding:\n      - gzip\n      X-Content-Type-Options:\n      - nosniff\n      X-Frame-Options:\n      - SAMEORIGIN\n      X-Xss-Protection:\n      - 1; mode=block\n      Server:\n      - GSE\n      Content-Length:\n      - '44914'\n      Age:\n      - '54'\n      Cache-Control:\n      - public, max-age=300, must-revalidate, no-transform\n      Alternate-Protocol:\n      - 443:quic,p=1\n    body:\n      encoding: ASCII-8BIT\n      string: !binary |-\n        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\n        brBqYcsnW9ZeNF4B0/h5DfVTm2BNJx3gybPsFhmV7cIsL13N+wGdTmIGojFa\n        rULHIRpZIrtmm+1rOXJvbuKxHbVxqLDVIbNmr4antsdLexXprbLs1NKeTaMy\n        E99fqliw7f3yNlzot+Xl5lFVZmdwHtb2HfXLMWDSbYNthu5SfyjRSFNsJ8ka\n        VNn6p+qP/7XNVLWDwVvyQd18+UwfVo5yyCm9QO0xjTUDyBewKCZVUqdYtC/g\n        tdxRO4Ogmwf3bhVnwbop0zCPEvITtV01VZhhw29yJyCoKpUdBv2CmEsR0GEy\n        zzBtAEdHJeR84ioLWxANBx9aCoIkJactysZOC1nlnDZQ1I6IoTjt0vmBWoem\n        pm1o7BfkO5uTWNNLO1z299EebOunWcoh6yiYvs9uDDxgtvs3/19739bctpWl\n        +55fgfJL7BnqZidOJ1X9YEtOoqp47CPJ3TVzHlIQAYqISYADgJLZp/q/n73W\n        2nds3EmJtHdXz7RFAPu+1/rWnQ3x/xBV0lNKDNmBbqv6T+5xPnxhRaV7Hd7B\n        2qKyKEpmMyjuDSvKwwdqbmyW67Sa5zSAahEp3t80hrQHWhvickuXefCVVU6c\n        t/EMPL3EgGTUuOna5UyHeZmCO21CJnBUb0lrb4JBBzRQ6A9ktc9gD4aAVfS9\n        d4YNlKSb4Plf5STpC+GcL1U8xSad8p4mvC0okT5jcyCP/5B9Tw0bNtLxh3Me\n        Fu/YxGFndeLBOH9agEyaQk6QbLHW7WN0mmAGjONOkZ+dGwoQ4zkeavv5Ov2c\n        Zg+p81v+7Fxm9K480pp8HHLV8Y6Z3uNbsl6J0iy8KLjw+ta5l+73LV1N0e4O\n        RzWZZxnX3HK9LnAudMaJNV9tkmuLGJkOIKocLLsPeOgYaOTXqmtiHG0dbvRV\n        aXWDq/2wGReb73YHyW/AzfduEVvglqxkaBPn0R1QwL1bPQGhwRU1pQYcBFQY\n        OEo8gzFGJb2EISdygKXyoSaqlJjRL1ArRWTaVMKrDeqhajipdXWdr16rXv0u\n        BFNlXSwq1sW3G2HLrsgPPI6Gx85gHC6UCVKzJbkf4iHY/6WZLK5VyNzKwjjF\n        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\n        0ZYwXeZgXibLZMq1s0JTQqpokXpcpOi5vHBSKgrf6kWlkuGKiCRyQ1LEmfrS\n        c7hX8ByJ3FnZItih9c3lBQZ+iWYxUqLkvSrHd+0zVbBpO2gtS9+iiv7DbNAK\n        sfFzMVPomD4aWgc7a4XYcFwmoJJkIGCN9NtQNWyeRuEDlKgYNAUyS9wY4nWA\n        LhU82gX5cZHcg0ELJiZ1Tjx7FRBU1nkhVc7uwRnMrRLKwBcGRHPOXogzTNm+\n        wuFgQF6JEipZ1vn7a7KBQAhnQgyI3HjkwtJGiExbOBIDNjhgzXHTcjQtAYc2\n        DyRlL8MUDsMS4A84C8a57vYrSg2jmYCJJtlDYQ4TrTC69oJNa0qg7w608pSB\n        Ht4hPV+Sa8YUcfLAW2oi0/UxJMh99gQz1tq3l1tqPGG72MvrcKGMZDdz4XiI\n        exBSyIbaT9wUffDcY0bYzhZJ+lm5ZqgNsVcWV2LLCCCpxD4M5t8j2DE/M06d\n        f8SmDS5HHbiseLOOz578vyT6d3/l/wVvt0KyaetNKo6+WUoNCXG8sror8S3w\n        JhX+xoIG6rIDMQhBNsvZUtf2oAuG1azMcdOvYfhMy1/i0cKeoAWlVNwXvID3\n        yMMFDxc8XPg64YK8HMBtBhM8i1XpSjqZuFgnYG7DnWb0sYqPGYcKS7pVdKJ4\n        E0gB3pUd6ytkR0qwed9qoTsAjqbGn3mp/1lChSDt7/tSaFe0YIXmaIXg2fX6\n        lqoGgvFeT/zBH0/jNMzBrkMhw8E5X9PKbLCpq2TlbgcqpUXBDTjcvQ/zz+tV\n        IPLsiV0yXv9nfMsL+OAnN7C4hXrTMcsupw0gyPDjZgIY13kzjCD8uEkHAAwy\n        WsjSWZb2sIrz6nWIr1/9fHQGHlCiarxEZKBGNGw/UmcdF8B2ZT/iC+pKH1qi\n        1yBhLJ68YpchBGwYb6rkMcRQYZPwWfwtyAxyKOvVKsvL4n0cJeGFkh0A3Rhy\n        RYsHppQqavwvW3R3Td6Xn1ZuaeLrQuBu08IACO5xpseZHmd+XThzNw4wOsQ0\n        6wx2cmwh16oqo2crILMEb0fTDqG/w9y/YP4YOOy6qnZhJ07B2R5nGJVL9bTZ\n        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\n        hp3tiG0Jef0IkiWJWRhB3QfHJAQJg6xiKdp27YLPIccxQi3cRht4sujSudQO\n        v9pQg3akTo6iBF6Y6GTFKJbBd4jqOofVU5wU1iHdQtWOX5MUXFIm5oI3t1Td\n        USs7Zc2dGj9cOml7TQHZhQNPSCT4GSZxsSm+qObdQuvHEkchPAwsFPGUko0B\n        EPcypTyKPeizsLWEFAjDRrjSiwa6Q0Qd/9WjRAkk0QpRVp3Ulgk4PStTBO4C\n        gW50PqkF3SZMJdhdh0m37HnSV4b8Qz+ReyE6GoIc92uBU5pni67CmXi9RT6z\n        X+sRXUpf0vErRMUxzPMXFJAr0bCmc18uRRDV2egmWfEGrheGc0/Q02NUb8V5\n        l1Si0pjPQl6bOAWDE2YYYc3gv588I6GOsWBntWVlpIAq3iFlWFQiktSbRkov\n        a9Jb9sHMZjN2VG6SZfx+eGoevZEaRrTKigRc6ijDGH1AcNHE/zRb7iJH2b+n\n        03VO/EWaDJdxWKxzOrtL9lJSxOzeQP6SPFvSYsZ3SZqiEGhJ6FCDIEuTkp0a\n        OugTvtg8lRkOUHK8ktcxXM3DQsFXtVWsnzA9Dt7d40wwsDrhnv0a4NDHSKRb\n        WT8xwz1IDQwrrRjT/ZIsQ0KuQKMVwAIreMmPCsez4IdPMDiEnHdZgR6Lpu8k\n        zQTyinF7PjDlKKOoNRzjxkLnOsvBwaZyFBxucf9t2XWR0f+Kfo+D65iytf9G\n        ZAi4NyqyyW48E9Aj0ovUL0HZHablL9Cd0DOT91jrOLk/Z16hYrDEUYyETr8y\n        ZhTl6x+2IWB6tYtXu3i1i1e7eLWLV7t4tYtXu3i1S2W9H9g5wwy6Q9dcNFBL\n        aOEFgMLTzwTkwSdbiVI9xQzj9IKP4t9en54Fz/+b/efo/fuji4ub+fyX5fKX\n        ojguiuJ/XlRjuTWgCWLbEU7e61l66Vla0rZZapaa5G2Wud2tXemawk0p6Z7E\n        +lyvX3DndJNIYjsp3bwY5MUgLwZ5MciLQV4M8mLQAYtBfTCmhSr3Bhy2JHO1\n        wGFNStdO4LBbYtfO0NCDJw+ePHjy4MmDJw+ePHg6PPC0Gx3ygWWKsT/dO81z\n        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\n        rX4FAA==\n    http_version: \n  recorded_at: Mon, 15 Jun 2015 20:13:56 GMT\n- request:\n    method: get\n    uri: https://www.googleapis.com/youtube/v3/search?key=AIzaSyAYXJjUwwDKVEliqBxQ8AMbk7ocWJ-z4zw&maxResults=20&part=snippet&q=UCPPo4ZnBWwQ75JqiI13VFNw\n    body:\n      encoding: UTF-8\n      string: ''\n    headers:\n      User-Agent:\n      - |-\n        /Users/thomas/.rvm/gems/ruby-2.2.2/bin/rspec/1.0.0 google-api-ruby-client/0.8.6 Mac OS X/10.10.3\n         (gzip)\n      Accept-Encoding:\n      - gzip\n      Content-Type:\n      - ''\n      Accept:\n      - \"*/*\"\n  response:\n    status:\n      code: 200\n      message: OK\n    headers:\n      Expires:\n      - Mon, 15 Jun 2015 20:13:56 GMT\n      Date:\n      - Mon, 15 Jun 2015 20:13:56 GMT\n      Cache-Control:\n      - private, max-age=120, must-revalidate, no-transform\n      Etag:\n      - '\"eYE31WLho912TfxEBDDRSwEQ5Ms/UYCn5k-JEBBTXjoUJ8gmLCFGJJg\"'\n      Vary:\n      - Origin\n      - X-Origin\n      Content-Type:\n      - application/json; charset=UTF-8\n      Content-Encoding:\n      - gzip\n      X-Content-Type-Options:\n      - nosniff\n      X-Frame-Options:\n      - SAMEORIGIN\n      X-Xss-Protection:\n      - 1; mode=block\n      Server:\n      - GSE\n      Alternate-Protocol:\n      - 443:quic,p=1\n      Transfer-Encoding:\n      - chunked\n    body:\n      encoding: ASCII-8BIT\n      string: !binary |-\n        H4sIAAAAAAAAAMWSX2/aMBTF3/MpIu+1kD/AyngDClMymKANpWXdg0luYjeJ\n        HeKb0aniuy8mwPqwSdtTI1mKr3/3nKNrvxomSbmIyMAkP2WF1RY+KKBlyGZc\n        4S2oQgoF5KrGAGmisScCj5OOs54x+clxg/hlMrq5ub3bT5a9ubJWj2PRS1v+\n        ZDQKHp7lyu8n+Ww8/ez7yRM56hQ0AU/EstZ6NUyToESa1U5VhqquOVe6WDb7\n        BZSLGq/Lrm2YB93OEXLNfasx3f+3/I2idjT/NftL+THt98B2WIyp5yfzaOvt\n        7jcP7nrZZK+VeHTK/QfjkFEhIGtIk5y23pFZjRcL2d2I0Xq/vO75O+45nfvp\n        1z3R7KHRVoIXBeBvg6LaZlwxiIa6SFzbvm7ZTst1A6c76HUG3X7btu3N/xme\n        YOSY6cGSO5qbvlRQsPNRBCoseYFcCg1cOliVbwXlmbok1GxM9ZwvFZNUZabb\n        GGKhBpaVsU47kTLJoFJQhlIgCGyHMrdaX9Bx0z7d7QJlDS+f9+Z/aAUzezNd\n        4NwNQqtgEmX7uUhI49XMrbbMIeJV/s4hGE/YO0Uw3gQ5P4PgfMEUqjJSGNNU\n        xee7zPgPGJWSRiFVOG6yaFZIAc2TNI7ru3EwfgHEyr3BJAQAAA==\n    http_version: \n  recorded_at: Mon, 15 Jun 2015 20:13:56 GMT\n- request:\n    method: get\n    uri: https://www.googleapis.com/discovery/v1/apis/youtube/v3/rest?key=AIzaSyAYXJjUwwDKVEliqBxQ8AMbk7ocWJ-z4zw\n    body:\n      encoding: UTF-8\n      string: ''\n    headers:\n      User-Agent:\n      - |-\n        /Users/thomas/.rvm/gems/ruby-2.2.2/bin/rspec/1.0.0 google-api-ruby-client/0.8.6 Mac OS X/10.10.3\n         (gzip)\n      Accept-Encoding:\n      - gzip\n      Content-Type:\n      - ''\n      Accept:\n      - \"*/*\"\n  response:\n    status:\n      code: 200\n      message: OK\n    headers:\n      Expires:\n      - Mon, 15 Jun 2015 20:18:02 GMT\n      Date:\n      - Mon, 15 Jun 2015 20:13:02 GMT\n      Etag:\n      - '\"ye6orv2F-1npMW3u9suM3a7C5Bo/xrj0tixOAUjJF__K-i_9CMlHy5Y\"'\n      Vary:\n      - Origin\n      - X-Origin\n      Content-Type:\n      - application/json; charset=UTF-8\n      Content-Encoding:\n      - gzip\n      X-Content-Type-Options:\n      - nosniff\n      X-Frame-Options:\n      - SAMEORIGIN\n      X-Xss-Protection:\n      - 1; mode=block\n      Server:\n      - GSE\n      Content-Length:\n      - '44914'\n      Age:\n      - '54'\n      Cache-Control:\n      - public, max-age=300, must-revalidate, no-transform\n      Alternate-Protocol:\n      - 443:quic,p=1\n    body:\n      encoding: ASCII-8BIT\n      string: !binary |-\n        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\n        brBqYcsnW9ZeNF4B0/h5DfVTm2BNJx3gybPsFhmV7cIsL13N+wGdTmIGojFa\n        rULHIRpZIrtmm+1rOXJvbuKxHbVxqLDVIbNmr4antsdLexXprbLs1NKeTaMy\n        E99fqliw7f3yNlzot+Xl5lFVZmdwHtb2HfXLMWDSbYNthu5SfyjRSFNsJ8ka\n        VNn6p+qP/7XNVLWDwVvyQd18+UwfVo5yyCm9QO0xjTUDyBewKCZVUqdYtC/g\n        tdxRO4Ogmwf3bhVnwbop0zCPEvITtV01VZhhw29yJyCoKpUdBv2CmEsR0GEy\n        zzBtAEdHJeR84ioLWxANBx9aCoIkJactysZOC1nlnDZQ1I6IoTjt0vmBWoem\n        pm1o7BfkO5uTWNNLO1z299EebOunWcoh6yiYvs9uDDxgtvs3/19739bctpWl\n        +55fgfJL7BnqZidOJ1X9YEtOoqp47CPJ3TVzHlIQAYqISYADgJLZp/q/n73W\n        2nds3EmJtHdXz7RFAPu+1/rWnQ3x/xBV0lNKDNmBbqv6T+5xPnxhRaV7Hd7B\n        2qKyKEpmMyjuDSvKwwdqbmyW67Sa5zSAahEp3t80hrQHWhvickuXefCVVU6c\n        t/EMPL3EgGTUuOna5UyHeZmCO21CJnBUb0lrb4JBBzRQ6A9ktc9gD4aAVfS9\n        d4YNlKSb4Plf5STpC+GcL1U8xSad8p4mvC0okT5jcyCP/5B9Tw0bNtLxh3Me\n        Fu/YxGFndeLBOH9agEyaQk6QbLHW7WN0mmAGjONOkZ+dGwoQ4zkeavv5Ov2c\n        Zg+p81v+7Fxm9K480pp8HHLV8Y6Z3uNbsl6J0iy8KLjw+ta5l+73LV1N0e4O\n        RzWZZxnX3HK9LnAudMaJNV9tkmuLGJkOIKocLLsPeOgYaOTXqmtiHG0dbvRV\n        aXWDq/2wGReb73YHyW/AzfduEVvglqxkaBPn0R1QwL1bPQGhwRU1pQYcBFQY\n        OEo8gzFGJb2EISdygKXyoSaqlJjRL1ArRWTaVMKrDeqhajipdXWdr16rXv0u\n        BFNlXSwq1sW3G2HLrsgPPI6Gx85gHC6UCVKzJbkf4iHY/6WZLK5VyNzKwjjF\n        L8xIE+yArFk3qnN9ej1CCm6yVTJt8Ew0nnc/17/mcXyLZAC+Nw4CW3Ky5WQV\n        nON2JOVbhCO5jHof5+tkmSxCDLrGwfyZRAxVf5nGq1KeKDFQOhRLtul6XJUx\n        Ug4C4D3+icR2AEOAbWeU/po4J1YdMzyOHKEuVWs0msRp8SiDt1xRXIfgzcfL\n        kcdt4HIqNmHt8eWFBlMgbCJH+NPk/eBcSfPzWcyknVylE+f2a0ooIxWcYRLZ\n        1AGry6NMpC0oiV1FPGwLoPGtbYN5F/8JOurruCyTaj0j81n3O/iWQdeIB+iI\n        dBmCLKBOvDGrOAN4d3m2TqPzbDEgCap0xJ3C5yY50jTykKwYhgl6WYYbbOMd\n        33xImwCnboBv5ZtUula6U7GueNv0DmdRBeV40y8+z4tgO4aw14YvkFrkYcsk\n        z9B3OKBnIqOB2Mdn6CeX6Dv7jIG1eaZdewa2GSrTDRN06rjl61g1cczfFBOC\n        6mJILlQn4hFUPHuPHcELHz9c39Qtw8esgOovTFBZQNhYyhNiyPAM7mF6HDyH\n        BQMAyZjc7TIpZQigyJ2IVbAAoq5ZvzkZqzMQwwSa4E3BWsbzcDE7fiECrn7B\n        vJABBE/dzTHtEk1po3JEYNZb7qRVJRXhlCAFFooKaZi8rnWopE1Qu+s/GZ4W\n        E8DCMt4IIBSZtRmFCfiewQMhb8Jgi7g60MKqiAuNUuYpISuyBkWBkeIYmnr+\n        gneAyf/Q1iQGKIrhifsHBI4fA+MrmJl7WsfaceH+iQaJhFgr7e9a0dEdgA0R\n        nyp3IRvWPcjKD2AFy1cZyNzINsCiIxS0aBhLzASBGoGUXOQB3V/kZ9z0x4Ax\n        5DOOQfdW/y3smUgfSh+SVjs+hhMnR56GS/HVhrMj/p7gdmpuZNnCKkncCVRU\n        wtRK2WqrBbciydHxFArGqwdakMczdnHyjRAp/83ZU2W/PuQRpr/5v8ae0R/S\n        TsFvoUsge8PP6DOrg9zKP9vlm2LKVtswgmBxxV9OTh4eHo55EcVVUhxPs+UJ\n        UIITYcGf9PzgmN3xaXxUFIsar4SiE83UNRvdKeZv72oJ5hUWjiwwDxzhMOGE\n        L2kBqozbc8xWCYUBiHgrNn4L8eyCho3BWt71pO7lktNsKOG0vlVaETy8v+Hi\n        /2cwA+NHRIqmUovDmEPCHjTbz2KIQSXJMwFteVFmS6TwM+E9Cr200RpHhEZP\n        giNb0KmOVmmdIIacgdiZywsypgNdQHJQgq6DSoBqG0mqFsmltFP0rMv9VSc8\n        01PPaVO0vCwcslLMy0XJ6cm0LoCFcvpfI0GsPHWzWDjoSRDFGa9jQ0X8iPRF\n        NAtiGrvZbdLL8MsVqnAL59StLPju7VVtOPeX/JK/JMv1UvP1Q9TPTTOyAIgs\n        7+rImKsPQeZC/lH7uZIGXz1aJil0D89O9Z9pVNjQac91S9LHOSwhnRARZ1zZ\n        7zEnflVNmdwbSlRzIRtygkSk7kTIdQeAlPupAQnIsd1Ia83Tl2nJn3VgIa0B\n        BAlX6FNvKmbFMke9V26L+EujhODAHR4VMTyFHRY0LkuxyhwGxVdRdj8wFYxE\n        UqAI4mhq4oJTANYuZ9bnpvAo3IDMEIPpPFlERmlakj/MX2UeXD5UnVhQ5nmT\n        Q4Npqrpm1LYAhXJAVriDvbBGNKEo9SfaZouharwY8X7aG2y5igwelHMMOIJ1\n        h3sA+/F3uaruDcRKu0KaAq0rEgWQZ1LSXqrhjsS06pzLOKVZqVdp7XvijWZq\n        uUQc5osEwJYjvEkXL+n6ot0ymyIzFJrbsFRvUf4J+5Toyyqz4trHXL+SUbih\n        gpAYTcfzOyASCdONRnupdzkeYunhpum4Ct62TZfBwO00OGzX36Jxdvy2Uzu1\n        +25uN7cIE27Vtx1VFQe26/EXPhB0jNnzfc/jO/YCmGgHb7lqQif+Kft0PS0L\n        uReEcADH5xw5ClqpVgH9JvON5FfGXlGkGqzSq7PXr4/OGD1czcOjl+IrKvhk\n        xYVrueOFN7Cm9uJoSpZukEdK2VGDKItFhuwM1DZBnKLyyzLZaeomC+p3wxkj\n        dQrtCoJq2ZAnVhb0/hQSLoG/cZOX5jSU3gQ1WlzyQq3VSIgGjvl7tkZCduDW\n        R1y8++Pdzbs6lcQFtqmBZDjz1KDtKeIWzKP4dn3HM/NcRh/u4zxPRlxdd3M6\n        0ZYwXeZgXibLZMq1s0JTQqpokXpcpOi5vHBSKgrf6kWlkuGKiCRyQ1LEmfrS\n        c7hX8ByJ3FnZItih9c3lBQZ+iWYxUqLkvSrHd+0zVbBpO2gtS9+iiv7DbNAK\n        sfFzMVPomD4aWgc7a4XYcFwmoJJkIGCN9NtQNWyeRuEDlKgYNAUyS9wY4nWA\n        LhU82gX5cZHcg0ELJiZ1Tjx7FRBU1nkhVc7uwRnMrRLKwBcGRHPOXogzTNm+\n        wuFgQF6JEipZ1vn7a7KBQAhnQgyI3HjkwtJGiExbOBIDNjhgzXHTcjQtAYc2\n        DyRlL8MUDsMS4A84C8a57vYrSg2jmYCJJtlDYQ4TrTC69oJNa0qg7w608pSB\n        Ht4hPV+Sa8YUcfLAW2oi0/UxJMh99gQz1tq3l1tqPGG72MvrcKGMZDdz4XiI\n        exBSyIbaT9wUffDcY0bYzhZJ+lm5ZqgNsVcWV2LLCCCpxD4M5t8j2DE/M06d\n        f8SmDS5HHbiseLOOz578vyT6d3/l/wVvt0KyaetNKo6+WUoNCXG8sror8S3w\n        JhX+xoIG6rIDMQhBNsvZUtf2oAuG1azMcdOvYfhMy1/i0cKeoAWlVNwXvID3\n        yMMFDxc8XPg64YK8HMBtBhM8i1XpSjqZuFgnYG7DnWb0sYqPGYcKS7pVdKJ4\n        E0gB3pUd6ytkR0qwed9qoTsAjqbGn3mp/1lChSDt7/tSaFe0YIXmaIXg2fX6\n        lqoGgvFeT/zBH0/jNMzBrkMhw8E5X9PKbLCpq2TlbgcqpUXBDTjcvQ/zz+tV\n        IPLsiV0yXv9nfMsL+OAnN7C4hXrTMcsupw0gyPDjZgIY13kzjCD8uEkHAAwy\n        WsjSWZb2sIrz6nWIr1/9fHQGHlCiarxEZKBGNGw/UmcdF8B2ZT/iC+pKH1qi\n        1yBhLJ68YpchBGwYb6rkMcRQYZPwWfwtyAxyKOvVKsvL4n0cJeGFkh0A3Rhy\n        RYsHppQqavwvW3R3Td6Xn1ZuaeLrQuBu08IACO5xpseZHmd+XThzNw4wOsQ0\n        6wx2cmwh16oqo2crILMEb0fTDqG/w9y/YP4YOOy6qnZhJ07B2R5nGJVL9bTZ\n        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\n        hp3tiG0Jef0IkiWJWRhB3QfHJAQJg6xiKdp27YLPIccxQi3cRht4sujSudQO\n        v9pQg3akTo6iBF6Y6GTFKJbBd4jqOofVU5wU1iHdQtWOX5MUXFIm5oI3t1Td\n        USs7Zc2dGj9cOml7TQHZhQNPSCT4GSZxsSm+qObdQuvHEkchPAwsFPGUko0B\n        EPcypTyKPeizsLWEFAjDRrjSiwa6Q0Qd/9WjRAkk0QpRVp3Ulgk4PStTBO4C\n        gW50PqkF3SZMJdhdh0m37HnSV4b8Qz+ReyE6GoIc92uBU5pni67CmXi9RT6z\n        X+sRXUpf0vErRMUxzPMXFJAr0bCmc18uRRDV2egmWfEGrheGc0/Q02NUb8V5\n        l1Si0pjPQl6bOAWDE2YYYc3gv588I6GOsWBntWVlpIAq3iFlWFQiktSbRkov\n        a9Jb9sHMZjN2VG6SZfx+eGoevZEaRrTKigRc6ijDGH1AcNHE/zRb7iJH2b+n\n        03VO/EWaDJdxWKxzOrtL9lJSxOzeQP6SPFvSYsZ3SZqiEGhJ6FCDIEuTkp0a\n        OugTvtg8lRkOUHK8ktcxXM3DQsFXtVWsnzA9Dt7d40wwsDrhnv0a4NDHSKRb\n        WT8xwz1IDQwrrRjT/ZIsQ0KuQKMVwAIreMmPCsez4IdPMDiEnHdZgR6Lpu8k\n        zQTyinF7PjDlKKOoNRzjxkLnOsvBwaZyFBxucf9t2XWR0f+Kfo+D65iytf9G\n        ZAi4NyqyyW48E9Aj0ovUL0HZHablL9Cd0DOT91jrOLk/Z16hYrDEUYyETr8y\n        ZhTl6x+2IWB6tYtXu3i1i1e7eLWLV7t4tYtXu3i1S2W9H9g5wwy6Q9dcNFBL\n        aOEFgMLTzwTkwSdbiVI9xQzj9IKP4t9en54Fz/+b/efo/fuji4ub+fyX5fKX\n        ojguiuJ/XlRjuTWgCWLbEU7e61l66Vla0rZZapaa5G2Wud2tXemawk0p6Z7E\n        +lyvX3DndJNIYjsp3bwY5MUgLwZ5MciLQV4M8mLQAYtBfTCmhSr3Bhy2JHO1\n        wGFNStdO4LBbYtfO0NCDJw+ePHjy4MmDJw+ePHg6PPC0Gx3ygWWKsT/dO81z\n        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\n        rX4FAA==\n    http_version: \n  recorded_at: Mon, 15 Jun 2015 20:13:56 GMT\n- request:\n    method: get\n    uri: https://www.googleapis.com/youtube/v3/search?key=AIzaSyAYXJjUwwDKVEliqBxQ8AMbk7ocWJ-z4zw&maxResults=20&part=snippet&q=UCEGV_WXdoIdga2AUQMCdd0Q\n    body:\n      encoding: UTF-8\n      string: ''\n    headers:\n      User-Agent:\n      - |-\n        /Users/thomas/.rvm/gems/ruby-2.2.2/bin/rspec/1.0.0 google-api-ruby-client/0.8.6 Mac OS X/10.10.3\n         (gzip)\n      Accept-Encoding:\n      - gzip\n      Content-Type:\n      - ''\n      Accept:\n      - \"*/*\"\n  response:\n    status:\n      code: 200\n      message: OK\n    headers:\n      Expires:\n      - Mon, 15 Jun 2015 20:13:56 GMT\n      Date:\n      - Mon, 15 Jun 2015 20:13:56 GMT\n      Cache-Control:\n      - private, max-age=120, must-revalidate, no-transform\n      Etag:\n      - '\"eYE31WLho912TfxEBDDRSwEQ5Ms/ZAOA9UHSlLKAHo-oZ0hlaI5CGCI\"'\n      Vary:\n      - Origin\n      - X-Origin\n      Content-Type:\n      - application/json; charset=UTF-8\n      Content-Encoding:\n      - gzip\n      X-Content-Type-Options:\n      - nosniff\n      X-Frame-Options:\n      - SAMEORIGIN\n      X-Xss-Protection:\n      - 1; mode=block\n      Server:\n      - GSE\n      Alternate-Protocol:\n      - 443:quic,p=1\n      Transfer-Encoding:\n      - chunked\n    body:\n      encoding: ASCII-8BIT\n      string: !binary |-\n        H4sIAAAAAAAAAMWSXW/aMBSG7/MrIu+2ECctF3CX0ggyoOMjjI91Qk5yiL05\n        dhQ7rF3Ff19MgPVik7arRrIUHz/nfV8d+9Wy0XcmUtSz0YusdBXDBwWkTOiY\n        KT0HVUihAN3UGGiSGewJwSa4dVdjKruuF+2fg/uHh/niRzDrTJSz9T/53eVw\n        wccjfyhbcospJ2GnP+iHT+ikU5AMQrGXtdarZdtIS0147VRxreqae2OKZbOf\n        Qjmt8brsYcs+mnamITfclxoz/X/L3ygaR/tfs/P1z8XHAcxYFA0Xz1uW77ub\n        9QvcTVfLJnutxNJz7j8YJ5QIAbwhbXTehidm2Q8Gn3erdSrDNCOev5xN+mmK\n        Z8iwx0ZbCVYUoH8bFFXMmaKQ+qaIPOzetlzc8twId3p3uIe9NsZ4+3+GZ1gz\n        zc1g0ZQcgNsDlgOPocwu5ymopGSFZlIY6tpGqzwWhHF1jWnYPTHDvlZsVJXc\n        tFGtC9VzHE477UzKjEOloEyk0CB0O5G50xo95qPokAfhbuL41y988+8788eY\n        6s2uZGrjFFRq2f5WZKjxaoZXW+aQsip/5xCUZfSdIlhvglzeQnS55cv9cXaA\n        +1KSNCFK9xt/cy6kgOYtWqf11TpavwDlaaYuHQQAAA==\n    http_version: \n  recorded_at: Mon, 15 Jun 2015 20:13:57 GMT\n- request:\n    method: get\n    uri: https://www.googleapis.com/discovery/v1/apis/youtube/v3/rest?key=AIzaSyAYXJjUwwDKVEliqBxQ8AMbk7ocWJ-z4zw\n    body:\n      encoding: UTF-8\n      string: ''\n    headers:\n      User-Agent:\n      - |-\n        /Users/thomas/.rvm/gems/ruby-2.2.2/bin/rspec/1.0.0 google-api-ruby-client/0.8.6 Mac OS X/10.10.3\n         (gzip)\n      Accept-Encoding:\n      - gzip\n      Content-Type:\n      - ''\n      Accept:\n      - \"*/*\"\n  response:\n    status:\n      code: 200\n      message: OK\n    headers:\n      Expires:\n      - Mon, 15 Jun 2015 20:18:02 GMT\n      Date:\n      - Mon, 15 Jun 2015 20:13:02 GMT\n      Etag:\n      - '\"ye6orv2F-1npMW3u9suM3a7C5Bo/xrj0tixOAUjJF__K-i_9CMlHy5Y\"'\n      Vary:\n      - Origin\n      - X-Origin\n      Content-Type:\n      - application/json; charset=UTF-8\n      Content-Encoding:\n      - gzip\n      X-Content-Type-Options:\n      - nosniff\n      X-Frame-Options:\n      - SAMEORIGIN\n      X-Xss-Protection:\n      - 1; mode=block\n      Server:\n      - GSE\n      Content-Length:\n      - '44914'\n      Age:\n      - '55'\n      Cache-Control:\n      - public, max-age=300, must-revalidate, no-transform\n      Alternate-Protocol:\n      - 443:quic,p=1\n    body:\n      encoding: ASCII-8BIT\n      string: !binary |-\n        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\n        brBqYcsnW9ZeNF4B0/h5DfVTm2BNJx3gybPsFhmV7cIsL13N+wGdTmIGojFa\n        rULHIRpZIrtmm+1rOXJvbuKxHbVxqLDVIbNmr4antsdLexXprbLs1NKeTaMy\n        E99fqliw7f3yNlzot+Xl5lFVZmdwHtb2HfXLMWDSbYNthu5SfyjRSFNsJ8ka\n        VNn6p+qP/7XNVLWDwVvyQd18+UwfVo5yyCm9QO0xjTUDyBewKCZVUqdYtC/g\n        tdxRO4Ogmwf3bhVnwbop0zCPEvITtV01VZhhw29yJyCoKpUdBv2CmEsR0GEy\n        zzBtAEdHJeR84ioLWxANBx9aCoIkJactysZOC1nlnDZQ1I6IoTjt0vmBWoem\n        pm1o7BfkO5uTWNNLO1z299EebOunWcoh6yiYvs9uDDxgtvs3/19739bctpWl\n        +55fgfJL7BnqZidOJ1X9YEtOoqp47CPJ3TVzHlIQAYqISYADgJLZp/q/n73W\n        2nds3EmJtHdXz7RFAPu+1/rWnQ3x/xBV0lNKDNmBbqv6T+5xPnxhRaV7Hd7B\n        2qKyKEpmMyjuDSvKwwdqbmyW67Sa5zSAahEp3t80hrQHWhvickuXefCVVU6c\n        t/EMPL3EgGTUuOna5UyHeZmCO21CJnBUb0lrb4JBBzRQ6A9ktc9gD4aAVfS9\n        d4YNlKSb4Plf5STpC+GcL1U8xSad8p4mvC0okT5jcyCP/5B9Tw0bNtLxh3Me\n        Fu/YxGFndeLBOH9agEyaQk6QbLHW7WN0mmAGjONOkZ+dGwoQ4zkeavv5Ov2c\n        Zg+p81v+7Fxm9K480pp8HHLV8Y6Z3uNbsl6J0iy8KLjw+ta5l+73LV1N0e4O\n        RzWZZxnX3HK9LnAudMaJNV9tkmuLGJkOIKocLLsPeOgYaOTXqmtiHG0dbvRV\n        aXWDq/2wGReb73YHyW/AzfduEVvglqxkaBPn0R1QwL1bPQGhwRU1pQYcBFQY\n        OEo8gzFGJb2EISdygKXyoSaqlJjRL1ArRWTaVMKrDeqhajipdXWdr16rXv0u\n        BFNlXSwq1sW3G2HLrsgPPI6Gx85gHC6UCVKzJbkf4iHY/6WZLK5VyNzKwjjF\n        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\n        0ZYwXeZgXibLZMq1s0JTQqpokXpcpOi5vHBSKgrf6kWlkuGKiCRyQ1LEmfrS\n        c7hX8ByJ3FnZItih9c3lBQZ+iWYxUqLkvSrHd+0zVbBpO2gtS9+iiv7DbNAK\n        sfFzMVPomD4aWgc7a4XYcFwmoJJkIGCN9NtQNWyeRuEDlKgYNAUyS9wY4nWA\n        LhU82gX5cZHcg0ELJiZ1Tjx7FRBU1nkhVc7uwRnMrRLKwBcGRHPOXogzTNm+\n        wuFgQF6JEipZ1vn7a7KBQAhnQgyI3HjkwtJGiExbOBIDNjhgzXHTcjQtAYc2\n        DyRlL8MUDsMS4A84C8a57vYrSg2jmYCJJtlDYQ4TrTC69oJNa0qg7w608pSB\n        Ht4hPV+Sa8YUcfLAW2oi0/UxJMh99gQz1tq3l1tqPGG72MvrcKGMZDdz4XiI\n        exBSyIbaT9wUffDcY0bYzhZJ+lm5ZqgNsVcWV2LLCCCpxD4M5t8j2DE/M06d\n        f8SmDS5HHbiseLOOz578vyT6d3/l/wVvt0KyaetNKo6+WUoNCXG8sror8S3w\n        JhX+xoIG6rIDMQhBNsvZUtf2oAuG1azMcdOvYfhMy1/i0cKeoAWlVNwXvID3\n        yMMFDxc8XPg64YK8HMBtBhM8i1XpSjqZuFgnYG7DnWb0sYqPGYcKS7pVdKJ4\n        E0gB3pUd6ytkR0qwed9qoTsAjqbGn3mp/1lChSDt7/tSaFe0YIXmaIXg2fX6\n        lqoGgvFeT/zBH0/jNMzBrkMhw8E5X9PKbLCpq2TlbgcqpUXBDTjcvQ/zz+tV\n        IPLsiV0yXv9nfMsL+OAnN7C4hXrTMcsupw0gyPDjZgIY13kzjCD8uEkHAAwy\n        WsjSWZb2sIrz6nWIr1/9fHQGHlCiarxEZKBGNGw/UmcdF8B2ZT/iC+pKH1qi\n        1yBhLJ68YpchBGwYb6rkMcRQYZPwWfwtyAxyKOvVKsvL4n0cJeGFkh0A3Rhy\n        RYsHppQqavwvW3R3Td6Xn1ZuaeLrQuBu08IACO5xpseZHmd+XThzNw4wOsQ0\n        6wx2cmwh16oqo2crILMEb0fTDqG/w9y/YP4YOOy6qnZhJ07B2R5nGJVL9bTZ\n        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\n        hp3tiG0Jef0IkiWJWRhB3QfHJAQJg6xiKdp27YLPIccxQi3cRht4sujSudQO\n        v9pQg3akTo6iBF6Y6GTFKJbBd4jqOofVU5wU1iHdQtWOX5MUXFIm5oI3t1Td\n        USs7Zc2dGj9cOml7TQHZhQNPSCT4GSZxsSm+qObdQuvHEkchPAwsFPGUko0B\n        EPcypTyKPeizsLWEFAjDRrjSiwa6Q0Qd/9WjRAkk0QpRVp3Ulgk4PStTBO4C\n        gW50PqkF3SZMJdhdh0m37HnSV4b8Qz+ReyE6GoIc92uBU5pni67CmXi9RT6z\n        X+sRXUpf0vErRMUxzPMXFJAr0bCmc18uRRDV2egmWfEGrheGc0/Q02NUb8V5\n        l1Si0pjPQl6bOAWDE2YYYc3gv588I6GOsWBntWVlpIAq3iFlWFQiktSbRkov\n        a9Jb9sHMZjN2VG6SZfx+eGoevZEaRrTKigRc6ijDGH1AcNHE/zRb7iJH2b+n\n        03VO/EWaDJdxWKxzOrtL9lJSxOzeQP6SPFvSYsZ3SZqiEGhJ6FCDIEuTkp0a\n        OugTvtg8lRkOUHK8ktcxXM3DQsFXtVWsnzA9Dt7d40wwsDrhnv0a4NDHSKRb\n        WT8xwz1IDQwrrRjT/ZIsQ0KuQKMVwAIreMmPCsez4IdPMDiEnHdZgR6Lpu8k\n        zQTyinF7PjDlKKOoNRzjxkLnOsvBwaZyFBxucf9t2XWR0f+Kfo+D65iytf9G\n        ZAi4NyqyyW48E9Aj0ovUL0HZHablL9Cd0DOT91jrOLk/Z16hYrDEUYyETr8y\n        ZhTl6x+2IWB6tYtXu3i1i1e7eLWLV7t4tYtXu3i1S2W9H9g5wwy6Q9dcNFBL\n        aOEFgMLTzwTkwSdbiVI9xQzj9IKP4t9en54Fz/+b/efo/fuji4ub+fyX5fKX\n        ojguiuJ/XlRjuTWgCWLbEU7e61l66Vla0rZZapaa5G2Wud2tXemawk0p6Z7E\n        +lyvX3DndJNIYjsp3bwY5MUgLwZ5MciLQV4M8mLQAYtBfTCmhSr3Bhy2JHO1\n        wGFNStdO4LBbYtfO0NCDJw+ePHjy4MmDJw+ePHg6PPC0Gx3ygWWKsT/dO81z\n        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\n        rX4FAA==\n    http_version: \n  recorded_at: Mon, 15 Jun 2015 20:13:57 GMT\n- request:\n    method: get\n    uri: https://www.googleapis.com/youtube/v3/search?key=AIzaSyAYXJjUwwDKVEliqBxQ8AMbk7ocWJ-z4zw&maxResults=20&part=snippet&q=UCfeoDmpgnW_rd3tM8kBSoig\n    body:\n      encoding: UTF-8\n      string: ''\n    headers:\n      User-Agent:\n      - |-\n        /Users/thomas/.rvm/gems/ruby-2.2.2/bin/rspec/1.0.0 google-api-ruby-client/0.8.6 Mac OS X/10.10.3\n         (gzip)\n      Accept-Encoding:\n      - gzip\n      Content-Type:\n      - ''\n      Accept:\n      - \"*/*\"\n  response:\n    status:\n      code: 200\n      message: OK\n    headers:\n      Expires:\n      - Mon, 15 Jun 2015 20:13:57 GMT\n      Date:\n      - Mon, 15 Jun 2015 20:13:57 GMT\n      Cache-Control:\n      - private, max-age=120, must-revalidate, no-transform\n      Etag:\n      - '\"eYE31WLho912TfxEBDDRSwEQ5Ms/Cr1qhvx0aTahbwuvJ2fkUAC4AKA\"'\n      Vary:\n      - Origin\n      - X-Origin\n      Content-Type:\n      - application/json; charset=UTF-8\n      Content-Encoding:\n      - gzip\n      X-Content-Type-Options:\n      - nosniff\n      X-Frame-Options:\n      - SAMEORIGIN\n      X-Xss-Protection:\n      - 1; mode=block\n      Server:\n      - GSE\n      Alternate-Protocol:\n      - 443:quic,p=1\n      Transfer-Encoding:\n      - chunked\n    body:\n      encoding: ASCII-8BIT\n      string: !binary |-\n        H4sIAAAAAAAAAMWSXW/aMBSG7/MrIu+2kDiUDbgLH1tZQ9cWuuyj02SSk9jF\n        sVPbgaKK/76YAOvFJm1XjWQpPn7O+7469rPjohUTKRq4aCsrUy3hjQaiEhox\n        bW5Bl1JoQGc1BobkFrtH8HXSwXFEZR8Hi+xpMhyPb+ebyU13pr2Rwo90/eST\n        BaHLTbX+GGSru3B0Hl6G92ivU5IcpiKTtdaz47rISEN47VRxo+saPrNF1eyv\n        QV3XeF0OfMfd2XZmoLDc9xqz/X/L3yhaR/dfswfRp89XOA9b8ZcLFZ3zKu7N\n        +u/XOCY3TfZaiaWH3H8wTigRAnhDuuiwne6Zu1EGclyUuYh/qrRjZr3VcC5Z\n        jiy7a7S1YGUJ5rdBWS050xTS0BZR4OOg5eMW7iwCPMD9Qfdd2/f9b/9neIAN\n        M9wOFoXF1o1YTg2VPAV1PE9BJ4qVhklhqVMbrYqlIIzrU0zLZsQO+1RxUaW4\n        baPGlHrgeZx227mUOYdKg0qkMCBMO5GF19JXi8lD70OiLmdeePqmL/5Db37B\n        8Ha7mcdvE6+k0sj2Q9mM7ji82rKAlFXFK4eg9SRfKYLzIsjxLSyOt3y8P87W\n        MFSSpAnRZtT423MhBTRv0dmvH87O+QVMqObHHQQAAA==\n    http_version: \n  recorded_at: Mon, 15 Jun 2015 20:13:57 GMT\n- request:\n    method: get\n    uri: https://www.googleapis.com/discovery/v1/apis/youtube/v3/rest?key=AIzaSyAYXJjUwwDKVEliqBxQ8AMbk7ocWJ-z4zw\n    body:\n      encoding: UTF-8\n      string: ''\n    headers:\n      User-Agent:\n      - |-\n        /Users/thomas/.rvm/gems/ruby-2.2.2/bin/rspec/1.0.0 google-api-ruby-client/0.8.6 Mac OS X/10.10.3\n         (gzip)\n      Accept-Encoding:\n      - gzip\n      Content-Type:\n      - ''\n      Accept:\n      - \"*/*\"\n  response:\n    status:\n      code: 200\n      message: OK\n    headers:\n      Expires:\n      - Mon, 15 Jun 2015 20:18:02 GMT\n      Date:\n      - Mon, 15 Jun 2015 20:13:02 GMT\n      Etag:\n      - '\"ye6orv2F-1npMW3u9suM3a7C5Bo/xrj0tixOAUjJF__K-i_9CMlHy5Y\"'\n      Vary:\n      - Origin\n      - X-Origin\n      Content-Type:\n      - application/json; charset=UTF-8\n      Content-Encoding:\n      - gzip\n      X-Content-Type-Options:\n      - nosniff\n      X-Frame-Options:\n      - SAMEORIGIN\n      X-Xss-Protection:\n      - 1; mode=block\n      Server:\n      - GSE\n      Content-Length:\n      - '44914'\n      Age:\n      - '55'\n      Cache-Control:\n      - public, max-age=300, must-revalidate, no-transform\n      Alternate-Protocol:\n      - 443:quic,p=1\n    body:\n      encoding: ASCII-8BIT\n      string: !binary |-\n        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\n        brBqYcsnW9ZeNF4B0/h5DfVTm2BNJx3gybPsFhmV7cIsL13N+wGdTmIGojFa\n        rULHIRpZIrtmm+1rOXJvbuKxHbVxqLDVIbNmr4antsdLexXprbLs1NKeTaMy\n        E99fqliw7f3yNlzot+Xl5lFVZmdwHtb2HfXLMWDSbYNthu5SfyjRSFNsJ8ka\n        VNn6p+qP/7XNVLWDwVvyQd18+UwfVo5yyCm9QO0xjTUDyBewKCZVUqdYtC/g\n        tdxRO4Ogmwf3bhVnwbop0zCPEvITtV01VZhhw29yJyCoKpUdBv2CmEsR0GEy\n        zzBtAEdHJeR84ioLWxANBx9aCoIkJactysZOC1nlnDZQ1I6IoTjt0vmBWoem\n        pm1o7BfkO5uTWNNLO1z299EebOunWcoh6yiYvs9uDDxgtvs3/19739bctpWl\n        +55fgfJL7BnqZidOJ1X9YEtOoqp47CPJ3TVzHlIQAYqISYADgJLZp/q/n73W\n        2nds3EmJtHdXz7RFAPu+1/rWnQ3x/xBV0lNKDNmBbqv6T+5xPnxhRaV7Hd7B\n        2qKyKEpmMyjuDSvKwwdqbmyW67Sa5zSAahEp3t80hrQHWhvickuXefCVVU6c\n        t/EMPL3EgGTUuOna5UyHeZmCO21CJnBUb0lrb4JBBzRQ6A9ktc9gD4aAVfS9\n        d4YNlKSb4Plf5STpC+GcL1U8xSad8p4mvC0okT5jcyCP/5B9Tw0bNtLxh3Me\n        Fu/YxGFndeLBOH9agEyaQk6QbLHW7WN0mmAGjONOkZ+dGwoQ4zkeavv5Ov2c\n        Zg+p81v+7Fxm9K480pp8HHLV8Y6Z3uNbsl6J0iy8KLjw+ta5l+73LV1N0e4O\n        RzWZZxnX3HK9LnAudMaJNV9tkmuLGJkOIKocLLsPeOgYaOTXqmtiHG0dbvRV\n        aXWDq/2wGReb73YHyW/AzfduEVvglqxkaBPn0R1QwL1bPQGhwRU1pQYcBFQY\n        OEo8gzFGJb2EISdygKXyoSaqlJjRL1ArRWTaVMKrDeqhajipdXWdr16rXv0u\n        BFNlXSwq1sW3G2HLrsgPPI6Gx85gHC6UCVKzJbkf4iHY/6WZLK5VyNzKwjjF\n        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\n        0ZYwXeZgXibLZMq1s0JTQqpokXpcpOi5vHBSKgrf6kWlkuGKiCRyQ1LEmfrS\n        c7hX8ByJ3FnZItih9c3lBQZ+iWYxUqLkvSrHd+0zVbBpO2gtS9+iiv7DbNAK\n        sfFzMVPomD4aWgc7a4XYcFwmoJJkIGCN9NtQNWyeRuEDlKgYNAUyS9wY4nWA\n        LhU82gX5cZHcg0ELJiZ1Tjx7FRBU1nkhVc7uwRnMrRLKwBcGRHPOXogzTNm+\n        wuFgQF6JEipZ1vn7a7KBQAhnQgyI3HjkwtJGiExbOBIDNjhgzXHTcjQtAYc2\n        DyRlL8MUDsMS4A84C8a57vYrSg2jmYCJJtlDYQ4TrTC69oJNa0qg7w608pSB\n        Ht4hPV+Sa8YUcfLAW2oi0/UxJMh99gQz1tq3l1tqPGG72MvrcKGMZDdz4XiI\n        exBSyIbaT9wUffDcY0bYzhZJ+lm5ZqgNsVcWV2LLCCCpxD4M5t8j2DE/M06d\n        f8SmDS5HHbiseLOOz578vyT6d3/l/wVvt0KyaetNKo6+WUoNCXG8sror8S3w\n        JhX+xoIG6rIDMQhBNsvZUtf2oAuG1azMcdOvYfhMy1/i0cKeoAWlVNwXvID3\n        yMMFDxc8XPg64YK8HMBtBhM8i1XpSjqZuFgnYG7DnWb0sYqPGYcKS7pVdKJ4\n        E0gB3pUd6ytkR0qwed9qoTsAjqbGn3mp/1lChSDt7/tSaFe0YIXmaIXg2fX6\n        lqoGgvFeT/zBH0/jNMzBrkMhw8E5X9PKbLCpq2TlbgcqpUXBDTjcvQ/zz+tV\n        IPLsiV0yXv9nfMsL+OAnN7C4hXrTMcsupw0gyPDjZgIY13kzjCD8uEkHAAwy\n        WsjSWZb2sIrz6nWIr1/9fHQGHlCiarxEZKBGNGw/UmcdF8B2ZT/iC+pKH1qi\n        1yBhLJ68YpchBGwYb6rkMcRQYZPwWfwtyAxyKOvVKsvL4n0cJeGFkh0A3Rhy\n        RYsHppQqavwvW3R3Td6Xn1ZuaeLrQuBu08IACO5xpseZHmd+XThzNw4wOsQ0\n        6wx2cmwh16oqo2crILMEb0fTDqG/w9y/YP4YOOy6qnZhJ07B2R5nGJVL9bTZ\n        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\n        hp3tiG0Jef0IkiWJWRhB3QfHJAQJg6xiKdp27YLPIccxQi3cRht4sujSudQO\n        v9pQg3akTo6iBF6Y6GTFKJbBd4jqOofVU5wU1iHdQtWOX5MUXFIm5oI3t1Td\n        USs7Zc2dGj9cOml7TQHZhQNPSCT4GSZxsSm+qObdQuvHEkchPAwsFPGUko0B\n        EPcypTyKPeizsLWEFAjDRrjSiwa6Q0Qd/9WjRAkk0QpRVp3Ulgk4PStTBO4C\n        gW50PqkF3SZMJdhdh0m37HnSV4b8Qz+ReyE6GoIc92uBU5pni67CmXi9RT6z\n        X+sRXUpf0vErRMUxzPMXFJAr0bCmc18uRRDV2egmWfEGrheGc0/Q02NUb8V5\n        l1Si0pjPQl6bOAWDE2YYYc3gv588I6GOsWBntWVlpIAq3iFlWFQiktSbRkov\n        a9Jb9sHMZjN2VG6SZfx+eGoevZEaRrTKigRc6ijDGH1AcNHE/zRb7iJH2b+n\n        03VO/EWaDJdxWKxzOrtL9lJSxOzeQP6SPFvSYsZ3SZqiEGhJ6FCDIEuTkp0a\n        OugTvtg8lRkOUHK8ktcxXM3DQsFXtVWsnzA9Dt7d40wwsDrhnv0a4NDHSKRb\n        WT8xwz1IDQwrrRjT/ZIsQ0KuQKMVwAIreMmPCsez4IdPMDiEnHdZgR6Lpu8k\n        zQTyinF7PjDlKKOoNRzjxkLnOsvBwaZyFBxucf9t2XWR0f+Kfo+D65iytf9G\n        ZAi4NyqyyW48E9Aj0ovUL0HZHablL9Cd0DOT91jrOLk/Z16hYrDEUYyETr8y\n        ZhTl6x+2IWB6tYtXu3i1i1e7eLWLV7t4tYtXu3i1S2W9H9g5wwy6Q9dcNFBL\n        aOEFgMLTzwTkwSdbiVI9xQzj9IKP4t9en54Fz/+b/efo/fuji4ub+fyX5fKX\n        ojguiuJ/XlRjuTWgCWLbEU7e61l66Vla0rZZapaa5G2Wud2tXemawk0p6Z7E\n        +lyvX3DndJNIYjsp3bwY5MUgLwZ5MciLQV4M8mLQAYtBfTCmhSr3Bhy2JHO1\n        wGFNStdO4LBbYtfO0NCDJw+ePHjy4MmDJw+ePHg6PPC0Gx3ygWWKsT/dO81z\n        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\n        rX4FAA==\n    http_version: \n  recorded_at: Mon, 15 Jun 2015 20:13:57 GMT\n- request:\n    method: get\n    uri: https://www.googleapis.com/youtube/v3/search?key=AIzaSyAYXJjUwwDKVEliqBxQ8AMbk7ocWJ-z4zw&maxResults=20&part=snippet&q=UC0hLIxslS2GohjOkOxQvh-w\n    body:\n      encoding: UTF-8\n      string: ''\n    headers:\n      User-Agent:\n      - |-\n        /Users/thomas/.rvm/gems/ruby-2.2.2/bin/rspec/1.0.0 google-api-ruby-client/0.8.6 Mac OS X/10.10.3\n         (gzip)\n      Accept-Encoding:\n      - gzip\n      Content-Type:\n      - ''\n      Accept:\n      - \"*/*\"\n  response:\n    status:\n      code: 200\n      message: OK\n    headers:\n      Expires:\n      - Mon, 15 Jun 2015 20:13:58 GMT\n      Date:\n      - Mon, 15 Jun 2015 20:13:58 GMT\n      Cache-Control:\n      - private, max-age=120, must-revalidate, no-transform\n      Etag:\n      - '\"eYE31WLho912TfxEBDDRSwEQ5Ms/r3lOTQN8rA_wn6QOh50ShfZZeBA\"'\n      Vary:\n      - Origin\n      - X-Origin\n      Content-Type:\n      - application/json; charset=UTF-8\n      Content-Encoding:\n      - gzip\n      X-Content-Type-Options:\n      - nosniff\n      X-Frame-Options:\n      - SAMEORIGIN\n      X-Xss-Protection:\n      - 1; mode=block\n      Server:\n      - GSE\n      Alternate-Protocol:\n      - 443:quic,p=1\n      Transfer-Encoding:\n      - chunked\n    body:\n      encoding: ASCII-8BIT\n      string: !binary |-\n        H4sIAAAAAAAAAMVT21LbMBR891do3Fd8C6RA3hwS2pSACQm3lE5HsU8sJbJk\n        JBmSMvwN/RJ+rFKcpDy0M+0TmvGMtFrt7pGOnxzkzinP3BZyl6LS1QQ+KMAy\n        JX2q9AWoUnAF7o6hgca5pd25cNvdja77RBxGjdF00W13OhfDx+6geaoCucuS\n        0eDsQMbfH/nHQUKa4ZBMx2Nox3fuSqfEOfT4VBitJwchVwuNmXGqmFYGi3Ys\n        KOv1OchzQzdwI3TQsz1ONRSW99XQ7Pm/5a8VrSP61+xfhofHB7PO8c2P+5MT\n        j8ukGR13hlW8P76tsxslmq1z/8E4JZhzYDUTuetlb8W5PApJv7dQbNj4JMgs\n        mSeLwQPxHl3Lfa61FadlCfq3QVlNGFUEstiCbiOMGl4UetH+KGy29nZbe4d+\n        GIbj/zNckzXVzF6sOyKiwAolKSkw3+xmoFJJS00FX3HOuugaJilWGnke6i+V\n        4hiVrz/RXBQFcI0lSCQKVApGNZ0jkRKE57oCxpDCBXl9YUxlMMFa++gUMgRa\n        I0YnIDHTSC25en0xyFrNoBLNcL6RwMgI8AyYAumjEyH1ymAueGq6dDX3fX9b\n        GamKCceUqe1N2oKm2PbDFkFuJZmtjWhdqlYQMNL0cyFyBpWxSYWJwbWfiiLw\n        OvGyrRefe8mVCuLt6L2Zx0H3fs+7zKur9EYFJRFa+LMyd2uv+n2NZQEZrYp3\n        DkFoTt4pgvMmyKZdR9tGPOuue2zzkow+QFsKnFnwqE5imVxwqH8cZ/V9c56d\n        X7RQ0arKBAAA\n    http_version: \n  recorded_at: Mon, 15 Jun 2015 20:13:58 GMT\nrecorded_with: VCR 2.9.3\n"
  },
  {
    "path": "spec/fixtures/country_codes.txt",
    "content": "AF|Afghanistan\nAL|Albania\nDZ|Algeria\nAS|American Samoa\nAD|Andorra\nAO|Angola\nAI|Anguilla\nAQ|Antarctica\nAG|Antigua And Barbuda\nAR|Argentina\nAM|Armenia\nAW|Aruba\nAU|Australia\nAT|Austria\nAZ|Azerbaijan\nBS|Bahamas\nBH|Bahrain\nBD|Bangladesh\nBB|Barbados\nBY|Belarus\nBE|Belgium\nBZ|Belize\nBJ|Benin\nBM|Bermuda\nBT|Bhutan\nBO|Bolivia\nBA|Bosnia And Herzegovina\nBW|Botswana\nBV|Bouvet Island\nBR|Brazil\nIO|British Indian Ocean Territory\nBN|Brunei Darussalam\nBG|Bulgaria\nBF|Burkina Faso\nBI|Burundi\nKH|Cambodia\nCM|Cameroon\nCA|Canada\nCV|Cape Verde\nKY|Cayman Islands\nCF|Central African Republic\nTD|Chad\nCL|Chile\nCN|China\nCX|Christmas Island\nCC|Cocos (keeling) Islands\nCO|Colombia\nKM|Comoros\nCG|Congo\nCD|Congo, The Democratic Republic Of The\nCK|Cook Islands\nCR|Costa Rica\nCI|Cote D'ivoire\nHR|Croatia\nCU|Cuba\nCY|Cyprus\nCZ|Czech Republic\nDK|Denmark\nDJ|Djibouti\nDM|Dominica\nDO|Dominican Republic\nTP|East Timor\nEC|Ecuador\nEG|Egypt\nSV|El Salvador\nGQ|Equatorial Guinea\nER|Eritrea\nEE|Estonia\nET|Ethiopia\nFK|Falkland Islands (malvinas)\nFO|Faroe Islands\nFJ|Fiji\nFI|Finland\nFR|France\nGF|French Guiana\nPF|French Polynesia\nTF|French Southern Territories\nGA|Gabon\nGM|Gambia\nGE|Georgia\nDE|Germany\nGH|Ghana\nGI|Gibraltar\nGR|Greece\nGL|Greenland\nGD|Grenada\nGP|Guadeloupe\nGU|Guam\nGT|Guatemala\nGN|Guinea\nGW|Guinea-bissau\nGY|Guyana\nHT|Haiti\nHM|Heard Island And Mcdonald Islands\nVA|Holy See (vatican City State)\nHN|Honduras\nHK|Hong Kong\nHU|Hungary\nIS|Iceland\nIN|India\nID|Indonesia\nIR|Iran, Islamic Republic Of\nIQ|Iraq\nIE|Ireland\nIL|Israel\nIT|Italy\nJM|Jamaica\nJP|Japan\nJO|Jordan\nKZ|Kazakstan\nKE|Kenya\nKI|Kiribati\nKP|Korea, Democratic People's Republic Of\nKR|Korea, Republic Of\nKV|Kosovo\nKW|Kuwait\nKG|Kyrgyzstan\nLA|Lao People's Democratic Republic\nLV|Latvia\nLB|Lebanon\nLS|Lesotho\nLR|Liberia\nLY|Libyan Arab Jamahiriya\nLI|Liechtenstein\nLT|Lithuania\nLU|Luxembourg\nMO|Macau\nMK|Macedonia, The Former Yugoslav Republic Of\nMG|Madagascar\nMW|Malawi\nMY|Malaysia\nMV|Maldives\nML|Mali\nMT|Malta\nMH|Marshall Islands\nMQ|Martinique\nMR|Mauritania\nMU|Mauritius\nYT|Mayotte\nMX|Mexico\nFM|Micronesia, Federated States Of\nMD|Moldova, Republic Of\nMC|Monaco\nMN|Mongolia\nMS|Montserrat\nME|Montenegro\nMA|Morocco\nMZ|Mozambique\nMM|Myanmar\nNA|Namibia\nNR|Nauru\nNP|Nepal\nNL|Netherlands\nAN|Netherlands Antilles\nNC|New Caledonia\nNZ|New Zealand\nNI|Nicaragua\nNE|Niger\nNG|Nigeria\nNU|Niue\nNF|Norfolk Island\nMP|Northern Mariana Islands\nNO|Norway\nOM|Oman\nPK|Pakistan\nPW|Palau\nPS|Palestinian Territory, Occupied\nPA|Panama\nPG|Papua New Guinea\nPY|Paraguay\nPE|Peru\nPH|Philippines\nPN|Pitcairn\nPL|Poland\nPT|Portugal\nPR|Puerto Rico\nQA|Qatar\nRE|Reunion\nRO|Romania\nRU|Russian Federation\nRW|Rwanda\nSH|Saint Helena\nKN|Saint Kitts And Nevis\nLC|Saint Lucia\nPM|Saint Pierre And Miquelon\nVC|Saint Vincent And The Grenadines\nWS|Samoa\nSM|San Marino\nST|Sao Tome And Principe\nSA|Saudi Arabia\nSN|Senegal\nRS|Serbia\nSC|Seychelles\nSL|Sierra Leone\nSG|Singapore\nSK|Slovakia\nSI|Slovenia\nSB|Solomon Islands\nSO|Somalia\nZA|South Africa\nGS|South Georgia And The South Sandwich Islands\nES|Spain\nLK|Sri Lanka\nSD|Sudan\nSR|Suriname\nSJ|Svalbard And Jan Mayen\nSZ|Swaziland\nSE|Sweden\nCH|Switzerland\nSY|Syrian Arab Republic\nTW|Taiwan, Province Of China\nTJ|Tajikistan\nTZ|Tanzania, United Republic Of\nTH|Thailand\nTG|Togo\nTK|Tokelau\nTO|Tonga\nTT|Trinidad And Tobago\nTN|Tunisia\nTR|Turkey\nTM|Turkmenistan\nTC|Turks And Caicos Islands\nTV|Tuvalu\nUG|Uganda\nUA|Ukraine\nAE|United Arab Emirates\nGB|United Kingdom\nUS|United States\nUM|United States Minor Outlying Islands\nUY|Uruguay\nUZ|Uzbekistan\nVU|Vanuatu\nVE|Venezuela\nVN|Viet Nam\nVG|Virgin Islands, British\nVI|Virgin Islands, U.s.\nWF|Wallis And Futuna\nEH|Western Sahara\nYE|Yemen\nZM|Zambia\nZW|Zimbabwe"
  },
  {
    "path": "spec/fixtures/paypal_agreement_response.json",
    "content": "{\n  \"body\": {  \n    \"name\":\"Premium Mob\",\n    \"description\":\"Premium Mob membership for £25/month\",\n    \"start_date\":\"2019-05-09T16:19:39+00:00\",\n    \"plan\":{  \n      \"id\":\"P-6A8554404E294635VUDTNLWQ\",\n      \"state\":\"ACTIVE\",\n      \"name\":\"Premium Mob\",\n      \"description\":\"Premium Mob membership for £25/month\",\n      \"type\":\"FIXED\",\n      \"payment_definitions\":[  \n        {  \n          \"id\":\"PD-7P863477AD393581DUDTNLWQ\",\n          \"name\":\"Regular payment definition\",\n          \"type\":\"REGULAR\",\n          \"frequency\":\"Month\",\n          \"amount\":{  \n            \"currency\":\"GBP\",\n            \"value\":\"25\"\n           },\n           \"cycles\":\"12\",\n           \"frequency_interval\":\"1\"\n          }\n        ],\n        \"merchant_preferences\":{  \n          \"setup_fee\":{  \n            \"currency\":\"GBP\",\n            \"value\":\"0\"\n          },\n          \"max_fail_attempts\":\"0\",\n          \"return_url\":\"http://localhost:3000/paypal/create?plan=premiummob\",\n          \"cancel_url\":\"http://localhost:3000/subscriptions/new?plan=premiummob\",\n          \"auto_bill_amount\":\"YES\",\n          \"initial_fail_amount_action\":\"CONTINUE\"\n        }\n      },\n      \"links\":[  \n      {  \n       \"href\":\"https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=EC-8G803347TJ631023W\",\n       \"rel\":\"approval_url\",\n       \"method\":\"REDIRECT\"\n      },\n      {  \n        \"href\":\"https://api.sandbox.paypal.com/v1/payments/billing-agreements/EC-8G803347TJ631023W/agreement-execute\",\n        \"rel\":\"execute\",\n        \"method\":\"POST\"\n      }\n    ]\n  },\n  \"headers\": {\n      \"date\":   [  \n         \"Tue, 07 May 2019 16:19:39 GMT\"\n      ],\n      \"server\":   [  \n         \"Apache\"\n      ],\n      \"paypal-debug-id\":   [  \n         \"fe4d763bdc904\",\n         \"fe4d763bdc904\"\n      ],\n      \"content-language\":   [  \n         \"*\"\n      ],\n      \"http_x_pp_az_locator\":   [  \n         \"sandbox.slc\"\n      ],\n      \"set-cookie\":   [  \n         \"X-PP-SILOVER=name%3DSANDBOX3.API.1%26silo_version%3D1880%26app%3Dapiplatformproxyserv%26TIME%3D464572764%26HTTP_X_PP_AZ_LOCATOR%3Dsandbox.slc; Expires=Tue, 07 May 2019 16:49:43 GMT; domain=.paypal.com; path=/; Secure; HttpOnly\",\n         \"X-PP-SILOVER=; Expires=Thu, 01 Jan 1970 00:00:01 GMT\"\n      ],\n      \"vary\":   [  \n         \"Authorization\"\n      ],\n      \"content-length\":   [  \n         \"1077\"\n      ],\n      \"connection\":   [  \n         \"close\"\n      ],\n      \"content-type\":   [  \n         \"application/json\"\n      ]\n   }\n}"
  },
  {
    "path": "spec/fixtures/pivotal_tracker_project_current_iteration.json",
    "content": "[{\"velocity\":1,\"points\":4,\"effective_points\":4.0,\"analytics\":{\"kind\":\"analytics\",\"stories_accepted\":0,\"bugs_created\":0,\"cycle_time\":0,\"rejection_rate\":0.0},\"stories\":[{\"id\":80154166,\"story_type\":\"bug\",\"name\":\"YT sync is failing in some cases\",\"description\":\"When new users want to sync theit YT accounts/channels they get an error message - 500 error. This needs to be investigated. \",\"current_state\":\"finished\",\"url\":\"https://www.pivotaltracker.com/story/show/80154166\",\"requested_by\":{\"kind\":\"person\",\"id\":1104242,\"name\":\"Thomas Ochman\",\"email\":\"tochman10@gmail.com\",\"initials\":\"TO\",\"username\":\"thomasochman\"},\"owners\":[{\"kind\":\"person\",\"id\":1518634,\"name\":\"Alejandro Babio\",\"email\":\"alejandroebabio@gmail.com\",\"initials\":\"AB\",\"username\":\"alejandrobabio\"}],\"labels\":[],\"tasks\":[],\"followers\":[{\"kind\":\"person\",\"id\":1295184,\"name\":\"Rene Paulokat\",\"email\":\"rene@so36.net\",\"initials\":\"RP\",\"username\":\"renepaulokat1\"},{\"kind\":\"person\",\"id\":1104242,\"name\":\"Thomas Ochman\",\"email\":\"tochman10@gmail.com\",\"initials\":\"TO\",\"username\":\"thomasochman\"},{\"kind\":\"person\",\"id\":1518634,\"name\":\"Alejandro Babio\",\"email\":\"alejandroebabio@gmail.com\",\"initials\":\"AB\",\"username\":\"alejandrobabio\"},{\"kind\":\"person\",\"id\":8098,\"name\":\"Sam Joseph\",\"email\":\"sam@neurogrid.com\",\"initials\":\"SJ\",\"username\":\"tansaku\"},{\"kind\":\"person\",\"id\":1563384,\"name\":\"Raoul Diffouo\",\"email\":\"diraulo@gmail.com\",\"initials\":\"RD\",\"username\":\"diraulo\"}],\"comments\":[{\"kind\":\"comment\",\"id\":81496756,\"text\":\"partial PR: https://github.com/AgileVentures/WebsiteOne/pull/569 - first shot to provide some hint to users facing this problem...\",\"created_at\":\"2014-10-06T20:09:44Z\",\"updated_at\":\"2014-10-06T20:09:44Z\",\"story_id\":80154166,\"person\":{\"kind\":\"person\",\"id\":1295184,\"name\":\"Rene Paulokat\",\"email\":\"rene@so36.net\",\"initials\":\"RP\",\"username\":\"renepaulokat1\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":95724102,\"text\":\"@renepaulokat1 Do you plan to further investigate this bug?\",\"created_at\":\"2015-03-20T19:43:37Z\",\"updated_at\":\"2015-03-20T19:43:37Z\",\"story_id\":80154166,\"person\":{\"kind\":\"person\",\"id\":1104242,\"name\":\"Thomas Ochman\",\"email\":\"tochman10@gmail.com\",\"initials\":\"TO\",\"username\":\"thomasochman\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":101139622,\"text\":\"The problem seem to be if a user has two YT accounts configured it will cause a 500 error. We need to refactor the connection method and add a rescue block to push out a error message to the user if the connection fails. \",\"created_at\":\"2015-05-20T10:21:13Z\",\"updated_at\":\"2015-05-20T10:21:13Z\",\"story_id\":80154166,\"person\":{\"kind\":\"person\",\"id\":1104242,\"name\":\"Thomas Ochman\",\"email\":\"tochman10@gmail.com\",\"initials\":\"TO\",\"username\":\"thomasochman\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":101139682,\"text\":\"At May 20, 2015, I can't connect my youtube account. Receiving: 500 Internal Error.\",\"created_at\":\"2015-05-20T10:22:09Z\",\"updated_at\":\"2015-05-20T10:22:09Z\",\"story_id\":80154166,\"person\":{\"kind\":\"person\",\"id\":1518634,\"name\":\"Alejandro Babio\",\"email\":\"alejandroebabio@gmail.com\",\"initials\":\"AB\",\"username\":\"alejandrobabio\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":101139992,\"text\":\"I have only one youtube account. But my son has an youtube account and he is also called Alejandro Babio.\",\"created_at\":\"2015-05-20T10:26:47Z\",\"updated_at\":\"2015-05-20T10:26:47Z\",\"story_id\":80154166,\"person\":{\"kind\":\"person\",\"id\":1518634,\"name\":\"Alejandro Babio\",\"email\":\"alejandroebabio@gmail.com\",\"initials\":\"AB\",\"username\":\"alejandrobabio\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":101140278,\"text\":\"That could be the problem. I also have two (or more...) accounts and when I tried to re-connect/re-sync my YT account i was presented with the 500-error\\n\",\"created_at\":\"2015-05-20T10:30:59Z\",\"updated_at\":\"2015-05-20T10:30:59Z\",\"story_id\":80154166,\"person\":{\"kind\":\"person\",\"id\":1104242,\"name\":\"Thomas Ochman\",\"email\":\"tochman10@gmail.com\",\"initials\":\"TO\",\"username\":\"thomasochman\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":101141058,\"text\":\"Ok. I want to investigate this issue, but after my other tasks were finished.\",\"created_at\":\"2015-05-20T10:41:12Z\",\"updated_at\":\"2015-05-20T10:41:12Z\",\"story_id\":80154166,\"person\":{\"kind\":\"person\",\"id\":1518634,\"name\":\"Alejandro Babio\",\"email\":\"alejandroebabio@gmail.com\",\"initials\":\"AB\",\"username\":\"alejandrobabio\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":101141082,\"text\":\"Sure thing!\",\"created_at\":\"2015-05-20T10:41:33Z\",\"updated_at\":\"2015-05-20T10:41:33Z\",\"story_id\":80154166,\"person\":{\"kind\":\"person\",\"id\":1104242,\"name\":\"Thomas Ochman\",\"email\":\"tochman10@gmail.com\",\"initials\":\"TO\",\"username\":\"thomasochman\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":116349974,\"text\":\"hi @alejandrobabio any update on this?\",\"created_at\":\"2015-10-30T08:47:40Z\",\"updated_at\":\"2015-10-30T08:47:40Z\",\"story_id\":80154166,\"person\":{\"kind\":\"person\",\"id\":8098,\"name\":\"Sam Joseph\",\"email\":\"sam@neurogrid.com\",\"initials\":\"SJ\",\"username\":\"tansaku\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":116453880,\"text\":\"Hi @tansaku & @diraulo I did test it again and still fails. A 500 server error is returned at production, and a 400 at development. \\n\\nOn the other hand, because of some changes I made, we don't need a YouTube connection for retrieve user's videos any more. I did not find any need of keep users links to theirs YouTube accounts at AV. Them if you are agree we can rid this unused connection, and close this issue.\",\"created_at\":\"2015-11-01T14:54:07Z\",\"updated_at\":\"2015-11-01T14:54:07Z\",\"story_id\":80154166,\"person\":{\"kind\":\"person\",\"id\":1518634,\"name\":\"Alejandro Babio\",\"email\":\"alejandroebabio@gmail.com\",\"initials\":\"AB\",\"username\":\"alejandrobabio\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":117619704,\"text\":\"@alejandrobabio that makes sense - can you point to where in the code we might remove this? and/or make a pull request?\",\"created_at\":\"2015-11-13T08:41:32Z\",\"updated_at\":\"2015-11-13T08:41:32Z\",\"story_id\":80154166,\"person\":{\"kind\":\"person\",\"id\":8098,\"name\":\"Sam Joseph\",\"email\":\"sam@neurogrid.com\",\"initials\":\"SJ\",\"username\":\"tansaku\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":117873372,\"text\":\"@tansaku & @diraulo I will make a PR for this.\",\"created_at\":\"2015-11-17T02:46:09Z\",\"updated_at\":\"2015-11-17T02:46:09Z\",\"story_id\":80154166,\"person\":{\"kind\":\"person\",\"id\":1518634,\"name\":\"Alejandro Babio\",\"email\":\"alejandroebabio@gmail.com\",\"initials\":\"AB\",\"username\":\"alejandrobabio\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":117915344,\"text\":\"thanks @alejandrobabio \",\"created_at\":\"2015-11-17T14:30:31Z\",\"updated_at\":\"2015-11-17T14:30:31Z\",\"story_id\":80154166,\"person\":{\"kind\":\"person\",\"id\":1563384,\"name\":\"Raoul Diffouo\",\"email\":\"diraulo@gmail.com\",\"initials\":\"RD\",\"username\":\"diraulo\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":120324912,\"text\":\"hi @alejandrobabio .. where you able to spend some time on this? :-)\",\"created_at\":\"2015-12-13T18:28:13Z\",\"updated_at\":\"2015-12-13T18:28:13Z\",\"story_id\":80154166,\"person\":{\"kind\":\"person\",\"id\":1563384,\"name\":\"Raoul Diffouo\",\"email\":\"diraulo@gmail.com\",\"initials\":\"RD\",\"username\":\"diraulo\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":120326744,\"text\":\"Yes @diraulo , I did start with the analysis of changes needed.\\n\\nAfter some checking of the source code I found:\\n* Remove the youtube links buttons from edit page is a pretty easy task (also we can remove the user_helper methods).\\n* There are a second use of `user.youtube_id` and it is at `authentication_controller`. This could be annoying for a user which is using she/he's youtube account for authenitcation. (here I don't know if it is working or not)\\n\\nAt this point, I'm not sure If we can move forward with this task. Of course, removing the links (that don't work any more) will stop request of 500 server errors. Please, let me know what you think about.\\n\",\"created_at\":\"2015-12-13T20:44:22Z\",\"updated_at\":\"2015-12-13T20:44:22Z\",\"story_id\":80154166,\"person\":{\"kind\":\"person\",\"id\":1518634,\"name\":\"Alejandro Babio\",\"email\":\"alejandroebabio@gmail.com\",\"initials\":\"AB\",\"username\":\"alejandrobabio\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":123652553,\"text\":\"@alejandrobabio hope you're well - any thoughts on this task going forward?  Should we review if this is still causing a problem?\",\"created_at\":\"2016-01-25T12:24:37Z\",\"updated_at\":\"2016-01-25T12:24:37Z\",\"story_id\":80154166,\"person\":{\"kind\":\"person\",\"id\":8098,\"name\":\"Sam Joseph\",\"email\":\"sam@neurogrid.com\",\"initials\":\"SJ\",\"username\":\"tansaku\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":124003159,\"text\":\"@tansaku : Yes, it is still responding with 500. I did test it today. After a second check on the source, I fond that the code at `authentication_controller` is the answer for the connect/disconnect actions from youtube links. Then, I think we could remove the links safely. \",\"created_at\":\"2016-01-27T23:28:46Z\",\"updated_at\":\"2016-01-27T23:29:25Z\",\"story_id\":80154166,\"person\":{\"kind\":\"person\",\"id\":1518634,\"name\":\"Alejandro Babio\",\"email\":\"alejandroebabio@gmail.com\",\"initials\":\"AB\",\"username\":\"alejandrobabio\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":124025987,\"text\":\"@alejandrobabio thanks for checking it - is there a simple fix here that could come in via pull request?  Do you need support or help getting something done?\",\"created_at\":\"2016-01-28T07:53:18Z\",\"updated_at\":\"2016-01-28T07:53:18Z\",\"story_id\":80154166,\"person\":{\"kind\":\"person\",\"id\":8098,\"name\":\"Sam Joseph\",\"email\":\"sam@neurogrid.com\",\"initials\":\"SJ\",\"username\":\"tansaku\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":124122621,\"text\":\"I sent a PR with these changes: https://github.com/AgileVentures/WebsiteOne/pull/747\",\"created_at\":\"2016-01-28T22:26:02Z\",\"updated_at\":\"2016-01-28T22:26:02Z\",\"story_id\":80154166,\"person\":{\"kind\":\"person\",\"id\":1518634,\"name\":\"Alejandro Babio\",\"email\":\"alejandroebabio@gmail.com\",\"initials\":\"AB\",\"username\":\"alejandrobabio\"},\"file_attachments\":[],\"google_attachment_ids\":[]}],\"transitions\":[{\"state\":\"finished\",\"story_id\":80154166,\"project_id\":982890,\"project_version\":6107,\"occurred_at\":\"2016-02-03T17:23:33Z\",\"performed_by_id\":1563384,\"kind\":\"story_transition\"},{\"state\":\"started\",\"story_id\":80154166,\"project_id\":982890,\"project_version\":5858,\"occurred_at\":\"2015-05-20T10:19:30Z\",\"performed_by_id\":1518634,\"kind\":\"story_transition\"}],\"cycle_time_details\":{\"total_cycle_time\":100902867000,\"started_time\":22403043000,\"started_count\":1,\"finished_time\":78499824000,\"finished_count\":1,\"delivered_time\":0,\"delivered_count\":0,\"rejected_time\":0,\"rejected_count\":0,\"story_id\":80154166,\"kind\":\"cycle_time_details\"}},{\"id\":79861342,\"story_type\":\"bug\",\"name\":\"User preference for 'Hire Me' button can be bypassed\",\"description\":\"As an AG user\\nIn order to not receive messages through the Hire Me button\\nI would like to have my preference setting respected\\n\\nSomewhat related to the 'hire me' spam bug #76244298\\n\\nCurrently the controller will receive the hire me form params and send and email even if the user has chosen not to place a hire me button on their profile page.\\n\\nThe users controller needs to be updated to guard against this: https://github.com/AgileVentures/WebsiteOne/blob/develop/app/controllers/users_controller.rb#L16\\n\",\"current_state\":\"started\",\"url\":\"https://www.pivotaltracker.com/story/show/79861342\",\"requested_by\":{\"kind\":\"person\",\"id\":1343640,\"name\":\"Christopher Milne\",\"email\":\"christopher.milne@gmail.com\",\"initials\":\"CM\",\"username\":\"christophermilne\"},\"owners\":[{\"kind\":\"person\",\"id\":951101,\"name\":\"Sampriti Panda\",\"email\":\"sampdingo@hotmail.com\",\"initials\":\"SP\",\"username\":\"sampritip\"}],\"labels\":[{\"id\":7464532,\"project_id\":982890,\"kind\":\"label\",\"name\":\"users\",\"created_at\":\"2014-01-14T09:15:33Z\",\"updated_at\":\"2014-01-14T09:15:33Z\"}],\"tasks\":[],\"followers\":[{\"kind\":\"person\",\"id\":1104242,\"name\":\"Thomas Ochman\",\"email\":\"tochman10@gmail.com\",\"initials\":\"TO\",\"username\":\"thomasochman\"},{\"kind\":\"person\",\"id\":951101,\"name\":\"Sampriti Panda\",\"email\":\"sampdingo@hotmail.com\",\"initials\":\"SP\",\"username\":\"sampritip\"},{\"kind\":\"person\",\"id\":8098,\"name\":\"Sam Joseph\",\"email\":\"sam@neurogrid.com\",\"initials\":\"SJ\",\"username\":\"tansaku\"}],\"comments\":[{\"kind\":\"comment\",\"id\":95725212,\"text\":\"What's the status of this @sampritip ?\",\"created_at\":\"2015-03-20T19:53:41Z\",\"updated_at\":\"2015-03-20T19:53:41Z\",\"story_id\":79861342,\"person\":{\"kind\":\"person\",\"id\":1104242,\"name\":\"Thomas Ochman\",\"email\":\"tochman10@gmail.com\",\"initials\":\"TO\",\"username\":\"thomasochman\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":116350036,\"text\":\"@sampritip is this still an issue?\",\"created_at\":\"2015-10-30T08:49:29Z\",\"updated_at\":\"2015-10-30T08:49:29Z\",\"story_id\":79861342,\"person\":{\"kind\":\"person\",\"id\":8098,\"name\":\"Sam Joseph\",\"email\":\"sam@neurogrid.com\",\"initials\":\"SJ\",\"username\":\"tansaku\"},\"file_attachments\":[],\"google_attachment_ids\":[]}],\"transitions\":[]},{\"id\":85232534,\"estimate\":2,\"story_type\":\"feature\",\"name\":\"Update Events show page\",\"description\":\"As site admin\\nIn order to make the experience for a visitor better\\nI would like to display only the necessary information about the next upcoming event instance\",\"current_state\":\"started\",\"url\":\"https://www.pivotaltracker.com/story/show/85232534\",\"requested_by\":{\"kind\":\"person\",\"id\":1104242,\"name\":\"Thomas Ochman\",\"email\":\"tochman10@gmail.com\",\"initials\":\"TO\",\"username\":\"thomasochman\"},\"owners\":[{\"kind\":\"person\",\"id\":1495762,\"name\":\"aaron chock\",\"email\":\"aaron.chock@gmail.com\",\"initials\":\"AC\",\"username\":\"aaronchock\"},{\"kind\":\"person\",\"id\":1628196,\"name\":\"Piotr Kedzia\",\"email\":\"ptrkedzia@gmail.com\",\"initials\":\"PK\",\"username\":\"piotrkedzia\"}],\"labels\":[],\"tasks\":[],\"followers\":[{\"kind\":\"person\",\"id\":1343640,\"name\":\"Christopher Milne\",\"email\":\"christopher.milne@gmail.com\",\"initials\":\"CM\",\"username\":\"christophermilne\"},{\"kind\":\"person\",\"id\":1104242,\"name\":\"Thomas Ochman\",\"email\":\"tochman10@gmail.com\",\"initials\":\"TO\",\"username\":\"thomasochman\"},{\"kind\":\"person\",\"id\":1219108,\"name\":\"Bryan Yap\",\"email\":\"bryan.yap.mh@gmail.com\",\"initials\":\"BY\",\"username\":\"bryanyap\"},{\"kind\":\"person\",\"id\":8098,\"name\":\"Sam Joseph\",\"email\":\"sam@neurogrid.com\",\"initials\":\"SJ\",\"username\":\"tansaku\"},{\"kind\":\"person\",\"id\":1563384,\"name\":\"Raoul Diffouo\",\"email\":\"diraulo@gmail.com\",\"initials\":\"RD\",\"username\":\"diraulo\"}],\"comments\":[{\"kind\":\"comment\",\"id\":88360232,\"created_at\":\"2014-12-29T20:43:56Z\",\"updated_at\":\"2014-12-29T20:43:56Z\",\"story_id\":85232534,\"person\":{\"kind\":\"person\",\"id\":1343640,\"name\":\"Christopher Milne\",\"email\":\"christopher.milne@gmail.com\",\"initials\":\"CM\",\"username\":\"christophermilne\"},\"file_attachments\":[{\"kind\":\"file_attachment\",\"id\":40197452,\"filename\":\"Screen Shot 2014-12-29 at 3.43.08 PM.png\",\"created_at\":\"2014-12-29T20:43:34Z\",\"uploader_id\":1343640,\"thumbnailable\":true,\"height\":1209,\"width\":2115,\"size\":292024,\"download_url\":\"/file_attachments/40197452/download\",\"content_type\":\"image/png\",\"uploaded\":true,\"big_url\":\"https://s3.amazonaws.com/prod.tracker2/resource/40197452/Screen%20Shot%202014-12-29%20at%203.43.08%20PM_big.png?response-content-disposition=attachment&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJJBSFJ4TCVKKGAIA%2F20180731%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20180731T065357Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=778d1c80e52834e007b3e94ea70b66a7bef32dcc1598e6be6caa1f16c3390513\",\"thumbnail_url\":\"https://s3.amazonaws.com/prod.tracker2/resource/40197452/Screen%20Shot%202014-12-29%20at%203.43.08%20PM_thumb.png?response-content-disposition=attachment&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJJBSFJ4TCVKKGAIA%2F20180731%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20180731T065357Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=0b546bf9d03ecdc63ec028b5c2b97f42654b07a2012ad63d950f2f14be88a7dd\"}],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":88429360,\"text\":\"updated lo-fi's attached in google drive pdf...\",\"created_at\":\"2014-12-30T19:35:33Z\",\"updated_at\":\"2014-12-30T19:35:33Z\",\"story_id\":85232534,\"person\":{\"kind\":\"person\",\"id\":1343640,\"name\":\"Christopher Milne\",\"email\":\"christopher.milne@gmail.com\",\"initials\":\"CM\",\"username\":\"christophermilne\"},\"file_attachments\":[],\"google_attachment_ids\":[70640]},{\"kind\":\"comment\",\"id\":88456602,\"text\":\"@bryanyap Wanna hit start on this one?\",\"created_at\":\"2014-12-31T08:03:15Z\",\"updated_at\":\"2014-12-31T08:03:15Z\",\"story_id\":85232534,\"person\":{\"kind\":\"person\",\"id\":1104242,\"name\":\"Thomas Ochman\",\"email\":\"tochman10@gmail.com\",\"initials\":\"TO\",\"username\":\"thomasochman\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":95726920,\"text\":\"@bryanyap @christophermilne let's make a push on this one ;-)\\n\",\"created_at\":\"2015-03-20T20:09:13Z\",\"updated_at\":\"2015-03-20T20:09:13Z\",\"story_id\":85232534,\"person\":{\"kind\":\"person\",\"id\":1104242,\"name\":\"Thomas Ochman\",\"email\":\"tochman10@gmail.com\",\"initials\":\"TO\",\"username\":\"thomasochman\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":97622316,\"text\":\"for those taking up this story, I believe the latest version is on my repo: https://github.com/yggie/WebsiteOne/tree/events-show-page-revisited (correct me if I am wrong @christophermilne). We have deviated slightly from the original wireframes, but it is mostly done. If you guys have any questions, ping me on slack!\",\"created_at\":\"2015-04-10T20:27:00Z\",\"updated_at\":\"2015-04-10T20:27:00Z\",\"story_id\":85232534,\"person\":{\"kind\":\"person\",\"id\":1219108,\"name\":\"Bryan Yap\",\"email\":\"bryan.yap.mh@gmail.com\",\"initials\":\"BY\",\"username\":\"bryanyap\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":117619940,\"text\":\"@bryanyap any update on this?\",\"created_at\":\"2015-11-13T08:45:27Z\",\"updated_at\":\"2015-11-13T08:45:27Z\",\"story_id\":85232534,\"person\":{\"kind\":\"person\",\"id\":8098,\"name\":\"Sam Joseph\",\"email\":\"sam@neurogrid.com\",\"initials\":\"SJ\",\"username\":\"tansaku\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":118691296,\"text\":\"@tansaku none from my side unfortunately… I was under the impression that this was taken over but apparently not… if you would still like this in, I can spend some time cleaning up the old branch and make a new PR from that\",\"created_at\":\"2015-11-24T10:57:33Z\",\"updated_at\":\"2015-11-24T10:57:33Z\",\"story_id\":85232534,\"person\":{\"kind\":\"person\",\"id\":1219108,\"name\":\"Bryan Yap\",\"email\":\"bryan.yap.mh@gmail.com\",\"initials\":\"BY\",\"username\":\"bryanyap\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":118971592,\"text\":\"Thanks @bryanyap would be great if you could get some time to do that :-)\",\"created_at\":\"2015-11-27T08:55:15Z\",\"updated_at\":\"2015-11-27T08:55:15Z\",\"story_id\":85232534,\"person\":{\"kind\":\"person\",\"id\":1563384,\"name\":\"Raoul Diffouo\",\"email\":\"diraulo@gmail.com\",\"initials\":\"RD\",\"username\":\"diraulo\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":123652641,\"text\":\"thanks @bryanyap - did you get a chance to look at this?\",\"created_at\":\"2016-01-25T12:25:44Z\",\"updated_at\":\"2016-01-25T12:25:44Z\",\"story_id\":85232534,\"person\":{\"kind\":\"person\",\"id\":8098,\"name\":\"Sam Joseph\",\"email\":\"sam@neurogrid.com\",\"initials\":\"SJ\",\"username\":\"tansaku\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":123675083,\"text\":\"yes I did, but I ran into an issue… we are missing mockups for the existing “edit hangout link” functionality. I could improvise but I don’t know if everyone will be happy with it. The easiest solution might just be to keep the old edit functionality, keeping it somewhere in the form. Do you have any suggestions on how you might want it to look @diraulo @tansaku?\",\"created_at\":\"2016-01-25T15:50:30Z\",\"updated_at\":\"2016-01-25T15:50:30Z\",\"story_id\":85232534,\"person\":{\"kind\":\"person\",\"id\":1219108,\"name\":\"Bryan Yap\",\"email\":\"bryan.yap.mh@gmail.com\",\"initials\":\"BY\",\"username\":\"bryanyap\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":123683687,\"text\":\"@bryanyap thanks for the quick response - we definitely want to keep the old edit functionality since occasionally it is critically necessary when the WSO connection fails - which does happen occasionally - as regards how it looks ... I don't think it matters much as this is kind of an advanced functionality that few people will use and we can always iterate on it.  I would say any layout that matched with the new layout should be fine as a first pass\",\"created_at\":\"2016-01-25T16:44:54Z\",\"updated_at\":\"2016-01-25T16:44:54Z\",\"story_id\":85232534,\"person\":{\"kind\":\"person\",\"id\":8098,\"name\":\"Sam Joseph\",\"email\":\"sam@neurogrid.com\",\"initials\":\"SJ\",\"username\":\"tansaku\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":124631363,\"text\":\"@bryanyap we're experimenting with moving from PT to waffle - care to move this into https://waffle.io/AgileVentures/WebsiteOne by creating a new ticket?\",\"created_at\":\"2016-02-03T16:51:13Z\",\"updated_at\":\"2016-02-03T16:51:13Z\",\"story_id\":85232534,\"person\":{\"kind\":\"person\",\"id\":8098,\"name\":\"Sam Joseph\",\"email\":\"sam@neurogrid.com\",\"initials\":\"SJ\",\"username\":\"tansaku\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":124854965,\"text\":\"@tansaku sorry for the late response, I see it is already done https://waffle.io/AgileVentures/WebsiteOne/cards/56b46eb71a1ce00e0022bb94\",\"created_at\":\"2016-02-05T09:59:14Z\",\"updated_at\":\"2016-02-05T09:59:14Z\",\"story_id\":85232534,\"person\":{\"kind\":\"person\",\"id\":1219108,\"name\":\"Bryan Yap\",\"email\":\"bryan.yap.mh@gmail.com\",\"initials\":\"BY\",\"username\":\"bryanyap\"},\"file_attachments\":[],\"google_attachment_ids\":[]}],\"transitions\":[]},{\"id\":92255450,\"story_type\":\"chore\",\"name\":\"Clean up turbolinks attributes\",\"description\":\"After turbolinks was removed to fix the Google search issue on #77003304, but the code base was not cleaned up from all helpers/workarounds/attributes to make it Turbolinks compatible. At this point, it is now dead code, so it should be removed.\",\"current_state\":\"started\",\"url\":\"https://www.pivotaltracker.com/story/show/92255450\",\"requested_by\":{\"kind\":\"person\",\"id\":1219108,\"name\":\"Bryan Yap\",\"email\":\"bryan.yap.mh@gmail.com\",\"initials\":\"BY\",\"username\":\"bryanyap\"},\"owners\":[{\"kind\":\"person\",\"id\":1563384,\"name\":\"Raoul Diffouo\",\"email\":\"diraulo@gmail.com\",\"initials\":\"RD\",\"username\":\"diraulo\"}],\"labels\":[],\"tasks\":[{\"id\":30788534,\"kind\":\"task\",\"description\":\"Remove all data-turbolinks-xxx attributes\",\"complete\":false,\"story_id\":92255450,\"position\":1,\"created_at\":\"2015-04-10T19:57:46Z\",\"updated_at\":\"2015-04-10T19:57:46Z\"},{\"id\":30788536,\"kind\":\"task\",\"description\":\"All turbolinks event hooks (e.g. page:load) should be removed\",\"complete\":false,\"story_id\":92255450,\"position\":2,\"created_at\":\"2015-04-10T19:57:46Z\",\"updated_at\":\"2015-04-10T19:57:46Z\"},{\"id\":30788538,\"kind\":\"task\",\"description\":\"the WSO helper should also be removed (window.WebsiteOne defined in application.js)\",\"complete\":false,\"story_id\":92255450,\"position\":3,\"created_at\":\"2015-04-10T19:57:46Z\",\"updated_at\":\"2015-04-10T19:57:46Z\"}],\"followers\":[{\"kind\":\"person\",\"id\":951101,\"name\":\"Sampriti Panda\",\"email\":\"sampdingo@hotmail.com\",\"initials\":\"SP\",\"username\":\"sampritip\"},{\"kind\":\"person\",\"id\":8098,\"name\":\"Sam Joseph\",\"email\":\"sam@neurogrid.com\",\"initials\":\"SJ\",\"username\":\"tansaku\"},{\"kind\":\"person\",\"id\":1563384,\"name\":\"Raoul Diffouo\",\"email\":\"diraulo@gmail.com\",\"initials\":\"RD\",\"username\":\"diraulo\"}],\"comments\":[{\"kind\":\"comment\",\"id\":118558486,\"text\":\"@diraulo we'll put this back to icebox unless you feel otherwise\",\"created_at\":\"2015-11-23T09:02:10Z\",\"updated_at\":\"2015-11-23T09:02:10Z\",\"story_id\":92255450,\"person\":{\"kind\":\"person\",\"id\":8098,\"name\":\"Sam Joseph\",\"email\":\"sam@neurogrid.com\",\"initials\":\"SJ\",\"username\":\"tansaku\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":118971646,\"text\":\"Will spend some time working on this this weekend\",\"created_at\":\"2015-11-27T08:56:21Z\",\"updated_at\":\"2015-11-27T08:56:21Z\",\"story_id\":92255450,\"person\":{\"kind\":\"person\",\"id\":1563384,\"name\":\"Raoul Diffouo\",\"email\":\"diraulo@gmail.com\",\"initials\":\"RD\",\"username\":\"diraulo\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":123652683,\"text\":\"@diraulo hiya - how's this going?\",\"created_at\":\"2016-01-25T12:26:11Z\",\"updated_at\":\"2016-01-25T12:26:11Z\",\"story_id\":92255450,\"person\":{\"kind\":\"person\",\"id\":8098,\"name\":\"Sam Joseph\",\"email\":\"sam@neurogrid.com\",\"initials\":\"SJ\",\"username\":\"tansaku\"},\"file_attachments\":[],\"google_attachment_ids\":[]}],\"transitions\":[{\"state\":\"started\",\"story_id\":92255450,\"project_id\":982890,\"project_version\":5735,\"occurred_at\":\"2015-04-11T19:08:47Z\",\"performed_by_id\":1563384,\"kind\":\"story_transition\"},{\"state\":\"unstarted\",\"story_id\":92255450,\"project_id\":982890,\"project_version\":5723,\"occurred_at\":\"2015-04-10T20:40:10Z\",\"performed_by_id\":1104242,\"kind\":\"story_transition\"},{\"state\":\"unscheduled\",\"story_id\":92255450,\"project_id\":982890,\"project_version\":5684,\"occurred_at\":\"2015-04-10T19:57:46Z\",\"performed_by_id\":1219108,\"kind\":\"story_transition\"}],\"cycle_time_details\":{\"total_cycle_time\":104240710000,\"started_time\":104240710000,\"started_count\":1,\"finished_time\":0,\"finished_count\":0,\"delivered_time\":0,\"delivered_count\":0,\"rejected_time\":0,\"rejected_count\":0,\"story_id\":92255450,\"kind\":\"cycle_time_details\"}},{\"id\":91253176,\"story_type\":\"bug\",\"name\":\"front page \\\"click to join\\\" appears before scrum master starts hangout\",\"description\":\"As a user overcoming my huge fear of hangouts\\nWhen I join a hangout for the first time\\nI want to actually meet other people rather than being in a dead hangout from the previous day\\n\\n**How should it be demonstrated?**\\n1. Before the scheduled time for the event: Show countdown time\\n2. After the scheduled time for the next event, if it's live or within 15 minutes:\\n - If the event is live: show link \\\"Click to join\\\" with \\\"is live!\\\" legend\\n - if the event is not yet live: show link to event with \\\"not yet live ...\\\" legend  + link to Slack channel with text: \\\"see Slack for more info...\\\"\\n3. After 15 minutes of scheduled time and if no live event,  the event is replaced with the next event, showing countdown time.\\n\\nCurrent design is mantained, on root page and other routes.\",\"current_state\":\"started\",\"url\":\"https://www.pivotaltracker.com/story/show/91253176\",\"requested_by\":{\"kind\":\"person\",\"id\":8098,\"name\":\"Sam Joseph\",\"email\":\"sam@neurogrid.com\",\"initials\":\"SJ\",\"username\":\"tansaku\"},\"owners\":[{\"kind\":\"person\",\"id\":1518634,\"name\":\"Alejandro Babio\",\"email\":\"alejandroebabio@gmail.com\",\"initials\":\"AB\",\"username\":\"alejandrobabio\"}],\"labels\":[{\"id\":8641488,\"project_id\":982890,\"kind\":\"label\",\"name\":\"hangouts\",\"created_at\":\"2014-06-09T20:56:56Z\",\"updated_at\":\"2014-06-09T20:56:56Z\"}],\"tasks\":[{\"id\":31221544,\"kind\":\"task\",\"description\":\"Improve EventInstance model to respond to live? if the hangout is realy live (not 5 mintutes check)\",\"complete\":true,\"story_id\":91253176,\"position\":1,\"created_at\":\"2015-04-24T22:05:22Z\",\"updated_at\":\"2015-12-13T21:17:19Z\"}],\"followers\":[{\"kind\":\"person\",\"id\":1518634,\"name\":\"Alejandro Babio\",\"email\":\"alejandroebabio@gmail.com\",\"initials\":\"AB\",\"username\":\"alejandrobabio\"},{\"kind\":\"person\",\"id\":8098,\"name\":\"Sam Joseph\",\"email\":\"sam@neurogrid.com\",\"initials\":\"SJ\",\"username\":\"tansaku\"},{\"kind\":\"person\",\"id\":1104242,\"name\":\"Thomas Ochman\",\"email\":\"tochman10@gmail.com\",\"initials\":\"TO\",\"username\":\"thomasochman\"},{\"kind\":\"person\",\"id\":951101,\"name\":\"Sampriti Panda\",\"email\":\"sampdingo@hotmail.com\",\"initials\":\"SP\",\"username\":\"sampritip\"},{\"kind\":\"person\",\"id\":1563384,\"name\":\"Raoul Diffouo\",\"email\":\"diraulo@gmail.com\",\"initials\":\"RD\",\"username\":\"diraulo\"}],\"comments\":[{\"kind\":\"comment\",\"id\":98847798,\"text\":\"@thomasochman as manager & @tansaku as owner: please, review the description (how should it be demonstrated?), in order to advance in the right direction.\",\"created_at\":\"2015-04-24T02:13:31Z\",\"updated_at\":\"2015-04-24T02:13:31Z\",\"story_id\":91253176,\"person\":{\"kind\":\"person\",\"id\":1518634,\"name\":\"Alejandro Babio\",\"email\":\"alejandroebabio@gmail.com\",\"initials\":\"AB\",\"username\":\"alejandrobabio\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":98945916,\"text\":\"At app/views/layouts/_event_link.html.erb apears the click to join link.\",\"created_at\":\"2015-04-24T22:39:31Z\",\"updated_at\":\"2015-04-24T22:39:31Z\",\"story_id\":91253176,\"person\":{\"kind\":\"person\",\"id\":1518634,\"name\":\"Alejandro Babio\",\"email\":\"alejandroebabio@gmail.com\",\"initials\":\"AB\",\"username\":\"alejandrobabio\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":99225876,\"text\":\"It's not possible to know if a hangout is alive from http://gdata.youtube.com/feeds/api/videos/#{code}, because there are a delay on the update of the response, perhaps 10 or 20 minutes.\\n\\nIn order to know if a hangout is currently live, I fond https://developers.google.com/+/hangouts/api/gapi.hangout.onair function: ```isBroadcasting()```\\n\\ncode at: ```https://plus.google.com/hangouts/_/api/dev/hangout.js```\",\"created_at\":\"2015-04-28T22:26:07Z\",\"updated_at\":\"2015-04-28T23:46:46Z\",\"story_id\":91253176,\"person\":{\"kind\":\"person\",\"id\":1518634,\"name\":\"Alejandro Babio\",\"email\":\"alejandroebabio@gmail.com\",\"initials\":\"AB\",\"username\":\"alejandrobabio\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":99508882,\"text\":\"After an appraisal of ```hangouts_path``` with a hangout running. I saw how the \\\"join\\\" button of the hangout was enabled during all the hangout life, and exactly 5'37'' after hangouts ends. Also, EventInstance model respond to ```:live?``` within the 5 minutes of updated (using ```updated_at``` field).\\n\\nAnd, the ```event_instances#update``` action accepts CORS calls from ```a-hangout-opensocial.googleusercontent.com```. \\n\\nAs @thomasochman and @tansaku have commented it was a hangouts app, that must be https://github.com/AgileVentures/HangoutConnection or https://github.com/AgileVentures/WSO-HOAConnect (once cofirmed I'll update this comment), which does de CORS call. **Edit:** The first one is the actual used on production.\\n\\nThis lead us to think (not confirmed yet): \\n1. The hangout app updates WSO each 5 minutes.\\n2. The hangout app updates WSO on end of hangout.\\n\\nI wonder if we can send an update with the close status of the hangout, to WSO.\\n\",\"created_at\":\"2015-05-01T14:24:58Z\",\"updated_at\":\"2015-05-18T22:29:38Z\",\"story_id\":91253176,\"person\":{\"kind\":\"person\",\"id\":1518634,\"name\":\"Alejandro Babio\",\"email\":\"alejandroebabio@gmail.com\",\"initials\":\"AB\",\"username\":\"alejandrobabio\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":100973670,\"text\":\"Status:\\n1. HangoutConnection send CORS message to production server of WSO, even if the hangout was open from the development site: http://websiteone-develop.herokuapp.com\\n2. http://websiteone-develop.herokuapp.com use the production hangouts.app_id, then it must be using \\\"production\\\" environment. Also it is spected because is the heroku best practice recomendation.\\n3. Following the ```rails_config``` advice of using with heroku does not work with boolean values. Because it store the values at ```ENV``` variables as strings. And ```features.slack.notifications.enabled``` returns ```\\\"false\\\"``` string instead of boolean ```false```, and the string \\\"false\\\" becomes true when it is used as a condition. I try severals approachs to fix this. At the end I modify the gem (and I will make a PR to the gem source). At this time I'm using the rails_config gem updated from my github repository.\\n4. We can update the event_instance with the broadcasting status (started and finished). Also, I still prefer use a security elapsed time (it could be 2 minutes), in case the finished message was not received on the server (perhaps the broadcaster close the hangout instead of finish broadcasting first).\\n\\nTodo:\\n1. Improve HangoutConnection:\\n - Send broadcasting status on change of it\\n - Send update message each 2 minutes\\n - Use hangout app callbackUrl for update instead of fixed production url\\n   a. WSO is using http and not https (we must set at ```config/environment/production.rb```: the value ```config.force_ssl = false```) and this must be enough to make it work.\\n   b. Remove HangoutConnection fixed url\\n2. Improve WSO to update event_instance status.\\n - Make work on development / staging / production heroku environments, moving setting to config variables (following heroku and rails_config advices), and use updated rails_config to work with booleans. (done only at my personal heroku wso)\\n - Receive broadcasting status from hangout, and update event_instance\\n - Respond to ```:live?``` with true if status is not ```finished``` and it was updated within 2 minutes.\\n\\nAfter this was done, we can start with the subject of this task.\\n\\n@thomasochman : If you are agree with this approach, I will make all changes to my heroku WSO and we could see how it works before moving to develop. If not, let me know what you think.\\n\",\"created_at\":\"2015-05-18T23:06:24Z\",\"updated_at\":\"2015-05-18T23:22:10Z\",\"story_id\":91253176,\"person\":{\"kind\":\"person\",\"id\":1518634,\"name\":\"Alejandro Babio\",\"email\":\"alejandroebabio@gmail.com\",\"initials\":\"AB\",\"username\":\"alejandrobabio\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":100974812,\"text\":\"@alejandrobabio Looks good. Let's try it out on a demo site if possible.\",\"created_at\":\"2015-05-18T23:23:31Z\",\"updated_at\":\"2015-05-18T23:23:31Z\",\"story_id\":91253176,\"person\":{\"kind\":\"person\",\"id\":1104242,\"name\":\"Thomas Ochman\",\"email\":\"tochman10@gmail.com\",\"initials\":\"TO\",\"username\":\"thomasochman\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":101979246,\"text\":\"@thomasochman I made it work. At this first video at https://youtu.be/_gT9S0_GhxI you can see how EventInstance.hoa_status is updated. And at this video: https://youtu.be/R4G99XmjYyw you can see the join button enabled/disabled on change of broadcasting status. \",\"created_at\":\"2015-05-29T12:14:38Z\",\"updated_at\":\"2015-05-29T12:14:38Z\",\"story_id\":91253176,\"person\":{\"kind\":\"person\",\"id\":1518634,\"name\":\"Alejandro Babio\",\"email\":\"alejandroebabio@gmail.com\",\"initials\":\"AB\",\"username\":\"alejandrobabio\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":102074204,\"text\":\"Changes done to projects:\\n\\nWSO:\\n\\n1. In order to deploy to a heroku server which is not production (develop or staging) we need to define 3 environment variables:\\n - ```ENV['HANGOUTS_APP_ID']```\\n - ```ENV['SLACK_NOTIFICATIONS_ENABLED']```\\n - ```ENV['TWITTER_NOTIFICATIONS_ENABLED']```\\n2. Store at ```EventInstance``` the ```hoa_status``` (new field) as it were received from the hangout session (started, broadcasting, and finished).\\n3. EventInstance is ```live?``` if it is ```started``` (has ```hangout_url```), the ```hoa_status``` is not finished and it was updated between the last 2 minutes.\\n4. Forbade update ```EventInstance``` after ```hoa_status``` becomes finished. Because the records are found by ```uid``` (```user_id + project_id + Time.now```), and we want to prevent overwrite a hangout session with a new one (from the same hangout button). A future improvement could be refresh the page after start a hangout, and then the ```uid``` will change.\\n5. Remove protocol (```http``` or ```https```) from hangout ```callbackUrl```, which is send to the hangout app. In order to prevent error raised when from hangout (on a ```https``` connection) send a call to wso with ```http``` protocol. Doing this way the hangout call with ```https``` to ```callbackUrl``` without issues, or hardcode the url.\\n\\nHangoutConnection:\\n\\n1. Update WSO server each 2 minutes.\\n2. Remove obsolete ```v0``` version of app.\\n3. Send update to WSO server on change of broadcasting status (start/end), with ```hoa_status```.\\n4. Stop update server after finish.\\n5. Automatize default rake task with: ```compile + tests + build```\\n\",\"created_at\":\"2015-05-31T15:43:07Z\",\"updated_at\":\"2015-05-31T15:43:07Z\",\"story_id\":91253176,\"person\":{\"kind\":\"person\",\"id\":1518634,\"name\":\"Alejandro Babio\",\"email\":\"alejandroebabio@gmail.com\",\"initials\":\"AB\",\"username\":\"alejandrobabio\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":102074304,\"text\":\"Implementation:\\n\\n1. Add to WSO Heroku the new env variables:\\n - **Development:**\\n - ```ENV['HANGOUTS_APP_ID']= 331105831845```\\n - ```ENV['SLACK_NOTIFICATIONS_ENABLED']= false```\\n - ```ENV['TWITTER_NOTIFICATIONS_ENABLED'] = false```\\n - **Production:**\\n - ```ENV['HANGOUTS_APP_ID']= 135304697558```\\n - ```ENV['SLACK_NOTIFICATIONS_ENABLED']= true```\\n - ```ENV['TWITTER_NOTIFICATIONS_ENABLED'] = true```\\n2. At Github define a Development branch for HangoutConnection.\\n3. Update the Google apis hangouts -> application_url of ```project_id 331105831845``` with the raw link of ```public/websiteone.xml``` on branch develop. And check that the ```project_id 135304697558``` been using the same link on branch master.\\n4. Now, we can move WSO and HangoutConnection safely to develop -it requires migration of db-, and to production.\\n\\n**Edited**: updated HANGOUTS_APP_ID s with current values\\n\",\"created_at\":\"2015-05-31T15:51:00Z\",\"updated_at\":\"2015-07-03T14:39:33Z\",\"story_id\":91253176,\"person\":{\"kind\":\"person\",\"id\":1518634,\"name\":\"Alejandro Babio\",\"email\":\"alejandroebabio@gmail.com\",\"initials\":\"AB\",\"username\":\"alejandrobabio\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":102402306,\"text\":\"WSO PR: https://github.com/AgileVentures/WebsiteOne/pull/694\\nHC PR: https://github.com/AgileVentures/HangoutConnection/pull/9\",\"created_at\":\"2015-06-03T10:23:20Z\",\"updated_at\":\"2015-06-03T10:23:20Z\",\"story_id\":91253176,\"person\":{\"kind\":\"person\",\"id\":1518634,\"name\":\"Alejandro Babio\",\"email\":\"alejandroebabio@gmail.com\",\"initials\":\"AB\",\"username\":\"alejandrobabio\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":105312738,\"text\":\"New PR for WSO: https://github.com/AgileVentures/WebsiteOne/pull/709\\n\",\"created_at\":\"2015-07-03T14:12:29Z\",\"updated_at\":\"2015-07-03T14:12:29Z\",\"story_id\":91253176,\"person\":{\"kind\":\"person\",\"id\":1518634,\"name\":\"Alejandro Babio\",\"email\":\"alejandroebabio@gmail.com\",\"initials\":\"AB\",\"username\":\"alejandrobabio\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":105793030,\"text\":\"@thomasochman & @tansaku : I've been thinking on the implementation. And I want to do all the moves (to develop & production) in one day (a couple of hours). At the PR #709 are the environments settings (here too). Also is needed to update the google app 135304697558 in the same way it was with development (331105831845) app. \\n\\n**Development/Staging**\\n1. Set the environment: ENV['HANGOUTS_APP_ID']= 331105831845\\n2. Move to development\\n3. Migrate db\\n\\n**Production**\\n1. Update the production google app 135304697558 (as Sam did with development)\\n * Visit https://code.google.com/apis/console/b/0/?noredirect , select app (Project ID: wso-hoa-connect Project Number: 135304697558), select \\\"Hangouts\\\", and fill at \\\"Application URL (Required)\\\" with the production link of our app: https://raw.githubusercontent.com/AgileVentures/HangoutConnection/master/public/websiteone.xml\\n * Make it public, checking 'Make your application available to all users.'\\n * Create OAuth 2.0 credentials for this app, on \\\"API Access\\\" it should look as the develop one.\\n2. Set the environments variables\\n * ENV['HANGOUTS_APP_ID']= 135304697558\\n * ENV['SLACK_NOTIFICATIONS_ENABLED']= true\\n * ENV['TWITTER_NOTIFICATIONS_ENABLED'] = true\\n3. Move to production.\\n4. Migrate db !\\n5. Move to production HangoutConnection develop branch\\n\\n**Recovery Strategy**\\nIf things go wrong on production:\\n1. Try setting ENV['HANGOUTS_APP_ID']= 227702023966 (the actual Yaro app)\\n2. If it doesn't work, and we can confirm that the hangout button is using the Yaro app, them we must to revert the PR.\\n\",\"created_at\":\"2015-07-09T14:17:14Z\",\"updated_at\":\"2015-07-10T13:57:04Z\",\"story_id\":91253176,\"person\":{\"kind\":\"person\",\"id\":1518634,\"name\":\"Alejandro Babio\",\"email\":\"alejandroebabio@gmail.com\",\"initials\":\"AB\",\"username\":\"alejandrobabio\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":105801310,\"text\":\"old hangout app_id  was 10095526298 on develop and on staging\",\"created_at\":\"2015-07-09T15:18:03Z\",\"updated_at\":\"2015-07-13T15:57:11Z\",\"story_id\":91253176,\"person\":{\"kind\":\"person\",\"id\":8098,\"name\":\"Sam Joseph\",\"email\":\"sam@neurogrid.com\",\"initials\":\"SJ\",\"username\":\"tansaku\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":106139192,\"text\":\"old production hangout XML was: https://raw.githubusercontent.com/AgileVentures/WSO-HOAConnect/master/public/websiteone.xml\",\"created_at\":\"2015-07-14T07:49:10Z\",\"updated_at\":\"2015-07-14T07:49:10Z\",\"story_id\":91253176,\"person\":{\"kind\":\"person\",\"id\":8098,\"name\":\"Sam Joseph\",\"email\":\"sam@neurogrid.com\",\"initials\":\"SJ\",\"username\":\"tansaku\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":106144314,\"text\":\"Production test was successful, however we lost slack notifications for some reason - needs investigation @sampritip @alejandrobabio \",\"created_at\":\"2015-07-14T09:07:41Z\",\"updated_at\":\"2015-07-14T09:07:41Z\",\"story_id\":91253176,\"person\":{\"kind\":\"person\",\"id\":8098,\"name\":\"Sam Joseph\",\"email\":\"sam@neurogrid.com\",\"initials\":\"SJ\",\"username\":\"tansaku\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":117620266,\"text\":\"https://github.com/AgileVentures/WebsiteOne/pull/712\",\"created_at\":\"2015-11-13T08:51:50Z\",\"updated_at\":\"2015-11-13T08:51:50Z\",\"story_id\":91253176,\"person\":{\"kind\":\"person\",\"id\":8098,\"name\":\"Sam Joseph\",\"email\":\"sam@neurogrid.com\",\"initials\":\"SJ\",\"username\":\"tansaku\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":118558604,\"text\":\"@alejandrobabio now this is all deployed - does that clear the way to work on the original issue?  Or is it now resolved?  Is \\\"click to join\\\" only displayed after hangout goes live?\",\"created_at\":\"2015-11-23T09:03:34Z\",\"updated_at\":\"2015-11-23T09:03:34Z\",\"story_id\":91253176,\"person\":{\"kind\":\"person\",\"id\":8098,\"name\":\"Sam Joseph\",\"email\":\"sam@neurogrid.com\",\"initials\":\"SJ\",\"username\":\"tansaku\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":120330708,\"text\":\"@tansaku & @diraulo I'm close to finish this task. One of the issues was the \\\"is live!\\\" message before the hangout event was live, but after its start time. Now the idea is showing \\\"is live!\\\" only if the event is alive. After start time when it was not started yet the message could be: \\\"on time, not yet live\\\" at home page, and \\\"on time\\\" on the others pages (when the count down ends). Otherwise, we need a new action to call by javascript when countdown reach zero. Please, let me know what you think. \",\"created_at\":\"2015-12-14T00:04:42Z\",\"updated_at\":\"2015-12-14T00:05:51Z\",\"story_id\":91253176,\"person\":{\"kind\":\"person\",\"id\":1518634,\"name\":\"Alejandro Babio\",\"email\":\"alejandroebabio@gmail.com\",\"initials\":\"AB\",\"username\":\"alejandrobabio\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":123652853,\"text\":\"hi @alejandrobabio sorry for the delay in responding.  I think \\\"On time, not yet streaming\\\" might be good, but we can easily change the copy. Being able to distinguish these different states would be really good.  How hard is it to add the extra javascript action you mention?\",\"created_at\":\"2016-01-25T12:28:07Z\",\"updated_at\":\"2016-01-25T12:28:07Z\",\"story_id\":91253176,\"person\":{\"kind\":\"person\",\"id\":8098,\"name\":\"Sam Joseph\",\"email\":\"sam@neurogrid.com\",\"initials\":\"SJ\",\"username\":\"tansaku\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":124631557,\"text\":\"@alejandrobabio thanks for all your work on this - we are experimenting with waffle as a replacement for pivotal tracker - could you re-open this ticket there? https://waffle.io/AgileVentures/WebsiteOne\\n\\nmany thanks in advance\",\"created_at\":\"2016-02-03T16:52:19Z\",\"updated_at\":\"2016-02-03T16:52:19Z\",\"story_id\":91253176,\"person\":{\"kind\":\"person\",\"id\":8098,\"name\":\"Sam Joseph\",\"email\":\"sam@neurogrid.com\",\"initials\":\"SJ\",\"username\":\"tansaku\"},\"file_attachments\":[],\"google_attachment_ids\":[]}],\"transitions\":[{\"state\":\"started\",\"story_id\":91253176,\"project_id\":982890,\"project_version\":5838,\"occurred_at\":\"2015-05-18T20:22:19Z\",\"performed_by_id\":1518634,\"kind\":\"story_transition\"},{\"state\":\"unstarted\",\"story_id\":91253176,\"project_id\":982890,\"project_version\":5546,\"occurred_at\":\"2015-03-27T07:51:07Z\",\"performed_by_id\":8098,\"kind\":\"story_transition\"}],\"cycle_time_details\":{\"total_cycle_time\":101039498000,\"started_time\":101039498000,\"started_count\":1,\"finished_time\":0,\"finished_count\":0,\"delivered_time\":0,\"delivered_count\":0,\"rejected_time\":0,\"rejected_count\":0,\"story_id\":91253176,\"kind\":\"cycle_time_details\"}},{\"id\":78458056,\"estimate\":2,\"story_type\":\"feature\",\"name\":\"Link to live feed\",\"description\":\"As a user\\nIn order to know what's going on in the community even if I feel to intimidated to join an ongoing scrum but rather just watch the scrum\\nI would like to see a link to YT live feed on the event show page/event listing. (and slack)\",\"current_state\":\"started\",\"url\":\"https://www.pivotaltracker.com/story/show/78458056\",\"requested_by\":{\"kind\":\"person\",\"id\":1104242,\"name\":\"Thomas Ochman\",\"email\":\"tochman10@gmail.com\",\"initials\":\"TO\",\"username\":\"thomasochman\"},\"owners\":[{\"kind\":\"person\",\"id\":1563384,\"name\":\"Raoul Diffouo\",\"email\":\"diraulo@gmail.com\",\"initials\":\"RD\",\"username\":\"diraulo\"},{\"kind\":\"person\",\"id\":951101,\"name\":\"Sampriti Panda\",\"email\":\"sampdingo@hotmail.com\",\"initials\":\"SP\",\"username\":\"sampritip\"}],\"labels\":[],\"tasks\":[{\"id\":30368708,\"kind\":\"task\",\"description\":\"display on events page\",\"complete\":false,\"story_id\":78458056,\"position\":1,\"created_at\":\"2015-03-27T07:47:13Z\",\"updated_at\":\"2015-03-27T07:47:13Z\"},{\"id\":30368710,\"kind\":\"task\",\"description\":\"display on landing page\",\"complete\":false,\"story_id\":78458056,\"position\":2,\"created_at\":\"2015-03-27T07:47:24Z\",\"updated_at\":\"2015-03-27T07:47:24Z\"},{\"id\":30368712,\"kind\":\"task\",\"description\":\"display in slack\",\"complete\":true,\"story_id\":78458056,\"position\":3,\"created_at\":\"2015-03-27T07:47:32Z\",\"updated_at\":\"2015-11-17T14:35:13Z\"}],\"followers\":[{\"kind\":\"person\",\"id\":301937,\"name\":\"Amy Lightholder\",\"email\":\"sidhene@gmail.com\",\"initials\":\"Amy\",\"username\":\"amylightholder3\"},{\"kind\":\"person\",\"id\":1563384,\"name\":\"Raoul Diffouo\",\"email\":\"diraulo@gmail.com\",\"initials\":\"RD\",\"username\":\"diraulo\"},{\"kind\":\"person\",\"id\":951101,\"name\":\"Sampriti Panda\",\"email\":\"sampdingo@hotmail.com\",\"initials\":\"SP\",\"username\":\"sampritip\"}],\"comments\":[{\"kind\":\"comment\",\"id\":87595540,\"text\":\"Perhaps we should use the \\\"live\\\" view of the hangouts page: http://agileventures.org/hangouts?live=true\\n\\nThis would have the benefit of staying on the site for a unified experience\",\"created_at\":\"2014-12-16T01:40:21Z\",\"updated_at\":\"2014-12-16T01:40:21Z\",\"story_id\":78458056,\"person\":{\"kind\":\"person\",\"id\":301937,\"name\":\"Amy Lightholder\",\"email\":\"sidhene@gmail.com\",\"initials\":\"Amy\",\"username\":\"amylightholder3\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":117915848,\"text\":\"@sampriti recently submitted a PR that posts video link to slack along with link to hangout\\n\",\"created_at\":\"2015-11-17T14:35:11Z\",\"updated_at\":\"2015-11-17T14:35:11Z\",\"story_id\":78458056,\"person\":{\"kind\":\"person\",\"id\":1563384,\"name\":\"Raoul Diffouo\",\"email\":\"diraulo@gmail.com\",\"initials\":\"RD\",\"username\":\"diraulo\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":117915964,\"text\":\"@sampritip do you think you could have time to look at the other items on the task list for this feature?\",\"created_at\":\"2015-11-17T14:36:06Z\",\"updated_at\":\"2015-11-17T14:36:06Z\",\"story_id\":78458056,\"person\":{\"kind\":\"person\",\"id\":1563384,\"name\":\"Raoul Diffouo\",\"email\":\"diraulo@gmail.com\",\"initials\":\"RD\",\"username\":\"diraulo\"},\"file_attachments\":[],\"google_attachment_ids\":[]}],\"transitions\":[{\"state\":\"started\",\"story_id\":78458056,\"project_id\":982890,\"project_version\":5999,\"occurred_at\":\"2015-11-17T14:35:17Z\",\"performed_by_id\":1563384,\"kind\":\"story_transition\"},{\"state\":\"unstarted\",\"story_id\":78458056,\"project_id\":982890,\"project_version\":5482,\"occurred_at\":\"2015-03-20T20:08:02Z\",\"performed_by_id\":1104242,\"kind\":\"story_transition\"}],\"cycle_time_details\":{\"total_cycle_time\":85249120000,\"started_time\":85249120000,\"started_count\":1,\"finished_time\":0,\"finished_count\":0,\"delivered_time\":0,\"delivered_count\":0,\"rejected_time\":0,\"rejected_count\":0,\"story_id\":78458056,\"kind\":\"cycle_time_details\"}},{\"id\":108642934,\"story_type\":\"bug\",\"name\":\"Project description not taking into account the github repository\",\"description\":\"When you go to the page:\\nhttp://www.agileventures.org/projects?page=6\\n\\nYou can see the MetPlus project and it says there are no commits related with the project, despite the fact that we currently have almost 300  commits on it.\\n\\n\\nInformation shown in the website:\\n\\nMetPlus\\n 11   19   0\\nStatus: ACTIVE\\nCreated 3 months ago by Thomas Ochman\\nMetPlus is a non-profit that aim to help the people of Detroit, and hopefully Michigan, to find a job that suits them. The vision of the client is to create one application(PETS) that would allow the users to find the a job and for companies to...\",\"current_state\":\"started\",\"url\":\"https://www.pivotaltracker.com/story/show/108642934\",\"requested_by\":{\"kind\":\"person\",\"id\":1177674,\"name\":\"Joao Pereira\",\"email\":\"joaopapereira@gmail.com\",\"initials\":\"JP\",\"username\":\"joaopereira1\"},\"owners\":[{\"kind\":\"person\",\"id\":1824416,\"name\":\"Cheema, Khasham\",\"email\":\"kcheema1@binghamton.edu\",\"initials\":\"KC\",\"username\":\"cheemak\"}],\"labels\":[],\"tasks\":[],\"followers\":[{\"kind\":\"person\",\"id\":8098,\"name\":\"Sam Joseph\",\"email\":\"sam@neurogrid.com\",\"initials\":\"SJ\",\"username\":\"tansaku\"},{\"kind\":\"person\",\"id\":1824416,\"name\":\"Cheema, Khasham\",\"email\":\"kcheema1@binghamton.edu\",\"initials\":\"KC\",\"username\":\"cheemak\"}],\"comments\":[{\"kind\":\"comment\",\"id\":123652927,\"text\":\"@cheemak did you make any progress investigating this?\",\"created_at\":\"2016-01-25T12:29:19Z\",\"updated_at\":\"2016-01-25T12:29:19Z\",\"story_id\":108642934,\"person\":{\"kind\":\"person\",\"id\":8098,\"name\":\"Sam Joseph\",\"email\":\"sam@neurogrid.com\",\"initials\":\"SJ\",\"username\":\"tansaku\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":124849775,\"text\":\"migrated this to https://github.com/AgileVentures/WebsiteOne/issues/758\",\"created_at\":\"2016-02-05T08:30:38Z\",\"updated_at\":\"2016-02-05T08:30:38Z\",\"story_id\":108642934,\"person\":{\"kind\":\"person\",\"id\":8098,\"name\":\"Sam Joseph\",\"email\":\"sam@neurogrid.com\",\"initials\":\"SJ\",\"username\":\"tansaku\"},\"file_attachments\":[],\"google_attachment_ids\":[]}],\"transitions\":[{\"state\":\"started\",\"story_id\":108642934,\"project_id\":982890,\"project_version\":6061,\"occurred_at\":\"2015-12-17T23:24:56Z\",\"performed_by_id\":1824416,\"kind\":\"story_transition\"},{\"state\":\"unstarted\",\"story_id\":108642934,\"project_id\":982890,\"project_version\":6043,\"occurred_at\":\"2015-12-13T18:32:59Z\",\"performed_by_id\":1563384,\"kind\":\"story_transition\"},{\"state\":\"unscheduled\",\"story_id\":108642934,\"project_id\":982890,\"project_version\":6006,\"occurred_at\":\"2015-11-20T19:06:24Z\",\"performed_by_id\":1177674,\"kind\":\"story_transition\"}],\"cycle_time_details\":{\"total_cycle_time\":82625341000,\"started_time\":82625341000,\"started_count\":1,\"finished_time\":0,\"finished_count\":0,\"delivered_time\":0,\"delivered_count\":0,\"rejected_time\":0,\"rejected_count\":0,\"story_id\":108642934,\"kind\":\"cycle_time_details\"}},{\"id\":90656646,\"story_type\":\"bug\",\"name\":\"Pivotal tracker url validator bug\",\"description\":\"Bug description:\\n\\nHey everyone, not sure who I should notify in here for this but I believe I found a bug with website one. If you create a pivotal tracker account and then try to add it to your agileventures project, it currently says that the URL is invalid. I looked up the test cases currently being used to see why it was rejecting the URL, and it was because the regex used expects a pivotaltracker...../s/### format\\n\\nChris Maltzan [5:21 PM]\\nbut the link pivotal tracker gave me had a /n/ rather than a /s/\\n\\nChris Maltzan [5:23 PM]\\nI got around it by changing my \\\"n\\\" to an \\\"s\\\" so that agileventures would accept it. Pivotal tracker was smart enough to redirect the url I gave back to an \\\"/n/\\\" so its actually still a valid URL.\\n\\nChris Maltzan [5:24 PM]\\nfor testing purposes, here was the link to my pivotal tracker page: https://www.pivotaltracker.com/n/projects/1303750\\n\",\"current_state\":\"started\",\"url\":\"https://www.pivotaltracker.com/story/show/90656646\",\"requested_by\":{\"kind\":\"person\",\"id\":1343640,\"name\":\"Christopher Milne\",\"email\":\"christopher.milne@gmail.com\",\"initials\":\"CM\",\"username\":\"christophermilne\"},\"owners\":[{\"kind\":\"person\",\"id\":1824416,\"name\":\"Cheema, Khasham\",\"email\":\"kcheema1@binghamton.edu\",\"initials\":\"KC\",\"username\":\"cheemak\"}],\"labels\":[],\"tasks\":[],\"followers\":[{\"kind\":\"person\",\"id\":1628196,\"name\":\"Piotr Kedzia\",\"email\":\"ptrkedzia@gmail.com\",\"initials\":\"PK\",\"username\":\"piotrkedzia\"},{\"kind\":\"person\",\"id\":1343640,\"name\":\"Christopher Milne\",\"email\":\"christopher.milne@gmail.com\",\"initials\":\"CM\",\"username\":\"christophermilne\"},{\"kind\":\"person\",\"id\":8098,\"name\":\"Sam Joseph\",\"email\":\"sam@neurogrid.com\",\"initials\":\"SJ\",\"username\":\"tansaku\"},{\"kind\":\"person\",\"id\":1563384,\"name\":\"Raoul Diffouo\",\"email\":\"diraulo@gmail.com\",\"initials\":\"RD\",\"username\":\"diraulo\"},{\"kind\":\"person\",\"id\":1824416,\"name\":\"Cheema, Khasham\",\"email\":\"kcheema1@binghamton.edu\",\"initials\":\"KC\",\"username\":\"cheemak\"}],\"comments\":[{\"kind\":\"comment\",\"id\":96906988,\"text\":\"@christophermilne So, solution for this bug is one letter. Yes? I can swap 's' to 'n' in proper validator.\",\"created_at\":\"2015-04-02T16:31:07Z\",\"updated_at\":\"2015-04-02T16:55:37Z\",\"story_id\":90656646,\"person\":{\"kind\":\"person\",\"id\":1628196,\"name\":\"Piotr Kedzia\",\"email\":\"ptrkedzia@gmail.com\",\"initials\":\"PK\",\"username\":\"piotrkedzia\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":117619970,\"text\":\"@christophermilne any updates on this?\",\"created_at\":\"2015-11-13T08:46:12Z\",\"updated_at\":\"2015-11-13T08:46:12Z\",\"story_id\":90656646,\"person\":{\"kind\":\"person\",\"id\":8098,\"name\":\"Sam Joseph\",\"email\":\"sam@neurogrid.com\",\"initials\":\"SJ\",\"username\":\"tansaku\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":118186624,\"text\":\"sorry @tansaku. haven't been in codebase for quite some time. things are a bit crazy for me now (switching jobs). probably can't even look at this for another month\",\"created_at\":\"2015-11-18T18:20:15Z\",\"updated_at\":\"2015-11-18T18:20:15Z\",\"story_id\":90656646,\"person\":{\"kind\":\"person\",\"id\":1343640,\"name\":\"Christopher Milne\",\"email\":\"christopher.milne@gmail.com\",\"initials\":\"CM\",\"username\":\"christophermilne\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":118558454,\"text\":\"@christophermilne shall we put this back in the backlog/icebox then?\",\"created_at\":\"2015-11-23T09:01:35Z\",\"updated_at\":\"2015-11-23T09:01:35Z\",\"story_id\":90656646,\"person\":{\"kind\":\"person\",\"id\":8098,\"name\":\"Sam Joseph\",\"email\":\"sam@neurogrid.com\",\"initials\":\"SJ\",\"username\":\"tansaku\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":120324886,\"text\":\"sending back to backlog\",\"created_at\":\"2015-12-13T18:26:42Z\",\"updated_at\":\"2015-12-13T18:26:42Z\",\"story_id\":90656646,\"person\":{\"kind\":\"person\",\"id\":1563384,\"name\":\"Raoul Diffouo\",\"email\":\"diraulo@gmail.com\",\"initials\":\"RD\",\"username\":\"diraulo\"},\"file_attachments\":[],\"google_attachment_ids\":[]},{\"kind\":\"comment\",\"id\":123652963,\"text\":\"@cheemak did you make any progress on this?\",\"created_at\":\"2016-01-25T12:29:59Z\",\"updated_at\":\"2016-01-25T12:29:59Z\",\"story_id\":90656646,\"person\":{\"kind\":\"person\",\"id\":8098,\"name\":\"Sam Joseph\",\"email\":\"sam@neurogrid.com\",\"initials\":\"SJ\",\"username\":\"tansaku\"},\"file_attachments\":[],\"google_attachment_ids\":[]}],\"transitions\":[{\"state\":\"started\",\"story_id\":90656646,\"project_id\":982890,\"project_version\":6062,\"occurred_at\":\"2015-12-18T17:32:03Z\",\"performed_by_id\":1824416,\"kind\":\"story_transition\"},{\"state\":\"unstarted\",\"story_id\":90656646,\"project_id\":982890,\"project_version\":6038,\"occurred_at\":\"2015-12-13T18:26:49Z\",\"performed_by_id\":1563384,\"kind\":\"story_transition\"},{\"state\":\"started\",\"story_id\":90656646,\"project_id\":982890,\"project_version\":5672,\"occurred_at\":\"2015-04-07T20:31:50Z\",\"performed_by_id\":1628196,\"kind\":\"story_transition\"},{\"state\":\"unstarted\",\"story_id\":90656646,\"project_id\":982890,\"project_version\":5486,\"occurred_at\":\"2015-03-21T05:53:06Z\",\"performed_by_id\":1104242,\"kind\":\"story_transition\"},{\"state\":\"unscheduled\",\"story_id\":90656646,\"project_id\":982890,\"project_version\":5456,\"occurred_at\":\"2015-03-18T23:13:58Z\",\"performed_by_id\":1343640,\"kind\":\"story_transition\"}],\"cycle_time_details\":{\"total_cycle_time\":104152613000,\"started_time\":104152613000,\"started_count\":2,\"finished_time\":0,\"finished_count\":0,\"delivered_time\":0,\"delivered_count\":0,\"rejected_time\":0,\"rejected_count\":0,\"story_id\":90656646,\"kind\":\"cycle_time_details\"}},{\"id\":67538948,\"story_type\":\"chore\",\"name\":\"make AgileVentures an official UK charity\",\"current_state\":\"started\",\"url\":\"https://www.pivotaltracker.com/story/show/67538948\",\"requested_by\":{\"kind\":\"person\",\"id\":8098,\"name\":\"Sam Joseph\",\"email\":\"sam@neurogrid.com\",\"initials\":\"SJ\",\"username\":\"tansaku\"},\"owners\":[{\"kind\":\"person\",\"id\":8098,\"name\":\"Sam Joseph\",\"email\":\"sam@neurogrid.com\",\"initials\":\"SJ\",\"username\":\"tansaku\"}],\"labels\":[],\"tasks\":[],\"followers\":[{\"kind\":\"person\",\"id\":8098,\"name\":\"Sam Joseph\",\"email\":\"sam@neurogrid.com\",\"initials\":\"SJ\",\"username\":\"tansaku\"}],\"comments\":[{\"kind\":\"comment\",\"id\":124047275,\"text\":\"created a draft constitution based on UK government recommendations: https://docs.google.com/document/d/1OQ9LtdpmTYFE5HhRJOYG5S1dKDM_29Lfe7Y80CzLq-o/edit\",\"created_at\":\"2016-01-28T13:04:29Z\",\"updated_at\":\"2016-01-28T13:04:29Z\",\"story_id\":67538948,\"person\":{\"kind\":\"person\",\"id\":8098,\"name\":\"Sam Joseph\",\"email\":\"sam@neurogrid.com\",\"initials\":\"SJ\",\"username\":\"tansaku\"},\"file_attachments\":[],\"google_attachment_ids\":[]}],\"transitions\":[{\"state\":\"started\",\"story_id\":67538948,\"project_id\":982890,\"project_version\":6088,\"occurred_at\":\"2016-01-28T10:42:45Z\",\"performed_by_id\":8098,\"kind\":\"story_transition\"}],\"cycle_time_details\":{\"total_cycle_time\":79042272000,\"started_time\":79042272000,\"started_count\":1,\"finished_time\":0,\"finished_count\":0,\"delivered_time\":0,\"delivered_count\":0,\"rejected_time\":0,\"rejected_count\":0,\"story_id\":67538948,\"kind\":\"cycle_time_details\"}}],\"team_strength\":1,\"project_id\":982890,\"length\":2,\"start\":\"2018-07-18T00:00:00Z\",\"finish\":\"2018-08-01T00:00:00Z\",\"number\":119}]"
  },
  {
    "path": "spec/fixtures/pivotal_tracker_project_response.json",
    "content": "{\n  \"id\":982890,\n  \"name\":\"AV: WebsiteOne\",\n  \"velocity_averaged_over\":3,\n  \"labels\":[\n    {\n      \"id\":7478060,\n      \"project_id\":982890,\n      \"kind\":\"label\",\n      \"name\":\"activities\",\n      \"created_at\":\"2014-01-15T12:55:13Z\",\n      \"updated_at\":\"2014-01-15T12:55:13Z\"\n    },\n    {\n      \"id\":8641588,\n      \"project_id\":982890,\n      \"kind\":\"label\",\n      \"name\":\"ahngouts\",\n      \"created_at\":\"2014-06-09T20:59:53Z\",\n      \"updated_at\":\"2014-06-09T20:59:53Z\"\n    },\n    {\n      \"id\":8523606,\n      \"project_id\":982890,\n      \"kind\":\"label\",\n      \"name\":\"articles\",\n      \"created_at\":\"2014-05-24T12:57:16Z\",\n      \"updated_at\":\"2014-05-24T12:57:16Z\"\n    },\n    {\n      \"id\":8557560,\n      \"project_id\":982890,\n      \"kind\":\"label\",\n      \"name\":\"authentication\",\n      \"created_at\":\"2014-05-29T14:29:50Z\",\n      \"updated_at\":\"2014-05-29T14:29:50Z\"\n    },\n    {\n      \"id\":7486274,\n      \"project_id\":982890,\n      \"kind\":\"label\",\n      \"name\":\"content\",\n      \"created_at\":\"2014-01-16T09:24:55Z\",\n      \"updated_at\":\"2014-01-16T09:24:55Z\"\n    },\n    {\n      \"id\":9311816,\n      \"project_id\":982890,\n      \"kind\":\"label\",\n      \"name\":\"develop\",\n      \"created_at\":\"2014-08-27T19:45:52Z\",\n      \"updated_at\":\"2014-08-27T19:45:52Z\"\n    },\n    {\n      \"id\":7464526,\n      \"project_id\":982890,\n      \"kind\":\"label\",\n      \"name\":\"documents\",\n      \"created_at\":\"2014-01-14T09:15:14Z\",\n      \"updated_at\":\"2014-01-14T09:15:14Z\"\n    },\n    {\n      \"id\":8523600,\n      \"project_id\":982890,\n      \"kind\":\"label\",\n      \"name\":\"events\",\n      \"created_at\":\"2014-05-24T12:50:31Z\",\n      \"updated_at\":\"2014-05-24T12:50:31Z\"\n    },\n    {\n      \"id\":7370036,\n      \"project_id\":982890,\n      \"kind\":\"label\",\n      \"name\":\"front end\",\n      \"created_at\":\"2013-12-29T12:35:32Z\",\n      \"updated_at\":\"2013-12-29T12:35:32Z\"\n    },\n    {\n      \"id\":8598540,\n      \"project_id\":982890,\n      \"kind\":\"label\",\n      \"name\":\"general\",\n      \"created_at\":\"2014-06-04T06:46:43Z\",\n      \"updated_at\":\"2014-06-04T06:46:43Z\"\n    },\n    {\n      \"id\":7903928,\n      \"project_id\":982890,\n      \"kind\":\"label\",\n      \"name\":\"github\",\n      \"created_at\":\"2014-03-08T22:06:22Z\",\n      \"updated_at\":\"2014-03-08T22:06:22Z\"\n    },\n    {\n      \"id\":10160330,\n      \"project_id\":982890,\n      \"kind\":\"label\",\n      \"name\":\"hangout\",\n      \"created_at\":\"2014-12-04T14:02:50Z\",\n      \"updated_at\":\"2014-12-04T14:02:50Z\"\n    },\n    {\n      \"id\":8641488,\n      \"project_id\":982890,\n      \"kind\":\"label\",\n      \"name\":\"hangouts\",\n      \"created_at\":\"2014-06-09T20:56:56Z\",\n      \"updated_at\":\"2014-06-09T20:56:56Z\"\n    },\n    {\n      \"id\":9091504,\n      \"project_id\":982890,\n      \"kind\":\"label\",\n      \"name\":\"hi\",\n      \"created_at\":\"2014-08-01T04:12:32Z\",\n      \"updated_at\":\"2014-08-01T04:12:32Z\"\n    },\n    {\n      \"id\":8523946,\n      \"project_id\":982890,\n      \"kind\":\"label\",\n      \"name\":\"high priority\",\n      \"created_at\":\"2014-05-24T17:30:45Z\",\n      \"updated_at\":\"2014-05-24T17:30:45Z\"\n    },\n    {\n      \"id\":9495400,\n      \"project_id\":982890,\n      \"kind\":\"label\",\n      \"name\":\"hoaconnect\",\n      \"created_at\":\"2014-09-21T14:36:30Z\",\n      \"updated_at\":\"2014-09-21T14:36:30Z\"\n    },\n    {\n      \"id\":8946080,\n      \"project_id\":982890,\n      \"kind\":\"label\",\n      \"name\":\"hookups\",\n      \"created_at\":\"2014-07-15T11:32:06Z\",\n      \"updated_at\":\"2014-07-15T11:32:06Z\"\n    },\n    {\n      \"id\":9676044,\n      \"project_id\":982890,\n      \"kind\":\"label\",\n      \"name\":\"karma system\",\n      \"created_at\":\"2014-10-13T06:51:53Z\",\n      \"updated_at\":\"2014-10-13T06:51:53Z\"\n    },\n    {\n      \"id\":7691424,\n      \"project_id\":982890,\n      \"kind\":\"label\",\n      \"name\":\"legacy data migration\",\n      \"created_at\":\"2014-02-11T15:30:17Z\",\n      \"updated_at\":\"2014-02-11T15:30:17Z\"\n    },\n    {\n      \"id\":9246468,\n      \"project_id\":982890,\n      \"kind\":\"label\",\n      \"name\":\"management\",\n      \"created_at\":\"2014-08-20T11:45:02Z\",\n      \"updated_at\":\"2014-08-20T11:45:02Z\"\n    },\n    {\n      \"id\":8598472,\n      \"project_id\":982890,\n      \"kind\":\"label\",\n      \"name\":\"marketing\",\n      \"created_at\":\"2014-06-04T06:28:51Z\",\n      \"updated_at\":\"2014-06-04T06:28:51Z\"\n    },\n    {\n      \"id\":9626134,\n      \"project_id\":982890,\n      \"kind\":\"label\",\n      \"name\":\"memory optimization\",\n      \"created_at\":\"2014-10-06T21:08:38Z\",\n      \"updated_at\":\"2014-10-06T21:08:38Z\"\n    },\n    {\n      \"id\":8523602,\n      \"project_id\":982890,\n      \"kind\":\"label\",\n      \"name\":\"new users\",\n      \"created_at\":\"2014-05-24T12:52:16Z\",\n      \"updated_at\":\"2014-05-24T12:52:16Z\"\n    },\n    {\n      \"id\":7370034,\n      \"project_id\":982890,\n      \"kind\":\"label\",\n      \"name\":\"pp scheduling\",\n      \"created_at\":\"2013-12-29T12:34:27Z\",\n      \"updated_at\":\"2013-12-29T12:34:27Z\"\n    },\n    {\n      \"id\":9418398,\n      \"project_id\":982890,\n      \"kind\":\"label\",\n      \"name\":\"project manager\",\n      \"created_at\":\"2014-09-11T10:16:25Z\",\n      \"updated_at\":\"2014-09-11T10:16:25Z\"\n    },\n    {\n      \"id\":7464516,\n      \"project_id\":982890,\n      \"kind\":\"label\",\n      \"name\":\"projects\",\n      \"created_at\":\"2014-01-14T09:14:27Z\",\n      \"updated_at\":\"2014-01-14T09:14:27Z\"\n    },\n    {\n      \"id\":7641956,\n      \"project_id\":982890,\n      \"kind\":\"label\",\n      \"name\":\"refactor\",\n      \"created_at\":\"2014-02-05T09:53:51Z\",\n      \"updated_at\":\"2014-02-05T09:53:51Z\"\n    },\n    {\n      \"id\":8598530,\n      \"project_id\":982890,\n      \"kind\":\"label\",\n      \"name\":\"research\",\n      \"created_at\":\"2014-06-04T06:43:55Z\",\n      \"updated_at\":\"2014-06-04T06:43:55Z\"\n    },\n    {\n      \"id\":8879760,\n      \"project_id\":982890,\n      \"kind\":\"label\",\n      \"name\":\"rspec 3\",\n      \"created_at\":\"2014-07-07T11:07:24Z\",\n      \"updated_at\":\"2014-07-07T11:07:24Z\"\n    },\n    {\n      \"id\":8598454,\n      \"project_id\":982890,\n      \"kind\":\"label\",\n      \"name\":\"scrums\",\n      \"created_at\":\"2014-06-04T06:22:28Z\",\n      \"updated_at\":\"2014-06-04T06:22:28Z\"\n    },\n    {\n      \"id\":9635792,\n      \"project_id\":982890,\n      \"kind\":\"label\",\n      \"name\":\"show on project index page with a nice icon (see ux draft)\",\n      \"created_at\":\"2014-10-07T19:10:31Z\",\n      \"updated_at\":\"2014-10-07T19:10:31Z\"\n    },\n    {\n      \"id\":7432498,\n      \"project_id\":982890,\n      \"kind\":\"label\",\n      \"name\":\"ui\",\n      \"created_at\":\"2014-01-09T13:40:52Z\",\n      \"updated_at\":\"2014-01-09T13:40:52Z\"\n    },\n    {\n      \"id\":8879754,\n      \"project_id\":982890,\n      \"kind\":\"label\",\n      \"name\":\"upgrade to rspec 3.0. - clean up deprecations and refactor specs in the process\",\n      \"created_at\":\"2014-07-07T11:06:25Z\",\n      \"updated_at\":\"2014-07-07T11:06:25Z\"\n    },\n    {\n      \"id\":7464532,\n      \"project_id\":982890,\n      \"kind\":\"label\",\n      \"name\":\"users\",\n      \"created_at\":\"2014-01-14T09:15:33Z\",\n      \"updated_at\":\"2014-01-14T09:15:33Z\"\n    },\n    {\n      \"id\":8598560,\n      \"project_id\":982890,\n      \"kind\":\"label\",\n      \"name\":\"videos\",\n      \"created_at\":\"2014-06-04T06:51:37Z\",\n      \"updated_at\":\"2014-06-04T06:51:37Z\"\n    },\n    {\n      \"id\":8523608,\n      \"project_id\":982890,\n      \"kind\":\"label\",\n      \"name\":\"website\",\n      \"created_at\":\"2014-05-24T13:01:02Z\",\n      \"updated_at\":\"2014-05-24T13:01:02Z\"\n    },\n    {\n      \"id\":7674660,\n      \"project_id\":982890,\n      \"kind\":\"label\",\n      \"name\":\"youtube\",\n      \"created_at\":\"2014-02-09T17:42:51Z\",\n      \"updated_at\":\"2014-02-09T17:42:51Z\"\n    }\n  ],\n  \"current_velocity\":1\n}"
  },
  {
    "path": "spec/helpers/application_helper_spec.rb",
    "content": "# frozen_string_literal: true\n\ndescribe ApplicationHelper do\n  it '#date_format returns formatted date 1st Jan 2015' do\n    expect(date_format(Date.new(2015, 1, 1))).to eq('1st Jan 2015')\n    expect(date_format(Date.new(2015, 5, 3))).to eq('3rd May 2015')\n  end\n\n  describe '#valid_email?' do\n    it 'returns true if email is valid' do\n      expect(valid_email?('valid@valid.com')).to be_truthy\n    end\n\n    it 'returns false if email is invalid' do\n      expect(valid_email?('invalid')).to be_falsey\n      expect(valid_email?('invalid@')).to be_falsey\n      expect(valid_email?('invalid@invalid')).to be_falsey\n      expect(valid_email?('invalid@invalid.')).to be_falsey\n      expect(valid_email?('invalid@.invalid')).to be_falsey\n      expect(valid_email?('invalid@invalid.i')).to be_falsey\n    end\n  end\n\n  describe '#shared_meta_keywords' do\n    before do\n      @keywords = helper.shared_meta_keywords.split(',').map(&:squish)\n    end\n\n    it 'should contain AgileVentures' do\n      expect(@keywords).to include 'AgileVentures'\n    end\n\n    it 'should contain pair programming' do\n      expect(@keywords).to include 'pair programming'\n    end\n\n    it 'should contain crowdsourced learning' do\n      expect(@keywords).to include 'crowdsourced learning'\n    end\n  end\n\n  describe '#default_meta_description' do\n    it 'should include the words AgileVentures' do\n      expect(helper.default_meta_description).to include 'AgileVentures'\n    end\n  end\n\n  describe '#custom_css_btn' do\n    before(:each) do\n      @custom_btn_html = helper.custom_css_btn 'this is a text', 'fa fa-icon', root_path, id: 'my-id',\n                                                                                          class: 'btn-random'\n    end\n\n    it 'should render the text \"this is a text\"' do\n      expect(@custom_btn_html).to have_css '[title=\"this is a text\"]'\n    end\n\n    it 'should render the icon classes \"fa fa-icon\"' do\n      expect(@custom_btn_html).to have_css '.fa.fa-icon'\n    end\n\n    it 'should have a link to the root path' do\n      expect(@custom_btn_html).to have_link '', href: root_path\n    end\n\n    it 'should have the id=\"my-id\" and class=\"btn-random\"' do\n      expect(@custom_btn_html).to have_css '#my-id.btn-random'\n    end\n  end\n\n  describe '#social_button' do\n    before(:each) do\n      @user = stub_model(User)\n      @user.stub_chain(:authentications, :where, :first, :id).and_return(100)\n      helper.stub(current_user: @user)\n    end\n\n    it 'should render the correct provider' do\n      btn_html = helper.social_button 'github'\n      expect(btn_html).to have_css '.btn-github'\n    end\n\n    it 'should render the delete method if the option is specified' do\n      btn_html = helper.social_button 'gplus', delete: true\n      expect(btn_html).to have_css '[method=delete]'\n    end\n  end\n\n  describe '#resource_name' do\n    it 'should return :user' do\n      expect(helper.resource_name).to eq(:user)\n    end\n  end\n\n  describe '#resource' do\n    it 'should return new user with karma' do\n      expect(helper.resource).to be_instance_of(User)\n      expect(helper.resource.karma).not_to be_nil\n    end\n  end\nend\n"
  },
  {
    "path": "spec/helpers/articles_helper_spec.rb",
    "content": "# frozen_string_literal: true\n\ndescribe ArticlesHelper do\n  context 'link_to_tags helper method' do\n    it 'generates a hyperlink to the filtered articles index page' do\n      tag = 'hello'\n      output = helper.link_to_tags [tag]\n      expect(output).to eq link_to(tag, articles_path(tag: tag))\n    end\n\n    it 'generates a comma separated link of tag links with multiple tags' do\n      tags = %w(hello world)\n      output = helper.link_to_tags tags\n      expect(output).to eq \"#{link_to(tags[0],\n                                      articles_path(tag: tags[0]))}, #{link_to(tags[1], articles_path(tag: tags[1]))}\"\n    end\n  end\n\n  context 'rendering markdown' do\n    it 'should correctly render markdown tags' do\n      markdown_text = \"#heading\\nthis is some *markdown* text `with code` and **bold** text\"\n      output = helper.from_markdown markdown_text\n\n      expect(output).to have_css 'h1'\n      expect(output).to have_css 'em'\n      expect(output).to have_css 'code'\n      expect(output).to have_css 'strong'\n    end\n\n    it 'should render an empty string when the input is nil' do\n      output = helper.from_markdown nil\n      expect(output).to be_empty\n    end\n\n    it 'should render \"Failed to render markdown\" when it CodeRay fails for whatever reason' do\n      renderer = ArticlesHelper::CodeRayify.new\n      CodeRay.stub(:scan).and_raise Exception\n      output = renderer.block_code 'function (a, b, c)', nil\n      expect(output).to have_text 'Failed to render code block'\n    end\n\n    it 'should render block code correctly' do\n      output = helper.from_markdown \"this is an example:\\n\\n~~~ruby\\nputs \\\"hello world\\\"\\n~~~\"\n\n      expect(output).to_not have_text '~~~'\n      expect(output).to_not have_text 'ruby'\n      expect(output).to have_css '.code'\n    end\n\n    it 'should render block code without a language specified correctly' do\n      output = helper.from_markdown \"this is an example:\\n\\n~~~ruby\\nplain text\\n~~~\"\n\n      expect(output).to_not have_text '~~~'\n      expect(output).to have_css '.code'\n    end\n\n    context 'preview' do\n      it 'should render a truncated markdown text' do\n        markdown_text = 'this is some `coding` done with **bold** text and some other random *stuff*' \\\n                        'a lot of random text or rather that goes on and on and on and on and on and on and on' \\\n                        \"\\n\\n#heading\\n until it reaches this heading\"\n        output = helper.markdown_preview markdown_text\n\n        expect(output).to have_css 'code'\n        expect(output).to have_css 'strong'\n        expect(output).to_not have_css 'h1'\n        expect(output).to_not have_css 'em'\n      end\n\n      it 'should not show links or image tags' do\n        markdown_text = '`coding` can be really [fun](http://www.google.com) ![alt text](https://github.com/adam-p/markdown-here/raw/master/src/common/images/icon48.png \"Logo Title Text 1\")'\n        output = helper.markdown_preview markdown_text\n\n        expect(output).to have_css 'code'\n        expect(output).to_not have_css 'a'\n        expect(output).to_not have_css 'img'\n      end\n\n      it 'should render an empty string when the input is nil' do\n        output = helper.markdown_preview nil\n        expect(output).to be_empty\n      end\n    end\n  end\nend\n"
  },
  {
    "path": "spec/helpers/devise_helper_spec.rb",
    "content": "# frozen_string_literal: true\n\ndescribe DeviseHelper do\n  describe 'when no error' do\n    before(:each) do\n      helper.stub_chain(:resource, :errors, :empty?).and_return true\n    end\n\n    it '#devise_error_messages_flash' do\n      acts_well_when_no_error?('devise_error_messages_flash')\n    end\n\n    it '#devise_error_simple_message' do\n      acts_well_when_no_error?('devise_error_simple_message')\n    end\n  end\n\n  describe 'when there are errors' do\n    before(:each) do\n      @messages = ['error 1', 'error 2']\n      helper.stub_chain(:resource, :errors, :empty?).and_return false\n      helper.stub_chain(:resource, :errors, :full_messages).and_return @messages\n    end\n\n    it '#devise_error_messages_flash' do\n      sentence = 'There are 2 errors'\n      helper.stub_chain(:resource, :errors, :count).and_return @messages.size\n      helper.stub_chain(:resource, :class, :model_name, :human).and_return 'devise'\n      expect(I18n).to receive(:t).and_return sentence\n      result = helper.devise_error_messages_flash\n      expect(result).to have_text(sentence)\n      expect(result).to have_css('.alert.alert-danger')\n      @messages.each { |msg| expect(result).to have_text(msg) }\n    end\n    it '#devise_error_simple_message' do\n      result = helper.devise_error_simple_message\n      expect(result).to have_css('.alert.alert-danger')\n      @messages.each { |msg| expect(result).to have_text(msg) }\n    end\n  end\nend\n\ndef acts_well_when_no_error?(method_name)\n  result = helper.send(method_name)\n  expect(result).to eq ''\nend\n"
  },
  {
    "path": "spec/helpers/documents_helper_spec.rb",
    "content": "# frozen_string_literal: true\n\nRSpec.describe DocumentsHelper, type: :helper do\n  describe '#metadata' do\n    before do\n      @user = FactoryBot.build_stubbed(:user, first_name: 'User', last_name: nil)\n      @document = FactoryBot.build_stubbed(:document, user: @user)\n    end\n\n    it 'should return metadata of the newly created document' do\n      allow(@document).to receive(:versions).and_return([])\n      expect(helper.metadata).to eq('Created less than a minute ago by User')\n    end\n\n    it 'should return metadata of the latest version of the document' do\n      @document.versions.last.update_attribute(:created_at, 2.months.ago)\n      allow(User).to receive(:find_by_id).and_return(@user)\n      expect(helper.metadata).to match(/Created( about)? 2 months ago by User/)\n    end\n  end\nend\n"
  },
  {
    "path": "spec/helpers/event_helper_spec.rb",
    "content": "# frozen_string_literal: true\n\ndescribe EventHelper do\n  it 'extract event ocurrence from hash' do\n    ocurrence = Time.utc(2014, 'mar', 9, 23, 0, 0)\n    time = IceCube::Occurrence.new(ocurrence)\n    event = mock_model(Event, name: 'DailyScrum', category: 'Scrum')\n    nested_value = { event: event, time: time }\n    result = helper.current_occurrence_time(nested_value)\n    expect(result).to match(/Sunday, 9th Mar at 11:00pm \\(UTC\\)/)\n  end\n\n  describe 'time ranges' do\n    let(:current_time) { Time.utc(2016, 2, 9, 19, 0, 0) }\n    let(:event) do\n      double(:event,\n             start_time: current_time,\n             duration: 15.minutes,\n             instance_end_time: current_time + 15.minutes)\n    end\n\n    before { Delorean.time_travel_to(current_time - 15.minutes) }\n\n    after { Delorean.back_to_the_present }\n\n    it 'returns a local time range' do\n      expected_result = \\\n        '<time datetime=\"2016-02-09T19:00:00Z\" data-local=\"time\" ' \\\n        'data-format=\"%H:%M\">19:00</time>-<time ' \\\n        'datetime=\"2016-02-10T10:00:00Z\" data-local=\"time\" ' \\\n        'data-format=\"%H:%M (%Z)\">10:00 (UTC)</time>'\n\n      actual_result = helper.show_local_time_range(current_time, event.duration)\n      expect(actual_result).to eql expected_result\n    end\n  end\n\n  describe 'set_column_width' do\n    it 'should be col-sm-2 when modifier_id exists' do\n      @event = FactoryBot.build(:event, name: 'Spec Scrum', modifier_id: 1)\n      expect(set_column_width).to eq('<div class=\"col-xs-12 col-sm-2\"></div>')\n    end\n\n    it 'should be col-sm-4 when modifier_id does not exist' do\n      @event = FactoryBot.build(:event, name: 'Spec Scrum')\n      expect(set_column_width).to eq('<div class=\"col-xs-12 col-sm-4\"></div>')\n    end\n  end\nend\n"
  },
  {
    "path": "spec/helpers/event_instances_helper_spec.rb",
    "content": "# frozen_string_literal: true\n\ndescribe EventInstancesHelper, type: :helper do\n  let(:uuid) { '82c2b3b8-42f7-442b-be64-86c2f407b2ed' }\n\n  before do\n    expect(SecureRandom).to receive(:uuid).and_return(uuid)\n  end\n\n  it 'generates a unique id for a hangout event' do\n    user = FactoryBot.build_stubbed(:user, id: '45')\n\n    expect(generate_event_instance_id(user, '85')).to eq(\"4585-#{uuid}\")\n  end\n\n  it 'generates an id if project is nil' do\n    user = FactoryBot.build_stubbed(:user, id: '45')\n\n    expect(generate_event_instance_id(user)).to eq(\"4500-#{uuid}\")\n  end\nend\n"
  },
  {
    "path": "spec/helpers/layout_helper_spec.rb",
    "content": "# frozen_string_literal: true\n\ndescribe LayoutHelper, type: :helper do\n  describe '#show_layout_flash?' do\n    subject { show_layout_flash? }\n\n    context 'without a layout flash' do\n      before { @layout_flash = nil }\n      it { is_expected.to be_truthy }\n    end\n\n    context 'with a layout flash' do\n      before { @layout_flash = 'layout flash' }\n      it { is_expected.to be_truthy }\n    end\n  end\n\n  describe '#flash_messages' do\n    context 'without :layout_flash set' do\n      let(:opts) { {} }\n      before { flash_messages(opts) }\n\n      it 'sets @layout_flash to true' do\n        expect(@layout_flash).to be_truthy\n      end\n    end\n\n    context 'with :layout_flash set' do\n      let(:opts) { { layout_flash: false } }\n      before { flash_messages(opts) }\n\n      it 'sets @layout_flash opts(:layout_flash)' do\n        expect(@layout_flash).to eq(opts[:layout_flash])\n      end\n    end\n\n    context 'with or without :layout_flash set' do\n      before { flash[:notice] = 'notice_flash' }\n      let(:opts) { { layout_flash: false } }\n      subject(:output) { flash_messages(opts) }\n\n      it 'will have flash message' do\n        expect(output).to include(flash[:notice])\n      end\n      it 'will have div with id for each flash' do\n        expect(output).to have_selector('div#flash_notice')\n      end\n    end\n  end\nend\n"
  },
  {
    "path": "spec/helpers/projects_helper_spec.rb",
    "content": "# frozen_string_literal: true\n\ndescribe ProjectsHelper do\n  describe '#created_date' do\n    it 'returns time in correct format' do\n      @project = mock_model(Project, created_at: DateTime.new(2000, 1, 1))\n      expect(created_date).to eq 'Created: 2000-01-01'\n    end\n  end\nend\n"
  },
  {
    "path": "spec/helpers/users_helper_spec.rb",
    "content": "# frozen_string_literal: true\n\ndescribe 'UsersHelper' do\n  describe '#activity_tab' do\n    it 'should return active when param_tab is activity' do\n      expect(helper.activity_tab('activity')).to eq 'active'\n    end\n\n    it 'should return nil when param_tab is not activity' do\n      expect(helper.activity_tab('some-other-tab')).to be nil\n    end\n  end\n\n  describe '#about_tab' do\n    it 'should return nil when param_tab is activity' do\n      expect(helper.about_tab('some-other-tab')).to eq 'active'\n    end\n\n    it 'should return active when param_tab is not activity' do\n      expect(helper.about_tab('activity')).to be nil\n    end\n  end\nend\n"
  },
  {
    "path": "spec/helpers/visitors_helper_spec.rb",
    "content": "# frozen_string_literal: true\n\ndescribe VisitorsHelper do\n  describe '#display_countdown' do\n    before :each do\n      @default_tz = ENV.fetch('TZ', nil)\n      ENV['TZ'] = 'UTC'\n    end\n\n    after :each do\n      Delorean.back_to_the_present\n      ENV['TZ'] = @default_tz\n    end\n\n    it 'should display countdown based on input' do\n      Delorean.time_travel_to(Time.parse('2014-03-05 09:15:00 UTC'))\n      @event = stub_model(Event,\n                          next_occurrence_time_attr: double(IceCube::Occurrence,\n                                                            to_datetime: DateTime.parse('2014-03-07 10:30:00 UTC')))\n      expect(helper.display_countdown(@event)).to eq '2 days 1 hour 15 minutes'\n    end\n    it 'should display countdown based on input and remove days when 0' do\n      Delorean.time_travel_to(Time.parse('2014-03-07 09:15:00 UTC'))\n      @event = stub_model(Event,\n                          next_occurrence_time_attr: double(IceCube::Occurrence,\n                                                            to_datetime: DateTime.parse('2014-03-07 10:30:00 UTC')))\n      expect(helper.display_countdown(@event)).to eq '1 hour 15 minutes'\n    end\n  end\nend\n"
  },
  {
    "path": "spec/javascripts/accordion_collapse_spec.js",
    "content": "describe('AccordionCollapse module', function() {\n  beforeEach(function() {\n    setFixtures('<a class=\"collapse-button\"><i class=\"fa fa-caret-down\"></i></a>');\n\n    reloadModule('AccordionCollapse');\n\n    $(document).trigger('page:load');\n  });\n\n  it('should create a module called \"AccordionCollapse\"', function() {\n    expect(WebsiteOne.AccordionCollapse).toBeDefined();\n  });\n\n  it('should change class when clicked once', function() {\n    $('.collapse-button').click();\n    expect($('.collapse-button :first-child').hasClass('fa-caret-right')).toBeTruthy();\n  });\n\n  it('should not change the class when clicked twice', function() {\n    $('.collapse-button').click();\n    $('.collapse-button').click();\n    expect($('.collapse-button :first-child').hasClass('fa-caret-down')).toBeTruthy();\n  });\n});\n"
  },
  {
    "path": "spec/javascripts/affix_navbar_spec.js",
    "content": "describe('Affixed Navbar', function () {\n    var affixedNav, header, main, footer, height, scrollTop, scroll, hasClass;\n    var onScrollSpy;\n\n    beforeEach(function () {\n        setFixtures(sandbox({id: 'main_header'}));\n        appendSetFixtures(sandbox({id: 'nav'}));\n        appendSetFixtures(sandbox({id: 'main'}));\n        appendSetFixtures(sandbox({id: 'footer'}));\n        affixedNav = $('#nav');\n        header = $('#main_header');\n        main = $('#main');\n        footer = $('#footer');\n        height = spyOn($.prototype, 'height').and.callFake(function () {\n            return 50\n        });\n        scrollTop = spyOn($.prototype, 'scrollTop').and.callThrough();\n        hasClass = spyOn($.prototype, 'hasClass').and.callThrough();\n        scroll = spyOn($.prototype, 'scroll').and.callThrough();\n\n        reloadModule('AffixedNavbar');\n        onScrollSpy = spyOn(WebsiteOne.AffixedNavbar, 'onScroll').and.callThrough();\n        $(document).trigger('page:load');\n    });\n\n    it('should define a new WebsiteOne module called \"AffixedNavbar\"', function() {\n        expect(WebsiteOne.AffixedNavbar).toBeDefined();\n    });\n\n    describe('AffixedNavbar.init', function() {\n        it('should measure the height of the header when initialized', function() {\n            expect(height).toHaveBeenCalled();\n        });\n\n        it('should check whether or not the navbar is already affixed', function() {\n            expect(hasClass).toHaveBeenCalledWith('affix')\n        });\n\n        it('should pass onScroll as a callback to scroll', function() {\n            expect(scroll).toHaveBeenCalledWith(WebsiteOne.AffixedNavbar.onScroll)\n        });\n    });\n\n    describe('AffixedNavbar.onScroll', function() {\n        it('scrolling causes onScroll to be triggered', function () {\n            $(window).scroll();\n            expect(onScrollSpy).toHaveBeenCalled();\n        });\n\n        it('calculates the vertical position of the window', function() {\n            $(window).scroll();\n            expect(scrollTop).toHaveBeenCalled()\n        });\n    });\n\n    describe('scrolling down', function () {\n        beforeEach(function () {\n            scrollTop.and.callFake(function () {\n                return 150;\n            });\n            var parseInt = spyOn(window, 'parseInt').and.callFake(function () {\n                return 5;\n            });\n            $(window).scroll();\n        });\n        it('affixes navbar to top', function () {\n            expect(affixedNav).toHaveClass('affix');\n        });\n        it('pads the margin bottom of the header appropriately', function () {\n            expect(parseInt).toHaveBeenCalled();\n            expect(header).toHaveCss({ 'margin-bottom': '55px' })\n        });\n    });\n\n    describe('scrolling back up', function () {\n        beforeEach(function () {\n            affixedNav.addClass('affix');\n            scrollTop.and.callFake(function () {\n                return 18;\n            });\n            WebsiteOne.AffixedNavbar.init();\n            $(window).scroll();\n        });\n\n        it('un-affixes navbar from top', function () {\n            expect(affixedNav).not.toHaveClass('affix');\n        });\n\n        it('sets the margin-bottom of the header back to zero', function () {\n            expect(header).toHaveCss({ 'margin-bottom': '0px' })\n        });\n    });\n});\n"
  },
  {
    "path": "spec/javascripts/application_spec.js",
    "content": "describe('WebsiteOne module', function () {\n    beforeEach(function () {\n        WebsiteOne.define('__test__', function () {\n            return jasmine.createSpyObj('factory', ['init'])\n        });\n        this.module = WebsiteOne.__test__;\n    });\n\n    it('should define a new WebsiteOne module called \"__test__\"', function () {\n        expect(this.module).toBeDefined();\n        expect(WebsiteOne.__test__).toBeDefined();\n    });\n\n    describe('WebsiteOne.define', function () {\n        it('should have only one module defined (for testing)', function () {\n            expect(WebsiteOne._modules.length).toEqual(1);\n        });\n\n        it('should not create a new module when defined with a repeated name', function () {\n            WebsiteOne.define('__test__', function () {\n                return { init: function () {} };\n            });\n            expect(WebsiteOne._modules.length).toEqual(1);\n        });\n\n        it('should not call the init method after redefining a module when _newPageLoaded is false', function () {\n            var anotherFactory = jasmine.createSpyObj('another_factory', ['init']);\n            WebsiteOne._newPageLoaded = false;\n            WebsiteOne.define('__test__', function () {\n                return anotherFactory\n            });\n            expect(anotherFactory.init).not.toHaveBeenCalled();\n            expect(this.module.init).not.toHaveBeenCalled();\n        });\n\n        describe('adding a new module', function () {\n            var anotherFactory;\n            beforeEach(function () {\n                anotherFactory = jasmine.createSpyObj('another_factory', ['init']);\n            });\n\n            it('should not call the init method after defining a module', function () {\n                WebsiteOne.define('__another_test__', function () {\n                    return anotherFactory;\n                });\n                expect(anotherFactory.init).not.toHaveBeenCalled();\n            });\n\n            it('should call the init method after defining a module when the _newPageLoaded is false', function () {\n                WebsiteOne._newPageLoaded = false;\n                WebsiteOne.define('__another_test__', function () {\n                    return anotherFactory;\n                });\n                expect(anotherFactory.init).toHaveBeenCalled();\n            });\n        })\n    });\n\n    describe('WebsiteOne._init', function () {\n        it('should call the init method for all modules defined', function () {\n            var anotherFactory = jasmine.createSpyObj('another_factory', ['init']);\n            WebsiteOne.define('__another_test__', function () {\n                return anotherFactory;\n            });\n            WebsiteOne._init();\n            expect(this.module.init).toHaveBeenCalled();\n            expect(anotherFactory.init).toHaveBeenCalled();\n        });\n\n        it('should be called on the page:load event', function () {\n            $(document).trigger('page:load');\n            expect(this.module.init).toHaveBeenCalled();\n        });\n    });\n\n    describe(\"WebsiteOne.runOnce\", function() {\n        it('should always run the callback exactly', function () {\n            var spy = jasmine.createSpy();\n            WebsiteOne.runOnce(\"name\", spy);\n            for (var i = 0; i < 10; i++) {\n              WebsiteOne._init();\n            }\n            expect(spy.calls.count()).toEqual(1);\n        });\n    });\n\n    describe('WebsiteOne._clear', function () {\n        it('removes all the modules', function() {\n            expect(WebsiteOne.__test__).toBeDefined();\n            expect(WebsiteOne._modules.length).toEqual(1);\n            WebsiteOne._clear();\n            expect(WebsiteOne.__test__).not.toBeDefined();\n            expect(WebsiteOne._modules.length).toEqual(0)\n        });\n    });\n});\n"
  },
  {
    "path": "spec/javascripts/documents_spec.js",
    "content": "describe('Documents', function(){\n  beforeEach(function(){\n    setFixtures(sandbox({id: 'something'}));\n    appendSetFixtures('<a id=\"revisions-anchor\" href=\"#\">Revisions</a><div id=\"revisions\" style=\"display:none\"><br/>This is <b>first</b> revision</div>');\n    reloadModule('Documents');\n    WebsiteOne.Documents.init();\n    jQuery.fx.off = true;\n  });\n\n  it('prevents refreshing the page after link gets clicked', function() {\n    var submitSpy = jasmine.createSpy('submitSpy')\n    $(document).on('submit', submitSpy);\n\n    $('#revisions-anchor').trigger('click');\n\n    expect(submitSpy).not.toHaveBeenCalled();\n  });\n\n  it('shows revisions div after Revisions link is clicked', function(){\n    $('#revisions-anchor').trigger('click');\n    expect($('#revisions')).toBeVisible();\n  });\n\n  // it('hides revisions div after Revisions is clicked twice', function(){\n  //   $('#revisions-anchor').trigger('click');\n  //   $('#revisions-anchor').trigger('click');\n  //   expect($('#revisions')).toBeHidden();\n  //   jQuery.fx.off = false\n  // });\n});\n"
  },
  {
    "path": "spec/javascripts/event_countdown_spec.js",
    "content": "describe('Event Countdown', function () {\n\n    var url, name;\n\n    beforeEach(function () {\n        url = 'https://coming.home';\n        name = 'Homecoming';\n        duration = 30;\n\n        setFixtures(sandbox({\n            id: 'next-event',\n            'data-event-time': '',\n            'data-event-duration': duration,\n            'data-event-url': url,\n            'data-event-name': name\n        }));\n        this.countdownClock = $('#next-event');\n        this.data = spyOn(jQuery, 'data').and.callThrough();\n\n\n        reloadModule('EventCountdown');\n        this.update = spyOn(WebsiteOne.EventCountdown, 'update').and.callThrough();\n        this.clearTimeout = spyOn(window, 'clearTimeout').and.callThrough();\n        this.dateParse = spyOn(Date, 'parse').and.callThrough();\n        $(document).trigger('page:load');\n    });\n\n    it('should define a new WebsiteOne module called \"EventCountdown\"', function () {\n        expect(WebsiteOne.EventCountdown).toBeDefined();\n    });\n\n    describe('init()', function () {\n        it('should clear any current instance of setTimeout', function () {\n            expect(this.clearTimeout).toHaveBeenCalledWith(this.update)\n        });\n\n        describe('when the clock is present', function () {\n            // it('parses the time into a date object', function () {\n            //     this.data.and.returnValue('fake date object');\n            //     WebsiteOne.EventCountdown.init();\n\n            //     expect(this.dateParse).toHaveBeenCalledWith('fake date object');\n            // });\n            it('parses the event time, url, and name from the html', function () {\n                this.data.calls.reset();\n                WebsiteOne.EventCountdown.init();\n\n                // expect(this.data).toHaveBeenCalledWith(this.countdownClock[0], \"event-time\");\n                // expect(this.data).toHaveBeenCalledWith(this.countdownClock[0], \"event-url\");\n                // expect(this.data).toHaveBeenCalledWith(this.countdownClock[0], \"event-name\");\n                // expect(this.data).toHaveBeenCalledWith(this.countdownClock[0], \"event-duration\");\n            });\n\n            it('calls update', function () {\n                this.update.calls.reset();\n                WebsiteOne.EventCountdown.init();\n                expect(this.update).toHaveBeenCalled()\n            });\n        });\n        describe('when the clock is absent', function () {\n            it('does not bother parsing the DOM', function () {\n                this.data.calls.reset();\n                setFixtures(); // clears all html\n                WebsiteOne.EventCountdown.init();\n                expect(this.data).not.toHaveBeenCalled()\n            });\n        });\n    });\n\n    describe('update(): it calculates the time to the event', function () {\n        var event, floor;\n\n        beforeEach(function () {\n            event = new Date;\n            event.setMinutes(event.getMinutes() + 30); // event in 30 mins\n            this.dateParse.and.returnValue(event);\n            WebsiteOne.EventCountdown.init();\n            floor = spyOn(Math, 'floor').and.callThrough();\n            WebsiteOne.EventCountdown.update();\n        });\n\n        it('in seconds', function () {\n            expect(floor.calls.argsFor([0])).toBeCloseTo(1800, 1);  // +/- 10%\n        });\n\n        it('in minutes', function () {\n            expect(floor.calls.argsFor([1])).toBeCloseTo(30, 1)\n        });\n\n        it('in hours', function () {\n            expect(floor.calls.argsFor([2])).toBeCloseTo(0.5, 1)\n        });\n\n        it('displays hours in the countdown only if there are any', function () {\n            var regex = /^\\d{2}:\\d{2}:\\d{2} /;\n            expect(regex.test(this.countdownClock.text())).toBeFalsy();\n            event.setMinutes(event.getMinutes() + 60); // event in 90 mins\n            this.dateParse.and.returnValue(event);\n            WebsiteOne.EventCountdown.init();\n            WebsiteOne.EventCountdown.update();\n            expect(regex.test(this.countdownClock.text())).toBeTruthy()\n        });\n\n        it('otherwise only displays minutes and seconds in the countdown', function () {\n            var regex = /^\\d{2}:\\d{2} /;\n            expect(regex.test(this.countdownClock.text())).toBeTruthy()\n        });\n\n        it('displays a banner after it has started', function () {\n            floor.and.returnValue(0);\n            WebsiteOne.EventCountdown.update();\n            expect(this.countdownClock.text()).toEqual('Homecoming is live!')\n        });\n\n        it('recalculates the time every second', function () {\n            var setTimeout = spyOn(window, 'setTimeout');\n            WebsiteOne.EventCountdown.update();\n            expect(setTimeout).toHaveBeenCalledWith(this.update, 1000);\n        });\n\n        it('reports that the event has ended after duration is up and does not recalculate time', function() {\n          var setTimeout = spyOn(window, 'setTimeout');\n          event.setMinutes(event.getMinutes() - 60); // event just ended\n          WebsiteOne.EventCountdown.update();\n          expect(setTimeout).not.toHaveBeenCalled()\n          expect(this.countdownClock.text()).toEqual('Homecoming has ended.')\n        });\n\n        it('should still work calling it through the window object', function() {\n            // implicitly binds the call to the window object\n            expect(this.update).not.toThrow();\n        });\n    });\n\n    describe('format()', function() {\n        it('pads numbers less than 10 with a zero', function() {\n            expect(WebsiteOne.EventCountdown.format(9)).toEqual('09');\n            expect(WebsiteOne.EventCountdown.format(0)).toEqual('00');\n        });\n\n        it('converts type from number to string', function() {\n            expect(WebsiteOne.EventCountdown.format(9)).toEqual('09');\n            expect(WebsiteOne.EventCountdown.format(10)).toEqual('10');\n            expect(WebsiteOne.EventCountdown.format(-2)).toEqual('-2'); // less bad at least\n\n        });\n    });\n});\n"
  },
  {
    "path": "spec/javascripts/event_instances.js",
    "content": "describe('RefreshHangouts', function() {\n  beforeEach(function() {\n    setFixtures(sandbox({ id: 'hg-container' }));\n    this.app = new window.EventInstancesUtils();\n  });\n\n  /**it('calls refresh every 10 sec', function() {\n    spyOn(window, 'setInterval');\n    spyOn(this.app, 'ajaxRequest');\n    this.app.init();\n    expect(window.setInterval).toHaveBeenCalledWith(this.app.ajaxRequest, 10000);\n  }); */\n\n  it('replaces hg-management section if data has updated', function() {\n    spyOn(this.app, 'bindEvents');\n    this.app.container = 'old data';\n    this.app.updateHangoutsData('new data');\n    expect($('#hg-container').text()).toEqual('new data');\n    expect(this.app.bindEvents).toHaveBeenCalled();\n  });\n\n  it('does not replace hg-management section if data has not updated', function() {\n    spyOn(this.app, 'bindEvents');\n    this.app.container = 'new data';\n    this.app.updateHangoutsData('new data');\n    expect($('#hg-container').text()).toEqual('');\n  });\n\n  it('clears refresh repeat if href changes', function() {\n    spyOn(window, 'clearInterval');\n    this.app.href = 'new_href';\n    this.app.ajaxRequest();\n    expect(window.clearInterval).toHaveBeenCalledWith(this.app.intervalId);\n  });\n\n});\n"
  },
  {
    "path": "spec/javascripts/flash_spec.js",
    "content": "describe('WebsiteOne FlashMessages module', function() {\n  var timeoutSpy;\n\n  beforeEach(function() {\n    // immediately execute timeouts\n    timeoutSpy = spyOn(window, 'setTimeout').and.callFake(function(func) {\n      func();\n    });\n\n    reloadModule('FlashMessages');\n  });\n\n  it('should create a new WebsiteOne module called \"FlashMessages\"', function() {\n    expect(window.WebsiteOne.FlashMessages).toBeDefined();\n  });\n\n  describe('with a flash message in the page', function() {\n    var fadeSpy;\n\n    beforeEach(function() {\n      fadeSpy = spyOn($.fn, 'fadeTo').and.callThrough();\n      setFixtures(sandbox({\n        id: 'flash-container'\n      }));\n      $(document).trigger('page:load');\n    });\n\n    it('should trigger the flash reaction event after 5 seconds', function() {\n      // it appears jasmine uses window.setTimeout internally, so run this again manually\n      $(document).trigger('page:load');\n      // checks second argument to window.setTimeout\n      expect(timeoutSpy).toHaveBeenCalledWith(jasmine.anything(), 5000)\n    });\n\n    it('should cause the flash to fade over 0.5 seconds', function() {\n      expect(fadeSpy).toHaveBeenCalled();\n    });\n  });\n});\n"
  },
  {
    "path": "spec/javascripts/helpers/.gitkeep",
    "content": ""
  },
  {
    "path": "spec/javascripts/helpers/jasmine-jquery.js",
    "content": "/*!\nJasmine-jQuery: a set of jQuery helpers for Jasmine tests.\n\nVersion 2.1.1\n\nhttps://github.com/velesin/jasmine-jquery\n\nCopyright (c) 2010-2014 Wojciech Zawistowski, Travis Jeffery\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\nLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\nOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\nWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n**/\n(function (root, factory) {\n  if (typeof module !== 'undefined' && module.exports && typeof exports !== 'undefined') {\n    factory(root, root.jasmine, require('jquery'));\n  } else {\n    factory(root, root.jasmine, root.jQuery);\n  }\n}((function() {return this; })(), function (window, jasmine, $) { \"use strict\";\n\n  jasmine.spiedEventsKey = function (selector, eventName) {\n    return [$(selector).selector, eventName].toString()\n  }\n\n  jasmine.getFixtures = function () {\n    return jasmine.currentFixtures_ = jasmine.currentFixtures_ || new jasmine.Fixtures()\n  }\n\n  jasmine.getStyleFixtures = function () {\n    return jasmine.currentStyleFixtures_ = jasmine.currentStyleFixtures_ || new jasmine.StyleFixtures()\n  }\n\n  jasmine.Fixtures = function () {\n    this.containerId = 'jasmine-fixtures'\n    this.fixturesCache_ = {}\n    this.fixturesPath = 'spec/javascripts/fixtures'\n  }\n\n  jasmine.Fixtures.prototype.set = function (html) {\n    this.cleanUp()\n    return this.createContainer_(html)\n  }\n\n  jasmine.Fixtures.prototype.appendSet= function (html) {\n    this.addToContainer_(html)\n  }\n\n  jasmine.Fixtures.prototype.preload = function () {\n    this.read.apply(this, arguments)\n  }\n\n  jasmine.Fixtures.prototype.load = function () {\n    this.cleanUp()\n    this.createContainer_(this.read.apply(this, arguments))\n  }\n\n  jasmine.Fixtures.prototype.appendLoad = function () {\n    this.addToContainer_(this.read.apply(this, arguments))\n  }\n\n  jasmine.Fixtures.prototype.read = function () {\n    var htmlChunks = []\n      , fixtureUrls = arguments\n\n    for(var urlCount = fixtureUrls.length, urlIndex = 0; urlIndex < urlCount; urlIndex++) {\n      htmlChunks.push(this.getFixtureHtml_(fixtureUrls[urlIndex]))\n    }\n\n    return htmlChunks.join('')\n  }\n\n  jasmine.Fixtures.prototype.clearCache = function () {\n    this.fixturesCache_ = {}\n  }\n\n  jasmine.Fixtures.prototype.cleanUp = function () {\n    $('#' + this.containerId).remove()\n  }\n\n  jasmine.Fixtures.prototype.sandbox = function (attributes) {\n    var attributesToSet = attributes || {}\n    return $('<div id=\"sandbox\" />').attr(attributesToSet)\n  }\n\n  jasmine.Fixtures.prototype.createContainer_ = function (html) {\n    var container = $('<div>')\n    .attr('id', this.containerId)\n    .html(html)\n\n    $(document.body).append(container)\n    return container\n  }\n\n  jasmine.Fixtures.prototype.addToContainer_ = function (html){\n    var container = $(document.body).find('#'+this.containerId).append(html)\n\n    if (!container.length) {\n      this.createContainer_(html)\n    }\n  }\n\n  jasmine.Fixtures.prototype.getFixtureHtml_ = function (url) {\n    if (typeof this.fixturesCache_[url] === 'undefined') {\n      this.loadFixtureIntoCache_(url)\n    }\n    return this.fixturesCache_[url]\n  }\n\n  jasmine.Fixtures.prototype.loadFixtureIntoCache_ = function (relativeUrl) {\n    var self = this\n      , url = this.makeFixtureUrl_(relativeUrl)\n      , htmlText = ''\n      , request = $.ajax({\n        async: false, // must be synchronous to guarantee that no tests are run before fixture is loaded\n        cache: false,\n        url: url,\n        dataType: 'html',\n        success: function (data, status, $xhr) {\n          htmlText = $xhr.responseText\n        }\n      }).fail(function ($xhr, status, err) {\n          throw new Error('Fixture could not be loaded: ' + url + ' (status: ' + status + ', message: ' + err.message + ')')\n      })\n\n      var scripts = $($.parseHTML(htmlText, true)).find('script[src]') || [];\n\n      scripts.each(function(){\n        $.ajax({\n            async: false, // must be synchronous to guarantee that no tests are run before fixture is loaded\n            cache: false,\n            dataType: 'script',\n            url: $(this).attr('src'),\n            success: function (data, status, $xhr) {\n                htmlText += '<script>' + $xhr.responseText + '</script>'\n            },\n            error: function ($xhr, status, err) {\n                throw new Error('Script could not be loaded: ' + url + ' (status: ' + status + ', message: ' + err.message + ')')\n            }\n        });\n      })\n\n      self.fixturesCache_[relativeUrl] = htmlText;\n  }\n\n  jasmine.Fixtures.prototype.makeFixtureUrl_ = function (relativeUrl){\n    return this.fixturesPath.match('/$') ? this.fixturesPath + relativeUrl : this.fixturesPath + '/' + relativeUrl\n  }\n\n  jasmine.Fixtures.prototype.proxyCallTo_ = function (methodName, passedArguments) {\n    return this[methodName].apply(this, passedArguments)\n  }\n\n\n  jasmine.StyleFixtures = function () {\n    this.fixturesCache_ = {}\n    this.fixturesNodes_ = []\n    this.fixturesPath = 'spec/javascripts/fixtures'\n  }\n\n  jasmine.StyleFixtures.prototype.set = function (css) {\n    this.cleanUp()\n    this.createStyle_(css)\n  }\n\n  jasmine.StyleFixtures.prototype.appendSet = function (css) {\n    this.createStyle_(css)\n  }\n\n  jasmine.StyleFixtures.prototype.preload = function () {\n    this.read_.apply(this, arguments)\n  }\n\n  jasmine.StyleFixtures.prototype.load = function () {\n    this.cleanUp()\n    this.createStyle_(this.read_.apply(this, arguments))\n  }\n\n  jasmine.StyleFixtures.prototype.appendLoad = function () {\n    this.createStyle_(this.read_.apply(this, arguments))\n  }\n\n  jasmine.StyleFixtures.prototype.cleanUp = function () {\n    while(this.fixturesNodes_.length) {\n      this.fixturesNodes_.pop().remove()\n    }\n  }\n\n  jasmine.StyleFixtures.prototype.createStyle_ = function (html) {\n    var styleText = $('<div></div>').html(html).text()\n      , style = $('<style>' + styleText + '</style>')\n\n    this.fixturesNodes_.push(style)\n    $('head').append(style)\n  }\n\n  jasmine.StyleFixtures.prototype.clearCache = jasmine.Fixtures.prototype.clearCache\n  jasmine.StyleFixtures.prototype.read_ = jasmine.Fixtures.prototype.read\n  jasmine.StyleFixtures.prototype.getFixtureHtml_ = jasmine.Fixtures.prototype.getFixtureHtml_\n  jasmine.StyleFixtures.prototype.loadFixtureIntoCache_ = jasmine.Fixtures.prototype.loadFixtureIntoCache_\n  jasmine.StyleFixtures.prototype.makeFixtureUrl_ = jasmine.Fixtures.prototype.makeFixtureUrl_\n  jasmine.StyleFixtures.prototype.proxyCallTo_ = jasmine.Fixtures.prototype.proxyCallTo_\n\n  jasmine.getJSONFixtures = function () {\n    return jasmine.currentJSONFixtures_ = jasmine.currentJSONFixtures_ || new jasmine.JSONFixtures()\n  }\n\n  jasmine.JSONFixtures = function () {\n    this.fixturesCache_ = {}\n    this.fixturesPath = 'spec/javascripts/fixtures/json'\n  }\n\n  jasmine.JSONFixtures.prototype.load = function () {\n    this.read.apply(this, arguments)\n    return this.fixturesCache_\n  }\n\n  jasmine.JSONFixtures.prototype.read = function () {\n    var fixtureUrls = arguments\n\n    for(var urlCount = fixtureUrls.length, urlIndex = 0; urlIndex < urlCount; urlIndex++) {\n      this.getFixtureData_(fixtureUrls[urlIndex])\n    }\n\n    return this.fixturesCache_\n  }\n\n  jasmine.JSONFixtures.prototype.clearCache = function () {\n    this.fixturesCache_ = {}\n  }\n\n  jasmine.JSONFixtures.prototype.getFixtureData_ = function (url) {\n    if (!this.fixturesCache_[url]) this.loadFixtureIntoCache_(url)\n    return this.fixturesCache_[url]\n  }\n\n  jasmine.JSONFixtures.prototype.loadFixtureIntoCache_ = function (relativeUrl) {\n    var self = this\n      , url = this.fixturesPath.match('/$') ? this.fixturesPath + relativeUrl : this.fixturesPath + '/' + relativeUrl\n\n    $.ajax({\n      async: false, // must be synchronous to guarantee that no tests are run before fixture is loaded\n      cache: false,\n      dataType: 'json',\n      url: url,\n      success: function (data) {\n        self.fixturesCache_[relativeUrl] = data\n      },\n      error: function ($xhr, status, err) {\n        throw new Error('JSONFixture could not be loaded: ' + url + ' (status: ' + status + ', message: ' + err.message + ')')\n      }\n    })\n  }\n\n  jasmine.JSONFixtures.prototype.proxyCallTo_ = function (methodName, passedArguments) {\n    return this[methodName].apply(this, passedArguments)\n  }\n\n  jasmine.jQuery = function () {}\n\n  jasmine.jQuery.browserTagCaseIndependentHtml = function (html) {\n    return $('<div/>').append(html).html()\n  }\n\n  jasmine.jQuery.elementToString = function (element) {\n    return $(element).map(function () { return this.outerHTML; }).toArray().join(', ')\n  }\n\n  var data = {\n      spiedEvents: {}\n    , handlers:    []\n  }\n\n  jasmine.jQuery.events = {\n    spyOn: function (selector, eventName) {\n      var handler = function (e) {\n        var calls = (typeof data.spiedEvents[jasmine.spiedEventsKey(selector, eventName)] !== 'undefined') ? data.spiedEvents[jasmine.spiedEventsKey(selector, eventName)].calls : 0\n        data.spiedEvents[jasmine.spiedEventsKey(selector, eventName)] = {\n          args: jasmine.util.argsToArray(arguments),\n          calls: ++calls\n        }\n      }\n\n      $(selector).on(eventName, handler)\n      data.handlers.push(handler)\n\n      return {\n        selector: selector,\n        eventName: eventName,\n        handler: handler,\n        reset: function (){\n          delete data.spiedEvents[jasmine.spiedEventsKey(selector, eventName)]\n        },\n        calls: {\n          count: function () {\n              return data.spiedEvents[jasmine.spiedEventsKey(selector, eventName)] ?\n                data.spiedEvents[jasmine.spiedEventsKey(selector, eventName)].calls : 0;\n          },\n          any: function () {\n              return data.spiedEvents[jasmine.spiedEventsKey(selector, eventName)] ?\n                !!data.spiedEvents[jasmine.spiedEventsKey(selector, eventName)].calls : false;\n          }\n        }\n      }\n    },\n\n    args: function (selector, eventName) {\n      var actualArgs = data.spiedEvents[jasmine.spiedEventsKey(selector, eventName)].args\n\n      if (!actualArgs) {\n        throw \"There is no spy for \" + eventName + \" on \" + selector.toString() + \". Make sure to create a spy using spyOnEvent.\"\n      }\n\n      return actualArgs\n    },\n\n    wasTriggered: function (selector, eventName) {\n      return !!(data.spiedEvents[jasmine.spiedEventsKey(selector, eventName)])\n    },\n\n    wasTriggeredWith: function (selector, eventName, expectedArgs, util, customEqualityTesters) {\n      var actualArgs = jasmine.jQuery.events.args(selector, eventName).slice(1)\n\n      if (Object.prototype.toString.call(expectedArgs) !== '[object Array]')\n        actualArgs = actualArgs[0]\n\n      return util.equals(actualArgs, expectedArgs, customEqualityTesters)\n    },\n\n    wasPrevented: function (selector, eventName) {\n      var spiedEvent = data.spiedEvents[jasmine.spiedEventsKey(selector, eventName)]\n        , args = (jasmine.util.isUndefined(spiedEvent)) ? {} : spiedEvent.args\n        , e = args ? args[0] : undefined\n\n      return e && e.isDefaultPrevented()\n    },\n\n    wasStopped: function (selector, eventName) {\n      var spiedEvent = data.spiedEvents[jasmine.spiedEventsKey(selector, eventName)]\n        , args = (jasmine.util.isUndefined(spiedEvent)) ? {} : spiedEvent.args\n        , e = args ? args[0] : undefined\n\n      return e && e.isPropagationStopped()\n    },\n\n    cleanUp: function () {\n      data.spiedEvents = {}\n      data.handlers    = []\n    }\n  }\n\n  var hasProperty = function (actualValue, expectedValue) {\n    if (expectedValue === undefined)\n      return actualValue !== undefined\n\n    return actualValue === expectedValue\n  }\n\n  beforeEach(function () {\n    jasmine.addMatchers({\n      toHaveClass: function () {\n        return {\n          compare: function (actual, className) {\n            return { pass: $(actual).hasClass(className) }\n          }\n        }\n      },\n\n      toHaveCss: function () {\n        return {\n          compare: function (actual, css) {\n            var stripCharsRegex = /[\\s;\\\"\\']/g\n            for (var prop in css) {\n              var value = css[prop]\n              // see issue #147 on gh\n              ;if ((value === 'auto') && ($(actual).get(0).style[prop] === 'auto')) continue\n              var actualStripped = $(actual).css(prop).replace(stripCharsRegex, '')\n              var valueStripped = value.replace(stripCharsRegex, '')\n              if (actualStripped !== valueStripped) return { pass: false }\n            }\n            return { pass: true }\n          }\n        }\n      },\n\n      toBeVisible: function () {\n        return {\n          compare: function (actual) {\n            return { pass: $(actual).is(':visible') }\n          }\n        }\n      },\n\n      toBeHidden: function () {\n        return {\n          compare: function (actual) {\n            return { pass: $(actual).is(':hidden') }\n          }\n        }\n      },\n\n      toBeSelected: function () {\n        return {\n          compare: function (actual) {\n            return { pass: $(actual).is(':selected') }\n          }\n        }\n      },\n\n      toBeChecked: function () {\n        return {\n          compare: function (actual) {\n            return { pass: $(actual).is(':checked') }\n          }\n        }\n      },\n\n      toBeEmpty: function () {\n        return {\n          compare: function (actual) {\n            return { pass: $(actual).is(':empty') }\n          }\n        }\n      },\n\n      toBeInDOM: function () {\n        return {\n          compare: function (actual) {\n            return { pass: $.contains(document.documentElement, $(actual)[0]) }\n          }\n        }\n      },\n\n      toExist: function () {\n        return {\n          compare: function (actual) {\n            return { pass: $(actual).length }\n          }\n        }\n      },\n\n      toHaveLength: function () {\n        return {\n          compare: function (actual, length) {\n            return { pass: $(actual).length === length }\n          }\n        }\n      },\n\n      toHaveAttr: function () {\n        return {\n          compare: function (actual, attributeName, expectedAttributeValue) {\n            return { pass: hasProperty($(actual).attr(attributeName), expectedAttributeValue) }\n          }\n        }\n      },\n\n      toHaveProp: function () {\n        return {\n          compare: function (actual, propertyName, expectedPropertyValue) {\n            return { pass: hasProperty($(actual).prop(propertyName), expectedPropertyValue) }\n          }\n        }\n      },\n\n      toHaveId: function () {\n        return {\n          compare: function (actual, id) {\n            return { pass: $(actual).attr('id') == id }\n          }\n        }\n      },\n\n      toHaveHtml: function () {\n        return {\n          compare: function (actual, html) {\n            return { pass: $(actual).html() == jasmine.jQuery.browserTagCaseIndependentHtml(html) }\n          }\n        }\n      },\n\n      toContainHtml: function () {\n        return {\n          compare: function (actual, html) {\n            var actualHtml = $(actual).html()\n              , expectedHtml = jasmine.jQuery.browserTagCaseIndependentHtml(html)\n\n            return { pass: (actualHtml.indexOf(expectedHtml) >= 0) }\n          }\n        }\n      },\n\n      toHaveText: function () {\n        return {\n          compare: function (actual, text) {\n            var actualText = $(actual).text()\n            var trimmedText = $.trim(actualText)\n\n            if (text && $.isFunction(text.test)) {\n              return { pass: text.test(actualText) || text.test(trimmedText) }\n            } else {\n              return { pass: (actualText == text || trimmedText == text) }\n            }\n          }\n        }\n      },\n\n      toContainText: function () {\n        return {\n          compare: function (actual, text) {\n            var trimmedText = $.trim($(actual).text())\n\n            if (text && $.isFunction(text.test)) {\n              return { pass: text.test(trimmedText) }\n            } else {\n              return { pass: trimmedText.indexOf(text) != -1 }\n            }\n          }\n        }\n      },\n\n      toHaveValue: function () {\n        return {\n          compare: function (actual, value) {\n            return { pass: $(actual).val() === value }\n          }\n        }\n      },\n\n      toHaveData: function () {\n        return {\n          compare: function (actual, key, expectedValue) {\n            return { pass: hasProperty($(actual).data(key), expectedValue) }\n          }\n        }\n      },\n\n      toContainElement: function () {\n        return {\n          compare: function (actual, selector) {\n            return { pass: $(actual).find(selector).length }\n          }\n        }\n      },\n\n      toBeMatchedBy: function () {\n        return {\n          compare: function (actual, selector) {\n            return { pass: $(actual).filter(selector).length }\n          }\n        }\n      },\n\n      toBeDisabled: function () {\n        return {\n          compare: function (actual, selector) {\n            return { pass: $(actual).is(':disabled') }\n          }\n        }\n      },\n\n      toBeFocused: function (selector) {\n        return {\n          compare: function (actual, selector) {\n            return { pass: $(actual)[0] === $(actual)[0].ownerDocument.activeElement }\n          }\n        }\n      },\n\n      toHandle: function () {\n        return {\n          compare: function (actual, event) {\n            if ( !actual || actual.length === 0 ) return { pass: false };\n            var events = $._data($(actual).get(0), \"events\")\n\n            if (!events || !event || typeof event !== \"string\") {\n              return { pass: false }\n            }\n\n            var namespaces = event.split(\".\")\n              , eventType = namespaces.shift()\n              , sortedNamespaces = namespaces.slice(0).sort()\n              , namespaceRegExp = new RegExp(\"(^|\\\\.)\" + sortedNamespaces.join(\"\\\\.(?:.*\\\\.)?\") + \"(\\\\.|$)\")\n\n            if (events[eventType] && namespaces.length) {\n              for (var i = 0; i < events[eventType].length; i++) {\n                var namespace = events[eventType][i].namespace\n\n                if (namespaceRegExp.test(namespace))\n                  return { pass: true }\n              }\n            } else {\n              return { pass: (events[eventType] && events[eventType].length > 0) }\n            }\n\n            return { pass: false }\n          }\n        }\n      },\n\n      toHandleWith: function () {\n        return {\n          compare: function (actual, eventName, eventHandler) {\n            if ( !actual || actual.length === 0 ) return { pass: false };\n            var normalizedEventName = eventName.split('.')[0]\n              , stack = $._data($(actual).get(0), \"events\")[normalizedEventName]\n\n            for (var i = 0; i < stack.length; i++) {\n              if (stack[i].handler == eventHandler) return { pass: true }\n            }\n\n            return { pass: false }\n          }\n        }\n      },\n\n      toHaveBeenTriggeredOn: function () {\n        return {\n          compare: function (actual, selector) {\n            var result = { pass: jasmine.jQuery.events.wasTriggered(selector, actual) }\n\n            result.message = result.pass ?\n              \"Expected event \" + $(actual) + \" not to have been triggered on \" + selector :\n              \"Expected event \" + $(actual) + \" to have been triggered on \" + selector\n\n            return result;\n          }\n        }\n      },\n\n      toHaveBeenTriggered: function (){\n        return {\n          compare: function (actual) {\n            var eventName = actual.eventName\n              , selector = actual.selector\n              , result = { pass: jasmine.jQuery.events.wasTriggered(selector, eventName) }\n\n            result.message = result.pass ?\n            \"Expected event \" + eventName + \" not to have been triggered on \" + selector :\n              \"Expected event \" + eventName + \" to have been triggered on \" + selector\n\n            return result\n          }\n        }\n      },\n\n      toHaveBeenTriggeredOnAndWith: function (j$, customEqualityTesters) {\n        return {\n          compare: function (actual, selector, expectedArgs) {\n            var wasTriggered = jasmine.jQuery.events.wasTriggered(selector, actual)\n              , result = { pass: wasTriggered && jasmine.jQuery.events.wasTriggeredWith(selector, actual, expectedArgs, j$, customEqualityTesters) }\n\n              if (wasTriggered) {\n                var actualArgs = jasmine.jQuery.events.args(selector, actual, expectedArgs)[1]\n                result.message = result.pass ?\n                  \"Expected event \" + actual + \" not to have been triggered with \" + jasmine.pp(expectedArgs) + \" but it was triggered with \" + jasmine.pp(actualArgs) :\n                  \"Expected event \" + actual + \" to have been triggered with \" + jasmine.pp(expectedArgs) + \"  but it was triggered with \" + jasmine.pp(actualArgs)\n\n              } else {\n                // todo check on this\n                result.message = result.pass ?\n                  \"Expected event \" + actual + \" not to have been triggered on \" + selector :\n                  \"Expected event \" + actual + \" to have been triggered on \" + selector\n              }\n\n              return result\n          }\n        }\n      },\n\n      toHaveBeenPreventedOn: function () {\n        return {\n          compare: function (actual, selector) {\n            var result = { pass: jasmine.jQuery.events.wasPrevented(selector, actual) }\n\n            result.message = result.pass ?\n              \"Expected event \" + actual + \" not to have been prevented on \" + selector :\n              \"Expected event \" + actual + \" to have been prevented on \" + selector\n\n            return result\n          }\n        }\n      },\n\n      toHaveBeenPrevented: function () {\n        return {\n          compare: function (actual) {\n            var eventName = actual.eventName\n              , selector = actual.selector\n              , result = { pass: jasmine.jQuery.events.wasPrevented(selector, eventName) }\n\n            result.message = result.pass ?\n              \"Expected event \" + eventName + \" not to have been prevented on \" + selector :\n              \"Expected event \" + eventName + \" to have been prevented on \" + selector\n\n            return result\n          }\n        }\n      },\n\n      toHaveBeenStoppedOn: function () {\n        return {\n          compare: function (actual, selector) {\n            var result = { pass: jasmine.jQuery.events.wasStopped(selector, actual) }\n\n            result.message = result.pass ?\n              \"Expected event \" + actual + \" not to have been stopped on \" + selector :\n              \"Expected event \" + actual + \" to have been stopped on \" + selector\n\n            return result;\n          }\n        }\n      },\n\n      toHaveBeenStopped: function () {\n        return {\n          compare: function (actual) {\n            var eventName = actual.eventName\n              , selector = actual.selector\n              , result = { pass: jasmine.jQuery.events.wasStopped(selector, eventName) }\n\n            result.message = result.pass ?\n              \"Expected event \" + eventName + \" not to have been stopped on \" + selector :\n              \"Expected event \" + eventName + \" to have been stopped on \" + selector\n\n            return result\n          }\n        }\n      }\n    })\n\n    jasmine.getEnv().addCustomEqualityTester(function(a, b) {\n     if (a && b) {\n       if (a instanceof $ || jasmine.isDomNode(a)) {\n         var $a = $(a)\n\n         if (b instanceof $)\n           return $a.length == b.length && $a.is(b)\n\n         return $a.is(b);\n       }\n\n       if (b instanceof $ || jasmine.isDomNode(b)) {\n         var $b = $(b)\n\n         if (a instanceof $)\n           return a.length == $b.length && $b.is(a)\n\n         return $b.is(a);\n       }\n     }\n    })\n\n    jasmine.getEnv().addCustomEqualityTester(function (a, b) {\n     if (a instanceof $ && b instanceof $ && a.size() == b.size())\n        return a.is(b)\n    })\n  })\n\n  afterEach(function () {\n    jasmine.getFixtures().cleanUp()\n    jasmine.getStyleFixtures().cleanUp()\n    jasmine.jQuery.events.cleanUp()\n  })\n\n  window.readFixtures = function () {\n    return jasmine.getFixtures().proxyCallTo_('read', arguments)\n  }\n\n  window.preloadFixtures = function () {\n    jasmine.getFixtures().proxyCallTo_('preload', arguments)\n  }\n\n  window.loadFixtures = function () {\n    jasmine.getFixtures().proxyCallTo_('load', arguments)\n  }\n\n  window.appendLoadFixtures = function () {\n    jasmine.getFixtures().proxyCallTo_('appendLoad', arguments)\n  }\n\n  window.setFixtures = function (html) {\n    return jasmine.getFixtures().proxyCallTo_('set', arguments)\n  }\n\n  window.appendSetFixtures = function () {\n    jasmine.getFixtures().proxyCallTo_('appendSet', arguments)\n  }\n\n  window.sandbox = function (attributes) {\n    return jasmine.getFixtures().sandbox(attributes)\n  }\n\n  window.spyOnEvent = function (selector, eventName) {\n    return jasmine.jQuery.events.spyOn(selector, eventName)\n  }\n\n  window.preloadStyleFixtures = function () {\n    jasmine.getStyleFixtures().proxyCallTo_('preload', arguments)\n  }\n\n  window.loadStyleFixtures = function () {\n    jasmine.getStyleFixtures().proxyCallTo_('load', arguments)\n  }\n\n  window.appendLoadStyleFixtures = function () {\n    jasmine.getStyleFixtures().proxyCallTo_('appendLoad', arguments)\n  }\n\n  window.setStyleFixtures = function (html) {\n    jasmine.getStyleFixtures().proxyCallTo_('set', arguments)\n  }\n\n  window.appendSetStyleFixtures = function (html) {\n    jasmine.getStyleFixtures().proxyCallTo_('appendSet', arguments)\n  }\n\n  window.loadJSONFixtures = function () {\n    return jasmine.getJSONFixtures().proxyCallTo_('load', arguments)\n  }\n\n  window.getJSONFixture = function (url) {\n    return jasmine.getJSONFixtures().proxyCallTo_('read', arguments)[url]\n  }\n}));\n"
  },
  {
    "path": "spec/javascripts/helpers/spec_helper.js",
    "content": "beforeEach(function() {\n  // clears the WSO module's state\n  WebsiteOne._clear();\n  WebsiteOne._newPageLoaded = true;\n});\n\nfunction reloadModule(name) {\n  WebsiteOne._restoreModule(name);\n}\n"
  },
  {
    "path": "spec/javascripts/support/jasmine-browser.json",
    "content": "{\n  \"srcDir\": \"public/javascripts\",\n  \"srcFiles\": [\n    \"application-*.js\"\n  ],\n  \"specDir\": \"spec/javascripts\",\n  \"specFiles\": [\n    \"**/*[sS]pec.?(m)js\"\n  ],\n  \"helpers\": [\n    \"helpers/**/*.?(m)js\"\n  ],\n  // ...\n}"
  },
  {
    "path": "spec/javascripts/support/jasmine.yml",
    "content": "# src_files\n#\n# Return an array of filepaths relative to src_dir to include before jasmine specs.\n# Default: []\n#\n# EXAMPLE:\n#\n# src_files:\n#   - lib/source1.js\n#   - lib/source2.js\n#   - dist/**/*.js\n#\nsrc_files:\n  - assets/application.js\n  - assets/projects.js\n  - assets/event_instances.js\n  - assets/events.js\n  - assets/jasmine-jquery.js\n\n\n# stylesheets\n#\n# Return an array of stylesheet filepaths relative to src_dir to include before jasmine specs.\n# Default: []\n#\n# EXAMPLE:\n#\n# stylesheets:\n#   - css/style.css\n#   - stylesheets/*.css\n#\nstylesheets:\n  - assets/stylesheets/**/*.css\n\n# helpers\n#\n# Return an array of filepaths relative to spec_dir to include before jasmine specs.\n# Default: [\"helpers/**/*.js\"]\n#\n# EXAMPLE:\n#\n# helpers:\n#   - helpers/**/*.js\n#\nhelpers:\n  - 'helpers/**/*.js'\n\n# spec_files\n#\n# Return an array of filepaths relative to spec_dir to include.\n# Default: [\"**/*[sS]pec.js\"]\n#\n# EXAMPLE:\n#\n# spec_files:\n#   - **/*[sS]pec.js\n#\nspec_files:\n  - '**/*[sS]pec.js'\n  - '**/*[sS]pec.js.coffee'\n\n# src_dir\n#\n# Source directory path. Your src_files must be returned relative to this path. Will use root if left blank.\n# Default: project root\n#\n# EXAMPLE:\n#\n# src_dir: public\n#\nsrc_dir:\n\n# spec_dir\n#\n# Spec directory path. Your spec_files must be returned relative to this path.\n# Default: spec/javascripts\n#\n# EXAMPLE:\n#\n# spec_dir: spec/javascripts\n#\nspec_dir: spec/javascripts\n\n# spec_helper\n#\n# Ruby file that Jasmine server will require before starting.\n# Returned relative to your root path\n# Default spec/javascripts/support/jasmine_helper.rb\n#\n# EXAMPLE:\n#\n# spec_helper: spec/javascripts/support/jasmine_helper.rb\n#\nspec_helper: spec/javascripts/support/jasmine_helper.rb\n\n# boot_dir\n#\n# Boot directory path. Your boot_files must be returned relative to this path.\n# Default: Built in boot file\n#\n# EXAMPLE:\n#\n# boot_dir: spec/javascripts/support/boot\n#\nboot_dir:\n\n# boot_files\n#\n# Return an array of filepaths relative to boot_dir to include in order to boot Jasmine\n# Default: Built in boot file\n#\n# EXAMPLE\n#\n# boot_files:\n#   - '**/*.js'\n#\nboot_files:\n\n# rack_options\n#\n# Extra options to be passed to the rack server\n# by default, Port and AccessLog are passed.\n#\n# This is an advanced options, and left empty by default\n#\n# EXAMPLE\n#\n# rack_options:\n#   server: 'thin'\n\n"
  },
  {
    "path": "spec/javascripts/support/jasmine_helper.rb",
    "content": "# frozen_string_literal: true\n\n# Use this file to set/override Jasmine configuration options\n# You can remove it if you don't need it.\n# This file is loaded *after* jasmine.yml is interpreted.\n#\n# Example: using a different boot file.\n# Jasmine.configure do |config|\n#   config.boot_dir = '/absolute/path/to/boot_dir'\n#   config.boot_files = lambda { ['/absolute/path/to/boot_dir/file.js'] }\n# end\n#\n\n# Without this, WebMock blocks \"rake jasmine:ci\" for travis\nmodule Jasmine\n  class Config\n    require 'webmock'\n    WebMock.disable_net_connect!(allow_localhost: true)\n  end\nend\n\n# Example: prevent PhantomJS auto install, uses PhantomJS already on your path.\n# Jasmine.configure do |config|\n#   config.prevent_phantomjs_auto_install = true\n# end\n"
  },
  {
    "path": "spec/javascripts/users_spec.js",
    "content": "describe('Users', function() {\n  beforeEach(function (){\n    setFixtures(sandbox({ id: 'user-filter' }));\n    appendSetFixtures('<ul class=\"media-list\"><li id=\"bob\">Bob Jones</li><li id=\"alice\">Alice Drew</li></ul>');\n\n  reloadModule('Users');\n  WebsiteOne.Users.init();\n  });\n\n  it('prevents submiting the filter form on Enter key', function() {\n    var submitSpy = jasmine.createSpy('submitSpy')\n    $(document).on('submit', submitSpy);\n\n    $('#user-filter').trigger('keydown');\n\n    expect(submitSpy).not.toHaveBeenCalled();\n  });\n\n  it('shows users if contains serach string with small letters', function() {\n    $('#user-filter').val('bob');\n    $('#user-filter').trigger('keyup');\n    expect($('#bob')).toBeVisible();\n    expect($('#alice')).toBeHidden();\n  });\n\n  it('shows users if it contains search string with capital letters', function() {\n    $('#user-filter').val('Bob');\n    $('#user-filter').trigger('keyup');\n    expect($('#bob')).toBeVisible();\n    expect($('#alice')).toBeHidden();\n  });\n\n  it('shows users if it contains symbols that need to be trimmed', function() {\n    $('#user-filter').val('   Bob Jones   \\t \\n');\n    $('#user-filter').trigger('keyup');\n    expect($('#bob')).toBeVisible();\n    expect($('#alice')).toBeHidden();\n  });\n\n  it('shows all the results when searchString is initially empty', function() {\n    $('#user-filter').val('');\n    $('#user-filter').trigger('keyup');\n    expect($('#bob')).toBeVisible();\n    expect($('#alice')).toBeVisible();\n  });\n\n});\n"
  },
  {
    "path": "spec/jobs/github_commits_job_spec.rb",
    "content": "# frozen_string_literal: true\n\nRSpec.describe GithubCommitsJob do\n  vcr_index = { cassette_name: 'github_commit_count/websiteone_stats' }\n  describe '.job', vcr: vcr_index do\n    context 'when no empty repo present' do\n      let(:project) { @project.reload }\n      let(:project_without_url) { @project_without_url.reload }\n      before do\n        @project = create(:project)\n        @project_without_url = create(:project)\n        @project.source_repositories.create(url: 'https://github.com/AgileVentures/WebsiteOne')\n        @users_with_github_profile_urls = [\n          create(:user, github_profile_url: 'https://github.com/tochman')\n        ]\n        @users_without_github_profile_urls = [\n          create(:user, github_profile_url: nil)\n        ]\n        @users = @users_with_github_profile_urls + @users_without_github_profile_urls\n        GithubCommitsJob.run\n      end\n\n      it 'stores commit counts only for projects that have a github_url' do\n        expect(project.commit_counts.count).to eq(1)\n        expect(project_without_url.commit_counts.count).to eq 0\n      end\n\n      it 'stores total commit count only for projects that have a github_url' do\n        expect(project.commit_count).to be > 1\n        expect(project_without_url.commit_count).to eq 0\n      end\n\n      it 'stores commit counts only for users that have a github_profile_url' do\n        expect(project.commit_counts.map(&:user)).to match_array(@users_with_github_profile_urls)\n      end\n\n      it 'stores correct commit counts by user and project' do\n        expect(CommitCount.find_by!(project: project, user: @users[0]).commit_count).to eq 482\n        expect(CommitCount.find_by(project: project, user: @users[1])).to be_nil\n      end\n\n      it 'stores correct total commit count for projects' do\n        expected_commit_count = 4919\n        expect(project.commit_count).to eq expected_commit_count\n      end\n\n      it 'stores last_commit_at only for projects that have a github_url' do\n        expect(project.updated_at).to be > '2000-01-01'\n      end\n\n      # Skipping this test for a couple reasons:\n      # 1 - `update_total_commits_for` method does not exist which is why it is failing\n      # 2 - IIRC a lot of the GitHub currently does not work, and I think it needs a complete overhaul\n      #     if we are going to keep it around.\n      # 3 - This test documents that we are catching a StandardError in the code. I think it would be\n      # .   better to catch a more specific error related to the external api.\n      xit 'executes user_commits method even if total_commits dies for project' do\n        allow(GithubCommitsJob).to receive(:update_total_commits_for).and_raise 'StandardError'\n        expect(GithubCommitsJob).to receive(:update_user_commit_counts_for).with project\n        GithubCommitsJob.run\n      end\n    end\n\n    context 'when empty project is present' do\n      let(:project_with_empty_repo) { @project_with_empty_repo.reload }\n\n      before do\n        @project_with_empty_repo = FactoryBot.create(:project, github_url: 'https://github.com/AgileVentures/empty_project')\n        GithubCommitsJob.run\n      end\n\n      it 'stores commit count for project with empty repo' do\n        expect(project_with_empty_repo.commit_counts.count).to eq(0)\n      end\n\n      it 'stores total commit count for project with empty repo' do\n        expect(project_with_empty_repo.commit_count).to eq(0)\n      end\n    end\n  end\nend\n"
  },
  {
    "path": "spec/jobs/github_last_updates_job_spec.rb",
    "content": "# frozen_string_literal: true\n\nRSpec.describe GithubLastUpdatesJob do\n  describe '#run' do\n    context 'shf-project with hyphen', vcr: true do\n      let!(:project) { create(:project) }\n      before { project.source_repositories.create(url: 'https://github.com/AgileVentures/shf-project') }\n      it 'has correct last commit date after job run' do\n        GithubLastUpdatesJob.run\n        expect(project.reload.last_github_update).not_to be_nil\n      end\n    end\n  end\nend\n"
  },
  {
    "path": "spec/jobs/github_readme_files_job_spec.rb",
    "content": "# frozen_string_literal: true\n\nRSpec.describe GithubReadmeFilesJob do\n  describe '.replace_relative_links_with_absolute' do\n    let(:project) { create(:project, pitch: nil) }\n    let(:project_readme_content) do\n      '<a href=\"hello\">hello</a><a href=\"http://example.com/hello\">hello</a><a href=\"#hello\">hello</a>'\n    end\n\n    before do\n      project.source_repositories.create(url: 'https://github.com/AgileVentures/LocalSupport')\n      @converted_text = subject.replace_relative_links_with_absolute(project_readme_content, project)\n    end\n\n    it 'converts all relative urls in text to absolute with full host prefix' do\n      converted_link = 'https://github.com/AgileVentures/LocalSupport/blob/master/hello'\n      expect(@converted_text).to include converted_link\n      expect(@converted_text).to_not include 'href=\"hello\"'\n    end\n\n    it 'does not change absolute links' do\n      absolute_link = 'http://example.com/hello'\n      expect(@converted_text).to include absolute_link\n    end\n\n    it 'does not change anchor links' do\n      anchor_link = '#hello'\n      expect(@converted_text).to include anchor_link\n    end\n  end\n\n  vcr_index = { cassette_name: 'github_readme_pitch/github_readme_pitch' }\n\n  describe '.job using readme', vcr: vcr_index do\n    context 'Update pitch on project using the README.md file' do\n      before do\n        @project = create(:project, pitch: nil)\n        @project.source_repositories.create(url: 'https://github.com/AgileVentures/LocalSupport')\n        @projects = Project.with_github_url\n      end\n\n      it 'should have no pitch' do\n        expect(@project.pitch).to be nil\n      end\n\n      it 'should have pitch setup with README.md since PITCH.md is not present' do\n        expect { GithubReadmeFilesJob.run(@projects) }.to_not raise_error\n        expect(@projects.first.pitch).to_not be nil\n      end\n\n      it 'should log the error if the repository does NOT exists' do\n        message = 'Trying to get the content from fake/repository have caused the issue!'\n        error = ErrorLoggingService.new(StandardError)\n        @project.source_repositories.first.update(url: 'https://github.com/fake/repository')\n        allow(ErrorLoggingService).to receive(:new).and_return(error)\n        expect(error).to receive(:log).with(message)\n        GithubReadmeFilesJob.run([@project])\n      end\n    end\n\n    context 'Update pitch on project using the PITCH.md file' do\n      before do\n        @project = create(:project, pitch: nil)\n        @project.source_repositories.create(url: 'https://github.com/nisevi/nisevi')\n        @projects = Project.with_github_url\n      end\n\n      it 'should have no pitch' do\n        expect(@project.pitch).to be nil\n      end\n\n      it 'should have pitch setup with PITCH.md' do\n        pitch = Octokit.contents 'nisevi/nisevi', path: 'PITCH.md', accept: 'application/vnd.github.html'\n        expect { GithubReadmeFilesJob.run(@projects) }.to_not raise_error\n        expect(Project.first.pitch).to eq(pitch)\n      end\n    end\n  end\nend\n"
  },
  {
    "path": "spec/lib/custom_errors_spec.rb",
    "content": "# frozen_string_literal: true\n\nrequire 'custom_errors'\n\ndescribe CustomErrors, type: 'controller' do\n  controller(ApplicationController) do\n    include CustomErrors\n\n    def raise_404\n      raise ActiveRecord::RecordNotFound\n    end\n\n    def raise_500\n      raise StandardError\n    end\n  end\n\n  before do\n    Features.custom_errors.enabled = true\n  end\n\n  context '404 errors' do\n    before do\n      routes.draw { get 'raise_404' => 'anonymous#raise_404' }\n    end\n\n    it 'is expected to catch 404 errors' do\n      get :raise_404\n      expect(response).to render_template 'static_pages/not_found'\n      expect(response.status).to eq 404\n    end\n  end\n\n  context '500 errors' do\n    before do\n      routes.draw { get 'raise_500' => 'anonymous#raise_500' }\n    end\n\n    it 'is expected to catch 500 errors' do\n      get :raise_500\n      expect(response).to render_template 'static_pages/internal_error'\n      expect(response.status).to eq 500\n    end\n\n    it 'is expected to be able to adjust log stack trace limit' do\n      dummy = double(Logger, info: nil)\n      Rails.stub(logger: dummy)\n      expect(dummy).to receive(:error).exactly(7)\n      get :raise_500\n    end\n\n    it 'is expected to send an error notification to the admin' do\n      ActionMailer::Base.deliveries.clear\n      get :raise_500\n\n      expect(ActionMailer::Base.deliveries.size).to eq 1\n      email = ActionMailer::Base.deliveries[0]\n      expect(email.subject).to include 'ERROR'\n\n      recipients = email.to\n      expect(recipients.size).to eq 1\n      expect(recipients[0]).to eq 'info@agileventures.org'\n    end\n  end\nend\n"
  },
  {
    "path": "spec/lib/settings_spec.rb",
    "content": "# frozen_string_literal: true\n\ndescribe Settings, type: 'model' do\n  describe 'in production' do\n    before do\n      ENV['PRIVILEGED_USERS'] = 'one@example.com, two@example.com'\n    end\n\n    it 'has specific privileged_users fed through ENV' do\n      Settings.privileged_users = ENV.fetch('PRIVILEGED_USERS', nil)\n      expect(Settings.privileged_users.split(',').length).to eq(2)\n      expect(Settings.privileged_users).to eq('one@example.com, two@example.com')\n    end\n  end\nend\n"
  },
  {
    "path": "spec/lib/validators/image_url_validator_spec.rb",
    "content": "# frozen_string_literal: true\n\ndescribe ImageUrlValidator do\n  let(:dummy_class) do\n    Class.new do\n      include ActiveModel::Validations\n      attr_accessor :image_url\n\n      validates_with ImageUrlValidator\n    end\n  end\n\n  subject { dummy_class.new }\n\n  it 'should be valid for a valid image url' do\n    subject.image_url = 'https://www.facebook.com/filename.jpg'\n    expect(subject).to be_valid\n  end\n\n  it 'should reject non-URLs' do\n    subject.image_url = 'smile.txt'\n    expect(subject).to be_invalid\n  end\n\n  it 'should reject an invalid file format' do\n    subject.image_url = 'http://www.facebook.com'\n    expect(subject).to be_invalid\n  end\n\n  ['http://github.com/AgileVentures/WebsiteOne', '<>hi'].each do |invalid_url|\n    it \"#{invalid_url.inspect} is an invalid url\" do\n      subject.image_url = invalid_url\n      subject.valid?\n      expect(subject.errors).to have_key(:image_url)\n    end\n  end\nend\n"
  },
  {
    "path": "spec/lib/validators/pivotal_tracker_url_validator_spec.rb",
    "content": "# frozen_string_literal: true\n\ndescribe PivotalTrackerUrlValidator do\n  let(:dummy_class) do\n    Class.new do\n      include ActiveModel::Validations\n      attr_accessor :pivotaltracker_url\n\n      validates_with PivotalTrackerUrlValidator\n    end\n  end\n\n  subject { dummy_class.new }\n\n  ['https://www.pivotaltracker.com/s/projects/982890',\n   'https://www.pivotaltracker.com/n/projects/982890'].each do |valid_url|\n    it 'should be valid for a valid pivotal project url' do\n      subject.pivotaltracker_url = valid_url\n      subject.valid?\n      expect(subject.errors.full_messages).to eq([])\n    end\n  end\nend\n"
  },
  {
    "path": "spec/lib/validators/uri_validator_spec.rb",
    "content": "# frozen_string_literal: true\n\n# from https://gist.github.com/timocratic/5113293\n\ndescribe UriValidator do\n  let(:dummy_class) do\n    Class.new do\n      include ActiveModel::Validations\n      attr_accessor :url\n\n      validates :url, uri: true\n    end\n  end\n\n  subject { dummy_class.new }\n\n  it 'should be valid for a valid http url' do\n    subject.url = 'http://www.google.com'\n    subject.valid?\n    expect(subject.errors.full_messages).to eq([])\n  end\n\n  ['http:/www.google.com', '<>hi'].each do |invalid_url|\n    it \"#{invalid_url.inspect} is an invalid url\" do\n      subject.url = invalid_url\n      subject.valid?\n      expect(subject.errors).to have_key(:url)\n    end\n  end\n\n  it 'should be invalid for an unaccepted protocol' do\n    subject.url = 'smtp://www.google.com'\n    subject.valid?\n    expect(subject.errors[:url].to_sentence).to eq 'must begin with http or https'\n  end\nend\n"
  },
  {
    "path": "spec/mailers/admin_mailer_spec.rb",
    "content": "# frozen_string_literal: true\n\ndescribe AdminMailer, type: :mailer do\n  context 'slack invite errors' do\n    context 'ruby error' do\n      subject(:mailer) do\n        AdminMailer.failed_to_invite_user_to_slack('tansaku@gmail.com', StandardError.new('Boom!'), nil)\n      end\n      it 'sends a mail' do\n        expect { mailer.deliver_now }.to change { ActionMailer::Base.deliveries.length }.by(1)\n      end\n      it 'contains error message in body' do\n        expect(mailer.body).to include 'Boom!'\n      end\n    end\n    context 'slack api error' do\n      subject(:mailer) { AdminMailer.failed_to_invite_user_to_slack('tansaku@gmail.com', nil, 'already_invited') }\n      it 'sends a mail' do\n        expect { mailer.deliver_now }.to change { ActionMailer::Base.deliveries.length }.by(1)\n      end\n      it 'contains error message in body' do\n        expect(mailer.body).to include 'already_invited'\n      end\n    end\n  end\nend\n"
  },
  {
    "path": "spec/mailers/mailer_spec.rb",
    "content": "# frozen_string_literal: true\n\ndescribe Mailer do\n  describe 'send_premium_payment_complete_message' do\n    let(:plan) { instance_double(Plan, name: 'Premium', free_trial_length_days: 7, free_trial?: true, category: nil) }\n    it 'is expected to send payment complete message' do\n      mail = Mailer.send_premium_payment_complete(plan, 'candice@clemens.com')\n      expect(mail.from).to include('matt@agileventures.org')\n      expect(mail.reply_to).to include('matt@agileventures.org')\n      expect(mail.to).to include('candice@clemens.com')\n      expect(mail.subject).to include('Welcome to AgileVentures Premium')\n      expect(mail.body.raw_source).to include('Thanks for signing up for AgileVentures Premium!')\n      expect(mail).to have_default_cc_addresses\n    end\n  end\n\n  describe '#send_welcome_message' do\n    before(:each) do\n      @user = User.new first_name: 'Email',\n                       last_name: 'Sender',\n                       email: 'candice@clemens.com',\n                       password: '1234567890'\n    end\n\n    it 'is expected to send welcome message' do\n      mail = Mailer.send_welcome_message(@user)\n      expect(mail.from).to include('matt@agileventures.org')\n      expect(mail.reply_to).to include('matt@agileventures.org')\n      expect(mail.to).to include('candice@clemens.com')\n      expect(mail.subject).to include('Welcome to AgileVentures.org')\n      expect(mail.body.raw_source).to include('Welcome!')\n      expect(mail).to have_default_cc_addresses\n    end\n  end\n\n  describe '#hire_me_contact_form' do\n    let(:valid_params) { { name: 'Thomas', email: 'thomas@email.com', message: 'Want to hire you!' } }\n    before(:each) do\n      @user = User.new first_name: 'Marcelo',\n                       last_name: 'Mr G',\n                       email: 'marcelo@whatever.com',\n                       password: '1234567890'\n    end\n    it 'is expected to send hire_me message' do\n      mail = Mailer.hire_me_form(@user, valid_params)\n      expect(mail.from).to include('thomas@email.com')\n      expect(mail.reply_to).to include('thomas@email.com')\n      expect(mail.to).to include('marcelo@whatever.com')\n      expect(mail.subject).to include(['message from', valid_params[:name]].join(' '))\n      expect(mail.body.raw_source).to include(valid_params[:message])\n      expect(mail).to have_default_cc_addresses\n    end\n  end\nend\n"
  },
  {
    "path": "spec/mailers/previews/admin_mailer_preview.rb",
    "content": "# frozen_string_literal: true\n\n# Preview all emails at http://localhost:3000/rails/mailers/admin_mailer\nclass AdminMailerPreview < ActionMailer::Preview\nend\n"
  },
  {
    "path": "spec/mailers/previews/project_mailer_preview.rb",
    "content": "# frozen_string_literal: true\n\n# Preview all emails at http://localhost:3000/rails/mailers/project_mailer\nclass ProjectMailerPreview < ActionMailer::Preview\n  def alert_project_creator_about_new_member\n    ProjectMailer.with(project: Project.first, user: User.first, project_creator: User.third)\n                 .alert_project_creator_about_new_member\n  end\n\n  def welcome_project_joinee\n    ProjectMailer.with(project: Project.first, user: User.first, project_creator: User.third)\n                 .welcome_project_joinee\n  end\n\n  def welcome_project_joinee_special_websiteone_message\n    ProjectMailer.with(project: Project.find_by(title: 'WebsiteOne'), user: User.first, project_creator: User.third)\n                 .welcome_project_joinee\n  end\nend\n"
  },
  {
    "path": "spec/mailers/project_mailer_spec.rb",
    "content": "# frozen_string_literal: true\n\nrequire 'spec_helper'\n\nRSpec.describe ProjectMailer, type: :mailer do\n  describe '#alert_project_creator_about_new_member' do\n    before(:each) do\n      @project_creator = FactoryBot.create(:user, first_name: 'Reva', last_name: 'Satterfield')\n      @project = FactoryBot.create(:project, title: 'Title 1', user: @project_creator)\n      @new_member = FactoryBot.create(:user, email: 'leif.kozey@bruen.org')\n    end\n    it 'sends an email to project creator about new member' do\n      email = ProjectMailer.with(user: @new_member, project: @project,\n                                 project_creator: @project_creator).alert_project_creator_about_new_member.deliver_now\n      assert !ActionMailer::Base.deliveries.empty?\n      assert_equal [@project_creator.email], email.to\n      assert_equal \"#{@new_member.display_name} just joined #{@project.title} project\", email.subject\n      assert_equal read_fixture('project_creator_notification_text').join, email.text_part.body.to_s\n      assert_equal read_fixture('project_creator_notification_html').join, email.html_part.body.to_s\n    end\n  end\n\n  describe '#welcome_project_joinee' do\n    context 'websiteone project' do\n      before(:each) do\n        @project_creator = FactoryBot.create(:user, first_name: 'Sam', last_name: 'Satterfield')\n        @project = FactoryBot.create(:project, title: 'WebsiteOne', user: @project_creator)\n        @new_member = FactoryBot.create(:user, first_name: 'Billy', last_name: 'Bob', email: 'billybob@example.org')\n        @email = ProjectMailer.with(user: @new_member, project: @project,\n                                    project_creator: @project_creator).welcome_project_joinee.deliver_now\n      end\n      it 'queues mailer for delivery' do\n        assert !ActionMailer::Base.deliveries.empty?\n      end\n\n      it 'sends an email to the new project joinee' do\n        assert_equal [@new_member.email], @email.to\n      end\n\n      it 'displays the project title in the subject' do\n        assert_equal 'Welcome to the WebsiteOne project!', @email.subject\n      end\n\n      it 'sends an email with a text part' do\n        assert_equal read_fixture('project_joinee_notification_text').join, @email.text_part.body.to_s\n      end\n\n      it 'sends an email with an html part' do\n        assert_equal read_fixture('project_joinee_notification_html').join, @email.html_part.body.to_s\n      end\n    end\n    context 'hello world project' do\n      before(:each) do\n        @project_creator = FactoryBot.create(:user, first_name: 'Reva', last_name: 'Satterfield')\n        @project = FactoryBot.create(:project, title: 'Hello World', user: @project_creator,\n                                               slack_channel_name: '#helloworld')\n        @new_member = FactoryBot.create(:user, first_name: 'John', last_name: 'Boy', email: 'billybob@example.org')\n        @email = ProjectMailer.with(user: @new_member, project: @project,\n                                    project_creator: @project_creator).welcome_project_joinee.deliver_now\n      end\n      it 'queues mailer for delivery' do\n        assert !ActionMailer::Base.deliveries.empty?\n      end\n\n      it 'sends an email to the new project joinee' do\n        assert_equal [@new_member.email], @email.to\n      end\n\n      it 'displays the project title in the subject' do\n        assert_equal 'Welcome to the Hello World project!', @email.subject\n      end\n\n      it 'sends an email with a text part' do\n        assert_equal read_fixture('project_joinee_notification_helloworld_text').join, @email.text_part.body.to_s\n      end\n\n      it 'sends an email with an html part' do\n        assert_equal read_fixture('project_joinee_notification_helloworld_html').join, @email.html_part.body.to_s\n      end\n    end\n  end\nend\n"
  },
  {
    "path": "spec/mailers/sandbox_email_interceptor_spec.rb",
    "content": "# frozen_string_literal: true\n\ndescribe SandboxEmailInterceptor do\n  describe '#delivering_email' do\n    before(:each) do\n      @user1 = FactoryBot.create(:user)\n      @project = FactoryBot.create(:project, user: @user1)\n      @user2 = FactoryBot.create(:user)\n    end\n    it 'delivers all emails to user when intercept_emails is set to true' do\n      stub_const('ENV', { 'USER_EMAIL' => 'me@ymail.com' })\n      mail = ProjectMailer.with(user: @user2, project: @project,\n                                project_creator: @user1).alert_project_creator_about_new_member.deliver_now\n      SandboxEmailInterceptor.delivering_email(mail)\n      expect(ActionMailer::Base.deliveries[0].to).to include(ENV.fetch('USER_EMAIL', nil))\n    end\n  end\nend\n"
  },
  {
    "path": "spec/migrations/event_time_refactor_spec.rb",
    "content": "# frozen_string_literal: true\n\nload 'db/migrate/20140725131327_event_combine_date_and_time_fields.rb'\n\nActiveRecord::Migration.verbose = false\n\ndescribe 'EventCombineDateAndTimeFields', type: :migration do\n  describe 'up' do\n    before do\n      ActiveRecord::Migration.verbose = false\n\n      EventCombineDateAndTimeFields.new.down\n      sql = %{INSERT INTO events (name, category, repeats, start_time, event_date, end_time, time_zone, repeat_ends) VALUES ('test', 'PairProgramming', 'never', TIME'10:00', DATE'2013-06-17', TIME'11:00', 'UTC', true);}\n      ApplicationRecord.connection.execute(sql)\n    end\n\n    it 'refactors events time fields' do\n      expect do\n        EventCombineDateAndTimeFields.new.up\n      end.to change { Event.columns }\n      event_new = Event.first\n      expect(event_new.start_datetime.to_datetime).to eq('2013-06-17 10:00:00'.to_datetime.utc)\n      expect(event_new.duration).to eq(60)\n    end\n  end\n\n  describe 'down' do\n    before do\n      FactoryBot.create(:event,\n                        name: 'every Monday event',\n                        category: 'Scrum',\n                        start_datetime: 'Mon, 17 Jun 2013 09:00:00 UTC',\n                        duration: 60)\n    end\n\n    it 'refactors events time fields' do\n      expect do\n        EventCombineDateAndTimeFields.new.down\n      end.to change { Event.columns }\n      event_old = Event.first\n      expect(event_old.read_attribute(:event_date).to_date).to eq('2013-06-17'.to_date)\n      # Postgres stores the time without the date, and when it comes out, the date is set to 2000-01-01.  This may change with different database.\n      expect(event_old.read_attribute(:start_time).to_time.utc).to eq('2000-01-01 09:00:00 UTC'.to_time.utc)\n      expect(event_old.read_attribute(:end_time).to_time.utc).to eq('2000-01-01 10:00:00 UTC'.to_time.utc)\n    end\n  end\nend\n"
  },
  {
    "path": "spec/models/article_spec.rb",
    "content": "# frozen_string_literal: true\n\ndescribe Article, type: :model do\n  let(:user) { FactoryBot.create :user }\n  subject { Article.new slug: 'test-article', user: user }\n\n  it { is_expected.to respond_to :tag_list }\n  it { is_expected.to respond_to :user }\n  it { is_expected.to respond_to :friendly_id }\n  it { is_expected.to respond_to :vote_value }\n  it { is_expected.to respond_to :authored_by? }\n  it { is_expected.to respond_to :create_activity }\n\n  it 'has public-activity enabled' do\n    expect(subject.public_activity_enabled?).to eq true\n  end\n\n  describe 'acts_as_votable' do\n    it { is_expected.to respond_to :get_upvotes }\n    it { is_expected.to respond_to :get_downvotes }\n    it { is_expected.to respond_to :upvote_by }\n    it { is_expected.to respond_to :downvote_by }\n    it { is_expected.to respond_to :unvote_by }\n    it { is_expected.to respond_to :vote_registered? }\n  end\n\n  describe '#url_for_me' do\n    it 'returns correct url for show action' do\n      expect(subject.url_for_me('show')).to eq '/articles/test-article'\n    end\n\n    it 'returns correct url for other actions' do\n      expect(subject.url_for_me('new')).to eq '/articles/test-article/new'\n    end\n  end\n\n  describe '#vote_value' do\n    it 'returns the correct number of total value of votes' do\n      downvotes = [ActsAsVotable::Vote.new, ActsAsVotable::Vote.new]\n      upvotes = [ActsAsVotable::Vote.new]\n      allow(subject).to receive(:get_upvotes).and_return(upvotes)\n      allow(subject).to receive(:get_downvotes).and_return(downvotes)\n\n      expect(subject.vote_value).to eq(-1)\n    end\n  end\n\n  describe '#authored_by?' do\n    it 'returns true if user passed matches the author' do\n      expect(subject.authored_by?(subject.user)).to be_truthy\n    end\n\n    it 'returns false if user passed matches the author' do\n      expect(subject.authored_by?(User.new)).to be_falsey\n    end\n  end\nend\n"
  },
  {
    "path": "spec/models/authentication_spec.rb",
    "content": "# frozen_string_literal: true\n\ndescribe Authentication, type: :model do\n  let(:user) { create(:user) }\n  let!(:auth) { user.authentications.create!(provider: 'github', uid: '12345') }\n  before do\n    @user = user\n    # @auth = auth\n  end\n\n  it 'must have an associated user' do\n    auth.user_id = nil\n    expect { auth.save }.to raise_error ActiveRecord::StatementInvalid\n  end\n\n  it 'must have an associated provider' do\n    auth.provider = nil\n    expect(auth).to_not be_valid\n  end\n\n  it 'must have an associated UID' do\n    auth.uid = nil\n    expect(auth).to_not be_valid\n  end\n\n  it 'must have a unique user-provider combination' do\n    failed_auth = user.authentications.build(provider: 'github', uid: '098766')\n    expect(failed_auth).to_not be_valid\n  end\nend\n"
  },
  {
    "path": "spec/models/commit_count_spec.rb",
    "content": "# frozen_string_literal: true\n\nRSpec.describe CommitCount, type: :model do\n  subject { build_stubbed :commit_count }\n\n  it 'should have a valid factory' do\n    expect(subject).to be_valid\n  end\n\n  context 'without a user' do\n    before { subject.user = nil }\n    it { is_expected.to_not be_valid }\n  end\n\n  context 'without a project' do\n    before { subject.project = nil }\n    it { is_expected.to_not be_valid }\n  end\n\n  context 'without a commit count' do\n    before { subject.commit_count = nil }\n    it { is_expected.to_not be_valid }\n  end\n\n  context 'with a duplicate record having same user and project' do\n    let(:duplicate_record) { create(:commit_count) }\n    subject { build(:commit_count, duplicate_record.attributes) }\n    it { is_expected.to_not be_valid }\n  end\nend\n"
  },
  {
    "path": "spec/models/contact_form_spec.rb",
    "content": "# frozen_string_literal: true\n\nRSpec.describe ContactForm do\n  it { is_expected.to validate_presence_of :name }\n  it { is_expected.to validate_presence_of :email }\n  it { is_expected.to validate_presence_of :message }\n\n  it 'is expected to accept valid email ' do\n    contact_form = ContactForm.new(\n      name: 'Nick',\n      message: 'Refactoring rocks!!',\n      email: 'something@frissby.com'\n    )\n    expect(contact_form).to be_valid\n  end\n\n  it 'is expected to reject invalid email' do\n    contact_form = ContactForm.new(\n      name: 'Nick',\n      message: 'Refactoring rocks!!',\n      email: 'something$frissby.com'\n    )\n    expect(contact_form).to_not be_valid\n  end\nend\n"
  },
  {
    "path": "spec/models/document_spec.rb",
    "content": "# frozen_string_literal: true\n\nRSpec.describe Document, type: :model do\n  subject { build_stubbed(:document) }\n\n  it { is_expected.to be_versioned }\n  it { is_expected.to respond_to :create_activity }\n\n  it 'is expected to have public-activity enabled' do\n    expect(subject.public_activity_enabled?).to eq true\n  end\n\n  describe 'factories' do\n    it 'is expected to be valid with proper attributes' do\n      expect(build(:document)).to be_valid\n    end\n\n    it 'is expected to be is invalid without title' do\n      expect(build(:document, title: '')).to_not be_valid\n    end\n\n    it 'is expected to be invalid without project' do\n      expect(build(:document, project: nil)).to_not be_valid\n    end\n  end\n\n  describe '#url_for_me' do\n    it 'is expected to return correct url for show action' do\n      expect(subject.url_for_me('show'))\n        .to eq \"/projects/#{subject.project.slug}/documents/#{subject.slug}\"\n    end\n\n    it 'is expected to be return correct url for other actions' do\n      expect(subject.url_for_me('new'))\n        .to eq \"/projects/#{subject.project.slug}/documents/#{subject.slug}/new\"\n    end\n  end\n\n  describe '#slug_candidates' do\n    it 'is expected to return correct slug candidates' do\n      expect(subject.slug_candidates)\n        .to eq [:title, %i(title project_title)]\n    end\n  end\nend\n"
  },
  {
    "path": "spec/models/event_date_spec.rb",
    "content": "# frozen_string_literal: true\n\nRSpec.describe EventDate, type: :model do\n  it 'is expected to return todays date if given nil as argument' do\n    expect(EventDate.for(nil)).to eq Date.today\n  end\n\n  it 'is expected to return date if given date as argument' do\n    expect(EventDate.for(Date.tomorrow)).to eq Date.tomorrow\n  end\nend\n"
  },
  {
    "path": "spec/models/event_instance_spec.rb",
    "content": "# frozen_string_literal: true\n\nRSpec.describe EventInstance, type: :model do\n  let!(:project) { create(:project) }\n  let!(:creator) { create(:user) }\n  let(:event) { create :event }\n  subject do\n    create(:event_instance,\n           updated: '10:00 UTC',\n           hangout_url: nil,\n           event: event)\n  end\n  it 'has url_set_directly default to false' do\n    expect(subject.url_set_directly).to be_falsey\n  end\n\n  it { is_expected.to delegate_method(:within_current_event_duration?).to(:event) }\n\n  context '#updated_within_last_two_minutes?' do\n    it 'is expected to return false when updated_at is more than two minutes ago' do\n      allow(Time).to receive(:now).and_return(Time.mktime(2014, 'jan', 1, 10, 0o1, 59))\n      expect(subject).to be_updated_within_last_two_minutes\n    end\n\n    it 'is expected to  return true when updated_at is less than two minutes ago' do\n      allow(Time).to receive(:now).and_return(Time.mktime(2014, 'jan', 1, 10, 0o1, 59))\n      expect(subject).to be_updated_within_last_two_minutes\n    end\n  end\n\n  context 'hangout_url is not present' do\n    before do\n      allow(Time).to receive(:now).and_return(Time.parse('01:00 UTC'))\n    end\n\n    describe '#started?' do\n      it {  expect(subject.started?).to be_falsey }\n    end\n\n    describe '#live?' do\n      it {  expect(subject.live?).to be_falsey }\n    end\n  end\n\n  context 'hangout_url is present and is not finished' do\n    before do\n      subject.hangout_url = 'test'\n      subject.hoa_status = 'anything'\n    end\n\n    describe 'and the link is not older than 2 minutes and hoa_status' do\n      before do\n        allow(Time).to receive(:now).and_return(Time.mktime(2014, 'jan', 1, 10, 0o1, 59))\n      end\n      describe '#live?' do\n        it { expect(subject.live?).to be_truthy }\n      end\n\n      describe '#started?' do\n        it { expect(subject.started?).to be_truthy }\n      end\n    end\n\n    describe 'and the link is older than 2 minutes and hoa_status' do\n      before do\n        allow(Time).to receive(:now).and_return(Time.parse('10:02:01 UTC'))\n      end\n      describe '#live?' do\n        it { expect(subject.live?).to be_falsey }\n      end\n\n      describe '#started?' do\n        it { expect(subject.started?).to be_truthy }\n      end\n    end\n\n    context 'url manually overridden' do\n      before do\n        subject.url_set_directly = true\n        allow(subject.event).to receive(:current_start_time).and_return(Time.parse('10:00 UTC'))\n        allow(subject.event).to receive(:current_end_time).and_return(Time.parse('10:30 UTC'))\n      end\n\n      it 'does not report live when link not updated' do\n        allow(Time).to receive(:now).and_return(Time.parse('10:02 UTC'))\n        allow(subject).to receive(:updated_at).and_return(Time.parse('9:30 UTC'))\n        expect(subject.live?).to be_falsey\n      end\n\n      it 'report live when link is updated' do\n        allow(Time).to receive(:now).and_return(Time.parse('10:02 UTC'))\n        allow(subject).to receive(:updated_at).and_return(Time.parse('10:01 UTC'))\n        expect(subject.live?).to be_truthy\n      end\n\n      it 'does not report live when event ends' do\n        allow(Time).to receive(:now).and_return(Time.parse('10:31 UTC'))\n        allow(subject).to receive(:updated_at).and_return(Time.parse('10:01 UTC'))\n        expect(subject.live?).to be_falsey\n      end\n\n      it 'reports live when link is updated 10 min before start time' do\n        allow(Time).to receive(:now).and_return(Time.parse('9:58 UTC'))\n        allow(subject).to receive(:updated_at).and_return(Time.parse('09:51 UTC'))\n        expect(subject.live?).to be_truthy\n      end\n    end\n  end\n\n  context 'hangout_url is present and hoa_status is finished' do\n    before do\n      subject.hangout_url = 'test'\n      subject.hoa_status = 'finished'\n    end\n\n    it 'reports not live if the link is not older than 2 minutes' do\n      allow(Time).to receive(:now).and_return(Time.mktime(2014, 'jan', 1, 10, 0o1, 59))\n      expect(subject.live?).to be_falsey\n    end\n\n    it 'reports not live if the link is older than 2 minutes' do\n      allow(Time).to receive(:now).and_return(Time.parse('10:02:01 UTC'))\n      expect(subject.live?).to be_falsey\n    end\n  end\n\n  context 'associated hangout_participant_snapshots' do\n    subject do\n      create(:event_instance,\n             updated: '10:00 UTC',\n             hangout_url: nil,\n             event: event,\n             hangout_participants_snapshots_attributes: [{ participants: 'blah' }])\n    end\n    it 'should do stuff' do\n      expect(subject.hangout_participants_snapshots.count).to eq 1\n    end\n\n    it 'should add more hangout snapshots when updated' do\n      subject.update(hangout_participants_snapshots_attributes: [{ participants: 'stuff' }])\n      expect(subject.hangout_participants_snapshots.count).to eq 2\n    end\n  end\n\n  context '.yt_url' do\n    it 'should return youtube link from youtube id' do\n      subject.yt_video_id = 'mLBSQV-h-xo'\n      expect(subject.yt_url).to eq 'https://youtu.be/mLBSQV-h-xo'\n    end\n\n    it 'should return nil if youtube id is nil' do\n      subject.yt_video_id = nil\n      expect(subject.yt_url).to eq nil\n    end\n  end\n\n  context '#for' do\n    it 'returns nil if event is nil' do\n      subject.event = nil\n      expect(subject.for).to eq nil\n    end\n  end\nend\n"
  },
  {
    "path": "spec/models/event_spec.rb",
    "content": "# frozen_string_literal: true\n\nrequire 'user'\n\nRSpec.describe Event, type: :model do\n  before(:each) do\n    ENV['TZ'] = 'UTC'\n  end\n\n  after(:each) do\n    Delorean.back_to_the_present\n  end\n\n  subject(:event) { build_stubbed :event }\n\n  it { is_expected.to respond_to :project_id }\n  it { is_expected.to respond_to :friendly_id }\n  it { is_expected.to respond_to :schedule }\n  it { is_expected.to respond_to :live? }\n  it { is_expected.to belong_to(:creator).optional(true) }\n\n  it 'is valid with all the correct parameters' do\n    expect(subject).to be_valid\n  end\n\n  it 'is invalid without name' do\n    expect(build(:event, name: nil)).to_not be_valid\n  end\n\n  it 'is invalid without category' do\n    expect(build(:event, category: nil)).to_not be_valid\n  end\n\n  it 'is invalid without repeats' do\n    expect(build(:event, repeats: nil)).to_not be_valid\n  end\n\n  it 'is invalid with invalid url' do\n    expect(build(:event, url: 'http:google.com')).to_not be_valid\n  end\n\n  it 'is invalid without repeat_ends' do\n    expect(build(:event, repeat_ends: nil)).to_not be_valid\n  end\n\n  describe '#less_than_ten_till_start?' do\n    context 'event starts five minutes from now' do\n      subject(:recent_event) { build_stubbed :recent_event, start_datetime: 5.minutes.from_now }\n      it 'returns true' do\n        expect(recent_event).to be_less_than_ten_till_start\n      end\n    end\n\n    context 'event starts 20 minutes from now' do\n      subject(:recent_event) { build_stubbed :recent_event, start_datetime: 20.minutes.from_now }\n      it 'returns false' do\n        expect(recent_event).not_to be_less_than_ten_till_start\n      end\n    end\n\n    context 'event started five minutes ago and has not ended' do\n      subject(:recent_event) { build_stubbed :recent_event, start_datetime: 5.minutes.ago, duration: '10' }\n      it 'returns true' do\n        expect(recent_event).to be_less_than_ten_till_start\n      end\n    end\n\n    context 'event finished 10 minutes ago' do\n      subject(:recent_event) { build_stubbed :recent_event, start_datetime: 20.minutes.ago, duration: '10' }\n      it 'returns false' do\n        expect(recent_event).not_to be_less_than_ten_till_start\n      end\n    end\n  end\n\n  describe '#last_hangout' do\n    it 'returns the latest hangout' do\n      hangout1 = subject.event_instances.create\n      hangout2 = subject.event_instances.create(created_at: Date.yesterday, updated_at: Date.yesterday)\n\n      expect(subject.last_hangout).to eq(hangout1)\n    end\n  end\n\n  context 'can remove event instance' do\n    before(:each) do\n      @event = build(:event,\n                     name: 'Spec Scrum',\n                     start_datetime: 'Mon, 17 Jun 2013 09:00:00 UTC',\n                     duration: 30,\n                     repeats: 'weekly',\n                     repeats_every_n_weeks: 1,\n                     repeats_weekly_each_days_of_the_week_mask: 0b1100000,\n                     repeat_ends: true,\n                     repeat_ends_on: '2014-03-08')\n    end\n\n    it 'should remove an event instance when requested and date found' do\n      Delorean.time_travel_to(Time.parse('2013-06-16 09:27:00 UTC'))\n      @event.remove_from_schedule(Time.parse('2013-6-23 09:00:00 UTC'))\n      expect(@event.schedule.first(4)).to eq(['Sat, 22 Jun 2013 09:00:00 UTC +00:00',\n                                              'Sat, 29 Jun 2013 09:00:00 UTC +00:00', 'Sun, 30 Jun 2013 09:00:00 UTC +00:00', 'Sat, 06 Jul 2013 09:00:00 UTC +00:00'])\n    end\n\n    it 'should move the start date forward when the event instance to be removed is the first in the series' do\n      Delorean.time_travel_to(Time.parse('2013-06-16 09:27:00 UTC'))\n      @event.remove_from_schedule(Time.parse('2013-6-22 09:00:00 UTC'))\n      expect(@event.start_datetime).to eq('Sun, 23 Jun 2013 09:00:00 UTC +00:00')\n      expect(@event.schedule.first(4)).to eq(['Sun, 23 Jun 2013 09:00:00 UTC +00:00',\n                                              'Sat, 29 Jun 2013 09:00:00 UTC +00:00', 'Sun, 30 Jun 2013 09:00:00 UTC +00:00', 'Sat, 06 Jul 2013 09:00:00 UTC +00:00'])\n    end\n\n    it 'event exclusions should be persistent' do\n      Delorean.time_travel_to(Time.parse('2013-06-16 09:27:00 UTC'))\n      @event.remove_from_schedule(Time.parse('2013-6-23 09:00:00 UTC'))\n      event = Event.find_by(name: 'Spec Scrum')\n      expect(event.schedule.first(4)).to eq(['Sat, 22 Jun 2013 09:00:00 UTC +00:00',\n                                             'Sat, 29 Jun 2013 09:00:00 UTC +00:00', 'Sun, 30 Jun 2013 09:00:00 UTC +00:00', 'Sat, 06 Jul 2013 09:00:00 UTC +00:00'])\n    end\n  end\n\n  context 'should create a scrum event that ' do\n    it 'is scheduled for one occasion' do\n      event = FactoryBot.build_stubbed(:event,\n                                       name: 'one time event',\n                                       category: 'Scrum',\n                                       description: '',\n                                       start_datetime: 'Mon, 17 Jun 2013 09:00:00 UTC',\n                                       duration: 600,\n                                       repeats: 'never',\n                                       repeats_every_n_weeks: nil,\n                                       repeat_ends_string: 'on',\n                                       repeat_ends: true,\n                                       repeat_ends_on: 'Mon, 17 Jun 2013',\n                                       time_zone: 'Eastern Time (US & Canada)')\n      expect(event.schedule.first(5)).to eq(['Mon, 17 Jun 2013 09:00:00 UTC +00:00'])\n    end\n\n    it 'is scheduled for every weekend' do\n      event = build_stubbed(:event,\n                            name: 'every weekend event',\n                            category: 'Scrum',\n                            description: '',\n                            start_datetime: 'Mon, 17 Jun 2013 09:00:00 UTC',\n                            duration: 600,\n                            repeats: 'weekly',\n                            repeats_every_n_weeks: 1,\n                            repeats_weekly_each_days_of_the_week_mask: 96,\n                            repeat_ends: false,\n                            repeat_ends_on: 'Tue, 25 Jun 2013',\n                            time_zone: 'Eastern Time (US & Canada)')\n      expect(event.schedule.first(5)).to eq(['Sat, 22 Jun 2013 09:00:00 UTC +00:00',\n                                             'Sun, 23 Jun 2013 09:00:00 UTC +00:00', 'Sat, 29 Jun 2013 09:00:00 UTC +00:00', 'Sun, 30 Jun 2013 09:00:00 UTC +00:00', 'Sat, 06 Jul 2013 09:00:00 UTC +00:00'])\n    end\n\n    it 'is scheduled for every Sunday' do\n      event = build_stubbed(:event,\n                            name: 'every Sunday event',\n                            category: 'Scrum',\n                            description: '',\n                            start_datetime: 'Mon, 17 Jun 2013 09:00:00 UTC',\n                            duration: 600,\n                            repeats: 'weekly',\n                            repeats_every_n_weeks: 1,\n                            repeats_weekly_each_days_of_the_week_mask: 64,\n                            repeat_ends: false,\n                            repeat_ends_on: 'Mon, 17 Jun 2013',\n                            time_zone: 'Eastern Time (US & Canada)')\n      expect(event.schedule.first(5)).to eq(['Sun, 23 Jun 2013 09:00:00 UTC +00:00',\n                                             'Sun, 30 Jun 2013 09:00:00 UTC +00:00', 'Sun, 07 Jul 2013 09:00:00 UTC +00:00', 'Sun, 14 Jul 2013 09:00:00 UTC +00:00', 'Sun, 21 Jul 2013 09:00:00 UTC +00:00'])\n    end\n\n    it 'is scheduled for every Monday' do\n      event = build_stubbed(:event,\n                            name: 'every Monday event',\n                            category: 'Scrum',\n                            description: '',\n                            start_datetime: 'Mon, 17 Jun 2013 09:00:00 UTC',\n                            duration: 600,\n                            repeats: 'weekly',\n                            repeats_every_n_weeks: 1,\n                            repeats_weekly_each_days_of_the_week_mask: 1,\n                            repeat_ends: false,\n                            repeat_ends_on: 'Mon, 17 Jun 2013',\n                            time_zone: 'UTC')\n      expect(event.schedule.first(5)).to eq(['Mon, 17 Jun 2013 09:00:00 GMT +00:00',\n                                             'Mon, 24 Jun 2013 09:00:00 GMT +00:00', 'Mon, 01 Jul 2013 09:00:00 GMT +00:00', 'Mon, 08 Jul 2013 09:00:00 GMT +00:00', 'Mon, 15 Jul 2013 09:00:00 GMT +00:00'])\n    end\n  end\n\n  context 'should create a hookup event that' do\n    before do\n      @event = build_stubbed(:event,\n                             name: 'PP Monday event',\n                             category: 'PairProgramming',\n                             start_datetime: 'Mon, 17 Jun 2014 09:00:00 UTC',\n                             duration: 90,\n                             repeats: 'never',\n                             time_zone: 'UTC')\n    end\n\n    it 'should expire events that ended' do\n      hangout = @event.event_instances.create(hangout_url: 'anything@anything.com',\n                                              updated_at: '2014-06-17 10:25:00 UTC')\n      allow(hangout).to receive(:started?).and_return(true)\n      Delorean.time_travel_to(Time.parse('2014-06-17 10:31:00 UTC'))\n      expect(@event).to_not be_live\n    end\n\n    it 'should mark as active events which have started and have not ended' do\n      hangout = @event.event_instances.create(hangout_url: 'anything@anything.com',\n                                              updated_at: '2014-06-17 10:25:00 UTC')\n      Delorean.time_travel_to(Time.parse('2014-06-17 10:26:00 UTC'))\n      expect(@event).to be_live\n    end\n\n    it 'should not be started if events have not started' do\n      hangout = @event.event_instances.create(hangout_url: nil,\n                                              updated_at: nil)\n      Delorean.time_travel_to(Time.parse('2014-06-17 9:30:00 UTC'))\n      expect(@event.live?).to be_falsey\n    end\n  end\n\n  context 'Event url' do\n    before(:each) do\n      @event = { name: 'one time event',\n                 category: 'Scrum',\n                 description: '',\n                 start_datetime: 'Mon, 17 Jun 2013 09:00:00 UTC',\n                 duration: 600,\n                 repeats: 'never',\n                 repeats_every_n_weeks: nil,\n                 repeat_ends: false,\n                 repeat_ends_on: 'Mon, 17 Jun 2013',\n                 time_zone: 'Eastern Time (US & Canada)' }\n    end\n\n    it 'should be set if valid' do\n      event = Event.create!(@event.merge(url: 'http://google.com'))\n      expect(event.save).to be_truthy\n    end\n\n    it 'should be rejected if invalid' do\n      event = Event.create(@event.merge(url: 'http:google.com'))\n      expect(event.errors[:url].size).to eq(1)\n    end\n  end\n\n  describe '#next_event_occurrence_with_time' do\n    before(:each) do\n      @event = build(:event,\n                     name: 'Spec Scrum',\n                     start_datetime: 'Mon, 10 Jun 2013 09:00:00 UTC',\n                     duration: 30,\n                     repeats: 'weekly',\n                     repeats_every_n_weeks: 1,\n                     repeats_weekly_each_days_of_the_week_mask: 0b1000000,\n                     repeat_ends: true,\n                     repeat_ends_on: '2013-07-01')\n    end\n\n    it 'should return the first event instance with its time in basic case' do\n      Delorean.time_travel_to(Time.parse('2013-06-15 09:27:00 UTC'))\n      expect(@event.next_event_occurrence_with_time[:time]).to eq('2013-06-16 09:00:00 UTC')\n    end\n\n    it 'should return nil if the series has expired' do\n      Delorean.time_travel_to(Time.parse('2013-07-15 09:27:00 UTC'))\n      expect(@event.next_event_occurrence_with_time).to be_nil\n    end\n\n    it 'should return the second event instance when the start time is moved forward' do\n      Delorean.time_travel_to(Time.parse('2013-06-20 09:27:00 UTC'))\n      expect(@event.next_event_occurrence_with_time[:time]).to eq('2013-06-23 09:00:00 UTC')\n    end\n\n    it 'should return the second event instance with its time when the first is deleted' do\n      Delorean.time_travel_to(Time.parse('2013-06-15 09:27:00 UTC'))\n      @event.remove_from_schedule(Time.parse('2013-6-16 09:00:00 UTC'))\n      expect(@event.next_event_occurrence_with_time[:time]).to eq('2013-06-23 09:00:00 UTC')\n    end\n\n    it 'should return the event instance when it is not recurring and the event occurs in the future' do\n      @event.update_attribute(:repeats, 'never')\n      Delorean.time_travel_to(Time.parse('2013-06-05 09:27:00 UTC'))\n      expect(@event.next_event_occurrence_with_time[:time]).to eq('2013-06-10 09:00:00 UTC')\n    end\n\n    it 'should not return the event instance when it is not recurring' do\n      @event.update_attribute(:repeats, 'never')\n      Delorean.time_travel_to(Time.parse('2013-06-15 09:27:00 UTC'))\n      expect(@event.next_event_occurrence_with_time).to be_nil\n    end\n  end\n\n  describe '#next_occurences' do\n    before do\n      @event = build_stubbed(:event,\n                             name: 'Spec Scrum',\n                             start_datetime: '2014-03-07 10:30:00 UTC',\n                             duration: 30)\n      allow(@event).to receive(:repeats).and_return('weekly')\n      allow(@event).to receive(:repeats_every_n_weeks).and_return(1)\n      allow(@event).to receive(:repeats_weekly_each_days_of_the_week_mask).and_return(0b1111111)\n      allow(@event).to receive(:repeat_ends).and_return(true)\n      allow(@event).to receive(:repeat_ends_on).and_return('Tue, 25 Jun 2015')\n      allow(@event).to receive(:friendly_id).and_return('spec-scrum')\n    end\n\n    it 'should return the next occurence of the event' do\n      Delorean.time_travel_to(Time.parse('2014-03-07 09:27:00 UTC'))\n      expect(@event.next_occurrence_time_method).to eq(Time.parse('2014-03-07 10:30:00 UTC'))\n    end\n\n    it 'includes the event that has been started within the last 15 minutes' do\n      Delorean.time_travel_to(Time.parse('2014-03-07 10:44:00 UTC'))\n      expect(@event.next_occurrence_time_method(15.minutes.ago)).to eq(Time.parse('2014-03-07 10:30:00 UTC'))\n    end\n\n    it 'does not include the event that has been started within more than 15 minutes ago' do\n      options = {}\n      Delorean.time_travel_to(Time.parse('2014-03-07 10:46:00 UTC'))\n      expect(@event.next_occurrence_time_method).to eq(Time.parse('2014-03-08 10:30:00 UTC'))\n    end\n\n    context 'test against start_datetime and repeat_ends_on' do\n      it 'starts in the future' do\n        Delorean.time_travel_to(Time.parse('2014-03-01 09:27:00 UTC'))\n        expect(@event.next_occurrence_time_method).to eq(Time.parse('2014-03-07 10:30:00 UTC'))\n      end\n\n      it 'already ended in the past' do\n        Delorean.time_travel_to(Time.parse('2016-02-07 09:27:00 UTC'))\n        expect(@event.next_occurrences.count).to eq(0)\n      end\n    end\n\n    context 'with input arguments' do\n      context ':limit option' do\n        it 'should limit the size of the output' do\n          options = { limit: 2 }\n          Delorean.time_travel_to(Time.parse('2014-03-08 09:27:00 UTC'))\n          expect(@event.next_occurrences(options).count).to eq(2)\n        end\n      end\n\n      context ':start_time option' do\n        it 'should return only occurrences after a specific time' do\n          start_time = Time.parse('2014-03-09 9:27:00 UTC')\n          Delorean.time_travel_to(Time.parse('2014-03-05 09:27:00 UTC'))\n          expect(@event.next_occurrence_time_method(start_time)).to eq(Time.parse('2014-03-09 10:30:00 UTC'))\n        end\n      end\n    end\n  end\n\n  describe 'Event#start_datetime_for_collection for starting event' do\n    before do\n      @event = build_stubbed(:event,\n                             name: 'Spec Scrum never ends',\n                             start_datetime: '2014-03-07 10:30:00 UTC',\n                             duration: 30)\n    end\n\n    it 'should return the start_time if it is specified' do\n      Delorean.time_travel_to(Time.parse('2015-06-23 09:27:00 UTC'))\n      options = { start_time: '2015-06-20 09:27:00 UTC' }\n      expect(@event.start_datetime_for_collection(options)).to eq(options[:start_time])\n    end\n  end\n\n  describe 'Event#final_datetime_for_collection for repeating event with ends_on' do\n    before do\n      @event = build_stubbed(:event,\n                             name: 'Spec Scrum ends',\n                             start_datetime: '2014-03-07 10:30:00 UTC',\n                             repeats: 'weekly',\n                             repeats_every_n_weeks: 1,\n                             repeats_weekly_each_days_of_the_week_mask: 0b1111111,\n                             repeat_ends: true,\n                             repeat_ends_on: '2015-6-25')\n    end\n\n    it 'should return the repeat_ends_on datetime if that comes first' do\n      Delorean.time_travel_to(Time.parse('2015-06-23 09:27:00 UTC'))\n      options = { end_time: '2015-06-30 09:27:00 UTC' }\n      expect(@event.final_datetime_for_collection(options)).to eq(@event.repeat_ends_on.to_datetime)\n    end\n\n    it 'should return the options[:endtime] if that comes before repeat_ends_on' do\n      Delorean.time_travel_to(Time.parse('2015-06-15 09:27:00 UTC'))\n      options = { end_time: '2015-06-20 09:27:00 UTC' }\n      expect(@event.final_datetime_for_collection(options)).to eq(options[:end_time].to_datetime)\n    end\n\n    it 'should return the repeat_ends_on datetime if there is no options[end_time] and the ends_on datetime is less than 10 days away' do\n      Delorean.time_travel_to(Time.parse('2015-06-23 09:27:00 UTC'))\n      expect(@event.final_datetime_for_collection).to eq(@event.repeat_ends_on.to_datetime)\n    end\n  end\n\n  describe 'Event#final_datetime_for_display for never-ending event' do\n    before do\n      @event = build_stubbed(:event,\n                             name: 'Spec Scrum never-ending',\n                             start_datetime: '2014-03-07 10:30:00 UTC',\n                             repeats: 'weekly',\n                             repeats_every_n_weeks: 1,\n                             repeats_weekly_each_days_of_the_week_mask: 0b1111111,\n                             repeat_ends: false)\n    end\n\n    it 'should return the options[:endtime] when specified' do\n      Delorean.time_travel_to(Time.parse('2015-06-15 09:27:00 UTC'))\n      options = { end_time: '2015-06-20 09:27:00 UTC' }\n      expect(@event.final_datetime_for_collection(options)).to eq(options[:end_time].to_datetime)\n    end\n\n    it 'should return 10 days from now if there is no options[end_time]' do\n      Delorean.time_travel_to(Time.parse('2015-06-23 09:27:00 UTC'))\n      # 10 days is the default\n      expect(@event.final_datetime_for_collection.to_datetime.to_s).to eq(10.days.from_now.to_datetime.to_s)\n    end\n  end\n\n  describe 'Event.next_event_occurence' do\n    before do\n      @event = create(:event,\n                      category: 'Scrum',\n                      name: 'Spec Scrum one-time',\n                      start_datetime: '2014-03-07 10:30:00 UTC',\n                      duration: 30,\n                      repeats: 'never')\n    end\n\n    it 'should return the next event occurence' do\n      Delorean.time_travel_to(Time.parse('2014-03-07 09:27:00 UTC'))\n      expect(Event.next_occurrence(:scrum)).to eq @event\n    end\n\n    it 'should return events that were schedule 15 minutes earlier or less' do\n      # 15 minutes is the default for COLLECTION_TIME_PAST\n      Delorean.time_travel_to(Time.parse('2014-03-07 10:44:59 UTC'))\n      expect(Event.next_occurrence(:scrum)).to eq @event\n    end\n\n    it 'should not return events that were scheduled to start more than 15 minutes ago' do\n      Delorean.time_travel_to(Time.parse('2014-03-07 10:45:01 UTC'))\n      expect(Event.next_occurrence(:scrum)).to be_nil\n    end\n\n    it 'should return events that were schedule 30 minutes earlier or less if we change collection_time_past to 30.minutes' do\n      Delorean.time_travel_to(Time.parse('2014-03-07 10:59:59 UTC'))\n      expect(Event.next_occurrence(:scrum, 30.minutes.ago)).to eq @event\n    end\n  end\n\n  describe '#recent_hangouts' do\n    before(:each) do\n      event.event_instances.create(created_at: Date.yesterday, updated_at: Date.yesterday + 15.minutes)\n      @recent_hangout = event.event_instances.create(created_at: 1.second.ago, updated_at: 1.second.ago)\n    end\n\n    it 'returns only the hangouts updated between yesterday and today' do\n      expect(event.recent_hangouts.to_a).to match_array([@recent_hangout])\n    end\n  end\n\n  describe '#upcoming_events' do\n    before(:each) do\n      @event1 = create(:event,\n                       category: 'Scrum',\n                       name: 'Spec Scrum one-time',\n                       start_datetime: '2015-06-15 09:20:00 UTC',\n                       duration: 30,\n                       repeats: 'never')\n      @event2 = create(:event,\n                       category: 'Scrum',\n                       name: 'Spec Scrum one-time',\n                       start_datetime: '2015-06-15 09:25:00 UTC',\n                       duration: 30,\n                       repeats: 'never')\n    end\n\n    it 'shows future events' do\n      Delorean.time_travel_to(Time.parse('2015-06-15 09:25:00 UTC'))\n      expect(Event.upcoming_events.count).to eq(2)\n    end\n\n    it 'does not show finished events' do\n      Delorean.time_travel_to(Time.parse('2015-06-15 09:51:00 UTC'))\n      expect(Event.upcoming_events.count).to eq(1)\n    end\n\n    it 'returns event 1 minute before ending' do\n      Delorean.time_travel_to(Time.parse('2015-06-15 09:54:00 UTC'))\n      expect(Event.upcoming_events.count).to eq(1)\n    end\n\n    it 'does not return event 1 minute after ending' do\n      Delorean.time_travel_to(Time.parse('2015-06-15 09:56:00 UTC'))\n      expect(Event.upcoming_events.count).to eq(0)\n    end\n\n    it 'returns event past event duration, but still live' do\n      event_instance = FactoryBot.create(:live_event_instance)\n      event_end_time = event_instance.event.start_datetime + event_instance.event.duration.minutes\n      expect(event_end_time).to be < Time.current\n      expect(event_instance.event).to eq(Event.upcoming_events.last[:event])\n    end\n  end\n\n  context 'modifier' do\n    it 'responds to modifier' do\n      @event = build(:event,\n                     name: 'Spec Scrum',\n                     modifier_id: 1)\n      expect(User).to receive(:find).with(1)\n      @event.modifier\n    end\n  end\n\n  context '#jitsi_room_link' do\n    it 'returns correct link' do\n      event = build(:event, name: 'Repeat Scrum-~!@#$')\n      expect(event.jitsi_room_link).to eq('https://meet.jit.si/AV_Repeat_Scrum')\n    end\n  end\n\n  describe '.future events' do\n    it 'does not pull non-repeating past events' do\n      create(:event, category: 'Scrum', name: 'Spec Scrum one-time',\n                     start_datetime: '2015-06-15 09:20:00 UTC', duration: 30,\n                     repeats: 'never')\n      Delorean.time_travel_to(Time.parse('2018-06-15 10:30:00 UTC'))\n      expect(Event.future_events.count).to eq(0)\n    end\n\n    it 'should pull an event in the future that does not repeat' do\n      create(:event, category: 'Pair with me', name: 'Pairing for the greater good',\n                     start_datetime: '2018-06-28 09:20:00 UTC', duration: 30,\n                     repeats: 'never')\n      Delorean.time_travel_to(Time.parse('2018-06-15 10:30:00 UTC'))\n      expect(Event.future_events.count).to eq(1)\n    end\n\n    it 'should pull an active repeating event with an outdated end date' do\n      create(:event, category: 'Pair with me', name: 'Pairing for the greater good',\n                     start_datetime: '2016-06-28 09:20:00 UTC', duration: 30,\n                     repeats: 'weekly', repeat_ends: false,\n                     repeat_ends_on: '2017-06-28 09:20:00 UTC')\n      expect(Event.future_events.count).to eq(1)\n    end\n\n    it 'should not pull an event that no longer repeats, and does not have an end date' do\n      create(:event, category: 'Pair with me', name: 'Pairing for the greater good',\n                     start_datetime: '2016-06-28 09:20:00 UTC', duration: 30,\n                     repeats: 'never', repeat_ends: false,\n                     repeat_ends_on: nil)\n      expect(Event.future_events.count).to eq(0)\n    end\n\n    context 'pulling past events that repeat' do\n      it 'should not return event with an end date in the past' do\n        create(:event, category: 'Pair with me', name: 'Pairing for the greater good',\n                       start_datetime: '2018-06-28 09:20:00 UTC', duration: 30,\n                       repeats: 'weekly', repeat_ends_on: '2018-010-10 09:20:00 UTC')\n        Delorean.time_travel_to(Time.parse('2018-11-15 10:30:00 UTC'))\n        expect(Event.future_events.count).to eq(0)\n      end\n\n      it 'should return event with an end date in the future' do\n        create(:event, category: 'Pair with me', name: 'Pairing for the greater good',\n                       start_datetime: '2018-06-28 09:20:00 UTC', duration: 30,\n                       repeats: 'weekly', repeat_ends_on: '2019-06-28 09:20:00 UTC')\n        Delorean.time_travel_to(Time.parse('2018-10-28 10:30:00 UTC'))\n        expect(Event.future_events.count).to eq(1)\n      end\n\n      it 'should return event with a repeat ends true with a date in the future' do\n        create(:event, category: 'Pair with me', name: 'Pairing for the greater good',\n                       start_datetime: '2018-06-28 09:20:00 UTC', duration: 30,\n                       repeats: 'weekly', repeat_ends_on: '2019-06-28 09:20:00 UTC',\n                       repeat_ends: true)\n        Delorean.time_travel_to(Time.parse('2018-10-28 10:30:00 UTC'))\n        expect(Event.future_events.count).to eq(1)\n      end\n    end\n  end\n\n  context '#slack_channel_codes' do\n    context 'default' do\n      it 'should return an empty array' do\n        event = build(:event, name: 'Event without slack channel associated')\n        expect(event.slack_channel_codes).to eq []\n      end\n    end\n  end\nend\n"
  },
  {
    "path": "spec/models/follow_spec.rb",
    "content": "# frozen_string_literal: true\n\ndescribe Follow, type: :model do\n  it 'should set blocked to true when block! is called ' do\n    follow = Follow.new\n    expect(follow).to receive(:update_attribute).with(:blocked, true)\n    follow.block!\n  end\nend\n"
  },
  {
    "path": "spec/models/hangout_participants_snapshot_spec.rb",
    "content": "# frozen_string_literal: true\n\ndescribe HangoutParticipantsSnapshot do\n  it { should belong_to(:event_instance) }\nend\n"
  },
  {
    "path": "spec/models/issue_tracker_spec.rb",
    "content": "# frozen_string_literal: true\n\ndescribe IssueTracker, type: :model do\n  it { is_expected.to belong_to :project }\nend\n"
  },
  {
    "path": "spec/models/karma_spec.rb",
    "content": "# frozen_string_literal: true\n\nRSpec.describe Karma, type: :model do\n  # no new functionality besides standard ActiveRecord functions yet\nend\n"
  },
  {
    "path": "spec/models/language_project_spec.rb",
    "content": "# frozen_string_literal: true\n\nRSpec.describe LanguageProject, type: :model do\n  it 'validate uniqueness of language name' do\n    new_language = Language.create(name: 'New language')\n    language_with_same_name = Language.create(name: 'New language')\n    expect(language_with_same_name).to_not be_valid\n  end\n\n  it 'validates uniqueness of languages' do\n    new_project = FactoryBot.create(:project)\n    new_language = Language.create(name: 'New language')\n    found_language = Language.find_by(name: new_language.name)\n    language_in_join_table = new_project.languages.create(name: found_language.name)\n    expect(language_in_join_table).to_not be_valid\n  end\nend\n"
  },
  {
    "path": "spec/models/null_user_spec.rb",
    "content": "# frozen_string_literal: true\n\ndescribe NullUser, type: :model do\n  let(:user) { NullUser.new('I am not null') }\n\n  it '#display_name' do\n    expect(user.display_name).to eq('I am not null')\n  end\nend\n"
  },
  {
    "path": "spec/models/payment_source_spec.rb",
    "content": "# frozen_string_literal: true\n\nshared_examples 'a payment source' do\n  it { should belong_to :subscription }\n  it 'has the correct type' do\n    expect(subject.type).to eq type\n  end\n\n  it 'has identifier' do\n    expect(subject.identifier).to be_nil\n  end\nend\n\ndescribe PaymentSource::PaymentSource do\n  let(:type) { nil }\n  it_behaves_like 'a payment source'\nend\n\ndescribe PaymentSource::CraftAcademy do\n  let(:type) { 'PaymentSource::CraftAcademy' }\n  it_behaves_like 'a payment source'\nend\n\ndescribe PaymentSource::Stripe do\n  let(:type) { 'PaymentSource::Stripe' }\n  it_behaves_like 'a payment source'\nend\n\ndescribe PaymentSource::Invoice do\n  let(:type) { 'PaymentSource::Invoice' }\n  it_behaves_like 'a payment source'\nend\n\ndescribe PaymentSource::Other do\n  let(:type) { 'PaymentSource::Other' }\n  it_behaves_like 'a payment source'\nend\n"
  },
  {
    "path": "spec/models/plan_spec.rb",
    "content": "# frozen_string_literal: true\n\nRSpec.describe Plan, type: :model do\n  describe '#free_trial?' do\n    it 'has a free trial when the length of the free trial is greater than 0 days' do\n      plan = Plan.new(free_trial_length_days: 6)\n      expect(plan).to be_free_trial\n    end\n  end\nend\n"
  },
  {
    "path": "spec/models/project_spec.rb",
    "content": "# frozen_string_literal: true\n\nRSpec.describe Project, type: :model do\n  it { is_expected.to have_many :source_repositories }\n  it { is_expected.to have_many :documents }\n  it { is_expected.to have_many :event_instances }\n  it { is_expected.to have_many :commit_counts }\n  it { is_expected.to have_many :issue_trackers }\n\n  it { is_expected.to belong_to(:user).optional(true) }\n\n  context '#save' do\n    subject { build_stubbed(:project) }\n    it { is_expected.to respond_to :create_activity }\n\n    it 'has public-activity enabled' do\n      expect(subject.public_activity_enabled?).to eq true\n    end\n\n    it 'should be a valid with all the correct attributes' do\n      expect(subject).to be_valid\n    end\n\n    it 'should be invalid without title' do\n      subject.title = ''\n      expect(subject).to_not be_valid\n    end\n\n    it 'should be invalid without description' do\n      subject.description = ''\n      expect(subject).to_not be_valid\n    end\n\n    it 'should be invalid without status' do\n      subject.status = ''\n      expect(subject).to_not be_valid\n    end\n\n    it 'should not crash the website with an invalid image url ' do\n      subject.image_url = 'https://www.flickr.com/photos/63977906@N00'\n      expect(subject).to_not be_valid\n    end\n\n    it 'should not accept invalid github url' do\n      subject.source_repositories.create(url: 'https:/github.com/google/instant-hangouts')\n      expect(subject).to_not be_valid\n    end\n\n    it 'should throw error for incomplete github url' do\n      subject.source_repositories.create(url: 'https://github.com/edx')\n      expect { subject.github_repo_name }.to raise_error(NoMethodError, \"undefined method `[]' for nil:NilClass\")\n    end\n\n    it 'should not accept invalid Pivotal Tracker URL' do\n      subject.pivotaltracker_url = 'https://www.pivotaltracker.com/s/../../912312'\n      expect(subject).to_not be_valid\n    end\n\n    context 'Updating friendly ids' do\n      let(:project) { create(:project, title: 'Old news') }\n      before { project.update(title: 'New and seksay title') }\n\n      it \"should regenerate the project's friendly id when the title changes\" do\n        expect(project.friendly_id).to eq 'new-and-seksay-title'\n      end\n\n      it 'should still be able to find the project by its old id' do\n        expect(Project.friendly.find('old-news')).to eq project\n      end\n    end\n\n    context 'Pivotal Tracker URL' do\n      it 'should correct mistakes in pivotal tracker url' do\n        subject.pivotaltracker_url = 'www.pivotaltracker.com/s/projects/1234'\n        expect(subject).to be_valid\n        expect(subject.pivotaltracker_url).to eq 'https://www.pivotaltracker.com/n/projects/1234'\n      end\n\n      it 'should accept the subject id and convert that into a valid URL' do\n        subject.pivotaltracker_url = '1234'\n        expect(subject).to be_valid\n        expect(subject.pivotaltracker_url).to eq 'https://www.pivotaltracker.com/n/projects/1234'\n      end\n\n      it 'should accept new pivotal traker url format' do\n        subject.pivotaltracker_url = 'www.pivotaltracker.com/n/projects/1234'\n        expect(subject).to be_valid\n        expect(subject.pivotaltracker_url).to eq 'https://www.pivotaltracker.com/n/projects/1234'\n      end\n    end\n  end\n\n  describe '#url_for_me' do\n    it 'returns correct url for show action' do\n      expect(subject.url_for_me('show')).to eq \"/projects/#{subject.slug}\"\n    end\n\n    it 'returns correct url for other actions' do\n      expect(subject.url_for_me('new')).to eq \"/projects/#{subject.slug}/new\"\n    end\n  end\n\n  describe '#youtube_tags' do\n    it 'returns the tags for project including the project title' do\n      project = build_stubbed(:project, title: 'WebsiteOne', tag_list: ['WSO'])\n      expect(project.youtube_tags).to eq %w(wso websiteone)\n    end\n  end\n\n  describe '#members_tags' do\n    it 'returns the tags for project members with thier youtube user names' do\n      users = [User.new(youtube_user_name: 'test_id'), User.new(youtube_user_name: 'test_id_2')]\n      allow(subject).to receive(:members).and_return(users)\n      expect(subject.members_tags).to eq %w(test_id test_id_2)\n    end\n  end\n\n  describe '#members' do\n    it 'returns followers of the project who have a public profile' do\n      @users = [User.new(slug: 'my-friendly-id', display_profile: true)]\n      @more_users = @users + [User.new(slug: 'another-friendly-id', display_profile: false)]\n      allow(subject).to receive(:followers).and_return(@more_users)\n\n      expect(subject.members).to eq @users\n    end\n  end\n\n  describe '#github_repo' do\n    it 'returns blank if github url does not exist' do\n      project = build_stubbed(:project, github_url: nil)\n      expect(project.github_repo).to be_blank\n    end\n\n    it 'returns the proper repo name if github url exists' do\n      project = build_stubbed(:project)\n      project.source_repositories.create(url: 'https://github.com/AgileVentures/WebsiteOne')\n      expect(project.github_repo).to eq 'AgileVentures/WebsiteOne'\n    end\n  end\n\n  describe '#contribution_url' do\n    it 'returns the url for the project github contribution page' do\n      allow(subject).to receive(:github_repo).and_return('test/test')\n      expect(subject.contribution_url).to eq 'https://github.com/test/test/graphs/contributors'\n    end\n  end\n\n  describe '#github_repo_user_name' do\n    it 'deals with hyphen gracefully' do\n      project = build_stubbed(:project)\n      project.source_repositories.create(url: 'https://github.com/AgileVentures/shf-project')\n      expect(project.github_repo_name).to eq 'shf-project'\n    end\n  end\n\n  describe '#codeclimate_gpa' do\n    subject(:project) { build_stubbed(:project, github_url: 'https://github.com/AgileVentures/WebsiteOne') }\n\n    it 'returns the CodeClimate GPA' do\n      expect(CodeClimateBadges).to receive_message_chain(:new, :gpa).and_return('3.4')\n      expect(project.gpa).to eq '3.4'\n    end\n  end\n\n  context '#jitsi_room_link' do\n    it 'returns correct link' do\n      project = FactoryBot.build(:project, title: 'Simple Project-~!@#$')\n      expect(project.jitsi_room_link).to eq('https://meet.jit.si/AV_Simple_Project')\n    end\n  end\n\n  context '.with_github_url' do\n    it 'returns all projects that have at least one source repository' do\n      project = FactoryBot.create(:project)\n      project.source_repositories.create(url: 'https://github.com/AgileVentures/shf-project')\n      project2 = FactoryBot.create(:project)\n      project2.source_repositories.create(url: 'https://github.com/AgileVentures/shf-project2')\n      expect(Project.with_github_url).to include(project, project2)\n    end\n\n    it 'does not return projects that do not have a source repository' do\n      project = FactoryBot.build(:project)\n      expect(Project.with_github_url).not_to include(project)\n    end\n  end\nend\n"
  },
  {
    "path": "spec/models/source_repository_spec.rb",
    "content": "# frozen_string_literal: true\n\ndescribe SourceRepository, type: :model do\n  it { is_expected.to belong_to :project }\n\n  describe '#name' do\n    subject(:source_repository) { described_class.new }\n    it 'returns the empty string when url is nil' do\n      expect(source_repository.name).to be_empty\n    end\n    it 'returns the url when it has no forward slashes' do\n      source_repository.url = 'test'\n      expect(source_repository.name).to eq source_repository.url\n    end\n    it 'returns the last text after the forward slash if one is present' do\n      source_repository.url = 'test/name'\n      expect(source_repository.name).to eq 'name'\n    end\n  end\nend\n"
  },
  {
    "path": "spec/models/static_page_spec.rb",
    "content": "# frozen_string_literal: true\n\ndescribe StaticPage, type: :model do\n  subject { FactoryBot.create(:static_page) }\n\n  it { is_expected.to be_versioned }\n\n  it 'should be valid with all the correct attributes' do\n    expect(subject).to be_valid\n  end\n\n  it 'should be invalid without title' do\n    subject.title = ''\n    expect(subject).to_not be_valid\n  end\n\n  context 'correct urls for static pages' do\n    context 'with ancestors' do\n      let(:page_child) { FactoryBot.create(:static_page, parent_id: subject.id) }\n      let(:page_url) { \"#{subject.slug}/#{page_child.slug}\" }\n\n      it 'returns url for static page object' do\n        expect(StaticPage.url_for_me(page_child)).to eq page_url\n      end\n      it 'returns url for static page title' do\n        expect(StaticPage.url_for_me(page_child.title)).to eq page_url\n      end\n      it 'returns url for static page slug' do\n        expect(StaticPage.url_for_me(page_child.slug)).to eq page_url\n      end\n    end\n\n    context 'without ancestors' do\n      it 'returns url for static page object' do\n        expect(StaticPage.url_for_me(subject)).to eq subject.slug\n      end\n      it 'returns url for static page title' do\n        expect(StaticPage.url_for_me(subject.title)).to eq subject.slug\n      end\n      it 'returns url for static page slug' do\n        expect(StaticPage.url_for_me(subject.slug)).to eq subject.slug\n      end\n    end\n\n    it 'returns url for non-existant static page' do\n      expect(StaticPage.url_for_me('does not exist')).to eq 'does-not-exist'\n    end\n  end\nend\n"
  },
  {
    "path": "spec/models/status_spec.rb",
    "content": "# frozen_string_literal: true\n\ndescribe Status do\n  let(:user) { FactoryBot.create(:user) }\n  subject { FactoryBot.create(:status, user: user) }\n\n  it { is_expected.to belong_to(:user).counter_cache(:status_count) }\n  it { is_expected.to validate_presence_of :status }\n  it { is_expected.to validate_presence_of :user_id }\n\n  it 'should have valid factory' do\n    expect(FactoryBot.create(:status)).to be_valid\n  end\n\n  it 'assigns user_id to status' do\n    expect(subject[:user_id]).to eql(user.id)\n  end\n\n  it 'should be valid with all required attributes' do\n    expect(subject).to be_valid\n  end\n\n  it 'should be invalid without status' do\n    expect(build_stubbed(:status, status: nil, user: user)).to_not be_valid\n  end\n\n  it 'should be invalid without user_id' do\n    expect(build_stubbed(:status, user: nil)).to_not be_valid\n  end\n\n  it 'should be invalid with unpredicted content' do\n    expect(build_stubbed(:status, status: 'wtf?')).to_not be_valid\n  end\nend\n"
  },
  {
    "path": "spec/models/subscription_spec.rb",
    "content": "# frozen_string_literal: true\n\nshared_examples 'a subscription' do\n  it { should belong_to :user }\n  it { should belong_to :plan }\n\n  it { should have_one :payment_source }\n\n  it 'has the correct type' do\n    expect(subject.type).to eq type\n  end\n\n  it { should validate_presence_of :started_at }\n\n  it 'has ended_at' do\n    expect(subject.ended_at).to be_nil\n  end\n\n  it { should delegate_method(:identifier).to(:payment_source) }\nend\n\ndescribe Subscription, type: :model do\n  let(:type) { nil }\n  it_behaves_like 'a subscription'\nend\n\ndescribe Premium, type: :model do\n  let(:type) { 'Premium' }\n  it_behaves_like 'a subscription'\nend\n\ndescribe PremiumMob, type: :model do\n  let(:type) { 'PremiumMob' }\n  it_behaves_like 'a subscription'\nend\n\ndescribe PremiumF2F, type: :model do\n  let(:type) { 'PremiumF2F' }\n  it_behaves_like 'a subscription'\nend\n\ndescribe PremiumPlus, type: :model do\n  let(:type) { 'PremiumPlus' }\n  it_behaves_like 'a subscription'\nend\n"
  },
  {
    "path": "spec/models/user_spec.rb",
    "content": "# frozen_string_literal: true\n\nRSpec.describe User, type: :model do\n  include_examples 'presentable'\n\n  subject { build_stubbed :user }\n\n  it 'includes Filterable module' do\n    expect(User.ancestors).to include(Filterable)\n  end\n\n  context 'associations' do\n    it { is_expected.to have_many(:subscriptions).autosave(true) }\n\n    it { is_expected.to have_one :karma }\n\n    it { is_expected.to have_many(:authentications).dependent(:destroy) }\n\n    it { is_expected.to have_many(:projects) }\n\n    it { is_expected.to have_many(:documents) }\n\n    it { is_expected.to have_many(:articles) }\n\n    it { is_expected.to have_many(:event_instances) }\n\n    it { is_expected.to have_many(:commit_counts) }\n\n    it { is_expected.to have_many(:status) }\n  end\n\n  it { is_expected.to accept_nested_attributes_for :status }\n\n  it { is_expected.to respond_to :status_count }\n\n  it 'should have valid factory' do\n    expect(create(:user)).to be_valid\n  end\n\n  it 'should be invalid without email' do\n    expect(build_stubbed(:user, email: '')).to_not be_valid\n  end\n\n  it 'should be invalid with an invalid email address' do\n    expect(build(:user, email: 'user@foo,com')).to_not be_valid\n  end\n\n  it 'should be valid with all the correct attributes' do\n    expect(subject).to be_valid\n  end\n\n  it 'should reject duplicate email addresses' do\n    user = create(:user)\n    expect(build(:user, email: user.email)).to_not be_valid\n  end\n\n  it 'should reject email addresses identical up to case' do\n    upcased_email = subject.email.upcase\n    _existing_user = create(:user, email: upcased_email)\n    expect(build(:user, email: subject.email)).to_not be_valid\n  end\n\n  it 'should be invalid without password' do\n    expect(build_stubbed(:user, password: '')).to_not be_valid\n  end\n\n  it 'should be invalid without matching password confirmation' do\n    expect(build_stubbed(:user, password_confirmation: 'invalid')).to_not be_valid\n  end\n\n  it 'should be invalid with short password' do\n    expect(build_stubbed(:user, password: 'aaa', password_confirmation: 'aaa')).to_not be_valid\n  end\n\n  it 'should respond to is_privileged?' do\n    expect(build(:user)).to respond_to(:is_privileged?)\n  end\n\n  it \"should return false if 'Settings.privileged_users' is not setup\" do\n    Settings.privileged_users = nil\n    expect(create(:user).is_privileged?).to be false\n  end\n\n  describe 'scopes' do\n    context '#mail_receiver' do\n      let!(:user1) { create(:user, receive_mailings: false) }\n      let!(:user2) { create(:user, receive_mailings: true) }\n\n      it { expect(User).to respond_to(:mail_receiver) }\n\n      it { expect(User.mail_receiver).to include(user2) }\n\n      it { expect(User.mail_receiver).to_not include(user1) }\n    end\n\n    context '#allow_to_display' do\n      let!(:user1) { create(:user, display_profile: false) }\n      let!(:user2) { create(:user, display_profile: true) }\n\n      it { expect(User).to respond_to(:allow_to_display) }\n\n      it { expect(User.allow_to_display).to include(user2) }\n\n      it { expect(User.allow_to_display).to_not include(user1) }\n    end\n  end\n\n  describe 'slug generation' do\n    subject { build(:user, slug: nil) }\n    it 'should automatically generate a slug' do\n      subject.save\n      expect(subject.slug).to_not eq nil\n    end\n\n    it 'should be manually adjustable' do\n      slug = 'this-is-a-slug'\n      subject.slug = slug\n      subject.save\n      expect(User.find(subject.id).slug).to eq slug\n    end\n\n    it 'should be remade when the display name changes' do\n      subject.save\n      slug = subject.slug\n      subject.update(first_name: 'Shawn')\n      expect(subject.slug).to_not eq slug\n    end\n\n    it 'should not be affected by multiple saves' do\n      subject.save\n      slug = subject.slug\n      subject.save\n      expect(subject.slug).to eq slug\n    end\n  end\n\n  describe 'geocoding' do\n    subject { build(:user, last_sign_in_ip: '85.228.111.204') }\n\n    before(:each) do\n      Geocoder.configure(lookup: :test, ip_lookup: :test)\n      sweden_address = [\n        {\n          ip: '85.228.111.204',\n          country_code: 'SE',\n          country_name: 'Sweden',\n          region_code: '28',\n          region_name: 'Västra Götaland',\n          city: 'Alingsås',\n          zipcode: '44139',\n          latitude: 57.9333,\n          longitude: 12.5167,\n          metro_code: '',\n          areacode: ''\n        }.as_json\n      ]\n\n      Geocoder::Lookup::Test.add_stub('127.0.0.1', sweden_address)\n      Geocoder::Lookup::Test.add_stub('0.0.0.0', sweden_address)\n      Geocoder::Lookup::Test.add_stub('85.228.111.204', sweden_address)\n\n      Geocoder::Lookup::Test.add_stub(\n        '50.78.167.161', [\n          {\n            ip: '50.78.167.161',\n            country_code: 'US',\n            country_name: 'United States',\n            region_code: 'WA',\n            region_name: 'Washington',\n            city: 'Seattle',\n            zipcode: '',\n            latitude: 47.6062,\n            longitude: -122.3321,\n            metro_code: '819',\n            areacode: '206'\n          }.as_json\n        ]\n      )\n    end\n\n    # TODO: These tests are up for refactoring\n    it 'should perform geocode' do\n      subject.save\n      expect(subject.latitude).to_not eq nil\n      expect(subject.longitude).to_not eq nil\n      expect(subject.city).to_not eq nil\n      expect(subject.country_name).to_not eq nil\n      expect(subject.country_code).to_not eq nil\n    end\n\n    it 'should set user location' do\n      subject.save\n      expect(subject.latitude).to eq 57.9333\n      expect(subject.longitude).to eq 12.5167\n      expect(subject.city).to eq 'Alingsås'\n      expect(subject.country_name).to eq 'Sweden'\n      expect(subject.country_code).to eq 'SE'\n    end\n\n    it 'should change location if ip changes' do\n      subject.save\n      subject.update(last_sign_in_ip: '50.78.167.161')\n      expect(subject.city).to eq 'Seattle'\n      expect(subject.country_name).to eq 'United States'\n      expect(subject.country_code).to eq 'US'\n    end\n  end\n  # End refactoring block\n\n  describe '#followed_project_tags' do\n    it 'returns project tags for projects with project title and tags and a scrum tag' do\n      project_1 = build_stubbed(:project, title: 'Big Boom', tag_list: ['Big Regret', 'Boom', 'Bang'])\n      project_2 = build_stubbed(:project, title: 'Black hole', tag_list: [])\n      allow(subject).to receive(:following_projects).and_return([project_1, project_2])\n      expect(subject.followed_project_tags).to eq ['big regret', 'boom', 'bang', 'big boom', 'black hole', 'scrum']\n    end\n  end\n\n  describe '#gravatar_url' do\n    let(:email) { ' MyEmailAddress@example.com  ' }\n    let(:user_hash) { '0bc83cb571cd1c50ba6f3e8a78ef1346' }\n    let(:user) { User.new(email: email) }\n\n    it 'should construct a link to the image at gravatar.com' do\n      regex = %r{^https://.*gravatar.*#{user_hash}}\n      expect(user.gravatar_url).to match(regex)\n    end\n\n    it 'should be able to specify image size' do\n      expect(user.gravatar_url(size: 200)).to match(/\\?s=200&/)\n    end\n  end\n\n  describe '.param_filter' do\n    let(:params) { {} }\n\n    context 'has filters' do\n      before(:each) do\n        @user1 = create(:user, latitude: 59.33, longitude: 18.06)\n        @user2 = create(:user, latitude: -29.15, longitude: 27.74)\n        @project = create(:project)\n      end\n\n      it 'filters users for project' do\n        @user1.follow @project\n        @user2.stop_following @project\n        params['project_filter'] = @project.id\n\n        results = User.param_filter(params).allow_to_display\n\n        expect(results).to include(@user1)\n        expect(results).not_to include(@user2)\n      end\n    end\n\n    context 'no filters' do\n      subject { User.param_filter(params).allow_to_display }\n\n      before(:each) do\n        create(:user, first_name: 'Bob', created_at: 5.days.ago)\n        create(:user, first_name: 'Marley', created_at: 2.days.ago)\n        create(:user, first_name: 'Janice', display_profile: false)\n      end\n\n      it 'ordered by creation date' do\n        expect(subject.first.first_name).to eq('Bob')\n      end\n\n      it 'filtered by the display_profile property' do\n        results = subject.map(&:first_name)\n        expect(results).to include('Marley')\n        expect(results).not_to include('Janice')\n      end\n    end\n\n    describe '.find_by_github_username' do\n      it 'returns the user if it exists' do\n        user_with_github = create(:user, github_profile_url: 'https://github.com/sampritipanda')\n        user_without_github = create(:user, github_profile_url: nil)\n        expect(User.find_by_github_username('sampritipanda')).to eq user_with_github\n      end\n\n      it 'returns nil if no user exists' do\n        expect(User.find_by_github_username('unknown-guy')).to be_nil\n      end\n    end\n\n    describe 'user online?' do\n      let(:user) { @user }\n\n      before(:each) do\n        @user = create(:user, updated_at: '2014-09-30 05:00:00 UTC')\n      end\n\n      after(:each) do\n        Delorean.back_to_the_present\n      end\n\n      it 'returns true if touched in last 10 minutes' do\n        Delorean.time_travel_to(Time.parse('2014-09-30 05:09:00 UTC'))\n        expect(user).to be_online\n      end\n\n      it 'returns false if touched more then 10 minutes ago' do\n        Delorean.time_travel_to(Time.parse('2014-09-30 05:12:00 UTC'))\n        expect(user.online?).to eq false\n      end\n    end\n  end\n\n  describe 'incomplete profile' do\n    let(:user) { create(:user, :with_karma, updated_at: '2014-09-30 05:00:00 UTC') }\n\n    it 'returns true if bio empty' do\n      user.bio = ''\n      expect(user.incomplete?).to be_truthy\n    end\n\n    it 'returns true if skills empty' do\n      user.skill_list = ''\n      user.save\n      expect(user.incomplete?).to be_truthy\n    end\n\n    it 'returns true if first_name empty' do\n      user.first_name = ''\n      expect(user.incomplete?).to be_truthy\n    end\n\n    it 'returns true if skills empty' do\n      user.last_name = ''\n      expect(user.incomplete?).to be_truthy\n    end\n\n    it 'returns false if all are complete' do\n      expect(user.incomplete?).to be_falsey\n    end\n\n    it 'returns true with nil values' do\n      expect(User.new.incomplete?).to be_truthy\n    end\n  end\n\n  context 'karma' do\n    describe '#commit_count_total' do\n      subject(:user) { create(:user, :with_karma) }\n\n      let!(:commit_count) { create(:commit_count, user: user, commit_count: 369) }\n\n      context 'single commit count' do\n        it 'returns totals commits over all projects' do\n          expect(user.commit_count_total).to eq 369\n        end\n      end\n\n      context 'multiple commit count' do\n        let!(:commit_count_2) { create(:commit_count, user: user, commit_count: 123) }\n        it 'returns totals commits over all projects' do\n          expect(user.commit_count_total).to eq 492\n        end\n      end\n    end\n\n    describe '#number_hangouts_started_with_more_than_one_participant' do\n      subject(:user) { create(:user, :with_karma) }\n\n      let!(:event_instance) { create(:event_instance, user: user) }\n      context 'single event instance' do\n        it 'returns total number of hangouts started with more than one participant' do\n          expect(user.number_hangouts_started_with_more_than_one_participant).to eq 1\n        end\n      end\n\n      context 'two event instances' do\n        let!(:event_instance2) { create(:event_instance, user: user) }\n        it 'returns total number of hangouts started with more than one participant' do\n          expect(user.number_hangouts_started_with_more_than_one_participant).to eq 2\n        end\n      end\n    end\n\n    describe '#hangouts_attended_with_more_than_one_participant' do\n      subject(:user) { create(:user, :with_karma, hangouts_attended_with_more_than_one_participant: 1) }\n      it 'returns 1' do\n        expect(user.hangouts_attended_with_more_than_one_participant).to eq 1\n      end\n    end\n\n    describe '#profile_completeness' do\n      subject(:user) { create(:user, :with_karma) }\n      it 'calculates profile completeness' do\n        expect(user.profile_completeness).to eq 6\n      end\n    end\n\n    describe '#activity' do\n      subject(:user) { create(:user, :with_karma) }\n      it 'calculates sign in activity' do\n        expect(user.activity).to eq 0\n      end\n    end\n\n    describe '#membership_length' do\n      subject(:user) { create(:user, :with_karma) }\n      it 'calculates membership length' do\n        expect(user.membership_length).to eq 0\n      end\n    end\n\n    describe '#membership_type' do\n      subject(:user) { create(:user, :with_karma) }\n\n      it 'returns membership type' do\n        expect(user.membership_type).to eq 'Basic'\n      end\n\n      context 'premium member' do\n        subject(:user) { create(:user, :with_karma) }\n        subject(:plan) { create(:plan, name: 'Premium') }\n        let!(:premium) { create(:subscription, user: user, plan: plan) }\n\n        it 'returns premium' do\n          expect(user.membership_type).to eq 'Premium'\n        end\n      end\n    end\n\n    describe '#karma_total' do\n      subject(:user) { create(:user, :with_karma) }\n      it 'returns 0 when user initially created' do\n        expect(user.karma_total).to eq 0\n      end\n      context 'once associated karma object is created' do\n        subject(:user) { build(:user, :with_karma, karma: FactoryBot.create(:karma, total: 50)) }\n        it 'returns non zero' do\n          expect(user.karma_total).to eq 50\n        end\n      end\n    end\n  end\n\n  context 'destroying user' do\n    it 'should soft destroy' do\n      user = User.new({ email: 'doh@doh.com', password: '12345678' })\n      user.save!\n      user.destroy!\n      expect(user.deleted_at).to_not eq nil\n    end\n  end\n\n  context 'creating user' do\n    it 'should not override existing karma' do\n      user = User.new({ email: 'doh@doh.com', password: '12345678' })\n      user.karma = Karma.new(total: 50)\n      user.save!\n      expect(user.karma.total).to eq 50\n    end\n  end\n\n  context 'supporting current subscription' do\n    subject(:user) { create(:user, :with_karma) }\n    let(:premium) { create(:plan, name: 'Premium') }\n    let(:premium_mob) { create(:plan, name: 'Premium Mob') }\n    let(:premium_f2f) { create(:plan, name: 'Premium F2F') }\n    let(:payment_source) { PaymentSource::PayPal.create(identifier: '75e') }\n    let(:now) { DateTime.now }\n\n    # presence of type (no longer used) in the Subscriptions model is confusing ...\n    # should get rid of all the STI classes ...\n\n    let!(:subscription1) do\n      create(:subscription, user: user, plan: premium, started_at: 2.days.ago, ended_at: 1.day.ago)\n    end\n    let!(:subscription2) do\n      create(:subscription, user: user, plan: premium_mob, started_at: 1.day.ago,\n                            payment_source: payment_source)\n    end\n\n    it 'returns subscription that has started and has not ended' do\n      expect(user.current_subscription.id).to eq subscription2.id\n    end\n\n    it 'asks subscription for identifier' do\n      expect(subject.stripe_customer_id).to eq '75e'\n    end\n\n    # this nails an issue that we were checking < and not <= but\n    # it doesn't seem to capture that we need to_i's to get the date\n    # equality comparison to work ...\n    context 'just started a new plan' do\n      before do\n        subscription2.ended_at = now\n        subscription2.save\n      end\n      let!(:subscription3) do\n        create(:subscription, user: user, plan: premium_f2f, started_at: now, payment_source: payment_source)\n      end\n\n      it 'returns subscription that has started right now and has not ended' do\n        expect(user.current_subscription.id).to eq subscription3.id\n      end\n    end\n  end\nend\n"
  },
  {
    "path": "spec/presenters/event_instance_presenter_spec.rb",
    "content": "# frozen_string_literal: true\n\nRSpec.describe EventInstancePresenter do\n  let(:presenter) { EventInstancePresenter.new(hangout) }\n\n  context 'all fields are present' do\n    let(:hangout) { build_stubbed(:event_instance, created: '1979-10-14 11:15 UTC') }\n\n    it 'displays created time' do\n      expect(presenter.created_at).to eq('11:15 14/10')\n    end\n\n    it 'displays title' do\n      expect(presenter.title).to eq(hangout.title)\n    end\n\n    it 'displays category' do\n      expect(presenter.category).to eq(hangout.category)\n    end\n\n    it 'displays project' do\n      expect(presenter.project_link).to match %(<a href=\"#{project_path(hangout.project)}\")\n      expect(presenter.project_link).to match hangout.project.title.to_s\n    end\n\n    it 'displays event' do\n      expect(presenter.event_link).to match %(<a href=\"#{event_path(hangout.event)}\")\n      expect(presenter.event_link).to match hangout.event.name.to_s\n    end\n\n    it 'returns host' do\n      expect(presenter.host).to eq(hangout.user)\n    end\n\n    it 'returns an array of participants' do\n      expect(presenter.participants).to eq(\n        [\n          NullUser.new('Anonymous'),\n          NullUser.new('Anonymous')\n        ]\n      )\n    end\n\n    it 'do not show the host in the list of participants' do\n      create(:user, gplus: hangout.participants.first.last['person']['id'])\n      expect(presenter.participants).not_to include(hangout.user)\n    end\n\n    it 'returns video url' do\n      expect(presenter.video_url).to eq(\"https://www.youtube.com/watch?v=#{presenter.yt_video_id}&feature=youtube_gdata\")\n    end\n\n    it 'returns a link to video' do\n      expect(presenter.video_link).to include(\n        'class=\"yt_link\"', \"data-content=\\\"#{presenter.title}\\\"\",\n        \"href=\\\"#{presenter.video_url}\\\"\", \"id=\\\"#{presenter.yt_video_id}\\\"\"\n      )\n    end\n\n    it 'returns a link to youtube player' do\n      link = \"https://www.youtube.com/embed/#{presenter.yt_video_id}?enablejsapi=1\"\n      expect(presenter.video_embed_link).to eq(link)\n    end\n  end\n\n  context 'some fields are missing' do\n    let(:hangout) do\n      build_stubbed(:event_instance,\n                    title: nil,\n                    category: nil,\n                    project: nil,\n                    event: nil,\n                    user: nil,\n                    yt_video_id: nil,\n                    participants: nil)\n    end\n\n    it 'displays title' do\n      expect(presenter.title).to eq('No title given')\n    end\n\n    it 'displays category' do\n      expect(presenter.category).to eq('-')\n    end\n\n    it 'displays project' do\n      expect(presenter.project_link).to eq('-')\n    end\n\n    it 'displays event' do\n      expect(presenter.event_link).to eq('-')\n    end\n\n    it 'returns host' do\n      expect(presenter.host.display_name).to eq('Anonymous')\n    end\n\n    it 'returns an array of participants' do\n      expect(presenter.participants).to eq([])\n    end\n\n    it 'returns an array with nullUser if participant gplus_id is not found' do\n      hangout.participants = ActionController::Parameters.new({ '0' => { person: { displayName: 'Bob',\n                                                                                   id: 'not_registered' } } })\n      expect(presenter.participants.first.display_name).to eq('Bob')\n    end\n\n    it \"don't throw an exception when have nil person at participants\" do\n      hangout.participants = ActionController::Parameters.new({ '0' => { person: nil } })\n      expect(presenter.participants).to be_empty\n    end\n\n    it 'returns video url' do\n      expect(presenter.video_url).to eq('#')\n    end\n\n    it 'returns a link to video' do\n      expect(presenter.video_link).to eq \"video unavailable ('Start Broadcast' not pressed, or Hangout/YouTube fail)\"\n    end\n\n    it 'returns a link to youtube player' do\n      expect(presenter.video_embed_link).to be_nil\n    end\n  end\nend\n"
  },
  {
    "path": "spec/presenters/users/user_presenter_spec.rb",
    "content": "# frozen_string_literal: true\n\ndescribe UserPresenter do\n  subject { UserPresenter.new(user) }\n  let(:user) { FactoryBot.build_stubbed(:user, first_name: '', last_name: '', email: '') }\n\n  describe '#display_name' do\n    it 'should display the first part of the email address when no name is given' do\n      user.email = 'joe@blow.com'\n      expect(subject.display_name).to eq 'joe'\n    end\n\n    it 'should display the full name when first and last name fields are given' do\n      user.first_name = 'Joe'\n      user.last_name = 'Blow'\n      expect(subject.display_name).to eq 'Joe Blow'\n    end\n\n    it 'should display the first name when the last name field is empty' do\n      user.first_name = 'Joe'\n      user.last_name = ''\n      expect(subject.display_name).to eq 'Joe'\n    end\n\n    it 'should ignore extra whitespaces' do\n      user.first_name = ''\n      user.last_name = ' Blow '\n      expect(subject.display_name).to eq 'Blow'\n    end\n\n    it 'should display anonymous when there is no first name, last name or email' do\n      expect(subject.display_name).to eq 'Anonymous'\n    end\n  end\n\n  describe '#contributors' do\n    let(:user) { create(:user) }\n    let(:commit_counts) { create_list(:commit_count, 2, user: user) }\n\n    before do\n      user.follow commit_counts.first.project\n    end\n\n    it 'should only return commit counts for the projects that the user follows' do\n      expect(subject.contributions).to eq([commit_counts[0]])\n    end\n  end\n\n  describe 'user status' do\n    let(:user) { FactoryBot.create(:user) }\n\n    before(:each) do\n      @status = FactoryBot.create_list(:status, 3,\n                                       status: Status::OPTIONS[rand(Status::OPTIONS.length)],\n                                       user: user)\n      user.reload\n    end\n\n    it 'should have a status' do\n      expect(subject.status).to eq(\"<span>#{@status[2][:status]}</span>\")\n    end\n\n    it 'status should be html_safe' do\n      expect(subject.status).to be_html_safe\n    end\n\n    it 'status? should be true' do\n      expect(subject.status?).to eq true\n    end\n  end\n\n  describe 'empty profile fields' do\n    let!(:user) { FactoryBot.create(:user) }\n\n    it 'should return a list of all fields if they are nil' do\n      user.first_name = user.last_name = user.bio = nil\n      user.skill_list = nil\n      user.save\n      user.reload\n      expect(subject.blank_fields).to eq('First name, Last name, Skills, and Bio')\n    end\n\n    it 'should return a list of all fields if they are empty' do\n      user.first_name = user.last_name = user.bio = ''\n      user.skill_list = ''\n      user.save\n      user.reload\n      expect(subject.blank_fields).to eq('First name, Last name, Skills, and Bio')\n    end\n\n    it 'should return only empty fields' do\n      user.last_name = user.bio = ''\n      expect(subject.blank_fields).to eq('Last name and Bio')\n    end\n  end\nend\n"
  },
  {
    "path": "spec/rails_helper.rb",
    "content": "# frozen_string_literal: true\n\nrequire 'simplecov'\nrequire 'coveralls'\nSimpleCov.formatter = Coveralls::SimpleCov::Formatter\nSimpleCov.start do\n  add_filter 'app/secrets'\nend\n\nENV['RAILS_ENV'] ||= 'test'\nrequire File.expand_path('../config/environment', __dir__)\n\nrequire 'rspec/rails'\nrequire 'shoulda/matchers'\nrequire 'capybara/rspec'\nrequire 'webmock/rspec'\nrequire 'capybara-screenshot/rspec'\nrequire 'public_activity/testing'\nrequire 'paper_trail/frameworks/rspec'\n\nabort('The Rails environment is running in production mode!') if Rails.env.production?\nPublicActivity.enabled = true\nDir[Rails.root.join('spec/support/**/*.rb')].each { |f| require f }\n\nbegin\n  ActiveRecord::Migration.maintain_test_schema!\nrescue ActiveRecord::PendingMigrationError => e\n  puts e.to_s.strip\n  exit 1\nend\nOmniAuth.config.test_mode = true\nWebMock.disable_net_connect!(allow_localhost: true)\nRSpec.configure do |config|\n  config.fixture_path = \"#{Rails.root}/spec/fixtures\"\n  config.use_transactional_fixtures = true\n  config.infer_spec_type_from_file_location!\n  config.filter_rails_from_backtrace!\n  config.include Rails.application.routes.url_helpers\n  config.include Capybara::DSL\n  config.include FactoryBot::Syntax::Methods\n  config.include Helpers\n  config.include Devise::Test::ControllerHelpers, type: :controller\n  config.include Devise::Test::ControllerHelpers, type: :helper\n  config.include Devise::Test::ControllerHelpers, type: :view\n  config.include RSpecHtmlMatchers\n\n  config.filter_run show_in_doc: true if ENV['APIPIE_RECORD']\n  config.mock_with :rspec do |c|\n    c.syntax = %i(should expect)\n  end\n\n  config.before(:suite) do\n    DatabaseCleaner.strategy = :transaction\n    DatabaseCleaner.clean_with(:truncation)\n  end\n\n  config.before(:each) do\n    DatabaseCleaner.start\n    Settings.reload!\n  end\n\n  config.after :each do\n    Warden.test_reset!\n  end\n\n  config.append_after(:each) do\n    DatabaseCleaner.clean\n  end\n  config.example_status_persistence_file_path = 'tmp/rspec_failures'\nend\n\nShoulda::Matchers.configure do |config|\n  config.integrate do |with|\n    with.test_framework :rspec\n    with.library :rails\n  end\nend\n"
  },
  {
    "path": "spec/requests/authentications_spec.rb",
    "content": "# frozen_string_literal: true\n\nRSpec.describe 'OmniAuth authentication', type: :feature do\n  supported_auths = {\n    'github' => 'GitHub'\n #   'gplus' => 'Google'\n  }\n\n  before do\n    StaticPage.create!(title: 'getting started', body: 'remote pair programming')\n    @uid = '12345678'\n    supported_auths.each do |provider, name|\n      OmniAuth.config.mock_auth[provider.to_sym] = {\n        'provider' => provider,\n        'uid' => @uid,\n        'info' => { 'email' => \"#{name}@mock.com\" }\n      }\n    end\n    OmniAuth.config.logger.level = Logger::FATAL\n  end\n\n  after { OmniAuth.config.logger.level = Logger::DEBUG }\n\n  supported_auths.each do |provider, name|\n    context 'for unregistered users' do\n      context \"with a #{name} profile\" do\n        it 'should work with valid credentials' do\n          visit new_user_session_path\n          expect(page).to have_content \"with #{name}\"\n\n          expect do\n            expect do\n              page.click_on \"with #{name}\"\n            end.to change(User, :count).by(1)\n          end.to change(Authentication, :count).by(1)\n          expect(page).to have_content('Signed in successfully.')\n          expect(User.first.karma).not_to be_nil\n        end\n\n        it 'should not work with invalid credentials' do\n          OmniAuth.config.mock_auth[provider.to_sym] = :invalid_credentials\n          visit new_user_session_path\n          expect do\n            expect do\n              page.click_on \"with #{name}\"\n            end.to change(User, :count).by(0)\n          end.to change(Authentication, :count).by(0)\n          expect(page).to have_content('invalid_credentials')\n        end\n\n        xit 'should not allow removal of profiles without passwords' do\n          visit new_user_session_path\n          click_link \"with #{name}\"\n          visit edit_user_registration_path\n          # click_link '#user_info'\n          # click_link 'My Account'\n          expect do\n            expect do\n              click_link \"Remove #{name}\"\n            end.to change(User, :count).by(0)\n          end.to change(Authentication, :count).by(0)\n          expect(page).to have_content 'Failed to unlink GitHub. Please use another provider for login or reset password.'\n        end\n      end\n    end\n\n    context 'for registered users' do\n      before do\n        @user = User.create!(email: 'something_else@email.com', password: '123456789')\n      end\n\n      context \"with a #{name} profile\" do\n        before do\n          @user.authentications.create!(provider: provider, uid: @uid)\n        end\n\n        xit 'finds the right user if auth exists' do\n          visit new_user_session_path\n          expect(page).to have_content \"with #{name}\"\n          expect do\n            expect do\n              click_link \"with #{name}\"\n            end.to change(User, :count).by(0)\n          end.to change(Authentication, :count).by(0)\n          expect(page).to have_content('Signed in successfully.')\n        end\n\n        xit 'should be removable for users with a password' do\n          visit new_user_session_path\n          click_link \"with #{name}\"\n          visit edit_user_registration_path(@user)\n\n          expect(page).to have_css \"input[value='#{@user.email}']\"\n          expect do\n            expect do\n              click_link \"Remove #{name}\"\n            end.to change(User, :count).by(0)\n          end.to change(Authentication, :count).by(-1)\n          expect(page).to have_content('Successfully removed profile.')\n        end\n\n        it 'should be able to create other profiles' do\n          supported_auths.each do |p, n|\n            next if p == provider\n\n            visit new_user_session_path\n            click_link \"with #{name}\"\n            visit edit_user_registration_path(@user)\n            expect do\n              expect { click_link n.to_s }.to change(Authentication, :count).by(1)\n            end.to change(User, :count).by(0)\n          end\n        end\n      end\n    end\n  end\nend\n"
  },
  {
    "path": "spec/requests/documents_spec.rb",
    "content": "# frozen_string_literal: true\n\ndescribe 'Documents' do\n  describe 'GET /documents' do\n    # TODO: rework this to include project id\n    #    it \"works! (now write some real specs)\" do\n    #      # Run the generator again with the --webrat flag if you want to use webrat methods/matchers\n    #      get documents_path\n    #      expect(response.status).to be(200)\n    #    end\n  end\nend\n"
  },
  {
    "path": "spec/requests/events_spec.rb",
    "content": "# frozen_string_literal: true\n\nrequire 'capybara/rspec'\ndescribe 'Events' do\n  let(:user) { User.create!(email: 'something_else@email.com', password: '123456789') }\n\n  before { login }\n\n  it 'allows prepopulation of form with name' do\n    visit new_event_path(name: 'Blah')\n    expect(page).to have_selector(\"input#event_name[value='Blah']\")\n  end\n\n  it 'allows prepopulation of form with category' do\n    visit new_event_path(category: 'Scrum')\n    expect(page).to have_select('Category', selected: 'Scrum')\n  end\n\n  it 'allows prepopulation of form with active project' do\n    FactoryBot.create(:project, title: 'edX', slug: 'edx', status: 'active')\n    visit new_event_path(project: 'edx')\n    expect(page).to have_select('Project', selected: 'edX')\n  end\n\n  def login\n    StaticPage.create!(title: 'getting started', body: 'remote pair programming')\n    visit new_user_session_path\n    fill_in 'user_email', with: user.email\n    fill_in 'user_password', with: '123456789'\n    click_button 'Sign in'\n  end\nend\n"
  },
  {
    "path": "spec/requests/legacy_api_subscriptions_spec.rb",
    "content": "# frozen_string_literal: true\n# describe LegacyApi::SubscriptionsController, type: :request do\n#   describe \"GET /subscriptions\" do\n#     let(:user) { FactoryBot.create(:user, email: \"kitty@cat.com\") }\n#     let(:start_time) { DateTime.new(2001, 2, 3, 4, 5, 6) }\n#     let(:end_time) { DateTime.new(2002, 2, 3, 4, 5, 6) }\n#     let(:start_date) { '2001-02-03' }\n#     let(:end_date) { '2002-02-03' }\n#     let(:plan) { FactoryBot.create(:plan, name: 'Premium') }\n#     let!(:subscription) { FactoryBot.create(:subscription, user: user, sponsor: user, plan: plan, started_at: start_time, ended_at: end_time) }\n#     let!(:payment_source) { FactoryBot.create(:paypal, subscription: subscription) }\n#     let(:credentials) { ActionController::HttpAuthentication::Token.encode_credentials('TEST') }\n#     let(:headers) do\n#       {\n#           \"Authorization\" => credentials,\n#           \"Accept\" => \"application/json\" # This is what Rails 4 accepts\n#           # \"http_accept\" => \"application/json\", # This is what Rails 3 accepts\n#       }\n#     end\n#     context 'with proper token' do\n#       it \"succeeds\", :show_in_doc do\n#         get api_subscriptions_path, params: {}, headers: headers\n#         expect(response).to be_successful\n#         expect(JSON.parse(response.body)).to include(a_hash_including(\"payment_source\" => \"PaymentSource::PayPal\", \"plan_name\" => plan.name, \"email\" => \"kitty@cat.com\", \"sponsor_email\" => \"kitty@cat.com\", \"started_on\" => start_date, \"ended_on\" => end_date))\n#       end\n\n#       context 'with nil ended_on' do\n#         let(:end_time) { nil }\n\n#         it 'succeeds' do\n#           get api_subscriptions_path, params: {}, headers: headers\n#           expect(response).to be_successful\n#           expect(JSON.parse(response.body)).to include(a_hash_including(\"payment_source\" => \"PaymentSource::PayPal\", \"plan_name\" => plan.name, \"email\" => \"kitty@cat.com\", \"sponsor_email\" => \"kitty@cat.com\", \"started_on\" => start_date, \"ended_on\" => nil))\n#         end\n#       end\n\n#       context 'with deleted user and sponsor' do\n#         let(:sponsor) { FactoryBot.create(:user, email: \"catty@kit.com\", deleted_at: 2.days.ago) }\n#         let!(:subscription) { FactoryBot.create(:subscription, user: user, sponsor: sponsor, plan: plan, started_at: start_time, ended_at: end_time) }\n\n#         it 'succeeds' do\n#           user.destroy\n#           get api_subscriptions_path, params: {}, headers: headers\n#           expect(response).to be_successful\n#           expect(JSON.parse(response.body)).to include(a_hash_including(\"payment_source\" => \"PaymentSource::PayPal\", \"plan_name\" => plan.name, \"email\" => \"kitty@cat.com\", \"sponsor_email\" => \"catty@kit.com\", \"started_on\" => start_date, \"ended_on\" => end_date))\n#         end\n\n#       end\n#     end\n\n#     context 'without proper token' do\n#       let(:credentials) { ActionController::HttpAuthentication::Token.encode_credentials('wrongtoken') }\n\n#       it \"fails\", :show_in_doc do\n#         get api_subscriptions_path, params: {}, headers: headers\n#         expect(response).not_to be_successful\n#       end\n#     end\n#   end\n# end\n"
  },
  {
    "path": "spec/requests/paypal_agreement_spec.rb",
    "content": "# frozen_string_literal: true\n\ndescribe PaypalAgreementController, type: :request do\n  describe 'POST /paypal/new' do\n    let(:premium_plan) { FactoryBot.create(:plan, name: 'premium', paypal_id: 'P-6A8554404E294635VUDTNLWQ') }\n    let(:redirect_url) do\n      'https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=EC-8G803347TJ631023W'\n    end\n    let(:json_hash) { JSON.parse(File.read('spec/fixtures/paypal_agreement_response.json')) }\n    let(:json_object) { JSON.parse(json_hash.to_json, object_class: OpenStruct) }\n    let(:json_object_links) do\n      json_object.body.links.map do |link|\n        PayPalLinkMock.new link['method'], link.href\n      end\n    end\n    let(:agreement) { double :agreement, error: nil, links: json_object_links }\n\n    it 'redirects to a redirect url on successful agreement creation' do\n      allow_any_instance_of(PaypalService).to receive(:create_agreement).and_return(agreement)\n      post '/paypal/new', params: { plan: premium_plan.id }\n      expect(response).to redirect_to(redirect_url)\n    end\n  end\nend\n\nclass PayPalLinkMock\n  attr_reader :method, :href\n\n  def initialize(method, href)\n    @method = method\n    @href = href\n  end\nend\n"
  },
  {
    "path": "spec/routing/documents_routing_spec.rb",
    "content": "# frozen_string_literal: true\n\nrequire 'spec_helper'\n\ndescribe DocumentsController do\n  describe 'routing' do\n    # TODO: write route tests\n    # it \"routes to #index\" do\n    #  expect(get(\"/documents\")).to route_to(\"documents#index\")\n    # end\n    #\n    # it \"routes to #new\" do\n    #  expect(get(\"/documents/new\")).to route_to(\"documents#new\")\n    # end\n    #\n    # it \"routes to #show\" do\n    #  expect(get(\"/documents/1\")).to route_to(\"documents#show\", id: \"1\")\n    # end\n    #\n    # it \"routes to #edit\" do\n    #  expect(get(\"/documents/1/edit\")).to route_to(\"documents#edit\", id: \"1\")\n    # end\n    #\n    # it \"routes to #create\" do\n    #  expect(post(\"/documents\")).to route_to(\"documents#create\")\n    # end\n    #\n    # it \"routes to #update\" do\n    #  expect(put(\"/documents/1\")).to route_to(\"documents#update\", :id => \"1\")\n    # end\n    #\n    # it \"routes to #destroy\" do\n    #  expect(delete(\"/documents/1\")).to route_to(\"documents#destroy\", :id => \"1\")\n    # end\n  end\nend\n"
  },
  {
    "path": "spec/routing/static_pages_routing_spec.rb",
    "content": "# frozen_string_literal: true\n\nrequire 'spec_helper'\n\ndescribe StaticPagesController do\n  context 'email link blunder' do\n    include RSpec::Rails::RequestExampleGroup\n    it 'redirects to premiumplus' do\n      expect(get('/premiumplus%C2%A0%C2%A0')).to redirect_to('/premiumplus')\n    end\n  end\nend\n"
  },
  {
    "path": "spec/services/add_subscription_to_user_for_plan_spec.rb",
    "content": "# frozen_string_literal: true\n\ndescribe AddSubscriptionToUserForPlan do\n  subject(:add_subscription_to_user_for_plan) do\n    described_class.with(user, sponsor, time, plan, payment_source, subscription_klass)\n  end\n\n  let(:subscription_klass) { class_double(Subscription) }\n\n  let(:plan) { instance_double(Plan, name: 'Premium') }\n  let(:third_party_id) { instance_double('ThirdPartyID') }\n  let(:time) { instance_double(Time) }\n  let(:user) { instance_double(User) }\n  let(:sponsor) { instance_double(User) }\n  let(:subscription) { instance_double(Subscription) }\n  let(:existing_subscription1) { instance_double(Subscription) }\n  let(:existing_subscription2) { instance_double(Subscription) }\n  let(:payment_source) { instance_double(PaymentSource::Stripe) }\n\n  before do\n    allow(subscription_klass).to receive(:new)\n    allow(user).to receive_message_chain(:subscriptions, :<<)\n    allow(user).to receive(:save!)\n    allow(user).to receive_message_chain(:title_list, :<<)\n    allow(existing_subscription1).to receive_message_chain(:ended_at, :nil?).and_return(true)\n    allow(existing_subscription2).to receive_message_chain(:ended_at, :nil?).and_return(false)\n    allow(user).to receive(:subscriptions).and_return [existing_subscription1, existing_subscription2]\n    allow(existing_subscription1).to receive(:ended_at=).with(time)\n  end\n\n  it 'creates a subscription of the appropriate type' do\n    expect(subscription_klass).to receive(:new).with(started_at: time, sponsor: sponsor, plan: plan,\n                                                     payment_source: payment_source)\n    add_subscription_to_user_for_plan\n  end\n\n  it 'sets the user subscription' do\n    expect(subscription_klass).to receive(:new).and_return(subscription)\n    expect(user).to receive_message_chain(:subscriptions, :<<).with(subscription)\n    add_subscription_to_user_for_plan\n  end\n\n  it 'adds Plan name to the user title list' do\n    expect(user).to receive_message_chain(:title_list, :<<).with('Premium')\n    add_subscription_to_user_for_plan\n  end\n\n  it 'saves the user' do\n    expect(user).to receive(:save!)\n    add_subscription_to_user_for_plan\n  end\n\n  it 'ensures all other existing subscriptions are ended' do\n    expect(existing_subscription1).to receive(:ended_at=).with(time)\n    add_subscription_to_user_for_plan\n  end\nend\n"
  },
  {
    "path": "spec/services/hangout_notification_service_spec.rb",
    "content": "# frozen_string_literal: true\n\ndescribe HangoutNotificationService do\n  subject(:hangout_notification_service) { HangoutNotificationService }\n  let(:slack_client) { double(:slack_client) }\n  let(:gitter_client) { double(:gitter_client) }\n\n  let(:default_post_args) do\n    {\n      username: user.display_name,\n      icon_url: user.gravatar_url,\n      link_names: 1\n    }\n  end\n\n  let(:message) { 'MockEvent: <mock_url|click to join>' }\n  let(:here_message) { \"@here #{message}\" }\n  let(:channel_message) { \"@channel #{message}\" }\n\n  let(:general_channel_post_args) do\n    {\n      channel: 'C0TLAE1MH',\n      text: here_message\n    }.merge!(default_post_args)\n  end\n  let(:websiteone_project_channel_post_args) do\n    {\n      channel: 'C29J4QQ9W',\n      text: here_message\n    }.merge!(default_post_args)\n  end\n  let(:pairing_notifications_channel_post_args) do\n    {\n      channel: 'C29J3DPGW',\n      text: channel_message\n    }.merge!(default_post_args)\n  end\n  let(:cs169_project_channel_post_args) do\n    {\n      channel: 'C29J4CYA2',\n      text: here_message\n    }.merge!(default_post_args)\n  end\n  let(:localsupport_project_channel_post_args) do\n    {\n      channel: 'C69J9GC1Y',\n      text: here_message\n    }.merge!(default_post_args)\n  end\n  let(:standup_notifications_channel_post_args) do\n    {\n      channel: 'C29JE6HGR',\n      text: channel_message\n    }.merge!(default_post_args)\n  end\n  let(:post_premium_mob_notification_post_args) do\n    {\n      channel: 'C29J4QQ9M',\n      text: here_message\n    }.merge!(default_post_args)\n  end\n  let(:post_premium_mob_trialists_notification_post_args) do\n    {\n      channel: 'C29J4QQ9F',\n      text: here_message\n    }.merge!(default_post_args)\n  end\n  let(:new_members_notification_post_args) do\n    {\n      channel: 'C02G8J699',\n      text: here_message\n    }.merge!(default_post_args)\n  end\n\n  let(:user) { User.new email: 'random@random.com' }\n  let(:websiteone_project) { mock_model Project, slug: 'websiteone', slack_channel_codes: ['C29J4QQ9W'] }\n  let(:noslack_project) { mock_model Project, slug: 'noslack', slack_channel_codes: [] }\n  let(:cs169_project) { mock_model Project, slug: 'cs169', slack_channel_codes: ['C29J4CYA2'] }\n  let(:multiple_channel_project) do\n    mock_model Project, slug: 'multiple-channels', slack_channel_codes: %w(C29J4QQ9W C69J9GC1Y)\n  end\n\n  before { Features.slack.notifications.enabled = true }\n\n  describe '.post_hangout_notification' do\n    let(:event_with_slack_channels) do\n      FactoryBot.create(:event, slack_channels: Array(SlackChannel.create({ code: 'C02G8J699' })))\n    end\n    let(:websiteone_hangout) do\n      mock_model EventInstance, title: 'MockEvent', category: 'PairProgramming', hangout_url: 'mock_url', user: user,\n                                project: websiteone_project, for: ''\n    end\n    let(:no_project_hangout) do\n      mock_model EventInstance, title: 'MockEvent', category: 'PairProgramming', hangout_url: 'mock_url', user: user,\n                                project: nil, for: ''\n    end\n    let(:project_with_no_slack_hangout) do\n      mock_model EventInstance, title: 'MockEvent', category: 'PairProgramming', hangout_url: 'mock_url', user: user,\n                                project: noslack_project, for: ''\n    end\n    let(:cs169_hangout) do\n      mock_model EventInstance, title: 'MockEvent', category: 'PairProgramming', hangout_url: 'mock_url', user: user,\n                                project: cs169_project, for: ''\n    end\n    let(:missing_url_hangout) do\n      mock_model EventInstance, title: 'MockEvent', category: 'PairProgramming', hangout_url: '  ', user: user, for: ''\n    end\n    let(:multiple_channel_hangout) do\n      mock_model EventInstance, title: 'MockEvent', category: 'PairProgramming', hangout_url: 'mock_url', user: user,\n                                project: multiple_channel_project, for: ''\n    end\n    let(:event_instance_with_event_slack_channels) do\n      mock_model EventInstance, title: 'MockEvent', category: 'PairProgramming', hangout_url: 'mock_url', user: user,\n                                project: websiteone_project, for: '', event_id: event_with_slack_channels.id\n    end\n\n    before do\n      allow(websiteone_hangout).to receive(:channels_for_event).and_return([])\n      allow(no_project_hangout).to receive(:channels_for_event).and_return([])\n      allow(project_with_no_slack_hangout).to receive(:channels_for_event).and_return([])\n      allow(cs169_hangout).to receive(:channels_for_event).and_return([])\n      allow(missing_url_hangout).to receive(:channels_for_event).and_return([])\n      allow(multiple_channel_hangout).to receive(:channels_for_event).and_return([])\n      allow(event_instance_with_event_slack_channels).to receive(:channels_for_event).and_return(['C02G8J699'])\n    end\n\n    context 'PairProgramming' do\n      it 'sends the correct slack message to the correct channels when associated with a project' do\n        expect(slack_client).to receive(:chat_postMessage).with(general_channel_post_args)\n        expect(slack_client).to receive(:chat_postMessage).with(websiteone_project_channel_post_args)\n        expect(slack_client).to receive(:chat_postMessage).with(pairing_notifications_channel_post_args)\n\n        hangout_notification_service.with(websiteone_hangout, slack_client, gitter_client)\n      end\n\n      it 'does not fail when event has no associated project' do\n        expect(slack_client).to receive(:chat_postMessage).with(general_channel_post_args)\n        expect(slack_client).to receive(:chat_postMessage).with(pairing_notifications_channel_post_args)\n\n        hangout_notification_service.with(no_project_hangout, slack_client, gitter_client)\n      end\n\n      it 'does not try to post to slack channel when project has no associated slack channel in lookup table' do\n        expect(slack_client).to receive(:chat_postMessage).with(general_channel_post_args)\n        expect(slack_client).to receive(:chat_postMessage).with(pairing_notifications_channel_post_args)\n\n        hangout_notification_service.with(project_with_no_slack_hangout, slack_client, gitter_client)\n      end\n\n      it 'should ping gitter and slack (but not general) when the project is cs169' do\n        expect(gitter_client).to receive(:messages).with('56b8bdffe610378809c070cc', limit: 50).and_return([])\n        expect(gitter_client).to receive(:send_message).with('[MockEvent with random](mock_url) is starting NOW!',\n                                                             '56b8bdffe610378809c070cc')\n        expect(slack_client).to receive(:chat_postMessage).with(pairing_notifications_channel_post_args)\n        expect(slack_client).to receive(:chat_postMessage).with(cs169_project_channel_post_args)\n\n        hangout_notification_service.with(cs169_hangout, slack_client, gitter_client)\n      end\n\n      it 'does not post notification if hangout url is blank' do\n        expect(slack_client).not_to receive(:chat_postMessage)\n\n        hangout_notification_service.with(missing_url_hangout, slack_client, gitter_client)\n      end\n\n      it 'can post to multiple channels' do\n        expect(slack_client).to receive(:chat_postMessage).with(general_channel_post_args)\n        expect(slack_client).to receive(:chat_postMessage).with(websiteone_project_channel_post_args)\n        expect(slack_client).to receive(:chat_postMessage).with(localsupport_project_channel_post_args)\n        expect(slack_client).to receive(:chat_postMessage).with(pairing_notifications_channel_post_args)\n\n        hangout_notification_service.with(multiple_channel_hangout, slack_client, gitter_client)\n      end\n\n      it 'sends the correct slack message to the correct channels when associated with an event' do\n        expect(slack_client).to receive(:chat_postMessage).with(general_channel_post_args)\n        expect(slack_client).to receive(:chat_postMessage).with(websiteone_project_channel_post_args)\n        expect(slack_client).to receive(:chat_postMessage).with(pairing_notifications_channel_post_args)\n        expect(slack_client).to receive(:chat_postMessage).with(new_members_notification_post_args)\n\n        hangout_notification_service.with(event_instance_with_event_slack_channels, slack_client, gitter_client)\n      end\n    end\n\n    context('Scrums') do\n      let(:cs169_hangout) do\n        mock_model EventInstance, title: 'MockEvent', category: 'Scrum', hangout_url: 'mock_url', user: user,\n                                  project: cs169_project, for: ''\n      end\n      let(:missing_url_hangout) do\n        mock_model EventInstance, title: 'MockEvent', category: 'Scrum', hangout_url: '  ', user: user, for: ''\n      end\n      let(:websiteone_hangout) do\n        mock_model EventInstance, title: 'MockEvent', category: 'Scrum', hangout_url: 'mock_url', user: user,\n                                  project: websiteone_project, for: ''\n      end\n      let(:no_project_hangout) do\n        mock_model EventInstance, title: 'MockEvent', category: 'Scrum', hangout_url: 'mock_url', user: user, project: nil,\n                                  for: ''\n      end\n\n      it 'sends the correct slack message to the correct channels' do\n        expect(slack_client).to receive(:chat_postMessage).with(general_channel_post_args)\n        expect(slack_client).to receive(:chat_postMessage).with(websiteone_project_channel_post_args)\n        expect(slack_client).to receive(:chat_postMessage).with(standup_notifications_channel_post_args)\n\n        hangout_notification_service.with(websiteone_hangout, slack_client, gitter_client)\n      end\n\n      it 'does not fail when event has no associated project' do\n        expect(slack_client).to receive(:chat_postMessage).with(general_channel_post_args)\n        expect(slack_client).to receive(:chat_postMessage).with(standup_notifications_channel_post_args)\n\n        hangout_notification_service.with(no_project_hangout, slack_client, gitter_client)\n      end\n\n      it 'should ping slack when the project is cs169' do\n        expect(slack_client).to receive(:chat_postMessage).with(general_channel_post_args)\n        expect(slack_client).to receive(:chat_postMessage).with(cs169_project_channel_post_args)\n        expect(slack_client).to receive(:chat_postMessage).with(standup_notifications_channel_post_args)\n\n        hangout_notification_service.with(cs169_hangout, slack_client, gitter_client)\n      end\n\n      it 'does not post notification if hangout url is blank for pairing' do\n        expect(slack_client).not_to receive(:chat_postMessage)\n\n        hangout_notification_service.with(missing_url_hangout, slack_client, gitter_client)\n      end\n    end\n\n    context 'Premium Mob Members Events' do\n      let(:premium_mob_hangout) do\n        mock_model EventInstance, title: 'MockEvent', category: 'PairProgramming', hangout_url: 'mock_url', user: user,\n                                  project: websiteone_project, for: 'Premium Mob Members'\n      end\n      let(:general_channel_id) { 'C0TLAE1MH' }\n      let(:pairing_notifications_channel_id) { 'C29J3DPGW' }\n      let(:websiteone_channel_id) { 'C29J4QQ9W' }\n\n      before { allow(premium_mob_hangout).to receive(:channels_for_event).and_return([]) }\n\n      it 'posts hangout url to appropriate private channels' do\n        expect(slack_client).to receive(:chat_postMessage).with(post_premium_mob_notification_post_args).once\n        expect(slack_client).to receive(:chat_postMessage).with(post_premium_mob_trialists_notification_post_args).once\n\n        hangout_notification_service.with(premium_mob_hangout, slack_client)\n      end\n\n      it 'does not post hangout url to public channels' do\n        expect(slack_client).not_to receive(:chat_postMessage).with hash_including(channel: general_channel_id)\n        expect(slack_client).not_to receive(:chat_postMessage).with hash_including(channel: pairing_notifications_channel_id)\n        expect(slack_client).not_to receive(:chat_postMessage).with hash_including(channel: websiteone_channel_id)\n\n        hangout_notification_service.with(premium_mob_hangout, slack_client)\n      end\n    end\n  end\nend\n"
  },
  {
    "path": "spec/services/karma_calculator_spec.rb",
    "content": "# frozen_string_literal: true\n\nRSpec.describe KarmaCalculator do\n  describe 'for new members' do\n    subject { described_class.new(user) }\n    let(:user) { build(:user, :without_karma, created_at: nil) }\n\n    it 'should assign nil karma to members who have not yet been created' do\n      expect(user.karma).to be_nil\n    end\n  end\n\n  describe 'for new members without karma' do\n    subject { described_class.new(user) }\n    let(:user) { build(:user, :without_karma, created_at: nil) }\n\n    it 'should assign nil karma to members without karma' do\n      expect(user.karma).to be_nil\n    end\n  end\n\n  context 'for existing members' do\n    describe 'for old members' do\n      subject { described_class.new(user) }\n      let(:user) { build(:user, :with_karma, created_at: 31.days.ago) }\n      let(:karma_points) { subject.calculate[:total] }\n\n      it 'should assign karma points to members' do\n        expect(karma_points).to be > 0\n      end\n    end\n\n    describe 'for new members attending hangouts' do\n      let(:user) { create(:user, :with_karma, created_at: 31.days.ago) }\n\n      it 'event participation count is zero' do\n        subject = described_class.new(user)\n        expect(subject.calculate[:event_participation]).to eq 0\n      end\n    end\n  end\nend\n"
  },
  {
    "path": "spec/services/markdown_converter_spec.rb",
    "content": "# frozen_string_literal: true\n\nRSpec.describe MarkdownConverter, type: :service do\n  subject(:markdown_converter) { MarkdownConverter.new(markdown) }\n\n  let(:markdown) { '#This is a title' }\n  let(:kramdown) { double('Kramdown::Document', to_html: '<h1>This is a title</h1>') }\n\n  describe '#as_html' do\n    it 'returns html' do\n      allow(Kramdown::Document).to receive(:new).with(markdown).and_return(kramdown)\n      expect(markdown_converter.as_html).to eql('<h1>This is a title</h1>')\n    end\n  end\nend\n"
  },
  {
    "path": "spec/services/youtube_notification_service_spec.rb",
    "content": "# frozen_string_literal: true\n\ndescribe YoutubeNotificationService do\n  subject(:youtube_notification_service) { YoutubeNotificationService }\n  before { Features.slack.notifications.enabled = true }\n\n  let(:user) { User.new email: 'random@random.com' }\n  let(:slack_client) { double(:slack_client) }\n  let(:general_channel_id) { 'C0TLAE1MH' }\n  let(:pairing_notifications_channel_id) { 'C29J3DPGW' }\n  let(:websiteone_channel_id) { 'C29J4QQ9W' }\n  let(:premium_extra_channel_id) { 'C29J4QQ9M' }\n  let(:premium_mob_trialists_channel_id) { 'C29J4QQ9F' }\n  let(:new_members_channel_id) { 'C02G8J699' }\n\n  describe '.post_yt_link' do\n    let(:client) { spy(:slack_client) }\n\n    let(:expected_post_args) do\n      {\n        text: 'Video/Livestream: <https://youtu.be/mock_url|click to play>',\n        username: user.display_name,\n        icon_url: user.gravatar_url,\n        link_names: 1\n      }\n    end\n\n    context('PairProgramming') do\n      let(:event_instance) do\n        EventInstance.create(title: 'MockEvent', category: 'PairProgramming', hangout_url: 'mock_url', user: user,\n                             event_id: event_with_slack_channels.id)\n      end\n      let(:event_with_slack_channels) do\n        FactoryBot.create(:event, slack_channels: Array(SlackChannel.create({ code: 'C02G8J699' })))\n      end\n\n      before { allow(event_instance).to receive(:for).and_return '' }\n\n      it 'sends the correct slack message to the correct channels' do\n        event_instance.yt_video_id = 'mock_url'\n        slack_channel = SlackChannel.create(code: 'C29J4QQ9W')\n        event_instance.project = Project.create(title: 'WebSiteOne', description: 'hmmm', status: 'active',\n                                                slack_channels: [slack_channel])\n\n        youtube_notification_service.with event_instance, client\n        expect(client).to have_received(:chat_postMessage).with(expected_post_args.merge!(channel: general_channel_id))\n        expect(client).to have_received(:chat_postMessage).with(expected_post_args.merge!(channel: websiteone_channel_id))\n        expect(client).to have_received(:chat_postMessage).with(expected_post_args.merge!(channel: new_members_channel_id))\n      end\n\n      it 'does not ping slack when the project is cs169' do\n        event_instance.yt_video_id = 'mock_url'\n        slack_channel = SlackChannel.create(code: 'C29J4CYA2')\n        event_instance.project = Project.create(title: 'cs169', description: 'hmmm', status: 'active',\n                                                slack_channels: [slack_channel])\n\n        youtube_notification_service.with event_instance, client\n        expect(client).not_to have_received(:chat_postMessage).with(expected_post_args.merge!(channel: general_channel_id))\n        expect(client).not_to have_received(:chat_postMessage).with(expected_post_args.merge!(channel: websiteone_channel_id))\n      end\n\n      it 'does not post youtube video link if yt_video_id is blank' do\n        event_instance.yt_video_id = '    '\n        youtube_notification_service.with event_instance, client\n\n        expect(client).not_to have_received(:chat_postMessage)\n      end\n    end\n\n    context('Scrums') do\n      let(:event_instance) do\n        EventInstance.create(title: 'MockEvent', category: 'Scrum', hangout_url: 'mock_url', user: user)\n      end\n      before { allow(event_instance).to receive(:for).and_return '' }\n\n      it 'sends the correct slack message to the correct channels' do\n        event_instance.yt_video_id = 'mock_url'\n        slack_channel = SlackChannel.create(code: 'C29J4QQ9W')\n        event_instance.project = Project.create(slug: 'websiteone', title: 'WebSiteOne', description: 'hmmm',\n                                                status: 'active', slack_channels: [slack_channel])\n\n        youtube_notification_service.with(event_instance, client)\n\n        expect(client).to have_received(:chat_postMessage).with(expected_post_args.merge!(channel: general_channel_id))\n        expect(client).to have_received(:chat_postMessage).with(expected_post_args.merge!(channel: websiteone_channel_id))\n      end\n\n      it 'does not post youtube video link if yt_video_id is blank' do\n        event_instance.yt_video_id = '    '\n        youtube_notification_service.with(event_instance, client)\n\n        expect(client).not_to have_received(:chat_postMessage)\n      end\n    end\n\n    context 'Premium Mob Members Events' do\n      let(:event_instance) do\n        EventInstance.create(title: 'MockEvent', category: 'PairProgramming', hangout_url: 'mock_url', user: user)\n      end\n      before { allow(event_instance).to receive(:for).and_return 'Premium Mob Members' }\n\n      it 'posts youtube url to appropriate private channels' do\n        event_instance.yt_video_id = 'mock_url'\n        event_instance.project = Project.create(slug: 'websiteone', title: 'WebSiteOne', description: 'hmmm',\n                                                status: 'active')\n\n        youtube_notification_service.with(event_instance, client)\n\n        expect(client).to have_received(:chat_postMessage).with(expected_post_args.merge!(channel: premium_extra_channel_id))\n        expect(client).not_to have_received(:chat_postMessage).with(expected_post_args.merge!(channel: premium_mob_trialists_channel_id))\n        expect(client).to have_received(:chat_postMessage).with(hash_including(channel: premium_extra_channel_id)).once\n      end\n\n      it 'does not post youtube url to public channels' do\n        event_instance.yt_video_id = 'mock_url'\n        event_instance.project = Project.create(slug: 'websiteone', title: 'WebSiteOne', description: 'hmmm',\n                                                status: 'active')\n\n        youtube_notification_service.with(event_instance, client)\n\n        expect(client).not_to have_received(:chat_postMessage).with(expected_post_args.merge!(channel: general_channel_id))\n        expect(client).not_to have_received(:chat_postMessage).with(expected_post_args.merge!(channel: pairing_notifications_channel_id))\n        expect(client).not_to have_received(:chat_postMessage).with(expected_post_args.merge!(channel: websiteone_channel_id))\n      end\n    end\n  end\nend\n"
  },
  {
    "path": "spec/spec_helper.rb",
    "content": "# frozen_string_literal: true\n\nRSpec.configure do |config|\n  config.expect_with :rspec do |expectations|\n    expectations.include_chain_clauses_in_custom_matcher_descriptions = true\n  end\n  config.mock_with :rspec do |mocks|\n    mocks.verify_partial_doubles = true\n  end\n  config.shared_context_metadata_behavior = :apply_to_host_groups\nend\n"
  },
  {
    "path": "spec/support/helpers.rb",
    "content": "# frozen_string_literal: true\n\nmodule Helpers\n  # Used to mimic the same method available in feature testing\n  # ex.\n  #   rendered.within('section#header') do |header|\n  #     expect(header).to have_link 'Log Out'\n  #   end\n  # String.class_eval used instead of class String because the latter loads this as a constant, not a method!\n  # Some insight to difference here: http://stackoverflow.com/a/10339348/2197402\n  String.class_eval do\n    def within(selector, &block)\n      # https://github.com/jnicklas/capybara/issues/384#issuecomment-1667712\n      Capybara.string(self).find(selector).tap(&block)\n    end\n  end\n\n  def view_spec_page\n    require 'launchy'\n    filename = \"tmp/view_spec_render-#{Time.now.to_i}.html\"\n    File.write(filename, rendered)\n    Launchy.open filename\n  rescue LoadError\n    warn 'Sorry, you need to install launchy to open pages: `gem install launchy`'\n  end\n\n  def get_country\n    country = File.readlines(\"#{Rails.root}spec/fixtures/country_codes.txt\").sample\n    code, name = country.chomp.split('|')\n    @country = { country_name: name, country_code: code }\n  end\nend\n\nRSpec::Matchers.define :have_default_cc_addresses do\n  match do |mail|\n    mail.cc && (mail.cc.include? 'support@agileventures.org')\n  end\nend\n"
  },
  {
    "path": "spec/support/jasmine-browser.json",
    "content": "{\n  \"srcDir\": \"public/assets\",\n  \"srcFiles\": [\n    \"application-*.js\"\n  ],\n  \"specDir\": \"spec/javascripts\",\n  \"specFiles\": [\n    \"**/*[sS]pec.?(m)js\"\n  ],\n  \"helpers\": [\n    \"**/*jasmine-jquery.js\",\n    \"**/*spec_helper.js\"\n  ],\n  \"browser\": \"headlessChrome\"\n}\n"
  },
  {
    "path": "spec/support/privileged_user_helper.rb",
    "content": "# frozen_string_literal: true\n\ndef create_privileged_user\n  Settings.privileged_users.split(',').each do |email|\n    FactoryBot.create(:user, email: email)\n  end\nend\n\ndef get_privileged_user\n  create_privileged_user\n  user = User.where(email: Settings.privileged_users.split(',')[0]).take\nend\n"
  },
  {
    "path": "spec/support/shared_examples/presentable.rb",
    "content": "# frozen_string_literal: true\n\nshared_examples 'presentable' do\n  subject { described_class.new }\n\n  it 'should have a presenter' do\n    expect { subject.presenter }.to_not raise_error\n  end\nend\n"
  },
  {
    "path": "spec/support/shared_examples/shared_example_for_disqus.rb",
    "content": "# frozen_string_literal: true\n\nshared_examples 'commentable with Disqus' do\n  let(:data_tags) do\n    data_tags = {\n      'data-disqus-shortname' => Settings.disqus.shortname,\n      'data-disqus-identifier' => entity.friendly_id,\n      'data-disqus-title' => entity.title,\n      'data-disqus-url' => 'test.com'\n    }\n  end\n\n  before :each do\n    allow(controller.request).to receive(:url).and_return('test.com')\n  end\n\n  it 'renders Disqus_thread with parameters for Document' do\n    render\n    expect(rendered).to have_tag('div#disqus_thread', data_tags)\n  end\n\n  it 'embeds single-sign-on script if user is logged in' do\n    allow(view).to receive(:current_user).and_return(stub_model(User))\n    allow(view).to receive(:user_signed_in?).and_return(true)\n    render\n    expect(rendered).to have_tag('script', id: 'disqus-sso')\n  end\nend\n"
  },
  {
    "path": "spec/support/shared_examples/shared_example_for_hangout_button.rb",
    "content": "# frozen_string_literal: true\n\ninclude ProjectsHelper\n\nshared_examples_for 'it has a hangout button' do\n  before do\n    allow_message_expectations_on_nil\n    allow(view).to receive(:generate_event_instance_id).and_return('123456')\n    allow(view.current_user).to receive(:id).and_return('user_1')\n  end\n\n  context 'with Settings.hangouts.ssl_host' do\n    let(:data_tags) do\n      start_data =  JSON.generate({\n                                    'title' => title,\n                                    'category' => category,\n                                    'projectId' => project_id.to_s.squish,\n                                    'eventId' => event_id.to_s.squish,\n                                    'hostId' => 'user_1',\n                                    'hangoutId' => '123456',\n                                    'callbackUrl' => 'https://my_fancy_host.com/hangouts/'\n                                  })\n      {\n        'data-start-data' => start_data,\n        'data-app-id' => Settings.hangouts.app_id\n      }\n    end\n\n    it 'renders hangout button with data_tags' do\n      allow(Settings.hangouts).to receive(:ssl_host).and_return('my_fancy_host.com')\n      render\n      expect(rendered).to have_tag('div#liveHOA-placeholder', with: data_tags)\n    end\n  end\n\n  context 'without Settings.hangouts.ssl_host' do\n    let(:data_tags) do\n      start_data =  JSON.generate({\n                                    'title' => title,\n                                    'category' => category,\n                                    'projectId' => project_id.to_s.squish,\n                                    'eventId' => event_id.to_s.squish,\n                                    'hostId' => 'user_1',\n                                    'hangoutId' => '123456',\n                                    'callbackUrl' => 'https://test.host/hangouts/'\n                                  })\n      {\n        'data-start-data' => start_data,\n        'data-app-id' => Settings.hangouts.app_id\n      }\n    end\n\n    it 'renders hangout button with data_tags' do\n      allow(Settings.hangouts).to receive(:ssl_host).and_return(nil)\n      render\n      expect(rendered).to have_tag('div#liveHOA-placeholder', with: data_tags)\n    end\n  end\nend\n"
  },
  {
    "path": "spec/support/shared_examples/shared_example_for_user_avatar.rb",
    "content": "# frozen_string_literal: true\n\nshared_examples_for 'it has clickable user avatar with popover' do\n  before do\n    allow_any_instance_of(UserPresenter).to receive(:display_name).and_return('user_name')\n    allow_any_instance_of(UserPresenter).to receive(:gravatar_image).and_return('user_gravatar')\n    allow_any_instance_of(UserPresenter).to receive(:profile_link).and_return('profile_link')\n  end\n\n  it 'renders a user link with title' do\n    render\n\n    expect(rendered).to match(/user_name/)\n    expect(rendered).to match(/user_gravatar/)\n    expect(rendered).to match(/href=\"profile_link\"/)\n  end\nend\n"
  },
  {
    "path": "test/fixtures/project_mailer/project_creator_notification_html",
    "content": "<html>\n  <body>\n    <!DOCTYPE html>\n<html>\n  <head>\n    <meta content='text/html; charset=UTF-8' http-equiv='Content-Type' />\n  </head>\n  <body>\n    <p>Hi Reva Satterfield,<br></p>\n    <p>\n      <a href=\"mailto:leif.kozey@bruen.org\">leif.kozey@bruen.org</a> just joined your project Title 1, you can reach out and personally welcome them.<br>\n    </p>\n    <p>\n      You are receiving this email because you registered at <a href=\"http://www.agileventures.org/\">www.agileventures.org</a>. If you wish to be removed from this mailing list, please login at av.org and go to your profile page and edit \"Receive site emails\" to be unchecked - if you are already logged in go directly to: <a href=\"http://www.agileventures.org/users/edit\">www.agileventures.org/users/edit</a>.\n    </p>\n  </body>\n</html>\n\n  </body>\n</html>\n"
  },
  {
    "path": "test/fixtures/project_mailer/project_creator_notification_text",
    "content": "Hi Reva Satterfield,\n===========================================================================\n\nleif.kozey@bruen.org just joined your project Title 1, you can reach out and personally welcome them.\n===========================================================================\n\nYou are receiving this email because you registered at http://www.agileventures.org. If you wish to be removed from this mailing list, please login at av.org and go to your profile page and edit \"Receive site emails\" to be unchecked - if you are already logged in go directly to: http://www.agileventures.org/users/edit/.\n\n\n"
  },
  {
    "path": "test/fixtures/project_mailer/project_joinee_notification_helloworld_html",
    "content": "<html>\n  <body>\n    <p>Hi John,</p>\n\n<p>Thanks so much for joining the Hello World project!</p>\n<p>We coordinate via <a href=\"https://agileventures.slack.com/app_redirect?channel=#helloworld\">Hello World</a> on slack and are looking forward to working with you.</p>\n\n<p>Just reach out if there's anything you need.</p>\n\n<p>Best, Reva</p>\n\n<footer>\n  <p>You are receiving this email because you registered at <a href=\"http://www.agileventures.org/\">www.agileventures.org</a>. If you wish to be removed from this mailing list, please login at av.org and go to your profile page and edit \"Receive site emails\" to be unchecked - if you are already logged in go directly to: <a href=\"http://www.agileventures.org/users/edit\">www.agileventures.org/users/edit</a>.</p>\n</footer>\n\n  </body>\n</html>\n"
  },
  {
    "path": "test/fixtures/project_mailer/project_joinee_notification_helloworld_text",
    "content": "Hi John,\n\nThanks so much for joining the Hello World project!  We coordinate via https://agileventures.slack.com/app_redirect?channel=#helloworld on slack and are looking forward to working with you.\n\nJust reach out if there's anything you need.\n\nBest, Reva\n\n\nYou are receiving this email because you registered at www.agileventures.org. If you wish to be removed from this mailing list, please login at av.org and go to your profile page and edit \"Receive site emails\" to be unchecked - if you are already logged in go directly to: http://www.agileventures.org/users/edit.\n\n"
  },
  {
    "path": "test/fixtures/project_mailer/project_joinee_notification_html",
    "content": "<html>\n  <body>\n    <p>Hi Billy,</p>\n\n<p>Thanks so much for joining the WebsiteOne project! - as you might know, it's the Rails code that powers our main site - we coordinate via #websiteone on slack and there's a #websiteone-install channel for help to get set up.</p>\n<p>Just reach out if there's anything you need.</p>\n\n<p>Best, Sam</p>\n\n<footer>\n  <p>You are receiving this email because you registered at <a href=\"http://www.agileventures.org/\">www.agileventures.org</a>. If you wish to be removed from this mailing list, please login at av.org and go to your profile page and edit \"Receive site emails\" to be unchecked - if you are already logged in go directly to: <a href=\"http://www.agileventures.org/users/edit\">www.agileventures.org/users/edit</a>.</p>\n</footer>\n\n  </body>\n</html>\n"
  },
  {
    "path": "test/fixtures/project_mailer/project_joinee_notification_text",
    "content": "Hi Billy,\n\nThanks so much for joining the WebsiteOne project! - as you might know, it's the Rails code that powers our main site - we coordinate via #websiteone on slack and there's a #websiteone-install channel for help to get set up.\n\nJust reach out if there's anything you need.\n\nBest, Sam\n\n\nYou are receiving this email because you registered at www.agileventures.org. If you wish to be removed from this mailing list, please login at av.org and go to your profile page and edit \"Receive site emails\" to be unchecked - if you are already logged in go directly to: http://www.agileventures.org/users/edit.\n\n"
  },
  {
    "path": "vendor/assets/javascripts/.keep",
    "content": ""
  },
  {
    "path": "vendor/assets/javascripts/404.js",
    "content": "\n/**\n * Copyright (C) 2011 Hakim El Hattab, http://hakim.se\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n *\n * @author Hakim El Hattab | http://hakim.se\n */\n(function(){\n\n    var DISPLAY_WIDTH = 860,//960, NEEDS TO BE CHANGED IN custom_errors.css.scss too!\n        DISPLAY_HEIGHT = 430,//480,\n        DISPLAY_DURATION = 10,\n        OVERLAY_DURATION = 3;\n\n    var\tmouse = { x: 0, y: 0 },\n        container,\n        overlay,\n        message,\n        overlayOpacity = 1,\n        canvas,\n        context,\n        startTime,\n        eyes;\n\n    function initialize() {\n        container = document.getElementById( 'fof' );\n        overlay = document.querySelector( '#fof>div#overlay' );\n        canvas = document.querySelector( '#fof>canvas' );\n        message = document.querySelector('#fof>div#message');\n\n        if( canvas ) {\n            canvas.width = DISPLAY_WIDTH;\n            canvas.height = DISPLAY_HEIGHT;\n\n            context = canvas.getContext( '2d' );\n\n            document.addEventListener( 'mousemove', function( event ) {\n                mouse.x = event.clientX;\n                mouse.y = event.clientY;\n            }, false );\n\n            eyes = [\n                new Eye( canvas,   0.50, 0.50,   5.00,    0.10 ),\n\n                new Eye( canvas,   0.19, 0.80,   0.88,    0.31 ),\n                new Eye( canvas,   0.10, 0.54,   0.84,    0.32 ),\n                new Eye( canvas,   0.81, 0.13,   0.63,    0.33 ),\n                new Eye( canvas,   0.89, 0.19,   0.58,    0.34 ),\n                new Eye( canvas,   0.40, 0.08,   0.97,    0.35 ),\n                new Eye( canvas,   0.64, 0.74,   0.57,    0.36 ),\n                new Eye( canvas,   0.41, 0.89,   0.56,    0.37 ),\n                new Eye( canvas,   0.92, 0.89,   0.75,    0.38 ),\n                new Eye( canvas,   0.27, 0.20,   0.87,    0.39 ),\n                new Eye( canvas,   0.17, 0.46,   0.68,    0.41 ),\n                new Eye( canvas,   0.71, 0.29,   0.93,    0.42 ),\n                new Eye( canvas,   0.84, 0.46,   0.54,    0.43 ),\n                new Eye( canvas,   0.93, 0.35,   0.63,    0.44 ),\n                new Eye( canvas,   0.77, 0.82,   0.85,    0.45 ),\n                new Eye( canvas,   0.36, 0.74,   0.90,    0.46 ),\n                new Eye( canvas,   0.13, 0.24,   0.85,    0.47 ),\n                new Eye( canvas,   0.58, 0.20,   0.77,    0.48 ),\n                new Eye( canvas,   0.55, 0.84,   0.87,    0.50 ),\n            ];\n\n            startTime = Date.now();\n\n            animate();\n        }\n        else if( overlay ) {\n            overlay.parentElement.removeChild( overlay );\n        }\n    }\n\n    function animate() {\n        // The number of seconds that have passed since initialization\n        var seconds = ( Date.now() - startTime ) / 1000;\n\n        // Out with the old ...\n        context.clearRect( 0, 0, DISPLAY_WIDTH, DISPLAY_HEIGHT );\n\n        // ... in with the new\n        for( var i = 0, len = eyes.length; i < len; i++ ) {\n            var eye = eyes[i];\n\n            if( seconds > eye.activationTime * DISPLAY_DURATION ) {\n                eye.activate();\n            };\n\n            eye.update( mouse );\n        }\n\n        // Remove the overlay if its time has passed\n        if( seconds > OVERLAY_DURATION && overlay !== undefined ) {\n\n            // Ease-in\n            overlayOpacity *= 0.94 + ( 0.055 * overlayOpacity );\n            overlayOpacity = Math.max( overlayOpacity - 0.01, 0 );\n\n            overlay.style.opacity = overlayOpacity;\n            message.style.opacity = 1.0 - overlayOpacity;\n\n            if( overlayOpacity === 0 ) {\n                // We have no more use for the overlay, removing it ensures\n                // that we do not repeatedly enter this if statement\n                container.removeChild( overlay );\n\n                overlay = undefined;\n            }\n        }\n\n        requestAnimFrame( animate );\n    }\n\n    window.addEventListener ? window.addEventListener( 'load', initialize, false ) : window.onload = initialize;\n\n})();\n\n\nfunction Eye( canvas, x, y, scale, time ) {\n    this.canvas = canvas;\n    this.context = this.canvas.getContext( '2d' )\n\n    // The time at which this eye will come alive\n    this.activationTime = time;\n\n    // The speed at which the iris follows the mouse\n    this.irisSpeed = 0.01 + ( Math.random() * 0.2 ) / scale;\n\n    // The speed at which the eye opens and closes\n    this.blinkSpeed = 0.2 + ( Math.random() * 0.2 );\n    this.blinkInterval = 5000 + 5000 * ( Math.random() );\n\n    // Timestamp of the last blink\n    this.blinkTime = Date.now();\n\n    this.scale = scale;\n    this.size = 70 * scale;\n\n    this.x = x * canvas.width;\n    this.y = y * canvas.height + ( this.size * 0.15 );\n\n    this.iris = {\n        x: this.x,\n        y: this.y - ( this.size * 0.1 ),\n        size: this.size * 0.2\n    };\n\n    this.pupil = {\n        width: 2 * scale,\n        height: this.iris.size * 0.75\n    };\n\n    this.exposure = {\n        top: 0.1 + ( Math.random() * 0.3 ),\n        bottom: 0.5 + ( Math.random() * 0.3 ),\n        current: 0,\n        target: 1\n    };\n\n    // Affects the amount of inner shadow\n    this.tiredness = ( 0.5 - this.exposure.top ) + 0.1;\n\n    this.isActive = false;\n\n    this.activate = function() {\n        this.isActive = true;\n    }\n\n    this.update = function( mouse ) {\n        if( this.isActive === true ) {\n            this.render( mouse );\n        }\n    }\n\n    this.render = function( mouse ) {\n        var time = Date.now();\n\n        if( this.exposure.current < 0.012 ) {\n            this.exposure.target = 1;\n        }\n        else if( time - this.blinkTime > this.blinkInterval ) {\n            this.exposure.target = 0;\n            this.blinkTime = time;\n        }\n\n        this.exposure.current += ( this.exposure.target - this.exposure.current ) * this.blinkSpeed;\n\n        // Eye left/right\n        var el = { x: this.x - ( this.size * 0.8 ), y: this.y - ( this.size * 0.1 ) };\n        var er = { x: this.x + ( this.size * 0.8 ), y: this.y - ( this.size * 0.1 ) };\n\n        // Eye top/bottom\n        var et = { x: this.x, y: this.y - ( this.size * ( 0.5 + ( this.exposure.top * this.exposure.current ) ) ) };\n        var eb = { x: this.x, y: this.y - ( this.size * ( 0.5 - ( this.exposure.bottom * this.exposure.current ) ) ) };\n\n        // Eye inner shadow top\n        var eit = { x: this.x, y: this.y - ( this.size * ( 0.5 + ( ( 0.5 - this.tiredness ) * this.exposure.current ) ) ) };\n\n        // Eye iris\n        var ei = { x: this.x, y: this.y - ( this.iris.size ) };\n\n        // Offset the iris depending on mouse position\n        var eio = {\n            x: ( mouse.x - ei.x ) / ( window.innerWidth - ei.x ),\n            y: ( mouse.y ) / ( window.innerHeight )\n        };\n\n        // Apply the iris offset\n        ei.x += eio.x * 16 * Math.max( 1, this.scale * 0.4 );\n        ei.y += eio.y * 10 * Math.max( 1, this.scale * 0.4 );\n\n        this.iris.x += ( ei.x - this.iris.x ) * this.irisSpeed;\n        this.iris.y += ( ei.y - this.iris.y ) * this.irisSpeed;\n\n        // Eye fill drawing\n        this.context.fillStyle = 'rgba(255,255,255,1.0)';\n        this.context.strokeStyle = 'rgba(100,100,100,1.0)';\n        this.context.beginPath();\n        this.context.lineWidth = 3;\n        this.context.lineJoin = 'round';\n        this.context.moveTo( el.x, el.y );\n        this.context.quadraticCurveTo( et.x, et.y, er.x, er.y );\n        this.context.quadraticCurveTo( eb.x, eb.y, el.x, el.y );\n        this.context.closePath();\n        this.context.stroke();\n        this.context.fill();\n\n        // Iris\n        this.context.save();\n        this.context.globalCompositeOperation = 'source-atop';\n        this.context.translate(this.iris.x*0.1,0);\n        this.context.scale(0.9,1);\n        this.context.strokeStyle = 'rgba(0,0,0,0.5)';\n        this.context.fillStyle = 'rgba(130,50,90,0.9)';\n        this.context.lineWidth = 2;\n        this.context.beginPath();\n        this.context.arc(this.iris.x, this.iris.y, this.iris.size, 0, Math.PI*2, true);\n        this.context.fill();\n        this.context.stroke();\n        this.context.restore();\n\n        // Iris inner\n        this.context.save();\n        this.context.shadowColor = 'rgba(255,255,255,0.5)';\n        this.context.shadowOffsetX = 0;\n        this.context.shadowOffsetY = 0;\n        this.context.shadowBlur = 2 * this.scale;\n        this.context.globalCompositeOperation = 'source-atop';\n        this.context.translate(this.iris.x*0.1,0);\n        this.context.scale(0.9,1);\n        this.context.fillStyle = 'rgba(255,255,255,0.2)';\n        this.context.beginPath();\n        this.context.arc(this.iris.x, this.iris.y, this.iris.size * 0.7, 0, Math.PI*2, true);\n        this.context.fill();\n        this.context.restore();\n\n        // Pupil\n        this.context.save();\n        this.context.globalCompositeOperation = 'source-atop';\n        this.context.fillStyle = 'rgba(0,0,0,0.9)';\n        this.context.beginPath();\n        this.context.moveTo( this.iris.x, this.iris.y - ( this.pupil.height * 0.5 ) );\n        this.context.quadraticCurveTo( this.iris.x + ( this.pupil.width * 0.5 ), this.iris.y, this.iris.x, this.iris.y + ( this.pupil.height * 0.5 ) );\n        this.context.quadraticCurveTo( this.iris.x - ( this.pupil.width * 0.5 ), this.iris.y, this.iris.x, this.iris.y - ( this.pupil.height * 0.5 ) );\n        this.context.fill();\n        this.context.restore();\n\n        this.context.save();\n        this.context.shadowColor = 'rgba(0,0,0,0.9)';\n        this.context.shadowOffsetX = 0;\n        this.context.shadowOffsetY = 0;\n        this.context.shadowBlur = 10;\n\n        // Eye top inner shadow\n        this.context.fillStyle = 'rgba(120,120,120,0.2)';\n        this.context.beginPath();\n        this.context.moveTo( el.x, el.y );\n        this.context.quadraticCurveTo( et.x, et.y, er.x, er.y );\n        this.context.quadraticCurveTo( eit.x, eit.y, el.x, el.y );\n        this.context.closePath();\n        this.context.fill();\n\n        this.context.restore();\n\n    }\n}\n\n// shim with setTimeout fallback from http://paulirish.com/2011/requestanimationframe-for-smart-animating/\nwindow.requestAnimFrame = (function(){\n    return  window.requestAnimationFrame       ||\n        window.webkitRequestAnimationFrame ||\n        window.mozRequestAnimationFrame    ||\n        window.oRequestAnimationFrame      ||\n        window.msRequestAnimationFrame     ||\n        function(/* function */ callback, /* DOMElement */ element){\n            window.setTimeout(callback, 1000 / 60);\n        };\n})();\n"
  },
  {
    "path": "vendor/assets/javascripts/bootstrap-tags.js",
    "content": "/*!\n * bootstrap-tags 1.1.0\n * https://github.com/maxwells/bootstrap-tags\n * Copyright 2013 Max Lahey; Licensed MIT\n */\n\n(function($) {\n    (function() {\n        window.Tags || (window.Tags = {});\n        jQuery(function() {\n            $.tags = function(element, options) {\n                var key, tag, tagData, value, _i, _len, _ref, _this = this;\n                if (options == null) {\n                    options = {};\n                }\n                for (key in options) {\n                    value = options[key];\n                    this[key] = value;\n                }\n                this.bootstrapVersion || (this.bootstrapVersion = \"3\");\n                this.readOnly || (this.readOnly = false);\n                this.suggestions || (this.suggestions = []);\n                this.restrictTo = options.restrictTo != null ? options.restrictTo.concat(this.suggestions) : false;\n                this.exclude || (this.exclude = false);\n                this.displayPopovers = options.popovers != null ? true : options.popoverData != null;\n                this.popoverTrigger || (this.popoverTrigger = \"hover\");\n                this.tagClass || (this.tagClass = \"btn-info\");\n                this.tagSize || (this.tagSize = \"md\");\n                this.promptText || (this.promptText = \"Enter tags...\");\n                this.caseInsensitive || (this.caseInsensitive = false);\n                this.readOnlyEmptyMessage || (this.readOnlyEmptyMessage = \"No tags to display...\");\n                this.beforeAddingTag || (this.beforeAddingTag = function(tag) {});\n                this.afterAddingTag || (this.afterAddingTag = function(tag) {});\n                this.beforeDeletingTag || (this.beforeDeletingTag = function(tag) {});\n                this.afterDeletingTag || (this.afterDeletingTag = function(tag) {});\n                this.definePopover || (this.definePopover = function(tag) {\n                    return 'associated content for \"' + tag + '\"';\n                });\n                this.excludes || (this.excludes = function() {\n                    return false;\n                });\n                this.tagRemoved || (this.tagRemoved = function(tag) {});\n                this.pressedReturn || (this.pressedReturn = function(e) {});\n                this.pressedDelete || (this.pressedDelete = function(e) {});\n                this.pressedDown || (this.pressedDown = function(e) {});\n                this.pressedUp || (this.pressedUp = function(e) {});\n                this.$element = $(element);\n                if (options.tagData != null) {\n                    this.tagsArray = options.tagData;\n                } else {\n                    tagData = $(\".tag-data\", this.$element).html();\n                    this.tagsArray = tagData != null ? tagData.split(\",\") : [];\n                }\n                if (options.popoverData) {\n                    this.popoverArray = options.popoverData;\n                } else {\n                    this.popoverArray = [];\n                    _ref = this.tagsArray;\n                    for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n                        tag = _ref[_i];\n                        this.popoverArray.push(null);\n                    }\n                }\n                this.getTags = function() {\n                    return _this.tagsArray;\n                };\n                this.getTagsContent = function() {\n                    return _this.popoverArray;\n                };\n                this.getTagsWithContent = function() {\n                    var combined, i, _j, _ref1;\n                    combined = [];\n                    for (i = _j = 0, _ref1 = _this.tagsArray.length - 1; 0 <= _ref1 ? _j <= _ref1 : _j >= _ref1; i = 0 <= _ref1 ? ++_j : --_j) {\n                        combined.push({\n                            tag: _this.tagsArray[i],\n                            content: _this.popoverArray[i]\n                        });\n                    }\n                    return combined;\n                };\n                this.getTag = function(tag) {\n                    var index;\n                    index = _this.tagsArray.indexOf(tag);\n                    if (index > -1) {\n                        return _this.tagsArray[index];\n                    } else {\n                        return null;\n                    }\n                };\n                this.getTagWithContent = function(tag) {\n                    var index;\n                    index = _this.tagsArray.indexOf(tag);\n                    return {\n                        tag: _this.tagsArray[index],\n                        content: _this.popoverArray[index]\n                    };\n                };\n                this.hasTag = function(tag) {\n                    return _this.tagsArray.indexOf(tag) > -1;\n                };\n                this.removeTagClicked = function(e) {\n                    if (e.currentTarget.tagName === \"A\") {\n                        _this.removeTag($(\"span\", e.currentTarget.parentElement).html());\n                        $(e.currentTarget.parentNode).remove();\n                    }\n                    return _this;\n                };\n                this.removeLastTag = function() {\n                    _this.removeTag(_this.tagsArray[_this.tagsArray.length - 1]);\n                    return _this;\n                };\n                this.removeTag = function(tag) {\n                    if (_this.tagsArray.indexOf(tag) > -1) {\n                        if (_this.beforeDeletingTag(tag) === false) {\n                            return;\n                        }\n                        _this.popoverArray.splice(_this.tagsArray.indexOf(tag), 1);\n                        _this.tagsArray.splice(_this.tagsArray.indexOf(tag), 1);\n                        _this.renderTags();\n                        _this.afterDeletingTag(tag);\n                    }\n                    return _this;\n                };\n                this.addTag = function(tag) {\n                    var associatedContent;\n                    if ((_this.restrictTo === false || _this.restrictTo.indexOf(tag) !== -1) && _this.tagsArray.indexOf(tag) < 0 && tag.length > 0 && (_this.exclude === false || _this.exclude.indexOf(tag) === -1) && !_this.excludes(tag)) {\n                        if (_this.beforeAddingTag(tag) === false) {\n                            return;\n                        }\n                        associatedContent = _this.definePopover(tag);\n                        _this.popoverArray.push(associatedContent || null);\n                        _this.tagsArray.push(tag);\n                        _this.afterAddingTag(tag);\n                        _this.renderTags();\n                    }\n                    return _this;\n                };\n                this.addTagWithContent = function(tag, content) {\n                    if ((_this.restrictTo === false || _this.restrictTo.indexOf(tag) !== -1) && _this.tagsArray.indexOf(tag) < 0 && tag.length > 0) {\n                        if (_this.beforeAddingTag(tag) === false) {\n                            return;\n                        }\n                        _this.tagsArray.push(tag);\n                        _this.popoverArray.push(content);\n                        _this.afterAddingTag(tag);\n                        _this.renderTags();\n                    }\n                    return _this;\n                };\n                this.renameTag = function(name, newName) {\n                    _this.tagsArray[_this.tagsArray.indexOf(name)] = newName;\n                    _this.renderTags();\n                    return _this;\n                };\n                this.setPopover = function(tag, popoverContent) {\n                    _this.popoverArray[_this.tagsArray.indexOf(tag)] = popoverContent;\n                    _this.renderTags();\n                    return _this;\n                };\n                this.keyDownHandler = function(e) {\n                    var k, numSuggestions;\n                    k = e.keyCode != null ? e.keyCode : e.which;\n                    switch (k) {\n                      case 13:\n                        _this.pressedReturn(e);\n                        tag = e.target.value;\n                        if (_this.suggestedIndex !== -1) {\n                            tag = _this.suggestionList[_this.suggestedIndex];\n                        }\n                        _this.addTag(tag);\n                        e.target.value = \"\";\n                        _this.renderTags();\n                        return _this.hideSuggestions();\n\n                      case 46:\n                      case 8:\n                        _this.pressedDelete(e);\n                        if (e.target.value === \"\") {\n                            _this.removeLastTag();\n                        }\n                        if (e.target.value.length === 1) {\n                            return _this.hideSuggestions();\n                        }\n                        break;\n\n                      case 40:\n                        _this.pressedDown(e);\n                        if (_this.input.val() === \"\" && (_this.suggestedIndex === -1 || _this.suggestedIndex == null)) {\n                            _this.makeSuggestions(e, true);\n                        }\n                        numSuggestions = _this.suggestionList.length;\n                        _this.suggestedIndex = _this.suggestedIndex < numSuggestions - 1 ? _this.suggestedIndex + 1 : numSuggestions - 1;\n                        _this.selectSuggested(_this.suggestedIndex);\n                        if (_this.suggestedIndex >= 0) {\n                            return _this.scrollSuggested(_this.suggestedIndex);\n                        }\n                        break;\n\n                      case 38:\n                        _this.pressedUp(e);\n                        _this.suggestedIndex = _this.suggestedIndex > 0 ? _this.suggestedIndex - 1 : 0;\n                        _this.selectSuggested(_this.suggestedIndex);\n                        if (_this.suggestedIndex >= 0) {\n                            return _this.scrollSuggested(_this.suggestedIndex);\n                        }\n                        break;\n\n                      case 9:\n                      case 27:\n                        _this.hideSuggestions();\n                        return _this.suggestedIndex = -1;\n                    }\n                };\n                this.keyUpHandler = function(e) {\n                    var k;\n                    k = e.keyCode != null ? e.keyCode : e.which;\n                    if (k !== 40 && k !== 38 && k !== 27) {\n                        return _this.makeSuggestions(e, false);\n                    }\n                };\n                this.getSuggestions = function(str, overrideLengthCheck) {\n                    var _this = this;\n                    if (this.caseInsensitive) {\n                        str = str.toLowerCase();\n                    }\n                    this.suggestionList = [];\n                    $.each(this.suggestions, function(i, suggestion) {\n                        var suggestionVal;\n                        suggestionVal = _this.caseInsensitive ? suggestion.substring(0, str.length) : suggestion.substring(0, str.length).toLowerCase();\n                        if (_this.tagsArray.indexOf(suggestion) < 0 && suggestionVal === str && (str.length > 0 || overrideLengthCheck)) {\n                            return _this.suggestionList.push(suggestion);\n                        }\n                    });\n                    return this.suggestionList;\n                };\n                this.makeSuggestions = function(e, overrideLengthCheck) {\n                    var val;\n                    val = e.target.value != null ? e.target.value : e.target.textContent;\n                    _this.suggestedIndex = -1;\n                    _this.$suggestionList.html(\"\");\n                    $.each(_this.getSuggestions(val, overrideLengthCheck), function(i, suggestion) {\n                        return _this.$suggestionList.append(_this.template(\"tags_suggestion\", {\n                            suggestion: suggestion\n                        }));\n                    });\n                    _this.$(\".tags-suggestion\").mouseover(_this.selectSuggestedMouseOver);\n                    _this.$(\".tags-suggestion\").click(_this.suggestedClicked);\n                    if (_this.suggestionList.length > 0) {\n                        return _this.showSuggestions();\n                    } else {\n                        return _this.hideSuggestions();\n                    }\n                };\n                this.suggestedClicked = function(e) {\n                    tag = e.target.textContent;\n                    if (_this.suggestedIndex !== -1) {\n                        tag = _this.suggestionList[_this.suggestedIndex];\n                    }\n                    _this.addTag(tag);\n                    _this.input.val(\"\");\n                    _this.makeSuggestions(e, false);\n                    _this.input.focus();\n                    return _this.hideSuggestions();\n                };\n                this.hideSuggestions = function() {\n                    return _this.$(\".tags-suggestion-list\").css({\n                        display: \"none\"\n                    });\n                };\n                this.showSuggestions = function() {\n                    return _this.$(\".tags-suggestion-list\").css({\n                        display: \"block\"\n                    });\n                };\n                this.selectSuggestedMouseOver = function(e) {\n                    $(\".tags-suggestion\").removeClass(\"tags-suggestion-highlighted\");\n                    $(e.target).addClass(\"tags-suggestion-highlighted\");\n                    $(e.target).mouseout(_this.selectSuggestedMousedOut);\n                    return _this.suggestedIndex = _this.$(\".tags-suggestion\").index($(e.target));\n                };\n                this.selectSuggestedMousedOut = function(e) {\n                    return $(e.target).removeClass(\"tags-suggestion-highlighted\");\n                };\n                this.selectSuggested = function(i) {\n                    var tagElement;\n                    $(\".tags-suggestion\").removeClass(\"tags-suggestion-highlighted\");\n                    tagElement = _this.$(\".tags-suggestion\").eq(i);\n                    return tagElement.addClass(\"tags-suggestion-highlighted\");\n                };\n                this.scrollSuggested = function(i) {\n                    var pos, tagElement, topElement, topPos;\n                    tagElement = _this.$(\".tags-suggestion\").eq(i);\n                    topElement = _this.$(\".tags-suggestion\").eq(0);\n                    pos = tagElement.position();\n                    topPos = topElement.position();\n                    if (pos != null) {\n                        return _this.$(\".tags-suggestion-list\").scrollTop(pos.top - topPos.top);\n                    }\n                };\n                this.adjustInputPosition = function() {\n                    var pBottom, pLeft, pTop, pWidth, tagElement, tagPosition;\n                    tagElement = _this.$(\".tag\").last();\n                    tagPosition = tagElement.position();\n                    pLeft = tagPosition != null ? tagPosition.left + tagElement.outerWidth(true) : 0;\n                    pTop = tagPosition != null ? tagPosition.top : 0;\n                    pWidth = _this.$element.width() - pLeft;\n                    $(\".tags-input\", _this.$element).css({\n                        paddingLeft: Math.max(pLeft, 0),\n                        paddingTop: Math.max(pTop, 0),\n                        width: pWidth\n                    });\n                    pBottom = tagPosition != null ? tagPosition.top + tagElement.outerHeight(true) : 22;\n                    return _this.$element.css({\n                        paddingBottom: pBottom - _this.$element.height()\n                    });\n                };\n                this.renderTags = function() {\n                    var tagList;\n                    tagList = _this.$(\".tags\");\n                    tagList.html(\"\");\n                    _this.input.attr(\"placeholder\", _this.tagsArray.length === 0 ? _this.promptText : \"\");\n                    $.each(_this.tagsArray, function(i, tag) {\n                        tag = $(_this.formatTag(i, tag));\n                        $(\"a\", tag).click(_this.removeTagClicked);\n                        $(\"a\", tag).mouseover(_this.toggleCloseColor);\n                        $(\"a\", tag).mouseout(_this.toggleCloseColor);\n                        if (_this.displayPopovers) {\n                            _this.initializePopoverFor(tag, _this.tagsArray[i], _this.popoverArray[i]);\n                        }\n                        return tagList.append(tag);\n                    });\n                    return _this.adjustInputPosition();\n                };\n                this.renderReadOnly = function() {\n                    var tagList;\n                    tagList = _this.$(\".tags\");\n                    tagList.html(_this.tagsArray.length === 0 ? _this.readOnlyEmptyMessage : \"\");\n                    return $.each(_this.tagsArray, function(i, tag) {\n                        tag = $(_this.formatTag(i, tag, true));\n                        if (_this.displayPopovers) {\n                            _this.initializePopoverFor(tag, _this.tagsArray[i], _this.popoverArray[i]);\n                        }\n                        return tagList.append(tag);\n                    });\n                };\n                this.initializePopoverFor = function(tag, title, content) {\n                    options = {\n                        title: title,\n                        content: content,\n                        placement: \"bottom\"\n                    };\n                    if (_this.popoverTrigger === \"hoverShowClickHide\") {\n                        $(tag).mouseover(function() {\n                            $(tag).popover(\"show\");\n                            return $(\".tag\").not(tag).popover(\"hide\");\n                        });\n                        $(document).click(function() {\n                            return $(tag).popover(\"hide\");\n                        });\n                    } else {\n                        options.trigger = _this.popoverTrigger;\n                    }\n                    return $(tag).popover(options);\n                };\n                this.toggleCloseColor = function(e) {\n                    var opacity, tagAnchor;\n                    tagAnchor = $(e.currentTarget);\n                    opacity = tagAnchor.css(\"opacity\");\n                    opacity = opacity < .8 ? 1 : .6;\n                    return tagAnchor.css({\n                        opacity: opacity\n                    });\n                };\n                this.formatTag = function(i, tag, isReadOnly) {\n                    var escapedTag;\n                    if (isReadOnly == null) {\n                        isReadOnly = false;\n                    }\n                    escapedTag = tag.replace(\"<\", \"&lt;\").replace(\">\", \"&gt;\");\n                    return _this.template(\"tag\", {\n                        tag: escapedTag,\n                        tagClass: _this.tagClass,\n                        isPopover: _this.displayPopovers,\n                        isReadOnly: isReadOnly,\n                        tagSize: _this.tagSize\n                    });\n                };\n                this.addDocumentListeners = function() {\n                    return $(document).mouseup(function(e) {\n                        var container;\n                        container = _this.$(\".tags-suggestion-list\");\n                        if (container.has(e.target).length === 0) {\n                            return _this.hideSuggestions();\n                        }\n                    });\n                };\n                this.template = function(name, options) {\n                    return Tags.Templates.Template(this.getBootstrapVersion(), name, options);\n                };\n                this.$ = function(selector) {\n                    return $(selector, this.$element);\n                };\n                this.getBootstrapVersion = function() {\n                    return Tags.bootstrapVersion || this.bootstrapVersion;\n                };\n                this.initializeDom = function() {\n                    return this.$element.append(this.template(\"tags_container\"));\n                };\n                this.init = function() {\n                    this.$element.addClass(\"bootstrap-tags\").addClass(\"bootstrap-\" + this.getBootstrapVersion());\n                    this.initializeDom();\n                    if (this.readOnly) {\n                        this.renderReadOnly();\n                        this.removeTag = function() {};\n                        this.removeTagClicked = function() {};\n                        this.removeLastTag = function() {};\n                        this.addTag = function() {};\n                        this.addTagWithContent = function() {};\n                        this.renameTag = function() {};\n                        return this.setPopover = function() {};\n                    } else {\n                        this.input = $(this.template(\"input\", {\n                            tagSize: this.tagSize\n                        }));\n                        this.input.keydown(this.keyDownHandler);\n                        this.input.keyup(this.keyUpHandler);\n                        this.$element.append(this.input);\n                        this.$suggestionList = $(this.template(\"suggestion_list\"));\n                        this.$element.append(this.$suggestionList);\n                        this.renderTags();\n                        return this.addDocumentListeners();\n                    }\n                };\n                this.init();\n                return this;\n            };\n            return $.fn.tags = function(options) {\n                var stopOn, tagsObject;\n                tagsObject = {};\n                stopOn = typeof options === \"number\" ? options : -1;\n                this.each(function(i, el) {\n                    var $el;\n                    $el = $(el);\n                    if ($el.data(\"tags\") == null) {\n                        $el.data(\"tags\", new $.tags(this, options));\n                    }\n                    if (stopOn === i || i === 0) {\n                        return tagsObject = $el.data(\"tags\");\n                    }\n                });\n                return tagsObject;\n            };\n        });\n    }).call(this);\n    (function() {\n        window.Tags || (window.Tags = {});\n        Tags.Helpers || (Tags.Helpers = {});\n        Tags.Helpers.addPadding = function(string, amount, doPadding) {\n            if (amount == null) {\n                amount = 1;\n            }\n            if (doPadding == null) {\n                doPadding = true;\n            }\n            if (!doPadding) {\n                return string;\n            }\n            if (amount === 0) {\n                return string;\n            }\n            return Tags.Helpers.addPadding(\"&nbsp\" + string + \"&nbsp\", amount - 1);\n        };\n    }).call(this);\n    (function() {\n        var _base;\n        window.Tags || (window.Tags = {});\n        Tags.Templates || (Tags.Templates = {});\n        (_base = Tags.Templates)[\"2\"] || (_base[\"2\"] = {});\n        Tags.Templates[\"2\"].input = function(options) {\n            var tagSize;\n            if (options == null) {\n                options = {};\n            }\n            tagSize = function() {\n                switch (options.tagSize) {\n                  case \"sm\":\n                    return \"small\";\n\n                  case \"md\":\n                    return \"medium\";\n\n                  case \"lg\":\n                    return \"large\";\n                }\n            }();\n            return \"<input type='text' class='tags-input input-\" + tagSize + \"' />\";\n        };\n    }).call(this);\n    (function() {\n        var _base;\n        window.Tags || (window.Tags = {});\n        Tags.Templates || (Tags.Templates = {});\n        (_base = Tags.Templates)[\"2\"] || (_base[\"2\"] = {});\n        Tags.Templates[\"2\"].tag = function(options) {\n            if (options == null) {\n                options = {};\n            }\n            return \"<div class='tag label \" + options.tagClass + \" \" + options.tagSize + \"' \" + (options.isPopover ? \"rel='popover'\" : \"\") + \">    <span>\" + Tags.Helpers.addPadding(options.tag, 2, options.isReadOnly) + \"</span>    \" + (options.isReadOnly ? \"\" : \"<a><i class='remove icon-remove-sign icon-white' /></a>\") + \"  </div>\";\n        };\n    }).call(this);\n    (function() {\n        var _base;\n        window.Tags || (window.Tags = {});\n        Tags.Templates || (Tags.Templates = {});\n        (_base = Tags.Templates)[\"3\"] || (_base[\"3\"] = {});\n        Tags.Templates[\"3\"].input = function(options) {\n            if (options == null) {\n                options = {};\n            }\n            return \"<input type='text' class='form-control tags-input input-\" + options.tagSize + \"' />\";\n        };\n    }).call(this);\n    (function() {\n        var _base;\n        window.Tags || (window.Tags = {});\n        Tags.Templates || (Tags.Templates = {});\n        (_base = Tags.Templates)[\"3\"] || (_base[\"3\"] = {});\n        Tags.Templates[\"3\"].tag = function(options) {\n            if (options == null) {\n                options = {};\n            }\n            return \"<div class='tag label \" + options.tagClass + \" \" + options.tagSize + \"' \" + (options.isPopover ? \"rel='popover'\" : \"\") + \">    <span>\" + Tags.Helpers.addPadding(options.tag, 2, options.isReadOnly) + \"</span>    \" + (options.isReadOnly ? \"\" : \"<a><i class='remove glyphicon glyphicon-remove-sign glyphicon-white' /></a>\") + \"  </div>\";\n        };\n    }).call(this);\n    (function() {\n        var _base;\n        window.Tags || (window.Tags = {});\n        Tags.Templates || (Tags.Templates = {});\n        (_base = Tags.Templates).shared || (_base.shared = {});\n        Tags.Templates.shared.suggestion_list = function(options) {\n            if (options == null) {\n                options = {};\n            }\n            return '<ul class=\"tags-suggestion-list dropdown-menu\"></ul>';\n        };\n    }).call(this);\n    (function() {\n        var _base;\n        window.Tags || (window.Tags = {});\n        Tags.Templates || (Tags.Templates = {});\n        (_base = Tags.Templates).shared || (_base.shared = {});\n        Tags.Templates.shared.tags_container = function(options) {\n            if (options == null) {\n                options = {};\n            }\n            return '<div class=\"tags\"></div>';\n        };\n    }).call(this);\n    (function() {\n        var _base;\n        window.Tags || (window.Tags = {});\n        Tags.Templates || (Tags.Templates = {});\n        (_base = Tags.Templates).shared || (_base.shared = {});\n        Tags.Templates.shared.tags_suggestion = function(options) {\n            if (options == null) {\n                options = {};\n            }\n            return \"<li class='tags-suggestion'>\" + options.suggestion + \"</li>\";\n        };\n    }).call(this);\n    (function() {\n        window.Tags || (window.Tags = {});\n        Tags.Templates || (Tags.Templates = {});\n        Tags.Templates.Template = function(version, templateName, options) {\n            if (Tags.Templates[version] != null) {\n                if (Tags.Templates[version][templateName] != null) {\n                    return Tags.Templates[version][templateName](options);\n                }\n            }\n            return Tags.Templates.shared[templateName](options);\n        };\n    }).call(this);\n})(window.jQuery);"
  },
  {
    "path": "vendor/assets/javascripts/fullcalendar.js",
    "content": "/*!\n * FullCalendar v3.6.2\n * Docs & License: https://fullcalendar.io/\n * (c) 2017 Adam Shaw\n */\n\n(function(factory) {\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine([ 'jquery', 'moment' ], factory);\n\t}\n\telse if (typeof exports === 'object') { // Node/CommonJS\n\t\tmodule.exports = factory(require('jquery'), require('moment'));\n\t}\n\telse {\n\t\tfactory(jQuery, moment);\n\t}\n})(function($, moment) {\n\n;;\n\nvar FC = $.fullCalendar = {\n\tversion: \"3.6.2\",\n\t// When introducing internal API incompatibilities (where fullcalendar plugins would break),\n\t// the minor version of the calendar should be upped (ex: 2.7.2 -> 2.8.0)\n\t// and the below integer should be incremented.\n\tinternalApiVersion: 11\n};\nvar fcViews = FC.views = {};\n\n\n$.fn.fullCalendar = function(options) {\n\tvar args = Array.prototype.slice.call(arguments, 1); // for a possible method call\n\tvar res = this; // what this function will return (this jQuery object by default)\n\n\tthis.each(function(i, _element) { // loop each DOM element involved\n\t\tvar element = $(_element);\n\t\tvar calendar = element.data('fullCalendar'); // get the existing calendar object (if any)\n\t\tvar singleRes; // the returned value of this single method call\n\n\t\t// a method call\n\t\tif (typeof options === 'string') {\n\n\t\t\tif (options === 'getCalendar') {\n\t\t\t\tif (!i) { // first element only\n\t\t\t\t\tres = calendar;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (options === 'destroy') { // don't warn if no calendar object\n\t\t\t\tif (calendar) {\n\t\t\t\t\tcalendar.destroy();\n\t\t\t\t\telement.removeData('fullCalendar');\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (!calendar) {\n\t\t\t\tFC.warn(\"Attempting to call a FullCalendar method on an element with no calendar.\");\n\t\t\t}\n\t\t\telse if ($.isFunction(calendar[options])) {\n\t\t\t\tsingleRes = calendar[options].apply(calendar, args);\n\n\t\t\t\tif (!i) {\n\t\t\t\t\tres = singleRes; // record the first method call result\n\t\t\t\t}\n\t\t\t\tif (options === 'destroy') { // for the destroy method, must remove Calendar object data\n\t\t\t\t\telement.removeData('fullCalendar');\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tFC.warn(\"'\" + options + \"' is an unknown FullCalendar method.\");\n\t\t\t}\n\t\t}\n\t\t// a new calendar initialization\n\t\telse if (!calendar) { // don't initialize twice\n\t\t\tcalendar = new Calendar(element, options);\n\t\t\telement.data('fullCalendar', calendar);\n\t\t\tcalendar.render();\n\t\t}\n\t});\n\n\treturn res;\n};\n\n\nvar complexOptions = [ // names of options that are objects whose properties should be combined\n\t'header',\n\t'footer',\n\t'buttonText',\n\t'buttonIcons',\n\t'themeButtonIcons'\n];\n\n\n// Merges an array of option objects into a single object\nfunction mergeOptions(optionObjs) {\n\treturn mergeProps(optionObjs, complexOptions);\n}\n\n;;\n\n// exports\nFC.applyAll = applyAll;\nFC.debounce = debounce;\nFC.isInt = isInt;\nFC.htmlEscape = htmlEscape;\nFC.cssToStr = cssToStr;\nFC.proxy = proxy;\nFC.capitaliseFirstLetter = capitaliseFirstLetter;\n\n\n/* FullCalendar-specific DOM Utilities\n----------------------------------------------------------------------------------------------------------------------*/\n\n\n// Given the scrollbar widths of some other container, create borders/margins on rowEls in order to match the left\n// and right space that was offset by the scrollbars. A 1-pixel border first, then margin beyond that.\nfunction compensateScroll(rowEls, scrollbarWidths) {\n\tif (scrollbarWidths.left) {\n\t\trowEls.css({\n\t\t\t'border-left-width': 1,\n\t\t\t'margin-left': scrollbarWidths.left - 1\n\t\t});\n\t}\n\tif (scrollbarWidths.right) {\n\t\trowEls.css({\n\t\t\t'border-right-width': 1,\n\t\t\t'margin-right': scrollbarWidths.right - 1\n\t\t});\n\t}\n}\n\n\n// Undoes compensateScroll and restores all borders/margins\nfunction uncompensateScroll(rowEls) {\n\trowEls.css({\n\t\t'margin-left': '',\n\t\t'margin-right': '',\n\t\t'border-left-width': '',\n\t\t'border-right-width': ''\n\t});\n}\n\n\n// Make the mouse cursor express that an event is not allowed in the current area\nfunction disableCursor() {\n\t$('body').addClass('fc-not-allowed');\n}\n\n\n// Returns the mouse cursor to its original look\nfunction enableCursor() {\n\t$('body').removeClass('fc-not-allowed');\n}\n\n\n// Given a total available height to fill, have `els` (essentially child rows) expand to accomodate.\n// By default, all elements that are shorter than the recommended height are expanded uniformly, not considering\n// any other els that are already too tall. if `shouldRedistribute` is on, it considers these tall rows and \n// reduces the available height.\nfunction distributeHeight(els, availableHeight, shouldRedistribute) {\n\n\t// *FLOORING NOTE*: we floor in certain places because zoom can give inaccurate floating-point dimensions,\n\t// and it is better to be shorter than taller, to avoid creating unnecessary scrollbars.\n\n\tvar minOffset1 = Math.floor(availableHeight / els.length); // for non-last element\n\tvar minOffset2 = Math.floor(availableHeight - minOffset1 * (els.length - 1)); // for last element *FLOORING NOTE*\n\tvar flexEls = []; // elements that are allowed to expand. array of DOM nodes\n\tvar flexOffsets = []; // amount of vertical space it takes up\n\tvar flexHeights = []; // actual css height\n\tvar usedHeight = 0;\n\n\tundistributeHeight(els); // give all elements their natural height\n\n\t// find elements that are below the recommended height (expandable).\n\t// important to query for heights in a single first pass (to avoid reflow oscillation).\n\tels.each(function(i, el) {\n\t\tvar minOffset = i === els.length - 1 ? minOffset2 : minOffset1;\n\t\tvar naturalOffset = $(el).outerHeight(true);\n\n\t\tif (naturalOffset < minOffset) {\n\t\t\tflexEls.push(el);\n\t\t\tflexOffsets.push(naturalOffset);\n\t\t\tflexHeights.push($(el).height());\n\t\t}\n\t\telse {\n\t\t\t// this element stretches past recommended height (non-expandable). mark the space as occupied.\n\t\t\tusedHeight += naturalOffset;\n\t\t}\n\t});\n\n\t// readjust the recommended height to only consider the height available to non-maxed-out rows.\n\tif (shouldRedistribute) {\n\t\tavailableHeight -= usedHeight;\n\t\tminOffset1 = Math.floor(availableHeight / flexEls.length);\n\t\tminOffset2 = Math.floor(availableHeight - minOffset1 * (flexEls.length - 1)); // *FLOORING NOTE*\n\t}\n\n\t// assign heights to all expandable elements\n\t$(flexEls).each(function(i, el) {\n\t\tvar minOffset = i === flexEls.length - 1 ? minOffset2 : minOffset1;\n\t\tvar naturalOffset = flexOffsets[i];\n\t\tvar naturalHeight = flexHeights[i];\n\t\tvar newHeight = minOffset - (naturalOffset - naturalHeight); // subtract the margin/padding\n\n\t\tif (naturalOffset < minOffset) { // we check this again because redistribution might have changed things\n\t\t\t$(el).height(newHeight);\n\t\t}\n\t});\n}\n\n\n// Undoes distrubuteHeight, restoring all els to their natural height\nfunction undistributeHeight(els) {\n\tels.height('');\n}\n\n\n// Given `els`, a jQuery set of <td> cells, find the cell with the largest natural width and set the widths of all the\n// cells to be that width.\n// PREREQUISITE: if you want a cell to take up width, it needs to have a single inner element w/ display:inline\nfunction matchCellWidths(els) {\n\tvar maxInnerWidth = 0;\n\n\tels.find('> *').each(function(i, innerEl) {\n\t\tvar innerWidth = $(innerEl).outerWidth();\n\t\tif (innerWidth > maxInnerWidth) {\n\t\t\tmaxInnerWidth = innerWidth;\n\t\t}\n\t});\n\n\tmaxInnerWidth++; // sometimes not accurate of width the text needs to stay on one line. insurance\n\n\tels.width(maxInnerWidth);\n\n\treturn maxInnerWidth;\n}\n\n\n// Given one element that resides inside another,\n// Subtracts the height of the inner element from the outer element.\nfunction subtractInnerElHeight(outerEl, innerEl) {\n\tvar both = outerEl.add(innerEl);\n\tvar diff;\n\n\t// effin' IE8/9/10/11 sometimes returns 0 for dimensions. this weird hack was the only thing that worked\n\tboth.css({\n\t\tposition: 'relative', // cause a reflow, which will force fresh dimension recalculation\n\t\tleft: -1 // ensure reflow in case the el was already relative. negative is less likely to cause new scroll\n\t});\n\tdiff = outerEl.outerHeight() - innerEl.outerHeight(); // grab the dimensions\n\tboth.css({ position: '', left: '' }); // undo hack\n\n\treturn diff;\n}\n\n\n/* Element Geom Utilities\n----------------------------------------------------------------------------------------------------------------------*/\n\nFC.getOuterRect = getOuterRect;\nFC.getClientRect = getClientRect;\nFC.getContentRect = getContentRect;\nFC.getScrollbarWidths = getScrollbarWidths;\n\n\n// borrowed from https://github.com/jquery/jquery-ui/blob/1.11.0/ui/core.js#L51\nfunction getScrollParent(el) {\n\tvar position = el.css('position'),\n\t\tscrollParent = el.parents().filter(function() {\n\t\t\tvar parent = $(this);\n\t\t\treturn (/(auto|scroll)/).test(\n\t\t\t\tparent.css('overflow') + parent.css('overflow-y') + parent.css('overflow-x')\n\t\t\t);\n\t\t}).eq(0);\n\n\treturn position === 'fixed' || !scrollParent.length ? $(el[0].ownerDocument || document) : scrollParent;\n}\n\n\n// Queries the outer bounding area of a jQuery element.\n// Returns a rectangle with absolute coordinates: left, right (exclusive), top, bottom (exclusive).\n// Origin is optional.\nfunction getOuterRect(el, origin) {\n\tvar offset = el.offset();\n\tvar left = offset.left - (origin ? origin.left : 0);\n\tvar top = offset.top - (origin ? origin.top : 0);\n\n\treturn {\n\t\tleft: left,\n\t\tright: left + el.outerWidth(),\n\t\ttop: top,\n\t\tbottom: top + el.outerHeight()\n\t};\n}\n\n\n// Queries the area within the margin/border/scrollbars of a jQuery element. Does not go within the padding.\n// Returns a rectangle with absolute coordinates: left, right (exclusive), top, bottom (exclusive).\n// Origin is optional.\n// WARNING: given element can't have borders\n// NOTE: should use clientLeft/clientTop, but very unreliable cross-browser.\nfunction getClientRect(el, origin) {\n\tvar offset = el.offset();\n\tvar scrollbarWidths = getScrollbarWidths(el);\n\tvar left = offset.left + getCssFloat(el, 'border-left-width') + scrollbarWidths.left - (origin ? origin.left : 0);\n\tvar top = offset.top + getCssFloat(el, 'border-top-width') + scrollbarWidths.top - (origin ? origin.top : 0);\n\n\treturn {\n\t\tleft: left,\n\t\tright: left + el[0].clientWidth, // clientWidth includes padding but NOT scrollbars\n\t\ttop: top,\n\t\tbottom: top + el[0].clientHeight // clientHeight includes padding but NOT scrollbars\n\t};\n}\n\n\n// Queries the area within the margin/border/padding of a jQuery element. Assumed not to have scrollbars.\n// Returns a rectangle with absolute coordinates: left, right (exclusive), top, bottom (exclusive).\n// Origin is optional.\nfunction getContentRect(el, origin) {\n\tvar offset = el.offset(); // just outside of border, margin not included\n\tvar left = offset.left + getCssFloat(el, 'border-left-width') + getCssFloat(el, 'padding-left') -\n\t\t(origin ? origin.left : 0);\n\tvar top = offset.top + getCssFloat(el, 'border-top-width') + getCssFloat(el, 'padding-top') -\n\t\t(origin ? origin.top : 0);\n\n\treturn {\n\t\tleft: left,\n\t\tright: left + el.width(),\n\t\ttop: top,\n\t\tbottom: top + el.height()\n\t};\n}\n\n\n// Returns the computed left/right/top/bottom scrollbar widths for the given jQuery element.\n// WARNING: given element can't have borders (which will cause offsetWidth/offsetHeight to be larger).\n// NOTE: should use clientLeft/clientTop, but very unreliable cross-browser.\nfunction getScrollbarWidths(el) {\n\tvar leftRightWidth = el[0].offsetWidth - el[0].clientWidth;\n\tvar bottomWidth = el[0].offsetHeight - el[0].clientHeight;\n\tvar widths;\n\n\tleftRightWidth = sanitizeScrollbarWidth(leftRightWidth);\n\tbottomWidth = sanitizeScrollbarWidth(bottomWidth);\n\n\twidths = { left: 0, right: 0, top: 0, bottom: bottomWidth };\n\n\tif (getIsLeftRtlScrollbars() && el.css('direction') == 'rtl') { // is the scrollbar on the left side?\n\t\twidths.left = leftRightWidth;\n\t}\n\telse {\n\t\twidths.right = leftRightWidth;\n\t}\n\n\treturn widths;\n}\n\n\n// The scrollbar width computations in getScrollbarWidths are sometimes flawed when it comes to\n// retina displays, rounding, and IE11. Massage them into a usable value.\nfunction sanitizeScrollbarWidth(width) {\n\twidth = Math.max(0, width); // no negatives\n\twidth = Math.round(width);\n\treturn width;\n}\n\n\n// Logic for determining if, when the element is right-to-left, the scrollbar appears on the left side\n\nvar _isLeftRtlScrollbars = null;\n\nfunction getIsLeftRtlScrollbars() { // responsible for caching the computation\n\tif (_isLeftRtlScrollbars === null) {\n\t\t_isLeftRtlScrollbars = computeIsLeftRtlScrollbars();\n\t}\n\treturn _isLeftRtlScrollbars;\n}\n\nfunction computeIsLeftRtlScrollbars() { // creates an offscreen test element, then removes it\n\tvar el = $('<div><div/></div>')\n\t\t.css({\n\t\t\tposition: 'absolute',\n\t\t\ttop: -1000,\n\t\t\tleft: 0,\n\t\t\tborder: 0,\n\t\t\tpadding: 0,\n\t\t\toverflow: 'scroll',\n\t\t\tdirection: 'rtl'\n\t\t})\n\t\t.appendTo('body');\n\tvar innerEl = el.children();\n\tvar res = innerEl.offset().left > el.offset().left; // is the inner div shifted to accommodate a left scrollbar?\n\tel.remove();\n\treturn res;\n}\n\n\n// Retrieves a jQuery element's computed CSS value as a floating-point number.\n// If the queried value is non-numeric (ex: IE can return \"medium\" for border width), will just return zero.\nfunction getCssFloat(el, prop) {\n\treturn parseFloat(el.css(prop)) || 0;\n}\n\n\n/* Mouse / Touch Utilities\n----------------------------------------------------------------------------------------------------------------------*/\n\nFC.preventDefault = preventDefault;\n\n\n// Returns a boolean whether this was a left mouse click and no ctrl key (which means right click on Mac)\nfunction isPrimaryMouseButton(ev) {\n\treturn ev.which == 1 && !ev.ctrlKey;\n}\n\n\nfunction getEvX(ev) {\n\tvar touches = ev.originalEvent.touches;\n\n\t// on mobile FF, pageX for touch events is present, but incorrect,\n\t// so, look at touch coordinates first.\n\tif (touches && touches.length) {\n\t\treturn touches[0].pageX;\n\t}\n\n\treturn ev.pageX;\n}\n\n\nfunction getEvY(ev) {\n\tvar touches = ev.originalEvent.touches;\n\n\t// on mobile FF, pageX for touch events is present, but incorrect,\n\t// so, look at touch coordinates first.\n\tif (touches && touches.length) {\n\t\treturn touches[0].pageY;\n\t}\n\n\treturn ev.pageY;\n}\n\n\nfunction getEvIsTouch(ev) {\n\treturn /^touch/.test(ev.type);\n}\n\n\nfunction preventSelection(el) {\n\tel.addClass('fc-unselectable')\n\t\t.on('selectstart', preventDefault);\n}\n\n\nfunction allowSelection(el) {\n\tel.removeClass('fc-unselectable')\n\t\t.off('selectstart', preventDefault);\n}\n\n\n// Stops a mouse/touch event from doing it's native browser action\nfunction preventDefault(ev) {\n\tev.preventDefault();\n}\n\n\n/* General Geometry Utils\n----------------------------------------------------------------------------------------------------------------------*/\n\nFC.intersectRects = intersectRects;\n\n// Returns a new rectangle that is the intersection of the two rectangles. If they don't intersect, returns false\nfunction intersectRects(rect1, rect2) {\n\tvar res = {\n\t\tleft: Math.max(rect1.left, rect2.left),\n\t\tright: Math.min(rect1.right, rect2.right),\n\t\ttop: Math.max(rect1.top, rect2.top),\n\t\tbottom: Math.min(rect1.bottom, rect2.bottom)\n\t};\n\n\tif (res.left < res.right && res.top < res.bottom) {\n\t\treturn res;\n\t}\n\treturn false;\n}\n\n\n// Returns a new point that will have been moved to reside within the given rectangle\nfunction constrainPoint(point, rect) {\n\treturn {\n\t\tleft: Math.min(Math.max(point.left, rect.left), rect.right),\n\t\ttop: Math.min(Math.max(point.top, rect.top), rect.bottom)\n\t};\n}\n\n\n// Returns a point that is the center of the given rectangle\nfunction getRectCenter(rect) {\n\treturn {\n\t\tleft: (rect.left + rect.right) / 2,\n\t\ttop: (rect.top + rect.bottom) / 2\n\t};\n}\n\n\n// Subtracts point2's coordinates from point1's coordinates, returning a delta\nfunction diffPoints(point1, point2) {\n\treturn {\n\t\tleft: point1.left - point2.left,\n\t\ttop: point1.top - point2.top\n\t};\n}\n\n\n/* Object Ordering by Field\n----------------------------------------------------------------------------------------------------------------------*/\n\nFC.parseFieldSpecs = parseFieldSpecs;\nFC.compareByFieldSpecs = compareByFieldSpecs;\nFC.compareByFieldSpec = compareByFieldSpec;\nFC.flexibleCompare = flexibleCompare;\n\n\nfunction parseFieldSpecs(input) {\n\tvar specs = [];\n\tvar tokens = [];\n\tvar i, token;\n\n\tif (typeof input === 'string') {\n\t\ttokens = input.split(/\\s*,\\s*/);\n\t}\n\telse if (typeof input === 'function') {\n\t\ttokens = [ input ];\n\t}\n\telse if ($.isArray(input)) {\n\t\ttokens = input;\n\t}\n\n\tfor (i = 0; i < tokens.length; i++) {\n\t\ttoken = tokens[i];\n\n\t\tif (typeof token === 'string') {\n\t\t\tspecs.push(\n\t\t\t\ttoken.charAt(0) == '-' ?\n\t\t\t\t\t{ field: token.substring(1), order: -1 } :\n\t\t\t\t\t{ field: token, order: 1 }\n\t\t\t);\n\t\t}\n\t\telse if (typeof token === 'function') {\n\t\t\tspecs.push({ func: token });\n\t\t}\n\t}\n\n\treturn specs;\n}\n\n\nfunction compareByFieldSpecs(obj1, obj2, fieldSpecs) {\n\tvar i;\n\tvar cmp;\n\n\tfor (i = 0; i < fieldSpecs.length; i++) {\n\t\tcmp = compareByFieldSpec(obj1, obj2, fieldSpecs[i]);\n\t\tif (cmp) {\n\t\t\treturn cmp;\n\t\t}\n\t}\n\n\treturn 0;\n}\n\n\nfunction compareByFieldSpec(obj1, obj2, fieldSpec) {\n\tif (fieldSpec.func) {\n\t\treturn fieldSpec.func(obj1, obj2);\n\t}\n\treturn flexibleCompare(obj1[fieldSpec.field], obj2[fieldSpec.field]) *\n\t\t(fieldSpec.order || 1);\n}\n\n\nfunction flexibleCompare(a, b) {\n\tif (!a && !b) {\n\t\treturn 0;\n\t}\n\tif (b == null) {\n\t\treturn -1;\n\t}\n\tif (a == null) {\n\t\treturn 1;\n\t}\n\tif ($.type(a) === 'string' || $.type(b) === 'string') {\n\t\treturn String(a).localeCompare(String(b));\n\t}\n\treturn a - b;\n}\n\n\n/* Date Utilities\n----------------------------------------------------------------------------------------------------------------------*/\n\nFC.computeGreatestUnit = computeGreatestUnit;\nFC.divideRangeByDuration = divideRangeByDuration;\nFC.divideDurationByDuration = divideDurationByDuration;\nFC.multiplyDuration = multiplyDuration;\nFC.durationHasTime = durationHasTime;\n\nvar dayIDs = [ 'sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat' ];\nvar unitsDesc = [ 'year', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond' ]; // descending\n\n\n// Diffs the two moments into a Duration where full-days are recorded first, then the remaining time.\n// Moments will have their timezones normalized.\nfunction diffDayTime(a, b) {\n\treturn moment.duration({\n\t\tdays: a.clone().stripTime().diff(b.clone().stripTime(), 'days'),\n\t\tms: a.time() - b.time() // time-of-day from day start. disregards timezone\n\t});\n}\n\n\n// Diffs the two moments via their start-of-day (regardless of timezone). Produces whole-day durations.\nfunction diffDay(a, b) {\n\treturn moment.duration({\n\t\tdays: a.clone().stripTime().diff(b.clone().stripTime(), 'days')\n\t});\n}\n\n\n// Diffs two moments, producing a duration, made of a whole-unit-increment of the given unit. Uses rounding.\nfunction diffByUnit(a, b, unit) {\n\treturn moment.duration(\n\t\tMath.round(a.diff(b, unit, true)), // returnFloat=true\n\t\tunit\n\t);\n}\n\n\n// Computes the unit name of the largest whole-unit period of time.\n// For example, 48 hours will be \"days\" whereas 49 hours will be \"hours\".\n// Accepts start/end, a range object, or an original duration object.\nfunction computeGreatestUnit(start, end) {\n\tvar i, unit;\n\tvar val;\n\n\tfor (i = 0; i < unitsDesc.length; i++) {\n\t\tunit = unitsDesc[i];\n\t\tval = computeRangeAs(unit, start, end);\n\n\t\tif (val >= 1 && isInt(val)) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn unit; // will be \"milliseconds\" if nothing else matches\n}\n\n\n// like computeGreatestUnit, but has special abilities to interpret the source input for clues\nfunction computeDurationGreatestUnit(duration, durationInput) {\n\tvar unit = computeGreatestUnit(duration);\n\n\t// prevent days:7 from being interpreted as a week\n\tif (unit === 'week' && typeof durationInput === 'object' && durationInput.days) {\n\t\tunit = 'day';\n\t}\n\n\treturn unit;\n}\n\n\n// Computes the number of units (like \"hours\") in the given range.\n// Range can be a {start,end} object, separate start/end args, or a Duration.\n// Results are based on Moment's .as() and .diff() methods, so results can depend on internal handling\n// of month-diffing logic (which tends to vary from version to version).\nfunction computeRangeAs(unit, start, end) {\n\n\tif (end != null) { // given start, end\n\t\treturn end.diff(start, unit, true);\n\t}\n\telse if (moment.isDuration(start)) { // given duration\n\t\treturn start.as(unit);\n\t}\n\telse { // given { start, end } range object\n\t\treturn start.end.diff(start.start, unit, true);\n\t}\n}\n\n\n// Intelligently divides a range (specified by a start/end params) by a duration\nfunction divideRangeByDuration(start, end, dur) {\n\tvar months;\n\n\tif (durationHasTime(dur)) {\n\t\treturn (end - start) / dur;\n\t}\n\tmonths = dur.asMonths();\n\tif (Math.abs(months) >= 1 && isInt(months)) {\n\t\treturn end.diff(start, 'months', true) / months;\n\t}\n\treturn end.diff(start, 'days', true) / dur.asDays();\n}\n\n\n// Intelligently divides one duration by another\nfunction divideDurationByDuration(dur1, dur2) {\n\tvar months1, months2;\n\n\tif (durationHasTime(dur1) || durationHasTime(dur2)) {\n\t\treturn dur1 / dur2;\n\t}\n\tmonths1 = dur1.asMonths();\n\tmonths2 = dur2.asMonths();\n\tif (\n\t\tMath.abs(months1) >= 1 && isInt(months1) &&\n\t\tMath.abs(months2) >= 1 && isInt(months2)\n\t) {\n\t\treturn months1 / months2;\n\t}\n\treturn dur1.asDays() / dur2.asDays();\n}\n\n\n// Intelligently multiplies a duration by a number\nfunction multiplyDuration(dur, n) {\n\tvar months;\n\n\tif (durationHasTime(dur)) {\n\t\treturn moment.duration(dur * n);\n\t}\n\tmonths = dur.asMonths();\n\tif (Math.abs(months) >= 1 && isInt(months)) {\n\t\treturn moment.duration({ months: months * n });\n\t}\n\treturn moment.duration({ days: dur.asDays() * n });\n}\n\n\n// Returns a boolean about whether the given duration has any time parts (hours/minutes/seconds/ms)\nfunction durationHasTime(dur) {\n\treturn Boolean(dur.hours() || dur.minutes() || dur.seconds() || dur.milliseconds());\n}\n\n\nfunction isNativeDate(input) {\n\treturn  Object.prototype.toString.call(input) === '[object Date]' || input instanceof Date;\n}\n\n\n// Returns a boolean about whether the given input is a time string, like \"06:40:00\" or \"06:00\"\nfunction isTimeString(str) {\n\treturn typeof str === 'string' &&\n\t\t/^\\d+\\:\\d+(?:\\:\\d+\\.?(?:\\d{3})?)?$/.test(str);\n}\n\n\n/* Logging and Debug\n----------------------------------------------------------------------------------------------------------------------*/\n\nFC.log = function() {\n\tvar console = window.console;\n\n\tif (console && console.log) {\n\t\treturn console.log.apply(console, arguments);\n\t}\n};\n\nFC.warn = function() {\n\tvar console = window.console;\n\n\tif (console && console.warn) {\n\t\treturn console.warn.apply(console, arguments);\n\t}\n\telse {\n\t\treturn FC.log.apply(FC, arguments);\n\t}\n};\n\n\n/* General Utilities\n----------------------------------------------------------------------------------------------------------------------*/\n\nvar hasOwnPropMethod = {}.hasOwnProperty;\n\n\n// Merges an array of objects into a single object.\n// The second argument allows for an array of property names who's object values will be merged together.\nfunction mergeProps(propObjs, complexProps) {\n\tvar dest = {};\n\tvar i, name;\n\tvar complexObjs;\n\tvar j, val;\n\tvar props;\n\n\tif (complexProps) {\n\t\tfor (i = 0; i < complexProps.length; i++) {\n\t\t\tname = complexProps[i];\n\t\t\tcomplexObjs = [];\n\n\t\t\t// collect the trailing object values, stopping when a non-object is discovered\n\t\t\tfor (j = propObjs.length - 1; j >= 0; j--) {\n\t\t\t\tval = propObjs[j][name];\n\n\t\t\t\tif (typeof val === 'object') {\n\t\t\t\t\tcomplexObjs.unshift(val);\n\t\t\t\t}\n\t\t\t\telse if (val !== undefined) {\n\t\t\t\t\tdest[name] = val; // if there were no objects, this value will be used\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// if the trailing values were objects, use the merged value\n\t\t\tif (complexObjs.length) {\n\t\t\t\tdest[name] = mergeProps(complexObjs);\n\t\t\t}\n\t\t}\n\t}\n\n\t// copy values into the destination, going from last to first\n\tfor (i = propObjs.length - 1; i >= 0; i--) {\n\t\tprops = propObjs[i];\n\n\t\tfor (name in props) {\n\t\t\tif (!(name in dest)) { // if already assigned by previous props or complex props, don't reassign\n\t\t\t\tdest[name] = props[name];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn dest;\n}\n\n\nfunction copyOwnProps(src, dest) {\n\tfor (var name in src) {\n\t\tif (hasOwnProp(src, name)) {\n\t\t\tdest[name] = src[name];\n\t\t}\n\t}\n}\n\n\nfunction hasOwnProp(obj, name) {\n\treturn hasOwnPropMethod.call(obj, name);\n}\n\n\nfunction applyAll(functions, thisObj, args) {\n\tif ($.isFunction(functions)) {\n\t\tfunctions = [ functions ];\n\t}\n\tif (functions) {\n\t\tvar i;\n\t\tvar ret;\n\t\tfor (i=0; i<functions.length; i++) {\n\t\t\tret = functions[i].apply(thisObj, args) || ret;\n\t\t}\n\t\treturn ret;\n\t}\n}\n\n\nfunction removeMatching(array, testFunc) {\n\tvar removeCnt = 0;\n\tvar i = 0;\n\n\twhile (i < array.length) {\n\t\tif (testFunc(array[i])) { // truthy value means *remove*\n\t\t\tarray.splice(i, 1);\n\t\t\tremoveCnt++;\n\t\t}\n\t\telse {\n\t\t\ti++;\n\t\t}\n\t}\n\n\treturn removeCnt;\n}\n\n\nfunction removeExact(array, exactVal) {\n\tvar removeCnt = 0;\n\tvar i = 0;\n\n\twhile (i < array.length) {\n\t\tif (array[i] === exactVal) {\n\t\t\tarray.splice(i, 1);\n\t\t\tremoveCnt++;\n\t\t}\n\t\telse {\n\t\t\ti++;\n\t\t}\n\t}\n\n\treturn removeCnt;\n}\nFC.removeExact = removeExact;\n\n\nfunction isArraysEqual(a0, a1) {\n\tvar len = a0.length;\n\tvar i;\n\n\tif (len == null || len !== a1.length) { // not array? or not same length?\n\t\treturn false;\n\t}\n\n\tfor (i = 0; i < len; i++) {\n\t\tif (a0[i] !== a1[i]) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n}\n\n\n\nfunction firstDefined() {\n\tfor (var i=0; i<arguments.length; i++) {\n\t\tif (arguments[i] !== undefined) {\n\t\t\treturn arguments[i];\n\t\t}\n\t}\n}\n\n\nfunction htmlEscape(s) {\n\treturn (s + '').replace(/&/g, '&amp;')\n\t\t.replace(/</g, '&lt;')\n\t\t.replace(/>/g, '&gt;')\n\t\t.replace(/'/g, '&#039;')\n\t\t.replace(/\"/g, '&quot;')\n\t\t.replace(/\\n/g, '<br />');\n}\n\n\nfunction stripHtmlEntities(text) {\n\treturn text.replace(/&.*?;/g, '');\n}\n\n\n// Given a hash of CSS properties, returns a string of CSS.\n// Uses property names as-is (no camel-case conversion). Will not make statements for null/undefined values.\nfunction cssToStr(cssProps) {\n\tvar statements = [];\n\n\t$.each(cssProps, function(name, val) {\n\t\tif (val != null) {\n\t\t\tstatements.push(name + ':' + val);\n\t\t}\n\t});\n\n\treturn statements.join(';');\n}\n\n\n// Given an object hash of HTML attribute names to values,\n// generates a string that can be injected between < > in HTML\nfunction attrsToStr(attrs) {\n\tvar parts = [];\n\n\t$.each(attrs, function(name, val) {\n\t\tif (val != null) {\n\t\t\tparts.push(name + '=\"' + htmlEscape(val) + '\"');\n\t\t}\n\t});\n\n\treturn parts.join(' ');\n}\n\n\nfunction capitaliseFirstLetter(str) {\n\treturn str.charAt(0).toUpperCase() + str.slice(1);\n}\n\n\nfunction compareNumbers(a, b) { // for .sort()\n\treturn a - b;\n}\n\n\nfunction isInt(n) {\n\treturn n % 1 === 0;\n}\n\n\n// Returns a method bound to the given object context.\n// Just like one of the jQuery.proxy signatures, but without the undesired behavior of treating the same method with\n// different contexts as identical when binding/unbinding events.\nfunction proxy(obj, methodName) {\n\tvar method = obj[methodName];\n\n\treturn function() {\n\t\treturn method.apply(obj, arguments);\n\t};\n}\n\n\n// Returns a function, that, as long as it continues to be invoked, will not\n// be triggered. The function will be called after it stops being called for\n// N milliseconds. If `immediate` is passed, trigger the function on the\n// leading edge, instead of the trailing.\n// https://github.com/jashkenas/underscore/blob/1.6.0/underscore.js#L714\nfunction debounce(func, wait, immediate) {\n\tvar timeout, args, context, timestamp, result;\n\n\tvar later = function() {\n\t\tvar last = +new Date() - timestamp;\n\t\tif (last < wait) {\n\t\t\ttimeout = setTimeout(later, wait - last);\n\t\t}\n\t\telse {\n\t\t\ttimeout = null;\n\t\t\tif (!immediate) {\n\t\t\t\tresult = func.apply(context, args);\n\t\t\t\tcontext = args = null;\n\t\t\t}\n\t\t}\n\t};\n\n\treturn function() {\n\t\tcontext = this;\n\t\targs = arguments;\n\t\ttimestamp = +new Date();\n\t\tvar callNow = immediate && !timeout;\n\t\tif (!timeout) {\n\t\t\ttimeout = setTimeout(later, wait);\n\t\t}\n\t\tif (callNow) {\n\t\t\tresult = func.apply(context, args);\n\t\t\tcontext = args = null;\n\t\t}\n\t\treturn result;\n\t};\n}\n\n;;\n\n/*\nGENERAL NOTE on moments throughout the *entire rest* of the codebase:\nAll moments are assumed to be ambiguously-zoned unless otherwise noted,\nwith the NOTABLE EXCEOPTION of start/end dates that live on *Event Objects*.\nAmbiguously-TIMED moments are assumed to be ambiguously-zoned by nature.\n*/\n\nvar ambigDateOfMonthRegex = /^\\s*\\d{4}-\\d\\d$/;\nvar ambigTimeOrZoneRegex =\n\t/^\\s*\\d{4}-(?:(\\d\\d-\\d\\d)|(W\\d\\d$)|(W\\d\\d-\\d)|(\\d\\d\\d))((T| )(\\d\\d(:\\d\\d(:\\d\\d(\\.\\d+)?)?)?)?)?$/;\nvar newMomentProto = moment.fn; // where we will attach our new methods\nvar oldMomentProto = $.extend({}, newMomentProto); // copy of original moment methods\n\n// tell momentjs to transfer these properties upon clone\nvar momentProperties = moment.momentProperties;\nmomentProperties.push('_fullCalendar');\nmomentProperties.push('_ambigTime');\nmomentProperties.push('_ambigZone');\n\n\n// Creating\n// -------------------------------------------------------------------------------------------------\n\n// Creates a new moment, similar to the vanilla moment(...) constructor, but with\n// extra features (ambiguous time, enhanced formatting). When given an existing moment,\n// it will function as a clone (and retain the zone of the moment). Anything else will\n// result in a moment in the local zone.\nFC.moment = function() {\n\treturn makeMoment(arguments);\n};\n\n// Sames as FC.moment, but forces the resulting moment to be in the UTC timezone.\nFC.moment.utc = function() {\n\tvar mom = makeMoment(arguments, true);\n\n\t// Force it into UTC because makeMoment doesn't guarantee it\n\t// (if given a pre-existing moment for example)\n\tif (mom.hasTime()) { // don't give ambiguously-timed moments a UTC zone\n\t\tmom.utc();\n\t}\n\n\treturn mom;\n};\n\n// Same as FC.moment, but when given an ISO8601 string, the timezone offset is preserved.\n// ISO8601 strings with no timezone offset will become ambiguously zoned.\nFC.moment.parseZone = function() {\n\treturn makeMoment(arguments, true, true);\n};\n\n// Builds an enhanced moment from args. When given an existing moment, it clones. When given a\n// native Date, or called with no arguments (the current time), the resulting moment will be local.\n// Anything else needs to be \"parsed\" (a string or an array), and will be affected by:\n//    parseAsUTC - if there is no zone information, should we parse the input in UTC?\n//    parseZone - if there is zone information, should we force the zone of the moment?\nfunction makeMoment(args, parseAsUTC, parseZone) {\n\tvar input = args[0];\n\tvar isSingleString = args.length == 1 && typeof input === 'string';\n\tvar isAmbigTime;\n\tvar isAmbigZone;\n\tvar ambigMatch;\n\tvar mom;\n\n\tif (moment.isMoment(input) || isNativeDate(input) || input === undefined) {\n\t\tmom = moment.apply(null, args);\n\t}\n\telse { // \"parsing\" is required\n\t\tisAmbigTime = false;\n\t\tisAmbigZone = false;\n\n\t\tif (isSingleString) {\n\t\t\tif (ambigDateOfMonthRegex.test(input)) {\n\t\t\t\t// accept strings like '2014-05', but convert to the first of the month\n\t\t\t\tinput += '-01';\n\t\t\t\targs = [ input ]; // for when we pass it on to moment's constructor\n\t\t\t\tisAmbigTime = true;\n\t\t\t\tisAmbigZone = true;\n\t\t\t}\n\t\t\telse if ((ambigMatch = ambigTimeOrZoneRegex.exec(input))) {\n\t\t\t\tisAmbigTime = !ambigMatch[5]; // no time part?\n\t\t\t\tisAmbigZone = true;\n\t\t\t}\n\t\t}\n\t\telse if ($.isArray(input)) {\n\t\t\t// arrays have no timezone information, so assume ambiguous zone\n\t\t\tisAmbigZone = true;\n\t\t}\n\t\t// otherwise, probably a string with a format\n\n\t\tif (parseAsUTC || isAmbigTime) {\n\t\t\tmom = moment.utc.apply(moment, args);\n\t\t}\n\t\telse {\n\t\t\tmom = moment.apply(null, args);\n\t\t}\n\n\t\tif (isAmbigTime) {\n\t\t\tmom._ambigTime = true;\n\t\t\tmom._ambigZone = true; // ambiguous time always means ambiguous zone\n\t\t}\n\t\telse if (parseZone) { // let's record the inputted zone somehow\n\t\t\tif (isAmbigZone) {\n\t\t\t\tmom._ambigZone = true;\n\t\t\t}\n\t\t\telse if (isSingleString) {\n\t\t\t\tmom.utcOffset(input); // if not a valid zone, will assign UTC\n\t\t\t}\n\t\t}\n\t}\n\n\tmom._fullCalendar = true; // flag for extended functionality\n\n\treturn mom;\n}\n\n\n// Week Number\n// -------------------------------------------------------------------------------------------------\n\n\n// Returns the week number, considering the locale's custom week number calcuation\n// `weeks` is an alias for `week`\nnewMomentProto.week = newMomentProto.weeks = function(input) {\n\tvar weekCalc = this._locale._fullCalendar_weekCalc;\n\n\tif (input == null && typeof weekCalc === 'function') { // custom function only works for getter\n\t\treturn weekCalc(this);\n\t}\n\telse if (weekCalc === 'ISO') {\n\t\treturn oldMomentProto.isoWeek.apply(this, arguments); // ISO getter/setter\n\t}\n\n\treturn oldMomentProto.week.apply(this, arguments); // local getter/setter\n};\n\n\n// Time-of-day\n// -------------------------------------------------------------------------------------------------\n\n// GETTER\n// Returns a Duration with the hours/minutes/seconds/ms values of the moment.\n// If the moment has an ambiguous time, a duration of 00:00 will be returned.\n//\n// SETTER\n// You can supply a Duration, a Moment, or a Duration-like argument.\n// When setting the time, and the moment has an ambiguous time, it then becomes unambiguous.\nnewMomentProto.time = function(time) {\n\n\t// Fallback to the original method (if there is one) if this moment wasn't created via FullCalendar.\n\t// `time` is a generic enough method name where this precaution is necessary to avoid collisions w/ other plugins.\n\tif (!this._fullCalendar) {\n\t\treturn oldMomentProto.time.apply(this, arguments);\n\t}\n\n\tif (time == null) { // getter\n\t\treturn moment.duration({\n\t\t\thours: this.hours(),\n\t\t\tminutes: this.minutes(),\n\t\t\tseconds: this.seconds(),\n\t\t\tmilliseconds: this.milliseconds()\n\t\t});\n\t}\n\telse { // setter\n\n\t\tthis._ambigTime = false; // mark that the moment now has a time\n\n\t\tif (!moment.isDuration(time) && !moment.isMoment(time)) {\n\t\t\ttime = moment.duration(time);\n\t\t}\n\n\t\t// The day value should cause overflow (so 24 hours becomes 00:00:00 of next day).\n\t\t// Only for Duration times, not Moment times.\n\t\tvar dayHours = 0;\n\t\tif (moment.isDuration(time)) {\n\t\t\tdayHours = Math.floor(time.asDays()) * 24;\n\t\t}\n\n\t\t// We need to set the individual fields.\n\t\t// Can't use startOf('day') then add duration. In case of DST at start of day.\n\t\treturn this.hours(dayHours + time.hours())\n\t\t\t.minutes(time.minutes())\n\t\t\t.seconds(time.seconds())\n\t\t\t.milliseconds(time.milliseconds());\n\t}\n};\n\n// Converts the moment to UTC, stripping out its time-of-day and timezone offset,\n// but preserving its YMD. A moment with a stripped time will display no time\n// nor timezone offset when .format() is called.\nnewMomentProto.stripTime = function() {\n\n\tif (!this._ambigTime) {\n\n\t\tthis.utc(true); // keepLocalTime=true (for keeping *date* value)\n\n\t\t// set time to zero\n\t\tthis.set({\n\t\t\thours: 0,\n\t\t\tminutes: 0,\n\t\t\tseconds: 0,\n\t\t\tms: 0\n\t\t});\n\n\t\t// Mark the time as ambiguous. This needs to happen after the .utc() call, which might call .utcOffset(),\n\t\t// which clears all ambig flags.\n\t\tthis._ambigTime = true;\n\t\tthis._ambigZone = true; // if ambiguous time, also ambiguous timezone offset\n\t}\n\n\treturn this; // for chaining\n};\n\n// Returns if the moment has a non-ambiguous time (boolean)\nnewMomentProto.hasTime = function() {\n\treturn !this._ambigTime;\n};\n\n\n// Timezone\n// -------------------------------------------------------------------------------------------------\n\n// Converts the moment to UTC, stripping out its timezone offset, but preserving its\n// YMD and time-of-day. A moment with a stripped timezone offset will display no\n// timezone offset when .format() is called.\nnewMomentProto.stripZone = function() {\n\tvar wasAmbigTime;\n\n\tif (!this._ambigZone) {\n\n\t\twasAmbigTime = this._ambigTime;\n\n\t\tthis.utc(true); // keepLocalTime=true (for keeping date and time values)\n\n\t\t// the above call to .utc()/.utcOffset() unfortunately might clear the ambig flags, so restore\n\t\tthis._ambigTime = wasAmbigTime || false;\n\n\t\t// Mark the zone as ambiguous. This needs to happen after the .utc() call, which might call .utcOffset(),\n\t\t// which clears the ambig flags.\n\t\tthis._ambigZone = true;\n\t}\n\n\treturn this; // for chaining\n};\n\n// Returns of the moment has a non-ambiguous timezone offset (boolean)\nnewMomentProto.hasZone = function() {\n\treturn !this._ambigZone;\n};\n\n\n// implicitly marks a zone\nnewMomentProto.local = function(keepLocalTime) {\n\n\t// for when converting from ambiguously-zoned to local,\n\t// keep the time values when converting from UTC -> local\n\toldMomentProto.local.call(this, this._ambigZone || keepLocalTime);\n\n\t// ensure non-ambiguous\n\t// this probably already happened via local() -> utcOffset(), but don't rely on Moment's internals\n\tthis._ambigTime = false;\n\tthis._ambigZone = false;\n\n\treturn this; // for chaining\n};\n\n\n// implicitly marks a zone\nnewMomentProto.utc = function(keepLocalTime) {\n\n\toldMomentProto.utc.call(this, keepLocalTime);\n\n\t// ensure non-ambiguous\n\t// this probably already happened via utc() -> utcOffset(), but don't rely on Moment's internals\n\tthis._ambigTime = false;\n\tthis._ambigZone = false;\n\n\treturn this;\n};\n\n\n// implicitly marks a zone (will probably get called upon .utc() and .local())\nnewMomentProto.utcOffset = function(tzo) {\n\n\tif (tzo != null) { // setter\n\t\t// these assignments needs to happen before the original zone method is called.\n\t\t// I forget why, something to do with a browser crash.\n\t\tthis._ambigTime = false;\n\t\tthis._ambigZone = false;\n\t}\n\n\treturn oldMomentProto.utcOffset.apply(this, arguments);\n};\n\n\n// Formatting\n// -------------------------------------------------------------------------------------------------\n\nnewMomentProto.format = function() {\n\n\tif (this._fullCalendar && arguments[0]) { // an enhanced moment? and a format string provided?\n\t\treturn formatDate(this, arguments[0]); // our extended formatting\n\t}\n\tif (this._ambigTime) {\n\t\treturn oldMomentFormat(englishMoment(this), 'YYYY-MM-DD');\n\t}\n\tif (this._ambigZone) {\n\t\treturn oldMomentFormat(englishMoment(this), 'YYYY-MM-DD[T]HH:mm:ss');\n\t}\n\tif (this._fullCalendar) { // enhanced non-ambig moment?\n\t\t// moment.format() doesn't ensure english, but we want to.\n\t\treturn oldMomentFormat(englishMoment(this));\n\t}\n\n\treturn oldMomentProto.format.apply(this, arguments);\n};\n\nnewMomentProto.toISOString = function() {\n\n\tif (this._ambigTime) {\n\t\treturn oldMomentFormat(englishMoment(this), 'YYYY-MM-DD');\n\t}\n\tif (this._ambigZone) {\n\t\treturn oldMomentFormat(englishMoment(this), 'YYYY-MM-DD[T]HH:mm:ss');\n\t}\n\tif (this._fullCalendar) { // enhanced non-ambig moment?\n\t\t// depending on browser, moment might not output english. ensure english.\n\t\t// https://github.com/moment/moment/blob/2.18.1/src/lib/moment/format.js#L22\n\t\treturn oldMomentProto.toISOString.apply(englishMoment(this), arguments);\n\t}\n\n\treturn oldMomentProto.toISOString.apply(this, arguments);\n};\n\nfunction englishMoment(mom) {\n\tif (mom.locale() !== 'en') {\n\t\treturn mom.clone().locale('en');\n\t}\n\treturn mom;\n}\n\n;;\n(function() {\n\n// exports\nFC.formatDate = formatDate;\nFC.formatRange = formatRange;\nFC.oldMomentFormat = oldMomentFormat;\nFC.queryMostGranularFormatUnit = queryMostGranularFormatUnit;\n\n\n// Config\n// ---------------------------------------------------------------------------------------------------------------------\n\n/*\nInserted between chunks in the fake (\"intermediate\") formatting string.\nImportant that it passes as whitespace (\\s) because moment often identifies non-standalone months\nvia a regexp with an \\s.\n*/\nvar PART_SEPARATOR = '\\u000b'; // vertical tab\n\n/*\nInserted as the first character of a literal-text chunk to indicate that the literal text is not actually literal text,\nbut rather, a \"special\" token that has custom rendering (see specialTokens map).\n*/\nvar SPECIAL_TOKEN_MARKER = '\\u001f'; // information separator 1\n\n/*\nInserted at the beginning and end of a span of text that must have non-zero numeric characters.\nHandling of these markers is done in a post-processing step at the very end of text rendering.\n*/\nvar MAYBE_MARKER = '\\u001e'; // information separator 2\nvar MAYBE_REGEXP = new RegExp(MAYBE_MARKER + '([^' + MAYBE_MARKER + ']*)' + MAYBE_MARKER, 'g'); // must be global\n\n/*\nAddition formatting tokens we want recognized\n*/\nvar specialTokens = {\n\tt: function(date) { // \"a\" or \"p\"\n\t\treturn oldMomentFormat(date, 'a').charAt(0);\n\t},\n\tT: function(date) { // \"A\" or \"P\"\n\t\treturn oldMomentFormat(date, 'A').charAt(0);\n\t}\n};\n\n/*\nThe first characters of formatting tokens for units that are 1 day or larger.\n`value` is for ranking relative size (lower means bigger).\n`unit` is a normalized unit, used for comparing moments.\n*/\nvar largeTokenMap = {\n\tY: { value: 1, unit: 'year' },\n\tM: { value: 2, unit: 'month' },\n\tW: { value: 3, unit: 'week' }, // ISO week\n\tw: { value: 3, unit: 'week' }, // local week\n\tD: { value: 4, unit: 'day' }, // day of month\n\td: { value: 4, unit: 'day' } // day of week\n};\n\n\n// Single Date Formatting\n// ---------------------------------------------------------------------------------------------------------------------\n\n/*\nFormats `date` with a Moment formatting string, but allow our non-zero areas and special token\n*/\nfunction formatDate(date, formatStr) {\n\treturn renderFakeFormatString(\n\t\tgetParsedFormatString(formatStr).fakeFormatString,\n\t\tdate\n\t);\n}\n\n/*\nCall this if you want Moment's original format method to be used\n*/\nfunction oldMomentFormat(mom, formatStr) {\n\treturn oldMomentProto.format.call(mom, formatStr); // oldMomentProto defined in moment-ext.js\n}\n\n\n// Date Range Formatting\n// -------------------------------------------------------------------------------------------------\n// TODO: make it work with timezone offset\n\n/*\nUsing a formatting string meant for a single date, generate a range string, like\n\"Sep 2 - 9 2013\", that intelligently inserts a separator where the dates differ.\nIf the dates are the same as far as the format string is concerned, just return a single\nrendering of one date, without any separator.\n*/\nfunction formatRange(date1, date2, formatStr, separator, isRTL) {\n\tvar localeData;\n\n\tdate1 = FC.moment.parseZone(date1);\n\tdate2 = FC.moment.parseZone(date2);\n\n\tlocaleData = date1.localeData();\n\n\t// Expand localized format strings, like \"LL\" -> \"MMMM D YYYY\".\n\t// BTW, this is not important for `formatDate` because it is impossible to put custom tokens\n\t// or non-zero areas in Moment's localized format strings.\n\tformatStr = localeData.longDateFormat(formatStr) || formatStr;\n\n\treturn renderParsedFormat(\n\t\tgetParsedFormatString(formatStr),\n\t\tdate1,\n\t\tdate2,\n\t\tseparator || ' - ',\n\t\tisRTL\n\t);\n}\n\n/*\nRenders a range with an already-parsed format string.\n*/\nfunction renderParsedFormat(parsedFormat, date1, date2, separator, isRTL) {\n\tvar sameUnits = parsedFormat.sameUnits;\n\tvar unzonedDate1 = date1.clone().stripZone(); // for same-unit comparisons\n\tvar unzonedDate2 = date2.clone().stripZone(); // \"\n\n\tvar renderedParts1 = renderFakeFormatStringParts(parsedFormat.fakeFormatString, date1);\n\tvar renderedParts2 = renderFakeFormatStringParts(parsedFormat.fakeFormatString, date2);\n\n\tvar leftI;\n\tvar leftStr = '';\n\tvar rightI;\n\tvar rightStr = '';\n\tvar middleI;\n\tvar middleStr1 = '';\n\tvar middleStr2 = '';\n\tvar middleStr = '';\n\n\t// Start at the leftmost side of the formatting string and continue until you hit a token\n\t// that is not the same between dates.\n\tfor (\n\t\tleftI = 0;\n\t\tleftI < sameUnits.length && (!sameUnits[leftI] || unzonedDate1.isSame(unzonedDate2, sameUnits[leftI]));\n\t\tleftI++\n\t) {\n\t\tleftStr += renderedParts1[leftI];\n\t}\n\n\t// Similarly, start at the rightmost side of the formatting string and move left\n\tfor (\n\t\trightI = sameUnits.length - 1;\n\t\trightI > leftI && (!sameUnits[rightI] || unzonedDate1.isSame(unzonedDate2, sameUnits[rightI]));\n\t\trightI--\n\t) {\n\t\t// If current chunk is on the boundary of unique date-content, and is a special-case\n\t\t// date-formatting postfix character, then don't consume it. Consider it unique date-content.\n\t\t// TODO: make configurable\n\t\tif (rightI - 1 === leftI && renderedParts1[rightI] === '.') {\n\t\t\tbreak;\n\t\t}\n\n\t\trightStr = renderedParts1[rightI] + rightStr;\n\t}\n\n\t// The area in the middle is different for both of the dates.\n\t// Collect them distinctly so we can jam them together later.\n\tfor (middleI = leftI; middleI <= rightI; middleI++) {\n\t\tmiddleStr1 += renderedParts1[middleI];\n\t\tmiddleStr2 += renderedParts2[middleI];\n\t}\n\n\tif (middleStr1 || middleStr2) {\n\t\tif (isRTL) {\n\t\t\tmiddleStr = middleStr2 + separator + middleStr1;\n\t\t}\n\t\telse {\n\t\t\tmiddleStr = middleStr1 + separator + middleStr2;\n\t\t}\n\t}\n\n\treturn processMaybeMarkers(\n\t\tleftStr + middleStr + rightStr\n\t);\n}\n\n\n// Format String Parsing\n// ---------------------------------------------------------------------------------------------------------------------\n\nvar parsedFormatStrCache = {};\n\n/*\nReturns a parsed format string, leveraging a cache.\n*/\nfunction getParsedFormatString(formatStr) {\n\treturn parsedFormatStrCache[formatStr] ||\n\t\t(parsedFormatStrCache[formatStr] = parseFormatString(formatStr));\n}\n\n/*\nParses a format string into the following:\n- fakeFormatString: a momentJS formatting string, littered with special control characters that get post-processed.\n- sameUnits: for every part in fakeFormatString, if the part is a token, the value will be a unit string (like \"day\"),\n  that indicates how similar a range's start & end must be in order to share the same formatted text.\n  If not a token, then the value is null.\n  Always a flat array (not nested liked \"chunks\").\n*/\nfunction parseFormatString(formatStr) {\n\tvar chunks = chunkFormatString(formatStr);\n\t\n\treturn {\n\t\tfakeFormatString: buildFakeFormatString(chunks),\n\t\tsameUnits: buildSameUnits(chunks)\n\t};\n}\n\n/*\nBreak the formatting string into an array of chunks.\nA 'maybe' chunk will have nested chunks.\n*/\nfunction chunkFormatString(formatStr) {\n\tvar chunks = [];\n\tvar match;\n\n\t// TODO: more descrimination\n\t// \\4 is a backreference to the first character of a multi-character set.\n\tvar chunker = /\\[([^\\]]*)\\]|\\(([^\\)]*)\\)|(LTS|LT|(\\w)\\4*o?)|([^\\w\\[\\(]+)/g;\n\n\twhile ((match = chunker.exec(formatStr))) {\n\t\tif (match[1]) { // a literal string inside [ ... ]\n\t\t\tchunks.push.apply(chunks, // append\n\t\t\t\tsplitStringLiteral(match[1])\n\t\t\t);\n\t\t}\n\t\telse if (match[2]) { // non-zero formatting inside ( ... )\n\t\t\tchunks.push({ maybe: chunkFormatString(match[2]) });\n\t\t}\n\t\telse if (match[3]) { // a formatting token\n\t\t\tchunks.push({ token: match[3] });\n\t\t}\n\t\telse if (match[5]) { // an unenclosed literal string\n\t\t\tchunks.push.apply(chunks, // append\n\t\t\t\tsplitStringLiteral(match[5])\n\t\t\t);\n\t\t}\n\t}\n\n\treturn chunks;\n}\n\n/*\nPotentially splits a literal-text string into multiple parts. For special cases.\n*/\nfunction splitStringLiteral(s) {\n\tif (s === '. ') {\n\t\treturn [ '.', ' ' ]; // for locales with periods bound to the end of each year/month/date\n\t}\n\telse {\n\t\treturn [ s ];\n\t}\n}\n\n/*\nGiven chunks parsed from a real format string, generate a fake (aka \"intermediate\") format string with special control\ncharacters that will eventually be given to moment for formatting, and then post-processed.\n*/\nfunction buildFakeFormatString(chunks) {\n\tvar parts = [];\n\tvar i, chunk;\n\n\tfor (i = 0; i < chunks.length; i++) {\n\t\tchunk = chunks[i];\n\n\t\tif (typeof chunk === 'string') {\n\t\t\tparts.push('[' + chunk + ']');\n\t\t}\n\t\telse if (chunk.token) {\n\t\t\tif (chunk.token in specialTokens) {\n\t\t\t\tparts.push(\n\t\t\t\t\tSPECIAL_TOKEN_MARKER + // useful during post-processing\n\t\t\t\t\t'[' + chunk.token + ']' // preserve as literal text\n\t\t\t\t);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tparts.push(chunk.token); // unprotected text implies a format string\n\t\t\t}\n\t\t}\n\t\telse if (chunk.maybe) {\n\t\t\tparts.push(\n\t\t\t\tMAYBE_MARKER + // useful during post-processing\n\t\t\t\tbuildFakeFormatString(chunk.maybe) +\n\t\t\t\tMAYBE_MARKER\n\t\t\t);\n\t\t}\n\t}\n\n\treturn parts.join(PART_SEPARATOR);\n}\n\n/*\nGiven parsed chunks from a real formatting string, generates an array of unit strings (like \"day\") that indicate\nin which regard two dates must be similar in order to share range formatting text.\nThe `chunks` can be nested (because of \"maybe\" chunks), however, the returned array will be flat.\n*/\nfunction buildSameUnits(chunks) {\n\tvar units = [];\n\tvar i, chunk;\n\tvar tokenInfo;\n\n\tfor (i = 0; i < chunks.length; i++) {\n\t\tchunk = chunks[i];\n\n\t\tif (chunk.token) {\n\t\t\ttokenInfo = largeTokenMap[chunk.token.charAt(0)];\n\t\t\tunits.push(tokenInfo ? tokenInfo.unit : 'second'); // default to a very strict same-second\n\t\t}\n\t\telse if (chunk.maybe) {\n\t\t\tunits.push.apply(units, // append\n\t\t\t\tbuildSameUnits(chunk.maybe)\n\t\t\t);\n\t\t}\n\t\telse {\n\t\t\tunits.push(null);\n\t\t}\n\t}\n\n\treturn units;\n}\n\n\n// Rendering to text\n// ---------------------------------------------------------------------------------------------------------------------\n\n/*\nFormats a date with a fake format string, post-processes the control characters, then returns.\n*/\nfunction renderFakeFormatString(fakeFormatString, date) {\n\treturn processMaybeMarkers(\n\t\trenderFakeFormatStringParts(fakeFormatString, date).join('')\n\t);\n}\n\n/*\nFormats a date into parts that will have been post-processed, EXCEPT for the \"maybe\" markers.\n*/\nfunction renderFakeFormatStringParts(fakeFormatString, date) {\n\tvar parts = [];\n\tvar fakeRender = oldMomentFormat(date, fakeFormatString);\n\tvar fakeParts = fakeRender.split(PART_SEPARATOR);\n\tvar i, fakePart;\n\n\tfor (i = 0; i < fakeParts.length; i++) {\n\t\tfakePart = fakeParts[i];\n\n\t\tif (fakePart.charAt(0) === SPECIAL_TOKEN_MARKER) {\n\t\t\tparts.push(\n\t\t\t\t// the literal string IS the token's name.\n\t\t\t\t// call special token's registered function.\n\t\t\t\tspecialTokens[fakePart.substring(1)](date)\n\t\t\t);\n\t\t}\n\t\telse {\n\t\t\tparts.push(fakePart);\n\t\t}\n\t}\n\n\treturn parts;\n}\n\n/*\nAccepts an almost-finally-formatted string and processes the \"maybe\" control characters, returning a new string.\n*/\nfunction processMaybeMarkers(s) {\n\treturn s.replace(MAYBE_REGEXP, function(m0, m1) { // regex assumed to have 'g' flag\n\t\tif (m1.match(/[1-9]/)) { // any non-zero numeric characters?\n\t\t\treturn m1;\n\t\t}\n\t\telse {\n\t\t\treturn '';\n\t\t}\n\t});\n}\n\n\n// Misc Utils\n// -------------------------------------------------------------------------------------------------\n\n/*\nReturns a unit string, either 'year', 'month', 'day', or null for the most granular formatting token in the string.\n*/\nfunction queryMostGranularFormatUnit(formatStr) {\n\tvar chunks = chunkFormatString(formatStr);\n\tvar i, chunk;\n\tvar candidate;\n\tvar best;\n\n\tfor (i = 0; i < chunks.length; i++) {\n\t\tchunk = chunks[i];\n\n\t\tif (chunk.token) {\n\t\t\tcandidate = largeTokenMap[chunk.token.charAt(0)];\n\t\t\tif (candidate) {\n\t\t\t\tif (!best || candidate.value > best.value) {\n\t\t\t\t\tbest = candidate;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tif (best) {\n\t\treturn best.unit;\n\t}\n\n\treturn null;\n};\n\n})();\n\n// quick local references\nvar formatDate = FC.formatDate;\nvar formatRange = FC.formatRange;\nvar oldMomentFormat = FC.oldMomentFormat;\n\n;;\n\nFC.Class = Class; // export\n\n// Class that all other classes will inherit from\nfunction Class() { }\n\n\n// Called on a class to create a subclass.\n// Last argument contains instance methods. Any argument before the last are considered mixins.\nClass.extend = function() {\n\tvar members = {};\n\tvar i;\n\n\tfor (i = 0; i < arguments.length; i++) {\n\t\tcopyOwnProps(arguments[i], members);\n\t}\n\n\treturn extendClass(this, members);\n};\n\n\n// Adds new member variables/methods to the class's prototype.\n// Can be called with another class, or a plain object hash containing new members.\nClass.mixin = function(members) {\n\tcopyOwnProps(members, this.prototype);\n};\n\n\nfunction extendClass(superClass, members) {\n\tvar subClass;\n\n\t// ensure a constructor for the subclass, forwarding all arguments to the super-constructor if it doesn't exist\n\tif (hasOwnProp(members, 'constructor')) {\n\t\tsubClass = members.constructor;\n\t}\n\tif (typeof subClass !== 'function') {\n\t\tsubClass = members.constructor = function() {\n\t\t\tsuperClass.apply(this, arguments);\n\t\t};\n\t}\n\n\t// build the base prototype for the subclass, which is an new object chained to the superclass's prototype\n\tsubClass.prototype = Object.create(superClass.prototype);\n\n\t// copy each member variable/method onto the the subclass's prototype\n\tcopyOwnProps(members, subClass.prototype);\n\n\t// copy over all class variables/methods to the subclass, such as `extend` and `mixin`\n\tcopyOwnProps(superClass, subClass);\n\n\treturn subClass;\n}\n\n;;\n\nvar EmitterMixin = FC.EmitterMixin = {\n\n\t// jQuery-ification via $(this) allows a non-DOM object to have\n\t// the same event handling capabilities (including namespaces).\n\n\n\ton: function(types, handler) {\n\t\t$(this).on(types, this._prepareIntercept(handler));\n\t\treturn this; // for chaining\n\t},\n\n\n\tone: function(types, handler) {\n\t\t$(this).one(types, this._prepareIntercept(handler));\n\t\treturn this; // for chaining\n\t},\n\n\n\t_prepareIntercept: function(handler) {\n\t\t// handlers are always called with an \"event\" object as their first param.\n\t\t// sneak the `this` context and arguments into the extra parameter object\n\t\t// and forward them on to the original handler.\n\t\tvar intercept = function(ev, extra) {\n\t\t\treturn handler.apply(\n\t\t\t\textra.context || this,\n\t\t\t\textra.args || []\n\t\t\t);\n\t\t};\n\n\t\t// mimick jQuery's internal \"proxy\" system (risky, I know)\n\t\t// causing all functions with the same .guid to appear to be the same.\n\t\t// https://github.com/jquery/jquery/blob/2.2.4/src/core.js#L448\n\t\t// this is needed for calling .off with the original non-intercept handler.\n\t\tif (!handler.guid) {\n\t\t\thandler.guid = $.guid++;\n\t\t}\n\t\tintercept.guid = handler.guid;\n\n\t\treturn intercept;\n\t},\n\n\n\toff: function(types, handler) {\n\t\t$(this).off(types, handler);\n\n\t\treturn this; // for chaining\n\t},\n\n\n\ttrigger: function(types) {\n\t\tvar args = Array.prototype.slice.call(arguments, 1); // arguments after the first\n\n\t\t// pass in \"extra\" info to the intercept\n\t\t$(this).triggerHandler(types, { args: args });\n\n\t\treturn this; // for chaining\n\t},\n\n\n\ttriggerWith: function(types, context, args) {\n\n\t\t// `triggerHandler` is less reliant on the DOM compared to `trigger`.\n\t\t// pass in \"extra\" info to the intercept.\n\t\t$(this).triggerHandler(types, { context: context, args: args });\n\n\t\treturn this; // for chaining\n\t},\n\n\n\thasHandlers: function(type) {\n\t\tvar hash = $._data(this, 'events'); // http://blog.jquery.com/2012/08/09/jquery-1-8-released/\n\n\t\treturn hash && hash[type] && hash[type].length > 0;\n\t}\n\n};\n\n;;\n\n/*\nUtility methods for easily listening to events on another object,\nand more importantly, easily unlistening from them.\n*/\nvar ListenerMixin = FC.ListenerMixin = (function() {\n\tvar guid = 0;\n\tvar ListenerMixin = {\n\n\t\tlistenerId: null,\n\n\t\t/*\n\t\tGiven an `other` object that has on/off methods, bind the given `callback` to an event by the given name.\n\t\tThe `callback` will be called with the `this` context of the object that .listenTo is being called on.\n\t\tCan be called:\n\t\t\t.listenTo(other, eventName, callback)\n\t\tOR\n\t\t\t.listenTo(other, {\n\t\t\t\teventName1: callback1,\n\t\t\t\teventName2: callback2\n\t\t\t})\n\t\t*/\n\t\tlistenTo: function(other, arg, callback) {\n\t\t\tif (typeof arg === 'object') { // given dictionary of callbacks\n\t\t\t\tfor (var eventName in arg) {\n\t\t\t\t\tif (arg.hasOwnProperty(eventName)) {\n\t\t\t\t\t\tthis.listenTo(other, eventName, arg[eventName]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (typeof arg === 'string') {\n\t\t\t\tother.on(\n\t\t\t\t\targ + '.' + this.getListenerNamespace(), // use event namespacing to identify this object\n\t\t\t\t\t$.proxy(callback, this) // always use `this` context\n\t\t\t\t\t\t// the usually-undesired jQuery guid behavior doesn't matter,\n\t\t\t\t\t\t// because we always unbind via namespace\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\n\t\t/*\n\t\tCauses the current object to stop listening to events on the `other` object.\n\t\t`eventName` is optional. If omitted, will stop listening to ALL events on `other`.\n\t\t*/\n\t\tstopListeningTo: function(other, eventName) {\n\t\t\tother.off((eventName || '') + '.' + this.getListenerNamespace());\n\t\t},\n\n\t\t/*\n\t\tReturns a string, unique to this object, to be used for event namespacing\n\t\t*/\n\t\tgetListenerNamespace: function() {\n\t\t\tif (this.listenerId == null) {\n\t\t\t\tthis.listenerId = guid++;\n\t\t\t}\n\t\t\treturn '_listener' + this.listenerId;\n\t\t}\n\n\t};\n\treturn ListenerMixin;\n})();\n;;\n\nvar ParsableModelMixin = {\n\n\tstandardPropMap: {}, // will be cloned by defineStandardProps\n\n\n\t/*\n\tReturns true/false for success.\n\tMeant to be only called ONCE, at object creation.\n\t*/\n\tapplyProps: function(rawProps) {\n\t\tvar standardPropMap = this.standardPropMap;\n\t\tvar manualProps = {};\n\t\tvar miscProps = {};\n\t\tvar propName;\n\n\t\tfor (propName in rawProps) {\n\t\t\tif (standardPropMap[propName] === true) { // copy verbatim\n\t\t\t\tthis[propName] = rawProps[propName];\n\t\t\t}\n\t\t\telse if (standardPropMap[propName] === false) {\n\t\t\t\tmanualProps[propName] = rawProps[propName];\n\t\t\t}\n\t\t\telse {\n\t\t\t\tmiscProps[propName] = rawProps[propName];\n\t\t\t}\n\t\t}\n\n\t\tthis.applyMiscProps(miscProps);\n\n\t\treturn this.applyManualStandardProps(manualProps);\n\t},\n\n\n\t/*\n\tIf subclasses override, they must call this supermethod and return the boolean response.\n\tMeant to be only called ONCE, at object creation.\n\t*/\n\tapplyManualStandardProps: function(rawProps) {\n\t\treturn true;\n\t},\n\n\n\t/*\n\tCan be called even after initial object creation.\n\t*/\n\tapplyMiscProps: function(rawProps) {\n\t\t// subclasses can implement\n\t},\n\n\n\t/*\n\tTODO: why is this a method when defineStandardProps is static\n\t*/\n\tisStandardProp: function(propName) {\n\t\treturn propName in this.standardPropMap;\n\t}\n\n};\n\n\n/*\nTODO: devise a better system\n*/\nvar ParsableModelMixin_defineStandardProps = function(propDefs) {\n\tvar proto = this.prototype;\n\n\tif (!proto.hasOwnProperty('standardPropMap')) {\n\t\tproto.standardPropMap = Object.create(proto.standardPropMap);\n\t}\n\n\tcopyOwnProps(propDefs, proto.standardPropMap);\n};\n\n\n/*\nTODO: devise a better system\n*/\nvar ParsableModelMixin_copyVerbatimStandardProps = function(src, dest) {\n\tvar map = this.prototype.standardPropMap;\n\tvar propName;\n\n\tfor (propName in map) {\n\t\tif (\n\t\t\tsrc[propName] != null && // in the src object?\n\t\t\tmap[propName] === true // false means \"copy verbatim\"\n\t\t) {\n\t\t\tdest[propName] = src[propName];\n\t\t}\n\t}\n};\n\n;;\n\nvar Model = Class.extend(EmitterMixin, ListenerMixin, {\n\n\t_props: null,\n\t_watchers: null,\n\t_globalWatchArgs: {}, // mutation protection in Model.watch\n\n\tconstructor: function() {\n\t\tthis._watchers = {};\n\t\tthis._props = {};\n\t\tthis.applyGlobalWatchers();\n\t\tthis.constructed();\n\t},\n\n\t// useful for monkeypatching. TODO: BaseClass?\n\tconstructed: function() {\n\t},\n\n\tapplyGlobalWatchers: function() {\n\t\tvar map = this._globalWatchArgs;\n\t\tvar name;\n\n\t\tfor (name in map) {\n\t\t\tthis.watch.apply(this, map[name]);\n\t\t}\n\t},\n\n\thas: function(name) {\n\t\treturn name in this._props;\n\t},\n\n\tget: function(name) {\n\t\tif (name === undefined) {\n\t\t\treturn this._props;\n\t\t}\n\n\t\treturn this._props[name];\n\t},\n\n\tset: function(name, val) {\n\t\tvar newProps;\n\n\t\tif (typeof name === 'string') {\n\t\t\tnewProps = {};\n\t\t\tnewProps[name] = val === undefined ? null : val;\n\t\t}\n\t\telse {\n\t\t\tnewProps = name;\n\t\t}\n\n\t\tthis.setProps(newProps);\n\t},\n\n\treset: function(newProps) {\n\t\tvar oldProps = this._props;\n\t\tvar changeset = {}; // will have undefined's to signal unsets\n\t\tvar name;\n\n\t\tfor (name in oldProps) {\n\t\t\tchangeset[name] = undefined;\n\t\t}\n\n\t\tfor (name in newProps) {\n\t\t\tchangeset[name] = newProps[name];\n\t\t}\n\n\t\tthis.setProps(changeset);\n\t},\n\n\tunset: function(name) { // accepts a string or array of strings\n\t\tvar newProps = {};\n\t\tvar names;\n\t\tvar i;\n\n\t\tif (typeof name === 'string') {\n\t\t\tnames = [ name ];\n\t\t}\n\t\telse {\n\t\t\tnames = name;\n\t\t}\n\n\t\tfor (i = 0; i < names.length; i++) {\n\t\t\tnewProps[names[i]] = undefined;\n\t\t}\n\n\t\tthis.setProps(newProps);\n\t},\n\n\tsetProps: function(newProps) {\n\t\tvar changedProps = {};\n\t\tvar changedCnt = 0;\n\t\tvar name, val;\n\n\t\tfor (name in newProps) {\n\t\t\tval = newProps[name];\n\n\t\t\t// a change in value?\n\t\t\t// if an object, don't check equality, because might have been mutated internally.\n\t\t\t// TODO: eventually enforce immutability.\n\t\t\tif (\n\t\t\t\ttypeof val === 'object' ||\n\t\t\t\tval !== this._props[name]\n\t\t\t) {\n\t\t\t\tchangedProps[name] = val;\n\t\t\t\tchangedCnt++;\n\t\t\t}\n\t\t}\n\n\t\tif (changedCnt) {\n\n\t\t\tthis.trigger('before:batchChange', changedProps);\n\n\t\t\tfor (name in changedProps) {\n\t\t\t\tval = changedProps[name];\n\n\t\t\t\tthis.trigger('before:change', name, val);\n\t\t\t\tthis.trigger('before:change:' + name, val);\n\t\t\t}\n\n\t\t\tfor (name in changedProps) {\n\t\t\t\tval = changedProps[name];\n\n\t\t\t\tif (val === undefined) {\n\t\t\t\t\tdelete this._props[name];\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthis._props[name] = val;\n\t\t\t\t}\n\n\t\t\t\tthis.trigger('change:' + name, val);\n\t\t\t\tthis.trigger('change', name, val);\n\t\t\t}\n\n\t\t\tthis.trigger('batchChange', changedProps);\n\t\t}\n\t},\n\n\twatch: function(name, depList, startFunc, stopFunc) {\n\t\tvar _this = this;\n\n\t\tthis.unwatch(name);\n\n\t\tthis._watchers[name] = this._watchDeps(depList, function(deps) {\n\t\t\tvar res = startFunc.call(_this, deps);\n\n\t\t\tif (res && res.then) {\n\t\t\t\t_this.unset(name); // put in an unset state while resolving\n\t\t\t\tres.then(function(val) {\n\t\t\t\t\t_this.set(name, val);\n\t\t\t\t});\n\t\t\t}\n\t\t\telse {\n\t\t\t\t_this.set(name, res);\n\t\t\t}\n\t\t}, function(deps) {\n\t\t\t_this.unset(name);\n\n\t\t\tif (stopFunc) {\n\t\t\t\tstopFunc.call(_this, deps);\n\t\t\t}\n\t\t});\n\t},\n\n\tunwatch: function(name) {\n\t\tvar watcher = this._watchers[name];\n\n\t\tif (watcher) {\n\t\t\tdelete this._watchers[name];\n\t\t\twatcher.teardown();\n\t\t}\n\t},\n\n\t_watchDeps: function(depList, startFunc, stopFunc) {\n\t\tvar _this = this;\n\t\tvar queuedChangeCnt = 0;\n\t\tvar depCnt = depList.length;\n\t\tvar satisfyCnt = 0;\n\t\tvar values = {}; // what's passed as the `deps` arguments\n\t\tvar bindTuples = []; // array of [ eventName, handlerFunc ] arrays\n\t\tvar isCallingStop = false;\n\n\t\tfunction onBeforeDepChange(depName, val, isOptional) {\n\t\t\tqueuedChangeCnt++;\n\t\t\tif (queuedChangeCnt === 1) { // first change to cause a \"stop\" ?\n\t\t\t\tif (satisfyCnt === depCnt) { // all deps previously satisfied?\n\t\t\t\t\tisCallingStop = true;\n\t\t\t\t\tstopFunc(values);\n\t\t\t\t\tisCallingStop = false;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfunction onDepChange(depName, val, isOptional) {\n\n\t\t\tif (val === undefined) { // unsetting a value?\n\n\t\t\t\t// required dependency that was previously set?\n\t\t\t\tif (!isOptional && values[depName] !== undefined) {\n\t\t\t\t\tsatisfyCnt--;\n\t\t\t\t}\n\n\t\t\t\tdelete values[depName];\n\t\t\t}\n\t\t\telse { // setting a value?\n\n\t\t\t\t// required dependency that was previously unset?\n\t\t\t\tif (!isOptional && values[depName] === undefined) {\n\t\t\t\t\tsatisfyCnt++;\n\t\t\t\t}\n\n\t\t\t\tvalues[depName] = val;\n\t\t\t}\n\n\t\t\tqueuedChangeCnt--;\n\t\t\tif (!queuedChangeCnt) { // last change to cause a \"start\"?\n\n\t\t\t\t// now finally satisfied or satisfied all along?\n\t\t\t\tif (satisfyCnt === depCnt) {\n\n\t\t\t\t\t// if the stopFunc initiated another value change, ignore it.\n\t\t\t\t\t// it will be processed by another change event anyway.\n\t\t\t\t\tif (!isCallingStop) {\n\t\t\t\t\t\tstartFunc(values);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// intercept for .on() that remembers handlers\n\t\tfunction bind(eventName, handler) {\n\t\t\t_this.on(eventName, handler);\n\t\t\tbindTuples.push([ eventName, handler ]);\n\t\t}\n\n\t\t// listen to dependency changes\n\t\tdepList.forEach(function(depName) {\n\t\t\tvar isOptional = false;\n\n\t\t\tif (depName.charAt(0) === '?') { // TODO: more DRY\n\t\t\t\tdepName = depName.substring(1);\n\t\t\t\tisOptional = true;\n\t\t\t}\n\n\t\t\tbind('before:change:' + depName, function(val) {\n\t\t\t\tonBeforeDepChange(depName, val, isOptional);\n\t\t\t});\n\n\t\t\tbind('change:' + depName, function(val) {\n\t\t\t\tonDepChange(depName, val, isOptional);\n\t\t\t});\n\t\t});\n\n\t\t// process current dependency values\n\t\tdepList.forEach(function(depName) {\n\t\t\tvar isOptional = false;\n\n\t\t\tif (depName.charAt(0) === '?') { // TODO: more DRY\n\t\t\t\tdepName = depName.substring(1);\n\t\t\t\tisOptional = true;\n\t\t\t}\n\n\t\t\tif (_this.has(depName)) {\n\t\t\t\tvalues[depName] = _this.get(depName);\n\t\t\t\tsatisfyCnt++;\n\t\t\t}\n\t\t\telse if (isOptional) {\n\t\t\t\tsatisfyCnt++;\n\t\t\t}\n\t\t});\n\n\t\t// initially satisfied\n\t\tif (satisfyCnt === depCnt) {\n\t\t\tstartFunc(values);\n\t\t}\n\n\t\treturn {\n\t\t\tteardown: function() {\n\t\t\t\t// remove all handlers\n\t\t\t\tfor (var i = 0; i < bindTuples.length; i++) {\n\t\t\t\t\t_this.off(bindTuples[i][0], bindTuples[i][1]);\n\t\t\t\t}\n\t\t\t\tbindTuples = null;\n\n\t\t\t\t// was satisfied, so call stopFunc\n\t\t\t\tif (satisfyCnt === depCnt) {\n\t\t\t\t\tstopFunc();\n\t\t\t\t}\n\t\t\t},\n\t\t\tflash: function() {\n\t\t\t\tif (satisfyCnt === depCnt) {\n\t\t\t\t\tstopFunc();\n\t\t\t\t\tstartFunc(values);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t},\n\n\tflash: function(name) {\n\t\tvar watcher = this._watchers[name];\n\n\t\tif (watcher) {\n\t\t\twatcher.flash();\n\t\t}\n\t}\n\n});\n\n\nModel.watch = function(name /* , depList, startFunc, stopFunc */) {\n\n\t// subclasses should make a masked-copy of the superclass's map\n\t// TODO: write test\n\tif (!this.prototype.hasOwnProperty('_globalWatchArgs')) {\n\t\tthis.prototype._globalWatchArgs = Object.create(this.prototype._globalWatchArgs);\n\t}\n\n\tthis.prototype._globalWatchArgs[name] = arguments;\n};\n\n\nFC.Model = Model;\n\n\n;;\n\nvar Promise = {\n\n\tconstruct: function(executor) {\n\t\tvar deferred = $.Deferred();\n\t\tvar promise = deferred.promise();\n\n\t\tif (typeof executor === 'function') {\n\t\t\texecutor(\n\t\t\t\tfunction(val) { // resolve\n\t\t\t\t\tdeferred.resolve(val);\n\t\t\t\t\tattachImmediatelyResolvingThen(promise, val);\n\t\t\t\t},\n\t\t\t\tfunction() { // reject\n\t\t\t\t\tdeferred.reject();\n\t\t\t\t\tattachImmediatelyRejectingThen(promise);\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\treturn promise;\n\t},\n\n\tresolve: function(val) {\n\t\tvar deferred = $.Deferred().resolve(val);\n\t\tvar promise = deferred.promise();\n\n\t\tattachImmediatelyResolvingThen(promise, val);\n\n\t\treturn promise;\n\t},\n\n\treject: function() {\n\t\tvar deferred = $.Deferred().reject();\n\t\tvar promise = deferred.promise();\n\n\t\tattachImmediatelyRejectingThen(promise);\n\n\t\treturn promise;\n\t}\n\n};\n\n\nfunction attachImmediatelyResolvingThen(promise, val) {\n\tpromise.then = function(onResolve) {\n\t\tif (typeof onResolve === 'function') {\n\t\t\treturn Promise.resolve(onResolve(val));\n\t\t}\n\t\treturn promise;\n\t};\n}\n\n\nfunction attachImmediatelyRejectingThen(promise) {\n\tpromise.then = function(onResolve, onReject) {\n\t\tif (typeof onReject === 'function') {\n\t\t\tonReject();\n\t\t}\n\t\treturn promise;\n\t};\n}\n\n\nFC.Promise = Promise;\n\n;;\n\nvar TaskQueue = Class.extend(EmitterMixin, {\n\n\tq: null,\n\tisPaused: false,\n\tisRunning: false,\n\n\n\tconstructor: function() {\n\t\tthis.q = [];\n\t},\n\n\n\tqueue: function(/* taskFunc, taskFunc... */) {\n\t\tthis.q.push.apply(this.q, arguments); // append\n\t\tthis.tryStart();\n\t},\n\n\n\tpause: function() {\n\t\tthis.isPaused = true;\n\t},\n\n\n\tresume: function() {\n\t\tthis.isPaused = false;\n\t\tthis.tryStart();\n\t},\n\n\n\tgetIsIdle: function() {\n\t\treturn !this.isRunning && !this.isPaused;\n\t},\n\n\n\ttryStart: function() {\n\t\tif (!this.isRunning && this.canRunNext()) {\n\t\t\tthis.isRunning = true;\n\t\t\tthis.trigger('start');\n\t\t\tthis.runRemaining();\n\t\t}\n\t},\n\n\n\tcanRunNext: function() {\n\t\treturn !this.isPaused && this.q.length;\n\t},\n\n\n\trunRemaining: function() { // assumes at least one task in queue. does not check canRunNext for first task.\n\t\tvar _this = this;\n\t\tvar task;\n\t\tvar res;\n\n\t\tdo {\n\t\t\ttask = this.q.shift(); // always freshly reference q. might have been reassigned.\n\t\t\tres = this.runTask(task);\n\n\t\t\tif (res && res.then) {\n\t\t\t\tres.then(function() { // jshint ignore:line\n\t\t\t\t\tif (_this.canRunNext()) {\n\t\t\t\t\t\t_this.runRemaining();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\treturn; // prevent marking as stopped\n\t\t\t}\n\t\t} while (this.canRunNext());\n\n\t\tthis.trigger('stop'); // not really a 'stop' ... more of a 'drained'\n\t\tthis.isRunning = false;\n\n\t\t// if 'stop' handler added more tasks.... TODO: write test for this\n\t\tthis.tryStart();\n\t},\n\n\n\trunTask: function(task) {\n\t\treturn task(); // task *is* the function, but subclasses can change the format of a task\n\t}\n\n});\n\nFC.TaskQueue = TaskQueue;\n\n;;\n\nvar RenderQueue = TaskQueue.extend({\n\n\twaitsByNamespace: null,\n\twaitNamespace: null,\n\twaitId: null,\n\n\n\tconstructor: function(waitsByNamespace) {\n\t\tTaskQueue.call(this); // super-constructor\n\n\t\tthis.waitsByNamespace = waitsByNamespace || {};\n\t},\n\n\n\tqueue: function(taskFunc, namespace, type) {\n\t\tvar task = {\n\t\t\tfunc: taskFunc,\n\t\t\tnamespace: namespace,\n\t\t\ttype: type\n\t\t};\n\t\tvar waitMs;\n\n\t\tif (namespace) {\n\t\t\twaitMs = this.waitsByNamespace[namespace];\n\t\t}\n\n\t\tif (this.waitNamespace) {\n\t\t\tif (namespace === this.waitNamespace && waitMs != null) {\n\t\t\t\tthis.delayWait(waitMs);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.clearWait();\n\t\t\t\tthis.tryStart();\n\t\t\t}\n\t\t}\n\n\t\tif (this.compoundTask(task)) { // appended to queue?\n\n\t\t\tif (!this.waitNamespace && waitMs != null) {\n\t\t\t\tthis.startWait(namespace, waitMs);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.tryStart();\n\t\t\t}\n\t\t}\n\t},\n\n\n\tstartWait: function(namespace, waitMs) {\n\t\tthis.waitNamespace = namespace;\n\t\tthis.spawnWait(waitMs);\n\t},\n\n\n\tdelayWait: function(waitMs) {\n\t\tclearTimeout(this.waitId);\n\t\tthis.spawnWait(waitMs);\n\t},\n\n\n\tspawnWait: function(waitMs) {\n\t\tvar _this = this;\n\n\t\tthis.waitId = setTimeout(function() {\n\t\t\t_this.waitNamespace = null;\n\t\t\t_this.tryStart();\n\t\t}, waitMs);\n\t},\n\n\n\tclearWait: function() {\n\t\tif (this.waitNamespace) {\n\t\t\tclearTimeout(this.waitId);\n\t\t\tthis.waitId = null;\n\t\t\tthis.waitNamespace = null;\n\t\t}\n\t},\n\n\n\tcanRunNext: function() {\n\t\tif (!TaskQueue.prototype.canRunNext.apply(this, arguments)) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// waiting for a certain namespace to stop receiving tasks?\n\t\tif (this.waitNamespace) {\n\n\t\t\t// if there was a different namespace task in the meantime,\n\t\t\t// that forces all previously-waiting tasks to suddenly execute.\n\t\t\t// TODO: find a way to do this in constant time.\n\t\t\tfor (var q = this.q, i = 0; i < q.length; i++) {\n\t\t\t\tif (q[i].namespace !== this.waitNamespace) {\n\t\t\t\t\treturn true; // allow execution\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t},\n\n\n\trunTask: function(task) {\n\t\ttask.func();\n\t},\n\n\n\tcompoundTask: function(newTask) {\n\t\tvar q = this.q;\n\t\tvar shouldAppend = true;\n\t\tvar i, task;\n\n\t\tif (newTask.namespace && newTask.type === 'destroy') {\n\n\t\t\t// remove all init/add/remove ops with same namespace, regardless of order\n\t\t\tfor (i = q.length - 1; i >= 0; i--) {\n\t\t\t\ttask = q[i];\n\n\t\t\t\tswitch (task.type) {\n\t\t\t\t\tcase 'init':\n\t\t\t\t\t\tshouldAppend = false; // jshint ignore:line\n\t\t\t\t\t\t// the latest destroy is cancelled out by not doing the init\n\t\t\t\t\t\t// and fallthrough....\n\t\t\t\t\tcase 'add':\n\t\t\t\t\tcase 'remove':\n\t\t\t\t\t\tq.splice(i, 1); // remove task\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (shouldAppend) {\n\t\t\tq.push(newTask);\n\t\t}\n\n\t\treturn shouldAppend;\n\t}\n\n});\n\nFC.RenderQueue = RenderQueue;\n\n;;\n\n/* A rectangular panel that is absolutely positioned over other content\n------------------------------------------------------------------------------------------------------------------------\nOptions:\n\t- className (string)\n\t- content (HTML string or jQuery element set)\n\t- parentEl\n\t- top\n\t- left\n\t- right (the x coord of where the right edge should be. not a \"CSS\" right)\n\t- autoHide (boolean)\n\t- show (callback)\n\t- hide (callback)\n*/\n\nvar Popover = Class.extend(ListenerMixin, {\n\n\tisHidden: true,\n\toptions: null,\n\tel: null, // the container element for the popover. generated by this object\n\tmargin: 10, // the space required between the popover and the edges of the scroll container\n\n\n\tconstructor: function(options) {\n\t\tthis.options = options || {};\n\t},\n\n\n\t// Shows the popover on the specified position. Renders it if not already\n\tshow: function() {\n\t\tif (this.isHidden) {\n\t\t\tif (!this.el) {\n\t\t\t\tthis.render();\n\t\t\t}\n\t\t\tthis.el.show();\n\t\t\tthis.position();\n\t\t\tthis.isHidden = false;\n\t\t\tthis.trigger('show');\n\t\t}\n\t},\n\n\n\t// Hides the popover, through CSS, but does not remove it from the DOM\n\thide: function() {\n\t\tif (!this.isHidden) {\n\t\t\tthis.el.hide();\n\t\t\tthis.isHidden = true;\n\t\t\tthis.trigger('hide');\n\t\t}\n\t},\n\n\n\t// Creates `this.el` and renders content inside of it\n\trender: function() {\n\t\tvar _this = this;\n\t\tvar options = this.options;\n\n\t\tthis.el = $('<div class=\"fc-popover\"/>')\n\t\t\t.addClass(options.className || '')\n\t\t\t.css({\n\t\t\t\t// position initially to the top left to avoid creating scrollbars\n\t\t\t\ttop: 0,\n\t\t\t\tleft: 0\n\t\t\t})\n\t\t\t.append(options.content)\n\t\t\t.appendTo(options.parentEl);\n\n\t\t// when a click happens on anything inside with a 'fc-close' className, hide the popover\n\t\tthis.el.on('click', '.fc-close', function() {\n\t\t\t_this.hide();\n\t\t});\n\n\t\tif (options.autoHide) {\n\t\t\tthis.listenTo($(document), 'mousedown', this.documentMousedown);\n\t\t}\n\t},\n\n\n\t// Triggered when the user clicks *anywhere* in the document, for the autoHide feature\n\tdocumentMousedown: function(ev) {\n\t\t// only hide the popover if the click happened outside the popover\n\t\tif (this.el && !$(ev.target).closest(this.el).length) {\n\t\t\tthis.hide();\n\t\t}\n\t},\n\n\n\t// Hides and unregisters any handlers\n\tremoveElement: function() {\n\t\tthis.hide();\n\n\t\tif (this.el) {\n\t\t\tthis.el.remove();\n\t\t\tthis.el = null;\n\t\t}\n\n\t\tthis.stopListeningTo($(document), 'mousedown');\n\t},\n\n\n\t// Positions the popover optimally, using the top/left/right options\n\tposition: function() {\n\t\tvar options = this.options;\n\t\tvar origin = this.el.offsetParent().offset();\n\t\tvar width = this.el.outerWidth();\n\t\tvar height = this.el.outerHeight();\n\t\tvar windowEl = $(window);\n\t\tvar viewportEl = getScrollParent(this.el);\n\t\tvar viewportTop;\n\t\tvar viewportLeft;\n\t\tvar viewportOffset;\n\t\tvar top; // the \"position\" (not \"offset\") values for the popover\n\t\tvar left; //\n\n\t\t// compute top and left\n\t\ttop = options.top || 0;\n\t\tif (options.left !== undefined) {\n\t\t\tleft = options.left;\n\t\t}\n\t\telse if (options.right !== undefined) {\n\t\t\tleft = options.right - width; // derive the left value from the right value\n\t\t}\n\t\telse {\n\t\t\tleft = 0;\n\t\t}\n\n\t\tif (viewportEl.is(window) || viewportEl.is(document)) { // normalize getScrollParent's result\n\t\t\tviewportEl = windowEl;\n\t\t\tviewportTop = 0; // the window is always at the top left\n\t\t\tviewportLeft = 0; // (and .offset() won't work if called here)\n\t\t}\n\t\telse {\n\t\t\tviewportOffset = viewportEl.offset();\n\t\t\tviewportTop = viewportOffset.top;\n\t\t\tviewportLeft = viewportOffset.left;\n\t\t}\n\n\t\t// if the window is scrolled, it causes the visible area to be further down\n\t\tviewportTop += windowEl.scrollTop();\n\t\tviewportLeft += windowEl.scrollLeft();\n\n\t\t// constrain to the view port. if constrained by two edges, give precedence to top/left\n\t\tif (options.viewportConstrain !== false) {\n\t\t\ttop = Math.min(top, viewportTop + viewportEl.outerHeight() - height - this.margin);\n\t\t\ttop = Math.max(top, viewportTop + this.margin);\n\t\t\tleft = Math.min(left, viewportLeft + viewportEl.outerWidth() - width - this.margin);\n\t\t\tleft = Math.max(left, viewportLeft + this.margin);\n\t\t}\n\n\t\tthis.el.css({\n\t\t\ttop: top - origin.top,\n\t\t\tleft: left - origin.left\n\t\t});\n\t},\n\n\n\t// Triggers a callback. Calls a function in the option hash of the same name.\n\t// Arguments beyond the first `name` are forwarded on.\n\t// TODO: better code reuse for this. Repeat code\n\ttrigger: function(name) {\n\t\tif (this.options[name]) {\n\t\t\tthis.options[name].apply(this, Array.prototype.slice.call(arguments, 1));\n\t\t}\n\t}\n\n});\n\n;;\n\n/*\nA cache for the left/right/top/bottom/width/height values for one or more elements.\nWorks with both offset (from topleft document) and position (from offsetParent).\n\noptions:\n- els\n- isHorizontal\n- isVertical\n*/\nvar CoordCache = FC.CoordCache = Class.extend({\n\n\tels: null, // jQuery set (assumed to be siblings)\n\tforcedOffsetParentEl: null, // options can override the natural offsetParent\n\torigin: null, // {left,top} position of offsetParent of els\n\tboundingRect: null, // constrain cordinates to this rectangle. {left,right,top,bottom} or null\n\tisHorizontal: false, // whether to query for left/right/width\n\tisVertical: false, // whether to query for top/bottom/height\n\n\t// arrays of coordinates (offsets from topleft of document)\n\tlefts: null,\n\trights: null,\n\ttops: null,\n\tbottoms: null,\n\n\n\tconstructor: function(options) {\n\t\tthis.els = $(options.els);\n\t\tthis.isHorizontal = options.isHorizontal;\n\t\tthis.isVertical = options.isVertical;\n\t\tthis.forcedOffsetParentEl = options.offsetParent ? $(options.offsetParent) : null;\n\t},\n\n\n\t// Queries the els for coordinates and stores them.\n\t// Call this method before using and of the get* methods below.\n\tbuild: function() {\n\t\tvar offsetParentEl = this.forcedOffsetParentEl;\n\t\tif (!offsetParentEl && this.els.length > 0) {\n\t\t\toffsetParentEl = this.els.eq(0).offsetParent();\n\t\t}\n\n\t\tthis.origin = offsetParentEl ?\n\t\t\toffsetParentEl.offset() :\n\t\t\tnull;\n\n\t\tthis.boundingRect = this.queryBoundingRect();\n\n\t\tif (this.isHorizontal) {\n\t\t\tthis.buildElHorizontals();\n\t\t}\n\t\tif (this.isVertical) {\n\t\t\tthis.buildElVerticals();\n\t\t}\n\t},\n\n\n\t// Destroys all internal data about coordinates, freeing memory\n\tclear: function() {\n\t\tthis.origin = null;\n\t\tthis.boundingRect = null;\n\t\tthis.lefts = null;\n\t\tthis.rights = null;\n\t\tthis.tops = null;\n\t\tthis.bottoms = null;\n\t},\n\n\n\t// When called, if coord caches aren't built, builds them\n\tensureBuilt: function() {\n\t\tif (!this.origin) {\n\t\t\tthis.build();\n\t\t}\n\t},\n\n\n\t// Populates the left/right internal coordinate arrays\n\tbuildElHorizontals: function() {\n\t\tvar lefts = [];\n\t\tvar rights = [];\n\n\t\tthis.els.each(function(i, node) {\n\t\t\tvar el = $(node);\n\t\t\tvar left = el.offset().left;\n\t\t\tvar width = el.outerWidth();\n\n\t\t\tlefts.push(left);\n\t\t\trights.push(left + width);\n\t\t});\n\n\t\tthis.lefts = lefts;\n\t\tthis.rights = rights;\n\t},\n\n\n\t// Populates the top/bottom internal coordinate arrays\n\tbuildElVerticals: function() {\n\t\tvar tops = [];\n\t\tvar bottoms = [];\n\n\t\tthis.els.each(function(i, node) {\n\t\t\tvar el = $(node);\n\t\t\tvar top = el.offset().top;\n\t\t\tvar height = el.outerHeight();\n\n\t\t\ttops.push(top);\n\t\t\tbottoms.push(top + height);\n\t\t});\n\n\t\tthis.tops = tops;\n\t\tthis.bottoms = bottoms;\n\t},\n\n\n\t// Given a left offset (from document left), returns the index of the el that it horizontally intersects.\n\t// If no intersection is made, returns undefined.\n\tgetHorizontalIndex: function(leftOffset) {\n\t\tthis.ensureBuilt();\n\n\t\tvar lefts = this.lefts;\n\t\tvar rights = this.rights;\n\t\tvar len = lefts.length;\n\t\tvar i;\n\n\t\tfor (i = 0; i < len; i++) {\n\t\t\tif (leftOffset >= lefts[i] && leftOffset < rights[i]) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\t},\n\n\n\t// Given a top offset (from document top), returns the index of the el that it vertically intersects.\n\t// If no intersection is made, returns undefined.\n\tgetVerticalIndex: function(topOffset) {\n\t\tthis.ensureBuilt();\n\n\t\tvar tops = this.tops;\n\t\tvar bottoms = this.bottoms;\n\t\tvar len = tops.length;\n\t\tvar i;\n\n\t\tfor (i = 0; i < len; i++) {\n\t\t\tif (topOffset >= tops[i] && topOffset < bottoms[i]) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\t},\n\n\n\t// Gets the left offset (from document left) of the element at the given index\n\tgetLeftOffset: function(leftIndex) {\n\t\tthis.ensureBuilt();\n\t\treturn this.lefts[leftIndex];\n\t},\n\n\n\t// Gets the left position (from offsetParent left) of the element at the given index\n\tgetLeftPosition: function(leftIndex) {\n\t\tthis.ensureBuilt();\n\t\treturn this.lefts[leftIndex] - this.origin.left;\n\t},\n\n\n\t// Gets the right offset (from document left) of the element at the given index.\n\t// This value is NOT relative to the document's right edge, like the CSS concept of \"right\" would be.\n\tgetRightOffset: function(leftIndex) {\n\t\tthis.ensureBuilt();\n\t\treturn this.rights[leftIndex];\n\t},\n\n\n\t// Gets the right position (from offsetParent left) of the element at the given index.\n\t// This value is NOT relative to the offsetParent's right edge, like the CSS concept of \"right\" would be.\n\tgetRightPosition: function(leftIndex) {\n\t\tthis.ensureBuilt();\n\t\treturn this.rights[leftIndex] - this.origin.left;\n\t},\n\n\n\t// Gets the width of the element at the given index\n\tgetWidth: function(leftIndex) {\n\t\tthis.ensureBuilt();\n\t\treturn this.rights[leftIndex] - this.lefts[leftIndex];\n\t},\n\n\n\t// Gets the top offset (from document top) of the element at the given index\n\tgetTopOffset: function(topIndex) {\n\t\tthis.ensureBuilt();\n\t\treturn this.tops[topIndex];\n\t},\n\n\n\t// Gets the top position (from offsetParent top) of the element at the given position\n\tgetTopPosition: function(topIndex) {\n\t\tthis.ensureBuilt();\n\t\treturn this.tops[topIndex] - this.origin.top;\n\t},\n\n\t// Gets the bottom offset (from the document top) of the element at the given index.\n\t// This value is NOT relative to the offsetParent's bottom edge, like the CSS concept of \"bottom\" would be.\n\tgetBottomOffset: function(topIndex) {\n\t\tthis.ensureBuilt();\n\t\treturn this.bottoms[topIndex];\n\t},\n\n\n\t// Gets the bottom position (from the offsetParent top) of the element at the given index.\n\t// This value is NOT relative to the offsetParent's bottom edge, like the CSS concept of \"bottom\" would be.\n\tgetBottomPosition: function(topIndex) {\n\t\tthis.ensureBuilt();\n\t\treturn this.bottoms[topIndex] - this.origin.top;\n\t},\n\n\n\t// Gets the height of the element at the given index\n\tgetHeight: function(topIndex) {\n\t\tthis.ensureBuilt();\n\t\treturn this.bottoms[topIndex] - this.tops[topIndex];\n\t},\n\n\n\t// Bounding Rect\n\t// TODO: decouple this from CoordCache\n\n\t// Compute and return what the elements' bounding rectangle is, from the user's perspective.\n\t// Right now, only returns a rectangle if constrained by an overflow:scroll element.\n\t// Returns null if there are no elements\n\tqueryBoundingRect: function() {\n\t\tvar scrollParentEl;\n\n\t\tif (this.els.length > 0) {\n\t\t\tscrollParentEl = getScrollParent(this.els.eq(0));\n\n\t\t\tif (!scrollParentEl.is(document)) {\n\t\t\t\treturn getClientRect(scrollParentEl);\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t},\n\n\tisPointInBounds: function(leftOffset, topOffset) {\n\t\treturn this.isLeftInBounds(leftOffset) && this.isTopInBounds(topOffset);\n\t},\n\n\tisLeftInBounds: function(leftOffset) {\n\t\treturn !this.boundingRect || (leftOffset >= this.boundingRect.left && leftOffset < this.boundingRect.right);\n\t},\n\n\tisTopInBounds: function(topOffset) {\n\t\treturn !this.boundingRect || (topOffset >= this.boundingRect.top && topOffset < this.boundingRect.bottom);\n\t}\n\n});\n\n;;\n\n/* Tracks a drag's mouse movement, firing various handlers\n----------------------------------------------------------------------------------------------------------------------*/\n// TODO: use Emitter\n\nvar DragListener = FC.DragListener = Class.extend(ListenerMixin, {\n\n\toptions: null,\n\tsubjectEl: null,\n\n\t// coordinates of the initial mousedown\n\toriginX: null,\n\toriginY: null,\n\n\t// the wrapping element that scrolls, or MIGHT scroll if there's overflow.\n\t// TODO: do this for wrappers that have overflow:hidden as well.\n\tscrollEl: null,\n\n\tisInteracting: false,\n\tisDistanceSurpassed: false,\n\tisDelayEnded: false,\n\tisDragging: false,\n\tisTouch: false,\n\tisGeneric: false, // initiated by 'dragstart' (jqui)\n\n\tdelay: null,\n\tdelayTimeoutId: null,\n\tminDistance: null,\n\n\tshouldCancelTouchScroll: true,\n\tscrollAlwaysKills: false,\n\n\n\tconstructor: function(options) {\n\t\tthis.options = options || {};\n\t},\n\n\n\t// Interaction (high-level)\n\t// -----------------------------------------------------------------------------------------------------------------\n\n\n\tstartInteraction: function(ev, extraOptions) {\n\n\t\tif (ev.type === 'mousedown') {\n\t\t\tif (GlobalEmitter.get().shouldIgnoreMouse()) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\telse if (!isPrimaryMouseButton(ev)) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tev.preventDefault(); // prevents native selection in most browsers\n\t\t\t}\n\t\t}\n\n\t\tif (!this.isInteracting) {\n\n\t\t\t// process options\n\t\t\textraOptions = extraOptions || {};\n\t\t\tthis.delay = firstDefined(extraOptions.delay, this.options.delay, 0);\n\t\t\tthis.minDistance = firstDefined(extraOptions.distance, this.options.distance, 0);\n\t\t\tthis.subjectEl = this.options.subjectEl;\n\n\t\t\tpreventSelection($('body'));\n\n\t\t\tthis.isInteracting = true;\n\t\t\tthis.isTouch = getEvIsTouch(ev);\n\t\t\tthis.isGeneric = ev.type === 'dragstart';\n\t\t\tthis.isDelayEnded = false;\n\t\t\tthis.isDistanceSurpassed = false;\n\n\t\t\tthis.originX = getEvX(ev);\n\t\t\tthis.originY = getEvY(ev);\n\t\t\tthis.scrollEl = getScrollParent($(ev.target));\n\n\t\t\tthis.bindHandlers();\n\t\t\tthis.initAutoScroll();\n\t\t\tthis.handleInteractionStart(ev);\n\t\t\tthis.startDelay(ev);\n\n\t\t\tif (!this.minDistance) {\n\t\t\t\tthis.handleDistanceSurpassed(ev);\n\t\t\t}\n\t\t}\n\t},\n\n\n\thandleInteractionStart: function(ev) {\n\t\tthis.trigger('interactionStart', ev);\n\t},\n\n\n\tendInteraction: function(ev, isCancelled) {\n\t\tif (this.isInteracting) {\n\t\t\tthis.endDrag(ev);\n\n\t\t\tif (this.delayTimeoutId) {\n\t\t\t\tclearTimeout(this.delayTimeoutId);\n\t\t\t\tthis.delayTimeoutId = null;\n\t\t\t}\n\n\t\t\tthis.destroyAutoScroll();\n\t\t\tthis.unbindHandlers();\n\n\t\t\tthis.isInteracting = false;\n\t\t\tthis.handleInteractionEnd(ev, isCancelled);\n\n\t\t\tallowSelection($('body'));\n\t\t}\n\t},\n\n\n\thandleInteractionEnd: function(ev, isCancelled) {\n\t\tthis.trigger('interactionEnd', ev, isCancelled || false);\n\t},\n\n\n\t// Binding To DOM\n\t// -----------------------------------------------------------------------------------------------------------------\n\n\n\tbindHandlers: function() {\n\t\t// some browsers (Safari in iOS 10) don't allow preventDefault on touch events that are bound after touchstart,\n\t\t// so listen to the GlobalEmitter singleton, which is always bound, instead of the document directly.\n\t\tvar globalEmitter = GlobalEmitter.get();\n\n\t\tif (this.isGeneric) {\n\t\t\tthis.listenTo($(document), { // might only work on iOS because of GlobalEmitter's bind :(\n\t\t\t\tdrag: this.handleMove,\n\t\t\t\tdragstop: this.endInteraction\n\t\t\t});\n\t\t}\n\t\telse if (this.isTouch) {\n\t\t\tthis.listenTo(globalEmitter, {\n\t\t\t\ttouchmove: this.handleTouchMove,\n\t\t\t\ttouchend: this.endInteraction,\n\t\t\t\tscroll: this.handleTouchScroll\n\t\t\t});\n\t\t}\n\t\telse {\n\t\t\tthis.listenTo(globalEmitter, {\n\t\t\t\tmousemove: this.handleMouseMove,\n\t\t\t\tmouseup: this.endInteraction\n\t\t\t});\n\t\t}\n\n\t\tthis.listenTo(globalEmitter, {\n\t\t\tselectstart: preventDefault, // don't allow selection while dragging\n\t\t\tcontextmenu: preventDefault // long taps would open menu on Chrome dev tools\n\t\t});\n\t},\n\n\n\tunbindHandlers: function() {\n\t\tthis.stopListeningTo(GlobalEmitter.get());\n\t\tthis.stopListeningTo($(document)); // for isGeneric\n\t},\n\n\n\t// Drag (high-level)\n\t// -----------------------------------------------------------------------------------------------------------------\n\n\n\t// extraOptions ignored if drag already started\n\tstartDrag: function(ev, extraOptions) {\n\t\tthis.startInteraction(ev, extraOptions); // ensure interaction began\n\n\t\tif (!this.isDragging) {\n\t\t\tthis.isDragging = true;\n\t\t\tthis.handleDragStart(ev);\n\t\t}\n\t},\n\n\n\thandleDragStart: function(ev) {\n\t\tthis.trigger('dragStart', ev);\n\t},\n\n\n\thandleMove: function(ev) {\n\t\tvar dx = getEvX(ev) - this.originX;\n\t\tvar dy = getEvY(ev) - this.originY;\n\t\tvar minDistance = this.minDistance;\n\t\tvar distanceSq; // current distance from the origin, squared\n\n\t\tif (!this.isDistanceSurpassed) {\n\t\t\tdistanceSq = dx * dx + dy * dy;\n\t\t\tif (distanceSq >= minDistance * minDistance) { // use pythagorean theorem\n\t\t\t\tthis.handleDistanceSurpassed(ev);\n\t\t\t}\n\t\t}\n\n\t\tif (this.isDragging) {\n\t\t\tthis.handleDrag(dx, dy, ev);\n\t\t}\n\t},\n\n\n\t// Called while the mouse is being moved and when we know a legitimate drag is taking place\n\thandleDrag: function(dx, dy, ev) {\n\t\tthis.trigger('drag', dx, dy, ev);\n\t\tthis.updateAutoScroll(ev); // will possibly cause scrolling\n\t},\n\n\n\tendDrag: function(ev) {\n\t\tif (this.isDragging) {\n\t\t\tthis.isDragging = false;\n\t\t\tthis.handleDragEnd(ev);\n\t\t}\n\t},\n\n\n\thandleDragEnd: function(ev) {\n\t\tthis.trigger('dragEnd', ev);\n\t},\n\n\n\t// Delay\n\t// -----------------------------------------------------------------------------------------------------------------\n\n\n\tstartDelay: function(initialEv) {\n\t\tvar _this = this;\n\n\t\tif (this.delay) {\n\t\t\tthis.delayTimeoutId = setTimeout(function() {\n\t\t\t\t_this.handleDelayEnd(initialEv);\n\t\t\t}, this.delay);\n\t\t}\n\t\telse {\n\t\t\tthis.handleDelayEnd(initialEv);\n\t\t}\n\t},\n\n\n\thandleDelayEnd: function(initialEv) {\n\t\tthis.isDelayEnded = true;\n\n\t\tif (this.isDistanceSurpassed) {\n\t\t\tthis.startDrag(initialEv);\n\t\t}\n\t},\n\n\n\t// Distance\n\t// -----------------------------------------------------------------------------------------------------------------\n\n\n\thandleDistanceSurpassed: function(ev) {\n\t\tthis.isDistanceSurpassed = true;\n\n\t\tif (this.isDelayEnded) {\n\t\t\tthis.startDrag(ev);\n\t\t}\n\t},\n\n\n\t// Mouse / Touch\n\t// -----------------------------------------------------------------------------------------------------------------\n\n\n\thandleTouchMove: function(ev) {\n\n\t\t// prevent inertia and touchmove-scrolling while dragging\n\t\tif (this.isDragging && this.shouldCancelTouchScroll) {\n\t\t\tev.preventDefault();\n\t\t}\n\n\t\tthis.handleMove(ev);\n\t},\n\n\n\thandleMouseMove: function(ev) {\n\t\tthis.handleMove(ev);\n\t},\n\n\n\t// Scrolling (unrelated to auto-scroll)\n\t// -----------------------------------------------------------------------------------------------------------------\n\n\n\thandleTouchScroll: function(ev) {\n\t\t// if the drag is being initiated by touch, but a scroll happens before\n\t\t// the drag-initiating delay is over, cancel the drag\n\t\tif (!this.isDragging || this.scrollAlwaysKills) {\n\t\t\tthis.endInteraction(ev, true); // isCancelled=true\n\t\t}\n\t},\n\n\n\t// Utils\n\t// -----------------------------------------------------------------------------------------------------------------\n\n\n\t// Triggers a callback. Calls a function in the option hash of the same name.\n\t// Arguments beyond the first `name` are forwarded on.\n\ttrigger: function(name) {\n\t\tif (this.options[name]) {\n\t\t\tthis.options[name].apply(this, Array.prototype.slice.call(arguments, 1));\n\t\t}\n\t\t// makes _methods callable by event name. TODO: kill this\n\t\tif (this['_' + name]) {\n\t\t\tthis['_' + name].apply(this, Array.prototype.slice.call(arguments, 1));\n\t\t}\n\t}\n\n\n});\n\n;;\n/*\nthis.scrollEl is set in DragListener\n*/\nDragListener.mixin({\n\n\tisAutoScroll: false,\n\n\tscrollBounds: null, // { top, bottom, left, right }\n\tscrollTopVel: null, // pixels per second\n\tscrollLeftVel: null, // pixels per second\n\tscrollIntervalId: null, // ID of setTimeout for scrolling animation loop\n\n\t// defaults\n\tscrollSensitivity: 30, // pixels from edge for scrolling to start\n\tscrollSpeed: 200, // pixels per second, at maximum speed\n\tscrollIntervalMs: 50, // millisecond wait between scroll increment\n\n\n\tinitAutoScroll: function() {\n\t\tvar scrollEl = this.scrollEl;\n\n\t\tthis.isAutoScroll =\n\t\t\tthis.options.scroll &&\n\t\t\tscrollEl &&\n\t\t\t!scrollEl.is(window) &&\n\t\t\t!scrollEl.is(document);\n\n\t\tif (this.isAutoScroll) {\n\t\t\t// debounce makes sure rapid calls don't happen\n\t\t\tthis.listenTo(scrollEl, 'scroll', debounce(this.handleDebouncedScroll, 100));\n\t\t}\n\t},\n\n\n\tdestroyAutoScroll: function() {\n\t\tthis.endAutoScroll(); // kill any animation loop\n\n\t\t// remove the scroll handler if there is a scrollEl\n\t\tif (this.isAutoScroll) {\n\t\t\tthis.stopListeningTo(this.scrollEl, 'scroll'); // will probably get removed by unbindHandlers too :(\n\t\t}\n\t},\n\n\n\t// Computes and stores the bounding rectangle of scrollEl\n\tcomputeScrollBounds: function() {\n\t\tif (this.isAutoScroll) {\n\t\t\tthis.scrollBounds = getOuterRect(this.scrollEl);\n\t\t\t// TODO: use getClientRect in future. but prevents auto scrolling when on top of scrollbars\n\t\t}\n\t},\n\n\n\t// Called when the dragging is in progress and scrolling should be updated\n\tupdateAutoScroll: function(ev) {\n\t\tvar sensitivity = this.scrollSensitivity;\n\t\tvar bounds = this.scrollBounds;\n\t\tvar topCloseness, bottomCloseness;\n\t\tvar leftCloseness, rightCloseness;\n\t\tvar topVel = 0;\n\t\tvar leftVel = 0;\n\n\t\tif (bounds) { // only scroll if scrollEl exists\n\n\t\t\t// compute closeness to edges. valid range is from 0.0 - 1.0\n\t\t\ttopCloseness = (sensitivity - (getEvY(ev) - bounds.top)) / sensitivity;\n\t\t\tbottomCloseness = (sensitivity - (bounds.bottom - getEvY(ev))) / sensitivity;\n\t\t\tleftCloseness = (sensitivity - (getEvX(ev) - bounds.left)) / sensitivity;\n\t\t\trightCloseness = (sensitivity - (bounds.right - getEvX(ev))) / sensitivity;\n\n\t\t\t// translate vertical closeness into velocity.\n\t\t\t// mouse must be completely in bounds for velocity to happen.\n\t\t\tif (topCloseness >= 0 && topCloseness <= 1) {\n\t\t\t\ttopVel = topCloseness * this.scrollSpeed * -1; // negative. for scrolling up\n\t\t\t}\n\t\t\telse if (bottomCloseness >= 0 && bottomCloseness <= 1) {\n\t\t\t\ttopVel = bottomCloseness * this.scrollSpeed;\n\t\t\t}\n\n\t\t\t// translate horizontal closeness into velocity\n\t\t\tif (leftCloseness >= 0 && leftCloseness <= 1) {\n\t\t\t\tleftVel = leftCloseness * this.scrollSpeed * -1; // negative. for scrolling left\n\t\t\t}\n\t\t\telse if (rightCloseness >= 0 && rightCloseness <= 1) {\n\t\t\t\tleftVel = rightCloseness * this.scrollSpeed;\n\t\t\t}\n\t\t}\n\n\t\tthis.setScrollVel(topVel, leftVel);\n\t},\n\n\n\t// Sets the speed-of-scrolling for the scrollEl\n\tsetScrollVel: function(topVel, leftVel) {\n\n\t\tthis.scrollTopVel = topVel;\n\t\tthis.scrollLeftVel = leftVel;\n\n\t\tthis.constrainScrollVel(); // massages into realistic values\n\n\t\t// if there is non-zero velocity, and an animation loop hasn't already started, then START\n\t\tif ((this.scrollTopVel || this.scrollLeftVel) && !this.scrollIntervalId) {\n\t\t\tthis.scrollIntervalId = setInterval(\n\t\t\t\tproxy(this, 'scrollIntervalFunc'), // scope to `this`\n\t\t\t\tthis.scrollIntervalMs\n\t\t\t);\n\t\t}\n\t},\n\n\n\t// Forces scrollTopVel and scrollLeftVel to be zero if scrolling has already gone all the way\n\tconstrainScrollVel: function() {\n\t\tvar el = this.scrollEl;\n\n\t\tif (this.scrollTopVel < 0) { // scrolling up?\n\t\t\tif (el.scrollTop() <= 0) { // already scrolled all the way up?\n\t\t\t\tthis.scrollTopVel = 0;\n\t\t\t}\n\t\t}\n\t\telse if (this.scrollTopVel > 0) { // scrolling down?\n\t\t\tif (el.scrollTop() + el[0].clientHeight >= el[0].scrollHeight) { // already scrolled all the way down?\n\t\t\t\tthis.scrollTopVel = 0;\n\t\t\t}\n\t\t}\n\n\t\tif (this.scrollLeftVel < 0) { // scrolling left?\n\t\t\tif (el.scrollLeft() <= 0) { // already scrolled all the left?\n\t\t\t\tthis.scrollLeftVel = 0;\n\t\t\t}\n\t\t}\n\t\telse if (this.scrollLeftVel > 0) { // scrolling right?\n\t\t\tif (el.scrollLeft() + el[0].clientWidth >= el[0].scrollWidth) { // already scrolled all the way right?\n\t\t\t\tthis.scrollLeftVel = 0;\n\t\t\t}\n\t\t}\n\t},\n\n\n\t// This function gets called during every iteration of the scrolling animation loop\n\tscrollIntervalFunc: function() {\n\t\tvar el = this.scrollEl;\n\t\tvar frac = this.scrollIntervalMs / 1000; // considering animation frequency, what the vel should be mult'd by\n\n\t\t// change the value of scrollEl's scroll\n\t\tif (this.scrollTopVel) {\n\t\t\tel.scrollTop(el.scrollTop() + this.scrollTopVel * frac);\n\t\t}\n\t\tif (this.scrollLeftVel) {\n\t\t\tel.scrollLeft(el.scrollLeft() + this.scrollLeftVel * frac);\n\t\t}\n\n\t\tthis.constrainScrollVel(); // since the scroll values changed, recompute the velocities\n\n\t\t// if scrolled all the way, which causes the vels to be zero, stop the animation loop\n\t\tif (!this.scrollTopVel && !this.scrollLeftVel) {\n\t\t\tthis.endAutoScroll();\n\t\t}\n\t},\n\n\n\t// Kills any existing scrolling animation loop\n\tendAutoScroll: function() {\n\t\tif (this.scrollIntervalId) {\n\t\t\tclearInterval(this.scrollIntervalId);\n\t\t\tthis.scrollIntervalId = null;\n\n\t\t\tthis.handleScrollEnd();\n\t\t}\n\t},\n\n\n\t// Get called when the scrollEl is scrolled (NOTE: this is delayed via debounce)\n\thandleDebouncedScroll: function() {\n\t\t// recompute all coordinates, but *only* if this is *not* part of our scrolling animation\n\t\tif (!this.scrollIntervalId) {\n\t\t\tthis.handleScrollEnd();\n\t\t}\n\t},\n\n\n\t// Called when scrolling has stopped, whether through auto scroll, or the user scrolling\n\thandleScrollEnd: function() {\n\t}\n\n});\n;;\n\n/* Tracks mouse movements over a component and raises events about which hit the mouse is over.\n------------------------------------------------------------------------------------------------------------------------\noptions:\n- subjectEl\n- subjectCenter\n*/\n\nvar HitDragListener = DragListener.extend({\n\n\tcomponent: null, // converts coordinates to hits\n\t\t// methods: hitsNeeded, hitsNotNeeded, queryHit\n\n\torigHit: null, // the hit the mouse was over when listening started\n\thit: null, // the hit the mouse is over\n\tcoordAdjust: null, // delta that will be added to the mouse coordinates when computing collisions\n\n\n\tconstructor: function(component, options) {\n\t\tDragListener.call(this, options); // call the super-constructor\n\n\t\tthis.component = component;\n\t},\n\n\n\t// Called when drag listening starts (but a real drag has not necessarily began).\n\t// ev might be undefined if dragging was started manually.\n\thandleInteractionStart: function(ev) {\n\t\tvar subjectEl = this.subjectEl;\n\t\tvar subjectRect;\n\t\tvar origPoint;\n\t\tvar point;\n\n\t\tthis.component.hitsNeeded();\n\t\tthis.computeScrollBounds(); // for autoscroll\n\n\t\tif (ev) {\n\t\t\torigPoint = { left: getEvX(ev), top: getEvY(ev) };\n\t\t\tpoint = origPoint;\n\n\t\t\t// constrain the point to bounds of the element being dragged\n\t\t\tif (subjectEl) {\n\t\t\t\tsubjectRect = getOuterRect(subjectEl); // used for centering as well\n\t\t\t\tpoint = constrainPoint(point, subjectRect);\n\t\t\t}\n\n\t\t\tthis.origHit = this.queryHit(point.left, point.top);\n\n\t\t\t// treat the center of the subject as the collision point?\n\t\t\tif (subjectEl && this.options.subjectCenter) {\n\n\t\t\t\t// only consider the area the subject overlaps the hit. best for large subjects.\n\t\t\t\t// TODO: skip this if hit didn't supply left/right/top/bottom\n\t\t\t\tif (this.origHit) {\n\t\t\t\t\tsubjectRect = intersectRects(this.origHit, subjectRect) ||\n\t\t\t\t\t\tsubjectRect; // in case there is no intersection\n\t\t\t\t}\n\n\t\t\t\tpoint = getRectCenter(subjectRect);\n\t\t\t}\n\n\t\t\tthis.coordAdjust = diffPoints(point, origPoint); // point - origPoint\n\t\t}\n\t\telse {\n\t\t\tthis.origHit = null;\n\t\t\tthis.coordAdjust = null;\n\t\t}\n\n\t\t// call the super-method. do it after origHit has been computed\n\t\tDragListener.prototype.handleInteractionStart.apply(this, arguments);\n\t},\n\n\n\t// Called when the actual drag has started\n\thandleDragStart: function(ev) {\n\t\tvar hit;\n\n\t\tDragListener.prototype.handleDragStart.apply(this, arguments); // call the super-method\n\n\t\t// might be different from this.origHit if the min-distance is large\n\t\thit = this.queryHit(getEvX(ev), getEvY(ev));\n\n\t\t// report the initial hit the mouse is over\n\t\t// especially important if no min-distance and drag starts immediately\n\t\tif (hit) {\n\t\t\tthis.handleHitOver(hit);\n\t\t}\n\t},\n\n\n\t// Called when the drag moves\n\thandleDrag: function(dx, dy, ev) {\n\t\tvar hit;\n\n\t\tDragListener.prototype.handleDrag.apply(this, arguments); // call the super-method\n\n\t\thit = this.queryHit(getEvX(ev), getEvY(ev));\n\n\t\tif (!isHitsEqual(hit, this.hit)) { // a different hit than before?\n\t\t\tif (this.hit) {\n\t\t\t\tthis.handleHitOut();\n\t\t\t}\n\t\t\tif (hit) {\n\t\t\t\tthis.handleHitOver(hit);\n\t\t\t}\n\t\t}\n\t},\n\n\n\t// Called when dragging has been stopped\n\thandleDragEnd: function() {\n\t\tthis.handleHitDone();\n\t\tDragListener.prototype.handleDragEnd.apply(this, arguments); // call the super-method\n\t},\n\n\n\t// Called when a the mouse has just moved over a new hit\n\thandleHitOver: function(hit) {\n\t\tvar isOrig = isHitsEqual(hit, this.origHit);\n\n\t\tthis.hit = hit;\n\n\t\tthis.trigger('hitOver', this.hit, isOrig, this.origHit);\n\t},\n\n\n\t// Called when the mouse has just moved out of a hit\n\thandleHitOut: function() {\n\t\tif (this.hit) {\n\t\t\tthis.trigger('hitOut', this.hit);\n\t\t\tthis.handleHitDone();\n\t\t\tthis.hit = null;\n\t\t}\n\t},\n\n\n\t// Called after a hitOut. Also called before a dragStop\n\thandleHitDone: function() {\n\t\tif (this.hit) {\n\t\t\tthis.trigger('hitDone', this.hit);\n\t\t}\n\t},\n\n\n\t// Called when the interaction ends, whether there was a real drag or not\n\thandleInteractionEnd: function() {\n\t\tDragListener.prototype.handleInteractionEnd.apply(this, arguments); // call the super-method\n\n\t\tthis.origHit = null;\n\t\tthis.hit = null;\n\n\t\tthis.component.hitsNotNeeded();\n\t},\n\n\n\t// Called when scrolling has stopped, whether through auto scroll, or the user scrolling\n\thandleScrollEnd: function() {\n\t\tDragListener.prototype.handleScrollEnd.apply(this, arguments); // call the super-method\n\n\t\t// hits' absolute positions will be in new places after a user's scroll.\n\t\t// HACK for recomputing.\n\t\tif (this.isDragging) {\n\t\t\tthis.component.releaseHits();\n\t\t\tthis.component.prepareHits();\n\t\t}\n\t},\n\n\n\t// Gets the hit underneath the coordinates for the given mouse event\n\tqueryHit: function(left, top) {\n\n\t\tif (this.coordAdjust) {\n\t\t\tleft += this.coordAdjust.left;\n\t\t\ttop += this.coordAdjust.top;\n\t\t}\n\n\t\treturn this.component.queryHit(left, top);\n\t}\n\n});\n\n\n// Returns `true` if the hits are identically equal. `false` otherwise. Must be from the same component.\n// Two null values will be considered equal, as two \"out of the component\" states are the same.\nfunction isHitsEqual(hit0, hit1) {\n\n\tif (!hit0 && !hit1) {\n\t\treturn true;\n\t}\n\n\tif (hit0 && hit1) {\n\t\treturn hit0.component === hit1.component &&\n\t\t\tisHitPropsWithin(hit0, hit1) &&\n\t\t\tisHitPropsWithin(hit1, hit0); // ensures all props are identical\n\t}\n\n\treturn false;\n}\n\n\n// Returns true if all of subHit's non-standard properties are within superHit\nfunction isHitPropsWithin(subHit, superHit) {\n\tfor (var propName in subHit) {\n\t\tif (!/^(component|left|right|top|bottom)$/.test(propName)) {\n\t\t\tif (subHit[propName] !== superHit[propName]) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\treturn true;\n}\n\n;;\n\n/*\nListens to document and window-level user-interaction events, like touch events and mouse events,\nand fires these events as-is to whoever is observing a GlobalEmitter.\nBest when used as a singleton via GlobalEmitter.get()\n\nNormalizes mouse/touch events. For examples:\n- ignores the the simulated mouse events that happen after a quick tap: mousemove+mousedown+mouseup+click\n- compensates for various buggy scenarios where a touchend does not fire\n*/\n\nFC.touchMouseIgnoreWait = 500;\n\nvar GlobalEmitter = Class.extend(ListenerMixin, EmitterMixin, {\n\n\tisTouching: false,\n\tmouseIgnoreDepth: 0,\n\thandleScrollProxy: null,\n\n\n\tbind: function() {\n\t\tvar _this = this;\n\n\t\tthis.listenTo($(document), {\n\t\t\ttouchstart: this.handleTouchStart,\n\t\t\ttouchcancel: this.handleTouchCancel,\n\t\t\ttouchend: this.handleTouchEnd,\n\t\t\tmousedown: this.handleMouseDown,\n\t\t\tmousemove: this.handleMouseMove,\n\t\t\tmouseup: this.handleMouseUp,\n\t\t\tclick: this.handleClick,\n\t\t\tselectstart: this.handleSelectStart,\n\t\t\tcontextmenu: this.handleContextMenu\n\t\t});\n\n\t\t// because we need to call preventDefault\n\t\t// because https://www.chromestatus.com/features/5093566007214080\n\t\t// TODO: investigate performance because this is a global handler\n\t\twindow.addEventListener(\n\t\t\t'touchmove',\n\t\t\tthis.handleTouchMoveProxy = function(ev) {\n\t\t\t\t_this.handleTouchMove($.Event(ev));\n\t\t\t},\n\t\t\t{ passive: false } // allows preventDefault()\n\t\t);\n\n\t\t// attach a handler to get called when ANY scroll action happens on the page.\n\t\t// this was impossible to do with normal on/off because 'scroll' doesn't bubble.\n\t\t// http://stackoverflow.com/a/32954565/96342\n\t\twindow.addEventListener(\n\t\t\t'scroll',\n\t\t\tthis.handleScrollProxy = function(ev) {\n\t\t\t\t_this.handleScroll($.Event(ev));\n\t\t\t},\n\t\t\ttrue // useCapture\n\t\t);\n\t},\n\n\tunbind: function() {\n\t\tthis.stopListeningTo($(document));\n\n\t\twindow.removeEventListener(\n\t\t\t'touchmove',\n\t\t\tthis.handleTouchMoveProxy\n\t\t);\n\n\t\twindow.removeEventListener(\n\t\t\t'scroll',\n\t\t\tthis.handleScrollProxy,\n\t\t\ttrue // useCapture\n\t\t);\n\t},\n\n\n\t// Touch Handlers\n\t// -----------------------------------------------------------------------------------------------------------------\n\n\thandleTouchStart: function(ev) {\n\n\t\t// if a previous touch interaction never ended with a touchend, then implicitly end it,\n\t\t// but since a new touch interaction is about to begin, don't start the mouse ignore period.\n\t\tthis.stopTouch(ev, true); // skipMouseIgnore=true\n\n\t\tthis.isTouching = true;\n\t\tthis.trigger('touchstart', ev);\n\t},\n\n\thandleTouchMove: function(ev) {\n\t\tif (this.isTouching) {\n\t\t\tthis.trigger('touchmove', ev);\n\t\t}\n\t},\n\n\thandleTouchCancel: function(ev) {\n\t\tif (this.isTouching) {\n\t\t\tthis.trigger('touchcancel', ev);\n\n\t\t\t// Have touchcancel fire an artificial touchend. That way, handlers won't need to listen to both.\n\t\t\t// If touchend fires later, it won't have any effect b/c isTouching will be false.\n\t\t\tthis.stopTouch(ev);\n\t\t}\n\t},\n\n\thandleTouchEnd: function(ev) {\n\t\tthis.stopTouch(ev);\n\t},\n\n\n\t// Mouse Handlers\n\t// -----------------------------------------------------------------------------------------------------------------\n\n\thandleMouseDown: function(ev) {\n\t\tif (!this.shouldIgnoreMouse()) {\n\t\t\tthis.trigger('mousedown', ev);\n\t\t}\n\t},\n\n\thandleMouseMove: function(ev) {\n\t\tif (!this.shouldIgnoreMouse()) {\n\t\t\tthis.trigger('mousemove', ev);\n\t\t}\n\t},\n\n\thandleMouseUp: function(ev) {\n\t\tif (!this.shouldIgnoreMouse()) {\n\t\t\tthis.trigger('mouseup', ev);\n\t\t}\n\t},\n\n\thandleClick: function(ev) {\n\t\tif (!this.shouldIgnoreMouse()) {\n\t\t\tthis.trigger('click', ev);\n\t\t}\n\t},\n\n\n\t// Misc Handlers\n\t// -----------------------------------------------------------------------------------------------------------------\n\n\thandleSelectStart: function(ev) {\n\t\tthis.trigger('selectstart', ev);\n\t},\n\n\thandleContextMenu: function(ev) {\n\t\tthis.trigger('contextmenu', ev);\n\t},\n\n\thandleScroll: function(ev) {\n\t\tthis.trigger('scroll', ev);\n\t},\n\n\n\t// Utils\n\t// -----------------------------------------------------------------------------------------------------------------\n\n\tstopTouch: function(ev, skipMouseIgnore) {\n\t\tif (this.isTouching) {\n\t\t\tthis.isTouching = false;\n\t\t\tthis.trigger('touchend', ev);\n\n\t\t\tif (!skipMouseIgnore) {\n\t\t\t\tthis.startTouchMouseIgnore();\n\t\t\t}\n\t\t}\n\t},\n\n\tstartTouchMouseIgnore: function() {\n\t\tvar _this = this;\n\t\tvar wait = FC.touchMouseIgnoreWait;\n\n\t\tif (wait) {\n\t\t\tthis.mouseIgnoreDepth++;\n\t\t\tsetTimeout(function() {\n\t\t\t\t_this.mouseIgnoreDepth--;\n\t\t\t}, wait);\n\t\t}\n\t},\n\n\tshouldIgnoreMouse: function() {\n\t\treturn this.isTouching || Boolean(this.mouseIgnoreDepth);\n\t}\n\n});\n\n\n// Singleton\n// ---------------------------------------------------------------------------------------------------------------------\n\n(function() {\n\tvar globalEmitter = null;\n\tvar neededCount = 0;\n\n\n\t// gets the singleton\n\tGlobalEmitter.get = function() {\n\n\t\tif (!globalEmitter) {\n\t\t\tglobalEmitter = new GlobalEmitter();\n\t\t\tglobalEmitter.bind();\n\t\t}\n\n\t\treturn globalEmitter;\n\t};\n\n\n\t// called when an object knows it will need a GlobalEmitter in the near future.\n\tGlobalEmitter.needed = function() {\n\t\tGlobalEmitter.get(); // ensures globalEmitter\n\t\tneededCount++;\n\t};\n\n\n\t// called when the object that originally called needed() doesn't need a GlobalEmitter anymore.\n\tGlobalEmitter.unneeded = function() {\n\t\tneededCount--;\n\n\t\tif (!neededCount) { // nobody else needs it\n\t\t\tglobalEmitter.unbind();\n\t\t\tglobalEmitter = null;\n\t\t}\n\t};\n\n})();\n\n;;\n\n/* Creates a clone of an element and lets it track the mouse as it moves\n----------------------------------------------------------------------------------------------------------------------*/\n\nvar MouseFollower = Class.extend(ListenerMixin, {\n\n\toptions: null,\n\n\tsourceEl: null, // the element that will be cloned and made to look like it is dragging\n\tel: null, // the clone of `sourceEl` that will track the mouse\n\tparentEl: null, // the element that `el` (the clone) will be attached to\n\n\t// the initial position of el, relative to the offset parent. made to match the initial offset of sourceEl\n\ttop0: null,\n\tleft0: null,\n\n\t// the absolute coordinates of the initiating touch/mouse action\n\ty0: null,\n\tx0: null,\n\n\t// the number of pixels the mouse has moved from its initial position\n\ttopDelta: null,\n\tleftDelta: null,\n\n\tisFollowing: false,\n\tisHidden: false,\n\tisAnimating: false, // doing the revert animation?\n\n\tconstructor: function(sourceEl, options) {\n\t\tthis.options = options = options || {};\n\t\tthis.sourceEl = sourceEl;\n\t\tthis.parentEl = options.parentEl ? $(options.parentEl) : sourceEl.parent(); // default to sourceEl's parent\n\t},\n\n\n\t// Causes the element to start following the mouse\n\tstart: function(ev) {\n\t\tif (!this.isFollowing) {\n\t\t\tthis.isFollowing = true;\n\n\t\t\tthis.y0 = getEvY(ev);\n\t\t\tthis.x0 = getEvX(ev);\n\t\t\tthis.topDelta = 0;\n\t\t\tthis.leftDelta = 0;\n\n\t\t\tif (!this.isHidden) {\n\t\t\t\tthis.updatePosition();\n\t\t\t}\n\n\t\t\tif (getEvIsTouch(ev)) {\n\t\t\t\tthis.listenTo($(document), 'touchmove', this.handleMove);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.listenTo($(document), 'mousemove', this.handleMove);\n\t\t\t}\n\t\t}\n\t},\n\n\n\t// Causes the element to stop following the mouse. If shouldRevert is true, will animate back to original position.\n\t// `callback` gets invoked when the animation is complete. If no animation, it is invoked immediately.\n\tstop: function(shouldRevert, callback) {\n\t\tvar _this = this;\n\t\tvar revertDuration = this.options.revertDuration;\n\n\t\tfunction complete() { // might be called by .animate(), which might change `this` context\n\t\t\t_this.isAnimating = false;\n\t\t\t_this.removeElement();\n\n\t\t\t_this.top0 = _this.left0 = null; // reset state for future updatePosition calls\n\n\t\t\tif (callback) {\n\t\t\t\tcallback();\n\t\t\t}\n\t\t}\n\n\t\tif (this.isFollowing && !this.isAnimating) { // disallow more than one stop animation at a time\n\t\t\tthis.isFollowing = false;\n\n\t\t\tthis.stopListeningTo($(document));\n\n\t\t\tif (shouldRevert && revertDuration && !this.isHidden) { // do a revert animation?\n\t\t\t\tthis.isAnimating = true;\n\t\t\t\tthis.el.animate({\n\t\t\t\t\ttop: this.top0,\n\t\t\t\t\tleft: this.left0\n\t\t\t\t}, {\n\t\t\t\t\tduration: revertDuration,\n\t\t\t\t\tcomplete: complete\n\t\t\t\t});\n\t\t\t}\n\t\t\telse {\n\t\t\t\tcomplete();\n\t\t\t}\n\t\t}\n\t},\n\n\n\t// Gets the tracking element. Create it if necessary\n\tgetEl: function() {\n\t\tvar el = this.el;\n\n\t\tif (!el) {\n\t\t\tel = this.el = this.sourceEl.clone()\n\t\t\t\t.addClass(this.options.additionalClass || '')\n\t\t\t\t.css({\n\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\tvisibility: '', // in case original element was hidden (commonly through hideEvents())\n\t\t\t\t\tdisplay: this.isHidden ? 'none' : '', // for when initially hidden\n\t\t\t\t\tmargin: 0,\n\t\t\t\t\tright: 'auto', // erase and set width instead\n\t\t\t\t\tbottom: 'auto', // erase and set height instead\n\t\t\t\t\twidth: this.sourceEl.width(), // explicit height in case there was a 'right' value\n\t\t\t\t\theight: this.sourceEl.height(), // explicit width in case there was a 'bottom' value\n\t\t\t\t\topacity: this.options.opacity || '',\n\t\t\t\t\tzIndex: this.options.zIndex\n\t\t\t\t});\n\n\t\t\t// we don't want long taps or any mouse interaction causing selection/menus.\n\t\t\t// would use preventSelection(), but that prevents selectstart, causing problems.\n\t\t\tel.addClass('fc-unselectable');\n\n\t\t\tel.appendTo(this.parentEl);\n\t\t}\n\n\t\treturn el;\n\t},\n\n\n\t// Removes the tracking element if it has already been created\n\tremoveElement: function() {\n\t\tif (this.el) {\n\t\t\tthis.el.remove();\n\t\t\tthis.el = null;\n\t\t}\n\t},\n\n\n\t// Update the CSS position of the tracking element\n\tupdatePosition: function() {\n\t\tvar sourceOffset;\n\t\tvar origin;\n\n\t\tthis.getEl(); // ensure this.el\n\n\t\t// make sure origin info was computed\n\t\tif (this.top0 === null) {\n\t\t\tsourceOffset = this.sourceEl.offset();\n\t\t\torigin = this.el.offsetParent().offset();\n\t\t\tthis.top0 = sourceOffset.top - origin.top;\n\t\t\tthis.left0 = sourceOffset.left - origin.left;\n\t\t}\n\n\t\tthis.el.css({\n\t\t\ttop: this.top0 + this.topDelta,\n\t\t\tleft: this.left0 + this.leftDelta\n\t\t});\n\t},\n\n\n\t// Gets called when the user moves the mouse\n\thandleMove: function(ev) {\n\t\tthis.topDelta = getEvY(ev) - this.y0;\n\t\tthis.leftDelta = getEvX(ev) - this.x0;\n\n\t\tif (!this.isHidden) {\n\t\t\tthis.updatePosition();\n\t\t}\n\t},\n\n\n\t// Temporarily makes the tracking element invisible. Can be called before following starts\n\thide: function() {\n\t\tif (!this.isHidden) {\n\t\t\tthis.isHidden = true;\n\t\t\tif (this.el) {\n\t\t\t\tthis.el.hide();\n\t\t\t}\n\t\t}\n\t},\n\n\n\t// Show the tracking element after it has been temporarily hidden\n\tshow: function() {\n\t\tif (this.isHidden) {\n\t\t\tthis.isHidden = false;\n\t\t\tthis.updatePosition();\n\t\t\tthis.getEl().show();\n\t\t}\n\t}\n\n});\n\n;;\n\n/*\nEmbodies a div that has potential scrollbars\n*/\nvar Scroller = FC.Scroller = Class.extend({\n\n\tel: null, // the guaranteed outer element\n\tscrollEl: null, // the element with the scrollbars\n\toverflowX: null,\n\toverflowY: null,\n\n\n\tconstructor: function(options) {\n\t\toptions = options || {};\n\t\tthis.overflowX = options.overflowX || options.overflow || 'auto';\n\t\tthis.overflowY = options.overflowY || options.overflow || 'auto';\n\t},\n\n\n\trender: function() {\n\t\tthis.el = this.renderEl();\n\t\tthis.applyOverflow();\n\t},\n\n\n\trenderEl: function() {\n\t\treturn (this.scrollEl = $('<div class=\"fc-scroller\"></div>'));\n\t},\n\n\n\t// sets to natural height, unlocks overflow\n\tclear: function() {\n\t\tthis.setHeight('auto');\n\t\tthis.applyOverflow();\n\t},\n\n\n\tdestroy: function() {\n\t\tthis.el.remove();\n\t},\n\n\n\t// Overflow\n\t// -----------------------------------------------------------------------------------------------------------------\n\n\n\tapplyOverflow: function() {\n\t\tthis.scrollEl.css({\n\t\t\t'overflow-x': this.overflowX,\n\t\t\t'overflow-y': this.overflowY\n\t\t});\n\t},\n\n\n\t// Causes any 'auto' overflow values to resolves to 'scroll' or 'hidden'.\n\t// Useful for preserving scrollbar widths regardless of future resizes.\n\t// Can pass in scrollbarWidths for optimization.\n\tlockOverflow: function(scrollbarWidths) {\n\t\tvar overflowX = this.overflowX;\n\t\tvar overflowY = this.overflowY;\n\n\t\tscrollbarWidths = scrollbarWidths || this.getScrollbarWidths();\n\n\t\tif (overflowX === 'auto') {\n\t\t\toverflowX = (\n\t\t\t\t\tscrollbarWidths.top || scrollbarWidths.bottom || // horizontal scrollbars?\n\t\t\t\t\t// OR scrolling pane with massless scrollbars?\n\t\t\t\t\tthis.scrollEl[0].scrollWidth - 1 > this.scrollEl[0].clientWidth\n\t\t\t\t\t\t// subtract 1 because of IE off-by-one issue\n\t\t\t\t) ? 'scroll' : 'hidden';\n\t\t}\n\n\t\tif (overflowY === 'auto') {\n\t\t\toverflowY = (\n\t\t\t\t\tscrollbarWidths.left || scrollbarWidths.right || // vertical scrollbars?\n\t\t\t\t\t// OR scrolling pane with massless scrollbars?\n\t\t\t\t\tthis.scrollEl[0].scrollHeight - 1 > this.scrollEl[0].clientHeight\n\t\t\t\t\t\t// subtract 1 because of IE off-by-one issue\n\t\t\t\t) ? 'scroll' : 'hidden';\n\t\t}\n\n\t\tthis.scrollEl.css({ 'overflow-x': overflowX, 'overflow-y': overflowY });\n\t},\n\n\n\t// Getters / Setters\n\t// -----------------------------------------------------------------------------------------------------------------\n\n\n\tsetHeight: function(height) {\n\t\tthis.scrollEl.height(height);\n\t},\n\n\n\tgetScrollTop: function() {\n\t\treturn this.scrollEl.scrollTop();\n\t},\n\n\n\tsetScrollTop: function(top) {\n\t\tthis.scrollEl.scrollTop(top);\n\t},\n\n\n\tgetClientWidth: function() {\n\t\treturn this.scrollEl[0].clientWidth;\n\t},\n\n\n\tgetClientHeight: function() {\n\t\treturn this.scrollEl[0].clientHeight;\n\t},\n\n\n\tgetScrollbarWidths: function() {\n\t\treturn getScrollbarWidths(this.scrollEl);\n\t}\n\n});\n\n;;\nfunction Iterator(items) {\n    this.items = items || [];\n}\n\n\n/* Calls a method on every item passing the arguments through */\nIterator.prototype.proxyCall = function(methodName) {\n    var args = Array.prototype.slice.call(arguments, 1);\n    var results = [];\n\n    this.items.forEach(function(item) {\n        results.push(item[methodName].apply(item, args));\n    });\n\n    return results;\n};\n\n;;\n\nvar Interaction = Class.extend({\n\n\tview: null,\n\tcomponent: null,\n\n\n\tconstructor: function(component) {\n\t\tthis.view = component._getView();\n\t\tthis.component = component;\n\t},\n\n\n\topt: function(name) {\n\t\treturn this.view.opt(name);\n\t},\n\n\n\tend: function() {\n\t\t// subclasses can implement\n\t}\n\n});\n\n;;\n\nvar DateClicking = Interaction.extend({\n\n\tdragListener: null,\n\n\n\t/*\n\tcomponent must implement:\n\t\t- bindDateHandlerToEl\n\t\t- getSafeHitFootprint\n\t\t- getHitEl\n\t*/\n\tconstructor: function(component) {\n\t\tInteraction.call(this, component);\n\n\t\tthis.dragListener = this.buildDragListener();\n\t},\n\n\n\tend: function() {\n\t\tthis.dragListener.endInteraction();\n\t},\n\n\n\tbindToEl: function(el) {\n\t\tvar component = this.component;\n\t\tvar dragListener = this.dragListener;\n\n\t\tcomponent.bindDateHandlerToEl(el, 'mousedown', function(ev) {\n\t\t\tif (!component.shouldIgnoreMouse()) {\n\t\t\t\tdragListener.startInteraction(ev);\n\t\t\t}\n\t\t});\n\n\t\tcomponent.bindDateHandlerToEl(el, 'touchstart', function(ev) {\n\t\t\tif (!component.shouldIgnoreTouch()) {\n\t\t\t\tdragListener.startInteraction(ev);\n\t\t\t}\n\t\t});\n\t},\n\n\n\t// Creates a listener that tracks the user's drag across day elements, for day clicking.\n\tbuildDragListener: function() {\n\t\tvar _this = this;\n\t\tvar component = this.component;\n\t\tvar dayClickHit; // null if invalid dayClick\n\n\t\tvar dragListener = new HitDragListener(component, {\n\t\t\tscroll: this.opt('dragScroll'),\n\t\t\tinteractionStart: function() {\n\t\t\t\tdayClickHit = dragListener.origHit;\n\t\t\t},\n\t\t\thitOver: function(hit, isOrig, origHit) {\n\t\t\t\t// if user dragged to another cell at any point, it can no longer be a dayClick\n\t\t\t\tif (!isOrig) {\n\t\t\t\t\tdayClickHit = null;\n\t\t\t\t}\n\t\t\t},\n\t\t\thitOut: function() { // called before mouse moves to a different hit OR moved out of all hits\n\t\t\t\tdayClickHit = null;\n\t\t\t},\n\t\t\tinteractionEnd: function(ev, isCancelled) {\n\t\t\t\tvar componentFootprint;\n\n\t\t\t\tif (!isCancelled && dayClickHit) {\n\t\t\t\t\tcomponentFootprint = component.getSafeHitFootprint(dayClickHit);\n\n\t\t\t\t\tif (componentFootprint) {\n\t\t\t\t\t\t_this.view.triggerDayClick(componentFootprint, component.getHitEl(dayClickHit), ev);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t// because dragListener won't be called with any time delay, \"dragging\" will begin immediately,\n\t\t// which will kill any touchmoving/scrolling. Prevent this.\n\t\tdragListener.shouldCancelTouchScroll = false;\n\n\t\tdragListener.scrollAlwaysKills = true;\n\n\t\treturn dragListener;\n\t}\n\n});\n\n;;\n\nvar DateSelecting = FC.DateSelecting = Interaction.extend({\n\n\tdragListener: null,\n\n\n\t/*\n\tcomponent must implement:\n\t\t- bindDateHandlerToEl\n\t\t- getSafeHitFootprint\n\t\t- renderHighlight\n\t\t- unrenderHighlight\n\t*/\n\tconstructor: function(component) {\n\t\tInteraction.call(this, component);\n\n\t\tthis.dragListener = this.buildDragListener();\n\t},\n\n\n\tend: function() {\n\t\tthis.dragListener.endInteraction();\n\t},\n\n\n\tgetDelay: function() {\n\t\tvar delay = this.opt('selectLongPressDelay');\n\n\t\tif (delay == null) {\n\t\t\tdelay = this.opt('longPressDelay'); // fallback\n\t\t}\n\n\t\treturn delay;\n\t},\n\n\n\tbindToEl: function(el) {\n\t\tvar _this = this;\n\t\tvar component = this.component;\n\t\tvar dragListener = this.dragListener;\n\n\t\tcomponent.bindDateHandlerToEl(el, 'mousedown', function(ev) {\n\t\t\tif (_this.opt('selectable') && !component.shouldIgnoreMouse()) {\n\t\t\t\tdragListener.startInteraction(ev, {\n\t\t\t\t\tdistance: _this.opt('selectMinDistance')\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\tcomponent.bindDateHandlerToEl(el, 'touchstart', function(ev) {\n\t\t\tif (_this.opt('selectable') && !component.shouldIgnoreTouch()) {\n\t\t\t\tdragListener.startInteraction(ev, {\n\t\t\t\t\tdelay: _this.getDelay()\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\tpreventSelection(el);\n\t},\n\n\n\t// Creates a listener that tracks the user's drag across day elements, for day selecting.\n\tbuildDragListener: function() {\n\t\tvar _this = this;\n\t\tvar component = this.component;\n\t\tvar selectionFootprint; // null if invalid selection\n\n\t\tvar dragListener = new HitDragListener(component, {\n\t\t\tscroll: this.opt('dragScroll'),\n\t\t\tinteractionStart: function() {\n\t\t\t\tselectionFootprint = null;\n\t\t\t},\n\t\t\tdragStart: function(ev) {\n\t\t\t\t_this.view.unselect(ev); // since we could be rendering a new selection, we want to clear any old one\n\t\t\t},\n\t\t\thitOver: function(hit, isOrig, origHit) {\n\t\t\t\tvar origHitFootprint;\n\t\t\t\tvar hitFootprint;\n\n\t\t\t\tif (origHit) { // click needs to have started on a hit\n\n\t\t\t\t\torigHitFootprint = component.getSafeHitFootprint(origHit);\n\t\t\t\t\thitFootprint = component.getSafeHitFootprint(hit);\n\n\t\t\t\t\tif (origHitFootprint && hitFootprint) {\n\t\t\t\t\t\tselectionFootprint = _this.computeSelection(origHitFootprint, hitFootprint);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tselectionFootprint = null;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (selectionFootprint) {\n\t\t\t\t\t\tcomponent.renderSelectionFootprint(selectionFootprint);\n\t\t\t\t\t}\n\t\t\t\t\telse if (selectionFootprint === false) {\n\t\t\t\t\t\tdisableCursor();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\thitOut: function() { // called before mouse moves to a different hit OR moved out of all hits\n\t\t\t\tselectionFootprint = null;\n\t\t\t\tcomponent.unrenderSelection();\n\t\t\t},\n\t\t\thitDone: function() { // called after a hitOut OR before a dragEnd\n\t\t\t\tenableCursor();\n\t\t\t},\n\t\t\tinteractionEnd: function(ev, isCancelled) {\n\t\t\t\tif (!isCancelled && selectionFootprint) {\n\t\t\t\t\t// the selection will already have been rendered. just report it\n\t\t\t\t\t_this.view.reportSelection(selectionFootprint, ev);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\treturn dragListener;\n\t},\n\n\n\t// Given the first and last date-spans of a selection, returns another date-span object.\n\t// Subclasses can override and provide additional data in the span object. Will be passed to renderSelectionFootprint().\n\t// Will return false if the selection is invalid and this should be indicated to the user.\n\t// Will return null/undefined if a selection invalid but no error should be reported.\n\tcomputeSelection: function(footprint0, footprint1) {\n\t\tvar wholeFootprint = this.computeSelectionFootprint(footprint0, footprint1);\n\n\t\tif (wholeFootprint && !this.isSelectionFootprintAllowed(wholeFootprint)) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn wholeFootprint;\n\t},\n\n\n\t// Given two spans, must return the combination of the two.\n\t// TODO: do this separation of concerns (combining VS validation) for event dnd/resize too.\n\t// Assumes both footprints are non-open-ended.\n\tcomputeSelectionFootprint: function(footprint0, footprint1) {\n\t\tvar ms = [\n\t\t\tfootprint0.unzonedRange.startMs,\n\t\t\tfootprint0.unzonedRange.endMs,\n\t\t\tfootprint1.unzonedRange.startMs,\n\t\t\tfootprint1.unzonedRange.endMs\n\t\t];\n\n\t\tms.sort(compareNumbers);\n\n\t\treturn new ComponentFootprint(\n\t\t\tnew UnzonedRange(ms[0], ms[3]),\n\t\t\tfootprint0.isAllDay\n\t\t);\n\t},\n\n\n\tisSelectionFootprintAllowed: function(componentFootprint) {\n\t\treturn this.component.dateProfile.validUnzonedRange.containsRange(componentFootprint.unzonedRange) &&\n\t\t\tthis.view.calendar.isSelectionFootprintAllowed(componentFootprint);\n\t}\n\n});\n\n;;\n\nvar EventDragging = FC.EventDragging = Interaction.extend({\n\n\teventPointing: null,\n\tdragListener: null,\n\tisDragging: false,\n\n\n\t/*\n\tcomponent implements:\n\t\t- bindSegHandlerToEl\n\t\t- publiclyTrigger\n\t\t- diffDates\n\t\t- eventRangesToEventFootprints\n\t\t- isEventInstanceGroupAllowed\n\t*/\n\tconstructor: function(component, eventPointing) {\n\t\tInteraction.call(this, component);\n\n\t\tthis.eventPointing = eventPointing;\n\t},\n\n\n\tend: function() {\n\t\tif (this.dragListener) {\n\t\t\tthis.dragListener.endInteraction();\n\t\t}\n\t},\n\n\n\tgetSelectionDelay: function() {\n\t\tvar delay = this.opt('eventLongPressDelay');\n\n\t\tif (delay == null) {\n\t\t\tdelay = this.opt('longPressDelay'); // fallback\n\t\t}\n\n\t\treturn delay;\n\t},\n\n\n\tbindToEl: function(el) {\n\t\tvar component = this.component;\n\n\t\tcomponent.bindSegHandlerToEl(el, 'mousedown', this.handleMousedown.bind(this));\n\t\tcomponent.bindSegHandlerToEl(el, 'touchstart', this.handleTouchStart.bind(this));\n\t},\n\n\n\thandleMousedown: function(seg, ev) {\n\t\tif (this.component.canStartDrag(seg, ev)) {\n\t\t\tthis.buildDragListener(seg).startInteraction(ev, { distance: 5 });\n\t\t}\n\t},\n\n\n\thandleTouchStart: function(seg, ev) {\n\t\tvar component = this.component;\n\t\tvar settings = {\n\t\t\tdelay: this.view.isEventDefSelected(seg.footprint.eventDef) ? // already selected?\n\t\t\t\t0 : this.getSelectionDelay()\n\t\t};\n\n\t\tif (component.canStartDrag(seg, ev)) {\n\t\t\tthis.buildDragListener(seg).startInteraction(ev, settings);\n\t\t}\n\t\telse if (component.canStartSelection(seg, ev)) {\n\t\t\tthis.buildSelectListener(seg).startInteraction(ev, settings);\n\t\t}\n\t},\n\n\n\t// seg isn't draggable, but let's use a generic DragListener\n\t// simply for the delay, so it can be selected.\n\t// Has side effect of setting/unsetting `dragListener`\n\tbuildSelectListener: function(seg) {\n\t\tvar _this = this;\n\t\tvar view = this.view;\n\t\tvar eventDef = seg.footprint.eventDef;\n\t\tvar eventInstance = seg.footprint.eventInstance; // null for inverse-background events\n\n\t\tif (this.dragListener) {\n\t\t\treturn this.dragListener;\n\t\t}\n\n\t\tvar dragListener = this.dragListener = new DragListener({\n\t\t\tdragStart: function(ev) {\n\t\t\t\tif (\n\t\t\t\t\tdragListener.isTouch &&\n\t\t\t\t\t!view.isEventDefSelected(eventDef) &&\n\t\t\t\t\teventInstance\n\t\t\t\t) {\n\t\t\t\t\t// if not previously selected, will fire after a delay. then, select the event\n\t\t\t\t\tview.selectEventInstance(eventInstance);\n\t\t\t\t}\n\t\t\t},\n\t\t\tinteractionEnd: function(ev) {\n\t\t\t\t_this.dragListener = null;\n\t\t\t}\n\t\t});\n\n\t\treturn dragListener;\n\t},\n\n\n\t// Builds a listener that will track user-dragging on an event segment.\n\t// Generic enough to work with any type of Grid.\n\t// Has side effect of setting/unsetting `dragListener`\n\tbuildDragListener: function(seg) {\n\t\tvar _this = this;\n\t\tvar component = this.component;\n\t\tvar view = this.view;\n\t\tvar calendar = view.calendar;\n\t\tvar eventManager = calendar.eventManager;\n\t\tvar el = seg.el;\n\t\tvar eventDef = seg.footprint.eventDef;\n\t\tvar eventInstance = seg.footprint.eventInstance; // null for inverse-background events\n\t\tvar isDragging;\n\t\tvar mouseFollower; // A clone of the original element that will move with the mouse\n\t\tvar eventDefMutation;\n\n\t\tif (this.dragListener) {\n\t\t\treturn this.dragListener;\n\t\t}\n\n\t\t// Tracks mouse movement over the *view's* coordinate map. Allows dragging and dropping between subcomponents\n\t\t// of the view.\n\t\tvar dragListener = this.dragListener = new HitDragListener(view, {\n\t\t\tscroll: this.opt('dragScroll'),\n\t\t\tsubjectEl: el,\n\t\t\tsubjectCenter: true,\n\t\t\tinteractionStart: function(ev) {\n\t\t\t\tseg.component = component; // for renderDrag\n\t\t\t\tisDragging = false;\n\t\t\t\tmouseFollower = new MouseFollower(seg.el, {\n\t\t\t\t\tadditionalClass: 'fc-dragging',\n\t\t\t\t\tparentEl: view.el,\n\t\t\t\t\topacity: dragListener.isTouch ? null : _this.opt('dragOpacity'),\n\t\t\t\t\trevertDuration: _this.opt('dragRevertDuration'),\n\t\t\t\t\tzIndex: 2 // one above the .fc-view\n\t\t\t\t});\n\t\t\t\tmouseFollower.hide(); // don't show until we know this is a real drag\n\t\t\t\tmouseFollower.start(ev);\n\t\t\t},\n\t\t\tdragStart: function(ev) {\n\t\t\t\tif (\n\t\t\t\t\tdragListener.isTouch &&\n\t\t\t\t\t!view.isEventDefSelected(eventDef) &&\n\t\t\t\t\teventInstance\n\t\t\t\t) {\n\t\t\t\t\t// if not previously selected, will fire after a delay. then, select the event\n\t\t\t\t\tview.selectEventInstance(eventInstance);\n\t\t\t\t}\n\t\t\t\tisDragging = true;\n\n\t\t\t\t// ensure a mouseout on the manipulated event has been reported\n\t\t\t\t_this.eventPointing.handleMouseout(seg, ev);\n\n\t\t\t\t_this.segDragStart(seg, ev);\n\t\t\t\tview.hideEventsWithId(seg.footprint.eventDef.id);\n\t\t\t},\n\t\t\thitOver: function(hit, isOrig, origHit) {\n\t\t\t\tvar isAllowed = true;\n\t\t\t\tvar origFootprint;\n\t\t\t\tvar footprint;\n\t\t\t\tvar mutatedEventInstanceGroup;\n\n\t\t\t\t// starting hit could be forced (DayGrid.limit)\n\t\t\t\tif (seg.hit) {\n\t\t\t\t\torigHit = seg.hit;\n\t\t\t\t}\n\n\t\t\t\t// hit might not belong to this grid, so query origin grid\n\t\t\t\torigFootprint = origHit.component.getSafeHitFootprint(origHit);\n\t\t\t\tfootprint = hit.component.getSafeHitFootprint(hit);\n\n\t\t\t\tif (origFootprint && footprint) {\n\t\t\t\t\teventDefMutation = _this.computeEventDropMutation(origFootprint, footprint, eventDef);\n\n\t\t\t\t\tif (eventDefMutation) {\n\t\t\t\t\t\tmutatedEventInstanceGroup = eventManager.buildMutatedEventInstanceGroup(\n\t\t\t\t\t\t\teventDef.id,\n\t\t\t\t\t\t\teventDefMutation\n\t\t\t\t\t\t);\n\t\t\t\t\t\tisAllowed = component.isEventInstanceGroupAllowed(mutatedEventInstanceGroup);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tisAllowed = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tisAllowed = false;\n\t\t\t\t}\n\n\t\t\t\tif (!isAllowed) {\n\t\t\t\t\teventDefMutation = null;\n\t\t\t\t\tdisableCursor();\n\t\t\t\t}\n\n\t\t\t\t// if a valid drop location, have the subclass render a visual indication\n\t\t\t\tif (\n\t\t\t\t\teventDefMutation &&\n\t\t\t\t\tview.renderDrag( // truthy if rendered something\n\t\t\t\t\t\tcomponent.eventRangesToEventFootprints(\n\t\t\t\t\t\t\tmutatedEventInstanceGroup.sliceRenderRanges(component.dateProfile.renderUnzonedRange, calendar)\n\t\t\t\t\t\t),\n\t\t\t\t\t\tseg,\n\t\t\t\t\t\tdragListener.isTouch\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\tmouseFollower.hide(); // if the subclass is already using a mock event \"helper\", hide our own\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tmouseFollower.show(); // otherwise, have the helper follow the mouse (no snapping)\n\t\t\t\t}\n\n\t\t\t\tif (isOrig) {\n\t\t\t\t\t// needs to have moved hits to be a valid drop\n\t\t\t\t\teventDefMutation = null;\n\t\t\t\t}\n\t\t\t},\n\t\t\thitOut: function() { // called before mouse moves to a different hit OR moved out of all hits\n\t\t\t\tview.unrenderDrag(seg); // unrender whatever was done in renderDrag\n\t\t\t\tmouseFollower.show(); // show in case we are moving out of all hits\n\t\t\t\teventDefMutation = null;\n\t\t\t},\n\t\t\thitDone: function() { // Called after a hitOut OR before a dragEnd\n\t\t\t\tenableCursor();\n\t\t\t},\n\t\t\tinteractionEnd: function(ev) {\n\t\t\t\tdelete seg.component; // prevent side effects\n\n\t\t\t\t// do revert animation if hasn't changed. calls a callback when finished (whether animation or not)\n\t\t\t\tmouseFollower.stop(!eventDefMutation, function() {\n\t\t\t\t\tif (isDragging) {\n\t\t\t\t\t\tview.unrenderDrag(seg);\n\t\t\t\t\t\t_this.segDragStop(seg, ev);\n\t\t\t\t\t}\n\n\t\t\t\t\tview.showEventsWithId(seg.footprint.eventDef.id);\n\n\t\t\t\t\tif (eventDefMutation) {\n\t\t\t\t\t\t// no need to re-show original, will rerender all anyways. esp important if eventRenderWait\n\t\t\t\t\t\tview.reportEventDrop(eventInstance, eventDefMutation, el, ev);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\t_this.dragListener = null;\n\t\t\t}\n\t\t});\n\n\t\treturn dragListener;\n\t},\n\n\n\t// Called before event segment dragging starts\n\tsegDragStart: function(seg, ev) {\n\t\tthis.isDragging = true;\n\t\tthis.component.publiclyTrigger('eventDragStart', {\n\t\t\tcontext: seg.el[0],\n\t\t\targs: [\n\t\t\t\tseg.footprint.getEventLegacy(),\n\t\t\t\tev,\n\t\t\t\t{}, // jqui dummy\n\t\t\t\tthis.view\n\t\t\t]\n\t\t});\n\t},\n\n\n\t// Called after event segment dragging stops\n\tsegDragStop: function(seg, ev) {\n\t\tthis.isDragging = false;\n\t\tthis.component.publiclyTrigger('eventDragStop', {\n\t\t\tcontext: seg.el[0],\n\t\t\targs: [\n\t\t\t\tseg.footprint.getEventLegacy(),\n\t\t\t\tev,\n\t\t\t\t{}, // jqui dummy\n\t\t\t\tthis.view\n\t\t\t]\n\t\t});\n\t},\n\n\n\t// DOES NOT consider overlap/constraint\n\tcomputeEventDropMutation: function(startFootprint, endFootprint, eventDef) {\n\t\tvar eventDefMutation = new EventDefMutation();\n\n\t\teventDefMutation.setDateMutation(\n\t\t\tthis.computeEventDateMutation(startFootprint, endFootprint)\n\t\t);\n\n\t\treturn eventDefMutation;\n\t},\n\n\n\tcomputeEventDateMutation: function(startFootprint, endFootprint) {\n\t\tvar date0 = startFootprint.unzonedRange.getStart();\n\t\tvar date1 = endFootprint.unzonedRange.getStart();\n\t\tvar clearEnd = false;\n\t\tvar forceTimed = false;\n\t\tvar forceAllDay = false;\n\t\tvar dateDelta;\n\t\tvar dateMutation;\n\n\t\tif (startFootprint.isAllDay !== endFootprint.isAllDay) {\n\t\t\tclearEnd = true;\n\n\t\t\tif (endFootprint.isAllDay) {\n\t\t\t\tforceAllDay = true;\n\t\t\t\tdate0.stripTime();\n\t\t\t}\n\t\t\telse {\n\t\t\t\tforceTimed = true;\n\t\t\t}\n\t\t}\n\n\t\tdateDelta = this.component.diffDates(date1, date0);\n\n\t\tdateMutation = new EventDefDateMutation();\n\t\tdateMutation.clearEnd = clearEnd;\n\t\tdateMutation.forceTimed = forceTimed;\n\t\tdateMutation.forceAllDay = forceAllDay;\n\t\tdateMutation.setDateDelta(dateDelta);\n\n\t\treturn dateMutation;\n\t}\n\n});\n\n;;\n\nvar EventResizing = FC.EventResizing = Interaction.extend({\n\n\teventPointing: null,\n\tdragListener: null,\n\tisResizing: false,\n\n\n\t/*\n\tcomponent impements:\n\t\t- bindSegHandlerToEl\n\t\t- publiclyTrigger\n\t\t- diffDates\n\t\t- eventRangesToEventFootprints\n\t\t- isEventInstanceGroupAllowed\n\t\t- getSafeHitFootprint\n\t*/\n\n\n\tconstructor: function(component, eventPointing) {\n\t\tInteraction.call(this, component);\n\n\t\tthis.eventPointing = eventPointing;\n\t},\n\n\n\tend: function() {\n\t\tif (this.dragListener) {\n\t\t\tthis.dragListener.endInteraction();\n\t\t}\n\t},\n\n\n\tbindToEl: function(el) {\n\t\tvar component = this.component;\n\n\t\tcomponent.bindSegHandlerToEl(el, 'mousedown', this.handleMouseDown.bind(this));\n\t\tcomponent.bindSegHandlerToEl(el, 'touchstart', this.handleTouchStart.bind(this));\n\t},\n\n\n\thandleMouseDown: function(seg, ev) {\n\t\tif (this.component.canStartResize(seg, ev)) {\n\t\t\tthis.buildDragListener(seg, $(ev.target).is('.fc-start-resizer'))\n\t\t\t\t.startInteraction(ev, { distance: 5 });\n\t\t}\n\t},\n\n\n\thandleTouchStart: function(seg, ev) {\n\t\tif (this.component.canStartResize(seg, ev)) {\n\t\t\tthis.buildDragListener(seg, $(ev.target).is('.fc-start-resizer'))\n\t\t\t\t.startInteraction(ev);\n\t\t}\n\t},\n\n\n\t// Creates a listener that tracks the user as they resize an event segment.\n\t// Generic enough to work with any type of Grid.\n\tbuildDragListener: function(seg, isStart) {\n\t\tvar _this = this;\n\t\tvar component = this.component;\n\t\tvar view = this.view;\n\t\tvar calendar = view.calendar;\n\t\tvar eventManager = calendar.eventManager;\n\t\tvar el = seg.el;\n\t\tvar eventDef = seg.footprint.eventDef;\n\t\tvar eventInstance = seg.footprint.eventInstance;\n\t\tvar isDragging;\n\t\tvar resizeMutation; // zoned event date properties. falsy if invalid resize\n\n\t\t// Tracks mouse movement over the *grid's* coordinate map\n\t\tvar dragListener = this.dragListener = new HitDragListener(component, {\n\t\t\tscroll: this.opt('dragScroll'),\n\t\t\tsubjectEl: el,\n\t\t\tinteractionStart: function() {\n\t\t\t\tisDragging = false;\n\t\t\t},\n\t\t\tdragStart: function(ev) {\n\t\t\t\tisDragging = true;\n\n\t\t\t\t// ensure a mouseout on the manipulated event has been reported\n\t\t\t\t_this.eventPointing.handleMouseout(seg, ev);\n\n\t\t\t\t_this.segResizeStart(seg, ev);\n\t\t\t},\n\t\t\thitOver: function(hit, isOrig, origHit) {\n\t\t\t\tvar isAllowed = true;\n\t\t\t\tvar origHitFootprint = component.getSafeHitFootprint(origHit);\n\t\t\t\tvar hitFootprint = component.getSafeHitFootprint(hit);\n\t\t\t\tvar mutatedEventInstanceGroup;\n\n\t\t\t\tif (origHitFootprint && hitFootprint) {\n\t\t\t\t\tresizeMutation = isStart ?\n\t\t\t\t\t\t_this.computeEventStartResizeMutation(origHitFootprint, hitFootprint, seg.footprint) :\n\t\t\t\t\t\t_this.computeEventEndResizeMutation(origHitFootprint, hitFootprint, seg.footprint);\n\n\t\t\t\t\tif (resizeMutation) {\n\t\t\t\t\t\tmutatedEventInstanceGroup = eventManager.buildMutatedEventInstanceGroup(\n\t\t\t\t\t\t\teventDef.id,\n\t\t\t\t\t\t\tresizeMutation\n\t\t\t\t\t\t);\n\t\t\t\t\t\tisAllowed = component.isEventInstanceGroupAllowed(mutatedEventInstanceGroup);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tisAllowed = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tisAllowed = false;\n\t\t\t\t}\n\n\t\t\t\tif (!isAllowed) {\n\t\t\t\t\tresizeMutation = null;\n\t\t\t\t\tdisableCursor();\n\t\t\t\t}\n\t\t\t\telse if (resizeMutation.isEmpty()) {\n\t\t\t\t\t// no change. (FYI, event dates might have zones)\n\t\t\t\t\tresizeMutation = null;\n\t\t\t\t}\n\n\t\t\t\tif (resizeMutation) {\n\t\t\t\t\tview.hideEventsWithId(seg.footprint.eventDef.id);\n\t\t\t\t\tview.renderEventResize(\n\t\t\t\t\t\tcomponent.eventRangesToEventFootprints(\n\t\t\t\t\t\t\tmutatedEventInstanceGroup.sliceRenderRanges(component.dateProfile.renderUnzonedRange, calendar)\n\t\t\t\t\t\t),\n\t\t\t\t\t\tseg\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t},\n\t\t\thitOut: function() { // called before mouse moves to a different hit OR moved out of all hits\n\t\t\t\tresizeMutation = null;\n\t\t\t},\n\t\t\thitDone: function() { // resets the rendering to show the original event\n\t\t\t\tview.unrenderEventResize(seg);\n\t\t\t\tview.showEventsWithId(seg.footprint.eventDef.id);\n\t\t\t\tenableCursor();\n\t\t\t},\n\t\t\tinteractionEnd: function(ev) {\n\t\t\t\tif (isDragging) {\n\t\t\t\t\t_this.segResizeStop(seg, ev);\n\t\t\t\t}\n\n\t\t\t\tif (resizeMutation) { // valid date to resize to?\n\t\t\t\t\t// no need to re-show original, will rerender all anyways. esp important if eventRenderWait\n\t\t\t\t\tview.reportEventResize(eventInstance, resizeMutation, el, ev);\n\t\t\t\t}\n\n\t\t\t\t_this.dragListener = null;\n\t\t\t}\n\t\t});\n\n\t\treturn dragListener;\n\t},\n\n\n\t// Called before event segment resizing starts\n\tsegResizeStart: function(seg, ev) {\n\t\tthis.isResizing = true;\n\t\tthis.component.publiclyTrigger('eventResizeStart', {\n\t\t\tcontext: seg.el[0],\n\t\t\targs: [\n\t\t\t\tseg.footprint.getEventLegacy(),\n\t\t\t\tev,\n\t\t\t\t{}, // jqui dummy\n\t\t\t\tthis.view\n\t\t\t]\n\t\t});\n\t},\n\n\n\t// Called after event segment resizing stops\n\tsegResizeStop: function(seg, ev) {\n\t\tthis.isResizing = false;\n\t\tthis.component.publiclyTrigger('eventResizeStop', {\n\t\t\tcontext: seg.el[0],\n\t\t\targs: [\n\t\t\t\tseg.footprint.getEventLegacy(),\n\t\t\t\tev,\n\t\t\t\t{}, // jqui dummy\n\t\t\t\tthis.view\n\t\t\t]\n\t\t});\n\t},\n\n\n\t// Returns new date-information for an event segment being resized from its start\n\tcomputeEventStartResizeMutation: function(startFootprint, endFootprint, origEventFootprint) {\n\t\tvar origRange = origEventFootprint.componentFootprint.unzonedRange;\n\t\tvar startDelta = this.component.diffDates(\n\t\t\tendFootprint.unzonedRange.getStart(),\n\t\t\tstartFootprint.unzonedRange.getStart()\n\t\t);\n\t\tvar dateMutation;\n\t\tvar eventDefMutation;\n\n\t\tif (origRange.getStart().add(startDelta) < origRange.getEnd()) {\n\n\t\t\tdateMutation = new EventDefDateMutation();\n\t\t\tdateMutation.setStartDelta(startDelta);\n\n\t\t\teventDefMutation = new EventDefMutation();\n\t\t\teventDefMutation.setDateMutation(dateMutation);\n\n\t\t\treturn eventDefMutation;\n\t\t}\n\n\t\treturn false;\n\t},\n\n\n\t// Returns new date-information for an event segment being resized from its end\n\tcomputeEventEndResizeMutation: function(startFootprint, endFootprint, origEventFootprint) {\n\t\tvar origRange = origEventFootprint.componentFootprint.unzonedRange;\n\t\tvar endDelta = this.component.diffDates(\n\t\t\tendFootprint.unzonedRange.getEnd(),\n\t\t\tstartFootprint.unzonedRange.getEnd()\n\t\t);\n\t\tvar dateMutation;\n\t\tvar eventDefMutation;\n\n\t\tif (origRange.getEnd().add(endDelta) > origRange.getStart()) {\n\n\t\t\tdateMutation = new EventDefDateMutation();\n\t\t\tdateMutation.setEndDelta(endDelta);\n\n\t\t\teventDefMutation = new EventDefMutation();\n\t\t\teventDefMutation.setDateMutation(dateMutation);\n\n\t\t\treturn eventDefMutation;\n\t\t}\n\n\t\treturn false;\n\t}\n\n});\n\n;;\n\nvar ExternalDropping = FC.ExternalDropping = Interaction.extend(ListenerMixin, {\n\n\tdragListener: null,\n\tisDragging: false, // jqui-dragging an external element? boolean\n\n\n\t/*\n\tcomponent impements:\n\t\t- eventRangesToEventFootprints\n\t\t- isEventInstanceGroupAllowed\n\t\t- isExternalInstanceGroupAllowed\n\t\t- renderDrag\n\t\t- unrenderDrag\n\t*/\n\n\n\tend: function() {\n\t\tif (this.dragListener) {\n\t\t\tthis.dragListener.endInteraction();\n\t\t}\n\t},\n\n\n\tbindToDocument: function() {\n\t\tthis.listenTo($(document), {\n\t\t\tdragstart: this.handleDragStart, // jqui\n\t\t\tsortstart: this.handleDragStart // jqui\n\t\t});\n\t},\n\n\n\tunbindFromDocument: function() {\n\t\tthis.stopListeningTo($(document));\n\t},\n\n\n\t// Called when a jQuery UI drag is initiated anywhere in the DOM\n\thandleDragStart: function(ev, ui) {\n\t\tvar el;\n\t\tvar accept;\n\n\t\tif (this.opt('droppable')) { // only listen if this setting is on\n\t\t\tel = $((ui ? ui.item : null) || ev.target);\n\n\t\t\t// Test that the dragged element passes the dropAccept selector or filter function.\n\t\t\t// FYI, the default is \"*\" (matches all)\n\t\t\taccept = this.opt('dropAccept');\n\t\t\tif ($.isFunction(accept) ? accept.call(el[0], el) : el.is(accept)) {\n\t\t\t\tif (!this.isDragging) { // prevent double-listening if fired twice\n\t\t\t\t\tthis.listenToExternalDrag(el, ev, ui);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\n\t// Called when a jQuery UI drag starts and it needs to be monitored for dropping\n\tlistenToExternalDrag: function(el, ev, ui) {\n\t\tvar _this = this;\n\t\tvar component = this.component;\n\t\tvar view = this.view;\n\t\tvar meta = getDraggedElMeta(el); // extra data about event drop, including possible event to create\n\t\tvar singleEventDef; // a null value signals an unsuccessful drag\n\n\t\t// listener that tracks mouse movement over date-associated pixel regions\n\t\tvar dragListener = _this.dragListener = new HitDragListener(component, {\n\t\t\tinteractionStart: function() {\n\t\t\t\t_this.isDragging = true;\n\t\t\t},\n\t\t\thitOver: function(hit) {\n\t\t\t\tvar isAllowed = true;\n\t\t\t\tvar hitFootprint = hit.component.getSafeHitFootprint(hit); // hit might not belong to this grid\n\t\t\t\tvar mutatedEventInstanceGroup;\n\n\t\t\t\tif (hitFootprint) {\n\t\t\t\t\tsingleEventDef = _this.computeExternalDrop(hitFootprint, meta);\n\n\t\t\t\t\tif (singleEventDef) {\n\t\t\t\t\t\tmutatedEventInstanceGroup = new EventInstanceGroup(\n\t\t\t\t\t\t\tsingleEventDef.buildInstances()\n\t\t\t\t\t\t);\n\t\t\t\t\t\tisAllowed = meta.eventProps ? // isEvent?\n\t\t\t\t\t\t\tcomponent.isEventInstanceGroupAllowed(mutatedEventInstanceGroup) :\n\t\t\t\t\t\t\tcomponent.isExternalInstanceGroupAllowed(mutatedEventInstanceGroup);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tisAllowed = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tisAllowed = false;\n\t\t\t\t}\n\n\t\t\t\tif (!isAllowed) {\n\t\t\t\t\tsingleEventDef = null;\n\t\t\t\t\tdisableCursor();\n\t\t\t\t}\n\n\t\t\t\tif (singleEventDef) {\n\t\t\t\t\tcomponent.renderDrag( // called without a seg parameter\n\t\t\t\t\t\tcomponent.eventRangesToEventFootprints(\n\t\t\t\t\t\t\tmutatedEventInstanceGroup.sliceRenderRanges(component.dateProfile.renderUnzonedRange, view.calendar)\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t},\n\t\t\thitOut: function() {\n\t\t\t\tsingleEventDef = null; // signal unsuccessful\n\t\t\t},\n\t\t\thitDone: function() { // Called after a hitOut OR before a dragEnd\n\t\t\t\tenableCursor();\n\t\t\t\tcomponent.unrenderDrag();\n\t\t\t},\n\t\t\tinteractionEnd: function(ev) {\n\n\t\t\t\tif (singleEventDef) { // element was dropped on a valid hit\n\t\t\t\t\tview.reportExternalDrop(\n\t\t\t\t\t\tsingleEventDef,\n\t\t\t\t\t\tBoolean(meta.eventProps), // isEvent\n\t\t\t\t\t\tBoolean(meta.stick), // isSticky\n\t\t\t\t\t\tel, ev, ui\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t_this.isDragging = false;\n\t\t\t\t_this.dragListener = null;\n\t\t\t}\n\t\t});\n\n\t\tdragListener.startDrag(ev); // start listening immediately\n\t},\n\n\n\t// Given a hit to be dropped upon, and misc data associated with the jqui drag (guaranteed to be a plain object),\n\t// returns the zoned start/end dates for the event that would result from the hypothetical drop. end might be null.\n\t// Returning a null value signals an invalid drop hit.\n\t// DOES NOT consider overlap/constraint.\n\t// Assumes both footprints are non-open-ended.\n\tcomputeExternalDrop: function(componentFootprint, meta) {\n\t\tvar calendar = this.view.calendar;\n\t\tvar start = FC.moment.utc(componentFootprint.unzonedRange.startMs).stripZone();\n\t\tvar end;\n\t\tvar eventDef;\n\n\t\tif (componentFootprint.isAllDay) {\n\t\t\t// if dropped on an all-day span, and element's metadata specified a time, set it\n\t\t\tif (meta.startTime) {\n\t\t\t\tstart.time(meta.startTime);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tstart.stripTime();\n\t\t\t}\n\t\t}\n\n\t\tif (meta.duration) {\n\t\t\tend = start.clone().add(meta.duration);\n\t\t}\n\n\t\tstart = calendar.applyTimezone(start);\n\n\t\tif (end) {\n\t\t\tend = calendar.applyTimezone(end);\n\t\t}\n\n\t\teventDef = SingleEventDef.parse(\n\t\t\t$.extend({}, meta.eventProps, {\n\t\t\t\tstart: start,\n\t\t\t\tend: end\n\t\t\t}),\n\t\t\tnew EventSource(calendar)\n\t\t);\n\n\t\treturn eventDef;\n\t}\n\n});\n\n\n/* External-Dragging-Element Data\n----------------------------------------------------------------------------------------------------------------------*/\n\n// Require all HTML5 data-* attributes used by FullCalendar to have this prefix.\n// A value of '' will query attributes like data-event. A value of 'fc' will query attributes like data-fc-event.\nFC.dataAttrPrefix = '';\n\n// Given a jQuery element that might represent a dragged FullCalendar event, returns an intermediate data structure\n// to be used for Event Object creation.\n// A defined `.eventProps`, even when empty, indicates that an event should be created.\nfunction getDraggedElMeta(el) {\n\tvar prefix = FC.dataAttrPrefix;\n\tvar eventProps; // properties for creating the event, not related to date/time\n\tvar startTime; // a Duration\n\tvar duration;\n\tvar stick;\n\n\tif (prefix) { prefix += '-'; }\n\teventProps = el.data(prefix + 'event') || null;\n\n\tif (eventProps) {\n\t\tif (typeof eventProps === 'object') {\n\t\t\teventProps = $.extend({}, eventProps); // make a copy\n\t\t}\n\t\telse { // something like 1 or true. still signal event creation\n\t\t\teventProps = {};\n\t\t}\n\n\t\t// pluck special-cased date/time properties\n\t\tstartTime = eventProps.start;\n\t\tif (startTime == null) { startTime = eventProps.time; } // accept 'time' as well\n\t\tduration = eventProps.duration;\n\t\tstick = eventProps.stick;\n\t\tdelete eventProps.start;\n\t\tdelete eventProps.time;\n\t\tdelete eventProps.duration;\n\t\tdelete eventProps.stick;\n\t}\n\n\t// fallback to standalone attribute values for each of the date/time properties\n\tif (startTime == null) { startTime = el.data(prefix + 'start'); }\n\tif (startTime == null) { startTime = el.data(prefix + 'time'); } // accept 'time' as well\n\tif (duration == null) { duration = el.data(prefix + 'duration'); }\n\tif (stick == null) { stick = el.data(prefix + 'stick'); }\n\n\t// massage into correct data types\n\tstartTime = startTime != null ? moment.duration(startTime) : null;\n\tduration = duration != null ? moment.duration(duration) : null;\n\tstick = Boolean(stick);\n\n\treturn { eventProps: eventProps, startTime: startTime, duration: duration, stick: stick };\n}\n\n;;\n\nvar EventPointing = FC.EventPointing = Interaction.extend({\n\n\tmousedOverSeg: null, // the segment object the user's mouse is over. null if over nothing\n\n\n\t/*\n\tcomponent must implement:\n\t\t- publiclyTrigger\n\t*/\n\n\n\tbindToEl: function(el) {\n\t\tvar component = this.component;\n\n\t\tcomponent.bindSegHandlerToEl(el, 'click', this.handleClick.bind(this));\n\t\tcomponent.bindSegHandlerToEl(el, 'mouseenter', this.handleMouseover.bind(this));\n\t\tcomponent.bindSegHandlerToEl(el, 'mouseleave', this.handleMouseout.bind(this));\n\t},\n\n\n\thandleClick: function(seg, ev) {\n\t\tvar res = this.component.publiclyTrigger('eventClick', { // can return `false` to cancel\n\t\t\tcontext: seg.el[0],\n\t\t\targs: [ seg.footprint.getEventLegacy(), ev, this.view ]\n\t\t});\n\n\t\tif (res === false) {\n\t\t\tev.preventDefault();\n\t\t}\n\t},\n\n\n\t// Updates internal state and triggers handlers for when an event element is moused over\n\thandleMouseover: function(seg, ev) {\n\t\tif (\n\t\t\t!GlobalEmitter.get().shouldIgnoreMouse() &&\n\t\t\t!this.mousedOverSeg\n\t\t) {\n\t\t\tthis.mousedOverSeg = seg;\n\n\t\t\t// TODO: move to EventSelecting's responsibility\n\t\t\tif (this.view.isEventDefResizable(seg.footprint.eventDef)) {\n\t\t\t\tseg.el.addClass('fc-allow-mouse-resize');\n\t\t\t}\n\n\t\t\tthis.component.publiclyTrigger('eventMouseover', {\n\t\t\t\tcontext: seg.el[0],\n\t\t\t\targs: [ seg.footprint.getEventLegacy(), ev, this.view ]\n\t\t\t});\n\t\t}\n\t},\n\n\n\t// Updates internal state and triggers handlers for when an event element is moused out.\n\t// Can be given no arguments, in which case it will mouseout the segment that was previously moused over.\n\thandleMouseout: function(seg, ev) {\n\t\tif (this.mousedOverSeg) {\n\t\t\tthis.mousedOverSeg = null;\n\n\t\t\t// TODO: move to EventSelecting's responsibility\n\t\t\tif (this.view.isEventDefResizable(seg.footprint.eventDef)) {\n\t\t\t\tseg.el.removeClass('fc-allow-mouse-resize');\n\t\t\t}\n\n\t\t\tthis.component.publiclyTrigger('eventMouseout', {\n\t\t\t\tcontext: seg.el[0],\n\t\t\t\targs: [\n\t\t\t\t\tseg.footprint.getEventLegacy(),\n\t\t\t\t\tev || {}, // if given no arg, make a mock mouse event\n\t\t\t\t\tthis.view\n\t\t\t\t]\n\t\t\t});\n\t\t}\n\t},\n\n\n\tend: function() {\n\t\tif (this.mousedOverSeg) {\n\t\t\tthis.handleMouseout(this.mousedOverSeg);\n\t\t}\n\t}\n\n});\n\n;;\n\nvar StandardInteractionsMixin = FC.StandardInteractionsMixin = {\n\tdateClickingClass: DateClicking,\n\tdateSelectingClass: DateSelecting,\n\teventPointingClass: EventPointing,\n\teventDraggingClass: EventDragging,\n\teventResizingClass: EventResizing,\n\texternalDroppingClass: ExternalDropping\n};\n\n;;\n\nvar EventRenderer = FC.EventRenderer = Class.extend({\n\n\tview: null,\n\tcomponent: null,\n\tfillRenderer: null, // might remain null\n\n\tfgSegs: null,\n\tbgSegs: null,\n\n\t// derived from options\n\teventTimeFormat: null,\n\tdisplayEventTime: null,\n\tdisplayEventEnd: null,\n\n\n\tconstructor: function(component, fillRenderer) { // fillRenderer is optional\n\t\tthis.view = component._getView();\n\t\tthis.component = component;\n\t\tthis.fillRenderer = fillRenderer;\n\t},\n\n\n\topt: function(name) {\n\t\treturn this.view.opt(name);\n\t},\n\n\n\t// Updates values that rely on options and also relate to range\n\trangeUpdated: function() {\n\t\tvar displayEventTime;\n\t\tvar displayEventEnd;\n\n\t\tthis.eventTimeFormat =\n\t\t\tthis.opt('eventTimeFormat') ||\n\t\t\tthis.opt('timeFormat') || // deprecated\n\t\t\tthis.computeEventTimeFormat();\n\n\t\tdisplayEventTime = this.opt('displayEventTime');\n\t\tif (displayEventTime == null) {\n\t\t\tdisplayEventTime = this.computeDisplayEventTime(); // might be based off of range\n\t\t}\n\n\t\tdisplayEventEnd = this.opt('displayEventEnd');\n\t\tif (displayEventEnd == null) {\n\t\t\tdisplayEventEnd = this.computeDisplayEventEnd(); // might be based off of range\n\t\t}\n\n\t\tthis.displayEventTime = displayEventTime;\n\t\tthis.displayEventEnd = displayEventEnd;\n\t},\n\n\n\trender: function(eventsPayload) {\n\t\tvar dateProfile = this.component._getDateProfile();\n\t\tvar eventDefId;\n\t\tvar instanceGroup;\n\t\tvar eventRanges;\n\t\tvar bgRanges = [];\n\t\tvar fgRanges = [];\n\n\t\tfor (eventDefId in eventsPayload) {\n\t\t\tinstanceGroup = eventsPayload[eventDefId];\n\n\t\t\teventRanges = instanceGroup.sliceRenderRanges(\n\t\t\t\tdateProfile.activeUnzonedRange\n\t\t\t);\n\n\t\t\tif (instanceGroup.getEventDef().hasBgRendering()) {\n\t\t\t\tbgRanges.push.apply(bgRanges, eventRanges);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tfgRanges.push.apply(fgRanges, eventRanges);\n\t\t\t}\n\t\t}\n\n\t\tthis.renderBgRanges(bgRanges);\n\t\tthis.renderFgRanges(fgRanges);\n\t},\n\n\n\tunrender: function() {\n\t\tthis.unrenderBgRanges();\n\t\tthis.unrenderFgRanges();\n\t},\n\n\n\trenderFgRanges: function(eventRanges) {\n\t\tvar eventFootprints = this.component.eventRangesToEventFootprints(eventRanges);\n\t\tvar segs = this.component.eventFootprintsToSegs(eventFootprints);\n\n\t\t// render an `.el` on each seg\n\t\t// returns a subset of the segs. segs that were actually rendered\n\t\tsegs = this.renderFgSegEls(segs);\n\n\t\tif (this.renderFgSegs(segs) !== false) { // no failure?\n\t\t\tthis.fgSegs = segs;\n\t\t}\n\t},\n\n\n\tunrenderFgRanges: function() {\n\t\tthis.unrenderFgSegs(this.fgSegs || []);\n\t\tthis.fgSegs = null;\n\t},\n\n\n\trenderBgRanges: function(eventRanges) {\n\t\tvar eventFootprints = this.component.eventRangesToEventFootprints(eventRanges);\n\t\tvar segs = this.component.eventFootprintsToSegs(eventFootprints);\n\n\t\tif (this.renderBgSegs(segs) !== false) { // no failure?\n\t\t\tthis.bgSegs = segs;\n\t\t}\n\t},\n\n\n\tunrenderBgRanges: function() {\n\t\tthis.unrenderBgSegs();\n\t\tthis.bgSegs = null;\n\t},\n\n\n\tgetSegs: function() {\n\t\treturn (this.bgSegs || []).concat(this.fgSegs || []);\n\t},\n\n\n\t// Renders foreground event segments onto the grid\n\trenderFgSegs: function(segs) {\n\t\t// subclasses must implement\n\t\t// segs already has rendered els, and has been filtered.\n\n\t\treturn false; // signal failure if not implemented\n\t},\n\n\n\t// Unrenders all currently rendered foreground segments\n\tunrenderFgSegs: function(segs) {\n\t\t// subclasses must implement\n\t},\n\n\n\trenderBgSegs: function(segs) {\n\t\tvar _this = this;\n\n\t\tif (this.fillRenderer) {\n\t\t\tthis.fillRenderer.renderSegs('bgEvent', segs, {\n\t\t\t\tgetClasses: function(seg) {\n\t\t\t\t\treturn _this.getBgClasses(seg.footprint.eventDef);\n\t\t\t\t},\n\t\t\t\tgetCss: function(seg) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t'background-color': _this.getBgColor(seg.footprint.eventDef)\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\tfilterEl: function(seg, el) {\n\t\t\t\t\treturn _this.filterEventRenderEl(seg.footprint, el);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\telse {\n\t\t\treturn false; // signal failure if no fillRenderer\n\t\t}\n\t},\n\n\n\tunrenderBgSegs: function() {\n\t\tif (this.fillRenderer) {\n\t\t\tthis.fillRenderer.unrender('bgEvent');\n\t\t}\n\t},\n\n\n\t// Renders and assigns an `el` property for each foreground event segment.\n\t// Only returns segments that successfully rendered.\n\trenderFgSegEls: function(segs, disableResizing) {\n\t\tvar _this = this;\n\t\tvar hasEventRenderHandlers = this.view.hasPublicHandlers('eventRender');\n\t\tvar html = '';\n\t\tvar renderedSegs = [];\n\t\tvar i;\n\n\t\tif (segs.length) { // don't build an empty html string\n\n\t\t\t// build a large concatenation of event segment HTML\n\t\t\tfor (i = 0; i < segs.length; i++) {\n\t\t\t\tthis.beforeFgSegHtml(segs[i]);\n\t\t\t\thtml += this.fgSegHtml(segs[i], disableResizing);\n\t\t\t}\n\n\t\t\t// Grab individual elements from the combined HTML string. Use each as the default rendering.\n\t\t\t// Then, compute the 'el' for each segment. An el might be null if the eventRender callback returned false.\n\t\t\t$(html).each(function(i, node) {\n\t\t\t\tvar seg = segs[i];\n\t\t\t\tvar el = $(node);\n\n\t\t\t\tif (hasEventRenderHandlers) { // optimization\n\t\t\t\t\tel = _this.filterEventRenderEl(seg.footprint, el);\n\t\t\t\t}\n\n\t\t\t\tif (el) {\n\t\t\t\t\tel.data('fc-seg', seg); // used by handlers\n\t\t\t\t\tseg.el = el;\n\t\t\t\t\trenderedSegs.push(seg);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\treturn renderedSegs;\n\t},\n\n\n\tbeforeFgSegHtml: function(seg) { // hack\n\t},\n\n\n\t// Generates the HTML for the default rendering of a foreground event segment. Used by renderFgSegEls()\n\tfgSegHtml: function(seg, disableResizing) {\n\t\t// subclasses should implement\n\t},\n\n\n\t// Generic utility for generating the HTML classNames for an event segment's element\n\tgetSegClasses: function(seg, isDraggable, isResizable) {\n\t\tvar classes = [\n\t\t\t'fc-event',\n\t\t\tseg.isStart ? 'fc-start' : 'fc-not-start',\n\t\t\tseg.isEnd ? 'fc-end' : 'fc-not-end'\n\t\t].concat(this.getClasses(seg.footprint.eventDef));\n\n\t\tif (isDraggable) {\n\t\t\tclasses.push('fc-draggable');\n\t\t}\n\t\tif (isResizable) {\n\t\t\tclasses.push('fc-resizable');\n\t\t}\n\n\t\t// event is currently selected? attach a className.\n\t\tif (this.view.isEventDefSelected(seg.footprint.eventDef)) {\n\t\t\tclasses.push('fc-selected');\n\t\t}\n\n\t\treturn classes;\n\t},\n\n\n\t// Given an event and the default element used for rendering, returns the element that should actually be used.\n\t// Basically runs events and elements through the eventRender hook.\n\tfilterEventRenderEl: function(eventFootprint, el) {\n\t\tvar legacy = eventFootprint.getEventLegacy();\n\n\t\tvar custom = this.view.publiclyTrigger('eventRender', {\n\t\t\tcontext: legacy,\n\t\t\targs: [ legacy, el, this.view ]\n\t\t});\n\n\t\tif (custom === false) { // means don't render at all\n\t\t\tel = null;\n\t\t}\n\t\telse if (custom && custom !== true) {\n\t\t\tel = $(custom);\n\t\t}\n\n\t\treturn el;\n\t},\n\n\n\t// Compute the text that should be displayed on an event's element.\n\t// `range` can be the Event object itself, or something range-like, with at least a `start`.\n\t// If event times are disabled, or the event has no time, will return a blank string.\n\t// If not specified, formatStr will default to the eventTimeFormat setting,\n\t// and displayEnd will default to the displayEventEnd setting.\n\tgetTimeText: function(eventFootprint, formatStr, displayEnd) {\n\t\treturn this._getTimeText(\n\t\t\teventFootprint.eventInstance.dateProfile.start,\n\t\t\teventFootprint.eventInstance.dateProfile.end,\n\t\t\teventFootprint.componentFootprint.isAllDay,\n\t\t\tformatStr,\n\t\t\tdisplayEnd\n\t\t);\n\t},\n\n\n\t_getTimeText: function(start, end, isAllDay, formatStr, displayEnd) {\n\t\tif (formatStr == null) {\n\t\t\tformatStr = this.eventTimeFormat;\n\t\t}\n\n\t\tif (displayEnd == null) {\n\t\t\tdisplayEnd = this.displayEventEnd;\n\t\t}\n\n\t\tif (this.displayEventTime && !isAllDay) {\n\t\t\tif (displayEnd && end) {\n\t\t\t\treturn this.view.formatRange(\n\t\t\t\t\t{ start: start, end: end },\n\t\t\t\t\tfalse, // allDay\n\t\t\t\t\tformatStr\n\t\t\t\t);\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn start.format(formatStr);\n\t\t\t}\n\t\t}\n\n\t\treturn '';\n\t},\n\n\n\tcomputeEventTimeFormat: function() {\n\t\treturn this.opt('smallTimeFormat');\n\t},\n\n\n\tcomputeDisplayEventTime: function() {\n\t\treturn true;\n\t},\n\n\n\tcomputeDisplayEventEnd: function() {\n\t\treturn true;\n\t},\n\n\n\tgetBgClasses: function(eventDef) {\n\t\tvar classNames = this.getClasses(eventDef);\n\t\tclassNames.push('fc-bgevent');\n\t\treturn classNames;\n\t},\n\n\n\tgetClasses: function(eventDef) {\n\t\tvar objs = this.getStylingObjs(eventDef);\n\t\tvar i;\n\t\tvar classNames = [];\n\n\t\tfor (i = 0; i < objs.length; i++) {\n\t\t\tclassNames.push.apply( // append\n\t\t\t\tclassNames,\n\t\t\t\tobjs[i].eventClassName || objs[i].className || []\n\t\t\t);\n\t\t}\n\n\t\treturn classNames;\n\t},\n\n\n\t// Utility for generating event skin-related CSS properties\n\tgetSkinCss: function(eventDef) {\n\t\treturn {\n\t\t\t'background-color': this.getBgColor(eventDef),\n\t\t\t'border-color': this.getBorderColor(eventDef),\n\t\t\tcolor: this.getTextColor(eventDef)\n\t\t};\n\t},\n\n\n\t// Queries for caller-specified color, then falls back to default\n\tgetBgColor: function(eventDef) {\n\t\tvar objs = this.getStylingObjs(eventDef);\n\t\tvar i;\n\t\tvar val;\n\n\t\tfor (i = 0; i < objs.length && !val; i++) {\n\t\t\tval = objs[i].eventBackgroundColor || objs[i].eventColor ||\n\t\t\t\tobjs[i].backgroundColor || objs[i].color;\n\t\t}\n\n\t\tif (!val) {\n\t\t\tval = this.opt('eventBackgroundColor') || this.opt('eventColor');\n\t\t}\n\n\t\treturn val;\n\t},\n\n\n\t// Queries for caller-specified color, then falls back to default\n\tgetBorderColor: function(eventDef) {\n\t\tvar objs = this.getStylingObjs(eventDef);\n\t\tvar i;\n\t\tvar val;\n\n\t\tfor (i = 0; i < objs.length && !val; i++) {\n\t\t\tval = objs[i].eventBorderColor || objs[i].eventColor ||\n\t\t\t\tobjs[i].borderColor || objs[i].color;\n\t\t}\n\n\t\tif (!val) {\n\t\t\tval = this.opt('eventBorderColor') || this.opt('eventColor');\n\t\t}\n\n\t\treturn val;\n\t},\n\n\n\t// Queries for caller-specified color, then falls back to default\n\tgetTextColor: function(eventDef) {\n\t\tvar objs = this.getStylingObjs(eventDef);\n\t\tvar i;\n\t\tvar val;\n\n\t\tfor (i = 0; i < objs.length && !val; i++) {\n\t\t\tval = objs[i].eventTextColor ||\n\t\t\t\tobjs[i].textColor;\n\t\t}\n\n\t\tif (!val) {\n\t\t\tval = this.opt('eventTextColor');\n\t\t}\n\n\t\treturn val;\n\t},\n\n\n\tgetStylingObjs: function(eventDef) {\n\t\tvar objs = this.getFallbackStylingObjs(eventDef);\n\t\tobjs.unshift(eventDef);\n\t\treturn objs;\n\t},\n\n\n\tgetFallbackStylingObjs: function(eventDef) {\n\t\treturn [ eventDef.source ];\n\t},\n\n\n\tsortEventSegs: function(segs) {\n\t\tsegs.sort(proxy(this, 'compareEventSegs'));\n\t},\n\n\n\t// A cmp function for determining which segments should take visual priority\n\tcompareEventSegs: function(seg1, seg2) {\n\t\tvar f1 = seg1.footprint.componentFootprint;\n\t\tvar r1 = f1.unzonedRange;\n\t\tvar f2 = seg2.footprint.componentFootprint;\n\t\tvar r2 = f2.unzonedRange;\n\n\t\treturn r1.startMs - r2.startMs || // earlier events go first\n\t\t\t(r2.endMs - r2.startMs) - (r1.endMs - r1.startMs) || // tie? longer events go first\n\t\t\tf2.isAllDay - f1.isAllDay || // tie? put all-day events first (booleans cast to 0/1)\n\t\t\tcompareByFieldSpecs(\n\t\t\t\tseg1.footprint.eventDef,\n\t\t\t\tseg2.footprint.eventDef,\n\t\t\t\tthis.view.eventOrderSpecs\n\t\t\t);\n\t}\n\n});\n\n;;\n\nvar BusinessHourRenderer = FC.BusinessHourRenderer = Class.extend({\n\n\tcomponent: null,\n\tfillRenderer: null,\n\tsegs: null,\n\n\n\t/*\n\tcomponent implements:\n\t\t- eventRangesToEventFootprints\n\t\t- eventFootprintsToSegs\n\t*/\n\tconstructor: function(component, fillRenderer) {\n\t\tthis.component = component;\n\t\tthis.fillRenderer = fillRenderer;\n\t},\n\n\n\trender: function(businessHourGenerator) {\n\t\tvar component = this.component;\n\t\tvar unzonedRange = component._getDateProfile().activeUnzonedRange;\n\n\t\tvar eventInstanceGroup = businessHourGenerator.buildEventInstanceGroup(\n\t\t\tcomponent.hasAllDayBusinessHours,\n\t\t\tunzonedRange\n\t\t);\n\n\t\tvar eventFootprints = eventInstanceGroup ?\n\t\t\tcomponent.eventRangesToEventFootprints(\n\t\t\t\teventInstanceGroup.sliceRenderRanges(unzonedRange)\n\t\t\t) :\n\t\t\t[];\n\n\t\tthis.renderEventFootprints(eventFootprints);\n\t},\n\n\n\trenderEventFootprints: function(eventFootprints) {\n\t\tvar segs = this.component.eventFootprintsToSegs(eventFootprints);\n\n\t\tthis.renderSegs(segs);\n\t\tthis.segs = segs;\n\t},\n\n\n\trenderSegs: function(segs) {\n\t\tif (this.fillRenderer) {\n\t\t\tthis.fillRenderer.renderSegs('businessHours', segs, {\n\t\t\t\tgetClasses: function(seg) {\n\t\t\t\t\treturn [ 'fc-nonbusiness', 'fc-bgevent' ];\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t},\n\n\n\tunrender: function() {\n\t\tif (this.fillRenderer) {\n\t\t\tthis.fillRenderer.unrender('businessHours');\n\t\t}\n\n\t\tthis.segs = null;\n\t},\n\n\n\tgetSegs: function() {\n\t\treturn this.segs || [];\n\t}\n\n});\n\n;;\n\nvar FillRenderer = FC.FillRenderer = Class.extend({ // use for highlight, background events, business hours\n\n\tfillSegTag: 'div',\n\tcomponent: null,\n\telsByFill: null, // a hash of jQuery element sets used for rendering each fill. Keyed by fill name.\n\n\n\tconstructor: function(component) {\n\t\tthis.component = component;\n\t\tthis.elsByFill = {};\n\t},\n\n\n\trenderFootprint: function(type, componentFootprint, props) {\n\t\tthis.renderSegs(\n\t\t\ttype,\n\t\t\tthis.component.componentFootprintToSegs(componentFootprint),\n\t\t\tprops\n\t\t);\n\t},\n\n\n\trenderSegs: function(type, segs, props) {\n\t\tvar els;\n\n\t\tsegs = this.buildSegEls(type, segs, props); // assignes `.el` to each seg. returns successfully rendered segs\n\t\tels = this.attachSegEls(type, segs);\n\n\t\tif (els) {\n\t\t\tthis.reportEls(type, els);\n\t\t}\n\n\t\treturn segs;\n\t},\n\n\n\t// Unrenders a specific type of fill that is currently rendered on the grid\n\tunrender: function(type) {\n\t\tvar el = this.elsByFill[type];\n\n\t\tif (el) {\n\t\t\tel.remove();\n\t\t\tdelete this.elsByFill[type];\n\t\t}\n\t},\n\n\n\t// Renders and assigns an `el` property for each fill segment. Generic enough to work with different types.\n\t// Only returns segments that successfully rendered.\n\tbuildSegEls: function(type, segs, props) {\n\t\tvar _this = this;\n\t\tvar html = '';\n\t\tvar renderedSegs = [];\n\t\tvar i;\n\n\t\tif (segs.length) {\n\n\t\t\t// build a large concatenation of segment HTML\n\t\t\tfor (i = 0; i < segs.length; i++) {\n\t\t\t\thtml += this.buildSegHtml(type, segs[i], props);\n\t\t\t}\n\n\t\t\t// Grab individual elements from the combined HTML string. Use each as the default rendering.\n\t\t\t// Then, compute the 'el' for each segment.\n\t\t\t$(html).each(function(i, node) {\n\t\t\t\tvar seg = segs[i];\n\t\t\t\tvar el = $(node);\n\n\t\t\t\t// allow custom filter methods per-type\n\t\t\t\tif (props.filterEl) {\n\t\t\t\t\tel = props.filterEl(seg, el);\n\t\t\t\t}\n\n\t\t\t\tif (el) { // custom filters did not cancel the render\n\t\t\t\t\tel = $(el); // allow custom filter to return raw DOM node\n\n\t\t\t\t\t// correct element type? (would be bad if a non-TD were inserted into a table for example)\n\t\t\t\t\tif (el.is(_this.fillSegTag)) {\n\t\t\t\t\t\tseg.el = el;\n\t\t\t\t\t\trenderedSegs.push(seg);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\treturn renderedSegs;\n\t},\n\n\n\t// Builds the HTML needed for one fill segment. Generic enough to work with different types.\n\tbuildSegHtml: function(type, seg, props) {\n\t\t// custom hooks per-type\n\t\tvar classes = props.getClasses ? props.getClasses(seg) : [];\n\t\tvar css = cssToStr(props.getCss ? props.getCss(seg) : {});\n\n\t\treturn '<' + this.fillSegTag +\n\t\t\t(classes.length ? ' class=\"' + classes.join(' ') + '\"' : '') +\n\t\t\t(css ? ' style=\"' + css + '\"' : '') +\n\t\t\t' />';\n\t},\n\n\n\t// Should return wrapping DOM structure\n\tattachSegEls: function(type, segs) {\n\t\t// subclasses must implement\n\t},\n\n\n\treportEls: function(type, nodes) {\n\t\tif (this.elsByFill[type]) {\n\t\t\tthis.elsByFill[type] = this.elsByFill[type].add(nodes);\n\t\t}\n\t\telse {\n\t\t\tthis.elsByFill[type] = $(nodes);\n\t\t}\n\t}\n\n});\n\n;;\n\nvar HelperRenderer = FC.HelperRenderer = Class.extend({\n\n\tview: null,\n\tcomponent: null,\n\teventRenderer: null,\n\thelperEls: null,\n\n\n\tconstructor: function(component, eventRenderer) {\n\t\tthis.view = component._getView();\n\t\tthis.component = component;\n\t\tthis.eventRenderer = eventRenderer;\n\t},\n\n\n\trenderComponentFootprint: function(componentFootprint) {\n\t\tthis.renderEventFootprints([\n\t\t\tthis.fabricateEventFootprint(componentFootprint)\n\t\t]);\n\t},\n\n\n\trenderEventDraggingFootprints: function(eventFootprints, sourceSeg, isTouch) {\n\t\tthis.renderEventFootprints(\n\t\t\teventFootprints,\n\t\t\tsourceSeg,\n\t\t\t'fc-dragging',\n\t\t\tisTouch ? null : this.view.opt('dragOpacity')\n\t\t);\n\t},\n\n\n\trenderEventResizingFootprints: function(eventFootprints, sourceSeg, isTouch) {\n\t\tthis.renderEventFootprints(\n\t\t\teventFootprints,\n\t\t\tsourceSeg,\n\t\t\t'fc-resizing'\n\t\t);\n\t},\n\n\n\trenderEventFootprints: function(eventFootprints, sourceSeg, extraClassNames, opacity) {\n\t\tvar segs = this.component.eventFootprintsToSegs(eventFootprints);\n\t\tvar classNames = 'fc-helper ' + (extraClassNames || '');\n\t\tvar i;\n\n\t\t// assigns each seg's el and returns a subset of segs that were rendered\n\t\tsegs = this.eventRenderer.renderFgSegEls(segs);\n\n\t\tfor (i = 0; i < segs.length; i++) {\n\t\t\tsegs[i].el.addClass(classNames);\n\t\t}\n\n\t\tif (opacity != null) {\n\t\t\tfor (i = 0; i < segs.length; i++) {\n\t\t\t\tsegs[i].el.css('opacity', opacity);\n\t\t\t}\n\t\t}\n\n\t\tthis.helperEls = this.renderSegs(segs, sourceSeg);\n\t},\n\n\n\t/*\n\tMust return all mock event elements\n\t*/\n\trenderSegs: function(segs, sourceSeg) {\n\t\t// Subclasses must implement\n\t},\n\n\n\tunrender: function() {\n\t\tif (this.helperEls) {\n\t\t\tthis.helperEls.remove();\n\t\t\tthis.helperEls = null;\n\t\t}\n\t},\n\n\n\tfabricateEventFootprint: function(componentFootprint) {\n\t\tvar calendar = this.view.calendar;\n\t\tvar eventDateProfile = calendar.footprintToDateProfile(componentFootprint);\n\t\tvar dummyEvent = new SingleEventDef(new EventSource(calendar));\n\t\tvar dummyInstance;\n\n\t\tdummyEvent.dateProfile = eventDateProfile;\n\t\tdummyInstance = dummyEvent.buildInstance();\n\n\t\treturn new EventFootprint(componentFootprint, dummyEvent, dummyInstance);\n\t}\n\n});\n\n;;\n\nvar Component = Model.extend({\n\n\tel: null,\n\n\n\tsetElement: function(el) {\n\t\tthis.el = el;\n\t\tthis.bindGlobalHandlers();\n\t\tthis.renderSkeleton();\n\t\tthis.set('isInDom', true);\n\t},\n\n\n\tremoveElement: function() {\n\t\tthis.unset('isInDom');\n\t\tthis.unrenderSkeleton();\n\t\tthis.unbindGlobalHandlers();\n\n\t\tthis.el.remove();\n\t\t// NOTE: don't null-out this.el in case the View was destroyed within an API callback.\n\t\t// We don't null-out the View's other jQuery element references upon destroy,\n\t\t//  so we shouldn't kill this.el either.\n\t},\n\n\n\tbindGlobalHandlers: function() {\n\t},\n\n\n\tunbindGlobalHandlers: function() {\n\t},\n\n\n\t/*\n\tNOTE: Can't have a `render` method. Read the deprecation notice in View::executeDateRender\n\t*/\n\n\n\t// Renders the basic structure of the view before any content is rendered\n\trenderSkeleton: function() {\n\t\t// subclasses should implement\n\t},\n\n\n\t// Unrenders the basic structure of the view\n\tunrenderSkeleton: function() {\n\t\t// subclasses should implement\n\t}\n\n});\n\n;;\n\nvar DateComponent = FC.DateComponent = Component.extend({\n\n\tuid: null,\n\tchildrenByUid: null,\n\tisRTL: false, // frequently accessed options\n\tnextDayThreshold: null, // \"\n\tdateProfile: null, // hack\n\n\teventRendererClass: null,\n\thelperRendererClass: null,\n\tbusinessHourRendererClass: null,\n\tfillRendererClass: null,\n\n\teventRenderer: null,\n\thelperRenderer: null,\n\tbusinessHourRenderer: null,\n\tfillRenderer: null,\n\n\thitsNeededDepth: 0, // necessary because multiple callers might need the same hits\n\n\thasAllDayBusinessHours: false, // TODO: unify with largeUnit and isTimeScale?\n\n\tisDatesRendered: false,\n\n\n\tconstructor: function() {\n\t\tComponent.call(this);\n\n\t\tthis.uid = String(DateComponent.guid++);\n\t\tthis.childrenByUid = {};\n\n\t\tthis.nextDayThreshold = moment.duration(this.opt('nextDayThreshold'));\n\t\tthis.isRTL = this.opt('isRTL');\n\n\t\tif (this.fillRendererClass) {\n\t\t\tthis.fillRenderer = new this.fillRendererClass(this);\n\t\t}\n\n\t\tif (this.eventRendererClass) { // fillRenderer is optional -----v\n\t\t\tthis.eventRenderer = new this.eventRendererClass(this, this.fillRenderer);\n\t\t}\n\n\t\tif (this.helperRendererClass && this.eventRenderer) {\n\t\t\tthis.helperRenderer = new this.helperRendererClass(this, this.eventRenderer);\n\t\t}\n\n\t\tif (this.businessHourRendererClass && this.fillRenderer) {\n\t\t\tthis.businessHourRenderer = new this.businessHourRendererClass(this, this.fillRenderer);\n\t\t}\n\t},\n\n\n\taddChild: function(child) {\n\t\tif (!this.childrenByUid[child.uid]) {\n\t\t\tthis.childrenByUid[child.uid] = child;\n\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t},\n\n\n\tremoveChild: function(child) {\n\t\tif (this.childrenByUid[child.uid]) {\n\t\t\tdelete this.childrenByUid[child.uid];\n\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t},\n\n\n\t// TODO: only do if isInDom?\n\t// TODO: make part of Component, along with children/batch-render system?\n\tupdateSize: function(totalHeight, isAuto, isResize) {\n\t\tthis.callChildren('updateSize', arguments);\n\t},\n\n\n\t// Options\n\t// -----------------------------------------------------------------------------------------------------------------\n\n\n\topt: function(name) {\n\t\treturn this._getView().opt(name); // default implementation\n\t},\n\n\n\tpubliclyTrigger: function(/**/) {\n\t\tvar calendar = this._getCalendar();\n\n\t\treturn calendar.publiclyTrigger.apply(calendar, arguments);\n\t},\n\n\n\thasPublicHandlers: function(/**/) {\n\t\tvar calendar = this._getCalendar();\n\n\t\treturn calendar.hasPublicHandlers.apply(calendar, arguments);\n\t},\n\n\n\t// Date\n\t// -----------------------------------------------------------------------------------------------------------------\n\n\n\texecuteDateRender: function(dateProfile) {\n\t\tthis.dateProfile = dateProfile; // for rendering\n\t\tthis.renderDates(dateProfile);\n\t\tthis.isDatesRendered = true;\n\t\tthis.callChildren('executeDateRender', arguments);\n\t},\n\n\n\texecuteDateUnrender: function() { // wrapper\n\t\tthis.callChildren('executeDateUnrender', arguments);\n\t\tthis.dateProfile = null;\n\t\tthis.unrenderDates();\n\t\tthis.isDatesRendered = false;\n\t},\n\n\n\t// date-cell content only\n\trenderDates: function(dateProfile) {\n\t\t// subclasses should implement\n\t},\n\n\n\t// date-cell content only\n\tunrenderDates: function() {\n\t\t// subclasses should override\n\t},\n\n\n\t// Now-Indicator\n\t// -----------------------------------------------------------------------------------------------------------------\n\n\n\t// Returns a string unit, like 'second' or 'minute' that defined how often the current time indicator\n\t// should be refreshed. If something falsy is returned, no time indicator is rendered at all.\n\tgetNowIndicatorUnit: function() {\n\t\t// subclasses should implement\n\t},\n\n\n\t// Renders a current time indicator at the given datetime\n\trenderNowIndicator: function(date) {\n\t\tthis.callChildren('renderNowIndicator', arguments);\n\t},\n\n\n\t// Undoes the rendering actions from renderNowIndicator\n\tunrenderNowIndicator: function() {\n\t\tthis.callChildren('unrenderNowIndicator', arguments);\n\t},\n\n\n\t// Business Hours\n\t// ---------------------------------------------------------------------------------------------------------------\n\n\n\trenderBusinessHours: function(businessHourGenerator) {\n\t\tif (this.businessHourRenderer) {\n\t\t\tthis.businessHourRenderer.render(businessHourGenerator);\n\t\t}\n\n\t\tthis.callChildren('renderBusinessHours', arguments);\n\t},\n\n\n\t// Unrenders previously-rendered business-hours\n\tunrenderBusinessHours: function() {\n\t\tthis.callChildren('unrenderBusinessHours', arguments);\n\n\t\tif (this.businessHourRenderer) {\n\t\t\tthis.businessHourRenderer.unrender();\n\t\t}\n\t},\n\n\n\t// Event Displaying\n\t// -----------------------------------------------------------------------------------------------------------------\n\n\n\texecuteEventRender: function(eventsPayload) {\n\t\tif (this.eventRenderer) {\n\t\t\tthis.eventRenderer.rangeUpdated(); // poorly named now\n\t\t\tthis.eventRenderer.render(eventsPayload);\n\t\t}\n\t\telse if (this.renderEvents) { // legacy\n\t\t\tthis.renderEvents(convertEventsPayloadToLegacyArray(eventsPayload));\n\t\t}\n\n\t\tthis.callChildren('executeEventRender', arguments);\n\t},\n\n\n\texecuteEventUnrender: function() {\n\t\tthis.callChildren('executeEventUnrender', arguments);\n\n\t\tif (this.eventRenderer) {\n\t\t\tthis.eventRenderer.unrender();\n\t\t}\n\t\telse if (this.destroyEvents) { // legacy\n\t\t\tthis.destroyEvents();\n\t\t}\n\t},\n\n\n\tgetBusinessHourSegs: function() { // recursive\n\t\tvar segs = this.getOwnBusinessHourSegs();\n\n\t\tthis.iterChildren(function(child) {\n\t\t\tsegs.push.apply(segs, child.getBusinessHourSegs());\n\t\t});\n\n\t\treturn segs;\n\t},\n\n\n\tgetOwnBusinessHourSegs: function() {\n\t\tif (this.businessHourRenderer) {\n\t\t\treturn this.businessHourRenderer.getSegs();\n\t\t}\n\n\t\treturn [];\n\t},\n\n\n\tgetEventSegs: function() { // recursive\n\t\tvar segs = this.getOwnEventSegs();\n\n\t\tthis.iterChildren(function(child) {\n\t\t\tsegs.push.apply(segs, child.getEventSegs());\n\t\t});\n\n\t\treturn segs;\n\t},\n\n\n\tgetOwnEventSegs: function() { // just for itself\n\t\tif (this.eventRenderer) {\n\t\t\treturn this.eventRenderer.getSegs();\n\t\t}\n\n\t\treturn [];\n\t},\n\n\n\t// Event Rendering Triggering\n\t// -----------------------------------------------------------------------------------------------------------------\n\n\n\ttriggerAfterEventsRendered: function() {\n\t\tthis.triggerAfterEventSegsRendered(\n\t\t\tthis.getEventSegs()\n\t\t);\n\n\t\tthis.publiclyTrigger('eventAfterAllRender', {\n\t\t\tcontext: this,\n\t\t\targs: [ this ]\n\t\t});\n\t},\n\n\n\ttriggerAfterEventSegsRendered: function(segs) {\n\t\tvar _this = this;\n\n\t\t// an optimization, because getEventLegacy is expensive\n\t\tif (this.hasPublicHandlers('eventAfterRender')) {\n\t\t\tsegs.forEach(function(seg) {\n\t\t\t\tvar legacy;\n\n\t\t\t\tif (seg.el) { // necessary?\n\t\t\t\t\tlegacy = seg.footprint.getEventLegacy();\n\n\t\t\t\t\t_this.publiclyTrigger('eventAfterRender', {\n\t\t\t\t\t\tcontext: legacy,\n\t\t\t\t\t\targs: [ legacy, seg.el, _this ]\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t},\n\n\n\ttriggerBeforeEventsDestroyed: function() {\n\t\tthis.triggerBeforeEventSegsDestroyed(\n\t\t\tthis.getEventSegs()\n\t\t);\n\t},\n\n\n\ttriggerBeforeEventSegsDestroyed: function(segs) {\n\t\tvar _this = this;\n\n\t\tif (this.hasPublicHandlers('eventDestroy')) {\n\t\t\tsegs.forEach(function(seg) {\n\t\t\t\tvar legacy;\n\n\t\t\t\tif (seg.el) { // necessary?\n\t\t\t\t\tlegacy = seg.footprint.getEventLegacy();\n\n\t\t\t\t\t_this.publiclyTrigger('eventDestroy', {\n\t\t\t\t\t\tcontext: legacy,\n\t\t\t\t\t\targs: [ legacy, seg.el, _this ]\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t},\n\n\n\t// Event Rendering Utils\n\t// -----------------------------------------------------------------------------------------------------------------\n\n\n\t// Hides all rendered event segments linked to the given event\n\t// RECURSIVE with subcomponents\n\tshowEventsWithId: function(eventDefId) {\n\n\t\tthis.getEventSegs().forEach(function(seg) {\n\t\t\tif (\n\t\t\t\tseg.footprint.eventDef.id === eventDefId &&\n\t\t\t\tseg.el // necessary?\n\t\t\t) {\n\t\t\t\tseg.el.css('visibility', '');\n\t\t\t}\n\t\t});\n\n\t\tthis.callChildren('showEventsWithId', arguments);\n\t},\n\n\n\t// Shows all rendered event segments linked to the given event\n\t// RECURSIVE with subcomponents\n\thideEventsWithId: function(eventDefId) {\n\n\t\tthis.getEventSegs().forEach(function(seg) {\n\t\t\tif (\n\t\t\t\tseg.footprint.eventDef.id === eventDefId &&\n\t\t\t\tseg.el // necessary?\n\t\t\t) {\n\t\t\t\tseg.el.css('visibility', 'hidden');\n\t\t\t}\n\t\t});\n\n\t\tthis.callChildren('hideEventsWithId', arguments);\n\t},\n\n\n\t// Drag-n-Drop Rendering (for both events and external elements)\n\t// ---------------------------------------------------------------------------------------------------------------\n\n\n\t// Renders a visual indication of a event or external-element drag over the given drop zone.\n\t// If an external-element, seg will be `null`.\n\t// Must return elements used for any mock events.\n\trenderDrag: function(eventFootprints, seg, isTouch) {\n\t\tvar renderedHelper = false;\n\n\t\tthis.iterChildren(function(child) {\n\t\t\tif (child.renderDrag(eventFootprints, seg, isTouch)) {\n\t\t\t\trenderedHelper = true;\n\t\t\t}\n\t\t});\n\n\t\treturn renderedHelper;\n\t},\n\n\n\t// Unrenders a visual indication of an event or external-element being dragged.\n\tunrenderDrag: function() {\n\t\tthis.callChildren('unrenderDrag', arguments);\n\t},\n\n\n\t// Event Resizing\n\t// ---------------------------------------------------------------------------------------------------------------\n\n\n\t// Renders a visual indication of an event being resized.\n\trenderEventResize: function(eventFootprints, seg, isTouch) {\n\t\tthis.callChildren('renderEventResize', arguments);\n\t},\n\n\n\t// Unrenders a visual indication of an event being resized.\n\tunrenderEventResize: function() {\n\t\tthis.callChildren('unrenderEventResize', arguments);\n\t},\n\n\n\t// Selection\n\t// ---------------------------------------------------------------------------------------------------------------\n\n\n\t// Renders a visual indication of the selection\n\t// TODO: rename to `renderSelection` after legacy is gone\n\trenderSelectionFootprint: function(componentFootprint) {\n\t\tthis.renderHighlight(componentFootprint);\n\n\t\tthis.callChildren('renderSelectionFootprint', arguments);\n\t},\n\n\n\t// Unrenders a visual indication of selection\n\tunrenderSelection: function() {\n\t\tthis.unrenderHighlight();\n\n\t\tthis.callChildren('unrenderSelection', arguments);\n\t},\n\n\n\t// Highlight\n\t// ---------------------------------------------------------------------------------------------------------------\n\n\n\t// Renders an emphasis on the given date range. Given a span (unzoned start/end and other misc data)\n\trenderHighlight: function(componentFootprint) {\n\t\tif (this.fillRenderer) {\n\t\t\tthis.fillRenderer.renderFootprint(\n\t\t\t\t'highlight',\n\t\t\t\tcomponentFootprint,\n\t\t\t\t{\n\t\t\t\t\tgetClasses: function() {\n\t\t\t\t\t\treturn [ 'fc-highlight' ];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\tthis.callChildren('renderHighlight', arguments);\n\t},\n\n\n\t// Unrenders the emphasis on a date range\n\tunrenderHighlight: function() {\n\t\tif (this.fillRenderer) {\n\t\t\tthis.fillRenderer.unrender('highlight');\n\t\t}\n\n\t\tthis.callChildren('unrenderHighlight', arguments);\n\t},\n\n\n\t// Hit Areas\n\t// ---------------------------------------------------------------------------------------------------------------\n\t// just because all DateComponents support this interface\n\t// doesn't mean they need to have their own internal coord system. they can defer to sub-components.\n\n\n\thitsNeeded: function() {\n\t\tif (!(this.hitsNeededDepth++)) {\n\t\t\tthis.prepareHits();\n\t\t}\n\n\t\tthis.callChildren('hitsNeeded', arguments);\n\t},\n\n\n\thitsNotNeeded: function() {\n\t\tif (this.hitsNeededDepth && !(--this.hitsNeededDepth)) {\n\t\t\tthis.releaseHits();\n\t\t}\n\n\t\tthis.callChildren('hitsNotNeeded', arguments);\n\t},\n\n\n\tprepareHits: function() {\n\t\t// subclasses can implement\n\t},\n\n\n\treleaseHits: function() {\n\t\t// subclasses can implement\n\t},\n\n\n\t// Given coordinates from the topleft of the document, return data about the date-related area underneath.\n\t// Can return an object with arbitrary properties (although top/right/left/bottom are encouraged).\n\t// Must have a `grid` property, a reference to this current grid. TODO: avoid this\n\t// The returned object will be processed by getHitFootprint and getHitEl.\n\tqueryHit: function(leftOffset, topOffset) {\n\t\tvar childrenByUid = this.childrenByUid;\n\t\tvar uid;\n\t\tvar hit;\n\n\t\tfor (uid in childrenByUid) {\n\t\t\thit = childrenByUid[uid].queryHit(leftOffset, topOffset);\n\n\t\t\tif (hit) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn hit;\n\t},\n\n\n\tgetSafeHitFootprint: function(hit) {\n\t\tvar footprint = this.getHitFootprint(hit);\n\n\t\tif (!this.dateProfile.activeUnzonedRange.containsRange(footprint.unzonedRange)) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn footprint;\n\t},\n\n\n\tgetHitFootprint: function(hit) {\n\t},\n\n\n\t// Given position-level information about a date-related area within the grid,\n\t// should return a jQuery element that best represents it. passed to dayClick callback.\n\tgetHitEl: function(hit) {\n\t},\n\n\n\t/* Converting eventRange -> eventFootprint\n\t------------------------------------------------------------------------------------------------------------------*/\n\n\n\teventRangesToEventFootprints: function(eventRanges) {\n\t\tvar eventFootprints = [];\n\t\tvar i;\n\n\t\tfor (i = 0; i < eventRanges.length; i++) {\n\t\t\teventFootprints.push.apply( // append\n\t\t\t\teventFootprints,\n\t\t\t\tthis.eventRangeToEventFootprints(eventRanges[i])\n\t\t\t);\n\t\t}\n\n\t\treturn eventFootprints;\n\t},\n\n\n\teventRangeToEventFootprints: function(eventRange) {\n\t\treturn [ eventRangeToEventFootprint(eventRange) ];\n\t},\n\n\n\t/* Converting componentFootprint/eventFootprint -> segs\n\t------------------------------------------------------------------------------------------------------------------*/\n\n\n\teventFootprintsToSegs: function(eventFootprints) {\n\t\tvar segs = [];\n\t\tvar i;\n\n\t\tfor (i = 0; i < eventFootprints.length; i++) {\n\t\t\tsegs.push.apply(segs,\n\t\t\t\tthis.eventFootprintToSegs(eventFootprints[i])\n\t\t\t);\n\t\t}\n\n\t\treturn segs;\n\t},\n\n\n\t// Given an event's span (unzoned start/end and other misc data), and the event itself,\n\t// slices into segments and attaches event-derived properties to them.\n\t// eventSpan - { start, end, isStart, isEnd, otherthings... }\n\teventFootprintToSegs: function(eventFootprint) {\n\t\tvar unzonedRange = eventFootprint.componentFootprint.unzonedRange;\n\t\tvar segs;\n\t\tvar i, seg;\n\n\t\tsegs = this.componentFootprintToSegs(eventFootprint.componentFootprint);\n\n\t\tfor (i = 0; i < segs.length; i++) {\n\t\t\tseg = segs[i];\n\n\t\t\tif (!unzonedRange.isStart) {\n\t\t\t\tseg.isStart = false;\n\t\t\t}\n\t\t\tif (!unzonedRange.isEnd) {\n\t\t\t\tseg.isEnd = false;\n\t\t\t}\n\n\t\t\tseg.footprint = eventFootprint;\n\t\t\t// TODO: rename to seg.eventFootprint\n\t\t}\n\n\t\treturn segs;\n\t},\n\n\n\tcomponentFootprintToSegs: function(componentFootprint) {\n\t\treturn [];\n\t},\n\n\n\t// Utils\n\t// ---------------------------------------------------------------------------------------------------------------\n\n\n\tcallChildren: function(methodName, args) {\n\t\tthis.iterChildren(function(child) {\n\t\t\tchild[methodName].apply(child, args);\n\t\t});\n\t},\n\n\n\titerChildren: function(func) {\n\t\tvar childrenByUid = this.childrenByUid;\n\t\tvar uid;\n\n\t\tfor (uid in childrenByUid) {\n\t\t\tfunc(childrenByUid[uid]);\n\t\t}\n\t},\n\n\n\t_getCalendar: function() { // TODO: strip out. move to generic parent.\n\t\treturn this.calendar || this.view.calendar;\n\t},\n\n\n\t_getView: function() { // TODO: strip out. move to generic parent.\n\t\treturn this.view;\n\t},\n\n\n\t_getDateProfile: function() {\n\t\treturn this._getView().get('dateProfile');\n\t}\n\n});\n\n\nDateComponent.guid = 0; // TODO: better system for this?\n\n\n// legacy\n\nfunction convertEventsPayloadToLegacyArray(eventsPayload) {\n\tvar eventDefId;\n\tvar eventInstances;\n\tvar legacyEvents = [];\n\tvar i;\n\n\tfor (eventDefId in eventsPayload) {\n\t\teventInstances = eventsPayload[eventDefId].eventInstances;\n\n\t\tfor (i = 0; i < eventInstances.length; i++) {\n\t\t\tlegacyEvents.push(\n\t\t\t\teventInstances[i].toLegacy()\n\t\t\t);\n\t\t}\n\t}\n\n\treturn legacyEvents;\n}\n\n;;\n\nDateComponent.mixin({\n\n\t// Generates HTML for an anchor to another view into the calendar.\n\t// Will either generate an <a> tag or a non-clickable <span> tag, depending on enabled settings.\n\t// `gotoOptions` can either be a moment input, or an object with the form:\n\t// { date, type, forceOff }\n\t// `type` is a view-type like \"day\" or \"week\". default value is \"day\".\n\t// `attrs` and `innerHtml` are use to generate the rest of the HTML tag.\n\tbuildGotoAnchorHtml: function(gotoOptions, attrs, innerHtml) {\n\t\tvar date, type, forceOff;\n\t\tvar finalOptions;\n\n\t\tif ($.isPlainObject(gotoOptions)) {\n\t\t\tdate = gotoOptions.date;\n\t\t\ttype = gotoOptions.type;\n\t\t\tforceOff = gotoOptions.forceOff;\n\t\t}\n\t\telse {\n\t\t\tdate = gotoOptions; // a single moment input\n\t\t}\n\t\tdate = FC.moment(date); // if a string, parse it\n\n\t\tfinalOptions = { // for serialization into the link\n\t\t\tdate: date.format('YYYY-MM-DD'),\n\t\t\ttype: type || 'day'\n\t\t};\n\n\t\tif (typeof attrs === 'string') {\n\t\t\tinnerHtml = attrs;\n\t\t\tattrs = null;\n\t\t}\n\n\t\tattrs = attrs ? ' ' + attrsToStr(attrs) : ''; // will have a leading space\n\t\tinnerHtml = innerHtml || '';\n\n\t\tif (!forceOff && this.opt('navLinks')) {\n\t\t\treturn '<a' + attrs +\n\t\t\t\t' data-goto=\"' + htmlEscape(JSON.stringify(finalOptions)) + '\">' +\n\t\t\t\tinnerHtml +\n\t\t\t\t'</a>';\n\t\t}\n\t\telse {\n\t\t\treturn '<span' + attrs + '>' +\n\t\t\t\tinnerHtml +\n\t\t\t\t'</span>';\n\t\t}\n\t},\n\n\n\tgetAllDayHtml: function() {\n\t\treturn this.opt('allDayHtml') || htmlEscape(this.opt('allDayText'));\n\t},\n\n\n\t// Computes HTML classNames for a single-day element\n\tgetDayClasses: function(date, noThemeHighlight) {\n\t\tvar view = this._getView();\n\t\tvar classes = [];\n\t\tvar today;\n\n\t\tif (!this.dateProfile.activeUnzonedRange.containsDate(date)) {\n\t\t\tclasses.push('fc-disabled-day'); // TODO: jQuery UI theme?\n\t\t}\n\t\telse {\n\t\t\tclasses.push('fc-' + dayIDs[date.day()]);\n\n\t\t\tif (view.isDateInOtherMonth(date, this.dateProfile)) { // TODO: use DateComponent subclass somehow\n\t\t\t\tclasses.push('fc-other-month');\n\t\t\t}\n\n\t\t\ttoday = view.calendar.getNow();\n\n\t\t\tif (date.isSame(today, 'day')) {\n\t\t\t\tclasses.push('fc-today');\n\n\t\t\t\tif (noThemeHighlight !== true) {\n\t\t\t\t\tclasses.push(view.calendar.theme.getClass('today'));\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (date < today) {\n\t\t\t\tclasses.push('fc-past');\n\t\t\t}\n\t\t\telse {\n\t\t\t\tclasses.push('fc-future');\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t},\n\n\n\t// Utility for formatting a range. Accepts a range object, formatting string, and optional separator.\n\t// Displays all-day ranges naturally, with an inclusive end. Takes the current isRTL into account.\n\t// The timezones of the dates within `range` will be respected.\n\tformatRange: function(range, isAllDay, formatStr, separator) {\n\t\tvar end = range.end;\n\n\t\tif (isAllDay) {\n\t\t\tend = end.clone().subtract(1); // convert to inclusive. last ms of previous day\n\t\t}\n\n\t\treturn formatRange(range.start, end, formatStr, separator, this.isRTL);\n\t},\n\n\n\t// Compute the number of the give units in the \"current\" range.\n\t// Will return a floating-point number. Won't round.\n\tcurrentRangeAs: function(unit) {\n\t\treturn this._getDateProfile().currentUnzonedRange.as(unit);\n\t},\n\n\n\t// Returns the date range of the full days the given range visually appears to occupy.\n\t// Returns a plain object with start/end, NOT an UnzonedRange!\n\tcomputeDayRange: function(unzonedRange) {\n\t\tvar calendar = this._getCalendar();\n\t\tvar startDay = calendar.msToUtcMoment(unzonedRange.startMs, true); // the beginning of the day the range starts\n\t\tvar end = calendar.msToUtcMoment(unzonedRange.endMs);\n\t\tvar endTimeMS = +end.time(); // # of milliseconds into `endDay`\n\t\tvar endDay = end.clone().stripTime(); // the beginning of the day the range exclusively ends\n\n\t\t// If the end time is actually inclusively part of the next day and is equal to or\n\t\t// beyond the next day threshold, adjust the end to be the exclusive end of `endDay`.\n\t\t// Otherwise, leaving it as inclusive will cause it to exclude `endDay`.\n\t\tif (endTimeMS && endTimeMS >= this.nextDayThreshold) {\n\t\t\tendDay.add(1, 'days');\n\t\t}\n\n\t\t// If end is within `startDay` but not past nextDayThreshold, assign the default duration of one day.\n\t\tif (endDay <= startDay) {\n\t\t\tendDay = startDay.clone().add(1, 'days');\n\t\t}\n\n\t\treturn { start: startDay, end: endDay };\n\t},\n\n\n\t// Does the given range visually appear to occupy more than one day?\n\tisMultiDayRange: function(unzonedRange) {\n\t\tvar dayRange = this.computeDayRange(unzonedRange);\n\n\t\treturn dayRange.end.diff(dayRange.start, 'days') > 1;\n\t}\n\n});\n\n;;\n\nvar InteractiveDateComponent = FC.InteractiveDateComponent = DateComponent.extend({\n\n\tdateClickingClass: null,\n\tdateSelectingClass: null,\n\teventPointingClass: null,\n\teventDraggingClass: null,\n\teventResizingClass: null,\n\texternalDroppingClass: null,\n\n\tdateClicking: null,\n\tdateSelecting: null,\n\teventPointing: null,\n\teventDragging: null,\n\teventResizing: null,\n\texternalDropping: null,\n\n\t// self-config, overridable by subclasses\n\tsegSelector: '.fc-event-container > *', // what constitutes an event element?\n\n\t// if defined, holds the unit identified (ex: \"year\" or \"month\") that determines the level of granularity\n\t// of the date areas. if not defined, assumes to be day and time granularity.\n\t// TODO: port isTimeScale into same system?\n\tlargeUnit: null,\n\n\n\tconstructor: function() {\n\t\tDateComponent.call(this);\n\n\t\tif (this.dateSelectingClass) {\n\t\t\tthis.dateClicking = new this.dateClickingClass(this);\n\t\t}\n\n\t\tif (this.dateSelectingClass) {\n\t\t\tthis.dateSelecting = new this.dateSelectingClass(this);\n\t\t}\n\n\t\tif (this.eventPointingClass) {\n\t\t\tthis.eventPointing = new this.eventPointingClass(this);\n\t\t}\n\n\t\tif (this.eventDraggingClass && this.eventPointing) {\n\t\t\tthis.eventDragging = new this.eventDraggingClass(this, this.eventPointing);\n\t\t}\n\n\t\tif (this.eventResizingClass && this.eventPointing) {\n\t\t\tthis.eventResizing = new this.eventResizingClass(this, this.eventPointing);\n\t\t}\n\n\t\tif (this.externalDroppingClass) {\n\t\t\tthis.externalDropping = new this.externalDroppingClass(this);\n\t\t}\n\t},\n\n\n\t// Sets the container element that the view should render inside of, does global DOM-related initializations,\n\t// and renders all the non-date-related content inside.\n\tsetElement: function(el) {\n\t\tDateComponent.prototype.setElement.apply(this, arguments);\n\n\t\tif (this.dateClicking) {\n\t\t\tthis.dateClicking.bindToEl(el);\n\t\t}\n\n\t\tif (this.dateSelecting) {\n\t\t\tthis.dateSelecting.bindToEl(el);\n\t\t}\n\n\t\tthis.bindAllSegHandlersToEl(el);\n\t},\n\n\n\tunrender: function() {\n\t\tthis.endInteractions();\n\n\t\tDateComponent.prototype.unrender.apply(this, arguments);\n\t},\n\n\n\texecuteEventUnrender: function() {\n\t\tthis.endInteractions();\n\n\t\tDateComponent.prototype.executeEventUnrender.apply(this, arguments);\n\t},\n\n\n\tbindGlobalHandlers: function() {\n\t\tDateComponent.prototype.bindGlobalHandlers.apply(this, arguments);\n\n\t\tif (this.externalDropping) {\n\t\t\tthis.externalDropping.bindToDocument();\n\t\t}\n\t},\n\n\n\tunbindGlobalHandlers: function() {\n\t\tDateComponent.prototype.unbindGlobalHandlers.apply(this, arguments);\n\n\t\tif (this.externalDropping) {\n\t\t\tthis.externalDropping.unbindFromDocument();\n\t\t}\n\t},\n\n\n\tbindDateHandlerToEl: function(el, name, handler) {\n\t\tvar _this = this;\n\n\t\t// attach a handler to the grid's root element.\n\t\t// jQuery will take care of unregistering them when removeElement gets called.\n\t\tthis.el.on(name, function(ev) {\n\t\t\tif (\n\t\t\t\t!$(ev.target).is(\n\t\t\t\t\t_this.segSelector + ',' + // directly on an event element\n\t\t\t\t\t_this.segSelector + ' *,' + // within an event element\n\t\t\t\t\t'.fc-more,' + // a \"more..\" link\n\t\t\t\t\t'a[data-goto]' // a clickable nav link\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn handler.call(_this, ev);\n\t\t\t}\n\t\t});\n\t},\n\n\n\tbindAllSegHandlersToEl: function(el) {\n\t\t[\n\t\t\tthis.eventPointing,\n\t\t\tthis.eventDragging,\n\t\t\tthis.eventResizing\n\t\t].forEach(function(eventInteraction) {\n\t\t\tif (eventInteraction) {\n\t\t\t\teventInteraction.bindToEl(el);\n\t\t\t}\n\t\t});\n\t},\n\n\n\tbindSegHandlerToEl: function(el, name, handler) {\n\t\tvar _this = this;\n\n\t\tel.on(name, this.segSelector, function(ev) {\n\t\t\tvar seg = $(this).data('fc-seg'); // grab segment data. put there by View::renderEventsPayload\n\n\t\t\tif (seg && !_this.shouldIgnoreEventPointing()) {\n\t\t\t\treturn handler.call(_this, seg, ev); // context will be the Grid\n\t\t\t}\n\t\t});\n\t},\n\n\n\tshouldIgnoreMouse: function() {\n\t\t// HACK\n\t\t// This will still work even though bindDateHandlerToEl doesn't use GlobalEmitter.\n\t\treturn GlobalEmitter.get().shouldIgnoreMouse();\n\t},\n\n\n\tshouldIgnoreTouch: function() {\n\t\tvar view = this._getView();\n\n\t\t// On iOS (and Android?) when a new selection is initiated overtop another selection,\n\t\t// the touchend never fires because the elements gets removed mid-touch-interaction (my theory).\n\t\t// HACK: simply don't allow this to happen.\n\t\t// ALSO: prevent selection when an *event* is already raised.\n\t\treturn view.isSelected || view.selectedEvent;\n\t},\n\n\n\tshouldIgnoreEventPointing: function() {\n\t\t// only call the handlers if there is not a drag/resize in progress\n\t\treturn (this.eventDragging && this.eventDragging.isDragging) ||\n\t\t\t(this.eventResizing && this.eventResizing.isResizing);\n\t},\n\n\n\tcanStartSelection: function(seg, ev) {\n\t\treturn getEvIsTouch(ev) &&\n\t\t\t!this.canStartResize(seg, ev) &&\n\t\t\t(this.isEventDefDraggable(seg.footprint.eventDef) ||\n\t\t\t this.isEventDefResizable(seg.footprint.eventDef));\n\t},\n\n\n\tcanStartDrag: function(seg, ev) {\n\t\treturn !this.canStartResize(seg, ev) &&\n\t\t\tthis.isEventDefDraggable(seg.footprint.eventDef);\n\t},\n\n\n\tcanStartResize: function(seg, ev) {\n\t\tvar view = this._getView();\n\t\tvar eventDef = seg.footprint.eventDef;\n\n\t\treturn (!getEvIsTouch(ev) || view.isEventDefSelected(eventDef)) &&\n\t\t\tthis.isEventDefResizable(eventDef) &&\n\t\t\t$(ev.target).is('.fc-resizer');\n\t},\n\n\n\t// Kills all in-progress dragging.\n\t// Useful for when public API methods that result in re-rendering are invoked during a drag.\n\t// Also useful for when touch devices misbehave and don't fire their touchend.\n\tendInteractions: function() {\n\t\t[\n\t\t\tthis.dateClicking,\n\t\t\tthis.dateSelecting,\n\t\t\tthis.eventPointing,\n\t\t\tthis.eventDragging,\n\t\t\tthis.eventResizing\n\t\t].forEach(function(interaction) {\n\t\t\tif (interaction) {\n\t\t\t\tinteraction.end();\n\t\t\t}\n\t\t});\n\t},\n\n\n\t// Event Drag-n-Drop\n\t// ---------------------------------------------------------------------------------------------------------------\n\n\n\t// Computes if the given event is allowed to be dragged by the user\n\tisEventDefDraggable: function(eventDef) {\n\t\treturn this.isEventDefStartEditable(eventDef);\n\t},\n\n\n\tisEventDefStartEditable: function(eventDef) {\n\t\tvar isEditable = eventDef.isStartExplicitlyEditable();\n\n\t\tif (isEditable == null) {\n\t\t\tisEditable = this.opt('eventStartEditable');\n\n\t\t\tif (isEditable == null) {\n\t\t\t\tisEditable = this.isEventDefGenerallyEditable(eventDef);\n\t\t\t}\n\t\t}\n\n\t\treturn isEditable;\n\t},\n\n\n\tisEventDefGenerallyEditable: function(eventDef) {\n\t\tvar isEditable = eventDef.isExplicitlyEditable();\n\n\t\tif (isEditable == null) {\n\t\t\tisEditable = this.opt('editable');\n\t\t}\n\n\t\treturn isEditable;\n\t},\n\n\n\t// Event Resizing\n\t// ---------------------------------------------------------------------------------------------------------------\n\n\n\t// Computes if the given event is allowed to be resized from its starting edge\n\tisEventDefResizableFromStart: function(eventDef) {\n\t\treturn this.opt('eventResizableFromStart') && this.isEventDefResizable(eventDef);\n\t},\n\n\n\t// Computes if the given event is allowed to be resized from its ending edge\n\tisEventDefResizableFromEnd: function(eventDef) {\n\t\treturn this.isEventDefResizable(eventDef);\n\t},\n\n\n\t// Computes if the given event is allowed to be resized by the user at all\n\tisEventDefResizable: function(eventDef) {\n\t\tvar isResizable = eventDef.isDurationExplicitlyEditable();\n\n\t\tif (isResizable == null) {\n\t\t\tisResizable = this.opt('eventDurationEditable');\n\n\t\t\tif (isResizable == null) {\n\t\t\t\tisResizable = this.isEventDefGenerallyEditable(eventDef);\n\t\t\t}\n\t\t}\n\t\treturn isResizable;\n\t},\n\n\n\t// Event Mutation / Constraints\n\t// ---------------------------------------------------------------------------------------------------------------\n\n\n\t// Diffs the two dates, returning a duration, based on granularity of the grid\n\t// TODO: port isTimeScale into this system?\n\tdiffDates: function(a, b) {\n\t\tif (this.largeUnit) {\n\t\t\treturn diffByUnit(a, b, this.largeUnit);\n\t\t}\n\t\telse {\n\t\t\treturn diffDayTime(a, b);\n\t\t}\n\t},\n\n\n\t// is it allowed, in relation to the view's validRange?\n\t// NOTE: very similar to isExternalInstanceGroupAllowed\n\tisEventInstanceGroupAllowed: function(eventInstanceGroup) {\n\t\tvar view = this._getView();\n\t\tvar dateProfile = this.dateProfile;\n\t\tvar eventFootprints = this.eventRangesToEventFootprints(eventInstanceGroup.getAllEventRanges());\n\t\tvar i;\n\n\t\tfor (i = 0; i < eventFootprints.length; i++) {\n\t\t\t// TODO: just use getAllEventRanges directly\n\t\t\tif (!dateProfile.validUnzonedRange.containsRange(eventFootprints[i].componentFootprint.unzonedRange)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\treturn view.calendar.isEventInstanceGroupAllowed(eventInstanceGroup);\n\t},\n\n\n\t// NOTE: very similar to isEventInstanceGroupAllowed\n\t// when it's a completely anonymous external drag, no event.\n\tisExternalInstanceGroupAllowed: function(eventInstanceGroup) {\n\t\tvar view = this._getView();\n\t\tvar dateProfile = this.dateProfile;\n\t\tvar eventFootprints = this.eventRangesToEventFootprints(eventInstanceGroup.getAllEventRanges());\n\t\tvar i;\n\n\t\tfor (i = 0; i < eventFootprints.length; i++) {\n\t\t\tif (!dateProfile.validUnzonedRange.containsRange(eventFootprints[i].componentFootprint.unzonedRange)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0; i < eventFootprints.length; i++) {\n\t\t\t// treat it as a selection\n\t\t\t// TODO: pass in eventInstanceGroup instead\n\t\t\t//  because we don't want calendar's constraint system to depend on a component's\n\t\t\t//  determination of footprints.\n\t\t\tif (!view.calendar.isSelectionFootprintAllowed(eventFootprints[i].componentFootprint)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\treturn true;\n\t}\n\n});\n\n;;\n\n/*\nA set of rendering and date-related methods for a visual component comprised of one or more rows of day columns.\nPrerequisite: the object being mixed into needs to be a *Grid*\n*/\nvar DayTableMixin = FC.DayTableMixin = {\n\n\tbreakOnWeeks: false, // should create a new row for each week?\n\tdayDates: null, // whole-day dates for each column. left to right\n\tdayIndices: null, // for each day from start, the offset\n\tdaysPerRow: null,\n\trowCnt: null,\n\tcolCnt: null,\n\tcolHeadFormat: null,\n\n\n\t// Populates internal variables used for date calculation and rendering\n\tupdateDayTable: function() {\n\t\tvar view = this.view;\n\t\tvar calendar = view.calendar;\n\t\tvar date = calendar.msToUtcMoment(this.dateProfile.renderUnzonedRange.startMs, true);\n\t\tvar end = calendar.msToUtcMoment(this.dateProfile.renderUnzonedRange.endMs, true);\n\t\tvar dayIndex = -1;\n\t\tvar dayIndices = [];\n\t\tvar dayDates = [];\n\t\tvar daysPerRow;\n\t\tvar firstDay;\n\t\tvar rowCnt;\n\n\t\twhile (date.isBefore(end)) { // loop each day from start to end\n\t\t\tif (view.isHiddenDay(date)) {\n\t\t\t\tdayIndices.push(dayIndex + 0.5); // mark that it's between indices\n\t\t\t}\n\t\t\telse {\n\t\t\t\tdayIndex++;\n\t\t\t\tdayIndices.push(dayIndex);\n\t\t\t\tdayDates.push(date.clone());\n\t\t\t}\n\t\t\tdate.add(1, 'days');\n\t\t}\n\n\t\tif (this.breakOnWeeks) {\n\t\t\t// count columns until the day-of-week repeats\n\t\t\tfirstDay = dayDates[0].day();\n\t\t\tfor (daysPerRow = 1; daysPerRow < dayDates.length; daysPerRow++) {\n\t\t\t\tif (dayDates[daysPerRow].day() == firstDay) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\trowCnt = Math.ceil(dayDates.length / daysPerRow);\n\t\t}\n\t\telse {\n\t\t\trowCnt = 1;\n\t\t\tdaysPerRow = dayDates.length;\n\t\t}\n\n\t\tthis.dayDates = dayDates;\n\t\tthis.dayIndices = dayIndices;\n\t\tthis.daysPerRow = daysPerRow;\n\t\tthis.rowCnt = rowCnt;\n\n\t\tthis.updateDayTableCols();\n\t},\n\n\n\t// Computes and assigned the colCnt property and updates any options that may be computed from it\n\tupdateDayTableCols: function() {\n\t\tthis.colCnt = this.computeColCnt();\n\t\tthis.colHeadFormat = this.opt('columnFormat') || this.computeColHeadFormat();\n\t},\n\n\n\t// Determines how many columns there should be in the table\n\tcomputeColCnt: function() {\n\t\treturn this.daysPerRow;\n\t},\n\n\n\t// Computes the ambiguously-timed moment for the given cell\n\tgetCellDate: function(row, col) {\n\t\treturn this.dayDates[\n\t\t\t\tthis.getCellDayIndex(row, col)\n\t\t\t].clone();\n\t},\n\n\n\t// Computes the ambiguously-timed date range for the given cell\n\tgetCellRange: function(row, col) {\n\t\tvar start = this.getCellDate(row, col);\n\t\tvar end = start.clone().add(1, 'days');\n\n\t\treturn { start: start, end: end };\n\t},\n\n\n\t// Returns the number of day cells, chronologically, from the first of the grid (0-based)\n\tgetCellDayIndex: function(row, col) {\n\t\treturn row * this.daysPerRow + this.getColDayIndex(col);\n\t},\n\n\n\t// Returns the numner of day cells, chronologically, from the first cell in *any given row*\n\tgetColDayIndex: function(col) {\n\t\tif (this.isRTL) {\n\t\t\treturn this.colCnt - 1 - col;\n\t\t}\n\t\telse {\n\t\t\treturn col;\n\t\t}\n\t},\n\n\n\t// Given a date, returns its chronolocial cell-index from the first cell of the grid.\n\t// If the date lies between cells (because of hiddenDays), returns a floating-point value between offsets.\n\t// If before the first offset, returns a negative number.\n\t// If after the last offset, returns an offset past the last cell offset.\n\t// Only works for *start* dates of cells. Will not work for exclusive end dates for cells.\n\tgetDateDayIndex: function(date) {\n\t\tvar dayIndices = this.dayIndices;\n\t\tvar dayOffset = date.diff(this.dayDates[0], 'days');\n\n\t\tif (dayOffset < 0) {\n\t\t\treturn dayIndices[0] - 1;\n\t\t}\n\t\telse if (dayOffset >= dayIndices.length) {\n\t\t\treturn dayIndices[dayIndices.length - 1] + 1;\n\t\t}\n\t\telse {\n\t\t\treturn dayIndices[dayOffset];\n\t\t}\n\t},\n\n\n\t/* Options\n\t------------------------------------------------------------------------------------------------------------------*/\n\n\n\t// Computes a default column header formatting string if `colFormat` is not explicitly defined\n\tcomputeColHeadFormat: function() {\n\t\t// if more than one week row, or if there are a lot of columns with not much space,\n\t\t// put just the day numbers will be in each cell\n\t\tif (this.rowCnt > 1 || this.colCnt > 10) {\n\t\t\treturn 'ddd'; // \"Sat\"\n\t\t}\n\t\t// multiple days, so full single date string WON'T be in title text\n\t\telse if (this.colCnt > 1) {\n\t\t\treturn this.opt('dayOfMonthFormat'); // \"Sat 12/10\"\n\t\t}\n\t\t// single day, so full single date string will probably be in title text\n\t\telse {\n\t\t\treturn 'dddd'; // \"Saturday\"\n\t\t}\n\t},\n\n\n\t/* Slicing\n\t------------------------------------------------------------------------------------------------------------------*/\n\n\n\t// Slices up a date range into a segment for every week-row it intersects with\n\tsliceRangeByRow: function(unzonedRange) {\n\t\tvar daysPerRow = this.daysPerRow;\n\t\tvar normalRange = this.view.computeDayRange(unzonedRange); // make whole-day range, considering nextDayThreshold\n\t\tvar rangeFirst = this.getDateDayIndex(normalRange.start); // inclusive first index\n\t\tvar rangeLast = this.getDateDayIndex(normalRange.end.clone().subtract(1, 'days')); // inclusive last index\n\t\tvar segs = [];\n\t\tvar row;\n\t\tvar rowFirst, rowLast; // inclusive day-index range for current row\n\t\tvar segFirst, segLast; // inclusive day-index range for segment\n\n\t\tfor (row = 0; row < this.rowCnt; row++) {\n\t\t\trowFirst = row * daysPerRow;\n\t\t\trowLast = rowFirst + daysPerRow - 1;\n\n\t\t\t// intersect segment's offset range with the row's\n\t\t\tsegFirst = Math.max(rangeFirst, rowFirst);\n\t\t\tsegLast = Math.min(rangeLast, rowLast);\n\n\t\t\t// deal with in-between indices\n\t\t\tsegFirst = Math.ceil(segFirst); // in-between starts round to next cell\n\t\t\tsegLast = Math.floor(segLast); // in-between ends round to prev cell\n\n\t\t\tif (segFirst <= segLast) { // was there any intersection with the current row?\n\t\t\t\tsegs.push({\n\t\t\t\t\trow: row,\n\n\t\t\t\t\t// normalize to start of row\n\t\t\t\t\tfirstRowDayIndex: segFirst - rowFirst,\n\t\t\t\t\tlastRowDayIndex: segLast - rowFirst,\n\n\t\t\t\t\t// must be matching integers to be the segment's start/end\n\t\t\t\t\tisStart: segFirst === rangeFirst,\n\t\t\t\t\tisEnd: segLast === rangeLast\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\treturn segs;\n\t},\n\n\n\t// Slices up a date range into a segment for every day-cell it intersects with.\n\t// TODO: make more DRY with sliceRangeByRow somehow.\n\tsliceRangeByDay: function(unzonedRange) {\n\t\tvar daysPerRow = this.daysPerRow;\n\t\tvar normalRange = this.view.computeDayRange(unzonedRange); // make whole-day range, considering nextDayThreshold\n\t\tvar rangeFirst = this.getDateDayIndex(normalRange.start); // inclusive first index\n\t\tvar rangeLast = this.getDateDayIndex(normalRange.end.clone().subtract(1, 'days')); // inclusive last index\n\t\tvar segs = [];\n\t\tvar row;\n\t\tvar rowFirst, rowLast; // inclusive day-index range for current row\n\t\tvar i;\n\t\tvar segFirst, segLast; // inclusive day-index range for segment\n\n\t\tfor (row = 0; row < this.rowCnt; row++) {\n\t\t\trowFirst = row * daysPerRow;\n\t\t\trowLast = rowFirst + daysPerRow - 1;\n\n\t\t\tfor (i = rowFirst; i <= rowLast; i++) {\n\n\t\t\t\t// intersect segment's offset range with the row's\n\t\t\t\tsegFirst = Math.max(rangeFirst, i);\n\t\t\t\tsegLast = Math.min(rangeLast, i);\n\n\t\t\t\t// deal with in-between indices\n\t\t\t\tsegFirst = Math.ceil(segFirst); // in-between starts round to next cell\n\t\t\t\tsegLast = Math.floor(segLast); // in-between ends round to prev cell\n\n\t\t\t\tif (segFirst <= segLast) { // was there any intersection with the current row?\n\t\t\t\t\tsegs.push({\n\t\t\t\t\t\trow: row,\n\n\t\t\t\t\t\t// normalize to start of row\n\t\t\t\t\t\tfirstRowDayIndex: segFirst - rowFirst,\n\t\t\t\t\t\tlastRowDayIndex: segLast - rowFirst,\n\n\t\t\t\t\t\t// must be matching integers to be the segment's start/end\n\t\t\t\t\t\tisStart: segFirst === rangeFirst,\n\t\t\t\t\t\tisEnd: segLast === rangeLast\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn segs;\n\t},\n\n\n\t/* Header Rendering\n\t------------------------------------------------------------------------------------------------------------------*/\n\n\n\trenderHeadHtml: function() {\n\t\tvar theme = this.view.calendar.theme;\n\n\t\treturn '' +\n\t\t\t'<div class=\"fc-row ' + theme.getClass('headerRow') + '\">' +\n\t\t\t\t'<table class=\"' + theme.getClass('tableGrid') + '\">' +\n\t\t\t\t\t'<thead>' +\n\t\t\t\t\t\tthis.renderHeadTrHtml() +\n\t\t\t\t\t'</thead>' +\n\t\t\t\t'</table>' +\n\t\t\t'</div>';\n\t},\n\n\n\trenderHeadIntroHtml: function() {\n\t\treturn this.renderIntroHtml(); // fall back to generic\n\t},\n\n\n\trenderHeadTrHtml: function() {\n\t\treturn '' +\n\t\t\t'<tr>' +\n\t\t\t\t(this.isRTL ? '' : this.renderHeadIntroHtml()) +\n\t\t\t\tthis.renderHeadDateCellsHtml() +\n\t\t\t\t(this.isRTL ? this.renderHeadIntroHtml() : '') +\n\t\t\t'</tr>';\n\t},\n\n\n\trenderHeadDateCellsHtml: function() {\n\t\tvar htmls = [];\n\t\tvar col, date;\n\n\t\tfor (col = 0; col < this.colCnt; col++) {\n\t\t\tdate = this.getCellDate(0, col);\n\t\t\thtmls.push(this.renderHeadDateCellHtml(date));\n\t\t}\n\n\t\treturn htmls.join('');\n\t},\n\n\n\t// TODO: when internalApiVersion, accept an object for HTML attributes\n\t// (colspan should be no different)\n\trenderHeadDateCellHtml: function(date, colspan, otherAttrs) {\n\t\tvar view = this.view;\n\t\tvar isDateValid = this.dateProfile.activeUnzonedRange.containsDate(date); // TODO: called too frequently. cache somehow.\n\t\tvar classNames = [\n\t\t\t'fc-day-header',\n\t\t\tview.calendar.theme.getClass('widgetHeader')\n\t\t];\n\t\tvar innerHtml = htmlEscape(date.format(this.colHeadFormat));\n\n\t\t// if only one row of days, the classNames on the header can represent the specific days beneath\n\t\tif (this.rowCnt === 1) {\n\t\t\tclassNames = classNames.concat(\n\t\t\t\t// includes the day-of-week class\n\t\t\t\t// noThemeHighlight=true (don't highlight the header)\n\t\t\t\tthis.getDayClasses(date, true)\n\t\t\t);\n\t\t}\n\t\telse {\n\t\t\tclassNames.push('fc-' + dayIDs[date.day()]); // only add the day-of-week class\n\t\t}\n\n\t\treturn '' +\n            '<th class=\"' + classNames.join(' ') + '\"' +\n\t\t\t\t((isDateValid && this.rowCnt) === 1 ?\n\t\t\t\t\t' data-date=\"' + date.format('YYYY-MM-DD') + '\"' :\n\t\t\t\t\t'') +\n\t\t\t\t(colspan > 1 ?\n\t\t\t\t\t' colspan=\"' + colspan + '\"' :\n\t\t\t\t\t'') +\n\t\t\t\t(otherAttrs ?\n\t\t\t\t\t' ' + otherAttrs :\n\t\t\t\t\t'') +\n\t\t\t\t'>' +\n\t\t\t\t(isDateValid ?\n\t\t\t\t\t// don't make a link if the heading could represent multiple days, or if there's only one day (forceOff)\n\t\t\t\t\tview.buildGotoAnchorHtml(\n\t\t\t\t\t\t{ date: date, forceOff: this.rowCnt > 1 || this.colCnt === 1 },\n\t\t\t\t\t\tinnerHtml\n\t\t\t\t\t) :\n\t\t\t\t\t// if not valid, display text, but no link\n\t\t\t\t\tinnerHtml\n\t\t\t\t) +\n\t\t\t'</th>';\n\t},\n\n\n\t/* Background Rendering\n\t------------------------------------------------------------------------------------------------------------------*/\n\n\n\trenderBgTrHtml: function(row) {\n\t\treturn '' +\n\t\t\t'<tr>' +\n\t\t\t\t(this.isRTL ? '' : this.renderBgIntroHtml(row)) +\n\t\t\t\tthis.renderBgCellsHtml(row) +\n\t\t\t\t(this.isRTL ? this.renderBgIntroHtml(row) : '') +\n\t\t\t'</tr>';\n\t},\n\n\n\trenderBgIntroHtml: function(row) {\n\t\treturn this.renderIntroHtml(); // fall back to generic\n\t},\n\n\n\trenderBgCellsHtml: function(row) {\n\t\tvar htmls = [];\n\t\tvar col, date;\n\n\t\tfor (col = 0; col < this.colCnt; col++) {\n\t\t\tdate = this.getCellDate(row, col);\n\t\t\thtmls.push(this.renderBgCellHtml(date));\n\t\t}\n\n\t\treturn htmls.join('');\n\t},\n\n\n\trenderBgCellHtml: function(date, otherAttrs) {\n\t\tvar view = this.view;\n\t\tvar isDateValid = this.dateProfile.activeUnzonedRange.containsDate(date); // TODO: called too frequently. cache somehow.\n\t\tvar classes = this.getDayClasses(date);\n\n\t\tclasses.unshift('fc-day', view.calendar.theme.getClass('widgetContent'));\n\n\t\treturn '<td class=\"' + classes.join(' ') + '\"' +\n\t\t\t(isDateValid ?\n\t\t\t\t' data-date=\"' + date.format('YYYY-MM-DD') + '\"' : // if date has a time, won't format it\n\t\t\t\t'') +\n\t\t\t(otherAttrs ?\n\t\t\t\t' ' + otherAttrs :\n\t\t\t\t'') +\n\t\t\t'></td>';\n\t},\n\n\n\t/* Generic\n\t------------------------------------------------------------------------------------------------------------------*/\n\n\n\t// Generates the default HTML intro for any row. User classes should override\n\trenderIntroHtml: function() {\n\t},\n\n\n\t// TODO: a generic method for dealing with <tr>, RTL, intro\n\t// when increment internalApiVersion\n\t// wrapTr (scheduler)\n\n\n\t/* Utils\n\t------------------------------------------------------------------------------------------------------------------*/\n\n\n\t// Applies the generic \"intro\" and \"outro\" HTML to the given cells.\n\t// Intro means the leftmost cell when the calendar is LTR and the rightmost cell when RTL. Vice-versa for outro.\n\tbookendCells: function(trEl) {\n\t\tvar introHtml = this.renderIntroHtml();\n\n\t\tif (introHtml) {\n\t\t\tif (this.isRTL) {\n\t\t\t\ttrEl.append(introHtml);\n\t\t\t}\n\t\t\telse {\n\t\t\t\ttrEl.prepend(introHtml);\n\t\t\t}\n\t\t}\n\t}\n\n};\n\n;;\n\n/* An abstract class from which other views inherit from\n----------------------------------------------------------------------------------------------------------------------*/\n\nvar View = FC.View = InteractiveDateComponent.extend({\n\n\ttype: null, // subclass' view name (string)\n\tname: null, // deprecated. use `type` instead\n\ttitle: null, // the text that will be displayed in the header's title\n\n\tcalendar: null, // owner Calendar object\n\tviewSpec: null,\n\toptions: null, // hash containing all options. already merged with view-specific-options\n\n\trenderQueue: null,\n\tbatchRenderDepth: 0,\n\tqueuedScroll: null,\n\n\tisSelected: false, // boolean whether a range of time is user-selected or not\n\tselectedEventInstance: null,\n\n\teventOrderSpecs: null, // criteria for ordering events when they have same date/time\n\n\t// for date utils, computed from options\n\tisHiddenDayHash: null,\n\n\t// now indicator\n\tisNowIndicatorRendered: null,\n\tinitialNowDate: null, // result first getNow call\n\tinitialNowQueriedMs: null, // ms time the getNow was called\n\tnowIndicatorTimeoutID: null, // for refresh timing of now indicator\n\tnowIndicatorIntervalID: null, // \"\n\n\tconstructor: function(calendar, viewSpec) {\n\t\tthis.calendar = calendar;\n\t\tthis.viewSpec = viewSpec;\n\n\t\t// shortcuts\n\t\tthis.type = viewSpec.type;\n\t\tthis.options = viewSpec.options;\n\n\t\t// .name is deprecated\n\t\tthis.name = this.type;\n\n\t\tInteractiveDateComponent.call(this);\n\n\t\tthis.initRenderQueue();\n\t\tthis.initHiddenDays();\n\t\tthis.bindBaseRenderHandlers();\n\t\tthis.eventOrderSpecs = parseFieldSpecs(this.opt('eventOrder'));\n\n\t\t// legacy\n\t\tif (this.initialize) {\n\t\t\tthis.initialize();\n\t\t}\n\t},\n\n\n\t_getView: function() {\n\t\treturn this;\n\t},\n\n\n\t// Retrieves an option with the given name\n\topt: function(name) {\n\t\treturn this.options[name];\n\t},\n\n\n\t/* Render Queue\n\t------------------------------------------------------------------------------------------------------------------*/\n\n\n\tinitRenderQueue: function() {\n\t\tthis.renderQueue = new RenderQueue({\n\t\t\tevent: this.opt('eventRenderWait')\n\t\t});\n\n\t\tthis.renderQueue.on('start', this.onRenderQueueStart.bind(this));\n\t\tthis.renderQueue.on('stop', this.onRenderQueueStop.bind(this));\n\n\t\tthis.on('before:change', this.startBatchRender);\n\t\tthis.on('change', this.stopBatchRender);\n\t},\n\n\n\tonRenderQueueStart: function() {\n\t\tthis.calendar.freezeContentHeight();\n\t\tthis.addScroll(this.queryScroll());\n\t},\n\n\n\tonRenderQueueStop: function() {\n\t\tif (this.calendar.updateViewSize()) { // success?\n\t\t\tthis.popScroll();\n\t\t}\n\t\tthis.calendar.thawContentHeight();\n\t},\n\n\n\tstartBatchRender: function() {\n\t\tif (!(this.batchRenderDepth++)) {\n\t\t\tthis.renderQueue.pause();\n\t\t}\n\t},\n\n\n\tstopBatchRender: function() {\n\t\tif (!(--this.batchRenderDepth)) {\n\t\t\tthis.renderQueue.resume();\n\t\t}\n\t},\n\n\n\trequestRender: function(func, namespace, actionType) {\n\t\tthis.renderQueue.queue(func, namespace, actionType);\n\t},\n\n\n\t// given func will auto-bind to `this`\n\twhenSizeUpdated: function(func) {\n\t\tif (this.renderQueue.isRunning) {\n\t\t\tthis.renderQueue.one('stop', func.bind(this));\n\t\t}\n\t\telse {\n\t\t\tfunc.call(this);\n\t\t}\n\t},\n\n\n\t/* Title and Date Formatting\n\t------------------------------------------------------------------------------------------------------------------*/\n\n\n\t// Computes what the title at the top of the calendar should be for this view\n\tcomputeTitle: function(dateProfile) {\n\t\tvar unzonedRange;\n\n\t\t// for views that span a large unit of time, show the proper interval, ignoring stray days before and after\n\t\tif (/^(year|month)$/.test(dateProfile.currentRangeUnit)) {\n\t\t\tunzonedRange = dateProfile.currentUnzonedRange;\n\t\t}\n\t\telse { // for day units or smaller, use the actual day range\n\t\t\tunzonedRange = dateProfile.activeUnzonedRange;\n\t\t}\n\n\t\treturn this.formatRange(\n\t\t\t{\n\t\t\t\tstart: this.calendar.msToMoment(unzonedRange.startMs, dateProfile.isRangeAllDay),\n\t\t\t\tend: this.calendar.msToMoment(unzonedRange.endMs, dateProfile.isRangeAllDay)\n\t\t\t},\n\t\t\tdateProfile.isRangeAllDay,\n\t\t\tthis.opt('titleFormat') || this.computeTitleFormat(dateProfile),\n\t\t\tthis.opt('titleRangeSeparator')\n\t\t);\n\t},\n\n\n\t// Generates the format string that should be used to generate the title for the current date range.\n\t// Attempts to compute the most appropriate format if not explicitly specified with `titleFormat`.\n\tcomputeTitleFormat: function(dateProfile) {\n\t\tvar currentRangeUnit = dateProfile.currentRangeUnit;\n\n\t\tif (currentRangeUnit == 'year') {\n\t\t\treturn 'YYYY';\n\t\t}\n\t\telse if (currentRangeUnit == 'month') {\n\t\t\treturn this.opt('monthYearFormat'); // like \"September 2014\"\n\t\t}\n\t\telse if (dateProfile.currentUnzonedRange.as('days') > 1) {\n\t\t\treturn 'll'; // multi-day range. shorter, like \"Sep 9 - 10 2014\"\n\t\t}\n\t\telse {\n\t\t\treturn 'LL'; // one day. longer, like \"September 9 2014\"\n\t\t}\n\t},\n\n\n\t// Date Setting/Unsetting\n\t// -----------------------------------------------------------------------------------------------------------------\n\n\n\tsetDate: function(date) {\n\t\tvar currentDateProfile = this.get('dateProfile');\n\t\tvar newDateProfile = this.buildDateProfile(date, null, true); // forceToValid=true\n\n\t\tif (\n\t\t\t!currentDateProfile ||\n\t\t\t!currentDateProfile.activeUnzonedRange.equals(newDateProfile.activeUnzonedRange)\n\t\t) {\n\t\t\tthis.set('dateProfile', newDateProfile);\n\t\t}\n\t},\n\n\n\tunsetDate: function() {\n\t\tthis.unset('dateProfile');\n\t},\n\n\n\t// Event Data\n\t// -----------------------------------------------------------------------------------------------------------------\n\n\n\tfetchInitialEvents: function(dateProfile) {\n\t\tvar calendar = this.calendar;\n\t\tvar forceAllDay = dateProfile.isRangeAllDay && !this.usesMinMaxTime;\n\n\t\treturn calendar.requestEvents(\n\t\t\tcalendar.msToMoment(dateProfile.activeUnzonedRange.startMs, forceAllDay),\n\t\t\tcalendar.msToMoment(dateProfile.activeUnzonedRange.endMs, forceAllDay)\n\t\t);\n\t},\n\n\n\tbindEventChanges: function() {\n\t\tthis.listenTo(this.calendar, 'eventsReset', this.resetEvents); // TODO: make this a real event\n\t},\n\n\n\tunbindEventChanges: function() {\n\t\tthis.stopListeningTo(this.calendar, 'eventsReset');\n\t},\n\n\n\tsetEvents: function(eventsPayload) {\n\t\tthis.set('currentEvents', eventsPayload);\n\t\tthis.set('hasEvents', true);\n\t},\n\n\n\tunsetEvents: function() {\n\t\tthis.unset('currentEvents');\n\t\tthis.unset('hasEvents');\n\t},\n\n\n\tresetEvents: function(eventsPayload) {\n\t\tthis.startBatchRender();\n\t\tthis.unsetEvents();\n\t\tthis.setEvents(eventsPayload);\n\t\tthis.stopBatchRender();\n\t},\n\n\n\t// Date High-level Rendering\n\t// -----------------------------------------------------------------------------------------------------------------\n\n\n\trequestDateRender: function(dateProfile) {\n\t\tvar _this = this;\n\n\t\tthis.requestRender(function() {\n\t\t\t_this.executeDateRender(dateProfile);\n\t\t}, 'date', 'init');\n\t},\n\n\n\trequestDateUnrender: function() {\n\t\tvar _this = this;\n\n\t\tthis.requestRender(function() {\n\t\t\t_this.executeDateUnrender();\n\t\t}, 'date', 'destroy');\n\t},\n\n\n\t// if dateProfile not specified, uses current\n\texecuteDateRender: function(dateProfile) {\n\t\tDateComponent.prototype.executeDateRender.apply(this, arguments);\n\n\t\tif (this.render) {\n\t\t\tthis.render(); // TODO: deprecate\n\t\t}\n\n\t\tthis.trigger('datesRendered');\n\t\tthis.addScroll({ isDateInit: true });\n\t\tthis.startNowIndicator(); // shouldn't render yet because updateSize will be called soon\n\t},\n\n\n\texecuteDateUnrender: function() {\n\t\tthis.unselect();\n\t\tthis.stopNowIndicator();\n\t\tthis.trigger('before:datesUnrendered');\n\n\t\tif (this.destroy) {\n\t\t\tthis.destroy(); // TODO: deprecate\n\t\t}\n\n\t\tDateComponent.prototype.executeDateUnrender.apply(this, arguments);\n\t},\n\n\n\t// \"Base\" rendering\n\t// -----------------------------------------------------------------------------------------------------------------\n\n\n\tbindBaseRenderHandlers: function() {\n\t\tvar _this = this;\n\n\t\tthis.on('datesRendered', function() {\n\t\t\t_this.whenSizeUpdated(\n\t\t\t\t_this.triggerViewRender\n\t\t\t);\n\t\t});\n\n\t\tthis.on('before:datesUnrendered', function() {\n\t\t\t_this.triggerViewDestroy();\n\t\t});\n\t},\n\n\n\ttriggerViewRender: function() {\n\t\tthis.publiclyTrigger('viewRender', {\n\t\t\tcontext: this,\n\t\t\targs: [ this, this.el ]\n\t\t});\n\t},\n\n\n\ttriggerViewDestroy: function() {\n\t\tthis.publiclyTrigger('viewDestroy', {\n\t\t\tcontext: this,\n\t\t\targs: [ this, this.el ]\n\t\t});\n\t},\n\n\n\t// Event High-level Rendering\n\t// -----------------------------------------------------------------------------------------------------------------\n\n\n\trequestEventsRender: function(eventsPayload) {\n\t\tvar _this = this;\n\n\t\tthis.requestRender(function() {\n\t\t\t_this.executeEventRender(eventsPayload);\n\t\t\t_this.whenSizeUpdated(\n\t\t\t\t_this.triggerAfterEventsRendered\n\t\t\t);\n\t\t}, 'event', 'init');\n\t},\n\n\n\trequestEventsUnrender: function() {\n\t\tvar _this = this;\n\n\t\tthis.requestRender(function() {\n\t\t\t_this.triggerBeforeEventsDestroyed();\n\t\t\t_this.executeEventUnrender();\n\t\t}, 'event', 'destroy');\n\t},\n\n\n\t// Business Hour High-level Rendering\n\t// -----------------------------------------------------------------------------------------------------------------\n\n\n\trequestBusinessHoursRender: function(businessHourGenerator) {\n\t\tvar _this = this;\n\n\t\tthis.requestRender(function() {\n\t\t\t_this.renderBusinessHours(businessHourGenerator);\n\t\t}, 'businessHours', 'init');\n\t},\n\n\trequestBusinessHoursUnrender: function() {\n\t\tvar _this = this;\n\n\t\tthis.requestRender(function() {\n\t\t\t_this.unrenderBusinessHours();\n\t\t}, 'businessHours', 'destroy');\n\t},\n\n\n\t// Misc view rendering utils\n\t// -----------------------------------------------------------------------------------------------------------------\n\n\n\t// Binds DOM handlers to elements that reside outside the view container, such as the document\n\tbindGlobalHandlers: function() {\n\t\tInteractiveDateComponent.prototype.bindGlobalHandlers.apply(this, arguments);\n\n\t\tthis.listenTo(GlobalEmitter.get(), {\n\t\t\ttouchstart: this.processUnselect,\n\t\t\tmousedown: this.handleDocumentMousedown\n\t\t});\n\t},\n\n\n\t// Unbinds DOM handlers from elements that reside outside the view container\n\tunbindGlobalHandlers: function() {\n\t\tInteractiveDateComponent.prototype.unbindGlobalHandlers.apply(this, arguments);\n\n\t\tthis.stopListeningTo(GlobalEmitter.get());\n\t},\n\n\n\t/* Now Indicator\n\t------------------------------------------------------------------------------------------------------------------*/\n\n\n\t// Immediately render the current time indicator and begins re-rendering it at an interval,\n\t// which is defined by this.getNowIndicatorUnit().\n\t// TODO: somehow do this for the current whole day's background too\n\tstartNowIndicator: function() {\n\t\tvar _this = this;\n\t\tvar unit;\n\t\tvar update;\n\t\tvar delay; // ms wait value\n\n\t\tif (this.opt('nowIndicator')) {\n\t\t\tunit = this.getNowIndicatorUnit();\n\t\t\tif (unit) {\n\t\t\t\tupdate = proxy(this, 'updateNowIndicator'); // bind to `this`\n\n\t\t\t\tthis.initialNowDate = this.calendar.getNow();\n\t\t\t\tthis.initialNowQueriedMs = +new Date();\n\n\t\t\t\t// wait until the beginning of the next interval\n\t\t\t\tdelay = this.initialNowDate.clone().startOf(unit).add(1, unit) - this.initialNowDate;\n\t\t\t\tthis.nowIndicatorTimeoutID = setTimeout(function() {\n\t\t\t\t\t_this.nowIndicatorTimeoutID = null;\n\t\t\t\t\tupdate();\n\t\t\t\t\tdelay = +moment.duration(1, unit);\n\t\t\t\t\tdelay = Math.max(100, delay); // prevent too frequent\n\t\t\t\t\t_this.nowIndicatorIntervalID = setInterval(update, delay); // update every interval\n\t\t\t\t}, delay);\n\t\t\t}\n\n\t\t\t// rendering will be initiated in updateSize\n\t\t}\n\t},\n\n\n\t// rerenders the now indicator, computing the new current time from the amount of time that has passed\n\t// since the initial getNow call.\n\tupdateNowIndicator: function() {\n\t\tif (\n\t\t\tthis.isDatesRendered &&\n\t\t\tthis.initialNowDate // activated before?\n\t\t) {\n\t\t\tthis.unrenderNowIndicator(); // won't unrender if unnecessary\n\t\t\tthis.renderNowIndicator(\n\t\t\t\tthis.initialNowDate.clone().add(new Date() - this.initialNowQueriedMs) // add ms\n\t\t\t);\n\t\t\tthis.isNowIndicatorRendered = true;\n\t\t}\n\t},\n\n\n\t// Immediately unrenders the view's current time indicator and stops any re-rendering timers.\n\t// Won't cause side effects if indicator isn't rendered.\n\tstopNowIndicator: function() {\n\t\tif (this.isNowIndicatorRendered) {\n\n\t\t\tif (this.nowIndicatorTimeoutID) {\n\t\t\t\tclearTimeout(this.nowIndicatorTimeoutID);\n\t\t\t\tthis.nowIndicatorTimeoutID = null;\n\t\t\t}\n\t\t\tif (this.nowIndicatorIntervalID) {\n\t\t\t\tclearInterval(this.nowIndicatorIntervalID);\n\t\t\t\tthis.nowIndicatorIntervalID = null;\n\t\t\t}\n\n\t\t\tthis.unrenderNowIndicator();\n\t\t\tthis.isNowIndicatorRendered = false;\n\t\t}\n\t},\n\n\n\t/* Dimensions\n\t------------------------------------------------------------------------------------------------------------------*/\n\n\n\tupdateSize: function(totalHeight, isAuto, isResize) {\n\n\t\tif (this.setHeight) { // for legacy API\n\t\t\tthis.setHeight(totalHeight, isAuto);\n\t\t}\n\t\telse {\n\t\t\tInteractiveDateComponent.prototype.updateSize.apply(this, arguments);\n\t\t}\n\n\t\tthis.updateNowIndicator();\n\t},\n\n\n\t/* Scroller\n\t------------------------------------------------------------------------------------------------------------------*/\n\n\n\taddScroll: function(scroll) {\n\t\tvar queuedScroll = this.queuedScroll || (this.queuedScroll = {});\n\n\t\t$.extend(queuedScroll, scroll);\n\t},\n\n\n\tpopScroll: function() {\n\t\tthis.applyQueuedScroll();\n\t\tthis.queuedScroll = null;\n\t},\n\n\n\tapplyQueuedScroll: function() {\n\t\tif (this.queuedScroll) {\n\t\t\tthis.applyScroll(this.queuedScroll);\n\t\t}\n\t},\n\n\n\tqueryScroll: function() {\n\t\tvar scroll = {};\n\n\t\tif (this.isDatesRendered) {\n\t\t\t$.extend(scroll, this.queryDateScroll());\n\t\t}\n\n\t\treturn scroll;\n\t},\n\n\n\tapplyScroll: function(scroll) {\n\t\tif (scroll.isDateInit && this.isDatesRendered) {\n\t\t\t$.extend(scroll, this.computeInitialDateScroll());\n\t\t}\n\n\t\tif (this.isDatesRendered) {\n\t\t\tthis.applyDateScroll(scroll);\n\t\t}\n\t},\n\n\n\tcomputeInitialDateScroll: function() {\n\t\treturn {}; // subclasses must implement\n\t},\n\n\n\tqueryDateScroll: function() {\n\t\treturn {}; // subclasses must implement\n\t},\n\n\n\tapplyDateScroll: function(scroll) {\n\t\t; // subclasses must implement\n\t},\n\n\n\t/* Event Drag-n-Drop\n\t------------------------------------------------------------------------------------------------------------------*/\n\n\n\treportEventDrop: function(eventInstance, eventMutation, el, ev) {\n\t\tvar eventManager = this.calendar.eventManager;\n\t\tvar undoFunc = eventManager.mutateEventsWithId(\n\t\t\teventInstance.def.id,\n\t\t\teventMutation,\n\t\t\tthis.calendar\n\t\t);\n\t\tvar dateMutation = eventMutation.dateMutation;\n\n\t\t// update the EventInstance, for handlers\n\t\tif (dateMutation) {\n\t\t\teventInstance.dateProfile = dateMutation.buildNewDateProfile(\n\t\t\t\teventInstance.dateProfile,\n\t\t\t\tthis.calendar\n\t\t\t);\n\t\t}\n\n\t\tthis.triggerEventDrop(\n\t\t\teventInstance,\n\t\t\t// a drop doesn't necessarily mean a date mutation (ex: resource change)\n\t\t\t(dateMutation && dateMutation.dateDelta) || moment.duration(),\n\t\t\tundoFunc,\n\t\t\tel, ev\n\t\t);\n\t},\n\n\n\t// Triggers event-drop handlers that have subscribed via the API\n\ttriggerEventDrop: function(eventInstance, dateDelta, undoFunc, el, ev) {\n\t\tthis.publiclyTrigger('eventDrop', {\n\t\t\tcontext: el[0],\n\t\t\targs: [\n\t\t\t\teventInstance.toLegacy(),\n\t\t\t\tdateDelta,\n\t\t\t\tundoFunc,\n\t\t\t\tev,\n\t\t\t\t{}, // {} = jqui dummy\n\t\t\t\tthis\n\t\t\t]\n\t\t});\n\t},\n\n\n\t/* External Element Drag-n-Drop\n\t------------------------------------------------------------------------------------------------------------------*/\n\n\n\t// Must be called when an external element, via jQuery UI, has been dropped onto the calendar.\n\t// `meta` is the parsed data that has been embedded into the dragging event.\n\t// `dropLocation` is an object that contains the new zoned start/end/allDay values for the event.\n\treportExternalDrop: function(singleEventDef, isEvent, isSticky, el, ev, ui) {\n\n\t\tif (isEvent) {\n\t\t\tthis.calendar.eventManager.addEventDef(singleEventDef, isSticky);\n\t\t}\n\n\t\tthis.triggerExternalDrop(singleEventDef, isEvent, el, ev, ui);\n\t},\n\n\n\t// Triggers external-drop handlers that have subscribed via the API\n\ttriggerExternalDrop: function(singleEventDef, isEvent, el, ev, ui) {\n\n\t\t// trigger 'drop' regardless of whether element represents an event\n\t\tthis.publiclyTrigger('drop', {\n\t\t\tcontext: el[0],\n\t\t\targs: [\n\t\t\t\tsingleEventDef.dateProfile.start.clone(),\n\t\t\t\tev,\n\t\t\t\tui,\n\t\t\t\tthis\n\t\t\t]\n\t\t});\n\n\t\tif (isEvent) {\n\t\t\t// signal an external event landed\n\t\t\tthis.publiclyTrigger('eventReceive', {\n\t\t\t\tcontext: this,\n\t\t\t\targs: [\n\t\t\t\t\tsingleEventDef.buildInstance().toLegacy(),\n\t\t\t\t\tthis\n\t\t\t\t]\n\t\t\t});\n\t\t}\n\t},\n\n\n\t/* Event Resizing\n\t------------------------------------------------------------------------------------------------------------------*/\n\n\n\t// Must be called when an event in the view has been resized to a new length\n\treportEventResize: function(eventInstance, eventMutation, el, ev) {\n\t\tvar eventManager = this.calendar.eventManager;\n\t\tvar undoFunc = eventManager.mutateEventsWithId(\n\t\t\teventInstance.def.id,\n\t\t\teventMutation,\n\t\t\tthis.calendar\n\t\t);\n\n\t\t// update the EventInstance, for handlers\n\t\teventInstance.dateProfile = eventMutation.dateMutation.buildNewDateProfile(\n\t\t\teventInstance.dateProfile,\n\t\t\tthis.calendar\n\t\t);\n\n\t\tthis.triggerEventResize(\n\t\t\teventInstance,\n\t\t\teventMutation.dateMutation.endDelta,\n\t\t\tundoFunc,\n\t\t\tel, ev\n\t\t);\n\t},\n\n\n\t// Triggers event-resize handlers that have subscribed via the API\n\ttriggerEventResize: function(eventInstance, durationDelta, undoFunc, el, ev) {\n\t\tthis.publiclyTrigger('eventResize', {\n\t\t\tcontext: el[0],\n\t\t\targs: [\n\t\t\t\teventInstance.toLegacy(),\n\t\t\t\tdurationDelta,\n\t\t\t\tundoFunc,\n\t\t\t\tev,\n\t\t\t\t{}, // {} = jqui dummy\n\t\t\t\tthis\n\t\t\t]\n\t\t});\n\t},\n\n\n\t/* Selection (time range)\n\t------------------------------------------------------------------------------------------------------------------*/\n\n\n\t// Selects a date span on the view. `start` and `end` are both Moments.\n\t// `ev` is the native mouse event that begin the interaction.\n\tselect: function(footprint, ev) {\n\t\tthis.unselect(ev);\n\t\tthis.renderSelectionFootprint(footprint);\n\t\tthis.reportSelection(footprint, ev);\n\t},\n\n\n\trenderSelectionFootprint: function(footprint, ev) {\n\t\tif (this.renderSelection) { // legacy method in custom view classes\n\t\t\tthis.renderSelection(\n\t\t\t\tfootprint.toLegacy(this.calendar)\n\t\t\t);\n\t\t}\n\t\telse {\n\t\t\tInteractiveDateComponent.prototype.renderSelectionFootprint.apply(this, arguments);\n\t\t}\n\t},\n\n\n\t// Called when a new selection is made. Updates internal state and triggers handlers.\n\treportSelection: function(footprint, ev) {\n\t\tthis.isSelected = true;\n\t\tthis.triggerSelect(footprint, ev);\n\t},\n\n\n\t// Triggers handlers to 'select'\n\ttriggerSelect: function(footprint, ev) {\n\t\tvar dateProfile = this.calendar.footprintToDateProfile(footprint); // abuse of \"Event\"DateProfile?\n\n\t\tthis.publiclyTrigger('select', {\n\t\t\tcontext: this,\n\t\t\targs: [\n\t\t\t\tdateProfile.start,\n\t\t\t\tdateProfile.end,\n\t\t\t\tev,\n\t\t\t\tthis\n\t\t\t]\n\t\t});\n\t},\n\n\n\t// Undoes a selection. updates in the internal state and triggers handlers.\n\t// `ev` is the native mouse event that began the interaction.\n\tunselect: function(ev) {\n\t\tif (this.isSelected) {\n\t\t\tthis.isSelected = false;\n\t\t\tif (this.destroySelection) {\n\t\t\t\tthis.destroySelection(); // TODO: deprecate\n\t\t\t}\n\t\t\tthis.unrenderSelection();\n\t\t\tthis.publiclyTrigger('unselect', {\n\t\t\t\tcontext: this,\n\t\t\t\targs: [ ev, this ]\n\t\t\t});\n\t\t}\n\t},\n\n\n\t/* Event Selection\n\t------------------------------------------------------------------------------------------------------------------*/\n\n\n\tselectEventInstance: function(eventInstance) {\n\t\tif (\n\t\t\t!this.selectedEventInstance ||\n\t\t\tthis.selectedEventInstance !== eventInstance\n\t\t) {\n\t\t\tthis.unselectEventInstance();\n\n\t\t\tthis.getEventSegs().forEach(function(seg) {\n\t\t\t\tif (\n\t\t\t\t\tseg.footprint.eventInstance === eventInstance &&\n\t\t\t\t\tseg.el // necessary?\n\t\t\t\t) {\n\t\t\t\t\tseg.el.addClass('fc-selected');\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tthis.selectedEventInstance = eventInstance;\n\t\t}\n\t},\n\n\n\tunselectEventInstance: function() {\n\t\tif (this.selectedEventInstance) {\n\n\t\t\tthis.getEventSegs().forEach(function(seg) {\n\t\t\t\tif (seg.el) { // necessary?\n\t\t\t\t\tseg.el.removeClass('fc-selected');\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tthis.selectedEventInstance = null;\n\t\t}\n\t},\n\n\n\tisEventDefSelected: function(eventDef) {\n\t\t// event references might change on refetchEvents(), while selectedEventInstance doesn't,\n\t\t// so compare IDs\n\t\treturn this.selectedEventInstance && this.selectedEventInstance.def.id === eventDef.id;\n\t},\n\n\n\t/* Mouse / Touch Unselecting (time range & event unselection)\n\t------------------------------------------------------------------------------------------------------------------*/\n\t// TODO: move consistently to down/start or up/end?\n\t// TODO: don't kill previous selection if touch scrolling\n\n\n\thandleDocumentMousedown: function(ev) {\n\t\tif (isPrimaryMouseButton(ev)) {\n\t\t\tthis.processUnselect(ev);\n\t\t}\n\t},\n\n\n\tprocessUnselect: function(ev) {\n\t\tthis.processRangeUnselect(ev);\n\t\tthis.processEventUnselect(ev);\n\t},\n\n\n\tprocessRangeUnselect: function(ev) {\n\t\tvar ignore;\n\n\t\t// is there a time-range selection?\n\t\tif (this.isSelected && this.opt('unselectAuto')) {\n\t\t\t// only unselect if the clicked element is not identical to or inside of an 'unselectCancel' element\n\t\t\tignore = this.opt('unselectCancel');\n\t\t\tif (!ignore || !$(ev.target).closest(ignore).length) {\n\t\t\t\tthis.unselect(ev);\n\t\t\t}\n\t\t}\n\t},\n\n\n\tprocessEventUnselect: function(ev) {\n\t\tif (this.selectedEventInstance) {\n\t\t\tif (!$(ev.target).closest('.fc-selected').length) {\n\t\t\t\tthis.unselectEventInstance();\n\t\t\t}\n\t\t}\n\t},\n\n\n\t/* Triggers\n\t------------------------------------------------------------------------------------------------------------------*/\n\n\n\ttriggerBaseRendered: function() {\n\t\tthis.publiclyTrigger('viewRender', {\n\t\t\tcontext: this,\n\t\t\targs: [ this, this.el ]\n\t\t});\n\t},\n\n\n\ttriggerBaseUnrendered: function() {\n\t\tthis.publiclyTrigger('viewDestroy', {\n\t\t\tcontext: this,\n\t\t\targs: [ this, this.el ]\n\t\t});\n\t},\n\n\n\t// Triggers handlers to 'dayClick'\n\t// Span has start/end of the clicked area. Only the start is useful.\n\ttriggerDayClick: function(footprint, dayEl, ev) {\n\t\tvar dateProfile = this.calendar.footprintToDateProfile(footprint); // abuse of \"Event\"DateProfile?\n\n\t\tthis.publiclyTrigger('dayClick', {\n\t\t\tcontext: dayEl,\n\t\t\targs: [ dateProfile.start, ev, this ]\n\t\t});\n\t}\n\n});\n\n\nView.watch('displayingDates', [ 'isInDom', 'dateProfile' ], function(deps) {\n\tthis.requestDateRender(deps.dateProfile);\n}, function() {\n\tthis.requestDateUnrender();\n});\n\n\nView.watch('displayingBusinessHours', [ 'displayingDates', 'businessHourGenerator' ], function(deps) {\n\tthis.requestBusinessHoursRender(deps.businessHourGenerator);\n}, function() {\n\tthis.requestBusinessHoursUnrender();\n});\n\n\nView.watch('initialEvents', [ 'dateProfile' ], function(deps) {\n\treturn this.fetchInitialEvents(deps.dateProfile);\n});\n\n\nView.watch('bindingEvents', [ 'initialEvents' ], function(deps) {\n\tthis.setEvents(deps.initialEvents);\n\tthis.bindEventChanges();\n}, function() {\n\tthis.unbindEventChanges();\n\tthis.unsetEvents();\n});\n\n\nView.watch('displayingEvents', [ 'displayingDates', 'hasEvents' ], function() {\n\tthis.requestEventsRender(this.get('currentEvents'));\n}, function() {\n\tthis.requestEventsUnrender();\n});\n\n\nView.watch('title', [ 'dateProfile' ], function(deps) {\n\treturn (this.title = this.computeTitle(deps.dateProfile)); // assign to View for legacy reasons\n});\n\n\nView.watch('legacyDateProps', [ 'dateProfile' ], function(deps) {\n\tvar calendar = this.calendar;\n\tvar dateProfile = deps.dateProfile;\n\n\t// DEPRECATED, but we need to keep it updated...\n\tthis.start = calendar.msToMoment(dateProfile.activeUnzonedRange.startMs, dateProfile.isRangeAllDay);\n\tthis.end = calendar.msToMoment(dateProfile.activeUnzonedRange.endMs, dateProfile.isRangeAllDay);\n\tthis.intervalStart = calendar.msToMoment(dateProfile.currentUnzonedRange.startMs, dateProfile.isRangeAllDay);\n\tthis.intervalEnd = calendar.msToMoment(dateProfile.currentUnzonedRange.endMs, dateProfile.isRangeAllDay);\n});\n\n;;\n\nView.mixin({\n\n\tusesMinMaxTime: false, // whether minTime/maxTime will affect the activeUnzonedRange. Views must opt-in.\n\n\t// DEPRECATED\n\tstart: null, // use activeUnzonedRange\n\tend: null, // use activeUnzonedRange\n\tintervalStart: null, // use currentUnzonedRange\n\tintervalEnd: null, // use currentUnzonedRange\n\n\n\t/* Date Range Computation\n\t------------------------------------------------------------------------------------------------------------------*/\n\n\n\t// Builds a structure with info about what the dates/ranges will be for the \"prev\" view.\n\tbuildPrevDateProfile: function(date) {\n\t\tvar dateProfile = this.get('dateProfile');\n\t\tvar prevDate = date.clone().startOf(dateProfile.currentRangeUnit)\n\t\t\t.subtract(dateProfile.dateIncrement);\n\n\t\treturn this.buildDateProfile(prevDate, -1);\n\t},\n\n\n\t// Builds a structure with info about what the dates/ranges will be for the \"next\" view.\n\tbuildNextDateProfile: function(date) {\n\t\tvar dateProfile = this.get('dateProfile');\n\t\tvar nextDate = date.clone().startOf(dateProfile.currentRangeUnit)\n\t\t\t.add(dateProfile.dateIncrement);\n\n\t\treturn this.buildDateProfile(nextDate, 1);\n\t},\n\n\n\t// Builds a structure holding dates/ranges for rendering around the given date.\n\t// Optional direction param indicates whether the date is being incremented/decremented\n\t// from its previous value. decremented = -1, incremented = 1 (default).\n\tbuildDateProfile: function(date, direction, forceToValid) {\n\t\tvar isDateAllDay = !date.hasTime();\n\t\tvar validUnzonedRange;\n\t\tvar minTime = null;\n\t\tvar maxTime = null;\n\t\tvar currentInfo;\n\t\tvar isRangeAllDay;\n\t\tvar renderUnzonedRange;\n\t\tvar activeUnzonedRange;\n\t\tvar isValid;\n\n\t\tvalidUnzonedRange = this.buildValidRange();\n\t\tvalidUnzonedRange = this.trimHiddenDays(validUnzonedRange);\n\n\t\tif (forceToValid) {\n\t\t\tdate = this.calendar.msToUtcMoment(\n\t\t\t\tvalidUnzonedRange.constrainDate(date), // returns MS\n\t\t\t\tisDateAllDay\n\t\t\t);\n\t\t}\n\n\t\tcurrentInfo = this.buildCurrentRangeInfo(date, direction);\n\t\tisRangeAllDay = /^(year|month|week|day)$/.test(currentInfo.unit);\n\t\trenderUnzonedRange = this.buildRenderRange(\n\t\t\tthis.trimHiddenDays(currentInfo.unzonedRange),\n\t\t\tcurrentInfo.unit,\n\t\t\tisRangeAllDay\n\t\t);\n\t\trenderUnzonedRange = this.trimHiddenDays(renderUnzonedRange);\n\t\tactiveUnzonedRange = renderUnzonedRange.clone();\n\n\t\tif (!this.opt('showNonCurrentDates')) {\n\t\t\tactiveUnzonedRange = activeUnzonedRange.intersect(currentInfo.unzonedRange);\n\t\t}\n\n\t\tminTime = moment.duration(this.opt('minTime'));\n\t\tmaxTime = moment.duration(this.opt('maxTime'));\n\t\tactiveUnzonedRange = this.adjustActiveRange(activeUnzonedRange, minTime, maxTime);\n\t\tactiveUnzonedRange = activeUnzonedRange.intersect(validUnzonedRange); // might return null\n\n\t\tif (activeUnzonedRange) {\n\t\t\tdate = this.calendar.msToUtcMoment(\n\t\t\t\tactiveUnzonedRange.constrainDate(date), // returns MS\n\t\t\t\tisDateAllDay\n\t\t\t);\n\t\t}\n\n\t\t// it's invalid if the originally requested date is not contained,\n\t\t// or if the range is completely outside of the valid range.\n\t\tisValid = currentInfo.unzonedRange.intersectsWith(validUnzonedRange);\n\n\t\treturn {\n\t\t\t// constraint for where prev/next operations can go and where events can be dragged/resized to.\n\t\t\t// an object with optional start and end properties.\n\t\t\tvalidUnzonedRange: validUnzonedRange,\n\n\t\t\t// range the view is formally responsible for.\n\t\t\t// for example, a month view might have 1st-31st, excluding padded dates\n\t\t\tcurrentUnzonedRange: currentInfo.unzonedRange,\n\n\t\t\t// name of largest unit being displayed, like \"month\" or \"week\"\n\t\t\tcurrentRangeUnit: currentInfo.unit,\n\n\t\t\tisRangeAllDay: isRangeAllDay,\n\n\t\t\t// dates that display events and accept drag-n-drop\n\t\t\t// will be `null` if no dates accept events\n\t\t\tactiveUnzonedRange: activeUnzonedRange,\n\n\t\t\t// date range with a rendered skeleton\n\t\t\t// includes not-active days that need some sort of DOM\n\t\t\trenderUnzonedRange: renderUnzonedRange,\n\n\t\t\t// Duration object that denotes the first visible time of any given day\n\t\t\tminTime: minTime,\n\n\t\t\t// Duration object that denotes the exclusive visible end time of any given day\n\t\t\tmaxTime: maxTime,\n\n\t\t\tisValid: isValid,\n\n\t\t\tdate: date,\n\n\t\t\t// how far the current date will move for a prev/next operation\n\t\t\tdateIncrement: this.buildDateIncrement(currentInfo.duration)\n\t\t\t\t// pass a fallback (might be null) ^\n\t\t};\n\t},\n\n\n\t// Builds an object with optional start/end properties.\n\t// Indicates the minimum/maximum dates to display.\n\t// not responsible for trimming hidden days.\n\tbuildValidRange: function() {\n\t\treturn this.getUnzonedRangeOption('validRange', this.calendar.getNow()) ||\n\t\t\tnew UnzonedRange(); // completely open-ended\n\t},\n\n\n\t// Builds a structure with info about the \"current\" range, the range that is\n\t// highlighted as being the current month for example.\n\t// See buildDateProfile for a description of `direction`.\n\t// Guaranteed to have `range` and `unit` properties. `duration` is optional.\n\t// TODO: accept a MS-time instead of a moment `date`?\n\tbuildCurrentRangeInfo: function(date, direction) {\n\t\tvar duration = null;\n\t\tvar unit = null;\n\t\tvar unzonedRange = null;\n\t\tvar dayCount;\n\n\t\tif (this.viewSpec.duration) {\n\t\t\tduration = this.viewSpec.duration;\n\t\t\tunit = this.viewSpec.durationUnit;\n\t\t\tunzonedRange = this.buildRangeFromDuration(date, direction, duration, unit);\n\t\t}\n\t\telse if ((dayCount = this.opt('dayCount'))) {\n\t\t\tunit = 'day';\n\t\t\tunzonedRange = this.buildRangeFromDayCount(date, direction, dayCount);\n\t\t}\n\t\telse if ((unzonedRange = this.buildCustomVisibleRange(date))) {\n\t\t\tunit = computeGreatestUnit(unzonedRange.getStart(), unzonedRange.getEnd());\n\t\t}\n\t\telse {\n\t\t\tduration = this.getFallbackDuration();\n\t\t\tunit = computeGreatestUnit(duration);\n\t\t\tunzonedRange = this.buildRangeFromDuration(date, direction, duration, unit);\n\t\t}\n\n\t\treturn { duration: duration, unit: unit, unzonedRange: unzonedRange };\n\t},\n\n\n\tgetFallbackDuration: function() {\n\t\treturn moment.duration({ days: 1 });\n\t},\n\n\n\t// Returns a new activeUnzonedRange to have time values (un-ambiguate)\n\t// minTime or maxTime causes the range to expand.\n\tadjustActiveRange: function(unzonedRange, minTime, maxTime) {\n\t\tvar start = unzonedRange.getStart();\n\t\tvar end = unzonedRange.getEnd();\n\n\t\tif (this.usesMinMaxTime) {\n\n\t\t\tif (minTime < 0) {\n\t\t\t\tstart.time(0).add(minTime);\n\t\t\t}\n\n\t\t\tif (maxTime > 24 * 60 * 60 * 1000) { // beyond 24 hours?\n\t\t\t\tend.time(maxTime - (24 * 60 * 60 * 1000));\n\t\t\t}\n\t\t}\n\n\t\treturn new UnzonedRange(start, end);\n\t},\n\n\n\t// Builds the \"current\" range when it is specified as an explicit duration.\n\t// `unit` is the already-computed computeGreatestUnit value of duration.\n\t// TODO: accept a MS-time instead of a moment `date`?\n\tbuildRangeFromDuration: function(date, direction, duration, unit) {\n\t\tvar alignment = this.opt('dateAlignment');\n\t\tvar start = date.clone();\n\t\tvar end;\n\t\tvar dateIncrementInput;\n\t\tvar dateIncrementDuration;\n\n\t\t// if the view displays a single day or smaller\n\t\tif (duration.as('days') <= 1) {\n\t\t\tif (this.isHiddenDay(start)) {\n\t\t\t\tstart = this.skipHiddenDays(start, direction);\n\t\t\t\tstart.startOf('day');\n\t\t\t}\n\t\t}\n\n\t\t// compute what the alignment should be\n\t\tif (!alignment) {\n\t\t\tdateIncrementInput = this.opt('dateIncrement');\n\n\t\t\tif (dateIncrementInput) {\n\t\t\t\tdateIncrementDuration = moment.duration(dateIncrementInput);\n\n\t\t\t\t// use the smaller of the two units\n\t\t\t\tif (dateIncrementDuration < duration) {\n\t\t\t\t\talignment = computeDurationGreatestUnit(dateIncrementDuration, dateIncrementInput);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\talignment = unit;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\talignment = unit;\n\t\t\t}\n\t\t}\n\n\t\tstart.startOf(alignment);\n\t\tend = start.clone().add(duration);\n\n\t\treturn new UnzonedRange(start, end);\n\t},\n\n\n\t// Builds the \"current\" range when a dayCount is specified.\n\t// TODO: accept a MS-time instead of a moment `date`?\n\tbuildRangeFromDayCount: function(date, direction, dayCount) {\n\t\tvar customAlignment = this.opt('dateAlignment');\n\t\tvar runningCount = 0;\n\t\tvar start = date.clone();\n\t\tvar end;\n\n\t\tif (customAlignment) {\n\t\t\tstart.startOf(customAlignment);\n\t\t}\n\n\t\tstart.startOf('day');\n\t\tstart = this.skipHiddenDays(start, direction);\n\n\t\tend = start.clone();\n\t\tdo {\n\t\t\tend.add(1, 'day');\n\t\t\tif (!this.isHiddenDay(end)) {\n\t\t\t\trunningCount++;\n\t\t\t}\n\t\t} while (runningCount < dayCount);\n\n\t\treturn new UnzonedRange(start, end);\n\t},\n\n\n\t// Builds a normalized range object for the \"visible\" range,\n\t// which is a way to define the currentUnzonedRange and activeUnzonedRange at the same time.\n\t// TODO: accept a MS-time instead of a moment `date`?\n\tbuildCustomVisibleRange: function(date) {\n\t\tvar visibleUnzonedRange = this.getUnzonedRangeOption(\n\t\t\t'visibleRange',\n\t\t\tthis.calendar.applyTimezone(date) // correct zone. also generates new obj that avoids mutations\n\t\t);\n\n\t\tif (visibleUnzonedRange && (visibleUnzonedRange.startMs === null || visibleUnzonedRange.endMs === null)) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn visibleUnzonedRange;\n\t},\n\n\n\t// Computes the range that will represent the element/cells for *rendering*,\n\t// but which may have voided days/times.\n\t// not responsible for trimming hidden days.\n\tbuildRenderRange: function(currentUnzonedRange, currentRangeUnit, isRangeAllDay) {\n\t\treturn currentUnzonedRange.clone();\n\t},\n\n\n\t// Compute the duration value that should be added/substracted to the current date\n\t// when a prev/next operation happens.\n\tbuildDateIncrement: function(fallback) {\n\t\tvar dateIncrementInput = this.opt('dateIncrement');\n\t\tvar customAlignment;\n\n\t\tif (dateIncrementInput) {\n\t\t\treturn moment.duration(dateIncrementInput);\n\t\t}\n\t\telse if ((customAlignment = this.opt('dateAlignment'))) {\n\t\t\treturn moment.duration(1, customAlignment);\n\t\t}\n\t\telse if (fallback) {\n\t\t\treturn fallback;\n\t\t}\n\t\telse {\n\t\t\treturn moment.duration({ days: 1 });\n\t\t}\n\t},\n\n\n\t// Remove days from the beginning and end of the range that are computed as hidden.\n\ttrimHiddenDays: function(inputUnzonedRange) {\n\t\tvar start = inputUnzonedRange.getStart();\n\t\tvar end = inputUnzonedRange.getEnd();\n\n\t\tif (start) {\n\t\t\tstart = this.skipHiddenDays(start);\n\t\t}\n\n\t\tif (end) {\n\t\t\tend = this.skipHiddenDays(end, -1, true);\n\t\t}\n\n\t\treturn new UnzonedRange(start, end);\n\t},\n\n\n\t// For DateComponent::getDayClasses\n\tisDateInOtherMonth: function(date, dateProfile) {\n\t\treturn false;\n\t},\n\n\n\t// Arguments after name will be forwarded to a hypothetical function value\n\t// WARNING: passed-in arguments will be given to generator functions as-is and can cause side-effects.\n\t// Always clone your objects if you fear mutation.\n\tgetUnzonedRangeOption: function(name) {\n\t\tvar val = this.opt(name);\n\n\t\tif (typeof val === 'function') {\n\t\t\tval = val.apply(\n\t\t\t\tnull,\n\t\t\t\tArray.prototype.slice.call(arguments, 1)\n\t\t\t);\n\t\t}\n\n\t\tif (val) {\n\t\t\treturn this.calendar.parseUnzonedRange(val);\n\t\t}\n\t},\n\n\n\t/* Hidden Days\n\t------------------------------------------------------------------------------------------------------------------*/\n\n\n\t// Initializes internal variables related to calculating hidden days-of-week\n\tinitHiddenDays: function() {\n\t\tvar hiddenDays = this.opt('hiddenDays') || []; // array of day-of-week indices that are hidden\n\t\tvar isHiddenDayHash = []; // is the day-of-week hidden? (hash with day-of-week-index -> bool)\n\t\tvar dayCnt = 0;\n\t\tvar i;\n\n\t\tif (this.opt('weekends') === false) {\n\t\t\thiddenDays.push(0, 6); // 0=sunday, 6=saturday\n\t\t}\n\n\t\tfor (i = 0; i < 7; i++) {\n\t\t\tif (\n\t\t\t\t!(isHiddenDayHash[i] = $.inArray(i, hiddenDays) !== -1)\n\t\t\t) {\n\t\t\t\tdayCnt++;\n\t\t\t}\n\t\t}\n\n\t\tif (!dayCnt) {\n\t\t\tthrow 'invalid hiddenDays'; // all days were hidden? bad.\n\t\t}\n\n\t\tthis.isHiddenDayHash = isHiddenDayHash;\n\t},\n\n\n\t// Is the current day hidden?\n\t// `day` is a day-of-week index (0-6), or a Moment\n\tisHiddenDay: function(day) {\n\t\tif (moment.isMoment(day)) {\n\t\t\tday = day.day();\n\t\t}\n\t\treturn this.isHiddenDayHash[day];\n\t},\n\n\n\t// Incrementing the current day until it is no longer a hidden day, returning a copy.\n\t// DOES NOT CONSIDER validUnzonedRange!\n\t// If the initial value of `date` is not a hidden day, don't do anything.\n\t// Pass `isExclusive` as `true` if you are dealing with an end date.\n\t// `inc` defaults to `1` (increment one day forward each time)\n\tskipHiddenDays: function(date, inc, isExclusive) {\n\t\tvar out = date.clone();\n\t\tinc = inc || 1;\n\t\twhile (\n\t\t\tthis.isHiddenDayHash[(out.day() + (isExclusive ? inc : 0) + 7) % 7]\n\t\t) {\n\t\t\tout.add(inc, 'days');\n\t\t}\n\t\treturn out;\n\t}\n\n});\n\n;;\n\n/* Toolbar with buttons and title\n----------------------------------------------------------------------------------------------------------------------*/\n\nfunction Toolbar(calendar, toolbarOptions) {\n\tvar t = this;\n\n\t// exports\n\tt.setToolbarOptions = setToolbarOptions;\n\tt.render = render;\n\tt.removeElement = removeElement;\n\tt.updateTitle = updateTitle;\n\tt.activateButton = activateButton;\n\tt.deactivateButton = deactivateButton;\n\tt.disableButton = disableButton;\n\tt.enableButton = enableButton;\n\tt.getViewsWithButtons = getViewsWithButtons;\n\tt.el = null; // mirrors local `el`\n\n\t// locals\n\tvar el;\n\tvar viewsWithButtons = [];\n\n\t// method to update toolbar-specific options, not calendar-wide options\n\tfunction setToolbarOptions(newToolbarOptions) {\n\t\ttoolbarOptions = newToolbarOptions;\n\t}\n\n\t// can be called repeatedly and will rerender\n\tfunction render() {\n\t\tvar sections = toolbarOptions.layout;\n\n\t\tif (sections) {\n\t\t\tif (!el) {\n\t\t\t\tel = this.el = $(\"<div class='fc-toolbar \"+ toolbarOptions.extraClasses + \"'/>\");\n\t\t\t}\n\t\t\telse {\n\t\t\t\tel.empty();\n\t\t\t}\n\t\t\tel.append(renderSection('left'))\n\t\t\t\t.append(renderSection('right'))\n\t\t\t\t.append(renderSection('center'))\n\t\t\t\t.append('<div class=\"fc-clear\"/>');\n\t\t}\n\t\telse {\n\t\t\tremoveElement();\n\t\t}\n\t}\n\n\n\tfunction removeElement() {\n\t\tif (el) {\n\t\t\tel.remove();\n\t\t\tel = t.el = null;\n\t\t}\n\t}\n\n\n\tfunction renderSection(position) {\n\t\tvar theme = calendar.theme;\n\t\tvar sectionEl = $('<div class=\"fc-' + position + '\"/>');\n\t\tvar buttonStr = toolbarOptions.layout[position];\n\t\tvar calendarCustomButtons = calendar.opt('customButtons') || {};\n\t\tvar calendarButtonTextOverrides = calendar.overrides.buttonText || {};\n\t\tvar calendarButtonText = calendar.opt('buttonText') || {};\n\n\t\tif (buttonStr) {\n\t\t\t$.each(buttonStr.split(' '), function(i) {\n\t\t\t\tvar groupChildren = $();\n\t\t\t\tvar isOnlyButtons = true;\n\t\t\t\tvar groupEl;\n\n\t\t\t\t$.each(this.split(','), function(j, buttonName) {\n\t\t\t\t\tvar customButtonProps;\n\t\t\t\t\tvar viewSpec;\n\t\t\t\t\tvar buttonClick;\n\t\t\t\t\tvar buttonIcon; // only one of these will be set\n\t\t\t\t\tvar buttonText; // \"\n\t\t\t\t\tvar buttonInnerHtml;\n\t\t\t\t\tvar buttonClasses;\n\t\t\t\t\tvar buttonEl;\n\n\t\t\t\t\tif (buttonName == 'title') {\n\t\t\t\t\t\tgroupChildren = groupChildren.add($('<h2>&nbsp;</h2>')); // we always want it to take up height\n\t\t\t\t\t\tisOnlyButtons = false;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\n\t\t\t\t\t\tif ((customButtonProps = calendarCustomButtons[buttonName])) {\n\t\t\t\t\t\t\tbuttonClick = function(ev) {\n\t\t\t\t\t\t\t\tif (customButtonProps.click) {\n\t\t\t\t\t\t\t\t\tcustomButtonProps.click.call(buttonEl[0], ev);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t(buttonIcon = theme.getCustomButtonIconClass(customButtonProps)) ||\n\t\t\t\t\t\t\t(buttonIcon = theme.getIconClass(buttonName)) ||\n\t\t\t\t\t\t\t(buttonText = customButtonProps.text); // jshint ignore:line\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if ((viewSpec = calendar.getViewSpec(buttonName))) {\n\t\t\t\t\t\t\tviewsWithButtons.push(buttonName);\n\t\t\t\t\t\t\tbuttonClick = function() {\n\t\t\t\t\t\t\t\tcalendar.changeView(buttonName);\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t(buttonText = viewSpec.buttonTextOverride) ||\n\t\t\t\t\t\t\t(buttonIcon = theme.getIconClass(buttonName)) ||\n\t\t\t\t\t\t\t(buttonText = viewSpec.buttonTextDefault); // jshint ignore:line\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if (calendar[buttonName]) { // a calendar method\n\t\t\t\t\t\t\tbuttonClick = function() {\n\t\t\t\t\t\t\t\tcalendar[buttonName]();\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t(buttonText = calendarButtonTextOverrides[buttonName]) ||\n\t\t\t\t\t\t\t(buttonIcon = theme.getIconClass(buttonName)) ||\n\t\t\t\t\t\t\t(buttonText = calendarButtonText[buttonName]); // jshint ignore:line\n\t\t\t\t\t\t\t//            ^ everything else is considered default\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (buttonClick) {\n\n\t\t\t\t\t\t\tbuttonClasses = [\n\t\t\t\t\t\t\t\t'fc-' + buttonName + '-button',\n\t\t\t\t\t\t\t\ttheme.getClass('button'),\n\t\t\t\t\t\t\t\ttheme.getClass('stateDefault')\n\t\t\t\t\t\t\t];\n\n\t\t\t\t\t\t\tif (buttonText) {\n\t\t\t\t\t\t\t\tbuttonInnerHtml = htmlEscape(buttonText);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (buttonIcon) {\n\t\t\t\t\t\t\t\tbuttonInnerHtml = \"<span class='\" + buttonIcon + \"'></span>\";\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tbuttonEl = $( // type=\"button\" so that it doesn't submit a form\n\t\t\t\t\t\t\t\t'<button type=\"button\" class=\"' + buttonClasses.join(' ') + '\">' +\n\t\t\t\t\t\t\t\t\tbuttonInnerHtml +\n\t\t\t\t\t\t\t\t'</button>'\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t.click(function(ev) {\n\t\t\t\t\t\t\t\t\t// don't process clicks for disabled buttons\n\t\t\t\t\t\t\t\t\tif (!buttonEl.hasClass(theme.getClass('stateDisabled'))) {\n\n\t\t\t\t\t\t\t\t\t\tbuttonClick(ev);\n\n\t\t\t\t\t\t\t\t\t\t// after the click action, if the button becomes the \"active\" tab, or disabled,\n\t\t\t\t\t\t\t\t\t\t// it should never have a hover class, so remove it now.\n\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\tbuttonEl.hasClass(theme.getClass('stateActive')) ||\n\t\t\t\t\t\t\t\t\t\t\tbuttonEl.hasClass(theme.getClass('stateDisabled'))\n\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\tbuttonEl.removeClass(theme.getClass('stateHover'));\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t.mousedown(function() {\n\t\t\t\t\t\t\t\t\t// the *down* effect (mouse pressed in).\n\t\t\t\t\t\t\t\t\t// only on buttons that are not the \"active\" tab, or disabled\n\t\t\t\t\t\t\t\t\tbuttonEl\n\t\t\t\t\t\t\t\t\t\t.not('.' + theme.getClass('stateActive'))\n\t\t\t\t\t\t\t\t\t\t.not('.' + theme.getClass('stateDisabled'))\n\t\t\t\t\t\t\t\t\t\t.addClass(theme.getClass('stateDown'));\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t.mouseup(function() {\n\t\t\t\t\t\t\t\t\t// undo the *down* effect\n\t\t\t\t\t\t\t\t\tbuttonEl.removeClass(theme.getClass('stateDown'));\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t.hover(\n\t\t\t\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\t\t\t\t// the *hover* effect.\n\t\t\t\t\t\t\t\t\t\t// only on buttons that are not the \"active\" tab, or disabled\n\t\t\t\t\t\t\t\t\t\tbuttonEl\n\t\t\t\t\t\t\t\t\t\t\t.not('.' + theme.getClass('stateActive'))\n\t\t\t\t\t\t\t\t\t\t\t.not('.' + theme.getClass('stateDisabled'))\n\t\t\t\t\t\t\t\t\t\t\t.addClass(theme.getClass('stateHover'));\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\t\t\t\t// undo the *hover* effect\n\t\t\t\t\t\t\t\t\t\tbuttonEl\n\t\t\t\t\t\t\t\t\t\t\t.removeClass(theme.getClass('stateHover'))\n\t\t\t\t\t\t\t\t\t\t\t.removeClass(theme.getClass('stateDown')); // if mouseleave happens before mouseup\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\tgroupChildren = groupChildren.add(buttonEl);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tif (isOnlyButtons) {\n\t\t\t\t\tgroupChildren\n\t\t\t\t\t\t.first().addClass(theme.getClass('cornerLeft')).end()\n\t\t\t\t\t\t.last().addClass(theme.getClass('cornerRight')).end();\n\t\t\t\t}\n\n\t\t\t\tif (groupChildren.length > 1) {\n\t\t\t\t\tgroupEl = $('<div/>');\n\t\t\t\t\tif (isOnlyButtons) {\n\t\t\t\t\t\tgroupEl.addClass(theme.getClass('buttonGroup'));\n\t\t\t\t\t}\n\t\t\t\t\tgroupEl.append(groupChildren);\n\t\t\t\t\tsectionEl.append(groupEl);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tsectionEl.append(groupChildren); // 1 or 0 children\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\treturn sectionEl;\n\t}\n\n\n\tfunction updateTitle(text) {\n\t\tif (el) {\n\t\t\tel.find('h2').text(text);\n\t\t}\n\t}\n\n\n\tfunction activateButton(buttonName) {\n\t\tif (el) {\n\t\t\tel.find('.fc-' + buttonName + '-button')\n\t\t\t\t.addClass(calendar.theme.getClass('stateActive'));\n\t\t}\n\t}\n\n\n\tfunction deactivateButton(buttonName) {\n\t\tif (el) {\n\t\t\tel.find('.fc-' + buttonName + '-button')\n\t\t\t\t.removeClass(calendar.theme.getClass('stateActive'));\n\t\t}\n\t}\n\n\n\tfunction disableButton(buttonName) {\n\t\tif (el) {\n\t\t\tel.find('.fc-' + buttonName + '-button')\n\t\t\t\t.prop('disabled', true)\n\t\t\t\t.addClass(calendar.theme.getClass('stateDisabled'));\n\t\t}\n\t}\n\n\n\tfunction enableButton(buttonName) {\n\t\tif (el) {\n\t\t\tel.find('.fc-' + buttonName + '-button')\n\t\t\t\t.prop('disabled', false)\n\t\t\t\t.removeClass(calendar.theme.getClass('stateDisabled'));\n\t\t}\n\t}\n\n\n\tfunction getViewsWithButtons() {\n\t\treturn viewsWithButtons;\n\t}\n\n}\n\n;;\n\nvar Calendar = FC.Calendar = Class.extend(EmitterMixin, ListenerMixin, {\n\n\tview: null, // current View object\n\tviewsByType: null, // holds all instantiated view instances, current or not\n\tcurrentDate: null, // unzoned moment. private (public API should use getDate instead)\n\ttheme: null,\n\tbusinessHourGenerator: null,\n\tloadingLevel: 0, // number of simultaneous loading tasks\n\n\n\tconstructor: function(el, overrides) {\n\n\t\t// declare the current calendar instance relies on GlobalEmitter. needed for garbage collection.\n\t\t// unneeded() is called in destroy.\n\t\tGlobalEmitter.needed();\n\n\t\tthis.el = el;\n\t\tthis.viewsByType = {};\n\t\tthis.viewSpecCache = {};\n\n\t\tthis.initOptionsInternals(overrides);\n\t\tthis.initMomentInternals(); // needs to happen after options hash initialized\n\t\tthis.initCurrentDate();\n\t\tthis.initEventManager();\n\n\t\tthis.constructed();\n\t},\n\n\n\t// useful for monkeypatching. TODO: BaseClass?\n\tconstructed: function() {\n\t},\n\n\n\t// Public API\n\t// -----------------------------------------------------------------------------------------------------------------\n\n\n\tgetView: function() {\n\t\treturn this.view;\n\t},\n\n\n\tpubliclyTrigger: function(name, triggerInfo) {\n\t\tvar optHandler = this.opt(name);\n\t\tvar context;\n\t\tvar args;\n\n\t\tif ($.isPlainObject(triggerInfo)) {\n\t\t\tcontext = triggerInfo.context;\n\t\t\targs = triggerInfo.args;\n\t\t}\n\t\telse if ($.isArray(triggerInfo)) {\n\t\t\targs = triggerInfo;\n\t\t}\n\n\t\tif (context == null) {\n\t\t\tcontext = this.el[0]; // fallback context\n\t\t}\n\n\t\tif (!args) {\n\t\t\targs = [];\n\t\t}\n\n\t\tthis.triggerWith(name, context, args); // Emitter's method\n\n\t\tif (optHandler) {\n\t\t\treturn optHandler.apply(context, args);\n\t\t}\n\t},\n\n\n\thasPublicHandlers: function(name) {\n\t\treturn this.hasHandlers(name) ||\n\t\t\tthis.opt(name); // handler specified in options\n\t},\n\n\n\t// View\n\t// -----------------------------------------------------------------------------------------------------------------\n\n\n\t// Given a view name for a custom view or a standard view, creates a ready-to-go View object\n\tinstantiateView: function(viewType) {\n\t\tvar spec = this.getViewSpec(viewType);\n\n\t\treturn new spec['class'](this, spec);\n\t},\n\n\n\t// Returns a boolean about whether the view is okay to instantiate at some point\n\tisValidViewType: function(viewType) {\n\t\treturn Boolean(this.getViewSpec(viewType));\n\t},\n\n\n\tchangeView: function(viewName, dateOrRange) {\n\n\t\tif (dateOrRange) {\n\n\t\t\tif (dateOrRange.start && dateOrRange.end) { // a range\n\t\t\t\tthis.recordOptionOverrides({ // will not rerender\n\t\t\t\t\tvisibleRange: dateOrRange\n\t\t\t\t});\n\t\t\t}\n\t\t\telse { // a date\n\t\t\t\tthis.currentDate = this.moment(dateOrRange).stripZone(); // just like gotoDate\n\t\t\t}\n\t\t}\n\n\t\tthis.renderView(viewName);\n\t},\n\n\n\t// Forces navigation to a view for the given date.\n\t// `viewType` can be a specific view name or a generic one like \"week\" or \"day\".\n\tzoomTo: function(newDate, viewType) {\n\t\tvar spec;\n\n\t\tviewType = viewType || 'day'; // day is default zoom\n\t\tspec = this.getViewSpec(viewType) || this.getUnitViewSpec(viewType);\n\n\t\tthis.currentDate = newDate.clone();\n\t\tthis.renderView(spec ? spec.type : null);\n\t},\n\n\n\t// Current Date\n\t// -----------------------------------------------------------------------------------------------------------------\n\n\n\tinitCurrentDate: function() {\n\t\tvar defaultDateInput = this.opt('defaultDate');\n\n\t\t// compute the initial ambig-timezone date\n\t\tif (defaultDateInput != null) {\n\t\t\tthis.currentDate = this.moment(defaultDateInput).stripZone();\n\t\t}\n\t\telse {\n\t\t\tthis.currentDate = this.getNow(); // getNow already returns unzoned\n\t\t}\n\t},\n\n\n\tprev: function() {\n\t\tvar prevInfo = this.view.buildPrevDateProfile(this.currentDate);\n\n\t\tif (prevInfo.isValid) {\n\t\t\tthis.currentDate = prevInfo.date;\n\t\t\tthis.renderView();\n\t\t}\n\t},\n\n\n\tnext: function() {\n\t\tvar nextInfo = this.view.buildNextDateProfile(this.currentDate);\n\n\t\tif (nextInfo.isValid) {\n\t\t\tthis.currentDate = nextInfo.date;\n\t\t\tthis.renderView();\n\t\t}\n\t},\n\n\n\tprevYear: function() {\n\t\tthis.currentDate.add(-1, 'years');\n\t\tthis.renderView();\n\t},\n\n\n\tnextYear: function() {\n\t\tthis.currentDate.add(1, 'years');\n\t\tthis.renderView();\n\t},\n\n\n\ttoday: function() {\n\t\tthis.currentDate = this.getNow(); // should deny like prev/next?\n\t\tthis.renderView();\n\t},\n\n\n\tgotoDate: function(zonedDateInput) {\n\t\tthis.currentDate = this.moment(zonedDateInput).stripZone();\n\t\tthis.renderView();\n\t},\n\n\n\tincrementDate: function(delta) {\n\t\tthis.currentDate.add(moment.duration(delta));\n\t\tthis.renderView();\n\t},\n\n\n\t// for external API\n\tgetDate: function() {\n\t\treturn this.applyTimezone(this.currentDate); // infuse the calendar's timezone\n\t},\n\n\n\t// Loading Triggering\n\t// -----------------------------------------------------------------------------------------------------------------\n\n\n\t// Should be called when any type of async data fetching begins\n\tpushLoading: function() {\n\t\tif (!(this.loadingLevel++)) {\n\t\t\tthis.publiclyTrigger('loading', [ true, this.view ]);\n\t\t}\n\t},\n\n\n\t// Should be called when any type of async data fetching completes\n\tpopLoading: function() {\n\t\tif (!(--this.loadingLevel)) {\n\t\t\tthis.publiclyTrigger('loading', [ false, this.view ]);\n\t\t}\n\t},\n\n\n\t// Selection\n\t// -----------------------------------------------------------------------------------------------------------------\n\n\n\t// this public method receives start/end dates in any format, with any timezone\n\tselect: function(zonedStartInput, zonedEndInput) {\n\t\tthis.view.select(\n\t\t\tthis.buildSelectFootprint.apply(this, arguments)\n\t\t);\n\t},\n\n\n\tunselect: function() { // safe to be called before renderView\n\t\tif (this.view) {\n\t\t\tthis.view.unselect();\n\t\t}\n\t},\n\n\n\t// Given arguments to the select method in the API, returns a span (unzoned start/end and other info)\n\tbuildSelectFootprint: function(zonedStartInput, zonedEndInput) {\n\t\tvar start = this.moment(zonedStartInput).stripZone();\n\t\tvar end;\n\n\t\tif (zonedEndInput) {\n\t\t\tend = this.moment(zonedEndInput).stripZone();\n\t\t}\n\t\telse if (start.hasTime()) {\n\t\t\tend = start.clone().add(this.defaultTimedEventDuration);\n\t\t}\n\t\telse {\n\t\t\tend = start.clone().add(this.defaultAllDayEventDuration);\n\t\t}\n\n\t\treturn new ComponentFootprint(\n\t\t\tnew UnzonedRange(start, end),\n\t\t\t!start.hasTime()\n\t\t);\n\t},\n\n\n\t// Misc\n\t// -----------------------------------------------------------------------------------------------------------------\n\n\n\t// will return `null` if invalid range\n\tparseUnzonedRange: function(rangeInput) {\n\t\tvar start = null;\n\t\tvar end = null;\n\n\t\tif (rangeInput.start) {\n\t\t\tstart = this.moment(rangeInput.start).stripZone();\n\t\t}\n\n\t\tif (rangeInput.end) {\n\t\t\tend = this.moment(rangeInput.end).stripZone();\n\t\t}\n\n\t\tif (!start && !end) {\n\t\t\treturn null;\n\t\t}\n\n\t\tif (start && end && end.isBefore(start)) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn new UnzonedRange(start, end);\n\t},\n\n\n\trerenderEvents: function() { // API method. destroys old events if previously rendered.\n\t\tthis.view.flash('displayingEvents');\n\t},\n\n\n\tinitEventManager: function() {\n\t\tvar _this = this;\n\t\tvar eventManager = new EventManager(this);\n\t\tvar rawSources = this.opt('eventSources') || [];\n\t\tvar singleRawSource = this.opt('events');\n\n\t\tthis.eventManager = eventManager;\n\n\t\tif (singleRawSource) {\n\t\t\trawSources.unshift(singleRawSource);\n\t\t}\n\n\t\teventManager.on('release', function(eventsPayload) {\n\t\t\t_this.trigger('eventsReset', eventsPayload);\n\t\t});\n\n\t\teventManager.freeze();\n\n\t\trawSources.forEach(function(rawSource) {\n\t\t\tvar source = EventSourceParser.parse(rawSource, _this);\n\n\t\t\tif (source) {\n\t\t\t\teventManager.addSource(source);\n\t\t\t}\n\t\t});\n\n\t\teventManager.thaw();\n\t},\n\n\n\trequestEvents: function(start, end) {\n\t\treturn this.eventManager.requestEvents(\n\t\t\tstart,\n\t\t\tend,\n\t\t\tthis.opt('timezone'),\n\t\t\t!this.opt('lazyFetching')\n\t\t);\n\t}\n\n});\n\n;;\n/*\nOptions binding/triggering system.\n*/\nCalendar.mixin({\n\n\tdirDefaults: null, // option defaults related to LTR or RTL\n\tlocaleDefaults: null, // option defaults related to current locale\n\toverrides: null, // option overrides given to the fullCalendar constructor\n\tdynamicOverrides: null, // options set with dynamic setter method. higher precedence than view overrides.\n\toptionsModel: null, // all defaults combined with overrides\n\n\n\tinitOptionsInternals: function(overrides) {\n\t\tthis.overrides = $.extend({}, overrides); // make a copy\n\t\tthis.dynamicOverrides = {};\n\t\tthis.optionsModel = new Model();\n\n\t\tthis.populateOptionsHash();\n\t},\n\n\n\t// public getter/setter\n\toption: function(name, value) {\n\t\tvar newOptionHash;\n\n\t\tif (typeof name === 'string') {\n\t\t\tif (value === undefined) { // getter\n\t\t\t\treturn this.optionsModel.get(name);\n\t\t\t}\n\t\t\telse { // setter for individual option\n\t\t\t\tnewOptionHash = {};\n\t\t\t\tnewOptionHash[name] = value;\n\t\t\t\tthis.setOptions(newOptionHash);\n\t\t\t}\n\t\t}\n\t\telse if (typeof name === 'object') { // compound setter with object input\n\t\t\tthis.setOptions(name);\n\t\t}\n\t},\n\n\n\t// private getter\n\topt: function(name) {\n\t\treturn this.optionsModel.get(name);\n\t},\n\n\n\tsetOptions: function(newOptionHash) {\n\t\tvar optionCnt = 0;\n\t\tvar optionName;\n\n\t\tthis.recordOptionOverrides(newOptionHash); // will trigger optionsModel watchers\n\n\t\tfor (optionName in newOptionHash) {\n\t\t\toptionCnt++;\n\t\t}\n\n\t\t// special-case handling of single option change.\n\t\t// if only one option change, `optionName` will be its name.\n\t\tif (optionCnt === 1) {\n\t\t\tif (optionName === 'height' || optionName === 'contentHeight' || optionName === 'aspectRatio') {\n\t\t\t\tthis.updateViewSize(true); // isResize=true\n\t\t\t\treturn;\n\t\t\t}\n\t\t\telse if (optionName === 'defaultDate') {\n\t\t\t\treturn; // can't change date this way. use gotoDate instead\n\t\t\t}\n\t\t\telse if (optionName === 'businessHours') {\n\t\t\t\treturn; // optionsModel already reacts to this\n\t\t\t}\n\t\t\telse if (optionName === 'timezone') {\n\t\t\t\tthis.view.flash('initialEvents');\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\t// catch-all. rerender the header and footer and rebuild/rerender the current view\n\t\tthis.renderHeader();\n\t\tthis.renderFooter();\n\n\t\t// even non-current views will be affected by this option change. do before rerender\n\t\t// TODO: detangle\n\t\tthis.viewsByType = {};\n\n\t\tthis.reinitView();\n\t},\n\n\n\t// Computes the flattened options hash for the calendar and assigns to `this.options`.\n\t// Assumes this.overrides and this.dynamicOverrides have already been initialized.\n\tpopulateOptionsHash: function() {\n\t\tvar locale, localeDefaults;\n\t\tvar isRTL, dirDefaults;\n\t\tvar rawOptions;\n\n\t\tlocale = firstDefined( // explicit locale option given?\n\t\t\tthis.dynamicOverrides.locale,\n\t\t\tthis.overrides.locale\n\t\t);\n\t\tlocaleDefaults = localeOptionHash[locale];\n\t\tif (!localeDefaults) { // explicit locale option not given or invalid?\n\t\t\tlocale = Calendar.defaults.locale;\n\t\t\tlocaleDefaults = localeOptionHash[locale] || {};\n\t\t}\n\n\t\tisRTL = firstDefined( // based on options computed so far, is direction RTL?\n\t\t\tthis.dynamicOverrides.isRTL,\n\t\t\tthis.overrides.isRTL,\n\t\t\tlocaleDefaults.isRTL,\n\t\t\tCalendar.defaults.isRTL\n\t\t);\n\t\tdirDefaults = isRTL ? Calendar.rtlDefaults : {};\n\n\t\tthis.dirDefaults = dirDefaults;\n\t\tthis.localeDefaults = localeDefaults;\n\n\t\trawOptions = mergeOptions([ // merge defaults and overrides. lowest to highest precedence\n\t\t\tCalendar.defaults, // global defaults\n\t\t\tdirDefaults,\n\t\t\tlocaleDefaults,\n\t\t\tthis.overrides,\n\t\t\tthis.dynamicOverrides\n\t\t]);\n\t\tpopulateInstanceComputableOptions(rawOptions); // fill in gaps with computed options\n\n\t\tthis.optionsModel.reset(rawOptions);\n\t},\n\n\n\t// stores the new options internally, but does not rerender anything.\n\trecordOptionOverrides: function(newOptionHash) {\n\t\tvar optionName;\n\n\t\tfor (optionName in newOptionHash) {\n\t\t\tthis.dynamicOverrides[optionName] = newOptionHash[optionName];\n\t\t}\n\n\t\tthis.viewSpecCache = {}; // the dynamic override invalidates the options in this cache, so just clear it\n\t\tthis.populateOptionsHash(); // this.options needs to be recomputed after the dynamic override\n\t}\n\n});\n\n;;\n\nCalendar.mixin({\n\n\tdefaultAllDayEventDuration: null,\n\tdefaultTimedEventDuration: null,\n\tlocaleData: null,\n\n\n\tinitMomentInternals: function() {\n\t\tvar _this = this;\n\n\t\tthis.defaultAllDayEventDuration = moment.duration(this.opt('defaultAllDayEventDuration'));\n\t\tthis.defaultTimedEventDuration = moment.duration(this.opt('defaultTimedEventDuration'));\n\n\t\t// Called immediately, and when any of the options change.\n\t\t// Happens before any internal objects rebuild or rerender, because this is very core.\n\t\tthis.optionsModel.watch('buildingMomentLocale', [\n\t\t\t'?locale', '?monthNames', '?monthNamesShort', '?dayNames', '?dayNamesShort',\n\t\t\t'?firstDay', '?weekNumberCalculation'\n\t\t], function(opts) {\n\t\t\tvar weekNumberCalculation = opts.weekNumberCalculation;\n\t\t\tvar firstDay = opts.firstDay;\n\t\t\tvar _week;\n\n\t\t\t// normalize\n\t\t\tif (weekNumberCalculation === 'iso') {\n\t\t\t\tweekNumberCalculation = 'ISO'; // normalize\n\t\t\t}\n\n\t\t\tvar localeData = Object.create( // make a cheap copy\n\t\t\t\tgetMomentLocaleData(opts.locale) // will fall back to en\n\t\t\t);\n\n\t\t\tif (opts.monthNames) {\n\t\t\t\tlocaleData._months = opts.monthNames;\n\t\t\t}\n\t\t\tif (opts.monthNamesShort) {\n\t\t\t\tlocaleData._monthsShort = opts.monthNamesShort;\n\t\t\t}\n\t\t\tif (opts.dayNames) {\n\t\t\t\tlocaleData._weekdays = opts.dayNames;\n\t\t\t}\n\t\t\tif (opts.dayNamesShort) {\n\t\t\t\tlocaleData._weekdaysShort = opts.dayNamesShort;\n\t\t\t}\n\n\t\t\tif (firstDay == null && weekNumberCalculation === 'ISO') {\n\t\t\t\tfirstDay = 1;\n\t\t\t}\n\t\t\tif (firstDay != null) {\n\t\t\t\t_week = Object.create(localeData._week); // _week: { dow: # }\n\t\t\t\t_week.dow = firstDay;\n\t\t\t\tlocaleData._week = _week;\n\t\t\t}\n\n\t\t\tif ( // whitelist certain kinds of input\n\t\t\t\tweekNumberCalculation === 'ISO' ||\n\t\t\t\tweekNumberCalculation === 'local' ||\n\t\t\t\ttypeof weekNumberCalculation === 'function'\n\t\t\t) {\n\t\t\t\tlocaleData._fullCalendar_weekCalc = weekNumberCalculation; // moment-ext will know what to do with it\n\t\t\t}\n\n\t\t\t_this.localeData = localeData;\n\n\t\t\t// If the internal current date object already exists, move to new locale.\n\t\t\t// We do NOT need to do this technique for event dates, because this happens when converting to \"segments\".\n\t\t\tif (_this.currentDate) {\n\t\t\t\t_this.localizeMoment(_this.currentDate); // sets to localeData\n\t\t\t}\n\t\t});\n\t},\n\n\n\t// Builds a moment using the settings of the current calendar: timezone and locale.\n\t// Accepts anything the vanilla moment() constructor accepts.\n\tmoment: function() {\n\t\tvar mom;\n\n\t\tif (this.opt('timezone') === 'local') {\n\t\t\tmom = FC.moment.apply(null, arguments);\n\n\t\t\t// Force the moment to be local, because FC.moment doesn't guarantee it.\n\t\t\tif (mom.hasTime()) { // don't give ambiguously-timed moments a local zone\n\t\t\t\tmom.local();\n\t\t\t}\n\t\t}\n\t\telse if (this.opt('timezone') === 'UTC') {\n\t\t\tmom = FC.moment.utc.apply(null, arguments); // process as UTC\n\t\t}\n\t\telse {\n\t\t\tmom = FC.moment.parseZone.apply(null, arguments); // let the input decide the zone\n\t\t}\n\n\t\tthis.localizeMoment(mom); // TODO\n\n\t\treturn mom;\n\t},\n\n\n\tmsToMoment: function(ms, forceAllDay) {\n\t\tvar mom = FC.moment.utc(ms); // TODO: optimize by using Date.UTC\n\n\t\tif (forceAllDay) {\n\t\t\tmom.stripTime();\n\t\t}\n\t\telse {\n\t\t\tmom = this.applyTimezone(mom); // may or may not apply locale\n\t\t}\n\n\t\tthis.localizeMoment(mom);\n\n\t\treturn mom;\n\t},\n\n\n\tmsToUtcMoment: function(ms, forceAllDay) {\n\t\tvar mom = FC.moment.utc(ms); // TODO: optimize by using Date.UTC\n\n\t\tif (forceAllDay) {\n\t\t\tmom.stripTime();\n\t\t}\n\n\t\tthis.localizeMoment(mom);\n\n\t\treturn mom;\n\t},\n\n\n\t// Updates the given moment's locale settings to the current calendar locale settings.\n\tlocalizeMoment: function(mom) {\n\t\tmom._locale = this.localeData;\n\t},\n\n\n\t// Returns a boolean about whether or not the calendar knows how to calculate\n\t// the timezone offset of arbitrary dates in the current timezone.\n\tgetIsAmbigTimezone: function() {\n\t\treturn this.opt('timezone') !== 'local' && this.opt('timezone') !== 'UTC';\n\t},\n\n\n\t// Returns a copy of the given date in the current timezone. Has no effect on dates without times.\n\tapplyTimezone: function(date) {\n\t\tif (!date.hasTime()) {\n\t\t\treturn date.clone();\n\t\t}\n\n\t\tvar zonedDate = this.moment(date.toArray());\n\t\tvar timeAdjust = date.time() - zonedDate.time();\n\t\tvar adjustedZonedDate;\n\n\t\t// Safari sometimes has problems with this coersion when near DST. Adjust if necessary. (bug #2396)\n\t\tif (timeAdjust) { // is the time result different than expected?\n\t\t\tadjustedZonedDate = zonedDate.clone().add(timeAdjust); // add milliseconds\n\t\t\tif (date.time() - adjustedZonedDate.time() === 0) { // does it match perfectly now?\n\t\t\t\tzonedDate = adjustedZonedDate;\n\t\t\t}\n\t\t}\n\n\t\treturn zonedDate;\n\t},\n\n\n\t/*\n\tAssumes the footprint is non-open-ended.\n\t*/\n\tfootprintToDateProfile: function(componentFootprint, ignoreEnd) {\n\t\tvar start = FC.moment.utc(componentFootprint.unzonedRange.startMs);\n\t\tvar end;\n\n\t\tif (!ignoreEnd) {\n\t\t\tend = FC.moment.utc(componentFootprint.unzonedRange.endMs);\n\t\t}\n\n\t\tif (componentFootprint.isAllDay) {\n\t\t\tstart.stripTime();\n\n\t\t\tif (end) {\n\t\t\t\tend.stripTime();\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tstart = this.applyTimezone(start);\n\n\t\t\tif (end) {\n\t\t\t\tend = this.applyTimezone(end);\n\t\t\t}\n\t\t}\n\n\t\treturn new EventDateProfile(start, end, this);\n\t},\n\n\n\t// Returns a moment for the current date, as defined by the client's computer or from the `now` option.\n\t// Will return an moment with an ambiguous timezone.\n\tgetNow: function() {\n\t\tvar now = this.opt('now');\n\t\tif (typeof now === 'function') {\n\t\t\tnow = now();\n\t\t}\n\t\treturn this.moment(now).stripZone();\n\t},\n\n\n\t// Produces a human-readable string for the given duration.\n\t// Side-effect: changes the locale of the given duration.\n\thumanizeDuration: function(duration) {\n\t\treturn duration.locale(this.opt('locale')).humanize();\n\t},\n\n\n\n\t// Event-Specific Date Utilities. TODO: move\n\t// -----------------------------------------------------------------------------------------------------------------\n\n\n\t// Get an event's normalized end date. If not present, calculate it from the defaults.\n\tgetEventEnd: function(event) {\n\t\tif (event.end) {\n\t\t\treturn event.end.clone();\n\t\t}\n\t\telse {\n\t\t\treturn this.getDefaultEventEnd(event.allDay, event.start);\n\t\t}\n\t},\n\n\n\t// Given an event's allDay status and start date, return what its fallback end date should be.\n\t// TODO: rename to computeDefaultEventEnd\n\tgetDefaultEventEnd: function(allDay, zonedStart) {\n\t\tvar end = zonedStart.clone();\n\n\t\tif (allDay) {\n\t\t\tend.stripTime().add(this.defaultAllDayEventDuration);\n\t\t}\n\t\telse {\n\t\t\tend.add(this.defaultTimedEventDuration);\n\t\t}\n\n\t\tif (this.getIsAmbigTimezone()) {\n\t\t\tend.stripZone(); // we don't know what the tzo should be\n\t\t}\n\n\t\treturn end;\n\t}\n\n});\n\n;;\n\nCalendar.mixin({\n\n\tviewSpecCache: null, // cache of view definitions (initialized in Calendar.js)\n\n\n\t// Gets information about how to create a view. Will use a cache.\n\tgetViewSpec: function(viewType) {\n\t\tvar cache = this.viewSpecCache;\n\n\t\treturn cache[viewType] || (cache[viewType] = this.buildViewSpec(viewType));\n\t},\n\n\n\t// Given a duration singular unit, like \"week\" or \"day\", finds a matching view spec.\n\t// Preference is given to views that have corresponding buttons.\n\tgetUnitViewSpec: function(unit) {\n\t\tvar viewTypes;\n\t\tvar i;\n\t\tvar spec;\n\n\t\tif ($.inArray(unit, unitsDesc) != -1) {\n\n\t\t\t// put views that have buttons first. there will be duplicates, but oh well\n\t\t\tviewTypes = this.header.getViewsWithButtons(); // TODO: include footer as well?\n\t\t\t$.each(FC.views, function(viewType) { // all views\n\t\t\t\tviewTypes.push(viewType);\n\t\t\t});\n\n\t\t\tfor (i = 0; i < viewTypes.length; i++) {\n\t\t\t\tspec = this.getViewSpec(viewTypes[i]);\n\t\t\t\tif (spec) {\n\t\t\t\t\tif (spec.singleUnit == unit) {\n\t\t\t\t\t\treturn spec;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\n\t// Builds an object with information on how to create a given view\n\tbuildViewSpec: function(requestedViewType) {\n\t\tvar viewOverrides = this.overrides.views || {};\n\t\tvar specChain = []; // for the view. lowest to highest priority\n\t\tvar defaultsChain = []; // for the view. lowest to highest priority\n\t\tvar overridesChain = []; // for the view. lowest to highest priority\n\t\tvar viewType = requestedViewType;\n\t\tvar spec; // for the view\n\t\tvar overrides; // for the view\n\t\tvar durationInput;\n\t\tvar duration;\n\t\tvar unit;\n\n\t\t// iterate from the specific view definition to a more general one until we hit an actual View class\n\t\twhile (viewType) {\n\t\t\tspec = fcViews[viewType];\n\t\t\toverrides = viewOverrides[viewType];\n\t\t\tviewType = null; // clear. might repopulate for another iteration\n\n\t\t\tif (typeof spec === 'function') { // TODO: deprecate\n\t\t\t\tspec = { 'class': spec };\n\t\t\t}\n\n\t\t\tif (spec) {\n\t\t\t\tspecChain.unshift(spec);\n\t\t\t\tdefaultsChain.unshift(spec.defaults || {});\n\t\t\t\tdurationInput = durationInput || spec.duration;\n\t\t\t\tviewType = viewType || spec.type;\n\t\t\t}\n\n\t\t\tif (overrides) {\n\t\t\t\toverridesChain.unshift(overrides); // view-specific option hashes have options at zero-level\n\t\t\t\tdurationInput = durationInput || overrides.duration;\n\t\t\t\tviewType = viewType || overrides.type;\n\t\t\t}\n\t\t}\n\n\t\tspec = mergeProps(specChain);\n\t\tspec.type = requestedViewType;\n\t\tif (!spec['class']) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// fall back to top-level `duration` option\n\t\tdurationInput = durationInput ||\n\t\t\tthis.dynamicOverrides.duration ||\n\t\t\tthis.overrides.duration;\n\n\t\tif (durationInput) {\n\t\t\tduration = moment.duration(durationInput);\n\n\t\t\tif (duration.valueOf()) { // valid?\n\n\t\t\t\tunit = computeDurationGreatestUnit(duration, durationInput);\n\n\t\t\t\tspec.duration = duration;\n\t\t\t\tspec.durationUnit = unit;\n\n\t\t\t\t// view is a single-unit duration, like \"week\" or \"day\"\n\t\t\t\t// incorporate options for this. lowest priority\n\t\t\t\tif (duration.as(unit) === 1) {\n\t\t\t\t\tspec.singleUnit = unit;\n\t\t\t\t\toverridesChain.unshift(viewOverrides[unit] || {});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tspec.defaults = mergeOptions(defaultsChain);\n\t\tspec.overrides = mergeOptions(overridesChain);\n\n\t\tthis.buildViewSpecOptions(spec);\n\t\tthis.buildViewSpecButtonText(spec, requestedViewType);\n\n\t\treturn spec;\n\t},\n\n\n\t// Builds and assigns a view spec's options object from its already-assigned defaults and overrides\n\tbuildViewSpecOptions: function(spec) {\n\t\tspec.options = mergeOptions([ // lowest to highest priority\n\t\t\tCalendar.defaults, // global defaults\n\t\t\tspec.defaults, // view's defaults (from ViewSubclass.defaults)\n\t\t\tthis.dirDefaults,\n\t\t\tthis.localeDefaults, // locale and dir take precedence over view's defaults!\n\t\t\tthis.overrides, // calendar's overrides (options given to constructor)\n\t\t\tspec.overrides, // view's overrides (view-specific options)\n\t\t\tthis.dynamicOverrides // dynamically set via setter. highest precedence\n\t\t]);\n\t\tpopulateInstanceComputableOptions(spec.options);\n\t},\n\n\n\t// Computes and assigns a view spec's buttonText-related options\n\tbuildViewSpecButtonText: function(spec, requestedViewType) {\n\n\t\t// given an options object with a possible `buttonText` hash, lookup the buttonText for the\n\t\t// requested view, falling back to a generic unit entry like \"week\" or \"day\"\n\t\tfunction queryButtonText(options) {\n\t\t\tvar buttonText = options.buttonText || {};\n\t\t\treturn buttonText[requestedViewType] ||\n\t\t\t\t// view can decide to look up a certain key\n\t\t\t\t(spec.buttonTextKey ? buttonText[spec.buttonTextKey] : null) ||\n\t\t\t\t// a key like \"month\"\n\t\t\t\t(spec.singleUnit ? buttonText[spec.singleUnit] : null);\n\t\t}\n\n\t\t// highest to lowest priority\n\t\tspec.buttonTextOverride =\n\t\t\tqueryButtonText(this.dynamicOverrides) ||\n\t\t\tqueryButtonText(this.overrides) || // constructor-specified buttonText lookup hash takes precedence\n\t\t\tspec.overrides.buttonText; // `buttonText` for view-specific options is a string\n\n\t\t// highest to lowest priority. mirrors buildViewSpecOptions\n\t\tspec.buttonTextDefault =\n\t\t\tqueryButtonText(this.localeDefaults) ||\n\t\t\tqueryButtonText(this.dirDefaults) ||\n\t\t\tspec.defaults.buttonText || // a single string. from ViewSubclass.defaults\n\t\t\tqueryButtonText(Calendar.defaults) ||\n\t\t\t(spec.duration ? this.humanizeDuration(spec.duration) : null) || // like \"3 days\"\n\t\t\trequestedViewType; // fall back to given view name\n\t}\n\n});\n\n;;\n\nCalendar.mixin({\n\n\tel: null,\n\tcontentEl: null,\n\tsuggestedViewHeight: null,\n\tignoreUpdateViewSize: 0,\n\tfreezeContentHeightDepth: 0,\n\twindowResizeProxy: null,\n\n\n\trender: function() {\n\t\tif (!this.contentEl) {\n\t\t\tthis.initialRender();\n\t\t}\n\t\telse if (this.elementVisible()) {\n\t\t\t// mainly for the public API\n\t\t\tthis.calcSize();\n\t\t\tthis.renderView();\n\t\t}\n\t},\n\n\n\tinitialRender: function() {\n\t\tvar _this = this;\n\t\tvar el = this.el;\n\n\t\tel.addClass('fc');\n\n\t\t// event delegation for nav links\n\t\tel.on('click.fc', 'a[data-goto]', function(ev) {\n\t\t\tvar anchorEl = $(this);\n\t\t\tvar gotoOptions = anchorEl.data('goto'); // will automatically parse JSON\n\t\t\tvar date = _this.moment(gotoOptions.date);\n\t\t\tvar viewType = gotoOptions.type;\n\n\t\t\t// property like \"navLinkDayClick\". might be a string or a function\n\t\t\tvar customAction = _this.view.opt('navLink' + capitaliseFirstLetter(viewType) + 'Click');\n\n\t\t\tif (typeof customAction === 'function') {\n\t\t\t\tcustomAction(date, ev);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (typeof customAction === 'string') {\n\t\t\t\t\tviewType = customAction;\n\t\t\t\t}\n\t\t\t\t_this.zoomTo(date, viewType);\n\t\t\t}\n\t\t});\n\n\t\t// called immediately, and upon option change\n\t\tthis.optionsModel.watch('settingTheme', [ '?theme', '?themeSystem' ], function(opts) {\n\t\t\tvar themeClass = ThemeRegistry.getThemeClass(opts.themeSystem || opts.theme);\n\t\t\tvar theme = new themeClass(_this.optionsModel);\n\t\t\tvar widgetClass = theme.getClass('widget');\n\n\t\t\t_this.theme = theme;\n\n\t\t\tif (widgetClass) {\n\t\t\t\tel.addClass(widgetClass);\n\t\t\t}\n\t\t}, function() {\n\t\t\tvar widgetClass = _this.theme.getClass('widget');\n\n\t\t\t_this.theme = null;\n\n\t\t\tif (widgetClass) {\n\t\t\t\tel.removeClass(widgetClass);\n\t\t\t}\n\t\t});\n\n\t\tthis.optionsModel.watch('settingBusinessHourGenerator', [ '?businessHours' ], function(deps) {\n\t\t\t_this.businessHourGenerator = new BusinessHourGenerator(deps.businessHours, _this);\n\n\t\t\tif (_this.view) {\n\t\t\t\t_this.view.set('businessHourGenerator', _this.businessHourGenerator);\n\t\t\t}\n\t\t}, function() {\n\t\t\t_this.businessHourGenerator = null;\n\t\t});\n\n\t\t// called immediately, and upon option change.\n\t\t// HACK: locale often affects isRTL, so we explicitly listen to that too.\n\t\tthis.optionsModel.watch('applyingDirClasses', [ '?isRTL', '?locale' ], function(opts) {\n\t\t\tel.toggleClass('fc-ltr', !opts.isRTL);\n\t\t\tel.toggleClass('fc-rtl', opts.isRTL);\n\t\t});\n\n\t\tthis.contentEl = $(\"<div class='fc-view-container'/>\").prependTo(el);\n\n\t\tthis.initToolbars();\n\t\tthis.renderHeader();\n\t\tthis.renderFooter();\n\t\tthis.renderView(this.opt('defaultView'));\n\n\t\tif (this.opt('handleWindowResize')) {\n\t\t\t$(window).resize(\n\t\t\t\tthis.windowResizeProxy = debounce( // prevents rapid calls\n\t\t\t\t\tthis.windowResize.bind(this),\n\t\t\t\t\tthis.opt('windowResizeDelay')\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t},\n\n\n\tdestroy: function() {\n\t\tif (this.view) {\n\t\t\tthis.clearView();\n\t\t}\n\n\t\tthis.toolbarsManager.proxyCall('removeElement');\n\t\tthis.contentEl.remove();\n\t\tthis.el.removeClass('fc fc-ltr fc-rtl');\n\n\t\t// removes theme-related root className\n\t\tthis.optionsModel.unwatch('settingTheme');\n\t\tthis.optionsModel.unwatch('settingBusinessHourGenerator');\n\n\t\tthis.el.off('.fc'); // unbind nav link handlers\n\n\t\tif (this.windowResizeProxy) {\n\t\t\t$(window).unbind('resize', this.windowResizeProxy);\n\t\t\tthis.windowResizeProxy = null;\n\t\t}\n\n\t\tGlobalEmitter.unneeded();\n\t},\n\n\n\telementVisible: function() {\n\t\treturn this.el.is(':visible');\n\t},\n\n\n\t// Render Queue\n\t// -----------------------------------------------------------------------------------------------------------------\n\n\n\tbindViewHandlers: function(view) {\n\t\tvar _this = this;\n\n\t\tview.watch('titleForCalendar', [ 'title' ], function(deps) { // TODO: better system\n\t\t\tif (view === _this.view) { // hack\n\t\t\t\t_this.setToolbarsTitle(deps.title);\n\t\t\t}\n\t\t});\n\n\t\tview.watch('dateProfileForCalendar', [ 'dateProfile' ], function(deps) {\n\t\t\tif (view === _this.view) { // hack\n\t\t\t\t_this.currentDate = deps.dateProfile.date; // might have been constrained by view dates\n\t\t\t\t_this.updateToolbarButtons(deps.dateProfile);\n\t\t\t}\n\t\t});\n\t},\n\n\n\tunbindViewHandlers: function(view) {\n\t\tview.unwatch('titleForCalendar');\n\t\tview.unwatch('dateProfileForCalendar');\n\t},\n\n\n\t// View Rendering\n\t// -----------------------------------------------------------------------------------\n\n\n\t// Renders a view because of a date change, view-type change, or for the first time.\n\t// If not given a viewType, keep the current view but render different dates.\n\t// Accepts an optional scroll state to restore to.\n\trenderView: function(viewType) {\n\t\tvar oldView = this.view;\n\t\tvar newView;\n\n\t\tthis.freezeContentHeight();\n\n\t\tif (oldView && viewType && oldView.type !== viewType) {\n\t\t\tthis.clearView();\n\t\t}\n\n\t\t// if viewType changed, or the view was never created, create a fresh view\n\t\tif (!this.view && viewType) {\n\t\t\tnewView = this.view =\n\t\t\t\tthis.viewsByType[viewType] ||\n\t\t\t\t(this.viewsByType[viewType] = this.instantiateView(viewType));\n\n\t\t\tthis.bindViewHandlers(newView);\n\n\t\t\tnewView.setElement(\n\t\t\t\t$(\"<div class='fc-view fc-\" + viewType + \"-view' />\").appendTo(this.contentEl)\n\t\t\t);\n\n\t\t\tthis.toolbarsManager.proxyCall('activateButton', viewType);\n\t\t}\n\n\t\tif (this.view) {\n\n\t\t\t// prevent unnecessary change firing\n\t\t\tif (this.view.get('businessHourGenerator') !== this.businessHourGenerator) {\n\t\t\t\tthis.view.set('businessHourGenerator', this.businessHourGenerator);\n\t\t\t}\n\n\t\t\tthis.view.setDate(this.currentDate);\n\t\t}\n\n\t\tthis.thawContentHeight();\n\t},\n\n\n\t// Unrenders the current view and reflects this change in the Header.\n\t// Unregsiters the `view`, but does not remove from viewByType hash.\n\tclearView: function() {\n\t\tvar currentView = this.view;\n\n\t\tthis.toolbarsManager.proxyCall('deactivateButton', currentView.type);\n\n\t\tthis.unbindViewHandlers(currentView);\n\n\t\tcurrentView.removeElement();\n\t\tcurrentView.unsetDate(); // so bindViewHandlers doesn't fire with old values next time\n\n\t\tthis.view = null;\n\t},\n\n\n\t// Destroys the view, including the view object. Then, re-instantiates it and renders it.\n\t// Maintains the same scroll state.\n\t// TODO: maintain any other user-manipulated state.\n\treinitView: function() {\n\t\tvar oldView = this.view;\n\t\tvar scroll = oldView.queryScroll(); // wouldn't be so complicated if Calendar owned the scroll\n\t\tthis.freezeContentHeight();\n\n\t\tthis.clearView();\n\t\tthis.calcSize();\n\t\tthis.renderView(oldView.type); // needs the type to freshly render\n\n\t\tthis.view.applyScroll(scroll);\n\t\tthis.thawContentHeight();\n\t},\n\n\n\t// Resizing\n\t// -----------------------------------------------------------------------------------\n\n\n\tgetSuggestedViewHeight: function() {\n\t\tif (this.suggestedViewHeight === null) {\n\t\t\tthis.calcSize();\n\t\t}\n\t\treturn this.suggestedViewHeight;\n\t},\n\n\n\tisHeightAuto: function() {\n\t\treturn this.opt('contentHeight') === 'auto' || this.opt('height') === 'auto';\n\t},\n\n\n\tupdateViewSize: function(isResize) {\n\t\tvar view = this.view;\n\t\tvar scroll;\n\n\t\tif (!this.ignoreUpdateViewSize && view) {\n\n\t\t\tif (isResize) {\n\t\t\t\tthis.calcSize();\n\t\t\t\tscroll = view.queryScroll();\n\t\t\t}\n\n\t\t\tthis.ignoreUpdateViewSize++;\n\n\t\t\tview.updateSize(\n\t\t\t\tthis.getSuggestedViewHeight(),\n\t\t\t\tthis.isHeightAuto(),\n\t\t\t\tisResize\n\t\t\t);\n\n\t\t\tthis.ignoreUpdateViewSize--;\n\n\t\t\tif (isResize) {\n\t\t\t\tview.applyScroll(scroll);\n\t\t\t}\n\n\t\t\treturn true; // signal success\n\t\t}\n\t},\n\n\n\tcalcSize: function() {\n\t\tif (this.elementVisible()) {\n\t\t\tthis._calcSize();\n\t\t}\n\t},\n\n\n\t_calcSize: function() { // assumes elementVisible\n\t\tvar contentHeightInput = this.opt('contentHeight');\n\t\tvar heightInput = this.opt('height');\n\n\t\tif (typeof contentHeightInput === 'number') { // exists and not 'auto'\n\t\t\tthis.suggestedViewHeight = contentHeightInput;\n\t\t}\n\t\telse if (typeof contentHeightInput === 'function') { // exists and is a function\n\t\t\tthis.suggestedViewHeight = contentHeightInput();\n\t\t}\n\t\telse if (typeof heightInput === 'number') { // exists and not 'auto'\n\t\t\tthis.suggestedViewHeight = heightInput - this.queryToolbarsHeight();\n\t\t}\n\t\telse if (typeof heightInput === 'function') { // exists and is a function\n\t\t\tthis.suggestedViewHeight = heightInput() - this.queryToolbarsHeight();\n\t\t}\n\t\telse if (heightInput === 'parent') { // set to height of parent element\n\t\t\tthis.suggestedViewHeight = this.el.parent().height() - this.queryToolbarsHeight();\n\t\t}\n\t\telse {\n\t\t\tthis.suggestedViewHeight = Math.round(\n\t\t\t\tthis.contentEl.width() /\n\t\t\t\tMath.max(this.opt('aspectRatio'), .5)\n\t\t\t);\n\t\t}\n\t},\n\n\n\twindowResize: function(ev) {\n\t\tif (\n\t\t\tev.target === window && // so we don't process jqui \"resize\" events that have bubbled up\n\t\t\tthis.view &&\n\t\t\tthis.view.isDatesRendered\n\t\t) {\n\t\t\tif (this.updateViewSize(true)) { // isResize=true, returns true on success\n\t\t\t\tthis.publiclyTrigger('windowResize', [ this.view ]);\n\t\t\t}\n\t\t}\n\t},\n\n\n\t/* Height \"Freezing\"\n\t-----------------------------------------------------------------------------*/\n\n\n\tfreezeContentHeight: function() {\n\t\tif (!(this.freezeContentHeightDepth++)) {\n\t\t\tthis.forceFreezeContentHeight();\n\t\t}\n\t},\n\n\n\tforceFreezeContentHeight: function() {\n\t\tthis.contentEl.css({\n\t\t\twidth: '100%',\n\t\t\theight: this.contentEl.height(),\n\t\t\toverflow: 'hidden'\n\t\t});\n\t},\n\n\n\tthawContentHeight: function() {\n\t\tthis.freezeContentHeightDepth--;\n\n\t\t// always bring back to natural height\n\t\tthis.contentEl.css({\n\t\t\twidth: '',\n\t\t\theight: '',\n\t\t\toverflow: ''\n\t\t});\n\n\t\t// but if there are future thaws, re-freeze\n\t\tif (this.freezeContentHeightDepth) {\n\t\t\tthis.forceFreezeContentHeight();\n\t\t}\n\t}\n\n});\n\n;;\n\nCalendar.mixin({\n\n\theader: null,\n\tfooter: null,\n\ttoolbarsManager: null,\n\n\n\tinitToolbars: function() {\n\t\tthis.header = new Toolbar(this, this.computeHeaderOptions());\n\t\tthis.footer = new Toolbar(this, this.computeFooterOptions());\n\t\tthis.toolbarsManager = new Iterator([ this.header, this.footer ]);\n\t},\n\n\n\tcomputeHeaderOptions: function() {\n\t\treturn {\n\t\t\textraClasses: 'fc-header-toolbar',\n\t\t\tlayout: this.opt('header')\n\t\t};\n\t},\n\n\n\tcomputeFooterOptions: function() {\n\t\treturn {\n\t\t\textraClasses: 'fc-footer-toolbar',\n\t\t\tlayout: this.opt('footer')\n\t\t};\n\t},\n\n\n\t// can be called repeatedly and Header will rerender\n\trenderHeader: function() {\n\t\tvar header = this.header;\n\n\t\theader.setToolbarOptions(this.computeHeaderOptions());\n\t\theader.render();\n\n\t\tif (header.el) {\n\t\t\tthis.el.prepend(header.el);\n\t\t}\n\t},\n\n\n\t// can be called repeatedly and Footer will rerender\n\trenderFooter: function() {\n\t\tvar footer = this.footer;\n\n\t\tfooter.setToolbarOptions(this.computeFooterOptions());\n\t\tfooter.render();\n\n\t\tif (footer.el) {\n\t\t\tthis.el.append(footer.el);\n\t\t}\n\t},\n\n\n\tsetToolbarsTitle: function(title) {\n\t\tthis.toolbarsManager.proxyCall('updateTitle', title);\n\t},\n\n\n\tupdateToolbarButtons: function(dateProfile) {\n\t\tvar now = this.getNow();\n\t\tvar view = this.view;\n\t\tvar todayInfo = view.buildDateProfile(now);\n\t\tvar prevInfo = view.buildPrevDateProfile(this.currentDate);\n\t\tvar nextInfo = view.buildNextDateProfile(this.currentDate);\n\n\t\tthis.toolbarsManager.proxyCall(\n\t\t\t(todayInfo.isValid && !dateProfile.currentUnzonedRange.containsDate(now)) ?\n\t\t\t\t'enableButton' :\n\t\t\t\t'disableButton',\n\t\t\t'today'\n\t\t);\n\n\t\tthis.toolbarsManager.proxyCall(\n\t\t\tprevInfo.isValid ?\n\t\t\t\t'enableButton' :\n\t\t\t\t'disableButton',\n\t\t\t'prev'\n\t\t);\n\n\t\tthis.toolbarsManager.proxyCall(\n\t\t\tnextInfo.isValid ?\n\t\t\t\t'enableButton' :\n\t\t\t\t'disableButton',\n\t\t\t'next'\n\t\t);\n\t},\n\n\n\tqueryToolbarsHeight: function() {\n\t\treturn this.toolbarsManager.items.reduce(function(accumulator, toolbar) {\n\t\t\tvar toolbarHeight = toolbar.el ? toolbar.el.outerHeight(true) : 0; // includes margin\n\t\t\treturn accumulator + toolbarHeight;\n\t\t}, 0);\n\t}\n\n});\n\n;;\n\n/*\ndetermines if eventInstanceGroup is allowed,\nin relation to other EVENTS and business hours.\n*/\nCalendar.prototype.isEventInstanceGroupAllowed = function(eventInstanceGroup) {\n\tvar eventDef = eventInstanceGroup.getEventDef();\n\tvar eventFootprints = this.eventRangesToEventFootprints(eventInstanceGroup.getAllEventRanges());\n\tvar i;\n\n\tvar peerEventInstances = this.getPeerEventInstances(eventDef);\n\tvar peerEventRanges = peerEventInstances.map(eventInstanceToEventRange);\n\tvar peerEventFootprints = this.eventRangesToEventFootprints(peerEventRanges);\n\n\tvar constraintVal = eventDef.getConstraint();\n\tvar overlapVal = eventDef.getOverlap();\n\n\tvar eventAllowFunc = this.opt('eventAllow');\n\n\tfor (i = 0; i < eventFootprints.length; i++) {\n\t\tif (\n\t\t\t!this.isFootprintAllowed(\n\t\t\t\teventFootprints[i].componentFootprint,\n\t\t\t\tpeerEventFootprints,\n\t\t\t\tconstraintVal,\n\t\t\t\toverlapVal,\n\t\t\t\teventFootprints[i].eventInstance\n\t\t\t)\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tif (eventAllowFunc) {\n\t\tfor (i = 0; i < eventFootprints.length; i++) {\n\t\t\tif (\n\t\t\t\teventAllowFunc(\n\t\t\t\t\teventFootprints[i].componentFootprint.toLegacy(this),\n\t\t\t\t\teventFootprints[i].getEventLegacy()\n\t\t\t\t) === false\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn true;\n};\n\n\nCalendar.prototype.getPeerEventInstances = function(eventDef) {\n\treturn this.eventManager.getEventInstancesWithoutId(eventDef.id);\n};\n\n\nCalendar.prototype.isSelectionFootprintAllowed = function(componentFootprint) {\n\tvar peerEventInstances = this.eventManager.getEventInstances();\n\tvar peerEventRanges = peerEventInstances.map(eventInstanceToEventRange);\n\tvar peerEventFootprints = this.eventRangesToEventFootprints(peerEventRanges);\n\n\tvar selectAllowFunc;\n\n\tif (\n\t\tthis.isFootprintAllowed(\n\t\t\tcomponentFootprint,\n\t\t\tpeerEventFootprints,\n\t\t\tthis.opt('selectConstraint'),\n\t\t\tthis.opt('selectOverlap')\n\t\t)\n\t) {\n\t\tselectAllowFunc = this.opt('selectAllow');\n\n\t\tif (selectAllowFunc) {\n\t\t\treturn selectAllowFunc(componentFootprint.toLegacy(this)) !== false;\n\t\t}\n\t\telse {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n};\n\n\nCalendar.prototype.isFootprintAllowed = function(\n\tcomponentFootprint,\n\tpeerEventFootprints,\n\tconstraintVal,\n\toverlapVal,\n\tsubjectEventInstance // optional\n) {\n\tvar constraintFootprints; // ComponentFootprint[]\n\tvar overlapEventFootprints; // EventFootprint[]\n\n\tif (constraintVal != null) {\n\t\tconstraintFootprints = this.constraintValToFootprints(constraintVal, componentFootprint.isAllDay);\n\n\t\tif (!this.isFootprintWithinConstraints(componentFootprint, constraintFootprints)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\toverlapEventFootprints = this.collectOverlapEventFootprints(peerEventFootprints, componentFootprint);\n\n\tif (overlapVal === false) {\n\t\tif (overlapEventFootprints.length) {\n\t\t\treturn false;\n\t\t}\n\t}\n\telse if (typeof overlapVal === 'function') {\n\t\tif (!isOverlapsAllowedByFunc(overlapEventFootprints, overlapVal, subjectEventInstance)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tif (subjectEventInstance) {\n\t\tif (!isOverlapEventInstancesAllowed(overlapEventFootprints, subjectEventInstance)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n};\n\n\n// Constraint\n// ------------------------------------------------------------------------------------------------\n\n\nCalendar.prototype.isFootprintWithinConstraints = function(componentFootprint, constraintFootprints) {\n\tvar i;\n\n\tfor (i = 0; i < constraintFootprints.length; i++) {\n\t\tif (this.footprintContainsFootprint(constraintFootprints[i], componentFootprint)) {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n};\n\n\nCalendar.prototype.constraintValToFootprints = function(constraintVal, isAllDay) {\n\tvar eventInstances;\n\n\tif (constraintVal === 'businessHours') {\n\t\treturn this.buildCurrentBusinessFootprints(isAllDay);\n\t}\n\telse if (typeof constraintVal === 'object') {\n\t\teventInstances = this.parseEventDefToInstances(constraintVal); // handles recurring events\n\n\t\tif (!eventInstances) { // invalid input. fallback to parsing footprint directly\n\t\t\treturn this.parseFootprints(constraintVal);\n\t\t}\n\t\telse {\n\t\t\treturn this.eventInstancesToFootprints(eventInstances);\n\t\t}\n\t}\n\telse if (constraintVal != null) { // an ID\n\t\teventInstances = this.eventManager.getEventInstancesWithId(constraintVal);\n\n\t\treturn this.eventInstancesToFootprints(eventInstances);\n\t}\n};\n\n\n// returns ComponentFootprint[]\n// uses current view's range\nCalendar.prototype.buildCurrentBusinessFootprints = function(isAllDay) {\n\tvar view = this.view;\n\tvar businessHourGenerator = view.get('businessHourGenerator');\n\tvar unzonedRange = view.dateProfile.activeUnzonedRange;\n\tvar eventInstanceGroup = businessHourGenerator.buildEventInstanceGroup(isAllDay, unzonedRange);\n\n\tif (eventInstanceGroup) {\n\t\treturn this.eventInstancesToFootprints(eventInstanceGroup.eventInstances);\n\t}\n\telse {\n\t\treturn [];\n\t}\n};\n\n\n// conversion util\nCalendar.prototype.eventInstancesToFootprints = function(eventInstances) {\n\tvar eventRanges = eventInstances.map(eventInstanceToEventRange);\n\tvar eventFootprints = this.eventRangesToEventFootprints(eventRanges);\n\n\treturn eventFootprints.map(eventFootprintToComponentFootprint);\n};\n\n\n// Overlap\n// ------------------------------------------------------------------------------------------------\n\n\nCalendar.prototype.collectOverlapEventFootprints = function(peerEventFootprints, targetFootprint) {\n\tvar overlapEventFootprints = [];\n\tvar i;\n\n\tfor (i = 0; i < peerEventFootprints.length; i++) {\n\t\tif (\n\t\t\tthis.footprintsIntersect(\n\t\t\t\ttargetFootprint,\n\t\t\t\tpeerEventFootprints[i].componentFootprint\n\t\t\t)\n\t\t) {\n\t\t\toverlapEventFootprints.push(peerEventFootprints[i]);\n\t\t}\n\t}\n\n\treturn overlapEventFootprints;\n};\n\n\n// optional subjectEventInstance\nfunction isOverlapsAllowedByFunc(overlapEventFootprints, overlapFunc, subjectEventInstance) {\n\tvar i;\n\n\tfor (i = 0; i < overlapEventFootprints.length; i++) {\n\t\tif (\n\t\t\t!overlapFunc(\n\t\t\t\toverlapEventFootprints[i].eventInstance.toLegacy(),\n\t\t\t\tsubjectEventInstance ? subjectEventInstance.toLegacy() : null\n\t\t\t)\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n}\n\n\nfunction isOverlapEventInstancesAllowed(overlapEventFootprints, subjectEventInstance) {\n\tvar subjectLegacyInstance = subjectEventInstance.toLegacy();\n\tvar i;\n\tvar overlapEventInstance;\n\tvar overlapEventDef;\n\tvar overlapVal;\n\n\tfor (i = 0; i < overlapEventFootprints.length; i++) {\n\t\toverlapEventInstance = overlapEventFootprints[i].eventInstance;\n\t\toverlapEventDef = overlapEventInstance.def;\n\n\t\t// don't need to pass in calendar, because don't want to consider global eventOverlap property,\n\t\t// because we already considered that earlier in the process.\n\t\toverlapVal = overlapEventDef.getOverlap();\n\n\t\tif (overlapVal === false) {\n\t\t\treturn false;\n\t\t}\n\t\telse if (typeof overlapVal === 'function') {\n\t\t\tif (\n\t\t\t\t!overlapVal(\n\t\t\t\t\toverlapEventInstance.toLegacy(),\n\t\t\t\t\tsubjectLegacyInstance\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn true;\n}\n\n\n// Conversion: eventDefs -> eventInstances -> eventRanges -> eventFootprints -> componentFootprints\n// ------------------------------------------------------------------------------------------------\n// NOTE: this might seem like repetitive code with the Grid class, however, this code is related to\n// constraints whereas the Grid code is related to rendering. Each approach might want to convert\n// eventRanges -> eventFootprints in a different way. Regardless, there are opportunities to make\n// this more DRY.\n\n\n/*\nReturns false on invalid input.\n*/\nCalendar.prototype.parseEventDefToInstances = function(eventInput) {\n\tvar eventManager = this.eventManager;\n\tvar eventDef = EventDefParser.parse(eventInput, new EventSource(this));\n\n\tif (!eventDef) { // invalid\n\t\treturn false;\n\t}\n\n\treturn eventDef.buildInstances(eventManager.currentPeriod.unzonedRange);\n};\n\n\nCalendar.prototype.eventRangesToEventFootprints = function(eventRanges) {\n\tvar i;\n\tvar eventFootprints = [];\n\n\tfor (i = 0; i < eventRanges.length; i++) {\n\t\teventFootprints.push.apply( // footprints\n\t\t\teventFootprints,\n\t\t\tthis.eventRangeToEventFootprints(eventRanges[i])\n\t\t);\n\t}\n\n\treturn eventFootprints;\n};\n\n\nCalendar.prototype.eventRangeToEventFootprints = function(eventRange) {\n\treturn [ eventRangeToEventFootprint(eventRange) ];\n};\n\n\n/*\nParses footprints directly.\nVery similar to EventDateProfile::parse :(\n*/\nCalendar.prototype.parseFootprints = function(rawInput) {\n\tvar start, end;\n\n\tif (rawInput.start) {\n\t\tstart = this.moment(rawInput.start);\n\n\t\tif (!start.isValid()) {\n\t\t\tstart = null;\n\t\t}\n\t}\n\n\tif (rawInput.end) {\n\t\tend = this.moment(rawInput.end);\n\n\t\tif (!end.isValid()) {\n\t\t\tend = null;\n\t\t}\n\t}\n\n\treturn [\n\t\tnew ComponentFootprint(\n\t\t\tnew UnzonedRange(start, end),\n\t\t\t(start && !start.hasTime()) || (end && !end.hasTime()) // isAllDay\n\t\t)\n\t];\n};\n\n\n// Footprint Utils\n// ----------------------------------------------------------------------------------------\n\n\nCalendar.prototype.footprintContainsFootprint = function(outerFootprint, innerFootprint) {\n\treturn outerFootprint.unzonedRange.containsRange(innerFootprint.unzonedRange);\n};\n\n\nCalendar.prototype.footprintsIntersect = function(footprint0, footprint1) {\n\treturn footprint0.unzonedRange.intersectsWith(footprint1.unzonedRange);\n};\n\n;;\n\nCalendar.mixin({\n\n\t// Sources\n\t// ------------------------------------------------------------------------------------\n\n\n\tgetEventSources: function() {\n\t\treturn this.eventManager.otherSources.slice(); // clone\n\t},\n\n\n\tgetEventSourceById: function(id) {\n\t\treturn this.eventManager.getSourceById(\n\t\t\tEventSource.normalizeId(id)\n\t\t);\n\t},\n\n\n\taddEventSource: function(sourceInput) {\n\t\tvar source = EventSourceParser.parse(sourceInput, this);\n\n\t\tif (source) {\n\t\t\tthis.eventManager.addSource(source);\n\t\t}\n\t},\n\n\n\tremoveEventSources: function(sourceMultiQuery) {\n\t\tvar eventManager = this.eventManager;\n\t\tvar sources;\n\t\tvar i;\n\n\t\tif (sourceMultiQuery == null) {\n\t\t\tthis.eventManager.removeAllSources();\n\t\t}\n\t\telse {\n\t\t\tsources = eventManager.multiQuerySources(sourceMultiQuery);\n\n\t\t\teventManager.freeze();\n\n\t\t\tfor (i = 0; i < sources.length; i++) {\n\t\t\t\teventManager.removeSource(sources[i]);\n\t\t\t}\n\n\t\t\teventManager.thaw();\n\t\t}\n\t},\n\n\n\tremoveEventSource: function(sourceQuery) {\n\t\tvar eventManager = this.eventManager;\n\t\tvar sources = eventManager.querySources(sourceQuery);\n\t\tvar i;\n\n\t\teventManager.freeze();\n\n\t\tfor (i = 0; i < sources.length; i++) {\n\t\t\teventManager.removeSource(sources[i]);\n\t\t}\n\n\t\teventManager.thaw();\n\t},\n\n\n\trefetchEventSources: function(sourceMultiQuery) {\n\t\tvar eventManager = this.eventManager;\n\t\tvar sources = eventManager.multiQuerySources(sourceMultiQuery);\n\t\tvar i;\n\n\t\teventManager.freeze();\n\n\t\tfor (i = 0; i < sources.length; i++) {\n\t\t\teventManager.refetchSource(sources[i]);\n\t\t}\n\n\t\teventManager.thaw();\n\t},\n\n\n\t// Events\n\t// ------------------------------------------------------------------------------------\n\n\n\trefetchEvents: function() {\n\t\tthis.eventManager.refetchAllSources();\n\t},\n\n\n\trenderEvents: function(eventInputs, isSticky) {\n\t\tthis.eventManager.freeze();\n\n\t\tfor (var i = 0; i < eventInputs.length; i++) {\n\t\t\tthis.renderEvent(eventInputs[i], isSticky);\n\t\t}\n\n\t\tthis.eventManager.thaw();\n\t},\n\n\n\trenderEvent: function(eventInput, isSticky) {\n\t\tvar eventManager = this.eventManager;\n\t\tvar eventDef = EventDefParser.parse(\n\t\t\teventInput,\n\t\t\teventInput.source || eventManager.stickySource\n\t\t);\n\n\t\tif (eventDef) {\n\t\t\teventManager.addEventDef(eventDef, isSticky);\n\t\t}\n\t},\n\n\n\t// legacyQuery operates on legacy event instance objects\n\tremoveEvents: function(legacyQuery) {\n\t\tvar eventManager = this.eventManager;\n\t\tvar legacyInstances = [];\n\t\tvar idMap = {};\n\t\tvar eventDef;\n\t\tvar i;\n\n\t\tif (legacyQuery == null) { // shortcut for removing all\n\t\t\teventManager.removeAllEventDefs(true); // persist=true\n\t\t}\n\t\telse {\n\t\t\teventManager.getEventInstances().forEach(function(eventInstance) {\n\t\t\t\tlegacyInstances.push(eventInstance.toLegacy());\n\t\t\t});\n\n\t\t\tlegacyInstances = filterLegacyEventInstances(legacyInstances, legacyQuery);\n\n\t\t\t// compute unique IDs\n\t\t\tfor (i = 0; i < legacyInstances.length; i++) {\n\t\t\t\teventDef = this.eventManager.getEventDefByUid(legacyInstances[i]._id);\n\t\t\t\tidMap[eventDef.id] = true;\n\t\t\t}\n\n\t\t\teventManager.freeze();\n\n\t\t\tfor (i in idMap) { // reuse `i` as an \"id\"\n\t\t\t\teventManager.removeEventDefsById(i, true); // persist=true\n\t\t\t}\n\n\t\t\teventManager.thaw();\n\t\t}\n\t},\n\n\n\t// legacyQuery operates on legacy event instance objects\n\tclientEvents: function(legacyQuery) {\n\t\tvar legacyEventInstances = [];\n\n\t\tthis.eventManager.getEventInstances().forEach(function(eventInstance) {\n\t\t\tlegacyEventInstances.push(eventInstance.toLegacy());\n\t\t});\n\n\t\treturn filterLegacyEventInstances(legacyEventInstances, legacyQuery);\n\t},\n\n\n\tupdateEvents: function(eventPropsArray) {\n\t\tthis.eventManager.freeze();\n\n\t\tfor (var i = 0; i < eventPropsArray.length; i++) {\n\t\t\tthis.updateEvent(eventPropsArray[i]);\n\t\t}\n\n\t\tthis.eventManager.thaw();\n\t},\n\n\n\tupdateEvent: function(eventProps) {\n\t\tvar eventDef = this.eventManager.getEventDefByUid(eventProps._id);\n\t\tvar eventInstance;\n\t\tvar eventDefMutation;\n\n\t\tif (eventDef instanceof SingleEventDef) {\n\t\t\teventInstance = eventDef.buildInstance();\n\n\t\t\teventDefMutation = EventDefMutation.createFromRawProps(\n\t\t\t\teventInstance,\n\t\t\t\teventProps, // raw props\n\t\t\t\tnull // largeUnit -- who uses it?\n\t\t\t);\n\n\t\t\tthis.eventManager.mutateEventsWithId(eventDef.id, eventDefMutation); // will release\n\t\t}\n\t}\n\n});\n\n\nfunction filterLegacyEventInstances(legacyEventInstances, legacyQuery) {\n\tif (legacyQuery == null) {\n\t\treturn legacyEventInstances;\n\t}\n\telse if ($.isFunction(legacyQuery)) {\n\t\treturn legacyEventInstances.filter(legacyQuery);\n\t}\n\telse { // an event ID\n\t\tlegacyQuery += ''; // normalize to string\n\n\t\treturn legacyEventInstances.filter(function(legacyEventInstance) {\n\t\t\t// soft comparison because id not be normalized to string\n\t\t\treturn legacyEventInstance.id == legacyQuery ||\n\t\t\t\tlegacyEventInstance._id === legacyQuery; // can specify internal id, but must exactly match\n\t\t});\n\t}\n}\n\n;;\n\nCalendar.defaults = {\n\n\ttitleRangeSeparator: ' \\u2013 ', // en dash\n\tmonthYearFormat: 'MMMM YYYY', // required for en. other locales rely on datepicker computable option\n\n\tdefaultTimedEventDuration: '02:00:00',\n\tdefaultAllDayEventDuration: { days: 1 },\n\tforceEventDuration: false,\n\tnextDayThreshold: '09:00:00', // 9am\n\n\t// display\n\tcolumnHeader: true,\n\tdefaultView: 'month',\n\taspectRatio: 1.35,\n\theader: {\n\t\tleft: 'title',\n\t\tcenter: '',\n\t\tright: 'today prev,next'\n\t},\n\tweekends: true,\n\tweekNumbers: false,\n\n\tweekNumberTitle: 'W',\n\tweekNumberCalculation: 'local',\n\t\n\t//editable: false,\n\n\t//nowIndicator: false,\n\n\tscrollTime: '06:00:00',\n\tminTime: '00:00:00',\n\tmaxTime: '24:00:00',\n\tshowNonCurrentDates: true,\n\t\n\t// event ajax\n\tlazyFetching: true,\n\tstartParam: 'start',\n\tendParam: 'end',\n\ttimezoneParam: 'timezone',\n\n\ttimezone: false,\n\n\t//allDayDefault: undefined,\n\n\t// locale\n\tisRTL: false,\n\tbuttonText: {\n\t\tprev: \"prev\",\n\t\tnext: \"next\",\n\t\tprevYear: \"prev year\",\n\t\tnextYear: \"next year\",\n\t\tyear: 'year', // TODO: locale files need to specify this\n\t\ttoday: 'today',\n\t\tmonth: 'month',\n\t\tweek: 'week',\n\t\tday: 'day'\n\t},\n\t//buttonIcons: null,\n\n\tallDayText: 'all-day',\n\n\t// allows setting a min-height to the event segment to prevent short events overlapping each other\n\tagendaEventMinHeight: 0,\n\t\n\t// jquery-ui theming\n\ttheme: false,\n\t//themeButtonIcons: null,\n\n\t//eventResizableFromStart: false,\n\tdragOpacity: .75,\n\tdragRevertDuration: 500,\n\tdragScroll: true,\n\t\n\t//selectable: false,\n\tunselectAuto: true,\n\t//selectMinDistance: 0,\n\t\n\tdropAccept: '*',\n\n\teventOrder: 'title',\n\t//eventRenderWait: null,\n\n\teventLimit: false,\n\teventLimitText: 'more',\n\teventLimitClick: 'popover',\n\tdayPopoverFormat: 'LL',\n\t\n\thandleWindowResize: true,\n\twindowResizeDelay: 100, // milliseconds before an updateSize happens\n\n\tlongPressDelay: 1000\n\t\n};\n\n\nCalendar.englishDefaults = { // used by locale.js\n\tdayPopoverFormat: 'dddd, MMMM D'\n};\n\n\nCalendar.rtlDefaults = { // right-to-left defaults\n\theader: { // TODO: smarter solution (first/center/last ?)\n\t\tleft: 'next,prev today',\n\t\tcenter: '',\n\t\tright: 'title'\n\t},\n\tbuttonIcons: {\n\t\tprev: 'right-single-arrow',\n\t\tnext: 'left-single-arrow',\n\t\tprevYear: 'right-double-arrow',\n\t\tnextYear: 'left-double-arrow'\n\t},\n\tthemeButtonIcons: {\n\t\tprev: 'circle-triangle-e',\n\t\tnext: 'circle-triangle-w',\n\t\tnextYear: 'seek-prev',\n\t\tprevYear: 'seek-next'\n\t}\n};\n\n;;\n\nvar localeOptionHash = FC.locales = {}; // initialize and expose\n\n\n// TODO: document the structure and ordering of a FullCalendar locale file\n\n\n// Initialize jQuery UI datepicker translations while using some of the translations\n// Will set this as the default locales for datepicker.\nFC.datepickerLocale = function(localeCode, dpLocaleCode, dpOptions) {\n\n\t// get the FullCalendar internal option hash for this locale. create if necessary\n\tvar fcOptions = localeOptionHash[localeCode] || (localeOptionHash[localeCode] = {});\n\n\t// transfer some simple options from datepicker to fc\n\tfcOptions.isRTL = dpOptions.isRTL;\n\tfcOptions.weekNumberTitle = dpOptions.weekHeader;\n\n\t// compute some more complex options from datepicker\n\t$.each(dpComputableOptions, function(name, func) {\n\t\tfcOptions[name] = func(dpOptions);\n\t});\n\n\t// is jQuery UI Datepicker is on the page?\n\tif ($.datepicker) {\n\n\t\t// Register the locale data.\n\t\t// FullCalendar and MomentJS use locale codes like \"pt-br\" but Datepicker\n\t\t// does it like \"pt-BR\" or if it doesn't have the locale, maybe just \"pt\".\n\t\t// Make an alias so the locale can be referenced either way.\n\t\t$.datepicker.regional[dpLocaleCode] =\n\t\t\t$.datepicker.regional[localeCode] = // alias\n\t\t\t\tdpOptions;\n\n\t\t// Alias 'en' to the default locale data. Do this every time.\n\t\t$.datepicker.regional.en = $.datepicker.regional[''];\n\n\t\t// Set as Datepicker's global defaults.\n\t\t$.datepicker.setDefaults(dpOptions);\n\t}\n};\n\n\n// Sets FullCalendar-specific translations. Will set the locales as the global default.\nFC.locale = function(localeCode, newFcOptions) {\n\tvar fcOptions;\n\tvar momOptions;\n\n\t// get the FullCalendar internal option hash for this locale. create if necessary\n\tfcOptions = localeOptionHash[localeCode] || (localeOptionHash[localeCode] = {});\n\n\t// provided new options for this locales? merge them in\n\tif (newFcOptions) {\n\t\tfcOptions = localeOptionHash[localeCode] = mergeOptions([ fcOptions, newFcOptions ]);\n\t}\n\n\t// compute locale options that weren't defined.\n\t// always do this. newFcOptions can be undefined when initializing from i18n file,\n\t// so no way to tell if this is an initialization or a default-setting.\n\tmomOptions = getMomentLocaleData(localeCode); // will fall back to en\n\t$.each(momComputableOptions, function(name, func) {\n\t\tif (fcOptions[name] == null) {\n\t\t\tfcOptions[name] = func(momOptions, fcOptions);\n\t\t}\n\t});\n\n\t// set it as the default locale for FullCalendar\n\tCalendar.defaults.locale = localeCode;\n};\n\n\n// NOTE: can't guarantee any of these computations will run because not every locale has datepicker\n// configs, so make sure there are English fallbacks for these in the defaults file.\nvar dpComputableOptions = {\n\n\tbuttonText: function(dpOptions) {\n\t\treturn {\n\t\t\t// the translations sometimes wrongly contain HTML entities\n\t\t\tprev: stripHtmlEntities(dpOptions.prevText),\n\t\t\tnext: stripHtmlEntities(dpOptions.nextText),\n\t\t\ttoday: stripHtmlEntities(dpOptions.currentText)\n\t\t};\n\t},\n\n\t// Produces format strings like \"MMMM YYYY\" -> \"September 2014\"\n\tmonthYearFormat: function(dpOptions) {\n\t\treturn dpOptions.showMonthAfterYear ?\n\t\t\t'YYYY[' + dpOptions.yearSuffix + '] MMMM' :\n\t\t\t'MMMM YYYY[' + dpOptions.yearSuffix + ']';\n\t}\n\n};\n\nvar momComputableOptions = {\n\n\t// Produces format strings like \"ddd M/D\" -> \"Fri 9/15\"\n\tdayOfMonthFormat: function(momOptions, fcOptions) {\n\t\tvar format = momOptions.longDateFormat('l'); // for the format like \"M/D/YYYY\"\n\n\t\t// strip the year off the edge, as well as other misc non-whitespace chars\n\t\tformat = format.replace(/^Y+[^\\w\\s]*|[^\\w\\s]*Y+$/g, '');\n\n\t\tif (fcOptions.isRTL) {\n\t\t\tformat += ' ddd'; // for RTL, add day-of-week to end\n\t\t}\n\t\telse {\n\t\t\tformat = 'ddd ' + format; // for LTR, add day-of-week to beginning\n\t\t}\n\t\treturn format;\n\t},\n\n\t// Produces format strings like \"h:mma\" -> \"6:00pm\"\n\tmediumTimeFormat: function(momOptions) { // can't be called `timeFormat` because collides with option\n\t\treturn momOptions.longDateFormat('LT')\n\t\t\t.replace(/\\s*a$/i, 'a'); // convert AM/PM/am/pm to lowercase. remove any spaces beforehand\n\t},\n\n\t// Produces format strings like \"h(:mm)a\" -> \"6pm\" / \"6:30pm\"\n\tsmallTimeFormat: function(momOptions) {\n\t\treturn momOptions.longDateFormat('LT')\n\t\t\t.replace(':mm', '(:mm)')\n\t\t\t.replace(/(\\Wmm)$/, '($1)') // like above, but for foreign locales\n\t\t\t.replace(/\\s*a$/i, 'a'); // convert AM/PM/am/pm to lowercase. remove any spaces beforehand\n\t},\n\n\t// Produces format strings like \"h(:mm)t\" -> \"6p\" / \"6:30p\"\n\textraSmallTimeFormat: function(momOptions) {\n\t\treturn momOptions.longDateFormat('LT')\n\t\t\t.replace(':mm', '(:mm)')\n\t\t\t.replace(/(\\Wmm)$/, '($1)') // like above, but for foreign locales\n\t\t\t.replace(/\\s*a$/i, 't'); // convert to AM/PM/am/pm to lowercase one-letter. remove any spaces beforehand\n\t},\n\n\t// Produces format strings like \"ha\" / \"H\" -> \"6pm\" / \"18\"\n\thourFormat: function(momOptions) {\n\t\treturn momOptions.longDateFormat('LT')\n\t\t\t.replace(':mm', '')\n\t\t\t.replace(/(\\Wmm)$/, '') // like above, but for foreign locales\n\t\t\t.replace(/\\s*a$/i, 'a'); // convert AM/PM/am/pm to lowercase. remove any spaces beforehand\n\t},\n\n\t// Produces format strings like \"h:mm\" -> \"6:30\" (with no AM/PM)\n\tnoMeridiemTimeFormat: function(momOptions) {\n\t\treturn momOptions.longDateFormat('LT')\n\t\t\t.replace(/\\s*a$/i, ''); // remove trailing AM/PM\n\t}\n\n};\n\n\n// options that should be computed off live calendar options (considers override options)\n// TODO: best place for this? related to locale?\n// TODO: flipping text based on isRTL is a bad idea because the CSS `direction` might want to handle it\nvar instanceComputableOptions = {\n\n\t// Produces format strings for results like \"Mo 16\"\n\tsmallDayDateFormat: function(options) {\n\t\treturn options.isRTL ?\n\t\t\t'D dd' :\n\t\t\t'dd D';\n\t},\n\n\t// Produces format strings for results like \"Wk 5\"\n\tweekFormat: function(options) {\n\t\treturn options.isRTL ?\n\t\t\t'w[ ' + options.weekNumberTitle + ']' :\n\t\t\t'[' + options.weekNumberTitle + ' ]w';\n\t},\n\n\t// Produces format strings for results like \"Wk5\"\n\tsmallWeekFormat: function(options) {\n\t\treturn options.isRTL ?\n\t\t\t'w[' + options.weekNumberTitle + ']' :\n\t\t\t'[' + options.weekNumberTitle + ']w';\n\t}\n\n};\n\n// TODO: make these computable properties in optionsModel\nfunction populateInstanceComputableOptions(options) {\n\t$.each(instanceComputableOptions, function(name, func) {\n\t\tif (options[name] == null) {\n\t\t\toptions[name] = func(options);\n\t\t}\n\t});\n}\n\n\n// Returns moment's internal locale data. If doesn't exist, returns English.\nfunction getMomentLocaleData(localeCode) {\n\treturn moment.localeData(localeCode) || moment.localeData('en');\n}\n\n\n// Initialize English by forcing computation of moment-derived options.\n// Also, sets it as the default.\nFC.locale('en', Calendar.englishDefaults);\n\n;;\n\nvar UnzonedRange = FC.UnzonedRange = Class.extend({\n\n\tstartMs: null, // if null, no start constraint\n\tendMs: null, // if null, no end constraint\n\n\t// TODO: move these into footprint.\n\t// Especially, doesn't make sense for null startMs/endMs.\n\tisStart: true,\n\tisEnd: true,\n\n\tconstructor: function(startInput, endInput) {\n\n\t\tif (moment.isMoment(startInput)) {\n\t\t\tstartInput = startInput.clone().stripZone();\n\t\t}\n\n\t\tif (moment.isMoment(endInput)) {\n\t\t\tendInput = endInput.clone().stripZone();\n\t\t}\n\n\t\tif (startInput) {\n\t\t\tthis.startMs = startInput.valueOf();\n\t\t}\n\n\t\tif (endInput) {\n\t\t\tthis.endMs = endInput.valueOf();\n\t\t}\n\t},\n\n\tintersect: function(otherRange) {\n\t\tvar startMs = this.startMs;\n\t\tvar endMs = this.endMs;\n\t\tvar newRange = null;\n\n\t\tif (otherRange.startMs !== null) {\n\t\t\tif (startMs === null) {\n\t\t\t\tstartMs = otherRange.startMs;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tstartMs = Math.max(startMs, otherRange.startMs);\n\t\t\t}\n\t\t}\n\n\t\tif (otherRange.endMs !== null) {\n\t\t\tif (endMs === null) {\n\t\t\t\tendMs = otherRange.endMs;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tendMs = Math.min(endMs, otherRange.endMs);\n\t\t\t}\n\t\t}\n\n\t\tif (startMs === null || endMs === null || startMs < endMs) {\n\t\t\tnewRange = new UnzonedRange(startMs, endMs);\n\t\t\tnewRange.isStart = this.isStart && startMs === this.startMs;\n\t\t\tnewRange.isEnd = this.isEnd && endMs === this.endMs;\n\t\t}\n\n\t\treturn newRange;\n\t},\n\n\n\tintersectsWith: function(otherRange) {\n\t\treturn (this.endMs === null || otherRange.startMs === null || this.endMs > otherRange.startMs) &&\n\t\t\t(this.startMs === null || otherRange.endMs === null || this.startMs < otherRange.endMs);\n\t},\n\n\n\tcontainsRange: function(innerRange) {\n\t\treturn (this.startMs === null || (innerRange.startMs !== null && innerRange.startMs >= this.startMs)) &&\n\t\t\t(this.endMs === null || (innerRange.endMs !== null && innerRange.endMs <= this.endMs));\n\t},\n\n\n\t// `date` can be a moment, a Date, or a millisecond time.\n\tcontainsDate: function(date) {\n\t\tvar ms = date.valueOf();\n\n\t\treturn (this.startMs === null || ms >= this.startMs) &&\n\t\t\t(this.endMs === null || ms < this.endMs);\n\t},\n\n\n\t// If the given date is not within the given range, move it inside.\n\t// (If it's past the end, make it one millisecond before the end).\n\t// `date` can be a moment, a Date, or a millisecond time.\n\t// Returns a MS-time.\n\tconstrainDate: function(date) {\n\t\tvar ms = date.valueOf();\n\n\t\tif (this.startMs !== null && ms < this.startMs) {\n\t\t\tms = this.startMs;\n\t\t}\n\n\t\tif (this.endMs !== null && ms >= this.endMs) {\n\t\t\tms = this.endMs - 1;\n\t\t}\n\n\t\treturn ms;\n\t},\n\n\n\tequals: function(otherRange) {\n\t\treturn this.startMs === otherRange.startMs && this.endMs === otherRange.endMs;\n\t},\n\n\n\tclone: function() {\n\t\tvar range = new UnzonedRange(this.startMs, this.endMs);\n\n\t\trange.isStart = this.isStart;\n\t\trange.isEnd = this.isEnd;\n\n\t\treturn range;\n\t},\n\n\n\t// Returns an ambig-zoned moment from startMs.\n\t// BEWARE: returned moment is not localized.\n\t// Formatting and start-of-week will be default.\n\tgetStart: function() {\n\t\tif (this.startMs !== null) {\n\t\t\treturn FC.moment.utc(this.startMs).stripZone();\n\t\t}\n\t},\n\n\t// Returns an ambig-zoned moment from startMs.\n\t// BEWARE: returned moment is not localized.\n\t// Formatting and start-of-week will be default.\n\tgetEnd: function() {\n\t\tif (this.endMs !== null) {\n\t\t\treturn FC.moment.utc(this.endMs).stripZone();\n\t\t}\n\t},\n\n\n\tas: function(unit) {\n\t\treturn moment.utc(this.endMs).diff(\n\t\t\tmoment.utc(this.startMs),\n\t\t\tunit,\n\t\t\ttrue\n\t\t);\n\t}\n\n});\n\n\n/*\nSIDEEFFECT: will mutate eventRanges.\nWill return a new array result.\nOnly works for non-open-ended ranges.\n*/\nfunction invertUnzonedRanges(ranges, constraintRange) {\n\tvar invertedRanges = [];\n\tvar startMs = constraintRange.startMs; // the end of the previous range. the start of the new range\n\tvar i;\n\tvar dateRange;\n\n\t// ranges need to be in order. required for our date-walking algorithm\n\tranges.sort(compareUnzonedRanges);\n\n\tfor (i = 0; i < ranges.length; i++) {\n\t\tdateRange = ranges[i];\n\n\t\t// add the span of time before the event (if there is any)\n\t\tif (dateRange.startMs > startMs) { // compare millisecond time (skip any ambig logic)\n\t\t\tinvertedRanges.push(\n\t\t\t\tnew UnzonedRange(startMs, dateRange.startMs)\n\t\t\t);\n\t\t}\n\n\t\tif (dateRange.endMs > startMs) {\n\t\t\tstartMs = dateRange.endMs;\n\t\t}\n\t}\n\n\t// add the span of time after the last event (if there is any)\n\tif (startMs < constraintRange.endMs) { // compare millisecond time (skip any ambig logic)\n\t\tinvertedRanges.push(\n\t\t\tnew UnzonedRange(startMs, constraintRange.endMs)\n\t\t);\n\t}\n\n\treturn invertedRanges;\n}\n\n\n/*\nOnly works for non-open-ended ranges.\n*/\nfunction compareUnzonedRanges(range1, range2) {\n\treturn range1.startMs - range2.startMs; // earlier ranges go first\n}\n\n;;\n\n/*\nMeant to be immutable\n*/\nvar ComponentFootprint = FC.ComponentFootprint = Class.extend({\n\n\tunzonedRange: null,\n\tisAllDay: false, // component can choose to ignore this\n\n\n\tconstructor: function(unzonedRange, isAllDay) {\n\t\tthis.unzonedRange = unzonedRange;\n\t\tthis.isAllDay = isAllDay;\n\t},\n\n\n\t/*\n\tOnly works for non-open-ended ranges.\n\t*/\n\ttoLegacy: function(calendar) {\n\t\treturn {\n\t\t\tstart: calendar.msToMoment(this.unzonedRange.startMs, this.isAllDay),\n\t\t\tend: calendar.msToMoment(this.unzonedRange.endMs, this.isAllDay)\n\t\t};\n\t}\n\n});\n\n;;\n\nvar EventPeriod = Class.extend(EmitterMixin, {\n\n\tstart: null,\n\tend: null,\n\ttimezone: null,\n\n\tunzonedRange: null,\n\n\trequestsByUid: null,\n\tpendingCnt: 0,\n\n\tfreezeDepth: 0,\n\tstuntedReleaseCnt: 0,\n\treleaseCnt: 0,\n\n\teventDefsByUid: null,\n\teventDefsById: null,\n\teventInstanceGroupsById: null,\n\n\n\tconstructor: function(start, end, timezone) {\n\t\tthis.start = start;\n\t\tthis.end = end;\n\t\tthis.timezone = timezone;\n\n\t\tthis.unzonedRange = new UnzonedRange(\n\t\t\tstart.clone().stripZone(),\n\t\t\tend.clone().stripZone()\n\t\t);\n\n\t\tthis.requestsByUid = {};\n\t\tthis.eventDefsByUid = {};\n\t\tthis.eventDefsById = {};\n\t\tthis.eventInstanceGroupsById = {};\n\t},\n\n\n\tisWithinRange: function(start, end) {\n\t\t// TODO: use a range util function?\n\t\treturn !start.isBefore(this.start) && !end.isAfter(this.end);\n\t},\n\n\n\t// Requesting and Purging\n\t// -----------------------------------------------------------------------------------------------------------------\n\n\n\trequestSources: function(sources) {\n\t\tthis.freeze();\n\n\t\tfor (var i = 0; i < sources.length; i++) {\n\t\t\tthis.requestSource(sources[i]);\n\t\t}\n\n\t\tthis.thaw();\n\t},\n\n\n\trequestSource: function(source) {\n\t\tvar _this = this;\n\t\tvar request = { source: source, status: 'pending' };\n\n\t\tthis.requestsByUid[source.uid] = request;\n\t\tthis.pendingCnt += 1;\n\n\t\tsource.fetch(this.start, this.end, this.timezone).then(function(eventDefs) {\n\t\t\tif (request.status !== 'cancelled') {\n\t\t\t\trequest.status = 'completed';\n\t\t\t\trequest.eventDefs = eventDefs;\n\n\t\t\t\t_this.addEventDefs(eventDefs);\n\t\t\t\t_this.pendingCnt--;\n\t\t\t\t_this.tryRelease();\n\t\t\t}\n\t\t}, function() { // failure\n\t\t\tif (request.status !== 'cancelled') {\n\t\t\t\trequest.status = 'failed';\n\n\t\t\t\t_this.pendingCnt--;\n\t\t\t\t_this.tryRelease();\n\t\t\t}\n\t\t});\n\t},\n\n\n\tpurgeSource: function(source) {\n\t\tvar request = this.requestsByUid[source.uid];\n\n\t\tif (request) {\n\t\t\tdelete this.requestsByUid[source.uid];\n\n\t\t\tif (request.status === 'pending') {\n\t\t\t\trequest.status = 'cancelled';\n\t\t\t\tthis.pendingCnt--;\n\t\t\t\tthis.tryRelease();\n\t\t\t}\n\t\t\telse if (request.status === 'completed') {\n\t\t\t\trequest.eventDefs.forEach(this.removeEventDef.bind(this));\n\t\t\t}\n\t\t}\n\t},\n\n\n\tpurgeAllSources: function() {\n\t\tvar requestsByUid = this.requestsByUid;\n\t\tvar uid, request;\n\t\tvar completedCnt = 0;\n\n\t\tfor (uid in requestsByUid) {\n\t\t\trequest = requestsByUid[uid];\n\n\t\t\tif (request.status === 'pending') {\n\t\t\t\trequest.status = 'cancelled';\n\t\t\t}\n\t\t\telse if (request.status === 'completed') {\n\t\t\t\tcompletedCnt++;\n\t\t\t}\n\t\t}\n\n\t\tthis.requestsByUid = {};\n\t\tthis.pendingCnt = 0;\n\n\t\tif (completedCnt) {\n\t\t\tthis.removeAllEventDefs(); // might release\n\t\t}\n\t},\n\n\n\t// Event Definitions\n\t// -----------------------------------------------------------------------------------------------------------------\n\n\n\tgetEventDefByUid: function(eventDefUid) {\n\t\treturn this.eventDefsByUid[eventDefUid];\n\t},\n\n\n\tgetEventDefsById: function(eventDefId) {\n\t\tvar a = this.eventDefsById[eventDefId];\n\n\t\tif (a) {\n\t\t\treturn a.slice(); // clone\n\t\t}\n\n\t\treturn [];\n\t},\n\n\n\taddEventDefs: function(eventDefs) {\n\t\tfor (var i = 0; i < eventDefs.length; i++) {\n\t\t\tthis.addEventDef(eventDefs[i]);\n\t\t}\n\t},\n\n\n\taddEventDef: function(eventDef) {\n\t\tvar eventDefsById = this.eventDefsById;\n\t\tvar eventDefId = eventDef.id;\n\t\tvar eventDefs = eventDefsById[eventDefId] || (eventDefsById[eventDefId] = []);\n\t\tvar eventInstances = eventDef.buildInstances(this.unzonedRange);\n\t\tvar i;\n\n\t\teventDefs.push(eventDef);\n\n\t\tthis.eventDefsByUid[eventDef.uid] = eventDef;\n\n\t\tfor (i = 0; i < eventInstances.length; i++) {\n\t\t\tthis.addEventInstance(eventInstances[i], eventDefId);\n\t\t}\n\t},\n\n\n\tremoveEventDefsById: function(eventDefId) {\n\t\tvar _this = this;\n\n\t\tthis.getEventDefsById(eventDefId).forEach(function(eventDef) {\n\t\t\t_this.removeEventDef(eventDef);\n\t\t});\n\t},\n\n\n\tremoveAllEventDefs: function() {\n\t\tvar isEmpty = $.isEmptyObject(this.eventDefsByUid);\n\n\t\tthis.eventDefsByUid = {};\n\t\tthis.eventDefsById = {};\n\t\tthis.eventInstanceGroupsById = {};\n\n\t\tif (!isEmpty) {\n\t\t\tthis.tryRelease();\n\t\t}\n\t},\n\n\n\tremoveEventDef: function(eventDef) {\n\t\tvar eventDefsById = this.eventDefsById;\n\t\tvar eventDefs = eventDefsById[eventDef.id];\n\n\t\tdelete this.eventDefsByUid[eventDef.uid];\n\n\t\tif (eventDefs) {\n\t\t\tremoveExact(eventDefs, eventDef);\n\n\t\t\tif (!eventDefs.length) {\n\t\t\t\tdelete eventDefsById[eventDef.id];\n\t\t\t}\n\n\t\t\tthis.removeEventInstancesForDef(eventDef);\n\t\t}\n\t},\n\n\n\t// Event Instances\n\t// -----------------------------------------------------------------------------------------------------------------\n\n\n\tgetEventInstances: function() { // TODO: consider iterator\n\t\tvar eventInstanceGroupsById = this.eventInstanceGroupsById;\n\t\tvar eventInstances = [];\n\t\tvar id;\n\n\t\tfor (id in eventInstanceGroupsById) {\n\t\t\teventInstances.push.apply(eventInstances, // append\n\t\t\t\teventInstanceGroupsById[id].eventInstances\n\t\t\t);\n\t\t}\n\n\t\treturn eventInstances;\n\t},\n\n\n\tgetEventInstancesWithId: function(eventDefId) {\n\t\tvar eventInstanceGroup = this.eventInstanceGroupsById[eventDefId];\n\n\t\tif (eventInstanceGroup) {\n\t\t\treturn eventInstanceGroup.eventInstances.slice(); // clone\n\t\t}\n\n\t\treturn [];\n\t},\n\n\n\tgetEventInstancesWithoutId: function(eventDefId) { // TODO: consider iterator\n\t\tvar eventInstanceGroupsById = this.eventInstanceGroupsById;\n\t\tvar matchingInstances = [];\n\t\tvar id;\n\n\t\tfor (id in eventInstanceGroupsById) {\n\t\t\tif (id !== eventDefId) {\n\t\t\t\tmatchingInstances.push.apply(matchingInstances, // append\n\t\t\t\t\teventInstanceGroupsById[id].eventInstances\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\treturn matchingInstances;\n\t},\n\n\n\taddEventInstance: function(eventInstance, eventDefId) {\n\t\tvar eventInstanceGroupsById = this.eventInstanceGroupsById;\n\t\tvar eventInstanceGroup = eventInstanceGroupsById[eventDefId] ||\n\t\t\t(eventInstanceGroupsById[eventDefId] = new EventInstanceGroup());\n\n\t\teventInstanceGroup.eventInstances.push(eventInstance);\n\n\t\tthis.tryRelease();\n\t},\n\n\n\tremoveEventInstancesForDef: function(eventDef) {\n\t\tvar eventInstanceGroupsById = this.eventInstanceGroupsById;\n\t\tvar eventInstanceGroup = eventInstanceGroupsById[eventDef.id];\n\t\tvar removeCnt;\n\n\t\tif (eventInstanceGroup) {\n\t\t\tremoveCnt = removeMatching(eventInstanceGroup.eventInstances, function(currentEventInstance) {\n\t\t\t\treturn currentEventInstance.def === eventDef;\n\t\t\t});\n\n\t\t\tif (!eventInstanceGroup.eventInstances.length) {\n\t\t\t\tdelete eventInstanceGroupsById[eventDef.id];\n\t\t\t}\n\n\t\t\tif (removeCnt) {\n\t\t\t\tthis.tryRelease();\n\t\t\t}\n\t\t}\n\t},\n\n\n\t// Releasing and Freezing\n\t// -----------------------------------------------------------------------------------------------------------------\n\n\n\ttryRelease: function() {\n\t\tif (!this.pendingCnt) {\n\t\t\tif (!this.freezeDepth) {\n\t\t\t\tthis.release();\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.stuntedReleaseCnt++;\n\t\t\t}\n\t\t}\n\t},\n\n\n\trelease: function() {\n\t\tthis.releaseCnt++;\n\t\tthis.trigger('release', this.eventInstanceGroupsById);\n\t},\n\n\n\twhenReleased: function() {\n\t\tvar _this = this;\n\n\t\tif (this.releaseCnt) {\n\t\t\treturn Promise.resolve(this.eventInstanceGroupsById);\n\t\t}\n\t\telse {\n\t\t\treturn Promise.construct(function(onResolve) {\n\t\t\t\t_this.one('release', onResolve);\n\t\t\t});\n\t\t}\n\t},\n\n\n\tfreeze: function() {\n\t\tif (!(this.freezeDepth++)) {\n\t\t\tthis.stuntedReleaseCnt = 0;\n\t\t}\n\t},\n\n\n\tthaw: function() {\n\t\tif (!(--this.freezeDepth) && this.stuntedReleaseCnt && !this.pendingCnt) {\n\t\t\tthis.release();\n\t\t}\n\t}\n\n});\n\n;;\n\nvar EventManager = Class.extend(EmitterMixin, ListenerMixin, {\n\n\tcurrentPeriod: null,\n\n\tcalendar: null,\n\tstickySource: null,\n\totherSources: null, // does not include sticky source\n\n\n\tconstructor: function(calendar) {\n\t\tthis.calendar = calendar;\n\t\tthis.stickySource = new ArrayEventSource(calendar);\n\t\tthis.otherSources = [];\n\t},\n\n\n\trequestEvents: function(start, end, timezone, force) {\n\t\tif (\n\t\t\tforce ||\n\t\t\t!this.currentPeriod ||\n\t\t\t!this.currentPeriod.isWithinRange(start, end) ||\n\t\t\ttimezone !== this.currentPeriod.timezone\n\t\t) {\n\t\t\tthis.setPeriod( // will change this.currentPeriod\n\t\t\t\tnew EventPeriod(start, end, timezone)\n\t\t\t);\n\t\t}\n\n\t\treturn this.currentPeriod.whenReleased();\n\t},\n\n\n\t// Source Adding/Removing\n\t// -----------------------------------------------------------------------------------------------------------------\n\n\n\taddSource: function(eventSource) {\n\t\tthis.otherSources.push(eventSource);\n\n\t\tif (this.currentPeriod) {\n\t\t\tthis.currentPeriod.requestSource(eventSource); // might release\n\t\t}\n\t},\n\n\n\tremoveSource: function(doomedSource) {\n\t\tremoveExact(this.otherSources, doomedSource);\n\n\t\tif (this.currentPeriod) {\n\t\t\tthis.currentPeriod.purgeSource(doomedSource); // might release\n\t\t}\n\t},\n\n\n\tremoveAllSources: function() {\n\t\tthis.otherSources = [];\n\n\t\tif (this.currentPeriod) {\n\t\t\tthis.currentPeriod.purgeAllSources(); // might release\n\t\t}\n\t},\n\n\n\t// Source Refetching\n\t// -----------------------------------------------------------------------------------------------------------------\n\n\n\trefetchSource: function(eventSource) {\n\t\tvar currentPeriod = this.currentPeriod;\n\n\t\tif (currentPeriod) {\n\t\t\tcurrentPeriod.freeze();\n\t\t\tcurrentPeriod.purgeSource(eventSource);\n\t\t\tcurrentPeriod.requestSource(eventSource);\n\t\t\tcurrentPeriod.thaw();\n\t\t}\n\t},\n\n\n\trefetchAllSources: function() {\n\t\tvar currentPeriod = this.currentPeriod;\n\n\t\tif (currentPeriod) {\n\t\t\tcurrentPeriod.freeze();\n\t\t\tcurrentPeriod.purgeAllSources();\n\t\t\tcurrentPeriod.requestSources(this.getSources());\n\t\t\tcurrentPeriod.thaw();\n\t\t}\n\t},\n\n\n\t// Source Querying\n\t// -----------------------------------------------------------------------------------------------------------------\n\n\n\tgetSources: function() {\n\t\treturn [ this.stickySource ].concat(this.otherSources);\n\t},\n\n\n\t// like querySources, but accepts multple match criteria (like multiple IDs)\n\tmultiQuerySources: function(matchInputs) {\n\n\t\t// coerce into an array\n\t\tif (!matchInputs) {\n\t\t\tmatchInputs = [];\n\t\t}\n\t\telse if (!$.isArray(matchInputs)) {\n\t\t\tmatchInputs = [ matchInputs ];\n\t\t}\n\n\t\tvar matchingSources = [];\n\t\tvar i;\n\n\t\t// resolve raw inputs to real event source objects\n\t\tfor (i = 0; i < matchInputs.length; i++) {\n\t\t\tmatchingSources.push.apply( // append\n\t\t\t\tmatchingSources,\n\t\t\t\tthis.querySources(matchInputs[i])\n\t\t\t);\n\t\t}\n\n\t\treturn matchingSources;\n\t},\n\n\n\t// matchInput can either by a real event source object, an ID, or the function/URL for the source.\n\t// returns an array of matching source objects.\n\tquerySources: function(matchInput) {\n\t\tvar sources = this.otherSources;\n\t\tvar i, source;\n\n\t\t// given a proper event source object\n\t\tfor (i = 0; i < sources.length; i++) {\n\t\t\tsource = sources[i];\n\n\t\t\tif (source === matchInput) {\n\t\t\t\treturn [ source ];\n\t\t\t}\n\t\t}\n\n\t\t// an ID match\n\t\tsource = this.getSourceById(EventSource.normalizeId(matchInput));\n\t\tif (source) {\n\t\t\treturn [ source ];\n\t\t}\n\n\t\t// parse as an event source\n\t\tmatchInput = EventSourceParser.parse(matchInput, this.calendar);\n\t\tif (matchInput) {\n\n\t\t\treturn $.grep(sources, function(source) {\n\t\t\t\treturn isSourcesEquivalent(matchInput, source);\n\t\t\t});\n\t\t}\n\t},\n\n\n\t/*\n\tID assumed to already be normalized\n\t*/\n\tgetSourceById: function(id) {\n\t\treturn $.grep(this.otherSources, function(source) {\n\t\t\treturn source.id && source.id === id;\n\t\t})[0];\n\t},\n\n\n\t// Event-Period\n\t// -----------------------------------------------------------------------------------------------------------------\n\n\n\tsetPeriod: function(eventPeriod) {\n\t\tif (this.currentPeriod) {\n\t\t\tthis.unbindPeriod(this.currentPeriod);\n\t\t\tthis.currentPeriod = null;\n\t\t}\n\n\t\tthis.currentPeriod = eventPeriod;\n\t\tthis.bindPeriod(eventPeriod);\n\n\t\teventPeriod.requestSources(this.getSources());\n\t},\n\n\n\tbindPeriod: function(eventPeriod) {\n\t\tthis.listenTo(eventPeriod, 'release', function(eventsPayload) {\n\t\t\tthis.trigger('release', eventsPayload);\n\t\t});\n\t},\n\n\n\tunbindPeriod: function(eventPeriod) {\n\t\tthis.stopListeningTo(eventPeriod);\n\t},\n\n\n\t// Event Getting/Adding/Removing\n\t// -----------------------------------------------------------------------------------------------------------------\n\n\n\tgetEventDefByUid: function(uid) {\n\t\tif (this.currentPeriod) {\n\t\t\treturn this.currentPeriod.getEventDefByUid(uid);\n\t\t}\n\t},\n\n\n\taddEventDef: function(eventDef, isSticky) {\n\t\tif (isSticky) {\n\t\t\tthis.stickySource.addEventDef(eventDef);\n\t\t}\n\n\t\tif (this.currentPeriod) {\n\t\t\tthis.currentPeriod.addEventDef(eventDef); // might release\n\t\t}\n\t},\n\n\n\tremoveEventDefsById: function(eventId) {\n\t\tthis.getSources().forEach(function(eventSource) {\n\t\t\teventSource.removeEventDefsById(eventId);\n\t\t});\n\n\t\tif (this.currentPeriod) {\n\t\t\tthis.currentPeriod.removeEventDefsById(eventId); // might release\n\t\t}\n\t},\n\n\n\tremoveAllEventDefs: function() {\n\t\tthis.getSources().forEach(function(eventSource) {\n\t\t\teventSource.removeAllEventDefs();\n\t\t});\n\n\t\tif (this.currentPeriod) {\n\t\t\tthis.currentPeriod.removeAllEventDefs();\n\t\t}\n\t},\n\n\n\t// Event Mutating\n\t// -----------------------------------------------------------------------------------------------------------------\n\n\n\t/*\n\tReturns an undo function.\n\t*/\n\tmutateEventsWithId: function(eventDefId, eventDefMutation) {\n\t\tvar currentPeriod = this.currentPeriod;\n\t\tvar eventDefs;\n\t\tvar undoFuncs = [];\n\n\t\tif (currentPeriod) {\n\n\t\t\tcurrentPeriod.freeze();\n\n\t\t\teventDefs = currentPeriod.getEventDefsById(eventDefId);\n\t\t\teventDefs.forEach(function(eventDef) {\n\t\t\t\t// add/remove esp because id might change\n\t\t\t\tcurrentPeriod.removeEventDef(eventDef);\n\t\t\t\tundoFuncs.push(eventDefMutation.mutateSingle(eventDef));\n\t\t\t\tcurrentPeriod.addEventDef(eventDef);\n\t\t\t});\n\n\t\t\tcurrentPeriod.thaw();\n\n\t\t\treturn function() {\n\t\t\t\tcurrentPeriod.freeze();\n\n\t\t\t\tfor (var i = 0; i < eventDefs.length; i++) {\n\t\t\t\t\tcurrentPeriod.removeEventDef(eventDefs[i]);\n\t\t\t\t\tundoFuncs[i]();\n\t\t\t\t\tcurrentPeriod.addEventDef(eventDefs[i]);\n\t\t\t\t}\n\n\t\t\t\tcurrentPeriod.thaw();\n\t\t\t};\n\t\t}\n\n\t\treturn function() { };\n\t},\n\n\n\t/*\n\tcopies and then mutates\n\t*/\n\tbuildMutatedEventInstanceGroup: function(eventDefId, eventDefMutation) {\n\t\tvar eventDefs = this.getEventDefsById(eventDefId);\n\t\tvar i;\n\t\tvar defCopy;\n\t\tvar allInstances = [];\n\n\t\tfor (i = 0; i < eventDefs.length; i++) {\n\t\t\tdefCopy = eventDefs[i].clone();\n\n\t\t\tif (defCopy instanceof SingleEventDef) {\n\t\t\t\teventDefMutation.mutateSingle(defCopy);\n\n\t\t\t\tallInstances.push.apply(allInstances, // append\n\t\t\t\t\tdefCopy.buildInstances()\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\treturn new EventInstanceGroup(allInstances);\n\t},\n\n\n\t// Freezing\n\t// -----------------------------------------------------------------------------------------------------------------\n\n\n\tfreeze: function() {\n\t\tif (this.currentPeriod) {\n\t\t\tthis.currentPeriod.freeze();\n\t\t}\n\t},\n\n\n\tthaw: function() {\n\t\tif (this.currentPeriod) {\n\t\t\tthis.currentPeriod.thaw();\n\t\t}\n\t}\n\n});\n\n\n// Methods that straight-up query the current EventPeriod for an array of results.\n[\n\t'getEventDefsById',\n\t'getEventInstances',\n\t'getEventInstancesWithId',\n\t'getEventInstancesWithoutId'\n].forEach(function(methodName) {\n\n\tEventManager.prototype[methodName] = function() {\n\t\tvar currentPeriod = this.currentPeriod;\n\n\t\tif (currentPeriod) {\n\t\t\treturn currentPeriod[methodName].apply(currentPeriod, arguments);\n\t\t}\n\n\t\treturn [];\n\t};\n});\n\n\nfunction isSourcesEquivalent(source0, source1) {\n\treturn source0.getPrimitive() == source1.getPrimitive();\n}\n\n;;\n\nvar BUSINESS_HOUR_EVENT_DEFAULTS = {\n\tstart: '09:00',\n\tend: '17:00',\n\tdow: [ 1, 2, 3, 4, 5 ], // monday - friday\n\trendering: 'inverse-background'\n\t// classNames are defined in businessHoursSegClasses\n};\n\n\nvar BusinessHourGenerator = FC.BusinessHourGenerator = Class.extend({\n\n\trawComplexDef: null,\n\tcalendar: null, // for anonymous EventSource\n\n\n\tconstructor: function(rawComplexDef, calendar) {\n\t\tthis.rawComplexDef = rawComplexDef;\n\t\tthis.calendar = calendar;\n\t},\n\n\n\tbuildEventInstanceGroup: function(isAllDay, unzonedRange) {\n\t\tvar eventDefs = this.buildEventDefs(isAllDay);\n\t\tvar eventInstanceGroup;\n\n\t\tif (eventDefs.length) {\n\t\t\teventInstanceGroup = new EventInstanceGroup(\n\t\t\t\teventDefsToEventInstances(eventDefs, unzonedRange)\n\t\t\t);\n\n\t\t\t// so that inverse-background rendering can happen even when no eventRanges in view\n\t\t\teventInstanceGroup.explicitEventDef = eventDefs[0];\n\n\t\t\treturn eventInstanceGroup;\n\t\t}\n\t},\n\n\n\tbuildEventDefs: function(isAllDay) {\n\t\tvar rawComplexDef = this.rawComplexDef;\n\t\tvar rawDefs = [];\n\t\tvar requireDow = false;\n\t\tvar i;\n\t\tvar defs = [];\n\n\t\tif (rawComplexDef === true) {\n\t\t\trawDefs = [ {} ]; // will get BUSINESS_HOUR_EVENT_DEFAULTS verbatim\n\t\t}\n\t\telse if ($.isPlainObject(rawComplexDef)) {\n\t\t\trawDefs = [ rawComplexDef ];\n\t\t}\n\t\telse if ($.isArray(rawComplexDef)) {\n\t\t\trawDefs = rawComplexDef;\n\t\t\trequireDow = true; // every sub-definition NEEDS a day-of-week\n\t\t}\n\n\t\tfor (i = 0; i < rawDefs.length; i++) {\n\t\t\tif (!requireDow || rawDefs[i].dow) {\n\t\t\t\tdefs.push(\n\t\t\t\t\tthis.buildEventDef(isAllDay, rawDefs[i])\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\treturn defs;\n\t},\n\n\n\tbuildEventDef: function(isAllDay, rawDef) {\n\t\tvar fullRawDef = $.extend({}, BUSINESS_HOUR_EVENT_DEFAULTS, rawDef);\n\n\t\tif (isAllDay) {\n\t\t\tfullRawDef.start = null;\n\t\t\tfullRawDef.end = null;\n\t\t}\n\n\t\treturn RecurringEventDef.parse(\n\t\t\tfullRawDef,\n\t\t\tnew EventSource(this.calendar) // dummy source\n\t\t);\n\t}\n\n});\n\n;;\n\nvar EventDefParser = {\n\n\tparse: function(eventInput, source) {\n\t\tif (\n\t\t\tisTimeString(eventInput.start) || moment.isDuration(eventInput.start) ||\n\t\t\tisTimeString(eventInput.end) || moment.isDuration(eventInput.end)\n\t\t) {\n\t\t\treturn RecurringEventDef.parse(eventInput, source);\n\t\t}\n\t\telse {\n\t\t\treturn SingleEventDef.parse(eventInput, source);\n\t\t}\n\t}\n\n};\n\n;;\n\nvar EventDef = FC.EventDef = Class.extend(ParsableModelMixin, {\n\n\tsource: null, // required\n\n\tid: null, // normalized supplied ID\n\trawId: null, // unnormalized supplied ID\n\tuid: null, // internal ID. new ID for every definition\n\n\t// NOTE: eventOrder sorting relies on these\n\ttitle: null,\n\turl: null,\n\trendering: null,\n\tconstraint: null,\n\toverlap: null,\n\teditable: null,\n\tstartEditable: null,\n\tdurationEditable: null,\n\tcolor: null,\n\tbackgroundColor: null,\n\tborderColor: null,\n\ttextColor: null,\n\n\tclassName: null, // an array. TODO: rename to className*s* (API breakage)\n\tmiscProps: null,\n\n\n\tconstructor: function(source) {\n\t\tthis.source = source;\n\t\tthis.className = [];\n\t\tthis.miscProps = {};\n\t},\n\n\n\tisAllDay: function() {\n\t\t// subclasses must implement\n\t},\n\n\n\tbuildInstances: function(unzonedRange) {\n\t\t// subclasses must implement\n\t},\n\n\n\tclone: function() {\n\t\tvar copy = new this.constructor(this.source);\n\n\t\tcopy.id = this.id;\n\t\tcopy.rawId = this.rawId;\n\t\tcopy.uid = this.uid; // not really unique anymore :(\n\n\t\tEventDef.copyVerbatimStandardProps(this, copy);\n\n\t\tcopy.className = this.className.slice(); // copy\n\t\tcopy.miscProps = $.extend({}, this.miscProps);\n\n\t\treturn copy;\n\t},\n\n\n\thasInverseRendering: function() {\n\t\treturn this.getRendering() === 'inverse-background';\n\t},\n\n\n\thasBgRendering: function() {\n\t\tvar rendering = this.getRendering();\n\n\t\treturn rendering === 'inverse-background' || rendering === 'background';\n\t},\n\n\n\tgetRendering: function() {\n\t\tif (this.rendering != null) {\n\t\t\treturn this.rendering;\n\t\t}\n\n\t\treturn this.source.rendering;\n\t},\n\n\n\tgetConstraint: function() {\n\t\tif (this.constraint != null) {\n\t\t\treturn this.constraint;\n\t\t}\n\n\t\tif (this.source.constraint != null) {\n\t\t\treturn this.source.constraint;\n\t\t}\n\n\t\treturn this.source.calendar.opt('eventConstraint'); // what about View option?\n\t},\n\n\n\tgetOverlap: function() {\n\t\tif (this.overlap != null) {\n\t\t\treturn this.overlap;\n\t\t}\n\n\t\tif (this.source.overlap != null) {\n\t\t\treturn this.source.overlap;\n\t\t}\n\n\t\treturn this.source.calendar.opt('eventOverlap'); // what about View option?\n\t},\n\n\n\tisStartExplicitlyEditable: function() {\n\t\tif (this.startEditable !== null) {\n\t\t\treturn this.startEditable;\n\t\t}\n\n\t\treturn this.source.startEditable;\n\t},\n\n\n\tisDurationExplicitlyEditable: function() {\n\t\tif (this.durationEditable !== null) {\n\t\t\treturn this.durationEditable;\n\t\t}\n\n\t\treturn this.source.durationEditable;\n\t},\n\n\n\tisExplicitlyEditable: function() {\n\t\tif (this.editable !== null) {\n\t\t\treturn this.editable;\n\t\t}\n\n\t\treturn this.source.editable;\n\t},\n\n\n\ttoLegacy: function() {\n\t\tvar obj = $.extend({}, this.miscProps);\n\n\t\tobj._id = this.uid;\n\t\tobj.source = this.source;\n\t\tobj.className = this.className.slice(); // copy\n\t\tobj.allDay = this.isAllDay();\n\n\t\tif (this.rawId != null) {\n\t\t\tobj.id = this.rawId;\n\t\t}\n\n\t\tEventDef.copyVerbatimStandardProps(this, obj);\n\n\t\treturn obj;\n\t},\n\n\n\tapplyManualStandardProps: function(rawProps) {\n\n\t\tif (rawProps.id != null) {\n\t\t\tthis.id = EventDef.normalizeId((this.rawId = rawProps.id));\n\t\t}\n\t\telse {\n\t\t\tthis.id = EventDef.generateId();\n\t\t}\n\n\t\tif (rawProps._id != null) { // accept this prop, even tho somewhat internal\n\t\t\tthis.uid = String(rawProps._id);\n\t\t}\n\t\telse {\n\t\t\tthis.uid = EventDef.generateId();\n\t\t}\n\n\t\t// TODO: converge with EventSource\n\t\tif ($.isArray(rawProps.className)) {\n\t\t\tthis.className = rawProps.className;\n\t\t}\n\t\tif (typeof rawProps.className === 'string') {\n\t\t\tthis.className = rawProps.className.split(/\\s+/);\n\t\t}\n\n\t\treturn true;\n\t},\n\n\n\tapplyMiscProps: function(rawProps) {\n\t\t$.extend(this.miscProps, rawProps);\n\t}\n\n});\n\n// finish initializing the mixin\nEventDef.defineStandardProps = ParsableModelMixin_defineStandardProps;\nEventDef.copyVerbatimStandardProps = ParsableModelMixin_copyVerbatimStandardProps;\n\n\n// IDs\n// ---------------------------------------------------------------------------------------------------------------------\n// TODO: converge with EventSource\n\n\nEventDef.uuid = 0;\n\n\nEventDef.normalizeId = function(id) {\n\treturn String(id);\n};\n\n\nEventDef.generateId = function() {\n\treturn '_fc' + (EventDef.uuid++);\n};\n\n\n// Parsing\n// ---------------------------------------------------------------------------------------------------------------------\n\n\nEventDef.defineStandardProps({\n\t// not automatically assigned (`false`)\n\t_id: false,\n\tid: false,\n\tclassName: false,\n\tsource: false, // will ignored\n\n\t// automatically assigned (`true`)\n\ttitle: true,\n\turl: true,\n\trendering: true,\n\tconstraint: true,\n\toverlap: true,\n\teditable: true,\n\tstartEditable: true,\n\tdurationEditable: true,\n\tcolor: true,\n\tbackgroundColor: true,\n\tborderColor: true,\n\ttextColor: true\n});\n\n\nEventDef.parse = function(rawInput, source) {\n\tvar def = new this(source);\n\n\tif (def.applyProps(rawInput)) {\n\t\treturn def;\n\t}\n\n\treturn false;\n};\n\n;;\n\nvar SingleEventDef = EventDef.extend({\n\n\tdateProfile: null,\n\n\n\t/*\n\tWill receive start/end params, but will be ignored.\n\t*/\n\tbuildInstances: function() {\n\t\treturn [ this.buildInstance() ];\n\t},\n\n\n\tbuildInstance: function() {\n\t\treturn new EventInstance(\n\t\t\tthis, // definition\n\t\t\tthis.dateProfile\n\t\t);\n\t},\n\n\n\tisAllDay: function() {\n\t\treturn this.dateProfile.isAllDay();\n\t},\n\n\n\tclone: function() {\n\t\tvar def = EventDef.prototype.clone.call(this);\n\n\t\tdef.dateProfile = this.dateProfile;\n\n\t\treturn def;\n\t},\n\n\n\trezone: function() {\n\t\tvar calendar = this.source.calendar;\n\t\tvar dateProfile = this.dateProfile;\n\n\t\tthis.dateProfile = new EventDateProfile(\n\t\t\tcalendar.moment(dateProfile.start),\n\t\t\tdateProfile.end ? calendar.moment(dateProfile.end) : null,\n\t\t\tcalendar\n\t\t);\n\t},\n\n\n\t/*\n\tNOTE: if super-method fails, should still attempt to apply\n\t*/\n\tapplyManualStandardProps: function(rawProps) {\n\t\tvar superSuccess = EventDef.prototype.applyManualStandardProps.apply(this, arguments);\n\t\tvar dateProfile = EventDateProfile.parse(rawProps, this.source); // returns null on failure\n\n\t\tif (dateProfile) {\n\t\t\tthis.dateProfile = dateProfile;\n\n\t\t\t// make sure `date` shows up in the legacy event objects as-is\n\t\t\tif (rawProps.date != null) {\n\t\t\t\tthis.miscProps.date = rawProps.date;\n\t\t\t}\n\n\t\t\treturn superSuccess;\n\t\t}\n\t\telse {\n\t\t\treturn false;\n\t\t}\n\t}\n\n});\n\n\n// Parsing\n// ---------------------------------------------------------------------------------------------------------------------\n\n\nSingleEventDef.defineStandardProps({ // false = manually process\n\tstart: false,\n\tdate: false, // alias for 'start'\n\tend: false,\n\tallDay: false\n});\n\n;;\n\nvar RecurringEventDef = EventDef.extend({\n\n\tstartTime: null, // duration\n\tendTime: null, // duration, or null\n\tdowHash: null, // object hash, or null\n\n\n\tisAllDay: function() {\n\t\treturn !this.startTime && !this.endTime;\n\t},\n\n\n\tbuildInstances: function(unzonedRange) {\n\t\tvar calendar = this.source.calendar;\n\t\tvar unzonedDate = unzonedRange.getStart();\n\t\tvar unzonedEnd = unzonedRange.getEnd();\n\t\tvar zonedDayStart;\n\t\tvar instanceStart, instanceEnd;\n\t\tvar instances = [];\n\n\t\twhile (unzonedDate.isBefore(unzonedEnd)) {\n\n\t\t\t// if everyday, or this particular day-of-week\n\t\t\tif (!this.dowHash || this.dowHash[unzonedDate.day()]) {\n\n\t\t\t\tzonedDayStart = calendar.applyTimezone(unzonedDate);\n\t\t\t\tinstanceStart = zonedDayStart.clone();\n\t\t\t\tinstanceEnd = null;\n\n\t\t\t\tif (this.startTime) {\n\t\t\t\t\tinstanceStart.time(this.startTime);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tinstanceStart.stripTime();\n\t\t\t\t}\n\n\t\t\t\tif (this.endTime) {\n\t\t\t\t\tinstanceEnd = zonedDayStart.clone().time(this.endTime);\n\t\t\t\t}\n\n\t\t\t\tinstances.push(\n\t\t\t\t\tnew EventInstance(\n\t\t\t\t\t\tthis, // definition\n\t\t\t\t\t\tnew EventDateProfile(instanceStart, instanceEnd, calendar)\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tunzonedDate.add(1, 'days');\n\t\t}\n\n\t\treturn instances;\n\t},\n\n\n\tsetDow: function(dowNumbers) {\n\n\t\tif (!this.dowHash) {\n\t\t\tthis.dowHash = {};\n\t\t}\n\n\t\tfor (var i = 0; i < dowNumbers.length; i++) {\n\t\t\tthis.dowHash[dowNumbers[i]] = true;\n\t\t}\n\t},\n\n\n\tclone: function() {\n\t\tvar def = EventDef.prototype.clone.call(this);\n\n\t\tif (def.startTime) {\n\t\t\tdef.startTime = moment.duration(this.startTime);\n\t\t}\n\n\t\tif (def.endTime) {\n\t\t\tdef.endTime = moment.duration(this.endTime);\n\t\t}\n\n\t\tif (this.dowHash) {\n\t\t\tdef.dowHash = $.extend({}, this.dowHash);\n\t\t}\n\n\t\treturn def;\n\t},\n\n\n\t/*\n\tNOTE: if super-method fails, should still attempt to apply\n\t*/\n\tapplyProps: function(rawProps) {\n\t\tvar superSuccess = EventDef.prototype.applyProps.apply(this, arguments);\n\n\t\tif (rawProps.start) {\n\t\t\tthis.startTime = moment.duration(rawProps.start);\n\t\t}\n\n\t\tif (rawProps.end) {\n\t\t\tthis.endTime = moment.duration(rawProps.end);\n\t\t}\n\n\t\tif (rawProps.dow) {\n\t\t\tthis.setDow(rawProps.dow);\n\t\t}\n\n\t\treturn superSuccess;\n\t}\n\n});\n\n\n// Parsing\n// ---------------------------------------------------------------------------------------------------------------------\n\n\nRecurringEventDef.defineStandardProps({ // false = manually process\n\tstart: false,\n\tend: false,\n\tdow: false\n});\n\n;;\n\nvar EventInstance = Class.extend({\n\n\tdef: null, // EventDef\n\tdateProfile: null, // EventDateProfile\n\n\n\tconstructor: function(def, dateProfile) {\n\t\tthis.def = def;\n\t\tthis.dateProfile = dateProfile;\n\t},\n\n\n\ttoLegacy: function() {\n\t\tvar dateProfile = this.dateProfile;\n\t\tvar obj = this.def.toLegacy();\n\n\t\tobj.start = dateProfile.start.clone();\n\t\tobj.end = dateProfile.end ? dateProfile.end.clone() : null;\n\n\t\treturn obj;\n\t}\n\n});\n\n;;\n\n/*\nIt's expected that there will be at least one EventInstance,\nOR that an explicitEventDef is assigned.\n*/\nvar EventInstanceGroup = FC.EventInstanceGroup = Class.extend({\n\n\teventInstances: null,\n\texplicitEventDef: null, // optional\n\n\n\tconstructor: function(eventInstances) {\n\t\tthis.eventInstances = eventInstances || [];\n\t},\n\n\n\tgetAllEventRanges: function(constraintRange) {\n\t\tif (constraintRange) {\n\t\t\treturn this.sliceNormalRenderRanges(constraintRange);\n\t\t}\n\t\telse {\n\t\t\treturn this.eventInstances.map(eventInstanceToEventRange);\n\t\t}\n\t},\n\n\n\tsliceRenderRanges: function(constraintRange) {\n\t\tif (this.isInverse()) {\n\t\t\treturn this.sliceInverseRenderRanges(constraintRange);\n\t\t}\n\t\telse {\n\t\t\treturn this.sliceNormalRenderRanges(constraintRange);\n\t\t}\n\t},\n\n\n\tsliceNormalRenderRanges: function(constraintRange) {\n\t\tvar eventInstances = this.eventInstances;\n\t\tvar i, eventInstance;\n\t\tvar slicedRange;\n\t\tvar slicedEventRanges = [];\n\n\t\tfor (i = 0; i < eventInstances.length; i++) {\n\t\t\teventInstance = eventInstances[i];\n\n\t\t\tslicedRange = eventInstance.dateProfile.unzonedRange.intersect(constraintRange);\n\n\t\t\tif (slicedRange) {\n\t\t\t\tslicedEventRanges.push(\n\t\t\t\t\tnew EventRange(\n\t\t\t\t\t\tslicedRange,\n\t\t\t\t\t\teventInstance.def,\n\t\t\t\t\t\teventInstance\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\treturn slicedEventRanges;\n\t},\n\n\n\tsliceInverseRenderRanges: function(constraintRange) {\n\t\tvar unzonedRanges = this.eventInstances.map(eventInstanceToUnzonedRange);\n\t\tvar ownerDef = this.getEventDef();\n\n\t\tunzonedRanges = invertUnzonedRanges(unzonedRanges, constraintRange);\n\n\t\treturn unzonedRanges.map(function(unzonedRange) {\n\t\t\treturn new EventRange(unzonedRange, ownerDef); // don't give an EventInstance\n\t\t});\n\t},\n\n\n\tisInverse: function() {\n\t\treturn this.getEventDef().hasInverseRendering();\n\t},\n\n\n\tgetEventDef: function() {\n\t\treturn this.explicitEventDef || this.eventInstances[0].def;\n\t}\n\n});\n\n;;\n\n/*\nMeant to be immutable\n*/\nvar EventDateProfile = Class.extend({\n\n\tstart: null,\n\tend: null,\n\tunzonedRange: null,\n\n\n\tconstructor: function(start, end, calendar) {\n\t\tthis.start = start;\n\t\tthis.end = end || null;\n\t\tthis.unzonedRange = this.buildUnzonedRange(calendar);\n\t},\n\n\n\tisAllDay: function() { // why recompute this every time?\n\t\treturn !(this.start.hasTime() || (this.end && this.end.hasTime()));\n\t},\n\n\n\t/*\n\tNeeds a Calendar object\n\t*/\n\tbuildUnzonedRange: function(calendar) {\n\t\tvar startMs = this.start.clone().stripZone().valueOf();\n\t\tvar endMs = this.getEnd(calendar).stripZone().valueOf();\n\n\t\treturn new UnzonedRange(startMs, endMs);\n\t},\n\n\n\t/*\n\tNeeds a Calendar object\n\t*/\n\tgetEnd: function(calendar) {\n\t\treturn this.end ?\n\t\t\tthis.end.clone() :\n\t\t\t// derive the end from the start and allDay. compute allDay if necessary\n\t\t\tcalendar.getDefaultEventEnd(\n\t\t\t\tthis.isAllDay(),\n\t\t\t\tthis.start\n\t\t\t);\n\t}\n\n});\n\n\nEventDateProfile.isStandardProp = function(propName) {\n\treturn propName === 'start' || propName === 'date' || propName === 'end' || propName === 'allDay';\n};\n\n\n/*\nNeeds an EventSource object\n*/\nEventDateProfile.parse = function(rawProps, source) {\n\tvar startInput = rawProps.start || rawProps.date;\n\tvar endInput = rawProps.end;\n\n\tif (!startInput) {\n\t\treturn false;\n\t}\n\n\tvar calendar = source.calendar;\n\tvar start = calendar.moment(startInput);\n\tvar end = endInput ? calendar.moment(endInput) : null;\n\tvar forcedAllDay = rawProps.allDay;\n\tvar forceEventDuration = calendar.opt('forceEventDuration');\n\n\tif (!start.isValid()) {\n\t\treturn false;\n\t}\n\n\tif (end && (!end.isValid() || !end.isAfter(start))) {\n\t\tend = null;\n\t}\n\n\tif (forcedAllDay == null) {\n\t\tforcedAllDay = source.allDayDefault;\n\t\tif (forcedAllDay == null) {\n\t\t\tforcedAllDay = calendar.opt('allDayDefault');\n\t\t}\n\t}\n\n\tif (forcedAllDay === true) {\n\t\tstart.stripTime();\n\t\tif (end) {\n\t\t\tend.stripTime();\n\t\t}\n\t}\n\telse if (forcedAllDay === false) {\n\t\tif (!start.hasTime()) {\n\t\t\tstart.time(0);\n\t\t}\n\t\tif (end && !end.hasTime()) {\n\t\t\tend.time(0);\n\t\t}\n\t}\n\n\tif (!end && forceEventDuration) {\n\t\tend = calendar.getDefaultEventEnd(!start.hasTime(), start);\n\t}\n\n\treturn new EventDateProfile(start, end, calendar);\n};\n\n;;\n\nvar EventRange = Class.extend({\n\n\tunzonedRange: null,\n\teventDef: null,\n\teventInstance: null, // optional\n\n\n\tconstructor: function(unzonedRange, eventDef, eventInstance) {\n\t\tthis.unzonedRange = unzonedRange;\n\t\tthis.eventDef = eventDef;\n\n\t\tif (eventInstance) {\n\t\t\tthis.eventInstance = eventInstance;\n\t\t}\n\t}\n\n});\n\n;;\n\nvar EventFootprint = FC.EventFootprint = Class.extend({\n\n\tcomponentFootprint: null,\n\teventDef: null,\n\teventInstance: null, // optional\n\n\n\tconstructor: function(componentFootprint, eventDef, eventInstance) {\n\t\tthis.componentFootprint = componentFootprint;\n\t\tthis.eventDef = eventDef;\n\n\t\tif (eventInstance) {\n\t\t\tthis.eventInstance = eventInstance;\n\t\t}\n\t},\n\n\n\tgetEventLegacy: function() {\n\t\treturn (this.eventInstance || this.eventDef).toLegacy();\n\t}\n\n});\n\n;;\n\nvar EventDefMutation = FC.EventDefMutation = Class.extend({\n\n\t// won't ever be empty. will be null instead.\n\t// callers should use setDateMutation for setting.\n\tdateMutation: null,\n\n\t// hacks to get updateEvent/createFromRawProps to work.\n\t// not undo-able and not considered in isEmpty.\n\teventDefId: null, // standard manual props\n\tclassName: null, // \"\n\tverbatimStandardProps: null,\n\tmiscProps: null,\n\n\n\t/*\n\teventDef assumed to be a SingleEventDef.\n\treturns an undo function.\n\t*/\n\tmutateSingle: function(eventDef) {\n\t\tvar origDateProfile;\n\n\t\tif (this.dateMutation) {\n\t\t\torigDateProfile = eventDef.dateProfile;\n\n\t\t\teventDef.dateProfile = this.dateMutation.buildNewDateProfile(\n\t\t\t\torigDateProfile,\n\t\t\t\teventDef.source.calendar\n\t\t\t);\n\t\t}\n\n\t\t// can't undo\n\t\t// TODO: more DRY with EventDef::applyManualStandardProps\n\t\tif (this.eventDefId != null) {\n\t\t\teventDef.id = EventDef.normalizeId((eventDef.rawId = this.eventDefId));\n\t\t}\n\n\t\t// can't undo\n\t\t// TODO: more DRY with EventDef::applyManualStandardProps\n\t\tif (this.className) {\n\t\t\teventDef.className = this.className;\n\t\t}\n\n\t\t// can't undo\n\t\tif (this.verbatimStandardProps) {\n\t\t\tSingleEventDef.copyVerbatimStandardProps(\n\t\t\t\tthis.verbatimStandardProps, // src\n\t\t\t\teventDef // dest\n\t\t\t);\n\t\t}\n\n\t\t// can't undo\n\t\tif (this.miscProps) {\n\t\t\teventDef.applyMiscProps(this.miscProps);\n\t\t}\n\n\t\tif (origDateProfile) {\n\t\t\treturn function() {\n\t\t\t\teventDef.dateProfile = origDateProfile;\n\t\t\t};\n\t\t}\n\t\telse {\n\t\t\treturn function() { };\n\t\t}\n\t},\n\n\n\tsetDateMutation: function(dateMutation) {\n\t\tif (dateMutation && !dateMutation.isEmpty()) {\n\t\t\tthis.dateMutation = dateMutation;\n\t\t}\n\t\telse {\n\t\t\tthis.dateMutation = null;\n\t\t}\n\t},\n\n\n\tisEmpty: function() {\n\t\treturn !this.dateMutation;\n\t}\n\n});\n\n\nEventDefMutation.createFromRawProps = function(eventInstance, rawProps, largeUnit) {\n\tvar eventDef = eventInstance.def;\n\tvar dateProps = {};\n\tvar standardProps = {};\n\tvar miscProps = {};\n\tvar verbatimStandardProps = {};\n\tvar eventDefId = null;\n\tvar className = null;\n\tvar propName;\n\tvar dateProfile;\n\tvar dateMutation;\n\tvar defMutation;\n\n\tfor (propName in rawProps) {\n\t\tif (EventDateProfile.isStandardProp(propName)) {\n\t\t\tdateProps[propName] = rawProps[propName];\n\t\t}\n\t\telse if (eventDef.isStandardProp(propName)) {\n\t\t\tstandardProps[propName] = rawProps[propName];\n\t\t}\n\t\telse if (eventDef.miscProps[propName] !== rawProps[propName]) { // only if changed\n\t\t\tmiscProps[propName] = rawProps[propName];\n\t\t}\n\t}\n\n\tdateProfile = EventDateProfile.parse(dateProps, eventDef.source);\n\n\tif (dateProfile) { // no failure?\n\t\tdateMutation = EventDefDateMutation.createFromDiff(\n\t\t\teventInstance.dateProfile,\n\t\t\tdateProfile,\n\t\t\tlargeUnit\n\t\t);\n\t}\n\n\tif (standardProps.id !== eventDef.id) {\n\t\teventDefId = standardProps.id; // only apply if there's a change\n\t}\n\n\tif (!isArraysEqual(standardProps.className, eventDef.className)) {\n\t\tclassName = standardProps.className; // only apply if there's a change\n\t}\n\n\tEventDef.copyVerbatimStandardProps(\n\t\tstandardProps, // src\n\t\tverbatimStandardProps // dest\n\t);\n\n\tdefMutation = new EventDefMutation();\n\tdefMutation.eventDefId = eventDefId;\n\tdefMutation.className = className;\n\tdefMutation.verbatimStandardProps = verbatimStandardProps;\n\tdefMutation.miscProps = miscProps;\n\n\tif (dateMutation) {\n\t\tdefMutation.dateMutation = dateMutation;\n\t}\n\n\treturn defMutation;\n};\n\n;;\n\nvar EventDefDateMutation = Class.extend({\n\n\tclearEnd: false,\n\tforceTimed: false,\n\tforceAllDay: false,\n\n\t// Durations. if 0-ms duration, will be null instead.\n\t// Callers should not set this directly.\n\tdateDelta: null,\n\tstartDelta: null,\n\tendDelta: null,\n\n\n\t/*\n\treturns an undo function.\n\t*/\n\tbuildNewDateProfile: function(eventDateProfile, calendar) {\n\t\tvar start = eventDateProfile.start.clone();\n\t\tvar end = null;\n\t\tvar shouldRezone = false;\n\n\t\tif (eventDateProfile.end && !this.clearEnd) {\n\t\t\tend = eventDateProfile.end.clone();\n\t\t}\n\t\t// if there will be an end-date mutation, guarantee an end,\n\t\t// ambigously-zoned according to the original allDay\n\t\telse if (this.endDelta && !end) {\n\t\t\tend = calendar.getDefaultEventEnd(eventDateProfile.isAllDay(), start);\n\t\t}\n\n\t\tif (this.forceTimed) {\n\t\t\tshouldRezone = true;\n\n\t\t\tif (!start.hasTime()) {\n\t\t\t\tstart.time(0);\n\t\t\t}\n\n\t\t\tif (end && !end.hasTime()) {\n\t\t\t\tend.time(0);\n\t\t\t}\n\t\t}\n\t\telse if (this.forceAllDay) {\n\n\t\t\tif (start.hasTime()) {\n\t\t\t\tstart.stripTime();\n\t\t\t}\n\n\t\t\tif (end && end.hasTime()) {\n\t\t\t\tend.stripTime();\n\t\t\t}\n\t\t}\n\n\t\tif (this.dateDelta) {\n\t\t\tshouldRezone = true;\n\n\t\t\tstart.add(this.dateDelta);\n\n\t\t\tif (end) {\n\t\t\t\tend.add(this.dateDelta);\n\t\t\t}\n\t\t}\n\n\t\t// do this before adding startDelta to start, so we can work off of start\n\t\tif (this.endDelta) {\n\t\t\tshouldRezone = true;\n\n\t\t\tend.add(this.endDelta);\n\t\t}\n\n\t\tif (this.startDelta) {\n\t\t\tshouldRezone = true;\n\n\t\t\tstart.add(this.startDelta);\n\t\t}\n\n\t\tif (shouldRezone) {\n\t\t\tstart = calendar.applyTimezone(start);\n\n\t\t\tif (end) {\n\t\t\t\tend = calendar.applyTimezone(end);\n\t\t\t}\n\t\t}\n\n\t\t// TODO: okay to access calendar option?\n\t\tif (!end && calendar.opt('forceEventDuration')) {\n\t\t\tend = calendar.getDefaultEventEnd(eventDateProfile.isAllDay(), start);\n\t\t}\n\n\t\treturn new EventDateProfile(start, end, calendar);\n\t},\n\n\n\tsetDateDelta: function(dateDelta) {\n\t\tif (dateDelta && dateDelta.valueOf()) {\n\t\t\tthis.dateDelta = dateDelta;\n\t\t}\n\t\telse {\n\t\t\tthis.dateDelta = null;\n\t\t}\n\t},\n\n\n\tsetStartDelta: function(startDelta) {\n\t\tif (startDelta && startDelta.valueOf()) {\n\t\t\tthis.startDelta = startDelta;\n\t\t}\n\t\telse {\n\t\t\tthis.startDelta = null;\n\t\t}\n\t},\n\n\n\tsetEndDelta: function(endDelta) {\n\t\tif (endDelta && endDelta.valueOf()) {\n\t\t\tthis.endDelta = endDelta;\n\t\t}\n\t\telse {\n\t\t\tthis.endDelta = null;\n\t\t}\n\t},\n\n\n\tisEmpty: function() {\n\t\treturn !this.clearEnd && !this.forceTimed && !this.forceAllDay &&\n\t\t\t!this.dateDelta && !this.startDelta && !this.endDelta;\n\t}\n\n});\n\n\nEventDefDateMutation.createFromDiff = function(dateProfile0, dateProfile1, largeUnit) {\n\tvar clearEnd = dateProfile0.end && !dateProfile1.end;\n\tvar forceTimed = dateProfile0.isAllDay() && !dateProfile1.isAllDay();\n\tvar forceAllDay = !dateProfile0.isAllDay() && dateProfile1.isAllDay();\n\tvar dateDelta;\n\tvar endDiff;\n\tvar endDelta;\n\tvar mutation;\n\n\t// subtracts the dates in the appropriate way, returning a duration\n\tfunction subtractDates(date1, date0) { // date1 - date0\n\t\tif (largeUnit) {\n\t\t\treturn diffByUnit(date1, date0, largeUnit); // poorly named\n\t\t}\n\t\telse if (dateProfile1.isAllDay()) {\n\t\t\treturn diffDay(date1, date0); // poorly named\n\t\t}\n\t\telse {\n\t\t\treturn diffDayTime(date1, date0); // poorly named\n\t\t}\n\t}\n\n\tdateDelta = subtractDates(dateProfile1.start, dateProfile0.start);\n\n\tif (dateProfile1.end) {\n\t\t// use unzonedRanges because dateProfile0.end might be null\n\t\tendDiff = subtractDates(\n\t\t\tdateProfile1.unzonedRange.getEnd(),\n\t\t\tdateProfile0.unzonedRange.getEnd()\n\t\t);\n\t\tendDelta = endDiff.subtract(dateDelta);\n\t}\n\n\tmutation = new EventDefDateMutation();\n\tmutation.clearEnd = clearEnd;\n\tmutation.forceTimed = forceTimed;\n\tmutation.forceAllDay = forceAllDay;\n\tmutation.setDateDelta(dateDelta);\n\tmutation.setEndDelta(endDelta);\n\n\treturn mutation;\n};\n\n;;\n\nfunction eventDefsToEventInstances(eventDefs, unzonedRange) {\n\tvar eventInstances = [];\n\tvar i;\n\n\tfor (i = 0; i < eventDefs.length; i++) {\n\t\teventInstances.push.apply(eventInstances, // append\n\t\t\teventDefs[i].buildInstances(unzonedRange)\n\t\t);\n\t}\n\n\treturn eventInstances;\n}\n\n\nfunction eventInstanceToEventRange(eventInstance) {\n\treturn new EventRange(\n\t\teventInstance.dateProfile.unzonedRange,\n\t\teventInstance.def,\n\t\teventInstance\n\t);\n}\n\n\nfunction eventRangeToEventFootprint(eventRange) {\n\treturn new EventFootprint(\n\t\tnew ComponentFootprint(\n\t\t\teventRange.unzonedRange,\n\t\t\teventRange.eventDef.isAllDay()\n\t\t),\n\t\teventRange.eventDef,\n\t\teventRange.eventInstance // might not exist\n\t);\n}\n\n\nfunction eventInstanceToUnzonedRange(eventInstance) {\n\treturn eventInstance.dateProfile.unzonedRange;\n}\n\n\nfunction eventFootprintToComponentFootprint(eventFootprint) {\n\treturn eventFootprint.componentFootprint;\n}\n\n;;\n\nvar EventSource = Class.extend(ParsableModelMixin, {\n\n\tcalendar: null,\n\n\tid: null, // can stay null\n\tuid: null,\n\tcolor: null,\n\tbackgroundColor: null,\n\tborderColor: null,\n\ttextColor: null,\n\tclassName: null, // array\n\teditable: null,\n\tstartEditable: null,\n\tdurationEditable: null,\n\trendering: null,\n\toverlap: null,\n\tconstraint: null,\n\tallDayDefault: null,\n\teventDataTransform: null, // optional function\n\n\n\t// can we do away with calendar? at least for the abstract?\n\t// useful for buildEventDef\n\tconstructor: function(calendar) {\n\t\tthis.calendar = calendar;\n\t\tthis.className = [];\n\t\tthis.uid = String(EventSource.uuid++);\n\t},\n\n\n\tfetch: function(start, end, timezone) {\n\t\t// subclasses must implement. must return a promise.\n\t},\n\n\n\tremoveEventDefsById: function(eventDefId) {\n\t\t// optional for subclasses to implement\n\t},\n\n\n\tremoveAllEventDefs: function() {\n\t\t// optional for subclasses to implement\n\t},\n\n\n\t/*\n\tFor compairing/matching\n\t*/\n\tgetPrimitive: function(otherSource) {\n\t\t// subclasses must implement\n\t},\n\n\n\tparseEventDefs: function(rawEventDefs) {\n\t\tvar i;\n\t\tvar eventDef;\n\t\tvar eventDefs = [];\n\n\t\tfor (i = 0; i < rawEventDefs.length; i++) {\n\t\t\teventDef = this.parseEventDef(rawEventDefs[i]);\n\n\t\t\tif (eventDef) {\n\t\t\t\teventDefs.push(eventDef);\n\t\t\t}\n\t\t}\n\n\t\treturn eventDefs;\n\t},\n\n\n\tparseEventDef: function(rawInput) {\n\t\tvar calendarTransform = this.calendar.opt('eventDataTransform');\n\t\tvar sourceTransform = this.eventDataTransform;\n\n\t\tif (calendarTransform) {\n\t\t\trawInput = calendarTransform(rawInput);\n\t\t}\n\t\tif (sourceTransform) {\n\t\t\trawInput = sourceTransform(rawInput);\n\t\t}\n\n\t\treturn EventDefParser.parse(rawInput, this);\n\t},\n\n\n\tapplyManualStandardProps: function(rawProps) {\n\n\t\tif (rawProps.id != null) {\n\t\t\tthis.id = EventSource.normalizeId(rawProps.id);\n\t\t}\n\n\t\t// TODO: converge with EventDef\n\t\tif ($.isArray(rawProps.className)) {\n\t\t\tthis.className = rawProps.className;\n\t\t}\n\t\telse if (typeof rawProps.className === 'string') {\n\t\t\tthis.className = rawProps.className.split(/\\s+/);\n\t\t}\n\n\t\treturn true;\n\t}\n\n});\n\n\n// finish initializing the mixin\nEventSource.defineStandardProps = ParsableModelMixin_defineStandardProps;\n\n\n// IDs\n// ---------------------------------------------------------------------------------------------------------------------\n// TODO: converge with EventDef\n\n\nEventSource.uuid = 0;\n\n\nEventSource.normalizeId = function(id) {\n\tif (id) {\n\t\treturn String(id);\n\t}\n\n\treturn null;\n};\n\n\n// Parsing\n// ---------------------------------------------------------------------------------------------------------------------\n\n\nEventSource.defineStandardProps({\n\t// manually process...\n\tid: false,\n\tclassName: false,\n\n\t// automatically transfer...\n\tcolor: true,\n\tbackgroundColor: true,\n\tborderColor: true,\n\ttextColor: true,\n\teditable: true,\n\tstartEditable: true,\n\tdurationEditable: true,\n\trendering: true,\n\toverlap: true,\n\tconstraint: true,\n\tallDayDefault: true,\n\teventDataTransform: true\n});\n\n\n/*\nrawInput can be any data type!\n*/\nEventSource.parse = function(rawInput, calendar) {\n\tvar source = new this(calendar);\n\n\tif (typeof rawInput === 'object') {\n\t\tif (source.applyProps(rawInput)) {\n\t\t\treturn source;\n\t\t}\n\t}\n\n\treturn false;\n};\n\n\nFC.EventSource = EventSource;\n\n;;\n\nvar EventSourceParser = {\n\n\tsourceClasses: [],\n\n\n\tregisterClass: function(EventSourceClass) {\n\t\tthis.sourceClasses.unshift(EventSourceClass); // give highest priority\n\t},\n\n\n\tparse: function(rawInput, calendar) {\n\t\tvar sourceClasses = this.sourceClasses;\n\t\tvar i;\n\t\tvar eventSource;\n\n\t\tfor (i = 0; i < sourceClasses.length; i++) {\n\t\t\teventSource = sourceClasses[i].parse(rawInput, calendar);\n\n\t\t\tif (eventSource) {\n\t\t\t\treturn eventSource;\n\t\t\t}\n\t\t}\n\t}\n\n};\n\n\nFC.EventSourceParser = EventSourceParser;\n\n;;\n\nvar ArrayEventSource = EventSource.extend({\n\n\trawEventDefs: null, // unparsed\n\teventDefs: null,\n\tcurrentTimezone: null,\n\n\n\tconstructor: function(calendar) {\n\t\tEventSource.apply(this, arguments); // super-constructor\n\t\tthis.eventDefs = []; // for if setRawEventDefs is never called\n\t},\n\n\n\tsetRawEventDefs: function(rawEventDefs) {\n\t\tthis.rawEventDefs = rawEventDefs;\n\t\tthis.eventDefs = this.parseEventDefs(rawEventDefs);\n\t},\n\n\n\tfetch: function(start, end, timezone) {\n\t\tvar eventDefs = this.eventDefs;\n\t\tvar i;\n\n\t\tif (\n\t\t\tthis.currentTimezone !== null &&\n\t\t\tthis.currentTimezone !== timezone\n\t\t) {\n\t\t\tfor (i = 0; i < eventDefs.length; i++) {\n\t\t\t\tif (eventDefs[i] instanceof SingleEventDef) {\n\t\t\t\t\teventDefs[i].rezone();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.currentTimezone = timezone;\n\n\t\treturn Promise.resolve(eventDefs);\n\t},\n\n\n\taddEventDef: function(eventDef) {\n\t\tthis.eventDefs.push(eventDef);\n\t},\n\n\n\t/*\n\teventDefId already normalized to a string\n\t*/\n\tremoveEventDefsById: function(eventDefId) {\n\t\treturn removeMatching(this.eventDefs, function(eventDef) {\n\t\t\treturn eventDef.id === eventDefId;\n\t\t});\n\t},\n\n\n\tremoveAllEventDefs: function() {\n\t\tthis.eventDefs = [];\n\t},\n\n\n\tgetPrimitive: function() {\n\t\treturn this.rawEventDefs;\n\t},\n\n\n\tapplyManualStandardProps: function(rawProps) {\n\t\tvar superSuccess = EventSource.prototype.applyManualStandardProps.apply(this, arguments);\n\n\t\tthis.setRawEventDefs(rawProps.events);\n\n\t\treturn superSuccess;\n\t}\n\n});\n\n\nArrayEventSource.defineStandardProps({\n\tevents: false // don't automatically transfer\n});\n\n\nArrayEventSource.parse = function(rawInput, calendar) {\n\tvar rawProps;\n\n\t// normalize raw input\n\tif ($.isArray(rawInput.events)) { // extended form\n\t\trawProps = rawInput;\n\t}\n\telse if ($.isArray(rawInput)) { // short form\n\t\trawProps = { events: rawInput };\n\t}\n\n\tif (rawProps) {\n\t\treturn EventSource.parse.call(this, rawProps, calendar);\n\t}\n\n\treturn false;\n};\n\n\nEventSourceParser.registerClass(ArrayEventSource);\n\nFC.ArrayEventSource = ArrayEventSource;\n\n;;\n\nvar FuncEventSource = EventSource.extend({\n\n\tfunc: null,\n\n\n\tfetch: function(start, end, timezone) {\n\t\tvar _this = this;\n\n\t\tthis.calendar.pushLoading();\n\n\t\treturn Promise.construct(function(onResolve) {\n\t\t\t_this.func.call(\n\t\t\t\t_this.calendar,\n\t\t\t\tstart.clone(),\n\t\t\t\tend.clone(),\n\t\t\t\ttimezone,\n\t\t\t\tfunction(rawEventDefs) {\n\t\t\t\t\t_this.calendar.popLoading();\n\n\t\t\t\t\tonResolve(_this.parseEventDefs(rawEventDefs));\n\t\t\t\t}\n\t\t\t);\n\t\t});\n\t},\n\n\n\tgetPrimitive: function() {\n\t\treturn this.func;\n\t},\n\n\n\tapplyManualStandardProps: function(rawProps) {\n\t\tvar superSuccess = EventSource.prototype.applyManualStandardProps.apply(this, arguments);\n\n\t\tthis.func = rawProps.events;\n\n\t\treturn superSuccess;\n\t}\n\n});\n\n\nFuncEventSource.defineStandardProps({\n\tevents: false // don't automatically transfer\n});\n\n\nFuncEventSource.parse = function(rawInput, calendar) {\n\tvar rawProps;\n\n\t// normalize raw input\n\tif ($.isFunction(rawInput.events)) { // extended form\n\t\trawProps = rawInput;\n\t}\n\telse if ($.isFunction(rawInput)) { // short form\n\t\trawProps = { events: rawInput };\n\t}\n\n\tif (rawProps) {\n\t\treturn EventSource.parse.call(this, rawProps, calendar);\n\t}\n\n\treturn false;\n};\n\n\nEventSourceParser.registerClass(FuncEventSource);\n\nFC.FuncEventSource = FuncEventSource;\n\n;;\n\nvar JsonFeedEventSource = EventSource.extend({\n\n\t// these props must all be manually set before calling fetch\n\turl: null,\n\tstartParam: null,\n\tendParam: null,\n\ttimezoneParam: null,\n\tajaxSettings: null, // does not include url\n\n\n\tfetch: function(start, end, timezone) {\n\t\tvar _this = this;\n\t\tvar ajaxSettings = this.ajaxSettings;\n\t\tvar onSuccess = ajaxSettings.success;\n\t\tvar onError = ajaxSettings.error;\n\t\tvar requestParams = this.buildRequestParams(start, end, timezone);\n\n\t\t// todo: eventually handle the promise's then,\n\t\t// don't intercept success/error\n\t\t// tho will be a breaking API change\n\n\t\tthis.calendar.pushLoading();\n\n\t\treturn Promise.construct(function(onResolve, onReject) {\n\t\t\t$.ajax($.extend(\n\t\t\t\t{}, // destination\n\t\t\t\tJsonFeedEventSource.AJAX_DEFAULTS,\n\t\t\t\tajaxSettings,\n\t\t\t\t{\n\t\t\t\t\turl: _this.url,\n\t\t\t\t\tdata: requestParams,\n\t\t\t\t\tsuccess: function(rawEventDefs) {\n\t\t\t\t\t\tvar callbackRes;\n\n\t\t\t\t\t\t_this.calendar.popLoading();\n\n\t\t\t\t\t\tif (rawEventDefs) {\n\t\t\t\t\t\t\tcallbackRes = applyAll(onSuccess, this, arguments); // redirect `this`\n\n\t\t\t\t\t\t\tif ($.isArray(callbackRes)) {\n\t\t\t\t\t\t\t\trawEventDefs = callbackRes;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tonResolve(_this.parseEventDefs(rawEventDefs));\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tonReject();\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\terror: function() {\n\t\t\t\t\t\t_this.calendar.popLoading();\n\n\t\t\t\t\t\tapplyAll(onError, this, arguments); // redirect `this`\n\t\t\t\t\t\tonReject();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t));\n\t\t});\n\t},\n\n\n\tbuildRequestParams: function(start, end, timezone) {\n\t\tvar calendar = this.calendar;\n\t\tvar ajaxSettings = this.ajaxSettings;\n\t\tvar startParam, endParam, timezoneParam;\n\t\tvar customRequestParams;\n\t\tvar params = {};\n\n\t\tstartParam = this.startParam;\n\t\tif (startParam == null) {\n\t\t\tstartParam = calendar.opt('startParam');\n\t\t}\n\n\t\tendParam = this.endParam;\n\t\tif (endParam == null) {\n\t\t\tendParam = calendar.opt('endParam');\n\t\t}\n\n\t\ttimezoneParam = this.timezoneParam;\n\t\tif (timezoneParam == null) {\n\t\t\ttimezoneParam = calendar.opt('timezoneParam');\n\t\t}\n\n\t\t// retrieve any outbound GET/POST $.ajax data from the options\n\t\tif ($.isFunction(ajaxSettings.data)) {\n\t\t\t// supplied as a function that returns a key/value object\n\t\t\tcustomRequestParams = ajaxSettings.data();\n\t\t}\n\t\telse {\n\t\t\t// probably supplied as a straight key/value object\n\t\t\tcustomRequestParams = ajaxSettings.data || {};\n\t\t}\n\n\t\t$.extend(params, customRequestParams);\n\n\t\tparams[startParam] = start.format();\n\t\tparams[endParam] = end.format();\n\n\t\tif (timezone && timezone !== 'local') {\n\t\t\tparams[timezoneParam] = timezone;\n\t\t}\n\n\t\treturn params;\n\t},\n\n\n\tgetPrimitive: function() {\n\t\treturn this.url;\n\t},\n\n\n\tapplyMiscProps: function(rawProps) {\n\t\tEventSource.prototype.applyMiscProps.apply(this, arguments);\n\n\t\tthis.ajaxSettings = rawProps;\n\t}\n\n});\n\n\nJsonFeedEventSource.AJAX_DEFAULTS = {\n\tdataType: 'json',\n\tcache: false\n};\n\n\nJsonFeedEventSource.defineStandardProps({\n\t// automatically transfer (true)...\n\turl: true,\n\tstartParam: true,\n\tendParam: true,\n\ttimezoneParam: true\n});\n\n\nJsonFeedEventSource.parse = function(rawInput, calendar) {\n\tvar rawProps;\n\n\t// normalize raw input\n\tif (typeof rawInput.url === 'string') { // extended form\n\t\trawProps = rawInput;\n\t}\n\telse if (typeof rawInput === 'string') { // short form\n\t\trawProps = { url: rawInput };\n\t}\n\n\tif (rawProps) {\n\t\treturn EventSource.parse.call(this, rawProps, calendar);\n\t}\n\n\treturn false;\n};\n\n\nEventSourceParser.registerClass(JsonFeedEventSource);\n\nFC.JsonFeedEventSource = JsonFeedEventSource;\n\n;;\n\nvar ThemeRegistry = FC.ThemeRegistry = {\n\n\tthemeClassHash: {},\n\n\n\tregister: function(themeName, themeClass) {\n\t\tthis.themeClassHash[themeName] = themeClass;\n\t},\n\n\n\tgetThemeClass: function(themeSetting) {\n\t\tif (!themeSetting) {\n\t\t\treturn StandardTheme;\n\t\t}\n\t\telse if (themeSetting === true) {\n\t\t\treturn JqueryUiTheme;\n\t\t}\n\t\telse {\n\t\t\treturn this.themeClassHash[themeSetting];\n\t\t}\n\t}\n\n};\n\n;;\n\nvar Theme = FC.Theme = Class.extend({\n\n\tclasses: {},\n\ticonClasses: {},\n\tbaseIconClass: '',\n\ticonOverrideOption: null,\n\ticonOverrideCustomButtonOption: null,\n\ticonOverridePrefix: '',\n\n\n\tconstructor: function(optionsModel) {\n\t\tthis.optionsModel = optionsModel;\n\t\tthis.processIconOverride();\n\t},\n\n\n\tprocessIconOverride: function() {\n\t\tif (this.iconOverrideOption) {\n\t\t\tthis.setIconOverride(\n\t\t\t\tthis.optionsModel.get(this.iconOverrideOption)\n\t\t\t);\n\t\t}\n\t},\n\n\n\tsetIconOverride: function(iconOverrideHash) {\n\t\tvar iconClassesCopy;\n\t\tvar buttonName;\n\n\t\tif ($.isPlainObject(iconOverrideHash)) {\n\t\t\ticonClassesCopy = $.extend({}, this.iconClasses);\n\n\t\t\tfor (buttonName in iconOverrideHash) {\n\t\t\t\ticonClassesCopy[buttonName] = this.applyIconOverridePrefix(\n\t\t\t\t\ticonOverrideHash[buttonName]\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tthis.iconClasses = iconClassesCopy;\n\t\t}\n\t\telse if (iconOverrideHash === false) {\n\t\t\tthis.iconClasses = {};\n\t\t}\n\t},\n\n\n\tapplyIconOverridePrefix: function(className) {\n\t\tvar prefix = this.iconOverridePrefix;\n\n\t\tif (prefix && className.indexOf(prefix) !== 0) { // if not already present\n\t\t\tclassName = prefix + className;\n\t\t}\n\n\t\treturn className;\n\t},\n\n\n\tgetClass: function(key) {\n\t\treturn this.classes[key] || '';\n\t},\n\n\n\tgetIconClass: function(buttonName) {\n\t\tvar className = this.iconClasses[buttonName];\n\n\t\tif (className) {\n\t\t\treturn this.baseIconClass + ' ' + className;\n\t\t}\n\n\t\treturn '';\n\t},\n\n\n\tgetCustomButtonIconClass: function(customButtonProps) {\n\t\tvar className;\n\n\t\tif (this.iconOverrideCustomButtonOption) {\n\t\t\tclassName = customButtonProps[this.iconOverrideCustomButtonOption];\n\n\t\t\tif (className) {\n\t\t\t\treturn this.baseIconClass + ' ' + this.applyIconOverridePrefix(className);\n\t\t\t}\n\t\t}\n\n\t\treturn '';\n\t}\n\n});\n\n;;\n\nvar StandardTheme = Theme.extend({\n\n\tclasses: {\n\t\twidget: 'fc-unthemed',\n\t\twidgetHeader: 'fc-widget-header',\n\t\twidgetContent: 'fc-widget-content',\n\n\t\tbuttonGroup: 'fc-button-group',\n\t\tbutton: 'fc-button',\n\t\tcornerLeft: 'fc-corner-left',\n\t\tcornerRight: 'fc-corner-right',\n\t\tstateDefault: 'fc-state-default',\n\t\tstateActive: 'fc-state-active',\n\t\tstateDisabled: 'fc-state-disabled',\n\t\tstateHover: 'fc-state-hover',\n\t\tstateDown: 'fc-state-down',\n\n\t\tpopoverHeader: 'fc-widget-header',\n\t\tpopoverContent: 'fc-widget-content',\n\n\t\t// day grid\n\t\theaderRow: 'fc-widget-header',\n\t\tdayRow: 'fc-widget-content',\n\n\t\t// list view\n\t\tlistView: 'fc-widget-content'\n\t},\n\n\tbaseIconClass: 'fc-icon',\n\ticonClasses: {\n\t\tclose: 'fc-icon-x',\n\t\tprev: 'fc-icon-left-single-arrow',\n\t\tnext: 'fc-icon-right-single-arrow',\n\t\tprevYear: 'fc-icon-left-double-arrow',\n\t\tnextYear: 'fc-icon-right-double-arrow'\n\t},\n\n\ticonOverrideOption: 'buttonIcons',\n\ticonOverrideCustomButtonOption: 'icon',\n\ticonOverridePrefix: 'fc-icon-'\n\n});\n\nThemeRegistry.register('standard', StandardTheme);\n\n;;\n\nvar JqueryUiTheme = Theme.extend({\n\n\tclasses: {\n\t\twidget: 'ui-widget',\n\t\twidgetHeader: 'ui-widget-header',\n\t\twidgetContent: 'ui-widget-content',\n\n\t\tbuttonGroup: 'fc-button-group',\n\t\tbutton: 'ui-button',\n\t\tcornerLeft: 'ui-corner-left',\n\t\tcornerRight: 'ui-corner-right',\n\t\tstateDefault: 'ui-state-default',\n\t\tstateActive: 'ui-state-active',\n\t\tstateDisabled: 'ui-state-disabled',\n\t\tstateHover: 'ui-state-hover',\n\t\tstateDown: 'ui-state-down',\n\n\t\ttoday: 'ui-state-highlight',\n\n\t\tpopoverHeader: 'ui-widget-header',\n\t\tpopoverContent: 'ui-widget-content',\n\n\t\t// day grid\n\t\theaderRow: 'ui-widget-header',\n\t\tdayRow: 'ui-widget-content',\n\n\t\t// list view\n\t\tlistView: 'ui-widget-content'\n\t},\n\n\tbaseIconClass: 'ui-icon',\n\ticonClasses: {\n\t\tclose: 'ui-icon-closethick',\n\t\tprev: 'ui-icon-circle-triangle-w',\n\t\tnext: 'ui-icon-circle-triangle-e',\n\t\tprevYear: 'ui-icon-seek-prev',\n\t\tnextYear: 'ui-icon-seek-next'\n\t},\n\n\ticonOverrideOption: 'themeButtonIcons',\n\ticonOverrideCustomButtonOption: 'themeIcon',\n\ticonOverridePrefix: 'ui-icon-'\n\n});\n\nThemeRegistry.register('jquery-ui', JqueryUiTheme);\n\n;;\n\nvar BootstrapTheme = Theme.extend({\n\n\tclasses: {\n\t\twidget: 'fc-bootstrap3',\n\n\t\ttableGrid: 'table-bordered', // avoid `table` class b/c don't want margins. only border color\n\t\ttableList: 'table table-striped', // `table` class creates bottom margin but who cares\n\n\t\tbuttonGroup: 'btn-group',\n\t\tbutton: 'btn btn-default',\n\t\tstateActive: 'active',\n\t\tstateDisabled: 'disabled',\n\n\t\ttoday: 'alert alert-info', // the plain `info` class requires `.table`, too much to ask\n\n\t\tpopover: 'panel panel-default',\n\t\tpopoverHeader: 'panel-heading',\n\t\tpopoverContent: 'panel-body',\n\n\t\t// day grid\n\t\theaderRow: 'panel-default', // avoid `panel` class b/c don't want margins/radius. only border color\n\t\tdayRow: 'panel-default', // \"\n\n\t\t// list view\n\t\tlistView: 'panel panel-default'\n\t},\n\n\tbaseIconClass: 'glyphicon',\n\ticonClasses: {\n\t\tclose: 'glyphicon-remove',\n\t\tprev: 'glyphicon-chevron-left',\n\t\tnext: 'glyphicon-chevron-right',\n\t\tprevYear: 'glyphicon-backward',\n\t\tnextYear: 'glyphicon-forward'\n\t},\n\n\ticonOverrideOption: 'bootstrapGlyphicons',\n\ticonOverrideCustomButtonOption: 'bootstrapGlyphicon',\n\ticonOverridePrefix: 'glyphicon-'\n\n});\n\nThemeRegistry.register('bootstrap3', BootstrapTheme);\n\n;;\n\nvar DayGridFillRenderer = FillRenderer.extend({\n\n\tfillSegTag: 'td', // override the default tag name\n\n\n\tattachSegEls: function(type, segs) {\n\t\tvar nodes = [];\n\t\tvar i, seg;\n\t\tvar skeletonEl;\n\n\t\tfor (i = 0; i < segs.length; i++) {\n\t\t\tseg = segs[i];\n\t\t\tskeletonEl = this.renderFillRow(type, seg);\n\t\t\tthis.component.rowEls.eq(seg.row).append(skeletonEl);\n\t\t\tnodes.push(skeletonEl[0]);\n\t\t}\n\n\t\treturn nodes;\n\t},\n\n\n\t// Generates the HTML needed for one row of a fill. Requires the seg's el to be rendered.\n\trenderFillRow: function(type, seg) {\n\t\tvar colCnt = this.component.colCnt;\n\t\tvar startCol = seg.leftCol;\n\t\tvar endCol = seg.rightCol + 1;\n\t\tvar className;\n\t\tvar skeletonEl;\n\t\tvar trEl;\n\n\t\tif (type === 'businessHours') {\n\t\t\tclassName = 'bgevent';\n\t\t}\n\t\telse {\n\t\t\tclassName = type.toLowerCase();\n\t\t}\n\n\t\tskeletonEl = $(\n\t\t\t'<div class=\"fc-' + className + '-skeleton\">' +\n\t\t\t\t'<table><tr/></table>' +\n\t\t\t'</div>'\n\t\t);\n\t\ttrEl = skeletonEl.find('tr');\n\n\t\tif (startCol > 0) {\n\t\t\ttrEl.append('<td colspan=\"' + startCol + '\"/>');\n\t\t}\n\n\t\ttrEl.append(\n\t\t\tseg.el.attr('colspan', endCol - startCol)\n\t\t);\n\n\t\tif (endCol < colCnt) {\n\t\t\ttrEl.append('<td colspan=\"' + (colCnt - endCol) + '\"/>');\n\t\t}\n\n\t\tthis.component.bookendCells(trEl);\n\n\t\treturn skeletonEl;\n\t}\n});\n\n;;\n\n/* Event-rendering methods for the DayGrid class\n----------------------------------------------------------------------------------------------------------------------*/\n\nvar DayGridEventRenderer = EventRenderer.extend({\n\n\tdayGrid: null,\n\trowStructs: null, // an array of objects, each holding information about a row's foreground event-rendering\n\n\n\tconstructor: function(dayGrid) {\n\t\tEventRenderer.apply(this, arguments);\n\n\t\tthis.dayGrid = dayGrid;\n\t},\n\n\n\trenderBgRanges: function(eventRanges) {\n\t\t// don't render timed background events\n\t\teventRanges = $.grep(eventRanges, function(eventRange) {\n\t\t\treturn eventRange.eventDef.isAllDay();\n\t\t});\n\n\t\tEventRenderer.prototype.renderBgRanges.call(this, eventRanges);\n\t},\n\n\n\t// Renders the given foreground event segments onto the grid\n\trenderFgSegs: function(segs) {\n\t\tvar rowStructs = this.rowStructs = this.renderSegRows(segs);\n\n\t\t// append to each row's content skeleton\n\t\tthis.dayGrid.rowEls.each(function(i, rowNode) {\n\t\t\t$(rowNode).find('.fc-content-skeleton > table').append(\n\t\t\t\trowStructs[i].tbodyEl\n\t\t\t);\n\t\t});\n\t},\n\n\n\t// Unrenders all currently rendered foreground event segments\n\tunrenderFgSegs: function() {\n\t\tvar rowStructs = this.rowStructs || [];\n\t\tvar rowStruct;\n\n\t\twhile ((rowStruct = rowStructs.pop())) {\n\t\t\trowStruct.tbodyEl.remove();\n\t\t}\n\n\t\tthis.rowStructs = null;\n\t},\n\n\n\t// Uses the given events array to generate <tbody> elements that should be appended to each row's content skeleton.\n\t// Returns an array of rowStruct objects (see the bottom of `renderSegRow`).\n\t// PRECONDITION: each segment shoud already have a rendered and assigned `.el`\n\trenderSegRows: function(segs) {\n\t\tvar rowStructs = [];\n\t\tvar segRows;\n\t\tvar row;\n\n\t\tsegRows = this.groupSegRows(segs); // group into nested arrays\n\n\t\t// iterate each row of segment groupings\n\t\tfor (row = 0; row < segRows.length; row++) {\n\t\t\trowStructs.push(\n\t\t\t\tthis.renderSegRow(row, segRows[row])\n\t\t\t);\n\t\t}\n\n\t\treturn rowStructs;\n\t},\n\n\n\t// Given a row # and an array of segments all in the same row, render a <tbody> element, a skeleton that contains\n\t// the segments. Returns object with a bunch of internal data about how the render was calculated.\n\t// NOTE: modifies rowSegs\n\trenderSegRow: function(row, rowSegs) {\n\t\tvar colCnt = this.dayGrid.colCnt;\n\t\tvar segLevels = this.buildSegLevels(rowSegs); // group into sub-arrays of levels\n\t\tvar levelCnt = Math.max(1, segLevels.length); // ensure at least one level\n\t\tvar tbody = $('<tbody/>');\n\t\tvar segMatrix = []; // lookup for which segments are rendered into which level+col cells\n\t\tvar cellMatrix = []; // lookup for all <td> elements of the level+col matrix\n\t\tvar loneCellMatrix = []; // lookup for <td> elements that only take up a single column\n\t\tvar i, levelSegs;\n\t\tvar col;\n\t\tvar tr;\n\t\tvar j, seg;\n\t\tvar td;\n\n\t\t// populates empty cells from the current column (`col`) to `endCol`\n\t\tfunction emptyCellsUntil(endCol) {\n\t\t\twhile (col < endCol) {\n\t\t\t\t// try to grab a cell from the level above and extend its rowspan. otherwise, create a fresh cell\n\t\t\t\ttd = (loneCellMatrix[i - 1] || [])[col];\n\t\t\t\tif (td) {\n\t\t\t\t\ttd.attr(\n\t\t\t\t\t\t'rowspan',\n\t\t\t\t\t\tparseInt(td.attr('rowspan') || 1, 10) + 1\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\ttd = $('<td/>');\n\t\t\t\t\ttr.append(td);\n\t\t\t\t}\n\t\t\t\tcellMatrix[i][col] = td;\n\t\t\t\tloneCellMatrix[i][col] = td;\n\t\t\t\tcol++;\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0; i < levelCnt; i++) { // iterate through all levels\n\t\t\tlevelSegs = segLevels[i];\n\t\t\tcol = 0;\n\t\t\ttr = $('<tr/>');\n\n\t\t\tsegMatrix.push([]);\n\t\t\tcellMatrix.push([]);\n\t\t\tloneCellMatrix.push([]);\n\n\t\t\t// levelCnt might be 1 even though there are no actual levels. protect against this.\n\t\t\t// this single empty row is useful for styling.\n\t\t\tif (levelSegs) {\n\t\t\t\tfor (j = 0; j < levelSegs.length; j++) { // iterate through segments in level\n\t\t\t\t\tseg = levelSegs[j];\n\n\t\t\t\t\temptyCellsUntil(seg.leftCol);\n\n\t\t\t\t\t// create a container that occupies or more columns. append the event element.\n\t\t\t\t\ttd = $('<td class=\"fc-event-container\"/>').append(seg.el);\n\t\t\t\t\tif (seg.leftCol != seg.rightCol) {\n\t\t\t\t\t\ttd.attr('colspan', seg.rightCol - seg.leftCol + 1);\n\t\t\t\t\t}\n\t\t\t\t\telse { // a single-column segment\n\t\t\t\t\t\tloneCellMatrix[i][col] = td;\n\t\t\t\t\t}\n\n\t\t\t\t\twhile (col <= seg.rightCol) {\n\t\t\t\t\t\tcellMatrix[i][col] = td;\n\t\t\t\t\t\tsegMatrix[i][col] = seg;\n\t\t\t\t\t\tcol++;\n\t\t\t\t\t}\n\n\t\t\t\t\ttr.append(td);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\temptyCellsUntil(colCnt); // finish off the row\n\t\t\tthis.dayGrid.bookendCells(tr);\n\t\t\ttbody.append(tr);\n\t\t}\n\n\t\treturn { // a \"rowStruct\"\n\t\t\trow: row, // the row number\n\t\t\ttbodyEl: tbody,\n\t\t\tcellMatrix: cellMatrix,\n\t\t\tsegMatrix: segMatrix,\n\t\t\tsegLevels: segLevels,\n\t\t\tsegs: rowSegs\n\t\t};\n\t},\n\n\n\t// Stacks a flat array of segments, which are all assumed to be in the same row, into subarrays of vertical levels.\n\t// NOTE: modifies segs\n\tbuildSegLevels: function(segs) {\n\t\tvar levels = [];\n\t\tvar i, seg;\n\t\tvar j;\n\n\t\t// Give preference to elements with certain criteria, so they have\n\t\t// a chance to be closer to the top.\n\t\tthis.sortEventSegs(segs);\n\n\t\tfor (i = 0; i < segs.length; i++) {\n\t\t\tseg = segs[i];\n\n\t\t\t// loop through levels, starting with the topmost, until the segment doesn't collide with other segments\n\t\t\tfor (j = 0; j < levels.length; j++) {\n\t\t\t\tif (!isDaySegCollision(seg, levels[j])) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// `j` now holds the desired subrow index\n\t\t\tseg.level = j;\n\n\t\t\t// create new level array if needed and append segment\n\t\t\t(levels[j] || (levels[j] = [])).push(seg);\n\t\t}\n\n\t\t// order segments left-to-right. very important if calendar is RTL\n\t\tfor (j = 0; j < levels.length; j++) {\n\t\t\tlevels[j].sort(compareDaySegCols);\n\t\t}\n\n\t\treturn levels;\n\t},\n\n\n\t// Given a flat array of segments, return an array of sub-arrays, grouped by each segment's row\n\tgroupSegRows: function(segs) {\n\t\tvar segRows = [];\n\t\tvar i;\n\n\t\tfor (i = 0; i < this.dayGrid.rowCnt; i++) {\n\t\t\tsegRows.push([]);\n\t\t}\n\n\t\tfor (i = 0; i < segs.length; i++) {\n\t\t\tsegRows[segs[i].row].push(segs[i]);\n\t\t}\n\n\t\treturn segRows;\n\t},\n\n\n\t// Computes a default event time formatting string if `timeFormat` is not explicitly defined\n\tcomputeEventTimeFormat: function() {\n\t\treturn this.opt('extraSmallTimeFormat'); // like \"6p\" or \"6:30p\"\n\t},\n\n\n\t// Computes a default `displayEventEnd` value if one is not expliclty defined\n\tcomputeDisplayEventEnd: function() {\n\t\treturn this.dayGrid.colCnt === 1; // we'll likely have space if there's only one day\n\t},\n\n\n\t// Builds the HTML to be used for the default element for an individual segment\n\tfgSegHtml: function(seg, disableResizing) {\n\t\tvar view = this.view;\n\t\tvar eventDef = seg.footprint.eventDef;\n\t\tvar isAllDay = seg.footprint.componentFootprint.isAllDay;\n\t\tvar isDraggable = view.isEventDefDraggable(eventDef);\n\t\tvar isResizableFromStart = !disableResizing && isAllDay &&\n\t\t\tseg.isStart && view.isEventDefResizableFromStart(eventDef);\n\t\tvar isResizableFromEnd = !disableResizing && isAllDay &&\n\t\t\tseg.isEnd && view.isEventDefResizableFromEnd(eventDef);\n\t\tvar classes = this.getSegClasses(seg, isDraggable, isResizableFromStart || isResizableFromEnd);\n\t\tvar skinCss = cssToStr(this.getSkinCss(eventDef));\n\t\tvar timeHtml = '';\n\t\tvar timeText;\n\t\tvar titleHtml;\n\n\t\tclasses.unshift('fc-day-grid-event', 'fc-h-event');\n\n\t\t// Only display a timed events time if it is the starting segment\n\t\tif (seg.isStart) {\n\t\t\ttimeText = this.getTimeText(seg.footprint);\n\t\t\tif (timeText) {\n\t\t\t\ttimeHtml = '<span class=\"fc-time\">' + htmlEscape(timeText) + '</span>';\n\t\t\t}\n\t\t}\n\n\t\ttitleHtml =\n\t\t\t'<span class=\"fc-title\">' +\n\t\t\t\t(htmlEscape(eventDef.title || '') || '&nbsp;') + // we always want one line of height\n\t\t\t'</span>';\n\n\t\treturn '<a class=\"' + classes.join(' ') + '\"' +\n\t\t\t\t(eventDef.url ?\n\t\t\t\t\t' href=\"' + htmlEscape(eventDef.url) + '\"' :\n\t\t\t\t\t''\n\t\t\t\t\t) +\n\t\t\t\t(skinCss ?\n\t\t\t\t\t' style=\"' + skinCss + '\"' :\n\t\t\t\t\t''\n\t\t\t\t\t) +\n\t\t\t'>' +\n\t\t\t\t'<div class=\"fc-content\">' +\n\t\t\t\t\t(this.isRTL ?\n\t\t\t\t\t\ttitleHtml + ' ' + timeHtml : // put a natural space in between\n\t\t\t\t\t\ttimeHtml + ' ' + titleHtml   //\n\t\t\t\t\t\t) +\n\t\t\t\t'</div>' +\n\t\t\t\t(isResizableFromStart ?\n\t\t\t\t\t'<div class=\"fc-resizer fc-start-resizer\" />' :\n\t\t\t\t\t''\n\t\t\t\t\t) +\n\t\t\t\t(isResizableFromEnd ?\n\t\t\t\t\t'<div class=\"fc-resizer fc-end-resizer\" />' :\n\t\t\t\t\t''\n\t\t\t\t\t) +\n\t\t\t'</a>';\n\t}\n\n});\n\n\n// Computes whether two segments' columns collide. They are assumed to be in the same row.\nfunction isDaySegCollision(seg, otherSegs) {\n\tvar i, otherSeg;\n\n\tfor (i = 0; i < otherSegs.length; i++) {\n\t\totherSeg = otherSegs[i];\n\n\t\tif (\n\t\t\totherSeg.leftCol <= seg.rightCol &&\n\t\t\totherSeg.rightCol >= seg.leftCol\n\t\t) {\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n}\n\n\n// A cmp function for determining the leftmost event\nfunction compareDaySegCols(a, b) {\n\treturn a.leftCol - b.leftCol;\n}\n\n;;\n\nvar DayGridHelperRenderer = HelperRenderer.extend({\n\n\n\t// Renders a mock \"helper\" event. `sourceSeg` is the associated internal segment object. It can be null.\n\trenderSegs: function(segs, sourceSeg) {\n\t\tvar helperNodes = [];\n\t\tvar rowStructs;\n\n\t\t// TODO: not good to call eventRenderer this way\n\t\trowStructs = this.eventRenderer.renderSegRows(segs);\n\n\t\t// inject each new event skeleton into each associated row\n\t\tthis.component.rowEls.each(function(row, rowNode) {\n\t\t\tvar rowEl = $(rowNode); // the .fc-row\n\t\t\tvar skeletonEl = $('<div class=\"fc-helper-skeleton\"><table/></div>'); // will be absolutely positioned\n\t\t\tvar skeletonTopEl;\n\t\t\tvar skeletonTop;\n\n\t\t\t// If there is an original segment, match the top position. Otherwise, put it at the row's top level\n\t\t\tif (sourceSeg && sourceSeg.row === row) {\n\t\t\t\tskeletonTop = sourceSeg.el.position().top;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tskeletonTopEl = rowEl.find('.fc-content-skeleton tbody');\n\t\t\t\tif (!skeletonTopEl.length) { // when no events\n\t\t\t\t\tskeletonTopEl = rowEl.find('.fc-content-skeleton table');\n\t\t\t\t}\n\n\t\t\t\tskeletonTop = skeletonTopEl.position().top;\n\t\t\t}\n\n\t\t\tskeletonEl.css('top', skeletonTop)\n\t\t\t\t.find('table')\n\t\t\t\t\t.append(rowStructs[row].tbodyEl);\n\n\t\t\trowEl.append(skeletonEl);\n\t\t\thelperNodes.push(skeletonEl[0]);\n\t\t});\n\n\t\treturn $(helperNodes); // must return the elements rendered\n\t}\n\n});\n\n;;\n\n/* A component that renders a grid of whole-days that runs horizontally. There can be multiple rows, one per week.\n----------------------------------------------------------------------------------------------------------------------*/\n\nvar DayGrid = FC.DayGrid = InteractiveDateComponent.extend(StandardInteractionsMixin, DayTableMixin, {\n\n\teventRendererClass: DayGridEventRenderer,\n\tbusinessHourRendererClass: BusinessHourRenderer,\n\thelperRendererClass: DayGridHelperRenderer,\n\tfillRendererClass: DayGridFillRenderer,\n\n\tview: null, // TODO: make more general and/or remove\n\thelperRenderer: null,\n\n\tcellWeekNumbersVisible: false, // display week numbers in day cell?\n\n\tbottomCoordPadding: 0, // hack for extending the hit area for the last row of the coordinate grid\n\n\theadContainerEl: null, // div that hold's the date header\n\trowEls: null, // set of fake row elements\n\tcellEls: null, // set of whole-day elements comprising the row's background\n\n\trowCoordCache: null,\n\tcolCoordCache: null,\n\n\t// isRigid determines whether the individual rows should ignore the contents and be a constant height.\n\t// Relies on the view's colCnt and rowCnt. In the future, this component should probably be self-sufficient.\n\tisRigid: false,\n\n\thasAllDayBusinessHours: true,\n\n\n\tconstructor: function(view) {\n\t\tthis.view = view; // do first, for opt calls during initialization\n\n\t\tInteractiveDateComponent.call(this);\n\t},\n\n\n\t// Slices up the given span (unzoned start/end with other misc data) into an array of segments\n\tcomponentFootprintToSegs: function(componentFootprint) {\n\t\tvar segs = this.sliceRangeByRow(componentFootprint.unzonedRange);\n\t\tvar i, seg;\n\n\t\tfor (i = 0; i < segs.length; i++) {\n\t\t\tseg = segs[i];\n\n\t\t\tif (this.isRTL) {\n\t\t\t\tseg.leftCol = this.daysPerRow - 1 - seg.lastRowDayIndex;\n\t\t\t\tseg.rightCol = this.daysPerRow - 1 - seg.firstRowDayIndex;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tseg.leftCol = seg.firstRowDayIndex;\n\t\t\t\tseg.rightCol = seg.lastRowDayIndex;\n\t\t\t}\n\t\t}\n\n\t\treturn segs;\n\t},\n\n\n\t/* Date Rendering\n\t------------------------------------------------------------------------------------------------------------------*/\n\n\n\trenderDates: function(dateProfile) {\n\t\tthis.dateProfile = dateProfile;\n\t\tthis.updateDayTable();\n\t\tthis.renderGrid();\n\t},\n\n\n\tunrenderDates: function() {\n\t\tthis.removeSegPopover();\n\t},\n\n\n\t// Renders the rows and columns into the component's `this.el`, which should already be assigned.\n\trenderGrid: function() {\n\t\tvar view = this.view;\n\t\tvar rowCnt = this.rowCnt;\n\t\tvar colCnt = this.colCnt;\n\t\tvar html = '';\n\t\tvar row;\n\t\tvar col;\n\n\t\tif (this.headContainerEl) {\n\t\t\tthis.headContainerEl.html(this.renderHeadHtml());\n\t\t}\n\n\t\tfor (row = 0; row < rowCnt; row++) {\n\t\t\thtml += this.renderDayRowHtml(row, this.isRigid);\n\t\t}\n\t\tthis.el.html(html);\n\n\t\tthis.rowEls = this.el.find('.fc-row');\n\t\tthis.cellEls = this.el.find('.fc-day, .fc-disabled-day');\n\n\t\tthis.rowCoordCache = new CoordCache({\n\t\t\tels: this.rowEls,\n\t\t\tisVertical: true\n\t\t});\n\t\tthis.colCoordCache = new CoordCache({\n\t\t\tels: this.cellEls.slice(0, this.colCnt), // only the first row\n\t\t\tisHorizontal: true\n\t\t});\n\n\t\t// trigger dayRender with each cell's element\n\t\tfor (row = 0; row < rowCnt; row++) {\n\t\t\tfor (col = 0; col < colCnt; col++) {\n\t\t\t\tthis.publiclyTrigger('dayRender', {\n\t\t\t\t\tcontext: view,\n\t\t\t\t\targs: [\n\t\t\t\t\t\tthis.getCellDate(row, col),\n\t\t\t\t\t\tthis.getCellEl(row, col),\n\t\t\t\t\t\tview\n\t\t\t\t\t]\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t},\n\n\n\t// Generates the HTML for a single row, which is a div that wraps a table.\n\t// `row` is the row number.\n\trenderDayRowHtml: function(row, isRigid) {\n\t\tvar theme = this.view.calendar.theme;\n\t\tvar classes = [ 'fc-row', 'fc-week', theme.getClass('dayRow') ];\n\n\t\tif (isRigid) {\n\t\t\tclasses.push('fc-rigid');\n\t\t}\n\n\t\treturn '' +\n\t\t\t'<div class=\"' + classes.join(' ') + '\">' +\n\t\t\t\t'<div class=\"fc-bg\">' +\n\t\t\t\t\t'<table class=\"' + theme.getClass('tableGrid') + '\">' +\n\t\t\t\t\t\tthis.renderBgTrHtml(row) +\n\t\t\t\t\t'</table>' +\n\t\t\t\t'</div>' +\n\t\t\t\t'<div class=\"fc-content-skeleton\">' +\n\t\t\t\t\t'<table>' +\n\t\t\t\t\t\t(this.getIsNumbersVisible() ?\n\t\t\t\t\t\t\t'<thead>' +\n\t\t\t\t\t\t\t\tthis.renderNumberTrHtml(row) +\n\t\t\t\t\t\t\t'</thead>' :\n\t\t\t\t\t\t\t''\n\t\t\t\t\t\t\t) +\n\t\t\t\t\t'</table>' +\n\t\t\t\t'</div>' +\n\t\t\t'</div>';\n\t},\n\n\n\tgetIsNumbersVisible: function() {\n\t\treturn this.getIsDayNumbersVisible() || this.cellWeekNumbersVisible;\n\t},\n\n\n\tgetIsDayNumbersVisible: function() {\n\t\treturn this.rowCnt > 1;\n\t},\n\n\n\t/* Grid Number Rendering\n\t------------------------------------------------------------------------------------------------------------------*/\n\n\n\trenderNumberTrHtml: function(row) {\n\t\treturn '' +\n\t\t\t'<tr>' +\n\t\t\t\t(this.isRTL ? '' : this.renderNumberIntroHtml(row)) +\n\t\t\t\tthis.renderNumberCellsHtml(row) +\n\t\t\t\t(this.isRTL ? this.renderNumberIntroHtml(row) : '') +\n\t\t\t'</tr>';\n\t},\n\n\n\trenderNumberIntroHtml: function(row) {\n\t\treturn this.renderIntroHtml();\n\t},\n\n\n\trenderNumberCellsHtml: function(row) {\n\t\tvar htmls = [];\n\t\tvar col, date;\n\n\t\tfor (col = 0; col < this.colCnt; col++) {\n\t\t\tdate = this.getCellDate(row, col);\n\t\t\thtmls.push(this.renderNumberCellHtml(date));\n\t\t}\n\n\t\treturn htmls.join('');\n\t},\n\n\n\t// Generates the HTML for the <td>s of the \"number\" row in the DayGrid's content skeleton.\n\t// The number row will only exist if either day numbers or week numbers are turned on.\n\trenderNumberCellHtml: function(date) {\n\t\tvar view = this.view;\n\t\tvar html = '';\n\t\tvar isDateValid = this.dateProfile.activeUnzonedRange.containsDate(date); // TODO: called too frequently. cache somehow.\n\t\tvar isDayNumberVisible = this.getIsDayNumbersVisible() && isDateValid;\n\t\tvar classes;\n\t\tvar weekCalcFirstDoW;\n\n\t\tif (!isDayNumberVisible && !this.cellWeekNumbersVisible) {\n\t\t\t// no numbers in day cell (week number must be along the side)\n\t\t\treturn '<td/>'; //  will create an empty space above events :(\n\t\t}\n\n\t\tclasses = this.getDayClasses(date);\n\t\tclasses.unshift('fc-day-top');\n\n\t\tif (this.cellWeekNumbersVisible) {\n\t\t\t// To determine the day of week number change under ISO, we cannot\n\t\t\t// rely on moment.js methods such as firstDayOfWeek() or weekday(),\n\t\t\t// because they rely on the locale's dow (possibly overridden by\n\t\t\t// our firstDay option), which may not be Monday. We cannot change\n\t\t\t// dow, because that would affect the calendar start day as well.\n\t\t\tif (date._locale._fullCalendar_weekCalc === 'ISO') {\n\t\t\t\tweekCalcFirstDoW = 1;  // Monday by ISO 8601 definition\n\t\t\t}\n\t\t\telse {\n\t\t\t\tweekCalcFirstDoW = date._locale.firstDayOfWeek();\n\t\t\t}\n\t\t}\n\n\t\thtml += '<td class=\"' + classes.join(' ') + '\"' +\n\t\t\t(isDateValid ?\n\t\t\t\t' data-date=\"' + date.format() + '\"' :\n\t\t\t\t''\n\t\t\t\t) +\n\t\t\t'>';\n\n\t\tif (this.cellWeekNumbersVisible && (date.day() == weekCalcFirstDoW)) {\n\t\t\thtml += view.buildGotoAnchorHtml(\n\t\t\t\t{ date: date, type: 'week' },\n\t\t\t\t{ 'class': 'fc-week-number' },\n\t\t\t\tdate.format('w') // inner HTML\n\t\t\t);\n\t\t}\n\n\t\tif (isDayNumberVisible) {\n\t\t\thtml += view.buildGotoAnchorHtml(\n\t\t\t\tdate,\n\t\t\t\t{ 'class': 'fc-day-number' },\n\t\t\t\tdate.date() // inner HTML\n\t\t\t);\n\t\t}\n\n\t\thtml += '</td>';\n\n\t\treturn html;\n\t},\n\n\n\t/* Hit System\n\t------------------------------------------------------------------------------------------------------------------*/\n\n\n\tprepareHits: function() {\n\t\tthis.colCoordCache.build();\n\t\tthis.rowCoordCache.build();\n\t\tthis.rowCoordCache.bottoms[this.rowCnt - 1] += this.bottomCoordPadding; // hack\n\t},\n\n\n\treleaseHits: function() {\n\t\tthis.colCoordCache.clear();\n\t\tthis.rowCoordCache.clear();\n\t},\n\n\n\tqueryHit: function(leftOffset, topOffset) {\n\t\tif (this.colCoordCache.isLeftInBounds(leftOffset) && this.rowCoordCache.isTopInBounds(topOffset)) {\n\t\t\tvar col = this.colCoordCache.getHorizontalIndex(leftOffset);\n\t\t\tvar row = this.rowCoordCache.getVerticalIndex(topOffset);\n\n\t\t\tif (row != null && col != null) {\n\t\t\t\treturn this.getCellHit(row, col);\n\t\t\t}\n\t\t}\n\t},\n\n\n\tgetHitFootprint: function(hit) {\n\t\tvar range = this.getCellRange(hit.row, hit.col);\n\n\t\treturn new ComponentFootprint(\n\t\t\tnew UnzonedRange(range.start, range.end),\n\t\t\ttrue // all-day?\n\t\t);\n\t},\n\n\n\tgetHitEl: function(hit) {\n\t\treturn this.getCellEl(hit.row, hit.col);\n\t},\n\n\n\t/* Cell System\n\t------------------------------------------------------------------------------------------------------------------*/\n\t// FYI: the first column is the leftmost column, regardless of date\n\n\n\tgetCellHit: function(row, col) {\n\t\treturn {\n\t\t\trow: row,\n\t\t\tcol: col,\n\t\t\tcomponent: this, // needed unfortunately :(\n\t\t\tleft: this.colCoordCache.getLeftOffset(col),\n\t\t\tright: this.colCoordCache.getRightOffset(col),\n\t\t\ttop: this.rowCoordCache.getTopOffset(row),\n\t\t\tbottom: this.rowCoordCache.getBottomOffset(row)\n\t\t};\n\t},\n\n\n\tgetCellEl: function(row, col) {\n\t\treturn this.cellEls.eq(row * this.colCnt + col);\n\t},\n\n\n\t/* Event Rendering\n\t------------------------------------------------------------------------------------------------------------------*/\n\n\n\t// Unrenders all events currently rendered on the grid\n\tunrenderEvents: function() {\n\t\tthis.removeSegPopover(); // removes the \"more..\" events popover\n\n\t\tInteractiveDateComponent.prototype.unrenderEvents.apply(this, arguments);\n\t},\n\n\n\t// Retrieves all rendered segment objects currently rendered on the grid\n\tgetOwnEventSegs: function() {\n\t\treturn InteractiveDateComponent.prototype.getOwnEventSegs.apply(this, arguments) // get the segments from the super-method\n\t\t\t.concat(this.popoverSegs || []); // append the segments from the \"more...\" popover\n\t},\n\n\n\t/* Event Drag Visualization\n\t------------------------------------------------------------------------------------------------------------------*/\n\n\n\t// Renders a visual indication of an event or external element being dragged.\n\t// `eventLocation` has zoned start and end (optional)\n\trenderDrag: function(eventFootprints, seg, isTouch) {\n\t\tvar i;\n\n\t\tfor (i = 0; i < eventFootprints.length; i++) {\n\t\t\tthis.renderHighlight(eventFootprints[i].componentFootprint);\n\t\t}\n\n\t\t// render drags from OTHER components as helpers\n\t\tif (eventFootprints.length && seg && seg.component !== this) {\n\t\t\tthis.helperRenderer.renderEventDraggingFootprints(eventFootprints, seg, isTouch);\n\n\t\t\treturn true; // signal helpers rendered\n\t\t}\n\t},\n\n\n\t// Unrenders any visual indication of a hovering event\n\tunrenderDrag: function(seg) {\n\t\tthis.unrenderHighlight();\n\t\tthis.helperRenderer.unrender();\n\t},\n\n\n\t/* Event Resize Visualization\n\t------------------------------------------------------------------------------------------------------------------*/\n\n\n\t// Renders a visual indication of an event being resized\n\trenderEventResize: function(eventFootprints, seg, isTouch) {\n\t\tvar i;\n\n\t\tfor (i = 0; i < eventFootprints.length; i++) {\n\t\t\tthis.renderHighlight(eventFootprints[i].componentFootprint);\n\t\t}\n\n\t\tthis.helperRenderer.renderEventResizingFootprints(eventFootprints, seg, isTouch);\n\t},\n\n\n\t// Unrenders a visual indication of an event being resized\n\tunrenderEventResize: function(seg) {\n\t\tthis.unrenderHighlight();\n\t\tthis.helperRenderer.unrender();\n\t}\n\n});\n\n;;\n\n/* Methods relate to limiting the number events for a given day on a DayGrid\n----------------------------------------------------------------------------------------------------------------------*/\n// NOTE: all the segs being passed around in here are foreground segs\n\nDayGrid.mixin({\n\n\tsegPopover: null, // the Popover that holds events that can't fit in a cell. null when not visible\n\tpopoverSegs: null, // an array of segment objects that the segPopover holds. null when not visible\n\n\n\tremoveSegPopover: function() {\n\t\tif (this.segPopover) {\n\t\t\tthis.segPopover.hide(); // in handler, will call segPopover's removeElement\n\t\t}\n\t},\n\n\n\t// Limits the number of \"levels\" (vertically stacking layers of events) for each row of the grid.\n\t// `levelLimit` can be false (don't limit), a number, or true (should be computed).\n\tlimitRows: function(levelLimit) {\n\t\tvar rowStructs = this.eventRenderer.rowStructs || [];\n\t\tvar row; // row #\n\t\tvar rowLevelLimit;\n\n\t\tfor (row = 0; row < rowStructs.length; row++) {\n\t\t\tthis.unlimitRow(row);\n\n\t\t\tif (!levelLimit) {\n\t\t\t\trowLevelLimit = false;\n\t\t\t}\n\t\t\telse if (typeof levelLimit === 'number') {\n\t\t\t\trowLevelLimit = levelLimit;\n\t\t\t}\n\t\t\telse {\n\t\t\t\trowLevelLimit = this.computeRowLevelLimit(row);\n\t\t\t}\n\n\t\t\tif (rowLevelLimit !== false) {\n\t\t\t\tthis.limitRow(row, rowLevelLimit);\n\t\t\t}\n\t\t}\n\t},\n\n\n\t// Computes the number of levels a row will accomodate without going outside its bounds.\n\t// Assumes the row is \"rigid\" (maintains a constant height regardless of what is inside).\n\t// `row` is the row number.\n\tcomputeRowLevelLimit: function(row) {\n\t\tvar rowEl = this.rowEls.eq(row); // the containing \"fake\" row div\n\t\tvar rowHeight = rowEl.height(); // TODO: cache somehow?\n\t\tvar trEls = this.eventRenderer.rowStructs[row].tbodyEl.children();\n\t\tvar i, trEl;\n\t\tvar trHeight;\n\n\t\tfunction iterInnerHeights(i, childNode) {\n\t\t\ttrHeight = Math.max(trHeight, $(childNode).outerHeight());\n\t\t}\n\n\t\t// Reveal one level <tr> at a time and stop when we find one out of bounds\n\t\tfor (i = 0; i < trEls.length; i++) {\n\t\t\ttrEl = trEls.eq(i).removeClass('fc-limited'); // reset to original state (reveal)\n\n\t\t\t// with rowspans>1 and IE8, trEl.outerHeight() would return the height of the largest cell,\n\t\t\t// so instead, find the tallest inner content element.\n\t\t\ttrHeight = 0;\n\t\t\ttrEl.find('> td > :first-child').each(iterInnerHeights);\n\n\t\t\tif (trEl.position().top + trHeight > rowHeight) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\n\t\treturn false; // should not limit at all\n\t},\n\n\n\t// Limits the given grid row to the maximum number of levels and injects \"more\" links if necessary.\n\t// `row` is the row number.\n\t// `levelLimit` is a number for the maximum (inclusive) number of levels allowed.\n\tlimitRow: function(row, levelLimit) {\n\t\tvar _this = this;\n\t\tvar rowStruct = this.eventRenderer.rowStructs[row];\n\t\tvar moreNodes = []; // array of \"more\" <a> links and <td> DOM nodes\n\t\tvar col = 0; // col #, left-to-right (not chronologically)\n\t\tvar levelSegs; // array of segment objects in the last allowable level, ordered left-to-right\n\t\tvar cellMatrix; // a matrix (by level, then column) of all <td> jQuery elements in the row\n\t\tvar limitedNodes; // array of temporarily hidden level <tr> and segment <td> DOM nodes\n\t\tvar i, seg;\n\t\tvar segsBelow; // array of segment objects below `seg` in the current `col`\n\t\tvar totalSegsBelow; // total number of segments below `seg` in any of the columns `seg` occupies\n\t\tvar colSegsBelow; // array of segment arrays, below seg, one for each column (offset from segs's first column)\n\t\tvar td, rowspan;\n\t\tvar segMoreNodes; // array of \"more\" <td> cells that will stand-in for the current seg's cell\n\t\tvar j;\n\t\tvar moreTd, moreWrap, moreLink;\n\n\t\t// Iterates through empty level cells and places \"more\" links inside if need be\n\t\tfunction emptyCellsUntil(endCol) { // goes from current `col` to `endCol`\n\t\t\twhile (col < endCol) {\n\t\t\t\tsegsBelow = _this.getCellSegs(row, col, levelLimit);\n\t\t\t\tif (segsBelow.length) {\n\t\t\t\t\ttd = cellMatrix[levelLimit - 1][col];\n\t\t\t\t\tmoreLink = _this.renderMoreLink(row, col, segsBelow);\n\t\t\t\t\tmoreWrap = $('<div/>').append(moreLink);\n\t\t\t\t\ttd.append(moreWrap);\n\t\t\t\t\tmoreNodes.push(moreWrap[0]);\n\t\t\t\t}\n\t\t\t\tcol++;\n\t\t\t}\n\t\t}\n\n\t\tif (levelLimit && levelLimit < rowStruct.segLevels.length) { // is it actually over the limit?\n\t\t\tlevelSegs = rowStruct.segLevels[levelLimit - 1];\n\t\t\tcellMatrix = rowStruct.cellMatrix;\n\n\t\t\tlimitedNodes = rowStruct.tbodyEl.children().slice(levelLimit) // get level <tr> elements past the limit\n\t\t\t\t.addClass('fc-limited').get(); // hide elements and get a simple DOM-nodes array\n\n\t\t\t// iterate though segments in the last allowable level\n\t\t\tfor (i = 0; i < levelSegs.length; i++) {\n\t\t\t\tseg = levelSegs[i];\n\t\t\t\temptyCellsUntil(seg.leftCol); // process empty cells before the segment\n\n\t\t\t\t// determine *all* segments below `seg` that occupy the same columns\n\t\t\t\tcolSegsBelow = [];\n\t\t\t\ttotalSegsBelow = 0;\n\t\t\t\twhile (col <= seg.rightCol) {\n\t\t\t\t\tsegsBelow = this.getCellSegs(row, col, levelLimit);\n\t\t\t\t\tcolSegsBelow.push(segsBelow);\n\t\t\t\t\ttotalSegsBelow += segsBelow.length;\n\t\t\t\t\tcol++;\n\t\t\t\t}\n\n\t\t\t\tif (totalSegsBelow) { // do we need to replace this segment with one or many \"more\" links?\n\t\t\t\t\ttd = cellMatrix[levelLimit - 1][seg.leftCol]; // the segment's parent cell\n\t\t\t\t\trowspan = td.attr('rowspan') || 1;\n\t\t\t\t\tsegMoreNodes = [];\n\n\t\t\t\t\t// make a replacement <td> for each column the segment occupies. will be one for each colspan\n\t\t\t\t\tfor (j = 0; j < colSegsBelow.length; j++) {\n\t\t\t\t\t\tmoreTd = $('<td class=\"fc-more-cell\"/>').attr('rowspan', rowspan);\n\t\t\t\t\t\tsegsBelow = colSegsBelow[j];\n\t\t\t\t\t\tmoreLink = this.renderMoreLink(\n\t\t\t\t\t\t\trow,\n\t\t\t\t\t\t\tseg.leftCol + j,\n\t\t\t\t\t\t\t[ seg ].concat(segsBelow) // count seg as hidden too\n\t\t\t\t\t\t);\n\t\t\t\t\t\tmoreWrap = $('<div/>').append(moreLink);\n\t\t\t\t\t\tmoreTd.append(moreWrap);\n\t\t\t\t\t\tsegMoreNodes.push(moreTd[0]);\n\t\t\t\t\t\tmoreNodes.push(moreTd[0]);\n\t\t\t\t\t}\n\n\t\t\t\t\ttd.addClass('fc-limited').after($(segMoreNodes)); // hide original <td> and inject replacements\n\t\t\t\t\tlimitedNodes.push(td[0]);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\temptyCellsUntil(this.colCnt); // finish off the level\n\t\t\trowStruct.moreEls = $(moreNodes); // for easy undoing later\n\t\t\trowStruct.limitedEls = $(limitedNodes); // for easy undoing later\n\t\t}\n\t},\n\n\n\t// Reveals all levels and removes all \"more\"-related elements for a grid's row.\n\t// `row` is a row number.\n\tunlimitRow: function(row) {\n\t\tvar rowStruct = this.eventRenderer.rowStructs[row];\n\n\t\tif (rowStruct.moreEls) {\n\t\t\trowStruct.moreEls.remove();\n\t\t\trowStruct.moreEls = null;\n\t\t}\n\n\t\tif (rowStruct.limitedEls) {\n\t\t\trowStruct.limitedEls.removeClass('fc-limited');\n\t\t\trowStruct.limitedEls = null;\n\t\t}\n\t},\n\n\n\t// Renders an <a> element that represents hidden event element for a cell.\n\t// Responsible for attaching click handler as well.\n\trenderMoreLink: function(row, col, hiddenSegs) {\n\t\tvar _this = this;\n\t\tvar view = this.view;\n\n\t\treturn $('<a class=\"fc-more\"/>')\n\t\t\t.text(\n\t\t\t\tthis.getMoreLinkText(hiddenSegs.length)\n\t\t\t)\n\t\t\t.on('click', function(ev) {\n\t\t\t\tvar clickOption = _this.opt('eventLimitClick');\n\t\t\t\tvar date = _this.getCellDate(row, col);\n\t\t\t\tvar moreEl = $(this);\n\t\t\t\tvar dayEl = _this.getCellEl(row, col);\n\t\t\t\tvar allSegs = _this.getCellSegs(row, col);\n\n\t\t\t\t// rescope the segments to be within the cell's date\n\t\t\t\tvar reslicedAllSegs = _this.resliceDaySegs(allSegs, date);\n\t\t\t\tvar reslicedHiddenSegs = _this.resliceDaySegs(hiddenSegs, date);\n\n\t\t\t\tif (typeof clickOption === 'function') {\n\t\t\t\t\t// the returned value can be an atomic option\n\t\t\t\t\tclickOption = _this.publiclyTrigger('eventLimitClick', {\n\t\t\t\t\t\tcontext: view,\n\t\t\t\t\t\targs: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tdate: date.clone(),\n\t\t\t\t\t\t\t\tdayEl: dayEl,\n\t\t\t\t\t\t\t\tmoreEl: moreEl,\n\t\t\t\t\t\t\t\tsegs: reslicedAllSegs,\n\t\t\t\t\t\t\t\thiddenSegs: reslicedHiddenSegs\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tev,\n\t\t\t\t\t\t\tview\n\t\t\t\t\t\t]\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tif (clickOption === 'popover') {\n\t\t\t\t\t_this.showSegPopover(row, col, moreEl, reslicedAllSegs);\n\t\t\t\t}\n\t\t\t\telse if (typeof clickOption === 'string') { // a view name\n\t\t\t\t\tview.calendar.zoomTo(date, clickOption);\n\t\t\t\t}\n\t\t\t});\n\t},\n\n\n\t// Reveals the popover that displays all events within a cell\n\tshowSegPopover: function(row, col, moreLink, segs) {\n\t\tvar _this = this;\n\t\tvar view = this.view;\n\t\tvar moreWrap = moreLink.parent(); // the <div> wrapper around the <a>\n\t\tvar topEl; // the element we want to match the top coordinate of\n\t\tvar options;\n\n\t\tif (this.rowCnt == 1) {\n\t\t\ttopEl = view.el; // will cause the popover to cover any sort of header\n\t\t}\n\t\telse {\n\t\t\ttopEl = this.rowEls.eq(row); // will align with top of row\n\t\t}\n\n\t\toptions = {\n\t\t\tclassName: 'fc-more-popover ' + view.calendar.theme.getClass('popover'),\n\t\t\tcontent: this.renderSegPopoverContent(row, col, segs),\n\t\t\tparentEl: view.el, // attach to root of view. guarantees outside of scrollbars.\n\t\t\ttop: topEl.offset().top,\n\t\t\tautoHide: true, // when the user clicks elsewhere, hide the popover\n\t\t\tviewportConstrain: this.opt('popoverViewportConstrain'),\n\t\t\thide: function() {\n\t\t\t\t// kill everything when the popover is hidden\n\t\t\t\t// notify events to be removed\n\t\t\t\tif (_this.popoverSegs) {\n\t\t\t\t\t_this.triggerBeforeEventSegsDestroyed(_this.popoverSegs);\n\t\t\t\t}\n\t\t\t\t_this.segPopover.removeElement();\n\t\t\t\t_this.segPopover = null;\n\t\t\t\t_this.popoverSegs = null;\n\t\t\t}\n\t\t};\n\n\t\t// Determine horizontal coordinate.\n\t\t// We use the moreWrap instead of the <td> to avoid border confusion.\n\t\tif (this.isRTL) {\n\t\t\toptions.right = moreWrap.offset().left + moreWrap.outerWidth() + 1; // +1 to be over cell border\n\t\t}\n\t\telse {\n\t\t\toptions.left = moreWrap.offset().left - 1; // -1 to be over cell border\n\t\t}\n\n\t\tthis.segPopover = new Popover(options);\n\t\tthis.segPopover.show();\n\n\t\t// the popover doesn't live within the grid's container element, and thus won't get the event\n\t\t// delegated-handlers for free. attach event-related handlers to the popover.\n\t\tthis.bindAllSegHandlersToEl(this.segPopover.el);\n\n\t\tthis.triggerAfterEventSegsRendered(segs);\n\t},\n\n\n\t// Builds the inner DOM contents of the segment popover\n\trenderSegPopoverContent: function(row, col, segs) {\n\t\tvar view = this.view;\n\t\tvar theme = view.calendar.theme;\n\t\tvar title = this.getCellDate(row, col).format(this.opt('dayPopoverFormat'));\n\t\tvar content = $(\n\t\t\t'<div class=\"fc-header ' + theme.getClass('popoverHeader') + '\">' +\n\t\t\t\t'<span class=\"fc-close ' + theme.getIconClass('close') + '\"></span>' +\n\t\t\t\t'<span class=\"fc-title\">' +\n\t\t\t\t\thtmlEscape(title) +\n\t\t\t\t'</span>' +\n\t\t\t\t'<div class=\"fc-clear\"/>' +\n\t\t\t'</div>' +\n\t\t\t'<div class=\"fc-body ' + theme.getClass('popoverContent') + '\">' +\n\t\t\t\t'<div class=\"fc-event-container\"></div>' +\n\t\t\t'</div>'\n\t\t);\n\t\tvar segContainer = content.find('.fc-event-container');\n\t\tvar i;\n\n\t\t// render each seg's `el` and only return the visible segs\n\t\tsegs = this.eventRenderer.renderFgSegEls(segs, true); // disableResizing=true\n\t\tthis.popoverSegs = segs;\n\n\t\tfor (i = 0; i < segs.length; i++) {\n\n\t\t\t// because segments in the popover are not part of a grid coordinate system, provide a hint to any\n\t\t\t// grids that want to do drag-n-drop about which cell it came from\n\t\t\tthis.hitsNeeded();\n\t\t\tsegs[i].hit = this.getCellHit(row, col);\n\t\t\tthis.hitsNotNeeded();\n\n\t\t\tsegContainer.append(segs[i].el);\n\t\t}\n\n\t\treturn content;\n\t},\n\n\n\t// Given the events within an array of segment objects, reslice them to be in a single day\n\tresliceDaySegs: function(segs, dayDate) {\n\t\tvar dayStart = dayDate.clone();\n\t\tvar dayEnd = dayStart.clone().add(1, 'days');\n\t\tvar dayRange = new UnzonedRange(dayStart, dayEnd);\n\t\tvar newSegs = [];\n\t\tvar i, seg;\n\t\tvar slicedRange;\n\n\t\tfor (i = 0; i < segs.length; i++) {\n\t\t\tseg = segs[i];\n\t\t\tslicedRange = seg.footprint.componentFootprint.unzonedRange.intersect(dayRange);\n\n\t\t\tif (slicedRange) {\n\t\t\t\tnewSegs.push(\n\t\t\t\t\t$.extend({}, seg, {\n\t\t\t\t\t\tfootprint: new EventFootprint(\n\t\t\t\t\t\t\tnew ComponentFootprint(\n\t\t\t\t\t\t\t\tslicedRange,\n\t\t\t\t\t\t\t\tseg.footprint.componentFootprint.isAllDay\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tseg.footprint.eventDef,\n\t\t\t\t\t\t\tseg.footprint.eventInstance\n\t\t\t\t\t\t),\n\t\t\t\t\t\tisStart: seg.isStart && slicedRange.isStart,\n\t\t\t\t\t\tisEnd: seg.isEnd && slicedRange.isEnd\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\t// force an order because eventsToSegs doesn't guarantee one\n\t\t// TODO: research if still needed\n\t\tthis.eventRenderer.sortEventSegs(newSegs);\n\n\t\treturn newSegs;\n\t},\n\n\n\t// Generates the text that should be inside a \"more\" link, given the number of events it represents\n\tgetMoreLinkText: function(num) {\n\t\tvar opt = this.opt('eventLimitText');\n\n\t\tif (typeof opt === 'function') {\n\t\t\treturn opt(num);\n\t\t}\n\t\telse {\n\t\t\treturn '+' + num + ' ' + opt;\n\t\t}\n\t},\n\n\n\t// Returns segments within a given cell.\n\t// If `startLevel` is specified, returns only events including and below that level. Otherwise returns all segs.\n\tgetCellSegs: function(row, col, startLevel) {\n\t\tvar segMatrix = this.eventRenderer.rowStructs[row].segMatrix;\n\t\tvar level = startLevel || 0;\n\t\tvar segs = [];\n\t\tvar seg;\n\n\t\twhile (level < segMatrix.length) {\n\t\t\tseg = segMatrix[level][col];\n\t\t\tif (seg) {\n\t\t\t\tsegs.push(seg);\n\t\t\t}\n\t\t\tlevel++;\n\t\t}\n\n\t\treturn segs;\n\t}\n\n});\n\n;;\n\n/* An abstract class for the \"basic\" views, as well as month view. Renders one or more rows of day cells.\n----------------------------------------------------------------------------------------------------------------------*/\n// It is a manager for a DayGrid subcomponent, which does most of the heavy lifting.\n// It is responsible for managing width/height.\n\nvar BasicView = FC.BasicView = View.extend({\n\n\tscroller: null,\n\n\tdayGridClass: DayGrid, // class the dayGrid will be instantiated from (overridable by subclasses)\n\tdayGrid: null, // the main subcomponent that does most of the heavy lifting\n\n\tweekNumberWidth: null, // width of all the week-number cells running down the side\n\n\n\tconstructor: function() {\n\t\tView.apply(this, arguments);\n\n\t\tthis.dayGrid = this.instantiateDayGrid();\n\t\tthis.dayGrid.isRigid = this.hasRigidRows();\n\n\t\tif (this.opt('weekNumbers')) {\n\t\t\tif (this.opt('weekNumbersWithinDays')) {\n\t\t\t\tthis.dayGrid.cellWeekNumbersVisible = true;\n\t\t\t\tthis.dayGrid.colWeekNumbersVisible = false;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.dayGrid.cellWeekNumbersVisible = false;\n\t\t\t\tthis.dayGrid.colWeekNumbersVisible = true;\n\t\t\t};\n\t\t}\n\n\t\tthis.addChild(this.dayGrid);\n\n\t\tthis.scroller = new Scroller({\n\t\t\toverflowX: 'hidden',\n\t\t\toverflowY: 'auto'\n\t\t});\n\t},\n\n\n\t// Generates the DayGrid object this view needs. Draws from this.dayGridClass\n\tinstantiateDayGrid: function() {\n\t\t// generate a subclass on the fly with BasicView-specific behavior\n\t\t// TODO: cache this subclass\n\t\tvar subclass = this.dayGridClass.extend(basicDayGridMethods);\n\n\t\treturn new subclass(this);\n\t},\n\n\n\t// Computes the date range that will be rendered.\n\tbuildRenderRange: function(currentUnzonedRange, currentRangeUnit, isRangeAllDay) {\n\t\tvar renderUnzonedRange = View.prototype.buildRenderRange.apply(this, arguments); // an UnzonedRange\n\t\tvar start = this.calendar.msToUtcMoment(renderUnzonedRange.startMs, isRangeAllDay);\n\t\tvar end = this.calendar.msToUtcMoment(renderUnzonedRange.endMs, isRangeAllDay);\n\n\t\t// year and month views should be aligned with weeks. this is already done for week\n\t\tif (/^(year|month)$/.test(currentRangeUnit)) {\n\t\t\tstart.startOf('week');\n\n\t\t\t// make end-of-week if not already\n\t\t\tif (end.weekday()) {\n\t\t\t\tend.add(1, 'week').startOf('week'); // exclusively move backwards\n\t\t\t}\n\t\t}\n\n\t\treturn new UnzonedRange(start, end);\n\t},\n\n\n\texecuteDateRender: function(dateProfile) {\n\t\tthis.dayGrid.breakOnWeeks = /year|month|week/.test(dateProfile.currentRangeUnit);\n\n\t\tView.prototype.executeDateRender.apply(this, arguments);\n\t},\n\n\n\trenderSkeleton: function() {\n\t\tvar dayGridContainerEl;\n\t\tvar dayGridEl;\n\n\t\tthis.el.addClass('fc-basic-view').html(this.renderSkeletonHtml());\n\n\t\tthis.scroller.render();\n\n\t\tdayGridContainerEl = this.scroller.el.addClass('fc-day-grid-container');\n\t\tdayGridEl = $('<div class=\"fc-day-grid\" />').appendTo(dayGridContainerEl);\n\n\t\tthis.el.find('.fc-body > tr > td').append(dayGridContainerEl);\n\n\t\tthis.dayGrid.headContainerEl = this.el.find('.fc-head-container');\n\t\tthis.dayGrid.setElement(dayGridEl);\n\t},\n\n\n\tunrenderSkeleton: function() {\n\t\tthis.dayGrid.removeElement();\n\t\tthis.scroller.destroy();\n\t},\n\n\n\t// Builds the HTML skeleton for the view.\n\t// The day-grid component will render inside of a container defined by this HTML.\n\trenderSkeletonHtml: function() {\n\t\tvar theme = this.calendar.theme;\n\n\t\treturn '' +\n\t\t\t'<table class=\"' + theme.getClass('tableGrid') + '\">' +\n\t\t\t\t(this.opt('columnHeader') ?\n\t\t\t\t\t'<thead class=\"fc-head\">' +\n\t\t\t\t\t\t'<tr>' +\n\t\t\t\t\t\t\t'<td class=\"fc-head-container ' + theme.getClass('widgetHeader') + '\">&nbsp;</td>' +\n\t\t\t\t\t\t'</tr>' +\n\t\t\t\t\t'</thead>' :\n\t\t\t\t\t''\n\t\t\t\t\t) +\n\t\t\t\t'<tbody class=\"fc-body\">' +\n\t\t\t\t\t'<tr>' +\n\t\t\t\t\t\t'<td class=\"' + theme.getClass('widgetContent') + '\"></td>' +\n\t\t\t\t\t'</tr>' +\n\t\t\t\t'</tbody>' +\n\t\t\t'</table>';\n\t},\n\n\n\t// Generates an HTML attribute string for setting the width of the week number column, if it is known\n\tweekNumberStyleAttr: function() {\n\t\tif (this.weekNumberWidth !== null) {\n\t\t\treturn 'style=\"width:' + this.weekNumberWidth + 'px\"';\n\t\t}\n\t\treturn '';\n\t},\n\n\n\t// Determines whether each row should have a constant height\n\thasRigidRows: function() {\n\t\tvar eventLimit = this.opt('eventLimit');\n\n\t\treturn eventLimit && typeof eventLimit !== 'number';\n\t},\n\n\n\t/* Dimensions\n\t------------------------------------------------------------------------------------------------------------------*/\n\n\n\t// Refreshes the horizontal dimensions of the view\n\tupdateSize: function(totalHeight, isAuto, isResize) {\n\t\tvar eventLimit = this.opt('eventLimit');\n\t\tvar headRowEl = this.dayGrid.headContainerEl.find('.fc-row');\n\t\tvar scrollerHeight;\n\t\tvar scrollbarWidths;\n\n\t\t// hack to give the view some height prior to dayGrid's columns being rendered\n\t\t// TODO: separate setting height from scroller VS dayGrid.\n\t\tif (!this.dayGrid.rowEls) {\n\t\t\tif (!isAuto) {\n\t\t\t\tscrollerHeight = this.computeScrollerHeight(totalHeight);\n\t\t\t\tthis.scroller.setHeight(scrollerHeight);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tView.prototype.updateSize.apply(this, arguments);\n\n\t\tif (this.dayGrid.colWeekNumbersVisible) {\n\t\t\t// Make sure all week number cells running down the side have the same width.\n\t\t\t// Record the width for cells created later.\n\t\t\tthis.weekNumberWidth = matchCellWidths(\n\t\t\t\tthis.el.find('.fc-week-number')\n\t\t\t);\n\t\t}\n\n\t\t// reset all heights to be natural\n\t\tthis.scroller.clear();\n\t\tuncompensateScroll(headRowEl);\n\n\t\tthis.dayGrid.removeSegPopover(); // kill the \"more\" popover if displayed\n\n\t\t// is the event limit a constant level number?\n\t\tif (eventLimit && typeof eventLimit === 'number') {\n\t\t\tthis.dayGrid.limitRows(eventLimit); // limit the levels first so the height can redistribute after\n\t\t}\n\n\t\t// distribute the height to the rows\n\t\t// (totalHeight is a \"recommended\" value if isAuto)\n\t\tscrollerHeight = this.computeScrollerHeight(totalHeight);\n\t\tthis.setGridHeight(scrollerHeight, isAuto);\n\n\t\t// is the event limit dynamically calculated?\n\t\tif (eventLimit && typeof eventLimit !== 'number') {\n\t\t\tthis.dayGrid.limitRows(eventLimit); // limit the levels after the grid's row heights have been set\n\t\t}\n\n\t\tif (!isAuto) { // should we force dimensions of the scroll container?\n\n\t\t\tthis.scroller.setHeight(scrollerHeight);\n\t\t\tscrollbarWidths = this.scroller.getScrollbarWidths();\n\n\t\t\tif (scrollbarWidths.left || scrollbarWidths.right) { // using scrollbars?\n\n\t\t\t\tcompensateScroll(headRowEl, scrollbarWidths);\n\n\t\t\t\t// doing the scrollbar compensation might have created text overflow which created more height. redo\n\t\t\t\tscrollerHeight = this.computeScrollerHeight(totalHeight);\n\t\t\t\tthis.scroller.setHeight(scrollerHeight);\n\t\t\t}\n\n\t\t\t// guarantees the same scrollbar widths\n\t\t\tthis.scroller.lockOverflow(scrollbarWidths);\n\t\t}\n\t},\n\n\n\t// given a desired total height of the view, returns what the height of the scroller should be\n\tcomputeScrollerHeight: function(totalHeight) {\n\t\treturn totalHeight -\n\t\t\tsubtractInnerElHeight(this.el, this.scroller.el); // everything that's NOT the scroller\n\t},\n\n\n\t// Sets the height of just the DayGrid component in this view\n\tsetGridHeight: function(height, isAuto) {\n\t\tif (isAuto) {\n\t\t\tundistributeHeight(this.dayGrid.rowEls); // let the rows be their natural height with no expanding\n\t\t}\n\t\telse {\n\t\t\tdistributeHeight(this.dayGrid.rowEls, height, true); // true = compensate for height-hogging rows\n\t\t}\n\t},\n\n\n\t/* Scroll\n\t------------------------------------------------------------------------------------------------------------------*/\n\n\n\tcomputeInitialDateScroll: function() {\n\t\treturn { top: 0 };\n\t},\n\n\n\tqueryDateScroll: function() {\n\t\treturn { top: this.scroller.getScrollTop() };\n\t},\n\n\n\tapplyDateScroll: function(scroll) {\n\t\tif (scroll.top !== undefined) {\n\t\t\tthis.scroller.setScrollTop(scroll.top);\n\t\t}\n\t}\n\n});\n\n\n// Methods that will customize the rendering behavior of the BasicView's dayGrid\nvar basicDayGridMethods = { // not relly methods anymore\n\n\n\tcolWeekNumbersVisible: false, // display week numbers along the side?\n\n\n\t// Generates the HTML that will go before the day-of week header cells\n\trenderHeadIntroHtml: function() {\n\t\tvar view = this.view;\n\n\t\tif (this.colWeekNumbersVisible) {\n\t\t\treturn '' +\n\t\t\t\t'<th class=\"fc-week-number ' + view.calendar.theme.getClass('widgetHeader') + '\" ' + view.weekNumberStyleAttr() + '>' +\n\t\t\t\t\t'<span>' + // needed for matchCellWidths\n\t\t\t\t\t\thtmlEscape(this.opt('weekNumberTitle')) +\n\t\t\t\t\t'</span>' +\n\t\t\t\t'</th>';\n\t\t}\n\n\t\treturn '';\n\t},\n\n\n\t// Generates the HTML that will go before content-skeleton cells that display the day/week numbers\n\trenderNumberIntroHtml: function(row) {\n\t\tvar view = this.view;\n\t\tvar weekStart = this.getCellDate(row, 0);\n\n\t\tif (this.colWeekNumbersVisible) {\n\t\t\treturn '' +\n\t\t\t\t'<td class=\"fc-week-number\" ' + view.weekNumberStyleAttr() + '>' +\n\t\t\t\t\tview.buildGotoAnchorHtml( // aside from link, important for matchCellWidths\n\t\t\t\t\t\t{ date: weekStart, type: 'week', forceOff: this.colCnt === 1 },\n\t\t\t\t\t\tweekStart.format('w') // inner HTML\n\t\t\t\t\t) +\n\t\t\t\t'</td>';\n\t\t}\n\n\t\treturn '';\n\t},\n\n\n\t// Generates the HTML that goes before the day bg cells for each day-row\n\trenderBgIntroHtml: function() {\n\t\tvar view = this.view;\n\n\t\tif (this.colWeekNumbersVisible) {\n\t\t\treturn '<td class=\"fc-week-number ' + view.calendar.theme.getClass('widgetContent') + '\" ' +\n\t\t\t\tview.weekNumberStyleAttr() + '></td>';\n\t\t}\n\n\t\treturn '';\n\t},\n\n\n\t// Generates the HTML that goes before every other type of row generated by DayGrid.\n\t// Affects helper-skeleton and highlight-skeleton rows.\n\trenderIntroHtml: function() {\n\t\tvar view = this.view;\n\n\t\tif (this.colWeekNumbersVisible) {\n\t\t\treturn '<td class=\"fc-week-number\" ' + view.weekNumberStyleAttr() + '></td>';\n\t\t}\n\n\t\treturn '';\n\t},\n\n\n\tgetIsNumbersVisible: function() {\n\t\treturn DayGrid.prototype.getIsNumbersVisible.apply(this, arguments) || this.colWeekNumbersVisible;\n\t}\n\n};\n\n;;\n\n/* A month view with day cells running in rows (one-per-week) and columns\n----------------------------------------------------------------------------------------------------------------------*/\n\nvar MonthView = FC.MonthView = BasicView.extend({\n\n\n\t// Computes the date range that will be rendered.\n\tbuildRenderRange: function(currentUnzonedRange, currentRangeUnit, isRangeAllDay) {\n\t\tvar renderUnzonedRange = BasicView.prototype.buildRenderRange.apply(this, arguments);\n\t\tvar start = this.calendar.msToUtcMoment(renderUnzonedRange.startMs, isRangeAllDay);\n\t\tvar end = this.calendar.msToUtcMoment(renderUnzonedRange.endMs, isRangeAllDay);\n\t\tvar rowCnt;\n\n\t\t// ensure 6 weeks\n\t\tif (this.isFixedWeeks()) {\n\t\t\trowCnt = Math.ceil( // could be partial weeks due to hiddenDays\n\t\t\t\tend.diff(start, 'weeks', true) // dontRound=true\n\t\t\t);\n\t\t\tend.add(6 - rowCnt, 'weeks');\n\t\t}\n\n\t\treturn new UnzonedRange(start, end);\n\t},\n\n\n\t// Overrides the default BasicView behavior to have special multi-week auto-height logic\n\tsetGridHeight: function(height, isAuto) {\n\n\t\t// if auto, make the height of each row the height that it would be if there were 6 weeks\n\t\tif (isAuto) {\n\t\t\theight *= this.rowCnt / 6;\n\t\t}\n\n\t\tdistributeHeight(this.dayGrid.rowEls, height, !isAuto); // if auto, don't compensate for height-hogging rows\n\t},\n\n\n\tisFixedWeeks: function() {\n\t\treturn this.opt('fixedWeekCount');\n\t},\n\n\n\tisDateInOtherMonth: function(date, dateProfile) {\n\t\treturn date.month() !== moment.utc(dateProfile.currentUnzonedRange.startMs).month(); // TODO: optimize\n\t}\n\n});\n\n;;\n\nfcViews.basic = {\n\t'class': BasicView\n};\n\nfcViews.basicDay = {\n\ttype: 'basic',\n\tduration: { days: 1 }\n};\n\nfcViews.basicWeek = {\n\ttype: 'basic',\n\tduration: { weeks: 1 }\n};\n\nfcViews.month = {\n\t'class': MonthView,\n\tduration: { months: 1 }, // important for prev/next\n\tdefaults: {\n\t\tfixedWeekCount: true\n\t}\n};\n;;\n\nvar TimeGridFillRenderer = FillRenderer.extend({\n\n\n\tattachSegEls: function(type, segs) {\n\t\tvar timeGrid = this.component;\n\t\tvar containerEls;\n\n\t\t// TODO: more efficient lookup\n\t\tif (type === 'bgEvent') {\n\t\t\tcontainerEls = timeGrid.bgContainerEls;\n\t\t}\n\t\telse if (type === 'businessHours') {\n\t\t\tcontainerEls = timeGrid.businessContainerEls;\n\t\t}\n\t\telse if (type === 'highlight') {\n\t\t\tcontainerEls = timeGrid.highlightContainerEls;\n\t\t}\n\n\t\ttimeGrid.updateSegVerticals(segs);\n\t\ttimeGrid.attachSegsByCol(timeGrid.groupSegsByCol(segs), containerEls);\n\n\t\treturn segs.map(function(seg) {\n\t\t\treturn seg.el[0];\n\t\t});\n\t}\n\n});\n\n;;\n\n/*\nOnly handles foreground segs.\nDoes not own rendering. Use for low-level util methods by TimeGrid.\n*/\nvar TimeGridEventRenderer = EventRenderer.extend({\n\n\ttimeGrid: null,\n\n\n\tconstructor: function(timeGrid) {\n\t\tEventRenderer.apply(this, arguments);\n\n\t\tthis.timeGrid = timeGrid;\n\t},\n\n\n\trenderFgSegs: function(segs) {\n\t\tthis.renderFgSegsIntoContainers(segs, this.timeGrid.fgContainerEls);\n\t},\n\n\n\t// Given an array of foreground segments, render a DOM element for each, computes position,\n\t// and attaches to the column inner-container elements.\n\trenderFgSegsIntoContainers: function(segs, containerEls) {\n\t\tvar segsByCol;\n\t\tvar col;\n\n\t\tsegsByCol = this.timeGrid.groupSegsByCol(segs);\n\n\t\tfor (col = 0; col < this.timeGrid.colCnt; col++) {\n\t\t\tthis.updateFgSegCoords(segsByCol[col]);\n\t\t}\n\n\t\tthis.timeGrid.attachSegsByCol(segsByCol, containerEls);\n\t},\n\n\n\tunrenderFgSegs: function() {\n\t\tif (this.fgSegs) { // hack\n\t\t\tthis.fgSegs.forEach(function(seg) {\n\t\t\t\tseg.el.remove();\n\t\t\t});\n\t\t}\n\t},\n\n\n\t// Computes a default event time formatting string if `timeFormat` is not explicitly defined\n\tcomputeEventTimeFormat: function() {\n\t\treturn this.opt('noMeridiemTimeFormat'); // like \"6:30\" (no AM/PM)\n\t},\n\n\n\t// Computes a default `displayEventEnd` value if one is not expliclty defined\n\tcomputeDisplayEventEnd: function() {\n\t\treturn true;\n\t},\n\n\n\t// Renders the HTML for a single event segment's default rendering\n\tfgSegHtml: function(seg, disableResizing) {\n\t\tvar view = this.view;\n\t\tvar calendar = view.calendar;\n\t\tvar componentFootprint = seg.footprint.componentFootprint;\n\t\tvar isAllDay = componentFootprint.isAllDay;\n\t\tvar eventDef = seg.footprint.eventDef;\n\t\tvar isDraggable = view.isEventDefDraggable(eventDef);\n\t\tvar isResizableFromStart = !disableResizing && seg.isStart && view.isEventDefResizableFromStart(eventDef);\n\t\tvar isResizableFromEnd = !disableResizing && seg.isEnd && view.isEventDefResizableFromEnd(eventDef);\n\t\tvar classes = this.getSegClasses(seg, isDraggable, isResizableFromStart || isResizableFromEnd);\n\t\tvar skinCss = cssToStr(this.getSkinCss(eventDef));\n\t\tvar timeText;\n\t\tvar fullTimeText; // more verbose time text. for the print stylesheet\n\t\tvar startTimeText; // just the start time text\n\n\t\tclasses.unshift('fc-time-grid-event', 'fc-v-event');\n\n\t\t// if the event appears to span more than one day...\n\t\tif (view.isMultiDayRange(componentFootprint.unzonedRange)) {\n\t\t\t// Don't display time text on segments that run entirely through a day.\n\t\t\t// That would appear as midnight-midnight and would look dumb.\n\t\t\t// Otherwise, display the time text for the *segment's* times (like 6pm-midnight or midnight-10am)\n\t\t\tif (seg.isStart || seg.isEnd) {\n\t\t\t\tvar zonedStart = calendar.msToMoment(seg.startMs);\n\t\t\t\tvar zonedEnd = calendar.msToMoment(seg.endMs);\n\t\t\t\ttimeText = this._getTimeText(zonedStart, zonedEnd, isAllDay);\n\t\t\t\tfullTimeText = this._getTimeText(zonedStart, zonedEnd, isAllDay, 'LT');\n\t\t\t\tstartTimeText = this._getTimeText(zonedStart, zonedEnd, isAllDay, null, false); // displayEnd=false\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\t// Display the normal time text for the *event's* times\n\t\t\ttimeText = this.getTimeText(seg.footprint);\n\t\t\tfullTimeText = this.getTimeText(seg.footprint, 'LT');\n\t\t\tstartTimeText = this.getTimeText(seg.footprint, null, false); // displayEnd=false\n\t\t}\n\n\t\treturn '<a class=\"' + classes.join(' ') + '\"' +\n\t\t\t(eventDef.url ?\n\t\t\t\t' href=\"' + htmlEscape(eventDef.url) + '\"' :\n\t\t\t\t''\n\t\t\t\t) +\n\t\t\t(skinCss ?\n\t\t\t\t' style=\"' + skinCss + '\"' :\n\t\t\t\t''\n\t\t\t\t) +\n\t\t\t'>' +\n\t\t\t\t'<div class=\"fc-content\">' +\n\t\t\t\t\t(timeText ?\n\t\t\t\t\t\t'<div class=\"fc-time\"' +\n\t\t\t\t\t\t' data-start=\"' + htmlEscape(startTimeText) + '\"' +\n\t\t\t\t\t\t' data-full=\"' + htmlEscape(fullTimeText) + '\"' +\n\t\t\t\t\t\t'>' +\n\t\t\t\t\t\t\t'<span>' + htmlEscape(timeText) + '</span>' +\n\t\t\t\t\t\t'</div>' :\n\t\t\t\t\t\t''\n\t\t\t\t\t\t) +\n\t\t\t\t\t(eventDef.title ?\n\t\t\t\t\t\t'<div class=\"fc-title\">' +\n\t\t\t\t\t\t\thtmlEscape(eventDef.title) +\n\t\t\t\t\t\t'</div>' :\n\t\t\t\t\t\t''\n\t\t\t\t\t\t) +\n\t\t\t\t'</div>' +\n\t\t\t\t'<div class=\"fc-bg\"/>' +\n\t\t\t\t/* TODO: write CSS for this\n\t\t\t\t(isResizableFromStart ?\n\t\t\t\t\t'<div class=\"fc-resizer fc-start-resizer\" />' :\n\t\t\t\t\t''\n\t\t\t\t\t) +\n\t\t\t\t*/\n\t\t\t\t(isResizableFromEnd ?\n\t\t\t\t\t'<div class=\"fc-resizer fc-end-resizer\" />' :\n\t\t\t\t\t''\n\t\t\t\t\t) +\n\t\t\t'</a>';\n\t},\n\n\n\t// Given segments that are assumed to all live in the *same column*,\n\t// compute their verical/horizontal coordinates and assign to their elements.\n\tupdateFgSegCoords: function(segs) {\n\t\tthis.timeGrid.computeSegVerticals(segs); // horizontals relies on this\n\t\tthis.computeFgSegHorizontals(segs); // compute horizontal coordinates, z-index's, and reorder the array\n\t\tthis.timeGrid.assignSegVerticals(segs);\n\t\tthis.assignFgSegHorizontals(segs);\n\t},\n\n\n\t// Given an array of segments that are all in the same column, sets the backwardCoord and forwardCoord on each.\n\t// NOTE: Also reorders the given array by date!\n\tcomputeFgSegHorizontals: function(segs) {\n\t\tvar levels;\n\t\tvar level0;\n\t\tvar i;\n\n\t\tthis.sortEventSegs(segs); // order by certain criteria\n\t\tlevels = buildSlotSegLevels(segs);\n\t\tcomputeForwardSlotSegs(levels);\n\n\t\tif ((level0 = levels[0])) {\n\n\t\t\tfor (i = 0; i < level0.length; i++) {\n\t\t\t\tcomputeSlotSegPressures(level0[i]);\n\t\t\t}\n\n\t\t\tfor (i = 0; i < level0.length; i++) {\n\t\t\t\tthis.computeFgSegForwardBack(level0[i], 0, 0);\n\t\t\t}\n\t\t}\n\t},\n\n\n\t// Calculate seg.forwardCoord and seg.backwardCoord for the segment, where both values range\n\t// from 0 to 1. If the calendar is left-to-right, the seg.backwardCoord maps to \"left\" and\n\t// seg.forwardCoord maps to \"right\" (via percentage). Vice-versa if the calendar is right-to-left.\n\t//\n\t// The segment might be part of a \"series\", which means consecutive segments with the same pressure\n\t// who's width is unknown until an edge has been hit. `seriesBackwardPressure` is the number of\n\t// segments behind this one in the current series, and `seriesBackwardCoord` is the starting\n\t// coordinate of the first segment in the series.\n\tcomputeFgSegForwardBack: function(seg, seriesBackwardPressure, seriesBackwardCoord) {\n\t\tvar forwardSegs = seg.forwardSegs;\n\t\tvar i;\n\n\t\tif (seg.forwardCoord === undefined) { // not already computed\n\n\t\t\tif (!forwardSegs.length) {\n\n\t\t\t\t// if there are no forward segments, this segment should butt up against the edge\n\t\t\t\tseg.forwardCoord = 1;\n\t\t\t}\n\t\t\telse {\n\n\t\t\t\t// sort highest pressure first\n\t\t\t\tthis.sortForwardSegs(forwardSegs);\n\n\t\t\t\t// this segment's forwardCoord will be calculated from the backwardCoord of the\n\t\t\t\t// highest-pressure forward segment.\n\t\t\t\tthis.computeFgSegForwardBack(forwardSegs[0], seriesBackwardPressure + 1, seriesBackwardCoord);\n\t\t\t\tseg.forwardCoord = forwardSegs[0].backwardCoord;\n\t\t\t}\n\n\t\t\t// calculate the backwardCoord from the forwardCoord. consider the series\n\t\t\tseg.backwardCoord = seg.forwardCoord -\n\t\t\t\t(seg.forwardCoord - seriesBackwardCoord) / // available width for series\n\t\t\t\t(seriesBackwardPressure + 1); // # of segments in the series\n\n\t\t\t// use this segment's coordinates to computed the coordinates of the less-pressurized\n\t\t\t// forward segments\n\t\t\tfor (i=0; i<forwardSegs.length; i++) {\n\t\t\t\tthis.computeFgSegForwardBack(forwardSegs[i], 0, seg.forwardCoord);\n\t\t\t}\n\t\t}\n\t},\n\n\n\tsortForwardSegs: function(forwardSegs) {\n\t\tforwardSegs.sort(proxy(this, 'compareForwardSegs'));\n\t},\n\n\n\t// A cmp function for determining which forward segment to rely on more when computing coordinates.\n\tcompareForwardSegs: function(seg1, seg2) {\n\t\t// put higher-pressure first\n\t\treturn seg2.forwardPressure - seg1.forwardPressure ||\n\t\t\t// put segments that are closer to initial edge first (and favor ones with no coords yet)\n\t\t\t(seg1.backwardCoord || 0) - (seg2.backwardCoord || 0) ||\n\t\t\t// do normal sorting...\n\t\t\tthis.compareEventSegs(seg1, seg2);\n\t},\n\n\n\t// Given foreground event segments that have already had their position coordinates computed,\n\t// assigns position-related CSS values to their elements.\n\tassignFgSegHorizontals: function(segs) {\n\t\tvar i, seg;\n\n\t\tfor (i = 0; i < segs.length; i++) {\n\t\t\tseg = segs[i];\n\t\t\tseg.el.css(this.generateFgSegHorizontalCss(seg));\n\n\t\t\t// if the height is short, add a className for alternate styling\n\t\t\tif (seg.bottom - seg.top < 30) {\n\t\t\t\tseg.el.addClass('fc-short');\n\t\t\t}\n\t\t}\n\t},\n\n\n\t// Generates an object with CSS properties/values that should be applied to an event segment element.\n\t// Contains important positioning-related properties that should be applied to any event element, customized or not.\n\tgenerateFgSegHorizontalCss: function(seg) {\n\t\tvar shouldOverlap = this.opt('slotEventOverlap');\n\t\tvar backwardCoord = seg.backwardCoord; // the left side if LTR. the right side if RTL. floating-point\n\t\tvar forwardCoord = seg.forwardCoord; // the right side if LTR. the left side if RTL. floating-point\n\t\tvar props = this.timeGrid.generateSegVerticalCss(seg); // get top/bottom first\n\t\tvar left; // amount of space from left edge, a fraction of the total width\n\t\tvar right; // amount of space from right edge, a fraction of the total width\n\n\t\tif (shouldOverlap) {\n\t\t\t// double the width, but don't go beyond the maximum forward coordinate (1.0)\n\t\t\tforwardCoord = Math.min(1, backwardCoord + (forwardCoord - backwardCoord) * 2);\n\t\t}\n\n\t\tif (this.timeGrid.isRTL) {\n\t\t\tleft = 1 - forwardCoord;\n\t\t\tright = backwardCoord;\n\t\t}\n\t\telse {\n\t\t\tleft = backwardCoord;\n\t\t\tright = 1 - forwardCoord;\n\t\t}\n\n\t\tprops.zIndex = seg.level + 1; // convert from 0-base to 1-based\n\t\tprops.left = left * 100 + '%';\n\t\tprops.right = right * 100 + '%';\n\n\t\tif (shouldOverlap && seg.forwardPressure) {\n\t\t\t// add padding to the edge so that forward stacked events don't cover the resizer's icon\n\t\t\tprops[this.isRTL ? 'marginLeft' : 'marginRight'] = 10 * 2; // 10 is a guesstimate of the icon's width\n\t\t}\n\n\t\treturn props;\n\t}\n\n});\n\n\n// Builds an array of segments \"levels\". The first level will be the leftmost tier of segments if the calendar is\n// left-to-right, or the rightmost if the calendar is right-to-left. Assumes the segments are already ordered by date.\nfunction buildSlotSegLevels(segs) {\n\tvar levels = [];\n\tvar i, seg;\n\tvar j;\n\n\tfor (i=0; i<segs.length; i++) {\n\t\tseg = segs[i];\n\n\t\t// go through all the levels and stop on the first level where there are no collisions\n\t\tfor (j=0; j<levels.length; j++) {\n\t\t\tif (!computeSlotSegCollisions(seg, levels[j]).length) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tseg.level = j;\n\n\t\t(levels[j] || (levels[j] = [])).push(seg);\n\t}\n\n\treturn levels;\n}\n\n\n// For every segment, figure out the other segments that are in subsequent\n// levels that also occupy the same vertical space. Accumulate in seg.forwardSegs\nfunction computeForwardSlotSegs(levels) {\n\tvar i, level;\n\tvar j, seg;\n\tvar k;\n\n\tfor (i=0; i<levels.length; i++) {\n\t\tlevel = levels[i];\n\n\t\tfor (j=0; j<level.length; j++) {\n\t\t\tseg = level[j];\n\n\t\t\tseg.forwardSegs = [];\n\t\t\tfor (k=i+1; k<levels.length; k++) {\n\t\t\t\tcomputeSlotSegCollisions(seg, levels[k], seg.forwardSegs);\n\t\t\t}\n\t\t}\n\t}\n}\n\n\n// Figure out which path forward (via seg.forwardSegs) results in the longest path until\n// the furthest edge is reached. The number of segments in this path will be seg.forwardPressure\nfunction computeSlotSegPressures(seg) {\n\tvar forwardSegs = seg.forwardSegs;\n\tvar forwardPressure = 0;\n\tvar i, forwardSeg;\n\n\tif (seg.forwardPressure === undefined) { // not already computed\n\n\t\tfor (i=0; i<forwardSegs.length; i++) {\n\t\t\tforwardSeg = forwardSegs[i];\n\n\t\t\t// figure out the child's maximum forward path\n\t\t\tcomputeSlotSegPressures(forwardSeg);\n\n\t\t\t// either use the existing maximum, or use the child's forward pressure\n\t\t\t// plus one (for the forwardSeg itself)\n\t\t\tforwardPressure = Math.max(\n\t\t\t\tforwardPressure,\n\t\t\t\t1 + forwardSeg.forwardPressure\n\t\t\t);\n\t\t}\n\n\t\tseg.forwardPressure = forwardPressure;\n\t}\n}\n\n\n// Find all the segments in `otherSegs` that vertically collide with `seg`.\n// Append into an optionally-supplied `results` array and return.\nfunction computeSlotSegCollisions(seg, otherSegs, results) {\n\tresults = results || [];\n\n\tfor (var i=0; i<otherSegs.length; i++) {\n\t\tif (isSlotSegCollision(seg, otherSegs[i])) {\n\t\t\tresults.push(otherSegs[i]);\n\t\t}\n\t}\n\n\treturn results;\n}\n\n\n// Do these segments occupy the same vertical space?\nfunction isSlotSegCollision(seg1, seg2) {\n\treturn seg1.bottom > seg2.top && seg1.top < seg2.bottom;\n}\n\n;;\n\nvar TimeGridHelperRenderer = HelperRenderer.extend({\n\n\n\trenderSegs: function(segs, sourceSeg) {\n\t\tvar helperNodes = [];\n\t\tvar i, seg;\n\t\tvar sourceEl;\n\n\t\t// TODO: not good to call eventRenderer this way\n\t\tthis.eventRenderer.renderFgSegsIntoContainers(\n\t\t\tsegs,\n\t\t\tthis.component.helperContainerEls\n\t\t);\n\n\t\t// Try to make the segment that is in the same row as sourceSeg look the same\n\t\tfor (i = 0; i < segs.length; i++) {\n\t\t\tseg = segs[i];\n\n\t\t\tif (sourceSeg && sourceSeg.col === seg.col) {\n\t\t\t\tsourceEl = sourceSeg.el;\n\t\t\t\tseg.el.css({\n\t\t\t\t\tleft: sourceEl.css('left'),\n\t\t\t\t\tright: sourceEl.css('right'),\n\t\t\t\t\t'margin-left': sourceEl.css('margin-left'),\n\t\t\t\t\t'margin-right': sourceEl.css('margin-right')\n\t\t\t\t});\n\t\t\t}\n\n\t\t\thelperNodes.push(seg.el[0]);\n\t\t}\n\n\t\treturn $(helperNodes); // must return the elements rendered\n\t}\n\n});\n\n;;\n\n/* A component that renders one or more columns of vertical time slots\n----------------------------------------------------------------------------------------------------------------------*/\n// We mixin DayTable, even though there is only a single row of days\n\nvar TimeGrid = FC.TimeGrid = InteractiveDateComponent.extend(StandardInteractionsMixin, DayTableMixin, {\n\n\teventRendererClass: TimeGridEventRenderer,\n\tbusinessHourRendererClass: BusinessHourRenderer,\n\thelperRendererClass: TimeGridHelperRenderer,\n\tfillRendererClass: TimeGridFillRenderer,\n\n\tview: null, // TODO: make more general and/or remove\n\thelperRenderer: null,\n\n\tdayRanges: null, // UnzonedRange[], of start-end of each day\n\tslotDuration: null, // duration of a \"slot\", a distinct time segment on given day, visualized by lines\n\tsnapDuration: null, // granularity of time for dragging and selecting\n\tsnapsPerSlot: null,\n\tlabelFormat: null, // formatting string for times running along vertical axis\n\tlabelInterval: null, // duration of how often a label should be displayed for a slot\n\n\theadContainerEl: null, // div that hold's the date header\n\tcolEls: null, // cells elements in the day-row background\n\tslatContainerEl: null, // div that wraps all the slat rows\n\tslatEls: null, // elements running horizontally across all columns\n\tnowIndicatorEls: null,\n\n\tcolCoordCache: null,\n\tslatCoordCache: null,\n\n\tbottomRuleEl: null, // hidden by default\n\tcontentSkeletonEl: null,\n\tcolContainerEls: null, // containers for each column\n\n\t// inner-containers for each column where different types of segs live\n\tfgContainerEls: null,\n\tbgContainerEls: null,\n\thelperContainerEls: null,\n\thighlightContainerEls: null,\n\tbusinessContainerEls: null,\n\n\t// arrays of different types of displayed segments\n\thelperSegs: null,\n\thighlightSegs: null,\n\tbusinessSegs: null,\n\n\n\tconstructor: function(view) {\n\t\tthis.view = view; // do first, for opt calls during initialization\n\n\t\tInteractiveDateComponent.call(this); // call the super-constructor\n\n\t\tthis.processOptions();\n\t},\n\n\n\t// Slices up the given span (unzoned start/end with other misc data) into an array of segments\n\tcomponentFootprintToSegs: function(componentFootprint) {\n\t\tvar segs = this.sliceRangeByTimes(componentFootprint.unzonedRange);\n\t\tvar i;\n\n\t\tfor (i = 0; i < segs.length; i++) {\n\t\t\tif (this.isRTL) {\n\t\t\t\tsegs[i].col = this.daysPerRow - 1 - segs[i].dayIndex;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tsegs[i].col = segs[i].dayIndex;\n\t\t\t}\n\t\t}\n\n\t\treturn segs;\n\t},\n\n\n\t/* Date Handling\n\t------------------------------------------------------------------------------------------------------------------*/\n\n\n\tsliceRangeByTimes: function(unzonedRange) {\n\t\tvar segs = [];\n\t\tvar segRange;\n\t\tvar dayIndex;\n\n\t\tfor (dayIndex = 0; dayIndex < this.daysPerRow; dayIndex++) {\n\n\t\t\tsegRange = unzonedRange.intersect(this.dayRanges[dayIndex]);\n\n\t\t\tif (segRange) {\n\t\t\t\tsegs.push({\n\t\t\t\t\tstartMs: segRange.startMs,\n\t\t\t\t\tendMs: segRange.endMs,\n\t\t\t\t\tisStart: segRange.isStart,\n\t\t\t\t\tisEnd: segRange.isEnd,\n\t\t\t\t\tdayIndex: dayIndex\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\treturn segs;\n\t},\n\n\n\t/* Options\n\t------------------------------------------------------------------------------------------------------------------*/\n\n\n\t// Parses various options into properties of this object\n\tprocessOptions: function() {\n\t\tvar slotDuration = this.opt('slotDuration');\n\t\tvar snapDuration = this.opt('snapDuration');\n\t\tvar input;\n\n\t\tslotDuration = moment.duration(slotDuration);\n\t\tsnapDuration = snapDuration ? moment.duration(snapDuration) : slotDuration;\n\n\t\tthis.slotDuration = slotDuration;\n\t\tthis.snapDuration = snapDuration;\n\t\tthis.snapsPerSlot = slotDuration / snapDuration; // TODO: ensure an integer multiple?\n\n\t\t// might be an array value (for TimelineView).\n\t\t// if so, getting the most granular entry (the last one probably).\n\t\tinput = this.opt('slotLabelFormat');\n\t\tif ($.isArray(input)) {\n\t\t\tinput = input[input.length - 1];\n\t\t}\n\n\t\tthis.labelFormat = input ||\n\t\t\tthis.opt('smallTimeFormat'); // the computed default\n\n\t\tinput = this.opt('slotLabelInterval');\n\t\tthis.labelInterval = input ?\n\t\t\tmoment.duration(input) :\n\t\t\tthis.computeLabelInterval(slotDuration);\n\t},\n\n\n\t// Computes an automatic value for slotLabelInterval\n\tcomputeLabelInterval: function(slotDuration) {\n\t\tvar i;\n\t\tvar labelInterval;\n\t\tvar slotsPerLabel;\n\n\t\t// find the smallest stock label interval that results in more than one slots-per-label\n\t\tfor (i = AGENDA_STOCK_SUB_DURATIONS.length - 1; i >= 0; i--) {\n\t\t\tlabelInterval = moment.duration(AGENDA_STOCK_SUB_DURATIONS[i]);\n\t\t\tslotsPerLabel = divideDurationByDuration(labelInterval, slotDuration);\n\t\t\tif (isInt(slotsPerLabel) && slotsPerLabel > 1) {\n\t\t\t\treturn labelInterval;\n\t\t\t}\n\t\t}\n\n\t\treturn moment.duration(slotDuration); // fall back. clone\n\t},\n\n\n\t/* Date Rendering\n\t------------------------------------------------------------------------------------------------------------------*/\n\n\n\trenderDates: function(dateProfile) {\n\t\tthis.dateProfile = dateProfile;\n\t\tthis.updateDayTable();\n\t\tthis.renderSlats();\n\t\tthis.renderColumns();\n\t},\n\n\n\tunrenderDates: function() {\n\t\t//this.unrenderSlats(); // don't need this because repeated .html() calls clear\n\t\tthis.unrenderColumns();\n\t},\n\n\n\trenderSkeleton: function() {\n\t\tvar theme = this.view.calendar.theme;\n\n\t\tthis.el.html(\n\t\t\t'<div class=\"fc-bg\"></div>' +\n\t\t\t'<div class=\"fc-slats\"></div>' +\n\t\t\t'<hr class=\"fc-divider ' + theme.getClass('widgetHeader') + '\" style=\"display:none\" />'\n\t\t);\n\n\t\tthis.bottomRuleEl = this.el.find('hr');\n\t},\n\n\n\trenderSlats: function() {\n\t\tvar theme = this.view.calendar.theme;\n\n\t\tthis.slatContainerEl = this.el.find('> .fc-slats')\n\t\t\t.html( // avoids needing ::unrenderSlats()\n\t\t\t\t'<table class=\"' + theme.getClass('tableGrid') + '\">' +\n\t\t\t\t\tthis.renderSlatRowHtml() +\n\t\t\t\t'</table>'\n\t\t\t);\n\n\t\tthis.slatEls = this.slatContainerEl.find('tr');\n\n\t\tthis.slatCoordCache = new CoordCache({\n\t\t\tels: this.slatEls,\n\t\t\tisVertical: true\n\t\t});\n\t},\n\n\n\t// Generates the HTML for the horizontal \"slats\" that run width-wise. Has a time axis on a side. Depends on RTL.\n\trenderSlatRowHtml: function() {\n\t\tvar view = this.view;\n\t\tvar calendar = view.calendar;\n\t\tvar theme = calendar.theme;\n\t\tvar isRTL = this.isRTL;\n\t\tvar dateProfile = this.dateProfile;\n\t\tvar html = '';\n\t\tvar slotTime = moment.duration(+dateProfile.minTime); // wish there was .clone() for durations\n\t\tvar slotIterator = moment.duration(0);\n\t\tvar slotDate; // will be on the view's first day, but we only care about its time\n\t\tvar isLabeled;\n\t\tvar axisHtml;\n\n\t\t// Calculate the time for each slot\n\t\twhile (slotTime < dateProfile.maxTime) {\n\t\t\tslotDate = calendar.msToUtcMoment(dateProfile.renderUnzonedRange.startMs).time(slotTime);\n\t\t\tisLabeled = isInt(divideDurationByDuration(slotIterator, this.labelInterval));\n\n\t\t\taxisHtml =\n\t\t\t\t'<td class=\"fc-axis fc-time ' + theme.getClass('widgetContent') + '\" ' + view.axisStyleAttr() + '>' +\n\t\t\t\t\t(isLabeled ?\n\t\t\t\t\t\t'<span>' + // for matchCellWidths\n\t\t\t\t\t\t\thtmlEscape(slotDate.format(this.labelFormat)) +\n\t\t\t\t\t\t'</span>' :\n\t\t\t\t\t\t''\n\t\t\t\t\t\t) +\n\t\t\t\t'</td>';\n\n\t\t\thtml +=\n\t\t\t\t'<tr data-time=\"' + slotDate.format('HH:mm:ss') + '\"' +\n\t\t\t\t\t(isLabeled ? '' : ' class=\"fc-minor\"') +\n\t\t\t\t\t'>' +\n\t\t\t\t\t(!isRTL ? axisHtml : '') +\n\t\t\t\t\t'<td class=\"' + theme.getClass('widgetContent') + '\"/>' +\n\t\t\t\t\t(isRTL ? axisHtml : '') +\n\t\t\t\t\"</tr>\";\n\n\t\t\tslotTime.add(this.slotDuration);\n\t\t\tslotIterator.add(this.slotDuration);\n\t\t}\n\n\t\treturn html;\n\t},\n\n\n\trenderColumns: function() {\n\t\tvar dateProfile = this.dateProfile;\n\t\tvar theme = this.view.calendar.theme;\n\n\t\tthis.dayRanges = this.dayDates.map(function(dayDate) {\n\t\t\treturn new UnzonedRange(\n\t\t\t\tdayDate.clone().add(dateProfile.minTime),\n\t\t\t\tdayDate.clone().add(dateProfile.maxTime)\n\t\t\t);\n\t\t});\n\n\t\tif (this.headContainerEl) {\n\t\t\tthis.headContainerEl.html(this.renderHeadHtml());\n\t\t}\n\n\t\tthis.el.find('> .fc-bg').html(\n\t\t\t'<table class=\"' + theme.getClass('tableGrid') + '\">' +\n\t\t\t\tthis.renderBgTrHtml(0) + // row=0\n\t\t\t'</table>'\n\t\t);\n\n\t\tthis.colEls = this.el.find('.fc-day, .fc-disabled-day');\n\n\t\tthis.colCoordCache = new CoordCache({\n\t\t\tels: this.colEls,\n\t\t\tisHorizontal: true\n\t\t});\n\n\t\tthis.renderContentSkeleton();\n\t},\n\n\n\tunrenderColumns: function() {\n\t\tthis.unrenderContentSkeleton();\n\t},\n\n\n\t/* Content Skeleton\n\t------------------------------------------------------------------------------------------------------------------*/\n\n\n\t// Renders the DOM that the view's content will live in\n\trenderContentSkeleton: function() {\n\t\tvar cellHtml = '';\n\t\tvar i;\n\t\tvar skeletonEl;\n\n\t\tfor (i = 0; i < this.colCnt; i++) {\n\t\t\tcellHtml +=\n\t\t\t\t'<td>' +\n\t\t\t\t\t'<div class=\"fc-content-col\">' +\n\t\t\t\t\t\t'<div class=\"fc-event-container fc-helper-container\"></div>' +\n\t\t\t\t\t\t'<div class=\"fc-event-container\"></div>' +\n\t\t\t\t\t\t'<div class=\"fc-highlight-container\"></div>' +\n\t\t\t\t\t\t'<div class=\"fc-bgevent-container\"></div>' +\n\t\t\t\t\t\t'<div class=\"fc-business-container\"></div>' +\n\t\t\t\t\t'</div>' +\n\t\t\t\t'</td>';\n\t\t}\n\n\t\tskeletonEl = this.contentSkeletonEl = $(\n\t\t\t'<div class=\"fc-content-skeleton\">' +\n\t\t\t\t'<table>' +\n\t\t\t\t\t'<tr>' + cellHtml + '</tr>' +\n\t\t\t\t'</table>' +\n\t\t\t'</div>'\n\t\t);\n\n\t\tthis.colContainerEls = skeletonEl.find('.fc-content-col');\n\t\tthis.helperContainerEls = skeletonEl.find('.fc-helper-container');\n\t\tthis.fgContainerEls = skeletonEl.find('.fc-event-container:not(.fc-helper-container)');\n\t\tthis.bgContainerEls = skeletonEl.find('.fc-bgevent-container');\n\t\tthis.highlightContainerEls = skeletonEl.find('.fc-highlight-container');\n\t\tthis.businessContainerEls = skeletonEl.find('.fc-business-container');\n\n\t\tthis.bookendCells(skeletonEl.find('tr')); // TODO: do this on string level\n\t\tthis.el.append(skeletonEl);\n\t},\n\n\n\tunrenderContentSkeleton: function() {\n\t\tthis.contentSkeletonEl.remove();\n\t\tthis.contentSkeletonEl = null;\n\t\tthis.colContainerEls = null;\n\t\tthis.helperContainerEls = null;\n\t\tthis.fgContainerEls = null;\n\t\tthis.bgContainerEls = null;\n\t\tthis.highlightContainerEls = null;\n\t\tthis.businessContainerEls = null;\n\t},\n\n\n\t// Given a flat array of segments, return an array of sub-arrays, grouped by each segment's col\n\tgroupSegsByCol: function(segs) {\n\t\tvar segsByCol = [];\n\t\tvar i;\n\n\t\tfor (i = 0; i < this.colCnt; i++) {\n\t\t\tsegsByCol.push([]);\n\t\t}\n\n\t\tfor (i = 0; i < segs.length; i++) {\n\t\t\tsegsByCol[segs[i].col].push(segs[i]);\n\t\t}\n\n\t\treturn segsByCol;\n\t},\n\n\n\t// Given segments grouped by column, insert the segments' elements into a parallel array of container\n\t// elements, each living within a column.\n\tattachSegsByCol: function(segsByCol, containerEls) {\n\t\tvar col;\n\t\tvar segs;\n\t\tvar i;\n\n\t\tfor (col = 0; col < this.colCnt; col++) { // iterate each column grouping\n\t\t\tsegs = segsByCol[col];\n\n\t\t\tfor (i = 0; i < segs.length; i++) {\n\t\t\t\tcontainerEls.eq(col).append(segs[i].el);\n\t\t\t}\n\t\t}\n\t},\n\n\n\t/* Now Indicator\n\t------------------------------------------------------------------------------------------------------------------*/\n\n\n\tgetNowIndicatorUnit: function() {\n\t\treturn 'minute'; // will refresh on the minute\n\t},\n\n\n\trenderNowIndicator: function(date) {\n\t\t// seg system might be overkill, but it handles scenario where line needs to be rendered\n\t\t//  more than once because of columns with the same date (resources columns for example)\n\t\tvar segs = this.componentFootprintToSegs(\n\t\t\tnew ComponentFootprint(\n\t\t\t\tnew UnzonedRange(date, date.valueOf() + 1), // protect against null range\n\t\t\t\tfalse // all-day\n\t\t\t)\n\t\t);\n\t\tvar top = this.computeDateTop(date, date);\n\t\tvar nodes = [];\n\t\tvar i;\n\n\t\t// render lines within the columns\n\t\tfor (i = 0; i < segs.length; i++) {\n\t\t\tnodes.push($('<div class=\"fc-now-indicator fc-now-indicator-line\"></div>')\n\t\t\t\t.css('top', top)\n\t\t\t\t.appendTo(this.colContainerEls.eq(segs[i].col))[0]);\n\t\t}\n\n\t\t// render an arrow over the axis\n\t\tif (segs.length > 0) { // is the current time in view?\n\t\t\tnodes.push($('<div class=\"fc-now-indicator fc-now-indicator-arrow\"></div>')\n\t\t\t\t.css('top', top)\n\t\t\t\t.appendTo(this.el.find('.fc-content-skeleton'))[0]);\n\t\t}\n\n\t\tthis.nowIndicatorEls = $(nodes);\n\t},\n\n\n\tunrenderNowIndicator: function() {\n\t\tif (this.nowIndicatorEls) {\n\t\t\tthis.nowIndicatorEls.remove();\n\t\t\tthis.nowIndicatorEls = null;\n\t\t}\n\t},\n\n\n\t/* Coordinates\n\t------------------------------------------------------------------------------------------------------------------*/\n\n\n\tupdateSize: function(totalHeight, isAuto, isResize) {\n\t\tInteractiveDateComponent.prototype.updateSize.apply(this, arguments);\n\n\t\tthis.slatCoordCache.build();\n\n\t\tif (isResize) {\n\t\t\tthis.updateSegVerticals(\n\t\t\t\t[].concat(this.eventRenderer.getSegs(), this.businessSegs || [])\n\t\t\t);\n\t\t}\n\t},\n\n\n\tgetTotalSlatHeight: function() {\n\t\treturn this.slatContainerEl.outerHeight();\n\t},\n\n\n\t// Computes the top coordinate, relative to the bounds of the grid, of the given date.\n\t// `ms` can be a millisecond UTC time OR a UTC moment.\n\t// A `startOfDayDate` must be given for avoiding ambiguity over how to treat midnight.\n\tcomputeDateTop: function(ms, startOfDayDate) {\n\t\treturn this.computeTimeTop(\n\t\t\tmoment.duration(\n\t\t\t\tms - startOfDayDate.clone().stripTime()\n\t\t\t)\n\t\t);\n\t},\n\n\n\t// Computes the top coordinate, relative to the bounds of the grid, of the given time (a Duration).\n\tcomputeTimeTop: function(time) {\n\t\tvar len = this.slatEls.length;\n\t\tvar dateProfile = this.dateProfile;\n\t\tvar slatCoverage = (time - dateProfile.minTime) / this.slotDuration; // floating-point value of # of slots covered\n\t\tvar slatIndex;\n\t\tvar slatRemainder;\n\n\t\t// compute a floating-point number for how many slats should be progressed through.\n\t\t// from 0 to number of slats (inclusive)\n\t\t// constrained because minTime/maxTime might be customized.\n\t\tslatCoverage = Math.max(0, slatCoverage);\n\t\tslatCoverage = Math.min(len, slatCoverage);\n\n\t\t// an integer index of the furthest whole slat\n\t\t// from 0 to number slats (*exclusive*, so len-1)\n\t\tslatIndex = Math.floor(slatCoverage);\n\t\tslatIndex = Math.min(slatIndex, len - 1);\n\n\t\t// how much further through the slatIndex slat (from 0.0-1.0) must be covered in addition.\n\t\t// could be 1.0 if slatCoverage is covering *all* the slots\n\t\tslatRemainder = slatCoverage - slatIndex;\n\n\t\treturn this.slatCoordCache.getTopPosition(slatIndex) +\n\t\t\tthis.slatCoordCache.getHeight(slatIndex) * slatRemainder;\n\t},\n\n\n\t// Refreshes the CSS top/bottom coordinates for each segment element.\n\t// Works when called after initial render, after a window resize/zoom for example.\n\tupdateSegVerticals: function(segs) {\n\t\tthis.computeSegVerticals(segs);\n\t\tthis.assignSegVerticals(segs);\n\t},\n\n\n\t// For each segment in an array, computes and assigns its top and bottom properties\n\tcomputeSegVerticals: function(segs) {\n\t\tvar eventMinHeight = this.opt('agendaEventMinHeight');\n\t\tvar i, seg;\n\t\tvar dayDate;\n\n\t\tfor (i = 0; i < segs.length; i++) {\n\t\t\tseg = segs[i];\n\t\t\tdayDate = this.dayDates[seg.dayIndex];\n\n\t\t\tseg.top = this.computeDateTop(seg.startMs, dayDate);\n\t\t\tseg.bottom = Math.max(\n\t\t\t\tseg.top + eventMinHeight,\n\t\t\t\tthis.computeDateTop(seg.endMs, dayDate)\n\t\t\t);\n\t\t}\n\t},\n\n\n\t// Given segments that already have their top/bottom properties computed, applies those values to\n\t// the segments' elements.\n\tassignSegVerticals: function(segs) {\n\t\tvar i, seg;\n\n\t\tfor (i = 0; i < segs.length; i++) {\n\t\t\tseg = segs[i];\n\t\t\tseg.el.css(this.generateSegVerticalCss(seg));\n\t\t}\n\t},\n\n\n\t// Generates an object with CSS properties for the top/bottom coordinates of a segment element\n\tgenerateSegVerticalCss: function(seg) {\n\t\treturn {\n\t\t\ttop: seg.top,\n\t\t\tbottom: -seg.bottom // flipped because needs to be space beyond bottom edge of event container\n\t\t};\n\t},\n\n\n\t/* Hit System\n\t------------------------------------------------------------------------------------------------------------------*/\n\n\n\tprepareHits: function() {\n\t\tthis.colCoordCache.build();\n\t\tthis.slatCoordCache.build();\n\t},\n\n\n\treleaseHits: function() {\n\t\tthis.colCoordCache.clear();\n\t\t// NOTE: don't clear slatCoordCache because we rely on it for computeTimeTop\n\t},\n\n\n\tqueryHit: function(leftOffset, topOffset) {\n\t\tvar snapsPerSlot = this.snapsPerSlot;\n\t\tvar colCoordCache = this.colCoordCache;\n\t\tvar slatCoordCache = this.slatCoordCache;\n\n\t\tif (colCoordCache.isLeftInBounds(leftOffset) && slatCoordCache.isTopInBounds(topOffset)) {\n\t\t\tvar colIndex = colCoordCache.getHorizontalIndex(leftOffset);\n\t\t\tvar slatIndex = slatCoordCache.getVerticalIndex(topOffset);\n\n\t\t\tif (colIndex != null && slatIndex != null) {\n\t\t\t\tvar slatTop = slatCoordCache.getTopOffset(slatIndex);\n\t\t\t\tvar slatHeight = slatCoordCache.getHeight(slatIndex);\n\t\t\t\tvar partial = (topOffset - slatTop) / slatHeight; // floating point number between 0 and 1\n\t\t\t\tvar localSnapIndex = Math.floor(partial * snapsPerSlot); // the snap # relative to start of slat\n\t\t\t\tvar snapIndex = slatIndex * snapsPerSlot + localSnapIndex;\n\t\t\t\tvar snapTop = slatTop + (localSnapIndex / snapsPerSlot) * slatHeight;\n\t\t\t\tvar snapBottom = slatTop + ((localSnapIndex + 1) / snapsPerSlot) * slatHeight;\n\n\t\t\t\treturn {\n\t\t\t\t\tcol: colIndex,\n\t\t\t\t\tsnap: snapIndex,\n\t\t\t\t\tcomponent: this, // needed unfortunately :(\n\t\t\t\t\tleft: colCoordCache.getLeftOffset(colIndex),\n\t\t\t\t\tright: colCoordCache.getRightOffset(colIndex),\n\t\t\t\t\ttop: snapTop,\n\t\t\t\t\tbottom: snapBottom\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t},\n\n\n\tgetHitFootprint: function(hit) {\n\t\tvar start = this.getCellDate(0, hit.col); // row=0\n\t\tvar time = this.computeSnapTime(hit.snap); // pass in the snap-index\n\t\tvar end;\n\n\t\tstart.time(time);\n\t\tend = start.clone().add(this.snapDuration);\n\n\t\treturn new ComponentFootprint(\n\t\t\tnew UnzonedRange(start, end),\n\t\t\tfalse // all-day?\n\t\t);\n\t},\n\n\n\t// Given a row number of the grid, representing a \"snap\", returns a time (Duration) from its start-of-day\n\tcomputeSnapTime: function(snapIndex) {\n\t\treturn moment.duration(this.dateProfile.minTime + this.snapDuration * snapIndex);\n\t},\n\n\n\tgetHitEl: function(hit) {\n\t\treturn this.colEls.eq(hit.col);\n\t},\n\n\n\t/* Event Drag Visualization\n\t------------------------------------------------------------------------------------------------------------------*/\n\n\n\t// Renders a visual indication of an event being dragged over the specified date(s).\n\t// A returned value of `true` signals that a mock \"helper\" event has been rendered.\n\trenderDrag: function(eventFootprints, seg, isTouch) {\n\t\tvar i;\n\n\t\tif (seg) { // if there is event information for this drag, render a helper event\n\n\t\t\tif (eventFootprints.length) {\n\t\t\t\tthis.helperRenderer.renderEventDraggingFootprints(eventFootprints, seg, isTouch);\n\n\t\t\t\t// signal that a helper has been rendered\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\telse { // otherwise, just render a highlight\n\n\t\t\tfor (i = 0; i < eventFootprints.length; i++) {\n\t\t\t\tthis.renderHighlight(eventFootprints[i].componentFootprint);\n\t\t\t}\n\t\t}\n\t},\n\n\n\t// Unrenders any visual indication of an event being dragged\n\tunrenderDrag: function(seg) {\n\t\tthis.unrenderHighlight();\n\t\tthis.helperRenderer.unrender();\n\t},\n\n\n\t/* Event Resize Visualization\n\t------------------------------------------------------------------------------------------------------------------*/\n\n\n\t// Renders a visual indication of an event being resized\n\trenderEventResize: function(eventFootprints, seg, isTouch) {\n\t\tthis.helperRenderer.renderEventResizingFootprints(eventFootprints, seg, isTouch);\n\t},\n\n\n\t// Unrenders any visual indication of an event being resized\n\tunrenderEventResize: function(seg) {\n\t\tthis.helperRenderer.unrender();\n\t},\n\n\n\t/* Selection\n\t------------------------------------------------------------------------------------------------------------------*/\n\n\n\t// Renders a visual indication of a selection. Overrides the default, which was to simply render a highlight.\n\trenderSelectionFootprint: function(componentFootprint) {\n\t\tif (this.opt('selectHelper')) { // this setting signals that a mock helper event should be rendered\n\t\t\tthis.helperRenderer.renderComponentFootprint(componentFootprint);\n\t\t}\n\t\telse {\n\t\t\tthis.renderHighlight(componentFootprint);\n\t\t}\n\t},\n\n\n\t// Unrenders any visual indication of a selection\n\tunrenderSelection: function() {\n\t\tthis.helperRenderer.unrender();\n\t\tthis.unrenderHighlight();\n\t}\n\n});\n\n;;\n\n/* An abstract class for all agenda-related views. Displays one more columns with time slots running vertically.\n----------------------------------------------------------------------------------------------------------------------*/\n// Is a manager for the TimeGrid subcomponent and possibly the DayGrid subcomponent (if allDaySlot is on).\n// Responsible for managing width/height.\n\nvar AgendaView = FC.AgendaView = View.extend({\n\n\tscroller: null,\n\n\ttimeGridClass: TimeGrid, // class used to instantiate the timeGrid. subclasses can override\n\ttimeGrid: null, // the main time-grid subcomponent of this view\n\n\tdayGridClass: DayGrid, // class used to instantiate the dayGrid. subclasses can override\n\tdayGrid: null, // the \"all-day\" subcomponent. if all-day is turned off, this will be null\n\n\taxisWidth: null, // the width of the time axis running down the side\n\n\t// indicates that minTime/maxTime affects rendering\n\tusesMinMaxTime: true,\n\n\n\tconstructor: function() {\n\t\tView.apply(this, arguments);\n\n\t\tthis.timeGrid = this.instantiateTimeGrid();\n\t\tthis.addChild(this.timeGrid);\n\n\t\tif (this.opt('allDaySlot')) { // should we display the \"all-day\" area?\n\t\t\tthis.dayGrid = this.instantiateDayGrid(); // the all-day subcomponent of this view\n\t\t\tthis.addChild(this.dayGrid);\n\t\t}\n\n\t\tthis.scroller = new Scroller({\n\t\t\toverflowX: 'hidden',\n\t\t\toverflowY: 'auto'\n\t\t});\n\t},\n\n\n\t// Instantiates the TimeGrid object this view needs. Draws from this.timeGridClass\n\tinstantiateTimeGrid: function() {\n\t\tvar subclass = this.timeGridClass.extend(agendaTimeGridMethods);\n\n\t\treturn new subclass(this);\n\t},\n\n\n\t// Instantiates the DayGrid object this view might need. Draws from this.dayGridClass\n\tinstantiateDayGrid: function() {\n\t\tvar subclass = this.dayGridClass.extend(agendaDayGridMethods);\n\n\t\treturn new subclass(this);\n\t},\n\n\n\t/* Rendering\n\t------------------------------------------------------------------------------------------------------------------*/\n\n\n\trenderSkeleton: function() {\n\t\tvar timeGridWrapEl;\n\t\tvar timeGridEl;\n\n\t\tthis.el.addClass('fc-agenda-view').html(this.renderSkeletonHtml());\n\n\t\tthis.scroller.render();\n\n\t\ttimeGridWrapEl = this.scroller.el.addClass('fc-time-grid-container');\n\t\ttimeGridEl = $('<div class=\"fc-time-grid\" />').appendTo(timeGridWrapEl);\n\n\t\tthis.el.find('.fc-body > tr > td').append(timeGridWrapEl);\n\n\t\tthis.timeGrid.headContainerEl = this.el.find('.fc-head-container');\n\t\tthis.timeGrid.setElement(timeGridEl);\n\n\t\tif (this.dayGrid) {\n\t\t\tthis.dayGrid.setElement(this.el.find('.fc-day-grid'));\n\n\t\t\t// have the day-grid extend it's coordinate area over the <hr> dividing the two grids\n\t\t\tthis.dayGrid.bottomCoordPadding = this.dayGrid.el.next('hr').outerHeight();\n\t\t}\n\t},\n\n\n\tunrenderSkeleton: function() {\n\t\tthis.timeGrid.removeElement();\n\n\t\tif (this.dayGrid) {\n\t\t\tthis.dayGrid.removeElement();\n\t\t}\n\n\t\tthis.scroller.destroy();\n\t},\n\n\n\t// Builds the HTML skeleton for the view.\n\t// The day-grid and time-grid components will render inside containers defined by this HTML.\n\trenderSkeletonHtml: function() {\n\t\tvar theme = this.calendar.theme;\n\n\t\treturn '' +\n\t\t\t'<table class=\"' + theme.getClass('tableGrid') + '\">' +\n\t\t\t\t(this.opt('columnHeader') ?\n\t\t\t\t\t'<thead class=\"fc-head\">' +\n\t\t\t\t\t\t'<tr>' +\n\t\t\t\t\t\t\t'<td class=\"fc-head-container ' + theme.getClass('widgetHeader') + '\">&nbsp;</td>' +\n\t\t\t\t\t\t'</tr>' +\n\t\t\t\t\t'</thead>' :\n\t\t\t\t\t''\n\t\t\t\t\t) +\n\t\t\t\t'<tbody class=\"fc-body\">' +\n\t\t\t\t\t'<tr>' +\n\t\t\t\t\t\t'<td class=\"' + theme.getClass('widgetContent') + '\">' +\n\t\t\t\t\t\t\t(this.dayGrid ?\n\t\t\t\t\t\t\t\t'<div class=\"fc-day-grid\"/>' +\n\t\t\t\t\t\t\t\t'<hr class=\"fc-divider ' + theme.getClass('widgetHeader') + '\"/>' :\n\t\t\t\t\t\t\t\t''\n\t\t\t\t\t\t\t\t) +\n\t\t\t\t\t\t'</td>' +\n\t\t\t\t\t'</tr>' +\n\t\t\t\t'</tbody>' +\n\t\t\t'</table>';\n\t},\n\n\n\t// Generates an HTML attribute string for setting the width of the axis, if it is known\n\taxisStyleAttr: function() {\n\t\tif (this.axisWidth !== null) {\n\t\t\t return 'style=\"width:' + this.axisWidth + 'px\"';\n\t\t}\n\t\treturn '';\n\t},\n\n\n\t/* Now Indicator\n\t------------------------------------------------------------------------------------------------------------------*/\n\n\n\tgetNowIndicatorUnit: function() {\n\t\treturn this.timeGrid.getNowIndicatorUnit();\n\t},\n\n\n\t/* Dimensions\n\t------------------------------------------------------------------------------------------------------------------*/\n\n\n\t// Adjusts the vertical dimensions of the view to the specified values\n\tupdateSize: function(totalHeight, isAuto, isResize) {\n\t\tvar eventLimit;\n\t\tvar scrollerHeight;\n\t\tvar scrollbarWidths;\n\n\t\tView.prototype.updateSize.apply(this, arguments);\n\n\t\t// make all axis cells line up, and record the width so newly created axis cells will have it\n\t\tthis.axisWidth = matchCellWidths(this.el.find('.fc-axis'));\n\n\t\t// hack to give the view some height prior to timeGrid's columns being rendered\n\t\t// TODO: separate setting height from scroller VS timeGrid.\n\t\tif (!this.timeGrid.colEls) {\n\t\t\tif (!isAuto) {\n\t\t\t\tscrollerHeight = this.computeScrollerHeight(totalHeight);\n\t\t\t\tthis.scroller.setHeight(scrollerHeight);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\t// set of fake row elements that must compensate when scroller has scrollbars\n\t\tvar noScrollRowEls = this.el.find('.fc-row:not(.fc-scroller *)');\n\n\t\t// reset all dimensions back to the original state\n\t\tthis.timeGrid.bottomRuleEl.hide(); // .show() will be called later if this <hr> is necessary\n\t\tthis.scroller.clear(); // sets height to 'auto' and clears overflow\n\t\tuncompensateScroll(noScrollRowEls);\n\n\t\t// limit number of events in the all-day area\n\t\tif (this.dayGrid) {\n\t\t\tthis.dayGrid.removeSegPopover(); // kill the \"more\" popover if displayed\n\n\t\t\teventLimit = this.opt('eventLimit');\n\t\t\tif (eventLimit && typeof eventLimit !== 'number') {\n\t\t\t\teventLimit = AGENDA_ALL_DAY_EVENT_LIMIT; // make sure \"auto\" goes to a real number\n\t\t\t}\n\t\t\tif (eventLimit) {\n\t\t\t\tthis.dayGrid.limitRows(eventLimit);\n\t\t\t}\n\t\t}\n\n\t\tif (!isAuto) { // should we force dimensions of the scroll container?\n\n\t\t\tscrollerHeight = this.computeScrollerHeight(totalHeight);\n\t\t\tthis.scroller.setHeight(scrollerHeight);\n\t\t\tscrollbarWidths = this.scroller.getScrollbarWidths();\n\n\t\t\tif (scrollbarWidths.left || scrollbarWidths.right) { // using scrollbars?\n\n\t\t\t\t// make the all-day and header rows lines up\n\t\t\t\tcompensateScroll(noScrollRowEls, scrollbarWidths);\n\n\t\t\t\t// the scrollbar compensation might have changed text flow, which might affect height, so recalculate\n\t\t\t\t// and reapply the desired height to the scroller.\n\t\t\t\tscrollerHeight = this.computeScrollerHeight(totalHeight);\n\t\t\t\tthis.scroller.setHeight(scrollerHeight);\n\t\t\t}\n\n\t\t\t// guarantees the same scrollbar widths\n\t\t\tthis.scroller.lockOverflow(scrollbarWidths);\n\n\t\t\t// if there's any space below the slats, show the horizontal rule.\n\t\t\t// this won't cause any new overflow, because lockOverflow already called.\n\t\t\tif (this.timeGrid.getTotalSlatHeight() < scrollerHeight) {\n\t\t\t\tthis.timeGrid.bottomRuleEl.show();\n\t\t\t}\n\t\t}\n\t},\n\n\n\t// given a desired total height of the view, returns what the height of the scroller should be\n\tcomputeScrollerHeight: function(totalHeight) {\n\t\treturn totalHeight -\n\t\t\tsubtractInnerElHeight(this.el, this.scroller.el); // everything that's NOT the scroller\n\t},\n\n\n\t/* Scroll\n\t------------------------------------------------------------------------------------------------------------------*/\n\n\n\t// Computes the initial pre-configured scroll state prior to allowing the user to change it\n\tcomputeInitialDateScroll: function() {\n\t\tvar scrollTime = moment.duration(this.opt('scrollTime'));\n\t\tvar top = this.timeGrid.computeTimeTop(scrollTime);\n\n\t\t// zoom can give weird floating-point values. rather scroll a little bit further\n\t\ttop = Math.ceil(top);\n\n\t\tif (top) {\n\t\t\ttop++; // to overcome top border that slots beyond the first have. looks better\n\t\t}\n\n\t\treturn { top: top };\n\t},\n\n\n\tqueryDateScroll: function() {\n\t\treturn { top: this.scroller.getScrollTop() };\n\t},\n\n\n\tapplyDateScroll: function(scroll) {\n\t\tif (scroll.top !== undefined) {\n\t\t\tthis.scroller.setScrollTop(scroll.top);\n\t\t}\n\t},\n\n\n\t/* Hit Areas\n\t------------------------------------------------------------------------------------------------------------------*/\n\t// forward all hit-related method calls to the grids (dayGrid might not be defined)\n\n\n\tgetHitFootprint: function(hit) {\n\t\t// TODO: hit.component is set as a hack to identify where the hit came from\n\t\treturn hit.component.getHitFootprint(hit);\n\t},\n\n\n\tgetHitEl: function(hit) {\n\t\t// TODO: hit.component is set as a hack to identify where the hit came from\n\t\treturn hit.component.getHitEl(hit);\n\t},\n\n\n\t/* Event Rendering\n\t------------------------------------------------------------------------------------------------------------------*/\n\n\n\texecuteEventRender: function(eventsPayload) {\n\t\tvar dayEventsPayload = {};\n\t\tvar timedEventsPayload = {};\n\t\tvar id, eventInstanceGroup;\n\n\t\t// separate the events into all-day and timed\n\t\tfor (id in eventsPayload) {\n\t\t\teventInstanceGroup = eventsPayload[id];\n\n\t\t\tif (eventInstanceGroup.getEventDef().isAllDay()) {\n\t\t\t\tdayEventsPayload[id] = eventInstanceGroup;\n\t\t\t}\n\t\t\telse {\n\t\t\t\ttimedEventsPayload[id] = eventInstanceGroup;\n\t\t\t}\n\t\t}\n\n\t\tthis.timeGrid.executeEventRender(timedEventsPayload);\n\n\t\tif (this.dayGrid) {\n\t\t\tthis.dayGrid.executeEventRender(dayEventsPayload);\n\t\t}\n\t},\n\n\n\t/* Dragging/Resizing Routing\n\t------------------------------------------------------------------------------------------------------------------*/\n\n\n\t// A returned value of `true` signals that a mock \"helper\" event has been rendered.\n\trenderDrag: function(eventFootprints, seg, isTouch) {\n\t\tvar groups = groupEventFootprintsByAllDay(eventFootprints);\n\t\tvar renderedHelper = false;\n\n\t\trenderedHelper = this.timeGrid.renderDrag(groups.timed, seg, isTouch);\n\n\t\tif (this.dayGrid) {\n\t\t\trenderedHelper = this.dayGrid.renderDrag(groups.allDay, seg, isTouch) || renderedHelper;\n\t\t}\n\n\t\treturn renderedHelper;\n\t},\n\n\n\trenderEventResize: function(eventFootprints, seg, isTouch) {\n\t\tvar groups = groupEventFootprintsByAllDay(eventFootprints);\n\n\t\tthis.timeGrid.renderEventResize(groups.timed, seg, isTouch);\n\n\t\tif (this.dayGrid) {\n\t\t\tthis.dayGrid.renderEventResize(groups.allDay, seg, isTouch);\n\t\t}\n\t},\n\n\n\t/* Selection\n\t------------------------------------------------------------------------------------------------------------------*/\n\n\n\t// Renders a visual indication of a selection\n\trenderSelectionFootprint: function(componentFootprint) {\n\t\tif (!componentFootprint.isAllDay) {\n\t\t\tthis.timeGrid.renderSelectionFootprint(componentFootprint);\n\t\t}\n\t\telse if (this.dayGrid) {\n\t\t\tthis.dayGrid.renderSelectionFootprint(componentFootprint);\n\t\t}\n\t}\n\n});\n\n\n// Methods that will customize the rendering behavior of the AgendaView's timeGrid\n// TODO: move into TimeGrid\nvar agendaTimeGridMethods = {\n\n\n\t// Generates the HTML that will go before the day-of week header cells\n\trenderHeadIntroHtml: function() {\n\t\tvar view = this.view;\n\t\tvar calendar = view.calendar;\n\t\tvar weekStart = calendar.msToUtcMoment(this.dateProfile.renderUnzonedRange.startMs, true);\n\t\tvar weekText;\n\n\t\tif (this.opt('weekNumbers')) {\n\t\t\tweekText = weekStart.format(this.opt('smallWeekFormat'));\n\n\t\t\treturn '' +\n\t\t\t\t'<th class=\"fc-axis fc-week-number ' + calendar.theme.getClass('widgetHeader') + '\" ' + view.axisStyleAttr() + '>' +\n\t\t\t\t\tview.buildGotoAnchorHtml( // aside from link, important for matchCellWidths\n\t\t\t\t\t\t{ date: weekStart, type: 'week', forceOff: this.colCnt > 1 },\n\t\t\t\t\t\thtmlEscape(weekText) // inner HTML\n\t\t\t\t\t) +\n\t\t\t\t'</th>';\n\t\t}\n\t\telse {\n\t\t\treturn '<th class=\"fc-axis ' + calendar.theme.getClass('widgetHeader') + '\" ' + view.axisStyleAttr() + '></th>';\n\t\t}\n\t},\n\n\n\t// Generates the HTML that goes before the bg of the TimeGrid slot area. Long vertical column.\n\trenderBgIntroHtml: function() {\n\t\tvar view = this.view;\n\n\t\treturn '<td class=\"fc-axis ' + view.calendar.theme.getClass('widgetContent') + '\" ' + view.axisStyleAttr() + '></td>';\n\t},\n\n\n\t// Generates the HTML that goes before all other types of cells.\n\t// Affects content-skeleton, helper-skeleton, highlight-skeleton for both the time-grid and day-grid.\n\trenderIntroHtml: function() {\n\t\tvar view = this.view;\n\n\t\treturn '<td class=\"fc-axis\" ' + view.axisStyleAttr() + '></td>';\n\t}\n\n};\n\n\n// Methods that will customize the rendering behavior of the AgendaView's dayGrid\nvar agendaDayGridMethods = {\n\n\n\t// Generates the HTML that goes before the all-day cells\n\trenderBgIntroHtml: function() {\n\t\tvar view = this.view;\n\n\t\treturn '' +\n\t\t\t'<td class=\"fc-axis ' + view.calendar.theme.getClass('widgetContent') + '\" ' + view.axisStyleAttr() + '>' +\n\t\t\t\t'<span>' + // needed for matchCellWidths\n\t\t\t\t\tview.getAllDayHtml() +\n\t\t\t\t'</span>' +\n\t\t\t'</td>';\n\t},\n\n\n\t// Generates the HTML that goes before all other types of cells.\n\t// Affects content-skeleton, helper-skeleton, highlight-skeleton for both the time-grid and day-grid.\n\trenderIntroHtml: function() {\n\t\tvar view = this.view;\n\n\t\treturn '<td class=\"fc-axis\" ' + view.axisStyleAttr() + '></td>';\n\t}\n\n};\n\n\nfunction groupEventFootprintsByAllDay(eventFootprints) {\n\tvar allDay = [];\n\tvar timed = [];\n\tvar i;\n\n\tfor (i = 0; i < eventFootprints.length; i++) {\n\t\tif (eventFootprints[i].componentFootprint.isAllDay) {\n\t\t\tallDay.push(eventFootprints[i]);\n\t\t}\n\t\telse {\n\t\t\ttimed.push(eventFootprints[i]);\n\t\t}\n\t}\n\n\treturn { allDay: allDay, timed: timed };\n}\n\n;;\n\nvar AGENDA_ALL_DAY_EVENT_LIMIT = 5;\n\n// potential nice values for the slot-duration and interval-duration\n// from largest to smallest\nvar AGENDA_STOCK_SUB_DURATIONS = [\n\t{ hours: 1 },\n\t{ minutes: 30 },\n\t{ minutes: 15 },\n\t{ seconds: 30 },\n\t{ seconds: 15 }\n];\n\nfcViews.agenda = {\n\t'class': AgendaView,\n\tdefaults: {\n\t\tallDaySlot: true,\n\t\tslotDuration: '00:30:00',\n\t\tslotEventOverlap: true // a bad name. confused with overlap/constraint system\n\t}\n};\n\nfcViews.agendaDay = {\n\ttype: 'agenda',\n\tduration: { days: 1 }\n};\n\nfcViews.agendaWeek = {\n\ttype: 'agenda',\n\tduration: { weeks: 1 }\n};\n;;\n\n/*\nResponsible for the scroller, and forwarding event-related actions into the \"grid\".\n*/\nvar ListView = FC.ListView = View.extend({\n\n\tsegSelector: '.fc-list-item', // which elements accept event actions\n\t//eventRendererClass is below\n\t//eventPointingClass is below\n\n\tscroller: null,\n\tcontentEl: null,\n\n\tdayDates: null, // localized ambig-time moment array\n\tdayRanges: null, // UnzonedRange[], of start-end of each day\n\n\n\tconstructor: function() {\n\t\tView.apply(this, arguments);\n\n\t\tthis.scroller = new Scroller({\n\t\t\toverflowX: 'hidden',\n\t\t\toverflowY: 'auto'\n\t\t});\n\t},\n\n\n\trenderSkeleton: function() {\n\t\tthis.el.addClass(\n\t\t\t'fc-list-view ' +\n\t\t\tthis.calendar.theme.getClass('listView')\n\t\t);\n\n\t\tthis.scroller.render();\n\t\tthis.scroller.el.appendTo(this.el);\n\n\t\tthis.contentEl = this.scroller.scrollEl; // shortcut\n\t},\n\n\n\tunrenderSkeleton: function() {\n\t\tthis.scroller.destroy(); // will remove the Grid too\n\t},\n\n\n\tupdateSize: function(totalHeight, isAuto, isResize) {\n\t\tthis.scroller.setHeight(this.computeScrollerHeight(totalHeight));\n\t},\n\n\n\tcomputeScrollerHeight: function(totalHeight) {\n\t\treturn totalHeight -\n\t\t\tsubtractInnerElHeight(this.el, this.scroller.el); // everything that's NOT the scroller\n\t},\n\n\n\trenderDates: function(dateProfile) {\n\t\tvar calendar = this.calendar;\n\t\tvar dayStart = calendar.msToUtcMoment(dateProfile.renderUnzonedRange.startMs, true);\n\t\tvar viewEnd = calendar.msToUtcMoment(dateProfile.renderUnzonedRange.endMs, true);\n\t\tvar dayDates = [];\n\t\tvar dayRanges = [];\n\n\t\twhile (dayStart < viewEnd) {\n\n\t\t\tdayDates.push(dayStart.clone());\n\n\t\t\tdayRanges.push(new UnzonedRange(\n\t\t\t\tdayStart,\n\t\t\t\tdayStart.clone().add(1, 'day')\n\t\t\t));\n\n\t\t\tdayStart.add(1, 'day');\n\t\t}\n\n\t\tthis.dayDates = dayDates;\n\t\tthis.dayRanges = dayRanges;\n\n\t\t// all real rendering happens in EventRenderer\n\t},\n\n\n\t// slices by day\n\tcomponentFootprintToSegs: function(footprint) {\n\t\tvar dayRanges = this.dayRanges;\n\t\tvar dayIndex;\n\t\tvar segRange;\n\t\tvar seg;\n\t\tvar segs = [];\n\n\t\tfor (dayIndex = 0; dayIndex < dayRanges.length; dayIndex++) {\n\t\t\tsegRange = footprint.unzonedRange.intersect(dayRanges[dayIndex]);\n\n\t\t\tif (segRange) {\n\t\t\t\tseg = {\n\t\t\t\t\tstartMs: segRange.startMs,\n\t\t\t\t\tendMs: segRange.endMs,\n\t\t\t\t\tisStart: segRange.isStart,\n\t\t\t\t\tisEnd: segRange.isEnd,\n\t\t\t\t\tdayIndex: dayIndex\n\t\t\t\t};\n\n\t\t\t\tsegs.push(seg);\n\n\t\t\t\t// detect when footprint won't go fully into the next day,\n\t\t\t\t// and mutate the latest seg to the be the end.\n\t\t\t\tif (\n\t\t\t\t\t!seg.isEnd && !footprint.isAllDay &&\n\t\t\t\t\tdayIndex + 1 < dayRanges.length &&\n\t\t\t\t\tfootprint.unzonedRange.endMs < dayRanges[dayIndex + 1].startMs + this.nextDayThreshold\n\t\t\t\t) {\n\t\t\t\t\tseg.endMs = footprint.unzonedRange.endMs;\n\t\t\t\t\tseg.isEnd = true;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn segs;\n\t},\n\n\n\teventRendererClass: EventRenderer.extend({\n\n\n\t\trenderFgSegs: function(segs) {\n\t\t\tif (!segs.length) {\n\t\t\t\tthis.component.renderEmptyMessage();\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.component.renderSegList(segs);\n\t\t\t}\n\t\t},\n\n\n\t\t// generates the HTML for a single event row\n\t\tfgSegHtml: function(seg) {\n\t\t\tvar view = this.view;\n\t\t\tvar calendar = view.calendar;\n\t\t\tvar theme = calendar.theme;\n\t\t\tvar eventFootprint = seg.footprint;\n\t\t\tvar eventDef = eventFootprint.eventDef;\n\t\t\tvar componentFootprint = eventFootprint.componentFootprint;\n\t\t\tvar url = eventDef.url;\n\t\t\tvar classes = [ 'fc-list-item' ].concat(this.getClasses(eventDef));\n\t\t\tvar bgColor = this.getBgColor(eventDef);\n\t\t\tvar timeHtml;\n\n\t\t\tif (componentFootprint.isAllDay) {\n\t\t\t\ttimeHtml = view.getAllDayHtml();\n\t\t\t}\n\t\t\t// if the event appears to span more than one day\n\t\t\telse if (view.isMultiDayRange(componentFootprint.unzonedRange)) {\n\t\t\t\tif (seg.isStart || seg.isEnd) { // outer segment that probably lasts part of the day\n\t\t\t\t\ttimeHtml = htmlEscape(this._getTimeText(\n\t\t\t\t\t\tcalendar.msToMoment(seg.startMs),\n\t\t\t\t\t\tcalendar.msToMoment(seg.endMs),\n\t\t\t\t\t\tcomponentFootprint.isAllDay\n\t\t\t\t\t));\n\t\t\t\t}\n\t\t\t\telse { // inner segment that lasts the whole day\n\t\t\t\t\ttimeHtml = view.getAllDayHtml();\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\t// Display the normal time text for the *event's* times\n\t\t\t\ttimeHtml = htmlEscape(this.getTimeText(eventFootprint));\n\t\t\t}\n\n\t\t\tif (url) {\n\t\t\t\tclasses.push('fc-has-url');\n\t\t\t}\n\n\t\t\treturn '<tr class=\"' + classes.join(' ') + '\">' +\n\t\t\t\t(this.displayEventTime ?\n\t\t\t\t\t'<td class=\"fc-list-item-time ' + theme.getClass('widgetContent') + '\">' +\n\t\t\t\t\t\t(timeHtml || '') +\n\t\t\t\t\t'</td>' :\n\t\t\t\t\t'') +\n\t\t\t\t'<td class=\"fc-list-item-marker ' + theme.getClass('widgetContent') + '\">' +\n\t\t\t\t\t'<span class=\"fc-event-dot\"' +\n\t\t\t\t\t(bgColor ?\n\t\t\t\t\t\t' style=\"background-color:' + bgColor + '\"' :\n\t\t\t\t\t\t'') +\n\t\t\t\t\t'></span>' +\n\t\t\t\t'</td>' +\n\t\t\t\t'<td class=\"fc-list-item-title ' + theme.getClass('widgetContent') + '\">' +\n\t\t\t\t\t'<a' + (url ? ' href=\"' + htmlEscape(url) + '\"' : '') + '>' +\n\t\t\t\t\t\thtmlEscape(eventDef.title || '') +\n\t\t\t\t\t'</a>' +\n\t\t\t\t'</td>' +\n\t\t\t'</tr>';\n\t\t},\n\n\n\t\t// like \"4:00am\"\n\t\tcomputeEventTimeFormat: function() {\n\t\t\treturn this.opt('mediumTimeFormat');\n\t\t}\n\n\t}),\n\n\n\teventPointingClass: EventPointing.extend({\n\n\t\t// for events with a url, the whole <tr> should be clickable,\n\t\t// but it's impossible to wrap with an <a> tag. simulate this.\n\t\thandleClick: function(seg, ev) {\n\t\t\tvar url;\n\n\t\t\tEventPointing.prototype.handleClick.apply(this, arguments); // super. might prevent the default action\n\n\t\t\t// not clicking on or within an <a> with an href\n\t\t\tif (!$(ev.target).closest('a[href]').length) {\n\t\t\t\turl = seg.footprint.eventDef.url;\n\n\t\t\t\tif (url && !ev.isDefaultPrevented()) { // jsEvent not cancelled in handler\n\t\t\t\t\twindow.location.href = url; // simulate link click\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t}),\n\n\n\trenderEmptyMessage: function() {\n\t\tthis.contentEl.html(\n\t\t\t'<div class=\"fc-list-empty-wrap2\">' + // TODO: try less wraps\n\t\t\t'<div class=\"fc-list-empty-wrap1\">' +\n\t\t\t'<div class=\"fc-list-empty\">' +\n\t\t\t\thtmlEscape(this.opt('noEventsMessage')) +\n\t\t\t'</div>' +\n\t\t\t'</div>' +\n\t\t\t'</div>'\n\t\t);\n\t},\n\n\n\t// render the event segments in the view\n\trenderSegList: function(allSegs) {\n\t\tvar segsByDay = this.groupSegsByDay(allSegs); // sparse array\n\t\tvar dayIndex;\n\t\tvar daySegs;\n\t\tvar i;\n\t\tvar tableEl = $('<table class=\"fc-list-table ' + this.calendar.theme.getClass('tableList') + '\"><tbody/></table>');\n\t\tvar tbodyEl = tableEl.find('tbody');\n\n\t\tfor (dayIndex = 0; dayIndex < segsByDay.length; dayIndex++) {\n\t\t\tdaySegs = segsByDay[dayIndex];\n\n\t\t\tif (daySegs) { // sparse array, so might be undefined\n\n\t\t\t\t// append a day header\n\t\t\t\ttbodyEl.append(this.dayHeaderHtml(this.dayDates[dayIndex]));\n\n\t\t\t\tthis.eventRenderer.sortEventSegs(daySegs);\n\n\t\t\t\tfor (i = 0; i < daySegs.length; i++) {\n\t\t\t\t\ttbodyEl.append(daySegs[i].el); // append event row\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.contentEl.empty().append(tableEl);\n\t},\n\n\n\t// Returns a sparse array of arrays, segs grouped by their dayIndex\n\tgroupSegsByDay: function(segs) {\n\t\tvar segsByDay = []; // sparse array\n\t\tvar i, seg;\n\n\t\tfor (i = 0; i < segs.length; i++) {\n\t\t\tseg = segs[i];\n\t\t\t(segsByDay[seg.dayIndex] || (segsByDay[seg.dayIndex] = []))\n\t\t\t\t.push(seg);\n\t\t}\n\n\t\treturn segsByDay;\n\t},\n\n\n\t// generates the HTML for the day headers that live amongst the event rows\n\tdayHeaderHtml: function(dayDate) {\n\t\tvar mainFormat = this.opt('listDayFormat');\n\t\tvar altFormat = this.opt('listDayAltFormat');\n\n\t\treturn '<tr class=\"fc-list-heading\" data-date=\"' + dayDate.format('YYYY-MM-DD') + '\">' +\n\t\t\t'<td class=\"' + this.calendar.theme.getClass('widgetHeader') + '\" colspan=\"3\">' +\n\t\t\t\t(mainFormat ?\n\t\t\t\t\tthis.buildGotoAnchorHtml(\n\t\t\t\t\t\tdayDate,\n\t\t\t\t\t\t{ 'class': 'fc-list-heading-main' },\n\t\t\t\t\t\thtmlEscape(dayDate.format(mainFormat)) // inner HTML\n\t\t\t\t\t) :\n\t\t\t\t\t'') +\n\t\t\t\t(altFormat ?\n\t\t\t\t\tthis.buildGotoAnchorHtml(\n\t\t\t\t\t\tdayDate,\n\t\t\t\t\t\t{ 'class': 'fc-list-heading-alt' },\n\t\t\t\t\t\thtmlEscape(dayDate.format(altFormat)) // inner HTML\n\t\t\t\t\t) :\n\t\t\t\t\t'') +\n\t\t\t'</td>' +\n\t\t'</tr>';\n\t}\n\n});\n\n;;\n\nfcViews.list = {\n\t'class': ListView,\n\tbuttonTextKey: 'list', // what to lookup in locale files\n\tdefaults: {\n\t\tbuttonText: 'list', // text to display for English\n\t\tlistDayFormat: 'LL', // like \"January 1, 2016\"\n\t\tnoEventsMessage: 'No events to display'\n\t}\n};\n\nfcViews.listDay = {\n\ttype: 'list',\n\tduration: { days: 1 },\n\tdefaults: {\n\t\tlistDayFormat: 'dddd' // day-of-week is all we need. full date is probably in header\n\t}\n};\n\nfcViews.listWeek = {\n\ttype: 'list',\n\tduration: { weeks: 1 },\n\tdefaults: {\n\t\tlistDayFormat: 'dddd', // day-of-week is more important\n\t\tlistDayAltFormat: 'LL'\n\t}\n};\n\nfcViews.listMonth = {\n\ttype: 'list',\n\tduration: { month: 1 },\n\tdefaults: {\n\t\tlistDayAltFormat: 'dddd' // day-of-week is nice-to-have\n\t}\n};\n\nfcViews.listYear = {\n\ttype: 'list',\n\tduration: { year: 1 },\n\tdefaults: {\n\t\tlistDayAltFormat: 'dddd' // day-of-week is nice-to-have\n\t}\n};\n\n;;\n\r\nreturn FC; // export for Node/CommonJS\r\n});"
  },
  {
    "path": "vendor/assets/javascripts/lolex.js",
    "content": "(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.lolex = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){\n(function (global){\n\"use strict\";\n\nvar userAgent = global.navigator && global.navigator.userAgent;\nvar isRunningInIE = userAgent && userAgent.indexOf(\"MSIE \") > -1;\nvar maxTimeout = Math.pow(2, 31) - 1; //see https://heycam.github.io/webidl/#abstract-opdef-converttoint\n\n// Make properties writable in IE, as per\n// http://www.adequatelygood.com/Replacing-setTimeout-Globally.html\nif (isRunningInIE) {\n    global.setTimeout = global.setTimeout;\n    global.clearTimeout = global.clearTimeout;\n    global.setInterval = global.setInterval;\n    global.clearInterval = global.clearInterval;\n    global.Date = global.Date;\n}\n\n// setImmediate is not a standard function\n// avoid adding the prop to the window object if not present\nif (global.setImmediate !== undefined) {\n    global.setImmediate = global.setImmediate;\n    global.clearImmediate = global.clearImmediate;\n}\n\n// node expects setTimeout/setInterval to return a fn object w/ .ref()/.unref()\n// browsers, a number.\n// see https://github.com/cjohansen/Sinon.JS/pull/436\n\nvar NOOP = function () { return undefined; };\nvar timeoutResult = setTimeout(NOOP, 0);\nvar addTimerReturnsObject = typeof timeoutResult === \"object\";\nvar hrtimePresent = (global.process && typeof global.process.hrtime === \"function\");\nvar nextTickPresent = (global.process && typeof global.process.nextTick === \"function\");\nvar performancePresent = (global.performance && typeof global.performance.now === \"function\");\nvar requestAnimationFramePresent = (global.requestAnimationFrame && typeof global.requestAnimationFrame === \"function\");\nvar cancelAnimationFramePresent = (global.cancelAnimationFrame && typeof global.cancelAnimationFrame === \"function\");\n\nclearTimeout(timeoutResult);\n\nvar NativeDate = Date;\nvar uniqueTimerId = 1;\n\n/**\n * Parse strings like \"01:10:00\" (meaning 1 hour, 10 minutes, 0 seconds) into\n * number of milliseconds. This is used to support human-readable strings passed\n * to clock.tick()\n */\nfunction parseTime(str) {\n    if (!str) {\n        return 0;\n    }\n\n    var strings = str.split(\":\");\n    var l = strings.length;\n    var i = l;\n    var ms = 0;\n    var parsed;\n\n    if (l > 3 || !/^(\\d\\d:){0,2}\\d\\d?$/.test(str)) {\n        throw new Error(\"tick only understands numbers, 'm:s' and 'h:m:s'. Each part must be two digits\");\n    }\n\n    while (i--) {\n        parsed = parseInt(strings[i], 10);\n\n        if (parsed >= 60) {\n            throw new Error(\"Invalid time \" + str);\n        }\n\n        ms += parsed * Math.pow(60, (l - i - 1));\n    }\n\n    return ms * 1000;\n}\n\n/**\n * Floor function that also works for negative numbers\n */\nfunction fixedFloor(n) {\n    return (n >= 0 ? Math.floor(n) : Math.ceil(n));\n}\n\n/**\n * % operator that also works for negative numbers\n */\nfunction fixedModulo(n, m) {\n    return ((n % m) + m) % m;\n}\n\n/**\n * Used to grok the `now` parameter to createClock.\n * @param epoch {Date|number} the system time\n */\nfunction getEpoch(epoch) {\n    if (!epoch) { return 0; }\n    if (typeof epoch.getTime === \"function\") { return epoch.getTime(); }\n    if (typeof epoch === \"number\") { return epoch; }\n    throw new TypeError(\"now should be milliseconds since UNIX epoch\");\n}\n\nfunction inRange(from, to, timer) {\n    return timer && timer.callAt >= from && timer.callAt <= to;\n}\n\nfunction mirrorDateProperties(target, source) {\n    var prop;\n    for (prop in source) {\n        if (source.hasOwnProperty(prop)) {\n            target[prop] = source[prop];\n        }\n    }\n\n    // set special now implementation\n    if (source.now) {\n        target.now = function now() {\n            return target.clock.now;\n        };\n    } else {\n        delete target.now;\n    }\n\n    // set special toSource implementation\n    if (source.toSource) {\n        target.toSource = function toSource() {\n            return source.toSource();\n        };\n    } else {\n        delete target.toSource;\n    }\n\n    // set special toString implementation\n    target.toString = function toString() {\n        return source.toString();\n    };\n\n    target.prototype = source.prototype;\n    target.parse = source.parse;\n    target.UTC = source.UTC;\n    target.prototype.toUTCString = source.prototype.toUTCString;\n\n    return target;\n}\n\nfunction createDate() {\n    function ClockDate(year, month, date, hour, minute, second, ms) {\n        // Defensive and verbose to avoid potential harm in passing\n        // explicit undefined when user does not pass argument\n        switch (arguments.length) {\n            case 0:\n                return new NativeDate(ClockDate.clock.now);\n            case 1:\n                return new NativeDate(year);\n            case 2:\n                return new NativeDate(year, month);\n            case 3:\n                return new NativeDate(year, month, date);\n            case 4:\n                return new NativeDate(year, month, date, hour);\n            case 5:\n                return new NativeDate(year, month, date, hour, minute);\n            case 6:\n                return new NativeDate(year, month, date, hour, minute, second);\n            default:\n                return new NativeDate(year, month, date, hour, minute, second, ms);\n        }\n    }\n\n    return mirrorDateProperties(ClockDate, NativeDate);\n}\n\n\nfunction enqueueJob(clock, job) {\n    // enqueues a microtick-deferred task - ecma262/#sec-enqueuejob\n    if (!clock.jobs) {\n        clock.jobs = [];\n    }\n    clock.jobs.push(job);\n}\n\nfunction runJobs(clock) {\n    // runs all microtick-deferred tasks - ecma262/#sec-runjobs\n    if (!clock.jobs) {\n        return;\n    }\n    for (var i = 0; i < clock.jobs.length; i++) {\n        var job = clock.jobs[i];\n        job.func.apply(null, job.args);\n    }\n    clock.jobs = [];\n}\n\nfunction addTimer(clock, timer) {\n    if (timer.func === undefined) {\n        throw new Error(\"Callback must be provided to timer calls\");\n    }\n\n    timer.type = timer.immediate ? \"Immediate\" : \"Timeout\";\n\n    if (timer.hasOwnProperty(\"delay\")) {\n        timer.delay = timer.delay > maxTimeout ? 1 : timer.delay;\n        timer.delay = Math.max(0, timer.delay);\n    }\n\n    if (timer.hasOwnProperty(\"interval\")) {\n        timer.type = \"Interval\";\n        timer.interval = timer.interval > maxTimeout ? 1 : timer.interval;\n    }\n\n    if (timer.hasOwnProperty(\"animation\")) {\n        timer.type = \"AnimationFrame\";\n        timer.animation = true;\n    }\n\n    if (!clock.timers) {\n        clock.timers = {};\n    }\n\n    timer.id = uniqueTimerId++;\n    timer.createdAt = clock.now;\n    timer.callAt = clock.now + (parseInt(timer.delay) || (clock.duringTick ? 1 : 0));\n\n    clock.timers[timer.id] = timer;\n\n    if (addTimerReturnsObject) {\n        return {\n            id: timer.id,\n            ref: NOOP,\n            unref: NOOP\n        };\n    }\n\n    return timer.id;\n}\n\n\n/* eslint consistent-return: \"off\" */\nfunction compareTimers(a, b) {\n    // Sort first by absolute timing\n    if (a.callAt < b.callAt) {\n        return -1;\n    }\n    if (a.callAt > b.callAt) {\n        return 1;\n    }\n\n    // Sort next by immediate, immediate timers take precedence\n    if (a.immediate && !b.immediate) {\n        return -1;\n    }\n    if (!a.immediate && b.immediate) {\n        return 1;\n    }\n\n    // Sort next by creation time, earlier-created timers take precedence\n    if (a.createdAt < b.createdAt) {\n        return -1;\n    }\n    if (a.createdAt > b.createdAt) {\n        return 1;\n    }\n\n    // Sort next by id, lower-id timers take precedence\n    if (a.id < b.id) {\n        return -1;\n    }\n    if (a.id > b.id) {\n        return 1;\n    }\n\n    // As timer ids are unique, no fallback `0` is necessary\n}\n\nfunction firstTimerInRange(clock, from, to) {\n    var timers = clock.timers;\n    var timer = null;\n    var id, isInRange;\n\n    for (id in timers) {\n        if (timers.hasOwnProperty(id)) {\n            isInRange = inRange(from, to, timers[id]);\n\n            if (isInRange && (!timer || compareTimers(timer, timers[id]) === 1)) {\n                timer = timers[id];\n            }\n        }\n    }\n\n    return timer;\n}\n\nfunction firstTimer(clock) {\n    var timers = clock.timers;\n    var timer = null;\n    var id;\n\n    for (id in timers) {\n        if (timers.hasOwnProperty(id)) {\n            if (!timer || compareTimers(timer, timers[id]) === 1) {\n                timer = timers[id];\n            }\n        }\n    }\n\n    return timer;\n}\n\nfunction lastTimer(clock) {\n    var timers = clock.timers;\n    var timer = null;\n    var id;\n\n    for (id in timers) {\n        if (timers.hasOwnProperty(id)) {\n            if (!timer || compareTimers(timer, timers[id]) === -1) {\n                timer = timers[id];\n            }\n        }\n    }\n\n    return timer;\n}\n\nfunction callTimer(clock, timer) {\n    if (typeof timer.interval === \"number\") {\n        clock.timers[timer.id].callAt += timer.interval;\n    } else {\n        delete clock.timers[timer.id];\n    }\n\n    if (typeof timer.func === \"function\") {\n        timer.func.apply(null, timer.args);\n    } else {\n        /* eslint no-eval: \"off\" */\n        eval(timer.func);\n    }\n}\n\nfunction clearTimer(clock, timerId, ttype) {\n    if (!timerId) {\n        // null appears to be allowed in most browsers, and appears to be\n        // relied upon by some libraries, like Bootstrap carousel\n        return;\n    }\n\n    if (!clock.timers) {\n        clock.timers = [];\n    }\n\n    // in Node, timerId is an object with .ref()/.unref(), and\n    // its .id field is the actual timer id.\n    if (typeof timerId === \"object\") {\n        timerId = timerId.id;\n    }\n\n    if (clock.timers.hasOwnProperty(timerId)) {\n        // check that the ID matches a timer of the correct type\n        var timer = clock.timers[timerId];\n        if (timer.type === ttype) {\n            delete clock.timers[timerId];\n        } else {\n            var clear = ttype === \"AnimationFrame\" ? \"cancelAnimationFrame\" : \"clear\" + ttype;\n            var schedule = timer.type === \"AnimationFrame\" ? \"requestAnimationFrame\" : \"set\" + timer.type;\n            throw new Error(\"Cannot clear timer: timer created with \" + schedule\n                            + \"() but cleared with \" + clear + \"()\");\n        }\n    }\n}\n\nfunction uninstall(clock, target, config) {\n    var method,\n        i,\n        l;\n    var installedHrTime = \"_hrtime\";\n    var installedNextTick = \"_nextTick\";\n\n    for (i = 0, l = clock.methods.length; i < l; i++) {\n        method = clock.methods[i];\n        if (method === \"hrtime\" && target.process) {\n            target.process.hrtime = clock[installedHrTime];\n        } else if (method === \"nextTick\" && target.process) {\n            target.process.nextTick = clock[installedNextTick];\n        } else {\n            if (target[method] && target[method].hadOwnProperty) {\n                target[method] = clock[\"_\" + method];\n                if (method === \"clearInterval\" && config.shouldAdvanceTime === true) {\n                    target[method](clock.attachedInterval);\n                }\n            } else {\n                try {\n                    delete target[method];\n                } catch (ignore) { /* eslint empty-block: \"off\" */ }\n            }\n        }\n    }\n\n    // Prevent multiple executions which will completely remove these props\n    clock.methods = [];\n\n    // return pending timers, to enable checking what timers remained on uninstall\n    if (!clock.timers) {\n        return [];\n    }\n    return Object.keys(clock.timers).map(function mapper(key) {\n        return clock.timers[key];\n    });\n}\n\nfunction hijackMethod(target, method, clock) {\n    var prop;\n    clock[method].hadOwnProperty = Object.prototype.hasOwnProperty.call(target, method);\n    clock[\"_\" + method] = target[method];\n\n    if (method === \"Date\") {\n        var date = mirrorDateProperties(clock[method], target[method]);\n        target[method] = date;\n    } else {\n        target[method] = function () {\n            return clock[method].apply(clock, arguments);\n        };\n\n        for (prop in clock[method]) {\n            if (clock[method].hasOwnProperty(prop)) {\n                target[method][prop] = clock[method][prop];\n            }\n        }\n    }\n\n    target[method].clock = clock;\n}\n\nfunction doIntervalTick(clock, advanceTimeDelta) {\n    clock.tick(advanceTimeDelta);\n}\n\nvar timers = {\n    setTimeout: setTimeout,\n    clearTimeout: clearTimeout,\n    setImmediate: global.setImmediate,\n    clearImmediate: global.clearImmediate,\n    setInterval: setInterval,\n    clearInterval: clearInterval,\n    Date: Date\n};\n\nif (hrtimePresent) {\n    timers.hrtime = global.process.hrtime;\n}\n\nif (nextTickPresent) {\n    timers.nextTick = global.process.nextTick;\n}\n\nif (performancePresent) {\n    timers.performance = global.performance;\n}\n\nif (requestAnimationFramePresent) {\n    timers.requestAnimationFrame = global.requestAnimationFrame;\n}\n\nif (cancelAnimationFramePresent) {\n    timers.cancelAnimationFrame = global.cancelAnimationFrame;\n}\n\nvar keys = Object.keys || function (obj) {\n    var ks = [];\n    var key;\n\n    for (key in obj) {\n        if (obj.hasOwnProperty(key)) {\n            ks.push(key);\n        }\n    }\n\n    return ks;\n};\n\nexports.timers = timers;\n\n/**\n * @param start {Date|number} the system time\n * @param loopLimit {number}  maximum number of timers that will be run when calling runAll()\n */\nfunction createClock(start, loopLimit) {\n    start = start || 0;\n    loopLimit = loopLimit || 1000;\n\n    var clock = {\n        now: getEpoch(start),\n        hrNow: 0,\n        timeouts: {},\n        Date: createDate(),\n        loopLimit: loopLimit\n    };\n\n    clock.Date.clock = clock;\n\n    function getTimeToNextFrame() {\n        return 16 - ((clock.now - start) % 16);\n    }\n\n    clock.setTimeout = function setTimeout(func, timeout) {\n        return addTimer(clock, {\n            func: func,\n            args: Array.prototype.slice.call(arguments, 2),\n            delay: timeout\n        });\n    };\n\n    clock.clearTimeout = function clearTimeout(timerId) {\n        return clearTimer(clock, timerId, \"Timeout\");\n    };\n    clock.nextTick = function nextTick(func) {\n        return enqueueJob(clock, {\n            func: func,\n            args: Array.prototype.slice.call(arguments, 1)\n        });\n    };\n    clock.setInterval = function setInterval(func, timeout) {\n        return addTimer(clock, {\n            func: func,\n            args: Array.prototype.slice.call(arguments, 2),\n            delay: timeout,\n            interval: timeout\n        });\n    };\n\n    clock.clearInterval = function clearInterval(timerId) {\n        return clearTimer(clock, timerId, \"Interval\");\n    };\n\n    clock.setImmediate = function setImmediate(func) {\n        return addTimer(clock, {\n            func: func,\n            args: Array.prototype.slice.call(arguments, 1),\n            immediate: true\n        });\n    };\n\n    clock.clearImmediate = function clearImmediate(timerId) {\n        return clearTimer(clock, timerId, \"Immediate\");\n    };\n\n    clock.requestAnimationFrame = function requestAnimationFrame(func) {\n        var result = addTimer(clock, {\n            func: func,\n            delay: getTimeToNextFrame(),\n            args: [clock.now + getTimeToNextFrame()],\n            animation: true\n        });\n\n        return result.id || result;\n    };\n\n    clock.cancelAnimationFrame = function cancelAnimationFrame(timerId) {\n        return clearTimer(clock, timerId, \"AnimationFrame\");\n    };\n\n    function updateHrTime(newNow) {\n        clock.hrNow += (newNow - clock.now);\n    }\n\n    clock.tick = function tick(ms) {\n        ms = typeof ms === \"number\" ? ms : parseTime(ms);\n        var tickFrom = clock.now;\n        var tickTo = clock.now + ms;\n        var previous = clock.now;\n        var timer, firstException, oldNow;\n\n        clock.duringTick = true;\n\n        // perform process.nextTick()s\n        oldNow = clock.now;\n        runJobs(clock);\n        if (oldNow !== clock.now) {\n            // compensate for any setSystemTime() call during process.nextTick() callback\n            tickFrom += clock.now - oldNow;\n            tickTo += clock.now - oldNow;\n        }\n\n        // perform each timer in the requested range\n        timer = firstTimerInRange(clock, tickFrom, tickTo);\n        while (timer && tickFrom <= tickTo) {\n            if (clock.timers[timer.id]) {\n                updateHrTime(timer.callAt);\n                tickFrom = timer.callAt;\n                clock.now = timer.callAt;\n                oldNow = clock.now;\n                try {\n                    runJobs(clock);\n                    callTimer(clock, timer);\n                } catch (e) {\n                    firstException = firstException || e;\n                }\n\n                // compensate for any setSystemTime() call during timer callback\n                if (oldNow !== clock.now) {\n                    tickFrom += clock.now - oldNow;\n                    tickTo += clock.now - oldNow;\n                    previous += clock.now - oldNow;\n                }\n            }\n\n            timer = firstTimerInRange(clock, previous, tickTo);\n            previous = tickFrom;\n        }\n\n        // perform process.nextTick()s again\n        oldNow = clock.now;\n        runJobs(clock);\n        if (oldNow !== clock.now) {\n            // compensate for any setSystemTime() call during process.nextTick() callback\n            tickFrom += clock.now - oldNow;\n            tickTo += clock.now - oldNow;\n        }\n        clock.duringTick = false;\n\n        // corner case: during runJobs, new timers were scheduled which could be in the range [clock.now, tickTo]\n        timer = firstTimerInRange(clock, tickFrom, tickTo);\n        if (timer) {\n            try {\n                clock.tick(tickTo - clock.now); // do it all again - for the remainder of the requested range\n            } catch (e) {\n                firstException = firstException || e;\n            }\n        } else {\n            // no timers remaining in the requested range: move the clock all the way to the end\n            updateHrTime(tickTo);\n            clock.now = tickTo;\n        }\n        if (firstException) {\n            throw firstException;\n        }\n        return clock.now;\n    };\n\n    clock.next = function next() {\n        runJobs(clock);\n        var timer = firstTimer(clock);\n        if (!timer) {\n            return clock.now;\n        }\n\n        clock.duringTick = true;\n        try {\n            updateHrTime(timer.callAt);\n            clock.now = timer.callAt;\n            callTimer(clock, timer);\n            runJobs(clock);\n            return clock.now;\n        } finally {\n            clock.duringTick = false;\n        }\n    };\n\n    clock.runAll = function runAll() {\n        var numTimers, i;\n        runJobs(clock);\n        for (i = 0; i < clock.loopLimit; i++) {\n            if (!clock.timers) {\n                return clock.now;\n            }\n\n            numTimers = keys(clock.timers).length;\n            if (numTimers === 0) {\n                return clock.now;\n            }\n\n            clock.next();\n        }\n\n        throw new Error(\"Aborting after running \" + clock.loopLimit + \" timers, assuming an infinite loop!\");\n    };\n\n    clock.runToFrame = function runToFrame() {\n        return clock.tick(getTimeToNextFrame());\n    };\n\n    clock.runToLast = function runToLast() {\n        var timer = lastTimer(clock);\n        if (!timer) {\n            runJobs(clock);\n            return clock.now;\n        }\n\n        return clock.tick(timer.callAt);\n    };\n\n    clock.reset = function reset() {\n        clock.timers = {};\n    };\n\n    clock.setSystemTime = function setSystemTime(systemTime) {\n        // determine time difference\n        var newNow = getEpoch(systemTime);\n        var difference = newNow - clock.now;\n        var id, timer;\n\n        // update 'system clock'\n        clock.now = newNow;\n\n        // update timers and intervals to keep them stable\n        for (id in clock.timers) {\n            if (clock.timers.hasOwnProperty(id)) {\n                timer = clock.timers[id];\n                timer.createdAt += difference;\n                timer.callAt += difference;\n            }\n        }\n    };\n\n    if (performancePresent) {\n        clock.performance = Object.create(global.performance);\n        clock.performance.now = function lolexNow() {\n            return clock.hrNow;\n        };\n    }\n    if (hrtimePresent) {\n        clock.hrtime = function (prev) {\n            if (Array.isArray(prev)) {\n                var oldSecs = (prev[0] + prev[1] / 1e9);\n                var newSecs = (clock.hrNow / 1000);\n                var difference = (newSecs - oldSecs);\n                var secs = fixedFloor(difference);\n                var nanosecs = fixedModulo(difference * 1e9, 1e9);\n                return [\n                    secs,\n                    nanosecs\n                ];\n            }\n            return [\n                fixedFloor(clock.hrNow / 1000),\n                fixedModulo(clock.hrNow * 1e6, 1e9)\n            ];\n        };\n    }\n\n    return clock;\n}\nexports.createClock = createClock;\n\n/**\n * @param config {Object} optional config\n * @param config.target {Object} the target to install timers in (default `window`)\n * @param config.now {number|Date}  a number (in milliseconds) or a Date object (default epoch)\n * @param config.toFake {string[]} names of the methods that should be faked.\n * @param config.loopLimit {number} the maximum number of timers that will be run when calling runAll()\n * @param config.shouldAdvanceTime {Boolean} tells lolex to increment mocked time automatically (default false)\n * @param config.advanceTimeDelta {Number} increment mocked time every <<advanceTimeDelta>> ms (default: 20ms)\n */\nexports.install = function install(config) {\n    if ( arguments.length > 1 || config instanceof Date || Array.isArray(config) || typeof config === \"number\") {\n        throw new TypeError(\"lolex.install called with \" + String(config) +\n            \" lolex 2.0+ requires an object parameter - see https://github.com/sinonjs/lolex\");\n    }\n    config = typeof config !== \"undefined\" ? config : {};\n    config.shouldAdvanceTime = config.shouldAdvanceTime || false;\n    config.advanceTimeDelta = config.advanceTimeDelta || 20;\n\n    var i, l;\n    var target = config.target || global;\n    var clock = createClock(config.now, config.loopLimit);\n\n    clock.uninstall = function () {\n        return uninstall(clock, target, config);\n    };\n\n    clock.methods = config.toFake || [];\n\n    if (clock.methods.length === 0) {\n        // do not fake nextTick by default - GitHub#126\n        clock.methods = keys(timers).filter(function (key) {return key !== \"nextTick\";});\n    }\n\n    for (i = 0, l = clock.methods.length; i < l; i++) {\n        if (clock.methods[i] === \"hrtime\") {\n            if (target.process && typeof target.process.hrtime === \"function\") {\n                hijackMethod(target.process, clock.methods[i], clock);\n            }\n        } else if (clock.methods[i] === \"nextTick\") {\n            if (target.process && typeof target.process.nextTick === \"function\") {\n                hijackMethod(target.process, clock.methods[i], clock);\n            }\n        } else {\n            if (clock.methods[i] === \"setInterval\" && config.shouldAdvanceTime === true) {\n                var intervalTick = doIntervalTick.bind(null, clock, config.advanceTimeDelta);\n                var intervalId = target[clock.methods[i]](\n                    intervalTick,\n                    config.advanceTimeDelta);\n                clock.attachedInterval = intervalId;\n            }\n            hijackMethod(target, clock.methods[i], clock);\n        }\n    }\n\n    return clock;\n};\n\n}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n},{}]},{},[1])(1)\n});"
  },
  {
    "path": "vendor/assets/javascripts/moment-timezone-with-data-2012-2022.js",
    "content": "//! moment-timezone.js\n//! version : 0.5.31\n//! Copyright (c) JS Foundation and other contributors\n//! license : MIT\n//! github.com/moment/moment-timezone\n\n(function (root, factory) {\n\t\"use strict\";\n\n\t/*global define*/\n\tif (typeof module === 'object' && module.exports) {\n\t\tmodule.exports = factory(require('moment')); // Node\n\t} else if (typeof define === 'function' && define.amd) {\n\t\tdefine(['moment'], factory);                 // AMD\n\t} else {\n\t\tfactory(root.moment);                        // Browser\n\t}\n}(this, function (moment) {\n\t\"use strict\";\n\n\t// Resolves es6 module loading issue\n\tif (moment.version === undefined && moment.default) {\n\t\tmoment = moment.default;\n\t}\n\n\t// Do not load moment-timezone a second time.\n\t// if (moment.tz !== undefined) {\n\t// \tlogError('Moment Timezone ' + moment.tz.version + ' was already loaded ' + (moment.tz.dataVersion ? 'with data from ' : 'without any data') + moment.tz.dataVersion);\n\t// \treturn moment;\n\t// }\n\n\tvar VERSION = \"0.5.31\",\n\t\tzones = {},\n\t\tlinks = {},\n\t\tcountries = {},\n\t\tnames = {},\n\t\tguesses = {},\n\t\tcachedGuess;\n\n\tif (!moment || typeof moment.version !== 'string') {\n\t\tlogError('Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/');\n\t}\n\n\tvar momentVersion = moment.version.split('.'),\n\t\tmajor = +momentVersion[0],\n\t\tminor = +momentVersion[1];\n\n\t// Moment.js version check\n\tif (major < 2 || (major === 2 && minor < 6)) {\n\t\tlogError('Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js ' + moment.version + '. See momentjs.com');\n\t}\n\n\t/************************************\n\t\tUnpacking\n\t************************************/\n\n\tfunction charCodeToInt(charCode) {\n\t\tif (charCode > 96) {\n\t\t\treturn charCode - 87;\n\t\t} else if (charCode > 64) {\n\t\t\treturn charCode - 29;\n\t\t}\n\t\treturn charCode - 48;\n\t}\n\n\tfunction unpackBase60(string) {\n\t\tvar i = 0,\n\t\t\tparts = string.split('.'),\n\t\t\twhole = parts[0],\n\t\t\tfractional = parts[1] || '',\n\t\t\tmultiplier = 1,\n\t\t\tnum,\n\t\t\tout = 0,\n\t\t\tsign = 1;\n\n\t\t// handle negative numbers\n\t\tif (string.charCodeAt(0) === 45) {\n\t\t\ti = 1;\n\t\t\tsign = -1;\n\t\t}\n\n\t\t// handle digits before the decimal\n\t\tfor (i; i < whole.length; i++) {\n\t\t\tnum = charCodeToInt(whole.charCodeAt(i));\n\t\t\tout = 60 * out + num;\n\t\t}\n\n\t\t// handle digits after the decimal\n\t\tfor (i = 0; i < fractional.length; i++) {\n\t\t\tmultiplier = multiplier / 60;\n\t\t\tnum = charCodeToInt(fractional.charCodeAt(i));\n\t\t\tout += num * multiplier;\n\t\t}\n\n\t\treturn out * sign;\n\t}\n\n\tfunction arrayToInt(array) {\n\t\tfor (var i = 0; i < array.length; i++) {\n\t\t\tarray[i] = unpackBase60(array[i]);\n\t\t}\n\t}\n\n\tfunction intToUntil(array, length) {\n\t\tfor (var i = 0; i < length; i++) {\n\t\t\tarray[i] = Math.round((array[i - 1] || 0) + (array[i] * 60000)); // minutes to milliseconds\n\t\t}\n\n\t\tarray[length - 1] = Infinity;\n\t}\n\n\tfunction mapIndices(source, indices) {\n\t\tvar out = [], i;\n\n\t\tfor (i = 0; i < indices.length; i++) {\n\t\t\tout[i] = source[indices[i]];\n\t\t}\n\n\t\treturn out;\n\t}\n\n\tfunction unpack(string) {\n\t\tvar data = string.split('|'),\n\t\t\toffsets = data[2].split(' '),\n\t\t\tindices = data[3].split(''),\n\t\t\tuntils = data[4].split(' ');\n\n\t\tarrayToInt(offsets);\n\t\tarrayToInt(indices);\n\t\tarrayToInt(untils);\n\n\t\tintToUntil(untils, indices.length);\n\n\t\treturn {\n\t\t\tname: data[0],\n\t\t\tabbrs: mapIndices(data[1].split(' '), indices),\n\t\t\toffsets: mapIndices(offsets, indices),\n\t\t\tuntils: untils,\n\t\t\tpopulation: data[5] | 0\n\t\t};\n\t}\n\n\t/************************************\n\t\tZone object\n\t************************************/\n\n\tfunction Zone(packedString) {\n\t\tif (packedString) {\n\t\t\tthis._set(unpack(packedString));\n\t\t}\n\t}\n\n\tZone.prototype = {\n\t\t_set: function (unpacked) {\n\t\t\tthis.name = unpacked.name;\n\t\t\tthis.abbrs = unpacked.abbrs;\n\t\t\tthis.untils = unpacked.untils;\n\t\t\tthis.offsets = unpacked.offsets;\n\t\t\tthis.population = unpacked.population;\n\t\t},\n\n\t\t_index: function (timestamp) {\n\t\t\tvar target = +timestamp,\n\t\t\t\tuntils = this.untils,\n\t\t\t\ti;\n\n\t\t\tfor (i = 0; i < untils.length; i++) {\n\t\t\t\tif (target < untils[i]) {\n\t\t\t\t\treturn i;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tcountries: function () {\n\t\t\tvar zone_name = this.name;\n\t\t\treturn Object.keys(countries).filter(function (country_code) {\n\t\t\t\treturn countries[country_code].zones.indexOf(zone_name) !== -1;\n\t\t\t});\n\t\t},\n\n\t\tparse: function (timestamp) {\n\t\t\tvar target = +timestamp,\n\t\t\t\toffsets = this.offsets,\n\t\t\t\tuntils = this.untils,\n\t\t\t\tmax = untils.length - 1,\n\t\t\t\toffset, offsetNext, offsetPrev, i;\n\n\t\t\tfor (i = 0; i < max; i++) {\n\t\t\t\toffset = offsets[i];\n\t\t\t\toffsetNext = offsets[i + 1];\n\t\t\t\toffsetPrev = offsets[i ? i - 1 : i];\n\n\t\t\t\tif (offset < offsetNext && tz.moveAmbiguousForward) {\n\t\t\t\t\toffset = offsetNext;\n\t\t\t\t} else if (offset > offsetPrev && tz.moveInvalidForward) {\n\t\t\t\t\toffset = offsetPrev;\n\t\t\t\t}\n\n\t\t\t\tif (target < untils[i] - (offset * 60000)) {\n\t\t\t\t\treturn offsets[i];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn offsets[max];\n\t\t},\n\n\t\tabbr: function (mom) {\n\t\t\treturn this.abbrs[this._index(mom)];\n\t\t},\n\n\t\toffset: function (mom) {\n\t\t\tlogError(\"zone.offset has been deprecated in favor of zone.utcOffset\");\n\t\t\treturn this.offsets[this._index(mom)];\n\t\t},\n\n\t\tutcOffset: function (mom) {\n\t\t\treturn this.offsets[this._index(mom)];\n\t\t}\n\t};\n\n\t/************************************\n\t\tCountry object\n\t************************************/\n\n\tfunction Country(country_name, zone_names) {\n\t\tthis.name = country_name;\n\t\tthis.zones = zone_names;\n\t}\n\n\t/************************************\n\t\tCurrent Timezone\n\t************************************/\n\n\tfunction OffsetAt(at) {\n\t\tvar timeString = at.toTimeString();\n\t\tvar abbr = timeString.match(/\\([a-z ]+\\)/i);\n\t\tif (abbr && abbr[0]) {\n\t\t\t// 17:56:31 GMT-0600 (CST)\n\t\t\t// 17:56:31 GMT-0600 (Central Standard Time)\n\t\t\tabbr = abbr[0].match(/[A-Z]/g);\n\t\t\tabbr = abbr ? abbr.join('') : undefined;\n\t\t} else {\n\t\t\t// 17:56:31 CST\n\t\t\t// 17:56:31 GMT+0800 (台北標準時間)\n\t\t\tabbr = timeString.match(/[A-Z]{3,5}/g);\n\t\t\tabbr = abbr ? abbr[0] : undefined;\n\t\t}\n\n\t\tif (abbr === 'GMT') {\n\t\t\tabbr = undefined;\n\t\t}\n\n\t\tthis.at = +at;\n\t\tthis.abbr = abbr;\n\t\tthis.offset = at.getTimezoneOffset();\n\t}\n\n\tfunction ZoneScore(zone) {\n\t\tthis.zone = zone;\n\t\tthis.offsetScore = 0;\n\t\tthis.abbrScore = 0;\n\t}\n\n\tZoneScore.prototype.scoreOffsetAt = function (offsetAt) {\n\t\tthis.offsetScore += Math.abs(this.zone.utcOffset(offsetAt.at) - offsetAt.offset);\n\t\tif (this.zone.abbr(offsetAt.at).replace(/[^A-Z]/g, '') !== offsetAt.abbr) {\n\t\t\tthis.abbrScore++;\n\t\t}\n\t};\n\n\tfunction findChange(low, high) {\n\t\tvar mid, diff;\n\n\t\twhile ((diff = ((high.at - low.at) / 12e4 | 0) * 6e4)) {\n\t\t\tmid = new OffsetAt(new Date(low.at + diff));\n\t\t\tif (mid.offset === low.offset) {\n\t\t\t\tlow = mid;\n\t\t\t} else {\n\t\t\t\thigh = mid;\n\t\t\t}\n\t\t}\n\n\t\treturn low;\n\t}\n\n\tfunction userOffsets() {\n\t\tvar startYear = new Date().getFullYear() - 2,\n\t\t\tlast = new OffsetAt(new Date(startYear, 0, 1)),\n\t\t\toffsets = [last],\n\t\t\tchange, next, i;\n\n\t\tfor (i = 1; i < 48; i++) {\n\t\t\tnext = new OffsetAt(new Date(startYear, i, 1));\n\t\t\tif (next.offset !== last.offset) {\n\t\t\t\tchange = findChange(last, next);\n\t\t\t\toffsets.push(change);\n\t\t\t\toffsets.push(new OffsetAt(new Date(change.at + 6e4)));\n\t\t\t}\n\t\t\tlast = next;\n\t\t}\n\n\t\tfor (i = 0; i < 4; i++) {\n\t\t\toffsets.push(new OffsetAt(new Date(startYear + i, 0, 1)));\n\t\t\toffsets.push(new OffsetAt(new Date(startYear + i, 6, 1)));\n\t\t}\n\n\t\treturn offsets;\n\t}\n\n\tfunction sortZoneScores(a, b) {\n\t\tif (a.offsetScore !== b.offsetScore) {\n\t\t\treturn a.offsetScore - b.offsetScore;\n\t\t}\n\t\tif (a.abbrScore !== b.abbrScore) {\n\t\t\treturn a.abbrScore - b.abbrScore;\n\t\t}\n\t\tif (a.zone.population !== b.zone.population) {\n\t\t\treturn b.zone.population - a.zone.population;\n\t\t}\n\t\treturn b.zone.name.localeCompare(a.zone.name);\n\t}\n\n\tfunction addToGuesses(name, offsets) {\n\t\tvar i, offset;\n\t\tarrayToInt(offsets);\n\t\tfor (i = 0; i < offsets.length; i++) {\n\t\t\toffset = offsets[i];\n\t\t\tguesses[offset] = guesses[offset] || {};\n\t\t\tguesses[offset][name] = true;\n\t\t}\n\t}\n\n\tfunction guessesForUserOffsets(offsets) {\n\t\tvar offsetsLength = offsets.length,\n\t\t\tfilteredGuesses = {},\n\t\t\tout = [],\n\t\t\ti, j, guessesOffset;\n\n\t\tfor (i = 0; i < offsetsLength; i++) {\n\t\t\tguessesOffset = guesses[offsets[i].offset] || {};\n\t\t\tfor (j in guessesOffset) {\n\t\t\t\tif (guessesOffset.hasOwnProperty(j)) {\n\t\t\t\t\tfilteredGuesses[j] = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfor (i in filteredGuesses) {\n\t\t\tif (filteredGuesses.hasOwnProperty(i)) {\n\t\t\t\tout.push(names[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn out;\n\t}\n\n\tfunction rebuildGuess() {\n\n\t\t// use Intl API when available and returning valid time zone\n\t\ttry {\n\t\t\tvar intlName = Intl.DateTimeFormat().resolvedOptions().timeZone;\n\t\t\tif (intlName && intlName.length > 3) {\n\t\t\t\tvar name = names[normalizeName(intlName)];\n\t\t\t\tif (name) {\n\t\t\t\t\treturn name;\n\t\t\t\t}\n\t\t\t\tlogError(\"Moment Timezone found \" + intlName + \" from the Intl api, but did not have that data loaded.\");\n\t\t\t}\n\t\t} catch (e) {\n\t\t\t// Intl unavailable, fall back to manual guessing.\n\t\t}\n\n\t\tvar offsets = userOffsets(),\n\t\t\toffsetsLength = offsets.length,\n\t\t\tguesses = guessesForUserOffsets(offsets),\n\t\t\tzoneScores = [],\n\t\t\tzoneScore, i, j;\n\n\t\tfor (i = 0; i < guesses.length; i++) {\n\t\t\tzoneScore = new ZoneScore(getZone(guesses[i]), offsetsLength);\n\t\t\tfor (j = 0; j < offsetsLength; j++) {\n\t\t\t\tzoneScore.scoreOffsetAt(offsets[j]);\n\t\t\t}\n\t\t\tzoneScores.push(zoneScore);\n\t\t}\n\n\t\tzoneScores.sort(sortZoneScores);\n\n\t\treturn zoneScores.length > 0 ? zoneScores[0].zone.name : undefined;\n\t}\n\n\tfunction guess(ignoreCache) {\n\t\tif (!cachedGuess || ignoreCache) {\n\t\t\tcachedGuess = rebuildGuess();\n\t\t}\n\t\treturn cachedGuess;\n\t}\n\n\t/************************************\n\t\tGlobal Methods\n\t************************************/\n\n\tfunction normalizeName(name) {\n\t\treturn (name || '').toLowerCase().replace(/\\//g, '_');\n\t}\n\n\tfunction addZone(packed) {\n\t\tvar i, name, split, normalized;\n\n\t\tif (typeof packed === \"string\") {\n\t\t\tpacked = [packed];\n\t\t}\n\n\t\tfor (i = 0; i < packed.length; i++) {\n\t\t\tsplit = packed[i].split('|');\n\t\t\tname = split[0];\n\t\t\tnormalized = normalizeName(name);\n\t\t\tzones[normalized] = packed[i];\n\t\t\tnames[normalized] = name;\n\t\t\taddToGuesses(normalized, split[2].split(' '));\n\t\t}\n\t}\n\n\tfunction getZone(name, caller) {\n\n\t\tname = normalizeName(name);\n\n\t\tvar zone = zones[name];\n\t\tvar link;\n\n\t\tif (zone instanceof Zone) {\n\t\t\treturn zone;\n\t\t}\n\n\t\tif (typeof zone === 'string') {\n\t\t\tzone = new Zone(zone);\n\t\t\tzones[name] = zone;\n\t\t\treturn zone;\n\t\t}\n\n\t\t// Pass getZone to prevent recursion more than 1 level deep\n\t\tif (links[name] && caller !== getZone && (link = getZone(links[name], getZone))) {\n\t\t\tzone = zones[name] = new Zone();\n\t\t\tzone._set(link);\n\t\t\tzone.name = names[name];\n\t\t\treturn zone;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tfunction getNames() {\n\t\tvar i, out = [];\n\n\t\tfor (i in names) {\n\t\t\tif (names.hasOwnProperty(i) && (zones[i] || zones[links[i]]) && names[i]) {\n\t\t\t\tout.push(names[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn out.sort();\n\t}\n\n\tfunction getCountryNames() {\n\t\treturn Object.keys(countries);\n\t}\n\n\tfunction addLink(aliases) {\n\t\tvar i, alias, normal0, normal1;\n\n\t\tif (typeof aliases === \"string\") {\n\t\t\taliases = [aliases];\n\t\t}\n\n\t\tfor (i = 0; i < aliases.length; i++) {\n\t\t\talias = aliases[i].split('|');\n\n\t\t\tnormal0 = normalizeName(alias[0]);\n\t\t\tnormal1 = normalizeName(alias[1]);\n\n\t\t\tlinks[normal0] = normal1;\n\t\t\tnames[normal0] = alias[0];\n\n\t\t\tlinks[normal1] = normal0;\n\t\t\tnames[normal1] = alias[1];\n\t\t}\n\t}\n\n\tfunction addCountries(data) {\n\t\tvar i, country_code, country_zones, split;\n\t\tif (!data || !data.length) return;\n\t\tfor (i = 0; i < data.length; i++) {\n\t\t\tsplit = data[i].split('|');\n\t\t\tcountry_code = split[0].toUpperCase();\n\t\t\tcountry_zones = split[1].split(' ');\n\t\t\tcountries[country_code] = new Country(\n\t\t\t\tcountry_code,\n\t\t\t\tcountry_zones\n\t\t\t);\n\t\t}\n\t}\n\n\tfunction getCountry(name) {\n\t\tname = name.toUpperCase();\n\t\treturn countries[name] || null;\n\t}\n\n\tfunction zonesForCountry(country, with_offset) {\n\t\tcountry = getCountry(country);\n\n\t\tif (!country) return null;\n\n\t\tvar zones = country.zones.sort();\n\n\t\tif (with_offset) {\n\t\t\treturn zones.map(function (zone_name) {\n\t\t\t\tvar zone = getZone(zone_name);\n\t\t\t\treturn {\n\t\t\t\t\tname: zone_name,\n\t\t\t\t\toffset: zone.utcOffset(new Date())\n\t\t\t\t};\n\t\t\t});\n\t\t}\n\n\t\treturn zones;\n\t}\n\n\tfunction loadData(data) {\n\t\taddZone(data.zones);\n\t\taddLink(data.links);\n\t\taddCountries(data.countries);\n\t\ttz.dataVersion = data.version;\n\t}\n\n\tfunction zoneExists(name) {\n\t\tif (!zoneExists.didShowError) {\n\t\t\tzoneExists.didShowError = true;\n\t\t\tlogError(\"moment.tz.zoneExists('\" + name + \"') has been deprecated in favor of !moment.tz.zone('\" + name + \"')\");\n\t\t}\n\t\treturn !!getZone(name);\n\t}\n\n\tfunction needsOffset(m) {\n\t\tvar isUnixTimestamp = (m._f === 'X' || m._f === 'x');\n\t\treturn !!(m._a && (m._tzm === undefined) && !isUnixTimestamp);\n\t}\n\n\tfunction logError(message) {\n\t\tif (typeof console !== 'undefined' && typeof console.error === 'function') {\n\t\t\tconsole.error(message);\n\t\t}\n\t}\n\n\t/************************************\n\t\tmoment.tz namespace\n\t************************************/\n\n\tfunction tz(input) {\n\t\tvar args = Array.prototype.slice.call(arguments, 0, -1),\n\t\t\tname = arguments[arguments.length - 1],\n\t\t\tzone = getZone(name),\n\t\t\tout = moment.utc.apply(null, args);\n\n\t\tif (zone && !moment.isMoment(input) && needsOffset(out)) {\n\t\t\tout.add(zone.parse(out), 'minutes');\n\t\t}\n\n\t\tout.tz(name);\n\n\t\treturn out;\n\t}\n\n\ttz.version = VERSION;\n\ttz.dataVersion = '';\n\ttz._zones = zones;\n\ttz._links = links;\n\ttz._names = names;\n\ttz._countries = countries;\n\ttz.add = addZone;\n\ttz.link = addLink;\n\ttz.load = loadData;\n\ttz.zone = getZone;\n\ttz.zoneExists = zoneExists; // deprecated in 0.1.0\n\ttz.guess = guess;\n\ttz.names = getNames;\n\ttz.Zone = Zone;\n\ttz.unpack = unpack;\n\ttz.unpackBase60 = unpackBase60;\n\ttz.needsOffset = needsOffset;\n\ttz.moveInvalidForward = true;\n\ttz.moveAmbiguousForward = false;\n\ttz.countries = getCountryNames;\n\ttz.zonesForCountry = zonesForCountry;\n\n\t/************************************\n\t\tInterface with Moment.js\n\t************************************/\n\n\tvar fn = moment.fn;\n\n\tmoment.tz = tz;\n\n\tmoment.defaultZone = null;\n\n\tmoment.updateOffset = function (mom, keepTime) {\n\t\tvar zone = moment.defaultZone,\n\t\t\toffset;\n\n\t\tif (mom._z === undefined) {\n\t\t\tif (zone && needsOffset(mom) && !mom._isUTC) {\n\t\t\t\tmom._d = moment.utc(mom._a)._d;\n\t\t\t\tmom.utc().add(zone.parse(mom), 'minutes');\n\t\t\t}\n\t\t\tmom._z = zone;\n\t\t}\n\t\tif (mom._z) {\n\t\t\toffset = mom._z.utcOffset(mom);\n\t\t\tif (Math.abs(offset) < 16) {\n\t\t\t\toffset = offset / 60;\n\t\t\t}\n\t\t\tif (mom.utcOffset !== undefined) {\n\t\t\t\tvar z = mom._z;\n\t\t\t\tmom.utcOffset(-offset, keepTime);\n\t\t\t\tmom._z = z;\n\t\t\t} else {\n\t\t\t\tmom.zone(offset, keepTime);\n\t\t\t}\n\t\t}\n\t};\n\n\tfn.tz = function (name, keepTime) {\n\t\tif (name) {\n\t\t\tif (typeof name !== 'string') {\n\t\t\t\tthrow new Error('Time zone name must be a string, got ' + name + ' [' + typeof name + ']');\n\t\t\t}\n\t\t\tthis._z = getZone(name);\n\t\t\tif (this._z) {\n\t\t\t\tmoment.updateOffset(this, keepTime);\n\t\t\t} else {\n\t\t\t\tlogError(\"Moment Timezone has no data for \" + name + \". See http://momentjs.com/timezone/docs/#/data-loading/.\");\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tif (this._z) { return this._z.name; }\n\t};\n\n\tfunction abbrWrap(old) {\n\t\treturn function () {\n\t\t\tif (this._z) { return this._z.abbr(this); }\n\t\t\treturn old.call(this);\n\t\t};\n\t}\n\n\tfunction resetZoneWrap(old) {\n\t\treturn function () {\n\t\t\tthis._z = null;\n\t\t\treturn old.apply(this, arguments);\n\t\t};\n\t}\n\n\tfunction resetZoneWrap2(old) {\n\t\treturn function () {\n\t\t\tif (arguments.length > 0) this._z = null;\n\t\t\treturn old.apply(this, arguments);\n\t\t};\n\t}\n\n\tfn.zoneName = abbrWrap(fn.zoneName);\n\tfn.zoneAbbr = abbrWrap(fn.zoneAbbr);\n\tfn.utc = resetZoneWrap(fn.utc);\n\tfn.local = resetZoneWrap(fn.local);\n\tfn.utcOffset = resetZoneWrap2(fn.utcOffset);\n\n\tmoment.tz.setDefault = function (name) {\n\t\tif (major < 2 || (major === 2 && minor < 9)) {\n\t\t\tlogError('Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js ' + moment.version + '.');\n\t\t}\n\t\tmoment.defaultZone = name ? getZone(name) : null;\n\t\treturn moment;\n\t};\n\n\t// Cloning a moment should include the _z property.\n\tvar momentProperties = moment.momentProperties;\n\tif (Object.prototype.toString.call(momentProperties) === '[object Array]') {\n\t\t// moment 2.8.1+\n\t\tmomentProperties.push('_z');\n\t\tmomentProperties.push('_a');\n\t} else if (momentProperties) {\n\t\t// moment 2.7.0\n\t\tmomentProperties._z = null;\n\t}\n\n\tloadData({\n\t\t\"version\": \"2020a\",\n\t\t\"zones\": [\n\t\t\t\"Africa/Abidjan|GMT|0|0||48e5\",\n\t\t\t\"Africa/Nairobi|EAT|-30|0||47e5\",\n\t\t\t\"Africa/Algiers|CET|-10|0||26e5\",\n\t\t\t\"Africa/Lagos|WAT|-10|0||17e6\",\n\t\t\t\"Africa/Maputo|CAT|-20|0||26e5\",\n\t\t\t\"Africa/Cairo|EET EEST|-20 -30|01010|1M2m0 gL0 e10 mn0|15e6\",\n\t\t\t\"Africa/Casablanca|+00 +01|0 -10|010101010101010101010101010101010101|1H3C0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 28M0 e00 2600 gM0 2600 e00 2600 gM0|32e5\",\n\t\t\t\"Europe/Paris|CET CEST|-10 -20|01010101010101010101010|1GNB0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|11e6\",\n\t\t\t\"Africa/Johannesburg|SAST|-20|0||84e5\",\n\t\t\t\"Africa/Khartoum|EAT CAT|-30 -20|01|1Usl0|51e5\",\n\t\t\t\"Africa/Sao_Tome|GMT WAT|0 -10|010|1UQN0 2q00|\",\n\t\t\t\"Africa/Tripoli|EET CET CEST|-20 -10 -20|0120|1IlA0 TA0 1o00|11e5\",\n\t\t\t\"Africa/Windhoek|CAT WAT|-20 -10|0101010101010|1GQo0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0|32e4\",\n\t\t\t\"America/Adak|HST HDT|a0 90|01010101010101010101010|1GIc0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|326\",\n\t\t\t\"America/Anchorage|AKST AKDT|90 80|01010101010101010101010|1GIb0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|30e4\",\n\t\t\t\"America/Santo_Domingo|AST|40|0||29e5\",\n\t\t\t\"America/Araguaina|-03 -02|30 20|010|1IdD0 Lz0|14e4\",\n\t\t\t\"America/Fortaleza|-03|30|0||34e5\",\n\t\t\t\"America/Asuncion|-03 -04|30 40|01010101010101010101010|1GTf0 1cN0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0|28e5\",\n\t\t\t\"America/Panama|EST|50|0||15e5\",\n\t\t\t\"America/Mexico_City|CST CDT|60 50|01010101010101010101010|1GQw0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0|20e6\",\n\t\t\t\"America/Bahia|-02 -03|20 30|01|1GCq0|27e5\",\n\t\t\t\"America/Managua|CST|60|0||22e5\",\n\t\t\t\"America/La_Paz|-04|40|0||19e5\",\n\t\t\t\"America/Lima|-05|50|0||11e6\",\n\t\t\t\"America/Denver|MST MDT|70 60|01010101010101010101010|1GI90 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|26e5\",\n\t\t\t\"America/Campo_Grande|-03 -04|30 40|0101010101010101|1GCr0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0|77e4\",\n\t\t\t\"America/Cancun|CST CDT EST|60 50 50|01010102|1GQw0 1nX0 14p0 1lb0 14p0 1lb0 Dd0|63e4\",\n\t\t\t\"America/Caracas|-0430 -04|4u 40|01|1QMT0|29e5\",\n\t\t\t\"America/Chicago|CST CDT|60 50|01010101010101010101010|1GI80 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|92e5\",\n\t\t\t\"America/Chihuahua|MST MDT|70 60|01010101010101010101010|1GQx0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0|81e4\",\n\t\t\t\"America/Phoenix|MST|70|0||42e5\",\n\t\t\t\"America/Whitehorse|PST PDT MST|80 70 70|010101010101010102|1GIa0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0|23e3\",\n\t\t\t\"America/New_York|EST EDT|50 40|01010101010101010101010|1GI70 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|21e6\",\n\t\t\t\"America/Rio_Branco|-04 -05|40 50|01|1KLE0|31e4\",\n\t\t\t\"America/Los_Angeles|PST PDT|80 70|01010101010101010101010|1GIa0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|15e6\",\n\t\t\t\"America/Fort_Nelson|PST PDT MST|80 70 70|01010102|1GIa0 1zb0 Op0 1zb0 Op0 1zb0 Op0|39e2\",\n\t\t\t\"America/Halifax|AST ADT|40 30|01010101010101010101010|1GI60 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|39e4\",\n\t\t\t\"America/Godthab|-03 -02|30 20|01010101010101010101010|1GNB0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|17e3\",\n\t\t\t\"America/Grand_Turk|EST EDT AST|50 40 40|0101010121010101010|1GI70 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 5Ip0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|37e2\",\n\t\t\t\"America/Havana|CST CDT|50 40|01010101010101010101010|1GQt0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0|21e5\",\n\t\t\t\"America/Metlakatla|PST AKST AKDT|80 90 80|01212120121212121|1PAa0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 uM0 jB0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|14e2\",\n\t\t\t\"America/Miquelon|-03 -02|30 20|01010101010101010101010|1GI50 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|61e2\",\n\t\t\t\"America/Montevideo|-02 -03|20 30|01010101|1GI40 1o10 11z0 1o10 11z0 1o10 11z0|17e5\",\n\t\t\t\"America/Noronha|-02|20|0||30e2\",\n\t\t\t\"America/Port-au-Prince|EST EDT|50 40|010101010101010101010|1GI70 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 3iN0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|23e5\",\n\t\t\t\"Antarctica/Palmer|-03 -04|30 40|010101010|1H3D0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0|40\",\n\t\t\t\"America/Santiago|-03 -04|30 40|010101010101010101010|1H3D0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0|62e5\",\n\t\t\t\"America/Sao_Paulo|-02 -03|20 30|0101010101010101|1GCq0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0|20e6\",\n\t\t\t\"Atlantic/Azores|-01 +00|10 0|01010101010101010101010|1GNB0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|25e4\",\n\t\t\t\"America/St_Johns|NST NDT|3u 2u|01010101010101010101010|1GI5u 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|11e4\",\n\t\t\t\"Antarctica/Casey|+11 +08|-b0 -80|0101|1GAF0 blz0 3m10|10\",\n\t\t\t\"Antarctica/Davis|+05 +07|-50 -70|01|1GAI0|70\",\n\t\t\t\"Pacific/Port_Moresby|+10|-a0|0||25e4\",\n\t\t\t\"Pacific/Guadalcanal|+11|-b0|0||11e4\",\n\t\t\t\"Asia/Tashkent|+05|-50|0||23e5\",\n\t\t\t\"Pacific/Auckland|NZDT NZST|-d0 -c0|01010101010101010101010|1GQe0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00|14e5\",\n\t\t\t\"Asia/Baghdad|+03|-30|0||66e5\",\n\t\t\t\"Antarctica/Troll|+00 +02|0 -20|01010101010101010101010|1GNB0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|40\",\n\t\t\t\"Asia/Dhaka|+06|-60|0||16e6\",\n\t\t\t\"Asia/Amman|EET EEST|-20 -30|010101010101010101010|1GPy0 4bX0 Dd0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00|25e5\",\n\t\t\t\"Asia/Kamchatka|+12|-c0|0||18e4\",\n\t\t\t\"Asia/Baku|+04 +05|-40 -50|010101010|1GNA0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|27e5\",\n\t\t\t\"Asia/Bangkok|+07|-70|0||15e6\",\n\t\t\t\"Asia/Barnaul|+07 +06|-70 -60|010|1N7v0 3rd0|\",\n\t\t\t\"Asia/Beirut|EET EEST|-20 -30|01010101010101010101010|1GNy0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0|22e5\",\n\t\t\t\"Asia/Kuala_Lumpur|+08|-80|0||71e5\",\n\t\t\t\"Asia/Kolkata|IST|-5u|0||15e6\",\n\t\t\t\"Asia/Chita|+10 +08 +09|-a0 -80 -90|012|1N7s0 3re0|33e4\",\n\t\t\t\"Asia/Ulaanbaatar|+08 +09|-80 -90|01010|1O8G0 1cJ0 1cP0 1cJ0|12e5\",\n\t\t\t\"Asia/Shanghai|CST|-80|0||23e6\",\n\t\t\t\"Asia/Colombo|+0530|-5u|0||22e5\",\n\t\t\t\"Asia/Damascus|EET EEST|-20 -30|01010101010101010101010|1GPy0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0|26e5\",\n\t\t\t\"Asia/Dili|+09|-90|0||19e4\",\n\t\t\t\"Asia/Dubai|+04|-40|0||39e5\",\n\t\t\t\"Asia/Famagusta|EET EEST +03|-20 -30 -30|0101010101201010101010|1GNB0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 15U0 2Ks0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|\",\n\t\t\t\"Asia/Gaza|EET EEST|-20 -30|01010101010101010101010|1GPy0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nz0 1220 1qL0 WN0 1qL0 WN0 1qL0 11c0 1oo0 11c0 1rc0 Wo0 1rc0 Wo0 1rc0|18e5\",\n\t\t\t\"Asia/Hong_Kong|HKT|-80|0||73e5\",\n\t\t\t\"Asia/Hovd|+07 +08|-70 -80|01010|1O8H0 1cJ0 1cP0 1cJ0|81e3\",\n\t\t\t\"Asia/Irkutsk|+09 +08|-90 -80|01|1N7t0|60e4\",\n\t\t\t\"Europe/Istanbul|EET EEST +03|-20 -30 -30|01010101012|1GNB0 1qM0 11A0 1o00 1200 1nA0 11A0 1tA0 U00 15w0|13e6\",\n\t\t\t\"Asia/Jakarta|WIB|-70|0||31e6\",\n\t\t\t\"Asia/Jayapura|WIT|-90|0||26e4\",\n\t\t\t\"Asia/Jerusalem|IST IDT|-20 -30|01010101010101010101010|1GPA0 1aL0 1eN0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0|81e4\",\n\t\t\t\"Asia/Kabul|+0430|-4u|0||46e5\",\n\t\t\t\"Asia/Karachi|PKT|-50|0||24e6\",\n\t\t\t\"Asia/Kathmandu|+0545|-5J|0||12e5\",\n\t\t\t\"Asia/Yakutsk|+10 +09|-a0 -90|01|1N7s0|28e4\",\n\t\t\t\"Asia/Krasnoyarsk|+08 +07|-80 -70|01|1N7u0|10e5\",\n\t\t\t\"Asia/Magadan|+12 +10 +11|-c0 -a0 -b0|012|1N7q0 3Cq0|95e3\",\n\t\t\t\"Asia/Makassar|WITA|-80|0||15e5\",\n\t\t\t\"Asia/Manila|PST|-80|0||24e6\",\n\t\t\t\"Europe/Athens|EET EEST|-20 -30|01010101010101010101010|1GNB0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|35e5\",\n\t\t\t\"Asia/Novosibirsk|+07 +06|-70 -60|010|1N7v0 4eN0|15e5\",\n\t\t\t\"Asia/Omsk|+07 +06|-70 -60|01|1N7v0|12e5\",\n\t\t\t\"Asia/Pyongyang|KST KST|-90 -8u|010|1P4D0 6BA0|29e5\",\n\t\t\t\"Asia/Qyzylorda|+06 +05|-60 -50|01|1Xei0|73e4\",\n\t\t\t\"Asia/Rangoon|+0630|-6u|0||48e5\",\n\t\t\t\"Asia/Sakhalin|+11 +10|-b0 -a0|010|1N7r0 3rd0|58e4\",\n\t\t\t\"Asia/Seoul|KST|-90|0||23e6\",\n\t\t\t\"Asia/Srednekolymsk|+12 +11|-c0 -b0|01|1N7q0|35e2\",\n\t\t\t\"Asia/Tehran|+0330 +0430|-3u -4u|01010101010101010101010|1GLUu 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0|14e6\",\n\t\t\t\"Asia/Tokyo|JST|-90|0||38e6\",\n\t\t\t\"Asia/Tomsk|+07 +06|-70 -60|010|1N7v0 3Qp0|10e5\",\n\t\t\t\"Asia/Vladivostok|+11 +10|-b0 -a0|01|1N7r0|60e4\",\n\t\t\t\"Asia/Yekaterinburg|+06 +05|-60 -50|01|1N7w0|14e5\",\n\t\t\t\"Europe/Lisbon|WET WEST|0 -10|01010101010101010101010|1GNB0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|27e5\",\n\t\t\t\"Atlantic/Cape_Verde|-01|10|0||50e4\",\n\t\t\t\"Australia/Sydney|AEDT AEST|-b0 -a0|01010101010101010101010|1GQg0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0|40e5\",\n\t\t\t\"Australia/Adelaide|ACDT ACST|-au -9u|01010101010101010101010|1GQgu 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0|11e5\",\n\t\t\t\"Australia/Brisbane|AEST|-a0|0||20e5\",\n\t\t\t\"Australia/Darwin|ACST|-9u|0||12e4\",\n\t\t\t\"Australia/Eucla|+0845|-8J|0||368\",\n\t\t\t\"Australia/Lord_Howe|+11 +1030|-b0 -au|01010101010101010101010|1GQf0 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu|347\",\n\t\t\t\"Australia/Perth|AWST|-80|0||18e5\",\n\t\t\t\"Pacific/Easter|-05 -06|50 60|010101010101010101010|1H3D0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0|30e2\",\n\t\t\t\"Europe/Dublin|GMT IST|0 -10|01010101010101010101010|1GNB0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|12e5\",\n\t\t\t\"Etc/GMT-1|+01|-10|0||\",\n\t\t\t\"Pacific/Fakaofo|+13|-d0|0||483\",\n\t\t\t\"Pacific/Kiritimati|+14|-e0|0||51e2\",\n\t\t\t\"Etc/GMT-2|+02|-20|0||\",\n\t\t\t\"Pacific/Tahiti|-10|a0|0||18e4\",\n\t\t\t\"Pacific/Niue|-11|b0|0||12e2\",\n\t\t\t\"Etc/GMT+12|-12|c0|0||\",\n\t\t\t\"Pacific/Galapagos|-06|60|0||25e3\",\n\t\t\t\"Etc/GMT+7|-07|70|0||\",\n\t\t\t\"Pacific/Pitcairn|-08|80|0||56\",\n\t\t\t\"Pacific/Gambier|-09|90|0||125\",\n\t\t\t\"Etc/UTC|UTC|0|0||\",\n\t\t\t\"Europe/Ulyanovsk|+04 +03|-40 -30|010|1N7y0 3rd0|13e5\",\n\t\t\t\"Europe/London|GMT BST|0 -10|01010101010101010101010|1GNB0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|10e6\",\n\t\t\t\"Europe/Chisinau|EET EEST|-20 -30|01010101010101010101010|1GNA0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|67e4\",\n\t\t\t\"Europe/Kaliningrad|+03 EET|-30 -20|01|1N7z0|44e4\",\n\t\t\t\"Europe/Kirov|+04 +03|-40 -30|01|1N7y0|48e4\",\n\t\t\t\"Europe/Moscow|MSK MSK|-40 -30|01|1N7y0|16e6\",\n\t\t\t\"Europe/Saratov|+04 +03|-40 -30|010|1N7y0 5810|\",\n\t\t\t\"Europe/Simferopol|EET EEST MSK MSK|-20 -30 -40 -30|0101023|1GNB0 1qM0 11A0 1o00 11z0 1nW0|33e4\",\n\t\t\t\"Europe/Volgograd|+04 +03|-40 -30|010|1N7y0 9Jd0|10e5\",\n\t\t\t\"Pacific/Honolulu|HST|a0|0||37e4\",\n\t\t\t\"MET|MET MEST|-10 -20|01010101010101010101010|1GNB0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|\",\n\t\t\t\"Pacific/Chatham|+1345 +1245|-dJ -cJ|01010101010101010101010|1GQe0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00|600\",\n\t\t\t\"Pacific/Apia|+14 +13|-e0 -d0|01010101010101010101010|1GQe0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00|37e3\",\n\t\t\t\"Pacific/Bougainville|+10 +11|-a0 -b0|01|1NwE0|18e4\",\n\t\t\t\"Pacific/Fiji|+13 +12|-d0 -c0|01010101010101010101010|1Goe0 1Nc0 Ao0 1Q00 xz0 1SN0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 s00 20o0 pc0 20o0 s00 20o0 pc0 20o0|88e4\",\n\t\t\t\"Pacific/Guam|ChST|-a0|0||17e4\",\n\t\t\t\"Pacific/Marquesas|-0930|9u|0||86e2\",\n\t\t\t\"Pacific/Pago_Pago|SST|b0|0||37e2\",\n\t\t\t\"Pacific/Norfolk|+1130 +11 +12|-bu -b0 -c0|012121212|1PoCu 9Jcu 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0|25e4\",\n\t\t\t\"Pacific/Tongatapu|+13 +14|-d0 -e0|010|1S4d0 s00|75e3\"\n\t\t],\n\t\t\"links\": [\n\t\t\t\"Africa/Abidjan|Africa/Accra\",\n\t\t\t\"Africa/Abidjan|Africa/Bamako\",\n\t\t\t\"Africa/Abidjan|Africa/Banjul\",\n\t\t\t\"Africa/Abidjan|Africa/Bissau\",\n\t\t\t\"Africa/Abidjan|Africa/Conakry\",\n\t\t\t\"Africa/Abidjan|Africa/Dakar\",\n\t\t\t\"Africa/Abidjan|Africa/Freetown\",\n\t\t\t\"Africa/Abidjan|Africa/Lome\",\n\t\t\t\"Africa/Abidjan|Africa/Monrovia\",\n\t\t\t\"Africa/Abidjan|Africa/Nouakchott\",\n\t\t\t\"Africa/Abidjan|Africa/Ouagadougou\",\n\t\t\t\"Africa/Abidjan|Africa/Timbuktu\",\n\t\t\t\"Africa/Abidjan|America/Danmarkshavn\",\n\t\t\t\"Africa/Abidjan|Atlantic/Reykjavik\",\n\t\t\t\"Africa/Abidjan|Atlantic/St_Helena\",\n\t\t\t\"Africa/Abidjan|Etc/GMT\",\n\t\t\t\"Africa/Abidjan|Etc/GMT+0\",\n\t\t\t\"Africa/Abidjan|Etc/GMT-0\",\n\t\t\t\"Africa/Abidjan|Etc/GMT0\",\n\t\t\t\"Africa/Abidjan|Etc/Greenwich\",\n\t\t\t\"Africa/Abidjan|GMT\",\n\t\t\t\"Africa/Abidjan|GMT+0\",\n\t\t\t\"Africa/Abidjan|GMT-0\",\n\t\t\t\"Africa/Abidjan|GMT0\",\n\t\t\t\"Africa/Abidjan|Greenwich\",\n\t\t\t\"Africa/Abidjan|Iceland\",\n\t\t\t\"Africa/Algiers|Africa/Tunis\",\n\t\t\t\"Africa/Cairo|Egypt\",\n\t\t\t\"Africa/Casablanca|Africa/El_Aaiun\",\n\t\t\t\"Africa/Johannesburg|Africa/Maseru\",\n\t\t\t\"Africa/Johannesburg|Africa/Mbabane\",\n\t\t\t\"Africa/Lagos|Africa/Bangui\",\n\t\t\t\"Africa/Lagos|Africa/Brazzaville\",\n\t\t\t\"Africa/Lagos|Africa/Douala\",\n\t\t\t\"Africa/Lagos|Africa/Kinshasa\",\n\t\t\t\"Africa/Lagos|Africa/Libreville\",\n\t\t\t\"Africa/Lagos|Africa/Luanda\",\n\t\t\t\"Africa/Lagos|Africa/Malabo\",\n\t\t\t\"Africa/Lagos|Africa/Ndjamena\",\n\t\t\t\"Africa/Lagos|Africa/Niamey\",\n\t\t\t\"Africa/Lagos|Africa/Porto-Novo\",\n\t\t\t\"Africa/Maputo|Africa/Blantyre\",\n\t\t\t\"Africa/Maputo|Africa/Bujumbura\",\n\t\t\t\"Africa/Maputo|Africa/Gaborone\",\n\t\t\t\"Africa/Maputo|Africa/Harare\",\n\t\t\t\"Africa/Maputo|Africa/Kigali\",\n\t\t\t\"Africa/Maputo|Africa/Lubumbashi\",\n\t\t\t\"Africa/Maputo|Africa/Lusaka\",\n\t\t\t\"Africa/Nairobi|Africa/Addis_Ababa\",\n\t\t\t\"Africa/Nairobi|Africa/Asmara\",\n\t\t\t\"Africa/Nairobi|Africa/Asmera\",\n\t\t\t\"Africa/Nairobi|Africa/Dar_es_Salaam\",\n\t\t\t\"Africa/Nairobi|Africa/Djibouti\",\n\t\t\t\"Africa/Nairobi|Africa/Juba\",\n\t\t\t\"Africa/Nairobi|Africa/Kampala\",\n\t\t\t\"Africa/Nairobi|Africa/Mogadishu\",\n\t\t\t\"Africa/Nairobi|Indian/Antananarivo\",\n\t\t\t\"Africa/Nairobi|Indian/Comoro\",\n\t\t\t\"Africa/Nairobi|Indian/Mayotte\",\n\t\t\t\"Africa/Tripoli|Libya\",\n\t\t\t\"America/Adak|America/Atka\",\n\t\t\t\"America/Adak|US/Aleutian\",\n\t\t\t\"America/Anchorage|America/Juneau\",\n\t\t\t\"America/Anchorage|America/Nome\",\n\t\t\t\"America/Anchorage|America/Sitka\",\n\t\t\t\"America/Anchorage|America/Yakutat\",\n\t\t\t\"America/Anchorage|US/Alaska\",\n\t\t\t\"America/Campo_Grande|America/Cuiaba\",\n\t\t\t\"America/Chicago|America/Indiana/Knox\",\n\t\t\t\"America/Chicago|America/Indiana/Tell_City\",\n\t\t\t\"America/Chicago|America/Knox_IN\",\n\t\t\t\"America/Chicago|America/Matamoros\",\n\t\t\t\"America/Chicago|America/Menominee\",\n\t\t\t\"America/Chicago|America/North_Dakota/Beulah\",\n\t\t\t\"America/Chicago|America/North_Dakota/Center\",\n\t\t\t\"America/Chicago|America/North_Dakota/New_Salem\",\n\t\t\t\"America/Chicago|America/Rainy_River\",\n\t\t\t\"America/Chicago|America/Rankin_Inlet\",\n\t\t\t\"America/Chicago|America/Resolute\",\n\t\t\t\"America/Chicago|America/Winnipeg\",\n\t\t\t\"America/Chicago|CST6CDT\",\n\t\t\t\"America/Chicago|Canada/Central\",\n\t\t\t\"America/Chicago|US/Central\",\n\t\t\t\"America/Chicago|US/Indiana-Starke\",\n\t\t\t\"America/Chihuahua|America/Mazatlan\",\n\t\t\t\"America/Chihuahua|Mexico/BajaSur\",\n\t\t\t\"America/Denver|America/Boise\",\n\t\t\t\"America/Denver|America/Cambridge_Bay\",\n\t\t\t\"America/Denver|America/Edmonton\",\n\t\t\t\"America/Denver|America/Inuvik\",\n\t\t\t\"America/Denver|America/Ojinaga\",\n\t\t\t\"America/Denver|America/Shiprock\",\n\t\t\t\"America/Denver|America/Yellowknife\",\n\t\t\t\"America/Denver|Canada/Mountain\",\n\t\t\t\"America/Denver|MST7MDT\",\n\t\t\t\"America/Denver|Navajo\",\n\t\t\t\"America/Denver|US/Mountain\",\n\t\t\t\"America/Fortaleza|America/Argentina/Buenos_Aires\",\n\t\t\t\"America/Fortaleza|America/Argentina/Catamarca\",\n\t\t\t\"America/Fortaleza|America/Argentina/ComodRivadavia\",\n\t\t\t\"America/Fortaleza|America/Argentina/Cordoba\",\n\t\t\t\"America/Fortaleza|America/Argentina/Jujuy\",\n\t\t\t\"America/Fortaleza|America/Argentina/La_Rioja\",\n\t\t\t\"America/Fortaleza|America/Argentina/Mendoza\",\n\t\t\t\"America/Fortaleza|America/Argentina/Rio_Gallegos\",\n\t\t\t\"America/Fortaleza|America/Argentina/Salta\",\n\t\t\t\"America/Fortaleza|America/Argentina/San_Juan\",\n\t\t\t\"America/Fortaleza|America/Argentina/San_Luis\",\n\t\t\t\"America/Fortaleza|America/Argentina/Tucuman\",\n\t\t\t\"America/Fortaleza|America/Argentina/Ushuaia\",\n\t\t\t\"America/Fortaleza|America/Belem\",\n\t\t\t\"America/Fortaleza|America/Buenos_Aires\",\n\t\t\t\"America/Fortaleza|America/Catamarca\",\n\t\t\t\"America/Fortaleza|America/Cayenne\",\n\t\t\t\"America/Fortaleza|America/Cordoba\",\n\t\t\t\"America/Fortaleza|America/Jujuy\",\n\t\t\t\"America/Fortaleza|America/Maceio\",\n\t\t\t\"America/Fortaleza|America/Mendoza\",\n\t\t\t\"America/Fortaleza|America/Paramaribo\",\n\t\t\t\"America/Fortaleza|America/Recife\",\n\t\t\t\"America/Fortaleza|America/Rosario\",\n\t\t\t\"America/Fortaleza|America/Santarem\",\n\t\t\t\"America/Fortaleza|Antarctica/Rothera\",\n\t\t\t\"America/Fortaleza|Atlantic/Stanley\",\n\t\t\t\"America/Fortaleza|Etc/GMT+3\",\n\t\t\t\"America/Godthab|America/Nuuk\",\n\t\t\t\"America/Halifax|America/Glace_Bay\",\n\t\t\t\"America/Halifax|America/Goose_Bay\",\n\t\t\t\"America/Halifax|America/Moncton\",\n\t\t\t\"America/Halifax|America/Thule\",\n\t\t\t\"America/Halifax|Atlantic/Bermuda\",\n\t\t\t\"America/Halifax|Canada/Atlantic\",\n\t\t\t\"America/Havana|Cuba\",\n\t\t\t\"America/La_Paz|America/Boa_Vista\",\n\t\t\t\"America/La_Paz|America/Guyana\",\n\t\t\t\"America/La_Paz|America/Manaus\",\n\t\t\t\"America/La_Paz|America/Porto_Velho\",\n\t\t\t\"America/La_Paz|Brazil/West\",\n\t\t\t\"America/La_Paz|Etc/GMT+4\",\n\t\t\t\"America/Lima|America/Bogota\",\n\t\t\t\"America/Lima|America/Guayaquil\",\n\t\t\t\"America/Lima|Etc/GMT+5\",\n\t\t\t\"America/Los_Angeles|America/Ensenada\",\n\t\t\t\"America/Los_Angeles|America/Santa_Isabel\",\n\t\t\t\"America/Los_Angeles|America/Tijuana\",\n\t\t\t\"America/Los_Angeles|America/Vancouver\",\n\t\t\t\"America/Los_Angeles|Canada/Pacific\",\n\t\t\t\"America/Los_Angeles|Mexico/BajaNorte\",\n\t\t\t\"America/Los_Angeles|PST8PDT\",\n\t\t\t\"America/Los_Angeles|US/Pacific\",\n\t\t\t\"America/Los_Angeles|US/Pacific-New\",\n\t\t\t\"America/Managua|America/Belize\",\n\t\t\t\"America/Managua|America/Costa_Rica\",\n\t\t\t\"America/Managua|America/El_Salvador\",\n\t\t\t\"America/Managua|America/Guatemala\",\n\t\t\t\"America/Managua|America/Regina\",\n\t\t\t\"America/Managua|America/Swift_Current\",\n\t\t\t\"America/Managua|America/Tegucigalpa\",\n\t\t\t\"America/Managua|Canada/Saskatchewan\",\n\t\t\t\"America/Mexico_City|America/Bahia_Banderas\",\n\t\t\t\"America/Mexico_City|America/Merida\",\n\t\t\t\"America/Mexico_City|America/Monterrey\",\n\t\t\t\"America/Mexico_City|Mexico/General\",\n\t\t\t\"America/New_York|America/Detroit\",\n\t\t\t\"America/New_York|America/Fort_Wayne\",\n\t\t\t\"America/New_York|America/Indiana/Indianapolis\",\n\t\t\t\"America/New_York|America/Indiana/Marengo\",\n\t\t\t\"America/New_York|America/Indiana/Petersburg\",\n\t\t\t\"America/New_York|America/Indiana/Vevay\",\n\t\t\t\"America/New_York|America/Indiana/Vincennes\",\n\t\t\t\"America/New_York|America/Indiana/Winamac\",\n\t\t\t\"America/New_York|America/Indianapolis\",\n\t\t\t\"America/New_York|America/Iqaluit\",\n\t\t\t\"America/New_York|America/Kentucky/Louisville\",\n\t\t\t\"America/New_York|America/Kentucky/Monticello\",\n\t\t\t\"America/New_York|America/Louisville\",\n\t\t\t\"America/New_York|America/Montreal\",\n\t\t\t\"America/New_York|America/Nassau\",\n\t\t\t\"America/New_York|America/Nipigon\",\n\t\t\t\"America/New_York|America/Pangnirtung\",\n\t\t\t\"America/New_York|America/Thunder_Bay\",\n\t\t\t\"America/New_York|America/Toronto\",\n\t\t\t\"America/New_York|Canada/Eastern\",\n\t\t\t\"America/New_York|EST5EDT\",\n\t\t\t\"America/New_York|US/East-Indiana\",\n\t\t\t\"America/New_York|US/Eastern\",\n\t\t\t\"America/New_York|US/Michigan\",\n\t\t\t\"America/Noronha|Atlantic/South_Georgia\",\n\t\t\t\"America/Noronha|Brazil/DeNoronha\",\n\t\t\t\"America/Noronha|Etc/GMT+2\",\n\t\t\t\"America/Panama|America/Atikokan\",\n\t\t\t\"America/Panama|America/Cayman\",\n\t\t\t\"America/Panama|America/Coral_Harbour\",\n\t\t\t\"America/Panama|America/Jamaica\",\n\t\t\t\"America/Panama|EST\",\n\t\t\t\"America/Panama|Jamaica\",\n\t\t\t\"America/Phoenix|America/Creston\",\n\t\t\t\"America/Phoenix|America/Dawson_Creek\",\n\t\t\t\"America/Phoenix|America/Hermosillo\",\n\t\t\t\"America/Phoenix|MST\",\n\t\t\t\"America/Phoenix|US/Arizona\",\n\t\t\t\"America/Rio_Branco|America/Eirunepe\",\n\t\t\t\"America/Rio_Branco|America/Porto_Acre\",\n\t\t\t\"America/Rio_Branco|Brazil/Acre\",\n\t\t\t\"America/Santiago|Chile/Continental\",\n\t\t\t\"America/Santo_Domingo|America/Anguilla\",\n\t\t\t\"America/Santo_Domingo|America/Antigua\",\n\t\t\t\"America/Santo_Domingo|America/Aruba\",\n\t\t\t\"America/Santo_Domingo|America/Barbados\",\n\t\t\t\"America/Santo_Domingo|America/Blanc-Sablon\",\n\t\t\t\"America/Santo_Domingo|America/Curacao\",\n\t\t\t\"America/Santo_Domingo|America/Dominica\",\n\t\t\t\"America/Santo_Domingo|America/Grenada\",\n\t\t\t\"America/Santo_Domingo|America/Guadeloupe\",\n\t\t\t\"America/Santo_Domingo|America/Kralendijk\",\n\t\t\t\"America/Santo_Domingo|America/Lower_Princes\",\n\t\t\t\"America/Santo_Domingo|America/Marigot\",\n\t\t\t\"America/Santo_Domingo|America/Martinique\",\n\t\t\t\"America/Santo_Domingo|America/Montserrat\",\n\t\t\t\"America/Santo_Domingo|America/Port_of_Spain\",\n\t\t\t\"America/Santo_Domingo|America/Puerto_Rico\",\n\t\t\t\"America/Santo_Domingo|America/St_Barthelemy\",\n\t\t\t\"America/Santo_Domingo|America/St_Kitts\",\n\t\t\t\"America/Santo_Domingo|America/St_Lucia\",\n\t\t\t\"America/Santo_Domingo|America/St_Thomas\",\n\t\t\t\"America/Santo_Domingo|America/St_Vincent\",\n\t\t\t\"America/Santo_Domingo|America/Tortola\",\n\t\t\t\"America/Santo_Domingo|America/Virgin\",\n\t\t\t\"America/Sao_Paulo|Brazil/East\",\n\t\t\t\"America/St_Johns|Canada/Newfoundland\",\n\t\t\t\"America/Whitehorse|America/Dawson\",\n\t\t\t\"America/Whitehorse|Canada/Yukon\",\n\t\t\t\"Antarctica/Palmer|America/Punta_Arenas\",\n\t\t\t\"Asia/Baghdad|Antarctica/Syowa\",\n\t\t\t\"Asia/Baghdad|Asia/Aden\",\n\t\t\t\"Asia/Baghdad|Asia/Bahrain\",\n\t\t\t\"Asia/Baghdad|Asia/Kuwait\",\n\t\t\t\"Asia/Baghdad|Asia/Qatar\",\n\t\t\t\"Asia/Baghdad|Asia/Riyadh\",\n\t\t\t\"Asia/Baghdad|Etc/GMT-3\",\n\t\t\t\"Asia/Baghdad|Europe/Minsk\",\n\t\t\t\"Asia/Bangkok|Asia/Ho_Chi_Minh\",\n\t\t\t\"Asia/Bangkok|Asia/Novokuznetsk\",\n\t\t\t\"Asia/Bangkok|Asia/Phnom_Penh\",\n\t\t\t\"Asia/Bangkok|Asia/Saigon\",\n\t\t\t\"Asia/Bangkok|Asia/Vientiane\",\n\t\t\t\"Asia/Bangkok|Etc/GMT-7\",\n\t\t\t\"Asia/Bangkok|Indian/Christmas\",\n\t\t\t\"Asia/Dhaka|Antarctica/Vostok\",\n\t\t\t\"Asia/Dhaka|Asia/Almaty\",\n\t\t\t\"Asia/Dhaka|Asia/Bishkek\",\n\t\t\t\"Asia/Dhaka|Asia/Dacca\",\n\t\t\t\"Asia/Dhaka|Asia/Kashgar\",\n\t\t\t\"Asia/Dhaka|Asia/Qostanay\",\n\t\t\t\"Asia/Dhaka|Asia/Thimbu\",\n\t\t\t\"Asia/Dhaka|Asia/Thimphu\",\n\t\t\t\"Asia/Dhaka|Asia/Urumqi\",\n\t\t\t\"Asia/Dhaka|Etc/GMT-6\",\n\t\t\t\"Asia/Dhaka|Indian/Chagos\",\n\t\t\t\"Asia/Dili|Etc/GMT-9\",\n\t\t\t\"Asia/Dili|Pacific/Palau\",\n\t\t\t\"Asia/Dubai|Asia/Muscat\",\n\t\t\t\"Asia/Dubai|Asia/Tbilisi\",\n\t\t\t\"Asia/Dubai|Asia/Yerevan\",\n\t\t\t\"Asia/Dubai|Etc/GMT-4\",\n\t\t\t\"Asia/Dubai|Europe/Samara\",\n\t\t\t\"Asia/Dubai|Indian/Mahe\",\n\t\t\t\"Asia/Dubai|Indian/Mauritius\",\n\t\t\t\"Asia/Dubai|Indian/Reunion\",\n\t\t\t\"Asia/Gaza|Asia/Hebron\",\n\t\t\t\"Asia/Hong_Kong|Hongkong\",\n\t\t\t\"Asia/Jakarta|Asia/Pontianak\",\n\t\t\t\"Asia/Jerusalem|Asia/Tel_Aviv\",\n\t\t\t\"Asia/Jerusalem|Israel\",\n\t\t\t\"Asia/Kamchatka|Asia/Anadyr\",\n\t\t\t\"Asia/Kamchatka|Etc/GMT-12\",\n\t\t\t\"Asia/Kamchatka|Kwajalein\",\n\t\t\t\"Asia/Kamchatka|Pacific/Funafuti\",\n\t\t\t\"Asia/Kamchatka|Pacific/Kwajalein\",\n\t\t\t\"Asia/Kamchatka|Pacific/Majuro\",\n\t\t\t\"Asia/Kamchatka|Pacific/Nauru\",\n\t\t\t\"Asia/Kamchatka|Pacific/Tarawa\",\n\t\t\t\"Asia/Kamchatka|Pacific/Wake\",\n\t\t\t\"Asia/Kamchatka|Pacific/Wallis\",\n\t\t\t\"Asia/Kathmandu|Asia/Katmandu\",\n\t\t\t\"Asia/Kolkata|Asia/Calcutta\",\n\t\t\t\"Asia/Kuala_Lumpur|Asia/Brunei\",\n\t\t\t\"Asia/Kuala_Lumpur|Asia/Kuching\",\n\t\t\t\"Asia/Kuala_Lumpur|Asia/Singapore\",\n\t\t\t\"Asia/Kuala_Lumpur|Etc/GMT-8\",\n\t\t\t\"Asia/Kuala_Lumpur|Singapore\",\n\t\t\t\"Asia/Makassar|Asia/Ujung_Pandang\",\n\t\t\t\"Asia/Rangoon|Asia/Yangon\",\n\t\t\t\"Asia/Rangoon|Indian/Cocos\",\n\t\t\t\"Asia/Seoul|ROK\",\n\t\t\t\"Asia/Shanghai|Asia/Chongqing\",\n\t\t\t\"Asia/Shanghai|Asia/Chungking\",\n\t\t\t\"Asia/Shanghai|Asia/Harbin\",\n\t\t\t\"Asia/Shanghai|Asia/Macao\",\n\t\t\t\"Asia/Shanghai|Asia/Macau\",\n\t\t\t\"Asia/Shanghai|Asia/Taipei\",\n\t\t\t\"Asia/Shanghai|PRC\",\n\t\t\t\"Asia/Shanghai|ROC\",\n\t\t\t\"Asia/Tashkent|Antarctica/Mawson\",\n\t\t\t\"Asia/Tashkent|Asia/Aqtau\",\n\t\t\t\"Asia/Tashkent|Asia/Aqtobe\",\n\t\t\t\"Asia/Tashkent|Asia/Ashgabat\",\n\t\t\t\"Asia/Tashkent|Asia/Ashkhabad\",\n\t\t\t\"Asia/Tashkent|Asia/Atyrau\",\n\t\t\t\"Asia/Tashkent|Asia/Dushanbe\",\n\t\t\t\"Asia/Tashkent|Asia/Oral\",\n\t\t\t\"Asia/Tashkent|Asia/Samarkand\",\n\t\t\t\"Asia/Tashkent|Etc/GMT-5\",\n\t\t\t\"Asia/Tashkent|Indian/Kerguelen\",\n\t\t\t\"Asia/Tashkent|Indian/Maldives\",\n\t\t\t\"Asia/Tehran|Iran\",\n\t\t\t\"Asia/Tokyo|Japan\",\n\t\t\t\"Asia/Ulaanbaatar|Asia/Choibalsan\",\n\t\t\t\"Asia/Ulaanbaatar|Asia/Ulan_Bator\",\n\t\t\t\"Asia/Vladivostok|Asia/Ust-Nera\",\n\t\t\t\"Asia/Yakutsk|Asia/Khandyga\",\n\t\t\t\"Atlantic/Azores|America/Scoresbysund\",\n\t\t\t\"Atlantic/Cape_Verde|Etc/GMT+1\",\n\t\t\t\"Australia/Adelaide|Australia/Broken_Hill\",\n\t\t\t\"Australia/Adelaide|Australia/South\",\n\t\t\t\"Australia/Adelaide|Australia/Yancowinna\",\n\t\t\t\"Australia/Brisbane|Australia/Lindeman\",\n\t\t\t\"Australia/Brisbane|Australia/Queensland\",\n\t\t\t\"Australia/Darwin|Australia/North\",\n\t\t\t\"Australia/Lord_Howe|Australia/LHI\",\n\t\t\t\"Australia/Perth|Australia/West\",\n\t\t\t\"Australia/Sydney|Australia/ACT\",\n\t\t\t\"Australia/Sydney|Australia/Canberra\",\n\t\t\t\"Australia/Sydney|Australia/Currie\",\n\t\t\t\"Australia/Sydney|Australia/Hobart\",\n\t\t\t\"Australia/Sydney|Australia/Melbourne\",\n\t\t\t\"Australia/Sydney|Australia/NSW\",\n\t\t\t\"Australia/Sydney|Australia/Tasmania\",\n\t\t\t\"Australia/Sydney|Australia/Victoria\",\n\t\t\t\"Etc/UTC|Etc/UCT\",\n\t\t\t\"Etc/UTC|Etc/Universal\",\n\t\t\t\"Etc/UTC|Etc/Zulu\",\n\t\t\t\"Etc/UTC|UCT\",\n\t\t\t\"Etc/UTC|UTC\",\n\t\t\t\"Etc/UTC|Universal\",\n\t\t\t\"Etc/UTC|Zulu\",\n\t\t\t\"Europe/Athens|Asia/Nicosia\",\n\t\t\t\"Europe/Athens|EET\",\n\t\t\t\"Europe/Athens|Europe/Bucharest\",\n\t\t\t\"Europe/Athens|Europe/Helsinki\",\n\t\t\t\"Europe/Athens|Europe/Kiev\",\n\t\t\t\"Europe/Athens|Europe/Mariehamn\",\n\t\t\t\"Europe/Athens|Europe/Nicosia\",\n\t\t\t\"Europe/Athens|Europe/Riga\",\n\t\t\t\"Europe/Athens|Europe/Sofia\",\n\t\t\t\"Europe/Athens|Europe/Tallinn\",\n\t\t\t\"Europe/Athens|Europe/Uzhgorod\",\n\t\t\t\"Europe/Athens|Europe/Vilnius\",\n\t\t\t\"Europe/Athens|Europe/Zaporozhye\",\n\t\t\t\"Europe/Chisinau|Europe/Tiraspol\",\n\t\t\t\"Europe/Dublin|Eire\",\n\t\t\t\"Europe/Istanbul|Asia/Istanbul\",\n\t\t\t\"Europe/Istanbul|Turkey\",\n\t\t\t\"Europe/Lisbon|Atlantic/Canary\",\n\t\t\t\"Europe/Lisbon|Atlantic/Faeroe\",\n\t\t\t\"Europe/Lisbon|Atlantic/Faroe\",\n\t\t\t\"Europe/Lisbon|Atlantic/Madeira\",\n\t\t\t\"Europe/Lisbon|Portugal\",\n\t\t\t\"Europe/Lisbon|WET\",\n\t\t\t\"Europe/London|Europe/Belfast\",\n\t\t\t\"Europe/London|Europe/Guernsey\",\n\t\t\t\"Europe/London|Europe/Isle_of_Man\",\n\t\t\t\"Europe/London|Europe/Jersey\",\n\t\t\t\"Europe/London|GB\",\n\t\t\t\"Europe/London|GB-Eire\",\n\t\t\t\"Europe/Moscow|W-SU\",\n\t\t\t\"Europe/Paris|Africa/Ceuta\",\n\t\t\t\"Europe/Paris|Arctic/Longyearbyen\",\n\t\t\t\"Europe/Paris|Atlantic/Jan_Mayen\",\n\t\t\t\"Europe/Paris|CET\",\n\t\t\t\"Europe/Paris|Europe/Amsterdam\",\n\t\t\t\"Europe/Paris|Europe/Andorra\",\n\t\t\t\"Europe/Paris|Europe/Belgrade\",\n\t\t\t\"Europe/Paris|Europe/Berlin\",\n\t\t\t\"Europe/Paris|Europe/Bratislava\",\n\t\t\t\"Europe/Paris|Europe/Brussels\",\n\t\t\t\"Europe/Paris|Europe/Budapest\",\n\t\t\t\"Europe/Paris|Europe/Busingen\",\n\t\t\t\"Europe/Paris|Europe/Copenhagen\",\n\t\t\t\"Europe/Paris|Europe/Gibraltar\",\n\t\t\t\"Europe/Paris|Europe/Ljubljana\",\n\t\t\t\"Europe/Paris|Europe/Luxembourg\",\n\t\t\t\"Europe/Paris|Europe/Madrid\",\n\t\t\t\"Europe/Paris|Europe/Malta\",\n\t\t\t\"Europe/Paris|Europe/Monaco\",\n\t\t\t\"Europe/Paris|Europe/Oslo\",\n\t\t\t\"Europe/Paris|Europe/Podgorica\",\n\t\t\t\"Europe/Paris|Europe/Prague\",\n\t\t\t\"Europe/Paris|Europe/Rome\",\n\t\t\t\"Europe/Paris|Europe/San_Marino\",\n\t\t\t\"Europe/Paris|Europe/Sarajevo\",\n\t\t\t\"Europe/Paris|Europe/Skopje\",\n\t\t\t\"Europe/Paris|Europe/Stockholm\",\n\t\t\t\"Europe/Paris|Europe/Tirane\",\n\t\t\t\"Europe/Paris|Europe/Vaduz\",\n\t\t\t\"Europe/Paris|Europe/Vatican\",\n\t\t\t\"Europe/Paris|Europe/Vienna\",\n\t\t\t\"Europe/Paris|Europe/Warsaw\",\n\t\t\t\"Europe/Paris|Europe/Zagreb\",\n\t\t\t\"Europe/Paris|Europe/Zurich\",\n\t\t\t\"Europe/Paris|Poland\",\n\t\t\t\"Europe/Ulyanovsk|Europe/Astrakhan\",\n\t\t\t\"Pacific/Auckland|Antarctica/McMurdo\",\n\t\t\t\"Pacific/Auckland|Antarctica/South_Pole\",\n\t\t\t\"Pacific/Auckland|NZ\",\n\t\t\t\"Pacific/Chatham|NZ-CHAT\",\n\t\t\t\"Pacific/Easter|Chile/EasterIsland\",\n\t\t\t\"Pacific/Fakaofo|Etc/GMT-13\",\n\t\t\t\"Pacific/Fakaofo|Pacific/Enderbury\",\n\t\t\t\"Pacific/Galapagos|Etc/GMT+6\",\n\t\t\t\"Pacific/Gambier|Etc/GMT+9\",\n\t\t\t\"Pacific/Guadalcanal|Antarctica/Macquarie\",\n\t\t\t\"Pacific/Guadalcanal|Etc/GMT-11\",\n\t\t\t\"Pacific/Guadalcanal|Pacific/Efate\",\n\t\t\t\"Pacific/Guadalcanal|Pacific/Kosrae\",\n\t\t\t\"Pacific/Guadalcanal|Pacific/Noumea\",\n\t\t\t\"Pacific/Guadalcanal|Pacific/Pohnpei\",\n\t\t\t\"Pacific/Guadalcanal|Pacific/Ponape\",\n\t\t\t\"Pacific/Guam|Pacific/Saipan\",\n\t\t\t\"Pacific/Honolulu|HST\",\n\t\t\t\"Pacific/Honolulu|Pacific/Johnston\",\n\t\t\t\"Pacific/Honolulu|US/Hawaii\",\n\t\t\t\"Pacific/Kiritimati|Etc/GMT-14\",\n\t\t\t\"Pacific/Niue|Etc/GMT+11\",\n\t\t\t\"Pacific/Pago_Pago|Pacific/Midway\",\n\t\t\t\"Pacific/Pago_Pago|Pacific/Samoa\",\n\t\t\t\"Pacific/Pago_Pago|US/Samoa\",\n\t\t\t\"Pacific/Pitcairn|Etc/GMT+8\",\n\t\t\t\"Pacific/Port_Moresby|Antarctica/DumontDUrville\",\n\t\t\t\"Pacific/Port_Moresby|Etc/GMT-10\",\n\t\t\t\"Pacific/Port_Moresby|Pacific/Chuuk\",\n\t\t\t\"Pacific/Port_Moresby|Pacific/Truk\",\n\t\t\t\"Pacific/Port_Moresby|Pacific/Yap\",\n\t\t\t\"Pacific/Tahiti|Etc/GMT+10\",\n\t\t\t\"Pacific/Tahiti|Pacific/Rarotonga\"\n\t\t],\n\t\t\"countries\": [\n\t\t\t\"AD|Europe/Andorra\",\n\t\t\t\"AE|Asia/Dubai\",\n\t\t\t\"AF|Asia/Kabul\",\n\t\t\t\"AG|America/Port_of_Spain America/Antigua\",\n\t\t\t\"AI|America/Port_of_Spain America/Anguilla\",\n\t\t\t\"AL|Europe/Tirane\",\n\t\t\t\"AM|Asia/Yerevan\",\n\t\t\t\"AO|Africa/Lagos Africa/Luanda\",\n\t\t\t\"AQ|Antarctica/Casey Antarctica/Davis Antarctica/DumontDUrville Antarctica/Mawson Antarctica/Palmer Antarctica/Rothera Antarctica/Syowa Antarctica/Troll Antarctica/Vostok Pacific/Auckland Antarctica/McMurdo\",\n\t\t\t\"AR|America/Argentina/Buenos_Aires America/Argentina/Cordoba America/Argentina/Salta America/Argentina/Jujuy America/Argentina/Tucuman America/Argentina/Catamarca America/Argentina/La_Rioja America/Argentina/San_Juan America/Argentina/Mendoza America/Argentina/San_Luis America/Argentina/Rio_Gallegos America/Argentina/Ushuaia\",\n\t\t\t\"AS|Pacific/Pago_Pago\",\n\t\t\t\"AT|Europe/Vienna\",\n\t\t\t\"AU|Australia/Lord_Howe Antarctica/Macquarie Australia/Hobart Australia/Currie Australia/Melbourne Australia/Sydney Australia/Broken_Hill Australia/Brisbane Australia/Lindeman Australia/Adelaide Australia/Darwin Australia/Perth Australia/Eucla\",\n\t\t\t\"AW|America/Curacao America/Aruba\",\n\t\t\t\"AX|Europe/Helsinki Europe/Mariehamn\",\n\t\t\t\"AZ|Asia/Baku\",\n\t\t\t\"BA|Europe/Belgrade Europe/Sarajevo\",\n\t\t\t\"BB|America/Barbados\",\n\t\t\t\"BD|Asia/Dhaka\",\n\t\t\t\"BE|Europe/Brussels\",\n\t\t\t\"BF|Africa/Abidjan Africa/Ouagadougou\",\n\t\t\t\"BG|Europe/Sofia\",\n\t\t\t\"BH|Asia/Qatar Asia/Bahrain\",\n\t\t\t\"BI|Africa/Maputo Africa/Bujumbura\",\n\t\t\t\"BJ|Africa/Lagos Africa/Porto-Novo\",\n\t\t\t\"BL|America/Port_of_Spain America/St_Barthelemy\",\n\t\t\t\"BM|Atlantic/Bermuda\",\n\t\t\t\"BN|Asia/Brunei\",\n\t\t\t\"BO|America/La_Paz\",\n\t\t\t\"BQ|America/Curacao America/Kralendijk\",\n\t\t\t\"BR|America/Noronha America/Belem America/Fortaleza America/Recife America/Araguaina America/Maceio America/Bahia America/Sao_Paulo America/Campo_Grande America/Cuiaba America/Santarem America/Porto_Velho America/Boa_Vista America/Manaus America/Eirunepe America/Rio_Branco\",\n\t\t\t\"BS|America/Nassau\",\n\t\t\t\"BT|Asia/Thimphu\",\n\t\t\t\"BW|Africa/Maputo Africa/Gaborone\",\n\t\t\t\"BY|Europe/Minsk\",\n\t\t\t\"BZ|America/Belize\",\n\t\t\t\"CA|America/St_Johns America/Halifax America/Glace_Bay America/Moncton America/Goose_Bay America/Blanc-Sablon America/Toronto America/Nipigon America/Thunder_Bay America/Iqaluit America/Pangnirtung America/Atikokan America/Winnipeg America/Rainy_River America/Resolute America/Rankin_Inlet America/Regina America/Swift_Current America/Edmonton America/Cambridge_Bay America/Yellowknife America/Inuvik America/Creston America/Dawson_Creek America/Fort_Nelson America/Vancouver America/Whitehorse America/Dawson\",\n\t\t\t\"CC|Indian/Cocos\",\n\t\t\t\"CD|Africa/Maputo Africa/Lagos Africa/Kinshasa Africa/Lubumbashi\",\n\t\t\t\"CF|Africa/Lagos Africa/Bangui\",\n\t\t\t\"CG|Africa/Lagos Africa/Brazzaville\",\n\t\t\t\"CH|Europe/Zurich\",\n\t\t\t\"CI|Africa/Abidjan\",\n\t\t\t\"CK|Pacific/Rarotonga\",\n\t\t\t\"CL|America/Santiago America/Punta_Arenas Pacific/Easter\",\n\t\t\t\"CM|Africa/Lagos Africa/Douala\",\n\t\t\t\"CN|Asia/Shanghai Asia/Urumqi\",\n\t\t\t\"CO|America/Bogota\",\n\t\t\t\"CR|America/Costa_Rica\",\n\t\t\t\"CU|America/Havana\",\n\t\t\t\"CV|Atlantic/Cape_Verde\",\n\t\t\t\"CW|America/Curacao\",\n\t\t\t\"CX|Indian/Christmas\",\n\t\t\t\"CY|Asia/Nicosia Asia/Famagusta\",\n\t\t\t\"CZ|Europe/Prague\",\n\t\t\t\"DE|Europe/Zurich Europe/Berlin Europe/Busingen\",\n\t\t\t\"DJ|Africa/Nairobi Africa/Djibouti\",\n\t\t\t\"DK|Europe/Copenhagen\",\n\t\t\t\"DM|America/Port_of_Spain America/Dominica\",\n\t\t\t\"DO|America/Santo_Domingo\",\n\t\t\t\"DZ|Africa/Algiers\",\n\t\t\t\"EC|America/Guayaquil Pacific/Galapagos\",\n\t\t\t\"EE|Europe/Tallinn\",\n\t\t\t\"EG|Africa/Cairo\",\n\t\t\t\"EH|Africa/El_Aaiun\",\n\t\t\t\"ER|Africa/Nairobi Africa/Asmara\",\n\t\t\t\"ES|Europe/Madrid Africa/Ceuta Atlantic/Canary\",\n\t\t\t\"ET|Africa/Nairobi Africa/Addis_Ababa\",\n\t\t\t\"FI|Europe/Helsinki\",\n\t\t\t\"FJ|Pacific/Fiji\",\n\t\t\t\"FK|Atlantic/Stanley\",\n\t\t\t\"FM|Pacific/Chuuk Pacific/Pohnpei Pacific/Kosrae\",\n\t\t\t\"FO|Atlantic/Faroe\",\n\t\t\t\"FR|Europe/Paris\",\n\t\t\t\"GA|Africa/Lagos Africa/Libreville\",\n\t\t\t\"GB|Europe/London\",\n\t\t\t\"GD|America/Port_of_Spain America/Grenada\",\n\t\t\t\"GE|Asia/Tbilisi\",\n\t\t\t\"GF|America/Cayenne\",\n\t\t\t\"GG|Europe/London Europe/Guernsey\",\n\t\t\t\"GH|Africa/Accra\",\n\t\t\t\"GI|Europe/Gibraltar\",\n\t\t\t\"GL|America/Godthab America/Danmarkshavn America/Scoresbysund America/Thule\",\n\t\t\t\"GM|Africa/Abidjan Africa/Banjul\",\n\t\t\t\"GN|Africa/Abidjan Africa/Conakry\",\n\t\t\t\"GP|America/Port_of_Spain America/Guadeloupe\",\n\t\t\t\"GQ|Africa/Lagos Africa/Malabo\",\n\t\t\t\"GR|Europe/Athens\",\n\t\t\t\"GS|Atlantic/South_Georgia\",\n\t\t\t\"GT|America/Guatemala\",\n\t\t\t\"GU|Pacific/Guam\",\n\t\t\t\"GW|Africa/Bissau\",\n\t\t\t\"GY|America/Guyana\",\n\t\t\t\"HK|Asia/Hong_Kong\",\n\t\t\t\"HN|America/Tegucigalpa\",\n\t\t\t\"HR|Europe/Belgrade Europe/Zagreb\",\n\t\t\t\"HT|America/Port-au-Prince\",\n\t\t\t\"HU|Europe/Budapest\",\n\t\t\t\"ID|Asia/Jakarta Asia/Pontianak Asia/Makassar Asia/Jayapura\",\n\t\t\t\"IE|Europe/Dublin\",\n\t\t\t\"IL|Asia/Jerusalem\",\n\t\t\t\"IM|Europe/London Europe/Isle_of_Man\",\n\t\t\t\"IN|Asia/Kolkata\",\n\t\t\t\"IO|Indian/Chagos\",\n\t\t\t\"IQ|Asia/Baghdad\",\n\t\t\t\"IR|Asia/Tehran\",\n\t\t\t\"IS|Atlantic/Reykjavik\",\n\t\t\t\"IT|Europe/Rome\",\n\t\t\t\"JE|Europe/London Europe/Jersey\",\n\t\t\t\"JM|America/Jamaica\",\n\t\t\t\"JO|Asia/Amman\",\n\t\t\t\"JP|Asia/Tokyo\",\n\t\t\t\"KE|Africa/Nairobi\",\n\t\t\t\"KG|Asia/Bishkek\",\n\t\t\t\"KH|Asia/Bangkok Asia/Phnom_Penh\",\n\t\t\t\"KI|Pacific/Tarawa Pacific/Enderbury Pacific/Kiritimati\",\n\t\t\t\"KM|Africa/Nairobi Indian/Comoro\",\n\t\t\t\"KN|America/Port_of_Spain America/St_Kitts\",\n\t\t\t\"KP|Asia/Pyongyang\",\n\t\t\t\"KR|Asia/Seoul\",\n\t\t\t\"KW|Asia/Riyadh Asia/Kuwait\",\n\t\t\t\"KY|America/Panama America/Cayman\",\n\t\t\t\"KZ|Asia/Almaty Asia/Qyzylorda Asia/Qostanay Asia/Aqtobe Asia/Aqtau Asia/Atyrau Asia/Oral\",\n\t\t\t\"LA|Asia/Bangkok Asia/Vientiane\",\n\t\t\t\"LB|Asia/Beirut\",\n\t\t\t\"LC|America/Port_of_Spain America/St_Lucia\",\n\t\t\t\"LI|Europe/Zurich Europe/Vaduz\",\n\t\t\t\"LK|Asia/Colombo\",\n\t\t\t\"LR|Africa/Monrovia\",\n\t\t\t\"LS|Africa/Johannesburg Africa/Maseru\",\n\t\t\t\"LT|Europe/Vilnius\",\n\t\t\t\"LU|Europe/Luxembourg\",\n\t\t\t\"LV|Europe/Riga\",\n\t\t\t\"LY|Africa/Tripoli\",\n\t\t\t\"MA|Africa/Casablanca\",\n\t\t\t\"MC|Europe/Monaco\",\n\t\t\t\"MD|Europe/Chisinau\",\n\t\t\t\"ME|Europe/Belgrade Europe/Podgorica\",\n\t\t\t\"MF|America/Port_of_Spain America/Marigot\",\n\t\t\t\"MG|Africa/Nairobi Indian/Antananarivo\",\n\t\t\t\"MH|Pacific/Majuro Pacific/Kwajalein\",\n\t\t\t\"MK|Europe/Belgrade Europe/Skopje\",\n\t\t\t\"ML|Africa/Abidjan Africa/Bamako\",\n\t\t\t\"MM|Asia/Yangon\",\n\t\t\t\"MN|Asia/Ulaanbaatar Asia/Hovd Asia/Choibalsan\",\n\t\t\t\"MO|Asia/Macau\",\n\t\t\t\"MP|Pacific/Guam Pacific/Saipan\",\n\t\t\t\"MQ|America/Martinique\",\n\t\t\t\"MR|Africa/Abidjan Africa/Nouakchott\",\n\t\t\t\"MS|America/Port_of_Spain America/Montserrat\",\n\t\t\t\"MT|Europe/Malta\",\n\t\t\t\"MU|Indian/Mauritius\",\n\t\t\t\"MV|Indian/Maldives\",\n\t\t\t\"MW|Africa/Maputo Africa/Blantyre\",\n\t\t\t\"MX|America/Mexico_City America/Cancun America/Merida America/Monterrey America/Matamoros America/Mazatlan America/Chihuahua America/Ojinaga America/Hermosillo America/Tijuana America/Bahia_Banderas\",\n\t\t\t\"MY|Asia/Kuala_Lumpur Asia/Kuching\",\n\t\t\t\"MZ|Africa/Maputo\",\n\t\t\t\"NA|Africa/Windhoek\",\n\t\t\t\"NC|Pacific/Noumea\",\n\t\t\t\"NE|Africa/Lagos Africa/Niamey\",\n\t\t\t\"NF|Pacific/Norfolk\",\n\t\t\t\"NG|Africa/Lagos\",\n\t\t\t\"NI|America/Managua\",\n\t\t\t\"NL|Europe/Amsterdam\",\n\t\t\t\"NO|Europe/Oslo\",\n\t\t\t\"NP|Asia/Kathmandu\",\n\t\t\t\"NR|Pacific/Nauru\",\n\t\t\t\"NU|Pacific/Niue\",\n\t\t\t\"NZ|Pacific/Auckland Pacific/Chatham\",\n\t\t\t\"OM|Asia/Dubai Asia/Muscat\",\n\t\t\t\"PA|America/Panama\",\n\t\t\t\"PE|America/Lima\",\n\t\t\t\"PF|Pacific/Tahiti Pacific/Marquesas Pacific/Gambier\",\n\t\t\t\"PG|Pacific/Port_Moresby Pacific/Bougainville\",\n\t\t\t\"PH|Asia/Manila\",\n\t\t\t\"PK|Asia/Karachi\",\n\t\t\t\"PL|Europe/Warsaw\",\n\t\t\t\"PM|America/Miquelon\",\n\t\t\t\"PN|Pacific/Pitcairn\",\n\t\t\t\"PR|America/Puerto_Rico\",\n\t\t\t\"PS|Asia/Gaza Asia/Hebron\",\n\t\t\t\"PT|Europe/Lisbon Atlantic/Madeira Atlantic/Azores\",\n\t\t\t\"PW|Pacific/Palau\",\n\t\t\t\"PY|America/Asuncion\",\n\t\t\t\"QA|Asia/Qatar\",\n\t\t\t\"RE|Indian/Reunion\",\n\t\t\t\"RO|Europe/Bucharest\",\n\t\t\t\"RS|Europe/Belgrade\",\n\t\t\t\"RU|Europe/Kaliningrad Europe/Moscow Europe/Simferopol Europe/Kirov Europe/Astrakhan Europe/Volgograd Europe/Saratov Europe/Ulyanovsk Europe/Samara Asia/Yekaterinburg Asia/Omsk Asia/Novosibirsk Asia/Barnaul Asia/Tomsk Asia/Novokuznetsk Asia/Krasnoyarsk Asia/Irkutsk Asia/Chita Asia/Yakutsk Asia/Khandyga Asia/Vladivostok Asia/Ust-Nera Asia/Magadan Asia/Sakhalin Asia/Srednekolymsk Asia/Kamchatka Asia/Anadyr\",\n\t\t\t\"RW|Africa/Maputo Africa/Kigali\",\n\t\t\t\"SA|Asia/Riyadh\",\n\t\t\t\"SB|Pacific/Guadalcanal\",\n\t\t\t\"SC|Indian/Mahe\",\n\t\t\t\"SD|Africa/Khartoum\",\n\t\t\t\"SE|Europe/Stockholm\",\n\t\t\t\"SG|Asia/Singapore\",\n\t\t\t\"SH|Africa/Abidjan Atlantic/St_Helena\",\n\t\t\t\"SI|Europe/Belgrade Europe/Ljubljana\",\n\t\t\t\"SJ|Europe/Oslo Arctic/Longyearbyen\",\n\t\t\t\"SK|Europe/Prague Europe/Bratislava\",\n\t\t\t\"SL|Africa/Abidjan Africa/Freetown\",\n\t\t\t\"SM|Europe/Rome Europe/San_Marino\",\n\t\t\t\"SN|Africa/Abidjan Africa/Dakar\",\n\t\t\t\"SO|Africa/Nairobi Africa/Mogadishu\",\n\t\t\t\"SR|America/Paramaribo\",\n\t\t\t\"SS|Africa/Juba\",\n\t\t\t\"ST|Africa/Sao_Tome\",\n\t\t\t\"SV|America/El_Salvador\",\n\t\t\t\"SX|America/Curacao America/Lower_Princes\",\n\t\t\t\"SY|Asia/Damascus\",\n\t\t\t\"SZ|Africa/Johannesburg Africa/Mbabane\",\n\t\t\t\"TC|America/Grand_Turk\",\n\t\t\t\"TD|Africa/Ndjamena\",\n\t\t\t\"TF|Indian/Reunion Indian/Kerguelen\",\n\t\t\t\"TG|Africa/Abidjan Africa/Lome\",\n\t\t\t\"TH|Asia/Bangkok\",\n\t\t\t\"TJ|Asia/Dushanbe\",\n\t\t\t\"TK|Pacific/Fakaofo\",\n\t\t\t\"TL|Asia/Dili\",\n\t\t\t\"TM|Asia/Ashgabat\",\n\t\t\t\"TN|Africa/Tunis\",\n\t\t\t\"TO|Pacific/Tongatapu\",\n\t\t\t\"TR|Europe/Istanbul\",\n\t\t\t\"TT|America/Port_of_Spain\",\n\t\t\t\"TV|Pacific/Funafuti\",\n\t\t\t\"TW|Asia/Taipei\",\n\t\t\t\"TZ|Africa/Nairobi Africa/Dar_es_Salaam\",\n\t\t\t\"UA|Europe/Simferopol Europe/Kiev Europe/Uzhgorod Europe/Zaporozhye\",\n\t\t\t\"UG|Africa/Nairobi Africa/Kampala\",\n\t\t\t\"UM|Pacific/Pago_Pago Pacific/Wake Pacific/Honolulu Pacific/Midway\",\n\t\t\t\"US|America/New_York America/Detroit America/Kentucky/Louisville America/Kentucky/Monticello America/Indiana/Indianapolis America/Indiana/Vincennes America/Indiana/Winamac America/Indiana/Marengo America/Indiana/Petersburg America/Indiana/Vevay America/Chicago America/Indiana/Tell_City America/Indiana/Knox America/Menominee America/North_Dakota/Center America/North_Dakota/New_Salem America/North_Dakota/Beulah America/Denver America/Boise America/Phoenix America/Los_Angeles America/Anchorage America/Juneau America/Sitka America/Metlakatla America/Yakutat America/Nome America/Adak Pacific/Honolulu\",\n\t\t\t\"UY|America/Montevideo\",\n\t\t\t\"UZ|Asia/Samarkand Asia/Tashkent\",\n\t\t\t\"VA|Europe/Rome Europe/Vatican\",\n\t\t\t\"VC|America/Port_of_Spain America/St_Vincent\",\n\t\t\t\"VE|America/Caracas\",\n\t\t\t\"VG|America/Port_of_Spain America/Tortola\",\n\t\t\t\"VI|America/Port_of_Spain America/St_Thomas\",\n\t\t\t\"VN|Asia/Bangkok Asia/Ho_Chi_Minh\",\n\t\t\t\"VU|Pacific/Efate\",\n\t\t\t\"WF|Pacific/Wallis\",\n\t\t\t\"WS|Pacific/Apia\",\n\t\t\t\"YE|Asia/Riyadh Asia/Aden\",\n\t\t\t\"YT|Africa/Nairobi Indian/Mayotte\",\n\t\t\t\"ZA|Africa/Johannesburg\",\n\t\t\t\"ZM|Africa/Maputo Africa/Lusaka\",\n\t\t\t\"ZW|Africa/Maputo Africa/Harare\"\n\t\t]\n\t});\n\n\n\treturn moment;\n}));"
  },
  {
    "path": "vendor/assets/stylesheets/.keep",
    "content": ""
  },
  {
    "path": "vendor/assets/stylesheets/fullcalendar.css",
    "content": "/*!\n * FullCalendar v3.6.2 Stylesheet\n * Docs & License: https://fullcalendar.io/\n * (c) 2017 Adam Shaw\n */\n\n\n.fc {\n\tdirection: ltr;\n\ttext-align: left;\n}\n\n.fc-rtl {\n\ttext-align: right;\n}\n\nbody .fc { /* extra precedence to overcome jqui */\n\tfont-size: 1em;\n}\n\n\n/* Colors\n--------------------------------------------------------------------------------------------------*/\n\n\n.fc-highlight { /* when user is selecting cells */\n\tbackground: #bce8f1;\n\topacity: .3;\n}\n\n.fc-bgevent { /* default look for background events */\n\tbackground: rgb(143, 223, 130);\n\topacity: .3;\n}\n\n.fc-nonbusiness { /* default look for non-business-hours areas */\n\t/* will inherit .fc-bgevent's styles */\n\tbackground: #d7d7d7;\n}\n\n\n/* Buttons (styled <button> tags, normalized to work cross-browser)\n--------------------------------------------------------------------------------------------------*/\n\n.fc button {\n\t/* force height to include the border and padding */\n\t-moz-box-sizing: border-box;\n\t-webkit-box-sizing: border-box;\n\tbox-sizing: border-box;\n\n\t/* dimensions */\n\tmargin: 0;\n\theight: 2.1em;\n\tpadding: 0 .6em;\n\n\t/* text & cursor */\n\tfont-size: 1em; /* normalize */\n\twhite-space: nowrap;\n\tcursor: pointer;\n}\n\n/* Firefox has an annoying inner border */\n.fc button::-moz-focus-inner { margin: 0; padding: 0; }\n\t\n.fc-state-default { /* non-theme */\n\tborder: 1px solid;\n}\n\n.fc-state-default.fc-corner-left { /* non-theme */\n\tborder-top-left-radius: 4px;\n\tborder-bottom-left-radius: 4px;\n}\n\n.fc-state-default.fc-corner-right { /* non-theme */\n\tborder-top-right-radius: 4px;\n\tborder-bottom-right-radius: 4px;\n}\n\n/* icons in buttons */\n\n.fc button .fc-icon { /* non-theme */\n\tposition: relative;\n\ttop: -0.05em; /* seems to be a good adjustment across browsers */\n\tmargin: 0 .2em;\n\tvertical-align: middle;\n}\n\t\n/*\n  button states\n  borrowed from twitter bootstrap (http://twitter.github.com/bootstrap/)\n*/\n\n.fc-state-default {\n\tbackground-color: #f5f5f5;\n\tbackground-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);\n\tbackground-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));\n\tbackground-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);\n\tbackground-image: -o-linear-gradient(top, #ffffff, #e6e6e6);\n\tbackground-image: linear-gradient(to bottom, #ffffff, #e6e6e6);\n\tbackground-repeat: repeat-x;\n\tborder-color: #e6e6e6 #e6e6e6 #bfbfbf;\n\tborder-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\n\tcolor: #333;\n\ttext-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);\n\tbox-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n\n.fc-state-hover,\n.fc-state-down,\n.fc-state-active,\n.fc-state-disabled {\n\tcolor: #333333;\n\tbackground-color: #e6e6e6;\n}\n\n.fc-state-hover {\n\tcolor: #333333;\n\ttext-decoration: none;\n\tbackground-position: 0 -15px;\n\t-webkit-transition: background-position 0.1s linear;\n\t   -moz-transition: background-position 0.1s linear;\n\t     -o-transition: background-position 0.1s linear;\n\t        transition: background-position 0.1s linear;\n}\n\n.fc-state-down,\n.fc-state-active {\n\tbackground-color: #cccccc;\n\tbackground-image: none;\n\tbox-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n\n.fc-state-disabled {\n\tcursor: default;\n\tbackground-image: none;\n\topacity: 0.65;\n\tbox-shadow: none;\n}\n\n\n/* Buttons Groups\n--------------------------------------------------------------------------------------------------*/\n\n.fc-button-group {\n\tdisplay: inline-block;\n}\n\n/*\nevery button that is not first in a button group should scootch over one pixel and cover the\nprevious button's border...\n*/\n\n.fc .fc-button-group > * { /* extra precedence b/c buttons have margin set to zero */\n\tfloat: left;\n\tmargin: 0 0 0 -1px;\n}\n\n.fc .fc-button-group > :first-child { /* same */\n\tmargin-left: 0;\n}\n\n\n/* Popover\n--------------------------------------------------------------------------------------------------*/\n\n.fc-popover {\n\tposition: absolute;\n\tbox-shadow: 0 2px 6px rgba(0,0,0,.15);\n}\n\n.fc-popover .fc-header { /* TODO: be more consistent with fc-head/fc-body */\n\tpadding: 2px 4px;\n}\n\n.fc-popover .fc-header .fc-title {\n\tmargin: 0 2px;\n}\n\n.fc-popover .fc-header .fc-close {\n\tcursor: pointer;\n}\n\n.fc-ltr .fc-popover .fc-header .fc-title,\n.fc-rtl .fc-popover .fc-header .fc-close {\n\tfloat: left;\n}\n\n.fc-rtl .fc-popover .fc-header .fc-title,\n.fc-ltr .fc-popover .fc-header .fc-close {\n\tfloat: right;\n}\n\n\n/* Misc Reusable Components\n--------------------------------------------------------------------------------------------------*/\n\n.fc-divider {\n\tborder-style: solid;\n\tborder-width: 1px;\n}\n\nhr.fc-divider {\n\theight: 0;\n\tmargin: 0;\n\tpadding: 0 0 2px; /* height is unreliable across browsers, so use padding */\n\tborder-width: 1px 0;\n}\n\n.fc-clear {\n\tclear: both;\n}\n\n.fc-bg,\n.fc-bgevent-skeleton,\n.fc-highlight-skeleton,\n.fc-helper-skeleton {\n\t/* these element should always cling to top-left/right corners */\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n}\n\n.fc-bg {\n\tbottom: 0; /* strech bg to bottom edge */\n}\n\n.fc-bg table {\n\theight: 100%; /* strech bg to bottom edge */\n}\n\n\n/* Tables\n--------------------------------------------------------------------------------------------------*/\n\n.fc table {\n\twidth: 100%;\n\tbox-sizing: border-box; /* fix scrollbar issue in firefox */\n\ttable-layout: fixed;\n\tborder-collapse: collapse;\n\tborder-spacing: 0;\n\tfont-size: 1em; /* normalize cross-browser */\n}\n\n.fc th {\n\ttext-align: center;\n}\n\n.fc th,\n.fc td {\n\tborder-style: solid;\n\tborder-width: 1px;\n\tpadding: 0;\n\tvertical-align: top;\n}\n\n.fc td.fc-today {\n\tborder-style: double; /* overcome neighboring borders */\n}\n\n\n/* Internal Nav Links\n--------------------------------------------------------------------------------------------------*/\n\na[data-goto] {\n\tcursor: pointer;\n}\n\na[data-goto]:hover {\n\ttext-decoration: underline;\n}\n\n\n/* Fake Table Rows\n--------------------------------------------------------------------------------------------------*/\n\n.fc .fc-row { /* extra precedence to overcome themes w/ .ui-widget-content forcing a 1px border */\n\t/* no visible border by default. but make available if need be (scrollbar width compensation) */\n\tborder-style: solid;\n\tborder-width: 0;\n}\n\n.fc-row table {\n\t/* don't put left/right border on anything within a fake row.\n\t   the outer tbody will worry about this */\n\tborder-left: 0 hidden transparent;\n\tborder-right: 0 hidden transparent;\n\n\t/* no bottom borders on rows */\n\tborder-bottom: 0 hidden transparent; \n}\n\n.fc-row:first-child table {\n\tborder-top: 0 hidden transparent; /* no top border on first row */\n}\n\n\n/* Day Row (used within the header and the DayGrid)\n--------------------------------------------------------------------------------------------------*/\n\n.fc-row {\n\tposition: relative;\n}\n\n.fc-row .fc-bg {\n\tz-index: 1;\n}\n\n/* highlighting cells & background event skeleton */\n\n.fc-row .fc-bgevent-skeleton,\n.fc-row .fc-highlight-skeleton {\n\tbottom: 0; /* stretch skeleton to bottom of row */\n}\n\n.fc-row .fc-bgevent-skeleton table,\n.fc-row .fc-highlight-skeleton table {\n\theight: 100%; /* stretch skeleton to bottom of row */\n}\n\n.fc-row .fc-highlight-skeleton td,\n.fc-row .fc-bgevent-skeleton td {\n\tborder-color: transparent;\n}\n\n.fc-row .fc-bgevent-skeleton {\n\tz-index: 2;\n\n}\n\n.fc-row .fc-highlight-skeleton {\n\tz-index: 3;\n}\n\n/*\nrow content (which contains day/week numbers and events) as well as \"helper\" (which contains\ntemporary rendered events).\n*/\n\n.fc-row .fc-content-skeleton {\n\tposition: relative;\n\tz-index: 4;\n\tpadding-bottom: 2px; /* matches the space above the events */\n}\n\n.fc-row .fc-helper-skeleton {\n\tz-index: 5;\n}\n\n.fc .fc-row .fc-content-skeleton table,\n.fc .fc-row .fc-content-skeleton td,\n.fc .fc-row .fc-helper-skeleton td {\n\t/* see-through to the background below */\n\t/* extra precedence to prevent theme-provided backgrounds */\n\tbackground: none; /* in case <td>s are globally styled */\n\tborder-color: transparent;\n}\n\n.fc-row .fc-content-skeleton td,\n.fc-row .fc-helper-skeleton td {\n\t/* don't put a border between events and/or the day number */\n\tborder-bottom: 0;\n}\n\n.fc-row .fc-content-skeleton tbody td, /* cells with events inside (so NOT the day number cell) */\n.fc-row .fc-helper-skeleton tbody td {\n\t/* don't put a border between event cells */\n\tborder-top: 0;\n}\n\n\n/* Scrolling Container\n--------------------------------------------------------------------------------------------------*/\n\n.fc-scroller {\n\t-webkit-overflow-scrolling: touch;\n}\n\n/* TODO: move to agenda/basic */\n.fc-scroller > .fc-day-grid,\n.fc-scroller > .fc-time-grid {\n\tposition: relative; /* re-scope all positions */\n\twidth: 100%; /* hack to force re-sizing this inner element when scrollbars appear/disappear */\n}\n\n\n/* Global Event Styles\n--------------------------------------------------------------------------------------------------*/\n\n.fc-event {\n\tposition: relative; /* for resize handle and other inner positioning */\n\tdisplay: block; /* make the <a> tag block */\n\tfont-size: .85em;\n\tline-height: 1.3;\n\tborder-radius: 3px;\n\tborder: 1px solid #3a87ad; /* default BORDER color */\n}\n\n.fc-event,\n.fc-event-dot {\n\tbackground-color: #3a87ad; /* default BACKGROUND color */\n}\n\n.fc-event,\n.fc-event:hover {\n\tcolor: #fff; /* default TEXT color */\n\ttext-decoration: none; /* if <a> has an href */\n}\n\n.fc-event[href],\n.fc-event.fc-draggable {\n\tcursor: pointer; /* give events with links and draggable events a hand mouse pointer */\n}\n\n.fc-not-allowed, /* causes a \"warning\" cursor. applied on body */\n.fc-not-allowed .fc-event { /* to override an event's custom cursor */\n\tcursor: not-allowed;\n}\n\n.fc-event .fc-bg { /* the generic .fc-bg already does position */\n\tz-index: 1;\n\tbackground: #fff;\n\topacity: .25;\n}\n\n.fc-event .fc-content {\n\tposition: relative;\n\tz-index: 2;\n}\n\n/* resizer (cursor AND touch devices) */\n\n.fc-event .fc-resizer {\n\tposition: absolute;\n\tz-index: 4;\n}\n\n/* resizer (touch devices) */\n\n.fc-event .fc-resizer {\n\tdisplay: none;\n}\n\n.fc-event.fc-allow-mouse-resize .fc-resizer,\n.fc-event.fc-selected .fc-resizer {\n\t/* only show when hovering or selected (with touch) */\n\tdisplay: block;\n}\n\n/* hit area */\n\n.fc-event.fc-selected .fc-resizer:before {\n\t/* 40x40 touch area */\n\tcontent: \"\";\n\tposition: absolute;\n\tz-index: 9999; /* user of this util can scope within a lower z-index */\n\ttop: 50%;\n\tleft: 50%;\n\twidth: 40px;\n\theight: 40px;\n\tmargin-left: -20px;\n\tmargin-top: -20px;\n}\n\n\n/* Event Selection (only for touch devices)\n--------------------------------------------------------------------------------------------------*/\n\n.fc-event.fc-selected {\n\tz-index: 9999 !important; /* overcomes inline z-index */\n\tbox-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);\n}\n\n.fc-event.fc-selected.fc-dragging {\n\tbox-shadow: 0 2px 7px rgba(0, 0, 0, 0.3);\n}\n\n\n/* Horizontal Events\n--------------------------------------------------------------------------------------------------*/\n\n/* bigger touch area when selected */\n.fc-h-event.fc-selected:before {\n\tcontent: \"\";\n\tposition: absolute;\n\tz-index: 3; /* below resizers */\n\ttop: -10px;\n\tbottom: -10px;\n\tleft: 0;\n\tright: 0;\n}\n\n/* events that are continuing to/from another week. kill rounded corners and butt up against edge */\n\n.fc-ltr .fc-h-event.fc-not-start,\n.fc-rtl .fc-h-event.fc-not-end {\n\tmargin-left: 0;\n\tborder-left-width: 0;\n\tpadding-left: 1px; /* replace the border with padding */\n\tborder-top-left-radius: 0;\n\tborder-bottom-left-radius: 0;\n}\n\n.fc-ltr .fc-h-event.fc-not-end,\n.fc-rtl .fc-h-event.fc-not-start {\n\tmargin-right: 0;\n\tborder-right-width: 0;\n\tpadding-right: 1px; /* replace the border with padding */\n\tborder-top-right-radius: 0;\n\tborder-bottom-right-radius: 0;\n}\n\n/* resizer (cursor AND touch devices) */\n\n/* left resizer  */\n.fc-ltr .fc-h-event .fc-start-resizer,\n.fc-rtl .fc-h-event .fc-end-resizer {\n\tcursor: w-resize;\n\tleft: -1px; /* overcome border */\n}\n\n/* right resizer */\n.fc-ltr .fc-h-event .fc-end-resizer,\n.fc-rtl .fc-h-event .fc-start-resizer {\n\tcursor: e-resize;\n\tright: -1px; /* overcome border */\n}\n\n/* resizer (mouse devices) */\n\n.fc-h-event.fc-allow-mouse-resize .fc-resizer {\n\twidth: 7px;\n\ttop: -1px; /* overcome top border */\n\tbottom: -1px; /* overcome bottom border */\n}\n\n/* resizer (touch devices) */\n\n.fc-h-event.fc-selected .fc-resizer {\n\t/* 8x8 little dot */\n\tborder-radius: 4px;\n\tborder-width: 1px;\n\twidth: 6px;\n\theight: 6px;\n\tborder-style: solid;\n\tborder-color: inherit;\n\tbackground: #fff;\n\t/* vertically center */\n\ttop: 50%;\n\tmargin-top: -4px;\n}\n\n/* left resizer  */\n.fc-ltr .fc-h-event.fc-selected .fc-start-resizer,\n.fc-rtl .fc-h-event.fc-selected .fc-end-resizer {\n\tmargin-left: -4px; /* centers the 8x8 dot on the left edge */\n}\n\n/* right resizer */\n.fc-ltr .fc-h-event.fc-selected .fc-end-resizer,\n.fc-rtl .fc-h-event.fc-selected .fc-start-resizer {\n\tmargin-right: -4px; /* centers the 8x8 dot on the right edge */\n}\n\n\n/* DayGrid events\n----------------------------------------------------------------------------------------------------\nWe use the full \"fc-day-grid-event\" class instead of using descendants because the event won't\nbe a descendant of the grid when it is being dragged.\n*/\n\n.fc-day-grid-event {\n\tmargin: 1px 2px 0; /* spacing between events and edges */\n\tpadding: 0 1px;\n}\n\ntr:first-child > td > .fc-day-grid-event {\n\tmargin-top: 2px; /* a little bit more space before the first event */\n}\n\n.fc-day-grid-event.fc-selected:after {\n\tcontent: \"\";\n\tposition: absolute;\n\tz-index: 1; /* same z-index as fc-bg, behind text */\n\t/* overcome the borders */\n\ttop: -1px;\n\tright: -1px;\n\tbottom: -1px;\n\tleft: -1px;\n\t/* darkening effect */\n\tbackground: #000;\n\topacity: .25;\n}\n\n.fc-day-grid-event .fc-content { /* force events to be one-line tall */\n\twhite-space: nowrap;\n\toverflow: hidden;\n}\n\n.fc-day-grid-event .fc-time {\n\tfont-weight: bold;\n}\n\n/* resizer (cursor devices) */\n\n/* left resizer  */\n.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer,\n.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer {\n\tmargin-left: -2px; /* to the day cell's edge */\n}\n\n/* right resizer */\n.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer,\n.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer {\n\tmargin-right: -2px; /* to the day cell's edge */\n}\n\n\n/* Event Limiting\n--------------------------------------------------------------------------------------------------*/\n\n/* \"more\" link that represents hidden events */\n\na.fc-more {\n\tmargin: 1px 3px;\n\tfont-size: .85em;\n\tcursor: pointer;\n\ttext-decoration: none;\n}\n\na.fc-more:hover {\n\ttext-decoration: underline;\n}\n\n.fc-limited { /* rows and cells that are hidden because of a \"more\" link */\n\tdisplay: none;\n}\n\n/* popover that appears when \"more\" link is clicked */\n\n.fc-day-grid .fc-row {\n\tz-index: 1; /* make the \"more\" popover one higher than this */\n}\n\n.fc-more-popover {\n\tz-index: 2;\n\twidth: 220px;\n}\n\n.fc-more-popover .fc-event-container {\n\tpadding: 10px;\n}\n\n\n/* Now Indicator\n--------------------------------------------------------------------------------------------------*/\n\n.fc-now-indicator {\n\tposition: absolute;\n\tborder: 0 solid red;\n}\n\n\n/* Utilities\n--------------------------------------------------------------------------------------------------*/\n\n.fc-unselectable {\n\t-webkit-user-select: none;\n\t -khtml-user-select: none;\n\t   -moz-user-select: none;\n\t    -ms-user-select: none;\n\t        user-select: none;\n\t-webkit-touch-callout: none;\n\t-webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n\n\n/*\nTODO: more distinction between this file and common.css\n*/\n\n/* Colors\n--------------------------------------------------------------------------------------------------*/\n\n.fc-unthemed th,\n.fc-unthemed td,\n.fc-unthemed thead,\n.fc-unthemed tbody,\n.fc-unthemed .fc-divider,\n.fc-unthemed .fc-row,\n.fc-unthemed .fc-content, /* for gutter border */\n.fc-unthemed .fc-popover,\n.fc-unthemed .fc-list-view,\n.fc-unthemed .fc-list-heading td {\n\tborder-color: #ddd;\n}\n\n.fc-unthemed .fc-popover {\n\tbackground-color: #fff;\n}\n\n.fc-unthemed .fc-divider,\n.fc-unthemed .fc-popover .fc-header,\n.fc-unthemed .fc-list-heading td {\n\tbackground: #eee;\n}\n\n.fc-unthemed .fc-popover .fc-header .fc-close {\n\tcolor: #666;\n}\n\n.fc-unthemed td.fc-today {\n\tbackground: #fcf8e3;\n}\n\n.fc-unthemed .fc-disabled-day {\n\tbackground: #d7d7d7;\n\topacity: .3;\n}\n\n\n/* Icons (inline elements with styled text that mock arrow icons)\n--------------------------------------------------------------------------------------------------*/\n\n.fc-icon {\n\tdisplay: inline-block;\n\theight: 1em;\n\tline-height: 1em;\n\tfont-size: 1em;\n\ttext-align: center;\n\toverflow: hidden;\n\tfont-family: \"Courier New\", Courier, monospace;\n\n\t/* don't allow browser text-selection */\n\t-webkit-touch-callout: none;\n\t-webkit-user-select: none;\n\t-khtml-user-select: none;\n\t-moz-user-select: none;\n\t-ms-user-select: none;\n\tuser-select: none;\n}\n\n/*\nAcceptable font-family overrides for individual icons:\n\t\"Arial\", sans-serif\n\t\"Times New Roman\", serif\n\nNOTE: use percentage font sizes or else old IE chokes\n*/\n\n.fc-icon:after {\n\tposition: relative;\n}\n\n.fc-icon-left-single-arrow:after {\n\tcontent: \"\\02039\";\n\tfont-weight: bold;\n\tfont-size: 200%;\n\ttop: -7%;\n}\n\n.fc-icon-right-single-arrow:after {\n\tcontent: \"\\0203A\";\n\tfont-weight: bold;\n\tfont-size: 200%;\n\ttop: -7%;\n}\n\n.fc-icon-left-double-arrow:after {\n\tcontent: \"\\000AB\";\n\tfont-size: 160%;\n\ttop: -7%;\n}\n\n.fc-icon-right-double-arrow:after {\n\tcontent: \"\\000BB\";\n\tfont-size: 160%;\n\ttop: -7%;\n}\n\n.fc-icon-left-triangle:after {\n\tcontent: \"\\25C4\";\n\tfont-size: 125%;\n\ttop: 3%;\n}\n\n.fc-icon-right-triangle:after {\n\tcontent: \"\\25BA\";\n\tfont-size: 125%;\n\ttop: 3%;\n}\n\n.fc-icon-down-triangle:after {\n\tcontent: \"\\25BC\";\n\tfont-size: 125%;\n\ttop: 2%;\n}\n\n.fc-icon-x:after {\n\tcontent: \"\\000D7\";\n\tfont-size: 200%;\n\ttop: 6%;\n}\n\n\n/* Popover\n--------------------------------------------------------------------------------------------------*/\n\n.fc-unthemed .fc-popover {\n\tborder-width: 1px;\n\tborder-style: solid;\n}\n\n.fc-unthemed .fc-popover .fc-header .fc-close {\n\tfont-size: .9em;\n\tmargin-top: 2px;\n}\n\n\n/* List View\n--------------------------------------------------------------------------------------------------*/\n\n.fc-unthemed .fc-list-item:hover td {\n\tbackground-color: #f5f5f5;\n}\n\n\n\n/* Colors\n--------------------------------------------------------------------------------------------------*/\n\n.ui-widget .fc-disabled-day {\n\tbackground-image: none;\n}\n\n\n/* Popover\n--------------------------------------------------------------------------------------------------*/\n\n.fc-popover > .ui-widget-header + .ui-widget-content {\n\tborder-top: 0; /* where they meet, let the header have the border */\n}\n\n\n/* Global Event Styles\n--------------------------------------------------------------------------------------------------*/\n\n.ui-widget .fc-event {\n\t/* overpower jqui's styles on <a> tags. TODO: more DRY */\n\tcolor: #fff; /* default TEXT color */\n\ttext-decoration: none; /* if <a> has an href */\n\n\t/* undo ui-widget-header bold */\n\tfont-weight: normal;\n}\n\n\n/* TimeGrid axis running down the side (for both the all-day area and the slot area)\n--------------------------------------------------------------------------------------------------*/\n\n.ui-widget td.fc-axis {\n\tfont-weight: normal; /* overcome bold */\n}\n\n\n/* TimeGrid Slats (lines that run horizontally)\n--------------------------------------------------------------------------------------------------*/\n\n.fc-time-grid .fc-slats .ui-widget-content { \n\tbackground: none; /* see through to fc-bg */\n}\n\n\n\n.fc.fc-bootstrap3 a {\n\ttext-decoration: none;\n}\n\n.fc.fc-bootstrap3 a[data-goto]:hover {\n\ttext-decoration: underline;\n}\n\n.fc-bootstrap3 hr.fc-divider {\n\tborder-color: inherit;\n}\n\n.fc-bootstrap3 .fc-today.alert {\n\tborder-radius: 0;\n}\n\n\n/* Popover\n--------------------------------------------------------------------------------------------------*/\n\n.fc-bootstrap3 .fc-popover .panel-body {\n\tpadding: 0; /* undo built-in padding */\n}\n\n\n/* TimeGrid Slats (lines that run horizontally)\n--------------------------------------------------------------------------------------------------*/\n\n.fc-bootstrap3 .fc-time-grid .fc-slats table {\n\t/* some themes have background color. see through to slats */\n\tbackground: none;\n}\n\n\n\n/* Toolbar\n--------------------------------------------------------------------------------------------------*/\n\n.fc-toolbar {\n\ttext-align: center;\n}\n\n.fc-toolbar.fc-header-toolbar {\n\tmargin-bottom: 1em;\n}\n\n.fc-toolbar.fc-footer-toolbar {\n\tmargin-top: 1em;\n}\n\n.fc-toolbar .fc-left {\n\tfloat: left;\n}\n\n.fc-toolbar .fc-right {\n\tfloat: right;\n}\n\n.fc-toolbar .fc-center {\n\tdisplay: inline-block;\n}\n\n/* the things within each left/right/center section */\n.fc .fc-toolbar > * > * { /* extra precedence to override button border margins */\n\tfloat: left;\n\tmargin-left: .75em;\n}\n\n/* the first thing within each left/center/right section */\n.fc .fc-toolbar > * > :first-child { /* extra precedence to override button border margins */\n\tmargin-left: 0;\n}\n\t\n/* title text */\n\n.fc-toolbar h2 {\n\tmargin: 0;\n}\n\n/* button layering (for border precedence) */\n\n.fc-toolbar button {\n\tposition: relative;\n}\n\n.fc-toolbar .fc-state-hover,\n.fc-toolbar .ui-state-hover {\n\tz-index: 2;\n}\n\t\n.fc-toolbar .fc-state-down {\n\tz-index: 3;\n}\n\n.fc-toolbar .fc-state-active,\n.fc-toolbar .ui-state-active {\n\tz-index: 4;\n}\n\n.fc-toolbar button:focus {\n\tz-index: 5;\n}\n\n\n/* View Structure\n--------------------------------------------------------------------------------------------------*/\n\n/* undo twitter bootstrap's box-sizing rules. normalizes positioning techniques */\n/* don't do this for the toolbar because we'll want bootstrap to style those buttons as some pt */\n.fc-view-container *,\n.fc-view-container *:before,\n.fc-view-container *:after {\n\t-webkit-box-sizing: content-box;\n\t   -moz-box-sizing: content-box;\n\t        box-sizing: content-box;\n}\n\n.fc-view, /* scope positioning and z-index's for everything within the view */\n.fc-view > table { /* so dragged elements can be above the view's main element */\n\tposition: relative;\n\tz-index: 1;\n}\n\n\n\n/* BasicView\n--------------------------------------------------------------------------------------------------*/\n\n/* day row structure */\n\n.fc-basicWeek-view .fc-content-skeleton,\n.fc-basicDay-view .fc-content-skeleton {\n\t/* there may be week numbers in these views, so no padding-top */\n\tpadding-bottom: 1em; /* ensure a space at bottom of cell for user selecting/clicking */\n}\n\n.fc-basic-view .fc-body .fc-row {\n\tmin-height: 4em; /* ensure that all rows are at least this tall */\n}\n\n/* a \"rigid\" row will take up a constant amount of height because content-skeleton is absolute */\n\n.fc-row.fc-rigid {\n\toverflow: hidden;\n}\n\n.fc-row.fc-rigid .fc-content-skeleton {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n}\n\n/* week and day number styling */\n\n.fc-day-top.fc-other-month {\n\topacity: 0.3;\n}\n\n.fc-basic-view .fc-week-number,\n.fc-basic-view .fc-day-number {\n\tpadding: 2px;\n}\n\n.fc-basic-view th.fc-week-number,\n.fc-basic-view th.fc-day-number {\n\tpadding: 0 2px; /* column headers can't have as much v space */\n}\n\n.fc-ltr .fc-basic-view .fc-day-top .fc-day-number { float: right; }\n.fc-rtl .fc-basic-view .fc-day-top .fc-day-number { float: left; }\n\n.fc-ltr .fc-basic-view .fc-day-top .fc-week-number { float: left; border-radius: 0 0 3px 0; }\n.fc-rtl .fc-basic-view .fc-day-top .fc-week-number { float: right; border-radius: 0 0 0 3px; }\n\n.fc-basic-view .fc-day-top .fc-week-number {\n\tmin-width: 1.5em;\n\ttext-align: center;\n\tbackground-color: #f2f2f2;\n\tcolor: #808080;\n}\n\n/* when week/day number have own column */\n\n.fc-basic-view td.fc-week-number {\n\ttext-align: center;\n}\n\n.fc-basic-view td.fc-week-number > * {\n\t/* work around the way we do column resizing and ensure a minimum width */\n\tdisplay: inline-block;\n\tmin-width: 1.25em;\n}\n\n\n/* AgendaView all-day area\n--------------------------------------------------------------------------------------------------*/\n\n.fc-agenda-view .fc-day-grid {\n\tposition: relative;\n\tz-index: 2; /* so the \"more..\" popover will be over the time grid */\n}\n\n.fc-agenda-view .fc-day-grid .fc-row {\n\tmin-height: 3em; /* all-day section will never get shorter than this */\n}\n\n.fc-agenda-view .fc-day-grid .fc-row .fc-content-skeleton {\n\tpadding-bottom: 1em; /* give space underneath events for clicking/selecting days */\n}\n\n\n/* TimeGrid axis running down the side (for both the all-day area and the slot area)\n--------------------------------------------------------------------------------------------------*/\n\n.fc .fc-axis { /* .fc to overcome default cell styles */\n\tvertical-align: middle;\n\tpadding: 0 4px;\n\twhite-space: nowrap;\n}\n\n.fc-ltr .fc-axis {\n\ttext-align: right;\n}\n\n.fc-rtl .fc-axis {\n\ttext-align: left;\n}\n\n\n/* TimeGrid Structure\n--------------------------------------------------------------------------------------------------*/\n\n.fc-time-grid-container, /* so scroll container's z-index is below all-day */\n.fc-time-grid { /* so slats/bg/content/etc positions get scoped within here */\n\tposition: relative;\n\tz-index: 1;\n}\n\n.fc-time-grid {\n\tmin-height: 100%; /* so if height setting is 'auto', .fc-bg stretches to fill height */\n}\n\n.fc-time-grid table { /* don't put outer borders on slats/bg/content/etc */\n\tborder: 0 hidden transparent;\n}\n\n.fc-time-grid > .fc-bg {\n\tz-index: 1;\n}\n\n.fc-time-grid .fc-slats,\n.fc-time-grid > hr { /* the <hr> AgendaView injects when grid is shorter than scroller */\n\tposition: relative;\n\tz-index: 2;\n}\n\n.fc-time-grid .fc-content-col {\n\tposition: relative; /* because now-indicator lives directly inside */\n}\n\n.fc-time-grid .fc-content-skeleton {\n\tposition: absolute;\n\tz-index: 3;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n}\n\n/* divs within a cell within the fc-content-skeleton */\n\n.fc-time-grid .fc-business-container {\n\tposition: relative;\n\tz-index: 1;\n}\n\n.fc-time-grid .fc-bgevent-container {\n\tposition: relative;\n\tz-index: 2;\n}\n\n.fc-time-grid .fc-highlight-container {\n\tposition: relative;\n\tz-index: 3;\n}\n\n.fc-time-grid .fc-event-container {\n\tposition: relative;\n\tz-index: 4;\n}\n\n.fc-time-grid .fc-now-indicator-line {\n\tz-index: 5;\n}\n\n.fc-time-grid .fc-helper-container { /* also is fc-event-container */\n\tposition: relative;\n\tz-index: 6;\n}\n\n\n/* TimeGrid Slats (lines that run horizontally)\n--------------------------------------------------------------------------------------------------*/\n\n.fc-time-grid .fc-slats td {\n\theight: 1.5em;\n\tborder-bottom: 0; /* each cell is responsible for its top border */\n}\n\n.fc-time-grid .fc-slats .fc-minor td {\n\tborder-top-style: dotted;\n}\n\n\n/* TimeGrid Highlighting Slots\n--------------------------------------------------------------------------------------------------*/\n\n.fc-time-grid .fc-highlight-container { /* a div within a cell within the fc-highlight-skeleton */\n\tposition: relative; /* scopes the left/right of the fc-highlight to be in the column */\n}\n\n.fc-time-grid .fc-highlight {\n\tposition: absolute;\n\tleft: 0;\n\tright: 0;\n\t/* top and bottom will be in by JS */\n}\n\n\n/* TimeGrid Event Containment\n--------------------------------------------------------------------------------------------------*/\n\n.fc-ltr .fc-time-grid .fc-event-container { /* space on the sides of events for LTR (default) */\n\tmargin: 0 2.5% 0 2px;\n}\n\n.fc-rtl .fc-time-grid .fc-event-container { /* space on the sides of events for RTL */\n\tmargin: 0 2px 0 2.5%;\n}\n\n.fc-time-grid .fc-event,\n.fc-time-grid .fc-bgevent {\n\tposition: absolute;\n\tz-index: 1; /* scope inner z-index's */\n}\n\n.fc-time-grid .fc-bgevent {\n\t/* background events always span full width */\n\tleft: 0;\n\tright: 0;\n}\n\n\n/* Generic Vertical Event\n--------------------------------------------------------------------------------------------------*/\n\n.fc-v-event.fc-not-start { /* events that are continuing from another day */\n\t/* replace space made by the top border with padding */\n\tborder-top-width: 0;\n\tpadding-top: 1px;\n\n\t/* remove top rounded corners */\n\tborder-top-left-radius: 0;\n\tborder-top-right-radius: 0;\n}\n\n.fc-v-event.fc-not-end {\n\t/* replace space made by the top border with padding */\n\tborder-bottom-width: 0;\n\tpadding-bottom: 1px;\n\n\t/* remove bottom rounded corners */\n\tborder-bottom-left-radius: 0;\n\tborder-bottom-right-radius: 0;\n}\n\n\n/* TimeGrid Event Styling\n----------------------------------------------------------------------------------------------------\nWe use the full \"fc-time-grid-event\" class instead of using descendants because the event won't\nbe a descendant of the grid when it is being dragged.\n*/\n\n.fc-time-grid-event {\n\toverflow: hidden; /* don't let the bg flow over rounded corners */\n}\n\n.fc-time-grid-event.fc-selected {\n\t/* need to allow touch resizers to extend outside event's bounding box */\n\t/* common fc-selected styles hide the fc-bg, so don't need this anyway */\n\toverflow: visible;\n}\n\n.fc-time-grid-event.fc-selected .fc-bg {\n\tdisplay: none; /* hide semi-white background, to appear darker */\n}\n\n.fc-time-grid-event .fc-content {\n\toverflow: hidden; /* for when .fc-selected */\n}\n\n.fc-time-grid-event .fc-time,\n.fc-time-grid-event .fc-title {\n\tpadding: 0 1px;\n}\n\n.fc-time-grid-event .fc-time {\n\tfont-size: .85em;\n\twhite-space: nowrap;\n}\n\n/* short mode, where time and title are on the same line */\n\n.fc-time-grid-event.fc-short .fc-content {\n\t/* don't wrap to second line (now that contents will be inline) */\n\twhite-space: nowrap;\n}\n\n.fc-time-grid-event.fc-short .fc-time,\n.fc-time-grid-event.fc-short .fc-title {\n\t/* put the time and title on the same line */\n\tdisplay: inline-block;\n\tvertical-align: top;\n}\n\n.fc-time-grid-event.fc-short .fc-time span {\n\tdisplay: none; /* don't display the full time text... */\n}\n\n.fc-time-grid-event.fc-short .fc-time:before {\n\tcontent: attr(data-start); /* ...instead, display only the start time */\n}\n\n.fc-time-grid-event.fc-short .fc-time:after {\n\tcontent: \"\\000A0-\\000A0\"; /* seperate with a dash, wrapped in nbsp's */\n}\n\n.fc-time-grid-event.fc-short .fc-title {\n\tfont-size: .85em; /* make the title text the same size as the time */\n\tpadding: 0; /* undo padding from above */\n}\n\n/* resizer (cursor device) */\n\n.fc-time-grid-event.fc-allow-mouse-resize .fc-resizer {\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\theight: 8px;\n\toverflow: hidden;\n\tline-height: 8px;\n\tfont-size: 11px;\n\tfont-family: monospace;\n\ttext-align: center;\n\tcursor: s-resize;\n}\n\n.fc-time-grid-event.fc-allow-mouse-resize .fc-resizer:after {\n\tcontent: \"=\";\n}\n\n/* resizer (touch device) */\n\n.fc-time-grid-event.fc-selected .fc-resizer {\n\t/* 10x10 dot */\n\tborder-radius: 5px;\n\tborder-width: 1px;\n\twidth: 8px;\n\theight: 8px;\n\tborder-style: solid;\n\tborder-color: inherit;\n\tbackground: #fff;\n\t/* horizontally center */\n\tleft: 50%;\n\tmargin-left: -5px;\n\t/* center on the bottom edge */\n\tbottom: -5px;\n}\n\n\n/* Now Indicator\n--------------------------------------------------------------------------------------------------*/\n\n.fc-time-grid .fc-now-indicator-line {\n\tborder-top-width: 1px;\n\tleft: 0;\n\tright: 0;\n}\n\n/* arrow on axis */\n\n.fc-time-grid .fc-now-indicator-arrow {\n\tmargin-top: -5px; /* vertically center on top coordinate */\n}\n\n.fc-ltr .fc-time-grid .fc-now-indicator-arrow {\n\tleft: 0;\n\t/* triangle pointing right... */\n\tborder-width: 5px 0 5px 6px;\n\tborder-top-color: transparent;\n\tborder-bottom-color: transparent;\n}\n\n.fc-rtl .fc-time-grid .fc-now-indicator-arrow {\n\tright: 0;\n\t/* triangle pointing left... */\n\tborder-width: 5px 6px 5px 0;\n\tborder-top-color: transparent;\n\tborder-bottom-color: transparent;\n}\n\n\n\n/* List View\n--------------------------------------------------------------------------------------------------*/\n\n/* possibly reusable */\n\n.fc-event-dot {\n\tdisplay: inline-block;\n\twidth: 10px;\n\theight: 10px;\n\tborder-radius: 5px;\n}\n\n/* view wrapper */\n\n.fc-rtl .fc-list-view {\n\tdirection: rtl; /* unlike core views, leverage browser RTL */\n}\n\n.fc-list-view {\n\tborder-width: 1px;\n\tborder-style: solid;\n}\n\n/* table resets */\n\n.fc .fc-list-table {\n\ttable-layout: auto; /* for shrinkwrapping cell content */\n}\n\n.fc-list-table td {\n\tborder-width: 1px 0 0;\n\tpadding: 8px 14px;\n}\n\n.fc-list-table tr:first-child td {\n\tborder-top-width: 0;\n}\n\n/* day headings with the list */\n\n.fc-list-heading {\n\tborder-bottom-width: 1px;\n}\n\n.fc-list-heading td {\n\tfont-weight: bold;\n}\n\n.fc-ltr .fc-list-heading-main { float: left; }\n.fc-ltr .fc-list-heading-alt { float: right; }\n\n.fc-rtl .fc-list-heading-main { float: right; }\n.fc-rtl .fc-list-heading-alt { float: left; }\n\n/* event list items */\n\n.fc-list-item.fc-has-url {\n\tcursor: pointer; /* whole row will be clickable */\n}\n\n.fc-list-item-marker,\n.fc-list-item-time {\n\twhite-space: nowrap;\n\twidth: 1px;\n}\n\n/* make the dot closer to the event title */\n.fc-ltr .fc-list-item-marker { padding-right: 0; }\n.fc-rtl .fc-list-item-marker { padding-left: 0; }\n\n.fc-list-item-title a {\n\t/* every event title cell has an <a> tag */\n\ttext-decoration: none;\n\tcolor: inherit;\n}\n\n.fc-list-item-title a[href]:hover {\n\t/* hover effect only on titles with hrefs */\n\ttext-decoration: underline;\n}\n\n/* message when no events */\n\n.fc-list-empty-wrap2 {\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n}\n\n.fc-list-empty-wrap1 {\n\twidth: 100%;\n\theight: 100%;\n\tdisplay: table;\n}\n\n.fc-list-empty {\n\tdisplay: table-cell;\n\tvertical-align: middle;\n\ttext-align: center;\n}\n\n.fc-unthemed .fc-list-empty { /* theme will provide own background */\n\tbackground-color: #eee;\n}\n"
  }
]