diff --git a/.github/dependabot.yml b/.github/dependabot.yml deleted file mode 100644 index 5843af6b..00000000 --- a/.github/dependabot.yml +++ /dev/null @@ -1,7 +0,0 @@ -version: 2 -updates: - - package-ecosystem: npm - directory: "/" - schedule: - interval: daily - open-pull-requests-limit: 200 \ No newline at end of file diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml deleted file mode 100644 index ff25c8d9..00000000 --- a/.github/workflows/build.yml +++ /dev/null @@ -1,39 +0,0 @@ -name: GitHub Pages - -on: - push: - branches: - - main # Set a branch to deploy - pull_request: - -jobs: - deploy: - runs-on: ubuntu-22.04 - permissions: - contents: write - concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - - steps: - - uses: actions/checkout@v3 - with: - submodules: true # Fetch Hugo themes (true OR recursive) - - - name: Setup Hugo - uses: peaceiris/actions-hugo@v2 - with: - hugo-version: '0.110.0' - # extended: true - - - name: Build - run: | - hugo mod get -u - hugo --minify --baseURL "https://emeraldjava.github.io/" - - - name: Deploy - uses: peaceiris/actions-gh-pages@v3 - if: ${{ github.ref == 'refs/heads/main' }} - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - publish_dir: ./public - publish_branch: gh-pages \ No newline at end of file diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 151e44c2..00000000 --- a/.gitignore +++ /dev/null @@ -1,173 +0,0 @@ -# Created by .ignore support plugin (hsz.mobi) -### JetBrains template -# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm -# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 - -# User-specific stuff: -.idea/**/workspace.xml -.idea/**/tasks.xml -.idea/dictionaries - -# Sensitive or high-churn files: -.idea/**/dataSources/ -.idea/**/dataSources.ids -.idea/**/dataSources.xml -.idea/**/dataSources.local.xml -.idea/**/sqlDataSources.xml -.idea/**/dynamic.xml -.idea/**/uiDesigner.xml - -# Gradle: -.idea/**/gradle.xml -.idea/**/libraries - -# CMake -cmake-build-debug/ - -# Mongo Explorer plugin: -.idea/**/mongoSettings.xml - -## File-based project format: -*.iws - -## Plugin-specific files: - -# IntelliJ -out/ - -# mpeltonen/sbt-idea plugin -.idea_modules/ - -# JIRA plugin -atlassian-ide-plugin.xml - -# Cursive Clojure plugin -.idea/replstate.xml - -# Crashlytics plugin (for Android Studio and IntelliJ) -com_crashlytics_export_strings.xml -crashlytics.proper3ties -crashlytics-build.properties -fabric.properties -### Ruby template -*.gem -*.rbc -/.config -/coverage/ -/InstalledFiles -/pkg/ -/spec/reports/ -/spec/examples.txt -/test/tmp/ -/test/version_tmp/ -/tmp/ - -# Used by dotenv library to load environment variables. -# .env - -## Specific to RubyMotion: -.dat* -.repl_history -build/ -*.bridgesupport -build-iPhoneOS/ -build-iPhoneSimulator/ - -## Specific to RubyMotion (use of CocoaPods): -# -# We recommend against adding the Pods directory to your .gitignore. However -# you should judge for yourself, the pros and cons are mentioned at: -# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control -# -# vendor/Pods/ - -## Documentation cache and generated files: -/.yardoc/ -/_yardoc/ -/doc/ -/rdoc/ - -## Environment normalization: -/.bundle/ -/vendor/bundle -/lib/bundler/man/ - -# for a library or gem, you might want to ignore these files since the code is -# intended to run in multiple environments; otherwise, check them in: -# Gemfile.lock -# .ruby-version -# .ruby-gemset - -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# Runtime data -pids -*.pid -*.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (http://nodejs.org/api/addons.html) -build/Release - -# Dependency directories -node_modules/ -jspm_packages/ - -# Typescript v1 declaration files -typings/ - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz - -# dotenv environment variables file -.env - -# gatsby files -.cache/ -/public/ - -# Mac files -.DS_Store -/package-lock.json -/hide/ -/.idea/ -/public/ -gatsby-starter-blog/ - -# hugo excludes -.hugo_build.lock -go.sum -themes/* -public/* diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index 3a1a30e1..00000000 --- a/.gitmodules +++ /dev/null @@ -1,6 +0,0 @@ -[submodule "themes/hyde"] - path = themes/hyde - url = https://github.com/spf13/hyde.git -[submodule "themes/github-style"] - path = themes/github-style - url = https://github.com/MeiK2333/github-style.git diff --git a/.prettierrc b/.prettierrc deleted file mode 100644 index 48e90e8d..00000000 --- a/.prettierrc +++ /dev/null @@ -1,7 +0,0 @@ -{ - "endOfLine": "lf", - "semi": false, - "singleQuote": false, - "tabWidth": 2, - "trailingComma": "es5" -} diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 6dd537a1..00000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "yaml.schemas": { - "https://json.schemastore.org/github-workflow.json": "file:///home/dc-user/github/emeraldjava.github.io/.github/workflows/build.yml" - } -} \ No newline at end of file diff --git a/404.html b/404.html new file mode 100644 index 00000000..7492aabe --- /dev/null +++ b/404.html @@ -0,0 +1,5 @@ + +404 Page not found - Posts from emeraldjava +
4 +4

Didn’t find anything here!

\ No newline at end of file diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 88ccf22f..00000000 --- a/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2019 Will Ward - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - diff --git a/README.md b/README.md deleted file mode 100644 index 047f7741..00000000 --- a/README.md +++ /dev/null @@ -1,36 +0,0 @@ -# emeraldjava.github.io - -[![Build Status](https://github.com/emeraldjava/emeraldjava.github.io/workflows/build/badge.svg)](https://github.com/emeraldjava/emeraldjava.github.io) - -My site should be @ [https://emeraldjava.github.io/](http://emeraldjava.github.io/) - -## Local Dev - -Use the -H to set the hostname IP address for remote access - - gatsby develop -H XXX.XX.X.XXX - - gatsby develop -H 10.157.149.208 - -http://localhost:8000/___graphql - -## gatsby-theme-blog-core - -- https://github.com/gatsbyjs/themes/tree/master/packages/gatsby-theme-blog-core - -see - -- https://github.com/vchrombie/vchrombie.github.io -- https://github.com/vchrombie/blog -- - -A new machine.gh - -# Hugo - -## github-style - -- https://themes.gohugo.io/themes/github-style/ -- https://github.com/gitalk/gitalk - - git submodule add https://github.com/MeiK2333/github-style.git themes/github-style \ No newline at end of file diff --git a/categories/index.html b/categories/index.html new file mode 100644 index 00000000..73e2b321 --- /dev/null +++ b/categories/index.html @@ -0,0 +1,30 @@ + +Categories - Posts from emeraldjava +
Avatar

Organizations

@twitter +@linkedin
\ No newline at end of file diff --git a/categories/index.xml b/categories/index.xml new file mode 100644 index 00000000..f3a1e102 --- /dev/null +++ b/categories/index.xml @@ -0,0 +1 @@ +Categories on Posts from emeraldjavahttps://emeraldjava.github.io/categories/Recent content in Categories on Posts from emeraldjavaHugo -- gohugo.ioen-us \ No newline at end of file diff --git a/categories/page/1/index.html b/categories/page/1/index.html new file mode 100644 index 00000000..48f250d8 --- /dev/null +++ b/categories/page/1/index.html @@ -0,0 +1 @@ +https://emeraldjava.github.io/categories/ \ No newline at end of file diff --git a/config.js b/config.js deleted file mode 100644 index 5cb10fbc..00000000 --- a/config.js +++ /dev/null @@ -1,119 +0,0 @@ -"use strict" - -module.exports = { - url: "https://emeraldjava.github.io", - title: "emeraldjava", - tagline: "Java, Spring, DevOps experimenter, chasing a marathon and cycling while home brewing and gardening with family.", - copyright: "© 2022 emeraldjava, All rights reserved", - author: { - name: "emeraldjava", - bio: "Java, Spring, DevOps experimenter chasing a marathon and cycling while home brewing and gardening with family.", - contacts: { - linkedin: "https://ie.linkedin.com/in/paultoconnell/", - github: "https://github.com/emeraldjava", - stackoverflow: "https://stackoverflow.com/users/55794/emeraldjava", - freecodecamp: "https://www.freecodecamp.org/", - twitter: "https://twitter.com/emeraldjava", - }, - }, - labels: [ - { - tag: "run", - tech: "Run", - name: "FaRunning", - size: 20, - color: "red", - }, - { - tag: "cycle", - tech: "Cycle", - name: "FaBicycle", - size: 20, - color: "blue", - }, - { - tag: "nodejs", - tech: "Node.js", - name: "DiNodejsSmall", - size: 20, - color: "lightgreen", - }, - { - tag: "git", - tech: "Git", - name: "DiGitMerge", - size: 20, - color: "white", - }, - { - tag: "javascript", - tech: "JavaScript", - name: "DiJsBadge", - size: 20, - color: "yellow", - }, - { - tag: "css", - tech: "CSS", - name: "DiCss3Full", - size: 20, - color: "teal", - }, - { - tag: "beer", - tech: "Beer", - name: "FaBeer", - size: 20, - color: "deepskyblue", - }, - { - tag: "ruby", - tech: "Ruby", - name: "DiRuby", - size: 20, - color: "crimson", - }, - { - tag: "java", - tech: "Java", - name: "FaJava", - size: 20, - color: "wheat", - }, - { - tag: "angular", - tech: "Angular", - name: "DiAngularSimple", - size: 20, - color: "red", - }, - { - tag: "html", - tech: "HTML", - name: "FaHtml5", - size: 20, - color: "darkorange", - }, - { - tag: "php", - tech: "php", - name: "DiPhp", - size: 20, - color: "violet", - }, - { - tag: "mongodb", - tech: "MongoDB", - name: "DiMongodb", - size: 20, - color: "green", - }, - { - tag: "vscode", - tech: "VS Code", - name: "DiVisualstudio", - size: 20, - color: "deepskyblue", - }, - ], -} diff --git a/config.toml b/config.toml deleted file mode 100644 index 27b409ce..00000000 --- a/config.toml +++ /dev/null @@ -1,21 +0,0 @@ -baseURL = 'https://emeraldjava.github.io/' -languageCode = 'en-us' -title = 'emeraldjava' -theme = "github-style" - -[params] -author = "emeraldjava" -description = "Java, Spring, DevOps experimenter, chasing a marathon and cycling." -github = "emeraldjava" -twitter = "emeraldjava" -linkedin = "paultoconnell" -url = "https://emeraldjava.github.io/" -keywords = "blog, google analytics" -rss = false -lastmod = true -userStatusEmoji = "" -favicon = "" -location = "Ireland" -enableGitalk = false - -# https://themes.gohugo.io/themes/github-style/ \ No newline at end of file diff --git a/content/post/2014-05-29-node-js-meetup-may-2014.md b/content/post/2014-05-29-node-js-meetup-may-2014.md deleted file mode 100644 index 80e85b07..00000000 --- a/content/post/2014-05-29-node-js-meetup-may-2014.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -title: "Node JS Meetup May 2014" -date: "2014-05-29" -layout: post -published: true -tags: [nodejs] ---- - -Notes from the [www.nodejsdublin.com](http://www.nodejsdublin.com/) meeting in [https://www.engineyard.com/](Engine Yard), Barrow St, Dublin. - -The topic this evening is "Building a Reverse Proxy With Node and Performing Scalability Testing On It" and is being presented by the guys from Citi bank. Seems they are hiring as well atm. - -

Back @engineyard for this months @nodejsdublin talk. Will add some notes here http://t.co/gkqa256XLp

— emerald007 (@emerald007) May 29, 2014
- - -My poor attempt to win the spot prize of the evening by posting a photo to [#nodejsdublin](https://twitter.com/hashtag/nodejsdublin?src=hash) - - - -[HAPI](http://spumko.github.io/) is a server framework for node that citi use for proxing. [Aman Kohli](http://ie.linkedin.com/in/kohlia) [akohli](https://twitter.com/akohli) explains the move away from SOAP,XML and the need they had for nodejs within the bank. Pizza with beer in the crust is a dream of his (he hasn't cracked the whole sogginess thing yet). Painpoint aka Sharepoint is the top joke so far. - -They have a logentites section in their json request to allow clients report information to the server. Detailed section on NTML authentication. Using Flod to track the performance metrics of the requests. - -[Oauth 2.0 and the road to hell](http://hueniverse.com/2012/07/26/oauth-2-0-and-the-road-to-hell/) - -Plato is a JavaScript source analysis and visualizer. - - - - diff --git a/content/post/2018-03-01-irish-red-ale.md b/content/post/2018-03-01-irish-red-ale.md deleted file mode 100644 index d9256b60..00000000 --- a/content/post/2018-03-01-irish-red-ale.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "Irish Red Ale" -tags: ["beer"] -published: true -date: '2018-03-01' ---- - -# Irish Red Ale - -https://twitter.com/kirchstadtbrau/status/983814638654631936 diff --git a/content/post/2019-11-13-first-gatsby-post.md b/content/post/2019-11-13-first-gatsby-post.md deleted file mode 100644 index b13c092c..00000000 --- a/content/post/2019-11-13-first-gatsby-post.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: 'First Gatsby Post' -tags: ["git","javascript","run"] -published: true -date: '2019-11-13' ---- - -Migrating the site from jekyll to gatsby with github actions automatically updating the content. \ No newline at end of file diff --git a/content/post/2019-12-01-2nd-post.md b/content/post/2019-12-01-2nd-post.md deleted file mode 100644 index 5df1d302..00000000 --- a/content/post/2019-12-01-2nd-post.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: '2nd Post' -tags: ["git","javascript","cycle"] -published: true -date: '2019-12-01' ---- - -Add github actions to bhaa_woprdpress to run composer and then allow github-updater to run ion master website. - -2019-12-22 : Test to see if this push works. \ No newline at end of file diff --git a/content/post/2020-01-01-New-Year-2020.md b/content/post/2020-01-01-New-Year-2020.md deleted file mode 100644 index 63fc6663..00000000 --- a/content/post/2020-01-01-New-Year-2020.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: 'New Year 2020' -tags: [] -published: true -date: '2020-01-01' ---- - -# New Years Resolutions - -The not making new years resolutions has been broken by me deciding to write more regularly on this site during 2020. - -# Guitar Chord Markdown - -I've been looking to transfer all my guitar songs from paper to digital, in a format which will be easy for web and mobile devices. I'd like to have the content in a markdown file, and then render the chords, version, bridge and chorus to a final display page. - -## Markdown Libary - -The first stop was to these libraries which handle markdown to html coversion - -- https://github.com/showdownjs/showdown -- https://marked.js.org/#/README.md#README.md - -Perhaps they could be extended to support the 'song-book' keywords i need. - -There is this Stackoverflow question - -- https://stackoverflow.com/questions/12253228/markdown-for-guitar-chords-and-lyrics - -These github repo's give some approaches - -- https://github.com/ultimate-guitar/Tabdown -- https://github.com/oliverpool/guitar-tabs_songtex.js -- https://github.com/PiXy79/songbook - -## Markato - -This seems to be a promising option which covers a markdown style notation to someing a guitar player can use - -- https://medium.com/@jsrmath/markato-what-online-chord-charts-should-be-a431cb246057 -- https://github.com/jsrmath/markato -- https://markato.studio/# \ No newline at end of file diff --git a/content/post/2020-02-01-gpg_maven.md b/content/post/2020-02-01-gpg_maven.md deleted file mode 100644 index 677e9286..00000000 --- a/content/post/2020-02-01-gpg_maven.md +++ /dev/null @@ -1,84 +0,0 @@ ---- -title: 'GPG and Maven' -tags: [] -published: true -date: '2020-02-01' ---- - -https://help.github.com/en/github/authenticating-to-github/adding-a-new-gpg-key-to-your-github-account - -https://oss.sonatype.org/content/repositories/snapshots/io/github/emeraldjava/nifi-deploy-config/1.2.0-SNAPSHOT/ -https://repo1.maven.org/maven2/io/github/emeraldjava/nifi-deploy-config/ - -https://oss.sonatype.org/content/repositories/snapshots/com/github/hermannpencole/nifi-swagger-client/1.2.0-SNAPSHOT/ -https://repo1.maven.org/maven2/com/github/hermannpencole - - com.github.hermannpencole - nifi-swagger-client - -https://help.github.com/en/github/managing-packages-with-github-packages/configuring-apache-maven-for-use-with-github-packages - -https://github.com/actions/setup-java - -https://itnext.io/publishing-artifact-to-maven-central-b160634e5268 - - -https://github.com/samuelmeuli/action-maven-publish - -name: Release - -# Run workflow on commits to the `master` branch - - on: - push: - branches: - - master - - jobs: - release: - runs-on: ubuntu-18.04 - steps: - - name: Check out Git repository - uses: actions/checkout@v2 - - - name: Install Java and Maven - uses: actions/setup-java@v1 - with: - java-version: 11 - - - name: Release Maven package - uses: samuelmeuli/action-maven-publish@v1 - with: - gpg_private_key: ${{ secrets.gpg_private_key }} - gpg_passphrase: ${{ secrets.gpg_passphrase }} - nexus_username: ${{ secrets.nexus_username }} - nexus_password: ${{ secrets.nexus_password }} - -https://github.com/opengeospatial/cite/wiki/How-to-create-releases-with-Maven - -https://techluminary.com/discard-maven-release-plugin-with-a-new-approach/ -https://axelfontaine.com/blog/dead-burried.html - -https://phauer.com/2016/version-numbers-continuous-delivery-maven-docker/ - - - pl.project13.maven - git-commit-id-plugin - 2.2.4 - - - validate - - revision - - - - - yyyyMMdd-HHmmss - ${project.basedir}/.git - false - - - - -https://trunkbaseddevelopment.com/ diff --git a/content/post/2020-05-11-gatsby-strava.md b/content/post/2020-05-11-gatsby-strava.md deleted file mode 100644 index 3eaffe99..00000000 --- a/content/post/2020-05-11-gatsby-strava.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 'Gatsby Strava' -tags: ["gatsby","strava"] -published: true -date: '2020-05-11' ---- - -Some notes on creating a Strava feed via Gatstby - -- https://www.gatsbyjs.org/packages/gatsby-source-strava/ -- https://mark.ie/blog/build-a-netlify-hosted-github-auto-deploying-gatsby-based-website-to-display-your-strava-data -- https://github.com/markconroy/strava-marky/blob/master/package.json diff --git a/content/post/2020-06-20-Jekyll-To-Gatstby.md b/content/post/2020-06-20-Jekyll-To-Gatstby.md deleted file mode 100644 index 6bb4a901..00000000 --- a/content/post/2020-06-20-Jekyll-To-Gatstby.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -title: 'Jekyll To Gatstby' -tags: [] -published: true -date: '2020-06-20' ---- - -# Jekyll - -Using a custom folder structure for gatsby - - exports.onCreateNode = ({ node, actions, getNode }) => { - const { createNodeField } = actions - - if (node.internal.type === `MarkdownRemark`) { - const slug = createFilePath({ node, getNode }) - const match = BLOG_POST_FILENAME_REGEX.exec(slug) - if (match !== null) { - const year = match[1] - const month = match[2] - const day = match[3] - const filename = match[4] - const date = new Date(year, month - 1, day) - - createNodeField({ - name: `slug`, - node, - value: `/blog/${filename}`, - }) - - createNodeField({ - name: `date`, - node, - value: date.toJSON(), - }) - } else { - createNodeField({ - name: `slug`, - node, - value: slug, - }) - } - } - } - -- https://www.jerriepelser.com/blog/sorting-out-gatsby-folder-structure/ -- https://brandonlehr.com/gatsby/jekyll/2018/12/22/from-jekyll-to-gatsby -- https://reactgo.com/gatsby-advanced-blog-tutorial/ -- https://medium.com/@cheerazar/change-blog-post-folder-name-structure-in-gatsbyjs-v2-starter-blog-49ed77b3b7d - -# NPM Updater - -- https://scotch.io/bar-talk/3-tools-to-keep-npm-packages-updated diff --git a/content/post/2020-08-18-CV-With-Kiss-My-Resume.md b/content/post/2020-08-18-CV-With-Kiss-My-Resume.md deleted file mode 100644 index 2070bede..00000000 --- a/content/post/2020-08-18-CV-With-Kiss-My-Resume.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -title: 'Updating CV to use Kiss My Resume' -tags: [] -published: true -date: '2020-08-18' ---- - -I've have hosted my CV for the past two years via github hosted repo using the [hackmyresume](https://github.com/hacksalot/HackMyResume) tool to generate a HTML and PDF version from a json -file following the FRESH schema. - -With recent version updates the hackmyresume system seems to have stopped creating output!. - -A quick search directed me to [KissMyResume](https://github.com/karlitos/KissMyResume) which does simular tasks. I had to manually convert my existing resume content - to the [jsonresume.org](https://jsonresume.org/) schema which has wider support [themes](https://jsonresume.org/themes/) and I - decided to the use the [rocketspacer](https://www.npmjs.com/package/jsonresume-theme-rocketspacer) theme. - -A quick update the build command and a tweak to the Github Action and i have a new version of my CV is now published @ http://emeraldjava.github.io/emeraldjava. - - - - diff --git a/content/post/2021-04-18-emeraldjava-api.md b/content/post/2021-04-18-emeraldjava-api.md deleted file mode 100644 index a5d376da..00000000 --- a/content/post/2021-04-18-emeraldjava-api.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -title: 'emeraldjava api setup' -tags: [spring, heroku] -published: true -date: '2021-04-18' ---- - -My setup for a java 11 spring-boot API service deployed on heroku. - -# Gatsby - -I'd to update this repo first since the deploy action failed with this error - - Failed to resolve action download info. Error: Unable to resolve action `JamesIves/github-pages-deploy-action@master`, unable to find version `master` - Retrying in 20.243 seconds - Error: Unable to resolve action `JamesIves/github-pages-deploy-action@master`, unable to find version `master` - -See -- https://github.com/emeraldjava/emeraldjava.github.io/runs/2374008241?check_suite_focus=true -- https://github.com/JamesIves/github-pages-deploy-action - - -# sdkman - -First install sdkman for managing java installs - - curl -s "https://get.sdkman.io" | bash - source "$HOME/.sdkman/bin/sdkman-init.sh" - -see https://sdkman.io/install - -then install java 11 - - sdk install java 11.0.10-zulu - -then install maven - - sdk install maven 3.8.1 - -setup springboot cli - - sdk install springboot - -We have a dev env now!. -# emeraldjava-api - -Use the springboot cli to create the app template - - spring init --dependencies=web emeraldjava-api diff --git a/content/post/2021-04-25-github-readme-stats.md b/content/post/2021-04-25-github-readme-stats.md deleted file mode 100644 index b38dffe0..00000000 --- a/content/post/2021-04-25-github-readme-stats.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -title: 'Github Readme Stats' -tags: [github] -published: true -date: '2021-04-25' ---- - -I was looking for a guide to configuring [spring boot with spring batch admin](https://github.com/damienbeaufils/spring-boot-with-spring-batch-admin) which i found but then spotted a nice GitHub summary on [damienbeaufils](https://github.com/damienbeaufils) home page. - -Calling this API servive with my account details - - https://github-readme-stats.vercel.app/api?username=emeraldjava&show_icons=true&count_private=true - -returns a neat embedded image. -Thanks Damien - -| ![Alt name of image](https://github-readme-stats.vercel.app/api?username=emeraldjava&show_icons=true&count_private=true) | -| ------ | - -To ensure the image gets space, we add it to a table. - -TODO - create a gatsby plugin which takes the url and embeds the image. - -With crappy dot line spacing below. - - - -# StackOverFlow Flair - -See https://stackoverflow.com/help/flair - -profile for emeraldjava on Stack Exchange, a network of free, community-driven Q&A sites - -*** - -# Horizontal Rules - -See https://www.markdownguide.org/basic-syntax/#horizontal-rules - -## - - - - - - - - diff --git a/content/post/2021-04-30-supabase-starter.md b/content/post/2021-04-30-supabase-starter.md deleted file mode 100644 index 24972092..00000000 --- a/content/post/2021-04-30-supabase-starter.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -title: 'Supabase Starter' -tags: [supabase dev] -published: true -date: '2021-04-30' ---- - -Started looking [supabase.io](https://supabase.io) to get access to a Postgres DB as a service and play with their javascript UI client. - -| ![supabase](./content/blog/2021-04-30.supabase.png) | -| ------ | - -See https://github.com/AlanLyttonJones/Age-Grade-Tables - -## Carbon - -See carbon.now.sh - -blob:https://carbon.now.sh/72027f28-1ae5-48c5-ba73-cb130ceca298 - -## Upgrading Gatsby - -https://www.gatsbyjs.com/docs/reference/release-notes/migrating-from-v2-to-v3/ -https://github.com/gatsbyjs/gatsby-starter-default - - npm install gatsby-plugin-image gatsby-plugin-sharp gatsby-source-filesystem gatsby-transformer-sharp - -From https://letscodepare.com/blog/npm-resolving-eacces-permissions-denied run commands - - sudo chown -R $(whoami) ~/.npm - sudo chown -R $(whoami) /usr/local/lib/node_modules/ - -https://www.gatsbyjs.com/starters/gatsbyjs/gatsby-starter-blog/ \ No newline at end of file diff --git a/content/post/2021-05-01-supabase-html-client.md b/content/post/2021-05-01-supabase-html-client.md deleted file mode 100644 index a1db1d2f..00000000 --- a/content/post/2021-05-01-supabase-html-client.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: 'Supabase HTML Client' -tags: [supabase] -published: true -date: '2021-05-01' ---- - -Playing with the basic supabase js client in a vanilla HTML page before I start the angular app development. Updated gatsby versions and installed the embedded gist plugin. - -`gist:emeraldjava/0541eaa0341605fa276048ac9ce91ab2` diff --git a/content/post/2021-05-11-subabase-openapi-typescript.md b/content/post/2021-05-11-subabase-openapi-typescript.md deleted file mode 100644 index d7237665..00000000 --- a/content/post/2021-05-11-subabase-openapi-typescript.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: 'openapi typescript' -tags: [supabase] -published: true -date: '2021-05-01' ---- - -Use 'openapi-typescript' to generate interface types from the supabase swagger spec. - -https://supabase.io/blog/2021/03/31/supabase-cli - -npx @manifoldco/swagger-to-ts https://your-project.supabase.co/rest/v1/?apikey=your-anon-key --output types/supabase.ts - - npx openapi-typescript https://dknnvxorlinqzsoxyvhz.supabase.co/rest/v1/?apikey=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlIjoiYW5vbiIsImlhdCI6MTYxOTc4NTU0NiwiZXhwIjoxOTM1MzYxNTQ2fQ.Xz1M8djivXrSH4UG98eu1btGmBzMSa04-9fcDX1rZ3A --output types/supabase.ts - -npx openapi-typescript /rest/v1/?apikey= --output types/supabase.ts diff --git a/content/post/2021-05-23-enable-strava-plugin.md b/content/post/2021-05-23-enable-strava-plugin.md deleted file mode 100644 index d5425c9d..00000000 --- a/content/post/2021-05-23-enable-strava-plugin.md +++ /dev/null @@ -1,59 +0,0 @@ ---- -title: 'openapi typescript' -tags: [supabase] -published: true -date: '2021-05-01' ---- - -Enabling strava plugin again - -https://swas.io/blog/using-multiple-queries-on-gatsbyjs-createpages-node-api/ - - -running two gatsby create page functions in gatby-node.js - -- https://stackoverflow.com/questions/57748844/how-do-i-use-multiple-createpage-routes-in-gatsby-node-js -- https://stackoverflow.com/questions/64536170/how-to-create-multiple-page-types-dynamically-in-gatsby-node-js -- https://swas.io/blog/using-multiple-queries-on-gatsbyjs-createpages-node-api/ -- https://gist.github.com/tanaypratap/c676022402d4fadbe1dad4c1b1a78c21 - -My .env file looks like - - STRAVA_CLIENT_ID=xxxx - STRAVA_CLIENT_SECRET=78..78 - STRAVA_TOKEN={"access_token":"8a..b2","refresh_token":"ij..gy","expires_at":1581439030,"expires_in":21600} - - -## token - -https://yizeng.me/2017/01/11/get-a-strava-api-access-token-with-write-permission/ - -generate token - -STRAVA_CLIENT_ID=4945 -STRAVA_CLIENT_SECRET=cd72dfedc320fd098fc2d5cf9af51c245fd9b042 -STRAVA_TOKEN={"access_token":"503671acabaf6e27d8aa5ed49dbb22cd3f31748b","refresh_token":"2706dca4b78c29353ed03267c0df2f41759a0c68","expires_at":1581439030,"expires_in":21600} - - -1 - - -http://www.strava.com/oauth/authorize?client_id=4945&response_type=code&redirect_uri=http://localhost/exchange_token&approval_prompt=force&scope=read_all,profile:read_all,activity:read_all - -returns - -http://localhost/exchange_token?state=&code=3135adf3d092a54b2c9952978757adc4dee11c07&scope=read,activity:read_all,profile:read_all,read_all - -code=3135adf3d092a54b2c9952978757adc4dee11c07 - - -2 Run CURL to - -curl -X POST https://www.strava.com/oauth/token -F client_id=4945 -F client_secret=cd72dfedc320fd098fc2d5cf9af51c245fd9b042 -F code=3135adf3d092a54b2c9952978757adc4dee11c07 -F grant_type=authorization_code - -{"token_type":"Bearer", -"expires_at":1621798403,"expires_in":21600, -"refresh_token":"f84937f098dc675364aed4b65acb9e66bf30924c", -"access_token":"b898fbd9ea915f5a3b34cc8876dc0c9f3bca049b", - - -"athlete":{"id":7035778,"username":"emeraldjava","resource_state":2,"firstname":"emerald","lastname":"java","bio":"","city":"Dublin","state":"Dublin","country":"Ireland","sex":"M","premium":true,"summit":true,"created_at":"2014-11-09T16:06:10Z","updated_at":"2021-05-23T13:03:13Z","badge_type_id":1,"weight":73.4,"profile_medium":"https://dgalywyr863hv.cloudfront.net/pictures/athletes/7035778/2122161/2/medium.jpg","profile":"https://dgalywyr863hv.cloudfront.net/pictures/athletes/7035778/2122161/2/large.jpg","friend":null,"follower":null}}% diff --git a/content/post/2021-07-02-update-gatsby.md b/content/post/2021-07-02-update-gatsby.md deleted file mode 100644 index 1c7fc71a..00000000 --- a/content/post/2021-07-02-update-gatsby.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: "Updating Gatsby" -date: "2017-01-01T00:00:00Z" -layout: post -published: true -tags: [] ---- - -An article about Title - - -- https://mademistakes.com/notes/gatsby-build-optimizations-2021/ \ No newline at end of file diff --git a/content/post/2021-07-07-strava-tokens-and-ejs.md b/content/post/2021-07-07-strava-tokens-and-ejs.md deleted file mode 100644 index bf30a68b..00000000 --- a/content/post/2021-07-07-strava-tokens-and-ejs.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: "Updating Gatsby" -date: "2017-01-01T00:00:00Z" -layout: post -published: true -tags: [] ---- - -## Strava Auth - -- https://developers.strava.com/docs/authentication/#refreshingexpiredaccesstokens - -- https://code.dblock.org/2018/11/17/dealing-with-strava-api-token-migration.html - -## Strava v3 API - -- https://www.npmjs.com/package/strava-v3 -- https://github.com/Interactivefitness/strava-v3-client -- https://www.npmjs.com/package/@tokks/strava -- https://github.com/plondon/philly-marathon/blob/8718dd6eee5daf97c45773043a32380ec8c70556/app.js - -## Express and Passport - -- http://www.passportjs.org/packages/passport-strava/ - - -## Express and EJS - -- https://medium.com/swlh/master-ejs-template-engine-with-node-js-and-expressjs-979cc22b69be - -## Express & Tyepscript - -- https://leejjon.medium.com/create-a-react-app-served-by-express-js-node-js-and-add-typescript-33705be3ceda - -## Express & Angular - -- https://dev.to/dirk94/how-i-structure-my-express-typescript-react-applications-g3e -- https://github.com/gkunal7691/AngularNodeApp/blob/master/app.js \ No newline at end of file diff --git a/content/post/2022-02-22-updates.md b/content/post/2022-02-22-updates.md deleted file mode 100644 index b3e07813..00000000 --- a/content/post/2022-02-22-updates.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -title: "First Post of 2022" -date: "2022-02-22T00:00:00Z" -layout: post -published: true -tags: [] ---- - -# emeraldjava cv - -Have updated the CV to reflect recent experience. Needed to updated the github action and other npm versions. - -Added the caffeine theme and need to see if the resumefodder word template can be converted. - -# github.io - -Updated the gatsby versions - -# Web Assembly - -Need to play with technology and add an app to this site. \ No newline at end of file diff --git a/content/post/2022-09-02-ship-it-con-2022.md b/content/post/2022-09-02-ship-it-con-2022.md deleted file mode 100644 index 66c68d9a..00000000 --- a/content/post/2022-09-02-ship-it-con-2022.md +++ /dev/null @@ -1,74 +0,0 @@ ---- -title: "Notes from ShipItCon 2022" -date: "2022-09-02T00:00:00Z" -layout: post -published: true -tags: [] ---- - -- [Notes from ShipItCon 2022](#notes-from-shipitcon-2022) - - [9.30 Cian O'Maidin - Nearform](#930-cian-omaidin---nearform) - - [10.10 Nicole Imerson](#1010-nicole-imerson) - - [10.40 Filipe Freire](#1040-filipe-freire) - - [11.00 Nicola Zaghini](#1100-nicola-zaghini) - - [11.20 Noel King](#1120-noel-king) - - [11.45 Anton Walley](#1145-anton-walley) - - [12.00 Scout24](#1200-scout24) - - [14.30 Intercom](#1430-intercom) - - [16.00 Laura Nolan](#1600-laura-nolan) - -# Notes from ShipItCon 2022 - -[Shipitcon](https://shipitcon.com/) is a technology converfence about Software Delivery. The theme this year was about resiliense of people and software systems. - -## 9.30 Cian O'Maidin - Nearform - -How the covid tracker app was developed and open sourced so 65million users and 10 countries could benifit. - -## 10.10 Nicole Imerson - -How failures effect systems and how we should learn from those failures. - -- New Territoy -- Mistakes -- Deliberate - -@Failurology - -## 10.40 Filipe Freire - -https://twitter.com/emeraldjava/status/1565637560831025153 - -Testing for failure in software systems. - - - -## 11.00 Nicola Zaghini - -How to make mobile app development more resilient to deployment issues and scaling. - -## 11.20 Noel King - -## 11.45 Anton Walley - - - -Coredumps and k8s. -gitpod.io - -## 12.00 Scout24 - -Using AWS CDK's to create developer portals for new platforms. -Spotify backstage.io - -## 14.30 Intercom - - Oncall support and how to track/learn from alerts. - Github issue workflow - -## 16.00 Laura Nolan - -Incident reports and how to write them. Tell the human story of the incident and what was leart is key. -See [VOID - Verica Open Incident Database](https://www.thevoid.community/) -@lauralifts - diff --git a/content/post/2022-09-14-docker-meetup-dublin.md b/content/post/2022-09-14-docker-meetup-dublin.md deleted file mode 100644 index 253b967f..00000000 --- a/content/post/2022-09-14-docker-meetup-dublin.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: "Dublin Docker Meetup" -date: "2022-09-14T00:00:00Z" -layout: post -published: true -tags: [docker] ---- - -# Docker Extensions - -Thomas Shaw @ tomwillfixit -- see https://tomwillfixit.com/ -- see https://github.com/tomwillfixit - - - -## Talk Notes -- Extensions allow any 3rd party tool to be packaged and delivered via Docker. -- Extensions are docker images with extra meta-data. -- Same docker commands/tools. -- Augment Docker Desktop -- https://github.com/tomwillfixit/docker-extension -- Developers: delivers alls internal tools in a single click. -- Operators: Shift left of tooling towards developer workflow. - -# Buildx, Extensions and Bake - -Ivan Pedrazas - diff --git a/content/post/2022-11-20-synology-home-assistent.md b/content/post/2022-11-20-synology-home-assistent.md deleted file mode 100644 index 7052b837..00000000 --- a/content/post/2022-11-20-synology-home-assistent.md +++ /dev/null @@ -1,72 +0,0 @@ ---- -title: "Synology and Remote Home Assistent" -date: "2022-11-20T00:00:00Z" -layout: post -published: true -tags: [synology] ---- - -18443 - - - - - - - -- [Overview](#overview) -- [Test Urls](#test-urls) -- [Router Config](#router-config) -- [Synology Config](#synology-config) - - [External Access \> DDNS Settings](#external-access--ddns-settings) - - [Application Portal \> Reverse Proxy](#application-portal--reverse-proxy) - - [Security \> Certificates](#security--certificates) - - - -# Overview - -The following outline the steps i've taken to try and configure remote access to my synology home assistent instance. - -Reference -- https://www.protoncek.com/2021/04/17/synology-reverse-proxy/ -- https://community.home-assistant.io/t/setup-on-synology-nas-with-remote-access/430949/2 - -# Test Urls - -The hope is that these URL will return a valid response - -[https://emeraldjava.synology.me](https://emeraldjava.synology.me) -[https://home.emeraldjava.synology.me](https://home.emeraldjava.synology.me) - -# Router Config - -My home router has the following Port Forwarding rules which send all requests to the Synology IP. Ports 443 and 80 should be open. - -![router-port-forwarding](2022-11-20/router-port-forwarding.png) - -I have Plex running via Port 32400 and it's remotely accessible. - -# Synology Config - -This section outlines the specific synology DS-1512 settings that have to align. - -## External Access > DDNS Settings - -This maps the 'domain' to the dynamic IP of my local synology server. - -![external-access-ddns-settings](2022-11-20/external-access-ddns-settings.png) - -## Application Portal > Reverse Proxy - -Setup a reverse proxy which listens for the specific 'domain' and maps those requests to the process on my synology box. - -![application-portal-reverse-proxy-settings](./2022-11-20/application-portal-reverse-proxy-settings.png) - -## Security > Certificates - -The config of the SSL cert for each 'domain'. - -![security-certs-settings](./2022-11-20/security-certs-settings.png) - -The question is which part or parts of the config are incorrect? diff --git a/css/dark.css b/css/dark.css new file mode 100644 index 00000000..e7b02d15 --- /dev/null +++ b/css/dark.css @@ -0,0 +1,858 @@ +[data-color-mode=dark] { + --color-canvas-default-transparent: rgba(13,17,23,0); + --color-page-header-bg: #0d1117; + --color-marketing-icon-primary: #79c0ff; + --color-marketing-icon-secondary: #1f6feb; + --color-diff-blob-addition-fg: #c9d1d9; + --color-diff-blob-deletion-fg: #c9d1d9; + --color-diff-blob-expander-icon: #8b949e; + --color-diffstat-deletion-border: rgba(240,246,252,0.1); + --color-diffstat-addition-border: rgba(240,246,252,0.1); + --color-prettylights-syntax-comment: #8b949e; + --color-prettylights-syntax-constant: #79c0ff; + --color-prettylights-syntax-entity: #d2a8ff; + --color-prettylights-syntax-storage-modifier-import: #c9d1d9; + --color-prettylights-syntax-entity-tag: #7ee787; + --color-prettylights-syntax-keyword: #ff7b72; + --color-prettylights-syntax-string: #a5d6ff; + --color-prettylights-syntax-variable: #ffa657; + --color-prettylights-syntax-brackethighlighter-unmatched: #f85149; + --color-prettylights-syntax-invalid-illegal-text: #f0f6fc; + --color-prettylights-syntax-invalid-illegal-bg: #8e1519; + --color-prettylights-syntax-carriage-return-text: #f0f6fc; + --color-prettylights-syntax-carriage-return-bg: #b62324; + --color-prettylights-syntax-string-regexp: #7ee787; + --color-prettylights-syntax-markup-list: #f2cc60; + --color-prettylights-syntax-markup-heading: #1f6feb; + --color-prettylights-syntax-markup-italic: #c9d1d9; + --color-prettylights-syntax-markup-bold: #c9d1d9; + --color-prettylights-syntax-markup-deleted-text: #ffdcd7; + --color-prettylights-syntax-markup-deleted-bg: #67060c; + --color-prettylights-syntax-markup-inserted-text: #aff5b4; + --color-prettylights-syntax-markup-inserted-bg: #033a16; + --color-prettylights-syntax-markup-changed-text: #ffdfb6; + --color-prettylights-syntax-markup-changed-bg: #5a1e02; + --color-prettylights-syntax-markup-ignored-text: #c9d1d9; + --color-prettylights-syntax-markup-ignored-bg: #1158c7; + --color-prettylights-syntax-meta-diff-range: #d2a8ff; + --color-prettylights-syntax-brackethighlighter-angle: #8b949e; + --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58; + --color-prettylights-syntax-constant-other-reference-link: #a5d6ff; + --color-codemirror-text: #c9d1d9; + --color-codemirror-bg: #0d1117; + --color-codemirror-gutters-bg: #0d1117; + --color-codemirror-guttermarker-text: #0d1117; + --color-codemirror-linenumber-text: #8b949e; + --color-codemirror-activeline-bg: rgba(110,118,129,0.1); + --color-codemirror-matchingbracket-text: #c9d1d9; + --color-codemirror-lines-bg: #0d1117; + --color-codemirror-syntax-comment: #8b949e; + --color-codemirror-syntax-constant: #79c0ff; + --color-codemirror-syntax-entity: #d2a8ff; + --color-codemirror-syntax-keyword: #ff7b72; + --color-codemirror-syntax-storage: #ff7b72; + --color-codemirror-syntax-string: #a5d6ff; + --color-codemirror-syntax-support: #79c0ff; + --color-codemirror-syntax-variable: #ffa657; + --color-checks-bg: #010409; + --color-checks-run-border-width: 1px; + --color-checks-container-border-width: 1px; + --color-checks-text-primary: #c9d1d9; + --color-checks-text-secondary: #8b949e; + --color-checks-text-link: #58a6ff; + --color-checks-btn-icon: #8b949e; + --color-checks-btn-hover-icon: #c9d1d9; + --color-checks-btn-hover-bg: rgba(110,118,129,0.1); + --color-checks-input-text: #8b949e; + --color-checks-input-placeholder-text: #484f58; + --color-checks-input-focus-text: #c9d1d9; + --color-checks-input-bg: #161b22; + --color-checks-input-shadow: 0 0 0 1px; + --color-checks-donut-error: #f85149; + --color-checks-donut-pending: #d29922; + --color-checks-donut-success: #2ea043; + --color-checks-donut-neutral: #8b949e; + --color-checks-dropdown-text: #c9d1d9; + --color-checks-dropdown-bg: #161b22; + --color-checks-dropdown-border: #30363d; + --color-checks-dropdown-shadow: rgba(1,4,9,0.3); + --color-checks-dropdown-hover-text: #c9d1d9; + --color-checks-dropdown-hover-bg: rgba(110,118,129,0.1); + --color-checks-dropdown-btn-hover-text: #c9d1d9; + --color-checks-dropdown-btn-hover-bg: rgba(110,118,129,0.1); + --color-checks-scrollbar-thumb-bg: rgba(110,118,129,0.4); + --color-checks-header-label-text: #8b949e; + --color-checks-header-label-open-text: #c9d1d9; + --color-checks-header-border: #21262d; + --color-checks-header-icon: #8b949e; + --color-checks-line-text: #8b949e; + --color-checks-line-num-text: #484f58; + --color-checks-line-timestamp-text: #484f58; + --color-checks-line-hover-bg: rgba(110,118,129,0.1); + --color-checks-line-selected-bg: rgba(56,139,253,0.15); + --color-checks-line-selected-num-text: #58a6ff; + --color-checks-line-dt-fm-text: #f0f6fc; + --color-checks-line-dt-fm-bg: #9e6a03; + --color-checks-gate-bg: rgba(187,128,9,0.15); + --color-checks-gate-text: #8b949e; + --color-checks-gate-waiting-text: #d29922; + --color-checks-step-header-open-bg: #161b22; + --color-checks-step-error-text: #f85149; + --color-checks-step-warning-text: #d29922; + --color-checks-logline-text: #8b949e; + --color-checks-logline-num-text: #484f58; + --color-checks-logline-debug-text: #a371f7; + --color-checks-logline-error-text: #8b949e; + --color-checks-logline-error-num-text: #484f58; + --color-checks-logline-error-bg: rgba(248,81,73,0.15); + --color-checks-logline-warning-text: #8b949e; + --color-checks-logline-warning-num-text: #d29922; + --color-checks-logline-warning-bg: rgba(187,128,9,0.15); + --color-checks-logline-command-text: #58a6ff; + --color-checks-logline-section-text: #3fb950; + --color-checks-ansi-black: #0d1117; + --color-checks-ansi-black-bright: #161b22; + --color-checks-ansi-white: #b1bac4; + --color-checks-ansi-white-bright: #b1bac4; + --color-checks-ansi-gray: #6e7681; + --color-checks-ansi-red: #ff7b72; + --color-checks-ansi-red-bright: #ffa198; + --color-checks-ansi-green: #3fb950; + --color-checks-ansi-green-bright: #56d364; + --color-checks-ansi-yellow: #d29922; + --color-checks-ansi-yellow-bright: #e3b341; + --color-checks-ansi-blue: #58a6ff; + --color-checks-ansi-blue-bright: #79c0ff; + --color-checks-ansi-magenta: #bc8cff; + --color-checks-ansi-magenta-bright: #d2a8ff; + --color-checks-ansi-cyan: #76e3ea; + --color-checks-ansi-cyan-bright: #b3f0ff; + --color-project-header-bg: #0d1117; + --color-project-sidebar-bg: #161b22; + --color-project-gradient-in: #161b22; + --color-mktg-btn-bg: #f6f8fa; + --color-mktg-btn-shadow-outline: rgb(255 255 255 / 25%) 0 0 0 1px inset; + --color-mktg-btn-shadow-focus: rgb(255 255 255 / 25%) 0 0 0 4px; + --color-mktg-btn-shadow-hover: 0 4px 7px rgba(0, 0, 0, 0.15), 0 100px 80px rgba(255, 255, 255, 0.02), 0 42px 33px rgba(255, 255, 255, 0.024), 0 22px 18px rgba(255, 255, 255, 0.028), 0 12px 10px rgba(255, 255, 255, 0.034), 0 7px 5px rgba(255, 255, 255, 0.04), 0 3px 2px rgba(255, 255, 255, 0.07); + --color-mktg-btn-shadow-hover-muted: rgb(255 255 255) 0 0 0 2px inset; + --color-avatar-bg: rgba(240,246,252,0.1); + --color-avatar-border: rgba(240,246,252,0.1); + --color-avatar-stack-fade: #30363d; + --color-avatar-stack-fade-more: #21262d; + --color-avatar-child-shadow: -2px -2px 0 #0d1117; + --color-topic-tag-border: rgba(0,0,0,0); + --color-counter-border: rgba(0,0,0,0); + --color-select-menu-backdrop-border: #484f58; + --color-select-menu-tap-focus-bg: #0c2d6b; + --color-overlay-shadow: 0 0 0 1px #30363d, 0 16px 32px rgba(1,4,9,0.85); + --color-header-bg: #161b22; + --color-header-divider: #8b949e; + --color-header-logo: #f0f6fc; + --color-header-search-bg: #0d1117; + --color-sidenav-selected-bg: #21262d; + --color-menu-bg-active: #161b22; + --color-input-disabled-bg: rgba(110,118,129,0); + --color-ansi-white: #b1bac4; + --color-ansi-gray: #6e7681; + --color-ansi-red: #ff7b72; + --color-ansi-red-bright: #ffa198; + --color-ansi-green: #3fb950; + --color-ansi-green-bright: #56d364; + --color-ansi-yellow: #d29922; + --color-ansi-yellow-bright: #e3b341; + --color-ansi-blue: #58a6ff; + --color-ansi-blue-bright: #79c0ff; + --color-ansi-magenta: #bc8cff; + --color-ansi-magenta-bright: #d2a8ff; + --color-btn-text: #c9d1d9; + --color-btn-bg: #21262d; + --color-btn-border: rgba(240,246,252,0.1); + --color-btn-shadow: 0 0 transparent; + --color-btn-inset-shadow: 0 0 transparent; + --color-btn-hover-bg: #30363d; + --color-btn-hover-border: #8b949e; + --color-btn-active-bg: hsla(212,12%,18%,1); + --color-btn-active-border: #6e7681; + --color-btn-selected-bg: #161b22; + --color-btn-focus-bg: #21262d; + --color-btn-focus-border: #8b949e; + --color-btn-counter-bg: #30363d; + --color-btn-primary-bg: #238636; + --color-btn-primary-border: rgba(240,246,252,0.1); + --color-btn-primary-shadow: 0 0 transparent; + --color-btn-primary-inset-shadow: 0 0 transparent; + --color-btn-primary-hover-bg: #2ea043; + --color-btn-primary-hover-border: rgba(240,246,252,0.1); + --color-btn-primary-selected-bg: #238636; + --color-btn-primary-selected-shadow: 0 0 transparent; + --color-btn-primary-focus-bg: #238636; + --color-btn-primary-focus-border: rgba(240,246,252,0.1); + --color-btn-primary-icon: #f0f6fc; + --color-btn-outline-text: #58a6ff; + --color-btn-outline-hover-text: #58a6ff; + --color-btn-outline-hover-bg: #30363d; + --color-btn-outline-hover-border: rgba(240,246,252,0.1); + --color-btn-outline-selected-text: #f0f6fc; + --color-btn-outline-selected-bg: #0d419d; + --color-btn-outline-selected-shadow: 0 0 transparent; + --color-btn-outline-disabled-bg: #0d1117; + --color-btn-outline-focus-border: rgba(240,246,252,0.1); + --color-btn-danger-text: #f85149; + --color-btn-danger-hover-bg: #da3633; + --color-btn-danger-hover-border: #f85149; + --color-btn-danger-hover-shadow: 0 0 transparent; + --color-btn-danger-hover-inset-shadow: 0 0 transparent; + --color-btn-danger-hover-icon: #f0f6fc; + --color-btn-danger-selected-bg: #b62324; + --color-btn-danger-selected-border: #ff7b72; + --color-btn-danger-selected-shadow: 0 0 transparent; + --color-btn-danger-disabled-text: rgba(248,81,73,0.5); + --color-btn-danger-disabled-bg: #0d1117; + --color-btn-danger-focus-border: #f85149; + --color-btn-danger-icon: #f85149; + --color-underlinenav-border-hover: rgba(110,118,129,0.4); + --color-action-list-item-inline-divider: rgba(48,54,61,0.48); + --color-action-list-item-default-hover-bg: rgba(177,186,196,0.12); + --color-action-list-item-default-hover-border: rgba(0,0,0,0); + --color-action-list-item-default-active-bg: rgba(177,186,196,0.2); + --color-action-list-item-default-active-border: rgba(0,0,0,0); + --color-action-list-item-default-selected-bg: rgba(177,186,196,0.08); + --color-action-list-item-danger-hover-bg: rgba(248,81,73,0.16); + --color-action-list-item-danger-active-bg: rgba(248,81,73,0.24); + --color-action-list-item-danger-hover-text: #ff7b72; + --color-fg-default: #c9d1d9; + --color-fg-muted: #8b949e; + --color-fg-subtle: #484f58; + --color-fg-on-emphasis: #f0f6fc; + --color-canvas-default: #0d1117; + --color-canvas-overlay: #161b22; + --color-canvas-inset: #010409; + --color-canvas-subtle: #161b22; + --color-border-default: #30363d; + --color-border-muted: #21262d; + --color-border-subtle: rgba(240,246,252,0.1); + --color-shadow-small: 0 0 transparent; + --color-shadow-medium: 0 3px 6px #010409; + --color-shadow-large: 0 8px 24px #010409; + --color-shadow-extra-large: 0 12px 48px #010409; + --color-neutral-emphasis-plus: #6e7681; + --color-neutral-emphasis: #6e7681; + --color-neutral-muted: rgba(110,118,129,0.4); + --color-neutral-subtle: rgba(110,118,129,0.1); + --color-accent-fg: #58a6ff; + --color-accent-emphasis: #1f6feb; + --color-accent-muted: rgba(56,139,253,0.4); + --color-accent-subtle: rgba(56,139,253,0.15); + --color-success-fg: #3fb950; + --color-success-emphasis: #238636; + --color-success-muted: rgba(46,160,67,0.4); + --color-success-subtle: rgba(46,160,67,0.15); + --color-attention-fg: #d29922; + --color-attention-emphasis: #9e6a03; + --color-attention-muted: rgba(187,128,9,0.4); + --color-attention-subtle: rgba(187,128,9,0.15); + --color-severe-fg: #db6d28; + --color-severe-emphasis: #bd561d; + --color-severe-muted: rgba(219,109,40,0.4); + --color-severe-subtle: rgba(219,109,40,0.15); + --color-danger-fg: #f85149; + --color-danger-emphasis: #da3633; + --color-danger-muted: rgba(248,81,73,0.4); + --color-danger-subtle: rgba(248,81,73,0.15); + --color-done-fg: #a371f7; + --color-done-emphasis: #8957e5; + --color-done-muted: rgba(163,113,247,0.4); + --color-done-subtle: rgba(163,113,247,0.15); + --color-sponsors-fg: #db61a2; + --color-sponsors-emphasis: #bf4b8a; + --color-sponsors-muted: rgba(219,97,162,0.4); + --color-sponsors-subtle: rgba(219,97,162,0.15); + --color-primer-fg-disabled: #484f58; + --color-primer-canvas-backdrop: rgba(1,4,9,0.8); + --color-primer-canvas-sticky: rgba(13,17,23,0.95); + --color-primer-border-active: #F78166; + --color-primer-border-contrast: rgba(240,246,252,0.2); + --color-primer-shadow-highlight: 0 0 transparent; + --color-primer-shadow-inset: 0 0 transparent; + --color-primer-shadow-focus: 0 0 0 3px #0c2d6b; + --color-scale-black: #010409; + --color-scale-white: #f0f6fc; + --color-scale-gray-0: #f0f6fc; + --color-scale-gray-1: #c9d1d9; + --color-scale-gray-2: #b1bac4; + --color-scale-gray-3: #8b949e; + --color-scale-gray-4: #6e7681; + --color-scale-gray-5: #484f58; + --color-scale-gray-6: #30363d; + --color-scale-gray-7: #21262d; + --color-scale-gray-8: #161b22; + --color-scale-gray-9: #0d1117; + --color-scale-blue-0: #cae8ff; + --color-scale-blue-1: #a5d6ff; + --color-scale-blue-2: #79c0ff; + --color-scale-blue-3: #58a6ff; + --color-scale-blue-4: #388bfd; + --color-scale-blue-5: #1f6feb; + --color-scale-blue-6: #1158c7; + --color-scale-blue-7: #0d419d; + --color-scale-blue-8: #0c2d6b; + --color-scale-blue-9: #051d4d; + --color-scale-green-0: #aff5b4; + --color-scale-green-1: #7ee787; + --color-scale-green-2: #56d364; + --color-scale-green-3: #3fb950; + --color-scale-green-4: #2ea043; + --color-scale-green-5: #238636; + --color-scale-green-6: #196c2e; + --color-scale-green-7: #0f5323; + --color-scale-green-8: #033a16; + --color-scale-green-9: #04260f; + --color-scale-yellow-0: #f8e3a1; + --color-scale-yellow-1: #f2cc60; + --color-scale-yellow-2: #e3b341; + --color-scale-yellow-3: #d29922; + --color-scale-yellow-4: #bb8009; + --color-scale-yellow-5: #9e6a03; + --color-scale-yellow-6: #845306; + --color-scale-yellow-7: #693e00; + --color-scale-yellow-8: #4b2900; + --color-scale-yellow-9: #341a00; + --color-scale-orange-0: #ffdfb6; + --color-scale-orange-1: #ffc680; + --color-scale-orange-2: #ffa657; + --color-scale-orange-3: #f0883e; + --color-scale-orange-4: #db6d28; + --color-scale-orange-5: #bd561d; + --color-scale-orange-6: #9b4215; + --color-scale-orange-7: #762d0a; + --color-scale-orange-8: #5a1e02; + --color-scale-orange-9: #3d1300; + --color-scale-red-0: #ffdcd7; + --color-scale-red-1: #ffc1ba; + --color-scale-red-2: #ffa198; + --color-scale-red-3: #ff7b72; + --color-scale-red-4: #f85149; + --color-scale-red-5: #da3633; + --color-scale-red-6: #b62324; + --color-scale-red-7: #8e1519; + --color-scale-red-8: #67060c; + --color-scale-red-9: #490202; + --color-scale-purple-0: #eddeff; + --color-scale-purple-1: #e2c5ff; + --color-scale-purple-2: #d2a8ff; + --color-scale-purple-3: #bc8cff; + --color-scale-purple-4: #a371f7; + --color-scale-purple-5: #8957e5; + --color-scale-purple-6: #6e40c9; + --color-scale-purple-7: #553098; + --color-scale-purple-8: #3c1e70; + --color-scale-purple-9: #271052; + --color-scale-pink-0: #ffdaec; + --color-scale-pink-1: #ffbedd; + --color-scale-pink-2: #ff9bce; + --color-scale-pink-3: #f778ba; + --color-scale-pink-4: #db61a2; + --color-scale-pink-5: #bf4b8a; + --color-scale-pink-6: #9e3670; + --color-scale-pink-7: #7d2457; + --color-scale-pink-8: #5e103e; + --color-scale-pink-9: #42062a; + --color-scale-coral-0: #FFDDD2; + --color-scale-coral-1: #FFC2B2; + --color-scale-coral-2: #FFA28B; + --color-scale-coral-3: #F78166; + --color-scale-coral-4: #EA6045; + --color-scale-coral-5: #CF462D; + --color-scale-coral-6: #AC3220; + --color-scale-coral-7: #872012; + --color-scale-coral-8: #640D04; + --color-scale-coral-9: #460701; + --body-background-color: #000; + --color-actions-workflow-table-sticky-bg: rgba(13, 17, 23, 0.95); + --color-alert-error-bg: rgba(248, 81, 73, 0.1); + --color-alert-error-border: rgba(248, 81, 73, 0.4); + --color-alert-error-icon: #ff7b72; + --color-alert-error-text: #ff7b72; + --color-alert-info-bg: rgba(56, 139, 253, 0.1); + --color-alert-info-border: rgba(56, 139, 253, 0.4); + --color-alert-info-icon: #79c0ff; + --color-alert-info-text: #79c0ff; + --color-alert-success-bg: rgba(46, 160, 67, 0.1); + --color-alert-success-border: rgba(46, 160, 67, 0.4); + --color-alert-success-icon: #56d364; + --color-alert-success-text: #56d364; + --color-alert-warn-bg: rgba(187, 128, 9, 0.1); + --color-alert-warn-border: rgba(187, 128, 9, 0.4); + --color-alert-warn-icon: #e3b341; + --color-alert-warn-text: #e3b341; + --color-ansi-black: #0d1117; + --color-ansi-black-bright: #161b22; + --color-ansi-cyan: #76e3ea; + --color-ansi-cyan-bright: #b3f0ff; + --color-ansi-white-bright: #b1bac4; + --color-auto-black: #f0f6fc; + --color-auto-blue-0: #051d4d; + --color-auto-blue-1: #0c2d6b; + --color-auto-blue-2: #0d419d; + --color-auto-blue-3: #1158c7; + --color-auto-blue-4: #1f6feb; + --color-auto-blue-5: #388bfd; + --color-auto-blue-6: #58a6ff; + --color-auto-blue-7: #79c0ff; + --color-auto-blue-8: #a5d6ff; + --color-auto-blue-9: #cae8ff; + --color-auto-gray-0: #0d1117; + --color-auto-gray-1: #161b22; + --color-auto-gray-2: #21262d; + --color-auto-gray-3: #30363d; + --color-auto-gray-4: #484f58; + --color-auto-gray-5: #6e7681; + --color-auto-gray-6: #8b949e; + --color-auto-gray-7: #b1bac4; + --color-auto-gray-8: #c9d1d9; + --color-auto-gray-9: #f0f6fc; + --color-auto-green-0: #04260f; + --color-auto-green-1: #033a16; + --color-auto-green-2: #0f5323; + --color-auto-green-3: #196c2e; + --color-auto-green-4: #238636; + --color-auto-green-5: #2ea043; + --color-auto-green-6: #3fb950; + --color-auto-green-7: #56d364; + --color-auto-green-8: #7ee787; + --color-auto-green-9: #aff5b4; + --color-auto-orange-0: #3d1300; + --color-auto-orange-1: #5a1e02; + --color-auto-orange-2: #762d0a; + --color-auto-orange-3: #9b4215; + --color-auto-orange-4: #bd561d; + --color-auto-orange-5: #db6d28; + --color-auto-orange-6: #f0883e; + --color-auto-orange-7: #ffa657; + --color-auto-orange-8: #ffc680; + --color-auto-orange-9: #ffdfb6; + --color-auto-pink-0: #42062a; + --color-auto-pink-1: #5e103e; + --color-auto-pink-2: #7d2457; + --color-auto-pink-3: #9e3670; + --color-auto-pink-4: #bf4b8a; + --color-auto-pink-5: #db61a2; + --color-auto-pink-6: #f778ba; + --color-auto-pink-7: #ff9bce; + --color-auto-pink-8: #ffbedd; + --color-auto-pink-9: #ffdaec; + --color-auto-purple-0: #271052; + --color-auto-purple-1: #3c1e70; + --color-auto-purple-2: #553098; + --color-auto-purple-3: #6e40c9; + --color-auto-purple-4: #8957e5; + --color-auto-purple-5: #a371f7; + --color-auto-purple-6: #bc8cff; + --color-auto-purple-7: #d2a8ff; + --color-auto-purple-8: #e2c5ff; + --color-auto-purple-9: #eddeff; + --color-auto-red-0: #490202; + --color-auto-red-1: #67060c; + --color-auto-red-2: #8e1519; + --color-auto-red-3: #b62324; + --color-auto-red-4: #da3633; + --color-auto-red-5: #f85149; + --color-auto-red-6: #ff7b72; + --color-auto-red-7: #ffa198; + --color-auto-red-8: #ffc1ba; + --color-auto-red-9: #ffdcd7; + --color-auto-white: #010409; + --color-auto-yellow-0: #341a00; + --color-auto-yellow-1: #4b2900; + --color-auto-yellow-2: #693e00; + --color-auto-yellow-3: #845306; + --color-auto-yellow-4: #9e6a03; + --color-auto-yellow-5: #bb8009; + --color-auto-yellow-6: #d29922; + --color-auto-yellow-7: #e3b341; + --color-auto-yellow-8: #f2cc60; + --color-auto-yellow-9: #f8e3a1; + --color-autocomplete-row-border: #30363d; + --color-autocomplete-shadow: 0 16px 32px rgba(1, 4, 9, 0.85); + --color-avatar-bg: #0d1117; + --color-avatar-border: #0d1117; + --color-bg-backdrop: rgba(1, 4, 9, 0.8); + --color-bg-canvas: #0d1117; + --color-bg-canvas-inset: #06090f; + --color-bg-canvas-inverse: #f0f6fc; + --color-bg-canvas-mobile: #010409; + --color-bg-danger: rgba(248, 81, 73, 0.1); + --color-bg-danger-inverse: #da3633; + --color-bg-discussions-row-emoji-box: #30363d; + --color-bg-info: rgba(56, 139, 253, 0.1); + --color-bg-info-inverse: #388bfd; + --color-bg-overlay: #21262d; + --color-bg-primary: #0d1117; + --color-bg-secondary: #0d1117; + --color-bg-success: rgba(46, 160, 67, 0.1); + --color-bg-success-inverse: #2ea043; + --color-bg-table-of-contents-container: rgb(28, 33, 40); + --color-bg-table-of-contents-option-selected: rgb(31, 111, 235); + --color-fg-table-of-contents-option-selected: var(--color-text-primary); + --color-bg-tertiary: #161b22; + --color-bg-warning: rgba(187, 128, 9, 0.1); + --color-bg-warning-inverse: #bb8009; + --color-blankslate-icon: #535c66; + --color-blob-line-highlight-bg: rgba(187, 128, 9, 0.1); + --color-blob-line-highlight-border: #bb8009; + --color-border-danger: rgba(248, 81, 73, 0.4); + --color-border-info: rgba(56, 139, 253, 0.4); + --color-border-inverse: #f0f6fc; + --color-border-overlay: #30363d; + --color-border-primary: #30363d; + --color-border-secondary: #21262d; + --color-border-success: rgba(63, 185, 80, 0.4); + --color-border-tertiary: #6e7681; + --color-border-warning: rgba(187, 128, 9, 0.4); + --color-box-bg-info: rgba(56, 139, 253, 0.1); + --color-box-bg-warning: rgba(187, 128, 9, 0.1); + --color-box-blue-border: #0d419d; + --color-box-border-info: rgba(56, 139, 253, 0.4); + --color-box-border-warning: rgba(187, 128, 9, 0.4); + --color-box-header-blue-bg: #0d1117; + --color-box-header-blue-border: #30363d; + --color-box-row-blue-bg: rgba(121, 192, 255, 0.1); + --color-box-row-yellow-bg: rgba(235, 196, 64, 0.1); + --color-branch-name-bg: rgba(88, 166, 255, 0.1); + --color-branch-name-icon: #b1bac4; + --color-branch-name-link-bg: rgba(88, 166, 255, 0.1); + --color-branch-name-link-icon: #58a6ff; + --color-branch-name-link-text: #58a6ff; + --color-branch-name-text: #c9d1d9; + --color-btn-border: #30363d; + --color-btn-danger-counter-bg: rgba(218, 54, 51, 0.1); + --color-btn-danger-disabled-counter-bg: rgba(218, 54, 51, 0.05); + --color-btn-danger-disabled-text: #f85149; + --color-btn-danger-focus-shadow: 0 0 0 3px rgba(182, 35, 36, 0.4); + --color-btn-danger-hover-counter-bg: hsla(0, 0%, 100%, 0.2); + --color-btn-danger-hover-text: #fff; + --color-btn-danger-selected-border: rgba(240, 246, 252, 0.1); + --color-btn-danger-selected-text: #fff; + --color-btn-focus-shadow: 0 0 0 3px rgba(139, 148, 158, 0.3); + --color-btn-outline-counter-bg: rgba(31, 111, 235, 0.1); + --color-btn-outline-disabled-counter-bg: rgba(31, 111, 235, 0.05); + --color-btn-outline-disabled-text: rgba(88, 166, 255, 0.5); + --color-btn-outline-focus-border: #58a6ff; + --color-btn-outline-focus-shadow: 0 0 0 3px rgba(17, 88, 199, 0.4); + --color-btn-outline-hover-border: #58a6ff; + --color-btn-outline-hover-counter-bg: rgba(240, 246, 252, 0.2); + --color-btn-outline-hover-inset-shadow: inset 0 1px 0 rgba(240, 246, 252, 0.03); + --color-btn-outline-hover-shadow: 0 1px 0 rgba(1, 4, 9, 0.1); + --color-btn-outline-selected-border: rgba(240, 246, 252, 0.1); + --color-btn-primary-border: #2ea043; + --color-btn-primary-counter-bg: rgba(240, 246, 252, 0.2); + --color-btn-primary-disabled-bg: rgba(35, 134, 54, 0.6); + --color-btn-primary-disabled-border: transparent; + --color-btn-primary-disabled-text: rgba(240, 246, 252, 0.5); + --color-btn-primary-focus-border: #3fb950; + --color-btn-primary-focus-shadow: 0 0 0 3px rgba(46, 164, 79, 0.4); + --color-btn-primary-hover-border: #3fb950; + --color-btn-primary-text: #fff; + --color-btn-shadow-active: inset 0 0.15em 0.3em rgba(1, 4, 9, 0.15); + --color-btn-shadow-input-focus: 0 0 0 0.2em rgba(31, 111, 235, 0.3); + --color-calendar-graph-day-L1-bg: #01311f; + --color-calendar-graph-day-L1-border: rgba(27, 31, 35, 0.06); + --color-calendar-graph-day-L2-bg: #034525; + --color-calendar-graph-day-L2-border: rgba(27, 31, 35, 0.06); + --color-calendar-graph-day-L3-bg: #0f6d31; + --color-calendar-graph-day-L3-border: rgba(27, 31, 35, 0.06); + --color-calendar-graph-day-L4-bg: #00c647; + --color-calendar-graph-day-L4-border: rgba(27, 31, 35, 0.06); + --color-calendar-graph-day-bg: #161b22; + --color-calendar-graph-day-border: rgba(27, 31, 35, 0.06); + --color-calendar-halloween-graph-day-L1-bg: #631c03; + --color-calendar-halloween-graph-day-L2-bg: #bd561d; + --color-calendar-halloween-graph-day-L3-bg: #fa7a18; + --color-calendar-halloween-graph-day-L4-bg: #fddf68; + --color-code-selection-bg: rgba(121, 192, 255, 0.3); + --color-codemirror-activeline-bg: #161b22; + --color-codemirror-cursor: #f0f6fc; + --color-codemirror-guttermarker-subtle-text: #6e7681; + --color-codemirror-selection-bg: rgba(121, 192, 255, 0.3); + --color-counter-bg: #30363d; + --color-counter-primary-bg: #6e7681; + --color-counter-primary-text: #c9d1d9; + --color-counter-secondary-text: #8b949e; + --color-counter-text: #c9d1d9; + --color-diff-addition-bg: rgba(35, 134, 54, 0.15); + --color-diff-addition-border: #196c2e; + --color-diff-addition-text: #56d364; + --color-diff-blob-addition-line-bg: rgba(35, 134, 54, 0.15); + --color-diff-blob-addition-num-bg: rgba(35, 134, 54, 0.05); + --color-diff-blob-addition-num-hover-text: #7ee787; + --color-diff-blob-addition-num-text: #3fb950; + --color-diff-blob-addition-word-bg: rgba(35, 134, 54, 0.3); + --color-diff-blob-comment-button-bg: #1f6feb; + --color-diff-blob-comment-button-gradient-bg: #367eed; + --color-diff-blob-comment-button-icon: #f0f6fc; + --color-diff-blob-deletion-line-bg: rgba(218, 54, 51, 0.15); + --color-diff-blob-deletion-num-bg: rgba(218, 54, 51, 0.05); + --color-diff-blob-deletion-num-hover-text: #ffa198; + --color-diff-blob-deletion-num-text: #f85149; + --color-diff-blob-deletion-word-bg: rgba(218, 54, 51, 0.3); + --color-diff-blob-empty-block-bg: #161b22; + --color-diff-blob-expander-hover-bg: #1f6feb; + --color-diff-blob-expander-hover-icon: #f0f6fc; + --color-diff-blob-hunk-line-bg: rgba(88, 166, 255, 0.1); + --color-diff-blob-hunk-num-bg: rgba(88, 166, 255, 0.15); + --color-diff-blob-hunk-text: #8b949e; + --color-diff-blob-num-hover-text: rgba(240, 246, 252, 0.6); + --color-diff-blob-num-text: rgba(240, 246, 252, 0.3); + --color-diff-blob-selected-line-highlight-bg: rgba(187, 128, 9, 0.1); + --color-diff-blob-selected-line-highlight-border: #bb8009; + --color-diff-blob-selected-line-highlight-mix-blend-mode: normal; + --color-diff-change-bg: #341a00; + --color-diff-change-border: #9e6a03; + --color-diff-change-text: #e3b341; + --color-diff-deletion-bg: rgba(218, 54, 51, 0.15); + --color-diff-deletion-border: #b62324; + --color-diff-deletion-text: #f85149; + --color-diffstat-addition-bg: #238636; + --color-diffstat-addition-border: #2ea043; + --color-diffstat-deletion-bg: #da3633; + --color-diffstat-deletion-border: #f85149; + --color-diffstat-neutral-bg: #30363d; + --color-diffstat-neutral-border: rgba(240, 246, 252, 0.1); + --color-discussion-bg-success: rgba(46, 160, 67, 0.1); + --color-discussion-border: #34513b; + --color-discussions-answer-border: #3fb950; + --color-discussions-answer-icon: #3fb950; + --color-discussions-answer-text: #3fb950; + --color-discussions-state-answered-icon: #3fb950; + --color-drag-and-drop-border: #25292f; + --color-dropdown-shadow: 0 16px 32px rgba(1, 4, 9, 0.85); + --color-fade-black-10: rgba(1, 4, 9, 0.1); + --color-fade-black-15: rgba(1, 4, 9, 0.15); + --color-fade-black-30: rgba(1, 4, 9, 0.3); + --color-fade-black-50: rgba(1, 4, 9, 0.5); + --color-fade-black-70: rgba(1, 4, 9, 0.7); + --color-fade-black-85: rgba(1, 4, 9, 0.85); + --color-fade-fg-10: rgba(240, 246, 252, 0.1); + --color-fade-fg-15: rgba(240, 246, 252, 0.15); + --color-fade-fg-30: rgba(240, 246, 252, 0.3); + --color-fade-fg-50: rgba(240, 246, 252, 0.5); + --color-fade-fg-70: rgba(240, 246, 252, 0.7); + --color-fade-fg-85: rgba(240, 246, 252, 0.85); + --color-fade-white-10: rgba(240, 246, 252, 0.1); + --color-fade-white-15: rgba(240, 246, 252, 0.15); + --color-fade-white-30: rgba(240, 246, 252, 0.3); + --color-fade-white-50: rgba(240, 246, 252, 0.5); + --color-fade-white-70: rgba(240, 246, 252, 0.7); + --color-fade-white-85: rgba(240, 246, 252, 0.85); + --color-files-explorer-icon: #6e7681; + --color-filter-item-bar-bg: #12161c; + --color-footer-invertocat-octicon: #30363d; + --color-footer-invertocat-octicon-hover: #6e7681; + --color-global-nav-bg: #161b22; + --color-global-nav-icon: #c9d1d9; + --color-global-nav-input-bg: #0d1117; + --color-global-nav-input-border: #21262d; + --color-global-nav-input-icon: #21262d; + --color-global-nav-input-placeholder: #484f58; + --color-global-nav-logo: #f0f6fc; + --color-global-nav-text: #c9d1d9; + --color-header-search-border: #21262d; + --color-header-text: rgba(240, 246, 252, 0.7); + --color-hidden-text-expander-bg: #21262d; + --color-hidden-text-expander-bg-hover: #30363d; + --color-hl-author-bg: #051d4d; + --color-hl-author-border: #0d419d; + --color-icon-danger: #f85149; + --color-icon-info: #79c0ff; + --color-icon-primary: #c9d1d9; + --color-icon-secondary: #6e7681; + --color-icon-success: #56d364; + --color-icon-tertiary: #484f58; + --color-icon-warning: #e3b341; + --color-input-bg: #0d1117; + --color-input-border: #21262d; + --color-input-contrast-bg: rgba(1, 4, 9, 0.3); + --color-input-disabled-bg: #161b22; + --color-input-disabled-border: #30363d; + --color-input-error-border: #f85149; + --color-input-shadow: 0 0 transparent; + --color-input-tooltip-error-bg: #25171c; + --color-input-tooltip-error-border: #792e2e; + --color-input-tooltip-error-text: #ff7b72; + --color-input-tooltip-success-bg: #101f1b; + --color-input-tooltip-success-border: #1c532b; + --color-input-tooltip-success-text: #56d364; + --color-input-tooltip-warning-bg: #1e1c16; + --color-input-tooltip-warning-border: #5d4411; + --color-input-tooltip-warning-text: #e3b341; + --color-input-warning-border: #d29922; + --color-label-border: #30363d; + --color-label-danger-border: rgba(248, 81, 73, 0.4); + --color-label-danger-text: #f85149; + --color-label-info-border: rgba(56, 139, 253, 0.4); + --color-label-info-text: #388bfd; + --color-label-orange-border: rgba(219, 109, 40, 0.4); + --color-label-orange-text: #db6d28; + --color-label-primary-border: #6e7681; + --color-label-primary-text: #b1bac4; + --color-label-secondary-border: #30363d; + --color-label-secondary-text: #8b949e; + --color-label-success-border: rgba(46, 160, 67, 0.4); + --color-label-success-text: #3fb950; + --color-label-warning-border: rgba(242, 211, 91, 0.4); + --color-label-warning-text: #e3b341; + --color-logo-subdued: #30363d; + --color-markdown-blockquote-border: #3b434b; + --color-markdown-code-bg: rgba(240, 246, 252, 0.15); + --color-markdown-frame-border: #3b434b; + --color-markdown-table-border: #3b434b; + --color-markdown-table-tr-border: #272c32; + --color-menu-border-active: #f78166; + --color-menu-heading-text: #8b949e; + --color-merge-box-error-icon-bg: rgba(248, 81, 73, 0.1); + --color-merge-box-error-icon-border: rgba(248, 81, 73, 0.4); + --color-merge-box-error-icon-text: #f85149; + --color-merge-box-error-indicator-bg: #da3633; + --color-merge-box-error-indicator-border: #f85149; + --color-merge-box-merged-box-border: rgba(188, 140, 255, 0.4); + --color-merge-box-merged-icon-bg: rgba(188, 140, 255, 0.1); + --color-merge-box-merged-icon-border: rgba(188, 140, 255, 0.4); + --color-merge-box-merged-icon-text: #a371f7; + --color-merge-box-neutral-icon-bg: rgba(201, 209, 217, 0.1); + --color-merge-box-neutral-icon-border: rgba(201, 209, 217, 0.4); + --color-merge-box-neutral-icon-text: #8b949e; + --color-merge-box-neutral-indicator-bg: #484f58; + --color-merge-box-neutral-indicator-border: #6e7681; + --color-merge-box-success-icon-bg: rgba(46, 160, 67, 0.1); + --color-merge-box-success-icon-border: rgba(46, 160, 67, 0.4); + --color-merge-box-success-icon-text: #3fb950; + --color-merge-box-success-indicator-bg: #238636; + --color-merge-box-success-indicator-border: #2ea043; + --color-merge-box-warning-box-border: rgba(187, 128, 9, 0.4); + --color-merge-box-warning-icon-bg: rgba(187, 128, 9, 0.1); + --color-merge-box-warning-icon-border: rgba(187, 128, 9, 0.4); + --color-merge-box-warning-icon-text: #e3b341; + --color-merge-box-warning-merge-highlight: rgba(187, 128, 9, 0.1); + --color-notifications-button-hover-bg: #388bfd; + --color-notifications-button-hover-text: #f0f6fc; + --color-notifications-button-text: #f0f6fc; + --color-notifications-row-bg: #161b22; + --color-notifications-row-read-bg: #0d1117; + --color-pr-state-closed-bg: rgba(218, 54, 51, 0.1); + --color-pr-state-closed-border: rgba(218, 54, 51, 0.4); + --color-pr-state-closed-text: #f85149; + --color-pr-state-draft-bg: rgba(139, 148, 158, 0.1); + --color-pr-state-draft-border: rgba(139, 148, 158, 0.4); + --color-pr-state-draft-text: #8b949e; + --color-pr-state-merged-bg: rgba(188, 140, 255, 0.1); + --color-pr-state-merged-border: rgba(188, 140, 255, 0.4); + --color-pr-state-merged-text: #a371f7; + --color-pr-state-open-bg: rgba(63, 185, 80, 0.1); + --color-pr-state-open-border: rgba(63, 185, 80, 0.4); + --color-pr-state-open-text: #3fb950; + --color-previewable-comment-form-border: #25292f; + --color-profile-color-modes-toggle-moon: #f8e3a1; + --color-profile-color-modes-toggle-thumb-bg: #6e40c9; + --color-profile-color-modes-toggle-track-bg: #271052; + --color-profile-color-modes-toggle-track-border: #3c1e70; + --color-project-card-bg: #161b22; + --color-project-gradient-out: rgba(22, 27, 34, 0); + --color-promo-color-modes-toggle-moon: #f8e3a1; + --color-promo-color-modes-toggle-thumb-bg: #6e40c9; + --color-promo-color-modes-toggle-track-bg: #271052; + --color-promo-color-modes-toggle-track-border: #3c1e70; + --color-repo-language-color-border: rgba(240, 246, 252, 0.2); + --color-search-hover-hl: #161b22; + --color-search-keyword-hl: rgba(187, 128, 9, 0.4); + --color-select-menu-backdrop-bg: rgba(1, 4, 9, 0.5); + --color-select-menu-border-secondary: #30363d; + --color-select-menu-shadow: 0 0 18px rgba(1, 4, 9, 0.4); + --color-select-menu-tap-highlight: rgba(48, 54, 61, 0.5); + --color-shadow-highlight: 0 0 transparent; + --color-shadow-inset: 0 0 transparent; + --color-sidenav-border-active: #f78166; + --color-social-count-bg: #21262d; + --color-state-focus-border: #388bfd; + --color-state-focus-shadow: 0 0 0 3px #0c2d6b; + --color-state-hover-primary-bg: #1f6feb; + --color-state-hover-primary-border: #388bfd; + --color-state-hover-primary-icon: #f0f6fc; + --color-state-hover-primary-text: #f0f6fc; + --color-state-hover-secondary-bg: #161b22; + --color-state-hover-secondary-border: #161b22; + --color-state-selected-primary-bg: #1f6feb; + --color-state-selected-primary-border: #388bfd; + --color-state-selected-primary-icon: #f0f6fc; + --color-state-selected-primary-text: #f0f6fc; + --color-text-danger: #f85149; + --color-text-disabled: #484f58; + --color-text-inverse: #0d1117; + --color-text-link: #58a6ff; + --color-text-placeholder: #484f58; + --color-text-primary: #c9d1d9; + --color-text-secondary: #8b949e; + --color-text-success: #56d364; + --color-text-tertiary: #8b949e; + --color-text-warning: #e3b341; + --color-text-white: #f0f6fc; + --color-timeline-badge-bg: #0d1117; + --color-timeline-merged-bg: #6e40c9; + --color-timeline-target-badge-border: #1f6feb; + --color-timeline-target-badge-shadow: #0d419d; + --color-timeline-text: #b1bac4; + --color-toast-bg: #010409; + --color-toast-border: #214981; + --color-toast-danger-border: #792e2e; + --color-toast-danger-icon: #ff7b72; + --color-toast-danger-icon-bg: #25171c; + --color-toast-danger-icon-border: #792e2e; + --color-toast-danger-text: #ff7b72; + --color-toast-icon: #79c0ff; + --color-toast-icon-bg: #121d2e; + --color-toast-icon-border: #214981; + --color-toast-loading-border: #30363d; + --color-toast-loading-icon: #f0f6fc; + --color-toast-loading-icon-bg: #30363d; + --color-toast-loading-icon-border: #30363d; + --color-toast-loading-text: #c9d1d9; + --color-toast-shadow: 0 8px 24px #010409; + --color-toast-success-border: #1c532c; + --color-toast-success-icon: #56d364; + --color-toast-success-icon-bg: #111f1c; + --color-toast-success-icon-border: #1c532c; + --color-toast-success-text: #56d364; + --color-toast-text: #79c0ff; + --color-toast-warning-border: #5e4411; + --color-toast-warning-icon: #e3b341; + --color-toast-warning-icon-bg: #1f1c16; + --color-toast-warning-icon-border: #5e4411; + --color-toast-warning-text: #e3b341; + --color-tooltip-bg: #21262d; + --color-tooltip-text: #f0f6fc; + --color-topic-tag-active-bg: rgba(56, 139, 253, 0.15); + --color-topic-tag-bg: rgba(56, 139, 253, 0.1); + --color-topic-tag-hover-bg: rgba(56, 139, 253, 0.2); + --color-topic-tag-text: #58a6ff; + --color-underlinenav-border: rgba(48, 54, 61, 0); + --color-underlinenav-border-active: #f78166; + --color-underlinenav-border-hover: #30363d; + --color-underlinenav-counter-text: #8b949e; + --color-underlinenav-icon: #6e7681; + --color-underlinenav-icon-active: #c9d1d9; + --color-underlinenav-icon-hover: #c9d1d9; + --color-underlinenav-text: #8b949e; + --color-underlinenav-text-active: #c9d1d9; + --color-underlinenav-text-hover: #c9d1d9; + --color-upload-enabled-border: #3b434b; + --color-upload-enabled-border-focused: #4487ee; + --color-upvote-icon-bg: #0c2d6b; + --color-verified-badge-bg: rgba(63, 185, 80, 0.1); + --color-verified-badge-border: rgba(63, 185, 80, 0.4); + --color-verified-badge-text: #3fb950; + --color-workflow-card-bg: #21262d; + --color-workflow-card-connector-line: #484f58; + --color-workflow-card-connector-node-bg: #484f58; + --color-workflow-card-header-shadow: transparent; + --color-workflow-card-progress-complete-bg: #8b949e; + --color-workflow-card-progress-incomplete-bg: #30363d; +} diff --git a/css/frameworks.min.css b/css/frameworks.min.css new file mode 100644 index 00000000..849c5dc6 --- /dev/null +++ b/css/frameworks.min.css @@ -0,0 +1,18 @@ +/*! + * @primer/css/core + * http://primer.style/css + * + * Released under MIT license. Copyright (c) 2019 GitHub Inc. + */.octicon{display:inline-block;vertical-align:text-top;fill:currentColor} + + /*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section{display:block}summary{display:list-item}audio,canvas,progress,video{display:inline-block}audio:not([controls]){display:none;height:0}progress{vertical-align:initial}[hidden],template{display:none!important}a{background-color:initial}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:inherit;font-weight:bolder}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background-color:#ff0;color:var(--color-text-primary)}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}svg:not(:root){overflow:hidden}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}figure{margin:1em 40px}hr{box-sizing:initial;height:0;overflow:visible}button,input,select,textarea{font:inherit;margin:0}optgroup{font-weight:600}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}:root,[data-color-mode=light]{--color-scale-black:#1b1f23;--color-scale-white:#fff;--color-scale-gray-0:#fafbfc;--color-scale-gray-1:#f6f8fa;--color-scale-gray-2:#e1e4e8;--color-scale-gray-3:#d1d5da;--color-scale-gray-4:#959da5;--color-scale-gray-5:#6a737d;--color-scale-gray-6:#586069;--color-scale-gray-7:#444d56;--color-scale-gray-8:#2f363d;--color-scale-gray-9:#24292e;--color-scale-blue-0:#f1f8ff;--color-scale-blue-1:#dbedff;--color-scale-blue-2:#c8e1ff;--color-scale-blue-3:#79b8ff;--color-scale-blue-4:#2188ff;--color-scale-blue-5:#0366d6;--color-scale-blue-6:#005cc5;--color-scale-blue-7:#044289;--color-scale-blue-8:#032f62;--color-scale-blue-9:#05264c;--color-scale-green-0:#f0fff4;--color-scale-green-1:#dcffe4;--color-scale-green-2:#bef5cb;--color-scale-green-3:#85e89d;--color-scale-green-4:#34d058;--color-scale-green-5:#28a745;--color-scale-green-6:#22863a;--color-scale-green-7:#176f2c;--color-scale-green-8:#165c26;--color-scale-green-9:#144620;--color-scale-yellow-0:#fffdef;--color-scale-yellow-1:#fffbdd;--color-scale-yellow-2:#fff5b1;--color-scale-yellow-3:#ffea7f;--color-scale-yellow-4:#ffdf5d;--color-scale-yellow-5:#ffd33d;--color-scale-yellow-6:#f9c513;--color-scale-yellow-7:#dbab09;--color-scale-yellow-8:#b08800;--color-scale-yellow-9:#735c0f;--color-scale-orange-0:#fff8f2;--color-scale-orange-1:#ffebda;--color-scale-orange-2:#ffd1ac;--color-scale-orange-3:#ffab70;--color-scale-orange-4:#fb8532;--color-scale-orange-5:#f66a0a;--color-scale-orange-6:#e36209;--color-scale-orange-7:#d15704;--color-scale-orange-8:#c24e00;--color-scale-orange-9:#a04100;--color-scale-red-0:#ffeef0;--color-scale-red-1:#ffdce0;--color-scale-red-2:#fdaeb7;--color-scale-red-3:#f97583;--color-scale-red-4:#ea4a5a;--color-scale-red-5:#d73a49;--color-scale-red-6:#cb2431;--color-scale-red-7:#b31d28;--color-scale-red-8:#9e1c23;--color-scale-red-9:#86181d;--color-scale-purple-0:#f5f0ff;--color-scale-purple-1:#e6dcfd;--color-scale-purple-2:#d1bcf9;--color-scale-purple-3:#b392f0;--color-scale-purple-4:#8a63d2;--color-scale-purple-5:#6f42c1;--color-scale-purple-6:#5a32a3;--color-scale-purple-7:#4c2889;--color-scale-purple-8:#3a1d6e;--color-scale-purple-9:#29134e;--color-scale-pink-0:#ffeef8;--color-scale-pink-1:#fedbf0;--color-scale-pink-2:#f9b3dd;--color-scale-pink-3:#f692ce;--color-scale-pink-4:#ec6cb9;--color-scale-pink-5:#ea4aaa;--color-scale-pink-6:#d03592;--color-scale-pink-7:#b93a86;--color-scale-pink-8:#99306f;--color-scale-pink-9:#6d224f;--color-auto-black:#1b1f23;--color-auto-white:#fff;--color-auto-gray-0:#fafbfc;--color-auto-gray-1:#f6f8fa;--color-auto-gray-2:#e1e4e8;--color-auto-gray-3:#d1d5da;--color-auto-gray-4:#959da5;--color-auto-gray-5:#6a737d;--color-auto-gray-6:#586069;--color-auto-gray-7:#444d56;--color-auto-gray-8:#2f363d;--color-auto-gray-9:#24292e;--color-auto-blue-0:#f1f8ff;--color-auto-blue-1:#dbedff;--color-auto-blue-2:#c8e1ff;--color-auto-blue-3:#79b8ff;--color-auto-blue-4:#2188ff;--color-auto-blue-5:#0366d6;--color-auto-blue-6:#005cc5;--color-auto-blue-7:#044289;--color-auto-blue-8:#032f62;--color-auto-blue-9:#05264c;--color-auto-green-0:#f0fff4;--color-auto-green-1:#dcffe4;--color-auto-green-2:#bef5cb;--color-auto-green-3:#85e89d;--color-auto-green-4:#34d058;--color-auto-green-5:#28a745;--color-auto-green-6:#22863a;--color-auto-green-7:#176f2c;--color-auto-green-8:#165c26;--color-auto-green-9:#144620;--color-auto-yellow-0:#fffdef;--color-auto-yellow-1:#fffbdd;--color-auto-yellow-2:#fff5b1;--color-auto-yellow-3:#ffea7f;--color-auto-yellow-4:#ffdf5d;--color-auto-yellow-5:#ffd33d;--color-auto-yellow-6:#f9c513;--color-auto-yellow-7:#dbab09;--color-auto-yellow-8:#b08800;--color-auto-yellow-9:#735c0f;--color-auto-orange-0:#fff8f2;--color-auto-orange-1:#ffebda;--color-auto-orange-2:#ffd1ac;--color-auto-orange-3:#ffab70;--color-auto-orange-4:#fb8532;--color-auto-orange-5:#f66a0a;--color-auto-orange-6:#e36209;--color-auto-orange-7:#d15704;--color-auto-orange-8:#c24e00;--color-auto-orange-9:#a04100;--color-auto-red-0:#ffeef0;--color-auto-red-1:#ffdce0;--color-auto-red-2:#fdaeb7;--color-auto-red-3:#f97583;--color-auto-red-4:#ea4a5a;--color-auto-red-5:#d73a49;--color-auto-red-6:#cb2431;--color-auto-red-7:#b31d28;--color-auto-red-8:#9e1c23;--color-auto-red-9:#86181d;--color-auto-purple-0:#f5f0ff;--color-auto-purple-1:#e6dcfd;--color-auto-purple-2:#d1bcf9;--color-auto-purple-3:#b392f0;--color-auto-purple-4:#8a63d2;--color-auto-purple-5:#6f42c1;--color-auto-purple-6:#5a32a3;--color-auto-purple-7:#4c2889;--color-auto-purple-8:#3a1d6e;--color-auto-purple-9:#29134e;--color-auto-pink-0:#ffeef8;--color-auto-pink-1:#fedbf0;--color-auto-pink-2:#f9b3dd;--color-auto-pink-3:#f692ce;--color-auto-pink-4:#ec6cb9;--color-auto-pink-5:#ea4aaa;--color-auto-pink-6:#d03592;--color-auto-pink-7:#b93a86;--color-auto-pink-8:#99306f;--color-auto-pink-9:#6d224f;--color-text-primary:#24292e;--color-text-secondary:#586069;--color-text-tertiary:#6a737d;--color-text-placeholder:#6a737d;--color-text-disabled:#6a737d;--color-text-inverse:#fff;--color-text-link:#0366d6;--color-text-danger:#cb2431;--color-text-success:#22863a;--color-text-warning:#b08800;--color-text-white:#fff;--color-icon-primary:#24292e;--color-icon-secondary:#586069;--color-icon-tertiary:#959da5;--color-icon-info:#0366d6;--color-icon-danger:#d73a49;--color-icon-success:#22863a;--color-icon-warning:#b08800;--color-border-primary:#e1e4e8;--color-border-secondary:#eaecef;--color-border-tertiary:#d1d5da;--color-border-overlay:#e1e4e8;--color-border-inverse:#fff;--color-border-info:#0366d6;--color-border-danger:#d73a49;--color-border-success:#34d058;--color-border-warning:#f9c513;--color-bg-canvas:#fff;--color-bg-canvas-mobile:#fff;--color-bg-canvas-inverse:#24292e;--color-bg-canvas-inset:#f6f8fa;--color-bg-primary:#fff;--color-bg-secondary:#fafbfc;--color-bg-tertiary:#f6f8fa;--color-bg-overlay:#fff;--color-bg-backdrop:rgba(27,31,35,0.5);--color-bg-info:#f1f8ff;--color-bg-info-inverse:#0366d6;--color-bg-danger:#ffeef0;--color-bg-danger-inverse:#d73a49;--color-bg-success:#dcffe4;--color-bg-success-inverse:#28a745;--color-bg-warning:#fff5b1;--color-bg-warning-inverse:#ffd33d;--color-shadow-small:0 1px 0 rgba(27,31,35,0.04);--color-shadow-medium:0 3px 6px rgba(149,157,165,0.15);--color-shadow-large:0 8px 24px rgba(149,157,165,0.2);--color-shadow-extra-large:0 12px 48px rgba(149,157,165,0.3);--color-shadow-highlight:inset 0 1px 0 hsla(0,0%,100%,0.25);--color-shadow-inset:inset 0 1px 0 rgba(225,228,232,0.2);--color-state-hover-primary-bg:#0366d6;--color-state-hover-primary-border:#0366d6;--color-state-hover-primary-text:#fff;--color-state-hover-primary-icon:#fff;--color-state-hover-secondary-bg:#f6f8fa;--color-state-hover-secondary-border:#f6f8fa;--color-state-selected-primary-bg:#0366d6;--color-state-selected-primary-border:#0366d6;--color-state-selected-primary-text:#fff;--color-state-selected-primary-icon:#fff;--color-state-focus-border:#0366d6;--color-state-focus-shadow:0 0 0 3px rgba(3,102,214,0.3);--color-fade-fg-10:rgba(27,31,35,0.1);--color-fade-fg-15:rgba(27,31,35,0.15);--color-fade-fg-30:rgba(27,31,35,0.3);--color-fade-fg-50:rgba(27,31,35,0.5);--color-fade-fg-70:rgba(27,31,35,0.7);--color-fade-fg-85:rgba(27,31,35,0.85);--color-fade-black-10:rgba(27,31,35,0.1);--color-fade-black-15:rgba(27,31,35,0.15);--color-fade-black-30:rgba(27,31,35,0.3);--color-fade-black-50:rgba(27,31,35,0.5);--color-fade-black-70:rgba(27,31,35,0.7);--color-fade-black-85:rgba(27,31,35,0.85);--color-fade-white-10:hsla(0,0%,100%,0.1);--color-fade-white-15:hsla(0,0%,100%,0.15);--color-fade-white-30:hsla(0,0%,100%,0.3);--color-fade-white-50:hsla(0,0%,100%,0.5);--color-fade-white-70:hsla(0,0%,100%,0.7);--color-fade-white-85:hsla(0,0%,100%,0.85);--color-alert-info-text:#24292e;--color-alert-info-icon:rgba(4,66,137,0.6);--color-alert-info-bg:#dbedff;--color-alert-info-border:rgba(4,66,137,0.2);--color-alert-warn-text:#24292e;--color-alert-warn-icon:#b08800;--color-alert-warn-bg:#fffbdd;--color-alert-warn-border:rgba(176,136,0,0.2);--color-alert-error-text:#24292e;--color-alert-error-icon:rgba(158,28,35,0.6);--color-alert-error-bg:#ffe3e6;--color-alert-error-border:rgba(158,28,35,0.2);--color-alert-success-text:#24292e;--color-alert-success-icon:rgba(23,111,44,0.8);--color-alert-success-bg:#dcffe4;--color-alert-success-border:rgba(23,111,44,0.2);--color-autocomplete-shadow:0 3px 6px rgba(149,157,165,0.15);--color-autocomplete-row-border:#eaecef;--color-blankslate-icon:#a3aab1;--color-btn-text:#24292e;--color-btn-bg:#fafbfc;--color-btn-border:rgba(27,31,35,0.15);--color-btn-shadow:0 1px 0 rgba(27,31,35,0.04);--color-btn-inset-shadow:inset 0 1px 0 hsla(0,0%,100%,0.25);--color-btn-hover-bg:#f3f4f6;--color-btn-hover-border:rgba(27,31,35,0.15);--color-btn-selected-bg:#edeff2;--color-btn-focus-bg:#fafbfc;--color-btn-focus-border:rgba(27,31,35,0.15);--color-btn-focus-shadow:0 0 0 3px rgba(3,102,214,0.3);--color-btn-shadow-active:inset 0 0.15em 0.3em rgba(27,31,35,0.15);--color-btn-shadow-input-focus:0 0 0 0.2em rgba(3,102,214,0.3);--color-btn-primary-text:#fff;--color-btn-primary-bg:#2ea44f;--color-btn-primary-border:rgba(27,31,35,0.15);--color-btn-primary-shadow:0 1px 0 rgba(27,31,35,0.1);--color-btn-primary-inset-shadow:inset 0 1px 0 hsla(0,0%,100%,0.03);--color-btn-primary-hover-bg:#2c974b;--color-btn-primary-hover-border:rgba(27,31,35,0.15);--color-btn-primary-selected-bg:#2a8f47;--color-btn-primary-selected-shadow:inset 0 1px 0 rgba(20,70,32,0.2);--color-btn-primary-disabled-text:hsla(0,0%,100%,0.8);--color-btn-primary-disabled-bg:#94d3a2;--color-btn-primary-disabled-border:rgba(27,31,35,0.1);--color-btn-primary-focus-bg:#2ea44f;--color-btn-primary-focus-border:rgba(27,31,35,0.15);--color-btn-primary-focus-shadow:0 0 0 3px rgba(46,164,79,0.4);--color-btn-primary-icon:hsla(0,0%,100%,0.8);--color-btn-primary-counter-bg:hsla(0,0%,100%,0.2);--color-btn-outline-text:#0366d6;--color-btn-outline-hover-text:#fff;--color-btn-outline-hover-bg:#0366d6;--color-btn-outline-hover-border:rgba(27,31,35,0.15);--color-btn-outline-hover-shadow:0 1px 0 rgba(27,31,35,0.1);--color-btn-outline-hover-inset-shadow:inset 0 1px 0 hsla(0,0%,100%,0.03);--color-btn-outline-hover-counter-bg:hsla(0,0%,100%,0.2);--color-btn-outline-selected-text:#fff;--color-btn-outline-selected-bg:#035fc7;--color-btn-outline-selected-border:rgba(27,31,35,0.15);--color-btn-outline-selected-shadow:inset 0 1px 0 rgba(5,38,76,0.2);--color-btn-outline-disabled-text:rgba(3,102,214,0.5);--color-btn-outline-disabled-bg:#fafbfc;--color-btn-outline-disabled-counter-bg:rgba(3,102,214,0.05);--color-btn-outline-focus-border:rgba(27,31,35,0.15);--color-btn-outline-focus-shadow:0 0 0 3px rgba(0,92,197,0.4);--color-btn-outline-counter-bg:rgba(3,102,214,0.1);--color-btn-danger-text:#d73a49;--color-btn-danger-hover-text:#fff;--color-btn-danger-hover-bg:#cb2431;--color-btn-danger-hover-border:rgba(27,31,35,0.15);--color-btn-danger-hover-shadow:0 1px 0 rgba(27,31,35,0.1);--color-btn-danger-hover-inset-shadow:inset 0 1px 0 hsla(0,0%,100%,0.03);--color-btn-danger-hover-counter-bg:hsla(0,0%,100%,0.2);--color-btn-danger-selected-text:#fff;--color-btn-danger-selected-bg:#d42d3d;--color-btn-danger-selected-border:rgba(27,31,35,0.15);--color-btn-danger-selected-shadow:inset 0 1px 0 rgba(134,24,29,0.2);--color-btn-danger-disabled-text:rgba(215,58,73,0.5);--color-btn-danger-disabled-bg:#fafbfc;--color-btn-danger-disabled-counter-bg:rgba(215,58,73,0.05);--color-btn-danger-focus-border:rgba(27,31,35,0.15);--color-btn-danger-focus-shadow:0 0 0 3px rgba(203,36,49,0.4);--color-btn-danger-counter-bg:rgba(215,58,73,0.1);--color-btn-counter-bg:rgba(27,31,35,0.08);--color-counter-text:#24292e;--color-counter-bg:rgba(209,213,218,0.5);--color-counter-primary-text:#fff;--color-counter-primary-bg:#6a737d;--color-counter-secondary-text:#6a737d;--color-dropdown-shadow:0 8px 24px rgba(149,157,165,0.2);--color-label-border:#e1e4e8;--color-label-primary-text:#24292e;--color-label-primary-border:#6a737d;--color-label-secondary-text:#586069;--color-label-secondary-border:#e1e4e8;--color-label-info-text:#0366d6;--color-label-info-border:#0366d6;--color-label-success-text:#22863a;--color-label-success-border:#28a745;--color-label-warning-text:#735c0f;--color-label-warning-border:#b08800;--color-label-danger-text:#d73a49;--color-label-danger-border:#cb2431;--color-label-orange-text:#c24e00;--color-label-orange-border:#f66a0a;--color-input-bg:#fff;--color-input-contrast-bg:#fafbfc;--color-input-border:#e1e4e8;--color-input-shadow:inset 0 1px 2px rgba(27,31,35,0.075);--color-input-disabled-bg:#fff;--color-input-disabled-border:#e1e4e8;--color-input-warning-border:#f9c513;--color-input-error-border:#cb2431;--color-input-tooltip-success-text:#144620;--color-input-tooltip-success-bg:#dcffe4;--color-input-tooltip-success-border:#34d058;--color-input-tooltip-warning-text:#735c0f;--color-input-tooltip-warning-bg:#fff5b1;--color-input-tooltip-warning-border:#f9c513;--color-input-tooltip-error-text:#86181d;--color-input-tooltip-error-bg:#ffeef0;--color-input-tooltip-error-border:#f97583;--color-avatar-bg:#fff;--color-avatar-border:transparent;--color-avatar-stack-fade:#d1d5da;--color-avatar-stack-fade-more:#e1e4e8;--color-avatar-child-shadow:-2px -2px 0 hsla(0,0%,100%,0.8);--color-toast-text:#24292e;--color-toast-bg:#fff;--color-toast-border:#e1e4e8;--color-toast-shadow:0 8px 24px rgba(149,157,165,0.2);--color-toast-icon:#fff;--color-toast-icon-bg:#0366d6;--color-toast-icon-border:transparent;--color-toast-success-text:#24292e;--color-toast-success-border:#e1e4e8;--color-toast-success-icon:#fff;--color-toast-success-icon-bg:#28a745;--color-toast-success-icon-border:transparent;--color-toast-warning-text:#24292e;--color-toast-warning-border:#e1e4e8;--color-toast-warning-icon:#24292e;--color-toast-warning-icon-bg:#ffd33d;--color-toast-warning-icon-border:transparent;--color-toast-danger-text:#24292e;--color-toast-danger-border:#e1e4e8;--color-toast-danger-icon:#fff;--color-toast-danger-icon-bg:#d73a49;--color-toast-danger-icon-border:transparent;--color-toast-loading-text:#24292e;--color-toast-loading-border:#e1e4e8;--color-toast-loading-icon:#fff;--color-toast-loading-icon-bg:#586069;--color-toast-loading-icon-border:transparent;--color-timeline-text:#444d56;--color-timeline-badge-bg:#e1e4e8;--color-timeline-target-badge-border:#2188ff;--color-timeline-target-badge-shadow:#c8e1ff;--color-select-menu-border-secondary:#eaecef;--color-select-menu-shadow:0 0 18px rgba(27,31,35,0.4);--color-select-menu-backdrop-bg:rgba(27,31,35,0.5);--color-select-menu-backdrop-border:transparent;--color-select-menu-tap-highlight:rgba(209,213,218,0.5);--color-select-menu-tap-focus-bg:#dbedff;--color-box-blue-border:#c8e1ff;--color-box-row-yellow-bg:#fffbdd;--color-box-row-blue-bg:#f1f8ff;--color-box-header-blue-bg:#f1f8ff;--color-box-header-blue-border:#c8e1ff;--color-box-border-info:rgba(3,102,214,0.2);--color-box-bg-info:#f1f8ff;--color-box-border-warning:rgba(255,211,61,0.4);--color-box-bg-warning:#fffdef;--color-branch-name-text:rgba(27,31,35,0.6);--color-branch-name-icon:#a8bbd0;--color-branch-name-bg:#eaf5ff;--color-branch-name-link-text:#0366d6;--color-branch-name-link-icon:#a8bbd0;--color-branch-name-link-bg:#eaf5ff;--color-markdown-code-bg:rgba(27,31,35,0.05);--color-markdown-frame-border:#dfe2e5;--color-markdown-blockquote-border:#dfe2e5;--color-markdown-table-border:#dfe2e5;--color-markdown-table-tr-border:#c6cbd1;--color-menu-heading-text:#24292e;--color-menu-border-active:#f9826c;--color-menu-bg-active:transparent;--color-sidenav-selected-bg:#fff;--color-sidenav-border-active:#f9826c;--color-header-text:hsla(0,0%,100%,0.7);--color-header-bg:#24292e;--color-header-logo:#fff;--color-filter-item-bar-bg:#eff3f6;--color-hidden-text-expander-bg:#dfe2e5;--color-hidden-text-expander-bg-hover:#c6cbd1;--color-drag-and-drop-border:#c3c8cf;--color-upload-enabled-border:#dfe2e5;--color-upload-enabled-border-focused:#4a9eff;--color-previewable-comment-form-border:#c3c8cf;--color-underlinenav-border:rgba(209,213,218,0);--color-underlinenav-border-hover:#d1d5da;--color-underlinenav-border-active:#f9826c;--color-underlinenav-text:#24292e;--color-underlinenav-text-hover:#24292e;--color-underlinenav-text-active:#24292e;--color-underlinenav-icon:#959da5;--color-underlinenav-icon-hover:#959da5;--color-underlinenav-icon-active:#24292e;--color-underlinenav-counter-text:#24292e;--color-verified-badge-text:#22863a;--color-verified-badge-bg:#fff;--color-verified-badge-border:#e1e4e8;--color-social-count-bg:#fff;--color-tooltip-text:#fff;--color-tooltip-bg:#24292e;--color-header-search-bg:#24292e;--color-header-search-border:#444d56;--color-search-keyword-hl:#fffbdd;--color-diffstat-neutral-bg:#d1d5da;--color-diffstat-neutral-border:#d1d5da;--color-diffstat-deletion-bg:#d73a49;--color-diffstat-deletion-border:#d73a49;--color-diffstat-addition-bg:#28a745;--color-diffstat-addition-border:#28a745;--color-files-explorer-icon:#79b8ff;--color-hl-author-bg:#f1f8ff;--color-hl-author-border:#c8e1ff;--color-logo-subdued:#d1d5da;--color-discussion-border:#a2cbac;--color-discussion-bg-success:#28a745;--color-actions-workflow-table-sticky-bg:hsla(0,0%,100%,0.95);--color-repo-language-color-border:rgba(27,31,35,0.1);--color-code-selection-bg:#c8e1ff;--color-blob-line-highlight-bg:#fffbdd;--color-blob-line-highlight-border:transparent;--color-diff-addition-text:#22863a;--color-diff-addition-bg:#e6ffed;--color-diff-addition-border:#34d058;--color-diff-deletion-text:#cb2431;--color-diff-deletion-bg:#ffeef0;--color-diff-deletion-border:#d73a49;--color-diff-change-text:#b08800;--color-diff-change-bg:#fff5b1;--color-diff-change-border:#f9c513;--color-diff-blob-num-text:rgba(27,31,35,0.3);--color-diff-blob-num-hover-text:rgba(27,31,35,0.6);--color-diff-blob-addition-num-text:rgba(27,31,35,0.3);--color-diff-blob-addition-num-hover-text:rgba(27,31,35,0.6);--color-diff-blob-addition-num-bg:#cdffd8;--color-diff-blob-addition-line-bg:#e6ffed;--color-diff-blob-addition-word-bg:#acf2bd;--color-diff-blob-deletion-num-text:rgba(27,31,35,0.3);--color-diff-blob-deletion-num-hover-text:rgba(27,31,35,0.6);--color-diff-blob-deletion-num-bg:#ffdce0;--color-diff-blob-deletion-line-bg:#ffeef0;--color-diff-blob-deletion-word-bg:#fdb8c0;--color-diff-blob-hunk-text:rgba(27,31,35,0.7);--color-diff-blob-hunk-num-bg:#dbedff;--color-diff-blob-hunk-line-bg:#f1f8ff;--color-diff-blob-empty-block-bg:#fafbfc;--color-diff-blob-selected-line-highlight-bg:rgba(255,223,93,0.2);--color-diff-blob-selected-line-highlight-border:#ffd33d;--color-diff-blob-selected-line-highlight-mix-blend-mode:multiply;--color-diff-blob-expander-icon:#586069;--color-diff-blob-expander-hover-icon:#fff;--color-diff-blob-expander-hover-bg:#0366d6;--color-diff-blob-comment-button-icon:#fff;--color-diff-blob-comment-button-bg:#0366d6;--color-diff-blob-comment-button-gradient-bg:#0372ef;--color-global-nav-logo:#fff;--color-global-nav-bg:#24292e;--color-global-nav-text:#fff;--color-global-nav-icon:#fff;--color-global-nav-input-bg:#fafbfc;--color-global-nav-input-border:#fafbfc;--color-global-nav-input-icon:#d1d5da;--color-global-nav-input-placeholder:#959da5;--color-calendar-graph-day-bg:#ebedf0;--color-calendar-graph-day-border:rgba(27,31,35,0.06);--color-calendar-graph-day-L1-bg:#9be9a8;--color-calendar-graph-day-L2-bg:#40c463;--color-calendar-graph-day-L3-bg:#30a14e;--color-calendar-graph-day-L4-bg:#216e39;--color-calendar-graph-day-L4-border:rgba(27,31,35,0.06);--color-calendar-graph-day-L3-border:rgba(27,31,35,0.06);--color-calendar-graph-day-L2-border:rgba(27,31,35,0.06);--color-calendar-graph-day-L1-border:rgba(27,31,35,0.06);--color-footer-invertocat-octicon:#d1d5da;--color-footer-invertocat-octicon-hover:#6a737d;--color-pr-state-draft-text:#fff;--color-pr-state-draft-bg:#6a737d;--color-pr-state-draft-border:transparent;--color-pr-state-open-text:#fff;--color-pr-state-open-bg:#28a745;--color-pr-state-open-border:transparent;--color-pr-state-merged-text:#fff;--color-pr-state-merged-bg:#6f42c1;--color-pr-state-merged-border:transparent;--color-pr-state-closed-text:#fff;--color-pr-state-closed-bg:#d73a49;--color-pr-state-closed-border:transparent;--color-topic-tag-text:#0366d6;--color-topic-tag-bg:#f1f8ff;--color-topic-tag-hover-bg:#def;--color-topic-tag-active-bg:#e7f3ff;--color-merge-box-success-icon-bg:#28a745;--color-merge-box-success-icon-text:#fff;--color-merge-box-success-icon-border:transparent;--color-merge-box-success-indicator-bg:#28a745;--color-merge-box-success-indicator-border:transparent;--color-merge-box-merged-icon-bg:#6f42c1;--color-merge-box-merged-icon-text:#fff;--color-merge-box-merged-icon-border:transparent;--color-merge-box-merged-box-border:#6f42c1;--color-merge-box-neutral-icon-bg:#6a737d;--color-merge-box-neutral-icon-text:#fff;--color-merge-box-neutral-icon-border:transparent;--color-merge-box-neutral-indicator-bg:#6a737d;--color-merge-box-neutral-indicator-border:transparent;--color-merge-box-warning-icon-bg:#dbab09;--color-merge-box-warning-icon-text:#fff;--color-merge-box-warning-icon-border:transparent;--color-merge-box-warning-box-border:#ffd33d;--color-merge-box-warning-merge-highlight:transparent;--color-merge-box-error-icon-bg:#d73a49;--color-merge-box-error-icon-text:#fff;--color-merge-box-error-icon-border:transparent;--color-merge-box-error-indicator-bg:#d73a49;--color-merge-box-error-indicator-border:transparent;--color-project-card-bg:#fff;--color-project-header-bg:#24292e;--color-project-sidebar-bg:#fff;--color-project-gradient-in:#fff;--color-project-gradient-out:hsla(0,0%,100%,0);--color-marketing-icon-primary:#2188ff;--color-marketing-icon-secondary:#79b8ff;--color-prettylights-syntax-comment:#6a737d;--color-prettylights-syntax-constant:#005cc5;--color-prettylights-syntax-entity:#6f42c1;--color-prettylights-syntax-storage-modifier-import:#24292e;--color-prettylights-syntax-entity-tag:#22863a;--color-prettylights-syntax-keyword:#d73a49;--color-prettylights-syntax-string:#032f62;--color-prettylights-syntax-variable:#e36209;--color-prettylights-syntax-brackethighlighter-unmatched:#b31d28;--color-prettylights-syntax-invalid-illegal-text:#fafbfc;--color-prettylights-syntax-invalid-illegal-bg:#b31d28;--color-prettylights-syntax-carriage-return-text:#fafbfc;--color-prettylights-syntax-carriage-return-bg:#d73a49;--color-prettylights-syntax-string-regexp:#22863a;--color-prettylights-syntax-markup-list:#735c0f;--color-prettylights-syntax-markup-heading:#005cc5;--color-prettylights-syntax-markup-italic:#24292e;--color-prettylights-syntax-markup-bold:#24292e;--color-prettylights-syntax-markup-deleted-text:#b31d28;--color-prettylights-syntax-markup-deleted-bg:#ffeef0;--color-prettylights-syntax-markup-inserted-text:#22863a;--color-prettylights-syntax-markup-inserted-bg:#f0fff4;--color-prettylights-syntax-markup-changed-text:#e36209;--color-prettylights-syntax-markup-changed-bg:#ffebda;--color-prettylights-syntax-markup-ignored-text:#f6f8fa;--color-prettylights-syntax-markup-ignored-bg:#005cc5;--color-prettylights-syntax-meta-diff-range:#6f42c1;--color-prettylights-syntax-brackethighlighter-angle:#586069;--color-prettylights-syntax-sublimelinter-gutter-mark:#959da5;--color-prettylights-syntax-constant-other-reference-link:#032f62;--color-codemirror-text:#24292e;--color-codemirror-bg:#fff;--color-codemirror-gutters-bg:#fff;--color-codemirror-guttermarker-text:#fff;--color-codemirror-guttermarker-subtle-text:#d1d5da;--color-codemirror-linenumber-text:#959da5;--color-codemirror-cursor:#24292e;--color-codemirror-selection-bg:#c8e1ff;--color-codemirror-activeline-bg:#fafbfc;--color-codemirror-matchingbracket-text:#24292e;--color-codemirror-lines-bg:#fff;--color-codemirror-syntax-comment:#6a737d;--color-codemirror-syntax-constant:#005cc5;--color-codemirror-syntax-entity:#6f42c1;--color-codemirror-syntax-keyword:#d73a49;--color-codemirror-syntax-storage:#d73a49;--color-codemirror-syntax-string:#032f62;--color-codemirror-syntax-support:#005cc5;--color-codemirror-syntax-variable:#e36209;--color-ansi-black:#24292e;--color-ansi-black-bright:#2f363d;--color-ansi-white:#e1e4e8;--color-ansi-white-bright:#e1e4e8;--color-ansi-gray:#959da5;--color-ansi-red:#f97583;--color-ansi-red-bright:#fdaeb7;--color-ansi-green:#85e89d;--color-ansi-green-bright:#bef5cb;--color-ansi-yellow:#ffea7f;--color-ansi-yellow-bright:#fff5b1;--color-ansi-blue:#79b8ff;--color-ansi-blue-bright:#c8e1ff;--color-ansi-magenta:#b392f0;--color-ansi-magenta-bright:#d1bcf9;--color-ansi-cyan:#76e3ea;--color-ansi-cyan-bright:#b3f0ff}@media (prefers-color-scheme:light){[data-color-mode=auto]{--color-scale-black:#1b1f23;--color-scale-white:#fff;--color-scale-gray-0:#fafbfc;--color-scale-gray-1:#f6f8fa;--color-scale-gray-2:#e1e4e8;--color-scale-gray-3:#d1d5da;--color-scale-gray-4:#959da5;--color-scale-gray-5:#6a737d;--color-scale-gray-6:#586069;--color-scale-gray-7:#444d56;--color-scale-gray-8:#2f363d;--color-scale-gray-9:#24292e;--color-scale-blue-0:#f1f8ff;--color-scale-blue-1:#dbedff;--color-scale-blue-2:#c8e1ff;--color-scale-blue-3:#79b8ff;--color-scale-blue-4:#2188ff;--color-scale-blue-5:#0366d6;--color-scale-blue-6:#005cc5;--color-scale-blue-7:#044289;--color-scale-blue-8:#032f62;--color-scale-blue-9:#05264c;--color-scale-green-0:#f0fff4;--color-scale-green-1:#dcffe4;--color-scale-green-2:#bef5cb;--color-scale-green-3:#85e89d;--color-scale-green-4:#34d058;--color-scale-green-5:#28a745;--color-scale-green-6:#22863a;--color-scale-green-7:#176f2c;--color-scale-green-8:#165c26;--color-scale-green-9:#144620;--color-scale-yellow-0:#fffdef;--color-scale-yellow-1:#fffbdd;--color-scale-yellow-2:#fff5b1;--color-scale-yellow-3:#ffea7f;--color-scale-yellow-4:#ffdf5d;--color-scale-yellow-5:#ffd33d;--color-scale-yellow-6:#f9c513;--color-scale-yellow-7:#dbab09;--color-scale-yellow-8:#b08800;--color-scale-yellow-9:#735c0f;--color-scale-orange-0:#fff8f2;--color-scale-orange-1:#ffebda;--color-scale-orange-2:#ffd1ac;--color-scale-orange-3:#ffab70;--color-scale-orange-4:#fb8532;--color-scale-orange-5:#f66a0a;--color-scale-orange-6:#e36209;--color-scale-orange-7:#d15704;--color-scale-orange-8:#c24e00;--color-scale-orange-9:#a04100;--color-scale-red-0:#ffeef0;--color-scale-red-1:#ffdce0;--color-scale-red-2:#fdaeb7;--color-scale-red-3:#f97583;--color-scale-red-4:#ea4a5a;--color-scale-red-5:#d73a49;--color-scale-red-6:#cb2431;--color-scale-red-7:#b31d28;--color-scale-red-8:#9e1c23;--color-scale-red-9:#86181d;--color-scale-purple-0:#f5f0ff;--color-scale-purple-1:#e6dcfd;--color-scale-purple-2:#d1bcf9;--color-scale-purple-3:#b392f0;--color-scale-purple-4:#8a63d2;--color-scale-purple-5:#6f42c1;--color-scale-purple-6:#5a32a3;--color-scale-purple-7:#4c2889;--color-scale-purple-8:#3a1d6e;--color-scale-purple-9:#29134e;--color-scale-pink-0:#ffeef8;--color-scale-pink-1:#fedbf0;--color-scale-pink-2:#f9b3dd;--color-scale-pink-3:#f692ce;--color-scale-pink-4:#ec6cb9;--color-scale-pink-5:#ea4aaa;--color-scale-pink-6:#d03592;--color-scale-pink-7:#b93a86;--color-scale-pink-8:#99306f;--color-scale-pink-9:#6d224f;--color-auto-black:#1b1f23;--color-auto-white:#fff;--color-auto-gray-0:#fafbfc;--color-auto-gray-1:#f6f8fa;--color-auto-gray-2:#e1e4e8;--color-auto-gray-3:#d1d5da;--color-auto-gray-4:#959da5;--color-auto-gray-5:#6a737d;--color-auto-gray-6:#586069;--color-auto-gray-7:#444d56;--color-auto-gray-8:#2f363d;--color-auto-gray-9:#24292e;--color-auto-blue-0:#f1f8ff;--color-auto-blue-1:#dbedff;--color-auto-blue-2:#c8e1ff;--color-auto-blue-3:#79b8ff;--color-auto-blue-4:#2188ff;--color-auto-blue-5:#0366d6;--color-auto-blue-6:#005cc5;--color-auto-blue-7:#044289;--color-auto-blue-8:#032f62;--color-auto-blue-9:#05264c;--color-auto-green-0:#f0fff4;--color-auto-green-1:#dcffe4;--color-auto-green-2:#bef5cb;--color-auto-green-3:#85e89d;--color-auto-green-4:#34d058;--color-auto-green-5:#28a745;--color-auto-green-6:#22863a;--color-auto-green-7:#176f2c;--color-auto-green-8:#165c26;--color-auto-green-9:#144620;--color-auto-yellow-0:#fffdef;--color-auto-yellow-1:#fffbdd;--color-auto-yellow-2:#fff5b1;--color-auto-yellow-3:#ffea7f;--color-auto-yellow-4:#ffdf5d;--color-auto-yellow-5:#ffd33d;--color-auto-yellow-6:#f9c513;--color-auto-yellow-7:#dbab09;--color-auto-yellow-8:#b08800;--color-auto-yellow-9:#735c0f;--color-auto-orange-0:#fff8f2;--color-auto-orange-1:#ffebda;--color-auto-orange-2:#ffd1ac;--color-auto-orange-3:#ffab70;--color-auto-orange-4:#fb8532;--color-auto-orange-5:#f66a0a;--color-auto-orange-6:#e36209;--color-auto-orange-7:#d15704;--color-auto-orange-8:#c24e00;--color-auto-orange-9:#a04100;--color-auto-red-0:#ffeef0;--color-auto-red-1:#ffdce0;--color-auto-red-2:#fdaeb7;--color-auto-red-3:#f97583;--color-auto-red-4:#ea4a5a;--color-auto-red-5:#d73a49;--color-auto-red-6:#cb2431;--color-auto-red-7:#b31d28;--color-auto-red-8:#9e1c23;--color-auto-red-9:#86181d;--color-auto-purple-0:#f5f0ff;--color-auto-purple-1:#e6dcfd;--color-auto-purple-2:#d1bcf9;--color-auto-purple-3:#b392f0;--color-auto-purple-4:#8a63d2;--color-auto-purple-5:#6f42c1;--color-auto-purple-6:#5a32a3;--color-auto-purple-7:#4c2889;--color-auto-purple-8:#3a1d6e;--color-auto-purple-9:#29134e;--color-auto-pink-0:#ffeef8;--color-auto-pink-1:#fedbf0;--color-auto-pink-2:#f9b3dd;--color-auto-pink-3:#f692ce;--color-auto-pink-4:#ec6cb9;--color-auto-pink-5:#ea4aaa;--color-auto-pink-6:#d03592;--color-auto-pink-7:#b93a86;--color-auto-pink-8:#99306f;--color-auto-pink-9:#6d224f;--color-text-primary:#24292e;--color-text-secondary:#586069;--color-text-tertiary:#6a737d;--color-text-placeholder:#6a737d;--color-text-disabled:#6a737d;--color-text-inverse:#fff;--color-text-link:#0366d6;--color-text-danger:#cb2431;--color-text-success:#22863a;--color-text-warning:#b08800;--color-text-white:#fff;--color-icon-primary:#24292e;--color-icon-secondary:#586069;--color-icon-tertiary:#959da5;--color-icon-info:#0366d6;--color-icon-danger:#d73a49;--color-icon-success:#22863a;--color-icon-warning:#b08800;--color-border-primary:#e1e4e8;--color-border-secondary:#eaecef;--color-border-tertiary:#d1d5da;--color-border-overlay:#e1e4e8;--color-border-inverse:#fff;--color-border-info:#0366d6;--color-border-danger:#d73a49;--color-border-success:#34d058;--color-border-warning:#f9c513;--color-bg-canvas:#fff;--color-bg-canvas-mobile:#fff;--color-bg-canvas-inverse:#24292e;--color-bg-canvas-inset:#f6f8fa;--color-bg-primary:#fff;--color-bg-secondary:#fafbfc;--color-bg-tertiary:#f6f8fa;--color-bg-overlay:#fff;--color-bg-backdrop:rgba(27,31,35,0.5);--color-bg-info:#f1f8ff;--color-bg-info-inverse:#0366d6;--color-bg-danger:#ffeef0;--color-bg-danger-inverse:#d73a49;--color-bg-success:#dcffe4;--color-bg-success-inverse:#28a745;--color-bg-warning:#fff5b1;--color-bg-warning-inverse:#ffd33d;--color-shadow-small:0 1px 0 rgba(27,31,35,0.04);--color-shadow-medium:0 3px 6px rgba(149,157,165,0.15);--color-shadow-large:0 8px 24px rgba(149,157,165,0.2);--color-shadow-extra-large:0 12px 48px rgba(149,157,165,0.3);--color-shadow-highlight:inset 0 1px 0 hsla(0,0%,100%,0.25);--color-shadow-inset:inset 0 1px 0 rgba(225,228,232,0.2);--color-state-hover-primary-bg:#0366d6;--color-state-hover-primary-border:#0366d6;--color-state-hover-primary-text:#fff;--color-state-hover-primary-icon:#fff;--color-state-hover-secondary-bg:#f6f8fa;--color-state-hover-secondary-border:#f6f8fa;--color-state-selected-primary-bg:#0366d6;--color-state-selected-primary-border:#0366d6;--color-state-selected-primary-text:#fff;--color-state-selected-primary-icon:#fff;--color-state-focus-border:#0366d6;--color-state-focus-shadow:0 0 0 3px rgba(3,102,214,0.3);--color-fade-fg-10:rgba(27,31,35,0.1);--color-fade-fg-15:rgba(27,31,35,0.15);--color-fade-fg-30:rgba(27,31,35,0.3);--color-fade-fg-50:rgba(27,31,35,0.5);--color-fade-fg-70:rgba(27,31,35,0.7);--color-fade-fg-85:rgba(27,31,35,0.85);--color-fade-black-10:rgba(27,31,35,0.1);--color-fade-black-15:rgba(27,31,35,0.15);--color-fade-black-30:rgba(27,31,35,0.3);--color-fade-black-50:rgba(27,31,35,0.5);--color-fade-black-70:rgba(27,31,35,0.7);--color-fade-black-85:rgba(27,31,35,0.85);--color-fade-white-10:hsla(0,0%,100%,0.1);--color-fade-white-15:hsla(0,0%,100%,0.15);--color-fade-white-30:hsla(0,0%,100%,0.3);--color-fade-white-50:hsla(0,0%,100%,0.5);--color-fade-white-70:hsla(0,0%,100%,0.7);--color-fade-white-85:hsla(0,0%,100%,0.85);--color-alert-info-text:#24292e;--color-alert-info-icon:rgba(4,66,137,0.6);--color-alert-info-bg:#dbedff;--color-alert-info-border:rgba(4,66,137,0.2);--color-alert-warn-text:#24292e;--color-alert-warn-icon:#b08800;--color-alert-warn-bg:#fffbdd;--color-alert-warn-border:rgba(176,136,0,0.2);--color-alert-error-text:#24292e;--color-alert-error-icon:rgba(158,28,35,0.6);--color-alert-error-bg:#ffe3e6;--color-alert-error-border:rgba(158,28,35,0.2);--color-alert-success-text:#24292e;--color-alert-success-icon:rgba(23,111,44,0.8);--color-alert-success-bg:#dcffe4;--color-alert-success-border:rgba(23,111,44,0.2);--color-autocomplete-shadow:0 3px 6px rgba(149,157,165,0.15);--color-autocomplete-row-border:#eaecef;--color-blankslate-icon:#a3aab1;--color-btn-text:#24292e;--color-btn-bg:#fafbfc;--color-btn-border:rgba(27,31,35,0.15);--color-btn-shadow:0 1px 0 rgba(27,31,35,0.04);--color-btn-inset-shadow:inset 0 1px 0 hsla(0,0%,100%,0.25);--color-btn-hover-bg:#f3f4f6;--color-btn-hover-border:rgba(27,31,35,0.15);--color-btn-selected-bg:#edeff2;--color-btn-focus-bg:#fafbfc;--color-btn-focus-border:rgba(27,31,35,0.15);--color-btn-focus-shadow:0 0 0 3px rgba(3,102,214,0.3);--color-btn-shadow-active:inset 0 0.15em 0.3em rgba(27,31,35,0.15);--color-btn-shadow-input-focus:0 0 0 0.2em rgba(3,102,214,0.3);--color-btn-primary-text:#fff;--color-btn-primary-bg:#2ea44f;--color-btn-primary-border:rgba(27,31,35,0.15);--color-btn-primary-shadow:0 1px 0 rgba(27,31,35,0.1);--color-btn-primary-inset-shadow:inset 0 1px 0 hsla(0,0%,100%,0.03);--color-btn-primary-hover-bg:#2c974b;--color-btn-primary-hover-border:rgba(27,31,35,0.15);--color-btn-primary-selected-bg:#2a8f47;--color-btn-primary-selected-shadow:inset 0 1px 0 rgba(20,70,32,0.2);--color-btn-primary-disabled-text:hsla(0,0%,100%,0.8);--color-btn-primary-disabled-bg:#94d3a2;--color-btn-primary-disabled-border:rgba(27,31,35,0.1);--color-btn-primary-focus-bg:#2ea44f;--color-btn-primary-focus-border:rgba(27,31,35,0.15);--color-btn-primary-focus-shadow:0 0 0 3px rgba(46,164,79,0.4);--color-btn-primary-icon:hsla(0,0%,100%,0.8);--color-btn-primary-counter-bg:hsla(0,0%,100%,0.2);--color-btn-outline-text:#0366d6;--color-btn-outline-hover-text:#fff;--color-btn-outline-hover-bg:#0366d6;--color-btn-outline-hover-border:rgba(27,31,35,0.15);--color-btn-outline-hover-shadow:0 1px 0 rgba(27,31,35,0.1);--color-btn-outline-hover-inset-shadow:inset 0 1px 0 hsla(0,0%,100%,0.03);--color-btn-outline-hover-counter-bg:hsla(0,0%,100%,0.2);--color-btn-outline-selected-text:#fff;--color-btn-outline-selected-bg:#035fc7;--color-btn-outline-selected-border:rgba(27,31,35,0.15);--color-btn-outline-selected-shadow:inset 0 1px 0 rgba(5,38,76,0.2);--color-btn-outline-disabled-text:rgba(3,102,214,0.5);--color-btn-outline-disabled-bg:#fafbfc;--color-btn-outline-disabled-counter-bg:rgba(3,102,214,0.05);--color-btn-outline-focus-border:rgba(27,31,35,0.15);--color-btn-outline-focus-shadow:0 0 0 3px rgba(0,92,197,0.4);--color-btn-outline-counter-bg:rgba(3,102,214,0.1);--color-btn-danger-text:#d73a49;--color-btn-danger-hover-text:#fff;--color-btn-danger-hover-bg:#cb2431;--color-btn-danger-hover-border:rgba(27,31,35,0.15);--color-btn-danger-hover-shadow:0 1px 0 rgba(27,31,35,0.1);--color-btn-danger-hover-inset-shadow:inset 0 1px 0 hsla(0,0%,100%,0.03);--color-btn-danger-hover-counter-bg:hsla(0,0%,100%,0.2);--color-btn-danger-selected-text:#fff;--color-btn-danger-selected-bg:#d42d3d;--color-btn-danger-selected-border:rgba(27,31,35,0.15);--color-btn-danger-selected-shadow:inset 0 1px 0 rgba(134,24,29,0.2);--color-btn-danger-disabled-text:rgba(215,58,73,0.5);--color-btn-danger-disabled-bg:#fafbfc;--color-btn-danger-disabled-counter-bg:rgba(215,58,73,0.05);--color-btn-danger-focus-border:rgba(27,31,35,0.15);--color-btn-danger-focus-shadow:0 0 0 3px rgba(203,36,49,0.4);--color-btn-danger-counter-bg:rgba(215,58,73,0.1);--color-btn-counter-bg:rgba(27,31,35,0.08);--color-counter-text:#24292e;--color-counter-bg:rgba(209,213,218,0.5);--color-counter-primary-text:#fff;--color-counter-primary-bg:#6a737d;--color-counter-secondary-text:#6a737d;--color-dropdown-shadow:0 8px 24px rgba(149,157,165,0.2);--color-label-border:#e1e4e8;--color-label-primary-text:#24292e;--color-label-primary-border:#6a737d;--color-label-secondary-text:#586069;--color-label-secondary-border:#e1e4e8;--color-label-info-text:#0366d6;--color-label-info-border:#0366d6;--color-label-success-text:#22863a;--color-label-success-border:#28a745;--color-label-warning-text:#735c0f;--color-label-warning-border:#b08800;--color-label-danger-text:#d73a49;--color-label-danger-border:#cb2431;--color-label-orange-text:#c24e00;--color-label-orange-border:#f66a0a;--color-input-bg:#fff;--color-input-contrast-bg:#fafbfc;--color-input-border:#e1e4e8;--color-input-shadow:inset 0 1px 2px rgba(27,31,35,0.075);--color-input-disabled-bg:#fff;--color-input-disabled-border:#e1e4e8;--color-input-warning-border:#f9c513;--color-input-error-border:#cb2431;--color-input-tooltip-success-text:#144620;--color-input-tooltip-success-bg:#dcffe4;--color-input-tooltip-success-border:#34d058;--color-input-tooltip-warning-text:#735c0f;--color-input-tooltip-warning-bg:#fff5b1;--color-input-tooltip-warning-border:#f9c513;--color-input-tooltip-error-text:#86181d;--color-input-tooltip-error-bg:#ffeef0;--color-input-tooltip-error-border:#f97583;--color-avatar-bg:#fff;--color-avatar-border:transparent;--color-avatar-stack-fade:#d1d5da;--color-avatar-stack-fade-more:#e1e4e8;--color-avatar-child-shadow:-2px -2px 0 hsla(0,0%,100%,0.8);--color-toast-text:#24292e;--color-toast-bg:#fff;--color-toast-border:#e1e4e8;--color-toast-shadow:0 8px 24px rgba(149,157,165,0.2);--color-toast-icon:#fff;--color-toast-icon-bg:#0366d6;--color-toast-icon-border:transparent;--color-toast-success-text:#24292e;--color-toast-success-border:#e1e4e8;--color-toast-success-icon:#fff;--color-toast-success-icon-bg:#28a745;--color-toast-success-icon-border:transparent;--color-toast-warning-text:#24292e;--color-toast-warning-border:#e1e4e8;--color-toast-warning-icon:#24292e;--color-toast-warning-icon-bg:#ffd33d;--color-toast-warning-icon-border:transparent;--color-toast-danger-text:#24292e;--color-toast-danger-border:#e1e4e8;--color-toast-danger-icon:#fff;--color-toast-danger-icon-bg:#d73a49;--color-toast-danger-icon-border:transparent;--color-toast-loading-text:#24292e;--color-toast-loading-border:#e1e4e8;--color-toast-loading-icon:#fff;--color-toast-loading-icon-bg:#586069;--color-toast-loading-icon-border:transparent;--color-timeline-text:#444d56;--color-timeline-badge-bg:#e1e4e8;--color-timeline-target-badge-border:#2188ff;--color-timeline-target-badge-shadow:#c8e1ff;--color-select-menu-border-secondary:#eaecef;--color-select-menu-shadow:0 0 18px rgba(27,31,35,0.4);--color-select-menu-backdrop-bg:rgba(27,31,35,0.5);--color-select-menu-backdrop-border:transparent;--color-select-menu-tap-highlight:rgba(209,213,218,0.5);--color-select-menu-tap-focus-bg:#dbedff;--color-box-blue-border:#c8e1ff;--color-box-row-yellow-bg:#fffbdd;--color-box-row-blue-bg:#f1f8ff;--color-box-header-blue-bg:#f1f8ff;--color-box-header-blue-border:#c8e1ff;--color-box-border-info:rgba(3,102,214,0.2);--color-box-bg-info:#f1f8ff;--color-box-border-warning:rgba(255,211,61,0.4);--color-box-bg-warning:#fffdef;--color-branch-name-text:rgba(27,31,35,0.6);--color-branch-name-icon:#a8bbd0;--color-branch-name-bg:#eaf5ff;--color-branch-name-link-text:#0366d6;--color-branch-name-link-icon:#a8bbd0;--color-branch-name-link-bg:#eaf5ff;--color-markdown-code-bg:rgba(27,31,35,0.05);--color-markdown-frame-border:#dfe2e5;--color-markdown-blockquote-border:#dfe2e5;--color-markdown-table-border:#dfe2e5;--color-markdown-table-tr-border:#c6cbd1;--color-menu-heading-text:#24292e;--color-menu-border-active:#f9826c;--color-menu-bg-active:transparent;--color-sidenav-selected-bg:#fff;--color-sidenav-border-active:#f9826c;--color-header-text:hsla(0,0%,100%,0.7);--color-header-bg:#24292e;--color-header-logo:#fff;--color-filter-item-bar-bg:#eff3f6;--color-hidden-text-expander-bg:#dfe2e5;--color-hidden-text-expander-bg-hover:#c6cbd1;--color-drag-and-drop-border:#c3c8cf;--color-upload-enabled-border:#dfe2e5;--color-upload-enabled-border-focused:#4a9eff;--color-previewable-comment-form-border:#c3c8cf;--color-underlinenav-border:rgba(209,213,218,0);--color-underlinenav-border-hover:#d1d5da;--color-underlinenav-border-active:#f9826c;--color-underlinenav-text:#24292e;--color-underlinenav-text-hover:#24292e;--color-underlinenav-text-active:#24292e;--color-underlinenav-icon:#959da5;--color-underlinenav-icon-hover:#959da5;--color-underlinenav-icon-active:#24292e;--color-underlinenav-counter-text:#24292e;--color-verified-badge-text:#22863a;--color-verified-badge-bg:#fff;--color-verified-badge-border:#e1e4e8;--color-social-count-bg:#fff;--color-tooltip-text:#fff;--color-tooltip-bg:#24292e;--color-header-search-bg:#24292e;--color-header-search-border:#444d56;--color-search-keyword-hl:#fffbdd;--color-diffstat-neutral-bg:#d1d5da;--color-diffstat-neutral-border:#d1d5da;--color-diffstat-deletion-bg:#d73a49;--color-diffstat-deletion-border:#d73a49;--color-diffstat-addition-bg:#28a745;--color-diffstat-addition-border:#28a745;--color-files-explorer-icon:#79b8ff;--color-hl-author-bg:#f1f8ff;--color-hl-author-border:#c8e1ff;--color-logo-subdued:#d1d5da;--color-discussion-border:#a2cbac;--color-discussion-bg-success:#28a745;--color-actions-workflow-table-sticky-bg:hsla(0,0%,100%,0.95);--color-repo-language-color-border:rgba(27,31,35,0.1);--color-code-selection-bg:#c8e1ff;--color-blob-line-highlight-bg:#fffbdd;--color-blob-line-highlight-border:transparent;--color-diff-addition-text:#22863a;--color-diff-addition-bg:#e6ffed;--color-diff-addition-border:#34d058;--color-diff-deletion-text:#cb2431;--color-diff-deletion-bg:#ffeef0;--color-diff-deletion-border:#d73a49;--color-diff-change-text:#b08800;--color-diff-change-bg:#fff5b1;--color-diff-change-border:#f9c513;--color-diff-blob-num-text:rgba(27,31,35,0.3);--color-diff-blob-num-hover-text:rgba(27,31,35,0.6);--color-diff-blob-addition-num-text:rgba(27,31,35,0.3);--color-diff-blob-addition-num-hover-text:rgba(27,31,35,0.6);--color-diff-blob-addition-num-bg:#cdffd8;--color-diff-blob-addition-line-bg:#e6ffed;--color-diff-blob-addition-word-bg:#acf2bd;--color-diff-blob-deletion-num-text:rgba(27,31,35,0.3);--color-diff-blob-deletion-num-hover-text:rgba(27,31,35,0.6);--color-diff-blob-deletion-num-bg:#ffdce0;--color-diff-blob-deletion-line-bg:#ffeef0;--color-diff-blob-deletion-word-bg:#fdb8c0;--color-diff-blob-hunk-text:rgba(27,31,35,0.7);--color-diff-blob-hunk-num-bg:#dbedff;--color-diff-blob-hunk-line-bg:#f1f8ff;--color-diff-blob-empty-block-bg:#fafbfc;--color-diff-blob-selected-line-highlight-bg:rgba(255,223,93,0.2);--color-diff-blob-selected-line-highlight-border:#ffd33d;--color-diff-blob-selected-line-highlight-mix-blend-mode:multiply;--color-diff-blob-expander-icon:#586069;--color-diff-blob-expander-hover-icon:#fff;--color-diff-blob-expander-hover-bg:#0366d6;--color-diff-blob-comment-button-icon:#fff;--color-diff-blob-comment-button-bg:#0366d6;--color-diff-blob-comment-button-gradient-bg:#0372ef;--color-global-nav-logo:#fff;--color-global-nav-bg:#24292e;--color-global-nav-text:#fff;--color-global-nav-icon:#fff;--color-global-nav-input-bg:#fafbfc;--color-global-nav-input-border:#fafbfc;--color-global-nav-input-icon:#d1d5da;--color-global-nav-input-placeholder:#959da5;--color-calendar-graph-day-bg:#ebedf0;--color-calendar-graph-day-border:rgba(27,31,35,0.06);--color-calendar-graph-day-L1-bg:#9be9a8;--color-calendar-graph-day-L2-bg:#40c463;--color-calendar-graph-day-L3-bg:#30a14e;--color-calendar-graph-day-L4-bg:#216e39;--color-calendar-graph-day-L4-border:rgba(27,31,35,0.06);--color-calendar-graph-day-L3-border:rgba(27,31,35,0.06);--color-calendar-graph-day-L2-border:rgba(27,31,35,0.06);--color-calendar-graph-day-L1-border:rgba(27,31,35,0.06);--color-footer-invertocat-octicon:#d1d5da;--color-footer-invertocat-octicon-hover:#6a737d;--color-pr-state-draft-text:#fff;--color-pr-state-draft-bg:#6a737d;--color-pr-state-draft-border:transparent;--color-pr-state-open-text:#fff;--color-pr-state-open-bg:#28a745;--color-pr-state-open-border:transparent;--color-pr-state-merged-text:#fff;--color-pr-state-merged-bg:#6f42c1;--color-pr-state-merged-border:transparent;--color-pr-state-closed-text:#fff;--color-pr-state-closed-bg:#d73a49;--color-pr-state-closed-border:transparent;--color-topic-tag-text:#0366d6;--color-topic-tag-bg:#f1f8ff;--color-topic-tag-hover-bg:#def;--color-topic-tag-active-bg:#e7f3ff;--color-merge-box-success-icon-bg:#28a745;--color-merge-box-success-icon-text:#fff;--color-merge-box-success-icon-border:transparent;--color-merge-box-success-indicator-bg:#28a745;--color-merge-box-success-indicator-border:transparent;--color-merge-box-merged-icon-bg:#6f42c1;--color-merge-box-merged-icon-text:#fff;--color-merge-box-merged-icon-border:transparent;--color-merge-box-merged-box-border:#6f42c1;--color-merge-box-neutral-icon-bg:#6a737d;--color-merge-box-neutral-icon-text:#fff;--color-merge-box-neutral-icon-border:transparent;--color-merge-box-neutral-indicator-bg:#6a737d;--color-merge-box-neutral-indicator-border:transparent;--color-merge-box-warning-icon-bg:#dbab09;--color-merge-box-warning-icon-text:#fff;--color-merge-box-warning-icon-border:transparent;--color-merge-box-warning-box-border:#ffd33d;--color-merge-box-warning-merge-highlight:transparent;--color-merge-box-error-icon-bg:#d73a49;--color-merge-box-error-icon-text:#fff;--color-merge-box-error-icon-border:transparent;--color-merge-box-error-indicator-bg:#d73a49;--color-merge-box-error-indicator-border:transparent;--color-project-card-bg:#fff;--color-project-header-bg:#24292e;--color-project-sidebar-bg:#fff;--color-project-gradient-in:#fff;--color-project-gradient-out:hsla(0,0%,100%,0);--color-marketing-icon-primary:#2188ff;--color-marketing-icon-secondary:#79b8ff;--color-prettylights-syntax-comment:#6a737d;--color-prettylights-syntax-constant:#005cc5;--color-prettylights-syntax-entity:#6f42c1;--color-prettylights-syntax-storage-modifier-import:#24292e;--color-prettylights-syntax-entity-tag:#22863a;--color-prettylights-syntax-keyword:#d73a49;--color-prettylights-syntax-string:#032f62;--color-prettylights-syntax-variable:#e36209;--color-prettylights-syntax-brackethighlighter-unmatched:#b31d28;--color-prettylights-syntax-invalid-illegal-text:#fafbfc;--color-prettylights-syntax-invalid-illegal-bg:#b31d28;--color-prettylights-syntax-carriage-return-text:#fafbfc;--color-prettylights-syntax-carriage-return-bg:#d73a49;--color-prettylights-syntax-string-regexp:#22863a;--color-prettylights-syntax-markup-list:#735c0f;--color-prettylights-syntax-markup-heading:#005cc5;--color-prettylights-syntax-markup-italic:#24292e;--color-prettylights-syntax-markup-bold:#24292e;--color-prettylights-syntax-markup-deleted-text:#b31d28;--color-prettylights-syntax-markup-deleted-bg:#ffeef0;--color-prettylights-syntax-markup-inserted-text:#22863a;--color-prettylights-syntax-markup-inserted-bg:#f0fff4;--color-prettylights-syntax-markup-changed-text:#e36209;--color-prettylights-syntax-markup-changed-bg:#ffebda;--color-prettylights-syntax-markup-ignored-text:#f6f8fa;--color-prettylights-syntax-markup-ignored-bg:#005cc5;--color-prettylights-syntax-meta-diff-range:#6f42c1;--color-prettylights-syntax-brackethighlighter-angle:#586069;--color-prettylights-syntax-sublimelinter-gutter-mark:#959da5;--color-prettylights-syntax-constant-other-reference-link:#032f62;--color-codemirror-text:#24292e;--color-codemirror-bg:#fff;--color-codemirror-gutters-bg:#fff;--color-codemirror-guttermarker-text:#fff;--color-codemirror-guttermarker-subtle-text:#d1d5da;--color-codemirror-linenumber-text:#959da5;--color-codemirror-cursor:#24292e;--color-codemirror-selection-bg:#c8e1ff;--color-codemirror-activeline-bg:#fafbfc;--color-codemirror-matchingbracket-text:#24292e;--color-codemirror-lines-bg:#fff;--color-codemirror-syntax-comment:#6a737d;--color-codemirror-syntax-constant:#005cc5;--color-codemirror-syntax-entity:#6f42c1;--color-codemirror-syntax-keyword:#d73a49;--color-codemirror-syntax-storage:#d73a49;--color-codemirror-syntax-string:#032f62;--color-codemirror-syntax-support:#005cc5;--color-codemirror-syntax-variable:#e36209;--color-ansi-black:#24292e;--color-ansi-black-bright:#2f363d;--color-ansi-white:#e1e4e8;--color-ansi-white-bright:#e1e4e8;--color-ansi-gray:#959da5;--color-ansi-red:#f97583;--color-ansi-red-bright:#fdaeb7;--color-ansi-green:#85e89d;--color-ansi-green-bright:#bef5cb;--color-ansi-yellow:#ffea7f;--color-ansi-yellow-bright:#fff5b1;--color-ansi-blue:#79b8ff;--color-ansi-blue-bright:#c8e1ff;--color-ansi-magenta:#b392f0;--color-ansi-magenta-bright:#d1bcf9;--color-ansi-cyan:#76e3ea;--color-ansi-cyan-bright:#b3f0ff}}[data-color-mode]{color:var(--color-text-primary);background-color:var(--color-bg-canvas)}:root,[data-color-mode=light]{color-scheme:light}@media (prefers-color-scheme:light){[data-color-mode=auto]{color-scheme:light}}[data-color-mode=dark]{color-scheme:dark}@media (prefers-color-scheme:dark){[data-color-mode=auto]{color-scheme:dark}}*{box-sizing:border-box}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;font-size:14px;line-height:1.5;color:var(--color-text-primary);background-color:var(--color-bg-canvas)}a{color:var(--color-text-link);text-decoration:none}a:hover{text-decoration:underline}b,strong{font-weight:600}.rule,hr{height:0;margin:15px 0;overflow:hidden;background:transparent;border:0;border-bottom:1px solid var(--color-border-secondary)}.rule:after,.rule:before,hr:after,hr:before{display:table;content:""}.rule:after,hr:after{clear:both}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}button{cursor:pointer;border-radius:0}[hidden][hidden]{display:none!important}details summary{cursor:pointer}details:not([open])>:not(summary){display:none!important}kbd{display:inline-block;padding:3px 5px;font:11px SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;line-height:10px;color:var(--color-auto-gray-7);vertical-align:middle;background-color:var(--color-bg-secondary);border-bottom-color:var(--color-border-tertiary);border:1px solid var(--color-border-tertiary);border-radius:6px;box-shadow:inset 0 -1px 0 var(--color-border-tertiary)}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:0}h1{font-size:32px}h1,h2{font-weight:600}h2{font-size:24px}h3{font-size:20px}h3,h4{font-weight:600}h4{font-size:16px}h5{font-size:14px}h5,h6{font-weight:600}h6{font-size:12px}p{margin-top:0;margin-bottom:10px}small{font-size:90%}blockquote{margin:0}ol,ul{padding-left:0;margin-top:0;margin-bottom:0}ol ol,ul ol{list-style-type:lower-roman}ol ol ol,ol ul ol,ul ol ol,ul ul ol{list-style-type:lower-alpha}dd{margin-left:0}code,pre,tt{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12px}pre{margin-top:0;margin-bottom:0}.octicon{vertical-align:text-bottom}.Box{background-color:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:6px}.Box--condensed{line-height:1.25}.Box--condensed .Box-body,.Box--condensed .Box-footer,.Box--condensed .Box-header{padding:8px 16px}.Box--condensed .Box-btn-octicon.btn-octicon{padding:8px 16px;margin:-8px -16px;line-height:1.25}.Box--condensed .Box-row{padding:8px 16px}.Box--spacious .Box-header{padding:24px;line-height:1.25}.Box--spacious .Box-title{font-size:20px}.Box--spacious .Box-body,.Box--spacious .Box-footer{padding:24px}.Box--spacious .Box-btn-octicon.btn-octicon{padding:24px;margin:-24px}.Box--spacious .Box-row{padding:24px}.Box-header{padding:16px;margin:-1px -1px 0;background-color:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);border-top-left-radius:6px;border-top-right-radius:6px}.Box-title{font-size:14px;font-weight:600}.Box-body{padding:16px;border-bottom:1px solid var(--color-border-primary)}.Box-body:last-of-type{margin-bottom:-1px;border-bottom-right-radius:6px;border-bottom-left-radius:6px}.Box-row{padding:16px;margin-top:-1px;list-style-type:none;border-top:1px solid var(--color-border-secondary)}.Box-row:first-of-type{border-top-left-radius:6px;border-top-right-radius:6px}.Box-row:last-of-type{border-bottom-right-radius:6px;border-bottom-left-radius:6px}.Box-row.Box-row--unread,.Box-row.unread{box-shadow:inset 2px 0 0 var(--color-border-info)}.Box-row.navigation-focus .Box-row--drag-button{color:var(--color-text-link);cursor:grab;opacity:1}.Box-row.navigation-focus.is-dragging .Box-row--drag-button{cursor:grabbing}.Box-row.navigation-focus.sortable-chosen{background-color:var(--color-bg-secondary)}.Box-row.navigation-focus.sortable-ghost{background-color:var(--color-bg-tertiary)}.Box-row.navigation-focus.sortable-ghost .Box-row--drag-hide{opacity:0}.Box-row--focus-gray.navigation-focus{background-color:var(--color-bg-tertiary)}.Box-row--focus-blue.navigation-focus{background-color:var(--color-box-row-blue-bg)}.Box-row--hover-gray:hover{background-color:var(--color-bg-tertiary)}.Box-row--hover-blue:hover{background-color:var(--color-box-row-blue-bg)}@media (min-width:768px){.Box-row-link{color:var(--color-text-primary);text-decoration:none}.Box-row-link:hover{color:var(--color-text-link);text-decoration:none}}.Box-row--drag-button{opacity:0}.Box-footer{padding:16px;margin-top:-1px;border-top:1px solid var(--color-border-primary)}.Box--scrollable{max-height:324px;overflow:scroll}.Box--blue,.Box--blue .Box-header{border-color:var(--color-box-blue-border)}.Box--blue .Box-header{background-color:var(--color-bg-info)}.Box--blue .Box-body,.Box--blue .Box-footer,.Box--blue .Box-row{border-color:var(--color-box-blue-border)}.Box--danger,.Box--danger .Box-body:last-of-type,.Box--danger .Box-row:first-of-type{border-color:var(--color-border-danger)}.Box-header--blue{background-color:var(--color-box-header-blue-bg);border-color:var(--color-box-header-blue-border)}.Box-row--yellow{background-color:var(--color-box-row-yellow-bg)}.Box-row--blue{background-color:var(--color-box-row-blue-bg)}.Box-row--gray{background-color:var(--color-bg-tertiary)}.Box-btn-octicon.btn-octicon{padding:16px;margin:-16px;line-height:1.5}.breadcrumb-item{display:inline-block;margin-left:-.35em;white-space:nowrap;list-style:none}.breadcrumb-item:after{padding-right:.5em;padding-left:.5em;color:var(--color-text-disabled);content:"/"}.breadcrumb-item:first-child{margin-left:0}.breadcrumb-item-selected,.breadcrumb-item[aria-current]:not([aria-current=false]){color:var(--color-text-primary)}.breadcrumb-item-selected:after,.breadcrumb-item[aria-current]:not([aria-current=false]):after{content:none}.btn{position:relative;display:inline-block;padding:5px 16px;font-size:14px;font-weight:500;line-height:20px;white-space:nowrap;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid;border-radius:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.btn:hover{text-decoration:none}.btn.disabled,.btn:disabled,.btn[aria-disabled=true]{cursor:default}.btn.disabled .octicon,.btn:disabled .octicon,.btn[aria-disabled=true] .octicon{color:inherit}.btn i{font-style:normal;font-weight:500;opacity:.75}.btn .octicon{margin-right:4px;color:var(--color-text-tertiary);vertical-align:text-bottom}.btn .octicon:only-child{margin-right:0}.btn .Counter{margin-left:2px;color:inherit;text-shadow:none;vertical-align:top;background-color:var(--color-btn-counter-bg)}.btn .dropdown-caret{margin-left:4px;opacity:.8}.btn{color:var(--color-btn-text);background-color:var(--color-btn-bg);border-color:var(--color-btn-border);box-shadow:var(--color-btn-shadow),var(--color-btn-inset-shadow);transition:.2s cubic-bezier(.3,0,.5,1);transition-property:color,background-color,border-color}.btn.hover,.btn:hover,[open]>.btn{background-color:var(--color-btn-hover-bg);border-color:var(--color-btn-hover-border);transition-duration:.1s}.btn.selected,.btn:active,.btn[aria-selected=true]{background-color:var(--color-btn-selected-bg);box-shadow:var(--color-shadow-inset);transition:none}.btn.disabled,.btn:disabled,.btn[aria-disabled=true]{color:var(--color-text-disabled);background-color:var(--color-btn-bg);border-color:var(--color-btn-border)}.btn.focus,.btn:focus{border-color:var(--color-btn-focus-border);outline:none;box-shadow:var(--color-btn-focus-shadow)}.btn-blue,.btn-primary{color:var(--color-btn-primary-text);background-color:var(--color-btn-primary-bg);border-color:var(--color-btn-primary-border);box-shadow:var(--color-btn-primary-shadow),var(--color-btn-primary-inset-shadow)}.btn-blue.hover,.btn-blue:hover,.btn-primary.hover,.btn-primary:hover,[open]>.btn-blue,[open]>.btn-primary{background-color:var(--color-btn-primary-hover-bg);border-color:var(--color-btn-primary-hover-border)}.btn-blue.selected,.btn-blue:active,.btn-blue[aria-selected=true],.btn-primary.selected,.btn-primary:active,.btn-primary[aria-selected=true]{background-color:var(--color-btn-primary-selected-bg);box-shadow:var(--color-btn-primary-selected-shadow)}.btn-blue.disabled,.btn-blue:disabled,.btn-blue[aria-disabled=true],.btn-primary.disabled,.btn-primary:disabled,.btn-primary[aria-disabled=true]{color:var(--color-btn-primary-disabled-text);background-color:var(--color-btn-primary-disabled-bg);border-color:var(--color-btn-primary-disabled-border)}.btn-blue.focus,.btn-blue:focus,.btn-primary.focus,.btn-primary:focus{background-color:var(--color-btn-primary-focus-bg);border-color:var(--color-btn-primary-focus-border);box-shadow:var(--color-btn-primary-focus-shadow)}.btn-blue .Counter,.btn-primary .Counter{color:inherit;background-color:var(--color-btn-primary-counter-bg)}.btn-blue .octicon,.btn-primary .octicon{color:var(--color-btn-primary-icon)}.btn-outline{color:var(--color-btn-outline-text)}.btn-outline:hover,[open]>.btn-outline{color:var(--color-btn-outline-hover-text);background-color:var(--color-btn-outline-hover-bg);border-color:var(--color-btn-outline-hover-border);box-shadow:var(--color-btn-outline-hover-shadow),var(--color-btn-outline-hover-inset-shadow)}.btn-outline:hover .Counter,[open]>.btn-outline .Counter{background-color:var(--color-btn-outline-hover-counter-bg)}.btn-outline:hover .octicon,[open]>.btn-outline .octicon{color:inherit}.btn-outline.selected,.btn-outline:active,.btn-outline[aria-selected=true]{color:var(--color-btn-outline-selected-text);background-color:var(--color-btn-outline-selected-bg);border-color:var(--color-btn-outline-selected-border);box-shadow:var(--color-btn-outline-selected-shadow)}.btn-outline.disabled,.btn-outline:disabled,.btn-outline[aria-disabled=true]{color:var(--color-btn-outline-disabled-text);background-color:var(--color-btn-outline-disabled-bg);border-color:var(--color-btn-border);box-shadow:none}.btn-outline.disabled .Counter,.btn-outline:disabled .Counter,.btn-outline[aria-disabled=true] .Counter{background-color:var(--color-btn-outline-disabled-counter-bg)}.btn-outline:focus{border-color:var(--color-btn-outline-focus-border);box-shadow:var(--color-btn-outline-focus-shadow)}.btn-outline .Counter{color:inherit;background-color:var(--color-btn-outline-counter-bg)}.btn-danger{color:var(--color-btn-danger-text)}.btn-danger:hover,[open]>.btn-danger{color:var(--color-btn-danger-hover-text);background-color:var(--color-btn-danger-hover-bg);border-color:var(--color-btn-danger-hover-border);box-shadow:var(--color-btn-danger-hover-shadow),var(--color-btn-danger-hover-inset-shadow)}.btn-danger:hover .Counter,[open]>.btn-danger .Counter{background-color:var(--color-btn-danger-hover-counter-bg)}.btn-danger:hover .octicon,[open]>.btn-danger .octicon{color:inherit}.btn-danger.selected,.btn-danger:active,.btn-danger[aria-selected=true]{color:var(--color-btn-danger-selected-text);background-color:var(--color-btn-danger-selected-bg);border-color:var(--color-btn-danger-selected-border);box-shadow:var(--color-btn-danger-selected-shadow)}.btn-danger.disabled,.btn-danger:disabled,.btn-danger[aria-disabled=true]{color:var(--color-btn-danger-disabled-text);background-color:var(--color-btn-danger-disabled-bg);border-color:var(--color-btn-border);box-shadow:none}.btn-danger.disabled .Counter,.btn-danger:disabled .Counter,.btn-danger[aria-disabled=true] .Counter{background-color:var(--color-btn-danger-disabled-counter-bg)}.btn-danger:focus{border-color:var(--color-btn-danger-focus-border);box-shadow:var(--color-btn-danger-focus-shadow)}.btn-danger .Counter{color:inherit;background-color:var(--color-btn-danger-counter-bg)}.btn-sm{padding:3px 12px;font-size:12px;line-height:20px}.btn-sm .octicon{vertical-align:text-top}.btn-large{padding:.75em 1.5em;font-size:inherit;line-height:1.5;border-radius:.5em}.btn-block{display:block;width:100%;text-align:center}.BtnGroup{display:inline-block;vertical-align:middle}.BtnGroup:after,.BtnGroup:before{display:table;content:""}.BtnGroup:after{clear:both}.BtnGroup+.btn,.BtnGroup+.BtnGroup{margin-left:4px}.BtnGroup-item{position:relative;float:left;border-right-width:0;border-radius:0}.BtnGroup-item:first-child{border-top-left-radius:6px;border-bottom-left-radius:6px}.BtnGroup-item:last-child{border-right-width:1px;border-top-right-radius:6px;border-bottom-right-radius:6px}.BtnGroup-item.selected,.BtnGroup-item:active,.BtnGroup-item:focus,.BtnGroup-item:hover,.BtnGroup-item[aria-selected=true]{border-right-width:1px}.BtnGroup-item.selected+.BtnGroup-item,.BtnGroup-item.selected+.BtnGroup-parent .BtnGroup-item,.BtnGroup-item:active+.BtnGroup-item,.BtnGroup-item:active+.BtnGroup-parent .BtnGroup-item,.BtnGroup-item:focus+.BtnGroup-item,.BtnGroup-item:focus+.BtnGroup-parent .BtnGroup-item,.BtnGroup-item:hover+.BtnGroup-item,.BtnGroup-item:hover+.BtnGroup-parent .BtnGroup-item,.BtnGroup-item[aria-selected=true]+.BtnGroup-item,.BtnGroup-item[aria-selected=true]+.BtnGroup-parent .BtnGroup-item{border-left-width:0}.BtnGroup-parent{float:left}.BtnGroup-parent:first-child .BtnGroup-item{border-top-left-radius:6px;border-bottom-left-radius:6px}.BtnGroup-parent:last-child .BtnGroup-item{border-right-width:1px;border-top-right-radius:6px;border-bottom-right-radius:6px}.BtnGroup-parent .BtnGroup-item{border-right-width:0;border-radius:0}.BtnGroup-parent.selected .BtnGroup-item,.BtnGroup-parent:active .BtnGroup-item,.BtnGroup-parent:focus .BtnGroup-item,.BtnGroup-parent:hover .BtnGroup-item,.BtnGroup-parent[aria-selected=true] .BtnGroup-item{border-right-width:1px}.BtnGroup-parent.selected+.BtnGroup-item,.BtnGroup-parent.selected+.BtnGroup-parent .BtnGroup-item,.BtnGroup-parent:active+.BtnGroup-item,.BtnGroup-parent:active+.BtnGroup-parent .BtnGroup-item,.BtnGroup-parent:focus+.BtnGroup-item,.BtnGroup-parent:focus+.BtnGroup-parent .BtnGroup-item,.BtnGroup-parent:hover+.BtnGroup-item,.BtnGroup-parent:hover+.BtnGroup-parent .BtnGroup-item,.BtnGroup-parent[aria-selected=true]+.BtnGroup-item,.BtnGroup-parent[aria-selected=true]+.BtnGroup-parent .BtnGroup-item{border-left-width:0}.BtnGroup-item:active,.BtnGroup-item:focus,.BtnGroup-parent:active,.BtnGroup-parent:focus{z-index:1}.btn-link{display:inline-block;padding:0;font-size:inherit;color:var(--color-text-link);text-decoration:none;white-space:nowrap;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:initial;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.btn-link:hover{text-decoration:underline}.btn-link:disabled,.btn-link:disabled:hover,.btn-link[aria-disabled=true],.btn-link[aria-disabled=true]:hover{color:var(--color-text-disabled);cursor:default}.btn-invisible{color:var(--color-text-link);background-color:initial;border:0;border-radius:0;box-shadow:none}.btn-invisible.selected,.btn-invisible.zeroclipboard-is-active,.btn-invisible.zeroclipboard-is-hover,.btn-invisible:active,.btn-invisible:focus,.btn-invisible:hover,.btn-invisible[aria-selected=true]{color:var(--color-text-link);background:none;outline:none;box-shadow:none}.btn-invisible.disabled,.btn-invisible:disabled,.btn-invisible[aria-disabled=true]{background-color:initial}.btn-octicon{display:inline-block;padding:5px;margin-left:5px;line-height:1;color:var(--color-text-secondary);vertical-align:middle;background:transparent;border:0}.btn-octicon:hover{color:var(--color-text-link)}.btn-octicon.disabled,.btn-octicon[aria-disabled=true]{color:var(--color-text-disabled);cursor:default}.btn-octicon.disabled:hover,.btn-octicon[aria-disabled=true]:hover{color:var(--color-text-disabled)}.btn-octicon-danger:hover{color:var(--color-text-danger)}.close-button{padding:0;color:var(--color-text-secondary);background:transparent;border:0;outline:none}.close-button:hover{color:var(--color-text-primary)}.close-button:active{color:var(--color-text-tertiary)}.hidden-text-expander{display:block}.hidden-text-expander.inline{position:relative;top:-1px;display:inline-block;margin-left:5px;line-height:0}.ellipsis-expander,.hidden-text-expander a{display:inline-block;height:12px;padding:0 5px 5px;font-size:12px;font-weight:600;line-height:6px;color:var(--color-auto-gray-7);text-decoration:none;vertical-align:middle;background:var(--color-hidden-text-expander-bg);border:0;border-radius:1px}.ellipsis-expander:hover,.hidden-text-expander a:hover{text-decoration:none;background-color:var(--color-hidden-text-expander-bg-hover)}.ellipsis-expander:active,.hidden-text-expander a:active{color:var(--color-text-inverse);background-color:var(--color-bg-info-inverse)}.btn-with-count{float:left;border-top-right-radius:0;border-bottom-right-radius:0}.btn-with-count:focus{z-index:1}.social-count{position:relative;float:left;padding:3px 12px;font-size:12px;font-weight:600;line-height:20px;color:var(--color-text-primary);vertical-align:middle;background-color:var(--color-social-count-bg);border:1px solid var(--color-btn-border);border-left:0;border-top-right-radius:6px;border-bottom-right-radius:6px;box-shadow:var(--color-shadow-small),var(--color-shadow-highlight)}.social-count:active,.social-count:hover{text-decoration:none}.social-count:hover{color:var(--color-text-link);cursor:pointer}.social-count:focus{z-index:1;outline:0;box-shadow:var(--color-state-focus-shadow)}.TableObject{display:table}.TableObject-item{display:table-cell;width:1%;white-space:nowrap;vertical-align:middle}.TableObject-item--primary{width:99%}fieldset{padding:0;margin:0;border:0}label{font-weight:600}.form-control,.form-select{padding:5px 12px;font-size:14px;line-height:20px;color:var(--color-text-primary);vertical-align:middle;background-color:var(--color-input-bg);background-repeat:no-repeat;background-position:right 8px center;border:1px solid var(--color-input-border);border-radius:6px;outline:none;box-shadow:var(--color-shadow-inset)}.form-control.focus,.form-control:focus,.form-select.focus,.form-select:focus{border-color:var(--color-state-focus-border);outline:none;box-shadow:var(--color-state-focus-shadow)}.form-control[disabled],.form-select[disabled]{color:var(--color-text-disabled);background-color:var(--color-input-disabled-bg);border-color:var(--color-input-disabled-border)}@supports (-webkit-touch-callout:none){.form-control,.form-select{font-size:16px}@media (min-width:768px){.form-control,.form-select{font-size:14px}}}textarea.form-control{padding-top:8px;padding-bottom:8px;line-height:1.5}.input-contrast{background-color:var(--color-input-contrast-bg)}.input-contrast:focus{background-color:var(--color-input-bg)}.input-dark{color:var(--color-text-white);background-color:var(--color-fade-white-15);border-color:transparent;box-shadow:none}.input-dark:-ms-input-placeholder{color:inherit;opacity:.6}.input-dark::-ms-input-placeholder{color:inherit;opacity:.6}.input-dark::placeholder{color:inherit;opacity:.6}.input-dark.focus,.input-dark:focus{border-color:var(--color-fade-black-30);box-shadow:var(--color-state-focus-shadow)}:-ms-input-placeholder{color:var(--color-text-placeholder);opacity:1}::-ms-input-placeholder{color:var(--color-text-placeholder);opacity:1}::placeholder{color:var(--color-text-placeholder);opacity:1}.input-sm{padding-top:3px;padding-bottom:3px;font-size:12px;line-height:20px}.input-lg{font-size:16px}.input-block{display:block;width:100%}.input-monospace{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.input-hide-webkit-autofill::-webkit-contacts-auto-fill-button{position:absolute;right:0;display:none!important;pointer-events:none;visibility:hidden}.form-checkbox{padding-left:20px;margin:15px 0;vertical-align:middle}.form-checkbox label em.highlight{position:relative;left:-4px;padding:2px 4px;font-style:normal;background:var(--color-auto-yellow-1);border-radius:6px}.form-checkbox input[type=checkbox],.form-checkbox input[type=radio]{float:left;margin:5px 0 0 -20px;vertical-align:middle}.form-checkbox .note{display:block;margin:0;font-size:12px;font-weight:400;color:var(--color-text-secondary)}.form-checkbox-details{display:none}.form-checkbox-details-trigger:checked~* .form-checkbox-details,.form-checkbox-details-trigger:checked~.form-checkbox-details{display:block}.hfields{margin:15px 0}.hfields:after,.hfields:before{display:table;content:""}.hfields:after{clear:both}.hfields .form-group{float:left;margin:0 30px 0 0}.hfields .form-group .form-group-header label,.hfields .form-group dt label{display:inline-block;margin:5px 0 0;color:var(--color-text-secondary)}.hfields .form-group .form-group-header img,.hfields .form-group dt img{position:relative;top:-2px}.hfields .btn{float:left;margin:28px 25px 0 -20px}.hfields .form-select{margin-top:5px}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none;appearance:none}.form-actions:after,.form-actions:before{display:table;content:""}.form-actions:after{clear:both}.form-actions .btn{float:right}.form-actions .btn+.btn{margin-right:5px}.form-warning{padding:8px 10px;margin:10px 0;font-size:14px;color:var(--color-text-warning);background:var(--color-bg-warning);border:1px solid var(--color-border-warning);border-radius:6px}.form-warning p{margin:0;line-height:1.5}.form-warning a{font-weight:600}.form-select{display:inline-block;max-width:100%;height:32px;padding-right:24px;background-color:var(--color-bg-primary);background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9IiM1ODYwNjkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTQuNDI3IDkuNDI3bDMuMzk2IDMuMzk2YS4yNTEuMjUxIDAgMDAuMzU0IDBsMy4zOTYtMy4zOTZBLjI1LjI1IDAgMDAxMS4zOTYgOUg0LjYwNGEuMjUuMjUgMCAwMC0uMTc3LjQyN3pNNC40MjMgNi40N0w3LjgyIDMuMDcyYS4yNS4yNSAwIDAxLjM1NCAwTDExLjU3IDYuNDdhLjI1LjI1IDAgMDEtLjE3Ny40MjdINC42YS4yNS4yNSAwIDAxLS4xNzctLjQyN3oiLz48L3N2Zz4=");background-repeat:no-repeat;background-position:right 4px center;background-size:16px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-select::-ms-expand{opacity:0}.form-select[multiple]{height:auto}[data-color-mode=dark] .form-select{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9IiM2ZTc2ODEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTQuNDI3IDkuNDI3bDMuMzk2IDMuMzk2YS4yNTEuMjUxIDAgMDAuMzU0IDBsMy4zOTYtMy4zOTZBLjI1LjI1IDAgMDAxMS4zOTYgOUg0LjYwNGEuMjUuMjUgMCAwMC0uMTc3LjQyN3pNNC40MjMgNi40N0w3LjgyIDMuMDcyYS4yNS4yNSAwIDAxLjM1NCAwTDExLjU3IDYuNDdhLjI1LjI1IDAgMDEtLjE3Ny40MjdINC42YS4yNS4yNSAwIDAxLS4xNzctLjQyN3oiLz48L3N2Zz4=")}@media (prefers-color-scheme:dark){[data-color-mode=auto] .form-select{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIGZpbGw9IiM2ZTc2ODEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTQuNDI3IDkuNDI3bDMuMzk2IDMuMzk2YS4yNTEuMjUxIDAgMDAuMzU0IDBsMy4zOTYtMy4zOTZBLjI1LjI1IDAgMDAxMS4zOTYgOUg0LjYwNGEuMjUuMjUgMCAwMC0uMTc3LjQyN3pNNC40MjMgNi40N0w3LjgyIDMuMDcyYS4yNS4yNSAwIDAxLjM1NCAwTDExLjU3IDYuNDdhLjI1LjI1IDAgMDEtLjE3Ny40MjdINC42YS4yNS4yNSAwIDAxLS4xNzctLjQyN3oiLz48L3N2Zz4=")}}.select-sm{height:28px;padding-top:3px;padding-bottom:3px;font-size:12px}.select-sm[multiple]{height:auto;min-height:0}.form-group{margin:15px 0}.form-group .form-control{width:440px;max-width:100%;margin-right:5px;background-color:var(--color-input-contrast-bg)}.form-group .form-control:focus{background-color:var(--color-input-bg)}.form-group .form-control.shorter{width:130px}.form-group .form-control.short{width:250px}.form-group .form-control.long{width:100%}.form-group textarea.form-control{width:100%;height:200px;min-height:200px}.form-group textarea.form-control.short{height:50px;min-height:50px}.form-group .form-group-header,.form-group dt{margin:0 0 6px}.form-group label{position:relative}.form-group.flattened .form-group-header,.form-group.flattened dt{float:left;margin:0;line-height:32px}.form-group.flattened .form-group-body,.form-group.flattened dd{line-height:32px}.form-group .form-group-body h4,.form-group dd h4{margin:4px 0 0}.form-group .form-group-body h4.is-error,.form-group dd h4.is-error{color:var(--color-text-danger)}.form-group .form-group-body h4.is-success,.form-group dd h4.is-success{color:var(--color-text-success)}.form-group .form-group-body h4+.note,.form-group dd h4+.note{margin-top:0}.form-group.required .form-group-header label:after,.form-group.required dt label:after{padding-left:5px;color:var(--color-text-danger);content:"*"}.form-group .error,.form-group .indicator,.form-group .success{display:none;font-size:12px;font-weight:600}.form-group.loading{opacity:.5}.form-group.loading .indicator{display:inline}.form-group.loading .spinner{display:inline-block;vertical-align:middle}.form-group.successful .success{display:inline;color:var(--color-text-success)}.form-group.errored .error,.form-group.errored .success,.form-group.errored .warning,.form-group.successed .error,.form-group.successed .success,.form-group.successed .warning,.form-group.warn .error,.form-group.warn .success,.form-group.warn .warning{position:absolute;z-index:10;display:block;max-width:450px;padding:4px 8px;margin:8px 0 0;font-size:12px;font-weight:400;border-style:solid;border-width:1px;border-radius:6px}.form-group.errored .error:after,.form-group.errored .error:before,.form-group.errored .success:after,.form-group.errored .success:before,.form-group.errored .warning:after,.form-group.errored .warning:before,.form-group.successed .error:after,.form-group.successed .error:before,.form-group.successed .success:after,.form-group.successed .success:before,.form-group.successed .warning:after,.form-group.successed .warning:before,.form-group.warn .error:after,.form-group.warn .error:before,.form-group.warn .success:after,.form-group.warn .success:before,.form-group.warn .warning:after,.form-group.warn .warning:before{position:absolute;bottom:100%;left:10px;z-index:15;width:0;height:0;pointer-events:none;content:" ";border:solid transparent}.form-group.errored .error:after,.form-group.errored .success:after,.form-group.errored .warning:after,.form-group.successed .error:after,.form-group.successed .success:after,.form-group.successed .warning:after,.form-group.warn .error:after,.form-group.warn .success:after,.form-group.warn .warning:after{border-width:5px}.form-group.errored .error:before,.form-group.errored .success:before,.form-group.errored .warning:before,.form-group.successed .error:before,.form-group.successed .success:before,.form-group.successed .warning:before,.form-group.warn .error:before,.form-group.warn .success:before,.form-group.warn .warning:before{margin-left:-1px;border-width:6px}.form-group.successed .success{color:var(--color-input-tooltip-success-text);background-color:var(--color-input-tooltip-success-bg);border-color:var(--color-input-tooltip-success-border)}.form-group.successed .success:after{border-bottom-color:var(--color-input-tooltip-success-bg)}.form-group.successed .success:before{border-bottom-color:var(--color-input-tooltip-success-border)}.form-group.warn .form-control{border-color:var(--color-input-warning-border)}.form-group.warn .warning{color:var(--color-input-tooltip-warning-text);background-color:var(--color-input-tooltip-warning-bg);border-color:var(--color-input-tooltip-warning-border)}.form-group.warn .warning:after{border-bottom-color:var(--color-input-tooltip-warning-bg)}.form-group.warn .warning:before{border-bottom-color:var(--color-input-tooltip-warning-border)}.form-group.errored .form-control{border-color:var(--color-input-error-border)}.form-group.errored label{color:var(--color-text-danger)}.form-group.errored .error{color:var(--color-input-tooltip-error-text);background-color:var(--color-input-tooltip-error-bg);border-color:var(--color-input-tooltip-error-border)}.form-group.errored .error:after{border-bottom-color:var(--color-input-tooltip-error-bg)}.form-group.errored .error:before{border-bottom-color:var(--color-input-tooltip-error-border)}.note{min-height:17px;margin:4px 0 2px;font-size:12px;color:var(--color-text-secondary)}.note .spinner{margin-right:3px;vertical-align:middle}.form-group>.form-group-body .form-control.is-autocheck-errored,.form-group>.form-group-body .form-control.is-autocheck-loading,.form-group>.form-group-body .form-control.is-autocheck-successful,dl.form-group>dd .form-control.is-autocheck-errored,dl.form-group>dd .form-control.is-autocheck-loading,dl.form-group>dd .form-control.is-autocheck-successful{padding-right:30px}.form-group>.form-group-body .form-control.is-autocheck-loading,dl.form-group>dd .form-control.is-autocheck-loading{background-image:url(/images/spinners/octocat-spinner-16px.gif)}.form-group>.form-group-body .form-control.is-autocheck-successful,dl.form-group>dd .form-control.is-autocheck-successful{background-image:url(/images/modules/ajax/success.png)}.form-group>.form-group-body .form-control.is-autocheck-errored,dl.form-group>dd .form-control.is-autocheck-errored{background-image:url(/images/modules/ajax/error.png)}@media only screen and (-moz-min-device-pixel-ratio:2),only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:2dppx),only screen and (min-resolution:192dpi){.form-group>.form-group-body .form-control.is-autocheck-errored,.form-group>.form-group-body .form-control.is-autocheck-loading,.form-group>.form-group-body .form-control.is-autocheck-successful,dl.form-group>dd .form-control.is-autocheck-errored,dl.form-group>dd .form-control.is-autocheck-loading,dl.form-group>dd .form-control.is-autocheck-successful{background-size:16px 16px}.form-group>.form-group-body .form-control.is-autocheck-loading,dl.form-group>dd .form-control.is-autocheck-loading{background-image:url(/images/spinners/octocat-spinner-32.gif)}.form-group>.form-group-body .form-control.is-autocheck-successful,dl.form-group>dd .form-control.is-autocheck-successful{background-image:url(/images/modules/ajax/success@2x.png)}.form-group>.form-group-body .form-control.is-autocheck-errored,dl.form-group>dd .form-control.is-autocheck-errored{background-image:url(/images/modules/ajax/error@2x.png)}}.status-indicator{display:inline-block;width:16px;height:16px;margin-left:5px}.status-indicator .octicon{display:none}.status-indicator-success:before{content:""}.status-indicator-success .octicon-check{display:inline-block;color:var(--color-text-success);fill:var(--color-icon-success)}.status-indicator-success .octicon-x{display:none}.status-indicator-failed:before{content:""}.status-indicator-failed .octicon-check{display:none}.status-indicator-failed .octicon-x{display:inline-block;color:var(--color-text-danger);fill:var(--color-icon-danger)}.status-indicator-loading{width:16px;background-image:url(/images/spinners/octocat-spinner-32-EAF2F5.gif);background-repeat:no-repeat;background-position:0 0;background-size:16px}.inline-form{display:inline-block}.inline-form .btn-plain{background-color:initial;border:0}.drag-and-drop{padding:7px 10px;margin:0;font-size:13px;line-height:16px;color:var(--color-text-secondary);background-color:var(--color-bg-secondary);border:1px solid var(--color-drag-and-drop-border);border-top:0;border-bottom-right-radius:6px;border-bottom-left-radius:6px}.drag-and-drop .default,.drag-and-drop .error,.drag-and-drop .loading{display:none}.drag-and-drop .error{color:var(--color-text-danger)}.drag-and-drop img{vertical-align:top}.is-bad-file .drag-and-drop .bad-file,.is-bad-permissions .drag-and-drop .bad-permissions,.is-default .drag-and-drop .default,.is-duplicate-filename .drag-and-drop .duplicate-filename,.is-empty .drag-and-drop .empty,.is-hidden-file .drag-and-drop .hidden-file,.is-repository-required .drag-and-drop .repository-required,.is-too-big .drag-and-drop .too-big,.is-uploading .drag-and-drop .loading{display:inline-block}.drag-and-drop-error-info{font-weight:400;color:var(--color-text-secondary)}.drag-and-drop-error-info a{color:var(--color-text-link)}.is-failed .drag-and-drop .failed-request{display:inline-block}.manual-file-chooser{position:absolute;width:240px;padding:5px;margin-left:-80px;cursor:pointer;opacity:.0001}.manual-file-chooser:hover+.manual-file-chooser-text{text-decoration:underline}.btn .manual-file-chooser{top:0;padding:0;line-height:34px}.upload-enabled textarea{display:block;border-bottom:1px dashed var(--color-upload-enabled-border);border-bottom-right-radius:0;border-bottom-left-radius:0}.upload-enabled.focused{border-radius:6px;box-shadow:var(--color-input-shadow),var(--color-state-focus-shadow)}.upload-enabled.focused .form-control{box-shadow:none}.upload-enabled.focused .drag-and-drop{border-color:var(--color-upload-enabled-border-focused)}.dragover .drag-and-drop,.dragover textarea{box-shadow:0 0 3px #c9ff00}.previewable-comment-form,.write-content{position:relative}.previewable-comment-form .tabnav{position:relative;padding:8px 8px 0}.previewable-comment-form .comment{border:1px solid var(--color-previewable-comment-form-border)}.previewable-comment-form .comment-form-error{margin-bottom:8px}.previewable-comment-form .preview-content,.previewable-comment-form .write-content{display:none;margin:0 8px 8px}.previewable-comment-form.preview-selected .preview-content,.previewable-comment-form.write-selected .write-content{display:block}.previewable-comment-form textarea{display:block;width:100%;min-height:100px;max-height:500px;padding:8px;resize:vertical}.form-action-spacious{margin-top:10px}div.composer{margin-top:0;border:0}.composer .comment-form-textarea{height:200px;min-height:200px}.composer .tabnav{margin:0 0 10px}h2.account{margin:15px 0 0;font-size:18px;font-weight:400}h2.account,p.explain{color:var(--color-text-secondary)}p.explain{position:relative;font-size:12px}p.explain strong{color:var(--color-text-primary)}p.explain .octicon{margin-right:5px;color:var(--color-icon-tertiary)}p.explain .minibutton{top:-4px;float:right}.form-group label{position:static}.input-group{display:table}.input-group .form-control{position:relative;width:100%}.input-group .form-control:focus{z-index:2}.input-group .form-control+.btn{margin-left:0}.input-group.inline{display:inline-table}.input-group-button,.input-group .form-control{display:table-cell}.input-group-button{width:1%;vertical-align:middle}.input-group-button:first-child .btn,.input-group .form-control:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-button:first-child .btn{margin-right:-1px}.input-group-button:last-child .btn,.input-group .form-control:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-button:last-child .btn{margin-left:-1px}.radio-group:after,.radio-group:before{display:table;content:""}.radio-group:after{clear:both}.radio-label{float:left;padding:6px 16px 6px 36px;margin-left:-1px;font-size:14px;line-height:20px;color:var(--color-text-primary);cursor:pointer;border:1px solid var(--color-border-primary)}:checked+.radio-label{position:relative;z-index:1;border-color:var(--color-border-info)}.radio-label:first-of-type{margin-left:0;border-top-left-radius:6px;border-bottom-left-radius:6px}.radio-label:last-of-type{border-top-right-radius:6px;border-bottom-right-radius:6px}.radio-input{z-index:3;float:left;margin:10px -32px 0 16px}.container-sm{max-width:544px}.container-md,.container-sm{margin-right:auto;margin-left:auto}.container-md{max-width:768px}.container-lg{max-width:1012px}.container-lg,.container-xl{margin-right:auto;margin-left:auto}.container-xl{max-width:1280px}.col-1{width:8.33333%}.col-2{width:16.66667%}.col-3{width:25%}.col-4{width:33.33333%}.col-5{width:41.66667%}.col-6{width:50%}.col-7{width:58.33333%}.col-8{width:66.66667%}.col-9{width:75%}.col-10{width:83.33333%}.col-11{width:91.66667%}.col-12{width:100%}@media (min-width:544px){.col-sm-1{width:8.33333%}.col-sm-2{width:16.66667%}.col-sm-3{width:25%}.col-sm-4{width:33.33333%}.col-sm-5{width:41.66667%}.col-sm-6{width:50%}.col-sm-7{width:58.33333%}.col-sm-8{width:66.66667%}.col-sm-9{width:75%}.col-sm-10{width:83.33333%}.col-sm-11{width:91.66667%}.col-sm-12{width:100%}}@media (min-width:768px){.col-md-1{width:8.33333%}.col-md-2{width:16.66667%}.col-md-3{width:25%}.col-md-4{width:33.33333%}.col-md-5{width:41.66667%}.col-md-6{width:50%}.col-md-7{width:58.33333%}.col-md-8{width:66.66667%}.col-md-9{width:75%}.col-md-10{width:83.33333%}.col-md-11{width:91.66667%}.col-md-12{width:100%}}@media (min-width:1012px){.col-lg-1{width:8.33333%}.col-lg-2{width:16.66667%}.col-lg-3{width:25%}.col-lg-4{width:33.33333%}.col-lg-5{width:41.66667%}.col-lg-6{width:50%}.col-lg-7{width:58.33333%}.col-lg-8{width:66.66667%}.col-lg-9{width:75%}.col-lg-10{width:83.33333%}.col-lg-11{width:91.66667%}.col-lg-12{width:100%}}@media (min-width:1280px){.col-xl-1{width:8.33333%}.col-xl-2{width:16.66667%}.col-xl-3{width:25%}.col-xl-4{width:33.33333%}.col-xl-5{width:41.66667%}.col-xl-6{width:50%}.col-xl-7{width:58.33333%}.col-xl-8{width:66.66667%}.col-xl-9{width:75%}.col-xl-10{width:83.33333%}.col-xl-11{width:91.66667%}.col-xl-12{width:100%}}.gutter{margin-right:-16px;margin-left:-16px}.gutter>[class*=col-]{padding-right:16px!important;padding-left:16px!important}.gutter-condensed{margin-right:-8px;margin-left:-8px}.gutter-condensed>[class*=col-]{padding-right:8px!important;padding-left:8px!important}.gutter-spacious{margin-right:-24px;margin-left:-24px}.gutter-spacious>[class*=col-]{padding-right:24px!important;padding-left:24px!important}@media (min-width:544px){.gutter-sm{margin-right:-16px;margin-left:-16px}.gutter-sm>[class*=col-]{padding-right:16px!important;padding-left:16px!important}.gutter-sm-condensed{margin-right:-8px;margin-left:-8px}.gutter-sm-condensed>[class*=col-]{padding-right:8px!important;padding-left:8px!important}.gutter-sm-spacious{margin-right:-24px;margin-left:-24px}.gutter-sm-spacious>[class*=col-]{padding-right:24px!important;padding-left:24px!important}}@media (min-width:768px){.gutter-md{margin-right:-16px;margin-left:-16px}.gutter-md>[class*=col-]{padding-right:16px!important;padding-left:16px!important}.gutter-md-condensed{margin-right:-8px;margin-left:-8px}.gutter-md-condensed>[class*=col-]{padding-right:8px!important;padding-left:8px!important}.gutter-md-spacious{margin-right:-24px;margin-left:-24px}.gutter-md-spacious>[class*=col-]{padding-right:24px!important;padding-left:24px!important}}@media (min-width:1012px){.gutter-lg{margin-right:-16px;margin-left:-16px}.gutter-lg>[class*=col-]{padding-right:16px!important;padding-left:16px!important}.gutter-lg-condensed{margin-right:-8px;margin-left:-8px}.gutter-lg-condensed>[class*=col-]{padding-right:8px!important;padding-left:8px!important}.gutter-lg-spacious{margin-right:-24px;margin-left:-24px}.gutter-lg-spacious>[class*=col-]{padding-right:24px!important;padding-left:24px!important}}@media (min-width:1280px){.gutter-xl{margin-right:-16px;margin-left:-16px}.gutter-xl>[class*=col-]{padding-right:16px!important;padding-left:16px!important}.gutter-xl-condensed{margin-right:-8px;margin-left:-8px}.gutter-xl-condensed>[class*=col-]{padding-right:8px!important;padding-left:8px!important}.gutter-xl-spacious{margin-right:-24px;margin-left:-24px}.gutter-xl-spacious>[class*=col-]{padding-right:24px!important;padding-left:24px!important}}.offset-1{margin-left:8.33333%!important}.offset-2{margin-left:16.66667%!important}.offset-3{margin-left:25%!important}.offset-4{margin-left:33.33333%!important}.offset-5{margin-left:41.66667%!important}.offset-6{margin-left:50%!important}.offset-7{margin-left:58.33333%!important}.offset-8{margin-left:66.66667%!important}.offset-9{margin-left:75%!important}.offset-10{margin-left:83.33333%!important}.offset-11{margin-left:91.66667%!important}@media (min-width:544px){.offset-sm-1{margin-left:8.33333%!important}.offset-sm-2{margin-left:16.66667%!important}.offset-sm-3{margin-left:25%!important}.offset-sm-4{margin-left:33.33333%!important}.offset-sm-5{margin-left:41.66667%!important}.offset-sm-6{margin-left:50%!important}.offset-sm-7{margin-left:58.33333%!important}.offset-sm-8{margin-left:66.66667%!important}.offset-sm-9{margin-left:75%!important}.offset-sm-10{margin-left:83.33333%!important}.offset-sm-11{margin-left:91.66667%!important}}@media (min-width:768px){.offset-md-1{margin-left:8.33333%!important}.offset-md-2{margin-left:16.66667%!important}.offset-md-3{margin-left:25%!important}.offset-md-4{margin-left:33.33333%!important}.offset-md-5{margin-left:41.66667%!important}.offset-md-6{margin-left:50%!important}.offset-md-7{margin-left:58.33333%!important}.offset-md-8{margin-left:66.66667%!important}.offset-md-9{margin-left:75%!important}.offset-md-10{margin-left:83.33333%!important}.offset-md-11{margin-left:91.66667%!important}}@media (min-width:1012px){.offset-lg-1{margin-left:8.33333%!important}.offset-lg-2{margin-left:16.66667%!important}.offset-lg-3{margin-left:25%!important}.offset-lg-4{margin-left:33.33333%!important}.offset-lg-5{margin-left:41.66667%!important}.offset-lg-6{margin-left:50%!important}.offset-lg-7{margin-left:58.33333%!important}.offset-lg-8{margin-left:66.66667%!important}.offset-lg-9{margin-left:75%!important}.offset-lg-10{margin-left:83.33333%!important}.offset-lg-11{margin-left:91.66667%!important}}@media (min-width:1280px){.offset-xl-1{margin-left:8.33333%!important}.offset-xl-2{margin-left:16.66667%!important}.offset-xl-3{margin-left:25%!important}.offset-xl-4{margin-left:33.33333%!important}.offset-xl-5{margin-left:41.66667%!important}.offset-xl-6{margin-left:50%!important}.offset-xl-7{margin-left:58.33333%!important}.offset-xl-8{margin-left:66.66667%!important}.offset-xl-9{margin-left:75%!important}.offset-xl-10{margin-left:83.33333%!important}.offset-xl-11{margin-left:91.66667%!important}}.Link{color:var(--color-text-link)}.Link:hover{text-decoration:underline;cursor:pointer}.Link--primary,.link-gray-dark{color:var(--color-text-primary)!important}.Link--primary:hover,.link-gray-dark:hover{color:var(--color-text-link)!important}.Link--secondary,.link-gray{color:var(--color-text-secondary)!important}.Link--secondary:hover,.link-gray:hover{color:var(--color-text-link)!important}.Link--muted,.muted-link{color:var(--color-text-secondary)!important}.Link--muted:hover,.muted-link:hover{color:var(--color-text-link)!important;text-decoration:none}.Link--onHover:hover,.link-hover-blue:hover{color:var(--color-text-link)!important;text-decoration:underline;cursor:pointer}.menu{margin-bottom:16px;list-style:none;background-color:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:6px}.menu-item{position:relative;display:block;padding:8px 16px;color:var(--color-text-primary);border-bottom:1px solid var(--color-border-secondary)}.menu-item:first-child{border-top:0;border-top-right-radius:6px}.menu-item:first-child,.menu-item:first-child:before{border-top-left-radius:6px}.menu-item:last-child{border-bottom:0;border-bottom-right-radius:6px}.menu-item:last-child,.menu-item:last-child:before{border-bottom-left-radius:6px}.menu-item:focus,.menu-item:hover{text-decoration:none;background-color:var(--color-state-hover-secondary-bg);outline:none}.menu-item:active{background-color:var(--color-bg-secondary)}.menu-item.selected,.menu-item[aria-current]:not([aria-current=false]),.menu-item[aria-selected=true]{cursor:default;background-color:var(--color-menu-bg-active)}.menu-item.selected:before,.menu-item[aria-current]:not([aria-current=false]):before,.menu-item[aria-selected=true]:before{position:absolute;top:0;bottom:0;left:0;width:2px;content:"";background-color:var(--color-menu-border-active)}.menu-item .octicon{width:16px;margin-right:8px;color:var(--color-icon-tertiary);text-align:center}.menu-item .Counter{float:right;margin-left:4px}.menu-item .menu-warning{float:right;color:var(--color-auto-red-9)}.menu-item .avatar{float:left;margin-right:4px}.menu-item.alert .Counter{color:var(--color-text-danger)}.menu-heading{display:block;padding:8px 16px;margin-top:0;margin-bottom:0;font-size:inherit;font-weight:600;color:var(--color-menu-heading-text);border-bottom:1px solid var(--color-border-secondary)}.menu-heading:hover{text-decoration:none}.menu-heading:first-child{border-top-left-radius:6px;border-top-right-radius:6px}.menu-heading:last-child{border-bottom:0;border-bottom-right-radius:6px;border-bottom-left-radius:6px}.tabnav{margin-top:0;margin-bottom:16px;border-bottom:1px solid var(--color-border-primary)}.tabnav-tabs{display:flex;margin-bottom:-1px;overflow:auto}.tabnav-tab{display:inline-block;flex-shrink:0;padding:8px 16px;font-size:14px;line-height:23px;color:var(--color-text-secondary);text-decoration:none;background-color:initial;border:1px solid transparent;border-bottom:0;transition:color .2s cubic-bezier(.3,0,.5,1)}.tabnav-tab.selected,.tabnav-tab[aria-current]:not([aria-current=false]),.tabnav-tab[aria-selected=true]{color:var(--color-text-primary);background-color:var(--color-bg-canvas);border-color:var(--color-border-primary);border-radius:6px 6px 0 0}.tabnav-tab.selected .octicon,.tabnav-tab[aria-current]:not([aria-current=false]) .octicon,.tabnav-tab[aria-selected=true] .octicon{color:inherit}.tabnav-tab:focus,.tabnav-tab:hover{color:var(--color-text-primary);text-decoration:none;transition-duration:.1s}.tabnav-tab:active{color:var(--color-text-tertiary)}.tabnav-tab .octicon{margin-right:4px;color:var(--color-icon-tertiary)}.tabnav-tab .Counter{margin-left:4px;color:inherit}.tabnav-extra{display:inline-block;padding-top:10px;margin-left:10px;font-size:12px;color:var(--color-text-secondary)}.tabnav-extra>.octicon{margin-right:2px}a.tabnav-extra:hover{color:var(--color-text-link);text-decoration:none}.tabnav-btn{margin-left:8px}.filter-list{list-style-type:none}.filter-list.small .filter-item{padding:6px 12px;font-size:12px}.filter-list.pjax-active .filter-item{color:var(--color-text-secondary);background-color:initial}.filter-list.pjax-active .filter-item.pjax-active{color:var(--color-text-inverse);background-color:var(--color-bg-info-inverse)}.filter-item{position:relative;display:block;padding:8px 16px;margin-bottom:4px;overflow:hidden;font-size:14px;color:var(--color-text-secondary);text-decoration:none;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border-radius:6px}.filter-item:hover{text-decoration:none;background-color:var(--color-bg-tertiary)}.filter-item.selected,.filter-item[aria-current]:not([aria-current=false]),.filter-item[aria-selected=true]{color:var(--color-state-selected-primary-text);background-color:var(--color-state-selected-primary-bg)}.filter-item .count{float:right;font-weight:600}.filter-item .bar{position:absolute;top:2px;right:0;bottom:2px;z-index:-1;display:inline-block;background-color:var(--color-filter-item-bar-bg)}.SideNav{background-color:var(--color-bg-secondary)}.SideNav-item{position:relative;display:block;width:100%;padding:12px 16px;color:var(--color-text-primary);text-align:left;background-color:initial;border:0;border-top:1px solid var(--color-border-secondary)}.SideNav-item:first-child{border-top:0}.SideNav-item:last-child{box-shadow:0 1px 0 var(--color-border-primary)}.SideNav-item:before{position:absolute;top:0;bottom:0;left:0;z-index:1;width:2px;pointer-events:none;content:""}.SideNav-item:focus,.SideNav-item:hover{text-decoration:none;background-color:var(--color-state-hover-secondary-bg);outline:none}.SideNav-item:active{background-color:var(--color-bg-secondary)}.SideNav-item[aria-current]:not([aria-current=false]),.SideNav-item[aria-selected=true]{background-color:var(--color-sidenav-selected-bg)}.SideNav-item[aria-current]:not([aria-current=false]):before,.SideNav-item[aria-selected=true]:before{background-color:var(--color-sidenav-border-active)}.SideNav-icon{width:16px;margin-right:8px;color:var(--color-text-tertiary)}.SideNav-subItem{position:relative;display:block;width:100%;padding:4px 0;color:var(--color-text-link);text-align:left;background-color:initial;border:0}.SideNav-subItem:focus,.SideNav-subItem:hover{color:var(--color-text-primary);text-decoration:none;outline:none}.SideNav-subItem[aria-current]:not([aria-current=false]),.SideNav-subItem[aria-selected=true]{font-weight:500;color:var(--color-text-primary)}.subnav{margin-bottom:20px}.subnav:after,.subnav:before{display:table;content:""}.subnav:after{clear:both}.subnav-bordered{padding-bottom:20px;border-bottom:1px solid var(--color-border-secondary)}.subnav-flush{margin-bottom:0}.subnav-item{position:relative;float:left;padding:5px 16px;font-weight:500;line-height:20px;color:var(--color-text-primary);border:1px solid var(--color-border-primary)}.subnav-item+.subnav-item{margin-left:-1px}.subnav-item:focus,.subnav-item:hover{text-decoration:none;background-color:var(--color-bg-tertiary)}.subnav-item.selected,.subnav-item[aria-current]:not([aria-current=false]),.subnav-item[aria-selected=true]{z-index:2;color:var(--color-state-selected-primary-text);background-color:var(--color-state-selected-primary-bg);border-color:var(--color-state-selected-primary-border)}.subnav-item:first-child{border-top-left-radius:6px;border-bottom-left-radius:6px}.subnav-item:last-child{border-top-right-radius:6px;border-bottom-right-radius:6px}.subnav-search{position:relative;margin-left:12px}.subnav-search-input{width:320px;padding-left:32px;color:var(--color-text-secondary)}.subnav-search-input-wide{width:500px}.subnav-search-icon{position:absolute;top:9px;left:8px;display:block;color:var(--color-icon-tertiary);text-align:center;pointer-events:none}.subnav-search-context .btn{border-top-right-radius:0;border-bottom-right-radius:0}.subnav-search-context .btn.selected,.subnav-search-context .btn:active,.subnav-search-context .btn:focus,.subnav-search-context .btn:hover{z-index:2}.subnav-search-context+.subnav-search{margin-left:-1px}.subnav-search-context+.subnav-search .subnav-search-input{border-top-left-radius:0;border-bottom-left-radius:0}.subnav-search-context .select-menu-modal-holder{z-index:30}.subnav-search-context .select-menu-modal{width:220px}.subnav-search-context .select-menu-item-icon{color:inherit}.subnav-spacer-right{padding-right:12px}.UnderlineNav{display:flex;overflow-x:auto;overflow-y:hidden;box-shadow:inset 0 -1px 0 var(--color-border-secondary);justify-content:space-between}.UnderlineNav-body{display:flex}.UnderlineNav-item{padding:8px 16px;font-size:14px;line-height:30px;color:var(--color-underlinenav-text);text-align:center;white-space:nowrap;background-color:initial;border:0;border-bottom:2px solid transparent;transition:border-bottom-color .36s ease-in}.UnderlineNav-item:focus,.UnderlineNav-item:hover{color:var(--color-underlinenav-text-hover);text-decoration:none;border-bottom-color:var(--color-border-tertiary);outline:1px dotted transparent;outline-offset:-1px;transition-timing-function:ease-out;transition-duration:.12s}.UnderlineNav-item.selected,.UnderlineNav-item[aria-current]:not([aria-current=false]),.UnderlineNav-item[role=tab][aria-selected=true]{font-weight:600;color:var(--color-underlinenav-text-active);border-bottom-color:#f9826c;outline:1px dotted transparent;outline-offset:-1px}.UnderlineNav-item.selected .UnderlineNav-octicon,.UnderlineNav-item[aria-current]:not([aria-current=false]) .UnderlineNav-octicon,.UnderlineNav-item[role=tab][aria-selected=true] .UnderlineNav-octicon{color:var(--color-text-tertiary)}.UnderlineNav--right{justify-content:flex-end}.UnderlineNav--right .UnderlineNav-actions{flex:1 1 auto}.UnderlineNav-actions{align-self:center}.UnderlineNav--full{display:block}.UnderlineNav-octicon{margin-right:4px;color:var(--color-underlinenav-icon)}.UnderlineNav .Counter{margin-left:4px;color:var(--color-underlinenav-counter-text)}.UnderlineNav .Counter--primary{color:var(--color-counter-primary-text)}.UnderlineNav-container{display:flex;justify-content:space-between}.pagination a,.pagination em,.pagination span{display:inline-block;min-width:32px;padding:5px 10px;font-style:normal;line-height:20px;color:var(--color-text-primary);text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;border-radius:6px;transition:border-color .2s cubic-bezier(.3,0,.5,1)}.pagination a:focus,.pagination a:hover,.pagination em:focus,.pagination em:hover,.pagination span:focus,.pagination span:hover{text-decoration:none;border-color:var(--color-border-primary);outline:0;transition-duration:.1s}.pagination a:active,.pagination em:active,.pagination span:active{border-color:var(--color-border-secondary);transition:none}.pagination .next_page,.pagination .previous_page{color:var(--color-text-link)}.pagination .current,.pagination .current:hover,.pagination [aria-current]:not([aria-current=false]){color:var(--color-state-selected-primary-text);background-color:var(--color-state-selected-primary-bg);border-color:transparent}.pagination .disabled,.pagination .disabled:hover,.pagination .gap,.pagination .gap:hover,.pagination [aria-disabled=true],.pagination [aria-disabled=true]:hover{color:var(--color-text-disabled);cursor:default;border-color:transparent}@supports ((-webkit-clip-path:polygon(50% 0,100% 50%,50% 100%)) or (clip-path:polygon(50% 0,100% 50%,50% 100%))){.pagination .next_page:after,.pagination .previous_page:before{display:inline-block;width:16px;height:16px;vertical-align:text-bottom;content:"";background-color:currentColor}.pagination .previous_page:before{margin-right:4px;-webkit-clip-path:polygon(9.8px 12.8px,8.7px 12.8px,4.5px 8.5px,4.5px 7.5px,8.7px 3.2px,9.8px 4.3px,6.1px 8px,9.8px 11.7px,9.8px 12.8px);clip-path:polygon(9.8px 12.8px,8.7px 12.8px,4.5px 8.5px,4.5px 7.5px,8.7px 3.2px,9.8px 4.3px,6.1px 8px,9.8px 11.7px,9.8px 12.8px)}.pagination .next_page:after{margin-left:4px;-webkit-clip-path:polygon(6.2px 3.2px,7.3px 3.2px,11.5px 7.5px,11.5px 8.5px,7.3px 12.8px,6.2px 11.7px,9.9px 8px,6.2px 4.3px,6.2px 3.2px);clip-path:polygon(6.2px 3.2px,7.3px 3.2px,11.5px 7.5px,11.5px 8.5px,7.3px 12.8px,6.2px 11.7px,9.9px 8px,6.2px 4.3px,6.2px 3.2px)}}.paginate-container{margin-top:16px;margin-bottom:16px;text-align:center}.paginate-container .pagination{display:inline-block}.tooltipped{position:relative}.tooltipped:after{z-index:1000000;padding:.5em .75em;font:normal normal 11px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;-webkit-font-smoothing:subpixel-antialiased;color:var(--color-tooltip-text);text-align:center;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-wrap:break-word;white-space:pre;content:attr(aria-label);background:var(--color-tooltip-bg);border-radius:6px}.tooltipped:after,.tooltipped:before{position:absolute;display:none;pointer-events:none;opacity:0}.tooltipped:before{z-index:1000001;width:0;height:0;color:var(--color-tooltip-bg);content:"";border:6px solid transparent}@keyframes tooltip-appear{0%{opacity:0}to{opacity:1}}.tooltipped:active:after,.tooltipped:active:before,.tooltipped:focus:after,.tooltipped:focus:before,.tooltipped:hover:after,.tooltipped:hover:before{display:inline-block;text-decoration:none;animation-name:tooltip-appear;animation-duration:.1s;animation-fill-mode:forwards;animation-timing-function:ease-in;animation-delay:.4s}.tooltipped-no-delay:active:after,.tooltipped-no-delay:active:before,.tooltipped-no-delay:focus:after,.tooltipped-no-delay:focus:before,.tooltipped-no-delay:hover:after,.tooltipped-no-delay:hover:before{animation-delay:0s}.tooltipped-multiline:active:after,.tooltipped-multiline:focus:after,.tooltipped-multiline:hover:after{display:table-cell}.tooltipped-s:after,.tooltipped-se:after,.tooltipped-sw:after{top:100%;right:50%;margin-top:6px}.tooltipped-s:before,.tooltipped-se:before,.tooltipped-sw:before{top:auto;right:50%;bottom:-7px;margin-right:-6px;border-bottom-color:var(--color-tooltip-bg)}.tooltipped-se:after{right:auto;left:50%;margin-left:-16px}.tooltipped-sw:after{margin-right:-16px}.tooltipped-n:after,.tooltipped-ne:after,.tooltipped-nw:after{right:50%;bottom:100%;margin-bottom:6px}.tooltipped-n:before,.tooltipped-ne:before,.tooltipped-nw:before{top:-7px;right:50%;bottom:auto;margin-right:-6px;border-top-color:var(--color-tooltip-bg)}.tooltipped-ne:after{right:auto;left:50%;margin-left:-16px}.tooltipped-nw:after{margin-right:-16px}.tooltipped-n:after,.tooltipped-s:after{transform:translateX(50%)}.tooltipped-w:after{right:100%;bottom:50%;margin-right:6px;transform:translateY(50%)}.tooltipped-w:before{top:50%;bottom:50%;left:-7px;margin-top:-6px;border-left-color:var(--color-tooltip-bg)}.tooltipped-e:after{bottom:50%;left:100%;margin-left:6px;transform:translateY(50%)}.tooltipped-e:before{top:50%;right:-7px;bottom:50%;margin-top:-6px;border-right-color:var(--color-tooltip-bg)}.tooltipped-align-right-1:after,.tooltipped-align-right-2:after{right:0;margin-right:0}.tooltipped-align-right-1:before{right:10px}.tooltipped-align-right-2:before{right:15px}.tooltipped-align-left-1:after,.tooltipped-align-left-2:after{left:0;margin-left:0}.tooltipped-align-left-1:before{left:5px}.tooltipped-align-left-2:before{left:10px}.tooltipped-multiline:after{width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:250px;word-wrap:break-word;white-space:pre-line;border-collapse:initial}.tooltipped-multiline.tooltipped-n:after,.tooltipped-multiline.tooltipped-s:after{right:auto;left:50%;transform:translateX(-50%)}.tooltipped-multiline.tooltipped-e:after,.tooltipped-multiline.tooltipped-w:after{right:100%}@media screen and (min-width:0\0){.tooltipped-multiline:after{width:250px}}.tooltipped-sticky:after,.tooltipped-sticky:before{display:inline-block}.tooltipped-sticky.tooltipped-multiline:after{display:table-cell}.css-truncate.css-truncate-overflow,.css-truncate .css-truncate-overflow,.css-truncate.css-truncate-target,.css-truncate .css-truncate-target{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.css-truncate.css-truncate-target,.css-truncate .css-truncate-target{display:inline-block;max-width:125px;vertical-align:top}.css-truncate.expandable.zeroclipboard-is-hover.css-truncate-target,.css-truncate.expandable.zeroclipboard-is-hover .css-truncate-target,.css-truncate.expandable:hover.css-truncate-target,.css-truncate.expandable:hover .css-truncate-target{max-width:10000px!important}.anim-fade-in{animation-name:fade-in;animation-duration:1s;animation-timing-function:ease-in-out}.anim-fade-in.fast{animation-duration:.3s}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.anim-fade-out{animation-name:fade-out;animation-duration:1s;animation-timing-function:ease-out}.anim-fade-out.fast{animation-duration:.3s}@keyframes fade-out{0%{opacity:1}to{opacity:0}}.anim-fade-up{opacity:0;animation-name:fade-up;animation-duration:.3s;animation-fill-mode:forwards;animation-timing-function:ease-out;animation-delay:1s}@keyframes fade-up{0%{opacity:.8;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.anim-fade-down{animation-name:fade-down;animation-duration:.3s;animation-fill-mode:forwards;animation-timing-function:ease-in}@keyframes fade-down{0%{opacity:1;transform:translateY(0)}to{opacity:.5;transform:translateY(100%)}}.anim-grow-x{width:0;animation-name:grow-x;animation-duration:.3s;animation-fill-mode:forwards;animation-timing-function:ease;animation-delay:.5s}@keyframes grow-x{to{width:100%}}.anim-shrink-x{animation-name:shrink-x;animation-duration:.3s;animation-fill-mode:forwards;animation-timing-function:ease-in-out;animation-delay:.5s}@keyframes shrink-x{to{width:0}}.anim-scale-in{animation-name:scale-in;animation-duration:.15s;animation-timing-function:cubic-bezier(.2,0,.13,1.5)}@keyframes scale-in{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.anim-pulse{animation-name:pulse;animation-duration:2s;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes pulse{0%{opacity:.3}10%{opacity:1}to{opacity:.3}}.anim-pulse-in{animation-name:pulse-in;animation-duration:.5s}@keyframes pulse-in{0%{transform:scaleX(1)}50%{transform:scale3d(1.1,1.1,1.1)}to{transform:scaleX(1)}}.hover-grow{transition:transform .3s;-webkit-backface-visibility:hidden;backface-visibility:hidden}.hover-grow:hover{transform:scale(1.025)}.border-x{border-right:1px solid var(--color-border-primary)!important;border-left:1px solid var(--color-border-primary)!important}.border-y{border-top:1px solid var(--color-border-primary)!important;border-bottom:1px solid var(--color-border-primary)!important}.border{border:1px solid var(--color-border-primary)!important}.border-0{border:0!important}.border-top{border-top:1px solid var(--color-border-primary)!important}.border-right{border-right:1px solid var(--color-border-primary)!important}.border-bottom{border-bottom:1px solid var(--color-border-primary)!important}.border-left{border-left:1px solid var(--color-border-primary)!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.rounded{border-radius:6px!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:4px!important}.rounded-2{border-radius:6px!important}.rounded-3{border-radius:8px!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:4px!important;border-top-right-radius:4px!important}.rounded-top-2{border-top-left-radius:6px!important;border-top-right-radius:6px!important}.rounded-top-3{border-top-left-radius:8px!important;border-top-right-radius:8px!important}.rounded-right-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-right-1{border-top-right-radius:4px!important;border-bottom-right-radius:4px!important}.rounded-right-2{border-top-right-radius:6px!important;border-bottom-right-radius:6px!important}.rounded-right-3{border-top-right-radius:8px!important;border-bottom-right-radius:8px!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:4px!important;border-bottom-left-radius:4px!important}.rounded-bottom-2{border-bottom-right-radius:6px!important;border-bottom-left-radius:6px!important}.rounded-bottom-3{border-bottom-right-radius:8px!important;border-bottom-left-radius:8px!important}.rounded-left-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-left-1{border-bottom-left-radius:4px!important;border-top-left-radius:4px!important}.rounded-left-2{border-bottom-left-radius:6px!important;border-top-left-radius:6px!important}.rounded-left-3{border-bottom-left-radius:8px!important;border-top-left-radius:8px!important}@media (min-width:544px){.border-sm{border:1px solid var(--color-border-primary)!important}.border-sm-0{border:0!important}.border-sm-top{border-top:1px solid var(--color-border-primary)!important}.border-sm-right{border-right:1px solid var(--color-border-primary)!important}.border-sm-bottom{border-bottom:1px solid var(--color-border-primary)!important}.border-sm-left{border-left:1px solid var(--color-border-primary)!important}.border-sm-top-0{border-top:0!important}.border-sm-right-0{border-right:0!important}.border-sm-bottom-0{border-bottom:0!important}.border-sm-left-0{border-left:0!important}.rounded-sm{border-radius:6px!important}.rounded-sm-0{border-radius:0!important}.rounded-sm-1{border-radius:4px!important}.rounded-sm-2{border-radius:6px!important}.rounded-sm-3{border-radius:8px!important}.rounded-sm-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-sm-top-1{border-top-left-radius:4px!important;border-top-right-radius:4px!important}.rounded-sm-top-2{border-top-left-radius:6px!important;border-top-right-radius:6px!important}.rounded-sm-top-3{border-top-left-radius:8px!important;border-top-right-radius:8px!important}.rounded-sm-right-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-sm-right-1{border-top-right-radius:4px!important;border-bottom-right-radius:4px!important}.rounded-sm-right-2{border-top-right-radius:6px!important;border-bottom-right-radius:6px!important}.rounded-sm-right-3{border-top-right-radius:8px!important;border-bottom-right-radius:8px!important}.rounded-sm-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-sm-bottom-1{border-bottom-right-radius:4px!important;border-bottom-left-radius:4px!important}.rounded-sm-bottom-2{border-bottom-right-radius:6px!important;border-bottom-left-radius:6px!important}.rounded-sm-bottom-3{border-bottom-right-radius:8px!important;border-bottom-left-radius:8px!important}.rounded-sm-left-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-sm-left-1{border-bottom-left-radius:4px!important;border-top-left-radius:4px!important}.rounded-sm-left-2{border-bottom-left-radius:6px!important;border-top-left-radius:6px!important}.rounded-sm-left-3{border-bottom-left-radius:8px!important;border-top-left-radius:8px!important}}@media (min-width:768px){.border-md{border:1px solid var(--color-border-primary)!important}.border-md-0{border:0!important}.border-md-top{border-top:1px solid var(--color-border-primary)!important}.border-md-right{border-right:1px solid var(--color-border-primary)!important}.border-md-bottom{border-bottom:1px solid var(--color-border-primary)!important}.border-md-left{border-left:1px solid var(--color-border-primary)!important}.border-md-top-0{border-top:0!important}.border-md-right-0{border-right:0!important}.border-md-bottom-0{border-bottom:0!important}.border-md-left-0{border-left:0!important}.rounded-md{border-radius:6px!important}.rounded-md-0{border-radius:0!important}.rounded-md-1{border-radius:4px!important}.rounded-md-2{border-radius:6px!important}.rounded-md-3{border-radius:8px!important}.rounded-md-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-md-top-1{border-top-left-radius:4px!important;border-top-right-radius:4px!important}.rounded-md-top-2{border-top-left-radius:6px!important;border-top-right-radius:6px!important}.rounded-md-top-3{border-top-left-radius:8px!important;border-top-right-radius:8px!important}.rounded-md-right-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-md-right-1{border-top-right-radius:4px!important;border-bottom-right-radius:4px!important}.rounded-md-right-2{border-top-right-radius:6px!important;border-bottom-right-radius:6px!important}.rounded-md-right-3{border-top-right-radius:8px!important;border-bottom-right-radius:8px!important}.rounded-md-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-md-bottom-1{border-bottom-right-radius:4px!important;border-bottom-left-radius:4px!important}.rounded-md-bottom-2{border-bottom-right-radius:6px!important;border-bottom-left-radius:6px!important}.rounded-md-bottom-3{border-bottom-right-radius:8px!important;border-bottom-left-radius:8px!important}.rounded-md-left-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-md-left-1{border-bottom-left-radius:4px!important;border-top-left-radius:4px!important}.rounded-md-left-2{border-bottom-left-radius:6px!important;border-top-left-radius:6px!important}.rounded-md-left-3{border-bottom-left-radius:8px!important;border-top-left-radius:8px!important}}@media (min-width:1012px){.border-lg{border:1px solid var(--color-border-primary)!important}.border-lg-0{border:0!important}.border-lg-top{border-top:1px solid var(--color-border-primary)!important}.border-lg-right{border-right:1px solid var(--color-border-primary)!important}.border-lg-bottom{border-bottom:1px solid var(--color-border-primary)!important}.border-lg-left{border-left:1px solid var(--color-border-primary)!important}.border-lg-top-0{border-top:0!important}.border-lg-right-0{border-right:0!important}.border-lg-bottom-0{border-bottom:0!important}.border-lg-left-0{border-left:0!important}.rounded-lg{border-radius:6px!important}.rounded-lg-0{border-radius:0!important}.rounded-lg-1{border-radius:4px!important}.rounded-lg-2{border-radius:6px!important}.rounded-lg-3{border-radius:8px!important}.rounded-lg-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-lg-top-1{border-top-left-radius:4px!important;border-top-right-radius:4px!important}.rounded-lg-top-2{border-top-left-radius:6px!important;border-top-right-radius:6px!important}.rounded-lg-top-3{border-top-left-radius:8px!important;border-top-right-radius:8px!important}.rounded-lg-right-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-lg-right-1{border-top-right-radius:4px!important;border-bottom-right-radius:4px!important}.rounded-lg-right-2{border-top-right-radius:6px!important;border-bottom-right-radius:6px!important}.rounded-lg-right-3{border-top-right-radius:8px!important;border-bottom-right-radius:8px!important}.rounded-lg-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-lg-bottom-1{border-bottom-right-radius:4px!important;border-bottom-left-radius:4px!important}.rounded-lg-bottom-2{border-bottom-right-radius:6px!important;border-bottom-left-radius:6px!important}.rounded-lg-bottom-3{border-bottom-right-radius:8px!important;border-bottom-left-radius:8px!important}.rounded-lg-left-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-lg-left-1{border-bottom-left-radius:4px!important;border-top-left-radius:4px!important}.rounded-lg-left-2{border-bottom-left-radius:6px!important;border-top-left-radius:6px!important}.rounded-lg-left-3{border-bottom-left-radius:8px!important;border-top-left-radius:8px!important}}@media (min-width:1280px){.border-xl{border:1px solid var(--color-border-primary)!important}.border-xl-0{border:0!important}.border-xl-top{border-top:1px solid var(--color-border-primary)!important}.border-xl-right{border-right:1px solid var(--color-border-primary)!important}.border-xl-bottom{border-bottom:1px solid var(--color-border-primary)!important}.border-xl-left{border-left:1px solid var(--color-border-primary)!important}.border-xl-top-0{border-top:0!important}.border-xl-right-0{border-right:0!important}.border-xl-bottom-0{border-bottom:0!important}.border-xl-left-0{border-left:0!important}.rounded-xl{border-radius:6px!important}.rounded-xl-0{border-radius:0!important}.rounded-xl-1{border-radius:4px!important}.rounded-xl-2{border-radius:6px!important}.rounded-xl-3{border-radius:8px!important}.rounded-xl-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-xl-top-1{border-top-left-radius:4px!important;border-top-right-radius:4px!important}.rounded-xl-top-2{border-top-left-radius:6px!important;border-top-right-radius:6px!important}.rounded-xl-top-3{border-top-left-radius:8px!important;border-top-right-radius:8px!important}.rounded-xl-right-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-xl-right-1{border-top-right-radius:4px!important;border-bottom-right-radius:4px!important}.rounded-xl-right-2{border-top-right-radius:6px!important;border-bottom-right-radius:6px!important}.rounded-xl-right-3{border-top-right-radius:8px!important;border-bottom-right-radius:8px!important}.rounded-xl-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-xl-bottom-1{border-bottom-right-radius:4px!important;border-bottom-left-radius:4px!important}.rounded-xl-bottom-2{border-bottom-right-radius:6px!important;border-bottom-left-radius:6px!important}.rounded-xl-bottom-3{border-bottom-right-radius:8px!important;border-bottom-left-radius:8px!important}.rounded-xl-left-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-xl-left-1{border-bottom-left-radius:4px!important;border-top-left-radius:4px!important}.rounded-xl-left-2{border-bottom-left-radius:6px!important;border-top-left-radius:6px!important}.rounded-xl-left-3{border-bottom-left-radius:8px!important;border-top-left-radius:8px!important}}.circle{border-radius:50%!important}.border-dashed{border-style:dashed!important}.box-shadow{box-shadow:var(--color-shadow-small)!important}.box-shadow-medium{box-shadow:var(--color-shadow-medium)!important}.box-shadow-large{box-shadow:var(--color-shadow-large)!important}.box-shadow-extra-large{box-shadow:var(--color-shadow-extra-large)!important}.box-shadow-none{box-shadow:none!important}.color-text-primary{color:var(--color-text-primary)!important}.color-text-secondary{color:var(--color-text-secondary)!important}.color-text-tertiary{color:var(--color-text-tertiary)!important}.color-text-link{color:var(--color-text-link)!important}.color-text-success{color:var(--color-text-success)!important}.color-text-warning{color:var(--color-text-warning)!important}.color-text-danger{color:var(--color-text-danger)!important}.color-text-inverse{color:var(--color-text-inverse)!important}.color-text-white{color:var(--color-text-white)!important}.color-icon-primary{color:var(--color-icon-primary)!important}.color-icon-secondary{color:var(--color-icon-secondary)!important}.color-icon-tertiary{color:var(--color-icon-tertiary)!important}.color-icon-info{color:var(--color-icon-info)!important}.color-icon-danger{color:var(--color-icon-danger)!important}.color-icon-success{color:var(--color-icon-success)!important}.color-icon-warning{color:var(--color-icon-warning)!important}.color-border-primary{border-color:var(--color-border-primary)!important}.color-border-secondary{border-color:var(--color-border-secondary)!important}.color-border-tertiary{border-color:var(--color-border-tertiary)!important}.color-border-overlay{border-color:var(--color-border-overlay)!important}.color-border-inverse{border-color:var(--color-border-inverse)!important}.color-border-info{border-color:var(--color-border-info)!important}.color-border-success{border-color:var(--color-border-success)!important}.color-border-danger{border-color:var(--color-border-danger)!important}.color-border-warning{border-color:var(--color-border-warning)!important}.color-bg-canvas{background-color:var(--color-bg-canvas)!important}.color-bg-canvas-inverse{background-color:var(--color-bg-canvas-inverse)!important}.color-bg-canvas-inset{background-color:var(--color-bg-canvas-inset)!important}.color-bg-primary{background-color:var(--color-bg-primary)!important}.color-bg-secondary{background-color:var(--color-bg-secondary)!important}.color-bg-tertiary{background-color:var(--color-bg-tertiary)!important}.color-bg-overlay{background-color:var(--color-bg-overlay)!important}.color-bg-info{background-color:var(--color-bg-info)!important}.color-bg-info-inverse{background-color:var(--color-bg-info-inverse)!important}.color-bg-danger{background-color:var(--color-bg-danger)!important}.color-bg-danger-inverse{background-color:var(--color-bg-danger-inverse)!important}.color-bg-success{background-color:var(--color-bg-success)!important}.color-bg-success-inverse{background-color:var(--color-bg-success-inverse)!important}.color-bg-warning{background-color:var(--color-bg-warning)!important}.color-bg-warning-inverse{background-color:var(--color-bg-warning-inverse)!important}.bg-white{background-color:var(--color-bg-primary)!important}.bg-blue{background-color:var(--color-bg-info-inverse)!important}.bg-blue-light{background-color:var(--color-bg-info)!important}.bg-gray-dark{background-color:var(--color-bg-canvas-inverse)!important}.bg-gray{background-color:var(--color-bg-tertiary)!important}.bg-gray-light{background-color:var(--color-bg-secondary)!important}.bg-green{background-color:var(--color-bg-success-inverse)!important}.bg-green-light{background-color:var(--color-bg-success)!important}.bg-red{background-color:var(--color-bg-danger-inverse)!important}.bg-red-light{background-color:var(--color-bg-danger)!important}.bg-yellow{background-color:var(--color-bg-warning-inverse)!important}.bg-yellow-light{background-color:var(--color-bg-warning)!important}.bg-yellow-dark{background-color:var(--color-auto-yellow-7)!important}.bg-purple{background-color:var(--color-auto-purple-5)!important}.bg-pink{background-color:var(--color-auto-pink-5)!important}.bg-purple-light{background-color:var(--color-auto-purple-0)!important}.bg-orange{background-color:var(--color-auto-orange-7)!important}.color-gray-0{color:var(--color-auto-gray-0)!important}.bg-gray-0{background-color:var(--color-auto-gray-0)!important}.color-gray-1{color:var(--color-auto-gray-1)!important}.bg-gray-1{background-color:var(--color-auto-gray-1)!important}.color-gray-2{color:var(--color-auto-gray-2)!important}.bg-gray-2{background-color:var(--color-auto-gray-2)!important}.color-gray-3{color:var(--color-auto-gray-3)!important}.bg-gray-3{background-color:var(--color-auto-gray-3)!important}.color-gray-4{color:var(--color-auto-gray-4)!important}.bg-gray-4{background-color:var(--color-auto-gray-4)!important}.color-gray-5{color:var(--color-auto-gray-5)!important}.bg-gray-5{background-color:var(--color-auto-gray-5)!important}.color-gray-6{color:var(--color-auto-gray-6)!important}.bg-gray-6{background-color:var(--color-auto-gray-6)!important}.color-gray-7{color:var(--color-auto-gray-7)!important}.bg-gray-7{background-color:var(--color-auto-gray-7)!important}.color-gray-8{color:var(--color-auto-gray-8)!important}.bg-gray-8{background-color:var(--color-auto-gray-8)!important}.color-gray-9{color:var(--color-auto-gray-9)!important}.bg-gray-9{background-color:var(--color-auto-gray-9)!important}.color-blue-0{color:var(--color-auto-blue-0)!important}.bg-blue-0{background-color:var(--color-auto-blue-0)!important}.color-blue-1{color:var(--color-auto-blue-1)!important}.bg-blue-1{background-color:var(--color-auto-blue-1)!important}.color-blue-2{color:var(--color-auto-blue-2)!important}.bg-blue-2{background-color:var(--color-auto-blue-2)!important}.color-blue-3{color:var(--color-auto-blue-3)!important}.bg-blue-3{background-color:var(--color-auto-blue-3)!important}.color-blue-4{color:var(--color-auto-blue-4)!important}.bg-blue-4{background-color:var(--color-auto-blue-4)!important}.color-blue-5{color:var(--color-auto-blue-5)!important}.bg-blue-5{background-color:var(--color-auto-blue-5)!important}.color-blue-6{color:var(--color-auto-blue-6)!important}.bg-blue-6{background-color:var(--color-auto-blue-6)!important}.color-blue-7{color:var(--color-auto-blue-7)!important}.bg-blue-7{background-color:var(--color-auto-blue-7)!important}.color-blue-8{color:var(--color-auto-blue-8)!important}.bg-blue-8{background-color:var(--color-auto-blue-8)!important}.color-blue-9{color:var(--color-auto-blue-9)!important}.bg-blue-9{background-color:var(--color-auto-blue-9)!important}.color-green-0{color:var(--color-auto-green-0)!important}.bg-green-0{background-color:var(--color-auto-green-0)!important}.color-green-1{color:var(--color-auto-green-1)!important}.bg-green-1{background-color:var(--color-auto-green-1)!important}.color-green-2{color:var(--color-auto-green-2)!important}.bg-green-2{background-color:var(--color-auto-green-2)!important}.color-green-3{color:var(--color-auto-green-3)!important}.bg-green-3{background-color:var(--color-auto-green-3)!important}.color-green-4{color:var(--color-auto-green-4)!important}.bg-green-4{background-color:var(--color-auto-green-4)!important}.color-green-5{color:var(--color-auto-green-5)!important}.bg-green-5{background-color:var(--color-auto-green-5)!important}.color-green-6{color:var(--color-auto-green-6)!important}.bg-green-6{background-color:var(--color-auto-green-6)!important}.color-green-7{color:var(--color-auto-green-7)!important}.bg-green-7{background-color:var(--color-auto-green-7)!important}.color-green-8{color:var(--color-auto-green-8)!important}.bg-green-8{background-color:var(--color-auto-green-8)!important}.color-green-9{color:var(--color-auto-green-9)!important}.bg-green-9{background-color:var(--color-auto-green-9)!important}.color-yellow-0{color:var(--color-auto-yellow-0)!important}.bg-yellow-0{background-color:var(--color-auto-yellow-0)!important}.color-yellow-1{color:var(--color-auto-yellow-1)!important}.bg-yellow-1{background-color:var(--color-auto-yellow-1)!important}.color-yellow-2{color:var(--color-auto-yellow-2)!important}.bg-yellow-2{background-color:var(--color-auto-yellow-2)!important}.color-yellow-3{color:var(--color-auto-yellow-3)!important}.bg-yellow-3{background-color:var(--color-auto-yellow-3)!important}.color-yellow-4{color:var(--color-auto-yellow-4)!important}.bg-yellow-4{background-color:var(--color-auto-yellow-4)!important}.color-yellow-5{color:var(--color-auto-yellow-5)!important}.bg-yellow-5{background-color:var(--color-auto-yellow-5)!important}.color-yellow-6{color:var(--color-auto-yellow-6)!important}.bg-yellow-6{background-color:var(--color-auto-yellow-6)!important}.color-yellow-7{color:var(--color-auto-yellow-7)!important}.bg-yellow-7{background-color:var(--color-auto-yellow-7)!important}.color-yellow-8{color:var(--color-auto-yellow-8)!important}.bg-yellow-8{background-color:var(--color-auto-yellow-8)!important}.color-yellow-9{color:var(--color-auto-yellow-9)!important}.bg-yellow-9{background-color:var(--color-auto-yellow-9)!important}.color-orange-0{color:var(--color-auto-orange-0)!important}.bg-orange-0{background-color:var(--color-auto-orange-0)!important}.color-orange-1{color:var(--color-auto-orange-1)!important}.bg-orange-1{background-color:var(--color-auto-orange-1)!important}.color-orange-2{color:var(--color-auto-orange-2)!important}.bg-orange-2{background-color:var(--color-auto-orange-2)!important}.color-orange-3{color:var(--color-auto-orange-3)!important}.bg-orange-3{background-color:var(--color-auto-orange-3)!important}.color-orange-4{color:var(--color-auto-orange-4)!important}.bg-orange-4{background-color:var(--color-auto-orange-4)!important}.color-orange-5{color:var(--color-auto-orange-5)!important}.bg-orange-5{background-color:var(--color-auto-orange-5)!important}.color-orange-6{color:var(--color-auto-orange-6)!important}.bg-orange-6{background-color:var(--color-auto-orange-6)!important}.color-orange-7{color:var(--color-auto-orange-7)!important}.bg-orange-7{background-color:var(--color-auto-orange-7)!important}.color-orange-8{color:var(--color-auto-orange-8)!important}.bg-orange-8{background-color:var(--color-auto-orange-8)!important}.color-orange-9{color:var(--color-auto-orange-9)!important}.bg-orange-9{background-color:var(--color-auto-orange-9)!important}.color-red-0{color:var(--color-auto-red-0)!important}.bg-red-0{background-color:var(--color-auto-red-0)!important}.color-red-1{color:var(--color-auto-red-1)!important}.bg-red-1{background-color:var(--color-auto-red-1)!important}.color-red-2{color:var(--color-auto-red-2)!important}.bg-red-2{background-color:var(--color-auto-red-2)!important}.color-red-3{color:var(--color-auto-red-3)!important}.bg-red-3{background-color:var(--color-auto-red-3)!important}.color-red-4{color:var(--color-auto-red-4)!important}.bg-red-4{background-color:var(--color-auto-red-4)!important}.color-red-5{color:var(--color-auto-red-5)!important}.bg-red-5{background-color:var(--color-auto-red-5)!important}.color-red-6{color:var(--color-auto-red-6)!important}.bg-red-6{background-color:var(--color-auto-red-6)!important}.color-red-7{color:var(--color-auto-red-7)!important}.bg-red-7{background-color:var(--color-auto-red-7)!important}.color-red-8{color:var(--color-auto-red-8)!important}.bg-red-8{background-color:var(--color-auto-red-8)!important}.color-red-9{color:var(--color-auto-red-9)!important}.bg-red-9{background-color:var(--color-auto-red-9)!important}.color-purple-0{color:var(--color-auto-purple-0)!important}.bg-purple-0{background-color:var(--color-auto-purple-0)!important}.color-purple-1{color:var(--color-auto-purple-1)!important}.bg-purple-1{background-color:var(--color-auto-purple-1)!important}.color-purple-2{color:var(--color-auto-purple-2)!important}.bg-purple-2{background-color:var(--color-auto-purple-2)!important}.color-purple-3{color:var(--color-auto-purple-3)!important}.bg-purple-3{background-color:var(--color-auto-purple-3)!important}.color-purple-4{color:var(--color-auto-purple-4)!important}.bg-purple-4{background-color:var(--color-auto-purple-4)!important}.color-purple-5{color:var(--color-auto-purple-5)!important}.bg-purple-5{background-color:var(--color-auto-purple-5)!important}.color-purple-6{color:var(--color-auto-purple-6)!important}.bg-purple-6{background-color:var(--color-auto-purple-6)!important}.color-purple-7{color:var(--color-auto-purple-7)!important}.bg-purple-7{background-color:var(--color-auto-purple-7)!important}.color-purple-8{color:var(--color-auto-purple-8)!important}.bg-purple-8{background-color:var(--color-auto-purple-8)!important}.color-purple-9{color:var(--color-auto-purple-9)!important}.bg-purple-9{background-color:var(--color-auto-purple-9)!important}.color-pink-0{color:var(--color-auto-pink-0)!important}.bg-pink-0{background-color:var(--color-auto-pink-0)!important}.color-pink-1{color:var(--color-auto-pink-1)!important}.bg-pink-1{background-color:var(--color-auto-pink-1)!important}.color-pink-2{color:var(--color-auto-pink-2)!important}.bg-pink-2{background-color:var(--color-auto-pink-2)!important}.color-pink-3{color:var(--color-auto-pink-3)!important}.bg-pink-3{background-color:var(--color-auto-pink-3)!important}.color-pink-4{color:var(--color-auto-pink-4)!important}.bg-pink-4{background-color:var(--color-auto-pink-4)!important}.color-pink-5{color:var(--color-auto-pink-5)!important}.bg-pink-5{background-color:var(--color-auto-pink-5)!important}.color-pink-6{color:var(--color-auto-pink-6)!important}.bg-pink-6{background-color:var(--color-auto-pink-6)!important}.color-pink-7{color:var(--color-auto-pink-7)!important}.bg-pink-7{background-color:var(--color-auto-pink-7)!important}.color-pink-8{color:var(--color-auto-pink-8)!important}.bg-pink-8{background-color:var(--color-auto-pink-8)!important}.color-pink-9{color:var(--color-auto-pink-9)!important}.bg-pink-9{background-color:var(--color-auto-pink-9)!important}.text-blue{color:var(--color-text-link)!important}.text-red{color:var(--color-text-danger)!important}.text-gray-light{color:var(--color-text-tertiary)!important}.text-gray{color:var(--color-text-secondary)!important}.text-gray-dark{color:var(--color-text-primary)!important}.text-green{color:var(--color-text-success)!important}.text-yellow{color:var(--color-text-warning)!important}.text-orange{color:var(--color-auto-orange-9)!important}.text-orange-light{color:var(--color-auto-orange-6)!important}.text-purple{color:var(--color-auto-purple-5)!important}.text-pink{color:var(--color-auto-pink-5)!important}.text-white{color:var(--color-text-white)!important}.text-inherit{color:inherit!important}.border-blue{border-color:var(--color-border-info)!important}.border-blue-light{border-color:var(--color-auto-blue-2)!important}.border-green{border-color:var(--color-border-success)!important}.border-green-light{border-color:var(--color-discussion-border)!important}.border-red{border-color:var(--color-border-danger)!important}.border-red-light{border-color:var(--color-auto-red-3)!important}.border-purple{border-color:var(--color-auto-purple-5)!important}.border-yellow{border-color:var(--color-border-warning)!important}.border-gray-light{border-color:var(--color-border-secondary)!important}.border-gray-dark{border-color:var(--color-border-tertiary)!important}.border-black-fade{border-color:var(--color-fade-black-15)!important}.border-white-fade,.border-white-fade-15{border-color:var(--color-fade-white-15)!important}.border-white-fade-30{border-color:var(--color-fade-white-30)!important}.border-white-fade-50{border-color:var(--color-fade-white-50)!important}.border-white-fade-70{border-color:var(--color-fade-white-70)!important}.border-white-fade-85{border-color:var(--color-fade-white-85)!important}.lead{color:var(--color-text-secondary)}.text-emphasized{color:var(--color-text-primary)}.text-shadow-dark{text-shadow:0 1px 1px rgba(var(--color-auto-black),.25),0 1px 25px rgba(var(--color-auto-black),.75)}.text-shadow-light{text-shadow:0 1px 0 rgba(var(--color-auto-white),.5)}.details-overlay[open]>summary:before{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:block;cursor:default;content:" ";background:transparent}.details-overlay-dark[open]>summary:before{z-index:99;background:var(--color-fade-black-50)}.details-reset>summary{list-style:none}.details-reset>summary:before{display:none}.details-reset>summary::-webkit-details-marker{display:none}.flex-row{flex-direction:row!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column{flex-direction:column!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-justify-start{justify-content:flex-start!important}.flex-justify-end{justify-content:flex-end!important}.flex-justify-center{justify-content:center!important}.flex-justify-between{justify-content:space-between!important}.flex-justify-around{justify-content:space-around!important}.flex-items-start{align-items:flex-start!important}.flex-items-end{align-items:flex-end!important}.flex-items-center{align-items:center!important}.flex-items-baseline{align-items:baseline!important}.flex-items-stretch{align-items:stretch!important}.flex-content-start{align-content:flex-start!important}.flex-content-end{align-content:flex-end!important}.flex-content-center{align-content:center!important}.flex-content-between{align-content:space-between!important}.flex-content-around{align-content:space-around!important}.flex-content-stretch{align-content:stretch!important}.flex-1{flex:1!important}.flex-auto{flex:auto!important}.flex-grow-0{flex-grow:0!important}.flex-shrink-0{flex-shrink:0!important}.flex-self-auto{align-self:auto!important}.flex-self-start{align-self:flex-start!important}.flex-self-end{align-self:flex-end!important}.flex-self-center{align-self:center!important}.flex-self-baseline{align-self:baseline!important}.flex-self-stretch{align-self:stretch!important}.flex-order-1{order:1!important}.flex-order-2{order:2!important}.flex-order-none{order:inherit!important}@media (min-width:544px){.flex-sm-row{flex-direction:row!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column{flex-direction:column!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-sm-justify-start{justify-content:flex-start!important}.flex-sm-justify-end{justify-content:flex-end!important}.flex-sm-justify-center{justify-content:center!important}.flex-sm-justify-between{justify-content:space-between!important}.flex-sm-justify-around{justify-content:space-around!important}.flex-sm-items-start{align-items:flex-start!important}.flex-sm-items-end{align-items:flex-end!important}.flex-sm-items-center{align-items:center!important}.flex-sm-items-baseline{align-items:baseline!important}.flex-sm-items-stretch{align-items:stretch!important}.flex-sm-content-start{align-content:flex-start!important}.flex-sm-content-end{align-content:flex-end!important}.flex-sm-content-center{align-content:center!important}.flex-sm-content-between{align-content:space-between!important}.flex-sm-content-around{align-content:space-around!important}.flex-sm-content-stretch{align-content:stretch!important}.flex-sm-1{flex:1!important}.flex-sm-auto{flex:auto!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-self-auto{align-self:auto!important}.flex-sm-self-start{align-self:flex-start!important}.flex-sm-self-end{align-self:flex-end!important}.flex-sm-self-center{align-self:center!important}.flex-sm-self-baseline{align-self:baseline!important}.flex-sm-self-stretch{align-self:stretch!important}.flex-sm-order-1{order:1!important}.flex-sm-order-2{order:2!important}.flex-sm-order-none{order:inherit!important}}@media (min-width:768px){.flex-md-row{flex-direction:row!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column{flex-direction:column!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-md-justify-start{justify-content:flex-start!important}.flex-md-justify-end{justify-content:flex-end!important}.flex-md-justify-center{justify-content:center!important}.flex-md-justify-between{justify-content:space-between!important}.flex-md-justify-around{justify-content:space-around!important}.flex-md-items-start{align-items:flex-start!important}.flex-md-items-end{align-items:flex-end!important}.flex-md-items-center{align-items:center!important}.flex-md-items-baseline{align-items:baseline!important}.flex-md-items-stretch{align-items:stretch!important}.flex-md-content-start{align-content:flex-start!important}.flex-md-content-end{align-content:flex-end!important}.flex-md-content-center{align-content:center!important}.flex-md-content-between{align-content:space-between!important}.flex-md-content-around{align-content:space-around!important}.flex-md-content-stretch{align-content:stretch!important}.flex-md-1{flex:1!important}.flex-md-auto{flex:auto!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-self-auto{align-self:auto!important}.flex-md-self-start{align-self:flex-start!important}.flex-md-self-end{align-self:flex-end!important}.flex-md-self-center{align-self:center!important}.flex-md-self-baseline{align-self:baseline!important}.flex-md-self-stretch{align-self:stretch!important}.flex-md-order-1{order:1!important}.flex-md-order-2{order:2!important}.flex-md-order-none{order:inherit!important}}@media (min-width:1012px){.flex-lg-row{flex-direction:row!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column{flex-direction:column!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-lg-justify-start{justify-content:flex-start!important}.flex-lg-justify-end{justify-content:flex-end!important}.flex-lg-justify-center{justify-content:center!important}.flex-lg-justify-between{justify-content:space-between!important}.flex-lg-justify-around{justify-content:space-around!important}.flex-lg-items-start{align-items:flex-start!important}.flex-lg-items-end{align-items:flex-end!important}.flex-lg-items-center{align-items:center!important}.flex-lg-items-baseline{align-items:baseline!important}.flex-lg-items-stretch{align-items:stretch!important}.flex-lg-content-start{align-content:flex-start!important}.flex-lg-content-end{align-content:flex-end!important}.flex-lg-content-center{align-content:center!important}.flex-lg-content-between{align-content:space-between!important}.flex-lg-content-around{align-content:space-around!important}.flex-lg-content-stretch{align-content:stretch!important}.flex-lg-1{flex:1!important}.flex-lg-auto{flex:auto!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-self-auto{align-self:auto!important}.flex-lg-self-start{align-self:flex-start!important}.flex-lg-self-end{align-self:flex-end!important}.flex-lg-self-center{align-self:center!important}.flex-lg-self-baseline{align-self:baseline!important}.flex-lg-self-stretch{align-self:stretch!important}.flex-lg-order-1{order:1!important}.flex-lg-order-2{order:2!important}.flex-lg-order-none{order:inherit!important}}@media (min-width:1280px){.flex-xl-row{flex-direction:row!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column{flex-direction:column!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xl-justify-start{justify-content:flex-start!important}.flex-xl-justify-end{justify-content:flex-end!important}.flex-xl-justify-center{justify-content:center!important}.flex-xl-justify-between{justify-content:space-between!important}.flex-xl-justify-around{justify-content:space-around!important}.flex-xl-items-start{align-items:flex-start!important}.flex-xl-items-end{align-items:flex-end!important}.flex-xl-items-center{align-items:center!important}.flex-xl-items-baseline{align-items:baseline!important}.flex-xl-items-stretch{align-items:stretch!important}.flex-xl-content-start{align-content:flex-start!important}.flex-xl-content-end{align-content:flex-end!important}.flex-xl-content-center{align-content:center!important}.flex-xl-content-between{align-content:space-between!important}.flex-xl-content-around{align-content:space-around!important}.flex-xl-content-stretch{align-content:stretch!important}.flex-xl-1{flex:1!important}.flex-xl-auto{flex:auto!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-self-auto{align-self:auto!important}.flex-xl-self-start{align-self:flex-start!important}.flex-xl-self-end{align-self:flex-end!important}.flex-xl-self-center{align-self:center!important}.flex-xl-self-baseline{align-self:baseline!important}.flex-xl-self-stretch{align-self:stretch!important}.flex-xl-order-1{order:1!important}.flex-xl-order-2{order:2!important}.flex-xl-order-none{order:inherit!important}}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}@media (min-width:544px){.position-sm-static{position:static!important}.position-sm-relative{position:relative!important}.position-sm-absolute{position:absolute!important}.position-sm-fixed{position:fixed!important}.position-sm-sticky{position:-webkit-sticky!important;position:sticky!important}}@media (min-width:768px){.position-md-static{position:static!important}.position-md-relative{position:relative!important}.position-md-absolute{position:absolute!important}.position-md-fixed{position:fixed!important}.position-md-sticky{position:-webkit-sticky!important;position:sticky!important}}@media (min-width:1012px){.position-lg-static{position:static!important}.position-lg-relative{position:relative!important}.position-lg-absolute{position:absolute!important}.position-lg-fixed{position:fixed!important}.position-lg-sticky{position:-webkit-sticky!important;position:sticky!important}}@media (min-width:1280px){.position-xl-static{position:static!important}.position-xl-relative{position:relative!important}.position-xl-absolute{position:absolute!important}.position-xl-fixed{position:fixed!important}.position-xl-sticky{position:-webkit-sticky!important;position:sticky!important}}.top-0{top:0!important}.right-0{right:0!important}.bottom-0{bottom:0!important}.left-0{left:0!important}.top-auto{top:auto!important}.right-auto{right:auto!important}.bottom-auto{bottom:auto!important}.left-auto{left:auto!important}@media (min-width:544px){.top-sm-0{top:0!important}.right-sm-0{right:0!important}.bottom-sm-0{bottom:0!important}.left-sm-0{left:0!important}.top-sm-auto{top:auto!important}.right-sm-auto{right:auto!important}.bottom-sm-auto{bottom:auto!important}.left-sm-auto{left:auto!important}}@media (min-width:768px){.top-md-0{top:0!important}.right-md-0{right:0!important}.bottom-md-0{bottom:0!important}.left-md-0{left:0!important}.top-md-auto{top:auto!important}.right-md-auto{right:auto!important}.bottom-md-auto{bottom:auto!important}.left-md-auto{left:auto!important}}@media (min-width:1012px){.top-lg-0{top:0!important}.right-lg-0{right:0!important}.bottom-lg-0{bottom:0!important}.left-lg-0{left:0!important}.top-lg-auto{top:auto!important}.right-lg-auto{right:auto!important}.bottom-lg-auto{bottom:auto!important}.left-lg-auto{left:auto!important}}@media (min-width:1280px){.top-xl-0{top:0!important}.right-xl-0{right:0!important}.bottom-xl-0{bottom:0!important}.left-xl-0{left:0!important}.top-xl-auto{top:auto!important}.right-xl-auto{right:auto!important}.bottom-xl-auto{bottom:auto!important}.left-xl-auto{left:auto!important}}.v-align-middle{vertical-align:middle!important}.v-align-top{vertical-align:top!important}.v-align-bottom{vertical-align:bottom!important}.v-align-text-top{vertical-align:text-top!important}.v-align-text-bottom{vertical-align:text-bottom!important}.v-align-baseline{vertical-align:initial!important}.overflow-visible{overflow:visible!important}.overflow-x-visible{overflow-x:visible!important}.overflow-y-visible{overflow-y:visible!important}.overflow-hidden{overflow:hidden!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-auto{overflow:auto!important}.overflow-x-auto{overflow-x:auto!important}.overflow-y-auto{overflow-y:auto!important}.overflow-scroll{overflow:scroll!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-scroll{overflow-y:scroll!important}@media (min-width:544px){.overflow-sm-visible{overflow:visible!important}.overflow-sm-x-visible{overflow-x:visible!important}.overflow-sm-y-visible{overflow-y:visible!important}.overflow-sm-hidden{overflow:hidden!important}.overflow-sm-x-hidden{overflow-x:hidden!important}.overflow-sm-y-hidden{overflow-y:hidden!important}.overflow-sm-auto{overflow:auto!important}.overflow-sm-x-auto{overflow-x:auto!important}.overflow-sm-y-auto{overflow-y:auto!important}.overflow-sm-scroll{overflow:scroll!important}.overflow-sm-x-scroll{overflow-x:scroll!important}.overflow-sm-y-scroll{overflow-y:scroll!important}}@media (min-width:768px){.overflow-md-visible{overflow:visible!important}.overflow-md-x-visible{overflow-x:visible!important}.overflow-md-y-visible{overflow-y:visible!important}.overflow-md-hidden{overflow:hidden!important}.overflow-md-x-hidden{overflow-x:hidden!important}.overflow-md-y-hidden{overflow-y:hidden!important}.overflow-md-auto{overflow:auto!important}.overflow-md-x-auto{overflow-x:auto!important}.overflow-md-y-auto{overflow-y:auto!important}.overflow-md-scroll{overflow:scroll!important}.overflow-md-x-scroll{overflow-x:scroll!important}.overflow-md-y-scroll{overflow-y:scroll!important}}@media (min-width:1012px){.overflow-lg-visible{overflow:visible!important}.overflow-lg-x-visible{overflow-x:visible!important}.overflow-lg-y-visible{overflow-y:visible!important}.overflow-lg-hidden{overflow:hidden!important}.overflow-lg-x-hidden{overflow-x:hidden!important}.overflow-lg-y-hidden{overflow-y:hidden!important}.overflow-lg-auto{overflow:auto!important}.overflow-lg-x-auto{overflow-x:auto!important}.overflow-lg-y-auto{overflow-y:auto!important}.overflow-lg-scroll{overflow:scroll!important}.overflow-lg-x-scroll{overflow-x:scroll!important}.overflow-lg-y-scroll{overflow-y:scroll!important}}@media (min-width:1280px){.overflow-xl-visible{overflow:visible!important}.overflow-xl-x-visible{overflow-x:visible!important}.overflow-xl-y-visible{overflow-y:visible!important}.overflow-xl-hidden{overflow:hidden!important}.overflow-xl-x-hidden{overflow-x:hidden!important}.overflow-xl-y-hidden{overflow-y:hidden!important}.overflow-xl-auto{overflow:auto!important}.overflow-xl-x-auto{overflow-x:auto!important}.overflow-xl-y-auto{overflow-y:auto!important}.overflow-xl-scroll{overflow:scroll!important}.overflow-xl-x-scroll{overflow-x:scroll!important}.overflow-xl-y-scroll{overflow-y:scroll!important}}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:544px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:1012px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1280px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.width-fit{max-width:100%!important}.width-full{width:100%!important}.height-fit{max-height:100%!important}.height-full{height:100%!important}.min-width-0{min-width:0!important}.width-auto{width:auto!important}.direction-rtl{direction:rtl!important}.direction-ltr{direction:ltr!important}@media (min-width:544px){.width-sm-auto{width:auto!important}.direction-sm-rtl{direction:rtl!important}.direction-sm-ltr{direction:ltr!important}}@media (min-width:768px){.width-md-auto{width:auto!important}.direction-md-rtl{direction:rtl!important}.direction-md-ltr{direction:ltr!important}}@media (min-width:1012px){.width-lg-auto{width:auto!important}.direction-lg-rtl{direction:rtl!important}.direction-lg-ltr{direction:ltr!important}}@media (min-width:1280px){.width-xl-auto{width:auto!important}.direction-xl-rtl{direction:rtl!important}.direction-xl-ltr{direction:ltr!important}}.m-0{margin:0!important}.mt-0{margin-top:0!important}.mr-0{margin-right:0!important}.mb-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.mx-0{margin-right:0!important}.my-0{margin-top:0!important;margin-bottom:0!important}.m-1{margin:4px!important}.mt-1{margin-top:4px!important}.mr-1{margin-right:4px!important}.mb-1{margin-bottom:4px!important}.ml-1{margin-left:4px!important}.mt-n1{margin-top:-4px!important}.mr-n1{margin-right:-4px!important}.mb-n1{margin-bottom:-4px!important}.ml-n1{margin-left:-4px!important}.mx-1{margin-right:4px!important;margin-left:4px!important}.my-1{margin-top:4px!important;margin-bottom:4px!important}.m-2{margin:8px!important}.mt-2{margin-top:8px!important}.mr-2{margin-right:8px!important}.mb-2{margin-bottom:8px!important}.ml-2{margin-left:8px!important}.mt-n2{margin-top:-8px!important}.mr-n2{margin-right:-8px!important}.mb-n2{margin-bottom:-8px!important}.ml-n2{margin-left:-8px!important}.mx-2{margin-right:8px!important;margin-left:8px!important}.my-2{margin-top:8px!important;margin-bottom:8px!important}.m-3{margin:16px!important}.mt-3{margin-top:16px!important}.mr-3{margin-right:16px!important}.mb-3{margin-bottom:16px!important}.ml-3{margin-left:16px!important}.mt-n3{margin-top:-16px!important}.mr-n3{margin-right:-16px!important}.mb-n3{margin-bottom:-16px!important}.ml-n3{margin-left:-16px!important}.mx-3{margin-right:16px!important;margin-left:16px!important}.my-3{margin-top:16px!important;margin-bottom:16px!important}.m-4{margin:24px!important}.mt-4{margin-top:24px!important}.mr-4{margin-right:24px!important}.mb-4{margin-bottom:24px!important}.ml-4{margin-left:24px!important}.mt-n4{margin-top:-24px!important}.mr-n4{margin-right:-24px!important}.mb-n4{margin-bottom:-24px!important}.ml-n4{margin-left:-24px!important}.mx-4{margin-right:24px!important;margin-left:24px!important}.my-4{margin-top:24px!important;margin-bottom:24px!important}.m-5{margin:32px!important}.mt-5{margin-top:32px!important}.mr-5{margin-right:32px!important}.mb-5{margin-bottom:32px!important}.ml-5{margin-left:32px!important}.mt-n5{margin-top:-32px!important}.mr-n5{margin-right:-32px!important}.mb-n5{margin-bottom:-32px!important}.ml-n5{margin-left:-32px!important}.mx-5{margin-right:32px!important;margin-left:32px!important}.my-5{margin-top:32px!important;margin-bottom:32px!important}.m-6{margin:40px!important}.mt-6{margin-top:40px!important}.mr-6{margin-right:40px!important}.mb-6{margin-bottom:40px!important}.ml-6{margin-left:40px!important}.mt-n6{margin-top:-40px!important}.mr-n6{margin-right:-40px!important}.mb-n6{margin-bottom:-40px!important}.ml-n6{margin-left:-40px!important}.mx-6{margin-right:40px!important;margin-left:40px!important}.my-6{margin-top:40px!important;margin-bottom:40px!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}@media (min-width:544px){.m-sm-0{margin:0!important}.mt-sm-0{margin-top:0!important}.mr-sm-0{margin-right:0!important}.mb-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.mx-sm-0{margin-right:0!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.m-sm-1{margin:4px!important}.mt-sm-1{margin-top:4px!important}.mr-sm-1{margin-right:4px!important}.mb-sm-1{margin-bottom:4px!important}.ml-sm-1{margin-left:4px!important}.mt-sm-n1{margin-top:-4px!important}.mr-sm-n1{margin-right:-4px!important}.mb-sm-n1{margin-bottom:-4px!important}.ml-sm-n1{margin-left:-4px!important}.mx-sm-1{margin-right:4px!important;margin-left:4px!important}.my-sm-1{margin-top:4px!important;margin-bottom:4px!important}.m-sm-2{margin:8px!important}.mt-sm-2{margin-top:8px!important}.mr-sm-2{margin-right:8px!important}.mb-sm-2{margin-bottom:8px!important}.ml-sm-2{margin-left:8px!important}.mt-sm-n2{margin-top:-8px!important}.mr-sm-n2{margin-right:-8px!important}.mb-sm-n2{margin-bottom:-8px!important}.ml-sm-n2{margin-left:-8px!important}.mx-sm-2{margin-right:8px!important;margin-left:8px!important}.my-sm-2{margin-top:8px!important;margin-bottom:8px!important}.m-sm-3{margin:16px!important}.mt-sm-3{margin-top:16px!important}.mr-sm-3{margin-right:16px!important}.mb-sm-3{margin-bottom:16px!important}.ml-sm-3{margin-left:16px!important}.mt-sm-n3{margin-top:-16px!important}.mr-sm-n3{margin-right:-16px!important}.mb-sm-n3{margin-bottom:-16px!important}.ml-sm-n3{margin-left:-16px!important}.mx-sm-3{margin-right:16px!important;margin-left:16px!important}.my-sm-3{margin-top:16px!important;margin-bottom:16px!important}.m-sm-4{margin:24px!important}.mt-sm-4{margin-top:24px!important}.mr-sm-4{margin-right:24px!important}.mb-sm-4{margin-bottom:24px!important}.ml-sm-4{margin-left:24px!important}.mt-sm-n4{margin-top:-24px!important}.mr-sm-n4{margin-right:-24px!important}.mb-sm-n4{margin-bottom:-24px!important}.ml-sm-n4{margin-left:-24px!important}.mx-sm-4{margin-right:24px!important;margin-left:24px!important}.my-sm-4{margin-top:24px!important;margin-bottom:24px!important}.m-sm-5{margin:32px!important}.mt-sm-5{margin-top:32px!important}.mr-sm-5{margin-right:32px!important}.mb-sm-5{margin-bottom:32px!important}.ml-sm-5{margin-left:32px!important}.mt-sm-n5{margin-top:-32px!important}.mr-sm-n5{margin-right:-32px!important}.mb-sm-n5{margin-bottom:-32px!important}.ml-sm-n5{margin-left:-32px!important}.mx-sm-5{margin-right:32px!important;margin-left:32px!important}.my-sm-5{margin-top:32px!important;margin-bottom:32px!important}.m-sm-6{margin:40px!important}.mt-sm-6{margin-top:40px!important}.mr-sm-6{margin-right:40px!important}.mb-sm-6{margin-bottom:40px!important}.ml-sm-6{margin-left:40px!important}.mt-sm-n6{margin-top:-40px!important}.mr-sm-n6{margin-right:-40px!important}.mb-sm-n6{margin-bottom:-40px!important}.ml-sm-n6{margin-left:-40px!important}.mx-sm-6{margin-right:40px!important;margin-left:40px!important}.my-sm-6{margin-top:40px!important;margin-bottom:40px!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0{margin-top:0!important}.mr-md-0{margin-right:0!important}.mb-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.mx-md-0{margin-right:0!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.m-md-1{margin:4px!important}.mt-md-1{margin-top:4px!important}.mr-md-1{margin-right:4px!important}.mb-md-1{margin-bottom:4px!important}.ml-md-1{margin-left:4px!important}.mt-md-n1{margin-top:-4px!important}.mr-md-n1{margin-right:-4px!important}.mb-md-n1{margin-bottom:-4px!important}.ml-md-n1{margin-left:-4px!important}.mx-md-1{margin-right:4px!important;margin-left:4px!important}.my-md-1{margin-top:4px!important;margin-bottom:4px!important}.m-md-2{margin:8px!important}.mt-md-2{margin-top:8px!important}.mr-md-2{margin-right:8px!important}.mb-md-2{margin-bottom:8px!important}.ml-md-2{margin-left:8px!important}.mt-md-n2{margin-top:-8px!important}.mr-md-n2{margin-right:-8px!important}.mb-md-n2{margin-bottom:-8px!important}.ml-md-n2{margin-left:-8px!important}.mx-md-2{margin-right:8px!important;margin-left:8px!important}.my-md-2{margin-top:8px!important;margin-bottom:8px!important}.m-md-3{margin:16px!important}.mt-md-3{margin-top:16px!important}.mr-md-3{margin-right:16px!important}.mb-md-3{margin-bottom:16px!important}.ml-md-3{margin-left:16px!important}.mt-md-n3{margin-top:-16px!important}.mr-md-n3{margin-right:-16px!important}.mb-md-n3{margin-bottom:-16px!important}.ml-md-n3{margin-left:-16px!important}.mx-md-3{margin-right:16px!important;margin-left:16px!important}.my-md-3{margin-top:16px!important;margin-bottom:16px!important}.m-md-4{margin:24px!important}.mt-md-4{margin-top:24px!important}.mr-md-4{margin-right:24px!important}.mb-md-4{margin-bottom:24px!important}.ml-md-4{margin-left:24px!important}.mt-md-n4{margin-top:-24px!important}.mr-md-n4{margin-right:-24px!important}.mb-md-n4{margin-bottom:-24px!important}.ml-md-n4{margin-left:-24px!important}.mx-md-4{margin-right:24px!important;margin-left:24px!important}.my-md-4{margin-top:24px!important;margin-bottom:24px!important}.m-md-5{margin:32px!important}.mt-md-5{margin-top:32px!important}.mr-md-5{margin-right:32px!important}.mb-md-5{margin-bottom:32px!important}.ml-md-5{margin-left:32px!important}.mt-md-n5{margin-top:-32px!important}.mr-md-n5{margin-right:-32px!important}.mb-md-n5{margin-bottom:-32px!important}.ml-md-n5{margin-left:-32px!important}.mx-md-5{margin-right:32px!important;margin-left:32px!important}.my-md-5{margin-top:32px!important;margin-bottom:32px!important}.m-md-6{margin:40px!important}.mt-md-6{margin-top:40px!important}.mr-md-6{margin-right:40px!important}.mb-md-6{margin-bottom:40px!important}.ml-md-6{margin-left:40px!important}.mt-md-n6{margin-top:-40px!important}.mr-md-n6{margin-right:-40px!important}.mb-md-n6{margin-bottom:-40px!important}.ml-md-n6{margin-left:-40px!important}.mx-md-6{margin-right:40px!important;margin-left:40px!important}.my-md-6{margin-top:40px!important;margin-bottom:40px!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}}@media (min-width:1012px){.m-lg-0{margin:0!important}.mt-lg-0{margin-top:0!important}.mr-lg-0{margin-right:0!important}.mb-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.mx-lg-0{margin-right:0!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.m-lg-1{margin:4px!important}.mt-lg-1{margin-top:4px!important}.mr-lg-1{margin-right:4px!important}.mb-lg-1{margin-bottom:4px!important}.ml-lg-1{margin-left:4px!important}.mt-lg-n1{margin-top:-4px!important}.mr-lg-n1{margin-right:-4px!important}.mb-lg-n1{margin-bottom:-4px!important}.ml-lg-n1{margin-left:-4px!important}.mx-lg-1{margin-right:4px!important;margin-left:4px!important}.my-lg-1{margin-top:4px!important;margin-bottom:4px!important}.m-lg-2{margin:8px!important}.mt-lg-2{margin-top:8px!important}.mr-lg-2{margin-right:8px!important}.mb-lg-2{margin-bottom:8px!important}.ml-lg-2{margin-left:8px!important}.mt-lg-n2{margin-top:-8px!important}.mr-lg-n2{margin-right:-8px!important}.mb-lg-n2{margin-bottom:-8px!important}.ml-lg-n2{margin-left:-8px!important}.mx-lg-2{margin-right:8px!important;margin-left:8px!important}.my-lg-2{margin-top:8px!important;margin-bottom:8px!important}.m-lg-3{margin:16px!important}.mt-lg-3{margin-top:16px!important}.mr-lg-3{margin-right:16px!important}.mb-lg-3{margin-bottom:16px!important}.ml-lg-3{margin-left:16px!important}.mt-lg-n3{margin-top:-16px!important}.mr-lg-n3{margin-right:-16px!important}.mb-lg-n3{margin-bottom:-16px!important}.ml-lg-n3{margin-left:-16px!important}.mx-lg-3{margin-right:16px!important;margin-left:16px!important}.my-lg-3{margin-top:16px!important;margin-bottom:16px!important}.m-lg-4{margin:24px!important}.mt-lg-4{margin-top:24px!important}.mr-lg-4{margin-right:24px!important}.mb-lg-4{margin-bottom:24px!important}.ml-lg-4{margin-left:24px!important}.mt-lg-n4{margin-top:-24px!important}.mr-lg-n4{margin-right:-24px!important}.mb-lg-n4{margin-bottom:-24px!important}.ml-lg-n4{margin-left:-24px!important}.mx-lg-4{margin-right:24px!important;margin-left:24px!important}.my-lg-4{margin-top:24px!important;margin-bottom:24px!important}.m-lg-5{margin:32px!important}.mt-lg-5{margin-top:32px!important}.mr-lg-5{margin-right:32px!important}.mb-lg-5{margin-bottom:32px!important}.ml-lg-5{margin-left:32px!important}.mt-lg-n5{margin-top:-32px!important}.mr-lg-n5{margin-right:-32px!important}.mb-lg-n5{margin-bottom:-32px!important}.ml-lg-n5{margin-left:-32px!important}.mx-lg-5{margin-right:32px!important;margin-left:32px!important}.my-lg-5{margin-top:32px!important;margin-bottom:32px!important}.m-lg-6{margin:40px!important}.mt-lg-6{margin-top:40px!important}.mr-lg-6{margin-right:40px!important}.mb-lg-6{margin-bottom:40px!important}.ml-lg-6{margin-left:40px!important}.mt-lg-n6{margin-top:-40px!important}.mr-lg-n6{margin-right:-40px!important}.mb-lg-n6{margin-bottom:-40px!important}.ml-lg-n6{margin-left:-40px!important}.mx-lg-6{margin-right:40px!important;margin-left:40px!important}.my-lg-6{margin-top:40px!important;margin-bottom:40px!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}}@media (min-width:1280px){.m-xl-0{margin:0!important}.mt-xl-0{margin-top:0!important}.mr-xl-0{margin-right:0!important}.mb-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.mx-xl-0{margin-right:0!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.m-xl-1{margin:4px!important}.mt-xl-1{margin-top:4px!important}.mr-xl-1{margin-right:4px!important}.mb-xl-1{margin-bottom:4px!important}.ml-xl-1{margin-left:4px!important}.mt-xl-n1{margin-top:-4px!important}.mr-xl-n1{margin-right:-4px!important}.mb-xl-n1{margin-bottom:-4px!important}.ml-xl-n1{margin-left:-4px!important}.mx-xl-1{margin-right:4px!important;margin-left:4px!important}.my-xl-1{margin-top:4px!important;margin-bottom:4px!important}.m-xl-2{margin:8px!important}.mt-xl-2{margin-top:8px!important}.mr-xl-2{margin-right:8px!important}.mb-xl-2{margin-bottom:8px!important}.ml-xl-2{margin-left:8px!important}.mt-xl-n2{margin-top:-8px!important}.mr-xl-n2{margin-right:-8px!important}.mb-xl-n2{margin-bottom:-8px!important}.ml-xl-n2{margin-left:-8px!important}.mx-xl-2{margin-right:8px!important;margin-left:8px!important}.my-xl-2{margin-top:8px!important;margin-bottom:8px!important}.m-xl-3{margin:16px!important}.mt-xl-3{margin-top:16px!important}.mr-xl-3{margin-right:16px!important}.mb-xl-3{margin-bottom:16px!important}.ml-xl-3{margin-left:16px!important}.mt-xl-n3{margin-top:-16px!important}.mr-xl-n3{margin-right:-16px!important}.mb-xl-n3{margin-bottom:-16px!important}.ml-xl-n3{margin-left:-16px!important}.mx-xl-3{margin-right:16px!important;margin-left:16px!important}.my-xl-3{margin-top:16px!important;margin-bottom:16px!important}.m-xl-4{margin:24px!important}.mt-xl-4{margin-top:24px!important}.mr-xl-4{margin-right:24px!important}.mb-xl-4{margin-bottom:24px!important}.ml-xl-4{margin-left:24px!important}.mt-xl-n4{margin-top:-24px!important}.mr-xl-n4{margin-right:-24px!important}.mb-xl-n4{margin-bottom:-24px!important}.ml-xl-n4{margin-left:-24px!important}.mx-xl-4{margin-right:24px!important;margin-left:24px!important}.my-xl-4{margin-top:24px!important;margin-bottom:24px!important}.m-xl-5{margin:32px!important}.mt-xl-5{margin-top:32px!important}.mr-xl-5{margin-right:32px!important}.mb-xl-5{margin-bottom:32px!important}.ml-xl-5{margin-left:32px!important}.mt-xl-n5{margin-top:-32px!important}.mr-xl-n5{margin-right:-32px!important}.mb-xl-n5{margin-bottom:-32px!important}.ml-xl-n5{margin-left:-32px!important}.mx-xl-5{margin-right:32px!important;margin-left:32px!important}.my-xl-5{margin-top:32px!important;margin-bottom:32px!important}.m-xl-6{margin:40px!important}.mt-xl-6{margin-top:40px!important}.mr-xl-6{margin-right:40px!important}.mb-xl-6{margin-bottom:40px!important}.ml-xl-6{margin-left:40px!important}.mt-xl-n6{margin-top:-40px!important}.mr-xl-n6{margin-right:-40px!important}.mb-xl-n6{margin-bottom:-40px!important}.ml-xl-n6{margin-left:-40px!important}.mx-xl-6{margin-right:40px!important;margin-left:40px!important}.my-xl-6{margin-top:40px!important;margin-bottom:40px!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}}.p-0{padding:0!important}.pt-0{padding-top:0!important}.pr-0{padding-right:0!important}.pb-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.px-0{padding-right:0!important}.py-0{padding-top:0!important;padding-bottom:0!important}.p-1{padding:4px!important}.pt-1{padding-top:4px!important}.pr-1{padding-right:4px!important}.pb-1{padding-bottom:4px!important}.pl-1,.px-1{padding-left:4px!important}.px-1{padding-right:4px!important}.py-1{padding-top:4px!important;padding-bottom:4px!important}.p-2{padding:8px!important}.pt-2{padding-top:8px!important}.pr-2{padding-right:8px!important}.pb-2{padding-bottom:8px!important}.pl-2,.px-2{padding-left:8px!important}.px-2{padding-right:8px!important}.py-2{padding-top:8px!important;padding-bottom:8px!important}.p-3{padding:16px!important}.pt-3{padding-top:16px!important}.pr-3{padding-right:16px!important}.pb-3{padding-bottom:16px!important}.pl-3,.px-3{padding-left:16px!important}.px-3{padding-right:16px!important}.py-3{padding-top:16px!important;padding-bottom:16px!important}.p-4{padding:24px!important}.pt-4{padding-top:24px!important}.pr-4{padding-right:24px!important}.pb-4{padding-bottom:24px!important}.pl-4,.px-4{padding-left:24px!important}.px-4{padding-right:24px!important}.py-4{padding-top:24px!important;padding-bottom:24px!important}.p-5{padding:32px!important}.pt-5{padding-top:32px!important}.pr-5{padding-right:32px!important}.pb-5{padding-bottom:32px!important}.pl-5,.px-5{padding-left:32px!important}.px-5{padding-right:32px!important}.py-5{padding-top:32px!important;padding-bottom:32px!important}.p-6{padding:40px!important}.pt-6{padding-top:40px!important}.pr-6{padding-right:40px!important}.pb-6{padding-bottom:40px!important}.pl-6,.px-6{padding-left:40px!important}.px-6{padding-right:40px!important}.py-6{padding-top:40px!important;padding-bottom:40px!important}@media (min-width:544px){.p-sm-0{padding:0!important}.pt-sm-0{padding-top:0!important}.pr-sm-0{padding-right:0!important}.pb-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.px-sm-0{padding-right:0!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.p-sm-1{padding:4px!important}.pt-sm-1{padding-top:4px!important}.pr-sm-1{padding-right:4px!important}.pb-sm-1{padding-bottom:4px!important}.pl-sm-1,.px-sm-1{padding-left:4px!important}.px-sm-1{padding-right:4px!important}.py-sm-1{padding-top:4px!important;padding-bottom:4px!important}.p-sm-2{padding:8px!important}.pt-sm-2{padding-top:8px!important}.pr-sm-2{padding-right:8px!important}.pb-sm-2{padding-bottom:8px!important}.pl-sm-2,.px-sm-2{padding-left:8px!important}.px-sm-2{padding-right:8px!important}.py-sm-2{padding-top:8px!important;padding-bottom:8px!important}.p-sm-3{padding:16px!important}.pt-sm-3{padding-top:16px!important}.pr-sm-3{padding-right:16px!important}.pb-sm-3{padding-bottom:16px!important}.pl-sm-3,.px-sm-3{padding-left:16px!important}.px-sm-3{padding-right:16px!important}.py-sm-3{padding-top:16px!important;padding-bottom:16px!important}.p-sm-4{padding:24px!important}.pt-sm-4{padding-top:24px!important}.pr-sm-4{padding-right:24px!important}.pb-sm-4{padding-bottom:24px!important}.pl-sm-4,.px-sm-4{padding-left:24px!important}.px-sm-4{padding-right:24px!important}.py-sm-4{padding-top:24px!important;padding-bottom:24px!important}.p-sm-5{padding:32px!important}.pt-sm-5{padding-top:32px!important}.pr-sm-5{padding-right:32px!important}.pb-sm-5{padding-bottom:32px!important}.pl-sm-5,.px-sm-5{padding-left:32px!important}.px-sm-5{padding-right:32px!important}.py-sm-5{padding-top:32px!important;padding-bottom:32px!important}.p-sm-6{padding:40px!important}.pt-sm-6{padding-top:40px!important}.pr-sm-6{padding-right:40px!important}.pb-sm-6{padding-bottom:40px!important}.pl-sm-6,.px-sm-6{padding-left:40px!important}.px-sm-6{padding-right:40px!important}.py-sm-6{padding-top:40px!important;padding-bottom:40px!important}}@media (min-width:768px){.p-md-0{padding:0!important}.pt-md-0{padding-top:0!important}.pr-md-0{padding-right:0!important}.pb-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.px-md-0{padding-right:0!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.p-md-1{padding:4px!important}.pt-md-1{padding-top:4px!important}.pr-md-1{padding-right:4px!important}.pb-md-1{padding-bottom:4px!important}.pl-md-1,.px-md-1{padding-left:4px!important}.px-md-1{padding-right:4px!important}.py-md-1{padding-top:4px!important;padding-bottom:4px!important}.p-md-2{padding:8px!important}.pt-md-2{padding-top:8px!important}.pr-md-2{padding-right:8px!important}.pb-md-2{padding-bottom:8px!important}.pl-md-2,.px-md-2{padding-left:8px!important}.px-md-2{padding-right:8px!important}.py-md-2{padding-top:8px!important;padding-bottom:8px!important}.p-md-3{padding:16px!important}.pt-md-3{padding-top:16px!important}.pr-md-3{padding-right:16px!important}.pb-md-3{padding-bottom:16px!important}.pl-md-3,.px-md-3{padding-left:16px!important}.px-md-3{padding-right:16px!important}.py-md-3{padding-top:16px!important;padding-bottom:16px!important}.p-md-4{padding:24px!important}.pt-md-4{padding-top:24px!important}.pr-md-4{padding-right:24px!important}.pb-md-4{padding-bottom:24px!important}.pl-md-4,.px-md-4{padding-left:24px!important}.px-md-4{padding-right:24px!important}.py-md-4{padding-top:24px!important;padding-bottom:24px!important}.p-md-5{padding:32px!important}.pt-md-5{padding-top:32px!important}.pr-md-5{padding-right:32px!important}.pb-md-5{padding-bottom:32px!important}.pl-md-5,.px-md-5{padding-left:32px!important}.px-md-5{padding-right:32px!important}.py-md-5{padding-top:32px!important;padding-bottom:32px!important}.p-md-6{padding:40px!important}.pt-md-6{padding-top:40px!important}.pr-md-6{padding-right:40px!important}.pb-md-6{padding-bottom:40px!important}.pl-md-6,.px-md-6{padding-left:40px!important}.px-md-6{padding-right:40px!important}.py-md-6{padding-top:40px!important;padding-bottom:40px!important}}@media (min-width:1012px){.p-lg-0{padding:0!important}.pt-lg-0{padding-top:0!important}.pr-lg-0{padding-right:0!important}.pb-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.px-lg-0{padding-right:0!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.p-lg-1{padding:4px!important}.pt-lg-1{padding-top:4px!important}.pr-lg-1{padding-right:4px!important}.pb-lg-1{padding-bottom:4px!important}.pl-lg-1,.px-lg-1{padding-left:4px!important}.px-lg-1{padding-right:4px!important}.py-lg-1{padding-top:4px!important;padding-bottom:4px!important}.p-lg-2{padding:8px!important}.pt-lg-2{padding-top:8px!important}.pr-lg-2{padding-right:8px!important}.pb-lg-2{padding-bottom:8px!important}.pl-lg-2,.px-lg-2{padding-left:8px!important}.px-lg-2{padding-right:8px!important}.py-lg-2{padding-top:8px!important;padding-bottom:8px!important}.p-lg-3{padding:16px!important}.pt-lg-3{padding-top:16px!important}.pr-lg-3{padding-right:16px!important}.pb-lg-3{padding-bottom:16px!important}.pl-lg-3,.px-lg-3{padding-left:16px!important}.px-lg-3{padding-right:16px!important}.py-lg-3{padding-top:16px!important;padding-bottom:16px!important}.p-lg-4{padding:24px!important}.pt-lg-4{padding-top:24px!important}.pr-lg-4{padding-right:24px!important}.pb-lg-4{padding-bottom:24px!important}.pl-lg-4,.px-lg-4{padding-left:24px!important}.px-lg-4{padding-right:24px!important}.py-lg-4{padding-top:24px!important;padding-bottom:24px!important}.p-lg-5{padding:32px!important}.pt-lg-5{padding-top:32px!important}.pr-lg-5{padding-right:32px!important}.pb-lg-5{padding-bottom:32px!important}.pl-lg-5,.px-lg-5{padding-left:32px!important}.px-lg-5{padding-right:32px!important}.py-lg-5{padding-top:32px!important;padding-bottom:32px!important}.p-lg-6{padding:40px!important}.pt-lg-6{padding-top:40px!important}.pr-lg-6{padding-right:40px!important}.pb-lg-6{padding-bottom:40px!important}.pl-lg-6,.px-lg-6{padding-left:40px!important}.px-lg-6{padding-right:40px!important}.py-lg-6{padding-top:40px!important;padding-bottom:40px!important}}@media (min-width:1280px){.p-xl-0{padding:0!important}.pt-xl-0{padding-top:0!important}.pr-xl-0{padding-right:0!important}.pb-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.px-xl-0{padding-right:0!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.p-xl-1{padding:4px!important}.pt-xl-1{padding-top:4px!important}.pr-xl-1{padding-right:4px!important}.pb-xl-1{padding-bottom:4px!important}.pl-xl-1,.px-xl-1{padding-left:4px!important}.px-xl-1{padding-right:4px!important}.py-xl-1{padding-top:4px!important;padding-bottom:4px!important}.p-xl-2{padding:8px!important}.pt-xl-2{padding-top:8px!important}.pr-xl-2{padding-right:8px!important}.pb-xl-2{padding-bottom:8px!important}.pl-xl-2,.px-xl-2{padding-left:8px!important}.px-xl-2{padding-right:8px!important}.py-xl-2{padding-top:8px!important;padding-bottom:8px!important}.p-xl-3{padding:16px!important}.pt-xl-3{padding-top:16px!important}.pr-xl-3{padding-right:16px!important}.pb-xl-3{padding-bottom:16px!important}.pl-xl-3,.px-xl-3{padding-left:16px!important}.px-xl-3{padding-right:16px!important}.py-xl-3{padding-top:16px!important;padding-bottom:16px!important}.p-xl-4{padding:24px!important}.pt-xl-4{padding-top:24px!important}.pr-xl-4{padding-right:24px!important}.pb-xl-4{padding-bottom:24px!important}.pl-xl-4,.px-xl-4{padding-left:24px!important}.px-xl-4{padding-right:24px!important}.py-xl-4{padding-top:24px!important;padding-bottom:24px!important}.p-xl-5{padding:32px!important}.pt-xl-5{padding-top:32px!important}.pr-xl-5{padding-right:32px!important}.pb-xl-5{padding-bottom:32px!important}.pl-xl-5,.px-xl-5{padding-left:32px!important}.px-xl-5{padding-right:32px!important}.py-xl-5{padding-top:32px!important;padding-bottom:32px!important}.p-xl-6{padding:40px!important}.pt-xl-6{padding-top:40px!important}.pr-xl-6{padding-right:40px!important}.pb-xl-6{padding-bottom:40px!important}.pl-xl-6,.px-xl-6{padding-left:40px!important}.px-xl-6{padding-right:40px!important}.py-xl-6{padding-top:40px!important;padding-bottom:40px!important}}.p-responsive{padding-right:16px!important;padding-left:16px!important}@media (min-width:544px){.p-responsive{padding-right:40px!important;padding-left:40px!important}}@media (min-width:1012px){.p-responsive{padding-right:16px!important;padding-left:16px!important}}.h1{font-size:26px!important}@media (min-width:768px){.h1{font-size:32px!important}}.h2{font-size:22px!important}@media (min-width:768px){.h2{font-size:24px!important}}.h3{font-size:18px!important}@media (min-width:768px){.h3{font-size:20px!important}}.h4{font-size:16px!important}.h5{font-size:14px!important}.h6{font-size:12px!important}.h1,.h2,.h3,.h4,.h5,.h6{font-weight:600!important}.f1{font-size:26px!important}@media (min-width:768px){.f1{font-size:32px!important}}.f2{font-size:22px!important}@media (min-width:768px){.f2{font-size:24px!important}}.f3{font-size:18px!important}@media (min-width:768px){.f3{font-size:20px!important}}.f4{font-size:16px!important}@media (min-width:768px){.f4{font-size:16px!important}}.f5{font-size:14px!important}.f6{font-size:12px!important}.f00-light{font-size:40px!important;font-weight:300!important}@media (min-width:768px){.f00-light{font-size:48px!important}}.f0-light{font-size:32px!important;font-weight:300!important}@media (min-width:768px){.f0-light{font-size:40px!important}}.f1-light{font-size:26px!important;font-weight:300!important}@media (min-width:768px){.f1-light{font-size:32px!important}}.f2-light{font-size:22px!important;font-weight:300!important}@media (min-width:768px){.f2-light{font-size:24px!important}}.f3-light{font-size:18px!important;font-weight:300!important}@media (min-width:768px){.f3-light{font-size:20px!important}}.text-small{font-size:12px!important}.lead{margin-bottom:30px;font-size:20px;font-weight:300}.lh-condensed-ultra{line-height:1!important}.lh-condensed{line-height:1.25!important}.lh-default{line-height:1.5!important}.lh-0{line-height:0!important}@media (min-width:544px){.lh-sm-condensed-ultra{line-height:1!important}.lh-sm-condensed{line-height:1.25!important}.lh-sm-default{line-height:1.5!important}.lh-sm-0{line-height:0!important}}@media (min-width:768px){.lh-md-condensed-ultra{line-height:1!important}.lh-md-condensed{line-height:1.25!important}.lh-md-default{line-height:1.5!important}.lh-md-0{line-height:0!important}}@media (min-width:1012px){.lh-lg-condensed-ultra{line-height:1!important}.lh-lg-condensed{line-height:1.25!important}.lh-lg-default{line-height:1.5!important}.lh-lg-0{line-height:0!important}}@media (min-width:1280px){.lh-xl-condensed-ultra{line-height:1!important}.lh-xl-condensed{line-height:1.25!important}.lh-xl-default{line-height:1.5!important}.lh-xl-0{line-height:0!important}}.text-right{text-align:right!important}.text-left{text-align:left!important}.text-center{text-align:center!important}@media (min-width:544px){.text-sm-right{text-align:right!important}.text-sm-left{text-align:left!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-right{text-align:right!important}.text-md-left{text-align:left!important}.text-md-center{text-align:center!important}}@media (min-width:1012px){.text-lg-right{text-align:right!important}.text-lg-left{text-align:left!important}.text-lg-center{text-align:center!important}}@media (min-width:1280px){.text-xl-right{text-align:right!important}.text-xl-left{text-align:left!important}.text-xl-center{text-align:center!important}}.text-normal{font-weight:400!important}.text-bold{font-weight:600!important}.text-italic{font-style:italic!important}.text-uppercase{text-transform:uppercase!important}.text-underline{text-decoration:underline!important}.no-underline{text-decoration:none!important}.no-wrap{white-space:nowrap!important}.ws-normal{white-space:normal!important}.break-word{word-break:break-word!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.wb-break-all{word-break:break-all!important}.text-emphasized{font-weight:600}.list-style-none{list-style:none!important}.text-mono{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}.d-block{display:block!important}.d-flex{display:flex!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.d-table{display:table!important}.d-table-cell{display:table-cell!important}@media (min-width:544px){.d-sm-block{display:block!important}.d-sm-flex{display:flex!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.d-sm-table{display:table!important}.d-sm-table-cell{display:table-cell!important}}@media (min-width:768px){.d-md-block{display:block!important}.d-md-flex{display:flex!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.d-md-table{display:table!important}.d-md-table-cell{display:table-cell!important}}@media (min-width:1012px){.d-lg-block{display:block!important}.d-lg-flex{display:flex!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.d-lg-table{display:table!important}.d-lg-table-cell{display:table-cell!important}}@media (min-width:1280px){.d-xl-block{display:block!important}.d-xl-flex{display:flex!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.d-xl-table{display:table!important}.d-xl-table-cell{display:table-cell!important}}.v-hidden{visibility:hidden!important}.v-visible{visibility:visible!important}@media (max-width:543px){.hide-sm{display:none!important}}@media (min-width:544px) and (max-width:767px){.hide-md{display:none!important}}@media (min-width:768px) and (max-width:1011px){.hide-lg{display:none!important}}@media (min-width:1012px){.hide-xl{display:none!important}}.table-fixed{table-layout:fixed!important}.sr-only{padding:0;clip:rect(0,0,0,0);word-wrap:normal;border:0}.show-on-focus,.sr-only{position:absolute;width:1px;height:1px;overflow:hidden}.show-on-focus{margin:0;clip:rect(1px,1px,1px,1px)}.show-on-focus:focus{z-index:20;width:auto;height:auto;clip:auto}[data-color-mode=dark]{--color-scale-black:#010409;--color-scale-white:#f0f6fc;--color-scale-gray-0:#f0f6fc;--color-scale-gray-1:#c9d1d9;--color-scale-gray-2:#b1bac4;--color-scale-gray-3:#8b949e;--color-scale-gray-4:#6e7681;--color-scale-gray-5:#484f58;--color-scale-gray-6:#30363d;--color-scale-gray-7:#21262d;--color-scale-gray-8:#161b22;--color-scale-gray-9:#0d1117;--color-scale-blue-0:#cae8ff;--color-scale-blue-1:#a5d6ff;--color-scale-blue-2:#79c0ff;--color-scale-blue-3:#58a6ff;--color-scale-blue-4:#388bfd;--color-scale-blue-5:#1f6feb;--color-scale-blue-6:#1158c7;--color-scale-blue-7:#0d419d;--color-scale-blue-8:#0c2d6b;--color-scale-blue-9:#051d4d;--color-scale-green-0:#aff5b4;--color-scale-green-1:#7ee787;--color-scale-green-2:#56d364;--color-scale-green-3:#3fb950;--color-scale-green-4:#2ea043;--color-scale-green-5:#238636;--color-scale-green-6:#196c2e;--color-scale-green-7:#0f5323;--color-scale-green-8:#033a16;--color-scale-green-9:#04260f;--color-scale-yellow-0:#f8e3a1;--color-scale-yellow-1:#f2cc60;--color-scale-yellow-2:#e3b341;--color-scale-yellow-3:#d29922;--color-scale-yellow-4:#bb8009;--color-scale-yellow-5:#9e6a03;--color-scale-yellow-6:#845306;--color-scale-yellow-7:#693e00;--color-scale-yellow-8:#4b2900;--color-scale-yellow-9:#341a00;--color-scale-orange-0:#ffdfb6;--color-scale-orange-1:#ffc680;--color-scale-orange-2:#ffa657;--color-scale-orange-3:#f0883e;--color-scale-orange-4:#db6d28;--color-scale-orange-5:#bd561d;--color-scale-orange-6:#9b4215;--color-scale-orange-7:#762d0a;--color-scale-orange-8:#5a1e02;--color-scale-orange-9:#3d1300;--color-scale-red-0:#ffdcd7;--color-scale-red-1:#ffc1ba;--color-scale-red-2:#ffa198;--color-scale-red-3:#ff7b72;--color-scale-red-4:#f85149;--color-scale-red-5:#da3633;--color-scale-red-6:#b62324;--color-scale-red-7:#8e1519;--color-scale-red-8:#67060c;--color-scale-red-9:#490202;--color-scale-purple-0:#eddeff;--color-scale-purple-1:#e2c5ff;--color-scale-purple-2:#d2a8ff;--color-scale-purple-3:#bc8cff;--color-scale-purple-4:#a371f7;--color-scale-purple-5:#8957e5;--color-scale-purple-6:#6e40c9;--color-scale-purple-7:#553098;--color-scale-purple-8:#3c1e70;--color-scale-purple-9:#271052;--color-scale-pink-0:#ffdaec;--color-scale-pink-1:#ffbedd;--color-scale-pink-2:#ff9bce;--color-scale-pink-3:#f778ba;--color-scale-pink-4:#db61a2;--color-scale-pink-5:#bf4b8a;--color-scale-pink-6:#9e3670;--color-scale-pink-7:#7d2457;--color-scale-pink-8:#5e103e;--color-scale-pink-9:#42062a;--color-auto-black:#f0f6fc;--color-auto-white:#010409;--color-auto-gray-0:#0d1117;--color-auto-gray-1:#161b22;--color-auto-gray-2:#21262d;--color-auto-gray-3:#30363d;--color-auto-gray-4:#484f58;--color-auto-gray-5:#6e7681;--color-auto-gray-6:#8b949e;--color-auto-gray-7:#b1bac4;--color-auto-gray-8:#c9d1d9;--color-auto-gray-9:#f0f6fc;--color-auto-blue-0:#051d4d;--color-auto-blue-1:#0c2d6b;--color-auto-blue-2:#0d419d;--color-auto-blue-3:#1158c7;--color-auto-blue-4:#1f6feb;--color-auto-blue-5:#388bfd;--color-auto-blue-6:#58a6ff;--color-auto-blue-7:#79c0ff;--color-auto-blue-8:#a5d6ff;--color-auto-blue-9:#cae8ff;--color-auto-green-0:#04260f;--color-auto-green-1:#033a16;--color-auto-green-2:#0f5323;--color-auto-green-3:#196c2e;--color-auto-green-4:#238636;--color-auto-green-5:#2ea043;--color-auto-green-6:#3fb950;--color-auto-green-7:#56d364;--color-auto-green-8:#7ee787;--color-auto-green-9:#aff5b4;--color-auto-yellow-0:#341a00;--color-auto-yellow-1:#4b2900;--color-auto-yellow-2:#693e00;--color-auto-yellow-3:#845306;--color-auto-yellow-4:#9e6a03;--color-auto-yellow-5:#bb8009;--color-auto-yellow-6:#d29922;--color-auto-yellow-7:#e3b341;--color-auto-yellow-8:#f2cc60;--color-auto-yellow-9:#f8e3a1;--color-auto-orange-0:#3d1300;--color-auto-orange-1:#5a1e02;--color-auto-orange-2:#762d0a;--color-auto-orange-3:#9b4215;--color-auto-orange-4:#bd561d;--color-auto-orange-5:#db6d28;--color-auto-orange-6:#f0883e;--color-auto-orange-7:#ffa657;--color-auto-orange-8:#ffc680;--color-auto-orange-9:#ffdfb6;--color-auto-red-0:#490202;--color-auto-red-1:#67060c;--color-auto-red-2:#8e1519;--color-auto-red-3:#b62324;--color-auto-red-4:#da3633;--color-auto-red-5:#f85149;--color-auto-red-6:#ff7b72;--color-auto-red-7:#ffa198;--color-auto-red-8:#ffc1ba;--color-auto-red-9:#ffdcd7;--color-auto-purple-0:#271052;--color-auto-purple-1:#3c1e70;--color-auto-purple-2:#553098;--color-auto-purple-3:#6e40c9;--color-auto-purple-4:#8957e5;--color-auto-purple-5:#a371f7;--color-auto-purple-6:#bc8cff;--color-auto-purple-7:#d2a8ff;--color-auto-purple-8:#e2c5ff;--color-auto-purple-9:#eddeff;--color-auto-pink-0:#42062a;--color-auto-pink-1:#5e103e;--color-auto-pink-2:#7d2457;--color-auto-pink-3:#9e3670;--color-auto-pink-4:#bf4b8a;--color-auto-pink-5:#db61a2;--color-auto-pink-6:#f778ba;--color-auto-pink-7:#ff9bce;--color-auto-pink-8:#ffbedd;--color-auto-pink-9:#ffdaec;--color-text-primary:#c9d1d9;--color-text-secondary:#8b949e;--color-text-tertiary:#8b949e;--color-text-placeholder:#484f58;--color-text-disabled:#484f58;--color-text-inverse:#0d1117;--color-text-link:#58a6ff;--color-text-danger:#f85149;--color-text-success:#56d364;--color-text-warning:#e3b341;--color-text-white:#f0f6fc;--color-icon-primary:#c9d1d9;--color-icon-secondary:#6e7681;--color-icon-tertiary:#484f58;--color-icon-info:#79c0ff;--color-icon-danger:#f85149;--color-icon-success:#56d364;--color-icon-warning:#e3b341;--color-border-primary:#30363d;--color-border-secondary:#21262d;--color-border-tertiary:#6e7681;--color-border-overlay:#30363d;--color-border-inverse:#f0f6fc;--color-border-info:rgba(56,139,253,0.4);--color-border-danger:rgba(248,81,73,0.4);--color-border-success:rgba(63,185,80,0.4);--color-border-warning:rgba(187,128,9,0.4);--color-bg-canvas:#0d1117;--color-bg-canvas-mobile:#010409;--color-bg-canvas-inverse:#f0f6fc;--color-bg-canvas-inset:#06090f;--color-bg-primary:#0d1117;--color-bg-secondary:#0d1117;--color-bg-tertiary:#161b22;--color-bg-overlay:#21262d;--color-bg-backdrop:rgba(1,4,9,0.8);--color-bg-info:rgba(56,139,253,0.1);--color-bg-info-inverse:#388bfd;--color-bg-danger:rgba(248,81,73,0.1);--color-bg-danger-inverse:#da3633;--color-bg-success:rgba(46,160,67,0.1);--color-bg-success-inverse:#2ea043;--color-bg-warning:rgba(187,128,9,0.1);--color-bg-warning-inverse:#bb8009;--color-shadow-small:0 0 transparent;--color-shadow-medium:0 3px 6px #010409;--color-shadow-large:0 8px 24px #010409;--color-shadow-extra-large:0 12px 48px #010409;--color-shadow-highlight:0 0 transparent;--color-shadow-inset:0 0 transparent;--color-state-hover-primary-bg:#1f6feb;--color-state-hover-primary-border:#388bfd;--color-state-hover-primary-text:#f0f6fc;--color-state-hover-primary-icon:#f0f6fc;--color-state-hover-secondary-bg:#161b22;--color-state-hover-secondary-border:#161b22;--color-state-selected-primary-bg:#1f6feb;--color-state-selected-primary-border:#388bfd;--color-state-selected-primary-text:#f0f6fc;--color-state-selected-primary-icon:#f0f6fc;--color-state-focus-border:#388bfd;--color-state-focus-shadow:0 0 0 3px #0c2d6b;--color-fade-fg-10:rgba(240,246,252,0.1);--color-fade-fg-15:rgba(240,246,252,0.15);--color-fade-fg-30:rgba(240,246,252,0.3);--color-fade-fg-50:rgba(240,246,252,0.5);--color-fade-fg-70:rgba(240,246,252,0.7);--color-fade-fg-85:rgba(240,246,252,0.85);--color-fade-black-10:rgba(1,4,9,0.1);--color-fade-black-15:rgba(1,4,9,0.15);--color-fade-black-30:rgba(1,4,9,0.3);--color-fade-black-50:rgba(1,4,9,0.5);--color-fade-black-70:rgba(1,4,9,0.7);--color-fade-black-85:rgba(1,4,9,0.85);--color-fade-white-10:rgba(240,246,252,0.1);--color-fade-white-15:rgba(240,246,252,0.15);--color-fade-white-30:rgba(240,246,252,0.3);--color-fade-white-50:rgba(240,246,252,0.5);--color-fade-white-70:rgba(240,246,252,0.7);--color-fade-white-85:rgba(240,246,252,0.85);--color-alert-info-text:#79c0ff;--color-alert-info-icon:#79c0ff;--color-alert-info-bg:rgba(56,139,253,0.1);--color-alert-info-border:rgba(56,139,253,0.4);--color-alert-warn-text:#e3b341;--color-alert-warn-icon:#e3b341;--color-alert-warn-bg:rgba(187,128,9,0.1);--color-alert-warn-border:rgba(187,128,9,0.4);--color-alert-error-text:#ff7b72;--color-alert-error-icon:#ff7b72;--color-alert-error-bg:rgba(248,81,73,0.1);--color-alert-error-border:rgba(248,81,73,0.4);--color-alert-success-text:#56d364;--color-alert-success-icon:#56d364;--color-alert-success-bg:rgba(46,160,67,0.1);--color-alert-success-border:rgba(46,160,67,0.4);--color-autocomplete-shadow:0 16px 32px rgba(1,4,9,0.85);--color-autocomplete-row-border:#30363d;--color-blankslate-icon:#535c66;--color-btn-text:#c9d1d9;--color-btn-bg:#21262d;--color-btn-border:#30363d;--color-btn-shadow:0 0 transparent;--color-btn-inset-shadow:0 0 transparent;--color-btn-hover-bg:#30363d;--color-btn-hover-border:#8b949e;--color-btn-selected-bg:#161b22;--color-btn-focus-bg:#21262d;--color-btn-focus-border:#8b949e;--color-btn-focus-shadow:0 0 0 3px rgba(139,148,158,0.3);--color-btn-shadow-active:inset 0 0.15em 0.3em rgba(1,4,9,0.15);--color-btn-shadow-input-focus:0 0 0 0.2em rgba(31,111,235,0.3);--color-btn-primary-text:#fff;--color-btn-primary-bg:#238636;--color-btn-primary-border:#2ea043;--color-btn-primary-shadow:0 0 transparent;--color-btn-primary-inset-shadow:0 0 transparent;--color-btn-primary-hover-bg:#2ea043;--color-btn-primary-hover-border:#3fb950;--color-btn-primary-selected-bg:#238636;--color-btn-primary-selected-shadow:0 0 transparent;--color-btn-primary-disabled-text:rgba(240,246,252,0.5);--color-btn-primary-disabled-bg:rgba(35,134,54,0.6);--color-btn-primary-disabled-border:transparent;--color-btn-primary-focus-bg:#238636;--color-btn-primary-focus-border:#3fb950;--color-btn-primary-focus-shadow:0 0 0 3px rgba(46,164,79,0.4);--color-btn-primary-icon:#f0f6fc;--color-btn-primary-counter-bg:rgba(240,246,252,0.2);--color-btn-outline-text:#58a6ff;--color-btn-outline-hover-text:#58a6ff;--color-btn-outline-hover-bg:#30363d;--color-btn-outline-hover-border:#58a6ff;--color-btn-outline-hover-shadow:0 1px 0 rgba(1,4,9,0.1);--color-btn-outline-hover-inset-shadow:inset 0 1px 0 rgba(240,246,252,0.03);--color-btn-outline-hover-counter-bg:rgba(240,246,252,0.2);--color-btn-outline-selected-text:#f0f6fc;--color-btn-outline-selected-bg:#0d419d;--color-btn-outline-selected-border:rgba(240,246,252,0.1);--color-btn-outline-selected-shadow:0 0 transparent;--color-btn-outline-disabled-text:rgba(88,166,255,0.5);--color-btn-outline-disabled-bg:#0d1117;--color-btn-outline-disabled-counter-bg:rgba(31,111,235,0.05);--color-btn-outline-focus-border:#58a6ff;--color-btn-outline-focus-shadow:0 0 0 3px rgba(17,88,199,0.4);--color-btn-outline-counter-bg:rgba(31,111,235,0.1);--color-btn-danger-text:#f85149;--color-btn-danger-hover-text:#fff;--color-btn-danger-hover-bg:#da3633;--color-btn-danger-hover-border:#f85149;--color-btn-danger-hover-shadow:0 0 transparent;--color-btn-danger-hover-inset-shadow:0 0 transparent;--color-btn-danger-hover-counter-bg:hsla(0,0%,100%,0.2);--color-btn-danger-selected-text:#fff;--color-btn-danger-selected-bg:#b62324;--color-btn-danger-selected-border:rgba(240,246,252,0.1);--color-btn-danger-selected-shadow:0 0 transparent;--color-btn-danger-disabled-text:#f85149;--color-btn-danger-disabled-bg:#0d1117;--color-btn-danger-disabled-counter-bg:rgba(218,54,51,0.05);--color-btn-danger-focus-border:#f85149;--color-btn-danger-focus-shadow:0 0 0 3px rgba(182,35,36,0.4);--color-btn-danger-counter-bg:rgba(218,54,51,0.1);--color-btn-counter-bg:#30363d;--color-counter-text:#c9d1d9;--color-counter-bg:#30363d;--color-counter-primary-text:#c9d1d9;--color-counter-primary-bg:#6e7681;--color-counter-secondary-text:#8b949e;--color-dropdown-shadow:0 16px 32px rgba(1,4,9,0.85);--color-label-border:#30363d;--color-label-primary-text:#b1bac4;--color-label-primary-border:#6e7681;--color-label-secondary-text:#8b949e;--color-label-secondary-border:#30363d;--color-label-info-text:#388bfd;--color-label-info-border:rgba(56,139,253,0.4);--color-label-success-text:#3fb950;--color-label-success-border:rgba(46,160,67,0.4);--color-label-warning-text:#e3b341;--color-label-warning-border:rgba(242,211,91,0.4);--color-label-danger-text:#f85149;--color-label-danger-border:rgba(248,81,73,0.4);--color-label-orange-text:#db6d28;--color-label-orange-border:rgba(219,109,40,0.4);--color-input-bg:#0d1117;--color-input-contrast-bg:rgba(1,4,9,0.3);--color-input-border:#21262d;--color-input-shadow:0 0 transparent;--color-input-disabled-bg:#161b22;--color-input-disabled-border:#30363d;--color-input-warning-border:#d29922;--color-input-error-border:#f85149;--color-input-tooltip-success-text:#56d364;--color-input-tooltip-success-bg:#101f1b;--color-input-tooltip-success-border:#1c532b;--color-input-tooltip-warning-text:#e3b341;--color-input-tooltip-warning-bg:#1e1c16;--color-input-tooltip-warning-border:#5d4411;--color-input-tooltip-error-text:#ff7b72;--color-input-tooltip-error-bg:#25171c;--color-input-tooltip-error-border:#792e2e;--color-avatar-bg:#f0f6fc;--color-avatar-border:rgba(240,246,252,0.1);--color-avatar-stack-fade:#30363d;--color-avatar-stack-fade-more:#21262d;--color-avatar-child-shadow:-2px -2px 0 #0d1117;--color-toast-text:#79c0ff;--color-toast-bg:#010409;--color-toast-border:#214981;--color-toast-shadow:0 8px 24px #010409;--color-toast-icon:#79c0ff;--color-toast-icon-bg:#121d2e;--color-toast-icon-border:#214981;--color-toast-success-text:#56d364;--color-toast-success-border:#1c532c;--color-toast-success-icon:#56d364;--color-toast-success-icon-bg:#111f1c;--color-toast-success-icon-border:#1c532c;--color-toast-warning-text:#e3b341;--color-toast-warning-border:#5e4411;--color-toast-warning-icon:#e3b341;--color-toast-warning-icon-bg:#1f1c16;--color-toast-warning-icon-border:#5e4411;--color-toast-danger-text:#ff7b72;--color-toast-danger-border:#792e2e;--color-toast-danger-icon:#ff7b72;--color-toast-danger-icon-bg:#25171c;--color-toast-danger-icon-border:#792e2e;--color-toast-loading-text:#c9d1d9;--color-toast-loading-border:#30363d;--color-toast-loading-icon:#f0f6fc;--color-toast-loading-icon-bg:#30363d;--color-toast-loading-icon-border:#30363d;--color-timeline-text:#b1bac4;--color-timeline-badge-bg:#0d1117;--color-timeline-target-badge-border:#1f6feb;--color-timeline-target-badge-shadow:#0d419d;--color-select-menu-border-secondary:#30363d;--color-select-menu-shadow:0 0 18px rgba(1,4,9,0.4);--color-select-menu-backdrop-bg:rgba(1,4,9,0.5);--color-select-menu-backdrop-border:#484f58;--color-select-menu-tap-highlight:rgba(48,54,61,0.5);--color-select-menu-tap-focus-bg:#0c2d6b;--color-box-blue-border:#0d419d;--color-box-row-yellow-bg:rgba(235,196,64,0.1);--color-box-row-blue-bg:rgba(121,192,255,0.1);--color-box-header-blue-bg:#0d1117;--color-box-header-blue-border:#30363d;--color-box-border-info:rgba(56,139,253,0.4);--color-box-bg-info:rgba(56,139,253,0.1);--color-box-border-warning:rgba(187,128,9,0.4);--color-box-bg-warning:rgba(187,128,9,0.1);--color-branch-name-text:#c9d1d9;--color-branch-name-icon:#b1bac4;--color-branch-name-bg:rgba(88,166,255,0.1);--color-branch-name-link-text:#58a6ff;--color-branch-name-link-icon:#58a6ff;--color-branch-name-link-bg:rgba(88,166,255,0.1);--color-markdown-code-bg:rgba(240,246,252,0.15);--color-markdown-frame-border:#3b434b;--color-markdown-blockquote-border:#3b434b;--color-markdown-table-border:#3b434b;--color-markdown-table-tr-border:#272c32;--color-menu-heading-text:#8b949e;--color-menu-border-active:#f78166;--color-menu-bg-active:#161b22;--color-sidenav-selected-bg:#21262d;--color-sidenav-border-active:#f78166;--color-header-text:rgba(240,246,252,0.7);--color-header-bg:#161b22;--color-header-logo:#f0f6fc;--color-filter-item-bar-bg:#12161c;--color-hidden-text-expander-bg:#21262d;--color-hidden-text-expander-bg-hover:#30363d;--color-drag-and-drop-border:#25292f;--color-upload-enabled-border:#3b434b;--color-upload-enabled-border-focused:#4487ee;--color-previewable-comment-form-border:#25292f;--color-underlinenav-border:rgba(48,54,61,0);--color-underlinenav-border-hover:#30363d;--color-underlinenav-border-active:#f78166;--color-underlinenav-text:#8b949e;--color-underlinenav-text-hover:#c9d1d9;--color-underlinenav-text-active:#c9d1d9;--color-underlinenav-icon:#6e7681;--color-underlinenav-icon-hover:#c9d1d9;--color-underlinenav-icon-active:#c9d1d9;--color-underlinenav-counter-text:#8b949e;--color-verified-badge-text:#3fb950;--color-verified-badge-bg:rgba(63,185,80,0.1);--color-verified-badge-border:rgba(63,185,80,0.4);--color-social-count-bg:#21262d;--color-tooltip-text:#f0f6fc;--color-tooltip-bg:#21262d;--color-header-search-bg:#0d1117;--color-header-search-border:#21262d;--color-search-keyword-hl:rgba(187,128,9,0.4);--color-diffstat-neutral-bg:#30363d;--color-diffstat-neutral-border:rgba(240,246,252,0.1);--color-diffstat-deletion-bg:#da3633;--color-diffstat-deletion-border:#f85149;--color-diffstat-addition-bg:#238636;--color-diffstat-addition-border:#2ea043;--color-files-explorer-icon:#6e7681;--color-hl-author-bg:#051d4d;--color-hl-author-border:#0d419d;--color-logo-subdued:#30363d;--color-discussion-border:#34513b;--color-discussion-bg-success:rgba(46,160,67,0.1);--color-actions-workflow-table-sticky-bg:rgba(13,17,23,0.95);--color-repo-language-color-border:rgba(240,246,252,0.2);--color-code-selection-bg:rgba(121,192,255,0.3);--color-blob-line-highlight-bg:rgba(187,128,9,0.1);--color-blob-line-highlight-border:#bb8009;--color-diff-addition-text:#56d364;--color-diff-addition-bg:rgba(35,134,54,0.15);--color-diff-addition-border:#196c2e;--color-diff-deletion-text:#f85149;--color-diff-deletion-bg:rgba(218,54,51,0.15);--color-diff-deletion-border:#b62324;--color-diff-change-text:#e3b341;--color-diff-change-bg:#341a00;--color-diff-change-border:#9e6a03;--color-diff-blob-num-text:rgba(240,246,252,0.3);--color-diff-blob-num-hover-text:rgba(240,246,252,0.6);--color-diff-blob-addition-num-text:#3fb950;--color-diff-blob-addition-num-hover-text:#7ee787;--color-diff-blob-addition-num-bg:rgba(35,134,54,0.05);--color-diff-blob-addition-line-bg:rgba(35,134,54,0.15);--color-diff-blob-addition-word-bg:rgba(35,134,54,0.3);--color-diff-blob-deletion-num-text:#f85149;--color-diff-blob-deletion-num-hover-text:#ffa198;--color-diff-blob-deletion-num-bg:rgba(218,54,51,0.05);--color-diff-blob-deletion-line-bg:rgba(218,54,51,0.15);--color-diff-blob-deletion-word-bg:rgba(218,54,51,0.3);--color-diff-blob-hunk-text:#8b949e;--color-diff-blob-hunk-num-bg:rgba(88,166,255,0.15);--color-diff-blob-hunk-line-bg:rgba(88,166,255,0.1);--color-diff-blob-empty-block-bg:#161b22;--color-diff-blob-selected-line-highlight-bg:rgba(187,128,9,0.1);--color-diff-blob-selected-line-highlight-border:#bb8009;--color-diff-blob-selected-line-highlight-mix-blend-mode:normal;--color-diff-blob-expander-icon:#8b949e;--color-diff-blob-expander-hover-icon:#f0f6fc;--color-diff-blob-expander-hover-bg:#1f6feb;--color-diff-blob-comment-button-icon:#f0f6fc;--color-diff-blob-comment-button-bg:#1f6feb;--color-diff-blob-comment-button-gradient-bg:#367eed;--color-global-nav-logo:#f0f6fc;--color-global-nav-bg:#161b22;--color-global-nav-text:#c9d1d9;--color-global-nav-icon:#c9d1d9;--color-global-nav-input-bg:#0d1117;--color-global-nav-input-border:#21262d;--color-global-nav-input-icon:#21262d;--color-global-nav-input-placeholder:#484f58;--color-calendar-graph-day-bg:#161b22;--color-calendar-graph-day-border:rgba(27,31,35,0.06);--color-calendar-graph-day-L1-bg:#01311f;--color-calendar-graph-day-L2-bg:#034525;--color-calendar-graph-day-L3-bg:#0f6d31;--color-calendar-graph-day-L4-bg:#00c647;--color-calendar-graph-day-L4-border:rgba(27,31,35,0.06);--color-calendar-graph-day-L3-border:rgba(27,31,35,0.06);--color-calendar-graph-day-L2-border:rgba(27,31,35,0.06);--color-calendar-graph-day-L1-border:rgba(27,31,35,0.06);--color-footer-invertocat-octicon:#30363d;--color-footer-invertocat-octicon-hover:#6e7681;--color-pr-state-draft-text:#8b949e;--color-pr-state-draft-bg:rgba(139,148,158,0.1);--color-pr-state-draft-border:rgba(139,148,158,0.4);--color-pr-state-open-text:#3fb950;--color-pr-state-open-bg:rgba(63,185,80,0.1);--color-pr-state-open-border:rgba(63,185,80,0.4);--color-pr-state-merged-text:#a371f7;--color-pr-state-merged-bg:rgba(188,140,255,0.1);--color-pr-state-merged-border:rgba(188,140,255,0.4);--color-pr-state-closed-text:#f85149;--color-pr-state-closed-bg:rgba(218,54,51,0.1);--color-pr-state-closed-border:rgba(218,54,51,0.4);--color-topic-tag-text:#58a6ff;--color-topic-tag-bg:rgba(56,139,253,0.1);--color-topic-tag-hover-bg:rgba(56,139,253,0.2);--color-topic-tag-active-bg:rgba(56,139,253,0.15);--color-merge-box-success-icon-bg:rgba(46,160,67,0.1);--color-merge-box-success-icon-text:#3fb950;--color-merge-box-success-icon-border:rgba(46,160,67,0.4);--color-merge-box-success-indicator-bg:#238636;--color-merge-box-success-indicator-border:#2ea043;--color-merge-box-merged-icon-bg:rgba(188,140,255,0.1);--color-merge-box-merged-icon-text:#a371f7;--color-merge-box-merged-icon-border:rgba(188,140,255,0.4);--color-merge-box-merged-box-border:rgba(188,140,255,0.4);--color-merge-box-neutral-icon-bg:rgba(201,209,217,0.1);--color-merge-box-neutral-icon-text:#8b949e;--color-merge-box-neutral-icon-border:rgba(201,209,217,0.4);--color-merge-box-neutral-indicator-bg:#484f58;--color-merge-box-neutral-indicator-border:#6e7681;--color-merge-box-warning-icon-bg:rgba(187,128,9,0.1);--color-merge-box-warning-icon-text:#e3b341;--color-merge-box-warning-icon-border:rgba(187,128,9,0.4);--color-merge-box-warning-box-border:rgba(187,128,9,0.4);--color-merge-box-warning-merge-highlight:rgba(187,128,9,0.1);--color-merge-box-error-icon-bg:rgba(248,81,73,0.1);--color-merge-box-error-icon-text:#f85149;--color-merge-box-error-icon-border:rgba(248,81,73,0.4);--color-merge-box-error-indicator-bg:#da3633;--color-merge-box-error-indicator-border:#f85149;--color-project-card-bg:#161b22;--color-project-header-bg:#0d1117;--color-project-sidebar-bg:#161b22;--color-project-gradient-in:#161b22;--color-project-gradient-out:rgba(22,27,34,0);--color-marketing-icon-primary:#79c0ff;--color-marketing-icon-secondary:#1f6feb;--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-storage-modifier-import:#c9d1d9;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-variable:#ffa657;--color-prettylights-syntax-brackethighlighter-unmatched:#f85149;--color-prettylights-syntax-invalid-illegal-text:#f0f6fc;--color-prettylights-syntax-invalid-illegal-bg:#8e1519;--color-prettylights-syntax-carriage-return-text:#f0f6fc;--color-prettylights-syntax-carriage-return-bg:#b62324;--color-prettylights-syntax-string-regexp:#7ee787;--color-prettylights-syntax-markup-list:#f2cc60;--color-prettylights-syntax-markup-heading:#1f6feb;--color-prettylights-syntax-markup-italic:#c9d1d9;--color-prettylights-syntax-markup-bold:#c9d1d9;--color-prettylights-syntax-markup-deleted-text:#ffdcd7;--color-prettylights-syntax-markup-deleted-bg:#67060c;--color-prettylights-syntax-markup-inserted-text:#aff5b4;--color-prettylights-syntax-markup-inserted-bg:#033a16;--color-prettylights-syntax-markup-changed-text:#ffdfb6;--color-prettylights-syntax-markup-changed-bg:#5a1e02;--color-prettylights-syntax-markup-ignored-text:#c9d1d9;--color-prettylights-syntax-markup-ignored-bg:#1158c7;--color-prettylights-syntax-meta-diff-range:#d2a8ff;--color-prettylights-syntax-brackethighlighter-angle:#8b949e;--color-prettylights-syntax-sublimelinter-gutter-mark:#484f58;--color-prettylights-syntax-constant-other-reference-link:#a5d6ff;--color-codemirror-text:#c9d1d9;--color-codemirror-bg:#0d1117;--color-codemirror-gutters-bg:#0d1117;--color-codemirror-guttermarker-text:#0d1117;--color-codemirror-guttermarker-subtle-text:#6e7681;--color-codemirror-linenumber-text:#8b949e;--color-codemirror-cursor:#f0f6fc;--color-codemirror-selection-bg:rgba(121,192,255,0.3);--color-codemirror-activeline-bg:#161b22;--color-codemirror-matchingbracket-text:#c9d1d9;--color-codemirror-lines-bg:#0d1117;--color-codemirror-syntax-comment:#8b949e;--color-codemirror-syntax-constant:#79c0ff;--color-codemirror-syntax-entity:#d2a8ff;--color-codemirror-syntax-keyword:#ff7b72;--color-codemirror-syntax-storage:#ff7b72;--color-codemirror-syntax-string:#a5d6ff;--color-codemirror-syntax-support:#79c0ff;--color-codemirror-syntax-variable:#ffa657;--color-ansi-black:#0d1117;--color-ansi-black-bright:#161b22;--color-ansi-white:#b1bac4;--color-ansi-white-bright:#b1bac4;--color-ansi-gray:#6e7681;--color-ansi-red:#ff7b72;--color-ansi-red-bright:#ffa198;--color-ansi-green:#3fb950;--color-ansi-green-bright:#56d364;--color-ansi-yellow:#d29922;--color-ansi-yellow-bright:#e3b341;--color-ansi-blue:#58a6ff;--color-ansi-blue-bright:#79c0ff;--color-ansi-magenta:#bc8cff;--color-ansi-magenta-bright:#d2a8ff;--color-ansi-cyan:#76e3ea;--color-ansi-cyan-bright:#b3f0ff}@media (prefers-color-scheme:dark){[data-color-mode=auto]{--color-scale-black:#010409;--color-scale-white:#f0f6fc;--color-scale-gray-0:#f0f6fc;--color-scale-gray-1:#c9d1d9;--color-scale-gray-2:#b1bac4;--color-scale-gray-3:#8b949e;--color-scale-gray-4:#6e7681;--color-scale-gray-5:#484f58;--color-scale-gray-6:#30363d;--color-scale-gray-7:#21262d;--color-scale-gray-8:#161b22;--color-scale-gray-9:#0d1117;--color-scale-blue-0:#cae8ff;--color-scale-blue-1:#a5d6ff;--color-scale-blue-2:#79c0ff;--color-scale-blue-3:#58a6ff;--color-scale-blue-4:#388bfd;--color-scale-blue-5:#1f6feb;--color-scale-blue-6:#1158c7;--color-scale-blue-7:#0d419d;--color-scale-blue-8:#0c2d6b;--color-scale-blue-9:#051d4d;--color-scale-green-0:#aff5b4;--color-scale-green-1:#7ee787;--color-scale-green-2:#56d364;--color-scale-green-3:#3fb950;--color-scale-green-4:#2ea043;--color-scale-green-5:#238636;--color-scale-green-6:#196c2e;--color-scale-green-7:#0f5323;--color-scale-green-8:#033a16;--color-scale-green-9:#04260f;--color-scale-yellow-0:#f8e3a1;--color-scale-yellow-1:#f2cc60;--color-scale-yellow-2:#e3b341;--color-scale-yellow-3:#d29922;--color-scale-yellow-4:#bb8009;--color-scale-yellow-5:#9e6a03;--color-scale-yellow-6:#845306;--color-scale-yellow-7:#693e00;--color-scale-yellow-8:#4b2900;--color-scale-yellow-9:#341a00;--color-scale-orange-0:#ffdfb6;--color-scale-orange-1:#ffc680;--color-scale-orange-2:#ffa657;--color-scale-orange-3:#f0883e;--color-scale-orange-4:#db6d28;--color-scale-orange-5:#bd561d;--color-scale-orange-6:#9b4215;--color-scale-orange-7:#762d0a;--color-scale-orange-8:#5a1e02;--color-scale-orange-9:#3d1300;--color-scale-red-0:#ffdcd7;--color-scale-red-1:#ffc1ba;--color-scale-red-2:#ffa198;--color-scale-red-3:#ff7b72;--color-scale-red-4:#f85149;--color-scale-red-5:#da3633;--color-scale-red-6:#b62324;--color-scale-red-7:#8e1519;--color-scale-red-8:#67060c;--color-scale-red-9:#490202;--color-scale-purple-0:#eddeff;--color-scale-purple-1:#e2c5ff;--color-scale-purple-2:#d2a8ff;--color-scale-purple-3:#bc8cff;--color-scale-purple-4:#a371f7;--color-scale-purple-5:#8957e5;--color-scale-purple-6:#6e40c9;--color-scale-purple-7:#553098;--color-scale-purple-8:#3c1e70;--color-scale-purple-9:#271052;--color-scale-pink-0:#ffdaec;--color-scale-pink-1:#ffbedd;--color-scale-pink-2:#ff9bce;--color-scale-pink-3:#f778ba;--color-scale-pink-4:#db61a2;--color-scale-pink-5:#bf4b8a;--color-scale-pink-6:#9e3670;--color-scale-pink-7:#7d2457;--color-scale-pink-8:#5e103e;--color-scale-pink-9:#42062a;--color-auto-black:#f0f6fc;--color-auto-white:#010409;--color-auto-gray-0:#0d1117;--color-auto-gray-1:#161b22;--color-auto-gray-2:#21262d;--color-auto-gray-3:#30363d;--color-auto-gray-4:#484f58;--color-auto-gray-5:#6e7681;--color-auto-gray-6:#8b949e;--color-auto-gray-7:#b1bac4;--color-auto-gray-8:#c9d1d9;--color-auto-gray-9:#f0f6fc;--color-auto-blue-0:#051d4d;--color-auto-blue-1:#0c2d6b;--color-auto-blue-2:#0d419d;--color-auto-blue-3:#1158c7;--color-auto-blue-4:#1f6feb;--color-auto-blue-5:#388bfd;--color-auto-blue-6:#58a6ff;--color-auto-blue-7:#79c0ff;--color-auto-blue-8:#a5d6ff;--color-auto-blue-9:#cae8ff;--color-auto-green-0:#04260f;--color-auto-green-1:#033a16;--color-auto-green-2:#0f5323;--color-auto-green-3:#196c2e;--color-auto-green-4:#238636;--color-auto-green-5:#2ea043;--color-auto-green-6:#3fb950;--color-auto-green-7:#56d364;--color-auto-green-8:#7ee787;--color-auto-green-9:#aff5b4;--color-auto-yellow-0:#341a00;--color-auto-yellow-1:#4b2900;--color-auto-yellow-2:#693e00;--color-auto-yellow-3:#845306;--color-auto-yellow-4:#9e6a03;--color-auto-yellow-5:#bb8009;--color-auto-yellow-6:#d29922;--color-auto-yellow-7:#e3b341;--color-auto-yellow-8:#f2cc60;--color-auto-yellow-9:#f8e3a1;--color-auto-orange-0:#3d1300;--color-auto-orange-1:#5a1e02;--color-auto-orange-2:#762d0a;--color-auto-orange-3:#9b4215;--color-auto-orange-4:#bd561d;--color-auto-orange-5:#db6d28;--color-auto-orange-6:#f0883e;--color-auto-orange-7:#ffa657;--color-auto-orange-8:#ffc680;--color-auto-orange-9:#ffdfb6;--color-auto-red-0:#490202;--color-auto-red-1:#67060c;--color-auto-red-2:#8e1519;--color-auto-red-3:#b62324;--color-auto-red-4:#da3633;--color-auto-red-5:#f85149;--color-auto-red-6:#ff7b72;--color-auto-red-7:#ffa198;--color-auto-red-8:#ffc1ba;--color-auto-red-9:#ffdcd7;--color-auto-purple-0:#271052;--color-auto-purple-1:#3c1e70;--color-auto-purple-2:#553098;--color-auto-purple-3:#6e40c9;--color-auto-purple-4:#8957e5;--color-auto-purple-5:#a371f7;--color-auto-purple-6:#bc8cff;--color-auto-purple-7:#d2a8ff;--color-auto-purple-8:#e2c5ff;--color-auto-purple-9:#eddeff;--color-auto-pink-0:#42062a;--color-auto-pink-1:#5e103e;--color-auto-pink-2:#7d2457;--color-auto-pink-3:#9e3670;--color-auto-pink-4:#bf4b8a;--color-auto-pink-5:#db61a2;--color-auto-pink-6:#f778ba;--color-auto-pink-7:#ff9bce;--color-auto-pink-8:#ffbedd;--color-auto-pink-9:#ffdaec;--color-text-primary:#c9d1d9;--color-text-secondary:#8b949e;--color-text-tertiary:#8b949e;--color-text-placeholder:#484f58;--color-text-disabled:#484f58;--color-text-inverse:#0d1117;--color-text-link:#58a6ff;--color-text-danger:#f85149;--color-text-success:#56d364;--color-text-warning:#e3b341;--color-text-white:#f0f6fc;--color-icon-primary:#c9d1d9;--color-icon-secondary:#6e7681;--color-icon-tertiary:#484f58;--color-icon-info:#79c0ff;--color-icon-danger:#f85149;--color-icon-success:#56d364;--color-icon-warning:#e3b341;--color-border-primary:#30363d;--color-border-secondary:#21262d;--color-border-tertiary:#6e7681;--color-border-overlay:#30363d;--color-border-inverse:#f0f6fc;--color-border-info:rgba(56,139,253,0.4);--color-border-danger:rgba(248,81,73,0.4);--color-border-success:rgba(63,185,80,0.4);--color-border-warning:rgba(187,128,9,0.4);--color-bg-canvas:#0d1117;--color-bg-canvas-mobile:#010409;--color-bg-canvas-inverse:#f0f6fc;--color-bg-canvas-inset:#06090f;--color-bg-primary:#0d1117;--color-bg-secondary:#0d1117;--color-bg-tertiary:#161b22;--color-bg-overlay:#21262d;--color-bg-backdrop:rgba(1,4,9,0.8);--color-bg-info:rgba(56,139,253,0.1);--color-bg-info-inverse:#388bfd;--color-bg-danger:rgba(248,81,73,0.1);--color-bg-danger-inverse:#da3633;--color-bg-success:rgba(46,160,67,0.1);--color-bg-success-inverse:#2ea043;--color-bg-warning:rgba(187,128,9,0.1);--color-bg-warning-inverse:#bb8009;--color-shadow-small:0 0 transparent;--color-shadow-medium:0 3px 6px #010409;--color-shadow-large:0 8px 24px #010409;--color-shadow-extra-large:0 12px 48px #010409;--color-shadow-highlight:0 0 transparent;--color-shadow-inset:0 0 transparent;--color-state-hover-primary-bg:#1f6feb;--color-state-hover-primary-border:#388bfd;--color-state-hover-primary-text:#f0f6fc;--color-state-hover-primary-icon:#f0f6fc;--color-state-hover-secondary-bg:#161b22;--color-state-hover-secondary-border:#161b22;--color-state-selected-primary-bg:#1f6feb;--color-state-selected-primary-border:#388bfd;--color-state-selected-primary-text:#f0f6fc;--color-state-selected-primary-icon:#f0f6fc;--color-state-focus-border:#388bfd;--color-state-focus-shadow:0 0 0 3px #0c2d6b;--color-fade-fg-10:rgba(240,246,252,0.1);--color-fade-fg-15:rgba(240,246,252,0.15);--color-fade-fg-30:rgba(240,246,252,0.3);--color-fade-fg-50:rgba(240,246,252,0.5);--color-fade-fg-70:rgba(240,246,252,0.7);--color-fade-fg-85:rgba(240,246,252,0.85);--color-fade-black-10:rgba(1,4,9,0.1);--color-fade-black-15:rgba(1,4,9,0.15);--color-fade-black-30:rgba(1,4,9,0.3);--color-fade-black-50:rgba(1,4,9,0.5);--color-fade-black-70:rgba(1,4,9,0.7);--color-fade-black-85:rgba(1,4,9,0.85);--color-fade-white-10:rgba(240,246,252,0.1);--color-fade-white-15:rgba(240,246,252,0.15);--color-fade-white-30:rgba(240,246,252,0.3);--color-fade-white-50:rgba(240,246,252,0.5);--color-fade-white-70:rgba(240,246,252,0.7);--color-fade-white-85:rgba(240,246,252,0.85);--color-alert-info-text:#79c0ff;--color-alert-info-icon:#79c0ff;--color-alert-info-bg:rgba(56,139,253,0.1);--color-alert-info-border:rgba(56,139,253,0.4);--color-alert-warn-text:#e3b341;--color-alert-warn-icon:#e3b341;--color-alert-warn-bg:rgba(187,128,9,0.1);--color-alert-warn-border:rgba(187,128,9,0.4);--color-alert-error-text:#ff7b72;--color-alert-error-icon:#ff7b72;--color-alert-error-bg:rgba(248,81,73,0.1);--color-alert-error-border:rgba(248,81,73,0.4);--color-alert-success-text:#56d364;--color-alert-success-icon:#56d364;--color-alert-success-bg:rgba(46,160,67,0.1);--color-alert-success-border:rgba(46,160,67,0.4);--color-autocomplete-shadow:0 16px 32px rgba(1,4,9,0.85);--color-autocomplete-row-border:#30363d;--color-blankslate-icon:#535c66;--color-btn-text:#c9d1d9;--color-btn-bg:#21262d;--color-btn-border:#30363d;--color-btn-shadow:0 0 transparent;--color-btn-inset-shadow:0 0 transparent;--color-btn-hover-bg:#30363d;--color-btn-hover-border:#8b949e;--color-btn-selected-bg:#161b22;--color-btn-focus-bg:#21262d;--color-btn-focus-border:#8b949e;--color-btn-focus-shadow:0 0 0 3px rgba(139,148,158,0.3);--color-btn-shadow-active:inset 0 0.15em 0.3em rgba(1,4,9,0.15);--color-btn-shadow-input-focus:0 0 0 0.2em rgba(31,111,235,0.3);--color-btn-primary-text:#fff;--color-btn-primary-bg:#238636;--color-btn-primary-border:#2ea043;--color-btn-primary-shadow:0 0 transparent;--color-btn-primary-inset-shadow:0 0 transparent;--color-btn-primary-hover-bg:#2ea043;--color-btn-primary-hover-border:#3fb950;--color-btn-primary-selected-bg:#238636;--color-btn-primary-selected-shadow:0 0 transparent;--color-btn-primary-disabled-text:rgba(240,246,252,0.5);--color-btn-primary-disabled-bg:rgba(35,134,54,0.6);--color-btn-primary-disabled-border:transparent;--color-btn-primary-focus-bg:#238636;--color-btn-primary-focus-border:#3fb950;--color-btn-primary-focus-shadow:0 0 0 3px rgba(46,164,79,0.4);--color-btn-primary-icon:#f0f6fc;--color-btn-primary-counter-bg:rgba(240,246,252,0.2);--color-btn-outline-text:#58a6ff;--color-btn-outline-hover-text:#58a6ff;--color-btn-outline-hover-bg:#30363d;--color-btn-outline-hover-border:#58a6ff;--color-btn-outline-hover-shadow:0 1px 0 rgba(1,4,9,0.1);--color-btn-outline-hover-inset-shadow:inset 0 1px 0 rgba(240,246,252,0.03);--color-btn-outline-hover-counter-bg:rgba(240,246,252,0.2);--color-btn-outline-selected-text:#f0f6fc;--color-btn-outline-selected-bg:#0d419d;--color-btn-outline-selected-border:rgba(240,246,252,0.1);--color-btn-outline-selected-shadow:0 0 transparent;--color-btn-outline-disabled-text:rgba(88,166,255,0.5);--color-btn-outline-disabled-bg:#0d1117;--color-btn-outline-disabled-counter-bg:rgba(31,111,235,0.05);--color-btn-outline-focus-border:#58a6ff;--color-btn-outline-focus-shadow:0 0 0 3px rgba(17,88,199,0.4);--color-btn-outline-counter-bg:rgba(31,111,235,0.1);--color-btn-danger-text:#f85149;--color-btn-danger-hover-text:#fff;--color-btn-danger-hover-bg:#da3633;--color-btn-danger-hover-border:#f85149;--color-btn-danger-hover-shadow:0 0 transparent;--color-btn-danger-hover-inset-shadow:0 0 transparent;--color-btn-danger-hover-counter-bg:hsla(0,0%,100%,0.2);--color-btn-danger-selected-text:#fff;--color-btn-danger-selected-bg:#b62324;--color-btn-danger-selected-border:rgba(240,246,252,0.1);--color-btn-danger-selected-shadow:0 0 transparent;--color-btn-danger-disabled-text:#f85149;--color-btn-danger-disabled-bg:#0d1117;--color-btn-danger-disabled-counter-bg:rgba(218,54,51,0.05);--color-btn-danger-focus-border:#f85149;--color-btn-danger-focus-shadow:0 0 0 3px rgba(182,35,36,0.4);--color-btn-danger-counter-bg:rgba(218,54,51,0.1);--color-btn-counter-bg:#30363d;--color-counter-text:#c9d1d9;--color-counter-bg:#30363d;--color-counter-primary-text:#c9d1d9;--color-counter-primary-bg:#6e7681;--color-counter-secondary-text:#8b949e;--color-dropdown-shadow:0 16px 32px rgba(1,4,9,0.85);--color-label-border:#30363d;--color-label-primary-text:#b1bac4;--color-label-primary-border:#6e7681;--color-label-secondary-text:#8b949e;--color-label-secondary-border:#30363d;--color-label-info-text:#388bfd;--color-label-info-border:rgba(56,139,253,0.4);--color-label-success-text:#3fb950;--color-label-success-border:rgba(46,160,67,0.4);--color-label-warning-text:#e3b341;--color-label-warning-border:rgba(242,211,91,0.4);--color-label-danger-text:#f85149;--color-label-danger-border:rgba(248,81,73,0.4);--color-label-orange-text:#db6d28;--color-label-orange-border:rgba(219,109,40,0.4);--color-input-bg:#0d1117;--color-input-contrast-bg:rgba(1,4,9,0.3);--color-input-border:#21262d;--color-input-shadow:0 0 transparent;--color-input-disabled-bg:#161b22;--color-input-disabled-border:#30363d;--color-input-warning-border:#d29922;--color-input-error-border:#f85149;--color-input-tooltip-success-text:#56d364;--color-input-tooltip-success-bg:#101f1b;--color-input-tooltip-success-border:#1c532b;--color-input-tooltip-warning-text:#e3b341;--color-input-tooltip-warning-bg:#1e1c16;--color-input-tooltip-warning-border:#5d4411;--color-input-tooltip-error-text:#ff7b72;--color-input-tooltip-error-bg:#25171c;--color-input-tooltip-error-border:#792e2e;--color-avatar-bg:#f0f6fc;--color-avatar-border:rgba(240,246,252,0.1);--color-avatar-stack-fade:#30363d;--color-avatar-stack-fade-more:#21262d;--color-avatar-child-shadow:-2px -2px 0 #0d1117;--color-toast-text:#79c0ff;--color-toast-bg:#010409;--color-toast-border:#214981;--color-toast-shadow:0 8px 24px #010409;--color-toast-icon:#79c0ff;--color-toast-icon-bg:#121d2e;--color-toast-icon-border:#214981;--color-toast-success-text:#56d364;--color-toast-success-border:#1c532c;--color-toast-success-icon:#56d364;--color-toast-success-icon-bg:#111f1c;--color-toast-success-icon-border:#1c532c;--color-toast-warning-text:#e3b341;--color-toast-warning-border:#5e4411;--color-toast-warning-icon:#e3b341;--color-toast-warning-icon-bg:#1f1c16;--color-toast-warning-icon-border:#5e4411;--color-toast-danger-text:#ff7b72;--color-toast-danger-border:#792e2e;--color-toast-danger-icon:#ff7b72;--color-toast-danger-icon-bg:#25171c;--color-toast-danger-icon-border:#792e2e;--color-toast-loading-text:#c9d1d9;--color-toast-loading-border:#30363d;--color-toast-loading-icon:#f0f6fc;--color-toast-loading-icon-bg:#30363d;--color-toast-loading-icon-border:#30363d;--color-timeline-text:#b1bac4;--color-timeline-badge-bg:#0d1117;--color-timeline-target-badge-border:#1f6feb;--color-timeline-target-badge-shadow:#0d419d;--color-select-menu-border-secondary:#30363d;--color-select-menu-shadow:0 0 18px rgba(1,4,9,0.4);--color-select-menu-backdrop-bg:rgba(1,4,9,0.5);--color-select-menu-backdrop-border:#484f58;--color-select-menu-tap-highlight:rgba(48,54,61,0.5);--color-select-menu-tap-focus-bg:#0c2d6b;--color-box-blue-border:#0d419d;--color-box-row-yellow-bg:rgba(235,196,64,0.1);--color-box-row-blue-bg:rgba(121,192,255,0.1);--color-box-header-blue-bg:#0d1117;--color-box-header-blue-border:#30363d;--color-box-border-info:rgba(56,139,253,0.4);--color-box-bg-info:rgba(56,139,253,0.1);--color-box-border-warning:rgba(187,128,9,0.4);--color-box-bg-warning:rgba(187,128,9,0.1);--color-branch-name-text:#c9d1d9;--color-branch-name-icon:#b1bac4;--color-branch-name-bg:rgba(88,166,255,0.1);--color-branch-name-link-text:#58a6ff;--color-branch-name-link-icon:#58a6ff;--color-branch-name-link-bg:rgba(88,166,255,0.1);--color-markdown-code-bg:rgba(240,246,252,0.15);--color-markdown-frame-border:#3b434b;--color-markdown-blockquote-border:#3b434b;--color-markdown-table-border:#3b434b;--color-markdown-table-tr-border:#272c32;--color-menu-heading-text:#8b949e;--color-menu-border-active:#f78166;--color-menu-bg-active:#161b22;--color-sidenav-selected-bg:#21262d;--color-sidenav-border-active:#f78166;--color-header-text:rgba(240,246,252,0.7);--color-header-bg:#161b22;--color-header-logo:#f0f6fc;--color-filter-item-bar-bg:#12161c;--color-hidden-text-expander-bg:#21262d;--color-hidden-text-expander-bg-hover:#30363d;--color-drag-and-drop-border:#25292f;--color-upload-enabled-border:#3b434b;--color-upload-enabled-border-focused:#4487ee;--color-previewable-comment-form-border:#25292f;--color-underlinenav-border:rgba(48,54,61,0);--color-underlinenav-border-hover:#30363d;--color-underlinenav-border-active:#f78166;--color-underlinenav-text:#8b949e;--color-underlinenav-text-hover:#c9d1d9;--color-underlinenav-text-active:#c9d1d9;--color-underlinenav-icon:#6e7681;--color-underlinenav-icon-hover:#c9d1d9;--color-underlinenav-icon-active:#c9d1d9;--color-underlinenav-counter-text:#8b949e;--color-verified-badge-text:#3fb950;--color-verified-badge-bg:rgba(63,185,80,0.1);--color-verified-badge-border:rgba(63,185,80,0.4);--color-social-count-bg:#21262d;--color-tooltip-text:#f0f6fc;--color-tooltip-bg:#21262d;--color-header-search-bg:#0d1117;--color-header-search-border:#21262d;--color-search-keyword-hl:rgba(187,128,9,0.4);--color-diffstat-neutral-bg:#30363d;--color-diffstat-neutral-border:rgba(240,246,252,0.1);--color-diffstat-deletion-bg:#da3633;--color-diffstat-deletion-border:#f85149;--color-diffstat-addition-bg:#238636;--color-diffstat-addition-border:#2ea043;--color-files-explorer-icon:#6e7681;--color-hl-author-bg:#051d4d;--color-hl-author-border:#0d419d;--color-logo-subdued:#30363d;--color-discussion-border:#34513b;--color-discussion-bg-success:rgba(46,160,67,0.1);--color-actions-workflow-table-sticky-bg:rgba(13,17,23,0.95);--color-repo-language-color-border:rgba(240,246,252,0.2);--color-code-selection-bg:rgba(121,192,255,0.3);--color-blob-line-highlight-bg:rgba(187,128,9,0.1);--color-blob-line-highlight-border:#bb8009;--color-diff-addition-text:#56d364;--color-diff-addition-bg:rgba(35,134,54,0.15);--color-diff-addition-border:#196c2e;--color-diff-deletion-text:#f85149;--color-diff-deletion-bg:rgba(218,54,51,0.15);--color-diff-deletion-border:#b62324;--color-diff-change-text:#e3b341;--color-diff-change-bg:#341a00;--color-diff-change-border:#9e6a03;--color-diff-blob-num-text:rgba(240,246,252,0.3);--color-diff-blob-num-hover-text:rgba(240,246,252,0.6);--color-diff-blob-addition-num-text:#3fb950;--color-diff-blob-addition-num-hover-text:#7ee787;--color-diff-blob-addition-num-bg:rgba(35,134,54,0.05);--color-diff-blob-addition-line-bg:rgba(35,134,54,0.15);--color-diff-blob-addition-word-bg:rgba(35,134,54,0.3);--color-diff-blob-deletion-num-text:#f85149;--color-diff-blob-deletion-num-hover-text:#ffa198;--color-diff-blob-deletion-num-bg:rgba(218,54,51,0.05);--color-diff-blob-deletion-line-bg:rgba(218,54,51,0.15);--color-diff-blob-deletion-word-bg:rgba(218,54,51,0.3);--color-diff-blob-hunk-text:#8b949e;--color-diff-blob-hunk-num-bg:rgba(88,166,255,0.15);--color-diff-blob-hunk-line-bg:rgba(88,166,255,0.1);--color-diff-blob-empty-block-bg:#161b22;--color-diff-blob-selected-line-highlight-bg:rgba(187,128,9,0.1);--color-diff-blob-selected-line-highlight-border:#bb8009;--color-diff-blob-selected-line-highlight-mix-blend-mode:normal;--color-diff-blob-expander-icon:#8b949e;--color-diff-blob-expander-hover-icon:#f0f6fc;--color-diff-blob-expander-hover-bg:#1f6feb;--color-diff-blob-comment-button-icon:#f0f6fc;--color-diff-blob-comment-button-bg:#1f6feb;--color-diff-blob-comment-button-gradient-bg:#367eed;--color-global-nav-logo:#f0f6fc;--color-global-nav-bg:#161b22;--color-global-nav-text:#c9d1d9;--color-global-nav-icon:#c9d1d9;--color-global-nav-input-bg:#0d1117;--color-global-nav-input-border:#21262d;--color-global-nav-input-icon:#21262d;--color-global-nav-input-placeholder:#484f58;--color-calendar-graph-day-bg:#161b22;--color-calendar-graph-day-border:rgba(27,31,35,0.06);--color-calendar-graph-day-L1-bg:#01311f;--color-calendar-graph-day-L2-bg:#034525;--color-calendar-graph-day-L3-bg:#0f6d31;--color-calendar-graph-day-L4-bg:#00c647;--color-calendar-graph-day-L4-border:rgba(27,31,35,0.06);--color-calendar-graph-day-L3-border:rgba(27,31,35,0.06);--color-calendar-graph-day-L2-border:rgba(27,31,35,0.06);--color-calendar-graph-day-L1-border:rgba(27,31,35,0.06);--color-footer-invertocat-octicon:#30363d;--color-footer-invertocat-octicon-hover:#6e7681;--color-pr-state-draft-text:#8b949e;--color-pr-state-draft-bg:rgba(139,148,158,0.1);--color-pr-state-draft-border:rgba(139,148,158,0.4);--color-pr-state-open-text:#3fb950;--color-pr-state-open-bg:rgba(63,185,80,0.1);--color-pr-state-open-border:rgba(63,185,80,0.4);--color-pr-state-merged-text:#a371f7;--color-pr-state-merged-bg:rgba(188,140,255,0.1);--color-pr-state-merged-border:rgba(188,140,255,0.4);--color-pr-state-closed-text:#f85149;--color-pr-state-closed-bg:rgba(218,54,51,0.1);--color-pr-state-closed-border:rgba(218,54,51,0.4);--color-topic-tag-text:#58a6ff;--color-topic-tag-bg:rgba(56,139,253,0.1);--color-topic-tag-hover-bg:rgba(56,139,253,0.2);--color-topic-tag-active-bg:rgba(56,139,253,0.15);--color-merge-box-success-icon-bg:rgba(46,160,67,0.1);--color-merge-box-success-icon-text:#3fb950;--color-merge-box-success-icon-border:rgba(46,160,67,0.4);--color-merge-box-success-indicator-bg:#238636;--color-merge-box-success-indicator-border:#2ea043;--color-merge-box-merged-icon-bg:rgba(188,140,255,0.1);--color-merge-box-merged-icon-text:#a371f7;--color-merge-box-merged-icon-border:rgba(188,140,255,0.4);--color-merge-box-merged-box-border:rgba(188,140,255,0.4);--color-merge-box-neutral-icon-bg:rgba(201,209,217,0.1);--color-merge-box-neutral-icon-text:#8b949e;--color-merge-box-neutral-icon-border:rgba(201,209,217,0.4);--color-merge-box-neutral-indicator-bg:#484f58;--color-merge-box-neutral-indicator-border:#6e7681;--color-merge-box-warning-icon-bg:rgba(187,128,9,0.1);--color-merge-box-warning-icon-text:#e3b341;--color-merge-box-warning-icon-border:rgba(187,128,9,0.4);--color-merge-box-warning-box-border:rgba(187,128,9,0.4);--color-merge-box-warning-merge-highlight:rgba(187,128,9,0.1);--color-merge-box-error-icon-bg:rgba(248,81,73,0.1);--color-merge-box-error-icon-text:#f85149;--color-merge-box-error-icon-border:rgba(248,81,73,0.4);--color-merge-box-error-indicator-bg:#da3633;--color-merge-box-error-indicator-border:#f85149;--color-project-card-bg:#161b22;--color-project-header-bg:#0d1117;--color-project-sidebar-bg:#161b22;--color-project-gradient-in:#161b22;--color-project-gradient-out:rgba(22,27,34,0);--color-marketing-icon-primary:#79c0ff;--color-marketing-icon-secondary:#1f6feb;--color-prettylights-syntax-comment:#8b949e;--color-prettylights-syntax-constant:#79c0ff;--color-prettylights-syntax-entity:#d2a8ff;--color-prettylights-syntax-storage-modifier-import:#c9d1d9;--color-prettylights-syntax-entity-tag:#7ee787;--color-prettylights-syntax-keyword:#ff7b72;--color-prettylights-syntax-string:#a5d6ff;--color-prettylights-syntax-variable:#ffa657;--color-prettylights-syntax-brackethighlighter-unmatched:#f85149;--color-prettylights-syntax-invalid-illegal-text:#f0f6fc;--color-prettylights-syntax-invalid-illegal-bg:#8e1519;--color-prettylights-syntax-carriage-return-text:#f0f6fc;--color-prettylights-syntax-carriage-return-bg:#b62324;--color-prettylights-syntax-string-regexp:#7ee787;--color-prettylights-syntax-markup-list:#f2cc60;--color-prettylights-syntax-markup-heading:#1f6feb;--color-prettylights-syntax-markup-italic:#c9d1d9;--color-prettylights-syntax-markup-bold:#c9d1d9;--color-prettylights-syntax-markup-deleted-text:#ffdcd7;--color-prettylights-syntax-markup-deleted-bg:#67060c;--color-prettylights-syntax-markup-inserted-text:#aff5b4;--color-prettylights-syntax-markup-inserted-bg:#033a16;--color-prettylights-syntax-markup-changed-text:#ffdfb6;--color-prettylights-syntax-markup-changed-bg:#5a1e02;--color-prettylights-syntax-markup-ignored-text:#c9d1d9;--color-prettylights-syntax-markup-ignored-bg:#1158c7;--color-prettylights-syntax-meta-diff-range:#d2a8ff;--color-prettylights-syntax-brackethighlighter-angle:#8b949e;--color-prettylights-syntax-sublimelinter-gutter-mark:#484f58;--color-prettylights-syntax-constant-other-reference-link:#a5d6ff;--color-codemirror-text:#c9d1d9;--color-codemirror-bg:#0d1117;--color-codemirror-gutters-bg:#0d1117;--color-codemirror-guttermarker-text:#0d1117;--color-codemirror-guttermarker-subtle-text:#6e7681;--color-codemirror-linenumber-text:#8b949e;--color-codemirror-cursor:#f0f6fc;--color-codemirror-selection-bg:rgba(121,192,255,0.3);--color-codemirror-activeline-bg:#161b22;--color-codemirror-matchingbracket-text:#c9d1d9;--color-codemirror-lines-bg:#0d1117;--color-codemirror-syntax-comment:#8b949e;--color-codemirror-syntax-constant:#79c0ff;--color-codemirror-syntax-entity:#d2a8ff;--color-codemirror-syntax-keyword:#ff7b72;--color-codemirror-syntax-storage:#ff7b72;--color-codemirror-syntax-string:#a5d6ff;--color-codemirror-syntax-support:#79c0ff;--color-codemirror-syntax-variable:#ffa657;--color-ansi-black:#0d1117;--color-ansi-black-bright:#161b22;--color-ansi-white:#b1bac4;--color-ansi-white-bright:#b1bac4;--color-ansi-gray:#6e7681;--color-ansi-red:#ff7b72;--color-ansi-red-bright:#ffa198;--color-ansi-green:#3fb950;--color-ansi-green-bright:#56d364;--color-ansi-yellow:#d29922;--color-ansi-yellow-bright:#e3b341;--color-ansi-blue:#58a6ff;--color-ansi-blue-bright:#79c0ff;--color-ansi-magenta:#bc8cff;--color-ansi-magenta-bright:#d2a8ff;--color-ansi-cyan:#76e3ea;--color-ansi-cyan-bright:#b3f0ff}} + /*! + * GitHub Light v0.5.0 + * Copyright (c) 2012 - 2017 GitHub, Inc. + * Licensed under MIT (https://github.com/primer/github-syntax-theme-generator/blob/master/LICENSE) + */.pl-c{color:var(--color-prettylights-syntax-comment)}.pl-c1,.pl-s .pl-v{color:var(--color-prettylights-syntax-constant)}.pl-e,.pl-en{color:var(--color-prettylights-syntax-entity)}.pl-s .pl-s1,.pl-smi{color:var(--color-prettylights-syntax-storage-modifier-import)}.pl-ent{color:var(--color-prettylights-syntax-entity-tag)}.pl-k{color:var(--color-prettylights-syntax-keyword)}.pl-pds,.pl-s,.pl-s .pl-pse .pl-s1,.pl-sr,.pl-sr .pl-cce,.pl-sr .pl-sra,.pl-sr .pl-sre{color:var(--color-prettylights-syntax-string)}.pl-smw,.pl-v{color:var(--color-prettylights-syntax-variable)}.pl-bu{color:var(--color-prettylights-syntax-brackethighlighter-unmatched)}.pl-ii{color:var(--color-prettylights-syntax-invalid-illegal-text);background-color:var(--color-prettylights-syntax-invalid-illegal-bg)}.pl-c2{color:var(--color-prettylights-syntax-carriage-return-text);background-color:var(--color-prettylights-syntax-carriage-return-bg)}.pl-c2:before{content:"^M"}.pl-sr .pl-cce{font-weight:700;color:var(--color-prettylights-syntax-string-regexp)}.pl-ml{color:var(--color-prettylights-syntax-markup-list)}.pl-mh,.pl-mh .pl-en,.pl-ms{font-weight:700;color:var(--color-prettylights-syntax-markup-heading)}.pl-mi{font-style:italic;color:var(--color-prettylights-syntax-markup-italic)}.pl-mb{font-weight:700;color:var(--color-prettylights-syntax-markup-bold)}.pl-md{color:var(--color-prettylights-syntax-markup-deleted-text);background-color:var(--color-prettylights-syntax-markup-deleted-bg)}.pl-mi1{color:var(--color-prettylights-syntax-markup-inserted-text);background-color:var(--color-prettylights-syntax-markup-inserted-bg)}.pl-mc{color:var(--color-prettylights-syntax-markup-changed-text);background-color:var(--color-prettylights-syntax-markup-changed-bg)}.pl-mi2{color:var(--color-prettylights-syntax-markup-ignored-text);background-color:var(--color-prettylights-syntax-markup-ignored-bg)}.pl-mdr{font-weight:700;color:var(--color-prettylights-syntax-meta-diff-range)}.pl-ba{color:var(--color-prettylights-syntax-brackethighlighter-angle)}.pl-sg{color:var(--color-prettylights-syntax-sublimelinter-gutter-mark)}.pl-corl{text-decoration:underline;color:var(--color-prettylights-syntax-constant-other-reference-link)}.CodeMirror{font-family:monospace;height:300px;color:#000;direction:ltr}.CodeMirror-lines{padding:4px 0}.CodeMirror pre{padding:0 4px}.CodeMirror-gutter-filler,.CodeMirror-scrollbar-filler{background-color:#fff}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:#999;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid #000;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{width:auto;border:0!important;background:#7e7}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor-mark{background-color:rgba(20,255,20,.5);animation:blink 1.06s steps(1) infinite}.cm-animate-fat-cursor{width:auto;border:0;animation:blink 1.06s steps(1) infinite;background-color:#7e7}@keyframes blink{50%{background-color:initial}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{position:absolute;left:0;right:0;top:-50px;bottom:-20px;overflow:hidden}.CodeMirror-ruler{border-left:1px solid #ccc;top:0;bottom:0;position:absolute}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-type,.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta,.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-invalidchar,.cm-s-default .cm-error{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0b0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#a22}.CodeMirror-matchingtag{background:rgba(255,150,0,.3)}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{position:relative;overflow:hidden;background:#fff}.CodeMirror-scroll{overflow:scroll!important;margin-bottom:-30px;margin-right:-30px;padding-bottom:30px;height:100%;outline:none;position:relative}.CodeMirror-sizer{position:relative;border-right:30px solid transparent}.CodeMirror-gutter-filler,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-vscrollbar{position:absolute;z-index:6;display:none}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;min-height:100%;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;display:inline-block;vertical-align:top;margin-bottom:-30px}.CodeMirror-gutter-wrapper{position:absolute;z-index:4;background:none!important;border:none!important}.CodeMirror-gutter-background{position:absolute;top:0;bottom:0;z-index:4}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-gutter-wrapper ::selection{background-color:initial}.CodeMirror-gutter-wrapper ::-moz-selection{background-color:initial}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre{border-radius:0;border-width:0;background:transparent;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible;-webkit-tap-highlight-color:transparent;font-variant-ligatures:contextual}.CodeMirror-wrap pre{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;padding:.1px}.CodeMirror-rtl pre{direction:rtl}.CodeMirror-code{outline:none}.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber,.CodeMirror-scroll,.CodeMirror-sizer{box-sizing:initial}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-cursor{position:absolute;pointer-events:none}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{visibility:hidden;position:relative;z-index:3}.CodeMirror-focused div.CodeMirror-cursors,div.CodeMirror-dragcursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background-color:#ffa;background-color:rgba(255,255,0,.4)}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:""}span.CodeMirror-selectedtext{background:none}.CodeMirror-dialog{position:absolute;left:0;right:0;background:inherit;z-index:15;padding:.1em .8em;overflow:hidden;color:inherit}.CodeMirror-dialog-top{border-bottom:1px solid #eee;top:0}.CodeMirror-dialog-bottom{border-top:1px solid #eee;bottom:0}.CodeMirror-dialog input{border:none;outline:none;background:transparent;width:20em;color:inherit;font-family:monospace}.CodeMirror-dialog button{font-size:70%}.CodeMirror-merge{position:relative;border:1px solid #ddd;white-space:pre}.CodeMirror-merge,.CodeMirror-merge .CodeMirror{height:350px}.CodeMirror-merge-2pane .CodeMirror-merge-pane{width:47%}.CodeMirror-merge-2pane .CodeMirror-merge-gap{width:6%}.CodeMirror-merge-3pane .CodeMirror-merge-pane{width:31%}.CodeMirror-merge-3pane .CodeMirror-merge-gap{width:3.5%}.CodeMirror-merge-pane{display:inline-block;white-space:normal;vertical-align:top}.CodeMirror-merge-pane-rightmost{position:absolute;right:0;z-index:1}.CodeMirror-merge-gap{z-index:2;display:inline-block;height:100%;box-sizing:border-box;overflow:hidden;border-left:1px solid #ddd;border-right:1px solid #ddd;position:relative;background:#f8f8f8}.CodeMirror-merge-scrolllock-wrap{position:absolute;bottom:0;left:50%}.CodeMirror-merge-scrolllock{position:relative;left:-50%;cursor:pointer;color:#555;line-height:1}.CodeMirror-merge-scrolllock:after{content:"\21db\00a0\00a0\21da"}.CodeMirror-merge-scrolllock.CodeMirror-merge-scrolllock-enabled:after{content:"\21db\21da"}.CodeMirror-merge-copybuttons-left,.CodeMirror-merge-copybuttons-right{position:absolute;left:0;top:0;right:0;bottom:0;line-height:1}.CodeMirror-merge-copy{z-index:3}.CodeMirror-merge-copy,.CodeMirror-merge-copy-reverse{position:absolute;cursor:pointer;color:#44c}.CodeMirror-merge-copybuttons-left .CodeMirror-merge-copy{left:2px}.CodeMirror-merge-copybuttons-right .CodeMirror-merge-copy{right:2px}.CodeMirror-merge-l-inserted,.CodeMirror-merge-r-inserted{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAACCAYAAACddGYaAAAAGUlEQVQI12MwuCXy3+CWyH8GBgYGJgYkAABZbAQ9ELXurwAAAABJRU5ErkJggg==);background-position:0 100%;background-repeat:repeat-x}.CodeMirror-merge-l-deleted,.CodeMirror-merge-r-deleted{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAACCAYAAACddGYaAAAAGUlEQVQI12M4Kyb2/6yY2H8GBgYGJgYkAABURgPz6Ks7wQAAAABJRU5ErkJggg==);background-position:0 100%;background-repeat:repeat-x}.CodeMirror-merge-r-chunk{background:#ffffe0}.CodeMirror-merge-r-chunk-start{border-top:1px solid #ee8}.CodeMirror-merge-r-chunk-end{border-bottom:1px solid #ee8}.CodeMirror-merge-r-connect{fill:#ffffe0;stroke:#ee8;stroke-width:1px}.CodeMirror-merge-l-chunk{background:#eef}.CodeMirror-merge-l-chunk-start{border-top:1px solid #88e}.CodeMirror-merge-l-chunk-end{border-bottom:1px solid #88e}.CodeMirror-merge-l-connect{fill:#eef;stroke:#88e;stroke-width:1px}.CodeMirror-merge-l-chunk.CodeMirror-merge-r-chunk{background:#dfd}.CodeMirror-merge-l-chunk-start.CodeMirror-merge-r-chunk-start{border-top:1px solid #4e4}.CodeMirror-merge-l-chunk-end.CodeMirror-merge-r-chunk-end{border-bottom:1px solid #4e4}.CodeMirror-merge-collapsed-widget:before{content:"(...)"}.CodeMirror-merge-collapsed-widget{cursor:pointer;color:#88b;background:#eef;border:1px solid #ddf;font-size:90%;padding:0 3px;border-radius:4px}.CodeMirror-merge-collapsed-line .CodeMirror-gutter-elt{display:none} + /*! + * GitHub Light v0.4.2 + * Copyright (c) 2012 - 2017 GitHub, Inc. + * Licensed under MIT (https://github.com/primer/github-syntax-theme-generator/blob/master/LICENSE) + */.cm-s-github-light.CodeMirror{background:var(--color-codemirror-bg);color:var(--color-codemirror-text)}.cm-s-github-light .CodeMirror-gutters{background:var(--color-codemirror-gutters-bg);border-right-width:0}.cm-s-github-light .CodeMirror-guttermarker{color:var(--color-codemirror-guttermarker-text)}.cm-s-github-light .CodeMirror-guttermarker-subtle{color:var(--color-codemirror-guttermarker-subtle-text)}.cm-s-github-light .CodeMirror-linenumber{color:var(--color-codemirror-linenumber-text);padding:0 16px}.cm-s-github-light .CodeMirror-cursor{border-left:1px solid var(--color-codemirror-cursor)}.cm-s-github-light.CodeMirror-focused .CodeMirror-selected,.cm-s-github-light .CodeMirror-line::selection,.cm-s-github-light .CodeMirror-line>span::selection,.cm-s-github-light .CodeMirror-line>span>span::selection{background:var(--color-codemirror-selection-bg,#d7d4f0)}.cm-s-github-light .CodeMirror-line::-moz-selection,.cm-s-github-light .CodeMirror-line>span::-moz-selection,.cm-s-github-light .CodeMirror-line>span>span::-moz-selection{background:var(--color-codemirror-selection-bg,#d7d4f0)}.cm-s-github-light .CodeMirror-activeline-background{background:var(--color-codemirror-activeline-bg)}.cm-s-github-light .CodeMirror-matchingbracket{text-decoration:underline;color:var(--color-codemirror-matchingbracket-text)!important}.cm-s-github-light .CodeMirror-lines{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:12px;background:var(--color-codemirror-lines-bg);line-height:1.5}.cm-s-github-light .cm-comment{color:var(--color-codemirror-syntax-comment)}.cm-s-github-light .cm-constant{color:var(--color-codemirror-syntax-constant)}.cm-s-github-light .cm-entity{font-weight:400;font-style:normal;text-decoration:none;color:var(--color-codemirror-syntax-entity)}.cm-s-github-light .cm-keyword{font-weight:400;font-style:normal;text-decoration:none;color:var(--color-codemirror-syntax-keyword)}.cm-s-github-light .cm-storage{color:var(--color-codemirror-syntax-storage)}.cm-s-github-light .cm-string{font-weight:400;font-style:normal;text-decoration:none;color:var(--color-codemirror-syntax-string)}.cm-s-github-light .cm-support{font-weight:400;font-style:normal;text-decoration:none;color:var(--color-codemirror-syntax-support)}.cm-s-github-light .cm-variable{font-weight:400;font-style:normal;text-decoration:none;color:var(--color-codemirror-syntax-variable)}details-dialog{position:fixed;margin:10vh auto;top:0;left:50%;transform:translateX(-50%);z-index:999;max-height:80vh;max-width:90vw;width:448px}image-crop{touch-action:none;display:block}image-crop.nesw{cursor:nesw-resize}image-crop.nwse{cursor:nwse-resize}image-crop.nesw .crop-box,image-crop.nwse .crop-box{cursor:inherit}image-crop[loaded] .crop-image{display:block}image-crop .crop-image,image-crop[loaded] [data-loading-slot]{display:none}image-crop .crop-wrapper{position:relative;font-size:0}image-crop .crop-container{user-select:none;-ms-user-select:none;-moz-user-select:none;-webkit-user-select:none;position:absolute;overflow:hidden;z-index:1;top:0;width:100%;height:100%}image-crop .crop-box{position:absolute;border:1px dashed #fff;box-sizing:border-box;cursor:move}image-crop .crop-outline{position:absolute;top:0;bottom:0;left:0;right:0;outline:600px solid rgba(0,0,0,.3)}image-crop .handle{position:absolute}image-crop .handle:before{position:absolute;display:block;padding:4px;transform:translate(-50%,-50%);content:" ";background:#fff;border:1px solid #767676}image-crop .ne{top:0;right:0;cursor:nesw-resize}image-crop .nw{top:0;left:0;cursor:nwse-resize}image-crop .se{bottom:0;right:0;cursor:nwse-resize}image-crop .sw{bottom:0;left:0;cursor:nesw-resize}.user-select-contain{-ms-user-select:element;-ms-user-select:contain;-webkit-user-select:contain;-moz-user-select:contain;user-select:contain}.ajax-pagination-form .ajax-pagination-btn{width:100%;padding:6px;margin-top:20px;font-weight:600;color:var(--color-text-link);background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:6px}.ajax-pagination-form .ajax-pagination-btn:focus,.ajax-pagination-form .ajax-pagination-btn:hover{color:var(--color-text-link);background-color:var(--color-bg-tertiary)}.ajax-pagination-form.loading .ajax-pagination-btn{text-indent:-3000px;background-color:var(--color-bg-tertiary);background-image:url(/images/spinners/octocat-spinner-16px-EAF2F5.gif);background-repeat:no-repeat;background-position:50%;border-color:var(--color-border-tertiary)}@media only screen and (-moz-min-device-pixel-ratio:2),only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:2dppx),only screen and (min-resolution:192dpi){.ajax-pagination-form.loading .ajax-pagination-btn{background-image:url(/images/spinners/octocat-spinner-32-EAF2F5.gif);background-size:16px auto}}body.intent-mouse [role=button]:focus,body.intent-mouse [role=tabpanel][tabindex="0"]:focus,body.intent-mouse a:focus,body.intent-mouse button:focus,body.intent-mouse summary:focus{outline:none;box-shadow:none}body.intent-mouse [tabindex="0"]:focus,body.intent-mouse details-dialog:focus{outline:none}.CodeMirror{height:calc(100vh - 1px)}.file-editor-textarea{width:100%;padding:5px 4px;font:12px SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;resize:vertical;border:0;border-radius:0;outline:none}.container-preview .tabnav-tabs{margin:-6px 0 -6px -11px}.container-preview .tabnav-tabs .tabnav-tab{padding:12px 15px;border-radius:0}.container-preview .tabnav-tabs>.selected:first-child{border-top-left-radius:6px}.container-preview .tabnav-tabs .selected{font-weight:600}.container-preview.template-editor .commit-create,.container-preview.template-editor .file-actions{display:block}.container-preview.template-editor .commit-preview,.container-preview.template-editor .error-preview-msg,.container-preview.template-editor .loading-preview-msg,.container-preview.template-editor .no-changes-preview-msg,.container-preview.template-editor .show-code{display:none!important}.container-preview.render-editor .commit-create,.container-preview.render-editor .file-actions{display:block}.container-preview.render-editor .commit-preview,.container-preview.render-editor .error-preview-msg,.container-preview.render-editor .loading-preview-msg,.container-preview.render-editor .no-changes-preview-msg,.container-preview.render-editor .show-code,.container-preview.render-editor .template-editor{display:none!important}.container-preview.show-code .commit-create,.container-preview.show-code .file-actions{display:block}.container-preview.show-code .commit-preview,.container-preview.show-code .error-preview-msg,.container-preview.show-code .loading-preview-msg,.container-preview.show-code .no-changes-preview-msg,.container-preview.show-code .render-editor,.container-preview.show-code .template-editor,.container-preview:not(.show-code) .commit-create,.container-preview:not(.show-code) .file-actions{display:none!important}.container-preview.loading-preview .loading-preview-msg{display:block}.container-preview.loading-preview .commit-preview,.container-preview.loading-preview .error-preview-msg,.container-preview.loading-preview .no-changes-preview-msg,.container-preview.loading-preview .render-editor,.container-preview.loading-preview .template-editor{display:none!important}.container-preview.show-preview .commit-preview{display:block}.container-preview.show-preview .error-preview-msg,.container-preview.show-preview .loading-preview-msg,.container-preview.show-preview .no-changes-preview-msg,.container-preview.show-preview .render-editor,.container-preview.show-preview .template-editor{display:none!important}.container-preview.no-changes-preview .no-changes-preview-msg{display:block}.container-preview.no-changes-preview .commit-preview,.container-preview.no-changes-preview .error-preview-msg,.container-preview.no-changes-preview .loading-preview-msg,.container-preview.no-changes-preview .render-editor,.container-preview.no-changes-preview .template-editor{display:none!important}.container-preview.error-preview .error-preview-msg{display:block}.container-preview.error-preview .commit-preview,.container-preview.error-preview .loading-preview-msg,.container-preview.error-preview .no-changes-preview-msg,.container-preview.error-preview .render-editor,.container-preview.error-preview .template-editor{display:none!important}.container-preview p.preview-msg{padding:30px;font-size:16px}.CodeMirror-merge-header{height:30px}.CodeMirror-merge-header .CodeMirror-merge-pane{height:30px;line-height:30px}.cm-s-github-light .merge-gutter{width:14px}.conflict-background+.CodeMirror-gutter-wrapper .CodeMirror-linenumber,.conflict-gutter-marker{background-color:var(--color-auto-yellow-1)}.conflict-gutter-marker:after,.conflict-gutter-marker:before{position:absolute;left:-1px;content:"";background-color:var(--color-auto-red-5)}.conflict-gutter-marker-end:after,.conflict-gutter-marker-start:after{width:1px;height:10px}.conflict-gutter-marker-end:before,.conflict-gutter-marker-middle:before,.conflict-gutter-marker-start:before{width:10px;height:1px}.conflict-gutter-marker-start:after{bottom:0}.conflict-gutter-marker-end:after{top:0}.conflict-gutter-marker-start:before{top:7px}.conflict-gutter-marker-end:before{bottom:7px}.conflict-gutter-marker-line:after,.conflict-gutter-marker-middle:after{width:1px;height:18px}.conflict-gutter-marker-middle:before{top:9px}.form-group .edit-action{opacity:.6}.form-group .form-field-hover{background-color:none;border:1px solid rgba(var(--color-auto-gray-4),0)}.form-group:hover .edit-action{cursor:pointer;opacity:.7}.form-group:hover .form-field-hover{cursor:pointer}.form-group:hover .form-field-hover,.placeholder-box{border:1px solid rgba(var(--color-auto-gray-4),1)}.template-previews{max-width:768px}.template-previews .Box .expand-group{display:none;height:0}.template-previews .Box .dismiss-preview-button{display:none}.template-previews .Box.expand-preview .expand-group{display:block;height:100%;transition:height 3s}.template-previews .Box.expand-preview .preview-button{display:none}.template-previews .Box.expand-preview .dismiss-preview-button{display:inline}.template-previews .discussion-sidebar-heading{font-size:14px;color:var(--color-bg-canvas-inverse)}.template-previews .discussion-sidebar-heading:hover{color:var(--color-bg-info-inverse)}.edit-labels{display:none}.preview-section{display:block}.Box .section-focus .preview-section,.edit-section{display:none}.Box .section-focus .edit-section,[data-catalyst],auto-complete,details-dialog,details-menu,file-attachment,filter-input,image-crop,in-viewport,include-fragment,poll-include-fragment,remote-input,tab-container,text-expander{display:block}.Details--on .Details-content--shown,.Details:not(.Details--on) .Details-content--hidden{display:none!important}.Details:not(.Details--on) .Details-content--hidden-not-important{display:none}.Details-element:not([open])>summary .Details-content--open,.Details-element[open]>summary .Details-content--closed{display:none!important}g-emoji{font-family:Apple Color Emoji,Segoe UI,Segoe UI Emoji,Segoe UI Symbol;font-size:1em;font-style:normal!important;font-weight:400;line-height:1;vertical-align:-.075em}g-emoji img{width:1em;height:1em}.emoji-icon{width:20px;background-repeat:no-repeat;background-size:20px 20px}.emoji-icon,.emoji-result{display:inline-block;height:20px;vertical-align:middle}.emoji-result{font-size:18px;font-weight:400}.gollum-editor .comment-form-head.tabnav{border:1px solid var(--color-border-secondary)}.gollum-editor .gollum-editor-body{height:390px;resize:vertical}.active .gollum-editor-function-buttons{display:block!important}.zeroclipboard-link{padding:0;margin:0;color:var(--color-text-link);cursor:pointer;background:none;border:0}.zeroclipboard-link .octicon{display:block}.auth-form{width:340px;margin:0 auto}.auth-form .form-group.errored .error,.auth-form .form-group.errored .warning,.auth-form .form-group.warn .error,.auth-form .form-group.warn .warning{max-width:274px}.auth-form-header{padding:10px 20px;margin:0;color:var(--color-text-white);text-shadow:0 -1px 0 rgba(0,0,0,.3);background-color:#829aa8;border:1px solid #768995;border-radius:6px 6px 0 0}.auth-form-header h1{font-size:16px}.auth-form-header h1 a{color:var(--color-text-white)}.auth-form-header .octicon{position:absolute;top:10px;right:20px;color:rgba(0,0,0,.4);text-shadow:0 1px 0 hsla(0,0%,100%,.1)}.auth-form-message{max-height:140px;padding:20px 20px 10px;overflow-y:scroll;border:1px solid #d8dee2;border-radius:6px}.auth-form-message ol,.auth-form-message ul{padding-left:inherit;margin-bottom:inherit}.auth-form-body{padding:20px;font-size:14px;background-color:var(--color-bg-tertiary);border:1px solid var(--color-border-secondary);border-top:0;border-radius:0 0 6px 6px}.auth-form-body .input-block{margin-top:5px;margin-bottom:15px}.auth-form-body p{margin-bottom:0}.auth-form-body ol,.auth-form-body ul{padding-left:inherit;margin-bottom:inherit}.two-factor-help{position:relative;padding:10px 10px 10px 36px;margin:60px 0 auto auto;border:1px solid #eaeaea;border-radius:6px}.two-factor-help h4{margin-top:0;margin-bottom:5px}.two-factor-help .octicon-device-mobile{position:absolute;top:10px;left:10px}.two-factor-help .octicon-key{position:absolute;left:10px}.u2f-send-code-spinner{position:relative;bottom:2px;display:none;vertical-align:bottom}.loading .u2f-send-code-spinner{display:inline}.u2f-login-spinner{top:2px}.u2f-auth-header:not(:last-child){padding-bottom:10px;margin-bottom:20px;border-bottom:1px solid #eaeaea}.auth-form-body .u2f-auth-form-body{padding:0}.u2f-auth-form-body{padding:30px 30px 20px;text-align:center}.u2f-auth-form-body button{margin-top:20px}.sudo-u2f-auth-form-body .u2f-enabled,.u2f-auth-form-body .u2f-enabled{display:block}.sudo-u2f-auth-form-body .u2f-disabled,.sudo-u2f-auth-form-body.unavailable .u2f-enabled,.u2f-auth-form-body .u2f-disabled,.u2f-auth-form-body.unavailable .u2f-enabled{display:none}.sudo-u2f-auth-form-body.unavailable .u2f-disabled,.u2f-auth-form-body.unavailable .u2f-disabled{display:block}.u2f-auth-icon{color:#aaa}.flash.sms-error,.flash.sms-success{display:none;margin:0 0 10px}.is-sent .sms-success{display:block}.is-not-sent .sms-success,.is-sent .sms-error{display:none}.is-not-sent .sms-error{display:block}.session-authentication{background-color:var(--color-bg-canvas)}.session-authentication .header-logged-out{background-color:initial;border-bottom:0}.session-authentication .header-logo{color:var(--color-text-secondary)}.session-authentication .flash{padding:15px 20px;margin:0 auto 10px;font-size:13px;border-style:solid;border-width:1px;border-radius:5px}.session-authentication .flash .container{width:auto}.session-authentication .flash .flash-close{height:40px}.session-authentication .flash.flash-banner{width:100%;border-top:0;border-right:0;border-left:0;border-radius:0}.session-authentication .auth-form label{display:block;margin-bottom:7px;text-align:left}.session-authentication .auth-form .btn{margin-top:20px}.session-authentication .auth-form .u2f-message{margin-bottom:0}.session-authentication .label-link{float:right;font-size:12px}.session-authentication .auth-form-header{margin-bottom:15px;color:var(--color-text-primary);text-align:center;text-shadow:none;background-color:initial;border:0}.session-authentication .auth-form-header h1{font-size:24px;font-weight:300;letter-spacing:-.5px}.session-authentication .auth-form-body{border-top:1px solid var(--color-border-secondary);border-radius:5px}.session-authentication .auth-form-body.u2f-auth-form-body{padding:20px}.session-authentication .login-callout{padding:15px 20px;text-align:center;border:1px solid #d8dee2;border-radius:5px}.session-authentication .two-factor-help{padding:0 0 0 20px;margin-top:20px;border:0}.session-authentication .two-factor-help .octicon-device-mobile{top:3px;left:0}.session-authentication .two-factor-help .octicon-key{top:0;left:0}.session-authentication.enterprise .header-logged-out{padding:48px 0 28px;background-color:initial}.session-authentication.hosted .header-logged-out{padding:40px 0 20px;background-color:initial}.Header-old{z-index:32;padding-top:12px;padding-bottom:12px;color:var(--color-fade-white-70);background-color:var(--color-bg-canvas-inverse)}.server-stats+.Header-old{box-shadow:inset 0 1px 0 hsla(0,0%,100%,.075)}.Header-old .dropdown-menu{width:300px}.Header-old .notification-indicator:hover:after{content:none}@media (min-width:1012px){.Header-old .notification-indicator:hover:after{content:attr(aria-label)}}.page-responsive .HeaderMenu{display:none;clear:both}@media (min-width:1012px){.page-responsive .HeaderMenu{display:block;clear:none}}.open .HeaderMenu{display:block}.HeaderMenu--logged-out .dropdown-menu{border:0;box-shadow:0 3px 12px var(--color-fade-black-15),0 0 1px rgba(27,31,35,.2)}.HeaderMenu--logged-out .dropdown-menu:after,.HeaderMenu--logged-out .dropdown-menu:before{display:none}.HeaderMenu--logged-out .header-search{width:240px}.HeaderMenu--logged-out .jump-to-suggestions{top:100%}.HeaderMenu--logged-out .HeaderMenu-details[open]>summary:before{position:absolute;bottom:-8px;display:block}.HeaderMenu--logged-out .header-search-input{padding-top:8px;padding-bottom:8px;font-size:14px;-webkit-appearance:none}.HeaderMenu--logged-out .header-search-input:-ms-input-placeholder{color:hsla(0,0%,100%,.75)!important}.HeaderMenu--logged-out .header-search-input::-ms-input-placeholder{color:hsla(0,0%,100%,.75)!important}.HeaderMenu--logged-out .header-search-input::placeholder{color:hsla(0,0%,100%,.75)!important}.edge-item-fix{list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.page-responsive .HeaderMenu--logged-out{z-index:100;width:300px;overflow:auto;background-color:var(--color-bg-primary);box-shadow:0 10px 50px var(--color-fade-black-15)}@media (min-width:1012px){.page-responsive .HeaderMenu--logged-out{width:auto;overflow:visible;background-color:initial;box-shadow:none}}.page-responsive .HeaderMenu--logged-out .dropdown-menu{position:static;width:auto;border:0 solid transparent;box-shadow:none}@media (min-width:1012px){.page-responsive .HeaderMenu--logged-out .dropdown-menu{position:absolute;width:300px;border:0;box-shadow:0 3px 12px var(--color-fade-black-15),0 0 1px rgba(27,31,35,.2)}.page-responsive .HeaderMenu--logged-out .dropdown-menu:after,.page-responsive .HeaderMenu--logged-out .dropdown-menu:before{content:""}}.page-responsive .HeaderMenu--logged-out .dropdown-menu-s{transform:none}@media (min-width:1012px){.page-responsive .HeaderMenu--logged-out .dropdown-menu-s{transform:translateX(50%)}}.page-responsive .HeaderMenu--logged-out .header-search{width:auto;border-top:0}@media (min-width:1012px){.page-responsive .HeaderMenu--logged-out .header-search{width:240px}}.page-responsive .HeaderMenu--logged-out .header-search-wrapper{border:1px solid var(--color-border-secondary)}@media (min-width:1012px){.page-responsive .HeaderMenu--logged-out .header-search-wrapper{border:0}}.page-responsive .HeaderMenu--logged-out .header-search-input{padding-top:8px;padding-bottom:8px;color:var(--color-text-primary);-webkit-appearance:none}@media (min-width:1012px){.page-responsive .HeaderMenu--logged-out .header-search-input{color:inherit}}.page-responsive .HeaderMenu--logged-out .header-search-input:-ms-input-placeholder{color:var(--color-text-secondary)!important}.page-responsive .HeaderMenu--logged-out .header-search-input::-ms-input-placeholder{color:var(--color-text-secondary)!important}.page-responsive .HeaderMenu--logged-out .header-search-input::placeholder{color:var(--color-text-secondary)!important}@media (min-width:1012px){.page-responsive .HeaderMenu--logged-out .header-search-input:-ms-input-placeholder{color:hsla(0,0%,100%,.75)!important}.page-responsive .HeaderMenu--logged-out .header-search-input::-ms-input-placeholder{color:hsla(0,0%,100%,.75)!important}.page-responsive .HeaderMenu--logged-out .header-search-input::placeholder{color:hsla(0,0%,100%,.75)!important}}.page-responsive .HeaderMenu-link{color:var(--color-auto-gray-7);background:transparent}.page-responsive .HeaderMenu-link:hover{color:var(--color-text-primary)}@media (min-width:1012px){.page-responsive .HeaderMenu-link{color:var(--color-text-white);transition:opacity .4s}.page-responsive .HeaderMenu-link:hover{color:var(--color-text-white);opacity:.75}}.page-responsive .HeaderMenu-link .icon-chevon-down-mktg{top:24px;right:0;width:14px;stroke:var(--color-auto-gray-9);transition:stroke .4s}@media (min-width:1012px){.page-responsive .HeaderMenu-link .icon-chevon-down-mktg{top:-2px;width:12px;stroke:hsla(0,0%,100%,.5);background:transparent}}.page-responsive .HeaderMenu-details[open]>summary:before{display:none}@media (min-width:1012px){.page-responsive .HeaderMenu-details[open]>summary:before{position:absolute;bottom:-8px;display:block}}.page-responsive .HeaderMenu-details[open] .HeaderMenu-link{color:var(--color-text-primary)}@media (min-width:1012px){.page-responsive .HeaderMenu-details[open] .HeaderMenu-link{color:hsla(0,0%,100%,.75)}}.page-responsive .HeaderMenu-details[open] .dropdown-menu{animation:none}@media (min-width:1012px){.page-responsive .HeaderMenu-details[open] .dropdown-menu{animation:dropdown-display .4s cubic-bezier(.73,.005,.22,1)}}.page-responsive .HeaderMenu-details[open] .icon-chevon-down-mktg{stroke:var(--color-auto-gray-9)}@media (min-width:1012px){.page-responsive .HeaderMenu-details[open] .icon-chevon-down-mktg{stroke:var(--color-auto-white)}}.HeaderMenu-link{color:var(--color-text-white);background:transparent;transition:opacity .4s}.HeaderMenu-link:hover{color:var(--color-text-white);opacity:.75}.HeaderMenu-link .icon-chevon-down-mktg{top:-2px;right:0;width:12px;stroke:hsla(0,0%,100%,.5);transition:stroke .4s}.HeaderMenu-details[open] .HeaderMenu-link{color:hsla(0,0%,100%,.75)}.HeaderMenu-details[open] .dropdown-menu{animation:dropdown-display .4s cubic-bezier(.73,.005,.22,1)}.HeaderMenu-details[open] .icon-chevon-down-mktg{stroke:var(--color-auto-white)}.HeaderMenu-summary::-webkit-details-marker{display:none}@keyframes dropdown-display{0%{opacity:0;transform:scale(.98) translateY(-.6em)}to{opacity:1;transform:scale(1) translateY(0)}}.header-logo-invertocat{margin:-1px 15px -1px -2px;color:var(--color-text-white);white-space:nowrap}.header-logo-invertocat .octicon-mark-github{float:left}.header-logo-invertocat:hover{color:var(--color-text-white);text-decoration:none}.notification-indicator{color:var(--color-fade-white-70)}.notification-indicator .mail-status{position:absolute;top:-6px;left:6px;z-index:2;display:none;width:14px;height:14px;color:var(--color-text-white);background-image:linear-gradient(#54a3ff,#006eed);background-clip:padding-box;border:2px solid var(--color-header-bg);border-radius:50%}.notification-indicator .mail-status.unread{display:inline-block}.notification-indicator:hover .mail-status{text-decoration:none;background-color:var(--color-bg-info-inverse)}.header-nav-current-user{padding-bottom:0;font-size:inherit}.header-nav-current-user .css-truncate-target{max-width:100%}.header-nav-current-user .user-profile-link{color:var(--color-text-primary)}.feature-preview-indicator{position:absolute;top:0;left:13px;z-index:2;width:14px;height:14px;color:var(--color-text-white);background-image:linear-gradient(#54a3ff,#006eed);background-clip:padding-box;border:2px solid var(--color-header-bg);border-radius:50%}.feature-preview-details .feature-preview-indicator{top:9px;right:10px;left:inherit;width:10px;height:10px;border:0}.unsupported-browser{color:#211e14;background-image:linear-gradient(#feefae,#fae692);border-bottom:1px solid #b3a569}.header-search-wrapper{display:table;width:100%;max-width:100%;padding:0;font-size:inherit;font-weight:400;color:var(--color-text-white);vertical-align:middle;background-color:var(--color-header-search-bg);border:1px solid var(--color-header-search-border);box-shadow:none}.header-search-wrapper.header-search-wrapper-jump-to .header-search-scope{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.header-search-wrapper .truncate-repo-scope{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-search-wrapper.focus{background-color:hsla(0,0%,100%,.175);box-shadow:none}.header-search-wrapper.focus .header-search-scope{color:var(--color-text-white);background-color:hsla(0,0%,100%,.075);border-right-color:#282e34}.header-search-input{display:table-cell;width:100%;padding-top:0;padding-bottom:0;font-size:inherit;color:inherit;background:none;border:0;box-shadow:none}.header-search-input:-ms-input-placeholder{color:hsla(0,0%,100%,.75)}.header-search-input::-ms-input-placeholder{color:hsla(0,0%,100%,.75)}.header-search-input::placeholder{color:hsla(0,0%,100%,.75)}.header-search-input:focus{border:0;box-shadow:none}.header-search-input:focus~.header-search-key-slash{display:none!important}.header-search-input::-ms-clear{display:none}.header-search-scope{display:none;padding-right:8px;padding-left:8px;font-size:inherit;line-height:28px;color:var(--color-fade-white-70);white-space:nowrap;vertical-align:middle;border-right:1px solid #282e34;border-top-left-radius:6px;border-bottom-left-radius:6px}.header-search-scope:empty+.header-search-input{width:100%}.header-search-scope:hover{color:var(--color-text-white);background-color:hsla(0,0%,100%,.12)}.scoped-search .header-search-wrapper{display:flex}.jump-to-field-active{color:var(--color-text-primary)!important;background-color:var(--color-bg-secondary)}.jump-to-field-active:-ms-input-placeholder{color:var(--color-text-secondary)!important}.jump-to-field-active::-ms-input-placeholder{color:var(--color-text-secondary)!important}.jump-to-field-active::placeholder{color:var(--color-text-secondary)!important}.jump-to-field-active~.header-search-key-slash{display:none}.jump-to-field-active.jump-to-dropdown-visible{border-bottom-right-radius:0;border-bottom-left-radius:0}.jump-to-suggestions{top:100%;left:0;z-index:35;width:100%;min-width:272px;border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:6px;border-bottom-left-radius:6px;box-shadow:0 4px 10px rgba(0,0,0,.1)}.jump-to-suggestions-path{min-width:0;min-height:44px;color:var(--color-auto-black)}.jump-to-suggestions-path .jump-to-octicon{width:28px;color:var(--color-text-tertiary)}.jump-to-suggestions-path .jump-to-suggestion-name{max-width:none}.jump-to-suggestions-path mark{font-weight:600;background-color:initial}.jump-to-suggestions-results-container .navigation-item{border-bottom:1px solid var(--color-border-primary)}.jump-to-suggestions-results-container .navigation-item:last-child{border-bottom:0}.jump-to-suggestions-results-container .d-on-nav-focus{display:none}.jump-to-suggestions-results-container .navigation-focus .jump-to-octicon,.jump-to-suggestions-results-container [aria-selected=true] .jump-to-octicon{color:var(--color-text-white)}.jump-to-suggestions-results-container .navigation-focus .jump-to-suggestions-path,.jump-to-suggestions-results-container [aria-selected=true] .jump-to-suggestions-path{color:var(--color-text-white);background:var(--color-bg-info-inverse)}.jump-to-suggestions-results-container .navigation-focus mark,.jump-to-suggestions-results-container [aria-selected=true] mark{color:var(--color-text-white)}.jump-to-suggestions-results-container .navigation-focus .d-on-nav-focus,.jump-to-suggestions-results-container [aria-selected=true] .d-on-nav-focus{display:block}.header-search{max-width:100%;transition:.2s ease-in-out;transition-property:max-width,padding-bottom,padding-top}@media (min-width:768px){.header-search{max-width:272px}}@media (min-width:768px){.header-search:focus-within{max-width:544px}}.HeaderMenu--logged-out .header-search{min-width:auto} diff --git a/css/gitalk.css b/css/gitalk.css new file mode 100644 index 00000000..6c394ff2 --- /dev/null +++ b/css/gitalk.css @@ -0,0 +1,642 @@ +@font-face { + font-family: octicons-link; + src: url(data:font/woff;charset=utf-8;base64,d09GRgABAAAAAAZwABAAAAAACFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEU0lHAAAGaAAAAAgAAAAIAAAAAUdTVUIAAAZcAAAACgAAAAoAAQAAT1MvMgAAAyQAAABJAAAAYFYEU3RjbWFwAAADcAAAAEUAAACAAJThvmN2dCAAAATkAAAABAAAAAQAAAAAZnBnbQAAA7gAAACyAAABCUM+8IhnYXNwAAAGTAAAABAAAAAQABoAI2dseWYAAAFsAAABPAAAAZwcEq9taGVhZAAAAsgAAAA0AAAANgh4a91oaGVhAAADCAAAABoAAAAkCA8DRGhtdHgAAAL8AAAADAAAAAwGAACfbG9jYQAAAsAAAAAIAAAACABiATBtYXhwAAACqAAAABgAAAAgAA8ASm5hbWUAAAToAAABQgAAAlXu73sOcG9zdAAABiwAAAAeAAAAME3QpOBwcmVwAAAEbAAAAHYAAAB/aFGpk3jaTY6xa8JAGMW/O62BDi0tJLYQincXEypYIiGJjSgHniQ6umTsUEyLm5BV6NDBP8Tpts6F0v+k/0an2i+itHDw3v2+9+DBKTzsJNnWJNTgHEy4BgG3EMI9DCEDOGEXzDADU5hBKMIgNPZqoD3SilVaXZCER3/I7AtxEJLtzzuZfI+VVkprxTlXShWKb3TBecG11rwoNlmmn1P2WYcJczl32etSpKnziC7lQyWe1smVPy/Lt7Kc+0vWY/gAgIIEqAN9we0pwKXreiMasxvabDQMM4riO+qxM2ogwDGOZTXxwxDiycQIcoYFBLj5K3EIaSctAq2kTYiw+ymhce7vwM9jSqO8JyVd5RH9gyTt2+J/yUmYlIR0s04n6+7Vm1ozezUeLEaUjhaDSuXHwVRgvLJn1tQ7xiuVv/ocTRF42mNgZGBgYGbwZOBiAAFGJBIMAAizAFoAAABiAGIAznjaY2BkYGAA4in8zwXi+W2+MjCzMIDApSwvXzC97Z4Ig8N/BxYGZgcgl52BCSQKAA3jCV8CAABfAAAAAAQAAEB42mNgZGBg4f3vACQZQABIMjKgAmYAKEgBXgAAeNpjYGY6wTiBgZWBg2kmUxoDA4MPhGZMYzBi1AHygVLYQUCaawqDA4PChxhmh/8ODDEsvAwHgMKMIDnGL0x7gJQCAwMAJd4MFwAAAHjaY2BgYGaA4DAGRgYQkAHyGMF8NgYrIM3JIAGVYYDT+AEjAwuDFpBmA9KMDEwMCh9i/v8H8sH0/4dQc1iAmAkALaUKLgAAAHjaTY9LDsIgEIbtgqHUPpDi3gPoBVyRTmTddOmqTXThEXqrob2gQ1FjwpDvfwCBdmdXC5AVKFu3e5MfNFJ29KTQT48Ob9/lqYwOGZxeUelN2U2R6+cArgtCJpauW7UQBqnFkUsjAY/kOU1cP+DAgvxwn1chZDwUbd6CFimGXwzwF6tPbFIcjEl+vvmM/byA48e6tWrKArm4ZJlCbdsrxksL1AwWn/yBSJKpYbq8AXaaTb8AAHja28jAwOC00ZrBeQNDQOWO//sdBBgYGRiYWYAEELEwMTE4uzo5Zzo5b2BxdnFOcALxNjA6b2ByTswC8jYwg0VlNuoCTWAMqNzMzsoK1rEhNqByEyerg5PMJlYuVueETKcd/89uBpnpvIEVomeHLoMsAAe1Id4AAAAAAAB42oWQT07CQBTGv0JBhagk7HQzKxca2sJCE1hDt4QF+9JOS0nbaaYDCQfwCJ7Au3AHj+LO13FMmm6cl7785vven0kBjHCBhfpYuNa5Ph1c0e2Xu3jEvWG7UdPDLZ4N92nOm+EBXuAbHmIMSRMs+4aUEd4Nd3CHD8NdvOLTsA2GL8M9PODbcL+hD7C1xoaHeLJSEao0FEW14ckxC+TU8TxvsY6X0eLPmRhry2WVioLpkrbp84LLQPGI7c6sOiUzpWIWS5GzlSgUzzLBSikOPFTOXqly7rqx0Z1Q5BAIoZBSFihQYQOOBEdkCOgXTOHA07HAGjGWiIjaPZNW13/+lm6S9FT7rLHFJ6fQbkATOG1j2OFMucKJJsxIVfQORl+9Jyda6Sl1dUYhSCm1dyClfoeDve4qMYdLEbfqHf3O/AdDumsjAAB42mNgYoAAZQYjBmyAGYQZmdhL8zLdDEydARfoAqIAAAABAAMABwAKABMAB///AA8AAQAAAAAAAAAAAAAAAAABAAAAAA==) format('woff'); +} + +.gitalk-container { + margin: 10px auto; + max-width: 840px; + padding-left: 16px; + padding-right: 16px; +} + +.gitalk-container .markdown-body { +} + +/* variables */ +/* functions & mixins */ +/* variables - calculated */ +/* styles */ +.gitalk-container .gt-container { + -webkit-box-sizing: border-box; + box-sizing: border-box; + font-size: 16px; + /* loader */ + /* error */ + /* initing */ + /* no int */ + /* link */ + /* meta */ + /* popup */ + /* header */ + /* comments */ + /* comment */ +} + +.gitalk-container .gt-container * { + -webkit-box-sizing: border-box; + box-sizing: border-box; +} + +.gitalk-container .gt-container a { + color: var(--color-text-link); +} + +.gitalk-container .gt-container a:hover { + text-decoration: none; + outline-width: 0; +} + +.gitalk-container .gt-container a.is--active { + color: var(--color-fg-default); + cursor: default !important; +} + +.gitalk-container .gt-container a.is--active:hover { + color: var(--color-fg-default); +} + +.gitalk-container .gt-container .hide { + display: none !important; +} + +.gitalk-container .gt-container .gt-svg { + display: inline-block; + width: 1em; + height: 1em; + vertical-align: sub; +} + +.gitalk-container .gt-container .gt-svg svg { + width: 100%; + height: 100%; + fill: var(--color-text-primary); +} + +.gitalk-container .gt-container .gt-ico { + display: inline-block; +} + +.gitalk-container .gt-container .gt-ico-text { + margin-left: 0.3125em; +} + +.gitalk-container .gt-container .gt-ico-github { + width: 100%; + height: 100%; +} + +.gitalk-container .gt-container .gt-ico-github .gt-svg { + width: 100%; + height: 100%; +} + +.gitalk-container .gt-container .gt-spinner { +} + +.gitalk-container .gt-container .gt-spinner::before { + content: ''; + -webkit-box-sizing: border-box; + box-sizing: border-box; + position: absolute; + top: 3px; + width: 0.75em; + height: 0.75em; + margin-top: -0.1875em; + margin-left: -0.375em; + border-radius: 50%; + -webkit-animation: gt-kf-rotate 0.6s linear infinite; + animation: gt-kf-rotate 0.6s linear infinite; +} + +.gitalk-container .gt-container .gt-loader { + -webkit-animation: ease gt-kf-rotate 1.5s infinite; + animation: ease gt-kf-rotate 1.5s infinite; + display: inline-block; + font-style: normal; + width: 1.75em; + height: 1.75em; + line-height: 1.75em; + border-radius: 50%; +} + +.gitalk-container .gt-container .gt-loader:before { + content: ''; + position: absolute; + display: block; + top: 0; + left: 50%; + margin-top: -0.1875em; + margin-left: -0.1875em; + width: 0.375em; + height: 0.375em; + border-radius: 50%; +} + +.gitalk-container .gt-container .gt-avatar { + display: inline-block; + width: 3em; + height: 3em; +} + +.gitalk-container .gt-container .gt-avatar img { + border-radius: 50% !important; +} + +@media (max-width: 479px) { + .gitalk-container .gt-container .gt-avatar { + width: 2em; + height: 2em; + } +} + +.gitalk-container .gt-container .gt-avatar img { + width: 100%; + height: auto; + border-radius: 3px; +} + +.gitalk-container .gt-container .gt-avatar-github { + width: 3em; + height: 3em; + cursor: pointer; +} + +@media (max-width: 479px) { + .gitalk-container .gt-container .gt-avatar-github { + width: 1.875em; + height: 1.875em; + } +} + +.gitalk-container .gt-container .gt-btn { + padding: 0.75em 1.25em; + display: inline-block; + line-height: 1; + text-decoration: none; + white-space: nowrap; + cursor: pointer; + border: 1px solid; + border-radius: 6px; + outline: none; + font-size: 0.75em; + color: var(--color-btn-outline-selected-text); + background-color: var(--color-btn-outline-selected-bg); + border-color: var(--color-btn-outline-selected-border); + box-shadow: var(--color-btn-outline-selected-shadow); +} + +.gitalk-container .gt-container .gt-btn-text { + font-weight: 400; +} + +.gitalk-container .gt-container .gt-btn-loading { + margin-left: 0.5em; + display: inline-block; + width: 0.75em; + height: 1em; + vertical-align: top; +} + +.gitalk-container .gt-container .gt-btn.is--disable { + cursor: not-allowed; + opacity: 0.5; +} + +.gitalk-container .gt-container .gt-btn-login { + color: var(--color-btn-outline-selected-text); + background-color: var(--color-btn-outline-selected-bg); + border-color: var(--color-btn-outline-selected-border); + box-shadow: var(--color-btn-outline-selected-shadow); +} + +.gitalk-container .gt-container .gt-btn-preview { + color: var(--color-btn-text); + background-color: var(--color-btn-bg); + border-color: var(--color-btn-border); + box-shadow: var(--color-btn-shadow),var(--color-btn-inset-shadow); + transition: .2s cubic-bezier(0.3, 0, 0.5, 1); + transition-property: color,background-color,border-color; +} + +.gitalk-container .gt-container .gt-btn-preview:hover { + background-color: var(--color-btn-hover-bg); + border-color: var(--color-btn-hover-border); + transition-duration: .1s; +} + +.gitalk-container .gt-container .gt-error { + text-align: center; + margin: 0.625em; + color: var(--color-danger-fg); +} + +.gitalk-container .gt-container .gt-initing { + padding: 1.25em 0; + text-align: center; +} + +.gitalk-container .gt-container .gt-initing-text { + margin: 0.625em auto; + font-size: 92%; +} + +.gitalk-container .gt-container .gt-no-init { + padding: 1.25em 0; + text-align: center; +} + +.gitalk-container .gt-container .gt-link { + border-bottom: 1px dotted; +} + +.gitalk-container .gt-container .gt-link-counts, +.gitalk-container .gt-container .gt-link-project { + text-decoration: none; +} + +.gitalk-container .gt-container .gt-meta { + margin: 1.25em 0; + padding: 1em 0; + border-bottom: 1px solid var(--color-border-default); + font-size: 1em; +} + +.gitalk-container .gt-container .gt-meta:before, +.gitalk-container .gt-container .gt-meta:after { + content: " "; + display: table; +} + +.gitalk-container .gt-container .gt-meta:after { + clear: both; +} + +.gitalk-container .gt-container .gt-counts { + margin: 0 0.625em 0 0; +} + +.gitalk-container .gt-container .gt-user { + float: right; + margin: 0; + font-size: 92%; +} + +.gitalk-container .gt-container .gt-user-pic { + width: 16px; + height: 16px; + vertical-align: top; + margin-right: 0.5em; +} + +.gitalk-container .gt-container .gt-user-inner { + display: inline-block; + cursor: pointer; +} + +.gitalk-container .gt-container .gt-user .gt-ico { + margin: 0 0 0 0.3125em; +} + +.gitalk-container .gt-container .gt-user .is--poping .gt-ico svg { +} + +.gitalk-container .gt-container .gt-version { + margin-left: 0.375em; +} + +.gitalk-container .gt-container .gt-copyright { + margin: 0 0.9375em 0.5em; + border-top: 1px solid var(--color-border-default); + padding-top: 0.5em; +} + +.gitalk-container .gt-container .gt-popup { + position: absolute; + right: 0; + top: 2.375em; + background-color: var(--color-canvas-overlay); + display: inline-block; + border: 1px solid var(--color-border-muted); + padding: 0.625em 0; + font-size: 0.875em; + letter-spacing: 1px; +} + +.gitalk-container .gt-container .gt-popup .gt-action { + cursor: pointer; + display: block; + margin: 0.5em 0; + padding: 0 1.125em; +} + +.gitalk-container .gt-container .gt-popup .gt-action.is--active:before { + content: ''; + width: 0.25em; + height: 0.25em; + background: var(--color-fg-default);; + position: absolute; + left: 0.5em; + top: 0.4375em; +} + +.gitalk-container .gt-container .gt-header { + display: -webkit-box; + display: -ms-flexbox; + display: flex; +} + +.gitalk-container .gt-container .gt-header-comment { + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1; + margin-left: 1.25em; + border: 1px solid var(--color-border-default); + border-radius: 6px; + padding: 8px; +} + +@media (max-width: 479px) { + .gitalk-container .gt-container .gt-header-comment { + margin-left: 0.875em; + } +} + +.gitalk-container .gt-container .gt-header-textarea { + padding: 0.75em; + display: block; + -webkit-box-sizing: border-box; + box-sizing: border-box; + width: 100%; + min-height: 5.125em; + max-height: 15em; + border-radius: 5px; + border: 1px solid var(--color-border-default); + font-size: 0.875em; + word-wrap: break-word; + resize: vertical; + background-color: var(--color-canvas-inset); + outline: none; + -webkit-transition: all 0.25s ease; + transition: all 0.25s ease; +} + +.gitalk-container .gt-container .gt-header-textarea:focus { + background-color: var(--color-canvas-default); + border-color: var(--color-accent-emphasis); + outline: none; + box-shadow: var(--color-primer-shadow-focus); +} + +.gitalk-container .gt-container .gt-header-preview { + margin: 8px; +} + +.gitalk-container .gt-container .gt-header-controls { + margin: 0.75em 0 0; +} + +.gitalk-container .gt-container .gt-header-controls:before, +.gitalk-container .gt-container .gt-header-controls:after { + content: " "; + display: table; +} + +.gitalk-container .gt-container .gt-header-controls:after { + clear: both; +} + +@media (max-width: 479px) { + .gitalk-container .gt-container .gt-header-controls { + margin: 0; + } +} + +.gitalk-container .gt-container .gt-header-controls-tip { + font-size: 0.875em; + color: var(--color-accent-fg); + text-decoration: none; + vertical-align: sub; +} + +@media (max-width: 479px) { + .gitalk-container .gt-container .gt-header-controls-tip { + display: none; + } +} + +.gitalk-container .gt-container .gt-header-controls .gt-btn { + float: right; + margin-left: 1.25em; +} + +@media (max-width: 479px) { + .gitalk-container .gt-container .gt-header-controls .gt-btn { + float: none; + width: 100%; + margin: 0.75em 0 0; + } +} + +.gitalk-container .gt-container:after { + content: ''; + position: fixed; + bottom: 100%; + left: 0; + right: 0; + top: 0; + opacity: 0; +} + +.gitalk-container .gt-container.gt-input-focused { +} + +.gitalk-container .gt-container.gt-input-focused:after { + content: ''; + position: fixed; + bottom: 0; + left: 0; + right: 0; + top: 0; + opacity: 0.6; + -webkit-transition: opacity 0.3s, bottom 0s; + transition: opacity 0.3s, bottom 0s; +} + +.gitalk-container .gt-container.gt-input-focused .gt-header-comment { +} + +.gitalk-container .gt-container .gt-comments { + padding-top: 1.25em; +} + +.gitalk-container .gt-container .gt-comments-null { + text-align: center; +} + +.gitalk-container .gt-container .gt-comments-controls { + margin: 1.25em 0; + text-align: center; +} + +.gitalk-container .gt-container .gt-comment { + padding: 0.625em 0; + display: -webkit-box; + display: -ms-flexbox; + display: flex; +} + +.gitalk-container .gt-container .gt-comment-content { + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1; + margin-left: 1.25em; + background-color: var(--color-border-default); + overflow: auto; + -webkit-transition: all ease 0.25s; + transition: all ease 0.25s; +} + +@media (max-width: 479px) { + .gitalk-container .gt-container .gt-comment-content { + margin-left: 0.875em; + } +} + +.gitalk-container .gt-container .gt-comment-header { + font-size: 0.875em; + display: flex; + background-color: var(--color-canvas-subtle); + border-bottom: 1px solid var(--color-border-default); + padding-right: 16px; + padding-left: 16px; + height: 40px; + align-items: center; +} + +.gitalk-container .gt-container .gt-comment-block-1 { + display: none; +} + +.gitalk-container .gt-container .gt-comment-block-2 { + display: none; +} + +.gitalk-container .gt-container .gt-comment-username { + font-weight: 500; + text-decoration: none; + color: var(--color-fg-default) !important; +} + +@media (max-width: 479px) { + .gitalk-container .gt-container .gt-comment-username { + max-width: 80px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + } +} + +.gitalk-container .gt-container .gt-comment-username:hover { + text-decoration: underline; + color: var(--color-accent-fg) !important; +} + +.gitalk-container .gt-container .gt-comment-text { + margin-left: 0.5em; + color: var(--color-fg-muted) !important; +} + +.gitalk-container .gt-container .gt-comment-date { + margin-left: 0.5em; + color: var(--color-fg-muted) !important; +} + +.gitalk-container .gt-container .gt-comment-like, +.gitalk-container .gt-container .gt-comment-edit, +.gitalk-container .gt-container .gt-comment-reply { + position: absolute; + height: 1.375em; +} + +.gitalk-container .gt-container .gt-comment-like:hover, +.gitalk-container .gt-container .gt-comment-edit:hover, +.gitalk-container .gt-container .gt-comment-reply:hover { + cursor: pointer; +} + +.gitalk-container .gt-container .gt-comment-like { + right: 38px; +} + +.gitalk-container .gt-container .gt-comment-edit, +.gitalk-container .gt-container .gt-comment-reply { + right: 16px; +} + +.gitalk-container .gt-container .gt-comment-body { + padding: 16px; + font-size: 14px; +} + +.gitalk-container .gt-container .gt-comment-body .email-hidden-toggle a { + display: inline-block; + height: 12px; + padding: 0 9px; + font-size: 12px; + font-weight: 600; + line-height: 6px; + color: #444d56; + text-decoration: none; + vertical-align: middle; + background: #dfe2e5; + border-radius: 1px; +} + +.gitalk-container .gt-container .gt-comment-body .email-hidden-toggle a:hover { + background-color: #c6cbd1; +} + +.gitalk-container .gt-container .gt-comment-body .email-hidden-reply { + display: none; + white-space: pre-wrap; +} + +.gitalk-container .gt-container .gt-comment-body .email-hidden-reply .email-signature-reply { + padding: 0 15px; + margin: 15px 0; + color: #586069; + border-left: 4px solid #dfe2e5; +} + +.gitalk-container .gt-container .gt-comment-body .email-hidden-reply.expanded { + display: block; +} + +.gitalk-container .gt-container .gt-comment-admin .gt-comment-content { + background-color: var(--color-canvas-default); + border: 1px solid var(--color-border-default); + border-radius: 6px; +} + +@-webkit-keyframes gt-kf-rotate { + 0% { + -webkit-transform: rotate(0); + transform: rotate(0); + } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +@keyframes gt-kf-rotate { + 0% { + -webkit-transform: rotate(0); + transform: rotate(0); + } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); + } +} diff --git a/css/github-style.css b/css/github-style.css new file mode 100644 index 00000000..0c971c6a --- /dev/null +++ b/css/github-style.css @@ -0,0 +1,191 @@ +html { + scroll-padding-top: 5em; +} + +body { + margin: 0; +} + +.Header { + display: flex; + align-items: center; + flex-wrap: nowrap; + padding-left: 32px!important; + padding-right: 32px!important; + z-index: 32; + padding: 16px; + font-size: 14px; + line-height: 1.5; + color: var(--color-header-text); + background-color: var(--color-header-bg); +} + +.Header-link { + align-items: center; + display: flex; + font-weight: 600; + color: var(--color-header-logo); + white-space: nowrap; +} + +.Header-item { + margin-right: 16px; +} + +.octicon { + fill: currentColor; +} + +.Header-search { + max-width: 272px; + width: 100%; + transition: .2s ease-in-out; + transition-property: max-width, padding-bottom, padding-top; +} + +.Header-search:focus-within { + max-width: 544px; +} + +.Header-search-label { + display: flex; + width: 100%; + max-width: 100%; + padding: 0; + font-size: 14px; + font-weight: 400; + color: var(--color-text-white); + vertical-align: middle; + background-color: var(--color-header-search-bg); + border: 1px solid var(--color-header-search-border); + border-radius: 6px; + box-shadow: none; +} + +.Header-search-label:focus-within { + background-color: hsla(0, 0%, 100%, .175); + border-color: var(--color-state-focus-border); + outline: none; +} + +.Header-search-input { + min-height: 28px; + width: 100%; + padding: 5px 12px; + padding-top: 0; + padding-bottom: 0; + font-size: 14px; + background: none; + border: 0; + box-shadow: none; + border-radius: 6px; + color: #fff; +} + +.Header-search-input:focus { + border: 0; + box-shadow: none; + background-color: var(--color-bg-secondary); + color: var(--color-text-primary); + border-color: var(--color-state-focus-border); + outline: none; +} + +::placeholder { + color: #c2c3c4; + opacity: 1; +} + +.switch-theme { + top: -2px; + left: -2px; + width: 28px; + height: 28px; + border-radius: 50%; + background-color: var(--color-profile-color-modes-toggle-thumb-bg); + cursor: pointer; +} + +.no-select { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.details-reset>summary { + outline: none; +} + +.sticky-header { + position: sticky; + top: 0; +} + +.tippy-box { + border-radius: 10px; +} + +.tippy-content { + border-radius: 10px; + background-color: var(--color-bg-table-of-contents-container); + border: 1px solid var(--color-border-primary); + overflow-y: hidden; + padding: 0; +} + +#table-of-contents { + max-height: 30em; + overflow-y: auto; +} +#table-of-contents > nav ul { + list-style-type: none; +} + +#table-of-contents > nav > ul li > a { + color: var(--color-text-primary); + text-decoration: none; + padding: 0.5em; + border-radius: 6px; + display: block; +} + +#table-of-contents > nav > ul li > a.table-of-contents-option-selected { + background-color: var(--color-bg-table-of-contents-option-selected); + color: var(--color-fg-table-of-contents-option-selected); +} + +#table-of-contents > nav ul > li { + margin-left: 1em; + font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji; +} + +#table-of-contents > nav > ul > li { + margin-left: 0; +} + +@media (max-width: 768px) { + .Header { + padding-left: 24px!important; + padding-right: 24px!important; + } +} + +@media (max-width: 480px) { + .Header { + padding-left: 16px!important; + padding-right: 16px!important; + } + .mobile-none { + display: none!important; + } + .Header-search { + max-width: 100%; + } +} + +.pinned-item-desc img { + max-width: 100%; +} diff --git a/css/github.min.css b/css/github.min.css new file mode 100644 index 00000000..78d41450 --- /dev/null +++ b/css/github.min.css @@ -0,0 +1,6 @@ +/*! + * @primer/css/product + * http://primer.style/css + * + * Released under MIT license. Copyright (c) 2019 GitHub Inc. + */.flash{position:relative;padding:20px 16px;border-style:solid;border-width:1px;border-radius:6px}.flash p:last-child{margin-bottom:0}.flash .octicon{margin-right:12px}.flash-messages{margin-bottom:24px}.flash-close{float:right;padding:16px;margin:-16px;text-align:center;cursor:pointer;background:none;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.flash-close:hover{opacity:.7}.flash-close:active{opacity:.5}.flash-close .octicon{margin-right:0}.flash-action{float:right;margin-top:-3px;margin-left:24px;background-clip:padding-box}.flash{color:var(--color-alert-info-text);background-image:linear-gradient(var(--color-alert-info-bg),var(--color-alert-info-bg));border-color:var(--color-alert-info-border)}.flash .octicon{color:var(--color-alert-info-icon)}.flash-warn{color:var(--color-alert-warn-text);background-image:linear-gradient(var(--color-alert-warn-bg),var(--color-alert-warn-bg));border-color:var(--color-alert-warn-border)}.flash-warn .octicon{color:var(--color-alert-warn-icon)}.flash-error{color:var(--color-alert-error-text);background-image:linear-gradient(var(--color-alert-error-bg),var(--color-alert-error-bg));border-color:var(--color-alert-error-border)}.flash-error .octicon{color:var(--color-alert-error-icon)}.flash-success{color:var(--color-alert-success-text);background-image:linear-gradient(var(--color-alert-success-bg),var(--color-alert-success-bg));border-color:var(--color-alert-success-border)}.flash-success .octicon{color:var(--color-alert-success-icon)}.flash-full{margin-top:-1px;border-width:1px 0;border-radius:0}.flash-banner{position:fixed;top:0;z-index:90;width:100%;border-top:0;border-right:0;border-left:0;border-radius:0}.flash-banner,.flash-full{background-color:var(--color-bg-canvas)}.warning{padding:.5em;margin-bottom:.8em;font-weight:600;background-color:var(--color-alert-warn-bg)}.autocomplete-results{position:absolute;z-index:99;width:100%;max-height:20em;overflow-y:auto;font-size:13px;list-style:none;background:var(--color-bg-overlay);border:1px solid var(--color-border-overlay);border-radius:6px;box-shadow:var(--color-autocomplete-shadow)}.autocomplete-item{display:block;width:100%;padding:4px 8px;overflow:hidden;font-weight:600;color:var(--color-text-primary);text-align:left;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background-color:var(--color-bg-overlay);border:0}.autocomplete-item:hover{color:var(--color-state-hover-primary-text);text-decoration:none;background-color:var(--color-state-hover-primary-bg)}.autocomplete-item:hover *{color:inherit!important}.autocomplete-item.navigation-focus,.autocomplete-item.selected,.autocomplete-item[aria-selected=true]{color:var(--color-state-selected-primary-text);text-decoration:none;background-color:var(--color-state-selected-primary-bg)}.autocomplete-item.navigation-focus *,.autocomplete-item.selected *,.autocomplete-item[aria-selected=true] *{color:inherit!important}.suggester{position:relative;top:0;left:0;min-width:180px;padding:0;margin:24px 0 0;list-style:none;cursor:pointer;background:var(--color-bg-overlay);border:1px solid var(--color-border-overlay);border-radius:6px;box-shadow:var(--color-autocomplete-shadow)}.suggester li{display:block;padding:4px 8px;font-weight:500;border-bottom:1px solid var(--color-autocomplete-row-border)}.suggester li small{font-weight:400;color:var(--color-text-secondary)}.suggester li:last-child{border-bottom:0;border-bottom-right-radius:6px;border-bottom-left-radius:6px}.suggester li:first-child{border-top-left-radius:6px;border-top-right-radius:6px}.suggester li:hover{text-decoration:none;background:var(--color-state-hover-primary-bg)}.suggester li:hover,.suggester li:hover small{color:var(--color-state-hover-primary-text)}.suggester li.navigation-focus,.suggester li[aria-selected=true]{color:var(--color-state-selected-primary-text);text-decoration:none;background:var(--color-state-selected-primary-bg)}.suggester li.navigation-focus small,.suggester li[aria-selected=true] small{color:var(--color-state-selected-primary-text)}.suggester-container{position:absolute;top:0;left:0;z-index:30}@media (max-width:544px){.page-responsive .suggester-container{right:8px!important;left:8px!important}.page-responsive .suggester li{padding:8px 16px}}.avatar{display:inline-block;overflow:hidden;line-height:1;vertical-align:middle;background-color:var(--color-avatar-bg);border-radius:6px;box-shadow:0 0 0 1px var(--color-avatar-border)}.avatar-link{float:left;line-height:1}.avatar-group-item{display:inline-block;margin-bottom:3px}.avatar-1,.avatar-2,.avatar-small{border-radius:4px}.avatar-1{width:16px;height:16px}.avatar-2{width:20px;height:20px}.avatar-3{width:24px;height:24px}.avatar-4{width:28px;height:28px}.avatar-5{width:32px;height:32px}.avatar-6{width:40px;height:40px}.avatar-7{width:48px;height:48px}.avatar-8{width:64px;height:64px}.avatar-parent-child{position:relative}.avatar-child{position:absolute;right:-15%;bottom:-9%;background-color:var(--color-bg-canvas);border-radius:4px;box-shadow:var(--color-avatar-child-shadow)}.AvatarStack{position:relative;min-width:26px;height:20px}.AvatarStack .AvatarStack-body{position:absolute}.AvatarStack.AvatarStack--two{min-width:36px}.AvatarStack.AvatarStack--three-plus{min-width:46px}.AvatarStack-body{display:flex;background:var(--color-bg-canvas)}.AvatarStack-body .avatar{position:relative;z-index:2;display:flex;width:20px;height:20px;box-sizing:initial;margin-right:-11px;background-color:var(--color-bg-canvas);border-right:1px solid var(--color-bg-canvas);border-radius:4px;transition:margin .1s ease-in-out}.AvatarStack-body .avatar:first-child{z-index:3}.AvatarStack-body .avatar:last-child{z-index:1;border-right:0}.AvatarStack-body .avatar img{border-radius:4px}.AvatarStack-body .avatar:nth-child(n+4){display:none;opacity:0}.AvatarStack-body:hover .avatar{margin-right:3px}.AvatarStack-body:hover .avatar:nth-child(n+4){display:flex;opacity:1}.AvatarStack-body:hover .avatar-more{display:none!important}.avatar.avatar-more{z-index:1;margin-right:0;background:var(--color-bg-tertiary)}.avatar.avatar-more:after,.avatar.avatar-more:before{position:absolute;display:block;height:20px;content:"";border-radius:2px;outline:1px solid var(--color-bg-canvas)}.avatar.avatar-more:before{width:17px;background:var(--color-avatar-stack-fade-more)}.avatar.avatar-more:after{width:14px;background:var(--color-avatar-stack-fade)}.AvatarStack--right .AvatarStack-body{right:0;flex-direction:row-reverse}.AvatarStack--right .AvatarStack-body:hover .avatar{margin-right:0;margin-left:3px}.AvatarStack--right .avatar.avatar-more{background:var(--color-avatar-stack-fade)}.AvatarStack--right .avatar.avatar-more:before{width:5px}.AvatarStack--right .avatar.avatar-more:after{width:2px;background:var(--color-bg-tertiary)}.AvatarStack--right .avatar{margin-right:0;margin-left:-11px;border-right:0;border-left:1px solid var(--color-bg-canvas)}.CircleBadge{display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-canvas);border-radius:50%;box-shadow:var(--color-shadow-medium)}.CircleBadge-icon{max-width:60%!important;height:auto!important;max-height:55%!important}.CircleBadge--small{width:56px;height:56px}.CircleBadge--medium{width:96px;height:96px}.CircleBadge--large{width:128px;height:128px}.DashedConnection{position:relative}.DashedConnection:before{position:absolute;top:50%;left:0;width:100%;content:"";border-bottom:2px dashed var(--color-border-primary)}.blankslate,.DashedConnection .CircleBadge{position:relative}.blankslate{padding:32px;text-align:center}.blankslate p{color:var(--color-text-secondary)}.blankslate code{padding:2px 5px 3px;font-size:14px;background:var(--color-bg-canvas);border:1px solid var(--color-auto-gray-0);border-radius:6px}.blankslate img{width:56px;height:56px}.blankslate-icon{margin-right:4px;margin-bottom:8px;margin-left:4px;color:var(--color-blankslate-icon)}.blankslate-capped{border-radius:0 0 6px 6px}.blankslate-spacious{padding:80px 40px}.blankslate-narrow{max-width:485px;margin:0 auto}.blankslate-large img{width:80px;height:80px}.blankslate-large h3{margin:16px 0;font-size:24px}.blankslate-large p{font-size:16px}.blankslate-clean-background{border:0}.branch-name{display:inline-block;padding:2px 6px;font:12px SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;color:var(--color-branch-name-text);background-color:var(--color-branch-name-bg);border-radius:6px}.branch-name .octicon{margin:1px -2px 0 0;color:var(--color-branch-name-icon)}a.branch-name{color:var(--color-text-link);background-color:var(--color-branch-name-link-bg)}a.branch-name .octicon{color:var(--color-branch-name-link-icon)}.dropdown{position:relative}.dropdown-caret{display:inline-block;width:0;height:0;vertical-align:middle;content:"";border-top-style:solid;border-top-width:4px;border-right:4px solid transparent;border-bottom:0 solid transparent;border-left:4px solid transparent}.dropdown-menu{position:absolute;top:100%;left:0;z-index:100;width:160px;padding-top:4px;padding-bottom:4px;margin-top:2px;list-style:none;background-color:var(--color-bg-overlay);background-clip:padding-box;border:1px solid var(--color-border-overlay);border-radius:6px;box-shadow:var(--color-dropdown-shadow)}.dropdown-menu:after,.dropdown-menu:before{position:absolute;display:inline-block;content:""}.dropdown-menu:before{border:8px solid transparent;border-bottom:8px solid var(--color-border-overlay)}.dropdown-menu:after{border:7px solid transparent;border-bottom:7px solid var(--color-bg-overlay)}.dropdown-menu>ul{list-style:none}.dropdown-menu-no-overflow{width:auto}.dropdown-menu-no-overflow .dropdown-item{padding:4px 16px;overflow:visible;text-overflow:inherit}.dropdown-item{display:block;padding:4px 8px 4px 16px;overflow:hidden;color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap}.dropdown-item:focus,.dropdown-item:hover{color:var(--color-state-hover-primary-text);text-decoration:none;background-color:var(--color-state-hover-primary-bg);outline:none}.dropdown-item:focus>.octicon,.dropdown-item:hover>.octicon{color:inherit;opacity:1}.dropdown-item.btn-link,.dropdown-signout{width:100%;text-align:left}.dropdown-signout{background:none;border:0}.dropdown-divider{display:block;height:0;margin:8px 0;border-top:1px solid var(--color-border-overlay)}.dropdown-header{padding:4px 16px;font-size:12px;color:var(--color-text-secondary)}.dropdown-item[aria-checked=false] .octicon-check{display:none}.dropdown-menu-w{top:0;right:100%;left:auto;width:auto;margin-top:0;margin-right:8px}.dropdown-menu-w:before{top:10px;right:-16px;left:auto;border-color:transparent;border-left-color:var(--color-border-overlay)}.dropdown-menu-w:after{top:11px;right:-14px;left:auto;border-color:transparent;border-left-color:var(--color-bg-overlay)}.dropdown-menu-e{top:0;left:100%;width:auto;margin-top:0;margin-left:8px}.dropdown-menu-e:before{top:10px;left:-16px;border-color:transparent;border-right-color:var(--color-border-overlay)}.dropdown-menu-e:after{top:11px;left:-14px;border-color:transparent;border-right-color:var(--color-bg-overlay)}.dropdown-menu-ne{top:auto;bottom:100%;left:0;margin-bottom:3px}.dropdown-menu-ne:after,.dropdown-menu-ne:before{top:auto;right:auto}.dropdown-menu-ne:before{bottom:-8px;left:9px;border-top:8px solid var(--color-border-overlay);border-right:8px solid transparent;border-bottom:0;border-left:8px solid transparent}.dropdown-menu-ne:after{bottom:-7px;left:10px;border-top:7px solid var(--color-bg-overlay);border-right:7px solid transparent;border-bottom:0;border-left:7px solid transparent}.dropdown-menu-s{right:50%;left:auto;transform:translateX(50%)}.dropdown-menu-s:before{top:-16px;right:50%;transform:translateX(50%)}.dropdown-menu-s:after{top:-14px;right:50%;transform:translateX(50%)}.dropdown-menu-sw{right:0;left:auto}.dropdown-menu-sw:before{top:-16px;right:9px;left:auto}.dropdown-menu-sw:after{top:-14px;right:10px;left:auto}.dropdown-menu-se:before{top:-16px;left:9px}.dropdown-menu-se:after{top:-14px;left:10px}.dropdown-menu-dark{color:var(--color-text-white);background:var(--color-auto-gray-8);border-color:var(--color-auto-gray-7);box-shadow:var(--color-shadow-large)}.dropdown-menu-dark:before{border-bottom-color:var(--color-auto-gray-7)}.dropdown-menu-dark:after{border-bottom-color:var(--color-auto-gray-8)}.dropdown-menu-dark .dropdown-header{color:var(--color-auto-gray-3)}.dropdown-menu-dark .dropdown-divider{border-top-color:var(--color-auto-gray-7)}.dropdown-menu-dark .dropdown-item{color:inherit}.dropdown-menu-dark.dropdown-menu-w:before{border-left-color:var(--color-auto-gray-7)}.dropdown-menu-dark.dropdown-menu-w:after,.dropdown-menu-dark.dropdown-menu-w:before{border-bottom-color:transparent;border-right-color:transparent;border-top-color:transparent}.dropdown-menu-dark.dropdown-menu-w:after{border-left-color:var(--color-auto-gray-8)}.dropdown-menu-dark.dropdown-menu-e:before{border-right-color:var(--color-auto-gray-7)}.dropdown-menu-dark.dropdown-menu-e:after,.dropdown-menu-dark.dropdown-menu-e:before{border-left-color:transparent;border-bottom-color:transparent;border-top-color:transparent}.dropdown-menu-dark.dropdown-menu-e:after{border-right-color:var(--color-auto-gray-8)}.dropdown-menu-dark.dropdown-menu-ne:before{border-top-color:var(--color-auto-gray-7)}.dropdown-menu-dark.dropdown-menu-ne:after,.dropdown-menu-dark.dropdown-menu-ne:before{border-left-color:transparent;border-bottom-color:transparent;border-right-color:transparent}.dropdown-menu-dark.dropdown-menu-ne:after{border-top-color:var(--color-auto-gray-8)}.Header{z-index:32;padding:16px;font-size:14px;line-height:1.5;color:var(--color-header-text);background-color:var(--color-header-bg)}.Header,.Header-item{display:flex;align-items:center;flex-wrap:nowrap}.Header-item{margin-right:16px;align-self:stretch}.Header-item--full{flex:auto}.Header-link{font-weight:600;color:var(--color-header-logo);white-space:nowrap}.Header-link:focus,.Header-link:hover{color:var(--color-header-text);text-decoration:none}.IssueLabel{display:inline-block;padding:0 7px;font-size:12px;font-weight:500;line-height:18px;border:1px solid transparent;border-radius:2em}.IssueLabel .g-emoji{position:relative;top:-.05em;display:inline-block;font-size:1em;line-height:1}.IssueLabel:hover{text-decoration:none}.IssueLabel--big{padding-right:10px;padding-left:10px;line-height:22px}.labels{position:relative}.label,.Label{display:inline-block;padding:0 7px;font-size:12px;font-weight:500;line-height:18px;border-radius:2em;background-color:initial!important;border:1px solid transparent;border-color:var(--color-label-border)}.label:hover,.Label:hover{text-decoration:none}.Label--large{padding-right:10px;padding-left:10px;line-height:22px}.Label--inline{display:inline;padding:.1667em .5em;font-size:.9em}.Label--primary{color:var(--color-label-primary-text);border-color:var(--color-label-primary-border)}.Label--secondary{color:var(--color-label-secondary-text);border-color:var(--color-label-secondary-border)}.Label--info{color:var(--color-label-info-text);border-color:var(--color-label-info-border)}.Label--success{color:var(--color-label-success-text);border-color:var(--color-label-success-border)}.Label--warning{color:var(--color-label-warning-text);border-color:var(--color-label-warning-border)}.Label--danger{color:var(--color-label-danger-text);border-color:var(--color-label-danger-border)}.Label--gray,.Label--outline{color:var(--color-auto-gray-6);border-color:var(--color-auto-gray-2)}.Label--gray-darker{color:var(--color-text-primary);border-color:var(--color-auto-gray-5)}.Label--yellow{color:var(--color-label-warning-text);border-color:var(--color-label-warning-border)}.Label--orange{color:var(--color-label-orange-text);border-color:var(--color-label-orange-border)}.Label--red{color:var(--color-label-danger-text);border-color:var(--color-label-danger-border)}.Label--green,.Label--outline-green{color:var(--color-auto-green-6);border-color:var(--color-auto-green-5)}.Label--blue{color:var(--color-auto-blue-5);border-color:var(--color-auto-blue-5)}.Label--purple{color:var(--color-auto-purple-5);border-color:var(--color-auto-purple-4)}.Label--pink{color:var(--color-auto-pink-6);border-color:var(--color-auto-pink-4)}.state,.State{display:inline-block;padding:5px 12px;font-size:14px;font-weight:500;line-height:20px;text-align:center;white-space:nowrap;border-radius:2em}.state,.State,.State--draft{color:var(--color-pr-state-draft-text);background-color:var(--color-pr-state-draft-bg);border:1px solid var(--color-pr-state-draft-border)}.State--green,.State--open{color:var(--color-pr-state-open-text);background-color:var(--color-pr-state-open-bg);border-color:var(--color-pr-state-open-border)}.State--merged,.State--purple{color:var(--color-pr-state-merged-text);background-color:var(--color-pr-state-merged-bg);border-color:var(--color-pr-state-merged-border)}.State--closed,.State--red{color:var(--color-pr-state-closed-text);background-color:var(--color-pr-state-closed-bg);border-color:var(--color-pr-state-closed-border)}.State--small{padding:0 10px;font-size:12px;line-height:24px}.State--small .octicon{width:1em}.Counter{display:inline-block;min-width:20px;padding:0 6px;font-size:12px;font-weight:500;line-height:18px;color:var(--color-counter-text);text-align:center;background-color:var(--color-counter-bg);border:1px solid transparent;border-radius:2em}.Counter .octicon{vertical-align:text-top;opacity:.8}.Counter--primary{color:var(--color-counter-primary-text);background-color:var(--color-counter-primary-bg)}.Counter--gray-light,.Counter--secondary{color:var(--color-counter-secondary-text)}.Counter--gray{color:var(--color-counter-primary-text);background-color:var(--color-counter-primary-bg)}.diffstat{font-size:12px;font-weight:600;color:var(--color-text-secondary);white-space:nowrap;cursor:default}.diffstat-block-added,.diffstat-block-deleted,.diffstat-block-neutral{display:inline-block;width:8px;height:8px;margin-left:1px;outline-offset:-1px}.diffstat-block-deleted{background-color:var(--color-diffstat-deletion-bg);outline:1px solid var(--color-diffstat-deletion-border)}.diffstat-block-added{background-color:var(--color-diffstat-addition-bg);outline:1px solid var(--color-diffstat-addition-border)}.diffstat-block-neutral{background-color:var(--color-diffstat-neutral-bg);outline:1px solid var(--color-diffstat-neutral-border)}.AnimatedEllipsis{display:inline-block;overflow:hidden;vertical-align:bottom}.AnimatedEllipsis:after{display:inline-block;content:"...";animation:AnimatedEllipsis-keyframes 1.2s steps(4,jump-none) infinite}@keyframes AnimatedEllipsis-keyframes{0%{transform:translateX(-100%)}}.markdown-body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;font-size:16px;line-height:1.5;word-wrap:break-word}.markdown-body kbd{display:inline-block;padding:3px 5px;font:11px SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;line-height:10px;color:var(--color-auto-gray-7);vertical-align:middle;background-color:var(--color-bg-secondary);border-bottom-color:var(--color-border-tertiary);border:1px solid var(--color-border-tertiary);border-radius:6px;box-shadow:inset 0 -1px 0 var(--color-border-tertiary)}.markdown-body:after,.markdown-body:before{display:table;content:""}.markdown-body:after{clear:both}.markdown-body>:first-child{margin-top:0!important}.markdown-body>:last-child{margin-bottom:0!important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:var(--color-text-danger)}.markdown-body .anchor{float:left;padding-right:4px;margin-left:-20px;line-height:1}.markdown-body .anchor:focus{outline:none}.markdown-body blockquote,.markdown-body details,.markdown-body dl,.markdown-body ol,.markdown-body p,.markdown-body pre,.markdown-body table,.markdown-body ul{margin-top:0;margin-bottom:16px}.markdown-body hr{height:.25em;padding:0;margin:24px 0;background-color:var(--color-border-primary);border:0}.markdown-body blockquote{padding:0 1em;color:var(--color-text-tertiary);border-left:.25em solid var(--color-markdown-blockquote-border)}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:var(--color-text-primary);vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 code,.markdown-body h1 tt,.markdown-body h2 code,.markdown-body h2 tt,.markdown-body h3 code,.markdown-body h3 tt,.markdown-body h4 code,.markdown-body h4 tt,.markdown-body h5 code,.markdown-body h5 tt,.markdown-body h6 code,.markdown-body h6 tt{font-size:inherit}.markdown-body h1{font-size:2em}.markdown-body h1,.markdown-body h2{padding-bottom:.3em;border-bottom:1px solid var(--color-border-secondary)}.markdown-body h2{font-size:1.5em}.markdown-body h3{font-size:1.25em}.markdown-body h4{font-size:1em}.markdown-body h5{font-size:.875em}.markdown-body h6{font-size:.85em;color:var(--color-text-tertiary)}.markdown-body ol,.markdown-body ul{padding-left:2em}.markdown-body ol.no-list,.markdown-body ul.no-list{padding:0;list-style-type:none}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-top:0;margin-bottom:0}.markdown-body li{word-wrap:break-all}.markdown-body li>p{margin-top:16px}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:600}.markdown-body dl dd{padding:0 16px;margin-bottom:16px}.markdown-body table{display:block;width:100%;width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;overflow:auto}.markdown-body table th{font-weight:600}.markdown-body table td,.markdown-body table th{padding:6px 13px;border:1px solid var(--color-markdown-table-border)}.markdown-body table tr{background-color:var(--color-bg-primary);border-top:1px solid var(--color-markdown-table-tr-border)}.markdown-body table tr:nth-child(2n){background-color:var(--color-bg-tertiary)}.markdown-body table img{background-color:initial}.markdown-body img{max-width:100%;box-sizing:initial;background-color:var(--color-bg-primary)}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{max-width:none;vertical-align:text-top;background-color:initial}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid var(--color-markdown-frame-border)}.markdown-body span.frame span img{display:block;float:left}.markdown-body span.frame span span{display:block;padding:5px 0 0;clear:both;color:var(--color-text-primary)}.markdown-body span.align-center{display:block;overflow:hidden;clear:both}.markdown-body span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.markdown-body span.align-center span img{margin:0 auto;text-align:center}.markdown-body span.align-right{display:block;overflow:hidden;clear:both}.markdown-body span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.markdown-body span.align-right span img{margin:0;text-align:right}.markdown-body span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.markdown-body span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.markdown-body code,.markdown-body tt{padding:.2em .4em;margin:0;font-size:85%;background-color:var(--color-markdown-code-bg);border-radius:6px}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{text-decoration:inherit}.markdown-body pre{word-wrap:normal}.markdown-body pre>code{padding:0;margin:0;font-size:100%;word-break:normal;white-space:pre;background:transparent;border:0}.markdown-body .highlight{margin-bottom:16px}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;background-color:var(--color-bg-tertiary);border-radius:6px}.markdown-body pre code,.markdown-body pre tt{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:initial;border:0}.markdown-body .csv-data td,.markdown-body .csv-data th{padding:5px;overflow:hidden;font-size:12px;line-height:1;text-align:left;white-space:nowrap}.markdown-body .csv-data .blob-num{padding:10px 8px 9px;text-align:right;background:var(--color-bg-primary);border:0}.markdown-body .csv-data tr{border-top:0}.markdown-body .csv-data th{font-weight:600;background:var(--color-bg-tertiary);border-top:0}.Popover{position:absolute;z-index:100}.Popover-message{position:relative;width:232px;margin-right:auto;margin-left:auto}.Popover-message:after,.Popover-message:before{position:absolute;left:50%;display:inline-block;content:""}.Popover-message:before{top:-16px;margin-left:-9px;border:8px solid transparent;border-bottom:8px solid var(--color-border-overlay)}.Popover-message:after{top:-14px;margin-left:-8px;border:7px solid transparent;border-bottom:7px solid var(--color-bg-overlay)}.Popover-message.Box{background-color:var(--color-bg-overlay)}.Popover-message--bottom-left:after,.Popover-message--bottom-left:before,.Popover-message--bottom-right:after,.Popover-message--bottom-right:before,.Popover-message--bottom:after,.Popover-message--bottom:before{top:auto;border-bottom-color:transparent}.Popover-message--bottom-left:before,.Popover-message--bottom-right:before,.Popover-message--bottom:before{bottom:-16px;border-top-color:var(--color-border-overlay)}.Popover-message--bottom-left:after,.Popover-message--bottom-right:after,.Popover-message--bottom:after{bottom:-14px;border-top-color:var(--color-bg-overlay)}.Popover-message--bottom-right,.Popover-message--top-right{right:-9px;margin-right:0}.Popover-message--bottom-right:after,.Popover-message--bottom-right:before,.Popover-message--top-right:after,.Popover-message--top-right:before{left:auto;margin-left:0}.Popover-message--bottom-right:before,.Popover-message--top-right:before{right:20px}.Popover-message--bottom-right:after,.Popover-message--top-right:after{right:21px}.Popover-message--bottom-left,.Popover-message--top-left{left:-9px;margin-left:0}.Popover-message--bottom-left:after,.Popover-message--bottom-left:before,.Popover-message--top-left:after,.Popover-message--top-left:before{left:24px;margin-left:0}.Popover-message--bottom-left:after,.Popover-message--top-left:after{left:25px}.Popover-message--left-bottom:after,.Popover-message--left-bottom:before,.Popover-message--left-top:after,.Popover-message--left-top:before,.Popover-message--left:after,.Popover-message--left:before,.Popover-message--right-bottom:after,.Popover-message--right-bottom:before,.Popover-message--right-top:after,.Popover-message--right-top:before,.Popover-message--right:after,.Popover-message--right:before{top:50%;left:auto;margin-left:0;border-bottom-color:transparent}.Popover-message--left-bottom:before,.Popover-message--left-top:before,.Popover-message--left:before,.Popover-message--right-bottom:before,.Popover-message--right-top:before,.Popover-message--right:before{margin-top:-9px}.Popover-message--left-bottom:after,.Popover-message--left-top:after,.Popover-message--left:after,.Popover-message--right-bottom:after,.Popover-message--right-top:after,.Popover-message--right:after{margin-top:-8px}.Popover-message--right-bottom:before,.Popover-message--right-top:before,.Popover-message--right:before{right:-16px;border-left-color:var(--color-border-overlay)}.Popover-message--right-bottom:after,.Popover-message--right-top:after,.Popover-message--right:after{right:-14px;border-left-color:var(--color-bg-overlay)}.Popover-message--left-bottom:before,.Popover-message--left-top:before,.Popover-message--left:before{left:-16px;border-right-color:var(--color-border-overlay)}.Popover-message--left-bottom:after,.Popover-message--left-top:after,.Popover-message--left:after{left:-14px;border-right-color:var(--color-bg-overlay)}.Popover-message--left-top:after,.Popover-message--left-top:before,.Popover-message--right-top:after,.Popover-message--right-top:before{top:24px}.Popover-message--left-bottom:after,.Popover-message--left-bottom:before,.Popover-message--right-bottom:after,.Popover-message--right-bottom:before{top:auto}.Popover-message--left-bottom:before,.Popover-message--right-bottom:before{bottom:16px}.Popover-message--left-bottom:after,.Popover-message--right-bottom:after{bottom:17px}@media (min-width:544px){.Popover-message--large{min-width:320px}}.Progress{display:flex;height:8px;overflow:hidden;background-color:var(--color-auto-gray-2);border-radius:6px;outline:1px solid transparent}.Progress--large{height:10px}.Progress--small{height:5px}.Progress-item{outline:2px solid transparent}.Progress-item+.Progress-item{margin-left:2px}.SelectMenu{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99;display:flex;padding:16px;pointer-events:none;flex-direction:column}@media (min-width:544px){.SelectMenu{position:absolute;top:auto;right:auto;bottom:auto;left:auto;padding:0}}.SelectMenu:before{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;content:"";background-color:var(--color-select-menu-backdrop-bg)}@media (min-width:544px){.SelectMenu:before{display:none}}.SelectMenu-modal{position:relative;z-index:99;display:flex;max-height:66%;margin:auto 0;overflow:hidden;pointer-events:auto;flex-direction:column;background-color:var(--color-bg-overlay);border:1px solid var(--color-select-menu-backdrop-border);border-radius:12px;box-shadow:var(--color-select-menu-shadow);animation:SelectMenu-modal-animation .12s cubic-bezier(0,.1,.1,1) backwards}@keyframes SelectMenu-modal-animation{0%{opacity:0;transform:scale(.9)}}@keyframes SelectMenu-modal-animation--sm{0%{opacity:0;transform:translateY(-16px)}}@media (min-width:544px){.SelectMenu-modal{width:300px;height:auto;max-height:480px;margin:8px 0 16px;font-size:12px;border-color:var(--color-border-overlay);border-radius:6px;box-shadow:var(--color-shadow-large);animation-name:SelectMenu-modal-animation--sm}}.SelectMenu-header{display:flex;padding:16px;flex:none;align-items:center;border-bottom:1px solid var(--color-select-menu-border-secondary)}@media (min-width:544px){.SelectMenu-header{padding:7px 7px 7px 16px}}.SelectMenu-title{flex:1;font-size:14px;font-weight:600}@media (min-width:544px){.SelectMenu-title{font-size:inherit}}.SelectMenu-closeButton{padding:16px;margin:-16px;line-height:1;color:var(--color-icon-tertiary);background-color:initial;border:0}@media (min-width:544px){.SelectMenu-closeButton{padding:8px;margin:-8px -7px}}.SelectMenu-filter{padding:16px;margin:0;border-bottom:1px solid var(--color-select-menu-border-secondary)}@media (min-width:544px){.SelectMenu-filter{padding:8px}}.SelectMenu-input{display:block;width:100%}@media (min-width:544px){.SelectMenu-input{font-size:14px}}.SelectMenu-list{position:relative;padding:0;margin:0 0 -1px;flex:auto;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.SelectMenu-item,.SelectMenu-list{background-color:var(--color-bg-overlay)}.SelectMenu-item{display:flex;align-items:center;width:100%;padding:16px;overflow:hidden;color:var(--color-text-primary);text-align:left;cursor:pointer;border:0;border-bottom:1px solid var(--color-select-menu-border-secondary)}@media (min-width:544px){.SelectMenu-item{padding-top:7px;padding-bottom:7px}}.SelectMenu-list--borderless .SelectMenu-item{border-bottom:0}.SelectMenu-icon{width:16px;margin-right:8px;flex-shrink:0}.SelectMenu-icon--check{visibility:hidden;transition:transform .12s cubic-bezier(.5,.1,1,.5),visibility 0s linear .12s;transform:scale(0)}.SelectMenu-tabs{display:flex;flex-shrink:0;overflow-x:auto;overflow-y:hidden;box-shadow:inset 0 -1px 0 var(--color-select-menu-border-secondary);-webkit-overflow-scrolling:touch}.SelectMenu-tabs::-webkit-scrollbar{display:none}@media (min-width:544px){.SelectMenu-tabs{padding:8px 8px 0}}.SelectMenu-tab{flex:1;padding:8px 16px;font-size:12px;font-weight:500;color:var(--color-text-tertiary);text-align:center;background-color:initial;border:0;box-shadow:inset 0 -1px 0 var(--color-select-menu-border-secondary)}@media (min-width:544px){.SelectMenu-tab{flex:none;padding:4px 16px;border:solid transparent;border-width:1px 1px 0;border-top-left-radius:6px;border-top-right-radius:6px}}.SelectMenu-tab[aria-selected=true]{z-index:1;color:var(--color-text-primary);cursor:default;background-color:var(--color-bg-overlay);box-shadow:0 0 0 1px var(--color-select-menu-border-secondary)}@media (min-width:544px){.SelectMenu-tab[aria-selected=true]{border-color:var(--color-select-menu-border-secondary);box-shadow:none}}.SelectMenu-message{padding:7px 16px;text-align:center;background-color:var(--color-bg-overlay);border-bottom:1px solid var(--color-select-menu-border-secondary)}.SelectMenu-blankslate,.SelectMenu-loading{padding:24px 16px;text-align:center;background-color:var(--color-bg-overlay)}.SelectMenu-divider{padding:4px 16px;margin:0;font-size:12px;font-weight:500;color:var(--color-text-tertiary);background-color:var(--color-bg-tertiary);border-bottom:1px solid var(--color-select-menu-border-secondary)}.SelectMenu-list--borderless .SelectMenu-divider{border-top:1px solid var(--color-select-menu-border-secondary)}.SelectMenu-list--borderless .SelectMenu-divider:empty{padding:0;border-top:0}.SelectMenu-footer{z-index:0;padding:8px 16px;font-size:12px;color:var(--color-text-tertiary);text-align:center;border-top:1px solid var(--color-select-menu-border-secondary)}@media (min-width:544px){.SelectMenu-footer{padding:7px 16px}}.SelectMenu--hasFilter .SelectMenu-modal{height:80%;max-height:none;margin-top:0}@media (min-width:544px){.SelectMenu--hasFilter .SelectMenu-modal{height:auto;max-height:480px;margin-top:8px}}.SelectMenu-closeButton:focus,.SelectMenu-item:focus,.SelectMenu-tab:focus{outline:0}.SelectMenu-item:hover{text-decoration:none}.SelectMenu-item[aria-checked=true]{font-weight:500;color:var(--color-text-primary)}.SelectMenu-item[aria-checked=true] .SelectMenu-icon--check{visibility:visible;transition:transform .12s cubic-bezier(0,0,.2,1),visibility 0s linear;transform:scale(1)}.SelectMenu-item:disabled,.SelectMenu-item[aria-disabled=true]{color:var(--color-text-disabled)}@media (hover:hover){.SelectMenu-closeButton:hover,body:not(.intent-mouse) .SelectMenu-closeButton:focus{color:var(--color-text-primary)}.SelectMenu-closeButton:active{color:var(--color-text-secondary)}.SelectMenu-item:hover,body:not(.intent-mouse) .SelectMenu-item:focus{background-color:var(--color-state-hover-secondary-bg)}.SelectMenu-item:active{background-color:var(--color-bg-secondary)}body:not(.intent-mouse) .SelectMenu-tab:focus{background-color:var(--color-select-menu-tap-focus-bg)}.SelectMenu-tab:hover{color:var(--color-text-primary)}.SelectMenu-tab:not([aria-selected=true]):active{color:var(--color-text-primary);background-color:var(--color-bg-tertiary)}}@media (hover:none){.SelectMenu-item:active,.SelectMenu-item:focus{background-color:var(--color-bg-secondary)}.SelectMenu-item{-webkit-tap-highlight-color:var(--color-select-menu-tap-highlight)}}.Subhead{display:flex;padding-bottom:8px;margin-bottom:16px;border-bottom:1px solid var(--color-border-secondary);flex-flow:row wrap}.Subhead--spacious{margin-top:40px}.Subhead-heading{font-size:24px;font-weight:400;flex:1 1 auto}.Subhead-heading--danger{font-weight:600;color:var(--color-text-danger)}.Subhead-description{font-size:14px;color:var(--color-text-secondary);flex:1 100%}.Subhead-actions{align-self:center;justify-content:flex-end}.TimelineItem{position:relative;display:flex;padding:16px 0;margin-left:16px}.TimelineItem:before{position:absolute;top:0;bottom:0;left:0;display:block;width:2px;content:"";background-color:var(--color-border-secondary)}.TimelineItem:target .TimelineItem-badge{border-color:var(--color-timeline-target-badge-border);box-shadow:0 0 .2em var(--color-timeline-target-badge-shadow)}.TimelineItem-badge{position:relative;z-index:1;display:flex;width:32px;height:32px;margin-right:8px;margin-left:-15px;color:var(--color-icon-secondary);align-items:center;background-color:var(--color-timeline-badge-bg);border:2px solid var(--color-bg-canvas);border-radius:50%;justify-content:center;flex-shrink:0}.TimelineItem-badge--success{color:var(--color-text-white);background-color:var(--color-btn-primary-bg);border:1px solid var(--color-merge-box-success-indicator-border)}.TimelineItem-body{min-width:0;max-width:100%;margin-top:4px;color:var(--color-timeline-text);flex:auto}.TimelineItem-avatar{position:absolute;left:-72px;z-index:1}.TimelineItem-break{position:relative;z-index:1;height:24px;margin:0 0 -16px -56px;background-color:var(--color-bg-canvas);border:0;border-top:4px solid var(--color-border-primary)}.TimelineItem--condensed{padding-top:4px;padding-bottom:0}.TimelineItem--condensed:last-child{padding-bottom:16px}.TimelineItem--condensed .TimelineItem-badge{height:16px;margin-top:8px;margin-bottom:8px;color:var(--color-icon-secondary);background-color:var(--color-bg-canvas);border:0}.Toast{display:flex;margin:8px;color:var(--color-toast-text);background-color:var(--color-toast-bg);border-radius:6px;box-shadow:inset 0 0 0 1px var(--color-toast-border),var(--color-toast-shadow)}@media (min-width:544px){.Toast{width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:450px;margin:16px}}.Toast-icon{display:flex;align-items:center;justify-content:center;width:48px;flex-shrink:0;color:var(--color-toast-icon);background-color:var(--color-toast-icon-bg);border:1px solid var(--color-toast-icon-border);border-right:0;border-top-left-radius:inherit;border-bottom-left-radius:inherit}.Toast-content{padding:16px}.Toast-dismissButton{max-height:54px;padding:16px;color:inherit;background-color:initial;border:0}.Toast-dismissButton:focus,.Toast-dismissButton:hover{outline:none;opacity:.7}.Toast-dismissButton:active{opacity:.5}.Toast--loading{color:var(--color-toast-loading-text);box-shadow:inset 0 0 0 1px var(--color-toast-loading-border),var(--color-toast-shadow)}.Toast--loading .Toast-icon{color:var(--color-toast-loading-icon);background-color:var(--color-toast-loading-icon-bg);border-color:var(--color-toast-loading-icon-border)}.Toast--error{color:var(--color-toast-danger-text);box-shadow:inset 0 0 0 1px var(--color-toast-danger-border),var(--color-toast-shadow)}.Toast--error .Toast-icon{color:var(--color-toast-danger-icon);background-color:var(--color-toast-danger-icon-bg);border-color:var(--color-toast-danger-icon-border)}.Toast--warning{color:var(--color-toast-warning-text);box-shadow:inset 0 0 0 1px var(--color-toast-warning-border),var(--color-toast-shadow)}.Toast--warning .Toast-icon{color:var(--color-toast-warning-icon);background-color:var(--color-toast-warning-icon-bg);border-color:var(--color-toast-warning-icon-border)}.Toast--success{color:var(--color-toast-success-text);box-shadow:inset 0 0 0 1px var(--color-toast-success-border),var(--color-toast-shadow)}.Toast--success .Toast-icon{color:var(--color-toast-success-icon);background-color:var(--color-toast-success-icon-bg);border-color:var(--color-toast-success-icon-border)}.Toast--animateIn{animation:Toast--animateIn .18s cubic-bezier(.22,.61,.36,1) backwards}@keyframes Toast--animateIn{0%{opacity:0;transform:translateY(100%)}}.Toast--animateOut{animation:Toast--animateOut .18s cubic-bezier(.55,.06,.68,.19) forwards}@keyframes Toast--animateOut{to{pointer-events:none;opacity:0;transform:translateY(100%)}}.boxed-group{position:relative;margin-bottom:30px;border-radius:6px}.boxed-group .Counter{color:var(--color-text-white);background-color:rgba(var(--color-auto-gray-8),.5)}.boxed-group.flush .boxed-group-inner{padding:0}.boxed-group.condensed .boxed-group-inner{padding:0;font-size:12px}.boxed-group .heading,.boxed-group>h3{display:block;padding:9px 10px 10px;margin:0;font-size:14px;line-height:17px;background-color:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);border-bottom:0;border-radius:6px 6px 0 0}.boxed-group .heading a,.boxed-group>h3 a{color:inherit}.boxed-group .heading a.boxed-group-breadcrumb,.boxed-group>h3 a.boxed-group-breadcrumb{font-weight:400;color:var(--color-text-secondary);text-decoration:none}.boxed-group .heading .avatar,.boxed-group>h3 .avatar{margin-top:-4px}.boxed-group .tabnav.heading{padding:0}.boxed-group .tabnav.heading .tabnav-tab.selected{border-top:0}.boxed-group .tabnav.heading li:first-child .selected{border-left-color:var(--color-auto-white);border-top-left-radius:6px}.boxed-group .tabnav-tab{border-top:0;border-radius:0}.boxed-group code.heading{font-size:12px}.boxed-group.dangerzone>h3{color:var(--color-text-white);background-color:var(--color-bg-danger-inverse);border:1px solid var(--color-auto-red-8)}.boxed-group.dangerzone .boxed-group-inner{border-top:0}.boxed-group.condensed>h3{padding:6px 6px 7px;font-size:12px}.boxed-group.condensed>h3 .octicon{padding:0 6px 0 2px}.dashboard-sidebar .boxed-group{margin-bottom:20px}.boxed-group .bleed-flush{width:100%;padding:0 10px;margin-left:-10px}.boxed-group .compact{margin-top:10px;margin-bottom:10px}.boxed-group-inner{padding:10px;color:var(--color-text-secondary);background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-bottom-right-radius:6px;border-bottom-left-radius:6px}.boxed-group-inner .markdown-body{padding:20px 10px 10px;font-size:13px}.boxed-group-inner.markdown-body{padding-top:10px;padding-bottom:10px}.boxed-group-inner.seamless{padding:0}.boxed-group-inner .tabnav{padding-right:10px;padding-left:10px;margin-right:-10px;margin-left:-10px}.boxed-group-inner .help,.boxed-group-inner .tabnav-tab.selected{border-top:1px solid var(--color-border-primary)}.boxed-group-inner .help{padding:1em 10px 1em 35px;margin:1em -10px -10px;clear:both;color:var(--color-text-secondary)}.boxed-group-inner .help .octicon{margin-right:5px;margin-left:-25px}.boxed-group-inner .boxed-group-list+.help{margin-top:0}.boxed-action{float:right;margin-left:10px}.boxed-group-action{position:relative;z-index:2;float:right;margin:5px 10px 0 0}.boxed-group-action.flush{margin-top:0;margin-right:0}.field-with-errors{display:inline}.compact-options{margin:-6px 0 13px}.compact-options>li{display:inline-block;margin:0 12px 0 0;font-weight:600;list-style-type:none}.compact-options>li label{float:left}.compact-options>li .spinner{display:block;float:left;width:16px;height:16px;margin-left:5px}.boxed-group-list{margin:0;list-style:none}.boxed-group-list:first-child>li:first-child{border-top:0}.boxed-group-list>li{display:block;padding:5px 10px;margin-right:-10px;margin-left:-10px;line-height:23px;border-bottom:1px solid var(--color-border-primary)}.boxed-group-list>li:first-child{border-top:1px solid var(--color-border-primary)}.boxed-group-list>li:last-of-type{border-bottom:0}.boxed-group-list>li.selected{background:var(--color-bg-success)}.boxed-group-list>li.approved .btn-sm,.boxed-group-list>li.rejected .btn-sm{display:none}.boxed-group-list>li.rejected a{text-decoration:line-through}.boxed-group-list>li .avatar{margin-top:-2px;margin-right:4px}.boxed-group-list>li .octicon{width:24px;margin-right:4px}.boxed-group-list>li .btn-sm{float:right;margin:-1px 0 0 10px}.boxed-group-list>li .BtnGroup{float:right}.boxed-group-list>li .BtnGroup .btn-sm{float:left}.boxed-group.flush .boxed-group-list li{width:auto;padding-right:0;padding-left:0;margin-left:0}.boxed-group-list.standalone{margin-top:-1px}.boxed-group-list.standalone>li:first-child{border-top:0}.boxed-group-standalone{margin-top:-10px;margin-bottom:-10px}.boxed-group-standalone>li:last-child{border-radius:0 0 6px 6px}.boxed-group-table{width:100%;text-align:left}.boxed-group-table tr:last-child td{border-bottom:0}.boxed-group-table th{background-color:var(--color-bg-secondary)}.boxed-group-table td,.boxed-group-table th{padding:9px;border-bottom:1px solid var(--color-border-secondary)}.boxed-group-table td{vertical-align:top}.ajax-error-message{position:fixed;top:-200px;left:50%;z-index:9999;display:none;width:974px;margin:0 3px 0 -487px;transition:top .5s ease-in-out}.ajax-error-message.visible{top:0;display:block}.ajax-error-message>.octicon-alert{vertical-align:text-top}.boxed-group-warning{padding:10px 15px;margin:-10px -10px 10px;color:var(--color-fade-black-85);background-color:var(--color-auto-yellow-1);border-color:var(--color-fade-black-15);border-style:solid;border-width:1px 0}.boxed-group-warning .btn-sm{margin:-5px 0}.boxed-group-warning:first-child{border-top:0}.container{width:980px;margin-right:auto;margin-left:auto}.container:after,.container:before{display:table;content:""}.container:after{clear:both}.draft.octicon{color:var(--color-text-tertiary)}.closed.octicon,.reverted.octicon{color:var(--color-text-danger)}.open.octicon{color:var(--color-icon-success)}.merged.octicon{color:var(--color-auto-purple-5)}.progress-bar{display:block;height:15px;overflow:hidden;background-color:var(--color-auto-gray-2,#eaecef);border-radius:6px}.progress-bar .progress{display:block;height:100%;background-color:var(--color-auto-green-5,#2cbe4e)}.reverse-progress-container{position:relative;height:3px;background-color:var(--color-auto-gray-2);background-image:linear-gradient(90deg,var(--color-bg-success-inverse),var(--color-auto-blue-6),var(--color-auto-purple-8),var(--color-auto-red-6),var(--color-auto-orange-5));background-size:100% 3px}.reverse-progress-bar{position:absolute;right:0;height:100%;background-color:var(--color-auto-gray-2)}.progress-bar-small{height:10px}.select-menu-button:after{display:inline-block;width:0;height:0;vertical-align:-2px;content:"";border:4px solid transparent;border-top-color:currentcolor}.select-menu-button.icon-only{padding-left:7px}.select-menu-button.primary:after{border-top-color:var(--color-auto-white)}.select-menu-button.primary:after:active{background-color:var(--color-bg-success-inverse)}.select-menu-button-large:after{margin-left:.25em;border-width:.33em}.select-menu .spinner{float:left;margin:4px 0 0 -24px}.select-menu.active .select-menu-modal-holder{display:block}.select-menu.select-menu-modal-right{position:relative}.select-menu.select-menu-modal-right .select-menu-modal-holder{right:0}.select-menu .select-menu-clear-item{display:block}.select-menu .select-menu-clear-item .octicon{color:inherit}.select-menu .select-menu-clear-item+.select-menu-no-results{display:none!important}.select-menu.is-loading .select-menu-loading-overlay{display:block}.select-menu.is-loading .select-menu-modal{min-height:200px}.select-menu.has-error .select-menu-error{display:block}.select-menu-error{display:none}.select-menu-loading-overlay{position:absolute;top:0;z-index:5;display:none;width:100%;height:100%;background-color:var(--color-bg-overlay);border:1px solid transparent;border-radius:5px}.select-menu-loading-overlay .octicon-octoface{position:absolute;top:50%;left:50%;margin:-16px 0 0 -16px}.select-menu-modal-holder{position:absolute;z-index:30;display:none}.select-menu-modal{position:relative;width:300px;margin-top:4px;margin-bottom:20px;overflow:hidden;font-size:12px;color:var(--color-text-primary);background-color:var(--color-bg-overlay);background-clip:padding-box;border:1px solid var(--color-border-overlay);border-radius:6px}.select-menu-modal-narrow{width:200px}.select-menu-divider,.select-menu-header{padding:8px 10px;line-height:16px;background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-select-menu-border-secondary)}.select-menu-divider,.select-menu-header .select-menu-title{font-weight:600;color:var(--color-text-primary)}.select-menu-divider{margin-top:-1px;border-top:1px solid var(--color-select-menu-border-secondary)}.select-menu-header .close-button,.select-menu-header .octicon{display:block;float:right;color:var(--color-icon-tertiary,#c6cbd1);cursor:pointer}.select-menu-header .close-button:hover,.select-menu-header .octicon:hover{color:var(--color-auto-gray-7)}.select-menu-header:focus{outline:none}.select-menu-filters{background-color:var(--color-bg-overlay)}.select-menu-text-filter{padding:10px 10px 0}.select-menu-text-filter:first-child:last-child{padding-bottom:10px;border-bottom:1px solid var(--color-select-menu-border-secondary)}.select-menu-text-filter input{display:block;width:100%;max-width:100%;padding:5px;border:1px solid var(--color-select-menu-border-secondary);border-radius:6px}.select-menu-text-filter input:-ms-input-placeholder{color:var(--color-text-placeholder,#a3aab1)}.select-menu-text-filter input::-ms-input-placeholder{color:var(--color-text-placeholder,#a3aab1)}.select-menu-text-filter input::placeholder{color:var(--color-text-placeholder,#a3aab1)}.select-menu-tabs{padding:10px 10px 0;border-bottom:1px solid var(--color-select-menu-border-secondary)}.select-menu-tabs ul{position:relative;bottom:-1px}.select-menu-tabs .select-menu-tab{display:inline-block}.select-menu-tabs .select-menu-tab-nav,.select-menu-tabs a{display:inline-block;padding:4px 8px 2px;font-size:11px;font-weight:600;color:var(--color-text-tertiary);text-decoration:none;cursor:pointer;background:transparent;border:1px solid transparent;border-radius:6px 6px 0 0}.select-menu-tabs .select-menu-tab-nav:hover,.select-menu-tabs a:hover{color:var(--color-text-primary)}.select-menu-tabs .select-menu-tab-nav.selected,.select-menu-tabs .select-menu-tab-nav[aria-selected=true],.select-menu-tabs a.selected,.select-menu-tabs a[aria-selected=true]{color:var(--color-text-primary);background-color:var(--color-bg-overlay);border-bottom-color:var(--color-select-menu-border-secondary);border-color:var(--color-select-menu-border-secondary) var(--color-select-menu-border-secondary) var(--color-bg-overlay)}.select-menu-list{position:relative;max-height:400px;overflow:auto}.select-menu-list.is-showing-new-item-form .select-menu-new-item-form{display:block}.select-menu-list.is-showing-new-item-form .select-menu-clear-item,.select-menu-list.is-showing-new-item-form .select-menu-no-results{display:none}.select-menu-blankslate{padding:16px;text-align:center}.select-menu-blankslate svg{display:block;margin-right:auto;margin-bottom:9px;margin-left:auto;fill:var(--color-icon-tertiary,#879099)}.select-menu-blankslate h3{font-size:14px;color:var(--color-text-primary)}.select-menu-blankslate p{width:195px;margin-right:auto;margin-bottom:0;margin-left:auto}.select-menu-item{display:block;padding:8px 8px 8px 30px;overflow:hidden;color:inherit;cursor:pointer;border-bottom:1px solid var(--color-select-menu-border-secondary)}.select-menu-item .select-menu-item-text .octicon-x{display:none;float:right;margin:1px 10px 0 0;opacity:.6}.select-menu-item:hover{text-decoration:none}.select-menu-item.disabled,.select-menu-item.disabled.selected,.select-menu-item[aria-disabled=true],.select-menu-item[disabled]{color:var(--color-text-tertiary);cursor:default}.select-menu-item.disabled .description,.select-menu-item.disabled.selected .description,.select-menu-item[aria-disabled=true] .description,.select-menu-item[disabled] .description{color:var(--color-text-tertiary)}.select-menu-item.disabled.opaque,.select-menu-item.disabled.selected.opaque,.select-menu-item[aria-disabled=true].opaque,.select-menu-item[disabled].opaque{opacity:.7}.select-menu-item.disabled .select-menu-item-gravatar,.select-menu-item.disabled.selected .select-menu-item-gravatar,.select-menu-item[aria-disabled=true] .select-menu-item-gravatar,.select-menu-item[disabled] .select-menu-item-gravatar{opacity:.5}.select-menu-item .octicon{vertical-align:middle}.select-menu-item .octicon-check,.select-menu-item .octicon-circle-slash,.select-menu-item input[type=radio]:not(:checked)+.octicon-check,.select-menu-item input[type=radio]:not(:checked)+.octicon-circle-slash{visibility:hidden}.select-menu-item.selected .octicon-circle-slash.select-menu-item-icon{color:var(--color-text-tertiary)!important}.select-menu-item .octicon-circle-slash{color:var(--color-text-tertiary)}.select-menu-item.excluded{background-color:var(--color-bg-tertiary)}.select-menu-item input[type=radio]{display:none}.select-menu-item:focus{outline:none}.select-menu-item:focus .octicon,.select-menu-item:hover .octicon{color:inherit}.select-menu-item.navigation-focus,.select-menu-item.navigation-focus .description-inline,.select-menu-item.navigation-focus.select-menu-action,.select-menu-item.navigation-focus.selected,.select-menu-item.navigation-focus[aria-checked=true],.select-menu-item:focus,.select-menu-item:focus .description-inline,.select-menu-item:focus.select-menu-action,.select-menu-item:focus.selected,.select-menu-item:hover,.select-menu-item:hover .description-inline,.select-menu-item:hover.select-menu-action,.select-menu-item:hover.selected,.select-menu-item[aria-checked=true]:focus,.select-menu-item[aria-checked=true]:hover,.select-menu-item[aria-selected=true] .description-inline,.select-menu-item[aria-selected=true].select-menu-action,.select-menu-item[aria-selected=true]:focus,.select-menu-item[aria-selected=true]:hover{color:var(--color-state-hover-primary-text);background-color:var(--color-state-hover-primary-bg)}.select-menu-item.navigation-focus .description-inline>.octicon,.select-menu-item.navigation-focus.select-menu-action>.octicon,.select-menu-item.navigation-focus.selected>.octicon,.select-menu-item.navigation-focus>.octicon,.select-menu-item.navigation-focus[aria-checked=true]>.octicon,.select-menu-item:focus .description-inline>.octicon,.select-menu-item:focus.select-menu-action>.octicon,.select-menu-item:focus.selected>.octicon,.select-menu-item:focus>.octicon,.select-menu-item:hover .description-inline>.octicon,.select-menu-item:hover.select-menu-action>.octicon,.select-menu-item:hover.selected>.octicon,.select-menu-item:hover>.octicon,.select-menu-item[aria-checked=true]:focus>.octicon,.select-menu-item[aria-checked=true]:hover>.octicon,.select-menu-item[aria-selected=true] .description-inline>.octicon,.select-menu-item[aria-selected=true].select-menu-action>.octicon,.select-menu-item[aria-selected=true]:focus>.octicon,.select-menu-item[aria-selected=true]:hover>.octicon{color:var(--color-state-hover-primary-icon)}.select-menu-item.navigation-focus .description,.select-menu-item.navigation-focus .description-inline .description,.select-menu-item.navigation-focus .description-inline .description-warning,.select-menu-item.navigation-focus .description-inline .select-menu-item-heading-warning,.select-menu-item.navigation-focus .description-warning,.select-menu-item.navigation-focus.select-menu-action .description,.select-menu-item.navigation-focus.select-menu-action .description-warning,.select-menu-item.navigation-focus.select-menu-action .select-menu-item-heading-warning,.select-menu-item.navigation-focus .select-menu-item-heading-warning,.select-menu-item.navigation-focus.selected .description,.select-menu-item.navigation-focus.selected .description-warning,.select-menu-item.navigation-focus.selected .select-menu-item-heading-warning,.select-menu-item.navigation-focus[aria-checked=true] .description,.select-menu-item.navigation-focus[aria-checked=true] .description-warning,.select-menu-item.navigation-focus[aria-checked=true] .select-menu-item-heading-warning,.select-menu-item:focus .description,.select-menu-item:focus .description-inline .description,.select-menu-item:focus .description-inline .description-warning,.select-menu-item:focus .description-inline .select-menu-item-heading-warning,.select-menu-item:focus .description-warning,.select-menu-item:focus.select-menu-action .description,.select-menu-item:focus.select-menu-action .description-warning,.select-menu-item:focus.select-menu-action .select-menu-item-heading-warning,.select-menu-item:focus .select-menu-item-heading-warning,.select-menu-item:focus.selected .description,.select-menu-item:focus.selected .description-warning,.select-menu-item:focus.selected .select-menu-item-heading-warning,.select-menu-item:hover .description,.select-menu-item:hover .description-inline .description,.select-menu-item:hover .description-inline .description-warning,.select-menu-item:hover .description-inline .select-menu-item-heading-warning,.select-menu-item:hover .description-warning,.select-menu-item:hover.select-menu-action .description,.select-menu-item:hover.select-menu-action .description-warning,.select-menu-item:hover.select-menu-action .select-menu-item-heading-warning,.select-menu-item:hover .select-menu-item-heading-warning,.select-menu-item:hover.selected .description,.select-menu-item:hover.selected .description-warning,.select-menu-item:hover.selected .select-menu-item-heading-warning,.select-menu-item[aria-checked=true]:focus .description,.select-menu-item[aria-checked=true]:focus .description-warning,.select-menu-item[aria-checked=true]:focus .select-menu-item-heading-warning,.select-menu-item[aria-checked=true]:hover .description,.select-menu-item[aria-checked=true]:hover .description-warning,.select-menu-item[aria-checked=true]:hover .select-menu-item-heading-warning,.select-menu-item[aria-selected=true] .description-inline .description,.select-menu-item[aria-selected=true] .description-inline .description-warning,.select-menu-item[aria-selected=true] .description-inline .select-menu-item-heading-warning,.select-menu-item[aria-selected=true].select-menu-action .description,.select-menu-item[aria-selected=true].select-menu-action .description-warning,.select-menu-item[aria-selected=true].select-menu-action .select-menu-item-heading-warning,.select-menu-item[aria-selected=true]:focus .description,.select-menu-item[aria-selected=true]:focus .description-warning,.select-menu-item[aria-selected=true]:focus .select-menu-item-heading-warning,.select-menu-item[aria-selected=true]:hover .description,.select-menu-item[aria-selected=true]:hover .description-warning,.select-menu-item[aria-selected=true]:hover .select-menu-item-heading-warning{color:var(--color-state-hover-primary-text)}.select-menu-item.navigation-focus.disabled,.select-menu-item.navigation-focus.disabled .description,.select-menu-item:hover.disabled,.select-menu-item:hover.disabled .description,.select-menu-item[aria-disabled=true]:hover,.select-menu-item[aria-disabled=true]:hover .description,.select-menu-item[aria-selected=true].disabled,.select-menu-item[aria-selected=true].disabled .description,.select-menu-item[disabled]:hover,.select-menu-item[disabled]:hover .description{color:var(--color-text-disabled)}.select-menu-item>.octicon-dash,.select-menu-item[aria-checked=mixed]>.octicon-check{display:none}.select-menu-item[aria-checked=mixed]>.octicon-dash{display:block}.select-menu-item input:checked+.octicon-check{color:inherit;visibility:visible}.select-menu-item.selected,details-menu .select-menu-item[aria-checked=true],details-menu .select-menu-item[aria-selected=true]{color:var(--color-text-primary)}.select-menu-item.selected .description,details-menu .select-menu-item[aria-checked=true] .description,details-menu .select-menu-item[aria-selected=true] .description{color:var(--color-text-secondary)}.select-menu-item.selected>.octicon,details-menu .select-menu-item[aria-checked=true]>.octicon,details-menu .select-menu-item[aria-selected=true]>.octicon{color:var(--color-text-primary)}.select-menu-item.selected .octicon-check,.select-menu-item.selected .octicon-circle-slash,details-menu .select-menu-item[aria-checked=true] .octicon-check,details-menu .select-menu-item[aria-checked=true] .octicon-circle-slash,details-menu .select-menu-item[aria-selected=true] .octicon-check,details-menu .select-menu-item[aria-selected=true] .octicon-circle-slash{color:inherit;visibility:visible}.select-menu-item.selected .select-menu-item-text .octicon-x,details-menu .select-menu-item[aria-checked=true] .select-menu-item-text .octicon-x,details-menu .select-menu-item[aria-selected=true] .select-menu-item-text .octicon-x{display:block;color:inherit}.select-menu.label-select-menu .select-menu-item:active{background-color:initial!important}.select-menu-item a{color:inherit;text-decoration:none}.select-menu-item .hidden-select-button-text{display:none}.select-menu-item .css-truncate-target{max-width:100%}.select-menu-item-icon{float:left;margin-left:-20px}form.select-menu-item>div:first-child{display:none!important}.select-menu-item.last-visible,.select-menu-list:last-child .select-menu-item:last-child{border-bottom:0;border-radius:0 0 6px 6px}.select-menu-action{font-weight:400;color:var(--color-auto-gray-7)}.select-menu-action>.octicon{color:inherit}.select-menu-action:hover{color:var(--color-text-link)}.select-menu-no-results{display:none;padding:9px;color:var(--color-text-secondary);cursor:auto}.select-menu-list.filterable-empty .select-menu-no-results,.select-menu-no-results:only-child{display:block}.select-menu-button-gravatar,.select-menu-item-gravatar{width:20px;overflow:hidden;line-height:0}.select-menu-button-gravatar img,.select-menu-item-gravatar img{display:inline-block;width:20px;height:20px;border-radius:6px}.select-menu-item-gravatar{float:left;width:20px;height:20px;margin-right:8px;border-radius:6px}.select-menu-button-gravatar{float:left;margin-right:5px}.select-menu-item-text{display:block;text-align:left}.select-menu-item-text .description{display:block;max-width:265px;font-size:12px;color:var(--color-text-secondary)}.select-menu-item-text .description-inline{font-size:10px;color:var(--color-text-secondary)}.select-menu-item-text .description-warning{color:var(--color-text-danger)}.select-menu-item-text mark{font-weight:600;color:inherit;background-color:inherit}.select-menu-item-heading{display:block;margin-top:0;margin-bottom:0;font-size:14px;font-weight:600}.select-menu-item-heading.select-menu-item-heading-warning{color:var(--color-text-danger)}.select-menu-item-heading .description{display:inline;font-weight:400}.select-menu-new-item-form{display:none}.select-menu-new-item-form .octicon{color:var(--color-text-link)}.table-list{display:table;width:100%;color:var(--color-text-tertiary);table-layout:fixed;border-bottom:1px solid var(--color-border-primary)}.table-list ol{list-style-type:decimal}.table-list-bordered{border-bottom-color:var(--color-border-primary)}.table-list-bordered .table-list-cell:first-child{border-left:1px solid var(--color-border-primary)}.table-list-bordered .table-list-cell:last-child{border-right:1px solid var(--color-border-primary)}.table-list-item{position:relative;display:table-row;list-style:none}.table-list-item.unread .table-list-cell:first-child{box-shadow:2px 0 0 var(--color-auto-blue-5) inset}.table-list-cell{position:relative;display:table-cell;padding:8px 10px;font-size:12px;vertical-align:top;border-top:1px solid var(--color-border-primary)}.table-list-cell.flush-left{padding-left:0}.table-list-cell.flush-right{padding-right:0}.table-list-cell-checkbox{width:30px;padding-right:0;padding-left:0;text-align:center}.table-list-header{position:relative;margin-top:20px;background-color:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);border-radius:6px 6px 0 0}.table-list-header:before{display:table;content:""}.table-list-header:after{display:table;clear:both;content:""}.table-list-header .btn-link{position:relative;display:inline-block;padding-top:13px;padding-bottom:13px;font-weight:400}.table-list-heading{margin-left:10px}.table-list-header-select-all{float:left;width:30px;padding:12px 10px;margin-right:5px;margin-left:-1px;text-align:center}.table-list-header-meta{display:inline-block;padding-top:13px;padding-bottom:13px;color:var(--color-text-secondary)}.table-list-header-toggle h4{padding:12px 0}.table-list-filters:first-child .table-list-header-toggle:first-child{padding-left:16px}.table-list-header-toggle.states .selected{font-weight:600}.table-list-header-toggle .btn-link{color:var(--color-text-secondary)}.table-list-header-toggle .btn-link .octicon{margin-right:4px}.table-list-header-toggle .btn-link:hover{color:var(--color-text-primary);text-decoration:none}.table-list-header-toggle .btn-link.selected,.table-list-header-toggle .btn-link.selected:hover{color:var(--color-text-primary)}.table-list-header-toggle .btn-link+.btn-link{margin-left:10px}.table-list-header-toggle .btn-link.disabled,.table-list-header-toggle .btn-link:disabled{pointer-events:none;opacity:.5}.table-list-header-toggle .select-menu{position:relative}.table-list-header-toggle .select-menu-item.selected,.table-list-header-toggle .select-menu-item[aria-checked=true]{font-weight:600}.table-list-header-toggle .select-menu-button{padding-right:15px;padding-left:15px}.table-list-header-toggle .select-menu-button.selected,.table-list-header-toggle .select-menu-button.selected:hover,.table-list-header-toggle .select-menu-button:hover{color:var(--color-text-primary)}.table-list-header-toggle .select-menu-modal-holder{right:10px}.table-list-header-toggle .select-menu-modal-holder .select-menu-modal{margin-top:-1px}.table-list-header-next{margin-top:20px;margin-bottom:-1px}.table-list-header-next .table-list-header-select-all{padding-left:14px}.table-list-header-next .select-all-dropdown{padding-top:10px;padding-bottom:10px}.bulk-actions-header{position:-webkit-sticky;position:sticky;top:0;z-index:32;height:50px}.table-list-triage{display:none}.triage-mode .table-list-filters{display:none!important}.triage-mode .table-list-triage{display:block}.Box--overlay{width:448px;margin-right:auto;margin-left:auto;background-color:var(--color-bg-primary);background-clip:padding-box;border-color:var(--color-border-primary);box-shadow:0 0 18px rgba(0,0,0,.4)}.Box--overlay .Box-header{margin:0;border-width:0 0 1px;border-top-left-radius:6px;border-top-right-radius:6px}.Box-overlay--narrow{width:320px}.Box-overlay--wide{width:640px}.Overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99;overflow-y:auto}.Box-body.scrollable-overlay{max-height:400px;overflow-y:scroll}.Box-body .help{padding-top:8px;margin:0;text-align:center}.Box-body .help,.breadcrumb{color:var(--color-text-secondary)}.breadcrumb{font-size:16px}.breadcrumb .separator{white-space:pre-wrap}.breadcrumb .separator:after,.breadcrumb .separator:before{content:" "}.breadcrumb strong.final-path{color:var(--color-text-primary)}.capped-cards{list-style:none}.capped-cards .capped-card{float:left;width:450px}.capped-card{margin:10px;list-style:none;border:1px solid #dfe2e5;border-radius:6px}.capped-card:after,.capped-card:before{display:table;content:""}.capped-card:after{clear:both}.capped-card:nth-child(odd){margin-left:0}.capped-card:nth-child(2n){margin-right:0}.capped-card h3{padding:10px}.capped-card>p,.capped-card h3{margin:0;line-height:100%;border-bottom:1px solid var(--color-border-secondary)}.capped-card>p{display:block;padding:0 10px 10px;font-size:15px;color:var(--color-text-secondary)}.capped-card-content{display:block;background:var(--color-bg-tertiary)}.capped-card-content:before{display:table;content:""}.capped-card-content:after{display:table;clear:both;content:""}.details-collapse .collapse{position:relative;display:none;height:0;overflow:hidden;transition:height .35s ease-in-out}.details-collapse.open .collapse{display:block;height:auto;overflow:visible}.comment .email-format{line-height:1.5}.previewable-edit .previewable-comment-form{display:none}.previewable-edit .previewable-comment-form:before{display:table;content:""}.previewable-edit .previewable-comment-form:after{display:table;clear:both;content:""}.previewable-edit .previewable-comment-form .tabnav-tabs{display:inline-block}.previewable-edit .previewable-comment-form .form-actions{float:right;margin-right:10px;margin-bottom:10px}.previewable-edit.is-comment-editing .timeline-comment-header{display:none!important}.is-comment-editing .previewable-comment-form{display:block}.is-comment-editing .edit-comment-hide,.is-comment-editing .timeline-comment-actions{display:none}.is-comment-loading .previewable-comment-form{opacity:.5}.comment-show-stale{display:none}.is-comment-stale .comment-show-stale{display:block}.comment-body{width:100%;padding:15px;overflow:visible;font-size:14px}.comment-body .highlight{overflow:visible!important;background-color:initial}.comment-form-textarea{width:100%;max-width:100%;height:100px;min-height:100px;margin:0;line-height:1.6}.comment-form-textarea.dragover{border:1px solid var(--color-auto-blue-5)}.hide-reaction-suggestion:active:after,.hide-reaction-suggestion:active:before,.hide-reaction-suggestion:hover:after,.hide-reaction-suggestion:hover:before{display:none}.reaction-suggestion[data-reaction-suggestion-message]:hover:after,.reaction-suggestion[data-reaction-suggestion-message]:hover:before{display:inline-block}.reaction-suggestion[data-reaction-suggestion-message]:after,.reaction-suggestion[data-reaction-suggestion-message]:before{display:inline-block;text-decoration:none;animation-name:tooltip-appear;animation-duration:.1s;animation-fill-mode:forwards;animation-timing-function:ease-in;animation-delay:0s}.reaction-suggestion[data-reaction-suggestion-message]:after{content:attr(data-reaction-suggestion-message)}.discussion-topic-header{position:relative;padding:10px;word-wrap:break-word}.comment-form-error{padding:16px 8px;margin:8px;color:var(--color-auto-red-9);background-color:var(--color-bg-danger);border:1px solid var(--color-fade-black-15);border-radius:6px}.email-format{line-height:1.5em!important}.email-format div{white-space:pre-wrap}.email-format .email-hidden-reply{display:none;white-space:pre-wrap}.email-format .email-hidden-reply.expanded{display:block}.email-format .email-quoted-reply,.email-format .email-signature-reply{padding:0 15px;margin:15px 0;color:var(--color-text-secondary);border-left:4px solid var(--color-border-primary)}.email-format .email-hidden-toggle a{display:inline-block;height:12px;padding:0 9px;font-size:12px;font-weight:600;line-height:6px;color:var(--color-auto-gray-8);text-decoration:none;vertical-align:middle;background:var(--color-auto-gray-2);border-radius:1px}.email-format .email-hidden-toggle a:hover{background-color:var(--color-auto-gray-3)}.email-format .email-hidden-toggle a:active{color:var(--color-text-white);background-color:var(--color-bg-info-inverse)}.comment-email-format div{white-space:normal}.comment-email-format .email-hidden-reply{display:none;white-space:normal}.comment-email-format .email-hidden-reply.expanded{display:block}.comment-email-format blockquote,.comment-email-format p{margin:0}.locked-conversation .preview-tab,.locked-conversation .write-tab{color:#c6cbd1}.preview-tab:focus,.write-tab:focus{outline:1px dotted var(--color-auto-black)}.manual-file-chooser-transparent{min-height:0;overflow:hidden;opacity:.01}.manual-file-chooser-transparent::-webkit-file-upload-button{cursor:pointer}.manual-file-chooser-transparent:focus{opacity:1!important}.commit-form{position:relative;padding:15px;border:1px solid #dfe2e5;border-radius:6px}.commit-form:after{border-right-color:var(--color-auto-white)}.commit-form:before{border-right-color:#dfe2e5}.commit-form .input-block{margin-top:10px;margin-bottom:10px}.commit-form-avatar{float:left;border-radius:6px}.commit-form-actions:before{display:table;content:""}.commit-form-actions:after{display:table;clear:both;content:""}.commit-form-actions .BtnGroup{margin-right:5px}.merge-commit-message{resize:vertical}.commit-sha{padding:.2em .4em;font-size:90%;font-weight:400;background-color:var(--color-bg-tertiary);border:1px solid var(--color-border-secondary);border-radius:.2em}.commit-partial-notice{margin-top:20px;margin-bottom:20px}.commit-paginate-container{float:right;margin:-5px 0 0;text-align:inherit}.commit .commit-title,.commit .commit-title a{color:var(--color-auto-gray-7)}.commit .commit-title.blank,.commit .commit-title.blank a{color:var(--color-fade-black-30)}.commit .commit-title .issue-link{font-weight:600;color:var(--color-text-link)}.commit .sha,.commit .sha-block{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12px}.commit.open .commit-desc{display:block}.commit-link{font-weight:400;color:var(--color-text-link)}.commit-ref{position:relative;display:inline-block;padding:0 5px;font:.75em/2 SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;color:var(--color-branch-name-text,#274466);white-space:nowrap;background-color:var(--color-branch-name-bg,#eff7ff);border-radius:6px}.commit-ref .user{color:var(--color-auto-blue-7)}a.commit-ref:hover{text-decoration:none;background-color:var(--color-auto-blue-1)}.commit-email-flash{display:inline}.commit-desc{display:none}.commit-desc pre{max-width:700px;margin-top:10px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:11px;line-height:1.45;color:var(--color-auto-gray-7);white-space:pre-wrap}.commit-desc+.commit-branches{padding-top:8px;margin-top:2px;border-top:1px solid var(--color-fade-black-15)}.commit-author-section{color:var(--color-text-primary)}.commit-author-section span.user-mention{font-weight:400}.commit-tease-sha{display:inline-block;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:90%;color:var(--color-auto-gray-7)}.commits-list-item.navigation-focus,.commits-list-item[aria-selected=true]{background:#f6fbff}.commits-list-item .commit-title{margin:0;font-size:15px;font-weight:600;color:var(--color-text-primary)}.commits-list-item .commit-meta{margin-top:1px;font-weight:400;color:var(--color-text-secondary)}.commits-list-item .status .octicon{height:14px;line-height:14px}.commits-list-item .commit-author{color:var(--color-text-secondary)}.commits-list-item .octicon-arrow-right{margin:0 3px}.commits-list-item .btn-outline{margin-top:2px}.commits-list-item .commit-desc pre{margin-top:5px;margin-bottom:10px;color:var(--color-text-secondary)}.commits-list-item .commit-desc pre a{word-break:break-word}.commit-indicator{margin-left:4px}.commit-links-group{margin-right:5px}.commits-list-item+.commits-list-item{border-top:1px solid var(--color-border-primary)}.full-commit{padding:8px 8px 0;margin:10px 0;font-size:14px;background:var(--color-bg-info,#eaf5ff);border:1px solid var(--color-border-primary,var(--color-fade-black-15));border-radius:6px}.full-commit:first-child{margin-top:0}.full-commit p.commit-title{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--color-auto-blue-9)}.full-commit .branches-list{display:inline;margin-right:10px;margin-left:2px;vertical-align:middle;list-style:none}.full-commit .branches-list li{display:inline-block;padding-left:3px;font-weight:600;color:var(--color-auto-gray-7)}.full-commit .branches-list li:before{padding-right:6px;font-weight:400;content:"+"}.full-commit .branches-list li:first-child{padding-left:0}.full-commit .branches-list li:first-child:before{padding-right:0;content:""}.full-commit .branches-list li.loading,.full-commit .branches-list li.pull-request{font-weight:400;color:var(--color-text-tertiary)}.full-commit .branches-list li.pull-request:before{margin-left:-8px;content:""}.full-commit .branches-list li.pull-request-error{margin-bottom:-1px}.full-commit .branches-list li a{color:inherit}.full-commit .commit-meta{padding:8px;margin-right:-8px;margin-left:-8px;background:var(--color-bg-primary);border-top:1px solid var(--color-border-primary,var(--color-fade-black-15));border-bottom-right-radius:6px;border-bottom-left-radius:6px}.full-commit .sha-block{margin-left:16px;font-size:12px;line-height:24px;color:var(--color-text-secondary)}.full-commit .sha-block>.sha,.full-commit .sha-block>a{color:var(--color-auto-gray-7)}.full-commit .sha-block>a{text-decoration:none;border-bottom:1px dotted #c6cbd1}.full-commit .sha-block>a:hover{border-bottom:1px solid var(--color-auto-gray-7)}.full-commit .commit-desc{display:block;margin:-5px 0 10px}.full-commit .commit-desc pre{max-width:100%;overflow:visible;font-size:13px;word-wrap:break-word}.branches-tag-list{display:inline;margin-right:10px;margin-left:2px;vertical-align:middle;list-style:none}.branches-tag-list .more-commit-details,.branches-tag-list.open .hidden-text-expander{display:none}.branches-tag-list.open .more-commit-details{display:inline-block}.branches-tag-list li{display:inline-block;padding-left:3px}.branches-tag-list li:first-child{padding-left:0;font-weight:600;color:var(--color-auto-gray-7)}.branches-tag-list li.loading{font-weight:400;color:var(--color-text-tertiary)}.branches-tag-list li.abbrev-tags{cursor:pointer}.branches-tag-list li .ellipsis-expander,.branches-tag-list li a{color:inherit}.branches-tag-list li .ellipsis-expander{background-color:#d3e2f4}.branches-tag-list li .ellipsis-expander:hover{background-color:#d6e2f1}.commit-branches{min-height:18px;margin-top:-6px;margin-bottom:8px;font-size:12px;color:var(--color-text-tertiary)}.commit-branches,.commit-branches .octicon{vertical-align:middle}.commit-loader .loader-error{display:none;margin:0;font-size:12px;font-weight:600;color:var(--color-text-danger)}.commit-loader.is-error .loader-loading{display:none}.commit-loader.is-error .loader-error{display:block}.commit-build-statuses{position:relative;display:inline-block;text-align:left}.commit-build-statuses .dropdown-menu{min-width:362.66667px;max-width:544px;padding-top:0;padding-bottom:0}.commit-build-statuses .dropdown-menu .merge-status-list{max-height:170px;border-bottom:0}.commit-build-statuses .dropdown-menu-e,.commit-build-statuses .dropdown-menu-w{top:-11px}.commit-build-statuses .merge-status-item:last-child{border-radius:0 0 6px 6px}.dropdown-signed-commit .dropdown-menu{width:260px;margin-top:8px;font-size:13px;line-height:1.4;white-space:normal}.dropdown-signed-commit .dropdown-menu:after{border-bottom-color:var(--color-auto-gray-1)}.dropdown-signed-commit .dropdown-menu-w{top:-28px;margin-top:0}.dropdown-signed-commit .dropdown-menu-w:after{border-bottom-color:transparent;border-left-color:var(--color-auto-gray-1)}.signed-commit-header{padding:12px;line-height:1.3;white-space:normal;border-collapse:initial;background-color:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border-primary);border-top-left-radius:6px;border-top-right-radius:6px}.signed-commit-header .octicon-verified{color:var(--color-auto-green-5)}.signed-commit-header .octicon-unverified{color:var(--color-auto-gray-4)}.signed-commit-signer{padding-right:12px;padding-left:12px;margin-top:12px;border-collapse:initial}.signed-commit-footer{padding:12px;font-size:12px;line-height:1.5}.signed-commit-cert-info{margin-bottom:6px}.signed-commit-cert-info td{vertical-align:top}.signed-commit-cert-info td:first-child{width:44px;padding-right:12px}.signed-commit-badge{display:inline-block;padding:1px 4px;font-size:10px;color:var(--color-text-secondary);vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:none;border:1px solid var(--color-border-primary);border-radius:6px}.signed-commit-badge:hover{text-decoration:none;border-color:#c6cbd1}.signed-commit-badge.verified{color:var(--color-verified-badge-text);background:var(--color-verified-badge-bg);border-color:var(--color-verified-badge-border)}.signed-commit-badge.verified:hover{border-color:var(--color-auto-green-5)}.signed-commit-badge-small{margin-top:-2px;margin-right:3px}.signed-commit-badge-medium{padding:3px 8px;font-size:12px;border-radius:6px}.signed-commit-badge-large{padding:6px 12px;margin-top:2px;margin-right:9px;font-size:13px;line-height:20px;border-radius:6px}.signed-commit-verified-label{color:#1e7e34;white-space:nowrap}.signed-commit-signer-name{font-size:14px;text-align:left}.signed-commit-signer-name .signer{display:block;font-weight:600;color:var(--color-text-primary)}.table-of-contents{margin:15px 0}.table-of-contents li{padding:7px 0;list-style-type:none}.table-of-contents li+li{border-top:1px solid var(--color-border-secondary)}.table-of-contents li>.octicon{margin-right:3px}.table-of-contents .toc-diff-stats{padding-left:20px;line-height:26px}.table-of-contents .toc-diff-stats .octicon{float:left;margin-top:3px;margin-left:-20px;color:#c6cbd1}.table-of-contents .toc-diff-stats .btn-link{font-weight:600}.table-of-contents .toc-diff-stats+.content{padding-top:5px}.table-of-contents .octicon-diff-removed{color:var(--color-text-danger)}.table-of-contents .octicon-diff-renamed{color:var(--color-text-tertiary)}.table-of-contents .octicon-diff-modified{color:var(--color-auto-yellow-7)}.table-of-contents .octicon-diff-added{color:var(--color-auto-green-5)}@media (min-width:768px){.toc-select .select-menu-modal{min-width:420px}}.toc-select .select-menu-item .css-truncate{max-width:290px}.toc-select .select-menu-item-heading,.toc-select .select-menu-item-text{color:var(--color-text-primary)}.toc-select .select-menu-item-icon.octicon-diff-removed{color:var(--color-text-danger)}.toc-select .select-menu-item-icon.octicon-diff-renamed{color:var(--color-text-tertiary)}.toc-select .select-menu-item-icon.octicon-diff-modified{color:var(--color-auto-yellow-7)}.toc-select .select-menu-item-icon.octicon-diff-added{color:var(--color-auto-green-5)}.toc-select .navigation-focus .diffstat,.toc-select .navigation-focus .octicon-diff-added,.toc-select .navigation-focus .octicon-diff-modified,.toc-select .navigation-focus .octicon-diff-removed,.toc-select .navigation-focus .octicon-diff-renamed,.toc-select .navigation-focus .select-menu-item-heading,.toc-select .navigation-focus .select-menu-item-text,.toc-select .navigation-focus .text-gray-light,.toc-select .navigation-focus .text-green,.toc-select .navigation-focus .text-red,.toc-select[aria-selected=true] .diffstat,.toc-select[aria-selected=true] .octicon-diff-added,.toc-select[aria-selected=true] .octicon-diff-modified,.toc-select[aria-selected=true] .octicon-diff-removed,.toc-select[aria-selected=true] .octicon-diff-renamed,.toc-select[aria-selected=true] .select-menu-item-heading,.toc-select[aria-selected=true] .select-menu-item-text,.toc-select[aria-selected=true] .text-gray-light,.toc-select[aria-selected=true] .text-green,.toc-select[aria-selected=true] .text-red,.toc-select [role^=menuitem]:focus .diffstat,.toc-select [role^=menuitem]:focus .octicon-diff-added,.toc-select [role^=menuitem]:focus .octicon-diff-modified,.toc-select [role^=menuitem]:focus .octicon-diff-removed,.toc-select [role^=menuitem]:focus .octicon-diff-renamed,.toc-select [role^=menuitem]:focus .select-menu-item-heading,.toc-select [role^=menuitem]:focus .select-menu-item-text,.toc-select [role^=menuitem]:focus .text-gray-light,.toc-select [role^=menuitem]:focus .text-green,.toc-select [role^=menuitem]:focus .text-red,.toc-select [role^=menuitem]:hover .diffstat,.toc-select [role^=menuitem]:hover .octicon-diff-added,.toc-select [role^=menuitem]:hover .octicon-diff-modified,.toc-select [role^=menuitem]:hover .octicon-diff-removed,.toc-select [role^=menuitem]:hover .octicon-diff-renamed,.toc-select [role^=menuitem]:hover .select-menu-item-heading,.toc-select [role^=menuitem]:hover .select-menu-item-text,.toc-select [role^=menuitem]:hover .text-gray-light,.toc-select [role^=menuitem]:hover .text-green,.toc-select [role^=menuitem]:hover .text-red{color:var(--color-text-white)!important}.conversation-list-heading{height:0;margin:32px 0 16px;font-size:16px;font-weight:400;color:var(--color-text-tertiary);text-align:center;border-bottom:1px solid var(--color-border-primary)}.conversation-list-heading .inner{position:relative;top:-16px;display:inline-block;padding:0 4px;background:var(--color-bg-canvas)}.copyable-terminal{position:relative;padding:10px 55px 10px 10px;background-color:var(--color-bg-tertiary);border-radius:6px}.copyable-terminal-content{overflow:auto}.copyable-terminal-button{position:absolute;top:5px;right:5px}.copyable-terminal-button .zeroclipboard-button{float:right}.copyable-terminal-button .zeroclipboard-button .octicon{padding-left:1px;margin:0 auto}.blob-wrapper{overflow-x:auto;overflow-y:hidden}.page-blob.height-full .blob-wrapper{overflow-y:auto}.page-edit-blob.height-full .CodeMirror{height:300px}.page-edit-blob.height-full .CodeMirror,.page-edit-blob.height-full .CodeMirror-scroll{display:flex;flex-direction:column;flex:1 1 auto}.blob-wrapper-embedded{max-height:240px;overflow-y:auto}.diff-table{width:100%;border-collapse:initial}.diff-table .line-comments{padding:10px;vertical-align:top;border-top:1px solid var(--color-border-primary)}.diff-table .line-comments:first-child+.empty-cell{border-left-width:1px}.diff-table tr:not(:last-child) .line-comments{border-top:1px solid var(--color-border-primary);border-bottom:1px solid var(--color-border-primary)}.blob-num{width:1%;min-width:50px;padding-right:10px;padding-left:10px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12px;line-height:20px;color:var(--color-diff-blob-num-text);text-align:right;white-space:nowrap;vertical-align:top;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.blob-num:hover{color:var(--color-diff-blob-num-hover-text)}.blob-num:before{content:attr(data-line-number)}.blob-num.non-expandable{cursor:default}.blob-num.non-expandable:hover{color:var(--color-diff-blob-num-text)}.blob-code{position:relative;padding-right:10px;padding-left:10px;line-height:20px;vertical-align:top}.blob-code-inner{overflow:visible;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12px;color:var(--color-text-primary);word-wrap:normal;white-space:pre}.blob-code-inner .x-first{border-top-left-radius:.2em;border-bottom-left-radius:.2em}.blob-code-inner .x-last{border-top-right-radius:.2em;border-bottom-right-radius:.2em}.blob-code-inner.highlighted,.blob-code-inner .highlighted{background-color:var(--color-blob-line-highlight-bg);box-shadow:inset 2px 0 0 var(--color-blob-line-highlight-border)}.blob-code-inner::selection,.blob-code-inner>::selection{background-color:var(--color-code-selection-bg)}.blob-code-marker:before{padding-right:8px;content:attr(data-code-marker)}.blob-code-marker-addition:before{content:"+ "}.blob-code-marker-deletion:before{content:"- "}.blob-code-marker-context:before{content:" "}.soft-wrap .diff-table{table-layout:fixed}.soft-wrap .blob-code{padding-left:18px;text-indent:-7px}.soft-wrap .blob-code-inner{word-wrap:break-word;white-space:pre-wrap}.soft-wrap .no-nl-marker{display:none}.soft-wrap .add-line-comment{margin-left:-28px}.blob-code-hunk,.blob-num-expandable,.blob-num-hunk{color:var(--color-diff-blob-hunk-text);vertical-align:middle}.blob-num-expandable,.blob-num-hunk{background-color:var(--color-diff-blob-hunk-num-bg)}.blob-code-hunk{padding-top:4px;padding-bottom:4px;background-color:var(--color-diff-blob-hunk-line-bg);border-width:1px 0}.blob-expanded .blob-code,.blob-expanded .blob-num{background-color:var(--color-bg-secondary)}.blob-expanded+tr:not(.blob-expanded) .blob-code,.blob-expanded+tr:not(.blob-expanded) .blob-num,.blob-expanded .blob-num-hunk,tr:not(.blob-expanded)+.blob-expanded .blob-code,tr:not(.blob-expanded)+.blob-expanded .blob-num{border-top:1px solid var(--color-border-secondary)}.blob-num-expandable{padding:0;font-size:12px;text-align:center}.blob-num-expandable .directional-expander{display:block;width:auto;height:auto;margin-right:-1px;color:var(--color-diff-blob-expander-icon);cursor:pointer}.blob-num-expandable .single-expander{padding-top:4px;padding-bottom:4px}.blob-num-expandable .directional-expander:hover{color:var(--color-diff-blob-expander-hover-icon);text-shadow:none;background-color:var(--color-diff-blob-expander-hover-bg);border-color:var(--color-auto-blue-5)}.blob-code-addition{background-color:var(--color-diff-blob-addition-line-bg);outline:1px dotted transparent}.blob-code-addition .x{color:var(--color-auto-gray-9);background-color:var(--color-diff-blob-addition-word-bg)}.blob-num-addition{color:var(--color-diff-blob-addition-num-text);background-color:var(--color-diff-blob-addition-num-bg);border-color:var(--color-auto-green-2)}.blob-num-addition:hover{color:var(--color-diff-blob-addition-num-hover-text)}.blob-code-deletion{background-color:var(--color-diff-blob-deletion-line-bg);outline:1px dashed transparent}.blob-code-deletion .x{color:var(--color-auto-gray-9);background-color:var(--color-diff-blob-deletion-word-bg)}.blob-num-deletion{color:var(--color-diff-blob-deletion-num-text);background-color:var(--color-diff-blob-deletion-num-bg);border-color:var(--color-auto-red-2)}.blob-num-deletion:hover{color:var(--color-diff-blob-deletion-num-hover-text)}.is-selecting,.is-selecting .blob-num{cursor:ns-resize!important}.is-selecting .add-line-comment,.is-selecting a{pointer-events:none;cursor:ns-resize!important}.is-selecting .is-hovered .add-line-comment{opacity:0}.is-selecting.file-diff-split,.is-selecting.file-diff-split .blob-num{cursor:nwse-resize!important}.is-selecting.file-diff-split .add-line-comment,.is-selecting.file-diff-split .empty-cell,.is-selecting.file-diff-split a{pointer-events:none;cursor:nwse-resize!important}.selected-line{position:relative}.selected-line:after{position:absolute;top:0;left:0;display:block;width:100%;height:100%;box-sizing:border-box;pointer-events:none;content:"";background:var(--color-diff-blob-selected-line-highlight-bg);mix-blend-mode:var(--color-diff-blob-selected-line-highlight-mix-blend-mode)}.selected-line.selected-line-top:after{border-top:1px solid var(--color-diff-blob-selected-line-highlight-border)}.selected-line.selected-line-bottom:after{border-bottom:1px solid var(--color-diff-blob-selected-line-highlight-border)}.selected-line.selected-line-left:after,.selected-line:first-child:after{border-left:1px solid var(--color-diff-blob-selected-line-highlight-border)}.selected-line.selected-line-right:after,.selected-line:last-child:after{border-right:1px solid var(--color-diff-blob-selected-line-highlight-border)}.is-commenting .selected-line.blob-code:before{position:absolute;top:0;left:-1px;display:block;width:4px;height:100%;content:"";background:var(--color-bg-info-inverse)}.add-line-comment{position:relative;z-index:5;float:left;width:22px;height:22px;margin:-2px -10px -2px -20px;line-height:21px;color:var(--color-diff-blob-comment-button-icon);text-align:center;text-indent:0;cursor:pointer;background-color:var(--color-diff-blob-comment-button-bg);background-image:linear-gradient(var(--color-diff-blob-comment-button-gradient-bg),var(--color-diff-blob-comment-button-bg));border-radius:6px;box-shadow:0 1px 4px var(--color-fade-black-15);opacity:0;transition:transform .1s ease-in-out;transform:scale(.8)}.add-line-comment:hover{transform:scale(1)}.add-line-comment:focus,.is-hovered .add-line-comment{opacity:1}.add-line-comment .octicon{vertical-align:text-top;pointer-events:none}.add-line-comment.octicon-check{background:#333;opacity:1}.inline-comment-form{border:1px solid #dfe2e5;border-radius:6px}.timeline-inline-comments{width:100%;table-layout:fixed}.show-inline-notes .inline-comments,.timeline-inline-comments .inline-comments{display:table-row}.inline-comments,.inline-comments.is-collapsed{display:none}.inline-comments .line-comments.is-collapsed{visibility:hidden}.inline-comments .line-comments+.blob-num{border-left-width:1px}.inline-comments .timeline-comment{margin-bottom:10px}.comment-holder,.inline-comments .inline-comment-form,.inline-comments .inline-comment-form-container{max-width:780px}.empty-cell+.line-comments,.line-comments+.line-comments{border-left:1px solid var(--color-border-secondary)}.inline-comment-form-container .inline-comment-form,.inline-comment-form-container.open .inline-comment-form-actions{display:none}.inline-comment-form-container .inline-comment-form-actions,.inline-comment-form-container.open .inline-comment-form{display:block}body.full-width .container,body.full-width .container-lg,body.full-width .container-xl,body.split-diff .container,body.split-diff .container-lg,body.split-diff .container-xl{width:100%;max-width:none;padding-right:20px;padding-left:20px}body.full-width .repository-content,body.split-diff .repository-content{width:100%}body.full-width .new-pr-form,body.split-diff .new-pr-form{max-width:980px}.file-diff-split{table-layout:fixed}.file-diff-split .blob-code+.blob-num{border-left:1px solid var(--color-auto-gray-1)}.file-diff-split .blob-code-inner{word-wrap:break-word;white-space:pre-wrap}.file-diff-split .empty-cell{cursor:default;background-color:var(--color-diff-blob-empty-block-bg);border-right-color:var(--color-border-secondary)}@media (max-width:1280px){.file-diff-split .write-selected .comment-form-head{margin-bottom:48px!important}.file-diff-split markdown-toolbar{position:absolute;right:8px;bottom:-40px}}.submodule-diff-stats .octicon-diff-removed{color:var(--color-text-danger)}.submodule-diff-stats .octicon-diff-renamed{color:#677a85}.submodule-diff-stats .octicon-diff-modified{color:#d0b44c}.submodule-diff-stats .octicon-diff-added{color:var(--color-auto-green-5)}.BlobToolbar{left:-17px}.BlobToolbar-dropdown{margin-left:-2px}.pl-token.active,.pl-token:hover{cursor:pointer;background:#ffea7f}.discussion-timeline{position:relative;float:left}.discussion-timeline:before{position:absolute;top:0;bottom:0;left:72px;z-index:0;display:block;width:2px;content:"";background-color:var(--color-auto-gray-2)}.discussion-timeline.team-discussion-timeline:before{bottom:24px;left:20px;z-index:auto;background-color:var(--color-auto-gray-2)}.discussion-timeline.team-discussion-timeline .blankslate{background:var(--color-bg-primary)}.discussion-sidebar-item{padding-top:16px;font-size:12px;color:var(--color-text-secondary)}.discussion-sidebar-item .btn .octicon{margin-right:0}.discussion-sidebar-item .muted-icon{color:var(--color-auto-gray-4)}.discussion-sidebar-item .muted-icon:hover{color:var(--color-text-link);text-decoration:none;cursor:pointer}.discussion-sidebar-item+.discussion-sidebar-item{margin-top:16px;border-top:1px solid var(--color-border-secondary)}.discussion-sidebar-item .select-menu{position:relative}.discussion-sidebar-item .select-menu-modal-holder{top:25px;right:-1px;left:auto}.discussion-sidebar-heading{margin-bottom:8px;font-size:12px;color:var(--color-text-secondary)}.discussion-sidebar-toggle{padding:4px 0;margin:-4px 0 4px}.discussion-sidebar-toggle .octicon{float:right;color:var(--color-auto-gray-4)}.discussion-sidebar-toggle:hover{color:var(--color-text-link);text-decoration:none;cursor:pointer}.discussion-sidebar-toggle:hover .octicon{color:inherit}button.discussion-sidebar-toggle{display:block;width:100%;font-weight:600;text-align:left;background:none;border:0}.sidebar-progress-bar .progress-bar{height:8px;margin-bottom:2px;border-radius:6px}.sidebar-assignee .css-truncate-target{max-width:110px}.sidebar-assignee .assignee{font-weight:600;color:var(--color-text-secondary);vertical-align:middle}.sidebar-assignee .assignee:hover{color:var(--color-text-link);text-decoration:none}.sidebar-assignee .reviewers-status-icon{width:14px}.sidebar-assignee .octicon{margin-top:2px}.thread-subscribe-form.is-error .thread-subscribe-button{color:var(--color-text-danger)}.sidebar-notifications{position:relative}.sidebar-notifications .thread-subscription-status{padding:0;margin:0;border:0}.sidebar-notifications .thread-subscription-status .thread-subscribe-form{display:block}.sidebar-notifications .thread-subscription-status .reason{padding:0;margin:4px 0 0}.sidebar-notifications .thread-subscription-status .btn-sm{display:block;width:100%}.participation .participant-avatar{float:left;margin:4px 0 0 4px}.participation a{color:var(--color-text-secondary)}.participation a:hover{color:var(--color-text-link);text-decoration:none}.participation-avatars{margin-left:-4px}.participation-avatars:before{display:table;content:""}.participation-avatars:after{display:table;clear:both;content:""}.participation-more{float:left;margin:8px 4px 0}.inline-comment-form .form-actions,.timeline-new-comment .form-actions{padding:0 8px 8px}.inline-comment-form:before{display:table;content:""}.inline-comment-form:after{display:table;clear:both;content:""}.inline-comment-form .tabnav-tabs{display:inline-block}.inline-comment-form .form-actions{float:right}.gh-header-actions{float:right;margin-top:4px}.gh-header-actions .btn-sm{float:left;margin-left:4px}.gh-header-actions .btn-sm .octicon{margin-right:0}.gh-header{background-color:var(--color-bg-canvas)}.gh-header .gh-header-sticky{height:1px}.gh-header .gh-header-sticky .meta{font-size:12px}.gh-header .gh-header-sticky .gh-header-shadow,.gh-header .gh-header-sticky .sticky-content{display:none}.gh-header .gh-header-sticky.is-stuck{z-index:110;height:60px}.gh-header .gh-header-sticky.is-stuck .sticky-content{display:block}.gh-header .gh-header-sticky.is-stuck .css-truncate-target{max-width:150px}.gh-header .gh-header-sticky.is-stuck+.gh-header-shadow{position:fixed;top:0;right:0;left:0;z-index:109;display:block;height:60px;content:"";background-color:var(--color-bg-primary);border-bottom:1px solid var(--color-border-primary)}.gh-header .gh-header-edit{display:none}.gh-header .gh-header-meta .base-ref{display:inline-block}.gh-header .gh-header-meta .commit-ref-dropdown,.gh-header.open .gh-header-show{display:none}.gh-header.open .gh-header-edit{display:block}.gh-header.open .gh-header-meta .base-ref{display:none}.gh-header.open .gh-header-meta .commit-ref-dropdown{display:inline-block;margin-top:-4px;vertical-align:top}.gh-header-title{margin-right:150px;margin-bottom:0;font-weight:400;line-height:1.125;word-wrap:break-word}.gh-header-no-access .gh-header-title{margin-right:0}.gh-header-number{font-weight:300;color:var(--color-text-tertiary)}.gh-header-meta{padding-bottom:8px;margin-top:8px;font-size:14px;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border-primary)}.gh-header.issue .gh-header-meta{margin-bottom:16px}.gh-header.pull .gh-header-meta{padding-bottom:0;border-bottom:0}.gh-header-meta .commit-ref .css-truncate-target,.gh-header-meta .commit-ref:hover .css-truncate-target{max-width:780px!important}.gh-header-meta .State{margin-right:8px}.gh-header-meta .avatar{float:left;margin-top:-4px;margin-right:4px}.timeline-comment-wrapper{position:relative;padding-left:56px;margin-top:16px;margin-bottom:16px}.timeline-comment-avatar{float:left;margin-left:-56px;border-radius:6px}.timeline-comment-avatar .avatar{width:40px;height:40px}.timeline-comment-avatar .avatar-child{width:20px;height:20px}.discussions-timeline-scroll-target{width:100%;padding-top:60px;margin-top:-60px;pointer-events:none!important}.discussions-timeline-scroll-target>*{pointer-events:auto}.timeline-comment{position:relative;color:var(--color-text-primary);background-color:var(--color-bg-primary);border:1px solid var(--color-border-tertiary);border-radius:6px}.timeline-comment.will-transition-once{transition:border-color .65s ease-in-out}.timeline-comment.will-transition-once .timeline-comment-header{transition:background-color .65s ease,border-bottom-color .65s ease-in-out}.timeline-comment.will-transition-once .timeline-comment-label{transition:border-color .65s ease-in-out}.timeline-comment.will-transition-once:after,.timeline-comment.will-transition-once:before{transition:border-right-color .65s ease-in-out}.timeline-comment.current-user{border-color:var(--color-box-border-info)}.timeline-comment.current-user .timeline-comment-header{background-color:var(--color-box-bg-info);border-bottom-color:var(--color-box-border-info)}.timeline-comment.current-user .timeline-comment-label{border-color:var(--color-box-border-info)}.timeline-comment.current-user .previewable-comment-form .comment-form-head.tabnav{color:var(--color-box-border-info);background-color:var(--color-box-bg-info);border-bottom-color:var(--color-box-border-info)}.timeline-comment.is-internal,.timeline-comment.unread-item{border-color:var(--color-box-border-warning)}.timeline-comment.is-internal .timeline-comment-header,.timeline-comment.unread-item .timeline-comment-header{background-color:var(--color-box-bg-warning);border-bottom-color:var(--color-box-border-warning)}.timeline-comment.is-internal .timeline-comment-label,.timeline-comment.unread-item .timeline-comment-label{border-color:var(--color-box-border-warning)}.timeline-comment.is-internal .previewable-comment-form .comment-form-head.tabnav,.timeline-comment.unread-item .previewable-comment-form .comment-form-head.tabnav{color:var(--color-box-border-warning);background-color:var(--color-box-bg-warning);border-bottom-color:var(--color-box-border-warning)}.timeline-comment:empty{display:none}.timeline-comment .comment+.comment{border-top:1px solid var(--color-border-primary)}.timeline-comment .comment+.comment:after,.timeline-comment .comment+.comment:before{display:none}.timeline-comment .comment+.comment .timeline-comment-header{border-top-left-radius:0;border-top-right-radius:0}.timeline-comment--caret:after,.timeline-comment--caret:before{position:absolute;top:11px;right:100%;left:-16px;display:block;width:0;height:0;pointer-events:none;content:" ";border-color:transparent;border-style:solid solid outset}.timeline-comment--caret:after{margin-top:1px;margin-left:2px;border-width:7px;border-right-color:var(--color-auto-gray-1)}.timeline-comment--caret:before{border-width:8px;border-right-color:var(--color-auto-gray-3)}.is-pending .timeline-comment--caret:after,.is-pending .timeline-comment--caret:before{position:absolute;top:11px;right:100%;left:-16px;display:block;width:0;height:0;pointer-events:none;content:" ";border-color:transparent;border-style:solid solid outset}.is-pending .timeline-comment--caret:after{margin-top:1px;margin-left:2px;border-width:7px;border-right-color:var(--color-auto-yellow-0)}.is-pending .timeline-comment--caret:before{border-width:8px;border-right-color:var(--color-border-warning)}.timeline-comment--caret.current-user:after,.timeline-comment--caret.current-user:before{position:absolute;top:11px;right:100%;left:-16px;display:block;width:0;height:0;pointer-events:none;content:" ";border-color:transparent;border-style:solid solid outset}.timeline-comment--caret.current-user:after{margin-top:1px;margin-left:2px;border-width:7px;border-right-color:var(--color-current-user-tip-bg)}.timeline-comment--caret.current-user:before{border-width:8px;border-right-color:var(--color-current-user-tip-border)}.timeline-comment--caret.is-internal:after,.timeline-comment--caret.is-internal:before,.timeline-comment--caret.unread-item:after,.timeline-comment--caret.unread-item:before{position:absolute;top:11px;right:100%;left:-16px;display:block;width:0;height:0;pointer-events:none;content:" ";border-color:transparent;border-style:solid solid outset}.timeline-comment--caret.is-internal:after,.timeline-comment--caret.unread-item:after{margin-top:1px;margin-left:2px;border-width:7px;border-right-color:var(--color-auto-yellow-0)}.timeline-comment--caret.is-internal:before,.timeline-comment--caret.unread-item:before{border-width:8px;border-right-color:var(--color-auto-yellow-2,#e5d999)}.timeline-comment--caret.timeline-comment--caret-nw:after,.timeline-comment--caret.timeline-comment--caret-nw:before{transform:rotate(90deg)}.timeline-comment--caret.timeline-comment--caret-nw:before{top:-16px;left:8px}.timeline-comment--caret.timeline-comment--caret-nw:after{top:-15px;left:7px}.page-responsive .timeline-comment--caret:after,.page-responsive .timeline-comment--caret:before{display:none}@media (min-width:768px){.page-responsive .timeline-comment--caret:after,.page-responsive .timeline-comment--caret:before{display:block}}:target .timeline-comment--caret:before{filter:drop-shadow(-.28em 0 0 var(--color-auto-blue-2));border-right-color:var(--color-auto-blue-4)}:target .timeline-comment{border-color:var(--color-auto-blue-4);box-shadow:0 0 0 .2em var(--color-auto-blue-2)}.review-comment:target{border:1px solid var(--color-auto-blue-4);border-radius:6px;box-shadow:0 0 0 .2em var(--color-auto-blue-2)}.timeline-comment-header{display:flex;align-items:center;padding-right:16px;padding-left:16px;color:var(--color-text-secondary);flex-direction:row-reverse;background-color:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border-tertiary);border-top-left-radius:6px;border-top-right-radius:6px}.timeline-comment-header:only-child{border-bottom:0;border-radius:6px}.timeline-comment-header .author{color:var(--color-text-secondary)}.timeline-comment-header code{word-break:break-all}.comment-type-icon{color:inherit}.timeline-comment-label{float:right;padding:2px 4px;margin-left:8px;cursor:default;border:1px solid var(--color-fade-black-15);border-radius:6px}.timeline-comment-label-spammy{color:var(--color-text-danger);border-color:var(--color-border-danger)}.timeline-comment-header-text{min-width:0;padding-top:8px;padding-bottom:8px;margin-bottom:1px;flex:1 1 auto}.timeline-comment-header-text code a{color:var(--color-text-secondary)}.timeline-comment-actions{float:right;margin-left:8px}.timeline-comment-actions .show-more-popover.dropdown-menu-sw{right:-6px;margin-top:-5px}.timeline-comment-action{display:inline-block;padding:8px 4px;color:var(--color-text-tertiary)}.timeline-comment-action:focus,.timeline-comment-action:hover{color:var(--color-text-link);text-decoration:none;opacity:1}.timeline-comment-action .octicon-check{height:16px}.timeline-comment-action.disabled{color:var(--color-auto-gray-3);cursor:default}.timeline-comment-action.disabled:hover{color:var(--color-auto-gray-3)}.compare-tab-comments .timeline-comment-actions{display:none}.timeline-new-comment{margin-bottom:0}.timeline-new-comment .comment-form-head{margin-bottom:8px}.timeline-new-comment .previewable-comment-form .comment-body{padding:4px 4px 16px;border-bottom:1px solid var(--color-border-primary)}.comment-form-head .toolbar-commenting{float:right}.discussion-item-icon{float:left;width:32px;height:32px;margin-top:-5px;margin-left:-39px;line-height:28px;color:var(--color-icon-secondary);text-align:center;background-color:var(--color-timeline-badge-bg);border:2px solid var(--color-bg-canvas);border-radius:50%}.discussion-item-header{color:var(--color-text-secondary);word-wrap:break-word}.discussion-item-header .discussion-item-private{vertical-align:-1px}.discussion-item-header:last-child{padding-bottom:0}.discussion-item-header .commit-ref{font-size:85%;vertical-align:initial}.discussion-item-header .btn-outline{float:right;padding:4px 8px;margin-top:-4px;margin-left:8px}.discussion-item-private{color:var(--color-text-secondary)}.previewable-comment-form .comment-form-head.tabnav{padding:8px 8px 0;background:var(--color-bg-tertiary);border-radius:6px 6px 0 0}.page-responsive .previewable-comment-form .comment-form-head.tabnav .toolbar-commenting{background:var(--color-bg-primary)}@media (min-width:1012px){.page-responsive .previewable-comment-form .comment-form-head.tabnav .toolbar-commenting{background:transparent}}@media (min-width:768px){.page-responsive .previewable-comment-form .comment-form-head.tabnav{background:var(--color-bg-tertiary)}}.previewable-comment-form .comment{border:0}.previewable-comment-form .comment-body{padding:4px 4px 16px;background-color:initial;border-bottom:1px solid var(--color-border-primary)}.previewable-comment-form .timeline-comment .timeline-comment-actions{display:none}.new-discussion-timeline .composer .timeline-comment{margin-bottom:8px}.new-discussion-timeline .composer .timeline-comment:after{border-right-color:var(--color-text-white)}.new-discussion-timeline .composer .comment-form-head.tabnav{padding-top:0;background-color:var(--color-bg-primary)}.composer.composer-responsive{padding-left:0}.composer.composer-responsive .discussion-topic-header{padding:0}.composer.composer-responsive .timeline-comment{border:0}.composer.composer-responsive .timeline-comment:after,.composer.composer-responsive .timeline-comment:before{display:none}.composer.composer-responsive .previewable-comment-form .write-content{margin:0}@media (min-width:768px){.composer.composer-responsive{padding-left:56px}.composer.composer-responsive .timeline-comment{border:1px solid var(--color-border-primary)}.composer.composer-responsive .timeline-comment:after,.composer.composer-responsive .timeline-comment:before{position:absolute;top:11px;right:100%;left:-16px;display:block;width:0;height:0;pointer-events:none;content:" ";border-color:transparent;border-style:solid solid outset}.composer.composer-responsive .timeline-comment:after{margin-top:1px;margin-left:2px;border-width:7px;border-right-color:var(--color-auto-white)}.composer.composer-responsive .timeline-comment:before{border-width:8px;border-right-color:var(--color-auto-gray-3)}}.discussion-timeline-actions{background-color:var(--color-bg-canvas);border-top:2px solid var(--color-border-primary)}.discussion-timeline-actions .merge-pr{padding-top:0;border-top:0}.discussion-timeline-actions .thread-subscription-status{margin-top:16px}.pagination-loader-container{background-color:var(--color-bg-canvas);background-image:url(/images/modules/pulls/progressive-disclosure-line.svg);background-repeat:repeat-x;background-position:50%;background-size:16px}[data-color-mode=dark] .pagination-loader-container{background-image:url(/images/modules/pulls/progressive-disclosure-line-dark.svg)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .pagination-loader-container{background-image:url(/images/modules/pulls/progressive-disclosure-line-dark.svg)}}:target .timeline-comment-group .timeline-comment{border-color:var(--color-auto-blue-4);box-shadow:0 0 0 .2em var(--color-auto-blue-2)}.is-pending .form-actions{margin-right:8px;margin-bottom:4px}.is-pending .comment-form-head.tabnav,.is-pending .file,.is-pending .file-header,.is-pending .tabnav-tab.selected{border-color:var(--color-border-warning)}.is-pending .comment-form-head.tabnav,.is-pending .file-header{background-color:var(--color-auto-yellow-0)}.discussion-item-icon-gray{background-color:var(--color-auto-gray-2)!important}.footer-octicon{color:var(--color-footer-invertocat-octicon)}.footer-octicon:hover{color:var(--color-footer-invertocat-octicon-hover)}.team-mention,.user-mention{font-weight:600;color:var(--color-text-primary);white-space:nowrap}@media (max-width:543px){.notifications-component-menu-modal{margin:calc(10vh - 16px) 0}}@media (min-width:544px){.notifications-component-dialog,.notifications-component-dialog-modal,.notifications-component-menu-modal{width:100%}}@media (min-width:768px){.notifications-component-dialog,.notifications-component-dialog-modal,.notifications-component-menu-modal{min-width:300px}}.notifications-component-dialog:not([hidden])+.notifications-component-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:block;cursor:default;content:" ";background:transparent;background:var(--color-fade-black-50)}@media (min-width:544px){.notifications-component-dialog:not([hidden])+.notifications-component-dialog-overlay{display:none}}.notifications-component-dialog{z-index:99;animation:none}@keyframes notifications-component-dialog-animation--sm{0%{opacity:0;transform:translateX(16px)}}@media (min-width:544px){.notifications-component-dialog{position:absolute;top:auto;right:auto;bottom:auto;left:auto;max-height:none;padding-top:0;margin:0;transform:none}}.notifications-component-dialog .notifications-component-dialog-modal{animation:none}.pagehead{position:relative;padding-top:24px;padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid var(--color-border-primary)}.pagehead.admin{background:url(/images/modules/pagehead/background-yellowhatch-v3.png) 0 0 repeat-x}.pagehead ul.pagehead-actions{position:relative;z-index:31;float:right;margin:0}.pagehead .path-divider{margin:0 .25em}.pagehead h1{min-height:32px;margin-top:0;margin-bottom:0;font-size:20px;font-weight:400}.pagehead h1 .avatar{margin-top:-2px;margin-right:9px;margin-bottom:-2px}.pagehead .underline-nav{height:69px;margin-top:-20px;margin-bottom:-20px}.pagehead-heading{color:inherit}.pagehead-actions>li{float:left;margin:0 10px 0 0;font-size:11px;color:var(--color-text-primary);list-style-type:none}.pagehead-actions>li:last-child{margin-right:0}.pagehead-actions .octicon-mute{color:var(--color-text-danger)}.pagehead-actions .select-menu{position:relative}.pagehead-actions .select-menu:before{display:table;content:""}.pagehead-actions .select-menu:after{display:table;clear:both;content:""}.pagehead-actions .select-menu-modal-holder{top:100%}.pagehead-tabs-item{float:left;padding:8px 15px 11px;color:var(--color-text-secondary);white-space:nowrap;border:1px solid transparent;border-top:3px solid transparent;border-radius:6px 6px 0 0}.pagehead-tabs-item .octicon{color:var(--color-fade-black-30)}.pagehead-tabs-item .Counter{color:var(--color-auto-gray-7)}.pagehead-tabs-item:hover{color:var(--color-text-primary);text-decoration:none}.pagehead-tabs-item.selected{font-weight:600;color:var(--color-text-primary);background-color:var(--color-bg-primary);border-left-color:var(--color-border-primary);border-bottom-color:transparent;border-right-color:var(--color-border-primary);border-top-color:var(--color-auto-orange-6)}.pagehead-tabs-item.selected>.octicon{color:inherit}.reponav{position:relative;top:1px;margin-top:-5px}.reponav:after,.reponav:before{display:table;content:""}.reponav:after{clear:both}.reponav-item{float:left;padding:7px 15px 8px;color:var(--color-text-secondary);white-space:nowrap;border:1px solid transparent;border-top:3px solid transparent;border-radius:6px 6px 0 0}.reponav-item .octicon{color:var(--color-fade-black-30)}.reponav-item .Counter{color:var(--color-auto-gray-7)}.reponav-item:focus,.reponav-item:hover{color:var(--color-text-primary);text-decoration:none}.reponav-item.selected{color:var(--color-text-primary);background-color:var(--color-bg-primary);border-left-color:var(--color-border-primary);border-bottom-color:transparent;border-right-color:var(--color-border-primary);border-top-color:var(--color-auto-orange-6)}.reponav-item.selected .octicon{color:inherit}.reponav-wrapper{position:relative;z-index:2;overflow-y:hidden;background-color:var(--color-bg-canvas-inverse)}.reponav-wrapper .reponav{top:0;padding-right:8px;padding-left:8px;margin-top:0;-webkit-overflow-scrolling:touch;overflow-x:auto;color:hsla(0,0%,100%,.75)}.reponav-wrapper .reponav-item{display:inline-block;float:none;padding:4px 8px 16px;color:var(--color-text-secondary);border:0}.reponav-wrapper .reponav-item.selected{font-weight:600;color:var(--color-text-primary);background-color:initial;border:0}.steps{display:table;width:100%;padding:0;margin:30px auto 0;overflow:hidden;list-style:none;border:1px solid #dfe2e5;border-radius:6px;box-shadow:0 1px 3px rgba(27,31,35,.05)}.steps li{display:table-cell;width:33.3%;padding:10px 15px;color:#c6cbd1;cursor:default;background-color:var(--color-bg-secondary);border-left:1px solid #dfe2e5}.steps li.current{color:var(--color-text-primary);background-color:var(--color-bg-primary)}.steps li.current .octicon{color:var(--color-text-link)}.steps li .octicon{float:left;margin-right:15px;margin-bottom:5px}.steps li .step{display:block}.steps li:first-child{border-left:0}.steps .complete{color:var(--color-text-secondary)}.steps .complete .octicon{color:var(--color-auto-green-5)}.prose-diff .anchor{display:none}.prose-diff .show-rich-diff{color:var(--color-text-link);text-decoration:none;cursor:pointer}.prose-diff .show-rich-diff:hover{text-decoration:underline}.prose-diff.collapsed .rich-diff-level-zero.expandable{cursor:pointer}.prose-diff.collapsed .rich-diff-level-zero.expandable .vicinity{display:block}.prose-diff.collapsed .rich-diff-level-zero.expandable .unchanged:not(.vicinity){display:none}.prose-diff.collapsed .rich-diff-level-zero.expandable .octicon{display:block;margin:20px auto;color:var(--color-icon-tertiary)}.prose-diff.collapsed .rich-diff-level-zero.expandable:hover .octicon{color:var(--color-icon-secondary)}.prose-diff.collapsed .rich-diff-level-zero.expandable:only-child:before{font-size:18px;color:var(--color-text-tertiary);content:"Sorry, no visible changes to display."}.prose-diff.collapsed .rich-diff-level-zero.expandable:only-child:hover:before{color:var(--color-text-primary)}.prose-diff.collapsed .rich-diff-level-zero.expandable>.removed,.prose-diff.collapsed .rich-diff-level-zero.expandable>del{display:none;text-decoration:none}.prose-diff .markdown-body{padding:30px 30px 30px 15px}.prose-diff .markdown-body>ins{box-shadow:inset 4px 0 0 var(--color-diff-addition-border)}.prose-diff .markdown-body>del{text-decoration:none;box-shadow:inset 4px 0 0 var(--color-diff-deletion-border)}.prose-diff .markdown-body>del,.prose-diff .markdown-body>ins{display:block;border-radius:0}.prose-diff .markdown-body>del>.rich-diff-level-one,.prose-diff .markdown-body>del>.rich-diff-level-zero,.prose-diff .markdown-body>ins>.rich-diff-level-one,.prose-diff .markdown-body>ins>.rich-diff-level-zero{margin-left:15px}.prose-diff .markdown-body>del:first-child *,.prose-diff .markdown-body>ins:first-child *{margin-top:0}.prose-diff .rich-diff-level-zero.added{box-shadow:inset 4px 0 0 var(--color-diff-addition-border)}.prose-diff .rich-diff-level-zero.removed{box-shadow:inset 4px 0 0 var(--color-diff-deletion-border)}.prose-diff .rich-diff-level-zero.changed{box-shadow:inset 4px 0 0 var(--color-diff-change-border)}.prose-diff .rich-diff-level-zero.unchanged,.prose-diff .rich-diff-level-zero.vicinity{margin-left:15px}.prose-diff .rich-diff-level-zero.added,.prose-diff .rich-diff-level-zero.changed,.prose-diff .rich-diff-level-zero.removed{display:block;border-radius:0}.prose-diff .rich-diff-level-zero.added>.rich-diff-level-one,.prose-diff .rich-diff-level-zero.changed>.rich-diff-level-one,.prose-diff .rich-diff-level-zero.removed>.rich-diff-level-one{margin-left:15px}.prose-diff .rich-diff-level-zero.added:first-child *,.prose-diff .rich-diff-level-zero.changed:first-child *,.prose-diff .rich-diff-level-zero.removed:first-child *{margin-top:0}.prose-diff :not(.changed)>:not(.github-user-ins):not(.github-user-del)>.removed,.prose-diff :not(.changed)>:not(.github-user-ins):not(.github-user-del)>del{text-decoration:none}.prose-diff .changed .removed,.prose-diff .changed .removed>div,.prose-diff .changed .removed code,.prose-diff .changed .removed pre,.prose-diff .changed del,.prose-diff .changed del>div,.prose-diff .changed del code,.prose-diff .changed del pre{color:var(--color-diff-deletion-text);text-decoration:line-through;background:var(--color-diff-deletion-bg)}.prose-diff .changed .added,.prose-diff .changed ins,.prose-diff .changed ins code,.prose-diff .changed ins pre{color:var(--color-diff-addition-text);background:var(--color-diff-addition-bg);border-bottom:1px solid var(--color-diff-addition-border)}.prose-diff>.markdown-body .github-user-ins{text-decoration:underline}.prose-diff>.markdown-body .github-user-del{text-decoration:line-through}.prose-diff>.markdown-body li ul.added{background:var(--color-diff-addition-bg)}.prose-diff>.markdown-body li ul.removed{color:var(--color-diff-deletion-text);background:var(--color-diff-deletion-bg)}.prose-diff>.markdown-body li ul.removed:not(.github-user-ins){text-decoration:line-through}.prose-diff>.markdown-body li.added.moved-down .octicon,.prose-diff>.markdown-body li.added.moved-up .octicon{margin-right:5px;margin-left:5px;color:var(--color-icon-tertiary)}.prose-diff>.markdown-body li.added.moved{background:var(--color-diff-change-bg)}.prose-diff>.markdown-body li.removed.moved{display:none}.prose-diff>.markdown-body pre{padding:10px 20px}.prose-diff>.markdown-body td.changed,.prose-diff>.markdown-body th.changed{background:var(--color-diff-change-bg);border-left-color:var(--color-border-tertiary)}.prose-diff>.markdown-body :not(li.moved).removed{color:var(--color-diff-deletion-text);text-decoration:line-through;background:var(--color-diff-deletion-bg)}.prose-diff>.markdown-body :not(.github-user-ins):not(li.moved).removed{text-decoration:line-through}.prose-diff>.markdown-body :not(li.moved).added,.prose-diff>.markdown-body li:not(.moved).added{background:var(--color-diff-addition-bg)}.prose-diff>.markdown-body :not(.github-user-del):not(li.moved).added li:not(.moved):not(.github-user-del).added{text-decoration:none}.prose-diff>.markdown-body li:not(.moved).removed{color:var(--color-diff-deletion-text);background:var(--color-diff-deletion-bg)}.prose-diff>.markdown-body li:not(.moved):not(.github-user-ins).removed{text-decoration:line-through}.prose-diff>.markdown-body .added,.prose-diff>.markdown-body ins,.prose-diff>.markdown-body ins+.added{border-top:0;border-bottom:0}.prose-diff>.markdown-body .added:not(.github-user-del):not(.github-user-ins),.prose-diff>.markdown-body ins+.added:not(.github-user-del):not(.github-user-ins),.prose-diff>.markdown-body ins:not(.github-user-del):not(.github-user-ins){text-decoration:none}.prose-diff>.markdown-body img.added,.prose-diff>.markdown-body img.removed{border-style:solid;border-width:1px}.prose-diff>.markdown-body ins>div:not(.github-user-del):not(.github-user-ins),.prose-diff>.markdown-body ins code:not(.github-user-del):not(.github-user-ins),.prose-diff>.markdown-body ins pre:not(.github-user-del):not(.github-user-ins){text-decoration:none}.prose-diff>.markdown-body ul>del,.prose-diff>.markdown-body ul>ins{display:block;padding:0}.prose-diff>.markdown-body .added>li,.prose-diff>.markdown-body .removed>li{margin-top:0;margin-bottom:0}a.added_href,a.changed_href,b.changed_tag,code.changed_tag,em.changed_tag,i.changed_tag,span.changed_tag,span.removed_href,strong.changed_tag{border-bottom:1px dotted var(--color-border-tertiary);border-radius:0}.diff-view .file-type-prose .rich-diff{display:none}.diff-view .display-rich-diff .rich-diff{display:block}.diff-view .display-rich-diff .file-diff{display:none}.protip{margin-top:20px;color:var(--color-text-secondary);text-align:center}.protip strong{color:var(--color-text-primary)}.protip code{padding:2px;background-color:var(--color-bg-tertiary);border-radius:6px}.add-reaction-btn{opacity:0;transition:opacity .1s ease-in-out}.page-responsive .add-reaction-btn{opacity:1}@media (min-width:768px){.page-responsive .add-reaction-btn{opacity:0}}.add-reaction-plus-icon{margin-right:-1px}.reaction-popover-container[open] .add-reaction-btn{opacity:1}.add-reactions-options-item{margin-top:-1px;margin-right:-1px;line-height:29px;border:1px solid transparent}.add-reactions-options-item .emoji{display:inline-block;transition:transform .15s cubic-bezier(.2,0,.13,2)}.add-reactions-options-item:focus .emoji,.add-reactions-options-item:hover .emoji{text-decoration:none!important;transform:scale(1.2)!important}.add-reactions-options-item:active{background-color:var(--color-auto-blue-1)}.page-responsive .add-reactions-options-item{height:20vw}@media (min-width:544px){.page-responsive .add-reactions-options-item{height:auto}}.comment-reactions{display:none}.comment-reactions:before{display:table;content:""}.comment-reactions:after{display:table;clear:both;content:""}.comment-reactions .reaction-popover-container .reactions-menu{z-index:100}.page-responsive .comment-reactions{display:flex}@media (min-width:768px){.page-responsive .comment-reactions{display:none}.page-responsive .comment-reactions.has-reactions{display:flex}}.comment-reactions.has-reactions{display:block;border-top:1px solid var(--color-border-primary)}.comment-reactions.has-reactions .add-reaction-btn:focus,.comment-reactions.has-reactions:hover .add-reaction-btn{opacity:1}.comment-reactions .user-has-reacted{background-color:var(--color-bg-info)}.comment-reactions .add-reaction-btn{border-right:0}.reaction-summary-item{float:left;padding:9px 15px 7px;line-height:18px;border-right:1px solid var(--color-border-primary)}.reaction-summary-item:focus,.reaction-summary-item:hover{text-decoration:none}.comment-reactions-options .reaction-summary-item:first-child,.render-container{border-bottom-left-radius:6px}.render-container{padding:30px;line-height:0;text-align:center;background:var(--color-bg-tertiary);border-bottom-right-radius:6px}.render-container .render-viewer{display:none;width:100%;height:100%;border:0}.render-container .octospinner,.render-container .render-fullscreen,.render-container .render-viewer-error,.render-container .render-viewer-fatal,.render-container .render-viewer-invalid{display:none}.render-container.is-render-automatic .octospinner,.render-container.is-render-requested.is-render-failed .render-viewer-error,.render-container.is-render-requested .octospinner{display:inline-block}.render-container.is-render-requested.is-render-failed .octospinner,.render-container.is-render-requested.is-render-failed .render-viewer,.render-container.is-render-requested.is-render-failed .render-viewer-fatal,.render-container.is-render-requested.is-render-failed .render-viewer-invalid{display:none}.render-container.is-render-requested.is-render-failed-fatal .render-viewer-fatal{display:inline-block}.render-container.is-render-requested.is-render-failed-fatal .octospinner,.render-container.is-render-requested.is-render-failed-fatal .render-viewer,.render-container.is-render-requested.is-render-failed-fatal .render-viewer-error,.render-container.is-render-requested.is-render-failed-fatal .render-viewer-invalid{display:none}.render-container.is-render-requested.is-render-failed-invalid .render-viewer-invalid{display:inline-block}.render-container.is-render-requested.is-render-failed-invalid .octospinner,.render-container.is-render-requested.is-render-failed-invalid .render-viewer,.render-container.is-render-requested.is-render-failed-invalid .render-viewer-error,.render-container.is-render-requested.is-render-failed-invalid .render-viewer-fatal{display:none}.render-container.is-render-ready.is-render-requested:not(.is-render-failed){height:500px;padding:0;background:none}.render-container.is-render-ready.is-render-requested:not(.is-render-failed) .render-viewer{display:block}.render-container.is-render-ready.is-render-requested:not(.is-render-failed) .render-fullscreen{display:flex}.render-container.is-render-ready.is-render-requested:not(.is-render-failed) .octospinner,.render-container.is-render-ready.is-render-requested:not(.is-render-failed) .render-viewer-error,.render-container.is-render-ready.is-render-requested:not(.is-render-failed) .render-viewer-fatal{display:none}.render-notice{padding:20px 15px;font-size:14px;color:var(--color-auto-gray-7);background-color:var(--color-bg-tertiary);border-color:var(--color-fade-black-15)}.Skeleton{color:transparent;background-image:linear-gradient(270deg,rgba(0,0,0,.1),rgba(0,0,0,.05),rgba(0,0,0,.05),rgba(0,0,0,.1));background-size:400% 100%;animation:skeleton-loading 8s ease-in-out infinite}.Skeleton *{visibility:hidden}.Skeleton--text{-webkit-clip-path:inset(4px 0 4px 0 round 3px 3px 3px 3px);clip-path:inset(4px 0 4px 0 round 3px 3px 3px 3px)}.is-error .Skeleton{display:none}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.authors-2 .AvatarStack{min-width:36px!important}.authors-3 .AvatarStack{min-width:46px!important}.navigation-focus .AvatarStack-body,[aria-selected=true] .AvatarStack-body{background:#f6fbff}.blame-commit .AvatarStack{margin-top:3px}.content-attachment{border-left:.25em solid #dfe2e5}.max--md{height:188px}[open] .max--md{height:auto}.max--md .content-attachment-content--gradient,.max--md .Details-content--closed{position:absolute;right:-1px;bottom:0;left:0;z-index:1;display:block;content:""}.max--md .content-attachment-content--gradient{height:88px;background:linear-gradient(180deg,hsla(0,0%,100%,0),#fff calc(100% - 28px))}.content-attachment-details[open] .max--md .content-attachment-content--gradient{background:none}[hidden]{display:none!important}.subtasks-add{padding:14px 8px 14px 38px;border-color:transparent;box-shadow:none}.subtasks-add-icon{top:0;left:4px;padding:17px 11px;font-size:0;pointer-events:none}.subtasks-add:focus~.subtasks-add-icon svg{color:var(--color-text-link)!important}.subtask-row .subtask-menu{visibility:hidden}.subtask-row:hover{background:var(--color-bg-secondary)}.subtask-row:hover .subtask-menu{visibility:visible}#subtasks.is-comment-editing{margin:0 8px 16px!important;background-color:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:6px}#subtasks .suggester-container{top:28px!important;left:0!important;width:100%}.subtasks-parent-pill{position:relative;cursor:default}.subtasks-parent-pill-truncated{position:absolute;left:100%;display:none;white-space:nowrap;background:var(--color-bg-primary);border-left-width:0!important;border-top-left-radius:0!important;border-bottom-left-radius:0!important}.subtasks-parent-pill:hover .subtasks-parent-pill-truncated{display:block}body{word-wrap:break-word}.page-content{padding-top:20px}.container-sm{max-width:544px}.min-height-full{min-height:100vh!important}.marketing .pagehead h1{font-size:30px}.marketing .pagehead p{margin-top:4px;margin-bottom:0;font-size:14px;color:var(--color-text-secondary)}.marketing .pagehead ul.actions{margin-top:10px}.marketing h2 .secure{float:right;padding:1px 0;font-size:11px;font-weight:600;color:var(--color-auto-green-5);text-transform:uppercase}.marketing .questions p{font-size:14px}.marketing-section{position:relative;padding-top:80px;padding-bottom:80px;font-size:16px;line-height:1.5;text-align:center;border-bottom:1px solid #e5e5e5}.marketing-section:before{display:table;content:""}.marketing-section:after{display:table;clear:both;content:""}.marketing-section h3{font-size:21px;font-weight:400}.marketing-hero-octicon{position:relative;width:100px;height:100px;margin:0 auto 15px;text-align:center;border:1px solid #e5e5e5;border-radius:50px}.marketing-hero-octicon .octicon{margin-top:22px;color:var(--color-text-link)}.marketing-hero-octicon .octicon-checklist{position:relative;right:-3px}.hanging-icon-list li{padding-left:25px;margin:10px 0;font-size:14px;list-style-type:none}.hanging-icon-list .octicon{float:left;margin-top:3px;margin-left:-25px;color:var(--color-text-secondary)}.hanging-icon-list .octicon-check{color:var(--color-auto-green-5)}.hanging-icon-list .octicon-x{color:var(--color-text-danger)}.integrations-hero-octicon.marketing-hero-octicon{width:75px;height:75px;border-width:5px}.integrations-hero-octicon.marketing-hero-octicon .octicon{margin-top:15px}.marketing-blue-octicon{color:#34acbf;border-color:#34acbf}.marketing-blue-octicon .octicon{color:#34acbf}.marketing-turquoise-octicon{color:#75bbb6;border-color:#75bbb6}.marketing-turquoise-octicon .octicon{color:#75bbb6}.marketing-purple-octicon{color:#b086b7;border-color:#b086b7}.marketing-purple-octicon .octicon{color:#b086b7}.marketing-graphic{position:relative}.intgrs-dir .marketing-graphic{padding-right:0;margin:0}.intgrs-dir .footer{margin-top:40px}.intgrs-dir-section h2{margin-top:0;margin-bottom:20px;font-size:26px;font-weight:300}.intgrs-dir-intro{padding:40px 0;margin:0;text-align:left;background-image:linear-gradient(-110deg,#48227d,#2f569c);border-bottom:0}.pagehead+.intgrs-dir-intro{margin-top:-20px}.intgrs-dir-intro .directory-header-back{margin-top:10px;font-size:18px;color:var(--color-text-white)}.intgrs-dir-intro .directory-header-back:hover{color:#d7def1;text-decoration:none}.intgrs-dir-intro .directory-header-back .octicon{vertical-align:middle}.intgrs-dir-intro .directory-header-back .header-link{color:#96dad9}.intgrs-dir-intro .directory-tag-line{margin-bottom:0;font-size:28px;font-weight:400;color:var(--color-text-white)}.intgrs-dir-intro .lead{margin-top:10px;margin-bottom:6px;font-size:18px;font-weight:400;color:#d7def1}.intgrs-lstng-search{display:inline-block;width:33%;margin-left:20px}.intgrs-lstng-search .subnav-search-input{width:100%}.intgrs-lstng-categories-container{display:inline-block;float:left;width:20%}.intgrs-lstng-categories-container .intgrs-lstng-categories{top:0}.intgrs-lstng-categories-container .filter-item{padding:6px 10px;margin-right:-10px;margin-left:-10px}.intgrs-lstng-container{display:inline-block;width:80%;text-align:left}.intgrs-lstng-item{position:relative;display:inline-flex;width:30.8%;font-size:14px;border:1px solid #ededed;border-radius:4px;transition:border-color .15s ease 0s,transform .15s ease 0s,box-shadow .15s ease 0s,color .15s ease 0s}.intgrs-lstng-item:hover{border-color:#51a7e8;box-shadow:0 0 5px rgba(81,167,232,.5);transform:scale(1.05)}.intgrs-lstng-item .intgrs-lstng-logo{display:block;margin:0 auto 10px}.intgrs-lstng-item .draft-tag{position:absolute;top:-1px;left:10px}.intgrs-lstng-item-link{display:block;width:100%;height:181px;padding-top:20px}.intgrs-lstng-item-link:hover{text-decoration:none}.intgrs-lstng-item-link:hover .intgrs-lstng-item-header{color:var(--color-text-link)}.intgrs-lstng-item-header{margin:15px 10px 0;font-size:14px;font-weight:600;color:#333}.intgrs-lstng-item-description{position:relative;height:2.8em;padding:0 10px;margin-top:5px;overflow:hidden;font-size:13px;color:var(--color-text-secondary)}.intgrs-lstng-item-description:after{position:absolute;right:0;bottom:0;padding:0 15px 0 20px;color:transparent;content:"\00a0";background-image:linear-gradient(90deg,hsla(0,0%,100%,0),#fff 80%)}.intgr-admin-link{position:relative;display:inline-block;height:25px;padding-left:23px;font-size:13px;vertical-align:middle;border:1px solid #ededed;border-radius:6px}.intgr-admin-link.draft-tag{padding-left:25px;border:0}.intgr-admin-link.draft-tag .octicon,.intgr-admin-link.draft-tag:hover .octicon{color:var(--color-text-white)}.intgr-admin-link.draft-tag:hover{text-decoration:none;background-color:#000}.intgr-admin-link:hover .octicon{color:var(--color-text-link)}.intgr-admin-link .octicon{position:absolute;top:3px;left:5px;color:var(--color-text-secondary)}.intgr-feat-header{position:relative;width:85%;padding:0 65px 10px;color:#d7def1}.intgr-feat-header .intgr-admin-link{border-color:rgba(215,222,241,.6)}.intgr-feat-header .intgr-admin-link .octicon{color:#d7def1}.intgr-feat-header .intgr-admin-link:hover .octicon{color:var(--color-text-white)}.intgr-feat-header .marketing-hero-octicon{position:absolute;top:0;left:5px;width:50px;height:50px;border-width:3px}.intgr-feat-header .marketing-hero-octicon .octicon{margin-top:11px}.intgr-feat-header h2{margin:0;font-size:25px;line-height:50px;color:var(--color-text-white)}.intgr-feat-header p{max-width:580px;margin:0;font-size:18px}.integrations-breadcrumb{display:inline-block;font-weight:400;color:#8296cc}.integrations-breadcrumb-link{line-height:0;color:#d7def1}.integrations-breadcrumb-link:hover{color:var(--color-text-white);text-decoration:none}.integrations-auth-wrapper{width:511px;margin:60px auto}.integrations-auth-header{font-size:20px;text-align:center}.integrations-permissions-group dt{font-size:18px;font-weight:400}.integrations-permissions-group .integrations-permission{position:relative;padding-left:22px;margin-bottom:10px;list-style-type:none}.integrations-permissions-group .integrations-permission .octicon{position:absolute;top:1px;left:0;margin-right:10px}.integrations-install-target .select-menu{vertical-align:middle}.integrations-install-target input[type=radio]{margin-right:10px}.integrations-install-target .flash{background-color:initial}.integrations-install-target .flash-error{background-color:initial;border:0}.integrations-install-target .octicon-lock,.integrations-install-target .octicon-repo{margin-right:3px}.integrations-install-target .octicon-lock{color:var(--color-fade-black-70)}.integrations-install-target .private{background-color:#fff9ea}.integrations-install-target .navigation-focus.private,.integrations-install-target [aria-selected=true].private{background-color:#4078c0}.integrations-install-target .navigation-focus .octicon-lock,.integrations-install-target [aria-selected=true].octicon-lock{color:inherit}.integrations-setup-note{margin:10px 0}.listgroup-item{line-height:inherit}.listgroup-item.disabled{background-color:var(--color-bg-secondary)}.listgroup-item.disabled .listgroup-item-title{color:#333}.integration-key-management-wrapper .flash-error,.integration-key-management-wrapper .integration-key-downloading,.integration-key-management-wrapper .integration-key-list{display:none}.integration-key-management-wrapper .blankslate{margin-bottom:30px}.integration-key-management-wrapper .action .deletable{display:none}.integration-key-management-wrapper .action .undeletable,.integration-key-management-wrapper.multi-keys .action .deletable{display:block}.integration-key-management-wrapper.multi-keys .action .undeletable{display:none}.integration-key-management-wrapper.error .flash-error{display:block}.integration-key-management-wrapper.error .integration-key{opacity:.5}.integration-key-management-wrapper.error .action .deletable{display:none}.integration-key-management-wrapper.error .action .undeletable{display:block}.integration-key-management-wrapper.downloading .blankslate{display:none}.integration-key-management-wrapper.downloading .integration-key-downloading,.integration-key-management-wrapper.downloading .integration-key-list{display:block}.integration-key-management-wrapper.has-keys .blankslate{display:none}.integration-key-management-wrapper.has-keys .integration-key-list{display:block}.link-small{color:#767676;transition:color .5s ease}.listgroup-item:hover .link-small{color:var(--color-text-link)}.manifest-errors{border-left:6px solid var(--color-border-danger);border-radius:0 6px 6px 0}.sub-permissions-error{max-width:unset!important}.not-found-octocat-wrapper{width:71px;height:71px;border-radius:45px}.not-found-octocat-wrapper:after{position:absolute;top:58px;left:45px;z-index:-2;display:block;width:4px;height:4px;vertical-align:initial;content:"";background:var(--color-bg-primary);border-radius:4px;box-shadow:0 4px 0 #fff,0 8px 0 #fff,0 12px 0 #fff,0 16px 0 #fff,0 20px 0 #fff;animation-name:pull-string;animation-duration:.75s;animation-fill-mode:forwards;animation-delay:.5s}@keyframes lightbulb{0%,8%,14%{opacity:.1}0%,10%,25%{opacity:.25}5%,30%,50%,70%{opacity:.5}16%,60%,80%{opacity:.75}90%{opacity:.8}94%{opacity:.5}to{opacity:1;stddeviation:0}}.not-found-lightbulb-ani{z-index:999;opacity:.25;animation-name:lightbulb;animation-duration:2.5s;animation-fill-mode:forwards;animation-delay:1.3s}@keyframes pull-string{50%{transform:translate3d(0,12px,0)}75%{opacity:1;transform:none}to{opacity:0}}.billing-plans tbody td{width:25%;vertical-align:middle}.billing-plans .current{background-color:#f2ffed}.billing-plans .name{font-size:14px;font-weight:600;color:#333}.billing-plans .coupon{font-size:12px}.billing-plans .coupon td{color:var(--color-text-white);background-color:var(--color-bg-success-inverse)}.billing-plans .coupon .text-right{white-space:nowrap}.billing-plans .coupon.expiring td{background-color:#df6e00}.billing-plans .coupon.expiring .coupon-label:after{border-bottom-color:#df6e00}.billing-plans tbody>.selected{background-color:#fdffce}.coupon-label{position:relative;padding:9px;margin:-9px}.coupon-label:after{position:absolute;bottom:100%;left:15px;width:0;height:0;pointer-events:none;content:" ";border:5px solid transparent;border-bottom:5px solid var(--color-auto-green-5)}.boxed-group-table .toggle-currency{font-size:11px;font-weight:400}.has-removed-contents{display:none}.currency-notice{margin-bottom:10px}.org-login{margin-top:-30px;margin-bottom:30px}.org-login img{width:450px;padding:1px;margin:10px -25px;border:1px solid #ccc}.plan-notice{padding:10px;margin-bottom:0;border-top:1px solid #eee}.alert-label{color:var(--color-text-white)}.graph-canvas .alert-label--critical{fill:var(--color-auto-red-6)}.graph-canvas .alert-label--high{fill:var(--color-auto-orange-8)}.graph-canvas .alert-label--moderate{fill:var(--color-auto-yellow-8)}.graph-canvas .alert-label--low{fill:var(--color-auto-gray-9)}.advisory-form{background-color:var(--color-bg-tertiary);border-top:1px solid var(--color-border-primary)}.advisory-form .form-actions,.advisory-form .form-control,.advisory-form .previewable-comment-form{background-color:var(--color-bg-primary)}.advisory-credit-window-min{min-height:72px}.advisory-credit-window-max{max-height:370px}.member-list-item .member-link,.member-list-item .member-username{display:inline}.actor-and-action{font-weight:600}.vertical-separator{margin-right:8px;margin-left:5px;border-left:1px solid grey}.audit-log-search .audit-search-form{margin-bottom:10px}.audit-log-search .audit-results-actions{margin:15px 0}.audit-log-search .audit-search-clear{margin-bottom:0}.credit-card{position:relative;width:250px;height:150px;padding:20px;margin-top:5px;background-color:#f5f5f5;border-radius:10px}.credit-card.normal .strap{height:20px;margin:-5px -20px 15px;background-color:#555}.credit-card.normal .signature{display:inline-block;width:150px;height:30px;font-family:Brush Script MT,cursive;font-size:17px;line-height:33px;color:#767676;text-indent:10px;letter-spacing:-1px;white-space:nowrap;background-color:var(--color-bg-primary)}.credit-card .cvv{position:relative;top:-10px;left:-7px;display:inline-block;padding:2px 5px;font-family:monospace;font-size:10px;line-height:1;text-align:center;border:2px solid var(--color-border-danger);border-top-left-radius:20px 10px;border-top-right-radius:20px 10px;border-bottom-right-radius:20px 10px;border-bottom-left-radius:20px 10px}.credit-card .cvv span{position:absolute;right:100%;margin-right:5px;color:var(--color-text-secondary)}.credit-card .text{display:block;font-family:monospace;font-size:7px;font-weight:600;line-height:1.1;text-transform:uppercase}.billing-addon-items table input{width:5em}.billing-addon-items td{vertical-align:middle;border-bottom:0}.billing-addon-items td.fixed{width:150px}.billing-addon-items td.black{color:var(--color-text-primary)}.billing-addon-items tr{border-bottom:1px solid #eee}.billing-addon-items tr:last-child{border-bottom-width:0}.billing-addon-items tr:nth-child(2n){background-color:var(--color-bg-secondary)}.billing-addon-items tr.total-row{color:var(--color-text-danger);background-color:var(--color-bg-primary)}.billing-addon-items .new-addon-items{margin-left:5px}.billing-addon-items .addon-cost{color:var(--color-text-tertiary)}.billing-addon-items .discounted-original-price{color:#666}.billing-addon-items .form-submit,.billing-addon-items .payment-method{margin-left:8px}.billing-addon-items .payment-summary{margin-right:8px;margin-left:8px}.billing-credit-card .javascript-disabled-overlay{position:absolute;top:0;left:0;z-index:1;display:none;width:100%;height:100%;background-color:var(--color-bg-primary);opacity:.5}.billing-credit-card.disabled .javascript-disabled-overlay{display:block}.billing-extra-box,.billing-vat-box{padding-left:10px;margin:10px 0;border-left:6px solid #eee}.billing-section .action-button{float:right;margin-bottom:5px;margin-left:10px}.billing-section .section-label{position:absolute;width:85px;font-weight:400;color:var(--color-text-secondary);text-align:right}.billing-section .section-content{margin-left:100px;color:#333}.billing-section:last-child{border-bottom:0}.billing-section .usage-bar{max-width:304px}.usage-bar{width:100%;margin:5px 0 0;background:#eee;border-radius:20px}.usage-bar.exceeded .progress{background-color:var(--color-bg-danger-inverse)!important}.usage-bar .progress{position:relative;max-width:100%;height:5px;background-color:var(--color-auto-green-4);border-radius:20px;transition:width .3s}.usage-bar .progress.no-highlight{background:var(--color-auto-gray-4)}.usage-bar .progress--orange{background-color:var(--color-auto-orange-5)}.usage-bar .progress--purple{background-color:var(--color-auto-purple-4)}.lfs-data-pack-field{margin:-6px 0}.packs-table .desc{width:1%;white-space:nowrap}.lfs-data-icon{color:var(--color-text-secondary);text-align:center}.lfs-data-icon.dark{color:#333}.lfs-data-icon.octicon-database{margin-right:3px;margin-left:2px}.setup-wrapper .paypal-container{margin-bottom:30px}.setup-wrapper .paypal-logged-in .paypal-container{margin-bottom:10px}.payment-methods{position:relative}.payment-methods .selected-payment-method{display:none}.payment-methods .selected-payment-method:before{display:table;content:""}.payment-methods .selected-payment-method:after{display:table;clear:both;content:""}.payment-methods .selected-payment-method.active{display:block}.payment-methods .form-group dd .form-control.short.input-vat{width:300px}.payment-methods .pay-with-header{margin:5px 0}.payment-methods .pay-with-paypal .loading-paypal-spinner,.payment-methods .pay-with-paypal .paypal-down-flash,.payment-methods .pay-with-paypal .paypal-form-actions,.payment-methods .pay-with-paypal .paypal-signed-in,.payment-methods .pay-with-paypal .setup-creditcard-form,.payment-methods .pay-with-paypal .terms{display:none}.payment-methods.paypal-down .paypal-down-flash,.payment-methods.paypal-loading .loading-paypal-spinner{display:block}.payment-methods.paypal-logged-in .paypal-sign-in{display:none}.payment-methods.paypal-logged-in .paypal-form-actions,.payment-methods.paypal-logged-in .paypal-signed-in,.payment-methods.paypal-logged-in .setup-creditcard-form,.payment-methods.paypal-logged-in .terms{display:block}.payment-methods.has-paypal-account .paypal-sign-in{display:none}.payment-methods.has-paypal-account .paypal-signed-in{display:block}.paypal-label{margin:15px 0 10px;font-weight:600}.paypal-container{display:inline-block;margin-bottom:15px;vertical-align:top;background-color:#f9f9f9;border-radius:4px}.braintree-paypal-loggedin{padding:11px 16px!important;background-position:12px 50%!important;border:1px solid #ddd!important;border-radius:4px}.bt-pp-name{margin-left:20px!important}.bt-pp-email{margin-left:15px!important}.bt-pp-cancel{font-size:0!important;line-height:1!important;color:#a00!important;text-decoration:none!important}.payment-history .amount,.payment-history .date,.payment-history .id,.payment-history .receipt,.payment-history .status{white-space:nowrap}.payment-history .break-all{word-break:break-all}.payment-history .receipt{text-align:center}.payment-history .currency,.payment-history .status{color:var(--color-text-secondary)}.payment-history .status-icon{width:14px;text-align:center}.payment-history .succeeded .status{color:var(--color-auto-green-5)}.payment-history .failed,.payment-history .refunded{background:var(--color-bg-tertiary)}.payment-history .failed td,.payment-history .refunded td{opacity:.5}.payment-history .failed .receipt,.payment-history .failed .status,.payment-history .refunded .receipt,.payment-history .refunded .status{opacity:1}.payment-history .refunded .status{color:var(--color-text-tertiary)}.payment-history .failed .status{color:var(--color-text-danger)}.paypal-icon{margin:0 2px 0 1px;vertical-align:middle}.boxed-group .boxed-group-content{margin:10px}.currency-container .local-currency,.currency-container .local-currency-block{display:none}.currency-container.open .local-currency{display:inline}.currency-container.open .local-currency-block{display:block}.currency-container.open .default-currency{display:none}.strong-label{display:inline-block;margin-bottom:5px;font-weight:600}.discounted-original-price{font-weight:400;color:var(--color-text-secondary);text-decoration:line-through}.billing-manager-input{width:500px}.billing-manager-banner{padding:30px 20px;margin-bottom:30px;overflow:hidden;background:#f9f9f9;border-bottom:1px solid #eee}.billing-manager-banner .container{position:relative}.billing-manager-banner-text{margin-left:210px;font-size:14px;color:#555}.billing-manager-banner-text .btn{margin-top:8px;margin-right:8px}.billing-manager-banner-title{font-size:12px;font-weight:600;color:var(--color-text-secondary)}.billing-manager-icon{position:absolute;top:-35px;left:0;width:180px;height:180px;font-size:180px;color:#e0e0e0}.seats-change-arrow{margin:0 10px}.plan-choice{position:relative;display:block;padding:15px 15px 15px 40px;font-weight:400;background-color:var(--color-bg-secondary);border:1px solid #e0e0e0}.plan-choice.open,.plan-choice.selected{background-color:var(--color-bg-primary)}.plan-choice--experiment{cursor:pointer;transition:transform .3s,box-shadow .3s,border-color .3s}.plan-choice--experiment.open,.plan-choice--experiment.selected{border-color:var(--color-border-tertiary);box-shadow:var(--color-shadow-large);transform:scale(1.025)}.plan-choice--experiment.open .plan-choice-icon,.plan-choice--experiment.selected .plan-choice-icon{background-color:var(--color-bg-success-inverse);box-shadow:var(--color-shadow-small)}.plan-choice--experiment.open .plan-choice-icon .octicon,.plan-choice--experiment.selected .plan-choice-icon .octicon{transform:scale(1)}.plan-choice--experiment.plan-choice--green.open,.plan-choice--experiment.plan-choice--green.selected{border-color:var(--color-border-success)}.plan-choice--experiment.plan-choice--green.open .plan-choice-icon,.plan-choice--experiment.plan-choice--green.selected .plan-choice-icon{background-color:var(--color-bg-success-inverse)}.plan-choice--experiment.plan-choice--purple.open,.plan-choice--experiment.plan-choice--purple.selected{border-color:var(--color-auto-purple-4)}.plan-choice--experiment.plan-choice--purple.open .plan-choice-icon,.plan-choice--experiment.plan-choice--purple.selected .plan-choice-icon{background-color:var(--color-auto-purple-5)}.plan-choice-icon{transition:box-shadow .3s}.plan-choice-icon .octicon{transition:transform .2s;transform:scale(.5)}.plan-choice-radio{position:absolute;top:18px;left:15px}.plan-choice-exp{margin-top:5px;font-size:12px;color:var(--color-auto-gray-5)}.seat-field{width:50px;margin-right:5px}.billing-line-items{margin-top:10px}.billing-line-item{padding:10px 0;font-size:12px;list-style:none;border-top:1px solid #e0e0e0}.billing-line-item:before{display:table;content:""}.billing-line-item:after{display:table;clear:both;content:""}.billing-line-item-last{font-weight:600;border-top-width:3px}.line-item-value{float:right}.condensed-payment-methods .vat-field{width:100%}.condensed-payment-methods .state-field{width:30%}.condensed-payment-methods .postcode-field{width:28%}.condensed-payment-methods .country-field{width:42%}.condensed-payment-methods .is-international .country-field{width:72%}.condensed-payment-methods .is-international.no-postcodes .country-field{width:100%}.zuora-billing-section.PaymentMethod--creditcard:not(.has-removed-contents)~.SignUpContinueActions{display:none}.zuora-billing-section.PaymentMethod--creditcard-added~.SignUpContinueActions,.zuora-billing-section.PaymentMethod--paypal~.SignUpContinueActions{display:block}.new-org-billing-form .z_hppm_iframe{width:100%!important}.billing-frequentActions-list{margin-top:10px}.billing-box-header{padding-bottom:15px}.billing-tooltip-underline{cursor:help;border-bottom:1px dotted}.billing-box-accordion[open] .octicon{height:auto;transform:rotate(90deg)}.billing-box-accordion:hover .billing-box-accordion-state .octicon{color:var(--color-text-tertiary)}.billing-box-accordion-state .octicon{color:var(--color-text-secondary);transition:transform .09s ease-out}.billing-box-progress{padding-top:1px;margin-bottom:6px}.Details-element:focus{outline:none}.blame-commit{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.blame-commit[data-heat="1"]{border-right:2px solid #f66a0a}.blame-commit[data-heat="2"]{border-right:2px solid rgba(246,106,10,.9)}.blame-commit[data-heat="3"]{border-right:2px solid rgba(246,106,10,.8)}.blame-commit[data-heat="4"]{border-right:2px solid rgba(246,106,10,.7)}.blame-commit[data-heat="5"]{border-right:2px solid rgba(246,106,10,.6)}.blame-commit[data-heat="6"]{border-right:2px solid rgba(246,106,10,.5)}.blame-commit[data-heat="7"]{border-right:2px solid rgba(246,106,10,.4)}.blame-commit[data-heat="8"]{border-right:2px solid rgba(246,106,10,.3)}.blame-commit[data-heat="9"]{border-right:2px solid rgba(246,106,10,.2)}.blame-commit[data-heat="10"]{border-right:2px solid rgba(246,106,10,.1)}.heat[data-heat="1"]{background:#f66a0a}.heat[data-heat="2"]{background:rgba(246,106,10,.9)}.heat[data-heat="3"]{background:rgba(246,106,10,.8)}.heat[data-heat="4"]{background:rgba(246,106,10,.7)}.heat[data-heat="5"]{background:rgba(246,106,10,.6)}.heat[data-heat="6"]{background:rgba(246,106,10,.5)}.heat[data-heat="7"]{background:rgba(246,106,10,.4)}.heat[data-heat="8"]{background:rgba(246,106,10,.3)}.heat[data-heat="9"]{background:rgba(246,106,10,.2)}.heat[data-heat="10"]{background:rgba(246,106,10,.1)}.blame-commit-date{font-size:11px;line-height:25px;flex-shrink:0}.blame-commit-date[data-heat="1"]{color:#c24e00}.blame-commit-date[data-heat="2"]{color:#ac571f}.blame-commit-date[data-heat="3"]{color:#a35b2c}.blame-commit-date[data-heat="4"]{color:#9a5f38}.blame-commit-date[data-heat="5"]{color:#926245}.blame-commit-date[data-heat="6"]{color:#896651}.blame-commit-date[data-heat="7"]{color:#806a5e}.blame-commit-date[data-heat="8"]{color:#776d6a}.blame-commit-date[data-heat="9"]{color:#6e7177}.blame-commit-date[data-heat="10"]{color:#6a737d}.line-age-legend .heat{width:2px;height:10px;margin:2px 1px 0}.blame-breadcrumb .css-truncate-target{max-width:680px}.blame-commit-info{width:450px;height:26px}.blame-commit-content{flex-grow:2;overflow:hidden}.blame-commit-message{text-overflow:ellipsis}.blame-commit-message .message.blank{color:var(--color-fade-black-30)}.blob-reblame{min-width:24px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.reblame-link{padding-top:2px;color:var(--color-auto-gray-3)}.blame-hunk g-emoji{font-size:14px!important}.blame-hunk:hover .reblame-link{color:var(--color-auto-gray-5)}.blame-container .blame-blob-num,.blame-container .blob-code-inner{padding-top:3px;padding-bottom:3px}.blame-container .blob-code-inner{flex-grow:1}.editor-abort{display:inline;font-size:14px}.blob-interaction-bar{position:relative;background-color:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border-primary)}.blob-interaction-bar:before{display:table;content:""}.blob-interaction-bar:after{display:table;clear:both;content:""}.blob-interaction-bar .octicon-search{position:absolute;top:6px;left:10px;font-size:12px;color:var(--color-text-secondary)}.blob-filter{width:100%;padding:4px 20px 5px 30px;font-size:12px;border:0;border-radius:0;outline:none}.blob-filter:focus{outline:none}.html-blob{margin-bottom:15px}.TagsearchPopover{width:inherit;max-width:600px}.TagsearchPopover-content{max-height:300px}.TagsearchPopover-list .TagsearchPopover-list-item:hover{background-color:var(--color-bg-tertiary)}.TagsearchPopover-list .TagsearchPopover-list-item .TagsearchPopover-item:hover{text-decoration:none}.TagsearchPopover-list .blob-code-inner{white-space:pre-wrap}.linejump .linejump-input{width:340px;background-color:var(--color-bg-secondary)}.linejump .btn,.linejump .linejump-input{padding:10px 15px;font-size:16px}.CopyBlock{line-height:20px;cursor:pointer}.CopyBlock .octicon-clippy{display:none}.CopyBlock:active,.CopyBlock:focus,.CopyBlock:hover{background-color:var(--color-bg-primary);outline:none}.CopyBlock:active .octicon-clippy,.CopyBlock:focus .octicon-clippy,.CopyBlock:hover .octicon-clippy{display:inline-block}.commit-form-avatar{margin-left:-64px}.file-commit-form{padding-left:64px}.file-commit-form--full{position:absolute;bottom:0;left:0;z-index:10;width:100%;padding-top:16px;padding-left:0;margin-top:16px;margin-bottom:16px;background:var(--color-bg-primary)}@media (min-width:1012px){.file-commit-form--full{top:0;right:0;bottom:auto;left:auto;width:auto;margin-top:0;margin-bottom:0}}.file-commit-form--full .commit-form{padding:0;margin-bottom:24px;border:0}.file-commit-form--full .commit-form:before{display:none}.file-commit-form-dropdown{position:fixed;top:0;left:0;width:100%;height:100%}.file-commit-form-dropdown:after{display:none}@media (min-width:1012px){.file-commit-form-dropdown{position:absolute;top:auto;left:auto;width:420px;height:auto}.file-commit-form-dropdown:after{display:inline-block}}.commit-form:after,.commit-form:before{position:absolute;top:11px;right:100%;left:-16px;display:block;width:0;height:0;pointer-events:none;content:" ";border-color:transparent;border-style:solid solid outset}.commit-form:after{margin-top:1px;margin-left:2px;border-width:7px;border-right-color:var(--color-bg-primary,#fff)}.commit-form:before{border-width:8px;border-right-color:var(--color-border-primary,#ddd)}.quick-pull-new-branch-icon{top:9px;left:10px}.code-formatting-menu{width:260px}.CodeMirror-hints{position:absolute;z-index:10;max-height:20em;margin:0;overflow-y:auto;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12px;list-style:none;background-color:var(--color-bg-primary);border:1px solid var(--color-border-tertiary);border-radius:6px;box-shadow:var(--color-shadow-medium)}.CodeMirror-hint{padding:2px 8px;margin:0;color:var(--color-text-primary);white-space:pre;cursor:pointer}.CodeMirror-hint .CodeMirror-hint:first-child{border-top-left-radius:6px;border-top-right-radius:6px}.CodeMirror-hint .CodeMirror-hint:last-child{border-bottom-right-radius:6px;border-bottom-left-radius:6px}.CodeMirror-hint-active{color:var(--color-text-white);background-color:var(--color-bg-info-inverse)}.CodeMirror-lint-tooltip{position:fixed;z-index:100;min-width:300px;max-width:600px;opacity:0;transition:opacity .4s}.CodeMirror-lint-mark-error{position:relative;cursor:help}.CodeMirror-lint-mark-error:before{position:absolute;top:90%;width:100%;height:.25em;content:"";background:linear-gradient(135deg,transparent,transparent 45%,var(--color-auto-red-5),transparent 55%,transparent),linear-gradient(45deg,transparent,transparent 45%,var(--color-auto-red-5),transparent 55%,transparent);background-repeat:repeat-x,repeat-x;background-size:.5em .5em}.CodeMirror-lint-mark-warning{position:relative;cursor:help}.CodeMirror-lint-mark-warning:before{position:absolute;top:90%;width:100%;height:.25em;content:"";background:linear-gradient(135deg,transparent,transparent 45%,var(--color-auto-orange-5),transparent 55%,transparent),linear-gradient(45deg,transparent,transparent 45%,var(--color-auto-orange-5),transparent 55%,transparent);background-repeat:repeat-x,repeat-x;background-size:.5em .5em}.CodeMirror-lint-mark-info{position:relative;cursor:help}.CodeMirror-lint-mark-info:before{position:absolute;top:90%;width:100%;height:.25em;content:"";background:linear-gradient(135deg,transparent,transparent 45%,var(--color-auto-blue-3),transparent 55%,transparent),linear-gradient(45deg,transparent,transparent 45%,var(--color-auto-blue-3),transparent 55%,transparent);background-repeat:repeat-x,repeat-x;background-size:.5em .5em}.CodeMirror-hint-active .CodeMirror-hint-description{color:var(--color-text-white)!important}.merge-pr{padding-top:10px;margin:20px 0 0;border-top:1px solid var(--color-border-tertiary)}.merge-pr.open .merge-branch-form{display:block}.merge-pr.is-merging-group.open .merge-branch-form,.merge-pr.is-merging-jump.open .merge-branch-form,.merge-pr.is-merging-solo.open .merge-branch-form,.merge-pr.open .branch-action{display:none}.merge-pr.is-merging-group.open .queue-branch-form,.merge-pr.is-merging-jump.open .queue-branch-form,.merge-pr.is-merging-solo.open .queue-branch-form{display:block}.status-heading{margin-bottom:1px}.merge-status-list{max-height:0;padding:0;margin:15px -15px -16px -55px;overflow-y:auto;border:solid var(--color-border-primary);border-width:1px 0 0;transition:max-height .25s ease-in-out}.statuses-toggle-opened{display:none}.merge-status-item{position:relative;padding:10px 15px;background-color:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border-primary)}.merge-status-item:last-child:not(.review-item){border-bottom:0}.merge-status-item .css-truncate-target{max-width:100%}.merge-status-item .dismiss-review-form{display:none}.merge-status-item.open .review-status-item{display:none!important}.merge-status-item.open .dismiss-review-form{display:block}.status-meta{color:var(--color-text-secondary)}.status-meta-file-name{padding:.2em .4em;margin:0;font-size:85%;background-color:rgba(27,31,35,.05);border-radius:6px}.status-actions{margin-left:auto}.branch-action-item-icon{float:left;margin-left:-40px}.merge-status-icon{min-width:30px;margin-right:12px}.branch-action{padding-left:55px;margin-top:16px;margin-bottom:16px}.branch-action .merge-branch-heading{margin-bottom:4px}.branch-action-icon{float:left;width:39px;height:39px;padding:4px;margin-left:-55px;color:var(--color-merge-box-success-icon-text);text-align:center;border-radius:6px}.branch-action-body{position:relative;background-color:var(--color-bg-primary);border:1px solid var(--color-border-tertiary);border-radius:6px}.branch-action-body .spinner{display:block;float:left;width:32px;height:32px;margin-right:15px;background:url(/images/spinners/octocat-spinner-32.gif) no-repeat}.branch-action-body .merge-branch-form,.branch-action-body .merge-message,.branch-action-body .queue-branch-form{padding:15px;background-color:var(--color-bg-secondary);border-top:1px solid var(--color-border-primary);border-bottom-right-radius:6px;border-bottom-left-radius:6px}.post-merge-message{padding:15px}.branch-action-item{padding:15px 15px 15px 55px;font-size:13px;line-height:1.4}.branch-action-item+.branch-action-item,.branch-action-item+.mergeability-details{border-top:1px solid var(--color-border-primary)}.branch-action-item.open>.merge-status-list,.branch-action-item.open>.merge-status-list-wrapper>.merge-status-list{max-height:231px;margin-bottom:-15px}.branch-action-item.open .statuses-toggle-opened{display:inline}.branch-action-item.open .statuses-toggle-closed{display:none}.branch-action-btn{margin-left:15px}.branch-action-item-simple{padding-left:15px}.branch-action-item-simple .merge-status-list{margin-left:-15px}.branch-action-item-simple .merge-status-item{padding-left:12px}.branch-action-state-clean .branch-action-icon{color:var(--color-merge-box-success-icon-text);background-color:var(--color-merge-box-success-icon-bg);border:1px solid var(--color-merge-box-success-icon-border)}.branch-action-state-clean .branch-action-body{border-color:var(--color-border-success)}.branch-action-state-clean .branch-action-body:before{border-right-color:var(--color-border-success)}.branch-action-state-unknown .branch-action-icon,.branch-action-state-unstable .branch-action-icon{color:var(--color-merge-box-warning-icon-text);background-color:var(--color-merge-box-warning-icon-bg);border:1px solid var(--color-merge-box-warning-icon-border)}.branch-action-state-unknown .branch-action-body,.branch-action-state-unstable .branch-action-body{border-color:var(--color-merge-box-warning-box-border)}.branch-action-state-unknown .branch-action-body:before,.branch-action-state-unstable .branch-action-body:before{border-right-color:var(--color-merge-box-warning-box-border)}.branch-action-state-merged .branch-action-icon{color:var(--color-merge-box-merged-icon-text);background-color:var(--color-merge-box-merged-icon-bg);border:1px solid var(--color-merge-box-merged-icon-border)}.branch-action-state-merged .branch-action-body{border-color:var(--color-merge-box-merged-box-border)}.branch-action-state-merged .branch-action-body:before{border-right-color:var(--color-merge-box-merged-box-border)}.branch-action-state-closed-dirty .branch-action-icon,.branch-action-state-dirty .branch-action-icon,.is-rebasing .branch-action-state-dirty-if-rebasing .branch-action-icon{color:var(--color-merge-box-neutral-icon-text);background-color:var(--color-merge-box-neutral-icon-bg);border:1px solid var(--color-merge-box-neutral-icon-border)}.branch-action-state-closed-dirty .branch-action-body,.branch-action-state-dirty .branch-action-body,.is-rebasing .branch-action-state-dirty-if-rebasing .branch-action-body{border-color:var(--color-border-tertiary)}.branch-action-state-closed-dirty .branch-action-body:before,.branch-action-state-dirty .branch-action-body:before,.is-rebasing .branch-action-state-dirty-if-rebasing .branch-action-body:before{border-right-color:var(--color-border-primary)}.branch-action-body:after{border-right-color:var(--color-bg-canvas)!important}.branch-action-state-error .branch-action-icon,.is-merging .branch-action-state-error-if-merging .branch-action-icon{color:var(--color-merge-box-error-icon-text);background-color:var(--color-merge-box-error-icon-bg);border:1px solid var(--color-merge-box-error-icon-border)}.branch-action-state-error .branch-action-body,.is-merging .branch-action-state-error-if-merging .branch-action-body{border-color:var(--color-auto-red-3)}.branch-action-state-error .branch-action-body:before,.is-merging .branch-action-state-error-if-merging .branch-action-body:before{border-right-color:var(--color-auto-red-3)}@media only screen and (-moz-min-device-pixel-ratio:2),only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:2dppx),only screen and (min-resolution:192dpi){.branch-action-body .spinner{background-image:url(/images/spinners/octocat-spinner-64.gif);background-size:32px 32px}}.merge-branch-form,.queue-branch-form{margin:15px 0}.merge-branch-form .commit-form,.queue-branch-form .commit-form{border-color:var(--color-auto-green-3)}.merge-branch-form .commit-form:before,.queue-branch-form .commit-form:before{display:none}@media (min-width:768px){.merge-branch-form .commit-form:before,.queue-branch-form .commit-form:before{display:block;border-right-color:var(--color-border-primary)}}.merge-branch-form .commit-form:after,.queue-branch-form .commit-form:after{display:none}@media (min-width:768px){.merge-branch-form .commit-form:after,.queue-branch-form .commit-form:after{display:block}}.merge-branch-form.danger .commit-form,.merge-branch-form.error .commit-form,.queue-branch-form.danger .commit-form,.queue-branch-form.error .commit-form{border-color:var(--color-auto-red-3)}.merge-branch-form.danger .commit-form:before,.merge-branch-form.error .commit-form:before,.queue-branch-form.danger .commit-form:before,.queue-branch-form.error .commit-form:before{border-right-color:var(--color-auto-red-3)}.merge-button-matrix-merge-form .merge-branch-form{display:block}.completeness-indicator{width:30px;height:30px;text-align:center}.completeness-indicator .octicon{display:block;margin-top:6px;margin-right:auto;margin-left:auto}.completeness-indicator .octicon-alert{margin-top:6px}.completeness-indicator-success{background-color:var(--color-merge-box-success-indicator-bg);border:1px solid var(--color-merge-box-success-indicator-border);border-radius:50%}.completeness-indicator-error{color:var(--color-text-white);background-color:var(--color-merge-box-error-indicator-bg);border:1px solid var(--color-merge-box-error-indicator-border);border-radius:50%}.completeness-indicator-problem{color:var(--color-text-white);background-color:var(--color-merge-box-neutral-indicator-bg);border:1px solid var(--color-merge-box-neutral-indicator-border);border-radius:50%}.pull-merging .pull-merging-error{display:none}.pull-merging.is-error .pull-merging-error{display:block}.pull-merging.is-error .merge-pr{display:none}.RecentBranches{background-color:var(--color-auto-yellow-1);border:1px solid var(--color-fade-black-15);border-radius:6px}.RecentBranches-item{line-height:28px;color:var(--color-auto-yellow-9)}.RecentBranches-item+.RecentBranches-item{border-top:1px solid rgba(27,31,35,.05)}.RecentBranches-item-link{color:var(--color-auto-yellow-9)}.RecentBranches-item-link.css-truncate-target{max-width:400px}.range-editor{position:relative;padding:5px 15px 5px 40px;margin-top:15px;margin-bottom:15px;background-color:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:6px}.range-editor .dots{font-size:16px}.range-editor .select-menu{position:relative;display:inline-block}.range-editor .select-menu.fork-suggester{display:none}.range-editor .branch-name{line-height:22px}.range-editor .branch .css-truncate-target,.range-editor .fork-suggester .css-truncate-target{max-width:180px}.range-editor .pre-mergability{display:inline-block;padding:5px;line-height:26px;vertical-align:middle}.range-editor .pre-mergability .octicon{vertical-align:text-bottom}.range-editor.is-cross-repo .select-menu.fork-suggester{display:inline-block}.range-editor-icon{float:left;margin-top:10px;margin-left:-25px;color:var(--color-text-secondary)}.compare-pr-header,.is-pr-composer-expanded .compare-show-header{display:none}.is-pr-composer-expanded .compare-pr-header{display:block}.range-cross-repo-pair{display:inline-block;padding:5px;white-space:nowrap}.branches .clear-search{display:none}.branches .loading-overlay{position:absolute;top:0;z-index:20;display:none;width:100%;height:100%;padding-top:50px;text-align:center;background-color:var(--color-fade-white-70)}.branches.is-search-mode .clear-search,.branches .loading-overlay .spinner{display:inline-block}.branch-a-b-count .count-half{position:relative;float:left;width:90px;padding-bottom:6px;text-align:right}.branch-a-b-count .count-half:last-child{text-align:left;border-left:1px solid var(--color-auto-gray-4)}.branch-a-b-count .count-value{position:relative;top:-1px;display:block;padding:0 3px;font-size:10px}.branch-a-b-count .bar{position:absolute;min-width:3px;height:4px}.branch-a-b-count .meter{position:absolute;height:4px;background-color:var(--color-auto-gray-3,#c6cbd1)}.branch-a-b-count .meter.zero{background-color:initial}.branch-a-b-count .bar-behind,.branch-a-b-count .bar-behind .meter{right:0;border-radius:6px 0 0 6px}.branch-a-b-count .bar-ahead{left:0;border-radius:0 6px 6px 0}.branch-a-b-count .bar-ahead .meter{border-radius:0 6px 6px 0}.branch-a-b-count .bar-ahead.even,.branch-a-b-count .bar-behind.even{min-width:2px;background:#eaecef}.admin-options-block .admin-option-button{margin-top:8px}.admin-options-block .policy-enforcement{display:inline;margin-left:8px;color:var(--color-text-secondary)}.admin-options-block .policy-enforcement label{font-size:13px}.admin-options-block .disabled,.admin-options-block .disabled .note{color:var(--color-text-tertiary)}.overflow-scroll-y{overflow-x:hidden!important;overflow-y:scroll!important}.business-menu-item:not([aria-current=page])+.business-sub-menu{display:none}.business-menu-icon{width:16px;margin-right:8px}.deprovisioning-checkbox>.show-if-disabled{display:none}.deprovisioning-checkbox.checkbox-disabled{color:var(--color-text-tertiary)}.deprovisioning-checkbox.checkbox-disabled>.show-if-disabled{display:inherit}body.full-width-p-0 .new-discussion-timeline{padding:0!important}body.full-width-p-0 .footer .mt-6{margin-top:0!important;border-top:0!important}body.full-width-p-0 .tabnav .tabnav-extra{margin-right:24px}body.full-width-p-0 .tabnav .tabnav-tabs{margin-left:16px}.checks-summary-conclusion{width:32px;height:32px;line-height:32px;border-radius:50%}.actions-full-screen .Header,.actions-full-screen .Header-old,.actions-full-screen .hide-full-screen,.actions-full-screen .pagehead{display:none}.checks-list-item.selected .checks-list-item-name{background-color:var(--color-bg-info-inverse)!important}.checks-list-item.selected .selected-color-white{color:var(--color-text-white)!important}.checks-list-item-icon,.checks-summary-meta .octicon{width:16px}.checks-results-items .octicon-fold{display:none}.checks-results-items .Details--on .octicon-fold{display:inline-block}.checks-results-items .Details--on .octicon-unfold{display:none}.check-annotation{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.check-annotation:after{position:absolute;top:-1px;bottom:-1px;left:0;display:block;width:4px;content:" "}.check-annotation .annotation-actions{top:4px;right:8px}.check-annotation .annotation-octicon{width:16px}.check-annotation.Details--on .Details-content--hidden{display:block!important}.annotation-title{word-break:break-all}.check-annotation-failure:after{background-color:var(--color-bg-danger-inverse)}.check-annotation-failure .annotation-title{color:var(--color-auto-red-5)}.check-annotation-warning:after{background-color:var(--color-bg-warning-inverse)}.check-annotation-warning .octicon-alert{color:var(--color-auto-yellow-7)}.check-annotation-warning .annotation-title{color:var(--color-text-warning)}.neutral-check{color:var(--color-auto-gray-4)}[data-color-mode=dark] .CheckRunContainer.bg-gray-dark{background-color:var(--color-bg-canvas-inset)!important;border-top:1px solid var(--color-border-primary);border-left:1px solid var(--color-border-primary)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckRunContainer.bg-gray-dark{background-color:var(--color-bg-canvas-inset)!important;border-top:1px solid var(--color-border-primary);border-left:1px solid var(--color-border-primary)}}[data-color-mode=dark] .CheckRunContainer.bg-gray-dark .text-white{color:var(--color-text-primary)!important}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckRunContainer.bg-gray-dark .text-white{color:var(--color-text-primary)!important}}.CheckRun{background-color:var(--color-bg-canvas-inverse);border-width:0!important}[data-color-mode=dark] .CheckRun{background-color:var(--color-bg-canvas-inset)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckRun{background-color:var(--color-bg-canvas-inset)}}[data-color-mode=dark] .CheckRun{border-width:1px!important}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckRun{border-width:1px!important}}[data-color-mode=dark] .CheckRun{border-color:var(--color-border-secondary)!important}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckRun{border-color:var(--color-border-secondary)!important}}.CheckStep-header{height:36px;line-height:20px;color:var(--color-auto-gray-4)}[data-color-mode=dark] .CheckStep-header{color:var(--color-text-secondary)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep-header{color:var(--color-text-secondary)}}.CheckStep-header-dropdown-menu{box-shadow:0 8px 24px rgba(0,0,0,.2)!important}[data-color-mode=dark] .CheckStep-header-dropdown-menu{background-color:var(--color-bg-overlay)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep-header-dropdown-menu{background-color:var(--color-bg-overlay)}}[data-color-mode=dark] .CheckStep-header-dropdown-menu{border-color:var(--color-border-overlay)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep-header-dropdown-menu{border-color:var(--color-border-overlay)}}[data-color-mode=dark] .CheckStep-header-dropdown-menu{box-shadow:var(--color-shadow-medium)!important}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep-header-dropdown-menu{box-shadow:var(--color-shadow-medium)!important}}[data-color-mode=dark] .CheckStep-header-dropdown-menu:before{border-bottom-color:var(--color-border-overlay)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep-header-dropdown-menu:before{border-bottom-color:var(--color-border-overlay)}}[data-color-mode=dark] .CheckStep-header-dropdown-menu:after{border-bottom-color:var(--color-bg-overlay)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep-header-dropdown-menu:after{border-bottom-color:var(--color-bg-overlay)}}[data-color-mode=dark] .CheckStep-header-dropdown-menu .dropdown-divider{border-color:var(--color-border-overlay)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep-header-dropdown-menu .dropdown-divider{border-color:var(--color-border-overlay)}}[data-color-mode=dark] .CheckStep-header-dropdown-menu .dropdown-item{color:var(--color-text-primary)!important}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep-header-dropdown-menu .dropdown-item{color:var(--color-text-primary)!important}}[data-color-mode=dark] .CheckStep-header-dropdown-menu .dropdown-item:hover{color:var(--color-state-hover-primary-text)!important}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep-header-dropdown-menu .dropdown-item:hover{color:var(--color-state-hover-primary-text)!important}}[data-color-mode=dark] .CheckStep-header-dropdown-menu .dropdown-item:hover{background-color:var(--color-state-hover-primary-bg)!important}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep-header-dropdown-menu .dropdown-item:hover{background-color:var(--color-state-hover-primary-bg)!important}}.CheckRun-search details[open] .CheckStep-header-dropdown,.CheckStep-header-dropdown:hover{color:var(--color-auto-gray-0);background-color:var(--color-auto-gray-8)!important}[data-color-mode=dark] .CheckRun-search details[open] .CheckStep-header-dropdown,[data-color-mode=dark] .CheckStep-header-dropdown:hover{color:var(--color-state-hover-primary-text)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckRun-search details[open] .CheckStep-header-dropdown,[data-color-mode=auto] .CheckStep-header-dropdown:hover{color:var(--color-state-hover-primary-text)}}[data-color-mode=dark] .CheckRun-search details[open] .CheckStep-header-dropdown,[data-color-mode=dark] .CheckStep-header-dropdown:hover{background-color:var(--color-state-hover-secondary-bg)!important}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckRun-search details[open] .CheckStep-header-dropdown,[data-color-mode=auto] .CheckStep-header-dropdown:hover{background-color:var(--color-state-hover-secondary-bg)!important}}.CheckRun-search details[open] .octicon,.CheckStep-header-dropdown:hover .octicon{color:var(--color-auto-gray-0)!important}[data-color-mode=dark] .CheckRun-search details[open] .octicon,[data-color-mode=dark] .CheckStep-header-dropdown:hover .octicon{color:var(--color-icon-primary)!important}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckRun-search details[open] .octicon,[data-color-mode=auto] .CheckStep-header-dropdown:hover .octicon{color:var(--color-icon-primary)!important}}.CheckStep[open] .CheckStep-header{color:var(--color-auto-gray-0)}[data-color-mode=dark] .CheckStep[open] .CheckStep-header{color:var(--color-text-primary)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep[open] .CheckStep-header{color:var(--color-text-primary)}}.CheckStep-header:hover,.CheckStep[open] .CheckStep-header{background-color:var(--color-auto-gray-8);box-shadow:0 -2px 0 2px var(--color-auto-gray-9)}[data-color-mode=dark] .CheckStep-header:hover,[data-color-mode=dark] .CheckStep[open] .CheckStep-header{background-color:var(--color-state-hover-secondary-bg)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep-header:hover,[data-color-mode=auto] .CheckStep[open] .CheckStep-header{background-color:var(--color-state-hover-secondary-bg)}}[data-color-mode=dark] .CheckStep-header:hover,[data-color-mode=dark] .CheckStep[open] .CheckStep-header{box-shadow:0 -2px 0 2px var(--color-bg-canvas-inset)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep-header:hover,[data-color-mode=auto] .CheckStep[open] .CheckStep-header{box-shadow:0 -2px 0 2px var(--color-bg-canvas-inset)}}.WorkflowRunLogsScroll{scrollbar-width:thin;scrollbar-color:var(--color-bg-tertiary) var(--color-auto-black)}[data-color-mode=dark] .WorkflowRunLogsScroll{scrollbar-color:var(--color-scale-gray-6) var(--color-bg-canvas-inset)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .WorkflowRunLogsScroll{scrollbar-color:var(--color-scale-gray-6) var(--color-bg-canvas-inset)}}.WorkflowRunLogsScroll::-webkit-scrollbar{width:12px}.WorkflowRunLogsScroll::-webkit-scrollbar-thumb{background-color:var(--color-auto-gray-6);border:3px solid var(--color-bg-canvas-inverse);border-radius:6px}[data-color-mode=dark] .WorkflowRunLogsScroll::-webkit-scrollbar-thumb{background-color:var(--color-scale-gray-6)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .WorkflowRunLogsScroll::-webkit-scrollbar-thumb{background-color:var(--color-scale-gray-6)}}[data-color-mode=dark] .WorkflowRunLogsScroll::-webkit-scrollbar-thumb{border-color:var(--color-bg-canvas-inset)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .WorkflowRunLogsScroll::-webkit-scrollbar-thumb{border-color:var(--color-bg-canvas-inset)}}.CheckStep-header-label{color:var(--color-auto-gray-2)}[data-color-mode=dark] .CheckStep-header-label{color:var(--color-text-secondary)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep-header-label{color:var(--color-text-secondary)}}.CheckStep[open] .CheckStep-header-label{color:var(--color-auto-gray-0)}[data-color-mode=dark] .CheckStep[open] .CheckStep-header-label{color:var(--color-text-primary)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep[open] .CheckStep-header-label{color:var(--color-text-primary)}}.CheckRun-search{width:280px}.CheckRun-search .btn{color:var(--color-text-white);background-color:hsla(0,0%,100%,.125);background-image:none}.CheckRun-search .btn:hover{background-color:var(--color-auto-black)}.CheckRun-search .btn[disabled]{color:var(--color-text-secondary);background-image:none}.CheckRun-header,.CheckRun-search .btn[disabled]:hover{background-color:var(--color-bg-canvas-inverse)}.CheckRun-header{height:80px;border-top:0;border-bottom:1px solid var(--color-auto-gray-8)}[data-color-mode=dark] .CheckRun-header{background-color:var(--color-bg-canvas-inset)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckRun-header{background-color:var(--color-bg-canvas-inset)}}[data-color-mode=dark] .CheckRun-header{border-bottom:1px solid var(--color-border-secondary)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckRun-header{border-bottom:1px solid var(--color-border-secondary)}}.CheckRun-header summary{padding:6px 8px 5px}.CheckRun-header .btn-link:not([disabled]),.CheckRun-header .btn-link:not([disabled]) .octicon,.CheckRun-header .btn.btn-link:not([disabled]) .octicon{color:var(--color-auto-gray-3)}[data-color-mode=dark] .CheckRun-header .btn-link:not([disabled]),[data-color-mode=dark] .CheckRun-header .btn-link:not([disabled]) .octicon,[data-color-mode=dark] .CheckRun-header .btn.btn-link:not([disabled]) .octicon{color:var(--color-icon-secondary)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckRun-header .btn-link:not([disabled]),[data-color-mode=auto] .CheckRun-header .btn-link:not([disabled]) .octicon,[data-color-mode=auto] .CheckRun-header .btn.btn-link:not([disabled]) .octicon{color:var(--color-icon-secondary)}}.CheckRun-header .btn-link:hover:not([disabled]),.CheckRun-header .btn.btn-link:hover:not([disabled]) .octicon{color:var(--color-auto-gray-0);background-color:hsla(0,0%,100%,.125)}[data-color-mode=dark] .CheckRun-header .btn-link:hover:not([disabled]),[data-color-mode=dark] .CheckRun-header .btn.btn-link:hover:not([disabled]) .octicon{color:var(--color-text-primary)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckRun-header .btn-link:hover:not([disabled]),[data-color-mode=auto] .CheckRun-header .btn.btn-link:hover:not([disabled]) .octicon{color:var(--color-text-primary)}}[data-color-mode=dark] .CheckRun-header .btn-link:hover:not([disabled]),[data-color-mode=dark] .CheckRun-header .btn.btn-link:hover:not([disabled]) .octicon{background-color:var(--color-btn-hover-bg)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckRun-header .btn-link:hover:not([disabled]),[data-color-mode=auto] .CheckRun-header .btn.btn-link:hover:not([disabled]) .octicon{background-color:var(--color-btn-hover-bg)}}.CheckRun-header-timestamp{color:var(--color-auto-gray-4)}[data-color-mode=dark] .CheckRun-header-timestamp{color:var(--color-text-secondary)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckRun-header-timestamp{color:var(--color-text-secondary)}}.CheckRun-log-title{color:var(--color-auto-gray-0)}[data-color-mode=dark] .CheckRun-log-title{color:var(--color-text-primary)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckRun-log-title{color:var(--color-text-primary)}}.Deployment-header-text{color:var(--color-auto-gray-0)}[data-color-mode=dark] .Deployment-header-text{color:var(--color-text-primary)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .Deployment-header-text{color:var(--color-text-primary)}}.CheckRun-search-input{padding-right:88px;color:var(--color-auto-gray-1);background-color:hsla(0,0%,100%,.125)}.CheckRun-search-input:-ms-input-placeholder{color:var(--color-auto-gray-4)}.CheckRun-search-input::-ms-input-placeholder{color:var(--color-auto-gray-4)}.CheckRun-search-input::placeholder{color:var(--color-auto-gray-4)}.CheckRun-search-input:focus{color:var(--color-text-primary);background-color:var(--color-bg-secondary)}.CheckRun-header .CheckRun-search-input{padding-top:6px;padding-bottom:6px;color:var(--color-auto-gray-1);background-color:var(--color-auto-gray-8);border-color:transparent}[data-color-mode=dark] .CheckRun-header .CheckRun-search-input{color:var(--color-text-secondary)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckRun-header .CheckRun-search-input{color:var(--color-text-secondary)}}[data-color-mode=dark] .CheckRun-header .CheckRun-search-input{background-color:var(--color-input-bg)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckRun-header .CheckRun-search-input{background-color:var(--color-input-bg)}}[data-color-mode=dark] .CheckRun-header .CheckRun-search-input{box-shadow:0 0 0 1px var(--color-input-border)!important}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckRun-header .CheckRun-search-input{box-shadow:0 0 0 1px var(--color-input-border)!important}}.CheckRun-header .CheckRun-search-input:focus{color:var(--color-auto-gray-0)}[data-color-mode=dark] .CheckRun-header .CheckRun-search-input:focus{color:var(--color-text-primary)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckRun-header .CheckRun-search-input:focus{color:var(--color-text-primary)}}.CheckStep-chevron{transition:transform .1s}[open] .CheckStep-chevron{transform:rotate(90deg)}.CheckRun-header-counter{color:var(--color-auto-gray-4);background-color:var(--color-auto-gray-8)}[data-color-mode=dark] .CheckRun-header-counter{color:var(--color-text-secondary)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckRun-header-counter{color:var(--color-text-secondary)}}[data-color-mode=dark] .CheckRun-header-counter{background-color:initial}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckRun-header-counter{background-color:initial}}.CheckRun-search-icon{color:var(--color-auto-gray-4)}[data-color-mode=dark] .CheckRun-search-icon{color:var(--color-icon-secondary)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckRun-search-icon{color:var(--color-icon-secondary)}}.CheckStep-line{line-height:20px;color:var(--color-auto-gray-2)}[data-color-mode=dark] .CheckStep-line{color:var(--color-text-secondary)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep-line{color:var(--color-text-secondary)}}.CheckStep-line .CheckStep-line-number{width:48px;overflow:hidden;color:rgba(var(--color-auto-gray-4),.75);text-align:right;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}[data-color-mode=dark] .CheckStep-line .CheckStep-line-number{color:var(--color-text-tertiary)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep-line .CheckStep-line-number{color:var(--color-text-tertiary)}}.CheckStep-line .CheckStep-line-timestamp{display:none;color:var(--color-auto-gray-4)}[data-color-mode=dark] .CheckStep-line .CheckStep-line-timestamp{color:var(--color-text-tertiary)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep-line .CheckStep-line-timestamp{color:var(--color-text-tertiary)}}.CheckStep-line .CheckStep-line-content{overflow-x:auto;white-space:pre-wrap}.CheckStep-line .CheckStep-line-content a{color:var(--color-auto-gray-2);text-decoration:underline}[data-color-mode=dark] .CheckStep-line .CheckStep-line-content a{color:var(--color-text-secondary)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep-line .CheckStep-line-content a{color:var(--color-text-secondary)}}.CheckStep-line:hover{color:var(--color-auto-gray-0);background-color:var(--color-auto-gray-8)}[data-color-mode=dark] .CheckStep-line:hover{color:var(--color-text-primary)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep-line:hover{color:var(--color-text-primary)}}[data-color-mode=dark] .CheckStep-line:hover{background-color:var(--color-state-hover-secondary-bg)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep-line:hover{background-color:var(--color-state-hover-secondary-bg)}}.CheckStep-line.selected{color:var(--color-auto-gray-0);background-color:rgba(33,136,255,.15)!important}[data-color-mode=dark] .CheckStep-line.selected{color:var(--color-text-primary)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep-line.selected{color:var(--color-text-primary)}}[data-color-mode=dark] .CheckStep-line.selected{background-color:var(--color-bg-info)!important}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep-line.selected{background-color:var(--color-bg-info)!important}}.CheckStep-line.selected .CheckStep-line-number{color:var(--color-auto-blue-3);text-decoration:underline}[data-color-mode=dark] .CheckStep-line.selected .CheckStep-line-number{color:var(--color-text-link)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep-line.selected .CheckStep-line-number{color:var(--color-text-link)}}.CheckStep-line .dt-fm{padding-top:2px;padding-bottom:1px;color:var(--color-text-primary)!important;background:var(--color-auto-yellow-5);border-radius:2px}[data-color-mode=dark] .CheckStep-line .dt-fm{color:var(--color-text-inverse)!important}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep-line .dt-fm{color:var(--color-text-inverse)!important}}[data-color-mode=dark] .CheckStep-line .dt-fm{background:var(--color-scale-yellow-3)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep-line .dt-fm{background:var(--color-scale-yellow-3)}}.CheckStep-line .dt-fm.select{background:var(--color-bg-info-inverse)}.CheckStep-line .dt-fm.select,[data-color-mode=dark] .CheckStep-line .dt-fm.select{color:var(--color-text-white)!important}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep-line .dt-fm.select{color:var(--color-text-white)!important}}[data-color-mode=dark] .CheckStep-line .dt-fm.select{background:var(--color-scale-blue-5)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep-line .dt-fm.select{background:var(--color-scale-blue-5)}}.CheckRun-show-timestamps .CheckStep-line-timestamp{display:inline}.CheckGate{padding-top:1px;padding-bottom:1px;margin-right:24px;margin-left:24px;background-color:rgba(249,197,19,.15)!important}.CheckGate .Content-Text{color:var(--color-auto-gray-2)}[data-color-mode=dark] .CheckGate .Content-Text{color:var(--color-text-secondary)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckGate .Content-Text{color:var(--color-text-secondary)}}.CheckGate .Waiting-Gate-Text{color:var(--color-auto-yellow-3)}[data-color-mode=dark] .CheckGate .Waiting-Gate-Text{color:var(--color-text-warning)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckGate .Waiting-Gate-Text{color:var(--color-text-warning)}}.CheckStep{padding-right:6px}.CheckStep .log-line-command{color:var(--color-auto-blue-3)}[data-color-mode=dark] .CheckStep .log-line-command{color:var(--color-scale-blue-3)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep .log-line-command{color:var(--color-scale-blue-3)}}.CheckStep .log-line-command a{color:var(--color-auto-blue-3)}[data-color-mode=dark] .CheckStep .log-line-command a{color:var(--color-scale-blue-3)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep .log-line-command a{color:var(--color-scale-blue-3)}}.CheckStep .log-line-command .CheckStep-line-number{color:rgba(var(--color-auto-gray-4),.75)}[data-color-mode=dark] .CheckStep .log-line-command .CheckStep-line-number{color:var(--color-text-tertiary)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep .log-line-command .CheckStep-line-number{color:var(--color-text-tertiary)}}.CheckStep .log-line-debug{color:var(--color-auto-purple-3)}[data-color-mode=dark] .CheckStep .log-line-debug{color:var(--color-scale-purple-3)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep .log-line-debug{color:var(--color-scale-purple-3)}}.CheckStep .log-line-debug a{color:var(--color-auto-purple-3)}[data-color-mode=dark] .CheckStep .log-line-debug a{color:var(--color-scale-purple-3)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep .log-line-debug a{color:var(--color-scale-purple-3)}}.CheckStep .log-line-debug .CheckStep-line-number{color:rgba(var(--color-auto-gray-4),.75)}[data-color-mode=dark] .CheckStep .log-line-debug .CheckStep-line-number{color:var(--color-text-tertiary)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep .log-line-debug .CheckStep-line-number{color:var(--color-text-tertiary)}}.CheckStep .log-download-error{margin-left:8px;color:var(--color-auto-gray-2);background-color:rgba(203,36,49,.15)}[data-color-mode=dark] .CheckStep .log-download-error{color:var(--color-text-secondary)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep .log-download-error{color:var(--color-text-secondary)}}[data-color-mode=dark] .CheckStep .log-download-error{background-color:var(--color-bg-danger)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep .log-download-error{background-color:var(--color-bg-danger)}}.CheckStep .log-line-error{background-color:rgba(203,36,49,.15)}[data-color-mode=dark] .CheckStep .log-line-error{background-color:var(--color-bg-danger)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep .log-line-error{background-color:var(--color-bg-danger)}}.CheckStep .log-line-error .CheckStep-line-content{color:var(--color-auto-gray-2)}[data-color-mode=dark] .CheckStep .log-line-error .CheckStep-line-content{color:var(--color-text-secondary)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep .log-line-error .CheckStep-line-content{color:var(--color-text-secondary)}}.CheckStep .log-line-error .CheckStep-line-number{color:var(--color-auto-red-3)}[data-color-mode=dark] .CheckStep .log-line-error .CheckStep-line-number{color:var(--color-text-tertiary)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep .log-line-error .CheckStep-line-number{color:var(--color-text-tertiary)}}.CheckStep .log-line-info{font-weight:600;color:var(--color-auto-gray-4)}[data-color-mode=dark] .CheckStep .log-line-info{color:var(--color-scale-gray-4)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep .log-line-info{color:var(--color-scale-gray-4)}}.CheckStep .log-line-info a{color:var(--color-auto-gray-4)}[data-color-mode=dark] .CheckStep .log-line-info a{color:var(--color-scale-gray-4)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep .log-line-info a{color:var(--color-scale-gray-4)}}.CheckStep .log-line-info .CheckStep-line-number{color:rgba(var(--color-auto-gray-4),.75)}[data-color-mode=dark] .CheckStep .log-line-info .CheckStep-line-number{color:var(--color-text-tertiary)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep .log-line-info .CheckStep-line-number{color:var(--color-text-tertiary)}}.CheckStep .log-line-verbose{font-weight:600;color:var(--color-auto-gray-4)}[data-color-mode=dark] .CheckStep .log-line-verbose{color:var(--color-scale-gray-4)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep .log-line-verbose{color:var(--color-scale-gray-4)}}.CheckStep .log-line-verbose a{color:var(--color-auto-gray-4)}[data-color-mode=dark] .CheckStep .log-line-verbose a{color:var(--color-scale-gray-4)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep .log-line-verbose a{color:var(--color-scale-gray-4)}}.CheckStep .log-line-verbose .CheckStep-line-number{color:rgba(var(--color-auto-gray-4),.75)}[data-color-mode=dark] .CheckStep .log-line-verbose .CheckStep-line-number{color:var(--color-text-tertiary)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep .log-line-verbose .CheckStep-line-number{color:var(--color-text-tertiary)}}.CheckStep .log-line-warning{background-color:rgba(249,197,19,.15)}[data-color-mode=dark] .CheckStep .log-line-warning{background-color:var(--color-bg-warning)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep .log-line-warning{background-color:var(--color-bg-warning)}}.CheckStep .log-line-warning .CheckStep-line-content{color:var(--color-auto-gray-2)}[data-color-mode=dark] .CheckStep .log-line-warning .CheckStep-line-content{color:var(--color-text-secondary)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep .log-line-warning .CheckStep-line-content{color:var(--color-text-secondary)}}.CheckStep .log-line-warning .CheckStep-line-number{color:var(--color-auto-yellow-3)}[data-color-mode=dark] .CheckStep .log-line-warning .CheckStep-line-number{color:var(--color-text-warning)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep .log-line-warning .CheckStep-line-number{color:var(--color-text-warning)}}.CheckStep .log-line-section{font-weight:600;color:var(--color-auto-green-3)}[data-color-mode=dark] .CheckStep .log-line-section{color:var(--color-text-success)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep .log-line-section{color:var(--color-text-success)}}.CheckStep .log-line-section a{color:var(--color-auto-green-3)}[data-color-mode=dark] .CheckStep .log-line-section a{color:var(--color-text-success)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep .log-line-section a{color:var(--color-text-success)}}.CheckStep .log-line-section .CheckStep-line-number{color:rgba(var(--color-auto-gray-4),.75)}[data-color-mode=dark] .CheckStep .log-line-section .CheckStep-line-number{color:var(--color-text-tertiary)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep .log-line-section .CheckStep-line-number{color:var(--color-text-tertiary)}}.CheckStep .CheckStep-error-text{font-weight:600;color:var(--color-auto-red-3)}[data-color-mode=dark] .CheckStep .CheckStep-error-text{color:var(--color-text-danger)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep .CheckStep-error-text{color:var(--color-text-danger)}}.CheckStep .CheckStep-warning-text{font-weight:600;color:var(--color-auto-yellow-3)}[data-color-mode=dark] .CheckStep .CheckStep-warning-text{color:var(--color-text-warning)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep .CheckStep-warning-text{color:var(--color-text-warning)}}.CheckStep a:hover{color:var(--color-auto-blue-3)!important}[data-color-mode=dark] .CheckStep a:hover{color:var(--color-text-link)!important}@media (prefers-color-scheme:dark){[data-color-mode=auto] .CheckStep a:hover{color:var(--color-text-link)!important}}.CheckStep .ansifg-b{color:var(--color-ansi-black)}.CheckStep .ansifg-r{color:var(--color-ansi-red)}.CheckStep .ansifg-g{color:var(--color-ansi-green)}.CheckStep .ansifg-y{color:var(--color-ansi-yellow)}.CheckStep .ansifg-bl{color:var(--color-ansi-blue)}.CheckStep .ansifg-m{color:var(--color-ansi-magenta)}.CheckStep .ansifg-c{color:var(--color-ansi-cyan)}.CheckStep .ansifg-w{color:var(--color-ansi-white)}.CheckStep .ansifg-gr{color:var(--color-ansi-gray)}.CheckStep .ansifg-b-br{color:var(--color-ansi-black-bright)}.CheckStep .ansifg-r-br{color:var(--color-ansi-red-bright)}.CheckStep .ansifg-g-br{color:var(--color-ansi-green-bright)}.CheckStep .ansifg-y-br{color:var(--color-ansi-yellow-bright)}.CheckStep .ansifg-bl-br{color:var(--color-ansi-blue-bright)}.CheckStep .ansifg-m-br{color:var(--color-ansi-magenta-bright)}.CheckStep .ansifg-c-br{color:var(--color-ansi-cyan-bright)}.CheckStep .ansifg-w-br{color:var(--color-ansi-white-bright)}.CheckStep .ansibg-b{background-color:var(--color-ansi-black)}.CheckStep .ansibg-r{background-color:var(--color-ansi-red)}.CheckStep .ansibg-g{background-color:var(--color-ansi-green)}.CheckStep .ansibg-y{background-color:var(--color-ansi-yellow)}.CheckStep .ansibg-bl{background-color:var(--color-ansi-blue)}.CheckStep .ansibg-m{background-color:var(--color-ansi-magenta)}.CheckStep .ansibg-c{background-color:var(--color-ansi-cyan)}.CheckStep .ansibg-w{background-color:var(--color-ansi-white)}.CheckStep .ansibg-gr{background-color:var(--color-ansi-gray)}.CheckStep .ansibg-b-br{background-color:var(--color-ansi-black-bright)}.CheckStep .ansibg-r-br{background-color:var(--color-ansi-red-bright)}.CheckStep .ansibg-g-br{background-color:var(--color-ansi-green-bright)}.CheckStep .ansibg-y-br{background-color:var(--color-ansi-yellow-bright)}.CheckStep .ansibg-bl-br{background-color:var(--color-ansi-blue-bright)}.CheckStep .ansibg-m-br{background-color:var(--color-ansi-magenta-bright)}.CheckStep .ansibg-c-br{background-color:var(--color-ansi-cyan-bright)}.CheckStep .ansibg-w-br{background-color:var(--color-ansi-white-bright)}.CheckStep .bright{filter:brightness(1.5)}.code-frequency .addition{fill:#2cbe4e;fill-opacity:1}.code-frequency .deletion{fill:var(--color-auto-red-6);fill-opacity:1}.cadd{color:var(--color-text-success)}.cadd,.cdel{font-weight:600}.cdel{color:var(--color-text-danger)}.code-list .file-box{border:1px solid var(--color-border-primary);border-radius:6px}.code-list .title{min-height:24px;margin:-3px 0 10px 38px;font-weight:600;line-height:1.2}.code-list .repo-specific .full-path,.code-list .repo-specific .title{margin-left:0}.code-list .match-count,.code-list .updated-at{margin:0;font-weight:400}.code-list .language{float:right;margin-left:10px;font-size:12px;color:rgba(51,51,51,.75)}.code-list .avatar{float:left}.code-list .code-list-item+.code-list-item{border-top:1px solid var(--color-border-secondary)}.code-list .blob-num{padding:0}.code-list .blob-num:before{content:normal}.code-list .blob-num a{padding:0 10px;color:inherit}.code-list .blob-num a:hover{color:var(--color-text-link)}.code-list .blob-code{white-space:pre-wrap}.code-list .divider .blob-code,.code-list .divider .blob-num{padding-top:0;padding-bottom:0;cursor:default;background-color:var(--color-bg-tertiary)}.code-list .divider .blob-num{height:18px;padding:0 10px;line-height:15px;background-color:var(--color-bg-tertiary)}.code-list .full-path{margin:0 0 0 40px}.code-list .full-path .octicon-repo{color:var(--color-text-secondary)}.code-list .full-path .octicon-lock{color:#e9dba4}.code-list .full-path a{color:var(--color-text-tertiary)}.code-list-item-private .file-box{border:1px solid var(--color-box-border-warning)}.code-list-item-private .blob-num{background-color:var(--color-box-bg-warning);border-right:1px solid var(--color-box-border-warning)}.code-list-item-private .blob-num a{color:var(--color-text-warning)}.code-list-item-private .divider .blob-code,.code-list-item-private .divider .blob-num{color:var(--color-text-warning);background-color:var(--color-box-bg-warning)}.code-scanning-alert-warning-message{border-color:var(--color-bg-warning-inverse)!important}.code-scanning-font-size-inherit{font-size:inherit!important}.codesearch-head.pagehead h1{width:250px;line-height:33px}@media (min-width:768px){.advanced-search-form .flattened dt{width:230px}.advanced-search-form .flattened dt label{font-weight:400}.advanced-search-form .flattened dd,.advanced-search-form .form-checkbox{margin-left:250px}}.codesearch-results .code-list .title a{word-wrap:break-word}.codesearch-results .repo-list-item{border-bottom:0}.codesearch-results .repo-list-item+.repo-list-item{border-top:1px solid var(--color-border-primary)}.search-form-fluid .TableObject-item--primary{position:relative;padding-right:8px}.search-form-fluid .completed-query{position:absolute;z-index:1;padding:inherit;margin:0;overflow:hidden;white-space:nowrap}.search-form-fluid .completed-query span{opacity:0}.search-form-fluid .search-page-label{position:relative;display:block;font-weight:400;cursor:text}.search-form-fluid .search-page-label.focus .completed-query{opacity:.6}.search-form-fluid .search-page-input{position:relative;z-index:2;min-height:0;padding:0;margin:0;background:none;border:0;box-shadow:none}.search-form-fluid .search-page-input:focus{box-shadow:none}.topics-row-container{height:30px;overflow:hidden}@media (max-width:544px){.codesearch-pagination-container .gap,.codesearch-pagination-container a:not(.next_page):not(.previous_page){display:none}.codesearch-pagination-container .next_page,.codesearch-pagination-container .previous_page{width:100%}.codesearch-pagination-container .current{color:var(--color-text-secondary);background:var(--color-bg-primary);border-color:var(--color-border-primary)}.codesearch-pagination-container .current:after{content:" of " attr(data-total-pages)}}.commit-activity-graphs .dots{display:none}.commit-activity-master{margin-top:20px}.is-graph-loading .commit-activity-master{display:none}rect{shape-rendering:crispedges}rect.max{fill:var(--color-auto-yellow-6)}g.bar{fill:var(--color-auto-green-5)}g.mini{fill:var(--color-auto-orange-4)}g.active rect{fill:var(--color-auto-red-7)}.dot text,circle.focus{fill:var(--color-auto-gray-7)}.dot text{stroke:none}.CommunityTemplate-markdown{height:800px;overflow-y:scroll;font-size:14px}.CommunityTemplate-highlight{padding:2px 4px;margin:0;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12px;font-style:normal;font-weight:600;color:var(--color-text-primary);cursor:pointer;background-color:var(--color-bg-warning-inverse);border-radius:6px}.CommunityTemplate-highlight--focus{color:var(--color-text-white);background-color:var(--color-bg-info-inverse)}.community-checklist .progress-bar{background:linear-gradient(90deg,var(--color-bg-warning-inverse),#c5e300,var(--color-bg-success-inverse));background-color:initial}.community-checklist .progress{float:right;background-color:var(--color-bg-tertiary)}.community-checklist .checklist-dot{color:var(--color-auto-yellow-7)}body.full-width-p0 .container,body.full-width-p0 .container-lg{width:100%;max-width:none;padding-right:16px;padding-left:16px}body.full-width-p0 .container-lg.new-discussion-timeline{padding-right:0!important;padding-left:0!important}.compare-cutoff,.diff-cutoff{padding:8px 0;margin:5px 0;font-weight:600;color:#4c4a42;text-align:center;background-color:#fff9ea;border:1px solid #dfd8c2;border-radius:6px}span.no-nl-marker{position:relative;color:var(--color-text-danger);vertical-align:middle}.symlink .no-nl-marker{display:none}.contributions-setting-menu{z-index:80;width:330px}.calendar-graph rect.day{shape-rendering:geometricPrecision;outline:1px solid var(--color-calendar-graph-day-border);outline-offset:-1px;rx:2;ry:2}.calendar-graph.days-selected rect.day{opacity:.5}.calendar-graph.days-selected rect.day.active{opacity:1}.calendar-graph .dots{width:64px;height:64px;margin:20px auto 0}.calendar-graph text.month{font-size:10px;fill:var(--color-text-primary)}.calendar-graph text.wday{font-size:9px;fill:var(--color-text-primary)}.graph-before-activity-overview{border-top-left-radius:6px;border-top-right-radius:6px}.activity-overview-box{border-top-left-radius:0;border-top-right-radius:0}.contrib-footer{padding:0 10px 12px;font-size:11px}.contrib-legend{float:right}.contrib-legend .legend{position:relative;bottom:-1px;display:inline-block;margin:0 5px;list-style:none}.contrib-legend .legend li{display:inline-block;width:10px;height:10px;border-radius:2px;box-shadow:inset 0 0 0 1px rgba(27,31,35,.04)}.contrib-square{font-size:1.5em;color:#9be9a8;vertical-align:-.1em}.contribution-activity .select-menu-button{position:relative;top:-4px}.contribution-activity.loading .contribution-activity-listing,.contribution-activity.loading .contribution-activity-show-more{display:none}.contribution-activity.loading .contribution-activity-spinner{display:block}.contribution-activity-spinner{display:none}li.contribution{padding:10px 0;list-style:none}li.contribution h3{display:inline-block;margin:0;font-size:14px}li.contribution .cmeta{display:block;font-size:12px}li.contribution .d{color:#c00}li.contribution .a{color:#8cac29}li.contribution .num{color:var(--color-text-secondary)}.activity-overview-axis,.activity-overview-point{stroke:#216e39}.halloween-activity-overview .activity-overview-axis,.halloween-activity-overview .activity-overview-point{stroke:#fe9600}.activity-overview-label,.activity-overview-percentage{fill:var(--color-text-secondary)}.activity-overview-percentage{font-size:10px}.tint-box{position:relative;margin-bottom:10px;background:var(--color-bg-tertiary);border-radius:6px}.tint-box.transparent{background:var(--color-bg-primary)}.tint-box .activity{padding-top:100px;margin-top:0}.contrib-person path{fill:var(--color-auto-orange-4)}.contrib-person .midlabel{fill:var(--color-auto-gray-4)}.coupons .setup-plans td img{margin-top:-2px;vertical-align:middle}.coupons .coupon-form-body{width:270px;padding:20px;margin:100px auto 60px;font-size:14px;text-align:center;background-color:var(--color-bg-primary);background-image:linear-gradient(#fefefe,#fafafa);border:1px solid #ccc;border-radius:6px;box-shadow:0 1px 3px rgba(0,0,0,.075),inset 1px 0 #fff}.coupons .coupon-form-body .input-block{margin-bottom:15px}.coupons .coupon-form-body .btn{display:block;width:100%}.coupon-icon{width:80px;height:80px;margin:0 auto 15px;color:var(--color-text-link);border:1px solid #dedede;border-radius:40px}.coupon-icon .octicon{margin-top:15px;margin-right:2px}.coupons-list-options .select-menu{display:inline-block;margin-right:8px}.coupons-list-options .pagination{float:right;margin:0}.user-repos .mini-repo-list-item{padding-right:6px}.user-repos .mini-repo-list-item .repo-and-owner{max-width:100%}.user-repos .mini-repo-list-item .owner{max-width:145px}.repo-private-icon{fill:var(--color-icon-warning)}.dashboard-rollup-items>.dashboard-rollup-item{border-top:1px solid var(--color-border-primary)}@keyframes broadCastMaskFade{0%{opacity:0}30%{opacity:1}70%{opacity:1}to{opacity:0}}.dashboard h1{margin-bottom:.5em;font-size:160%}.dashboard h1 a{font-size:70%;font-weight:400}.dashboard .notice{padding:15px;margin-top:0;margin-bottom:0;text-align:center}.news-full,.page-profile .news{float:none;width:auto}.dashboard-break-word{-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto;word-break:break-word}.news .error-message,.news .is-error .loading-message{display:none}.news .is-error .error-message{display:block}.news .bio g-emoji,.news .repo-description g-emoji{display:inline-block}.dashboard-underlined-link:hover,.dashboard-underlined-link:hover *{text-decoration:underline}.dashboard-notice{position:relative;padding:15px 15px 15px 55px;margin-bottom:20px;font-size:14px;background-color:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:6px}.dashboard-notice .dismiss{position:absolute;top:10px;right:10px;width:16px;height:16px;color:var(--color-auto-gray-4);cursor:pointer}.dashboard-notice .dismiss:hover{color:var(--color-text-secondary)}.dashboard-notice .notice-icon{position:absolute;top:15px;left:15px}.dashboard-notice .octicon-organization{color:var(--color-text-link)}.dashboard-notice h2{margin-top:9px;margin-bottom:16px;font-size:18px;font-weight:400;color:var(--color-text-primary)}.dashboard-notice p.no-title{padding-right:5px}.dashboard-notice .inset-figure{float:right;margin-bottom:15px;margin-left:20px}.dashboard-notice ul{margin-left:18px}.dashboard-notice li{padding-bottom:15px}.dashboard-notice .coupon{padding:10px;margin:15px 0;font-size:20px;font-weight:600;text-align:center;background:var(--color-bg-primary);border:1px dashed var(--color-auto-blue-1)}.dashboards-overview-lead{width:700px}.dashboards-overview-cards .boxed-group{width:100%;margin:10px 0}.dashboards-overview-cards .boxed-group .graph-canvas path{stroke-opacity:.5}.dashboards-overview-cards .is-no-activity .blankslate{display:block}.dashboards-overview-cards .is-no-activity .dashboards-overview-graph{display:none}.dashboards-overview-cards .blankslate{display:none;padding-top:47px;background-color:var(--color-bg-primary);border:0;box-shadow:none}.dashboards-overview-cards .octicon-arrow-down,.dashboards-overview-cards .octicon-arrow-up{display:none}.dashboards-overview-cards .is-decrease .octicon-arrow-down,.dashboards-overview-cards .is-increase .octicon-arrow-up{display:inline-block}.dashboards-overview-cards .octicon-arrow-down{color:var(--color-text-danger)}.dashboards-overview-cards .octicon-arrow-up{color:#1db34f}.dashboards-overview-cards .graph-canvas .dots{padding:43px 0}.dashboards-overview-cards .summary-stats{height:78px}.dashboards-overview-cards .summary-stats .metric-0{color:#1db34f}.dashboards-overview-cards .summary-stats .metric-1{color:var(--color-text-link)}.dashboards-overview-cards .summary-stats .totals-num{margin:0 7px}.dashboards-overview-cards .summary-stats .single{width:100%}.dashboards-overview-cards .dashboards-overview-graph{height:160px}.dashboards-overview-cards .dashboards-overview-graph path{fill:none;stroke-width:2}.dashboards-overview-cards .dashboards-overview-graph path.metric-0{stroke:#1db34f}.dashboards-overview-cards .dashboards-overview-graph path.metric-1{stroke:#1d7fb3}.dashboards-overview-cards .dashboards-overview-graph .y line{stroke:#1db34f}.dashboards-overview-cards .dashboards-overview-graph .y.unique line{stroke:#1d7fb3}.dashboards-overview-cards .dashboards-overview-graph .overlay{fill-opacity:0}.dashboards-overview-cards .metric-0 circle{fill:#1db34f;stroke:#fff;stroke-width:2}.dashboards-overview-cards .dots.metric-1 circle{fill:#1d7fb3;stroke:#fff;stroke-width:2}dl.form.developer-select-account{margin-top:0}.developer-wrapper .setup-info-module .features-list{margin-left:16px}.developer-wrapper .setup-info-module .features-list .octicon{margin-left:-17px}.developer-thanks h2{font-size:38px;font-weight:400}.developer-thanks .hook{margin-top:2px;margin-bottom:30px;font-size:18px;font-weight:300;color:#666}.developer-thanks-image{position:relative;bottom:-45px;float:left;width:400px}.developer-thanks-section{margin:130px 0 0 470px}.developer-next-steps{font-size:18px;font-weight:300;list-style:none}.developer-next-steps li{margin-top:10px}.developer-next-steps li:first-child{margin-top:0}.developer-next-steps .octicon{margin-right:10px;color:var(--color-auto-green-5);vertical-align:middle}.discussion.answered .discussion-mark-answer{display:none!important}.timeline-comment.current-user.timeline-chosen-answer,.timeline-comment.current-user.timeline-chosen-answer .timeline-comment-label,.timeline-comment.timeline-chosen-answer,.timeline-comment.timeline-chosen-answer .timeline-comment-label{border-color:var(--color-discussion-border)}.timeline-comment.current-user.timeline-chosen-answer:before,.timeline-comment.timeline-chosen-answer:before{border-right-color:var(--color-discussion-border)}.timeline-comment.current-user.timeline-chosen-answer .timeline-comment-header,.timeline-comment.timeline-chosen-answer .timeline-comment-header{background-color:var(--color-discussion-bg-success);border-bottom-color:var(--color-discussion-border)}.timeline-comment.timeline-chosen-answer-next{border:2px solid var(--color-auto-green-6)}.discussion-nested-comment-timeline-item:before{left:25px}@media (min-width:544px){.discussion-nested-comment-timeline-item:before{left:30px}}.discussion-primer-next-nested-comment-timeline-item:before{left:30px}.discussion-nested-comment-timeline-item:first-child:before{top:16px}.discussion-nested-comment-group{margin-left:32px}:target .discussion-nested-comment-group .timeline-comment{box-shadow:none}.discussion-nested-comment-timeline-item:target{box-shadow:0 0 0 .2em var(--color-auto-blue-2)}:target .nested-discussion-timeline-comment{box-shadow:none}.inline-comment-form-container.open .discussion-nested-comment-inline-form .previewable-comment-form{display:block}.page-responsive .discussion-add-reaction-button{opacity:1}.discussion-comment .comment .comment-reactions{margin-left:16px;border-top:0!important}.discussion-comment .comment .reaction-summary-item{margin-bottom:16px}.discussion-comment .reaction-summary-item:not(.add-reaction-btn){padding:0 8px;margin-right:8px;font-size:12px;line-height:26px;border:1px solid var(--color-border-primary,#d2dff0);border-radius:6px}.discussion-comment .reaction-summary-item:not(.add-reaction-btn) .emoji{font-size:16px;vertical-align:sub}.discussion-comment .add-reaction-btn{padding:4px 10px}.icon-discussion-answered{color:var(--color-auto-green-6)}.icon-discussion-answered,.icon-discussion-answered path{fill:var(--color-auto-green-6)}.icon-discussion-white{color:var(--color-discussions-state-answered-icon)!important}.icon-discussion-white,.icon-discussion-white path{fill:var(--color-discussions-state-answered-icon)!important}.icon-discussion-gray{color:var(--color-text-primary)}.icon-discussion-gray,.icon-discussion-gray path{fill:var(--color-text-primary)}.is-comment-editing .discussion-comment .previewable-comment-form{display:none}.is-comment-editing .discussion-comment .edit-comment-hide,.is-comment-editing .discussion-comment .timeline-comment-actions{display:block}.discussion-comment .previewable-edit.is-comment-editing .timeline-comment-header{display:flex!important}.discussion-timeline-item:before{display:none}.discussions-top-wrapper-bar{border-top-left-radius:5px;border-top-right-radius:5px}.bg-discussions-row-emoji-box{width:42px!important;height:42px!important;background:var(--color-bg-discussions-row-emoji-box)}.bg-discussions-row-emoji-box-small{width:30px!important;height:30px!important;background:var(--color-bg-discussions-row-emoji-box)}.discussions-emoji-box{font-size:14px!important;line-height:14px!important;vertical-align:0!important}@media (min-width:768px){.discussions-emoji-box{font-size:16px!important;line-height:16px!important;vertical-align:0!important}}.discussion-vote{transition:.16s ease-in-out;transform:translateY(0)}.discussion-vote:hover{transition:.16s ease-in-out;transform:translateY(-10%)}.discussion-vote:active{transition:.1s ease-out;transform:translateY(0)}.discussion-vote-form .discussion-vote-count,.discussion-vote-form .discussion-vote-icon{color:var(--color-text-secondary)}.discussion-vote-form .slidey-boi{transition:.4s ease-in-out;transform:translateY(0)}.discussion-vote-form.is-voted .discussion-vote-icon{color:var(--color-text-link)}.discussion-vote-form.is-voted .discussion-vote-count{color:var(--color-text-link);background-color:var(--color-upvote-icon-bg)}.discussion-vote-form.is-voted .slidey-boi{transform:translateY(-50%)}.sidebar-emoji-box{width:auto!important;height:auto!important}.errored .discussion-category-picker{border-color:var(--color-input-error-border)}.discussion-spotlights-sortable>.discussions-spotlight-wrapper:first-child{padding-left:0!important}.discussion-spotlight-pattern-container{mix-blend-mode:soft-light;background-position:20px 20px;background-size:35px;opacity:.5}.discussion-spotlight-pattern-octoface{background-image:url(/static/images/icons/spotlight/octoface-pattern.svg)}.discussion-spotlight-pattern-chevron-up{background-image:url(/static/images/icons/spotlight/chevron-up-pattern.svg)}.discussion-spotlight-pattern-dot-fill{background-image:url(/static/images/icons/spotlight/dot-fill-pattern.svg)}.discussion-spotlight-pattern-dot{background-image:url(/static/images/icons/spotlight/dot-pattern.svg)}.discussion-spotlight-pattern-heart-fill{background-image:url(/static/images/icons/spotlight/heart-fill-pattern.svg)}.discussion-spotlight-pattern-plus{background-image:url(/static/images/icons/spotlight/plus-pattern.svg)}.discussion-spotlight{height:188px;flex:1 1 auto;overflow:hidden}.discussion-spotlight-preview{height:260px}.discussion-spotlight-gradient{width:35px;height:35px}.discussion-spotlight-gradient .discussion-spotlight-gradient-selected-indicator{display:none}.discussion-spotlight-gradient[aria-selected=true]{box-shadow:inset 0 1px 2px rgba(27,31,35,.075),0 0 0 .2em rgba(3,102,214,.3)}.discussion-spotlight-gradient[aria-selected=true] .discussion-spotlight-gradient-selected-indicator{display:inline-block}.discussion-spotlight-emoji{top:calc(35% - 35px);left:calc(50% - 48px);width:96px;height:96px;font-size:96px;text-shadow:0 3px 14px rgba(0,0,0,.3)}.discussion-spotlight-details{pointer-events:none}.discussion-spotlight-details>*{pointer-events:auto}.discussion-spotlight-handle{cursor:pointer;background:var(--color-fade-black-50)}.donut-chart>.action_required,.donut-chart>.cancelled,.donut-chart>.error,.donut-chart>.failure,.donut-chart>.timed_out{fill:var(--color-checks-donut-error)}.donut-chart>.expected,.donut-chart>.in_progress,.donut-chart>.pending,.donut-chart>.queued,.donut-chart>.requested,.donut-chart>.waiting{fill:var(--color-checks-donut-pending)}.donut-chart>.success{fill:var(--color-checks-donut-success)}.donut-chart>.neutral,.donut-chart>.skipped,.donut-chart>.stale{fill:var(--color-checks-donut-neutral)}.survey-question-form .other-text-form,.survey-question-form .other-text-form-block{display:none;margin-top:0}.survey-question-form.is-other-selected .other-text-form{display:inline-block}.survey-question-form.is-other-selected .other-text-form-block{display:block}.emoji-tab.UnderlineNav-item{margin-right:4px}.emoji-tab[role=tab][aria-selected=true]{font-weight:600;color:var(--color-text-primary);border-bottom-color:var(--color-auto-orange-6)}.emoji-tab[role=tab][aria-selected=true] .UnderlineNav-octicon{color:var(--color-text-tertiary)}.selected-emoji{z-index:100;background-color:var(--color-bg-info-inverse)}.emoji-picker-container .emoji-picker-tab g-emoji{margin-right:auto;margin-left:3px}.emoji-tab .emoji-icon{width:auto}.emoji-picker-container{z-index:1;width:395px}.emoji-picker-tab{height:136px;padding-top:8px}.emoji-picker-emoji-width{width:32px;height:28px}.emoji-picker-tab .btn-outline:not(:hover){background-color:initial}.emoji-picker-list{list-style:none}.ghe-license-status{padding:40px 0;font-size:16px;text-align:center}.ghe-license-status .octocat{width:225px;margin-bottom:20px}.ghe-license-status h1{margin-bottom:10px}.ghe-license-status p{margin-bottom:5px;color:var(--color-text-secondary)}.ghe-license-expiry-icon{margin:5px 10px 0 0;color:#ddb38a}.explore-content{margin-top:-15px}.explore-content .blankslate{margin-top:15px}.explore-pjax-container{position:relative}.newsletter-frequency-choice{font-weight:400;cursor:pointer;border:1px solid #eee;border-radius:4px}.newsletter-frequency-choice .notice{position:absolute;right:0;bottom:1em;left:0;z-index:-1;font-weight:600;color:var(--color-auto-green-5);text-align:center;opacity:0}.newsletter-frequency-choice .notice.visible{bottom:-2em;opacity:1;transition:opacity .15s ease-in-out}.newsletter-frequency-choice h3{padding:10px;margin:0;font-weight:400;text-align:center;background-color:var(--color-bg-secondary);border-bottom:1px solid #eee}.newsletter-frequency-choice h3 input{position:relative;top:-2px;margin:0 3px 0 -19px}.newsletter-frequency-choice p{margin:15px}.newsletter-frequency-choice:hover{border-color:var(--color-auto-blue-5)}.newsletter-frequency-choice:hover h3{color:var(--color-text-white);background-color:var(--color-bg-info-inverse);border-color:var(--color-auto-blue-5)}.newsletter-frequency-choice.selected{border-color:var(--color-auto-green-5);box-shadow:0 0 5px rgba(0,0,0,.2)}.newsletter-frequency-choice.selected h3{color:var(--color-text-white);background-color:var(--color-bg-success-inverse);border-color:var(--color-auto-green-5)}@media (min-width:1012px){.col-lg-9 .Collection{max-width:744px}}@media (min-width:1012px){.Spotlight{margin-top:200px}}.Spotlight-text{z-index:1}.exploregrid{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:stretch;list-style:none}.exploregrid-item-wrap{display:flex;flex-direction:column}.exploregrid-item{flex:1;position:relative;display:block;height:100%;padding-top:24px;padding-bottom:64px;font-size:14px;color:#555;border:1px solid rgba(0,0,0,.075);border-bottom-color:rgba(0,0,0,.125);border-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,.05),0 5px 10px rgba(0,0,0,.05);transition:border-color .1s ease-in-out,box-shadow .1s ease-in-out}.exploregrid-item:hover{text-decoration:none;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.15);box-shadow:0 1px 3px rgba(0,0,0,.05),0 8px 15px rgba(0,0,0,.1)}.exploregrid-item:hover .exploregrid-item-title{color:var(--color-text-link)}.exploregrid-item:hover .exploregrid-item-header{opacity:1}.exploregrid-item-mini{float:left;width:100%;height:auto;margin:0 0 15px}.exploregrid-item-mini .exploregrid-item-header{height:10px}.exploregrid-item-mini .exploregrid-item-title{font-size:16px}.exploregrid-item-header{position:absolute;top:0;left:0;width:100%;height:18px;background-color:#f5f5f5;border:1px solid rgba(0,0,0,.1);border-top-left-radius:4px;border-top-right-radius:4px;opacity:.8;transition:opacity .1s ease-in-out}.exploregrid-item-title{margin-top:0;margin-bottom:5px;font-size:20px;font-weight:400;line-height:1.2;color:var(--color-text-primary)}.feature-preview-dialog{width:90vw;max-width:880px;min-height:580px;max-height:700px}.file{position:relative;margin-top:16px;margin-bottom:16px;border:1px solid var(--color-border-primary,#ddd);border-radius:6px}.file:target{border-color:var(--color-auto-blue-4);box-shadow:0 0 0 .2em var(--color-auto-blue-2)}.file .data.empty{padding:5px 10px;color:var(--color-text-secondary)}.file:not(.open) .file-header.file-header--expandable{border-bottom:0}.file .data.suppressed,.file.open .image{display:none}.file.open .data.suppressed{display:block}.file .image{position:relative;padding:30px;text-align:center;background-color:#ddd}.file .image table{margin:0 auto}.file .image td{padding:0 5px;color:#888;text-align:center;vertical-align:top}.file .image td img{max-width:100%}.file .image .border-wrap{position:relative;background-color:var(--color-bg-primary);border:1px solid var(--color-auto-gray-5)}.file .image .border-wrap,.file .image a{display:inline-block;line-height:0}.file .image canvas,.file .image img{max-width:600px;background:url(/images/modules/commit/trans_bg.gif) 100% 100% #eee;border:1px solid #fff}.file .image .view canvas,.file .image .view img{position:relative;top:0;right:0;max-width:inherit;background:url(/images/modules/commit/trans_bg.gif) 100% 100% #eee}.file .image .view>span{vertical-align:middle}.file .empty{background:none}.file-sidebar-container .file{border-top-right-radius:0;border-bottom-right-radius:0}.file-header{padding:5px 10px;background-color:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-primary);border-top-left-radius:6px;border-top-right-radius:6px}.file-header:after,.file-header:before{display:table;content:""}.file-header:after{clear:both}.file-actions{float:right;padding-top:2px;font-size:13px}.file-actions select{margin-left:5px}.file-info{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12px;line-height:32px}.file-info .octicon{vertical-align:text-bottom}.sticky-file-header{position:-webkit-sticky;position:sticky;top:60px;z-index:6}.sticky-file-header.has-open-dropdown{z-index:10}.file-info-divider{display:inline-block;width:1px;height:18px;margin-right:3px;margin-left:3px;vertical-align:middle;background-color:#ddd}.file-mode{text-transform:capitalize}.file-blankslate{border:0;border-radius:0 0 6px 6px}.diff-progressive-loader{min-height:150px}.load-diff-button,.load-diff-retry{z-index:1;min-height:32px}.diff-placeholder-svg{clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%)}.hidden-diff-reason{z-index:2}.ghpi-bootstrap-container{min-height:calc(100vh - 54px)}.ghpi-bootstrap-incomplete-step{color:var(--color-text-secondary);background-color:var(--color-auto-gray-2)}.ghpi-bootstrap-complete-step{color:var(--color-text-white);background-color:var(--color-bg-success-inverse)}.ghpi-enterprise-name-form-error{left:50%;transform:translateX(-50%)}.graphs h2.ghead:after{display:block;height:0;clear:both;visibility:hidden;content:"."}.graphs.wheader h2{padding:1px}.graphs .area{fill:var(--color-bg-success-inverse);fill-opacity:.5}.graphs .path{fill:none;stroke:var(--color-auto-green-5);stroke-opacity:1;stroke-width:2px}.graphs .dot{fill:var(--color-bg-success-inverse);stroke:#1e7e34;stroke-width:2px}.graphs .dot.padded{stroke:var(--color-auto-white);stroke-width:1px}.graphs .dot.padded circle:hover{fill:var(--color-auto-blue-5)}.graphs .d3-tip{fill:var(--color-bg-canvas-inverse)}.graphs .d3-tip text{font-size:11px;fill:var(--color-bg-primary)}.graphs .dir{float:right;padding-top:5px;font-size:12px;font-weight:400;line-height:100%;color:var(--color-text-tertiary)}.graphs .selection .overlay{visibility:none}.graphs .selection .selection{fill:var(--color-bg-canvas-inverse);fill-opacity:.1;stroke:var(--color-auto-gray-9);stroke-dasharray:3 3;stroke-opacity:.4;stroke-width:1px;shape-rendering:crispedges}.graph-filter h3{display:inline-block;font-size:24px;font-weight:300}.graph-filter .info{margin-bottom:20px;color:var(--color-text-secondary)}.graph-canvas .activity{width:400px;padding:10px;margin:100px auto 0;color:var(--color-auto-gray-8);text-align:center;border-radius:6px}.graph-canvas .dots{margin:0 auto}.graph-canvas>.activity{display:none}.graph-canvas .axis{font-size:10px}.graph-canvas .axis line{stroke:var(--color-border-primary);shape-rendering:crispedges}.graph-canvas .axis text{fill:var(--color-text-secondary)}.graph-canvas .axis path{display:none}.graph-canvas .axis .zero line{stroke:var(--color-auto-blue-5);stroke-dasharray:3 3;stroke-width:1.5}.graph-canvas .graph-empty,.graph-canvas .graph-error,.graph-canvas .graph-loading,.graph-canvas .graph-no-usable-data{display:none}.graph-canvas.is-graph-empty .graph-empty,.graph-canvas.is-graph-empty>.activity,.graph-canvas.is-graph-load-error .graph-error,.graph-canvas.is-graph-loading .graph-loading,.graph-canvas.is-graph-loading>.activity,.graph-canvas.is-graph-without-usable-data .graph-no-usable-data,.graph-canvas.is-graph-without-usable-data>.activity{display:block}.svg-tip{position:absolute;z-index:99999;padding:10px;font-size:12px;color:var(--color-auto-gray-4);text-align:center;background:rgba(0,0,0,.8);border-radius:6px}.svg-tip strong{color:#dfe2e5}.svg-tip.is-visible{display:block}.svg-tip:after{position:absolute;bottom:-10px;left:50%;width:5px;height:5px;box-sizing:border-box;margin:0 0 0 -5px;content:" ";border:5px solid transparent;border-top-color:rgba(0,0,0,.8)}.svg-tip.comparison{padding:0;text-align:left;pointer-events:none}.svg-tip.comparison .title{display:block;padding:10px;margin:0;font-weight:600;line-height:1;pointer-events:none}.svg-tip.comparison ul{margin:0;white-space:nowrap;list-style:none}.svg-tip.comparison li{display:inline-block;padding:10px}.svg-tip.comparison .metric-0{border-top:6px solid var(--color-auto-green-5);border-right:1px solid var(--color-auto-gray-9)}.svg-tip.comparison .metric-1{border-top:6px solid var(--color-auto-blue-4)}.svg-tip-one-line{white-space:nowrap}.LoadingDependencies{position:absolute;left:0;width:100%;animation:fadeOut;animation-duration:.6s;animation-fill-mode:forwards;animation-timing-function:ease-in}.LoadingDependencies--loading{position:relative}.LoadingDependencies--loading .octicon{opacity:0;animation:dropBox;animation-duration:1.25s;animation-fill-mode:forwards;animation-timing-function:linear;animation-delay:1s;animation-iteration-count:infinite}.LoadingDependencies--loading .octicon:nth-child(2){position:absolute;left:calc(50% - 27px);animation-delay:1.61s}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes dropBox{0%{opacity:1;transform:translateY(-110%)}7%{opacity:1;transform:translateY(20%);transform:translateX(0)}80%{opacity:1}to{opacity:0;transform:translateX(-250%)}}.topic-tag{display:inline-block;padding:.3em .9em;margin:0 .5em .5em 0;white-space:nowrap;background-color:var(--color-bg-info);border-radius:6px}.topic-tag-link:hover{text-decoration:none;background-color:#def}.topic-tag-outline{background:var(--color-bg-primary);box-shadow:inset 0 0 0 1px var(--color-auto-blue-2)}.delete-topic-button,.delete-topic-link{display:inline-block;width:26px;color:var(--color-text-tertiary);background-color:var(--color-bg-info);border:0;border-left:1px solid #b4d9ff;border-top-right-radius:6px;border-bottom-right-radius:6px}.delete-topic-button:hover,.delete-topic-link:hover{background-color:#def}.delete-topic-link{padding-right:8px;padding-left:8px;margin-left:8px;line-height:1.75}.delete-topic-link:hover{text-decoration:none}.invalid-topic .delete-topic-button{color:var(--color-auto-red-9);background-color:var(--color-bg-danger);border-left-color:var(--color-auto-red-3)}.invalid-topic .delete-topic-button:hover{background-color:#ffc8ce}.topic-tag-action{align-items:center;padding-left:.8em;margin:.4em .4em 0 0;background-color:var(--color-bg-info);border-radius:6px}.topic-tag-action.invalid-topic{color:var(--color-auto-red-9);background-color:var(--color-bg-danger);border-color:var(--color-auto-red-3)}.topic-tag-action .add-topic-button,.topic-tag-action .remove-topic-button{display:inline-block;width:26px;font-size:15px;color:var(--color-text-tertiary);background-color:var(--color-bg-info);border:0;border-left:1px solid #b4d9ff}.topic-tag-action .add-topic-button:hover,.topic-tag-action .remove-topic-button:hover{color:var(--color-text-white)}.topic-tag-action .add-topic-button:hover{background-color:var(--color-auto-green-5)}.topic-tag-action .remove-topic-button{border-right:0;border-top-right-radius:6px;border-bottom-right-radius:6px}.topic-tag-action .remove-topic-button:hover{background-color:var(--color-auto-red-5)}.topic-input-container .tag-input{width:908px;cursor:text}.topic-input-container .tag-input.org-repo-tag-input{width:100%}.topic-input-container .tag-input .tag-input-inner{min-height:26px;background-image:none}.topic-input-container .topic-tag{margin-top:2px}.topic .css-truncate-target{max-width:75%}.topic-list .topic-list-item+.topic-list-item{border-top:1px solid var(--color-border-primary)}.topic-box .starred{color:var(--color-auto-yellow-5);border:0}.topic-box .unstarred{color:var(--color-auto-gray-3);border:0}.team-breadcrumb .team-breadcrumb-item{display:inline-block}.team-breadcrumb .team-breadcrumb-item:after{padding-right:.5em;padding-left:.5em;color:var(--color-border-tertiary);content:"/"}.team-breadcrumb .team-breadcrumb-item-selected:after{content:none}.team-discussions-container{min-height:100vh}.team-left-column{max-width:100%}@media (min-width:768px){.team-left-column{max-width:350px}}.team-left-column .team-avatar{width:80px;height:80px}@media (min-width:768px){.team-left-column .team-avatar{width:140px;height:140px}}.team-discussions{max-width:768px}.team-discussions .previewable-comment-form .comment{border:0}.team-discussions .previewable-comment-form .toolbar-commenting.toolbar-commenting.toolbar-commenting{background:transparent}.team-discussions .previewable-comment-form .tabnav-tab.selected{background-color:var(--color-bg-primary)}.discussion-post{opacity:1;transition:opacity .4s}.discussion-post .timeline-comment:after,.discussion-post .timeline-comment:before{display:none}.discussion-post .post-author{margin-top:-6px}.discussion-post .post-author-timestamp{margin-top:-3px}.discussion-post.fade-out{opacity:0}.discussion-post .timeline-inline-comments{background:var(--color-bg-secondary)}.discussion-post .team-discussion-timeline:before{bottom:20px}.discussion-post .reply-comment:first-child{border-top:1px solid var(--color-border-primary)}.discussion-post .reply-comment:first-child .review-comment{padding-top:16px}.discussion-post .reply-comment .review-comment{padding:8px 16px}.discussion-post .reply-comment .review-comment.is-comment-editing{padding:0;background:var(--color-bg-secondary)}.discussion-post .comment .comment-reactions{margin-left:16px;border-top:0!important}.discussion-post .comment .reaction-summary-item{margin-bottom:16px}.discussion-post .reaction-summary-item:not(.add-reaction-btn){padding:0 8px;font-size:12px;line-height:26px;border:1px solid var(--color-border-primary,#d2dff0);border-radius:6px}.discussion-post .reaction-summary-item:not(.add-reaction-btn) .emoji{font-size:16px;vertical-align:sub}.discussion-post .reaction-summary-item:not(.add-reaction-btn)+.reaction-summary-item{margin-left:8px}.discussion-post .reply-comments-holder{position:relative}.discussion-post .reply-comments-holder:before{position:absolute;top:51px;bottom:0;left:29px;width:2px;content:"";background-color:var(--color-auto-gray-2)}.discussion-post .add-reaction-btn{padding:4px 10px}.discussion-post .pin-btn:disabled{pointer-events:none}.discussion-post .pinned{color:var(--color-auto-orange-5);opacity:1}.discussion-post .loading-spinner{display:none;float:left;margin-top:12px}.discussion-post .loading .loading-spinner{display:block}.discussion-post~.blankslate{display:none}.team-discussion-new-post .review-thread-reply-button:disabled{cursor:inherit;background-color:var(--color-bg-tertiary);border:0;box-shadow:none}.team-project-suggestion-number{font-weight:300;color:#a3aab1}.team-discussion-nav-disabled{pointer-events:none}.team-group-mapping-search-results .select-menu-loading{display:inherit}.team-group-mapping-search-results.is-error .select-menu-loading,.team-group-mapping-search-results .select-menu-error{display:none}.external-group-search-results .select-menu-loading,.team-group-mapping-search-results.is-error .select-menu-error{display:inherit}.external-group-search-results.is-error .select-menu-loading,.external-group-search-results .select-menu-error{display:none}.external-group-search-results.is-error .select-menu-error{display:inherit}.review_assignment_toggler>.assignment_form{display:none}.review_assignment_toggler.on>.assignment_form{display:block}.team-member-exclusion-toggler>.member-exclusion{display:none}.team-member-exclusion-toggler.on>.member-exclusion{display:block}.hooks-listing .boxed-group-action.select-menu{z-index:auto}.hooks-listing .boxed-group-inner{padding:0 10px;margin-bottom:10px}.hook-item a:hover{text-decoration:none}.hook-item .item-status{float:left;width:16px;margin-right:8px;text-align:center}.hook-item .description{color:var(--color-text-tertiary)}.hook-item .description .css-truncate-target{max-width:160px}.hook-item .icon-for-failure,.hook-item .icon-for-inactive,.hook-item .icon-for-pending,.hook-item .icon-for-success{display:none}.hook-item.success .icon-for-success{display:inline-block;color:var(--color-icon-success)}.hook-item.failure .icon-for-failure{display:inline-block;color:var(--color-text-danger)}.hook-item.inactive .icon-for-inactive,.hook-item.pending .icon-for-pending{display:inline-block;color:var(--color-text-tertiary)}.hook-item .icon-for-disabled,.hook-item .icon-for-enabled{display:none}.hook-item.enabled .icon-for-enabled{display:inline-block;color:var(--color-auto-green-5)}.hook-item.disabled .icon-for-disabled{display:inline-block;color:#ccc}.hook-item .hook-error-message{margin-left:24px;color:var(--color-text-danger)}.hook-url.css-truncate-target{max-width:360px}.hook-events-field .hook-event-selector{display:none}.hook-events-field.is-custom .hook-event-selector{display:block}.hook-event-selector{margin-left:10px}.hook-event{display:inline-block;width:310px;padding:5px 0 5px 30px;margin:0}.hook-event-choice,.hook-event p{font-weight:400}.hooks-oap-warning{margin-top:0}.hooks-oap-warning ul{margin:10px 0}.hooks-oap-warning ul li{margin-left:16px}.hook-secret .hook-secret-standin{display:block}.hook-secret .hook-secret-field,.hook-secret.open .hook-secret-standin{display:none}.hook-secret.open .hook-secret-field{display:block}.hook-deliveries-list .spinner{display:inline-block;margin:0;vertical-align:top}.hook-deliveries-list .hook-delivery-item:hover{background-color:initial}.hook-deliveries-list .item-status{display:inline-block;width:16px;margin-right:5px;text-align:center}.hook-deliveries-list .item-status .icon-for-failure,.hook-deliveries-list .item-status .icon-for-pending,.hook-deliveries-list .item-status .icon-for-success{display:none}.hook-deliveries-list .item-status.success{color:var(--color-auto-green-5);visibility:visible}.hook-deliveries-list .item-status.success .icon-for-success{display:inline-block}.hook-deliveries-list .item-status.failure{color:var(--color-text-danger)}.hook-deliveries-list .item-status.failure .icon-for-failure{display:inline-block}.hook-deliveries-list .item-status.pending{color:var(--color-text-tertiary)}.hook-deliveries-list .item-status.pending .icon-for-pending{display:inline-block}.boxed-group-list li.hook-delivery-item{padding:10px}.hook-delivery-time{float:right;margin-right:10px;font-size:10px;color:var(--color-text-tertiary)}.hook-delivery-guid{display:inline-block;padding:2px 6px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12px;color:var(--color-branch-name-text);background-color:var(--color-branch-name-bg);border-radius:6px}.hook-delivery-guid .octicon{margin:1px -2px 0 0;color:#b0c4ce}.hook-delivery-actions{padding-top:1px}.boxed-group-list>li.hook-delivery-item .btn-sm{margin:0}.hook-delivery-container hr{margin:10px 0}.hook-delivery-container pre{padding:7px 12px;margin:10px 0;overflow:auto;font-size:13px;line-height:1.5;background-color:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);border-radius:6px}.hook-delivery-container .tabnav{margin:10px 0}.hook-delivery-container h4.remote-call-header{margin:20px 0 10px;border-bottom:1px solid var(--color-auto-gray-4)}.hook-delivery-response-status{display:inline-block;padding:4px 6px 3px;margin-left:4px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:10px;line-height:1.1;color:var(--color-text-white);background-color:var(--color-bg-danger-inverse);border:1px solid transparent;border-radius:6px}.hook-delivery-response-status[data-response-status^="2"]{background-color:var(--color-bg-success-inverse)}.redelivery-dialog .pending-message{display:block}.redelivery-dialog .failure-message{display:none}.redelivery-dialog.failed{color:#9c2400;background-image:linear-gradient(#f8d8d8,#efd0d0);border-color:#da9797}.redelivery-dialog.failed .pending-message{display:none}.redelivery-dialog.failed .failure-message{display:block}.test-hook-message .error-message{display:none;margin-top:10px}.test-hook-message.error .error-message{display:block}.item-name{float:left;font-weight:600}.hovercard-icon{width:16px}.integration-meta-head{font-size:16px;color:var(--color-text-secondary)}.integrations-select-repos{max-height:138px;overflow-y:scroll;border-radius:6px}.integrations-select-repos .mini-repo-list-item{padding:8px 64px 8px 30px}.integrations-select-repos .mini-repo-list-item:hover .owner,.integrations-select-repos .mini-repo-list-item:hover .repo{text-decoration:none}.integrations-select-repos .mini-repo-list-item .css-truncate-target{max-width:345px}.integrations-select-repos::-webkit-scrollbar{width:10px}.integrations-select-repos::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.5);border:2px solid var(--color-auto-white);border-radius:6px;box-shadow:0 0 1px hsla(0,0%,100%,.5)}.integrations-select-repos::-webkit-scrollbar-track-piece{background:transparent}.integrations-repository-picker{width:440px}.target-avatar{position:relative;top:-2px}.issue-list .title{min-height:24px;padding:0;margin:0 80px 10px 0;font-size:18px;font-weight:400;line-height:24px;word-wrap:break-word}.issue-list .title .octicon{position:absolute;top:-4px;left:0;color:#888}.issue-list .title .closed.octicon{color:var(--color-text-danger)}.issue-list .title .open.octicon{color:var(--color-auto-green-5)}.issue-list .title .merged.octicon{color:var(--color-auto-purple-5)}.issue-list .description{margin:0 0 10px;overflow:hidden;line-height:20px}.issue-list-item+.issue-list-item{border-top:1px solid var(--color-border-secondary)}.pinned-issue-item .pinned-issue-handle{cursor:grab}.pinned-issue-item.is-dragging,.pinned-issue-item.is-dragging .pinned-issue-handle{cursor:grabbing}.pinned-issue-item.is-dragging,.pinned-issue-item.sortable-ghost{background-color:var(--color-bg-info)}.pinned-issue-item.sortable-ghost{opacity:0}.issues-reset-query-wrapper{margin-bottom:20px}.label-link:hover{text-decoration:none}.issues-reset-query{font-weight:600;color:var(--color-text-secondary)}.issues-reset-query:hover{color:var(--color-text-link);text-decoration:none}.issues-reset-query:hover .issues-reset-query-icon{background-color:var(--color-bg-info-inverse)}.issues-reset-query-icon{width:18px;height:18px;padding:1px;margin-right:3px;color:var(--color-text-white);text-align:center;background-color:var(--color-auto-gray-5);border-radius:6px}.table-list-milestones .table-list-cell{padding:15px 20px}.table-list-milestones .stat{display:inline-block;font-size:14px;font-weight:600;line-height:1.2;color:var(--color-text-primary,#555);white-space:nowrap}.table-list-milestones .stat a{color:inherit}.table-list-milestones .stat+.stat{margin-left:15px}.table-list-milestones .stat-label{font-weight:400;color:var(--color-text-secondary)}.milestone-title{width:500px}.milestone-title-link{margin-top:0;margin-bottom:5px;font-size:24px;font-weight:400;line-height:1.2}.milestone-title-link a{color:var(--color-text-primary,#333)}.milestone-title-link a:hover{color:var(--color-text-link)}.milestone-progress{width:420px}.milestone-progress .progress-bar{margin-top:7px;margin-bottom:12px}.milestone-meta{font-size:14px}.milestone-meta-item{display:inline-block;margin-right:10px}.milestone-meta-item .octicon{width:16px;text-align:center}.milestone-description-html{display:none}.milestone-description{margin-top:5px}.milestone-description .expand-more{color:var(--color-text-link);cursor:pointer}.milestone-description .expand-more:hover{text-decoration:underline}.milestone-description.open .milestone-description-plaintext{display:none}.milestone-description.open .milestone-description-html{display:block}.issue-reorder-warning{z-index:110}.task-progress{color:var(--color-text-secondary);text-decoration:none;vertical-align:top}.task-progress .octicon{margin-right:5px;color:var(--color-icon-tertiary,#999);vertical-align:bottom}.task-progress .progress-bar{display:inline-block;width:80px;height:5px;vertical-align:2px;background-color:var(--color-auto-gray-3,#eee)}.task-progress .progress-bar .progress{background-color:var(--color-auto-gray-4,#ccc)}.task-progress-counts{display:inline-block;margin-right:6px;margin-left:-2px;font-size:12px}a.task-progress:hover{color:var(--color-text-link)}a.task-progress:hover .octicon{color:inherit}a.task-progress:hover .progress-bar .progress{background-color:var(--color-bg-info-inverse)}.issue-meta-section .octicon{color:var(--color-icon-tertiary,#ccc);vertical-align:bottom}.issue-milestone{max-width:240px}.issue-milestone .css-truncate-target{max-width:100px}.milestone-link .octicon{font-size:14px}.milestone-link:hover .octicon{color:inherit}.new-pr-form{margin-top:15px;margin-bottom:20px}.new-pr-form:after,.new-pr-form:before{display:table;content:""}.new-pr-form:after{clear:both}.new-pr-form .discussion-timeline:before{display:none}.label-select-menu .description{margin-left:19px}.label-select-menu .color{display:inline-block;width:14px;height:14px;margin-top:-1px;margin-right:2px;vertical-align:middle;border-radius:6px}.label-select-menu .selected .select-menu-item-icon,.label-select-menu [aria-checked=mixed] .select-menu-item-icon,.label-select-menu [aria-checked=true] .select-menu-item-icon{color:inherit!important}.label-select-menu .selected .octicon-circle-slash,.label-select-menu [aria-checked=mixed] .octicon-circle-slash,.label-select-menu [aria-checked=true] .octicon-circle-slash{color:var(--color-text-tertiary)}.label-select-menu .selected:active,.label-select-menu [aria-checked=mixed]:active,.label-select-menu [aria-checked=true]:active{background-color:initial!important}.label-select-menu .select-menu-item{position:relative}.label-select-menu .select-menu-item.navigation-focus,.label-select-menu .select-menu-item:focus,.label-select-menu .select-menu-item:hover,.label-select-menu .select-menu-item[aria-selected=true]{color:inherit;background-color:var(--color-bg-secondary,#f4f4f4)}.label-select-menu .select-menu-item.navigation-focus .select-menu-item-icon,.label-select-menu .select-menu-item:focus .select-menu-item-icon,.label-select-menu .select-menu-item:hover .select-menu-item-icon,.label-select-menu .select-menu-item[aria-selected=true] .select-menu-item-icon{color:transparent}.label-select-menu .select-menu-item.navigation-focus .label-options-icon,.label-select-menu .select-menu-item:focus .label-options-icon,.label-select-menu .select-menu-item:hover .label-options-icon,.label-select-menu .select-menu-item[aria-selected=true] .label-options-icon{color:inherit}.label-select-menu>form{position:relative}.subnav .btn+.issues-search{padding-right:10px;border-right:1px solid #eee}.reaction-sort-item{float:left;width:39px;padding:5px;margin-top:5px;text-align:center;pointer-events:all;border:1px solid transparent;border-radius:6px;opacity:.7}.reaction-sort-item:focus,.reaction-sort-item:hover{text-decoration:none;background-color:var(--color-bg-info-inverse);opacity:1}.reaction-sort-item[aria-checked=true]{background-color:var(--color-bg-info);border-color:var(--color-bg-info-inverse);opacity:1}.issue-keyword{border-bottom:1px dotted var(--color-auto-gray-4)}.issue-keyword:hover{border-bottom:0}.new-label-color-dimensions{width:24px;height:24px}.select-menu-item.navigation-focus>.octicon.label-options-icon,.select-menu-item[aria-selected=true]>.octicon.label-options-icon{color:var(--color-text-primary)}.new-label-color-input:invalid{color:var(--color-text-danger)}@keyframes sparkle-emoji-animation{0%{width:0;opacity:0}to{width:16px;opacity:1}}.sparkle-emoji{display:inline-block;transition:width .1s ease-in-out;animation:sparkle-emoji-animation .1s ease-in-out}.repository-lang-stats{position:relative}.repository-lang-stats ol.repository-lang-stats-numbers li{display:table-cell;width:1%;padding:10px 5px;text-align:center;white-space:nowrap;border-bottom:0}.repository-lang-stats ol.repository-lang-stats-numbers li span.percent{float:none}.repository-lang-stats ol.repository-lang-stats-numbers li>a,.repository-lang-stats ol.repository-lang-stats-numbers li>span{font-weight:600;color:var(--color-text-tertiary);text-decoration:none}.repository-lang-stats ol.repository-lang-stats-numbers li .lang{color:var(--color-text-primary)}.repository-lang-stats ol.repository-lang-stats-numbers li .language-color{display:inline-block;width:10px;height:10px;border-radius:50%}.repository-lang-stats ol.repository-lang-stats-numbers li a:hover{background:transparent}.repository-lang-stats-graph{width:100%;overflow:hidden;white-space:nowrap;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid #ddd;border-top:0;border-bottom-right-radius:6px;border-bottom-left-radius:6px}.repository-lang-stats-graph .language-color{line-height:8px;text-indent:-9999px}.repository-lang-stats-graph .language-color:first-child{border-bottom-left-radius:6px}.repository-lang-stats-graph .language-color:last-child{border-bottom-right-radius:6px}.repository-lang-stats-graph .language-color:not(:first-child){border-left:1px solid var(--color-auto-white)}.facebox-loading,.octocat-spinner{min-height:64px;background-image:url(/images/spinners/octocat-spinner-64.gif);background-repeat:no-repeat;background-position:50%}.octocat-spinner-32{min-height:32px;background-image:url(/images/spinners/octocat-spinner-32.gif);background-repeat:no-repeat;background-position:50%}@media only screen and (-moz-min-device-pixel-ratio:2),only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:2dppx),only screen and (min-resolution:192dpi){.facebox-loading,.octocat-spinner{background-image:url(/images/spinners/octocat-spinner-128.gif);background-size:64px 64px}.octocat-spinner-32{background-image:url(/images/spinners/octocat-spinner-64.gif);background-size:32px 32px}}.map-container .activity{top:120px;left:340px;z-index:99999}.map-container .is-graph-loading .activity{display:block}.map{height:350px}.map-background{pointer-events:all;fill:var(--color-auto-blue-5)}.map-background-zoom{cursor:grab}.map-land{fill:none;stroke:#256aae;stroke-width:2}.map-country,.map-land{shape-rendering:crispedges}.map-country{fill:#d7c7ad;cursor:pointer}.map-country.hk{stroke:#a5967e}.map-country:hover{fill:#c8b28e}.map-country.active{fill:#f6e5ca}.map-borders{stroke:#a5967e}.map-borders,.map-graticule{fill:none;shape-rendering:crispedges}.map-graticule{pointer-events:none;stroke:var(--color-auto-white);stroke-opacity:.2}.map-graticule :nth-child(2n){stroke-dasharray:2,2}.map-legend .map-legend-circle{fill-opacity:0;stroke:var(--color-auto-white);stroke-width:1.5}.map-legend .map-legend-text{font-size:10px;fill:var(--color-auto-white);text-anchor:end}.map-legend .map-legend-link{stroke:var(--color-auto-white);stroke-width:1.5}.map-point{pointer-events:none;fill:var(--color-auto-orange-5)}.map-point:hover{fill:var(--color-auto-orange-6)}.map-country-info{top:8px;right:8px;pointer-events:none;opacity:0}.MarketplaceJumbotron{background-color:var(--color-auto-gray-8);background-image:url(/images/modules/marketplace/bg-hero.svg);background-repeat:repeat-y;background-position:top;background-size:150% auto}@media (min-width:768px){.MarketplaceJumbotron{background-repeat:no-repeat;background-size:cover}}.CircleBadge--feature{position:relative;top:0;transition:top .15s ease-in,box-shadow .12s ease-in}.MarketplaceFeature{min-width:250px}.MarketplaceFeature-text{opacity:.7;transition:opacity .12s ease-in}.MarketplaceFeature-link:hover .CircleBadge--feature{top:-3px;box-shadow:0 3px 8px 0 rgba(0,0,0,.2)}.MarketplaceFeature-link:hover .MarketplaceFeature-text{opacity:1}.MarketplaceFeature-link:active .CircleBadge--feature{top:0;box-shadow:0}.MarketplaceSideNav{-webkit-overflow-scrolling:touch;background-color:var(--color-bg-tertiary)}@media (min-width:768px){.MarketplaceSideNav{background-color:var(--color-bg-primary);border-right:1px solid var(--color-border-primary)}}.ScreenshotCarousel{border:1px solid var(--color-border-primary);border-radius:6px}.ScreenshotCarousel-screenshot{display:none;padding:16px}.ScreenshotCarousel-screenshot.active{display:block}.ScreenshotCarousel-nav{display:flex;overflow-x:auto;align-items:top;box-shadow:inset 0 1px 0 var(--color-border-primary)}.ScreenshotCarousel-navitem{width:20%;min-width:120px;padding:16px;cursor:pointer;border-right:1px solid var(--color-border-primary)}.ScreenshotCarousel-navitem:last-child{border-right:0}.ScreenshotCarousel-navitem.selected{background-color:var(--color-bg-tertiary);box-shadow:inset 0 0 4px rgba(var(--color-auto-gray-9),.15)}.marketplace-listing-screenshot-container{width:175px;min-height:175px;background-repeat:no-repeat;background-position:50%;background-size:cover}.marketplace-listing-screenshot-zoom{display:none;cursor:move}.marketplace-listing-details-sidebar{order:2}@media (min-width:768px){.marketplace-listing-details-sidebar{order:1}}.marketplace-listing-details-description{order:1}@media (min-width:768px){.marketplace-listing-details-description{order:2}}.marketplace-listing-screenshot-link{height:100px;cursor:move}.marketplace-listing-screenshot-link:focus .marketplace-listing-screenshot-zoom,.marketplace-listing-screenshot-link:hover .marketplace-listing-screenshot-zoom{top:0;left:0;display:block;width:100%;height:100%;padding-top:28px;background-color:hsla(0,0%,100%,.75)}.marketplace-integratable-logo{width:40px;height:40px}.marketplace-listing-save-error,.marketplace-listing-save-notice{display:none;opacity:0;transition:opacity .15s linear}.marketplace-listing-save-error.visible,.marketplace-listing-save-notice.visible{display:inline-block;opacity:1}.marketplace-listing-screenshot-delete-form{position:absolute;bottom:-24px;width:100%;text-align:center}.marketplace-plan-dollar-field-container .price-note{display:none}.marketplace-plan-dollar-field-container.is-errored .price-note{display:block}.marketplace-plan-dollar-field-container.is-errored .form-control{border-color:var(--color-border-danger)}.marketplace-plan-emphasis{color:var(--color-text-primary)}.selected .marketplace-plan-emphasis{color:var(--color-text-white)}.marketplace-plan-unit-name-preview:before{content:"per "}.marketplace-plan-per-time{clear:right}.marketplace-billing-modal{width:540px;max-height:90vh;margin-top:5vh}.marketplace-listing-markdown,.marketplace-url-link{word-wrap:break-word;white-space:pre-wrap}.marketplace-listing-markdown{line-height:1.4}.marketplace-product-callout{border-color:var(--color-border-tertiary)!important}.marketplace-product-callout:after,.marketplace-product-callout:before{display:none}.marketplace-product-callout .branch-action-item-icon{color:var(--color-text-secondary);background-color:var(--color-auto-gray-2)}.filter-item.selected .Label--gray{color:var(--color-text-white);border-color:var(--color-auto-white)}.MarketplaceEdit-body{min-height:570px}.MarketplaceEdit-body .pricing-model-selector{width:calc(100% - 12px);max-width:100%!important}.MarketplaceEdit-body .menu{border-right:0;border-left:0;border-radius:0}.MarketplaceEdit-body .menu-item{padding:12px 16px;background:var(--color-bg-secondary)}.MarketplaceEdit-body .menu-item.selected{background:var(--color-bg-primary)}.MarketplaceEdit-body .menu-item:hover{background:var(--color-bg-tertiary)}.MarketplaceEdit-body .menu-item.selected:before{position:absolute;top:0;bottom:0;left:0;width:3px;content:"";background-color:var(--color-auto-orange-5)}.MarketplaceEdit-body .menu-item:first-child:before{border-top-left-radius:0}.MarketplaceEdit-body .CircleIcon{display:inline-block;width:32px;height:32px;font-weight:600;line-height:32px;color:var(--color-text-secondary);text-align:center;background:#e6ebf1;border-radius:50%}.MarketplaceEdit-body .CircleIcon .octicon{display:inline-block}.MarketplaceInsights-graph .insights-month .tick:nth-child(2n){visibility:hidden}.BarChart{border-radius:6px}.BarChart-bar{height:10px;border-right:1px solid var(--color-auto-white)}.BarChart-bar--green{background-color:var(--color-auto-green-4)}.BarChart-bar--orange{background-color:var(--color-auto-orange-4)}.BarChart-bar--yellow{background-color:var(--color-auto-yellow-6)}.CircleBadge--tiny{width:32px;height:32px}.CircleBadge--github{position:relative}.CircleBadge--github.CircleBadge--large:after{right:5px;bottom:5px}.CircleBadge--github.CircleBadge--small:after{right:-5px;bottom:-5px}.CircleBadge--github:after{position:absolute;right:0;bottom:0;display:block;width:22px;height:22px;padding:3px;line-height:0;content:"";background:var(--color-bg-primary) url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTExIDBDNC45MjMgMCAwIDQuOTIyIDAgMTFjMCA0Ljg2OCAzLjE0OSA4Ljk3OSA3LjUyMSAxMC40MzYuNTUuMDk3Ljc1Ni0uMjMzLjc1Ni0uNTIyIDAtLjI2Mi0uMDEzLTEuMTI4LS4wMTMtMi4wNDktMi43NjQuNTA5LTMuNDc5LS42NzQtMy42OTktMS4yOTMtLjEyNC0uMzE2LS42Ni0xLjI5Mi0xLjEyOC0xLjU1My0uMzg0LS4yMDYtLjkzNS0uNzE1LS4wMTMtLjcyOS44NjYtLjAxNCAxLjQ4NS43OTggMS42OTEgMS4xMjguOTkgMS42NjMgMi41NzEgMS4xOTYgMy4yMDQuOTA3LjA5Ni0uNzE1LjM4NS0xLjE5Ni43MDEtMS40NzEtMi40NDgtLjI3NS01LjAwNS0xLjIyNC01LjAwNS01LjQzMiAwLTEuMTk2LjQyNi0yLjE4NiAxLjEyNy0yLjk1Ni0uMTEtLjI3NS0uNDk1LTEuNDAyLjExLTIuOTE1IDAgMCAuOTIyLS4yODggMy4wMjUgMS4xMjguODgtLjI0OCAxLjgxNS0uMzcyIDIuNzUtLjM3MnMxLjg3LjEyNCAyLjc1LjM3MmMyLjEwNC0xLjQzIDMuMDI2LTEuMTI4IDMuMDI2LTEuMTI4LjYwNSAxLjUxMy4yMiAyLjY0LjExIDIuOTE1LjcuNzcgMS4xMjcgMS43NDcgMS4xMjcgMi45NTYgMCA0LjIyMi0yLjU3MSA1LjE1Ny01LjAxOSA1LjQzMi4zOTkuMzQzLjc0MyAxLjAwNC43NDMgMi4wMzUgMCAxLjQ3MS0uMDE0IDIuNjU0LS4wMTQgMy4wMjUgMCAuMjg5LjIwNi42MzIuNzU2LjUyMkMxOC44NTEgMTkuOTggMjIgMTUuODU0IDIyIDExYzAtNi4wNzgtNC45MjMtMTEtMTEtMTF6IiBmaWxsPSIjMUIxRjIzIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4=") 50% no-repeat;border-radius:100px}body.page-responsive .flash-full .container{width:100%;max-width:980px}.ClipboardButton{position:relative}.ClipboardButton.ClipboardButton--success{border-color:var(--color-auto-green-5);box-shadow:0 0 0 .2em rgba(52,208,88,.4)}.ClipboardButton.ClipboardButton--success:focus{box-shadow:0 0 0 .2em rgba(52,208,88,.4)}@media (min-width:768px){.MarketplacePlan--sticky{position:-webkit-sticky;position:sticky;top:24px;z-index:999}}@media (max-width:544px){.Box--full{right:0;bottom:0;left:0;width:100%;max-width:none;max-height:none;margin:0;border-radius:0;transform:none}}.MarketplaceBackground-wrapper{position:relative}.MarketplaceBackground-recommendations{position:relative;top:-90px;width:313px;margin-top:-150px;margin-bottom:-120px;overflow:hidden}.MarketplaceBackground-recommendations img{position:relative;top:0;right:225px;width:549px}@media (min-width:544px){.MarketplaceBackground-recommendations{position:relative;width:463px;margin-top:-180px;margin-bottom:70px;overflow:hidden}.MarketplaceBackground-recommendations img{right:305px;width:730px}}@media (min-width:768px){.MarketplaceBackground-recommendations{position:absolute;top:-228px;right:-69px;width:633px}.MarketplaceBackground-recommendations img{right:195px;width:750px}}@media (min-width:1012px){.MarketplaceBackground-recommendations{top:-268px;right:0;width:1040px}.MarketplaceBackground-recommendations img{right:-115px;width:900px}}@media (min-width:1280px){.MarketplaceBackground-recommendations{top:-325px;right:105px;width:1040px}.MarketplaceBackground-recommendations img{right:0;width:1040px}}.MarketplaceBackground-buffer{padding-top:40px;margin-top:-146px;background:var(--color-bg-secondary)}@media (min-width:544px){.MarketplaceBackground-buffer{padding-top:120px;margin-top:-233px}}@media (min-width:768px){.MarketplaceBackground-buffer{margin-top:-109px}}@media (min-width:1012px){.MarketplaceBackground-buffer{margin-top:-89px}}.MarketplaceHeader{overflow:hidden}.muted-link.filter-item.selected{color:var(--color-text-white)!important}.MarketplaceBody{position:relative}@media (min-width:544px){.MarketplaceBody{top:-72px;z-index:2}}.MarketplaceDetails .octicon{transition:transform .2s linear;transform:scaleY(1)}.MarketplaceDetails[open] .octicon{transform:scaleY(-1)}.MarketplaceAnnouncement{color:var(--color-text-white);background:linear-gradient(90deg,#257bf9,#2426ca)}.MarketplaceAnnouncement .btn-outline-mktg{color:var(--color-text-white);background-color:hsla(0,0%,100%,0);border-color:var(--color-fade-white-70)}.MarketplaceAnnouncement .btn-outline-mktg:hover{color:var(--color-auto-blue-2);border-color:var(--color-auto-white)}.MarketplaceAnnouncement-icon{width:80px;opacity:.9}.MarketplaceAnnouncement-description{opacity:.7}.topic-tag-contrast,.topic-tag-contrast .delete-topic-link{background-color:var(--color-auto-blue-2)}.topic-tag-contrast .delete-topic-link{color:var(--color-text-primary);border-left-color:var(--color-fade-black-15)}.topic-tag-contrast .delete-topic-link:hover{background-color:var(--color-auto-blue-3)}.member-list-item .table-list-cell-checkbox{width:30px}.member-list-item.adminable .member-info{padding-left:5px}.member-list-item .member-avatar-cell{width:64px}.member-info{width:450px}.member-info .css-truncate-target{max-width:430px}.member-meta .select-menu-modal{width:310px}.member-meta .select-menu-modal-holder{right:0;text-align:left}.triage-mode .none-selected{display:none}.merge-branch-heading{margin:0;line-height:1;color:var(--color-text-primary)}.merge-branch-description{margin-right:160px;margin-bottom:-5px;line-height:1.6em;color:var(--color-text-secondary)}.merge-branch-description .zeroclipboard-link .octicon{top:2px}.alt-merge-options{display:inline-block;margin-bottom:0;margin-left:4px;vertical-align:middle}.merged .merge-branch-description .commit-ref .css-truncate-target{max-width:180px}.merge-branch-prh-output{margin-top:10px}.merge-branch-form,.queue-branch-form{display:none;padding-left:60px}.merge-branch-manually{display:none;padding-top:16px;margin-top:16px;background-color:initial;border-top:1px solid var(--color-border-primary)}.merge-branch-manually p{margin-bottom:0}.merge-branch-manually h3{margin-bottom:10px}.merge-branch-manually .intro{padding-bottom:10px;margin-top:0}.merge-branch-manually .step{margin:15px 0 5px}.open .merge-branch-manually{display:block}.select-menu-merge-method{width:310px}.select-menu-merge-method .select-menu-item:hover,.select-menu-merge-method .select-menu-item:hover .octicon,.select-menu-merge-method .select-menu-item:hover .select-menu-item-text{color:var(--color-state-hover-primary-text);background-color:var(--color-state-hover-primary-bg)}.select-menu-merge-method .select-menu-item:hover .description{color:var(--color-state-hover-primary-text)}.merge-pr.is-squashing .commit-author-fields{display:none}.merge-pr.is-rebasing .commit-form-fields{display:none;transition:opacity .15s linear 0s,margin-top .25s ease .1s}.merge-pr .btn-group-merge,.merge-pr .btn-group-merge-group,.merge-pr.is-merging-group .btn-group-merge-group,.merge-pr.is-merging-jump .btn-group-merge-jump,.merge-pr.is-merging-solo .btn-group-merge-solo,.merge-pr.is-merging-solo .merge-queue-solo-time-to-merge,.merge-pr.is-merging .btn-group-merge-directly,.merge-pr.is-merging .merging-directly-warning,.merge-pr.is-rebasing .btn-group-rebase,.merge-pr.is-squashing .btn-group-squash,.merge-pr .merge-queue-group-time-to-merge,.merge-pr .merge-queue-info{display:inline-block}.merge-pr.is-merging-group .merge-queue-solo-time-to-merge,.merge-pr.is-merging-solo .merge-queue-group-time-to-merge,.merge-pr.is-merging .branch-action-state-error-if-merging .merging-body,.merge-pr.is-merging .merge-queue-info,.merge-pr .merging-body,.merge-pr .merging-body-merge-warning,.merge-pr .merging-directly-warning,.merge-pr .rebasing-body,.merge-pr .squashing-body{display:none}.merge-pr.is-merging-group .merging-body,.merge-pr.is-merging-jump .merging-body,.merge-pr.is-merging-solo .merging-body,.merge-pr.is-merging .branch-action-state-error-if-merging .merging-body-merge-warning,.merge-pr.is-merging .merging-body,.merge-pr.is-rebasing .rebasing-body,.merge-pr.is-squashing .squashing-body{display:block}.merge-pr .btn-group-merge-directly,.merge-pr .btn-group-merge-jump,.merge-pr .btn-group-merge-solo,.merge-pr .btn-group-rebase,.merge-pr .btn-group-squash,.merge-pr.is-merging-jump .btn-group-merge-group,.merge-pr.is-merging-solo .btn-group-merge-group,.merge-pr.is-merging .btn-group-merge-group,.merge-pr.is-rebasing .btn-group-merge,.merge-pr.is-squashing .btn-group-merge{display:none;margin-left:0}.commit-form-fields{transition:opacity .15s linear .1s,margin-top .25s ease 0s}.unavailable-merge-method{display:block;margin-top:6px;color:var(--color-auto-orange-9)}.navigation-focus.disabled .unavailable-merge-method,[aria-selected=true].disabled .unavailable-merge-method{color:var(--color-text-white)}.network .gravatar,.network .network-tree{vertical-align:middle}.network .gravatar{margin-right:4px;border-radius:6px}.network .octicon{display:inline-block;width:16px;margin-left:2px;text-align:center;vertical-align:middle}.network .current-repository{background-color:var(--color-bg-warning)}.page-new-repo .octicon-repo{color:var(--color-text-tertiary)}.page-new-repo .color-private-icon{color:var(--color-text-warning)}.page-new-repo .form-checkbox.disabled{color:var(--color-text-tertiary)}.page-new-repo .internal-repo-avatar{right:4px;bottom:-4px;border:2px solid var(--color-auto-white)}.owner-reponame dl.form-group{margin-top:5px;margin-bottom:0}.owner-reponame .slash{float:left;padding-top:32px;margin:0 8px;font-size:21px;color:var(--color-text-secondary)}.reponame-suggestion{color:var(--color-text-success);cursor:pointer}.upgrade-upsell{padding-left:33px}.cc-upgrade{padding-left:20px}.news .release{margin-top:0;margin-bottom:0}.news blockquote{color:var(--color-text-secondary)}.news h1{margin-bottom:0}.news .alert{position:relative;padding:0 0 1em 45px;overflow:hidden;border-top:1px solid #eff3f6}.news .alert .commits{padding-left:40px}.news .alert .css-truncate.css-truncate-target,.news .alert .css-truncate .css-truncate-target{max-width:180px}.news .alert p{margin:0}.news .alert .markdown-body blockquote{padding:0 0 0 40px;border-width:0}.news .alert .octicon{color:var(--color-auto-gray-4)}.news .alert .dashboard-event-icon{position:absolute;top:18px;left:22px;transform:translateX(-50%)}.news .alert .body{padding:1em 0 0;overflow:hidden;font-size:14px;border-bottom:0}.news .alert .time{font-size:12px;color:var(--color-auto-gray-4)}.news .alert .title{padding:0;font-weight:600}.news .alert .title .subtle{color:var(--color-auto-gray-4)}.news .alert .gravatar{float:left;margin-right:.6em;line-height:0;background-color:var(--color-bg-primary);border-radius:6px}.news .alert .simple .title{display:inline-block;font-size:13px;font-weight:400;color:var(--color-text-secondary)}.news .alert .simple .time{display:inline-block}.news .alert:first-child{border-top:0}.news .alert:first-child .body{padding-top:0}.news .alert:first-child .dashboard-event-icon{top:0}.news .github-welcome .done{color:var(--color-text-secondary);text-decoration:line-through}.news .commits li{margin-top:.15em;list-style-type:none}.news .commits li.more{padding-top:2px;font-size:11px}.news .commits li .committer{display:none;padding-left:.5em}.news .commits li img{margin:0 1px 0 0;vertical-align:middle;background-color:var(--color-bg-primary);border-radius:6px}.news .commits li img.emoji{padding:0;margin:0;border:0}.news .commits li .message{display:inline-block;max-width:390px;margin-top:2px;overflow:hidden;font-size:13px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap;vertical-align:top}.news div.message,.news li blockquote{display:inline;font-size:13px;color:var(--color-text-secondary)}.notification-routing .notification-email .edit-link{margin-right:10px;font-weight:600}.notification-routing .notification-email .btn-sm{float:none;margin:-2px 0 0}.notification-routing .notification-email .edit-form{display:none}.notification-routing .notification-email.open .edit-form{display:block}.notification-routing .notification-email.open .email-display{display:none}.notifications .read .avatar img{opacity:.5}.notifications .read .undo{display:block}.notifications .read .delete{visibility:hidden}.notifications .read.navigation-focus,.notifications .read[aria-selected=true]{background-color:#f5f9fc}.notifications .muted .unmute{display:block}.notifications .muted .mute,.notifications .unmute{display:none}.notification-thread-subscription:first-child{border-top:1px solid var(--color-border-tertiary)}.notification-subscription-filters-repo .no-results{display:none}.notifications-list{float:left;width:100%}.thread-subscription-status{padding:10px;margin:40px 0 20px;color:var(--color-text-secondary);background-color:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:6px}.thread-subscription-status .btn-sm>.octicon{margin-right:1px}.thread-subscription-status .reason{margin:0 10px}.thread-subscription-status .reason,.thread-subscription-status .thread-subscribe-form{display:inline-block;vertical-align:middle}.subscription .loading{opacity:.5}.notification-shelf{z-index:34}.notification-shelf.is-stuck{z-index:999}.notifications-v2 .archived-notifications-tab .notifications-list-item.notification-archived{display:block}.notifications-v2 .archived-notifications-tab .notifications-list-item.notification-read,.notifications-v2 .archived-notifications-tab .notifications-list-item.notification-unread{display:none}@media (max-width:767px){.notifications-v2 .commit-ref .css-truncate-target{word-break:break-all;white-space:normal}}.notifications-v2 .mixed-notifications-tab .notifications-list-item.notification-archived,.notifications-v2 .mixed-notifications-tab .notifications-list-item.notification-read,.notifications-v2 .mixed-notifications-tab .notifications-list-item.notification-unread{display:block!important}@media (max-width:543px){.notifications-v2 .Box{border-right:0;border-left:0;border-radius:0}}@media (max-width:543px){.notifications-v2 .Box .Box-header{border-right:0!important;border-left:0!important;border-radius:0!important}}@media (max-width:767px){.notifications-v2 .AvatarStack--right{width:auto!important;min-width:auto!important;margin-left:53px!important}}@media (max-width:767px){.notifications-v2 .AvatarStack--right .AvatarStack-body{position:relative!important;right:unset!important;margin-right:8px;flex-direction:row!important}}@media (max-width:767px){.notifications-v2 .AvatarStack-body .avatar{position:relative!important;margin-right:-11px!important;margin-left:0!important;border-right:1px solid #fff!important;border-left:0!important}}.notifications-v2 .thread-subscription-status{background-color:initial!important}.notifications-v2 .notification-action-mark-archived,.notifications-v2 .notification-action-mark-unread,.notifications-v2 .notification-action-star,.notifications-v2 .notification-action-unsubscribe{display:block!important}.notifications-v2 .notification-action-mark-read,.notifications-v2 .notification-action-mark-unarchived,.notifications-v2 .notification-action-subscribe,.notifications-v2 .notification-action-unstar,.notifications-v2 .notification-is-starred-icon,.notifications-v2 .notification-unsubscribed .notification-action-unsubscribe{display:none!important}.notifications-v2 .notification-unread .notification-action-mark-read,.notifications-v2 .notification-unsubscribed .notification-action-subscribe{display:block!important}.notifications-v2 .notification-archived .notification-action-mark-archived,.notifications-v2 .notification-archived .notification-action-mark-read,.notifications-v2 .notification-archived .notification-action-mark-unread,.notifications-v2 .notification-unread .notification-action-mark-unread{display:none!important}.notifications-v2 .notification-archived .notification-action-mark-unarchived{display:block!important}.notifications-v2 .notification-starred .notification-action-star{display:none!important}.notifications-v2 .notification-starred .notification-is-starred-icon{display:inline-block!important}.notifications-v2 .notification-starred .notification-action-unstar{display:block!important}.notifications-v2 .unwatch-suggestions-alert.flash .octicon{margin-right:4px}.notification-navigation .menu-item{color:var(--color-text-tertiary)}.notification-navigation .menu-item:before{display:none}.notification-navigation .menu-item .octicon{color:var(--color-text-secondary)}.notification-navigation .menu-item.selected{background-color:var(--color-bg-info)}.notification-navigation .menu-item.selected .octicon{color:var(--color-text-link)!important}.notification-navigation .notification-configure-filters .octicon{color:var(--color-text-tertiary)!important}.notification-navigation .notification-configure-filters:hover .octicon{color:var(--color-text-link)!important}.notifications-list-item .notification-list-item-link{color:var(--color-text-tertiary)!important}.notifications-list-item.notification-archived,.notifications-list-item.notification-read{background-color:var(--color-notifications-row-read-bg)!important}.notifications-list-item.notification-unread{background-color:var(--color-notifications-row-bg)!important}.notifications-list-item.notification-unread .notification-list-item-link{color:var(--color-text-primary)!important}.notifications-list-item.notification-unread .notification-list-item-unread-indicator{background-color:var(--color-bg-info-inverse)}.notifications-list-item:hover{background-color:var(--color-bg-info)!important;box-shadow:2px 0 0 var(--color-auto-blue-5) inset}.notifications-list-item:hover .notification-list-item-link{color:var(--color-text-primary)!important}.notifications-list-item:hover .notification-list-item-actions{display:flex!important}@media (max-width:767px){.notifications-list-item:hover .notification-list-item-actions{display:none!important}}.notifications-list-item:hover .notification-list-item-actions .btn{color:var(--color-text-secondary)!important;background-color:var(--color-bg-info)!important;border:0!important}.notifications-list-item:hover .notification-list-item-actions .btn .octicon{color:var(--color-notifications-button-text)!important}.notifications-list-item:hover .notification-list-item-actions .btn:hover{background-color:var(--color-notifications-button-hover-bg)!important}.notifications-list-item:hover .notification-list-item-actions .btn:hover .octicon{color:var(--color-notifications-button-hover-text)!important}.notifications-list-item:hover .notification-list-item-hide-on-hover{visibility:hidden!important}.notifications-list-item:hover .AvatarStack-body{background:var(--color-bg-info)}.notifications-list-item.navigation-focus{background-color:var(--color-bg-info)!important;box-shadow:2px 0 0 var(--color-auto-blue-5) inset}.notifications-list-item.navigation-focus .notification-list-item-link{color:var(--color-text-primary)!important}.notifications-list-item:last-child{border-bottom:0!important}.notifications-list-item .Label{font-size:12px}.notifications-list-item .notification-list-item-unread-indicator{width:8px;height:8px;background:none}.notifications-list-item.notification-archived{display:none}.notifications-v2 .thread-subscribe-form{display:none!important}.oauth-permissions-details{position:relative;padding:15px;margin:0;list-style:none;border-bottom:1px solid #f2f2f2}.oauth-permissions-details:first-child{border-radius:6px 6px 0 0}.oauth-permissions-details:last-child{border:0;border-radius:0 0 6px 6px}.oauth-permissions-details.oauth-public-data-only{border-radius:6px}.oauth-permissions-details .markdown-body{font-size:13px}.oauth-permissions-details .content{display:none;margin-left:45px}.oauth-permissions-details .content .form-checkbox{margin-left:0}.oauth-permissions-details .content .form-checkbox:last-child{margin-bottom:0}.oauth-permissions-details .octicon{float:left;color:var(--color-text-secondary);text-align:center}.oauth-permissions-details .permission-help{font-size:13px}.oauth-permissions-details .permission-help ul{padding-left:20px;margin:1em 0}.oauth-permissions-details .permission-summary{margin-left:45px}.oauth-permissions-details .permission-summary .access-details{position:relative;color:var(--color-text-secondary)}.oauth-permissions-details .permission-summary em.highlight{position:relative;padding:2px 3px;margin-right:-2px;margin-left:-3px;font-style:normal;color:#4c4a42;background:#fff9ea;border-radius:6px}.oauth-permissions-details .permission-title{display:block;color:var(--color-text-primary)}.oauth-permissions-details a.btn-sm{float:right;margin-top:4px}.oauth-permissions-details.open a.btn-sm{background-color:#dcdcdc;background-image:none;border-color:#b5b5b5;box-shadow:inset 0 2px 4px rgba(0,0,0,.15)}.oauth-permissions-details.open .content{display:block}.oauth-permissions-details.default:not(.delete) .default-access,.oauth-permissions-details.default:not(.delete) .no-access,.oauth-permissions-details.none .default-access,.oauth-permissions-details.none .no-access{display:inline}.oauth-permissions-details.default:not(.delete) .access-details,.oauth-permissions-details.default:not(.delete) .permission-title,.oauth-permissions-details.none .access-details,.oauth-permissions-details.none .permission-title{color:var(--color-text-tertiary)}.oauth-permissions-details.default:not(.delete) .octicon,.oauth-permissions-details.none .octicon{color:#ccc}.oauth-permissions-details.default .default-access,.oauth-permissions-details.full .full-access{display:inline}.oauth-details-toggle{position:absolute;top:0;right:0;padding:20px 15px}.oauth-details-toggle .octicon-chevron-up,.open .oauth-details-toggle .octicon-chevron-down{display:none}.open .oauth-details-toggle .octicon-chevron-up{display:block}.oauth-user-permissions .full-access,.oauth-user-permissions .limited-access,.oauth-user-permissions .limited-access-emails,.oauth-user-permissions .limited-access-emails-followers,.oauth-user-permissions .limited-access-emails-profile,.oauth-user-permissions .limited-access-followers,.oauth-user-permissions .limited-access-followers-profile,.oauth-user-permissions .limited-access-profile,.oauth-user-permissions .no-access{display:none}.oauth-user-permissions.limited.limited-email .limited-access-emails{display:inline}.oauth-user-permissions.limited.limited-email.limited-profile .limited-access-emails,.oauth-user-permissions.limited.limited-email.limited-profile .limited-access-profile{display:none}.oauth-user-permissions.limited.limited-email.limited-profile .limited-access-emails-profile{display:inline}.oauth-user-permissions.limited.limited-email.limited-profile.limited-follow .limited-access-emails,.oauth-user-permissions.limited.limited-email.limited-profile.limited-follow .limited-access-emails-followers,.oauth-user-permissions.limited.limited-email.limited-profile.limited-follow .limited-access-emails-profile,.oauth-user-permissions.limited.limited-email.limited-profile.limited-follow .limited-access-followers,.oauth-user-permissions.limited.limited-email.limited-profile.limited-follow .limited-access-followers-profile,.oauth-user-permissions.limited.limited-email.limited-profile.limited-follow .limited-access-profile{display:none}.oauth-user-permissions.limited.limited-email.limited-profile.limited-follow .limited-access{display:inline}.oauth-user-permissions.limited.limited-email.limited-follow .limited-access-emails,.oauth-user-permissions.limited.limited-email.limited-follow .limited-access-followers{display:none}.oauth-user-permissions.limited.limited-email.limited-follow .limited-access-emails-followers,.oauth-user-permissions.limited.limited-follow .limited-access-followers{display:inline}.oauth-user-permissions.limited.limited-follow.limited-profile .limited-access-followers,.oauth-user-permissions.limited.limited-follow.limited-profile .limited-access-profile{display:none}.oauth-user-permissions.limited.limited-follow.limited-profile .limited-access-followers-profile,.oauth-user-permissions.limited.limited-profile .limited-access-profile{display:inline}.oauth-repo-permissions .default-access,.oauth-repo-permissions .full-access,.oauth-repo-permissions .limited-repo-invite-access,.oauth-repo-permissions .public-access{display:none}.oauth-repo-permissions.default .default-access,.oauth-repo-permissions.full .full-access,.oauth-repo-permissions.limited-repo-invite .limited-repo-invite-access,.oauth-repo-permissions.public .public-access{display:inline}.oauth-delete-repo-permissions .octicon-alert{color:var(--color-text-danger)}.oauth-notifications-permissions .no-access,.oauth-notifications-permissions .read-access,.oauth-notifications-permissions .via-full-access,.oauth-notifications-permissions .via-public-access,.oauth-repo-deployment-permissions .full-access,.oauth-repo-deployment-permissions .no-access,.oauth-repo-status-permissions .full-access,.oauth-repo-status-permissions .no-access{display:none}.oauth-notifications-permissions.read .read-access,.oauth-notifications-permissions.via-public .via-public-access{display:inline}.oauth-notifications-permissions.via-public .octicon{display:none}.oauth-notifications-permissions.via-full .via-full-access{display:inline}.oauth-gist-permissions .full-access,.oauth-gist-permissions .no-access,.oauth-granular-permissions .full-access,.oauth-granular-permissions .no-access,.oauth-granular-permissions .read-access,.oauth-granular-permissions .write-access{display:none}.oauth-granular-permissions.full .full-access,.oauth-granular-permissions.none .no-access,.oauth-granular-permissions.read .read-access,.oauth-granular-permissions.write .write-access{display:inline}.oauth-no-description{color:var(--color-text-secondary)}.oauth-org-access-details{background:var(--color-bg-primary)}.oauth-org-access-details .oauth-org-item:hover{background:#ffe}.oauth-org-access-details a:hover{text-decoration:none}.oauth-org-access-details .boxed-group-inner{border:0;border-radius:6px}.oauth-org-access-details .oauth-org-item{line-height:24px}.oauth-org-access-details .oauth-org-item:first-child{border-radius:6px 6px 0 0}.oauth-org-access-details .oauth-org-item .loading-indicator{display:none;margin:4px}.oauth-org-access-details .oauth-org-item.on .authorized-tools{display:block}.oauth-org-access-details .oauth-org-item.on .unauthorized-tools{display:none}.oauth-org-access-details .oauth-org-item.on strong{color:var(--color-text-primary)}.oauth-org-access-details .oauth-org-item.on .octicon-check{display:inline}.oauth-org-access-details .oauth-org-item.on .octicon-x{display:none}.oauth-org-access-details .oauth-org-item.revoked{background:var(--color-bg-primary)}.oauth-org-access-details .oauth-org-item.revoked .authorized-tools,.oauth-org-access-details .oauth-org-item.revoked .unauthorized-tools{display:none}.oauth-org-access-details .oauth-org-item.revoked .octicon-x{color:var(--color-text-danger)}.oauth-org-access-details .oauth-org-item.loading .authorized-tools,.oauth-org-access-details .oauth-org-item.loading .unauthorized-tools{display:none}.oauth-org-access-details .oauth-org-item.loading .loading-indicator{display:block}.oauth-org-access-details .oauth-org-item .authorized-tools{display:none}.oauth-org-access-details .oauth-org-item .unauthorized-tools{display:block}.oauth-org-access-details .btn{line-height:1.5em}.oauth-org-access-details .octicon{color:#979797}.oauth-org-access-details .octicon-check{display:none;color:var(--color-auto-green-5)}.oauth-org-access-details .octicon-x{display:inline}.oauth-org-access-details .octicon-x.org-access-denied{color:var(--color-text-danger)}.oauth-application-whitelist h2{display:inline-block}.oauth-application-whitelist .request-info{display:block}.oauth-application-whitelist .request-info strong{display:inline-block;color:var(--color-text-primary)}.oauth-application-whitelist .request-info .application-description{display:none}.oauth-application-whitelist .request-info.open .application-description{display:block}.oauth-application-whitelist .avatar{margin-top:0}.oauth-application-whitelist .requestor{font-weight:600}.oauth-application-whitelist .octicon-alert{color:var(--color-auto-orange-9)}.oauth-application-whitelist .approved-request,.oauth-application-whitelist .octicon-check{color:var(--color-auto-green-5)}.oauth-application-whitelist .denied-request{color:var(--color-text-danger)}.oauth-application-whitelist .request-indicator{margin-left:10px}.oauth-application-whitelist .edit-link{color:var(--color-text-tertiary)}.oauth-application-whitelist .edit-link:hover{color:var(--color-text-link)}.oauth-application-whitelist .boxed-group-list{margin-top:1em}.oauth-application-whitelist .boxed-group-list li{padding:10px}.boxed-group-inner .oauth-application-info{margin-bottom:10px}.oauth-application-info .application-title{font-size:30px;color:var(--color-text-primary)}.oauth-application-info .application-description{margin-top:3px;margin-bottom:0}.oauth-application-info .app-info{display:inline-block;margin-right:10px;color:var(--color-text-tertiary)}.oauth-application-info .app-info .octicon{margin-right:5px}.oauth-application-info .listgroup-item{line-height:inherit}.oauth-application-info .app-approved,.oauth-application-info .app-denied{margin-left:10px;font-size:13px;font-weight:400;white-space:nowrap}.oauth-application-info .app-approved,.oauth-application-info .octicon-check{color:var(--color-auto-green-5)}.oauth-application-info .app-denied,.oauth-application-info .octicon-x{color:var(--color-auto-orange-9)}.restrict-oauth-access-button{margin-right:20px}.restrict-oauth-access-info{margin-bottom:40px;font-size:15px}.restrict-oauth-access-list{padding-left:25px}.restrict-oauth-access-list li{margin-bottom:10px}.restrict-oauth-access-list li:last-child{margin-bottom:0}.app-transfer-actions form{display:inline}.oauth-border{border-top:1px solid var(--color-border-secondary)}.oauth-border:last-child{border-bottom:1px solid var(--color-border-secondary)}.developer-app-item .developer-app-avatar-cell{width:60px}.developer-app-item .developer-app-name{font-size:15px;font-weight:600;line-height:1.2;color:var(--color-text-primary)}.developer-app-item .developer-app-name:hover{color:var(--color-text-link);text-decoration:none}.developer-app-item .developer-app-info-cell{padding-left:0}.developer-app-item .developer-app-list-meta{margin-top:3px;margin-bottom:2px;font-weight:400;color:var(--color-text-tertiary)}.org-transfer-requests{margin:10px 0 20px}.octocaptcha-frame{height:340px}.zero-height,.zero-height .octocaptcha-frame{height:0!important}.toggle-secret-field .secret-standin{display:block}.toggle-secret-field.open .secret-standin,.toggle-secret-field .secret-field{display:none}.toggle-secret-field.open .secret-field{display:block}.org-insights-graph-canvas .activity{width:400px;padding:10px;margin:100px auto 0;color:var(--color-auto-gray-8);text-align:center;border-radius:6px}.org-insights-graph-canvas .dots{margin:0 auto}.org-insights-graph-canvas .totals circle{stroke-width:4;opacity:0}.org-insights-graph-canvas .totals circle:only-child{opacity:1}.org-insights-graph-canvas>.activity{display:none}.org-insights-graph-canvas .axis{font-size:10px}.org-insights-graph-canvas .axis line{stroke:rgba(27,31,35,.1);shape-rendering:crispedges}.org-insights-graph-canvas .axis text{font-size:12px;font-weight:300;fill:var(--color-auto-gray-4)}.org-insights-graph-canvas .axis path{display:none}.org-insights-graph-canvas .axis .zero line{stroke:var(--color-auto-blue-5);stroke-dasharray:3 3;stroke-width:1.5}.org-insights-graph-canvas path{fill:none;stroke-width:2}.org-insights-graph-canvas .y line{display:none}.org-insights-graph-canvas .y.unique line{stroke:#1d7fb3}.org-insights-graph-canvas .overlay{fill-opacity:0}.org-insights-graph-canvas .graph-loading{padding:110px 0}.org-insights-graph-canvas .graph-empty,.org-insights-graph-canvas .graph-error,.org-insights-graph-canvas .graph-loading,.org-insights-graph-canvas .graph-no-usable-data{display:none}.org-insights-graph-canvas.is-graph-empty .graph-empty,.org-insights-graph-canvas.is-graph-empty>.activity,.org-insights-graph-canvas.is-graph-load-error .graph-error,.org-insights-graph-canvas.is-graph-loading .graph-loading,.org-insights-graph-canvas.is-graph-loading>.activity,.org-insights-graph-canvas.is-graph-without-usable-data .graph-no-usable-data,.org-insights-graph-canvas.is-graph-without-usable-data>.activity{display:block}.org-insights-svg-tip{position:absolute;z-index:99999;padding:10px;pointer-events:none}.org-insights-svg-tip.is-visible{display:block}.org-insights-svg-tip:after,.org-insights-svg-tip:before{position:absolute;top:100%;left:50%;width:0;height:0;pointer-events:none;content:" ";border:solid transparent}.org-insights-svg-tip:after{margin-left:-5px;border-color:hsla(0,0%,100%,0);border-width:5px;border-top-color:var(--color-auto-white)}.org-insights-svg-tip:before{margin-left:-6px;border-color:transparent;border-width:6px;border-top-color:var(--color-border-primary)}.org-insights-svg-tip.comparison{padding:10px;text-align:left;pointer-events:none}.org-insights-svg-tip.comparison ul{margin:0;white-space:nowrap;list-style:none}.org-insights-svg-tip.comparison li{position:relative}.org-insights-svg-tip.comparison li .legend{width:7px;height:7px;border-radius:50%}.org-insights-card-legend .metric-0{color:var(--color-text-link)}.org-insights-card-legend .metric-1{color:var(--color-text-success)}.org-insights-card-legend .metric-2{color:var(--color-auto-orange-6)}.org-insights-card-legend .metric-3{color:var(--color-auto-purple-5)}.org-insights-graph-canvas .metric-0 circle,.org-insights-graph-canvas path.metric-0,.org-insights-svg-tip .metric-0 .legend{stroke:var(--color-text-link);background-color:var(--color-text-link)}.org-insights-graph-canvas .metric-1 circle,.org-insights-graph-canvas path.metric-1,.org-insights-svg-tip .metric-1 .legend{stroke:var(--color-text-success);background-color:var(--color-text-success)}.org-insights-graph-canvas .metric-2 circle,.org-insights-graph-canvas path.metric-2,.org-insights-svg-tip .metric-2 .legend{stroke:var(--color-auto-orange-6);background-color:var(--color-auto-orange-6)}.org-insights-graph-canvas .metric-3 circle,.org-insights-graph-canvas path.metric-3,.org-insights-svg-tip .metric-3 .legend{stroke:var(--color-auto-purple-5);background-color:var(--color-auto-purple-5)}.org-insights-cards .boxed-group{width:100%;margin:10px 0}.org-insights-cards .org-insights-card-legend{display:none;color:var(--color-auto-gray-4)}.org-insights-cards .repository-lang-stats-graph{overflow:visible;cursor:default;border:0}.org-insights-cards .repository-lang-stats-graph .language-color{min-width:24px;margin-right:-12px;border:2px solid var(--color-auto-white)}.org-insights-cards .is-rendered .org-insights-card-legend{display:block}@media (min-width:544px){.org-insights-cards .is-rendered .org-insights-card-legend{display:flex}}.org-insights-cards .octicon-arrow-down,.org-insights-cards .octicon-arrow-up{display:none}.org-insights-cards .is-decrease .octicon-arrow-down,.org-insights-cards .is-increase .octicon-arrow-up{display:inline-block}.org-insights-cards .graph-canvas .dots{padding:43px 0}.invitation-2fa-banner{margin-right:-24px;margin-left:-24px}.sign-up-via-invitation .bleed-flush{width:100%;padding:0 20px;margin-left:-20px;border-color:#d8dee2}.sign-up-via-invitation label{font-size:13px}.orghead{padding-top:16px;padding-bottom:0;margin-bottom:16px;color:var(--color-text-primary);background-color:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-primary)}.orghead .orgnav{position:relative;top:1px;margin-top:10px}.org-header-wrapper .TableObject-item--primary,.org-repos .TableObject-item--primary{white-space:normal}.org-header-wrapper .avatar{display:block;width:100px}.org-header-wrapper .TableObject-item--primary{padding-left:20px}.org-name{font-weight:400;color:#333}.audit-log-search .member-info{width:300px}.audit-log-search .member-info .member-avatar{float:left;margin-right:15px}.audit-log-search .member-info .member-link{display:block}.audit-log-search .member-info .member-list-avatar{margin-right:0}.audit-log-search .member-info .ghost{display:inline-block;color:var(--color-text-secondary)}.audit-log-search .blankslate{border-top-left-radius:0;border-top-right-radius:0}.audit-log-search .export-phrase{margin:5px 0}.audit-results-actions{overflow:auto}.audit-search-clear{float:left;margin-bottom:20px;border:0}.audit-search-clear .issues-reset-query{margin-bottom:0}.audit-type{width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audit-type .octicon{margin-right:3px;font-weight:400;vertical-align:bottom}.audit-type .repo{color:var(--color-auto-orange-9)}.audit-type .team{color:var(--color-auto-green-5)}.audit-type .user{color:var(--color-auto-purple-5)}.audit-type .oauth_access{color:var(--color-text-danger)}.audit-type .hook{color:#e1bf4e}.export-phrase{margin-top:5px}.export-phrase pre{padding-left:10px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;white-space:pre-wrap;border-left:1px solid #eee}.two-factor-enforcement-form .loading-spinner{float:left;margin:0 0 0 -20px;vertical-align:middle}.saml-enabled-banner-container{background-color:var(--color-bg-canvas)}.saml-settings-form .test-status-indicator{width:30px;height:30px;margin-top:-4px;border-radius:50%}.saml-settings-form .test-status-indicator .octicon{display:block;margin-top:7px;margin-right:auto;margin-left:auto}.saml-settings-form .form-group.errored{margin-bottom:40px}.saml-settings-form .test-status-indicator-error{color:var(--color-text-white);background-color:var(--color-text-danger)}.saml-settings-form .test-status-indicator-success{color:var(--color-text-white);background-color:var(--color-bg-success-inverse)}.saml-settings-form .details-container .method-field{display:none}.saml-settings-form .details-container .method-label{font-weight:400}.saml-settings-form .details-container .details-target{cursor:pointer}.saml-settings-form .details-container.open .details-target,.saml-settings-form .details-container.open .method-value{display:none}.saml-settings-form .details-container.open .method-field{display:inline-block}.saml-settings-form .saml-enforcement-disabled{opacity:.5}.form-group .form-control.saml-certificate-field{width:440px;height:150px;min-height:0}.member-avatar{float:left;margin:1px}.member-fullname{color:var(--color-text-secondary)}.org-toolbar.disabled{pointer-events:none}.org-toolbar .subnav-search{width:320px;margin-right:20px;margin-left:0}.org-toolbar .subnav-search-context+.subnav-search{margin-left:-1px}.org-toolbar .subnav-search-input{width:100%}.org-toolbar-next{margin-bottom:24px}.org-toolbar-next .subnav-search{width:240px}.auto-search-group{position:relative}.auto-search-group .auto-search-input{padding-left:30px}.auto-search-group .spinner,.auto-search-group>.octicon{position:absolute;left:10px;z-index:5;width:16px;height:16px}.auto-search-group .spinner{top:9px;background-color:var(--color-bg-primary)}.auto-search-group>.octicon{top:10px;font-size:14px;color:var(--color-icon-secondary);text-align:center}.org-list .list-item{position:relative;padding-top:15px;padding-bottom:15px;border-bottom:1px solid #eee}.org-list .list-item:before{display:table;content:""}.org-list .list-item:after{display:table;clear:both;content:""}.org-repos-mini{padding:0;margin:0}.org-repos-mini .org-repo-mini-item:first-child .org-repo-mini-cell{border-top:0}.org-repos-mini .org-repo-name{margin-top:0;margin-bottom:0;font-size:14px;word-wrap:break-word}.org-repos-mini .org-repo-name .octicon-repo{color:var(--color-text-secondary)}.org-repos-mini .org-repo-name .octicon-lock{color:var(--color-icon-warning)}.org-repos-mini .org-repo-name .repo-prefix{font-weight:400}.org-repos-mini .org-repo-name .repo-slash{display:inline-block;margin-right:-4px;margin-left:-4px}.org-repo-mini-cell{padding-top:15px;padding-bottom:15px;vertical-align:middle}.org-repo-meta{width:165px}.org-repo-meta .access-level{cursor:default}.with-higher-access .table-list-cell-checkbox{vertical-align:top}.permission-level-cell .select-menu-button{width:90px;text-align:left}.permission-level-cell .select-menu-button:after{position:absolute;top:10px;right:10px}.permission-level-cell .spinner{float:none;opacity:0;transition:opacity .2s ease-in-out}.permission-level-cell .is-loading .spinner{opacity:1}.select-menu-option-title{margin-top:0;margin-bottom:0}.reinstate-org-member{position:relative;width:500px;margin:40px auto}.reinstate-org-member .reinstate-lead{margin-bottom:30px;font-size:16px}.reinstate-org-member label{cursor:pointer}.reinstate-org-member .reinstate-detail-container{margin:15px 0}.reinstate-org-member .reinstate-title{color:#333}.reinstate-org-member .reinstate-title .octicon{width:16px;margin-right:10px;color:#999}.add-member-wrapper{position:relative;width:500px;margin:40px auto}.add-member-wrapper .available-seats{color:var(--color-text-secondary)}.add-member-team-list{display:block;margin-bottom:30px;list-style:none}.add-member-team-list .team-row-header{padding:10px 20px 10px 0;font-size:12px;text-align:right;background:var(--color-bg-secondary);border-top-left-radius:6px;border-top-right-radius:6px}.add-member-team-list .team-row-header .team-row-teams{margin-right:245px}.add-member-team-list .team-row-header .team-row-members{margin-right:35px}.add-member-team-list .team{display:block;font-weight:400;cursor:pointer}.add-member-team-list .team:first-child{border-top:1px solid var(--color-border-secondary)}.add-member-team-list .team .btn-sm{float:right}.add-member-team-list .team-info{max-width:80%;color:var(--color-text-primary);text-decoration:none}.add-member-team-list .team-meta{margin-top:2px;margin-bottom:2px;color:var(--color-text-secondary)}.add-member-team-list .team-description{width:260px;margin-top:2px;margin-bottom:2px}.add-member-team-list .team-toggler.on .turn-off,.add-member-team-list .team-toggler .turn-on{display:inline-block}.add-member-team-list .team-toggler.on .turn-on,.add-member-team-list .team-toggler .turn-off{display:none}.invite-team-member-list .team{cursor:default}.invite-team-member-list .team:first-child .table-list-cell{border-top:0}.invite-team-member-list .table-list-cell-checkbox{width:42px}.invite-team-member-list .team-toggler{padding-top:12px;padding-right:3px}.invite-team-member-list .team-info{width:260px;padding:10px 15px 10px 0}.invite-team-member-list .team-description{display:block;padding-top:0;padding-bottom:0;font-weight:400}.invite-team-member-list .team-meta{width:100px;text-align:left;vertical-align:middle}.invite-team-member-list .team-link{color:var(--color-text-link);text-align:right}.team-stats{padding-right:15px;padding-left:15px;margin-right:-15px;margin-bottom:-15px;margin-left:-15px;border-top:1px solid #eee}.stats-group{display:table;width:100%;table-layout:fixed}.stats-group-stat{display:table-cell;padding-top:10px;padding-bottom:10px;padding-left:15px;font-size:12px;color:var(--color-text-secondary);text-transform:uppercase}.stats-group-stat:first-child{padding-left:0;border-right:1px solid #eee}.stats-group-stat:hover,.stats-group-stat:hover .stat-number{color:var(--color-text-link);text-decoration:none}.stats-group-stat.no-link:hover{color:var(--color-text-secondary);text-decoration:none}.stats-group-stat.no-link:hover .stat-number{color:#333}.stat-number{display:block;font-size:16px;color:#333}.permission-title{margin-top:0}.invite-member-results ul{margin:0}.team-member-list{list-style:none}.team-member-list .table-list-cell{padding-top:15px;padding-bottom:15px}.team-member-list .team-member-content{margin-left:50px}.team-member-list .team-member-username{margin:0;font-size:14px;font-weight:600;line-height:20px}.team-member-list .Label--gray,.team-member-list .Label--outline{cursor:default}.team-member-list .invite-icon{width:28px;color:var(--color-auto-gray-4)}.menu-item-danger,.menu-item-danger.selected{color:var(--color-text-danger)}.menu-item-danger.navigation-focus,.menu-item-danger.selected.navigation-focus,.menu-item-danger.selected:hover,.menu-item-danger.selected[aria-selected=true],.menu-item-danger:hover,.menu-item-danger[aria-selected=true]{color:var(--color-text-white);background:var(--color-bg-danger-inverse)}.team-member-list-avatar{float:left;margin-right:10px}.team-member-list-avatar .octicon{width:40px;color:var(--color-auto-gray-4)}.org-team-form .disabled{opacity:.5}.org-team-form .css-truncate-target{max-width:250px}.confirm-removal-container .private-fork-count{margin-top:0;font-size:12px;font-weight:400;color:var(--color-text-secondary)}.confirm-removal-container .deleting-private-forks-warning{position:relative;padding-left:26px}.confirm-removal-container .deleting-private-forks-warning .octicon{position:absolute;top:2px;left:0;color:var(--color-text-danger)}.confirm-removal-list-container{margin-bottom:15px;border:1px solid #eaeaea;border-radius:6px}.confirm-removal-list-item{padding:10px;margin:0;font-size:14px;font-weight:600;border-top:1px solid #eaeaea}.confirm-removal-list-item:first-child{border-top:0}.confirm-removal-repo .octicon,.confirm-removal-team .octicon{margin-right:3px;color:var(--color-text-secondary)}.team-repo-access-list{max-height:245px}.manage-member-meta{list-style:none}.manage-member-meta-item{margin-top:12px;color:var(--color-text-secondary)}.manage-member-meta-item:first-child{margin-top:0}.manage-member-meta-item .btn-link{color:var(--color-text-secondary)}.manage-member-meta-item>.octicon{width:14px;margin-right:5px;color:var(--color-text-secondary);text-align:center}.manage-member-meta-item>.octicon-alert{color:var(--color-auto-orange-9)}.manage-member-button{margin-bottom:10px}.org-user-notice-title{margin-top:0;margin-bottom:0}.org-user-notice-content{margin-top:10px;margin-bottom:10px;font-size:14px}.org-user-notice-content strong{color:var(--color-text-primary)}.org-user-notice-content:last-child{margin-bottom:0}.org-user-notice-content .octicon,.org-user-notice-icon{color:var(--color-text-secondary)}.org-user-notice-icon{float:right;margin:10px 10px 20px;font-size:45px}.manage-repo-access-header{margin-top:30px;margin-bottom:30px}.manage-repo-access-header:before{display:table;content:""}.manage-repo-access-header:after{display:table;clear:both;content:""}.manage-repo-access-header .btn{margin-top:8px}.manage-repo-access-header .tooltipped:after{width:250px;white-space:normal}.manage-repo-access-heading{margin-top:-2px;margin-bottom:0;font-size:24px;font-weight:400}.manage-repo-access-lead{margin-top:3px;margin-bottom:0;font-size:16px;color:var(--color-text-secondary)}.manage-repo-access-group{background-color:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:6px}.manage-repo-access-title{padding:12px 15px;margin-top:0;margin-bottom:0;font-size:14px;background-color:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-secondary);border-radius:6px 6px 0 0}.manage-repo-access-wrapper{position:relative;padding-left:25px}.manage-repo-access-wrapper:before{position:absolute;top:15px;bottom:15px;left:22px;z-index:1;display:block;width:2px;content:"";background-color:var(--color-bg-primary)}.manage-repo-access-icon{position:relative;z-index:2;float:left;padding-top:2px;padding-bottom:2px;margin-top:-3px;margin-left:-25px;background:var(--color-bg-primary)}.manage-repo-access-icon .octicon{font-size:14px;color:var(--color-icon-primary)}.manage-repo-access-list{list-style:none}.manage-repo-access-list-item{padding:15px}.manage-repo-access-list-item:last-child{border-bottom:0;border-radius:0 0 6px 6px}.manage-repo-access-teams-group{margin-top:-20px;list-style:none;border:1px solid #ddd;border-radius:6px}.manage-repo-access-team-item{border-top:1px solid #eee}.manage-repo-access-team-item:first-child{border-top:0}.manage-repo-access-description{margin-top:3px;margin-bottom:0;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;white-space:nowrap}.manage-repo-access-not-active{color:var(--color-text-primary);background-color:var(--color-bg-secondary)}.manage-repo-access-not-active .manage-repo-access-icon{background:#f9f9f9}.manage-access-remove-footer{padding:15px;border-top:1px solid var(--color-border-secondary)}.manage-access-remove-footer .tooltipped:after{width:250px;white-space:normal}.manage-access-none{margin:20px 50px;text-align:center}.ldap-group-dn{display:block;font-weight:400;color:#aaa}.ldap-import-groups-container .blankslate{display:none}.ldap-import-groups-container.is-empty .blankslate{display:block}.ldap-import-groups-container.is-empty .ldap-memberships-list{display:none}.ldap-memberships-list{margin-bottom:30px}.ldap-memberships-list .table-list-cell{padding-top:10px;padding-bottom:10px;font-size:13px;vertical-align:middle}.ldap-memberships-list .table-list-cell:last-child{width:92px}.ldap-memberships-list .ldap-list-team-name{width:380px}.ldap-memberships-list .ldap-group-dn{font-size:11px}.ldap-memberships-list .ldap-mention-as{width:260px}.ldap-memberships-list .edit{position:absolute;padding:10px;margin-left:-33px;color:var(--color-text-link);cursor:pointer}.ldap-memberships-list .edit-fields,.ldap-memberships-list .is-editing .edit-hide{display:none}.ldap-memberships-list .is-editing .edit-fields{display:block}.ldap-memberships-list .is-editing .spinner{margin-left:15px;vertical-align:middle}.ldap-memberships-list .is-removing{opacity:.25}.ldap-memberships-list .is-removing .edit{opacity:.5}.team-name-field{height:33px}.ldap-import-form-actions{margin-top:30px}.invited .team-member-list{margin:-20px 0}.invited .team-member-list .list-item{padding:10px 0;border-bottom:1px solid #eee}.invited .team-member-list .list-item:before{display:table;content:""}.invited .team-member-list .list-item:after{display:table;clear:both;content:""}.invited .team-member-list .list-item:last-of-type{border:0}.invited .team-member-list .list-item .edit-invitation{float:right;margin-top:6px}.invited-banner{margin-bottom:20px}.invited-banner:after,.invited-banner:before{display:table;content:""}.invited-banner:after{clear:both}.invited-banner .btn-sm{float:right;margin-left:5px}.invited-banner p{font-size:15px;line-height:1.6}.invited-banner .inviter-link{font-weight:600}.manage-member-sso-sessions.has-active-sessions .blankslate{display:none}.manage-memberships-nav{position:relative;top:1px;margin-top:10px}.manage-memberships-tabs-item{cursor:pointer;border:1px solid transparent;border-top:3px solid transparent;border-radius:6px 6px 0 0}.manage-memberships-tabs-item:hover{color:#333}.manage-memberships-tabs-item.selected{font-weight:600;color:var(--color-text-primary);background-color:var(--color-bg-primary);border-bottom:2px solid #d26911}.clock-blink{animation:blinkingText 3s infinite}@keyframes blinkingText{0%{color:var(--color-auto-gray-2)}50%{color:var(--color-fade-white-15)}33%{color:var(--color-auto-gray-2)}to{color:var(--color-auto-gray-2)}}.countdown-clock{position:absolute;right:0;z-index:90;cursor:pointer}.org-menu-item:not([aria-current=page])+.org-sub-menu{display:none}.theme-picker{margin-bottom:-1px;background-color:var(--color-bg-primary);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.1);box-shadow:0 5px 10px rgba(0,0,0,.1)}.theme-picker>.container{position:relative;overflow:hidden;text-align:center}.theme-picker-thumbs{border-bottom:1px solid #eee}.theme-toggle{width:32px;height:32px;padding:0;color:#ccc;background:none;border:0}.theme-toggle:hover{color:#0084c8;text-decoration:none}.theme-toggle.disabled,.theme-toggle.disabled:hover{color:#ccc;cursor:not-allowed;opacity:.3}.theme-toggle-full-left,.theme-toggle-full-right{position:absolute;top:50px;overflow:hidden}.theme-toggle-full-left{left:4px}.theme-toggle-full-right{right:4px}.theme-selector{height:102px;margin:15px 46px}.theme-selector-thumbnail{padding:2px;border:1px solid #ddd}.theme-selector-thumbnail:hover{text-decoration:none;background-color:#f5f5f5}.theme-selector-thumbnail.selected{padding:3px;background-color:var(--color-bg-info-inverse);border:0}.theme-selector-thumbnail.selected .theme-selector-img{border:1px solid #fff}.theme-selector-img{width:126px;height:96px;border-radius:1px}.theme-picker-spinner{position:absolute;top:16px;left:50%;margin-left:-16px;background-color:var(--color-bg-primary);opacity:1;transition:.2s,opacity ease-in-out}.theme-picker-spinner~.theme-picker-controls .theme-name{opacity:0}.theme-picker-view-toggle{float:left}.theme-picker-view-toggle .for-hiding{display:none}.theme-picker-view-toggle.open .for-hiding{display:inline}.theme-picker-view-toggle.open .for-showing{display:none}.theme-picker-controls{position:absolute;top:15px;left:50%;width:220px;margin-left:-110px;line-height:34px;text-align:center}.theme-name,.theme-picker-controls .theme-toggle{vertical-align:middle}.theme-name{display:inline-block;margin-right:10px;margin-left:10px;font-size:20px;line-height:1}.page-preview{z-index:-100;display:block;width:100%;height:6000px;padding:0;background-color:var(--color-bg-primary);border:0}.pinned-items-spinner{position:relative;top:2px;left:6px}.pinned-items-reorder-error{padding-left:6px;font-size:12px;font-weight:400;color:var(--color-auto-red-9)}.pinned-items-setting-link{font-size:13px;font-weight:400}.pinned-item-name{color:var(--color-auto-gray-8)}.pinned-item-checkbox:checked+.pinned-item-name{color:var(--color-auto-gray-9);background-color:var(--color-bg-info)}.pinned-gist-blob-num{min-width:36px;cursor:default}.pinned-gist-blob-num:hover{color:var(--color-fade-black-30);cursor:default}@media print{#serverstats,.comment:after,.comment:before,.discussion-timeline-actions,.file-actions,.footer,.gh-header-sticky,.Header,.header,.Header-old,.header-search,.js-expandable-line,.language-color,.lock-toggle-link,.pagehead-actions,.pr-review-tools,.pr-toolbar.is-placeholder,.reponav,.thread-subscription-status,.timeline-comment-actions,.timeline-new-comment,.toolbar-shadow{display:none!important}.repository-lang-stats-graph{height:0}.btn:not(.btn-outline){color:var(--color-text-primary)!important;background:none}.comment h2,p{page-break-inside:avoid}.markdown-body h2{page-break-after:avoid}.topic-tag{padding:0}.topic-tag:before{margin-right:-2px;content:"#"}.blob-num{border-right:2px solid var(--color-border-primary)}.blob-num-deletion{border-right-color:var(--color-border-danger)}.blob-num-addition{border-right-color:var(--color-auto-green-5)}.blob-code-addition .x{border-bottom:2px solid var(--color-auto-green-5);border-radius:0}.blob-code-deletion .x{border-bottom:2px solid var(--color-border-danger);border-radius:0}.pr-toolbar.is-stuck{position:static!important;width:100%!important}.diffstat-block-neutral{border:4px solid var(--color-border-tertiary)}.diffstat-block-deleted{border:4px solid var(--color-border-danger)}.diffstat-block-added{border:4px solid var(--color-auto-green-5)}.State{color:var(--color-auto-black);background:none;border:1px}.State--green{color:var(--color-text-success);border:1px solid #2cbe4e}.State--purple{color:var(--color-auto-purple-5);border:1px solid var(--color-auto-purple-5)}.State--red{color:var(--color-text-danger);border:1px solid var(--color-auto-red-6)}.markdown-body pre>code{white-space:pre-wrap}}.progress-pjax-loader{z-index:99999;height:2px;background:transparent;opacity:0;transition:opacity .4s linear .4s}.progress-pjax-loader.is-loading{opacity:1;transition:none}.progress-pjax-loader>.progress-pjax-loader-bar{background-color:var(--color-auto-blue-3);box-shadow:0 0 10px rgba(121,184,255,.7);transition:width .4s ease}.project-full-screen .Header,.project-full-screen .Header-old,.project-full-screen .hide-full-screen,.project-full-screen .pagehead{display:block}@media (min-width:544px){.project-full-screen .Header,.project-full-screen .Header-old,.project-full-screen .hide-full-screen,.project-full-screen .pagehead{display:none}}.project-full-screen .project-header{padding-top:10px;padding-bottom:10px;color:hsla(0,0%,100%,.75)}@media (min-width:544px){.project-full-screen .project-header{background-color:var(--color-project-header-bg)}}.project-full-screen .project-header:focus{outline:none}.project-full-screen .project-header .project-header-link{color:hsla(0,0%,100%,.75)!important}.project-full-screen .project-header .project-header-link:hover{color:var(--color-text-white)!important}.project-full-screen .project-header .pending-cards-status{border-color:var(--color-bg-canvas-inverse)}@media (min-width:544px){.project-full-screen .card-filter-input{color:var(--color-text-white);background-color:hsla(0,0%,100%,.125);border:0;outline:none;box-shadow:none}.project-full-screen .card-filter-input:-ms-input-placeholder{color:var(--color-fade-white-70)}.project-full-screen .card-filter-input::-ms-input-placeholder{color:var(--color-fade-white-70)}.project-full-screen .card-filter-input::placeholder{color:var(--color-fade-white-70)}.project-full-screen .card-filter-input:focus{background-color:hsla(0,0%,100%,.175)}}.project-header{background-color:var(--color-bg-canvas-inset);outline:none}@media (min-width:544px){.project-header{background-color:var(--color-bg-primary)}}.project-header .select-menu-modal-holder{z-index:500}.project-updated-message{top:6px;left:50%;z-index:50;transform:translate(-50%)}.pending-cards-status{top:-2px;right:-9px;width:14px;height:14px;background-image:linear-gradient(#54a3ff,#006eed);background-clip:padding-box;border:2px solid var(--color-auto-white)}.project-columns{overflow-x:auto}@media (min-width:544px){.project-columns-container{height:0;overflow-x:visible!important}}.project-column{min-width:100%;max-width:100%;background-color:var(--color-bg-canvas-inset);border-width:0!important;border-radius:0!important}.project-column:focus{outline:none}@media (min-width:544px){.project-column{min-width:355px;max-width:355px;border-width:1px!important;border-radius:6px!important}.project-column:focus{border-color:var(--color-auto-blue-4)!important;box-shadow:var(--color-btn-shadow-input-focus)}}.project-column.moving{background-color:var(--color-bg-info)!important;box-shadow:var(--color-btn-shadow-input-focus);transform:translateX(4px) translateY(-4px)}.new-project-column{width:315px;border-color:var(--color-auto-gray-4)!important}.project-search-form .loading-indicator{top:21px;right:21px;display:none}.project-search-form.loading .loading-indicator{display:inline-block}.sortable-ghost{background-color:var(--color-bg-tertiary);opacity:.5}.project-card{background-color:var(--color-project-card-bg)}.project-card .project-reference-markdown>p,.project-card:last-child{margin-bottom:0!important}.project-card:first-child{margin-top:8px!important}@media (min-width:544px){.project-card:first-child{margin-top:3px!important}}.project-card ol,.project-card ul{margin-bottom:8px;margin-left:16px}.project-card blockquote{padding:0 .75em;color:var(--color-text-tertiary);border-left:.25em solid #dfe2e5}.project-card .contains-task-list{margin-left:24px}.project-card:hover{border-color:var(--color-border-tertiary)!important;box-shadow:0 1px 3px rgba(var(--color-auto-gray-5),.3)!important}.project-card:focus{outline:none}@media (min-width:544px){.project-card:focus{border-color:var(--color-auto-blue-4)!important;box-shadow:var(--color-btn-shadow-input-focus)!important}}.project-card.moving{background-color:var(--color-bg-info)!important;box-shadow:var(--color-btn-shadow-input-focus)!important;transform:translateX(4px) translateY(0)}.archived-project-cards-pane .project-card .archived-header{display:flex!important;color:var(--color-auto-yellow-9)}.archived-project-cards-pane .project-card .archive-dropdown-item{display:none}.issue-card.draggable{cursor:move}.issue-card .issue-card-label{max-width:50%}.issue-card .issue-card-label:after{max-width:150px}.issue-card .AvatarStack:hover .from-avatar{margin-right:-4px}.issue-card pre{word-wrap:break-word;white-space:pre-wrap}@keyframes show-pane{0%{transform:translateX(390px)}to{transform:translateX(0)}}.project-pane{z-index:1;background-color:var(--color-project-sidebar-bg);background-clip:padding-box;box-shadow:-3px 0 5px rgba(var(--color-auto-gray-9),.05)}@media (min-width:544px){.project-pane{position:absolute!important;width:360px!important;height:auto!important;animation:show-pane .2s cubic-bezier(0,0,0,1)}}.project-pane .redacted-activity{cursor:help;border-bottom:1px dotted var(--color-auto-gray-4)}.project-pane .project-body-markdown ol:last-child,.project-pane .project-body-markdown p:last-child,.project-pane .project-body-markdown ul:last-child{margin-bottom:0}.project-pane-close{color:var(--color-icon-secondary,var(--color-fade-black-50))}.project-pane-close:hover{color:var(--color-icon-primary,var(--color-fade-black-70))}.project-note-form textarea{resize:vertical}.card-menu-container .dropdown-menu,.column-menu-container .dropdown-menu{min-width:180px}.card-octicon{top:6px;left:10px}.card-note-octicon{top:8px}.is-sending .auto-search-group .chooser-spinner{top:15px;right:21px;left:auto}.card-filter-input{width:0}@media (min-width:544px){.card-filter-input{width:300px}}.card-filter-autocomplete-dropdown{z-index:500;float:none;min-width:240px;max-height:270px;cursor:pointer}.card-filter-autocomplete-dropdown .navigation-focus,.card-filter-autocomplete-dropdown [aria-selected=true]{color:var(--color-text-white)!important;background-color:var(--color-auto-blue-5);border-radius:6px}.card-filter-autocomplete-dropdown .navigation-focus .autocomplete-text-qualifier,.card-filter-autocomplete-dropdown [aria-selected=true] .autocomplete-text-qualifier{color:var(--color-text-white)!important}.projects-reset-query:hover .projects-reset-query-icon{background-color:var(--color-bg-info-inverse)}.projects-reset-query-icon{width:18px;height:18px;padding:1px;background-color:var(--color-auto-gray-5)}.project-small-menu-dropdown:after,.project-small-menu-dropdown:before{display:none}.project-header-controls,.project-header-search{flex-grow:1}@media (min-width:1012px){.project-header-controls,.project-header-search{flex-grow:0}}.project-header-subnav-search{flex-grow:1}@media (min-width:544px){.project-header-subnav-search{flex-grow:0}}.project-page .application-main{flex-shrink:0!important}@media (min-width:544px){.project-page .application-main{flex-shrink:1!important}}.project-edit-mode .column-menu-container,.project-edit-mode .column-menu-item{display:none!important}.project-edit-mode .project-move-actions{display:flex!important}.push-board-over{padding-right:0!important;transition:all .2s ease}@media (min-width:544px){.push-board-over{padding-right:360px!important}}.project-touch-scrolling{-webkit-overflow-scrolling:touch}.projects-comment-form .comment-md-support-link{float:none;width:100%;text-align:center}.projects-comment-form .comment-form-actions{width:100%;padding:8px 16px;margin:4px 0!important}.projects-comment-form .comment-form-actions button{width:100%;margin:4px 0!important}.projects-comment-form .comment-form-head{padding:0!important;margin:0!important;border-bottom:0}.projects-comment-form .comment-form-head .tabnav-tabs{padding:8px 8px 0}.projects-comment-form .comment-form-head .toolbar-commenting{width:100%;padding-top:4px;text-align:center;background-color:var(--color-bg-primary);border-top:1px solid var(--color-border-tertiary)}.projects-comment-form .comment-form-head:after{display:block;clear:both;content:" "}.projects-comment-form .comment-form-textarea{height:250px!important}.projects-comment-form .preview-content{margin:0;border-top:1px solid var(--color-border-tertiary)}.projects-comment-form .preview-content .comment-body{padding:16px}.project-issue-body-wrapper{max-height:200px;overflow:hidden}.Details--on .project-issue-body-wrapper{max-height:none;overflow:visible}.project-issue-body-blur{height:32px;background:linear-gradient(0deg,var(--color-project-gradient-in),var(--color-project-gradient-out))}.Details--on .project-issue-body-blur{height:0}.project-comment-body-hover .comment-action,.project-comment-title-hover .comment-action{opacity:0}.project-comment-body-hover:hover .comment-action,.project-comment-title-hover:hover .comment-action{opacity:1}.project-comment-body-reaction .timeline-comment-action{padding:4px 8px}.project-comment-reactions .reaction-summary-item{padding:8px}.project-comment-reactions .reaction-summary-item g-emoji{margin:0!important}.vcard-names{line-height:1}.vcard-fullname{font-size:26px;line-height:1.25}.vcard-username{font-size:20px;font-style:normal;font-weight:300;line-height:24px;color:var(--color-text-secondary)}.vcard-details{list-style:none}.vcard-details .css-truncate.css-truncate-target{width:100%;max-width:100%}.vcard-details .css-truncate.css-truncate-target div{overflow:hidden;text-overflow:ellipsis}.vcard-detail{padding-left:24px;font-size:14px}.vcard-detail .octicon{float:left;width:16px;margin-top:3px;margin-left:-24px;color:var(--color-text-tertiary);text-align:center}.user-profile-bio{overflow:hidden;font-size:14px}.form-group .form-control.user-profile-bio-field{width:440px;height:5.35em;min-height:0}.user-profile-bio-field-container,.user-profile-company-field-container{position:relative}.user-profile-bio-message{margin:5px 0 0;font-size:12px;color:var(--color-auto-red-9)}.vcard-detail{padding-left:22px}.vcard-detail .octicon{margin-left:-22px}.user-profile-sticky-bar{position:fixed;top:0;z-index:90;width:233px;word-break:break-all;pointer-events:none;opacity:0;transition:.2s}.user-profile-sticky-bar.is-stuck{pointer-events:auto;opacity:1}.user-profile-mini-vcard{position:relative;top:1px;z-index:110;height:54px}.user-profile-mini-avatar{width:32px}.mini-follow-button{padding:0 8px;line-height:1.5;opacity:0;transition:opacity .2s}.is-follow-stuck .mini-follow-button{opacity:1}.user-profile-following-container .user-following-container.on .follow,.user-profile-following-container .user-following-container .unfollow{display:none}.user-profile-following-container .user-following-container .follow,.user-profile-following-container .user-following-container.on .unfollow{display:block}.vcard-names-container{position:-webkit-sticky;position:sticky;top:0}.vcard-names-container.is-stuck{pointer-events:none}.vcard-names-container.is-stuck .vcard-names{opacity:0}.vcard-names-container.is-stuck:after{opacity:1}.user-profile-nav{background-color:var(--color-bg-primary);border-bottom:1px solid var(--color-border-tertiary);box-shadow:none}.user-profile-nav.is-stuck{z-index:90}.user-profile-nav .UnderlineNav-item{line-height:20px}.pinned-item-list-item .pinned-item-handle{color:var(--color-text-secondary)}.pinned-item-list-item .pinned-item-handle:hover{cursor:grab}.pinned-item-list-item.is-dragging,.pinned-item-list-item.is-dragging .pinned-item-handle{cursor:grabbing}.pinned-item-list-item.is-dragging{background-color:var(--color-bg-info)}.pinned-item-list-item.sortable-ghost{background-color:var(--color-bg-info);opacity:0}.pinned-item-list-item.empty{border-style:dashed;border-width:1px;align-items:center;justify-content:center}.pinned-item-list-item-content{display:flex;width:100%;flex-direction:column}.pinned-item-desc{flex:1 0 auto}.pinned-item-meta{display:inline-block}.pinned-item-meta+.pinned-item-meta{margin-left:16px}.user-repo-search-results-summary{white-space:normal}.pull-request-tab-content{display:none}.pull-request-tab-content.is-visible{display:block}.discussion-timeline p.explain{margin:0;font-size:12px}.pull-request-ref-restore{display:none}.pull-discussion-timeline.is-pull-restorable .pull-request-ref-restore.last,.pull-request-ref-restore-text{display:block}.files-bucket{margin-bottom:15px}.full-width .diffbar .container,.split-diff .diffbar .container{padding-right:0;padding-left:0}.stale-files-tab{float:left;padding:5px 10px;margin-top:-5px;margin-bottom:-5px;color:var(--color-auto-orange-9);background-color:var(--color-auto-orange-0);border-radius:6px}.stale-files-tab-link{font-weight:600;color:inherit}.pr-toolbar{position:-webkit-sticky;position:sticky;top:0;z-index:29;height:60px;padding:0 16px;margin:-16px -16px 0}.pr-toolbar .subset-files-tab{float:left;padding:0 8px;font-size:13px;border-radius:6px}.pr-toolbar .float-right .diffbar-item{margin-right:0}.pr-toolbar .float-right .diffbar-item+.diffbar-item{margin-left:20px}.pr-toolbar.is-stuck{height:60px;background-color:var(--color-bg-primary)}.toolbar-shadow{position:fixed;top:60px;right:0;left:0;z-index:28;display:none;height:5px;background:linear-gradient(rgba(0,0,0,.075),rgba(0,0,0,.001)) repeat-x 0 0;border-top:1px solid rgba(0,0,0,.15)}.is-stuck+.toolbar-shadow{display:block}.files-next-bucket .file,.files-next-bucket .full-commit{margin-top:0;margin-bottom:20px}.diffbar{background-color:var(--color-bg-canvas)}.diffbar .show-if-stuck{display:none}.diffbar .container{width:auto}.diffbar .table-of-contents{margin-bottom:0}.diffbar .table-of-contents ol{margin-bottom:-15px}.diffbar .table-of-contents li{border-top:1px solid #eee}.diffbar .table-of-contents li:first-child{border-top:0}.diffbar [role^=menuitem]:focus:not(.is-range-selected) .text-emphasized,.diffbar [role^=menuitem]:hover:not(.is-range-selected) .text-emphasized{color:var(--color-text-white)}.is-stuck .diffbar .show-if-stuck{display:block}.is-stuck .diffbar .diffstat{display:none}.is-stuck .diffbar .stale-files-tab{margin-top:-8px}.diffbar-range-menu .select-menu-modal{width:380px}.diffbar-range-menu .css-truncate-target{max-width:280px}.diffbar-range-menu .select-menu-item:not(.select-menu-action){padding:8px 10px}.diffbar-range-menu .emoji{vertical-align:bottom}.diffbar-range-menu .in-range:not(.is-range-selected){background-color:var(--color-bg-info);border-bottom-color:var(--color-fade-black-15)}.diffbar-range-menu .in-range:focus:not(.is-range-selected),.diffbar-range-menu .in-range:hover:not(.is-range-selected){background-color:var(--color-bg-info-inverse)}.diffbar-range-menu .is-range-selected{color:var(--color-auto-yellow-9);cursor:default;background-color:var(--color-auto-yellow-1);border-bottom-color:rgba(38,44,49,.15);outline:none}.diffbar-range-menu .is-range-selected .text-emphasized{color:#776521}.diffbar-range-menu .is-range-selected .description{color:inherit}.diffbar-range-menu .is-last-in-range{cursor:pointer;background-color:var(--color-bg-warning)}.diffbar-item{float:left;margin-left:16px;font-size:13px;vertical-align:middle}.conflict-resolver .conflict-loader,.conflict-resolver.loading .resolve-file-form{display:none}.conflict-resolver.loading .conflict-loader,.conflict-resolver .resolve-file-form{display:block}.conflict-resolver.loading{position:relative;height:calc(100vh + 51px);padding-top:50px;border:1px solid var(--color-border-primary)}.conflict-resolver .file-header{padding:9px 10px}.conflicts-nav{height:100vh;-ms-overflow-style:-ms-autohiding-scrollbar;border-width:0 0 1px}.conflict-nav-item .discussion-item-icon{display:none}.conflict-nav-item.resolved .discussion-item-icon{display:block;margin-left:-5px}.conflict-nav-item.resolved .octicon-file-code{display:none}.conflict-nav-item.selected:before{border-radius:0}.conflict-nav-item .octicon{width:22px}.conflict-nav-item .css-truncate-target{max-width:80%}.is-resolved .file-actions{display:none}.is-resolved .resolved-notice{display:block}.resolved-notice{display:none}.revision-number{display:inline-block;padding:6px 12px 6px 10px;margin:-6px -12px -6px 6px;background:var(--color-auto-green-6);border-top-right-radius:inherit;border-bottom-right-radius:inherit}.add-comment-label,.is-review-pending .start-review-label,.review-cancel-button{display:none}.is-review-pending .add-comment-label,.start-review-label{display:inline-block}.is-review-pending .review-simple-reply-button{display:none}.is-review-pending .review-cancel-button,.is-review-pending .review-title-with-count{display:block}.pr-review-tools .Counter,.review-title-with-count{display:none}.is-review-pending .pr-review-tools .Counter{display:inline-block}.pull-request-suggested-changes-menu{top:30px;left:auto;z-index:99;width:700px;padding:8px;margin:0;border:1px solid var(--color-fade-black-15);transform:none}.pull-request-suggested-changes-menu:after,.pull-request-suggested-changes-menu:before{display:none}.pull-request-suggested-changes-menu .select-menu-header{border-radius:6px 6px 0 0}.pull-request-suggested-changes-menu .form-actions{border-radius:0 0 6px 6px}.pull-request-suggested-changes-menu .preview-content{max-height:365px}.pull-request-suggested-changes-menu .comment-body{border-bottom:0!important}.review-comment-contents{margin-left:44px}.review-comment-loader:after,.review-comment.is-comment-editing:after,.review-comment:after{position:absolute;top:31px;left:29px;z-index:-1;width:3px;height:100%;content:"";background-color:var(--color-bg-tertiary)}.review-comment{position:relative;padding:8px 16px;color:var(--color-text-primary)}.review-comment:first-child{padding-top:16px}.review-comment:last-child{padding-bottom:16px}.review-comment .comment-body,.review-comment .comment-reactions{padding:0}.review-comment .comment-body{padding-top:4px}.review-comment .comment-body .suggested-change-form-container:nth-last-of-type(2){margin-bottom:0!important}.review-comment .comment-reactions{margin-top:5px;border-top:0!important}.review-comment .comment-reactions .add-reaction-btn{padding:4px 10px}.review-comment .comment-reactions.has-reactions{margin-top:12px}.review-comment .show-more-popover.dropdown-menu-sw{right:-5px;margin-top:5px}.review-comment .reaction-summary-item:not(.add-reaction-btn){padding:0 8px;font-size:12px;line-height:26px;border:1px solid var(--color-border-primary,#d2dff0);border-radius:6px}.review-comment .reaction-summary-item:not(.add-reaction-btn) .emoji{font-size:16px;vertical-align:sub}.review-comment .reaction-summary-item:not(.add-reaction-btn)+.reaction-summary-item{margin-left:8px}.review-comment:last-child .review-comment-contents:after,.review-comment:last-child:after{display:none}.review-comment .timeline-comment-action{padding:0 5px}.review-comment .timeline-comment-label{float:none;margin-top:0;margin-left:4px}.review-comment .pending-batched-suggestion-label{margin-right:auto;color:var(--color-text-warning);background-color:var(--color-auto-yellow-0);border-color:var(--color-border-warning)}.review-comment .is-comment-editing{position:relative;background-color:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:6px}.review-comment .is-comment-editing:after{top:100%;bottom:0;left:19px;height:20px}.review-comment .is-comment-editing .edit-comment-hide,.review-comment .is-comment-editing .timeline-comment-actions{display:none}.review-comment .is-comment-editing .previewable-comment-form{display:block}.review-comment.is-comment-loading .previewable-comment-form{opacity:.5}.timeline-comment.is-comment-editing .discussion-item-header{display:none}.review-thread-reply{padding:8px 16px;background-color:var(--color-bg-tertiary);border-top:1px solid var(--color-border-primary);border-radius:0 0 6px 6px}.review-thread-reply .inline-comment-form{margin:-8px -16px;background-color:var(--color-bg-primary);border:0}.review-thread-reply-button{display:inline-block;min-height:28px;padding:3px 8px;margin-left:8px;cursor:text}.review-summary-form-wrapper{position:relative;display:none;margin-bottom:24px;margin-left:-19px;background-color:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:6px}.is-comment-editing .review-summary-form-wrapper,.is-pending .review-summary-form-wrapper{display:block}.is-pending .review-summary-form-wrapper{border-color:var(--color-border-warning)}.tooltipped-left:after,.tooltipped-left:before{right:auto;left:0}.pulse-authors-graph{position:relative;height:150px}.pulse-authors-graph>svg{width:100%}.pulse-authors-graph .bar rect{fill:var(--color-auto-orange-5);fill-opacity:.7}.pulse-authors-graph .bar rect:hover{fill-opacity:1}.readme.contributing>div{max-height:250px;overflow:auto}.readme .markdown-body,.readme .plain{word-wrap:break-word}.readme .plain pre{font-size:15px;white-space:pre-wrap}.file .readme table[data-table-type=yaml-metadata]{font-size:12px;line-height:1}.file .readme table[data-table-type=yaml-metadata] table{margin:0}.release-timeline-tags .tag-timeline-date:after{position:absolute;top:50%;right:-7px;z-index:10;display:block;width:12px;height:12px;box-sizing:border-box;margin-top:-6px;content:" ";background-color:var(--color-border-primary);border:2px solid #fff;border-radius:6px}.release-timeline-tags.is-collapsed .expander{display:block!important}.release-timeline-tags.is-collapsed>.collapsable{display:none}.Label--draft{color:var(--color-text-danger);border-color:var(--color-border-danger)}.Label--prerelease{color:var(--color-auto-orange-5);border-color:var(--color-auto-orange-5)}.uploaded-files{border-top-left-radius:6px;border-top-right-radius:6px}.uploaded-files.not-populated+.drop-target .drop-target-label{border-top:1px var(--color-border-primary);border-top-left-radius:6px;border-top-right-radius:6px}.uploaded-files.is-populated{border:1px solid var(--color-border-primary);border-bottom-color:var(--color-border-secondary)}.uploaded-files.is-populated+.drop-target .drop-target-label{border-top:0;border-top-left-radius:0;border-top-right-radius:0}.uploaded-files>li.delete{background:var(--color-bg-primary)}.uploaded-files>li.delete:nth-child(2){border-top-left-radius:6px;border-top-right-radius:6px}.uploaded-files>li.delete .delete-pending{display:block!important}.uploaded-files>li.delete .live{display:none!important}.uploaded-files>li:nth-child(2){border-top:0!important}.uploaded-files .remove:hover{color:var(--color-text-danger)!important}.upload-progress{height:3px;margin-top:3px;border-radius:30px}.upload-progress .upload-meter{background-image:linear-gradient(#8dd2f7,#58b8f4);border-radius:30px}.release-entry{border-bottom:1px solid var(--color-border-primary)}.release-entry:last-child{border-bottom:0}@media (min-width:768px){.release-tag-field{width:130px!important}.release-main-section{border-left:2px solid var(--color-border-primary)}.release-entry{border-bottom:0}}.manifest-commit-form{margin-top:20px}.repo-file-upload-outline{width:100%;height:100%}.repo-file-upload-target{position:relative}.repo-file-upload-target.is-default .repo-file-upload-text.initial-text,.repo-file-upload-target.is-failed .repo-file-upload-text.initial-text,.repo-file-upload-target.is-uploading .repo-file-upload-text.initial-text{display:none}.repo-file-upload-target.is-default .repo-file-upload-text.alternate-text,.repo-file-upload-target.is-failed .repo-file-upload-text.alternate-text,.repo-file-upload-target.is-uploading .repo-file-upload-text.alternate-text{display:block}.repo-file-upload-target.is-default.dragover .repo-file-upload-text,.repo-file-upload-target.is-failed.dragover .repo-file-upload-text,.repo-file-upload-target.is-uploading.dragover .repo-file-upload-text{display:none}.repo-file-upload-target .repo-file-upload-text.initial-text{display:block}.repo-file-upload-target .repo-file-upload-text.alternate-text{display:none}.repo-file-upload-target .repo-file-upload-drop-text,.repo-file-upload-target .repo-file-upload-text{margin-bottom:5px}.repo-file-upload-target .repo-file-upload-choose{display:inline-block;margin-top:0;font-size:18px}.repo-file-upload-target .manual-file-chooser{margin-left:0}.repo-file-upload-target .repo-file-upload-outline{position:absolute;top:3%;left:1%;width:98%;height:94%}.repo-file-upload-target.is-bad-file .repo-file-upload-outline,.repo-file-upload-target.is-empty .repo-file-upload-outline,.repo-file-upload-target.is-failed .repo-file-upload-outline,.repo-file-upload-target.is-too-big .repo-file-upload-outline,.repo-file-upload-target.is-too-many .repo-file-upload-outline{height:85%}.repo-file-upload-target.dragover .repo-file-upload-text{display:none}.repo-file-upload-target.dragover .repo-file-upload-choose{visibility:hidden}.repo-file-upload-target.dragover .repo-file-upload-drop-text{display:block}.repo-file-upload-target.dragover .repo-file-upload-outline{border:6px dashed var(--color-border-primary);border-radius:5px}.repo-file-upload-errors,.repo-file-upload-errors .error,.repo-file-upload-target .repo-file-upload-drop-text{display:none}.is-bad-file .repo-file-upload-errors,.is-empty .repo-file-upload-errors,.is-failed .repo-file-upload-errors,.is-hidden-file .repo-file-upload-errors,.is-too-big .repo-file-upload-errors,.is-too-many .repo-file-upload-errors{position:absolute;right:0;bottom:0;left:0;display:block;padding:5px 8px;line-height:1.5;text-align:left;background-color:var(--color-bg-primary);border-top:1px solid #e5e5e5;border-bottom-right-radius:6px;border-bottom-left-radius:6px}.is-file-list .repo-file-upload-errors{border-bottom-right-radius:0;border-bottom-left-radius:0}.is-bad-file .repo-file-upload-errors .failed-request,.is-empty .repo-file-upload-errors .empty,.is-failed .repo-file-upload-errors .failed-request,.is-hidden-file .repo-file-upload-errors .hidden-file,.is-too-big .repo-file-upload-errors .too-big,.is-too-many .repo-file-upload-errors .too-many{display:inline-block}.repo-file-upload-tree-target{position:fixed;top:0;left:0;z-index:1000;width:100%;height:100%;padding:12px;color:var(--color-text-primary);visibility:hidden;background:var(--color-bg-primary);opacity:0;transition:visibility .2s,opacity .2s}.repo-file-upload-tree-target .repo-file-upload-outline{border:6px dashed var(--color-border-primary);border-radius:5px}.dragover .repo-file-upload-tree-target{visibility:visible;opacity:1}.dragover .repo-file-upload-tree-target .repo-file-upload-slate{top:50%;opacity:1}.repo-file-upload-slate{position:absolute;top:50%;width:100%;text-align:center;transform:translateY(-50%)}.repo-file-upload-slate h2{margin-top:5px}.repo-upload-breadcrumb{margin-bottom:18px}.labels-list .blankslate{display:none}.labels-list.is-empty .blankslate,.labels-list .table-list-header{display:block}.labels-list.is-empty .table-list-header{display:none}.sidebar-labels .sidebar-labels-style{margin-top:3px}.label-select-menu-item .g-emoji{font-size:12px;line-height:1;vertical-align:initial}.label-edit:after,.label-edit:before{display:table;content:""}.label-edit:after{clear:both}.label-edit label{display:block;margin-bottom:8px}.label-edit .error{float:left;margin-top:8px;margin-left:10px;color:red}.label-edit.loading{display:block}.label-characters-remaining{color:var(--color-text-secondary)}.repo-list,.repo-list-item{position:relative}.repo-list-item{padding-top:30px;padding-bottom:30px;list-style:none;border-bottom:1px solid #eee}.repo-list-item-with-avatar{padding-left:42px}.repo-list-item-hanging-avatar{float:left;margin-left:-42px}.mini-repo-list-item{position:relative;display:block;padding:6px 64px 6px 30px;font-size:14px;border-top:1px solid var(--color-border-tertiary)}.mini-repo-list-item:hover{text-decoration:none}.mini-repo-list-item:hover .owner,.mini-repo-list-item:hover .repo{text-decoration:underline}.mini-repo-list-item .repo-icon{float:left;margin-top:2px;margin-left:-20px;color:#666}.mini-repo-list-item .repo-and-owner{max-width:220px}.mini-repo-list-item .owner{max-width:110px}.mini-repo-list-item .repo{font-weight:600}.mini-repo-list-item .stars{position:absolute;top:0;right:10px;margin-top:6px;font-size:12px;color:var(--color-text-tertiary)}.mini-repo-list-item .repo-description{display:block;max-width:100%;font-size:12px;line-height:21px;color:var(--color-text-secondary)}.private .mini-repo-list-item{background-color:var(--color-auto-yellow-0)}.private .mini-repo-list-item .repo-icon{color:var(--color-fade-black-70)}.filter-bar{padding:10px;background-color:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-secondary)}.filter-bar:after,.filter-bar:before{display:table;content:""}.filter-bar:after{clear:both}.user-repos .filter-bar{text-align:center}.form-group.errored label .commit-ref{background-color:var(--color-bg-danger)}.repo-menu-item:not([aria-current=page])+.repo-sub-menu{display:none}.repository-og-image{width:100%;max-width:640px;height:320px;object-fit:cover;object-position:center;background-repeat:no-repeat;background-position:50%;background-size:cover}.timeout{width:auto;height:300px;padding:0;margin:20px 0;background-color:initial;border:0}.timeout h3{padding-top:100px;color:var(--color-text-secondary)}.repo-language-color{position:relative;top:1px;display:inline-block;width:12px;height:12px;border:1px solid var(--color-repo-language-color-border);border-radius:50%}.iconbutton .octicon{margin-right:0}.file-navigation:after,.file-navigation:before{display:table;content:""}.file-navigation:after{clear:both}.file-navigation .select-menu-button .css-truncate-target{max-width:200px}.file-navigation .breadcrumb{float:left;margin-top:0;margin-left:5px;font-size:16px;line-height:26px}.file-navigation+.breadcrumb{margin-bottom:10px}.include-fragment-error{display:none}.is-error .include-fragment-error{display:block}.prereceive-feedback{padding:16px;margin-bottom:16px;border:1px solid #dfe2e5;border-left:6px solid #caa21a;border-radius:6px}.prereceive-feedback-heading{margin-top:0;margin-bottom:10px;color:var(--color-text-warning)}.file-navigation-options{float:right;margin-left:3px}.file-navigation-options .dropdown-menu{width:360px;padding:16px}.file-navigation-options .dropdown-divider{margin:0}.file-navigation-option{position:relative;display:inline-block;margin-left:3px}.file-navigation-option .select-menu{display:inline-block;margin-right:0;margin-bottom:0;vertical-align:middle}.file-navigation-option .select-menu-button .octicon:only-child{margin-left:2px}.file-navigation-option .zeroclipboard-button{padding-right:8px}.file-navigation-option .input-group{width:290px}.file-navigation-option .input-group .form-control{width:calc(100% + 2px);height:28px;min-height:0;margin-right:-1px;margin-left:-1px;border-radius:0}.file-navigation-option .input-group .select-menu-button{position:relative;z-index:2}.Loadmore-workflows[open] summary{display:none}.repo-actions-hero{top:-40px;bottom:auto;left:auto;z-index:-1;width:835px;height:728px;background-image:url(/images/modules/actions/actions-hero.png);background-repeat:no-repeat;background-position:50%;background-size:contain}.repository-item-checkbox:checked+.repository-item-name{background-color:var(--color-bg-info)}.custom-role-icon{background-color:var(--color-auto-gray-2)}.profile-picture{margin:10px 0 0}.profile-picture>p{float:left;margin:0;line-height:30px}.profile-picture>img{float:left;margin:0 10px 0 0;border-radius:6px}.app-owner{margin:15px 0 0}.edit-profile-avatar{width:200px}.edit-profile-avatar .drag-and-drop{padding:0;color:#666;border-width:0}.edit-profile-avatar input{cursor:pointer}.edit-profile-avatar.is-bad-file{border:0}.edit-profile-avatar .manual-file-chooser{position:absolute;top:0;left:0;height:34px;padding:0;cursor:pointer}.profile-picture-spinner{background-image:url(/images/spinners/octocat-spinner-128.gif);background-repeat:no-repeat;background-position:50%;background-size:64px 64px}.avatar-upload .flash{width:100%;padding:30px 15px;border:1px dashed var(--color-border-danger);box-shadow:none}.avatar-upload .upload-state{display:none;padding:10px 0}.avatar-upload .upload-state p{margin:0;font-size:12px;color:var(--color-text-secondary)}.avatar-upload .avatar-upload .octicon{display:inline-block}.is-uploading .avatar-upload .loading{display:block;padding:0}.is-uploading .avatar-upload .loading img{vertical-align:top}.is-uploading .avatar-upload .button-change-avatar{display:none}.is-bad-dimensions .avatar-upload .bad-dimensions,.is-bad-file .avatar-upload .bad-file,.is-bad-format .avatar-upload .bad-format,.is-empty .avatar-upload .file-empty,.is-failed .avatar-upload .failed-request,.is-too-big .avatar-upload .too-big{display:block;margin:0}dl.new-email-form{padding:10px 10px 0;margin:0 -10px 10px;border-top:1px solid #e5e5e5}.selected-user-key{background-color:var(--color-auto-yellow-0)}.user-key-type{padding-right:20px;padding-left:10px;text-align:center}.user-key-badge{display:block;padding-right:5px;padding-left:5px;margin-top:3px;font-size:12px;line-height:1.4;border:1px solid #ddd;border-radius:6px}.user-key-email-badge{display:inline-table;margin-right:4px}.user-key-email{display:table-cell;padding:1px 5px;font-size:12px;line-height:1.4;border:1px solid #ddd;border-radius:6px}.user-key-email.unverified{border-top-right-radius:0;border-bottom-right-radius:0}.user-key-email-unverified{display:table-cell;padding-right:5px;padding-left:5px;font-size:11px;color:#666;background-color:#ecebec;border:1px solid #ddd;border-left:0;border-top-right-radius:6px;border-bottom-right-radius:6px}.user-key-details{width:400px;line-height:1.6;white-space:normal}.user-key-details code{font-size:13px}.recent-user-key{color:var(--color-auto-green-5)}.recent-user-key-access{color:#1e7e34}.unverified-user-key,.unverified-user-key-notice{color:var(--color-text-danger)}.oauth-app-info-container .float-left-container{float:left;text-align:left}.oauth-app-info-container .float-right-container{float:right;text-align:right}.oauth-app-info-container dl.keys{margin:10px 0}.oauth-app-info-container dl.keys dt{margin-top:10px;font-weight:600;color:var(--color-text-secondary)}.oauth-app-info-container dl.keys dd{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;color:#333}.oauth-app-info-container .user-count{font-size:30px;font-weight:300;color:var(--color-text-secondary)}.logo-upload{position:relative;display:inline-block}.logo-upload a.delete,.logo-upload span.delete{position:absolute;left:88px;display:none;padding:8px 10px}.logo-upload a.delete:hover,.logo-upload span.delete:hover{color:var(--color-text-danger)}.logo-upload-container{display:inline-block}.logo-upload-container .logo-upload-label .manual-file-chooser{top:0;left:0;width:130px;height:34px;padding:0;margin-left:0;cursor:pointer}.logo-upload-container .upload-state{padding:10px 0}.logo-upload-container .upload-state p{margin:0;font-size:12px;color:var(--color-text-secondary)}.logo-box{width:120px;height:120px;background-color:#eee;border:1px solid var(--color-border-tertiary);border-radius:6px}.logo-box img{display:none;width:118px;height:118px;border-radius:6px}.logo-placeholder{color:var(--color-text-secondary);text-align:center;text-shadow:0 1px 0 #fff}.logo-placeholder p{margin:0;font-size:14px}.has-uploaded-logo .logo-placeholder,.has-uploaded-logo .or{display:none}.has-uploaded-logo .logo-box img,.has-uploaded-logo:hover a.delete,.has-uploaded-logo:hover span.delete{display:block}.saved-reply-form{border:1px solid var(--color-border-primary);border-radius:6px}.saved-reply-form .tabnav-tab.selected{border-radius:6px 6px 0 0}.saved-reply-form .form-actions{margin-right:10px;margin-bottom:8px}.saved-reply-form .comment{border:0}.saved-reply-form .comment-body{padding:5px 5px 15px;background-color:initial;border-bottom:1px solid var(--color-border-secondary)}.saved-reply-settings-container.has-replies .listgroup{display:block}.saved-reply-settings-container.has-replies .blankslate,.saved-reply-settings-container .listgroup{display:none}.access-token{border-bottom:1px solid var(--color-border-secondary)}.access-token:last-child{border:0}.access-token .last-used{margin-right:10px}.access-token .zeroclipboard-link{display:inline-block;vertical-align:text-bottom}.access-token.new-token{background-color:rgba(108,198,68,.1)}.access-token.new-token .octicon-check{color:var(--color-auto-green-5)}.access-token .token-description{max-width:450px;color:var(--color-text-primary)}.access-token .token{font-size:14px}.access-token .token-type{min-width:76px}.regenerate-token-cta .btn-danger{margin-left:30px}.personal-access-tokens-group{padding:0 10px}.personal-access-tokens label{display:inline}.personal-access-tokens label p{display:inline-block;margin:0;font-size:13px;font-weight:400}.personal-access-tokens .child-scopes{margin-left:20px;list-style:none}.personal-access-tokens .child-scopes .token-scope{width:180px;font-weight:400}.personal-access-tokens .child-scopes .child-scopes{margin-left:0}.token-scope{display:inline-block;width:200px;padding:2px 0;margin:0;font-size:13px;color:var(--color-text-primary)}.token-scope input{margin-right:5px}.callback-urls dl dd .form-control{width:100%}.callback-urls.has-many .callback-url-action-cell{display:table-cell}.callback-description{margin-top:20px}.callback-description .octicon{padding-left:0}.callback-url .label{display:none;width:64px;text-align:center}.callback-url.is-default-callback .label{display:inline-block}.callback-url.is-default-callback .btn{display:none}.callback-url-wrap{display:table;width:100%}.callback-url-field-cell{display:table-cell}.callback-url-action-cell{display:none;width:70px;text-align:right}.boxed-group.application-show-group dl.form-group>dd .form-control.wide{width:460px}.boxed-group.application-show-group dl.form-group>dd .form-control.short{height:50px;min-height:50px}.application-show-group .errored .note{display:none}.application-show-group .drag-and-drop{padding:0;text-align:left;background-color:initial;border:0}.application-show-group .drag-and-drop img{margin-bottom:1px;vertical-align:bottom}.application-show-group .drag-and-drop span{padding:0}.application-show-group .dragover .logo-box{box-shadow:0 0 3px #c9ff00}.application-show-group .is-uploading .loading{display:inline-block}.application-show-group .is-uploading .default{display:none}.application-show-group .is-failed .failed-request{display:inline-block}.application-show-group .is-failed .default{display:none}.application-show-group .is-bad-file .bad-file{display:inline-block}.application-show-group .is-bad-file .default{display:none}.application-show-group .is-too-big .file-too-big{display:inline-block}.application-show-group .is-too-big .default{display:none}.application-show-group .is-bad-format .bad-format{display:inline-block}.application-show-group .is-bad-format .default{display:none}.application-show-group .is-default .default{display:block}.post-recovery-token .create-recovery-token-error,.post-recovery-token .octospinner{display:none}.post-recovery-token.failed .create-recovery-token-error,.post-recovery-token.loading .octospinner{display:block}table.security-history-detail{width:100%;font-size:12px}table.security-history-detail td{max-width:200px;word-wrap:break-word}.email-preference-exceptions{font-size:12px}.email-preference-exceptions h5{margin:15px 0 5px;color:#666}.email-preference-exceptions .exception-list{list-style:none}.email-preference-exceptions .exception{max-width:400px;padding:5px 5px 5px 0;border-top:1px solid var(--color-border-secondary)}.email-preference-exceptions .exception:last-child{border-bottom:1px solid var(--color-border-secondary)}.email-preference-exceptions.opt-in-list{display:none}.transactional-only .email-preference-exceptions.opt-in-list{display:block}.transactional-only .email-preference-exceptions.opt-out-list{display:none}.two-factor-recovery-codes{margin:30px 0;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:21px}.two-factor-recovery-code-mark{width:24px;height:24px;font-size:24px;line-height:16px;color:#bbb}.two-factor-recovery-code{display:inline-block;width:48%;line-height:1.6;text-align:center}.two-factor-recovery-code:before{position:relative;top:-3px;margin-right:10px;font-size:10px;color:#d8d8d8;content:"\25CF"}.recovery-codes-saving-options{margin-left:35px}.recovery-codes-saving-options .recovery-code-save-button{width:115px;margin-right:15px;text-align:center}.recovery-codes-warning{margin:0 -15px}.recovery-codes-warning .recovery-codes-warning-octicon{height:40px;margin-right:15px}.btn-two-factor-state{min-width:70px}.two-factor-lead{font-size:16px}.two-factor-qr-code{text-align:center}.two-factor-steps{padding:16px 16px 0;margin:32px 0;border:1px solid var(--color-border-primary);border-radius:6px}.two-factor-steps .error-icon{position:relative;top:2px;left:5px;color:var(--color-text-danger)}.two-factor-steps .sent-message{position:relative;top:2px;left:5px;color:var(--color-text-success)}.sms-country-code-field{padding-right:10px}.two-factor-toggle .two-factor-status{color:var(--color-text-secondary)}.two-factor-settings-group,.two-factor-toggle .two-factor-status{border-bottom:1px solid var(--color-border-secondary)}.two-factor-settings-group li{line-height:1.5;list-style:none}.u2f-registrations{padding-left:24px}.u2f-registration{position:relative;padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid var(--color-border-secondary)}.u2f-registration.is-sending .u2f-registration-delete{display:none}.u2f-registration.is-sending .spinner{position:relative;top:3px}.u2f-registration-nickname{font-weight:600}.u2f-registration-icon{position:absolute;left:-24px;color:var(--color-icon-secondary)}.new-u2f-registration{position:relative}.new-u2f-registration .add-u2f-registration-form{display:none;margin-bottom:10px}.new-u2f-registration.is-active .add-u2f-registration-link{display:none}.new-u2f-registration.is-active .add-u2f-registration-form{display:block}.new-u2f-registration .u2f-request-error,.new-u2f-registration .u2f-request-interaction{display:none}.new-u2f-registration.is-sending .u2f-request-interaction,.new-u2f-registration.is-showing-error .u2f-request-error{display:block}.new-u2f-registration .u2f-message-icon{font-size:64px}.u2f-box .u2f-sorry{display:block}.u2f-box.available .u2f-sorry,.u2f-box .new-u2f-registration{display:none}.u2f-box.available .new-u2f-registration{display:block}.github-access-banner{position:relative;padding:10px 20px 10px 70px;margin:0 0 20px;font-size:14px;border:1px solid #ddd;border-radius:6px}.github-access-banner .octicon{position:absolute;top:20px;left:20px;color:var(--color-text-danger)}.error-icon,.sent-message,.sms-error-message,.spinner{display:none}.sms-error-message{margin-top:15px}.is-sending .spinner,.is-sent .sent-message{display:inline-block}.is-not-sent .sms-error-message{display:block}.is-not-sent .error-icon,.qr-code-table{display:inline-block}.qr-code-table{padding:20px;margin:30px auto;border:1px solid var(--color-border-secondary);border-radius:6px;box-shadow:0 2px 2px 0 rgba(0,0,0,.04)}.qr-code-table tr{background:transparent;border:0}.qr-code-table td,.qr-code-table th{padding:0;border:0}.qr-code-table td{width:3px;height:3px}.qr-code-table .black{background:#000}.qr-code-table .white{background:#fff}.confirmation-phrase{font-style:italic;font-weight:400}.do-not-copy-me{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.session-device{position:relative;padding:15px;line-height:18px;color:var(--color-text-secondary)}.session-device .btn{float:right;margin-top:4px}.session-device .session-state-indicator{float:left;width:8px;height:8px;margin-top:10px;border-radius:5px}.session-device .session-state-indicator.recent{background-color:var(--color-bg-success-inverse);box-shadow:0 0 10px rgba(108,198,68,.5)}.session-device .session-state-indicator.revoked{background-color:var(--color-bg-danger-inverse);box-shadow:0 0 10px rgba(198,108,68,.5)}.session-device .session-state-indicator.not-recent{background-image:linear-gradient(#aaa,#ccc);box-shadow:0 1px 0 #fff}.session-device .session-icon{float:left;width:32px;margin-top:1px;margin-left:15px;color:#bbb;text-align:center}.session-device .sessions-more-info{margin-top:10px}.session-details{margin-left:70px}.session-details:hover .octicon{color:var(--color-text-link);cursor:pointer}.session-details.open .sessions-more-info{display:block}.collaborators .collab-list{border-bottom-width:0}.collaborators .collab-list-item:first-child .collab-list-cell{border-top-width:0}.collaborators .collab-list-cell{padding-top:15px;padding-bottom:15px;vertical-align:middle}.collaborators .collab-meta{width:140px}.collaborators .collab-remove{padding-right:20px;text-align:right}.collaborators .collab-remove .remove-link{color:var(--color-text-secondary)}.collaborators .collab-remove .remove-link:hover{color:var(--color-text-danger)}.collaborators .collab-team-link{width:300px}.collaborators .collab-team-link:hover{text-decoration:none}.collaborators .collab-team-link .avatar{float:left;margin-top:1px;margin-right:10px}.collaborators .collab-team-link.disabled{pointer-events:none}.collaborators .collab-info{height:100%;color:var(--color-text-primary)}.collaborators .collab-info .description{padding-right:50px;margin-top:3px;margin-bottom:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.collaborators .collab-info .collab-name{display:block;font-size:14px}.collaborators .collab-info .collab-message{position:relative;top:25%;display:block}.collaborators .copy-invite-modal{left:0;width:300px}@media (min-width:768px){.collaborators .copy-invite-modal{right:0;left:unset;width:352px}}.collaborators .copy-invite-modal:after,.collaborators .copy-invite-modal:before{display:none}.access-sub-heading{float:right;font-weight:400;line-height:1.4;color:var(--color-text-secondary)}.access-form-wrapper{padding:10px;background-color:var(--color-bg-secondary);border-top:1px solid var(--color-border-primary);border-radius:0 0 6px 6px}.access-flash{padding:8px;margin-right:10px;margin-bottom:10px;margin-left:10px}.repo-access-group .blankslate{display:none}.repo-access-group.is-empty .blankslate{display:block}.repo-access-group.no-form .add-team-form{display:none}.oauth-pending-deletion-list-item{box-shadow:inset 0 0 8px #eee}.oauth-pending-deletion-list-item,.oauth-pending-deletion-list-item:hover{background-color:var(--color-bg-secondary)}.oauth-pending-deletion-list-item .oauth-pending-deletion{display:inline-block;width:19%;line-height:30px}.oauth-pending-deletion-list-item .active{display:none}.oauth-pending-deletion{display:none;width:100%}.boxed-group-list .access-level{color:var(--color-text-secondary)}.boxed-group-list .access-level.css-truncate-target{max-width:500px}.settings-next{font-size:14px;line-height:1.5}.settings-next label{font-size:14px}.settings-next .note{font-size:13px}.settings-next .form-checkbox input[type=checkbox],.settings-next .form-checkbox input[type=radio]{margin-top:4px}dl.form-group>dd textarea.compact{height:100px;min-height:0}.form-hr{margin-top:15px;margin-bottom:15px;border-bottom-color:var(--color-border-primary,#e5e5e5)}.listgroup{list-style:none;border:1px solid var(--color-border-primary,#e5e5e5);border-radius:6px}.listgroup-item{min-height:inherit;padding:10px;font-size:13px;line-height:26px;color:var(--color-text-secondary)}.listgroup-item:after,.listgroup-item:before{display:table;content:""}.listgroup-item:after{clear:both}.listgroup-item+.listgroup-item{border-top:1px solid var(--color-border-primary,#e5e5e5)}.listgroup-item.listgroup-item-preview{line-height:inherit}.listgroup-item.listgroup-item-preview .BtnGroup{margin-top:5px}.listgroup-item .css-truncate-target{max-width:200px}.listgroup-item-title{display:block;font-weight:600}.listgroup-item-body{display:block}.listgroup-header{border-top:0;border-bottom:1px solid var(--color-border-primary,#e5e5e5)}.listgroup-overflow{max-height:240px;overflow-y:auto;background-color:var(--color-bg-secondary,#f5f5f5)}.listgroup-sm .listgroup-item{padding-top:5px;padding-bottom:5px}.protected-branches{margin-top:15px;margin-bottom:15px}.protected-branch-options{margin-left:20px;opacity:.5}.protected-branch-options.active{opacity:1}.protected-branch-reviews.on .require-approving-reviews,.protected-branch-reviews.on .require-code-owner-review,.protected-branch-reviews.on .reviews-dismiss-on-push,.protected-branch-reviews.on .reviews-include-dismiss{display:block}.protected-branch-reviews .require-approving-reviews,.protected-branch-reviews .require-code-owner-review,.protected-branch-reviews .reviews-dismiss-on-push,.protected-branch-reviews .reviews-include-dismiss{display:none}.authorized-pushers{width:440px}.authorized-pushers .add-protected-branch-user-or-team{display:block}.authorized-pushers .user-or-team-limit-reached{display:none;padding:10px;font-size:13px}.authorized-pushers.at-limit .add-protected-branch-user-or-team{display:none}.authorized-pushers.at-limit .user-or-team-limit-reached{display:block;width:440px}.protected-branch-authorized-pushers-table{margin-top:10px}.protected-branch-authorized-pushers-table .boxed-group-inner{max-height:350px;overflow-y:auto}.protected-branch-authorized-pushers-table .table-list{border-bottom:0}.protected-branch-authorized-pushers-table .table-list-cell{vertical-align:middle}.protected-branch-authorized-pushers-table .table-list-cell:first-child{width:100%}.protected-branch-authorized-pushers-table .avatar,.protected-branch-authorized-pushers-table .octicon-jersey,.protected-branch-authorized-pushers-table .octicon-organization{width:36px;margin-right:10px;text-align:center}.protected-branch-pusher{color:#333}.user-already-added:after{display:inline-block;padding:1px 5px;margin-left:6px;font-size:11px;line-height:1.4;color:var(--color-text-white);content:"Already added";background-color:var(--color-auto-orange-7);border-radius:6px}.protected-branch-admin-permission{float:left;padding:3px;margin:-2px 0 -2px -4px;line-height:normal;border:1px solid transparent;border-radius:6px}.protected-branch-admin-permission.active{animation:toggle-color 1s ease-in-out 0s}@keyframes toggle-color{0%{background-color:initial}50%{color:#4c4a42;background-color:#fff9ea;border-color:#dfd8c2}to{background-color:initial}}.automated-check-options{margin-top:10px}.automated-check-options .listgroup-item label{font-size:inherit}.automated-check-options .listgroup-item input[type=checkbox]{float:none;margin-top:-2px;margin-right:5px;margin-left:0}.automated-check-options .label{margin-top:4px}.repository-merge-features .form-group.errored label{color:inherit}.repository-merge-features .form-group.errored .error{position:inherit;padding:0;margin-top:0;margin-left:6px;font-size:11px;color:var(--color-text-danger);background:transparent;border:0}.repository-merge-features .form-group.errored .error:after,.repository-merge-features .form-group.errored .error:before{display:none}.repository-settings-actions [role=tab][aria-selected=true]{font-weight:600;color:var(--color-text-primary);border-bottom-color:var(--color-auto-orange-6)}.repository-settings-actions [role=tab][aria-selected=true] .UnderlineNav-octicon{color:var(--color-text-tertiary)}.setup-wrapper{width:750px;padding-top:30px;margin:0 auto}.setup-wrapper:after,.setup-wrapper:before{display:table;content:""}.setup-wrapper:after{clear:both}.setup-header{padding-bottom:20px;margin:0 auto 30px;overflow:hidden;text-align:left;border-bottom:1px solid #ddd}.setup-header h1{margin-top:0;margin-bottom:0;font-size:45px;font-weight:400;line-height:1.1;letter-spacing:-1px}.setup-header h1 .octicon{color:#bbb}.setup-header .lead{margin-top:2px;margin-bottom:0;font-size:21px}.setup-header .lead a{color:var(--color-text-secondary)}.setup-header .lead a:hover{color:var(--color-text-link);text-decoration:none}.setup-org{padding-bottom:0;border-bottom:0}.setup-main{float:left;width:450px}.setup-secondary{float:right;width:250px}.setup-secondary .info{padding-top:0;padding-bottom:0;margin-top:-10px;font-size:12px;line-height:18px;color:var(--color-text-secondary);text-align:center}.setup-info-module{margin-bottom:30px;background-color:var(--color-bg-primary);border:1px solid #ccc;border-radius:6px;box-shadow:0 1px 3px rgba(0,0,0,.075)}.setup-info-module h2{padding:15px;margin-bottom:15px;overflow:hidden;font-size:16px;border-bottom:1px solid #ddd}.setup-info-module h2 .price{float:right;font-weight:600;color:var(--color-text-secondary)}.setup-info-module h3{padding:0 15px;margin:0 0 -7px;font-size:14px}.setup-info-module p{padding:0 15px;margin:15px 0}.features-list{padding:0 15px 15px;margin:0;font-size:14px;list-style:none}.features-list li{margin-top:10px}.features-list li:first-child{margin-top:0}.features-list .list-divider{margin:15px -15px;border-top:1px solid #eee}.features-list .octicon-check{margin-right:5px;color:#60b044}.features-list .octicon-question{font-size:12px;color:#555}.features-list .tooltipped:after{width:250px;white-space:normal}.setup-form-container .setup-form-title{font-size:16px}.setup-form-container .secure{float:right;margin-top:2px;font-size:11px;color:#60b044;text-transform:uppercase}.setup-form-container hr{margin-top:25px;margin-bottom:25px}.setup-form-container .form-actions{padding-top:0;padding-bottom:0;text-align:left}.team-member-container{margin-bottom:20px}.team-member-container .team-member-username{line-height:1.2}.setup-form{padding-bottom:15px}.setup-form .form-group.successed .error{display:none}.setup-form .form-group dd .form-control{width:100%}.setup-form .form-group dd .form-control.short{width:250px}.setup-form dd{position:relative}.setup-form dd .octicon{position:absolute;top:8px;right:25px}.setup-form .octicon-alert{color:var(--color-text-danger)}.setup-form .octicon-check{color:var(--color-auto-green-5)}.setup-form .setup-organization-next,.setup-form .tos-info{margin:15px 0;border-top:1px solid #eee;border-bottom:1px solid #eee}.setup-form .tos-info{padding:15px 0}.setup-form .setup-organization-next{padding-top:15px;padding-bottom:15px}.setup-form .setup-plans{border-collapse:initial;border:1px solid var(--color-border-tertiary)}.setup-form .setup-plans tr.selected{background-color:var(--color-bg-info)}.setup-form .setup-plans .name{font-weight:600}.setup-form .setup-plans .choose-plan input[type=radio]{display:none}.setup-creditcard-form .country-form,.setup-creditcard-form .state-form{float:left;margin:0;word-wrap:normal}.setup-creditcard-form .country-form,.setup-creditcard-form .postal-code-form{margin-top:0;margin-bottom:15px}.setup-creditcard-form .form-group select.select-country{width:182px;margin-right:5px}.setup-creditcard-form .form-group select:invalid{color:var(--color-text-tertiary)}.setup-creditcard-form .form-group select.select-state{width:113px}.setup-creditcard-form .form-group .input-vat{width:288px}.setup-creditcard-form .form-group input.input-postal-code{width:180px}.setup-creditcard-form.is-vat-country .vat-field{display:block}.setup-creditcard-form.is-international .form-group select.select-country{width:300px}.setup-creditcard-form.is-international .state-form,.setup-creditcard-form.no-postcodes .postal-code-form{display:none}.setup-creditcard-form dd .octicon-credit-card{position:inherit}.setup-creditcard-form .vat-field{display:none}.setup-creditcard-form .vat-field.prefilled{display:block}.setup-creditcard-form .help-text{font-size:80%;font-weight:400;color:var(--color-text-secondary)}.user-identification-questions{float:none;width:auto;margin-top:40px}.user-identification-questions .question{margin-bottom:30px}.user-identification-questions .response-group label{font-weight:400}.user-identification-questions .form-checkbox{margin:8px 0}.user-identification-questions .disclaimer{margin:40px 0 0;text-align:center}.user-identification-questions.redesign .question{margin-bottom:96px}.user-identification-questions.redesign .topic-input-container .tag-input{width:100%;border:0;border-bottom:6px solid #000;box-shadow:0 0 0}.shelf{padding-top:20px;margin-bottom:20px;background-color:var(--color-bg-primary);border-bottom:1px solid var(--color-border-secondary)}.shelf .container{position:relative}.shelf-title{margin:0;font-size:30px;font-weight:400}.shelf-content{width:800px;margin:50px auto;text-align:center}.shelf-lead{margin-top:10px;margin-bottom:30px;font-size:18px;color:var(--color-text-secondary)}.shelf-dismiss{position:absolute;top:0;right:20px;font-size:12px;color:var(--color-text-tertiary)}.shelf-dismiss:hover{color:var(--color-text-link);text-decoration:none}.shelf-dismiss .close-button{width:28px;height:28px;padding:3px 5px;color:var(--color-fade-fg-70);border:1px solid var(--color-fade-fg-15);border-radius:28px}.shelf-dismiss .close-button:hover{color:var(--color-text-primary);border-color:var(--color-fade-fg-30)}.shelf-cta{padding:10px 50px;font-size:16px}.intro-shelf{margin-top:0;background-image:linear-gradient(180deg,transparent 60%,var(--color-bg-primary)),linear-gradient(70deg,var(--color-bg-info) 32%,var(--color-bg-success))}.intro-shelf .shelf-lead{color:var(--color-text-secondary)}.orgs-help-shelf{padding-top:20px;padding-bottom:20px;margin-top:-20px;margin-bottom:20px}.orgs-help-shelf .orgs-help-title{font-size:30px;font-weight:400}.orgs-help-shelf-content{width:800px;margin:50px auto;text-align:center}.orgs-help-shelf-content .orgs-help-lead{padding-right:45px;padding-left:45px;font-size:18px}.orgs-help-shelf-content .orgs-help-divider{display:block;width:150px;margin:40px auto;content:"";border-top:1px solid var(--color-border-tertiary)}.orgs-help-lead{margin-top:10px;margin-bottom:30px;color:var(--color-text-secondary)}.orgs-help-items{margin-bottom:40px}.orgs-help-item-octicon{width:70px;height:70px;margin:0 auto 15px;text-align:center;background-color:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:50px}.orgs-help-item-octicon .octicon{margin-top:20px;color:var(--color-text-link)}.orgs-help-item-title{margin-bottom:10px;font-weight:400}.orgs-help-item-content{margin-top:0;font-size:14px;color:var(--color-text-secondary)}.orgs-help-dismiss{float:right;margin-top:5px;margin-right:10px;font-size:12px;color:var(--color-text-secondary)}.orgs-help-dismiss:hover{color:var(--color-text-link);text-decoration:none}.orgs-help-dismiss .octicon{position:relative;top:1px}.orgs-help-title{margin-top:0;margin-bottom:0}.signup-plan-column{max-width:auto}@media (min-width:544px){.signup-plan-column{max-width:320px}}.signup-plan-card{height:auto;background:var(--color-bg-primary);border:1px solid var(--color-border-tertiary);box-shadow:var(--color-shadow-medium)}.signup-plan-card:hover{background:var(--color-bg-primary);border-color:var(--color-auto-blue-3);box-shadow:var(--color-shadow-large)}.signup-plan-card .signup-plan-card-light-text{font-weight:300}.signup-plan-summary-subhead{border-bottom:6px solid}.signup-btn:disabled{color:var(--color-fade-white-50);opacity:.5!important}@media (min-width:544px){.plan-toggle-mobile{max-width:320px}}@media (min-width:544px){.plan-toggle-mobile .plan-toggle-modal{width:320px}}.plan-category-tab{max-width:auto}.plan-category-tab[aria-selected=true]{color:var(--color-text-white);background-color:var(--color-bg-info-inverse)!important}.plan-category-tab[aria-selected=true] .tab-title{color:var(--color-text-white)!important}@media (min-width:544px){.plan-category-tab{max-width:320px}}.plan-selection-previous-icon{transform:rotate(90deg)}@media (min-width:768px){.plan-selection-previous-icon{transform:rotate(0deg)}}.collection-search-results em{padding:.1em;background-color:#faffa6}.draft-tag{padding:5px 10px;font-weight:600;color:#eee;background-color:#404040}.showcase-page-pattern{position:relative;z-index:-1;height:100px;margin-top:-21px;margin-bottom:-70px}.showcase-page-pattern:after{position:absolute;top:0;right:0;bottom:0;left:0;display:block;content:"";background-image:linear-gradient(180deg,hsla(0,0%,100%,.85),#fff)}.showcase-page-repo-list{border-top:1px solid #eee}.repo-health .repo-health-loading{display:none;font-style:italic}.repo-health.is-loading .repo-health-loading{display:block}.repo-health.is-loading .repo-health-results{display:none}.slash-command-menu-item[aria-selected=true]{color:var(--color-state-hover-primary-text);background-color:var(--color-state-hover-primary-bg)}.sortable-button-item:first-of-type .sortable-button[data-direction=up],.sortable-button-item:last-of-type .sortable-button[data-direction=down]{display:none}@keyframes sponsors-progress-animation{0%{background-position:100%}to{background-position:0}}.sponsors-goal-progress-bar{background:#ec6cb9;transition:width .5s ease-in}.sponsors-goal-progress-bar:hover{cursor:pointer}.sponsors-goal-completed-bar,.sponsors-goal-progress-bar:hover{background:linear-gradient(90deg,#ffd33d,#ea4aaa 17%,#b34bff 34%,#01feff 51%,#ffd33d 68%,#ea4aaa 85%,#b34bff);background-size:300% 100%;animation:sponsors-progress-animation 2s linear infinite}.sponsors-goal-completed-bar{transition:width .5s ease-in}.sponsors-goals-avatar-border{background-color:var(--color-bg-primary);border:1px solid var(--color-border-inverse)}.sponsors-goals-heart-anim{width:100px;height:100px;cursor:pointer;background:url(/images/modules/site/sponsors/heart-explosion.png) no-repeat;background-position:0 0;background-size:600px 100px;transition:background-position .3s steps(5);transition-duration:0s}.sponsors-goals-heart-anim.is-active{background-position:-500px 0;transition-duration:.3s}.open>.sponsors-foldable{max-height:700px}.open .sponsors-foldable-opened{display:block}.open .sponsors-foldable-closed{display:none}.sponsors-foldable{max-height:0;box-sizing:border-box;overflow-y:auto;transition:max-height .25s ease-in-out}.sponsors-foldable-opened{display:none}.sponsors-foldable-closed{display:block}.sponsor-card{width:100%;height:450px;border:0}@media (min-width:544px){.sponsor-card{height:260px}}.corporate-sponsors-banner{background-color:var(--color-bg-secondary);border:1px solid var(--color-auto-pink-5)}.business-sso,.org-sso{width:340px;margin:0 auto}.business-sso .sso-title,.org-sso .sso-title{font-size:24px;font-weight:300;letter-spacing:-.5px}.business-sso .business-sso-panel,.business-sso .org-sso-panel,.org-sso .business-sso-panel,.org-sso .org-sso-panel{padding:20px;background-color:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:5px}.business-sso .sso-recovery-callout,.org-sso .sso-recovery-callout{padding:15px 10px;text-align:center;border:1px solid var(--color-border-secondary);border-radius:5px}.sso-modal{padding:16px}.sso-modal .business-sso,.sso-modal .org-sso{width:auto}.sso-modal .business-sso .business-sso-panel,.sso-modal .org-sso .org-sso-panel{border:0}.sso-modal .sso-prompt-error,.sso-modal .sso-prompt-success,.sso-modal.success .sso-prompt-default{display:none}.sso-modal.success .sso-prompt-success{display:block}.sso-modal.error .sso-prompt-default{display:none}.sso-modal.error .sso-prompt-error{display:block}.sso-modal.error .flash-error{margin-right:-35px;margin-left:-35px;border-right:0;border-left:0;border-radius:0}.tab-size[data-tab-size="1"]{-moz-tab-size:1;tab-size:1}.tab-size[data-tab-size="2"]{-moz-tab-size:2;tab-size:2}.tab-size[data-tab-size="3"]{-moz-tab-size:3;tab-size:3}.tab-size[data-tab-size="4"]{-moz-tab-size:4;tab-size:4}.tab-size[data-tab-size="5"]{-moz-tab-size:5;tab-size:5}.tab-size[data-tab-size="6"]{-moz-tab-size:6;tab-size:6}.tab-size[data-tab-size="7"]{-moz-tab-size:7;tab-size:7}.tab-size[data-tab-size="8"]{-moz-tab-size:8;tab-size:8}.tab-size[data-tab-size="9"]{-moz-tab-size:9;tab-size:9}.tab-size[data-tab-size="10"]{-moz-tab-size:10;tab-size:10}.tab-size[data-tab-size="11"]{-moz-tab-size:11;tab-size:11}.tab-size[data-tab-size="12"]{-moz-tab-size:12;tab-size:12}.tag-input-container{position:relative}.tag-input-container .suggester{position:absolute;z-index:100;width:100%;margin-top:-1px}.tag-input-container ul{list-style:none}.tag-input input{float:left;padding-left:2px;margin:0;background:none;border:0;box-shadow:none}.tag-input input:focus{box-shadow:none}.task-list-item{list-style-type:none}.task-list-item label{font-weight:400}.task-list-item.enabled label{cursor:pointer}.task-list-item+.task-list-item{margin-top:3px}.task-list-item .handle{display:none}.task-list-item-checkbox{margin:0 .2em .25em -1.6em;vertical-align:middle}.reorderable-task-lists .markdown-body .contains-task-list{padding:0}.reorderable-task-lists .markdown-body li:not(.task-list-item){margin-left:26px}.reorderable-task-lists .markdown-body ol:not(.contains-task-list) li,.reorderable-task-lists .markdown-body ul:not(.contains-task-list) li{margin-left:0}.reorderable-task-lists .markdown-body li p{margin-top:0}.reorderable-task-lists .markdown-body .task-list-item{padding-right:15px;padding-left:42px;margin-right:-15px;margin-left:-15px;border:1px solid transparent}.reorderable-task-lists .markdown-body .task-list-item+.task-list-item{margin-top:0}.reorderable-task-lists .markdown-body .task-list-item .contains-task-list{padding-top:4px}.reorderable-task-lists .markdown-body .task-list-item .handle{display:block;float:left;width:20px;padding:2px 0 0 2px;margin-left:-43px;opacity:0}.reorderable-task-lists .markdown-body .task-list-item .drag-handle{fill:#333}.reorderable-task-lists .markdown-body .task-list-item.hovered>.handle{opacity:1}.reorderable-task-lists .markdown-body .task-list-item.is-dragging{opacity:0}.review-comment-contents .markdown-body .task-list-item{padding-left:42px;margin-right:-12px;margin-left:-12px;border-top-left-radius:6px;border-bottom-left-radius:6px}.team-label-ldap{display:inline-block;padding:0 9px;line-height:25px;color:var(--color-text-secondary);text-transform:uppercase;cursor:default;border:1px solid #eaeaea;border-radius:6px;box-shadow:none}.team-label-ldap.header-label-ldap{padding:3px 5px}.team-member-ellipsis{width:25px;height:25px;line-height:24px}.team-member-ellipsis:hover{color:var(--color-text-link);background:var(--color-bg-tertiary)}.team-listing .nested-teams-checkbox{padding-left:3px}.team-listing .nested-teams-checkbox.show{padding-right:11px}.team-listing .nested-teams-checkbox.indent-1{padding-left:30px}.team-listing .nested-teams-checkbox.indent-2{padding-left:54px}.team-listing .nested-teams-checkbox.indent-3{padding-left:78px}.team-listing .nested-teams-checkbox.indent-4{padding-left:102px}.team-listing .nested-teams-checkbox.indent-5{padding-left:126px}.team-listing .nested-teams-checkbox.indent-6{padding-left:150px}.team-listing .nested-teams-checkbox.indent-7{padding-left:174px}.team-listing .nested-teams-checkbox.indent-8{padding-left:198px}.team-listing .nested-teams-checkbox.indent-9{padding-left:222px}.team-listing .nested-teams-checkbox.indent-10{padding-left:246px}.team-listing .nested-teams-checkbox.indent-11{padding-left:270px}.team-listing .nested-teams-checkbox.indent-12{padding-left:294px}.team-listing .nested-teams-checkbox.indent-13{padding-left:318px}.team-listing .nested-teams-checkbox.indent-14{padding-left:342px}.team-listing .nested-teams-checkbox.indent-15{padding-left:366px}.team-listing .team-info{width:280px}.team-listing .nested-team-info{width:650px}.team-listing .nested-team-name{max-width:268px}.team-listing .shortened-teams-avatars{margin-left:auto}.team-listing .shortened-teams-avatars.width-0{width:300px}.team-listing .shortened-teams-avatars.width-1{width:233px}.team-listing .shortened-teams-avatars.width-2{width:167px}.team-listing .shortened-teams-avatars.width-3{width:99px}.team-listing .team-members-count{width:124px}.team-listing .team-show-more-cell{width:980px}.team-listing .team-buttons{width:150px}.team-listing .octicon-wrapper{width:10px}.team-listing .is-open.root-team{background-color:var(--color-bg-secondary)}.team-listing .is-open .expand-nested-team{font-weight:600}.team-listing .is-open .octicon-chevron-down{transform:rotate(180deg)}.token-scanning-reset-query:hover .token-scanning-reset-query-icon{background-color:var(--color-bg-info-inverse)}.token-scanning-reset-query-icon{width:18px;height:18px;padding:1px;background-color:var(--color-auto-gray-5)}.traffic-graph{min-height:150px}.traffic-graph .activity{margin-top:0}.traffic-graph .activity .dots{margin-top:40px}.traffic-graph .path{fill:none;stroke-width:2}.traffic-graph path.total{stroke:var(--color-auto-green-5)}.traffic-graph path.unique{stroke:var(--color-auto-blue-6)}.traffic-graph .axis .tick:first-of-type line{stroke:var(--color-auto-green-5);stroke-width:2px}.traffic-graph .y line{stroke:var(--color-auto-green-5)}.traffic-graph .y.unique line{stroke:var(--color-auto-blue-6)}.traffic-graph .overlay{fill-opacity:0}.uniques-graph .axis .tick:last-child line{stroke:var(--color-auto-blue-6);stroke-width:2px}.svg-tip .date{color:var(--color-text-white)}.top-domains .dots{display:block;margin:167px auto 0}.top-domains-icon{display:inline-block;margin-right:5px;vertical-align:middle}table.capped-list{width:100%;line-height:100%}table.capped-list th{padding:8px;text-align:left;background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border-primary)}table.capped-list td{padding:8px;font-size:12px;border-bottom:1px solid var(--color-border-secondary)}table.capped-list td.middle,table.capped-list th.middle{text-align:center}table.capped-list .favicon{width:16px;height:16px;margin:0 5px;vertical-align:middle}table.capped-list .octicon{margin-right:10px;color:var(--color-icon-secondary);vertical-align:-1px}table.capped-list tr:nth-child(2n){background-color:var(--color-bg-secondary)}.capped-list-label{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.traffic-graph-stats .summary-stats{width:100%}.traffic-graph-stats .summary-stats:before{display:table;content:""}.traffic-graph-stats .summary-stats:after{display:table;clear:both;content:""}.traffic-graph-stats .summary-stats li{display:block;float:left;width:50%}.totals circle{fill:var(--color-auto-green-5)}.totals circle,.uniques circle{stroke:var(--color-auto-white);stroke-width:2}.uniques circle{fill:var(--color-auto-blue-6)}ul.web-views li{width:140px}ul.clones li{width:170px}.tree-finder-input,.tree-finder-input:focus{font-size:inherit;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.tree-browser .octicon-chevron-right{color:transparent}.tree-browser-result[aria-selected=true]{background-color:var(--color-search-hover-hl)!important}.tree-browser-result[aria-selected=true] .octicon-chevron-right{color:var(--color-text-link)}.tree-browser-result .css-truncate-target{max-width:870px}.tree-browser-result mark{font-weight:600;color:var(--color-text-link);background:none}.toolbar-commenting .dropdown-menu-s{width:100px}.toolbar-commenting .dropdown-item{font-weight:600;line-height:1em;background:none;border:0}.toolbar-commenting .dropdown-item:hover{color:var(--color-text-link)}.toolbar-commenting .dropdown-item:focus{color:var(--color-text-link);outline:none}.toolbar-item{display:block;float:left;padding:4px;font-size:14px;color:var(--color-text-secondary);cursor:pointer;background:none;border:0}.toolbar-item.dropdown,.toolbar-item.select-menu{padding:0}.toolbar-item .select-menu-modal{margin-top:2px}.toolbar-item .select-menu-item{padding-left:8px}.toolbar-item .menu-target{display:block;padding:4px;color:var(--color-text-secondary);background:none;border:0}.toolbar-item .menu-target:hover,.toolbar-item:hover{color:var(--color-text-link)}.toolbar-item .menu-target:focus,.toolbar-item:focus{color:var(--color-text-link);outline:none}.toolbar-item:disabled{color:#ddd}.typeahead-result{position:relative;display:block;min-width:100%;padding:10px;margin-top:0;color:var(--color-text-primary);cursor:pointer}.typeahead-result:after,.typeahead-result:before{display:table;content:""}.typeahead-result:after{clear:both}.typeahead-result:first-child{border-top:0}.typeahead-result.navigation-focus,.typeahead-result:focus,.typeahead-result:hover,.typeahead-result[aria-selected=true]{text-decoration:none}.typeahead-result.navigation-focus,.typeahead-result:hover,.typeahead-result[aria-selected=true]{color:var(--color-text-white);background-color:var(--color-bg-info-inverse)}.typeahead-result.navigation-focus .octicon-plus,.typeahead-result:hover .octicon-plus,.typeahead-result[aria-selected=true] .octicon-plus{color:var(--color-text-white)}.typeahead-result.disabled{pointer-events:none;opacity:.5}.member-suggestion{padding-left:44px}.member-suggestion .avatar{float:left;margin-right:10px;margin-left:-34px}.member-suggestion .member-suggestion-info{width:90%;margin-top:2px;margin-bottom:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-suggestion .member-name{font-size:12px;color:var(--color-text-secondary)}.member-suggestion .member-email{margin-top:0;margin-bottom:0}.member-suggestion .octicon-check,.member-suggestion .octicon-plus{position:absolute;top:50%;right:15px;margin-top:-8px;color:#ddd}.member-suggestion .already-member-note,.member-suggestion .non-member-action,.member-suggestion .non-member-note{margin-top:0;margin-bottom:0;color:var(--color-text-secondary)}.member-suggestion .non-member-action{display:none}.member-suggestion.navigation-focus .already-member-note,.member-suggestion.navigation-focus .member-email,.member-suggestion.navigation-focus .member-name,.member-suggestion.navigation-focus .non-member-action,.member-suggestion.navigation-focus .non-member-note,.member-suggestion:hover .already-member-note,.member-suggestion:hover .member-email,.member-suggestion:hover .member-name,.member-suggestion:hover .non-member-action,.member-suggestion:hover .non-member-note,.member-suggestion[aria-selected=true] .already-member-note,.member-suggestion[aria-selected=true] .member-email,.member-suggestion[aria-selected=true] .member-name,.member-suggestion[aria-selected=true] .non-member-action,.member-suggestion[aria-selected=true] .non-member-note{color:var(--color-text-white)}.member-suggestion.navigation-focus .non-member-note,.member-suggestion:hover .non-member-note,.member-suggestion[aria-selected=true] .non-member-note{display:none}.member-suggestion.navigation-focus .non-member-action,.member-suggestion:hover .non-member-action,.member-suggestion[aria-selected=true] .non-member-action{display:block}.member-suggestion.navigation-focus .octicon,.member-suggestion:hover .octicon,.member-suggestion[aria-selected=true] .octicon{color:var(--color-text-white)}.member-suggestion.disabled .member-info,.member-suggestion.not-a-member .member-info{margin-top:-2px}.non-member-result{padding-left:31px}.team-suggestion{padding-left:32px}.team-suggestion .octicon{float:left;margin-top:2px;margin-left:-22px}.team-suggestion .team-suggestion-info{margin:2px 0 0}.team-suggestion .team-suggestion-info .css-truncate-target{max-width:none}.team-suggestion .team-description,.team-suggestion .team-size{font-size:12px;color:var(--color-text-secondary)}.team-suggestion.navigation-focus .team-description,.team-suggestion.navigation-focus .team-size,.team-suggestion[aria-selected=true] .team-description,.team-suggestion[aria-selected=true] .team-size{color:var(--color-text-white)}.email-suggestion{padding-left:32px}.email-suggestion .octicon-mail{margin-left:-20px;color:var(--color-auto-gray-4)}.email-suggestion .member-suggestion-info{margin-top:1px}.repo-access-add-team .team-name{font-size:13px}.repo-access-add-team .team-description{display:block}.repo-access-add-team .team-description,.repo-access-add-team .team-size{font-size:12px;color:var(--color-text-secondary)}.repo-access-add-team.navigation-focus .team-description,.repo-access-add-team.navigation-focus .team-size,.repo-access-add-team[aria-selected=true] .team-description,.repo-access-add-team[aria-selected=true] .team-size{color:var(--color-text-white)}#user-content-toc{overflow:visible}#user-content-toc tr{border-top:0}#user-content-toc td{padding:0 20px;background-color:#f7f7f7;border:0;border-radius:6px}#user-content-toc ul{padding-left:0;font-weight:600;list-style:none}#user-content-toc ul li{padding-left:.2em}#user-content-toc ul ul{font-weight:400}#user-content-toc ul ul li:before{float:left;margin-top:-.2em;margin-right:.2em;font-size:1.2em;line-height:1;color:#aaa;content:"\231e"}#user-content-toc ul ul ul{padding-left:.9em}#user-content-toctitle h2{margin-top:1em;margin-bottom:.5em;font-size:1.25em;border-bottom:0}.user-list .avatar{position:absolute;top:0;left:0}.user-list-info{min-height:48px;padding:0;font-size:18px;font-weight:400;line-height:20px}.user-list-meta{overflow:hidden}.user-list-item+.user-list-item{border-top:1px solid var(--color-border-primary)}.follow-list{list-style-type:none}.follow-list .follow-list-item{width:305px;height:100px;padding-bottom:20px;margin-right:20px;margin-bottom:20px}.follow-list .follower-list-align-top{vertical-align:top}.follow-list .flagged-banner{width:75px;padding:3px 0;font-size:10px;font-weight:600;color:var(--color-text-white);text-transform:uppercase;background-color:var(--color-text-danger);border-bottom-right-radius:6px;border-bottom-left-radius:6px}.follow-list .follow-list-name{margin-bottom:1px;font-weight:400}.follow-list .follow-list-name a{color:inherit}.follow-list .follow-list-info{margin-bottom:.6em;font-size:12px;color:var(--color-text-secondary)}.follow-list .css-truncate.css-truncate-target{max-width:190px}.user-status-suggestions{height:98px;transition:height .1s ease-out,opacity .2s ease-in}.user-status-suggestions.collapsed{height:0;opacity:0}.user-status-container,.user-status-container .team-mention,.user-status-container .user-mention{white-space:normal}.user-status-container{word-break:break-word;word-wrap:break-word}.user-status-container .input-group-button .btn{width:46px;height:34px;line-height:0}.user-status-container .input-group-button g-emoji{font-size:1.3em;line-height:18px}.user-status-container .team-mention,.user-status-container .user-mention{white-space:normal}.user-status-container img.emoji{width:18px;height:18px}.emoji-status-width{width:20px}.user-status-org-button .user-status-org-detail{color:var(--color-text-secondary)}.user-status-org-button:focus .user-status-org-detail,.user-status-org-button:hover .user-status-org-detail{color:var(--color-text-white)}.user-status-org-button.selected{color:var(--color-text-white);background-color:var(--color-bg-info-inverse)}.user-status-org-button.selected .user-status-org-detail{color:var(--color-text-white)}.user-status-limited-availability-compact{width:8px;height:8px;background-color:var(--color-auto-yellow-3)}.user-status-message-wrapper{color:var(--color-text-primary)}.toggle-user-status-edit:focus .user-status-message-wrapper,.toggle-user-status-edit:hover .user-status-message-wrapper{color:var(--color-text-link)}.user-status-message-wrapper div{display:inline}.user-status-header g-emoji{font-size:1.25em}.user-status-message-wrapper .g-emoji{display:inline-block}.user-status-limited-availability-container{margin-top:16px;margin-bottom:16px}@media only screen and (max-height:560px){.user-status-suggestions{display:none}.user-status-limited-availability-container{margin-top:8px;margin-bottom:8px}}.user-status-circle-badge-container{position:absolute;bottom:0;left:100%;z-index:2;width:38px;height:38px;margin-bottom:32px;margin-left:-40px}.user-status-circle-badge-container .user-status-emoji-container{width:20px;height:20px;margin-right:0!important}.user-status-circle-badge-container .user-status-message-wrapper{width:0;padding-top:0!important;overflow:hidden;line-height:20px;opacity:0;transition:.1s ease}.user-status-circle-badge-container .user-status-busy{background-color:var(--color-bg-canvas)!important;background-image:linear-gradient(var(--color-bg-warning),var(--color-bg-warning))}.user-status-circle-badge-container .user-status-message-wrapper .team-mention,.user-status-circle-badge-container .user-status-message-wrapper .user-mention{white-space:nowrap}.user-status-circle-badge{background-color:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:2em;box-shadow:var(--color-shadow-small)}.wiki-rightbar .markdown-body .anchor{display:none}.wiki-rightbar .markdown-body h1{font-size:1.6em}.wiki-rightbar .markdown-body h2{font-size:1.4em}.wiki-rightbar ol:last-child,.wiki-rightbar p:last-child,.wiki-rightbar ul:last-child{margin-bottom:0}.wiki-footer .markdown-body,.wiki-rightbar .markdown-body{font-size:13px}.wiki-footer .markdown-body.wiki-writable>:nth-child(2),.wiki-rightbar .markdown-body.wiki-writable>:nth-child(2){margin-top:0!important}.wiki-footer .markdown-body img{background:none}.wiki-pages-box .wiki-more-pages{display:none}.wiki-pages-box .filterable-active .wiki-more-pages,.wiki-pages-box.wiki-show-more .wiki-more-pages{display:block}.wiki-pages-box .filterable-active .wiki-more-pages-link,.wiki-pages-box.wiki-show-more .wiki-more-pages-link{display:none}.visual-graph{transition:opacity .1s ease-out}.WorkflowGraph{cursor:grab}.WorkflowGraph.dragging *{cursor:grabbing!important}.WorkflowGraph.dragging .WorkflowJob:hover{background:none!important}.WorkflowGraph.dragging .btn-link:hover,.WorkflowGraph.dragging a:hover{text-decoration:none!important}.WorkflowCard{width:260px;background-color:var(--color-workflow-card-bg)}.WorkflowCard.WorkflowCard-group{width:292px}.WorkflowCard.has-title{border-top-left-radius:0!important}.WorkflowCard-heading{top:-21px;left:-1px;background-color:var(--color-workflow-card-bg);box-shadow:inset 0 1px 0 var(--color-border-primary),inset 1px 0 0 var(--color-border-primary),inset -1px 0 0 var(--color-border-primary),0 -1px 2px var(--color-workflow-card-header-shadow)}.WorkflowCard-heading:after{position:absolute;top:5px;width:20px;height:16px;margin-left:15px;content:"";border-bottom-left-radius:6px;box-shadow:inset 1px 0 0 var(--color-border-primary),inset 0 -1px 0 var(--color-border-primary),-1px 3px var(--color-workflow-card-bg)}.WorkflowCard-port{top:14px;width:16px;height:16px}.WorkflowCard-group .WorkflowCard-port{top:30px}.WorkflowCard-port:before{position:absolute;top:1px;left:1px;width:14px;height:14px;content:"";background-color:var(--color-workflow-card-bg);border-radius:50%}.WorkflowCard-port:after{position:absolute;top:4px;left:4px;width:8px;height:8px;content:"";background-color:var(--color-workflow-card-connector-node-bg);border-radius:50%}.WorkflowCard-port--input{left:-8px;background-image:linear-gradient(270deg,var(--color-workflow-card-bg),var(--color-workflow-card-bg) 50%,var(--color-border-primary) 0,var(--color-border-primary))}.WorkflowCard-port--output{right:-8px;background-image:linear-gradient(90deg,var(--color-workflow-card-bg),var(--color-workflow-card-bg) 50%,var(--color-border-primary) 0,var(--color-border-primary))}.WorkflowJob:hover{background:var(--color-bg-secondary)}.WorkflowCard:not(.WorkflowCard-group) .WorkflowJob:hover~.WorkflowCard-port:before{background-color:var(--color-bg-secondary)}.WorkflowCard:not(.WorkflowCard-group) .WorkflowJob:hover~.WorkflowCard-port--input{background-image:linear-gradient(270deg,var(--color-bg-secondary),var(--color-bg-secondary) 50%,var(--color-border-primary) 0,var(--color-border-primary))}.WorkflowCard:not(.WorkflowCard-group) .WorkflowJob:hover~.WorkflowCard-port--output{background-image:linear-gradient(90deg,var(--color-bg-secondary),var(--color-bg-secondary) 50%,var(--color-border-primary) 0,var(--color-border-primary))}.WorkflowJob-deployment-progress .Progress{background:none}.WorkflowJob{padding:12px}.WorkflowJob-title{height:20px;line-height:20px}.WorkflowJob-title:after{position:absolute;top:0;right:0;bottom:0;left:0;content:""}.MatrixComponent-pending{padding:12px}.MatrixComponent-collapse--expand,.MatrixComponent-collapse--title{line-height:20px}.WorkflowConnector{stroke:var(--color-workflow-card-connector-line)}.zoom-btn{padding:5px;line-height:16px}.zoom-btn .octicon{color:var(--color-text-primary)}.zoom-btn.disabled .octicon{color:var(--color-text-disabled)}.WorkflowJob-deployment-progress .WorkflowJob-deployment-progress-complete{background-color:var(--color-workflow-card-progress-complete-bg)!important}.WorkflowJob-deployment-progress .WorkflowJob-deployment-progress-incomplete{background-color:var(--color-workflow-card-progress-incomplete-bg)!important}@media (min-width:1012px){.actions-workflow-navigation{max-width:340px}}@media (min-width:768px){.actions-workflow-navigation{top:16px;max-height:calc(100vh - 16px)}}.actions-workflow-navigation .row{height:40px;line-height:20px;text-decoration:none;transition:background-color .15s ease}.actions-workflow-navigation .row:hover{background-color:var(--color-bg-tertiary)}.actions-workflow-navigation .row-selected{font-weight:600;background-color:var(--color-bg-tertiary)}.actions-workflow-navigation .row-section{background:transparent!important}.actions-workflow-navigation .row-parent{background:transparent}.actions-workflow-navigation .row-parent:hover{background-color:initial}.actions-workflow-navigation .row-child{height:32px}.actions-workflow-navigation .row-child:hover{color:var(--color-text-primary)!important}.actions-workflow-table.sticky th{position:-webkit-sticky;position:sticky;top:0;z-index:1;background-color:var(--color-actions-workflow-table-sticky-bg)}.actions-workflow-table th{height:auto;line-height:44px;text-align:left}.actions-workflow-table td{height:64px;padding-top:12px;padding-bottom:12px;line-height:20px}.actions-workflow-table td.compact{height:48px}.actions-workflow-table td:first-child,.actions-workflow-table th:first-child{padding-left:16px}@media (min-width:768px){.actions-workflow-table td:first-child,.actions-workflow-table th:first-child{padding-left:20px}}.actions-workflow-table td:last-child,.actions-workflow-table th:last-child{padding-right:20px}.actions-workflow-stats .col{min-width:72px}.actions-workflow-stats .col-triggered-content{min-width:128px;min-height:24px}@media (max-width:768px){.actions-fullwidth-module{position:relative;margin-right:-16px!important;margin-left:-16px!important;border-right:0!important;border-left:0!important}.actions-fullwidth-module.actions-fullwidth-module{border-radius:0!important}.actions-fullwidth-module:after{position:absolute;right:0;bottom:-17px;left:0;z-index:0;height:16px;content:"";background-color:var(--color-bg-tertiary)}}@keyframes expand{0%{opacity:.5;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.workflow-nav-mobile-details .octicon-chevron-right{transition:transform .09s ease-out}.workflow-nav-mobile-details[open] .octicon-chevron-right{transform:rotate(90deg)}.workflow-nav-mobile-details[open] .job-list{animation:expand .2s ease}.workflow-nav-mobile-details .job-list{position:relative}.workflow-nav-mobile-details .job-link{height:40px}.workflow-nav-mobile-details .job-link:hover{background:var(--color-state-hover-secondary-bg)}.ActionsApprovalOverlay-environment{min-height:64px;cursor:pointer}.ActionsApprovalOverlay-environment .AvatarStack-body{background:transparent!important}.ActionsApprovalOverlay-environment.selected-approval-environment,.ActionsApprovalOverlay-environment:hover{background:var(--color-state-hover-secondary-bg);border-color:var(--color-state-hover-secondary-border)!important}.uxr_CheckRun-search{width:auto}.uxr_CheckRun-header{position:-webkit-sticky;position:sticky;top:0;z-index:1}.uxr_CheckRun-header:after{position:absolute;right:0;bottom:-9px;left:0;height:8px;content:"";background-color:inherit}.uxr_CheckStep-header{position:-webkit-sticky;position:sticky;top:88px;transition:background-color .15s ease}.anim-rotate{animation:rotate 1s linear infinite}@keyframes rotate{to{transform:rotate(1turn)}}.ColorSwatch{display:inline-block;width:1em;height:1em;vertical-align:middle;border:1px solid var(--color-fade-black-15);border-radius:6px}.ColorSwatch,.label-select-menu .color{border-radius:2em}.color-inherit{color:inherit!important}@media (min-width:1012px){.hx_actions-sidebar{max-width:320px}}.hx_text-blue-light{color:var(--color-auto-blue-4)!important}.hx_actions_timer_input{-moz-appearance:textfield}.hx_actions_timer_input::-webkit-inner-spin-button,.hx_actions_timer_input::-webkit-outer-spin-button{-webkit-appearance:none}.hx_anim-fade-out{animation-name:hx-fade-out;animation-duration:1s;animation-timing-function:ease-out;animation-fill-mode:forwards}@keyframes hx-fade-out{0%{opacity:1}to{opacity:0}}.AvatarStack--large{min-width:44px;height:32px}.AvatarStack--large.AvatarStack--two{min-width:48px}.AvatarStack--large.AvatarStack--three-plus{min-width:52px}.AvatarStack--large .AvatarStack-body .avatar{width:32px;height:32px;margin-right:-28px}.AvatarStack--large .AvatarStack-body:hover .avatar{margin-right:4px}.AvatarStack--large .avatar.avatar-more:before{width:32px}.AvatarStack--large .avatar.avatar-more:after{width:30px}.AvatarStack--large .avatar.avatar-more:after,.AvatarStack--large .avatar.avatar-more:before{height:32px}.hx_avatar_stack_commit .AvatarStack{height:24px;min-width:24px}.hx_avatar_stack_commit .AvatarStack .avatar{width:24px;height:24px}.hx_avatar_stack_commit .AvatarStack.AvatarStack--two{min-width:40px}.hx_avatar_stack_commit .AvatarStack.AvatarStack--three-plus{min-width:44px}.hx_avatar_stack_commit .AvatarStack-body{background-color:var(--color-bg-info)}.hx_flex-avatar-stack{display:flex;align-items:center}.hx_flex-avatar-stack-item{min-width:0;max-width:24px}.hx_flex-avatar-stack-item .avatar{display:block;border:2px solid var(--color-bg-primary);background-color:var(--color-bg-primary);box-shadow:none}.hx_flex-avatar-stack-item:last-of-type{flex-shrink:0;max-width:none}.Box-row--focus-gray.navigation-focus .AvatarStack-body{background-color:var(--color-bg-tertiary)}.AvatarStack-body:not(:hover){background-color:initial}.hx_badge-search-container{cursor:text}.hx_badge-search-container .hx_badge-input{border:0;outline:0;box-shadow:none}.hx_badge-search-container .hx_badge-input:focus{border:0!important;box-shadow:none!important}.hx_badge-search-container .hx_badge-input:-ms-input-placeholder{font-size:12px}.hx_badge-search-container .hx_badge-input::-ms-input-placeholder{font-size:12px}.hx_badge-search-container .hx_badge-input::placeholder{font-size:12px}.hx_badge-search-container .hx_badge-input-inline{height:30px}.hx_badge{cursor:pointer}.hx_badge[aria-pressed=true]{color:var(--color-text-white)!important;background-color:var(--color-bg-info-inverse)!important;border-color:var(--color-border-info)!important}.hx_badge-align{height:40px!important}.hx_Box--firstRowRounded0 .Box-row:first-of-type{border-top-left-radius:0;border-top-right-radius:0}.Box-row:first-of-type{border-top-color:transparent}.hx_Box-row--with-top-border:first-of-type{border-top-color:inherit}.Box--overlay [data-close-dialog],.Box-overlay--narrow [data-close-dialog],.Box-overlay--wide [data-close-dialog]{z-index:1}@media (hover:hover){.hx_menuitem--focus{background-color:var(--color-bg-secondary)}}@media (-webkit-min-device-pixel-ratio:2) and (min-resolution:0.001dpcm){g-emoji{font-size:1.25em}}.hx_create-pr-button:hover{border-right-width:0}.hx_create-pr-button:hover+.BtnGroup-parent .BtnGroup-item{border-left-width:1px}summary[type=button].btn{-webkit-appearance:none}.hx_color-repo-private-icon{color:var(--color-icon-warning)}.hx_bg-black-fade-15{background-color:var(--color-fade-black-15)}:root,[data-color-mode=light]{--color-calendar-halloween-graph-day-L1-bg:#ffee4a;--color-calendar-halloween-graph-day-L2-bg:#ffc501;--color-calendar-halloween-graph-day-L3-bg:#fe9600;--color-calendar-halloween-graph-day-L4-bg:#03001c}@media (prefers-color-scheme:light){[data-color-mode=auto]{--color-calendar-halloween-graph-day-L1-bg:#ffee4a;--color-calendar-halloween-graph-day-L2-bg:#ffc501;--color-calendar-halloween-graph-day-L3-bg:#fe9600;--color-calendar-halloween-graph-day-L4-bg:#03001c}}[data-color-mode=dark]{--color-calendar-halloween-graph-day-L1-bg:#631c03;--color-calendar-halloween-graph-day-L2-bg:#bd561d;--color-calendar-halloween-graph-day-L3-bg:#fa7a18;--color-calendar-halloween-graph-day-L4-bg:#fddf68}@media (prefers-color-scheme:dark){[data-color-mode=auto]{--color-calendar-halloween-graph-day-L1-bg:#631c03;--color-calendar-halloween-graph-day-L2-bg:#bd561d;--color-calendar-halloween-graph-day-L3-bg:#fa7a18;--color-calendar-halloween-graph-day-L4-bg:#fddf68}}:root,[data-color-mode=light]{--color-workflow-card-connector-line:var(--color-scale-gray-3)}@media (prefers-color-scheme:light){[data-color-mode=auto]{--color-workflow-card-connector-line:var(--color-scale-gray-3)}}[data-color-mode=dark]{--color-workflow-card-connector-line:var(--color-scale-gray-5)}@media (prefers-color-scheme:dark){[data-color-mode=auto]{--color-workflow-card-connector-line:var(--color-scale-gray-5)}}:root,[data-color-mode=light]{--color-workflow-card-connector-node-bg:var(--color-scale-gray-3)}@media (prefers-color-scheme:light){[data-color-mode=auto]{--color-workflow-card-connector-node-bg:var(--color-scale-gray-3)}}[data-color-mode=dark]{--color-workflow-card-connector-node-bg:var(--color-scale-gray-5)}@media (prefers-color-scheme:dark){[data-color-mode=auto]{--color-workflow-card-connector-node-bg:var(--color-scale-gray-5)}}:root,[data-color-mode=light]{--color-workflow-card-bg:var(--color-scale-white)}@media (prefers-color-scheme:light){[data-color-mode=auto]{--color-workflow-card-bg:var(--color-scale-white)}}[data-color-mode=dark]{--color-workflow-card-bg:var(--color-scale-gray-7)}@media (prefers-color-scheme:dark){[data-color-mode=auto]{--color-workflow-card-bg:var(--color-scale-gray-7)}}:root,[data-color-mode=light]{--color-workflow-card-header-shadow:rgba(27,31,35,0.04)}@media (prefers-color-scheme:light){[data-color-mode=auto]{--color-workflow-card-header-shadow:rgba(27,31,35,0.04)}}[data-color-mode=dark]{--color-workflow-card-header-shadow:transparent}@media (prefers-color-scheme:dark){[data-color-mode=auto]{--color-workflow-card-header-shadow:transparent}}:root,[data-color-mode=light]{--color-workflow-card-progress-complete-bg:var(--color-scale-gray-4)}@media (prefers-color-scheme:light){[data-color-mode=auto]{--color-workflow-card-progress-complete-bg:var(--color-scale-gray-4)}}[data-color-mode=dark]{--color-workflow-card-progress-complete-bg:var(--color-scale-gray-3)}@media (prefers-color-scheme:dark){[data-color-mode=auto]{--color-workflow-card-progress-complete-bg:var(--color-scale-gray-3)}}:root,[data-color-mode=light]{--color-workflow-card-progress-incomplete-bg:var(--color-scale-gray-2)}@media (prefers-color-scheme:light){[data-color-mode=auto]{--color-workflow-card-progress-incomplete-bg:var(--color-scale-gray-2)}}[data-color-mode=dark]{--color-workflow-card-progress-incomplete-bg:var(--color-scale-gray-6)}@media (prefers-color-scheme:dark){[data-color-mode=auto]{--color-workflow-card-progress-incomplete-bg:var(--color-scale-gray-6)}}:root,[data-color-mode=light]{--color-checks-donut-error:var(--color-scale-red-6)}@media (prefers-color-scheme:light){[data-color-mode=auto]{--color-checks-donut-error:var(--color-scale-red-6)}}[data-color-mode=dark]{--color-checks-donut-error:var(--color-scale-red-4)}@media (prefers-color-scheme:dark){[data-color-mode=auto]{--color-checks-donut-error:var(--color-scale-red-4)}}:root,[data-color-mode=light]{--color-checks-donut-pending:var(--color-scale-yellow-7)}@media (prefers-color-scheme:light){[data-color-mode=auto]{--color-checks-donut-pending:var(--color-scale-yellow-7)}}[data-color-mode=dark]{--color-checks-donut-pending:var(--color-scale-yellow-3)}@media (prefers-color-scheme:dark){[data-color-mode=auto]{--color-checks-donut-pending:var(--color-scale-yellow-3)}}:root,[data-color-mode=light]{--color-checks-donut-success:var(--color-scale-green-5)}@media (prefers-color-scheme:light){[data-color-mode=auto]{--color-checks-donut-success:var(--color-scale-green-5)}}[data-color-mode=dark]{--color-checks-donut-success:var(--color-scale-green-4)}@media (prefers-color-scheme:dark){[data-color-mode=auto]{--color-checks-donut-success:var(--color-scale-green-4)}}:root,[data-color-mode=light]{--color-checks-donut-neutral:var(--color-scale-gray-4)}@media (prefers-color-scheme:light){[data-color-mode=auto]{--color-checks-donut-neutral:var(--color-scale-gray-4)}}[data-color-mode=dark]{--color-checks-donut-neutral:var(--color-scale-gray-3)}@media (prefers-color-scheme:dark){[data-color-mode=auto]{--color-checks-donut-neutral:var(--color-scale-gray-3)}}:root,[data-color-mode=light]{--color-discussions-answer-border:var(--color-scale-green-5)}@media (prefers-color-scheme:light){[data-color-mode=auto]{--color-discussions-answer-border:var(--color-scale-green-5)}}[data-color-mode=dark]{--color-discussions-answer-border:rgba(var(--color-scale-green-3),0.3)}@media (prefers-color-scheme:dark){[data-color-mode=auto]{--color-discussions-answer-border:rgba(var(--color-scale-green-3),0.3)}}:root,[data-color-mode=light]{--color-discussions-answer-icon:var(--color-scale-green-6)}@media (prefers-color-scheme:light){[data-color-mode=auto]{--color-discussions-answer-icon:var(--color-scale-green-6)}}[data-color-mode=dark]{--color-discussions-answer-icon:var(--color-scale-green-3)}@media (prefers-color-scheme:dark){[data-color-mode=auto]{--color-discussions-answer-icon:var(--color-scale-green-3)}}:root,[data-color-mode=light]{--color-discussions-answer-text:var(--color-scale-green-6)}@media (prefers-color-scheme:light){[data-color-mode=auto]{--color-discussions-answer-text:var(--color-scale-green-6)}}[data-color-mode=dark]{--color-discussions-answer-text:var(--color-scale-green-3)}@media (prefers-color-scheme:dark){[data-color-mode=auto]{--color-discussions-answer-text:var(--color-scale-green-3)}}:root,[data-color-mode=light]{--color-discussions-state-answered-icon:var(--color-scale-white)}@media (prefers-color-scheme:light){[data-color-mode=auto]{--color-discussions-state-answered-icon:var(--color-scale-white)}}[data-color-mode=dark]{--color-discussions-state-answered-icon:var(--color-scale-green-3)}@media (prefers-color-scheme:dark){[data-color-mode=auto]{--color-discussions-state-answered-icon:var(--color-scale-green-3)}}:root,[data-color-mode=light]{--color-bg-discussions-row-emoji-box:rgba(209,213,218,0.5)}@media (prefers-color-scheme:light){[data-color-mode=auto]{--color-bg-discussions-row-emoji-box:rgba(209,213,218,0.5)}}[data-color-mode=dark]{--color-bg-discussions-row-emoji-box:var(--color-scale-gray-6)}@media (prefers-color-scheme:dark){[data-color-mode=auto]{--color-bg-discussions-row-emoji-box:var(--color-scale-gray-6)}}:root,[data-color-mode=light]{--color-upvote-icon-bg:var(--color-scale-blue-1)}@media (prefers-color-scheme:light){[data-color-mode=auto]{--color-upvote-icon-bg:var(--color-scale-blue-1)}}[data-color-mode=dark]{--color-upvote-icon-bg:var(--color-scale-blue-8)}@media (prefers-color-scheme:dark){[data-color-mode=auto]{--color-upvote-icon-bg:var(--color-scale-blue-8)}}:root,[data-color-mode=light]{--color-search-hover-hl:var(--color-scale-white)}@media (prefers-color-scheme:light){[data-color-mode=auto]{--color-search-hover-hl:var(--color-scale-white)}}[data-color-mode=dark]{--color-search-hover-hl:var(--color-scale-gray-8)}@media (prefers-color-scheme:dark){[data-color-mode=auto]{--color-search-hover-hl:var(--color-scale-gray-8)}}:root,[data-color-mode=light]{--color-notifications-button-text:var(--color-text-secondary)}@media (prefers-color-scheme:light){[data-color-mode=auto]{--color-notifications-button-text:var(--color-text-secondary)}}[data-color-mode=dark]{--color-notifications-button-text:var(--color-text-white)}@media (prefers-color-scheme:dark){[data-color-mode=auto]{--color-notifications-button-text:var(--color-text-white)}}:root,[data-color-mode=light]{--color-notifications-button-hover-text:var(--color-text-primary)}@media (prefers-color-scheme:light){[data-color-mode=auto]{--color-notifications-button-hover-text:var(--color-text-primary)}}[data-color-mode=dark]{--color-notifications-button-hover-text:var(--color-text-white)}@media (prefers-color-scheme:dark){[data-color-mode=auto]{--color-notifications-button-hover-text:var(--color-text-white)}}:root,[data-color-mode=light]{--color-notifications-button-hover-bg:var(--color-auto-gray-2)}@media (prefers-color-scheme:light){[data-color-mode=auto]{--color-notifications-button-hover-bg:var(--color-auto-gray-2)}}[data-color-mode=dark]{--color-notifications-button-hover-bg:var(--color-auto-blue-5)}@media (prefers-color-scheme:dark){[data-color-mode=auto]{--color-notifications-button-hover-bg:var(--color-auto-blue-5)}}:root,[data-color-mode=light]{--color-notifications-row-read-bg:var(--color-bg-tertiary)}@media (prefers-color-scheme:light){[data-color-mode=auto]{--color-notifications-row-read-bg:var(--color-bg-tertiary)}}[data-color-mode=dark]{--color-notifications-row-read-bg:var(--color-bg-primary)}@media (prefers-color-scheme:dark){[data-color-mode=auto]{--color-notifications-row-read-bg:var(--color-bg-primary)}}:root,[data-color-mode=light]{--color-notifications-row-bg:var(--color-auto-white)}@media (prefers-color-scheme:light){[data-color-mode=auto]{--color-notifications-row-bg:var(--color-auto-white)}}[data-color-mode=dark]{--color-notifications-row-bg:var(--color-bg-tertiary)}@media (prefers-color-scheme:dark){[data-color-mode=auto]{--color-notifications-row-bg:var(--color-bg-tertiary)}}:root,[data-color-mode=light]{--color-timeline-merged-bg:var(--color-auto-purple-5)}@media (prefers-color-scheme:light){[data-color-mode=auto]{--color-timeline-merged-bg:var(--color-auto-purple-5)}}[data-color-mode=dark]{--color-timeline-merged-bg:var(--color-auto-purple-3)}@media (prefers-color-scheme:dark){[data-color-mode=auto]{--color-timeline-merged-bg:var(--color-auto-purple-3)}}:root,[data-color-mode=light]{--color-current-user-tip-bg:var(--color-box-bg-info)}@media (prefers-color-scheme:light){[data-color-mode=auto]{--color-current-user-tip-bg:var(--color-box-bg-info)}}[data-color-mode=dark]{--color-current-user-tip-bg:#112034}@media (prefers-color-scheme:dark){[data-color-mode=auto]{--color-current-user-tip-bg:#112034}}:root,[data-color-mode=light]{--color-current-user-tip-border:#d4e2f8}@media (prefers-color-scheme:light){[data-color-mode=auto]{--color-current-user-tip-border:#d4e2f8}}[data-color-mode=dark]{--color-current-user-tip-border:#1f477e}@media (prefers-color-scheme:dark){[data-color-mode=auto]{--color-current-user-tip-border:#1f477e}}.text-color-icon-directory{color:var(--color-files-explorer-icon)}:checked+.hx_theme-toggle{border-color:var(--color-state-hover-primary-border)}.hx_comment-box--tip:after{border-right-color:var(--color-bg-canvas)!important}.hx_keyword-hl{background-color:var(--color-search-keyword-hl)}@media (max-width:543px){[data-color-mode=dark]{--color-text-primary:var(--color-scale-gray-0);--color-bg-canvas:var(--color-scale-black);--color-bg-primary:var(--color-scale-gray-8)}}@media (max-width:543px) and (prefers-color-scheme:dark){[data-color-mode=auto]{--color-text-primary:var(--color-scale-gray-0);--color-bg-canvas:var(--color-scale-black);--color-bg-primary:var(--color-scale-gray-8)}}:root,[data-color-mode=light]{--color-promo-color-modes-toggle-track-border:var(--color-scale-gray-3)}@media (prefers-color-scheme:light){[data-color-mode=auto]{--color-promo-color-modes-toggle-track-border:var(--color-scale-gray-3)}}[data-color-mode=dark]{--color-promo-color-modes-toggle-track-border:var(--color-scale-purple-8)}@media (prefers-color-scheme:dark){[data-color-mode=auto]{--color-promo-color-modes-toggle-track-border:var(--color-scale-purple-8)}}:root,[data-color-mode=light]{--color-promo-color-modes-toggle-track-bg:var(--color-scale-white)}@media (prefers-color-scheme:light){[data-color-mode=auto]{--color-promo-color-modes-toggle-track-bg:var(--color-scale-white)}}[data-color-mode=dark]{--color-promo-color-modes-toggle-track-bg:var(--color-scale-purple-9)}@media (prefers-color-scheme:dark){[data-color-mode=auto]{--color-promo-color-modes-toggle-track-bg:var(--color-scale-purple-9)}}:root,[data-color-mode=light]{--color-promo-color-modes-toggle-thumb-bg:var(--color-scale-gray-8)}@media (prefers-color-scheme:light){[data-color-mode=auto]{--color-promo-color-modes-toggle-thumb-bg:var(--color-scale-gray-8)}}[data-color-mode=dark]{--color-promo-color-modes-toggle-thumb-bg:var(--color-scale-purple-6)}@media (prefers-color-scheme:dark){[data-color-mode=auto]{--color-promo-color-modes-toggle-thumb-bg:var(--color-scale-purple-6)}}:root,[data-color-mode=light]{--color-promo-color-modes-toggle-moon:var(--color-scale-yellow-4)}@media (prefers-color-scheme:light){[data-color-mode=auto]{--color-promo-color-modes-toggle-moon:var(--color-scale-yellow-4)}}[data-color-mode=dark]{--color-promo-color-modes-toggle-moon:var(--color-scale-yellow-0)}@media (prefers-color-scheme:dark){[data-color-mode=auto]{--color-promo-color-modes-toggle-moon:var(--color-scale-yellow-0)}}.promo-color-modes{border:1px solid var(--color-border-primary);background-color:var(--color-bg-primary)}.promo-color-modes-toggle{position:absolute;top:34%;transform:scale(.75)}@media (min-width:1146px){.promo-color-modes-toggle{transform:scale(.88)}}@media (min-width:1280px){.promo-color-modes-toggle{transform:none}}.promo-color-modes-toggle-track{width:66px;height:38px;border-radius:66px;border:3px solid var(--color-promo-color-modes-toggle-track-border);background-color:var(--color-promo-color-modes-toggle-track-bg)}.promo-color-modes-toggle-thumb{position:absolute;top:-2px;left:-2px;width:42px;height:42px;border-radius:50%;background-color:var(--color-promo-color-modes-toggle-thumb-bg);transition:transform .3s cubic-bezier(.4,.03,0,1);cursor:pointer}:root .promo-color-modes-toggle-thumb.anim-wiggle,[data-color-mode=light] .promo-color-modes-toggle-thumb.anim-wiggle{animation:promo-color-modes-toggle-anim-off 1s linear}@keyframes promo-color-modes-toggle-anim-off{0%{transform:translateX(0);animation-timing-function:ease-in-out}70%{transform:translateX(14px);animation-timing-function:ease-in}80%{transform:translateX(0);animation-timing-function:ease-in-out}90%{transform:translateX(10px);animation-timing-function:ease-in}to{transform:translateX(0)}}@media (prefers-color-scheme:light){[data-color-mode=auto] .promo-color-modes-toggle-thumb.anim-wiggle{animation:promo-color-modes-toggle-anim-off 1s linear}@keyframes promo-color-modes-toggle-anim-off{0%{transform:translateX(0);animation-timing-function:ease-in-out}70%{transform:translateX(14px);animation-timing-function:ease-in}80%{transform:translateX(0);animation-timing-function:ease-in-out}90%{transform:translateX(10px);animation-timing-function:ease-in}to{transform:translateX(0)}}}.promo-color-modes-info{transition:max-height .6s cubic-bezier(.63,.06,.1,1),opacity .3s ease-out}.promo-color-modes-illu-group{stroke:var(--color-auto-gray-3)}.promo-color-modes-illu-group.promo-color-modes-illu-stars{stroke:none;fill:var(--color-auto-gray-3)}[data-color-mode-unset=true] .promo-color-modes{border-color:transparent;background-color:initial}[data-color-mode-unset=true] .promo-color-modes-info{opacity:0;visibility:hidden;overflow:hidden;max-height:0;transition-delay:.2s,.1s;transition-timing-function:cubic-bezier(.63,.06,.1,1),ease-in}[data-color-mode=dark] .promo-color-modes-toggle-thumb{transform:translateX(28px)}[data-color-mode=dark] .promo-color-modes-illu-hills{stroke:var(--color-scale-red-5)}[data-color-mode=dark] .promo-color-modes-illu-bush{stroke:var(--color-scale-orange-3)}[data-color-mode=dark] .promo-color-modes-illu-tower{stroke:var(--color-scale-pink-4)}[data-color-mode=dark] .promo-color-modes-illu-tree{stroke:var(--color-scale-green-3)}[data-color-mode=dark] .promo-color-modes-illu-cloud{stroke:var(--color-scale-blue-4)}[data-color-mode=dark] .promo-color-modes-illu-stars{fill:var(--color-scale-yellow-2)}[data-color-mode=dark] .promo-color-modes-illu-floater{stroke:var(--color-scale-purple-6)}[data-color-mode=dark] .promo-color-modes-illu-group{animation:promo-color-modes-illu-anim .2s cubic-bezier(.72,.08,1,.68) backwards}[data-color-mode=dark] .promo-color-modes-illu-group.promo-color-modes-illu-stars{animation-name:promo-color-modes-illu-anim-stars}@keyframes promo-color-modes-illu-anim{0%{stroke:var(--color-scale-gray-6)}}@keyframes promo-color-modes-illu-anim-stars{0%{fill:var(--color-scale-gray-6)}}[data-color-mode=dark] .promo-color-modes-illu-hills{animation-delay:.8s;animation-duration:.1s}[data-color-mode=dark] .promo-color-modes-illu-bush{animation-delay:.9s;animation-duration:.1s}[data-color-mode=dark] .promo-color-modes-illu-tower{animation-delay:1s;animation-duration:.1s}[data-color-mode=dark] .promo-color-modes-illu-tree{animation-delay:1.1s;animation-duration:.1s}[data-color-mode=dark] .promo-color-modes-illu-cloud{animation-delay:1.3s;animation-duration:.2s;animation-timing-function:cubic-bezier(.46,1.46,.85,-.42)}[data-color-mode=dark] .promo-color-modes-illu-stars{animation-delay:1.6s}[data-color-mode=dark] .promo-color-modes-illu-floater{animation-delay:1.8s;animation-duration:.2s;animation-timing-function:cubic-bezier(.47,2.92,.84,-1.5)}[data-color-mode=dark] .promo-color-modes-info{max-height:200px;transition-delay:2.3s,2.6s}@media (prefers-color-scheme:dark){[data-color-mode=auto] .promo-color-modes-toggle-thumb{transform:translateX(28px)}[data-color-mode=auto] .promo-color-modes-illu-hills{stroke:var(--color-scale-red-5)}[data-color-mode=auto] .promo-color-modes-illu-bush{stroke:var(--color-scale-orange-3)}[data-color-mode=auto] .promo-color-modes-illu-tower{stroke:var(--color-scale-pink-4)}[data-color-mode=auto] .promo-color-modes-illu-tree{stroke:var(--color-scale-green-3)}[data-color-mode=auto] .promo-color-modes-illu-cloud{stroke:var(--color-scale-blue-4)}[data-color-mode=auto] .promo-color-modes-illu-stars{fill:var(--color-scale-yellow-2)}[data-color-mode=auto] .promo-color-modes-illu-floater{stroke:var(--color-scale-purple-6)}[data-color-mode=auto] .promo-color-modes-illu-group{animation:promo-color-modes-illu-anim .2s cubic-bezier(.72,.08,1,.68) backwards}[data-color-mode=auto] .promo-color-modes-illu-group.promo-color-modes-illu-stars{animation-name:promo-color-modes-illu-anim-stars}@keyframes promo-color-modes-illu-anim{0%{stroke:var(--color-scale-gray-6)}}@keyframes promo-color-modes-illu-anim-stars{0%{fill:var(--color-scale-gray-6)}}[data-color-mode=auto] .promo-color-modes-illu-hills{animation-delay:.8s;animation-duration:.1s}[data-color-mode=auto] .promo-color-modes-illu-bush{animation-delay:.9s;animation-duration:.1s}[data-color-mode=auto] .promo-color-modes-illu-tower{animation-delay:1s;animation-duration:.1s}[data-color-mode=auto] .promo-color-modes-illu-tree{animation-delay:1.1s;animation-duration:.1s}[data-color-mode=auto] .promo-color-modes-illu-cloud{animation-delay:1.3s;animation-duration:.2s;animation-timing-function:cubic-bezier(.46,1.46,.85,-.42)}[data-color-mode=auto] .promo-color-modes-illu-stars{animation-delay:1.6s}[data-color-mode=auto] .promo-color-modes-illu-floater{animation-delay:1.8s;animation-duration:.2s;animation-timing-function:cubic-bezier(.47,2.92,.84,-1.5)}[data-color-mode=auto] .promo-color-modes-info{max-height:200px;transition-delay:2.3s,2.6s}}:root,[data-color-mode=light]{--color-profile-color-modes-toggle-track-border:var(--color-scale-gray-3)}@media (prefers-color-scheme:light){[data-color-mode=auto]{--color-profile-color-modes-toggle-track-border:var(--color-scale-gray-3)}}[data-color-mode=dark]{--color-profile-color-modes-toggle-track-border:var(--color-scale-purple-8)}@media (prefers-color-scheme:dark){[data-color-mode=auto]{--color-profile-color-modes-toggle-track-border:var(--color-scale-purple-8)}}:root,[data-color-mode=light]{--color-profile-color-modes-toggle-track-bg:var(--color-scale-white)}@media (prefers-color-scheme:light){[data-color-mode=auto]{--color-profile-color-modes-toggle-track-bg:var(--color-scale-white)}}[data-color-mode=dark]{--color-profile-color-modes-toggle-track-bg:var(--color-scale-purple-9)}@media (prefers-color-scheme:dark){[data-color-mode=auto]{--color-profile-color-modes-toggle-track-bg:var(--color-scale-purple-9)}}:root,[data-color-mode=light]{--color-profile-color-modes-toggle-thumb-bg:var(--color-scale-gray-8)}@media (prefers-color-scheme:light){[data-color-mode=auto]{--color-profile-color-modes-toggle-thumb-bg:var(--color-scale-gray-8)}}[data-color-mode=dark]{--color-profile-color-modes-toggle-thumb-bg:var(--color-scale-purple-6)}@media (prefers-color-scheme:dark){[data-color-mode=auto]{--color-profile-color-modes-toggle-thumb-bg:var(--color-scale-purple-6)}}:root,[data-color-mode=light]{--color-profile-color-modes-toggle-moon:var(--color-scale-yellow-4)}@media (prefers-color-scheme:light){[data-color-mode=auto]{--color-profile-color-modes-toggle-moon:var(--color-scale-yellow-4)}}[data-color-mode=dark]{--color-profile-color-modes-toggle-moon:var(--color-scale-yellow-0)}@media (prefers-color-scheme:dark){[data-color-mode=auto]{--color-profile-color-modes-toggle-moon:var(--color-scale-yellow-0)}}@media (min-width:1280px){.hx_UnderlineNav-with-profile-color-modes-banner{overflow:visible;padding-top:8px;align-items:flex-end}}.profile-color-modes{display:none;position:relative;padding-right:32px}@media (min-width:1280px){.profile-color-modes{display:block}}.profile-color-modes-toggle{position:absolute;top:12px;right:0}.profile-color-modes-toggle-track{width:42px;height:24px;border-radius:24px;border:3px solid var(--color-profile-color-modes-toggle-track-border);background-color:var(--color-profile-color-modes-toggle-track-bg)}.profile-color-modes-toggle-thumb{position:absolute;top:-2px;left:-2px;width:28px;height:28px;border-radius:50%;background-color:var(--color-profile-color-modes-toggle-thumb-bg);transition:transform .3s cubic-bezier(.4,.03,0,1);cursor:pointer}[data-color-mode=dark] .profile-color-modes-toggle-thumb{transform:translateX(18px)}@media (prefers-color-scheme:dark){[data-color-mode=auto] .profile-color-modes-toggle-thumb{transform:translateX(18px)}}.profile-color-modes-popover{opacity:.01;transition:opacity .5s cubic-bezier(.4,.03,0,1)}.profile-color-modes-popover.shown{opacity:1}.profile-color-modes-illu-group{stroke:var(--color-auto-gray-3)}.profile-color-modes-illu-frame{opacity:0}:root .profile-color-modes-illu-frame:nth-child(8),[data-color-mode=light] .profile-color-modes-illu-frame:nth-child(8){animation:profile-light-color-modes-illu-anim-frame-show 0s forwards,profile-light-color-modes-illu-anim-frame-hide 0s .3s forwards}:root .profile-color-modes-illu-frame:nth-child(9),[data-color-mode=light] .profile-color-modes-illu-frame:nth-child(9){animation:profile-light-color-modes-illu-anim-frame-show 0s .3s forwards,profile-light-color-modes-illu-anim-frame-hide 0s .36s forwards}:root .profile-color-modes-illu-frame:nth-child(10),[data-color-mode=light] .profile-color-modes-illu-frame:nth-child(10){animation:profile-light-color-modes-illu-anim-frame-show 0s .36s forwards}@keyframes profile-light-color-modes-illu-anim-frame-show{0%{opacity:0;animation-timing-function:ease-out}to{opacity:1}}@keyframes profile-light-color-modes-illu-anim-frame-hide{0%{opacity:1;animation-timing-function:ease-in}to{opacity:0}}@media (prefers-color-scheme:light){[data-color-mode=auto] .profile-color-modes-illu-frame:nth-child(8){animation:profile-light-color-modes-illu-anim-frame-show 0s forwards,profile-light-color-modes-illu-anim-frame-hide 0s .3s forwards}[data-color-mode=auto] .profile-color-modes-illu-frame:nth-child(9){animation:profile-light-color-modes-illu-anim-frame-show 0s .3s forwards,profile-light-color-modes-illu-anim-frame-hide 0s .36s forwards}[data-color-mode=auto] .profile-color-modes-illu-frame:nth-child(10){animation:profile-light-color-modes-illu-anim-frame-show 0s .36s forwards}@keyframes profile-light-color-modes-illu-anim-frame-show{0%{opacity:0;animation-timing-function:ease-out}to{opacity:1}}@keyframes profile-light-color-modes-illu-anim-frame-hide{0%{opacity:1;animation-timing-function:ease-in}to{opacity:0}}}[data-color-mode=dark] .profile-color-modes-illu-red{stroke:var(--color-scale-red-5)}[data-color-mode=dark] .profile-color-modes-illu-orange{stroke:var(--color-scale-orange-3)}[data-color-mode=dark] .profile-color-modes-illu-purple{stroke:var(--color-scale-purple-5)}[data-color-mode=dark] .profile-color-modes-illu-green{stroke:var(--color-scale-green-3)}[data-color-mode=dark] .profile-color-modes-illu-blue{stroke:var(--color-scale-blue-4)}[data-color-mode=dark] .profile-color-modes-illu-group{animation:profile-color-modes-illu-anim .2s cubic-bezier(.72,.08,1,.68) backwards}@keyframes profile-color-modes-illu-anim{0%{stroke:var(--color-scale-gray-6)}}[data-color-mode=dark] .profile-color-modes-illu-frame{animation:profile-color-modes-illu-anim-frame-show 0s forwards,profile-color-modes-illu-anim-frame-hide 0s forwards}[data-color-mode=dark] .profile-color-modes-illu-frame:first-child{opacity:1;animation:profile-color-modes-illu-anim-frame-hide 0s forwards}[data-color-mode=dark] .profile-color-modes-illu-frame:nth-child(8){animation:profile-color-modes-illu-anim-frame-show 0s forwards}@keyframes profile-color-modes-illu-anim-frame-show{0%{opacity:0;animation-timing-function:ease-out}to{opacity:1}}@keyframes profile-color-modes-illu-anim-frame-hide{0%{opacity:1;animation-timing-function:ease-in}to{opacity:0}}[data-color-mode=dark] .profile-color-modes-illu-red{animation-delay:.4s;animation-duration:.1s}[data-color-mode=dark] .profile-color-modes-illu-orange{animation-delay:.5s;animation-duration:.1s}[data-color-mode=dark] .profile-color-modes-illu-purple{animation-delay:.6s;animation-duration:.1s}[data-color-mode=dark] .profile-color-modes-illu-blue{animation-delay:.7s;animation-duration:.1s}[data-color-mode=dark] .profile-color-modes-illu-green{animation-delay:.8s;animation-duration:.2s;animation-timing-function:cubic-bezier(.47,2.92,.84,-1.5)}[data-color-mode=dark] .profile-color-modes-illu-frame:first-child{animation-delay:1.8s}[data-color-mode=dark] .profile-color-modes-illu-frame:nth-child(2){animation-delay:1.8s,2.58s}[data-color-mode=dark] .profile-color-modes-illu-frame:nth-child(3){animation-delay:2.58s,2.66s}[data-color-mode=dark] .profile-color-modes-illu-frame:nth-child(4){animation-delay:2.66s,2.78s}[data-color-mode=dark] .profile-color-modes-illu-frame:nth-child(5){animation-delay:2.78s,2.84s}[data-color-mode=dark] .profile-color-modes-illu-frame:nth-child(6){animation-delay:2.84s,3.44s}[data-color-mode=dark] .profile-color-modes-illu-frame:nth-child(7){animation-delay:3.44s,3.56s}[data-color-mode=dark] .profile-color-modes-illu-frame:nth-child(8){animation-delay:3.56s}[data-color-mode=dark] .profile-color-modes-illu-frame:nth-child(9),[data-color-mode=dark] .profile-color-modes-illu-frame:nth-child(10){animation:none}@media (prefers-color-scheme:dark){[data-color-mode=auto] .profile-color-modes-illu-red{stroke:var(--color-scale-red-5)}[data-color-mode=auto] .profile-color-modes-illu-orange{stroke:var(--color-scale-orange-3)}[data-color-mode=auto] .profile-color-modes-illu-purple{stroke:var(--color-scale-purple-5)}[data-color-mode=auto] .profile-color-modes-illu-green{stroke:var(--color-scale-green-3)}[data-color-mode=auto] .profile-color-modes-illu-blue{stroke:var(--color-scale-blue-4)}[data-color-mode=auto] .profile-color-modes-illu-group{animation:profile-color-modes-illu-anim .2s cubic-bezier(.72,.08,1,.68) backwards}@keyframes profile-color-modes-illu-anim{0%{stroke:var(--color-scale-gray-6)}}[data-color-mode=auto] .profile-color-modes-illu-frame{animation:profile-color-modes-illu-anim-frame-show 0s forwards,profile-color-modes-illu-anim-frame-hide 0s forwards}[data-color-mode=auto] .profile-color-modes-illu-frame:first-child{opacity:1;animation:profile-color-modes-illu-anim-frame-hide 0s forwards}[data-color-mode=auto] .profile-color-modes-illu-frame:nth-child(8){animation:profile-color-modes-illu-anim-frame-show 0s forwards}@keyframes profile-color-modes-illu-anim-frame-show{0%{opacity:0;animation-timing-function:ease-out}to{opacity:1}}@keyframes profile-color-modes-illu-anim-frame-hide{0%{opacity:1;animation-timing-function:ease-in}to{opacity:0}}[data-color-mode=auto] .profile-color-modes-illu-red{animation-delay:.4s;animation-duration:.1s}[data-color-mode=auto] .profile-color-modes-illu-orange{animation-delay:.5s;animation-duration:.1s}[data-color-mode=auto] .profile-color-modes-illu-purple{animation-delay:.6s;animation-duration:.1s}[data-color-mode=auto] .profile-color-modes-illu-blue{animation-delay:.7s;animation-duration:.1s}[data-color-mode=auto] .profile-color-modes-illu-green{animation-delay:.8s;animation-duration:.2s;animation-timing-function:cubic-bezier(.47,2.92,.84,-1.5)}[data-color-mode=auto] .profile-color-modes-illu-frame:first-child{animation-delay:1.8s}[data-color-mode=auto] .profile-color-modes-illu-frame:nth-child(2){animation-delay:1.8s,2.58s}[data-color-mode=auto] .profile-color-modes-illu-frame:nth-child(3){animation-delay:2.58s,2.66s}[data-color-mode=auto] .profile-color-modes-illu-frame:nth-child(4){animation-delay:2.66s,2.78s}[data-color-mode=auto] .profile-color-modes-illu-frame:nth-child(5){animation-delay:2.78s,2.84s}[data-color-mode=auto] .profile-color-modes-illu-frame:nth-child(6){animation-delay:2.84s,3.44s}[data-color-mode=auto] .profile-color-modes-illu-frame:nth-child(7){animation-delay:3.44s,3.56s}[data-color-mode=auto] .profile-color-modes-illu-frame:nth-child(8){animation-delay:3.56s}[data-color-mode=auto] .profile-color-modes-illu-frame:nth-child(9),[data-color-mode=auto] .profile-color-modes-illu-frame:nth-child(10){animation:none}}.profile-color-modes.isInitialToggle .profile-color-modes-illu-frame,.profile-color-modes.isInitialToggle .profile-color-modes-illu-group{animation-duration:0s;animation-delay:0s}::-webkit-calendar-picker-indicator{filter:invert(50%)}body:not(.intent-mouse) .hx_focus-input:focus+.hx_focus-target{box-shadow:var(--color-btn-shadow-input-focus)}.is-auto-complete-loading .form-control{padding-right:30px;background-image:url(/images/spinners/octocat-spinner-32.gif);background-size:16px}.hx_breadcrumb-header .header-search-wrapper{height:32px}.hx_breadcrumb-header .feature-preview-indicator,.hx_breadcrumb-header .notification-indicator .mail-status{background-image:none;background-color:var(--color-auto-blue-5)}.hx_breadcrumb-header .Header-current-page,.hx_breadcrumb-header .Header-link{color:var(--color-header-logo)}.hx_breadcrumb-header-crumbs .Header-link,.hx_breadcrumb-header-logo{transition:opacity .1s ease-out}.hx_breadcrumb-header-crumbs .Header-link:hover,.hx_breadcrumb-header-logo:hover{color:var(--color-header-text);opacity:.75}.Header-button{background-color:var(--color-scale-gray-8);border-radius:6px;border:1px solid var(--color-scale-gray-6);transition:background-color .2s cubic-bezier(.3,0,.5,1)}.Header-button .octicon{color:var(--color-header-logo)}.Header-button:active,.Header-button:focus,.Header-button:hover{background-color:initial}.Header-button:active .octicon,.Header-button:focus .octicon,.Header-button:hover .octicon{color:var(--color-header-text);box-shadow:none}.hx_breadcrumb-header-dropdown:after,.hx_breadcrumb-header-dropdown:before{display:none}.hx_breadcrumb-header-dropdown .dropdown-item{transition:background-color 60ms ease-out;line-height:40px}.hx_breadcrumb-header-dropdown .dropdown-item:hover{color:var(--color-text-primary);background-color:var(--color-bg-tertiary)}.icon-sponsor,.icon-sponsoring{transition:transform .15s cubic-bezier(.2,0,.13,2);transform:scale(1)}.btn:focus .icon-sponsor,.btn:focus .icon-sponsoring,.btn:hover .icon-sponsor,.btn:hover .icon-sponsoring,.Label:focus .icon-sponsor,.Label:focus .icon-sponsoring,.Label:hover .icon-sponsor,.Label:hover .icon-sponsoring{transform:scale(1.1)}.icon-sponsor{overflow:visible!important}.hx_hit-commit em,.hx_hit-highlighting-wrapper em,.hx_hit-issue em,.hx_hit-marketplace em,.hx_hit-package em,.hx_hit-repo em,.hx_hit-user em,.hx_hit-wiki em{font-style:normal;font-weight:600}.SelectMenu-list.select-menu-list{max-height:none}@media (max-width:543px){.SelectMenu-modal{width:unset!important}}.SelectMenu--hasFilter .SelectMenu-list{contain:content}.SelectMenu-item:disabled,.SelectMenu-item[aria-disabled=true]{color:var(--color-auto-gray-4);pointer-events:none}.Box--responsive{margin-right:-15px;margin-left:-15px;border-left:0;border-right:0;border-radius:0}.Box--responsive .Box-row--unread{position:relative;box-shadow:none}.Box--responsive .Box-row--unread:before{width:8px;height:8px;color:var(--color-text-white);background-image:linear-gradient(#54a3ff,#006eed);background-clip:padding-box;border-radius:50%;content:"";display:inline-block;top:36px;left:20px;position:absolute}.Box--responsive .Box-header{border-left-width:0;border-right-width:0;border-radius:0}@media (min-width:544px){.Box--responsive{margin-right:0;margin-left:0;border:1px solid var(--color-border-primary);border-radius:6px}.Box--responsive .Box-header{border-left-width:1px;border-right-width:1px;border-top-left-radius:6px;border-top-right-radius:6px}.Box--responsive .Box-row--unread{box-shadow:2px 0 0 var(--color-auto-blue-5) inset}.Box--responsive .Box-row--unread:before{display:none}}@media (max-width:767px){.page-responsive .dropdown-item,.page-responsive .dropdown-menu{padding-top:8px;padding-bottom:8px}.page-responsive .hx_dropdown-fullscreen[open]>summary:before{background-color:var(--color-fade-black-50)}.page-responsive .hx_dropdown-fullscreen .dropdown-menu{position:fixed;top:auto;right:16px!important;bottom:20%;left:16px!important;width:auto!important;max-height:calc(80% - 16px);max-width:none!important;margin:0!important;overflow-y:auto;transform:none;-webkit-overflow-scrolling:touch;animation:dropdown-menu-animation .24s cubic-bezier(0,.1,.1,1) backwards}.page-responsive .hx_dropdown-fullscreen .dropdown-menu:after,.page-responsive .hx_dropdown-fullscreen .dropdown-menu:before{display:none}@keyframes dropdown-menu-animation{0%{opacity:0;transform:scale(.9)}}.page-responsive .hx_dropdown-fullscreen .dropdown-item{padding-top:16px;padding-bottom:16px}}.page-responsive .pagination>*{display:none}.page-responsive .pagination>.next_page,.page-responsive .pagination>.previous_page,.page-responsive .pagination>:first-child,.page-responsive .pagination>:last-child{display:inline-block}@media (min-width:544px){.page-responsive .pagination>.current,.page-responsive .pagination>.gap,.page-responsive .pagination>:nth-child(2),.page-responsive .pagination>:nth-last-child(2){display:inline-block}}@media (min-width:768px){.page-responsive .pagination>*{display:inline-block}}@media (max-width:767px){.page-responsive .Popover{position:fixed;top:auto!important;left:0!important;right:0!important;bottom:0!important}.page-responsive .Popover-message{margin:8px;width:auto!important}.page-responsive .Popover-message>.btn-octicon{padding:12px!important}.page-responsive .Popover-message:after,.page-responsive .Popover-message:before{display:none}}.hx_rsm-close-button{display:none!important}@media (max-width:767px){.page-responsive .hx_rsm[open]>summary:before{background-color:var(--color-fade-black-50)}.page-responsive .hx_rsm-modal,.page-responsive .hx_rsm .select-menu-modal{position:fixed!important;display:flex;flex-direction:column;margin:0;width:auto;height:80%;top:75px;left:16px;right:16px!important}.page-responsive .hx_rsm--auto-height .select-menu-modal{height:auto;max-height:calc(80% - 16px);top:auto;bottom:20%}.page-responsive .hx_rsm .select-menu-header,.page-responsive .hx_rsm .select-menu-text-filter.select-menu-text-filter{padding:16px;border-top-left-radius:inherit;border-top-right-radius:inherit}.page-responsive .hx_rsm-content,.page-responsive .hx_rsm .js-project-menu-container,.page-responsive .hx_rsm tab-container{display:flex;flex-direction:column;flex:auto;min-height:0}.page-responsive .hx_rsm .select-menu-list{flex:auto;max-height:none;-webkit-overflow-scrolling:touch}.page-responsive .hx_rsm-content>.select-menu-item{flex-shrink:0}.page-responsive .hx_rsm .select-menu-item{padding-top:16px;padding-bottom:16px;padding-left:40px}.page-responsive .hx_rsm-close-button,.page-responsive .hx_rsm .close-button{display:block!important;position:relative}.page-responsive .hx_rsm-close-button:before,.page-responsive .hx_rsm .close-button:before{content:"";position:absolute;top:-16px;left:-16px;right:-16px;bottom:-16px}.page-responsive .hx_rsm-close-button .octicon-x,.page-responsive .hx_rsm .close-button .octicon-x{color:var(--color-text-tertiary)}.page-responsive .hx_rsm .select-menu-loading-overlay{animation-delay:1s}.page-responsive .hx_rsm-trigger:before,.page-responsive .hx_rsm .select-menu-button:before{animation:hx_rsm-trigger-animation .24s cubic-bezier(0,0,.2,1) backwards}@keyframes hx_rsm-trigger-animation{0%{opacity:0}}.page-responsive .hx_rsm-modal,.page-responsive .hx_rsm .select-menu-modal{animation:hx_rsm-modal-animation .24s cubic-bezier(0,.1,.1,1) .12s backwards}@keyframes hx_rsm-modal-animation{0%{opacity:0;transform:scale(.9)}}.page-responsive .hx_rsm-dialog{height:auto;max-height:80%;max-width:none;transform:none}.page-responsive .hx_rsm-dialog-content{flex:1;min-height:0}}@media (max-width:767px) and (max-height:500px){.page-responsive .hx_rsm-modal,.page-responsive .hx_rsm .select-menu-modal{height:auto;bottom:16px}}.select-menu-modal{border-color:var(--color-border-overlay);box-shadow:var(--color-shadow-large)}.select-menu-filters,.select-menu-header{background:var(--color-bg-overlay)}.select-menu-text-filter input{padding:5px 12px}.select-menu-item{text-align:left;background-color:var(--color-bg-overlay);border-top:0;border-right:0;border-left:0}.hx_Subhead--responsive{padding-bottom:0;flex-wrap:wrap-reverse;justify-content:flex-end}.hx_Subhead--responsive .Subhead-heading{order:1;margin-bottom:8px}.hx_Subhead--responsive .Subhead-actions{order:2;margin-bottom:8px;margin-left:4px}.hx_Subhead--responsive .Subhead-description{margin-top:-8px;margin-bottom:16px}.preview-selected .tabnav--responsive{border-bottom:1px solid var(--color-border-primary)}.tabnav--responsive .tabnav-tabs{z-index:1}@media (max-width:767px){.tabnav--responsive .tabnav-tab{background-color:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-left:0;border-radius:0}.tabnav--responsive .tabnav-tab:first-child{border-left:1px solid var(--color-border-primary)}.tabnav--responsive .tabnav-tab.selected,.tabnav--responsive .tabnav-tab[aria-selected=true]{border-bottom:0;background-color:var(--color-bg-primary)}}@media (max-width:767px){.hx_sm-hide-drag-drop textarea{border-bottom:1px solid var(--color-border-primary);border-bottom-left-radius:6px;border-bottom-right-radius:6px}.hx_sm-hide-drag-drop .hx_drag-and-drop{display:none!important}}@media (hover:none){.tooltipped:hover:after,.tooltipped:hover:before{display:none}}@media (hover:none){.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{visibility:visible!important}}.hx_UnderlineNav .UnderlineNav-item{padding:7px 12px 8px!important;margin:0}.hx_UnderlineNav .UnderlineNav-item .Counter{padding-left:4px!important;padding-right:4px!important}.hx_underlinenav-item{display:flex;align-items:center}.hx_underlinenav-item .UnderlineNav-octicon{margin-right:6px}.hx_underlinenav-item .Counter{margin-left:4px}.hx_underlinenav-item [data-content]:before{content:attr(data-content);display:block;font-weight:600;height:0;visibility:hidden}.min-width-lg{min-width:1012px}.min-width-xl{min-width:1280px}.min-height-0{min-height:0!important}.ws-pre-wrap{white-space:pre-wrap}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.hx_hover-bg-gray-300:hover{background-color:var(--color-auto-gray-2)!important}.hx_button-transparent{background:transparent}.Toast--loading .Toast-icon{background-color:var(--color-auto-gray-6)}.Toast--spinner{animation:Toast--spinner 1s linear infinite}@keyframes Toast--spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.starring-container.on .starred,.starring-container .unstarred{display:block}.starring-container.on .unstarred,.starring-container .starred{display:none}.starring-container.loading{opacity:.5}.user-following-container .follow,.user-following-container.on .unfollow{display:inline-block}.user-following-container.on .follow,.user-following-container .unfollow{display:none}.user-following-container.loading{opacity:.5}.btn-states .btn-state-alternate,.btn-states:hover .btn-state-default{display:none}.btn-states:hover .btn-state-alternate{display:inline-block}.hidden-when-empty:empty{display:none!important}.cm-atom,.cm-number{color:var(--color-auto-blue-6)}auto-check .is-autocheck-errored,auto-check .is-autocheck-loading,auto-check .is-autocheck-successful{padding-right:30px}auto-check .is-autocheck-loading{background-image:url(/images/spinners/octocat-spinner-16px.gif)}auto-check .is-autocheck-successful{background-image:url(/images/modules/ajax/success.png)}auto-check .is-autocheck-errored{background-image:url(/images/modules/ajax/error.png)}@media only screen and (-moz-min-device-pixel-ratio:2),only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:2dppx),only screen and (min-resolution:192dpi){auto-check .is-autocheck-errored,auto-check .is-autocheck-loading,auto-check .is-autocheck-successful{background-size:16px 16px}auto-check .is-autocheck-loading{background-image:url(/images/spinners/octocat-spinner-32.gif)}auto-check .is-autocheck-successful{background-image:url(/images/modules/ajax/success@2x.png)}auto-check .is-autocheck-errored{background-image:url(/images/modules/ajax/error@2x.png)}}.hx_Box--overlay--wide{width:800px}.hx_text-body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji!important}.autocomplete-item{background-color:initial}.Counter:empty{display:none}.details-overlay[open]>.dropdown-item:hover{color:inherit;background:var(--color-bg-primary)}remote-input[loading] .form-control{padding-right:30px;background-image:url(/images/spinners/octocat-spinner-32.gif);background-size:16px}.radio-label .octicon{color:var(--color-auto-gray-4)}.radio-input:disabled{position:relative}.radio-input:disabled+.radio-label{color:var(--color-text-tertiary);cursor:default;background-color:#eff3f6}.BorderGrid{display:table;border-collapse:collapse;border-style:hidden;table-layout:fixed;width:100%;margin-top:-16px;margin-bottom:-16px}.BorderGrid .BorderGrid-cell{padding-top:16px;padding-bottom:16px}.BorderGrid--spacious{margin-top:-24px;margin-bottom:-24px}.BorderGrid--spacious .BorderGrid-cell{padding-top:24px;padding-bottom:24px}.BorderGrid-row{display:table-row}.BorderGrid-cell{display:table-cell;border:1px solid var(--color-border-secondary)}.link-gray-dark:hover [class*=text],.link-gray:hover [class*=text],.muted-link:hover [class*=text]{color:inherit!important}.drag-and-drop{border-color:var(--color-border-primary)}.input-sm{min-height:28px}.flash .btn .octicon{color:var(--color-text-tertiary)}.UnderlineNav-item.selected .UnderlineNav-octicon,.UnderlineNav-item[aria-current]:not([aria-current=false]) .UnderlineNav-octicon,.UnderlineNav-item[role=tab][aria-selected=true] .UnderlineNav-octicon{color:inherit}.AvatarStack--three-plus .avatar-more{display:none}.AvatarStack--three-plus .AvatarStack-body .avatar:nth-child(n+4){display:flex;opacity:1}.AvatarStack--three-plus .AvatarStack-body:not(:hover) .avatar:nth-of-type(n+6){display:none;opacity:0}.AvatarStack--three-plus .AvatarStack-body>.avatar:first-of-type{z-index:5}.AvatarStack--three-plus .AvatarStack-body>.avatar:nth-of-type(2){z-index:4}.AvatarStack--three-plus .AvatarStack-body>.avatar:nth-of-type(3){z-index:3}.AvatarStack--three-plus .AvatarStack-body>.avatar:nth-of-type(4){z-index:2}.AvatarStack--three-plus .AvatarStack-body>.avatar:nth-of-type(5){z-index:1}.AvatarStack--three-plus .AvatarStack-body:not(:hover)>.avatar-more+.avatar:nth-of-type(3) img{opacity:.5}.AvatarStack--three-plus .AvatarStack-body:not(:hover)>.avatar-more~.avatar:nth-of-type(4) img{opacity:.33}.AvatarStack--three-plus .AvatarStack-body:not(:hover)>.avatar-more~.avatar:nth-of-type(5) img{opacity:.25}.AvatarStack--three-plus .AvatarStack-body:not(:hover)>.avatar-more+.avatar:nth-of-type(3){margin-right:0;margin-left:-6px}.AvatarStack--three-plus .AvatarStack-body:not(:hover)>.avatar-more~.avatar:nth-of-type(4),.AvatarStack--three-plus .AvatarStack-body:not(:hover)>.avatar-more~.avatar:nth-of-type(5){margin-right:0;margin-left:-18px}.AvatarStack--three-plus.AvatarStack--right .AvatarStack-body:not(:hover)>.avatar-more+.avatar:nth-of-type(3){margin-right:-6px;margin-left:0}.AvatarStack--three-plus.AvatarStack--right .AvatarStack-body:not(:hover)>.avatar-more~.avatar:nth-of-type(4),.AvatarStack--three-plus.AvatarStack--right .AvatarStack-body:not(:hover)>.avatar-more~.avatar:nth-of-type(5){margin-right:-18px;margin-left:0}.AvatarStack--three-plus.AvatarStack--large .AvatarStack-body:not(:hover)>.avatar-more+.avatar:nth-of-type(3){margin-right:0;margin-left:-2px}.AvatarStack--three-plus.AvatarStack--large .AvatarStack-body:not(:hover)>.avatar-more~.avatar:nth-of-type(4),.AvatarStack--three-plus.AvatarStack--large .AvatarStack-body:not(:hover)>.avatar-more~.avatar:nth-of-type(5){margin-right:0;margin-left:-30px}.hx_avatar_stack_commit .AvatarStack--three-plus .AvatarStack-body:not(:hover)>.avatar-more+.avatar:nth-of-type(3){margin-right:0;margin-left:-10px}.hx_avatar_stack_commit .AvatarStack--three-plus .AvatarStack-body:not(:hover)>.avatar-more~.avatar:nth-of-type(4),.hx_avatar_stack_commit .AvatarStack--three-plus .AvatarStack-body:not(:hover)>.avatar-more~.avatar:nth-of-type(5){margin-right:0;margin-left:-21px}.text-semibold{font-weight:500!important}.text-light{font-weight:300!important}.break-line-anywhere{line-break:anywhere!important}.form-checkbox input[type=checkbox],.form-checkbox input[type=radio]{margin-top:4px}.suggester li:focus .octicon,.suggester li:hover .octicon,.suggester li[aria-selected=true] .octicon{color:inherit}.Label--outline.bg-yellow-light{color:var(--color-auto-yellow-9);border-color:var(--color-auto-yellow-6)}.label.bg-blue{color:var(--color-text-link);border-color:var(--color-border-info)}.select-menu-item:hover .Label{color:inherit;border-color:currentColor}.IssueLabel--big.lh-condensed{display:inline-block;padding:0 10px;font-size:12px;font-weight:500;line-height:22px!important;border:1px solid transparent;border-radius:2em}.hx_IssueLabel{--perceived-lightness:calc((var(--label-r)*0.2126 + var(--label-g)*0.7152 + var(--label-b)*0.0722)/255);--lightness-switch:max(0,min(calc((var(--perceived-lightness) - var(--lightness-threshold))*-1000),1))}:root .hx_IssueLabel,[data-color-mode=light] .hx_IssueLabel{--lightness-threshold:0.453;--border-threshold:0.96;--border-alpha:max(0,min(calc((var(--perceived-lightness) - var(--border-threshold))*100),1));background:rgb(var(--label-r),var(--label-g),var(--label-b));color:hsl(0,0%,calc(var(--lightness-switch)*100%));border-color:hsla(var(--label-h),calc(var(--label-s)*1%),calc((var(--label-l) - 25)*1%),var(--border-alpha))}@media (prefers-color-scheme:light){[data-color-mode=auto] .hx_IssueLabel{--lightness-threshold:0.453;--border-threshold:0.96;--border-alpha:max(0,min(calc((var(--perceived-lightness) - var(--border-threshold))*100),1));background:rgb(var(--label-r),var(--label-g),var(--label-b));color:hsl(0,0%,calc(var(--lightness-switch)*100%));border-color:hsla(var(--label-h),calc(var(--label-s)*1%),calc((var(--label-l) - 25)*1%),var(--border-alpha))}}[data-color-mode=dark] .hx_IssueLabel{--lightness-threshold:0.6;--background-alpha:0.18;--border-alpha:0.3;--lighten-by:calc((var(--lightness-threshold) - var(--perceived-lightness))*100*var(--lightness-switch));background:rgba(var(--label-r),var(--label-g),var(--label-b),var(--background-alpha));color:hsl(var(--label-h),calc(var(--label-s)*1%),calc((var(--label-l) + var(--lighten-by))*1%));border-color:hsla(var(--label-h),calc(var(--label-s)*1%),calc((var(--label-l) + var(--lighten-by))*1%),var(--border-alpha))}@media (prefers-color-scheme:dark){[data-color-mode=auto] .hx_IssueLabel{--lightness-threshold:0.6;--background-alpha:0.18;--border-alpha:0.3;--lighten-by:calc((var(--lightness-threshold) - var(--perceived-lightness))*100*var(--lightness-switch));background:rgba(var(--label-r),var(--label-g),var(--label-b),var(--background-alpha));color:hsl(var(--label-h),calc(var(--label-s)*1%),calc((var(--label-l) + var(--lighten-by))*1%));border-color:hsla(var(--label-h),calc(var(--label-s)*1%),calc((var(--label-l) + var(--lighten-by))*1%),var(--border-alpha))}}.menu-item .Counter.mt-1{margin-top:0!important}.signed-commit-badge-large,.signed-commit-badge-medium,.signed-commit-badge-small{display:inline-block;padding:0 7px;font-size:12px;font-weight:500;line-height:18px;border-radius:2em;border:1px solid transparent;border-color:var(--color-border-primary)}.signed-commit-badge-small{margin-top:0}.signed-commit-badge-large{padding-right:10px;padding-left:10px;line-height:22px}.timeline-comment-label{display:inline-block;padding:0 7px;font-size:12px;font-weight:500;line-height:18px;border-radius:2em;border:1px solid transparent;border-color:var(--color-border-primary)}.timeline-comment-label.text-bold{font-weight:500!important}.delete-topic-button,.topic-tag,.topic-tag-action{display:inline-block;font-size:12px;font-weight:500;line-height:18px;border:1px solid transparent;border-radius:2em;padding:0 10px;line-height:22px;color:var(--color-topic-tag-text);background-color:var(--color-topic-tag-bg)}.delete-topic-button:hover,.topic-tag-action:hover,.topic-tag:hover{background-color:var(--color-topic-tag-hover-bg)}.delete-topic-button:active,.topic-tag-action:active,.topic-tag:active{background-color:var(--color-topic-tag-active-bg)}.topic-tag{margin:0 .125em .333em 0}.topic-tag-action{display:inline-flex;padding-right:0;margin:.6em .5em 0 0}.delete-topic-button,.topic-tag-action .add-topic-button,.topic-tag-action .remove-topic-button{width:24px;padding:0;height:24px;color:var(--color-text-link);border-left:0;border-radius:2em;display:flex;align-items:center;justify-content:center}.rounded-1{border-radius:6px!important}.rounded-top-1{border-top-left-radius:6px!important}.rounded-right-1,.rounded-top-1{border-top-right-radius:6px!important}.rounded-bottom-1,.rounded-right-1{border-bottom-right-radius:6px!important}.rounded-bottom-1,.rounded-left-1{border-bottom-left-radius:6px!important}.rounded-left-1{border-top-left-radius:6px!important}.timeline-comment,.timeline-comment-header{border-color:var(--color-border-primary)}.branch-action-item.border-gray-dark{border-color:var(--color-border-primary)!important}.branch-action-body,.branch-action-state-closed-dirty .branch-action-body,.branch-action-state-dirty .branch-action-body,.is-rebasing .branch-action-state-dirty-if-rebasing .branch-action-body{border-color:var(--color-border-primary)}.user-profile-nav .UnderlineNav-item{margin-right:0!important;line-height:30px;white-space:nowrap}.user-status-container .input-group-button .btn{height:32px}.tree-finder-input{min-height:32px}.IssueLabel.sidebar-labels-style{display:inline-block!important;width:-webkit-min-content!important;width:-moz-min-content!important;width:min-content!important;margin:2px 2px 2px 0}.notification-list-item-actions .btn{box-shadow:none}.pagehead-tabs-item,.reponav-item{border-radius:4px 4px 0 0}.pagehead-tabs-item.selected,.reponav-item.selected{border-top-color:#f9826c}.reponav-item .Counter{min-width:0;line-height:1.25}.pagehead-tabs-item .Counter{min-width:0;padding:2px 5px;line-height:1}.auto-search-group>.octicon{top:8px}.subnav-search>button.mt-2{margin-top:6px!important}.completeness-indicator-success{background-color:var(--color-btn-primary-bg);color:var(--color-text-white)}.CheckRun-search-input+.Counter{top:4px!important}.pagination-loader-container button.bg-white.border-0{border-top-left-radius:6px;border-top-right-radius:6px}.avatar-user{border-radius:50%!important}image-crop .handle:before{border-radius:50%}image-crop.image-crop-user .crop-outline{outline:none}image-crop.image-crop-user .crop-box{border-radius:50%;box-shadow:0 0 0 500px rgba(0,0,0,.3)}.user-profile-mini-vcard,.user-profile-sticky-bar:after{height:48px}.hx_remove-comment-thread-vertical-line:after{display:none!important}@media (max-width:543px){.minimized-comment.hx_make-comment-take-up-space-on-sm-screens>details>div{padding-left:0!important}}@media (max-width:543px){.minimized-comment.hx_center-show-toggle-button-on-sm-screens>details>summary>div{flex-direction:column}.minimized-comment.hx_center-show-toggle-button-on-sm-screens>details>summary>div .review-comment-contents{align-left:flex-start}}.hx_add-margin-to-comment-textfield .write-content{margin:8px!important}@media (max-width:543px){.hx_make-reply-from-action-buttons-small .form-actions button{padding:3px 8px;font-size:12px;line-height:20px}.hx_make-reply-from-action-buttons-small .form-actions button .octicon{vertical-align:text-top}}@media (max-width:543px){.hx_remove-tab-side-borders-at-small-sizes .tabnav-tab:first-of-type{border-left:0}.hx_remove-tab-side-borders-at-small-sizes .tabnav-tab:last-of-type{border-right:0}}.hx_remove-border-bottom-on-last-post .review-comment:last-of-type{border-bottom:0!important}.hx_details-with-rotating-caret[open]>.btn-link .hx_dropdown-caret-rotatable{border-width:0 4px 4px;border-top-color:transparent;border-bottom-color:var(--color-bg-info-inverse)}.hx_cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:99999;overflow:hidden}.hx_cookie-banner-box{overflow:hidden}.hx_cookie-banner--show .hx_cookie-banner-box{animation:cookie-banner-show .3s cubic-bezier(0,.3,.2,1) 1s backwards}.hx_cookie-banner--hide .hx_cookie-banner-box{animation:cookie-banner-hide .3s cubic-bezier(0,.3,.2,1) forwards}.hx_cookie-banner--expand .hx_cookie-banner-box{animation:cookie-banner-expand .3s cubic-bezier(0,.3,.2,1) backwards}.hx_cookie-banner--expand .hx_cookie-banner-details{animation:cookie-banner-fadein .5s cubic-bezier(0,.3,.2,1) backwards}@keyframes cookie-banner-show{0%{opacity:0;transform:translateY(60px)}}@keyframes cookie-banner-hide{to{opacity:0;transform:translateY(60px)}}@keyframes cookie-banner-expand{0%{transform:translateY(30px)}}@keyframes cookie-banner-collapse{0%{transform:translateY(-15px)}}@keyframes cookie-banner-fadein{0%{opacity:0}}.State--inverse{color:var(--color-text-secondary);border:1px solid var(--color-text-secondary)}.State--green-inverse,.State--inverse{background-color:var(--color-bg-primary)}.State--green-inverse{color:var(--color-text-success);border:1px solid var(--color-bg-success-inverse)} diff --git a/css/light.css b/css/light.css new file mode 100644 index 00000000..593a615d --- /dev/null +++ b/css/light.css @@ -0,0 +1,859 @@ +:root { + --color-canvas-default-transparent: rgba(255,255,255,0); + --color-page-header-bg: #f6f8fa; + --color-diff-blob-addition-num-text: #24292f; + --color-diff-blob-addition-fg: #24292f; + --color-diff-blob-deletion-num-text: #24292f; + --color-diff-blob-deletion-fg: #24292f; + --color-diff-blob-deletion-word-bg: rgba(255,129,130,0.4); + --color-diff-blob-hunk-num-bg: rgba(84,174,255,0.4); + --color-diff-blob-selected-line-highlight-mix-blend-mode: multiply; + --color-diffstat-deletion-border: rgba(27,31,36,0.15); + --color-diffstat-addition-border: rgba(27,31,36,0.15); + --color-codemirror-selection-bg: rgba(84,174,255,0.4); + --color-codemirror-activeline-bg: rgba(234,238,242,0.5); + --color-checks-bg: #24292f; + --color-checks-run-border-width: 0px; + --color-checks-container-border-width: 0px; + --color-checks-text-primary: #f6f8fa; + --color-checks-text-secondary: #8c959f; + --color-checks-text-link: #54aeff; + --color-checks-btn-icon: #afb8c1; + --color-checks-btn-hover-icon: #f6f8fa; + --color-checks-btn-hover-bg: rgba(255,255,255,0.125); + --color-checks-input-text: #eaeef2; + --color-checks-input-placeholder-text: #8c959f; + --color-checks-input-focus-text: #8c959f; + --color-checks-input-bg: #32383f; + --color-checks-input-shadow: none; + --color-checks-dropdown-text: #afb8c1; + --color-checks-dropdown-bg: #32383f; + --color-checks-dropdown-border: #424a53; + --color-checks-dropdown-shadow: rgba(27,31,36,0.3); + --color-checks-dropdown-hover-text: #f6f8fa; + --color-checks-dropdown-hover-bg: #424a53; + --color-checks-dropdown-btn-hover-text: #f6f8fa; + --color-checks-dropdown-btn-hover-bg: #32383f; + --color-checks-scrollbar-thumb-bg: #57606a; + --color-checks-header-label-text: #d0d7de; + --color-checks-header-label-open-text: #f6f8fa; + --color-checks-header-border: #32383f; + --color-checks-header-icon: #8c959f; + --color-checks-line-text: #d0d7de; + --color-checks-line-num-text: rgba(140,149,159,0.75); + --color-checks-line-timestamp-text: #8c959f; + --color-checks-line-hover-bg: #32383f; + --color-checks-line-selected-bg: rgba(33,139,255,0.15); + --color-checks-line-selected-num-text: #54aeff; + --color-checks-line-dt-fm-text: #24292f; + --color-checks-line-dt-fm-bg: #9a6700; + --color-checks-gate-bg: rgba(125,78,0,0.15); + --color-checks-gate-text: #d0d7de; + --color-checks-gate-waiting-text: #afb8c1; + --color-checks-step-header-open-bg: #32383f; + --color-checks-step-error-text: #ff8182; + --color-checks-step-warning-text: #d4a72c; + --color-checks-logline-text: #8c959f; + --color-checks-logline-num-text: rgba(140,149,159,0.75); + --color-checks-logline-debug-text: #c297ff; + --color-checks-logline-error-text: #d0d7de; + --color-checks-logline-error-num-text: #ff8182; + --color-checks-logline-error-bg: rgba(164,14,38,0.15); + --color-checks-logline-warning-text: #d0d7de; + --color-checks-logline-warning-num-text: #d4a72c; + --color-checks-logline-warning-bg: rgba(125,78,0,0.15); + --color-checks-logline-command-text: #54aeff; + --color-checks-logline-section-text: #4ac26b; + --color-checks-ansi-black: #24292f; + --color-checks-ansi-black-bright: #32383f; + --color-checks-ansi-white: #d0d7de; + --color-checks-ansi-white-bright: #d0d7de; + --color-checks-ansi-gray: #8c959f; + --color-checks-ansi-red: #ff8182; + --color-checks-ansi-red-bright: #ffaba8; + --color-checks-ansi-green: #4ac26b; + --color-checks-ansi-green-bright: #6fdd8b; + --color-checks-ansi-yellow: #d4a72c; + --color-checks-ansi-yellow-bright: #eac54f; + --color-checks-ansi-blue: #54aeff; + --color-checks-ansi-blue-bright: #80ccff; + --color-checks-ansi-magenta: #c297ff; + --color-checks-ansi-magenta-bright: #d8b9ff; + --color-checks-ansi-cyan: #76e3ea; + --color-checks-ansi-cyan-bright: #b3f0ff; + --color-mktg-btn-bg: #1b1f23; + --color-mktg-btn-shadow-outline: rgb(0 0 0 / 15%) 0 0 0 1px inset; + --color-mktg-btn-shadow-focus: rgb(0 0 0 / 15%) 0 0 0 4px; + --color-mktg-btn-shadow-hover: 0 3px 2px rgba(0, 0, 0, 0.07), 0 7px 5px rgba(0, 0, 0, 0.04), 0 12px 10px rgba(0, 0, 0, 0.03), 0 22px 18px rgba(0, 0, 0, 0.03), 0 42px 33px rgba(0, 0, 0, 0.02), 0 100px 80px rgba(0, 0, 0, 0.02); + --color-mktg-btn-shadow-hover-muted: rgb(0 0 0 / 70%) 0 0 0 2px inset; + --color-topic-tag-border: rgba(0,0,0,0); + --color-counter-border: rgba(0,0,0,0); + --color-overlay-shadow: 0 1px 3px rgba(27,31,36,0.12), 0 8px 24px rgba(66,74,83,0.12); + --color-header-divider: #57606a; + --color-input-disabled-bg: rgba(175,184,193,0.2); + --color-btn-hover-bg: #f3f4f6; + --color-btn-active-bg: hsla(220,14%,93%,1); + --color-btn-active-border: rgba(27,31,36,0.15); + --color-btn-selected-bg: hsla(220,14%,94%,1); + --color-btn-primary-hover-bg: #2c974b; + --color-btn-primary-selected-bg: hsla(137,55%,36%,1); + --color-btn-primary-disabled-bg: #94d3a2; + --color-btn-outline-selected-bg: hsla(212,92%,42%,1); + --color-btn-danger-selected-bg: hsla(356,72%,44%,1); + --color-btn-danger-icon: #cf222e; + --color-btn-danger-hover-icon: #ffffff; + --color-underlinenav-border-hover: rgba(175,184,193,0.2); + --color-action-list-item-inline-divider: rgba(208,215,222,0.48); + --color-action-list-item-default-hover-bg: rgba(208,215,222,0.32); + --color-action-list-item-default-hover-border: rgba(0,0,0,0); + --color-action-list-item-default-active-bg: rgba(208,215,222,0.48); + --color-action-list-item-default-active-border: rgba(0,0,0,0); + --color-action-list-item-default-selected-bg: rgba(208,215,222,0.24); + --color-action-list-item-danger-hover-bg: rgba(255,235,233,0.64); + --color-action-list-item-danger-active-bg: #FFEBE9; + --color-action-list-item-danger-hover-text: #cf222e; + --color-fg-default: #24292f; + --color-fg-muted: #57606a; + --color-fg-subtle: #6e7781; + --color-fg-on-emphasis: #ffffff; + --color-canvas-default: #ffffff; + --color-canvas-overlay: #ffffff; + --color-canvas-inset: #f6f8fa; + --color-canvas-subtle: #f6f8fa; + --color-border-default: #d0d7de; + --color-border-muted: hsla(210,18%,87%,1); + --color-border-subtle: rgba(27,31,36,0.15); + --color-neutral-emphasis-plus: #24292f; + --color-neutral-emphasis: #6e7781; + --color-neutral-muted: rgba(175,184,193,0.2); + --color-neutral-subtle: rgba(234,238,242,0.5); + --color-accent-fg: #0969da; + --color-accent-emphasis: #0969da; + --color-accent-muted: rgba(84,174,255,0.4); + --color-accent-subtle: #ddf4ff; + --color-success-fg: #1a7f37; + --color-success-emphasis: #2da44e; + --color-success-muted: rgba(74,194,107,0.4); + --color-success-subtle: #dafbe1; + --color-attention-fg: #9a6700; + --color-attention-emphasis: #bf8700; + --color-attention-muted: rgba(212,167,44,0.4); + --color-attention-subtle: #fff8c5; + --color-severe-fg: #bc4c00; + --color-severe-emphasis: #bc4c00; + --color-severe-muted: rgba(251,143,68,0.4); + --color-severe-subtle: #fff1e5; + --color-danger-fg: #cf222e; + --color-danger-emphasis: #cf222e; + --color-danger-muted: rgba(255,129,130,0.4); + --color-danger-subtle: #FFEBE9; + --color-done-fg: #8250df; + --color-done-emphasis: #8250df; + --color-done-muted: rgba(194,151,255,0.4); + --color-done-subtle: #fbefff; + --color-sponsors-fg: #bf3989; + --color-sponsors-emphasis: #bf3989; + --color-sponsors-muted: rgba(255,128,200,0.4); + --color-sponsors-subtle: #ffeff7; + --color-primer-fg-disabled: #8c959f; + --color-primer-canvas-backdrop: rgba(27,31,36,0.5); + --color-primer-canvas-sticky: rgba(255,255,255,0.95); + --color-primer-border-active: #FD8C73; + --color-primer-border-contrast: rgba(27,31,36,0.1); + --color-primer-shadow-highlight: inset 0 1px 0 rgba(255,255,255,0.25); + --color-primer-shadow-inset: inset 0 1px 0 rgba(208,215,222,0.2); + --color-primer-shadow-focus: 0 0 0 3px rgba(9,105,218,0.3); + --color-scale-coral-0: #FFF0EB; + --color-scale-coral-1: #FFD6CC; + --color-scale-coral-2: #FFB4A1; + --color-scale-coral-3: #FD8C73; + --color-scale-coral-4: #EC6547; + --color-scale-coral-5: #C4432B; + --color-scale-coral-6: #9E2F1C; + --color-scale-coral-7: #801F0F; + --color-scale-coral-8: #691105; + --color-scale-coral-9: #510901; + --body-background-color: #fff; + --color-actions-workflow-table-sticky-bg: hsla(0, 0%, 100%, 0.95); + --color-alert-error-bg: #ffe3e6; + --color-alert-error-border: rgba(158, 28, 35, 0.2); + --color-alert-error-icon: rgba(158, 28, 35, 0.6); + --color-alert-error-text: #24292e; + --color-alert-info-bg: #dbedff; + --color-alert-info-border: rgba(4, 66, 137, 0.2); + --color-alert-info-icon: rgba(4, 66, 137, 0.6); + --color-alert-info-text: #24292e; + --color-alert-success-bg: #dcffe4; + --color-alert-success-border: rgba(23, 111, 44, 0.2); + --color-alert-success-icon: rgba(23, 111, 44, 0.8); + --color-alert-success-text: #24292e; + --color-alert-warn-bg: #fffbdd; + --color-alert-warn-border: rgba(176, 136, 0, 0.2); + --color-alert-warn-icon: #b08800; + --color-alert-warn-text: #24292e; + --color-ansi-black: #24292e; + --color-ansi-black-bright: #2f363d; + --color-ansi-blue: #79b8ff; + --color-ansi-blue-bright: #c8e1ff; + --color-ansi-cyan: #76e3ea; + --color-ansi-cyan-bright: #b3f0ff; + --color-ansi-gray: #959da5; + --color-ansi-green: #85e89d; + --color-ansi-green-bright: #bef5cb; + --color-ansi-magenta: #b392f0; + --color-ansi-magenta-bright: #d1bcf9; + --color-ansi-red: #f97583; + --color-ansi-red-bright: #fdaeb7; + --color-ansi-white: #e1e4e8; + --color-ansi-white-bright: #e1e4e8; + --color-ansi-yellow: #ffea7f; + --color-ansi-yellow-bright: #fff5b1; + --color-auto-black: #1b1f23; + --color-auto-blue-0: #f1f8ff; + --color-auto-blue-1: #dbedff; + --color-auto-blue-2: #c8e1ff; + --color-auto-blue-3: #79b8ff; + --color-auto-blue-4: #2188ff; + --color-auto-blue-5: #0366d6; + --color-auto-blue-6: #005cc5; + --color-auto-blue-7: #044289; + --color-auto-blue-8: #032f62; + --color-auto-blue-9: #05264c; + --color-auto-gray-0: #fafbfc; + --color-auto-gray-1: #f6f8fa; + --color-auto-gray-2: #e1e4e8; + --color-auto-gray-3: #d1d5da; + --color-auto-gray-4: #959da5; + --color-auto-gray-5: #6a737d; + --color-auto-gray-6: #586069; + --color-auto-gray-7: #444d56; + --color-auto-gray-8: #2f363d; + --color-auto-gray-9: #24292e; + --color-auto-green-0: #f0fff4; + --color-auto-green-1: #dcffe4; + --color-auto-green-2: #bef5cb; + --color-auto-green-3: #85e89d; + --color-auto-green-4: #34d058; + --color-auto-green-5: #28a745; + --color-auto-green-6: #22863a; + --color-auto-green-7: #176f2c; + --color-auto-green-8: #165c26; + --color-auto-green-9: #144620; + --color-auto-orange-0: #fff8f2; + --color-auto-orange-1: #ffebda; + --color-auto-orange-2: #ffd1ac; + --color-auto-orange-3: #ffab70; + --color-auto-orange-4: #fb8532; + --color-auto-orange-5: #f66a0a; + --color-auto-orange-6: #e36209; + --color-auto-orange-7: #d15704; + --color-auto-orange-8: #c24e00; + --color-auto-orange-9: #a04100; + --color-auto-pink-0: #ffeef8; + --color-auto-pink-1: #fedbf0; + --color-auto-pink-2: #f9b3dd; + --color-auto-pink-3: #f692ce; + --color-auto-pink-4: #ec6cb9; + --color-auto-pink-5: #ea4aaa; + --color-auto-pink-6: #d03592; + --color-auto-pink-7: #b93a86; + --color-auto-pink-8: #99306f; + --color-auto-pink-9: #6d224f; + --color-auto-purple-0: #f5f0ff; + --color-auto-purple-1: #e6dcfd; + --color-auto-purple-2: #d1bcf9; + --color-auto-purple-3: #b392f0; + --color-auto-purple-4: #8a63d2; + --color-auto-purple-5: #6f42c1; + --color-auto-purple-6: #5a32a3; + --color-auto-purple-7: #4c2889; + --color-auto-purple-8: #3a1d6e; + --color-auto-purple-9: #29134e; + --color-auto-red-0: #ffeef0; + --color-auto-red-1: #ffdce0; + --color-auto-red-2: #fdaeb7; + --color-auto-red-3: #f97583; + --color-auto-red-4: #ea4a5a; + --color-auto-red-5: #d73a49; + --color-auto-red-6: #cb2431; + --color-auto-red-7: #b31d28; + --color-auto-red-8: #9e1c23; + --color-auto-red-9: #86181d; + --color-auto-white: #fff; + --color-auto-yellow-0: #fffdef; + --color-auto-yellow-1: #fffbdd; + --color-auto-yellow-2: #fff5b1; + --color-auto-yellow-3: #ffea7f; + --color-auto-yellow-4: #ffdf5d; + --color-auto-yellow-5: #ffd33d; + --color-auto-yellow-6: #f9c513; + --color-auto-yellow-7: #dbab09; + --color-auto-yellow-8: #b08800; + --color-auto-yellow-9: #735c0f; + --color-autocomplete-row-border: #eaecef; + --color-autocomplete-shadow: 0 3px 6px rgba(149, 157, 165, 0.15); + --color-avatar-bg: #fff; + --color-avatar-border: transparent; + --color-avatar-child-shadow: -2px -2px 0 hsla(0, 0%, 100%, 0.8); + --color-avatar-stack-fade: #d1d5da; + --color-avatar-stack-fade-more: #e1e4e8; + --color-bg-backdrop: rgba(27, 31, 35, 0.5); + --color-bg-canvas: #fff; + --color-bg-canvas-inset: #f6f8fa; + --color-bg-canvas-inverse: #24292e; + --color-bg-canvas-mobile: #fff; + --color-bg-danger: #ffeef0; + --color-bg-danger-inverse: #d73a49; + --color-bg-discussions-row-emoji-box: rgba(209, 213, 218, 0.5); + --color-bg-info: #f1f8ff; + --color-bg-info-inverse: #0366d6; + --color-bg-overlay: #fff; + --color-bg-primary: #fff; + --color-bg-secondary: #fafbfc; + --color-bg-success: #dcffe4; + --color-bg-success-inverse: #28a745; + --color-bg-table-of-contents-container: rgb(255, 255, 255); + --color-bg-table-of-contents-option-selected: rgb(31, 111, 235); + --color-fg-table-of-contents-option-selected: rgb(255, 255, 255); + --color-bg-tertiary: #f6f8fa; + --color-bg-warning: #fff5b1; + --color-bg-warning-inverse: #ffd33d; + --color-blankslate-icon: #a3aab1; + --color-blob-line-highlight-bg: #fffbdd; + --color-blob-line-highlight-border: transparent; + --color-border-danger: #d73a49; + --color-border-info: #0366d6; + --color-border-inverse: #fff; + --color-border-overlay: #e1e4e8; + --color-border-primary: #e1e4e8; + --color-border-secondary: #eaecef; + --color-border-success: #34d058; + --color-border-tertiary: #d1d5da; + --color-border-warning: #f9c513; + --color-box-bg-info: #f1f8ff; + --color-box-bg-warning: #fffdef; + --color-box-blue-border: #c8e1ff; + --color-box-border-info: rgba(3, 102, 214, 0.2); + --color-box-border-warning: rgba(255, 211, 61, 0.4); + --color-box-header-blue-bg: #f1f8ff; + --color-box-header-blue-border: #c8e1ff; + --color-box-row-blue-bg: #f1f8ff; + --color-box-row-yellow-bg: #fffbdd; + --color-branch-name-bg: #eaf5ff; + --color-branch-name-icon: #a8bbd0; + --color-branch-name-link-bg: #eaf5ff; + --color-branch-name-link-icon: #a8bbd0; + --color-branch-name-link-text: #0366d6; + --color-branch-name-text: rgba(27, 31, 35, 0.6); + --color-btn-bg: #fafbfc; + --color-btn-border: rgba(27, 31, 35, 0.15); + --color-btn-counter-bg: rgba(27, 31, 35, 0.08); + --color-btn-danger-counter-bg: rgba(215, 58, 73, 0.1); + --color-btn-danger-disabled-bg: #fafbfc; + --color-btn-danger-disabled-counter-bg: rgba(215, 58, 73, 0.05); + --color-btn-danger-disabled-text: rgba(215, 58, 73, 0.5); + --color-btn-danger-focus-border: rgba(27, 31, 35, 0.15); + --color-btn-danger-focus-shadow: 0 0 0 3px rgba(203, 36, 49, 0.4); + --color-btn-danger-hover-bg: #cb2431; + --color-btn-danger-hover-border: rgba(27, 31, 35, 0.15); + --color-btn-danger-hover-counter-bg: hsla(0, 0%, 100%, 0.2); + --color-btn-danger-hover-inset-shadow: inset 0 1px 0 hsla(0, 0%, 100%, 0.03); + --color-btn-danger-hover-shadow: 0 1px 0 rgba(27, 31, 35, 0.1); + --color-btn-danger-hover-text: #fff; + --color-btn-danger-selected-bg: #d42d3d; + --color-btn-danger-selected-border: rgba(27, 31, 35, 0.15); + --color-btn-danger-selected-shadow: inset 0 1px 0 rgba(134, 24, 29, 0.2); + --color-btn-danger-selected-text: #fff; + --color-btn-danger-text: #d73a49; + --color-btn-focus-bg: #fafbfc; + --color-btn-focus-border: rgba(27, 31, 35, 0.15); + --color-btn-focus-shadow: 0 0 0 3px rgba(3, 102, 214, 0.3); + --color-btn-hover-border: rgba(27, 31, 35, 0.15); + --color-btn-inset-shadow: inset 0 1px 0 hsla(0, 0%, 100%, 0.25); + --color-btn-outline-counter-bg: rgba(3, 102, 214, 0.1); + --color-btn-outline-disabled-bg: #fafbfc; + --color-btn-outline-disabled-counter-bg: rgba(3, 102, 214, 0.05); + --color-btn-outline-disabled-text: rgba(3, 102, 214, 0.5); + --color-btn-outline-focus-border: rgba(27, 31, 35, 0.15); + --color-btn-outline-focus-shadow: 0 0 0 3px rgba(0, 92, 197, 0.4); + --color-btn-outline-hover-bg: #0366d6; + --color-btn-outline-hover-border: rgba(27, 31, 35, 0.15); + --color-btn-outline-hover-counter-bg: hsla(0, 0%, 100%, 0.2); + --color-btn-outline-hover-inset-shadow: inset 0 1px 0 hsla(0, 0%, 100%, 0.03); + --color-btn-outline-hover-shadow: 0 1px 0 rgba(27, 31, 35, 0.1); + --color-btn-outline-hover-text: #fff; + --color-btn-outline-selected-bg: #035fc7; + --color-btn-outline-selected-border: rgba(27, 31, 35, 0.15); + --color-btn-outline-selected-shadow: inset 0 1px 0 rgba(5, 38, 76, 0.2); + --color-btn-outline-selected-text: #fff; + --color-btn-outline-text: #0366d6; + --color-btn-primary-bg: #2ea44f; + --color-btn-primary-border: rgba(27, 31, 35, 0.15); + --color-btn-primary-counter-bg: hsla(0, 0%, 100%, 0.2); + --color-btn-primary-disabled-bg: #94d3a2; + --color-btn-primary-disabled-border: rgba(27, 31, 35, 0.1); + --color-btn-primary-disabled-text: hsla(0, 0%, 100%, 0.8); + --color-btn-primary-focus-bg: #2ea44f; + --color-btn-primary-focus-border: rgba(27, 31, 35, 0.15); + --color-btn-primary-focus-shadow: 0 0 0 3px rgba(46, 164, 79, 0.4); + --color-btn-primary-hover-bg: #2c974b; + --color-btn-primary-hover-border: rgba(27, 31, 35, 0.15); + --color-btn-primary-icon: hsla(0, 0%, 100%, 0.8); + --color-btn-primary-inset-shadow: inset 0 1px 0 hsla(0, 0%, 100%, 0.03); + --color-btn-primary-selected-bg: #2a8f47; + --color-btn-primary-selected-shadow: inset 0 1px 0 rgba(20, 70, 32, 0.2); + --color-btn-primary-shadow: 0 1px 0 rgba(27, 31, 35, 0.1); + --color-btn-primary-text: #fff; + --color-btn-selected-bg: #edeff2; + --color-btn-shadow: 0 1px 0 rgba(27, 31, 35, 0.04); + --color-btn-shadow-active: inset 0 0.15em 0.3em rgba(27, 31, 35, 0.15); + --color-btn-shadow-input-focus: 0 0 0 0.2em rgba(3, 102, 214, 0.3); + --color-btn-text: #24292e; + --color-calendar-graph-day-L1-bg: #9be9a8; + --color-calendar-graph-day-L1-border: rgba(27, 31, 35, 0.06); + --color-calendar-graph-day-L2-bg: #40c463; + --color-calendar-graph-day-L2-border: rgba(27, 31, 35, 0.06); + --color-calendar-graph-day-L3-bg: #30a14e; + --color-calendar-graph-day-L3-border: rgba(27, 31, 35, 0.06); + --color-calendar-graph-day-L4-bg: #216e39; + --color-calendar-graph-day-L4-border: rgba(27, 31, 35, 0.06); + --color-calendar-graph-day-bg: #ebedf0; + --color-calendar-graph-day-border: rgba(27, 31, 35, 0.06); + --color-calendar-halloween-graph-day-L1-bg: #ffee4a; + --color-calendar-halloween-graph-day-L2-bg: #ffc501; + --color-calendar-halloween-graph-day-L3-bg: #fe9600; + --color-calendar-halloween-graph-day-L4-bg: #03001c; + --color-checks-donut-error: #cb2431; + --color-checks-donut-neutral: #959da5; + --color-checks-donut-pending: #dbab09; + --color-checks-donut-success: #28a745; + --color-code-selection-bg: #c8e1ff; + --color-codemirror-activeline-bg: #fafbfc; + --color-codemirror-bg: #fff; + --color-codemirror-cursor: #24292e; + --color-codemirror-guttermarker-subtle-text: #d1d5da; + --color-codemirror-guttermarker-text: #fff; + --color-codemirror-gutters-bg: #fff; + --color-codemirror-linenumber-text: #959da5; + --color-codemirror-lines-bg: #fff; + --color-codemirror-matchingbracket-text: #24292e; + --color-codemirror-selection-bg: #c8e1ff; + --color-codemirror-syntax-comment: #6a737d; + --color-codemirror-syntax-constant: #005cc5; + --color-codemirror-syntax-entity: #6f42c1; + --color-codemirror-syntax-keyword: #d73a49; + --color-codemirror-syntax-storage: #d73a49; + --color-codemirror-syntax-string: #032f62; + --color-codemirror-syntax-support: #005cc5; + --color-codemirror-syntax-variable: #e36209; + --color-codemirror-text: #24292e; + --color-counter-bg: rgba(209, 213, 218, 0.5); + --color-counter-primary-bg: #6a737d; + --color-counter-primary-text: #fff; + --color-counter-secondary-text: #6a737d; + --color-counter-text: #24292e; + --color-diff-addition-bg: #e6ffed; + --color-diff-addition-border: #34d058; + --color-diff-addition-text: #22863a; + --color-diff-blob-addition-line-bg: #e6ffed; + --color-diff-blob-addition-num-bg: #cdffd8; + --color-diff-blob-addition-num-hover-text: rgba(27, 31, 35, 0.6); + --color-diff-blob-addition-num-text: rgba(27, 31, 35, 0.3); + --color-diff-blob-addition-word-bg: #acf2bd; + --color-diff-blob-comment-button-bg: #0366d6; + --color-diff-blob-comment-button-gradient-bg: #0372ef; + --color-diff-blob-comment-button-icon: #fff; + --color-diff-blob-deletion-line-bg: #ffeef0; + --color-diff-blob-deletion-num-bg: #ffdce0; + --color-diff-blob-deletion-num-hover-text: rgba(27, 31, 35, 0.6); + --color-diff-blob-deletion-num-text: rgba(27, 31, 35, 0.3); + --color-diff-blob-deletion-word-bg: #fdb8c0; + --color-diff-blob-empty-block-bg: #fafbfc; + --color-diff-blob-expander-hover-bg: #0366d6; + --color-diff-blob-expander-hover-icon: #fff; + --color-diff-blob-expander-icon: #586069; + --color-diff-blob-hunk-line-bg: #f1f8ff; + --color-diff-blob-hunk-num-bg: #dbedff; + --color-diff-blob-hunk-text: rgba(27, 31, 35, 0.7); + --color-diff-blob-num-hover-text: rgba(27, 31, 35, 0.6); + --color-diff-blob-num-text: rgba(27, 31, 35, 0.3); + --color-diff-blob-selected-line-highlight-bg: rgba(255, 223, 93, 0.2); + --color-diff-blob-selected-line-highlight-border: #ffd33d; + --color-diff-change-bg: #fff5b1; + --color-diff-change-border: #f9c513; + --color-diff-change-text: #b08800; + --color-diff-deletion-bg: #ffeef0; + --color-diff-deletion-border: #d73a49; + --color-diff-deletion-text: #cb2431; + --color-diffstat-addition-bg: #28a745; + --color-diffstat-addition-border: #28a745; + --color-diffstat-deletion-bg: #d73a49; + --color-diffstat-deletion-border: #d73a49; + --color-diffstat-neutral-bg: #d1d5da; + --color-diffstat-neutral-border: #d1d5da; + --color-discussion-bg-success: #28a745; + --color-discussion-border: #a2cbac; + --color-discussions-answer-border: #28a745; + --color-discussions-answer-icon: #22863a; + --color-discussions-answer-text: #22863a; + --color-discussions-state-answered-icon: #fff; + --color-drag-and-drop-border: #c3c8cf; + --color-dropdown-shadow: 0 8px 24px rgba(149, 157, 165, 0.2); + --color-fade-black-10: rgba(27, 31, 35, 0.1); + --color-fade-black-15: rgba(27, 31, 35, 0.15); + --color-fade-black-30: rgba(27, 31, 35, 0.3); + --color-fade-black-50: rgba(27, 31, 35, 0.5); + --color-fade-black-70: rgba(27, 31, 35, 0.7); + --color-fade-black-85: rgba(27, 31, 35, 0.85); + --color-fade-fg-10: rgba(27, 31, 35, 0.1); + --color-fade-fg-15: rgba(27, 31, 35, 0.15); + --color-fade-fg-30: rgba(27, 31, 35, 0.3); + --color-fade-fg-50: rgba(27, 31, 35, 0.5); + --color-fade-fg-70: rgba(27, 31, 35, 0.7); + --color-fade-fg-85: rgba(27, 31, 35, 0.85); + --color-fade-white-10: hsla(0, 0%, 100%, 0.1); + --color-fade-white-15: hsla(0, 0%, 100%, 0.15); + --color-fade-white-30: hsla(0, 0%, 100%, 0.3); + --color-fade-white-50: hsla(0, 0%, 100%, 0.5); + --color-fade-white-70: hsla(0, 0%, 100%, 0.7); + --color-fade-white-85: hsla(0, 0%, 100%, 0.85); + --color-files-explorer-icon: #79b8ff; + --color-filter-item-bar-bg: #eff3f6; + --color-footer-invertocat-octicon: #d1d5da; + --color-footer-invertocat-octicon-hover: #6a737d; + --color-global-nav-bg: #24292e; + --color-global-nav-icon: #fff; + --color-global-nav-input-bg: #fafbfc; + --color-global-nav-input-border: #fafbfc; + --color-global-nav-input-icon: #d1d5da; + --color-global-nav-input-placeholder: #959da5; + --color-global-nav-logo: #fff; + --color-global-nav-text: #fff; + --color-header-bg: #24292e; + --color-header-logo: #fff; + --color-header-search-bg: #24292e; + --color-header-search-border: #444d56; + --color-header-text: hsla(0, 0%, 100%, 0.7); + --color-hidden-text-expander-bg: #dfe2e5; + --color-hidden-text-expander-bg-hover: #c6cbd1; + --color-hl-author-bg: #f1f8ff; + --color-hl-author-border: #c8e1ff; + --color-icon-danger: #d73a49; + --color-icon-info: #0366d6; + --color-icon-primary: #24292e; + --color-icon-secondary: #586069; + --color-icon-success: #22863a; + --color-icon-tertiary: #959da5; + --color-icon-warning: #b08800; + --color-input-bg: #fff; + --color-input-border: #e1e4e8; + --color-input-contrast-bg: #fafbfc; + --color-input-disabled-bg: #fff; + --color-input-disabled-border: #e1e4e8; + --color-input-error-border: #cb2431; + --color-input-shadow: inset 0 1px 2px rgba(27, 31, 35, 0.075); + --color-input-tooltip-error-bg: #ffeef0; + --color-input-tooltip-error-border: #f97583; + --color-input-tooltip-error-text: #86181d; + --color-input-tooltip-success-bg: #dcffe4; + --color-input-tooltip-success-border: #34d058; + --color-input-tooltip-success-text: #144620; + --color-input-tooltip-warning-bg: #fff5b1; + --color-input-tooltip-warning-border: #f9c513; + --color-input-tooltip-warning-text: #735c0f; + --color-input-warning-border: #f9c513; + --color-label-border: #e1e4e8; + --color-label-danger-border: #cb2431; + --color-label-danger-text: #d73a49; + --color-label-info-border: #0366d6; + --color-label-info-text: #0366d6; + --color-label-orange-border: #f66a0a; + --color-label-orange-text: #c24e00; + --color-label-primary-border: #6a737d; + --color-label-primary-text: #24292e; + --color-label-secondary-border: #e1e4e8; + --color-label-secondary-text: #586069; + --color-label-success-border: #28a745; + --color-label-success-text: #22863a; + --color-label-warning-border: #b08800; + --color-label-warning-text: #735c0f; + --color-logo-subdued: #d1d5da; + --color-markdown-blockquote-border: #dfe2e5; + --color-markdown-code-bg: rgba(27, 31, 35, 0.05); + --color-markdown-frame-border: #dfe2e5; + --color-markdown-table-border: #dfe2e5; + --color-markdown-table-tr-border: #c6cbd1; + --color-marketing-icon-primary: #2188ff; + --color-marketing-icon-secondary: #79b8ff; + --color-menu-bg-active: transparent; + --color-menu-border-active: #f9826c; + --color-menu-heading-text: #24292e; + --color-merge-box-error-icon-bg: #d73a49; + --color-merge-box-error-icon-border: transparent; + --color-merge-box-error-icon-text: #fff; + --color-merge-box-error-indicator-bg: #d73a49; + --color-merge-box-error-indicator-border: transparent; + --color-merge-box-merged-box-border: #6f42c1; + --color-merge-box-merged-icon-bg: #6f42c1; + --color-merge-box-merged-icon-border: transparent; + --color-merge-box-merged-icon-text: #fff; + --color-merge-box-neutral-icon-bg: #6a737d; + --color-merge-box-neutral-icon-border: transparent; + --color-merge-box-neutral-icon-text: #fff; + --color-merge-box-neutral-indicator-bg: #6a737d; + --color-merge-box-neutral-indicator-border: transparent; + --color-merge-box-success-icon-bg: #28a745; + --color-merge-box-success-icon-border: transparent; + --color-merge-box-success-icon-text: #fff; + --color-merge-box-success-indicator-bg: #28a745; + --color-merge-box-success-indicator-border: transparent; + --color-merge-box-warning-box-border: #ffd33d; + --color-merge-box-warning-icon-bg: #dbab09; + --color-merge-box-warning-icon-border: transparent; + --color-merge-box-warning-icon-text: #fff; + --color-merge-box-warning-merge-highlight: transparent; + --color-notifications-button-hover-bg: #e1e4e8; + --color-notifications-button-hover-text: #24292e; + --color-notifications-button-text: #586069; + --color-notifications-row-bg: #fff; + --color-notifications-row-read-bg: #f6f8fa; + --color-pr-state-closed-bg: #d73a49; + --color-pr-state-closed-border: transparent; + --color-pr-state-closed-text: #fff; + --color-pr-state-draft-bg: #6a737d; + --color-pr-state-draft-border: transparent; + --color-pr-state-draft-text: #fff; + --color-pr-state-merged-bg: #6f42c1; + --color-pr-state-merged-border: transparent; + --color-pr-state-merged-text: #fff; + --color-pr-state-open-bg: #28a745; + --color-pr-state-open-border: transparent; + --color-pr-state-open-text: #fff; + --color-prettylights-syntax-brackethighlighter-angle: #586069; + --color-prettylights-syntax-brackethighlighter-unmatched: #b31d28; + --color-prettylights-syntax-carriage-return-bg: #d73a49; + --color-prettylights-syntax-carriage-return-text: #fafbfc; + --color-prettylights-syntax-comment: #6a737d; + --color-prettylights-syntax-constant: #005cc5; + --color-prettylights-syntax-constant-other-reference-link: #032f62; + --color-prettylights-syntax-entity: #6f42c1; + --color-prettylights-syntax-entity-tag: #22863a; + --color-prettylights-syntax-invalid-illegal-bg: #b31d28; + --color-prettylights-syntax-invalid-illegal-text: #fafbfc; + --color-prettylights-syntax-keyword: #d73a49; + --color-prettylights-syntax-markup-bold: #24292e; + --color-prettylights-syntax-markup-changed-bg: #ffebda; + --color-prettylights-syntax-markup-changed-text: #e36209; + --color-prettylights-syntax-markup-deleted-bg: #ffeef0; + --color-prettylights-syntax-markup-deleted-text: #b31d28; + --color-prettylights-syntax-markup-heading: #005cc5; + --color-prettylights-syntax-markup-ignored-bg: #005cc5; + --color-prettylights-syntax-markup-ignored-text: #f6f8fa; + --color-prettylights-syntax-markup-inserted-bg: #f0fff4; + --color-prettylights-syntax-markup-inserted-text: #22863a; + --color-prettylights-syntax-markup-italic: #24292e; + --color-prettylights-syntax-markup-list: #735c0f; + --color-prettylights-syntax-meta-diff-range: #6f42c1; + --color-prettylights-syntax-storage-modifier-import: #24292e; + --color-prettylights-syntax-string: #032f62; + --color-prettylights-syntax-string-regexp: #22863a; + --color-prettylights-syntax-sublimelinter-gutter-mark: #959da5; + --color-prettylights-syntax-variable: #e36209; + --color-previewable-comment-form-border: #c3c8cf; + --color-profile-color-modes-toggle-moon: #ffdf5d; + --color-profile-color-modes-toggle-thumb-bg: #2f363d; + --color-profile-color-modes-toggle-track-bg: #fff; + --color-profile-color-modes-toggle-track-border: #d1d5da; + --color-project-card-bg: #fff; + --color-project-gradient-in: #fff; + --color-project-gradient-out: hsla(0, 0%, 100%, 0); + --color-project-header-bg: #24292e; + --color-project-sidebar-bg: #fff; + --color-promo-color-modes-toggle-moon: #ffdf5d; + --color-promo-color-modes-toggle-thumb-bg: #2f363d; + --color-promo-color-modes-toggle-track-bg: #fff; + --color-promo-color-modes-toggle-track-border: #d1d5da; + --color-repo-language-color-border: rgba(27, 31, 35, 0.1); + --color-scale-black: #1b1f23; + --color-scale-blue-0: #f1f8ff; + --color-scale-blue-1: #dbedff; + --color-scale-blue-2: #c8e1ff; + --color-scale-blue-3: #79b8ff; + --color-scale-blue-4: #2188ff; + --color-scale-blue-5: #0366d6; + --color-scale-blue-6: #005cc5; + --color-scale-blue-7: #044289; + --color-scale-blue-8: #032f62; + --color-scale-blue-9: #05264c; + --color-scale-gray-0: #fafbfc; + --color-scale-gray-1: #f6f8fa; + --color-scale-gray-2: #e1e4e8; + --color-scale-gray-3: #d1d5da; + --color-scale-gray-4: #959da5; + --color-scale-gray-5: #6a737d; + --color-scale-gray-6: #586069; + --color-scale-gray-7: #444d56; + --color-scale-gray-8: #2f363d; + --color-scale-gray-9: #24292e; + --color-scale-green-0: #f0fff4; + --color-scale-green-1: #dcffe4; + --color-scale-green-2: #bef5cb; + --color-scale-green-3: #85e89d; + --color-scale-green-4: #34d058; + --color-scale-green-5: #28a745; + --color-scale-green-6: #22863a; + --color-scale-green-7: #176f2c; + --color-scale-green-8: #165c26; + --color-scale-green-9: #144620; + --color-scale-orange-0: #fff8f2; + --color-scale-orange-1: #ffebda; + --color-scale-orange-2: #ffd1ac; + --color-scale-orange-3: #ffab70; + --color-scale-orange-4: #fb8532; + --color-scale-orange-5: #f66a0a; + --color-scale-orange-6: #e36209; + --color-scale-orange-7: #d15704; + --color-scale-orange-8: #c24e00; + --color-scale-orange-9: #a04100; + --color-scale-pink-0: #ffeef8; + --color-scale-pink-1: #fedbf0; + --color-scale-pink-2: #f9b3dd; + --color-scale-pink-3: #f692ce; + --color-scale-pink-4: #ec6cb9; + --color-scale-pink-5: #ea4aaa; + --color-scale-pink-6: #d03592; + --color-scale-pink-7: #b93a86; + --color-scale-pink-8: #99306f; + --color-scale-pink-9: #6d224f; + --color-scale-purple-0: #f5f0ff; + --color-scale-purple-1: #e6dcfd; + --color-scale-purple-2: #d1bcf9; + --color-scale-purple-3: #b392f0; + --color-scale-purple-4: #8a63d2; + --color-scale-purple-5: #6f42c1; + --color-scale-purple-6: #5a32a3; + --color-scale-purple-7: #4c2889; + --color-scale-purple-8: #3a1d6e; + --color-scale-purple-9: #29134e; + --color-scale-red-0: #ffeef0; + --color-scale-red-1: #ffdce0; + --color-scale-red-2: #fdaeb7; + --color-scale-red-3: #f97583; + --color-scale-red-4: #ea4a5a; + --color-scale-red-5: #d73a49; + --color-scale-red-6: #cb2431; + --color-scale-red-7: #b31d28; + --color-scale-red-8: #9e1c23; + --color-scale-red-9: #86181d; + --color-scale-white: #fff; + --color-scale-yellow-0: #fffdef; + --color-scale-yellow-1: #fffbdd; + --color-scale-yellow-2: #fff5b1; + --color-scale-yellow-3: #ffea7f; + --color-scale-yellow-4: #ffdf5d; + --color-scale-yellow-5: #ffd33d; + --color-scale-yellow-6: #f9c513; + --color-scale-yellow-7: #dbab09; + --color-scale-yellow-8: #b08800; + --color-scale-yellow-9: #735c0f; + --color-search-hover-hl: #fff; + --color-search-keyword-hl: #fffbdd; + --color-select-menu-backdrop-bg: rgba(27, 31, 35, 0.5); + --color-select-menu-backdrop-border: transparent; + --color-select-menu-border-secondary: #eaecef; + --color-select-menu-shadow: 0 0 18px rgba(27, 31, 35, 0.4); + --color-select-menu-tap-focus-bg: #dbedff; + --color-select-menu-tap-highlight: rgba(209, 213, 218, 0.5); + --color-shadow-extra-large: 0 12px 48px rgba(149, 157, 165, 0.3); + --color-shadow-highlight: inset 0 1px 0 hsla(0, 0%, 100%, 0.25); + --color-shadow-inset: inset 0 1px 0 rgba(225, 228, 232, 0.2); + --color-shadow-large: 0 8px 24px rgba(149, 157, 165, 0.2); + --color-shadow-medium: 0 3px 6px rgba(149, 157, 165, 0.15); + --color-shadow-small: 0 1px 0 rgba(27, 31, 35, 0.04); + --color-sidenav-border-active: #f9826c; + --color-sidenav-selected-bg: #fff; + --color-social-count-bg: #fff; + --color-state-focus-border: #0366d6; + --color-state-focus-shadow: 0 0 0 3px rgba(3, 102, 214, 0.3); + --color-state-hover-primary-bg: #0366d6; + --color-state-hover-primary-border: #0366d6; + --color-state-hover-primary-icon: #fff; + --color-state-hover-primary-text: #fff; + --color-state-hover-secondary-bg: #f6f8fa; + --color-state-hover-secondary-border: #f6f8fa; + --color-state-selected-primary-bg: #0366d6; + --color-state-selected-primary-border: #0366d6; + --color-state-selected-primary-icon: #fff; + --color-state-selected-primary-text: #fff; + --color-text-danger: #cb2431; + --color-text-disabled: #6a737d; + --color-text-inverse: #fff; + --color-text-link: #0366d6; + --color-text-placeholder: #6a737d; + --color-text-primary: #24292e; + --color-text-secondary: #586069; + --color-text-success: #22863a; + --color-text-tertiary: #6a737d; + --color-text-warning: #b08800; + --color-text-white: #fff; + --color-timeline-badge-bg: #e1e4e8; + --color-timeline-merged-bg: #6f42c1; + --color-timeline-target-badge-border: #2188ff; + --color-timeline-target-badge-shadow: #c8e1ff; + --color-timeline-text: #444d56; + --color-toast-bg: #fff; + --color-toast-border: #e1e4e8; + --color-toast-danger-border: #e1e4e8; + --color-toast-danger-icon: #fff; + --color-toast-danger-icon-bg: #d73a49; + --color-toast-danger-icon-border: transparent; + --color-toast-danger-text: #24292e; + --color-toast-icon: #fff; + --color-toast-icon-bg: #0366d6; + --color-toast-icon-border: transparent; + --color-toast-loading-border: #e1e4e8; + --color-toast-loading-icon: #fff; + --color-toast-loading-icon-bg: #586069; + --color-toast-loading-icon-border: transparent; + --color-toast-loading-text: #24292e; + --color-toast-shadow: 0 8px 24px rgba(149, 157, 165, 0.2); + --color-toast-success-border: #e1e4e8; + --color-toast-success-icon: #fff; + --color-toast-success-icon-bg: #28a745; + --color-toast-success-icon-border: transparent; + --color-toast-success-text: #24292e; + --color-toast-text: #24292e; + --color-toast-warning-border: #e1e4e8; + --color-toast-warning-icon: #24292e; + --color-toast-warning-icon-bg: #ffd33d; + --color-toast-warning-icon-border: transparent; + --color-toast-warning-text: #24292e; + --color-tooltip-bg: #24292e; + --color-tooltip-text: #fff; + --color-topic-tag-active-bg: #e7f3ff; + --color-topic-tag-bg: #f1f8ff; + --color-topic-tag-hover-bg: #def; + --color-topic-tag-text: #0366d6; + --color-underlinenav-border: rgba(209, 213, 218, 0); + --color-underlinenav-border-active: #f9826c; + --color-underlinenav-border-hover: #d1d5da; + --color-underlinenav-counter-text: #24292e; + --color-underlinenav-icon: #959da5; + --color-underlinenav-icon-active: #24292e; + --color-underlinenav-icon-hover: #959da5; + --color-underlinenav-text: #24292e; + --color-underlinenav-text-active: #24292e; + --color-underlinenav-text-hover: #24292e; + --color-upload-enabled-border: #dfe2e5; + --color-upload-enabled-border-focused: #4a9eff; + --color-upvote-icon-bg: #dbedff; + --color-verified-badge-bg: #fff; + --color-verified-badge-border: #e1e4e8; + --color-verified-badge-text: #22863a; + --color-workflow-card-bg: #fff; + --color-workflow-card-connector-line: #d1d5da; + --color-workflow-card-connector-node-bg: #d1d5da; + --color-workflow-card-header-shadow: rgba(27, 31, 35, 0.04); + --color-workflow-card-progress-complete-bg: #959da5; + --color-workflow-card-progress-incomplete-bg: #e1e4e8; +} diff --git a/css/syntax.css b/css/syntax.css new file mode 100644 index 00000000..db438deb --- /dev/null +++ b/css/syntax.css @@ -0,0 +1,51 @@ +code .k { + color: var(--color-prettylights-syntax-keyword); +} + +code .nf { + color: var(--color-prettylights-syntax-entity); +} + +code .o { + color: var(--color-prettylights-syntax-constant); +} + +code .bp { + color: var(--color-prettylights-syntax-constant); +} + +code .ow { + color: var(--color-prettylights-syntax-constant); +} + +code .s2 { + color: var(--color-prettylights-syntax-string); +} + +code .nb { + color: var(--color-prettylights-syntax-entity); +} + +code .kn { + color: var(--color-prettylights-syntax-keyword); +} + +code .nc { + color: var(--color-prettylights-syntax-variable); +} + +code .c1 { + color: var(--color-prettylights-syntax-comment); +} + +code .kr { + color: var(--color-prettylights-syntax-keyword); +} + +code .s1 { + color: var(--color-prettylights-syntax-string); +} + +code .s { + color: var(--color-prettylights-syntax-string); +} \ No newline at end of file diff --git a/css/toc.css b/css/toc.css new file mode 100644 index 00000000..780117d3 --- /dev/null +++ b/css/toc.css @@ -0,0 +1,4 @@ +.toc-item { + font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"; + line-height: 1.5; +} \ No newline at end of file diff --git a/gatsby-browser.js b/gatsby-browser.js deleted file mode 100644 index cbff3a80..00000000 --- a/gatsby-browser.js +++ /dev/null @@ -1,9 +0,0 @@ -/** - * Implement Gatsby's Browser APIs in this file. - * - * See: https://www.gatsbyjs.org/docs/browser-apis/ - */ - -// You can delete this file if you're not using it - -require("./src/templates/codeblock.css") diff --git a/gatsby-config.js b/gatsby-config.js deleted file mode 100644 index 2ffdfcf1..00000000 --- a/gatsby-config.js +++ /dev/null @@ -1,112 +0,0 @@ -'use strict' - -const siteConfig = require("./config") - -module.exports = { - siteMetadata: { - url: siteConfig.url, - title: siteConfig.title, - tagline: siteConfig.tagline, - description: `A blog template for web developers that's ready to go out of the box. Feel free to modify it to your liking.`, - author: siteConfig.author.name, - contacts: { - linkedin: siteConfig.author.contacts.linkedin, - github: siteConfig.author.contacts.github, - stackoverflow: siteConfig.author.contacts.stackoverflow, - freecodecamp: siteConfig.author.contacts.freecodecamp, - twitter: siteConfig.author.contacts.twitter, - }, - labels: siteConfig.labels, - }, - plugins: [ - `gatsby-plugin-twitter`, - `gatsby-plugin-image`, - { - resolve: `gatsby-source-filesystem`, - options: { - name: `blog`, - path: `${__dirname}/content/blog`, - }, - }, - { - resolve: `gatsby-source-filesystem`, - options: { - name: `images`, - path: `${__dirname}/src/images`, - }, - }, - { - resolve: `gatsby-transformer-remark`, - options: { - plugins: [ - { - resolve: `gatsby-remark-images`, - options: { - maxWidth: 630, - }, - }, - { - resolve: `gatsby-remark-responsive-iframe`, - options: { - wrapperStyle: `margin-bottom: 1.0725rem`, - }, - }, - { - resolve: `gatsby-remark-embed-gist`, - options: { - username: `emeraldjava` - } - }, - `gatsby-remark-prismjs`, - `gatsby-remark-copy-linked-files`, - `gatsby-remark-smartypants`, - ], - }, - }, - `gatsby-transformer-sharp`, - `gatsby-plugin-sharp`, - { - resolve: `gatsby-plugin-manifest`, - options: { - name: `gatsby-starter-default`, - short_name: `starter`, - start_url: `/`, - background_color: `#663399`, - theme_color: `#663399`, - display: `minimal-ui`, - icon: `src/images/gatsby-icon.png`, // This path is relative to the root of the site. - } - }, - { - resolve: "gatsby-plugin-google-gtag", - options: { - // You can add multiple tracking ids and a pageview event will be fired for all of them. - trackingIds: [ - "G-V66JPM85FQ" - ], - // This object gets passed directly to the gtag config command - gtagConfig: { - optimize_id: 'OPT_CONTAINER_ID', - anonymize_ip: true, - cookie_expires: 0, - }, - // This object is used for configuration specific to this plugin - pluginConfig: { - // Puts tracking script in the head instead of the body - head: false, - // Setting this parameter is also optional - respectDNT: true, - }, - }, - }, - { - resolve: `gatsby-theme-blog-core`, - options: { - // basePath defaults to `/` - basePath: `/`, - blogPath: '/blog', - tagsPath: '/tags' - }, - } - ], -} diff --git a/gatsby-node.js b/gatsby-node.js deleted file mode 100644 index bf436831..00000000 --- a/gatsby-node.js +++ /dev/null @@ -1,103 +0,0 @@ -const path = require(`path`) -const { createFilePath } = require(`gatsby-source-filesystem`) -const _ = require("lodash") - -// https://www.gatsbyjs.org/tutorial/part-seven/ -exports.onCreateNode = ({ node, getNode, actions }) => { - const { createNodeField } = actions - if (node.internal.type === `MarkdownRemark`) { - const { categories } = node.frontmatter - - const filename = createFilePath({ node, getNode, basePath: `pages` }) - // get the date and title from the file name - const [, date, title] = filename.match( - /^\/([\d]{4}-[\d]{2}-[\d]{2})-{1}(.+)\/$/ - ) - - // create a new slug concatenating everything - const categorySlug = 'cat';//categories.join('/') - const dateSlug = date.replace(/-/g, '/') - - const slug = `/${categorySlug}/${dateSlug}/${title}` - - createNodeField({ node, name: `slug`, value: filename }) - // save the date for later use - //const d = `2019-12-02`;//node.formatter.getValueFromName('date'); - //createNodeField({ node, name: `date`, value: d }) - } -} - -exports.createPages = ({ graphql, actions }) => { - const { createPage } = actions - return graphql(` - { - allMarkdownRemark { - edges { - node { - frontmatter { - tags, - date, - title - } - fields { - slug - } - } - } - } - } - `).then(result => { - - const posts = result.data.allMarkdownRemark.edges - posts.forEach(({ node }) => { - createPage({ - path: node.fields.slug, - component: path.resolve(`./src/templates/blog-post.js`), - context: { - // Data passed to context is available - // in page queries as GraphQL variables. - slug: node.fields.slug, - }, - }) - }) - - // Tag pages: - let tags = [] - // Iterate through each post, putting all found tags into `tags` - _.each(posts, edge => { - if (_.get(edge, "node.frontmatter.tags")) { - tags = tags.concat(edge.node.frontmatter.tags) - } - }) - - // Eliminate duplicate tags - tags = _.uniq(tags) - - // Make tag pages - tags.forEach(tag => { - createPage({ - path: `/tags/${_.kebabCase(tag)}/`, - component: path.resolve("src/templates/tag.js"), - context: { - tag, - }, - }) - }) - - const postsPerPage = 3 - const numPages = Math.ceil(posts.length / postsPerPage) - - Array.from({ length: numPages }).forEach((_, i) => { - createPage({ - path: i === 0 ? `/` : `/${i+1}`, - component: path.resolve("./src/templates/post-list.js"), - context: { - limit: postsPerPage, - skip: i*postsPerPage, - numPages, - currentPage: i+1 - } - }) - }) - }) -} diff --git a/images/2005/2005-08-07-profile.png b/images/2005/2005-08-07-profile.png new file mode 100644 index 00000000..63558c27 Binary files /dev/null and b/images/2005/2005-08-07-profile.png differ diff --git a/images/2005/2005-08-07.png b/images/2005/2005-08-07.png new file mode 100644 index 00000000..de0c6f64 Binary files /dev/null and b/images/2005/2005-08-07.png differ diff --git a/images/2006/2006-05-29.png b/images/2006/2006-05-29.png new file mode 100644 index 00000000..be3d99dc Binary files /dev/null and b/images/2006/2006-05-29.png differ diff --git a/images/2006/2006-05-30.png b/images/2006/2006-05-30.png new file mode 100644 index 00000000..c7f729b5 Binary files /dev/null and b/images/2006/2006-05-30.png differ diff --git a/images/2006/2006-05-31.png b/images/2006/2006-05-31.png new file mode 100644 index 00000000..482a0182 Binary files /dev/null and b/images/2006/2006-05-31.png differ diff --git a/images/2006/2006-06-01.png b/images/2006/2006-06-01.png new file mode 100644 index 00000000..d85edd3b Binary files /dev/null and b/images/2006/2006-06-01.png differ diff --git a/images/2006/2006-06-02-beach.png b/images/2006/2006-06-02-beach.png new file mode 100644 index 00000000..df349c64 Binary files /dev/null and b/images/2006/2006-06-02-beach.png differ diff --git a/images/2006/2006-06-02.png b/images/2006/2006-06-02.png new file mode 100644 index 00000000..ca924443 Binary files /dev/null and b/images/2006/2006-06-02.png differ diff --git a/images/2010/2010-05-02-stockholm-marathon-medal.png b/images/2010/2010-05-02-stockholm-marathon-medal.png new file mode 100644 index 00000000..7c327eb9 Binary files /dev/null and b/images/2010/2010-05-02-stockholm-marathon-medal.png differ diff --git a/images/2023/github-worth.png b/images/2023/github-worth.png new file mode 100644 index 00000000..40e383c2 Binary files /dev/null and b/images/2023/github-worth.png differ diff --git a/static/images/avatar.png b/images/avatar.png similarity index 100% rename from static/images/avatar.png rename to images/avatar.png diff --git a/images/facebook.png b/images/facebook.png new file mode 100644 index 00000000..d65a91d5 Binary files /dev/null and b/images/facebook.png differ diff --git a/images/github.png b/images/github.png new file mode 100644 index 00000000..1c8da398 Binary files /dev/null and b/images/github.png differ diff --git a/images/instagram.png b/images/instagram.png new file mode 100644 index 00000000..88325119 Binary files /dev/null and b/images/instagram.png differ diff --git a/images/link.png b/images/link.png new file mode 100644 index 00000000..6bb71038 Binary files /dev/null and b/images/link.png differ diff --git a/images/linkedin.png b/images/linkedin.png new file mode 100644 index 00000000..455d0a3a Binary files /dev/null and b/images/linkedin.png differ diff --git a/images/mastodon.png b/images/mastodon.png new file mode 100644 index 00000000..318cc70c Binary files /dev/null and b/images/mastodon.png differ diff --git a/images/misskey.png b/images/misskey.png new file mode 100644 index 00000000..da642b2b Binary files /dev/null and b/images/misskey.png differ diff --git a/images/rss.png b/images/rss.png new file mode 100644 index 00000000..b0bf5b66 Binary files /dev/null and b/images/rss.png differ diff --git a/images/stackoverflow.png b/images/stackoverflow.png new file mode 100644 index 00000000..75ee218a Binary files /dev/null and b/images/stackoverflow.png differ diff --git a/images/tumblr.png b/images/tumblr.png new file mode 100644 index 00000000..a6a79339 Binary files /dev/null and b/images/tumblr.png differ diff --git a/images/twitter.png b/images/twitter.png new file mode 100755 index 00000000..af44ca5d Binary files /dev/null and b/images/twitter.png differ diff --git a/index.html b/index.html new file mode 100644 index 00000000..6370e628 --- /dev/null +++ b/index.html @@ -0,0 +1,233 @@ + +Posts from emeraldjava +
Avatar

Organizations

@twitter +@linkedin

Popular posts

  1. The percieved value of my github repo!

  2. Remember the META-INF config for Service Locators

  3. Setting up a basic pod via Docker Desktop on Mac

  4. Goodby Gatsby, Hello Hugo

  5. Nginx Unit - @liamcrilly Async event loop multi-process architecture config reload without interruption 1 CPU core per worker thread +web server reverse proxy load balancer +php/fpm on docker +microservices vs container +use nginx unit to run mutliple processes within a single docker container +config +listeners routes applications

    docker

  6. Overview

    The following outline the steps i’ve taken to try and configure remote access to my synology home assistent instance.

    synology

    Post activity

    \ No newline at end of file diff --git a/index.xml b/index.xml new file mode 100644 index 00000000..be19a98a --- /dev/null +++ b/index.xml @@ -0,0 +1,101 @@ +Posts from emeraldjavahttps://emeraldjava.github.io/Recent content on Posts from emeraldjavaHugo -- gohugo.ioen-usSat, 22 Jul 2023 20:03:04 +0100Github Worthhttps://emeraldjava.github.io/post/2023/2023-12-29-github-worth/Sat, 22 Jul 2023 20:03:04 +0100https://emeraldjava.github.io/post/2023/2023-12-29-github-worth/The percieved value of my github repo!Register Serenity Listenerhttps://emeraldjava.github.io/post/2023/2023-07-22-register-serenity-listener/Sat, 22 Jul 2023 20:03:04 +0100https://emeraldjava.github.io/post/2023/2023-07-22-register-serenity-listener/Remember the META-INF config for Service LocatorsKubernetes on Docker Desktop starterhttps://emeraldjava.github.io/post/2023/2023-04-08-kubernetes-starter/Sat, 08 Apr 2023 18:22:26 +0100https://emeraldjava.github.io/post/2023/2023-04-08-kubernetes-starter/Setting up a basic pod via Docker Desktop on MacMoving to Hugohttps://emeraldjava.github.io/post/2023/2023-04-07-goodbye-gatsby-hello-hugo/Fri, 07 Apr 2023 10:51:26 +0100https://emeraldjava.github.io/post/2023/2023-04-07-goodbye-gatsby-hello-hugo/Goodby Gatsby, Hello HugoDublin Docker Meetuphttps://emeraldjava.github.io/post/2023/2023-02-22-docker-meetup-dublin/Thu, 23 Feb 2023 00:00:00 +0000https://emeraldjava.github.io/post/2023/2023-02-22-docker-meetup-dublin/Nginx Unit - @liamcrilly Async event loop multi-process architecture config reload without interruption 1 CPU core per worker thread +web server reverse proxy load balancer +php/fpm on docker +microservices vs container +use nginx unit to run mutliple processes within a single docker container +config +listeners routes applicationsSynology and Remote Home Assistenthttps://emeraldjava.github.io/post/2022/2022-11-20-synology-home-assistent/Sun, 20 Nov 2022 00:00:00 +0000https://emeraldjava.github.io/post/2022/2022-11-20-synology-home-assistent/<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<ul> +<li><a href="#overview">Overview</a></li> +<li><a href="#test-urls">Test Urls</a></li> +<li><a href="#router-config">Router Config</a></li> +<li><a href="#synology-config">Synology Config</a> +<ul> +<li><a href="#external-access--ddns-settings">External Access &gt; DDNS Settings</a></li> +<li><a href="#application-portal--reverse-proxy">Application Portal &gt; Reverse Proxy</a></li> +<li><a href="#security--certificates">Security &gt; Certificates</a></li> +</ul> +</li> +</ul> +<!-- raw HTML omitted --> +<h1 id="overview">Overview</h1> +<p>The following outline the steps i&rsquo;ve taken to try and configure remote access to my synology home assistent instance.</p>emeraldjava@mastodon.iehttps://emeraldjava.github.io/post/2022/2022-11-05-hello-mastodon-ie/Sat, 05 Nov 2022 00:00:00 +0000https://emeraldjava.github.io/post/2022/2022-11-05-hello-mastodon-ie/Moving to mastodon. +Docker Extension https://www.jerriepelser.com/blog/sorting-out-gatsby-folder-structure/ https://www.acuriousanimal.com/blog/20191003/from-jekyll-to-gatsby https://dev.to/deborahd/from-jekyll-to-gatsby-7-simple-steps-3an5Dublin Docker Meetuphttps://emeraldjava.github.io/post/2022/2022-09-14-docker-meetup-dublin/Wed, 14 Sep 2022 00:00:00 +0000https://emeraldjava.github.io/post/2022/2022-09-14-docker-meetup-dublin/Docker ExtensionsNotes from ShipItCon 2022https://emeraldjava.github.io/post/2022/2022-09-02-ship-it-con-2022/Fri, 02 Sep 2022 00:00:00 +0000https://emeraldjava.github.io/post/2022/2022-09-02-ship-it-con-2022/Notes from ShipItCon 2022 9.30 Cian O&rsquo;Maidin - Nearform 10.10 Nicole Imerson 10.40 Filipe Freire 11.00 Nicola Zaghini 11.20 Noel King 11.45 Anton Walley 12.00 Scout24 14.30 Intercom 16.00 Laura Nolan Notes from ShipItCon 2022 Shipitcon is a technology converfence about Software Delivery. The theme this year was about resiliense of people and software systems. +9.30 Cian O&rsquo;Maidin - Nearform How the covid tracker app was developed and open sourced so 65million users and 10 countries could benifit.First Post of 2022https://emeraldjava.github.io/post/2022/2022-02-22-updates/Tue, 22 Feb 2022 00:00:00 +0000https://emeraldjava.github.io/post/2022/2022-02-22-updates/emeraldjava cv Have updated the CV to reflect recent experience. Needed to updated the github action and other npm versions. +Added the caffeine theme and need to see if the resumefodder word template can be converted. +github.io Updated the gatsby versions +Web Assembly Need to play with technology and add an app to this site.openapi typescripthttps://emeraldjava.github.io/post/2021-05-11-subabase-openapi-typescript/Sat, 01 May 2021 00:00:00 +0000https://emeraldjava.github.io/post/2021-05-11-subabase-openapi-typescript/Use &lsquo;openapi-typescript&rsquo; to generate interface types from the supabase swagger spec. +https://supabase.io/blog/2021/03/31/supabase-cli +npx @manifoldco/swagger-to-ts https://your-project.supabase.co/rest/v1/?apikey=your-anon-key &ndash;output types/supabase.ts +npx openapi-typescript https://dknnvxorlinqzsoxyvhz.supabase.co/rest/v1/?apikey=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlIjoiYW5vbiIsImlhdCI6MTYxOTc4NTU0NiwiZXhwIjoxOTM1MzYxNTQ2fQ.Xz1M8djivXrSH4UG98eu1btGmBzMSa04-9fcDX1rZ3A --output types/supabase.ts npx openapi-typescript &lt;SUPABASE_URL&gt;/rest/v1/?apikey=&lt;SUPABASE_ANON_KEY&gt; &ndash;output types/supabase.tsopenapi typescripthttps://emeraldjava.github.io/post/2021-05-23-enable-strava-plugin/Sat, 01 May 2021 00:00:00 +0000https://emeraldjava.github.io/post/2021-05-23-enable-strava-plugin/Enabling strava plugin again +https://swas.io/blog/using-multiple-queries-on-gatsbyjs-createpages-node-api/ +running two gatsby create page functions in gatby-node.js +https://stackoverflow.com/questions/57748844/how-do-i-use-multiple-createpage-routes-in-gatsby-node-js https://stackoverflow.com/questions/64536170/how-to-create-multiple-page-types-dynamically-in-gatsby-node-js https://swas.io/blog/using-multiple-queries-on-gatsbyjs-createpages-node-api/ https://gist.github.com/tanaypratap/c676022402d4fadbe1dad4c1b1a78c21 My .env file looks like +STRAVA_CLIENT_ID=xxxx STRAVA_CLIENT_SECRET=78..78 STRAVA_TOKEN={&quot;access_token&quot;:&quot;8a..b2&quot;,&quot;refresh_token&quot;:&quot;ij..gy&quot;,&quot;expires_at&quot;:1581439030,&quot;expires_in&quot;:21600} token https://yizeng.me/2017/01/11/get-a-strava-api-access-token-with-write-permission/ +generate token +STRAVA_CLIENT_ID=4945 STRAVA_CLIENT_SECRET=cd72dfedc320fd098fc2d5cf9af51c245fd9b042 STRAVA_TOKEN={&ldquo;access_token&rdquo;:&ldquo;503671acabaf6e27d8aa5ed49dbb22cd3f31748b&rdquo;,&ldquo;refresh_token&rdquo;:&ldquo;2706dca4b78c29353ed03267c0df2f41759a0c68&rdquo;,&ldquo;expires_at&rdquo;:1581439030,&ldquo;expires_in&rdquo;:21600} +1 - +http://www.strava.com/oauth/authorize?client_id=4945&amp;response_type=code&amp;redirect_uri=http://localhost/exchange_token&amp;approval_prompt=force&amp;scope=read_all,profile:read_all,activity:read_all +returns +http://localhost/exchange_token?state=&amp;code=3135adf3d092a54b2c9952978757adc4dee11c07&amp;scope=read,activity:read_all,profile:read_all,read_all +code=3135adf3d092a54b2c9952978757adc4dee11c07 +2 Run CURL to +curl -X POST https://www.strava.com/oauth/token -F client_id=4945 -F client_secret=cd72dfedc320fd098fc2d5cf9af51c245fd9b042 -F code=3135adf3d092a54b2c9952978757adc4dee11c07 -F grant_type=authorization_code +{&ldquo;token_type&rdquo;:&ldquo;Bearer&rdquo;, &ldquo;expires_at&rdquo;:1621798403,&ldquo;expires_in&rdquo;:21600, &ldquo;refresh_token&rdquo;:&ldquo;f84937f098dc675364aed4b65acb9e66bf30924c&rdquo;, &ldquo;access_token&rdquo;:&ldquo;b898fbd9ea915f5a3b34cc8876dc0c9f3bca049b&rdquo;, +&ldquo;athlete&rdquo;:{&ldquo;id&rdquo;:7035778,&ldquo;username&rdquo;:&ldquo;emeraldjava&rdquo;,&ldquo;resource_state&rdquo;:2,&ldquo;firstname&rdquo;:&ldquo;emerald&rdquo;,&ldquo;lastname&rdquo;:&ldquo;java&rdquo;,&ldquo;bio&rdquo;:&quot;&quot;,&ldquo;city&rdquo;:&ldquo;Dublin&rdquo;,&ldquo;state&rdquo;:&ldquo;Dublin&rdquo;,&ldquo;country&rdquo;:&ldquo;Ireland&rdquo;,&ldquo;sex&rdquo;:&ldquo;M&rdquo;,&ldquo;premium&rdquo;:true,&ldquo;summit&rdquo;:true,&ldquo;created_at&rdquo;:&ldquo;2014-11-09T16:06:10Z&rdquo;,&ldquo;updated_at&rdquo;:&ldquo;2021-05-23T13:03:13Z&rdquo;,&ldquo;badge_type_id&rdquo;:1,&ldquo;weight&rdquo;:73.4,&ldquo;profile_medium&rdquo;:&ldquo;https://dgalywyr863hv.cloudfront.net/pictures/athletes/7035778/2122161/2/medium.jpg&quot;,&quot;profile&quot;:&quot;https://dgalywyr863hv.cloudfront.net/pictures/athletes/7035778/2122161/2/large.jpg&quot;,&quot;friend&quot;:null,&quot;follower&quot;:null}}%Supabase HTML Clienthttps://emeraldjava.github.io/post/2021-05-01-supabase-html-client/Sat, 01 May 2021 00:00:00 +0000https://emeraldjava.github.io/post/2021-05-01-supabase-html-client/Playing with the basic supabase js client in a vanilla HTML page before I start the angular app development. Updated gatsby versions and installed the embedded gist plugin. +gist:emeraldjava/0541eaa0341605fa276048ac9ce91ab2Supabase Starterhttps://emeraldjava.github.io/post/2021-04-30-supabase-starter/Fri, 30 Apr 2021 00:00:00 +0000https://emeraldjava.github.io/post/2021-04-30-supabase-starter/Started looking supabase.io to get access to a Postgres DB as a service and play with their javascript UI client. +See https://github.com/AlanLyttonJones/Age-Grade-Tables +Carbon See carbon.now.sh +blob:https://carbon.now.sh/72027f28-1ae5-48c5-ba73-cb130ceca298 +Upgrading Gatsby https://www.gatsbyjs.com/docs/reference/release-notes/migrating-from-v2-to-v3/ https://github.com/gatsbyjs/gatsby-starter-default +npm install gatsby-plugin-image gatsby-plugin-sharp gatsby-source-filesystem gatsby-transformer-sharp From https://letscodepare.com/blog/npm-resolving-eacces-permissions-denied run commands +sudo chown -R $(whoami) ~/.npm sudo chown -R $(whoami) /usr/local/lib/node_modules/ https://www.gatsbyjs.com/starters/gatsbyjs/gatsby-starter-blog/Github Readme Statshttps://emeraldjava.github.io/post/2021-04-25-github-readme-stats/Sun, 25 Apr 2021 00:00:00 +0000https://emeraldjava.github.io/post/2021-04-25-github-readme-stats/I was looking for a guide to configuring spring boot with spring batch admin which i found but then spotted a nice GitHub summary on damienbeaufils home page. +Calling this API servive with my account details +https://github-readme-stats.vercel.app/api?username=emeraldjava&amp;show_icons=true&amp;count_private=true returns a neat embedded image. +Thanks Damien +To ensure the image gets space, we add it to a table. +TODO - create a gatsby plugin which takes the url and embeds the image.emeraldjava api setuphttps://emeraldjava.github.io/post/2021-04-18-emeraldjava-api/Sun, 18 Apr 2021 00:00:00 +0000https://emeraldjava.github.io/post/2021-04-18-emeraldjava-api/My setup for a java 11 spring-boot API service deployed on heroku. +Gatsby I&rsquo;d to update this repo first since the deploy action failed with this error +Failed to resolve action download info. Error: Unable to resolve action `JamesIves/github-pages-deploy-action@master`, unable to find version `master` Retrying in 20.243 seconds Error: Unable to resolve action `JamesIves/github-pages-deploy-action@master`, unable to find version `master` See +https://github.com/emeraldjava/emeraldjava.github.io/runs/2374008241?check_suite_focus=true https://github.com/JamesIves/github-pages-deploy-action sdkman First install sdkman for managing java installsUpdating CV to use Kiss My Resumehttps://emeraldjava.github.io/post/2020-08-18-cv-with-kiss-my-resume/Tue, 18 Aug 2020 00:00:00 +0000https://emeraldjava.github.io/post/2020-08-18-cv-with-kiss-my-resume/I&rsquo;ve have hosted my CV for the past two years via github hosted repo using the hackmyresume tool to generate a HTML and PDF version from a json file following the FRESH schema. +With recent version updates the hackmyresume system seems to have stopped creating output!. +A quick search directed me to KissMyResume which does simular tasks. I had to manually convert my existing resume content to the jsonresume.org schema which has wider support themes and I decided to the use the rocketspacer theme.Jekyll To Gatstbyhttps://emeraldjava.github.io/post/2020-06-20-jekyll-to-gatstby/Sat, 20 Jun 2020 00:00:00 +0000https://emeraldjava.github.io/post/2020-06-20-jekyll-to-gatstby/Jekyll To GatstbyGatsby Stravahttps://emeraldjava.github.io/post/2020-05-11-gatsby-strava/Mon, 11 May 2020 00:00:00 +0000https://emeraldjava.github.io/post/2020-05-11-gatsby-strava/Some notes on creating a Strava feed via Gatstby +https://www.gatsbyjs.org/packages/gatsby-source-strava/ https://mark.ie/blog/build-a-netlify-hosted-github-auto-deploying-gatsby-based-website-to-display-your-strava-data https://github.com/markconroy/strava-marky/blob/master/package.jsonGPG and Mavenhttps://emeraldjava.github.io/post/2020-02-01-gpg_maven/Sat, 01 Feb 2020 00:00:00 +0000https://emeraldjava.github.io/post/2020-02-01-gpg_maven/https://help.github.com/en/github/authenticating-to-github/adding-a-new-gpg-key-to-your-github-account +https://oss.sonatype.org/content/repositories/snapshots/io/github/emeraldjava/nifi-deploy-config/1.2.0-SNAPSHOT/ https://repo1.maven.org/maven2/io/github/emeraldjava/nifi-deploy-config/ +https://oss.sonatype.org/content/repositories/snapshots/com/github/hermannpencole/nifi-swagger-client/1.2.0-SNAPSHOT/ https://repo1.maven.org/maven2/com/github/hermannpencole +&lt;groupId&gt;com.github.hermannpencole&lt;/groupId&gt; &lt;artifactId&gt;nifi-swagger-client&lt;/artifactId&gt; https://help.github.com/en/github/managing-packages-with-github-packages/configuring-apache-maven-for-use-with-github-packages +https://github.com/actions/setup-java +https://itnext.io/publishing-artifact-to-maven-central-b160634e5268 +https://github.com/samuelmeuli/action-maven-publish +name: Release +Run workflow on commits to the master branch on: push: branches: - master jobs: release: runs-on: ubuntu-18.04 steps: - name: Check out Git repository uses: actions/checkout@v2 - name: Install Java and Maven uses: actions/setup-java@v1 with: java-version: 11 - name: Release Maven package uses: samuelmeuli/action-maven-publish@v1 with: gpg_private_key: ${{ secrets.gpg_private_key }} gpg_passphrase: ${{ secrets.gpg_passphrase }} nexus_username: ${{ secrets.nexus_username }} nexus_password: ${{ secrets.New Year 2020https://emeraldjava.github.io/post/2020-01-01-new-year-2020/Wed, 01 Jan 2020 00:00:00 +0000https://emeraldjava.github.io/post/2020-01-01-new-year-2020/New Years Resolutions The not making new years resolutions has been broken by me deciding to write more regularly on this site during 2020. +Guitar Chord Markdown I&rsquo;ve been looking to transfer all my guitar songs from paper to digital, in a format which will be easy for web and mobile devices. I&rsquo;d like to have the content in a markdown file, and then render the chords, version, bridge and chorus to a final display page.2nd Posthttps://emeraldjava.github.io/post/2019-12-01-2nd-post/Sun, 01 Dec 2019 00:00:00 +0000https://emeraldjava.github.io/post/2019-12-01-2nd-post/Add github actions to bhaa_woprdpress to run composer and then allow github-updater to run ion master website. +2019-12-22 : Test to see if this push works.First Gatsby Posthttps://emeraldjava.github.io/post/2019-11-13-first-gatsby-post/Wed, 13 Nov 2019 00:00:00 +0000https://emeraldjava.github.io/post/2019-11-13-first-gatsby-post/Migrating the site from jekyll to gatsby with github actions automatically updating the content.Synology SSH Keyhttps://emeraldjava.github.io/post/2017/2017-01-28-synology-ssh-key/Sat, 28 Jan 2017 18:34:18 +0000https://emeraldjava.github.io/post/2017/2017-01-28-synology-ssh-key/Setting up a SSH key for synology +Router - port forward the SSH port +https://www.chainsawonatireswing.com/2012/01/15/ssh-into-your-synology-diskstation-with-ssh-keys//?from=@ +http://superuser.com/questions/736055/ssh-with-no-password-passwordless-on-synology-dsm-5-as-other-non-root-user +https://www.synology.com/en-global/knowledgebase/DSM/tutorial/General/How_to_login_to_DSM_with_root_permission_via_SSH_Telnet +http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-password-using-ssh-keygen-ssh-copy-id +ssh-copy-id -i ~/.ssh/id_dsa.pub &#34;user@host -p 6842&#34; From http://askubuntu.com/questions/224190/how-can-i-make-ssh-copy-id-use-a-port-other-than-22 +docker stuff +http://www.jinkit.com/docker-on-synology/ https://www.campalus.com/enable-remote-tcp-connections-to-docker-host-running-ubuntu-15-04/ +SSL Certs +https://stefandingemanse.nl/how-to-use-lets-encrypt-ssl-certificate-on-synology-dsm/ +https://forums.plex.tv/discussion/200002/add-custom-ssl-certs-now-available-for-everyone-how-to +openssl pkcs12 -export -out archive.pfx -inkey privkey.pem -in cert.pem -certfile chain.pem openssl pkcs12 -export -out emeraldjava.noip.me.pfx -inkey privkey.pem -in cert.pem -certfile chain.pem -name &ldquo;emeraldjava.noip.me&rdquo; +/volume1/homes/admin/.ssh/archive.pfx ds1512 https://emeraldjava.noip.me:32400 +http://wesleysinstructions.weebly.com/ +https://community.letsencrypt.org/t/ssl-not-working-after-updating-letsencrypt-cert/18799/7 +https://emeraldjava.noip.me:32400/ Unable to communicate securely with peer: requested domain name does not match the server’s certificate.Spring Boot - Web Securityhttps://emeraldjava.github.io/post/2017/2017-01-24-spring-http-auth/Wed, 25 Jan 2017 00:00:00 +0000https://emeraldjava.github.io/post/2017/2017-01-24-spring-http-auth/Spring Boot - Web Security +public class HttpComponentsClientHttpRequestFactoryBasicAuth extends HttpComponentsClientHttpRequestFactory { private HttpHost host; public HttpComponentsClientHttpRequestFactoryBasicAuth(HttpHost host) { super(); this.host = host; } protected HttpContext createHttpContext(HttpMethod httpMethod, URI uri) { return createHttpContext(); } private HttpContext createHttpContext() { // Create AuthCache instance AuthCache authCache = new BasicAuthCache(); // Generate BASIC scheme object and add it to the local auth cache BasicScheme basicAuth = new BasicScheme(); authCache.put(host, basicAuth); // Add AuthCache to the execution context BasicHttpContext localcontext = new BasicHttpContext(); localcontext.Spring Boot - Web Securityhttps://emeraldjava.github.io/post/2017/2017-01-25-spring-boot-websecurity/Wed, 25 Jan 2017 00:00:00 +0000https://emeraldjava.github.io/post/2017/2017-01-25-spring-boot-websecurity/Spring Boot - Web Security +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.builders.WebSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; @Configuration @EnableWebSecurity public class WebSecurityConfig extends WebSecurityConfigurerAdapter { //@Autowired public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception { auth.inMemoryAuthentication().withUser(&#34;admin&#34;).password(&#34;admin&#34;).roles(&#34;ADMIN&#34;); auth.inMemoryAuthentication().withUser(&#34;user&#34;).password(&#34;user&#34;).roles(&#34;USER&#34;); } //.csrf() is optional, enabled by default, if using WebSecurityConfigurerAdapter constructor @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests() .antMatchers(&#34;/daymember&#34;, &#34;/export&#34;, &#34;/header&#34;, &#34;/list&#34;, &#34;/member&#34;, &#34;/menu&#34;, &#34;/prereg&#34;).permitAll().anyRequest().authenticated() .and() .formLogin().loginPage(&#34;/login&#34;).permitAll().defaultSuccessUrl(&#34;/member&#34;) .and() .logout().permitAll(); } /** * http://stackoverflow.Updating Gatsbyhttps://emeraldjava.github.io/post/2021-07-02-update-gatsby/Sun, 01 Jan 2017 00:00:00 +0000https://emeraldjava.github.io/post/2021-07-02-update-gatsby/An article about Title +https://mademistakes.com/notes/gatsby-build-optimizations-2021/Updating Gatsbyhttps://emeraldjava.github.io/post/2021-07-07-strava-tokens-and-ejs/Sun, 01 Jan 2017 00:00:00 +0000https://emeraldjava.github.io/post/2021-07-07-strava-tokens-and-ejs/Strava Auth https://developers.strava.com/docs/authentication/#refreshingexpiredaccesstokens +https://code.dblock.org/2018/11/17/dealing-with-strava-api-token-migration.html +Strava v3 API https://www.npmjs.com/package/strava-v3 https://github.com/Interactivefitness/strava-v3-client https://www.npmjs.com/package/@tokks/strava https://github.com/plondon/philly-marathon/blob/8718dd6eee5daf97c45773043a32380ec8c70556/app.js Express and Passport http://www.passportjs.org/packages/passport-strava/ Express and EJS https://medium.com/swlh/master-ejs-template-engine-with-node-js-and-expressjs-979cc22b69be Express &amp; Tyepscript https://leejjon.medium.com/create-a-react-app-served-by-express-js-node-js-and-add-typescript-33705be3ceda Express &amp; Angular https://dev.to/dirk94/how-i-structure-my-express-typescript-react-applications-g3e https://github.com/gkunal7691/AngularNodeApp/blob/master/app.jsNode JS Meetup May 2014https://emeraldjava.github.io/post/2014/2014-05-29-node-js-meetup-may-2014/Thu, 29 May 2014 00:00:00 +0000https://emeraldjava.github.io/post/2014/2014-05-29-node-js-meetup-may-2014/Notes from the www.nodejsdublin.com meeting in [https://www.engineyard.com/](Engine Yard), Barrow St, Dublin. +The topic this evening is &ldquo;Building a Reverse Proxy With Node and Performing Scalability Testing On It&rdquo; and is being presented by the guys from Citi bank. Seems they are hiring as well atm. +Back @engineyard for this months @nodejsdublin talk. Will add some notes here http://t.co/gkqa256XLp +&mdash; @emeraldjava@mastodon.ie (@emeraldjava) May 29, 2014 My poor attempt to win the spot prize of the evening by posting a photo to #nodejsdublinStockholm Medalhttps://emeraldjava.github.io/post/2010/2010-05-02-stockholm-medal/Sun, 02 May 2010 00:00:00 +0000https://emeraldjava.github.io/post/2010/2010-05-02-stockholm-medal/ Stockholm Marathon Medal 2010June 2nd 2006 - Melbourne to Sorrentohttps://emeraldjava.github.io/post/2006/2006-06-02-melbourne-to-sorrento/Fri, 02 Jun 2006 00:00:00 +0000https://emeraldjava.github.io/post/2006/2006-06-02-melbourne-to-sorrento/Chapel Street Backpacker The first 20km was on a dedicated bike lane, with the only hazards being the morning pram walkers. Joined the Nepean highway near chelsea and followed it down via Frankston, Mornington and St Marta. The bike lane on the main road was really wide and most vehicals gave me plently of room. +2006-06-02-beach Hauling the fully loaded bags on the bike finally kicked in about 40km. I was expecting the first couple of days to be tough, but not this bad this early.Thursday 1st June 2006https://emeraldjava.github.io/post/2006/2006-06-01-thursday-1st-june/Thu, 01 Jun 2006 00:00:00 +0000https://emeraldjava.github.io/post/2006/2006-06-01-thursday-1st-june/Just chilled around melbourne again today, sorted an aussie mobile number [0448 997 380 ] and some replacement tubes for the bike. Toured around CBD, victoria market, richmond, fitzroy and the MCG today. +2006-06-01 The plan tomorrow is to cycle down the Mornington Peninsula, use the ferry to cross the bay and spend the night in Torquay.Wednesday 31th May 2006https://emeraldjava.github.io/post/2006/2006-05-31-wednesday-31th-may/Wed, 31 May 2006 00:00:00 +0000https://emeraldjava.github.io/post/2006/2006-05-31-wednesday-31th-may/Moved to a hostel in St Kilda today for 2 nights, the CBD is dead at night. Spent the rest of the day touring around melbourne, its so easy having your own transport to just skip past places. Did a lap of the albert park grand prix circuit, not sure if i was on the same pace as the F1 dudes. Picture of the Melbourne skyline taken from albert park in the last afternoon.Tuesday 30th May 2006https://emeraldjava.github.io/post/2006/2006-05-30-tuesday-30th-may/Tue, 30 May 2006 00:00:00 +0000https://emeraldjava.github.io/post/2006/2006-05-30-tuesday-30th-may/In Hong Kong International airport for a 2 hour stopover before the final leg of the flight to melbourne, which should get me there for 19.30 this evening. +2006-05-30 Interesting landing into melbourne, I&rsquo;m looking out the window to see the city lights expecting to have a nice view for a few minutes before we touch down, but first lights i see are the airport lights. There a bit close i&rsquo;m thinking, when next thing the plane slaps the runway like a tonne of bricks, or metal hitting the ground.Monday 29th May 2006https://emeraldjava.github.io/post/2006/2006-05-29-monday-29th-may/Mon, 29 May 2006 00:00:00 +0000https://emeraldjava.github.io/post/2006/2006-05-29-monday-29th-may/Monday 29th May 2006 Flew from London Heathrow T4 (12.20pm) to Hong Kong with Quantas today.La Marmotte 2005https://emeraldjava.github.io/post/2005/2005-08-07-la-marmotte-2005/Sun, 07 Aug 2005 00:00:00 +0000https://emeraldjava.github.io/post/2005/2005-08-07-la-marmotte-2005/Took me 10h 37min 50seconds, came in 3623rd place. \ No newline at end of file diff --git a/jekyll/_drafts/2015-01-28-six-levels-of-scala.md b/jekyll/_drafts/2015-01-28-six-levels-of-scala.md deleted file mode 100644 index fb12cda0..00000000 --- a/jekyll/_drafts/2015-01-28-six-levels-of-scala.md +++ /dev/null @@ -1,51 +0,0 @@ ---- -layout: post -title: six-levels-of-scala -categories: [scala] -tags: [] -published: True -date: 2015-02-01 18:32:56 ---- - -This document describes [6 levels of scala skills](http://www.scala-lang.org/old/node/8610) that developers can be ranked on. I'm going to use this [emeraldjava-scala-six-steps](https://github.com/emeraldjava/emeraldjava-scala-six-steps) github project to track various scripts and scala implementations as i attempt to educate myself about scala. - -Level A1: Beginning application programmer -Java-like statements and expressions: standard operators, method calls, conditionals, loops, try/catch -class, object, def, val, var, import, package -Infix notation for method calls -Simple closures -Collections with map, filter, etc -for-expressions - -Level A2: Intermediate application programmer -Pattern matching -Trait composition -Recursion, in particular tail recursion -XML literals - -Level A3: Expert application programmer -Folds, i.e. methods such as foldLeft, foldRight -Streams and other lazy data structures -Actors -Combinator parsers - -Level L1: Junior library designer -Type parameters -Traits -Lazy vals -Control abstraction, currying -By-name parameters - -Level L2: Senior library designer -Variance annotations -Existential types (e.g., to interface with Java wildcards) -Self type annotations and the cake pattern for dependency injection -Structural types (aka static duck typing) -Defining map/flatmap/withFilter for new kinds of for-expressions -Extractors - -Level L3: Expert library designer -Early initializers -Abstract types -Implicit definitions -Higher-kinded types diff --git a/jekyll/_drafts/2015-02-03-akka-tutorials.md b/jekyll/_drafts/2015-02-03-akka-tutorials.md deleted file mode 100644 index 8974a763..00000000 --- a/jekyll/_drafts/2015-02-03-akka-tutorials.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -layout: -title: akka tutorials -categories: [] -tags: [] -published: True - ---- - -http://www.toptal.com/scala/concurrency-and-fault-tolerance-made-easy-an-intro-to-akka \ No newline at end of file diff --git a/jekyll/_drafts/2015-02-03-docker-vangrant-setup.md b/jekyll/_drafts/2015-02-03-docker-vangrant-setup.md deleted file mode 100644 index a5afea85..00000000 --- a/jekyll/_drafts/2015-02-03-docker-vangrant-setup.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -layout: -title: docker vangrant setup -categories: [] -tags: [] -published: True - ---- - -http://www.javacodegeeks.com/2015/01/microservices-development-with-scala-spray-mongodb-docker-and-ansible.html \ No newline at end of file diff --git a/jekyll/_drafts/2015-02-03-jekyll-clean-blog-theme.md b/jekyll/_drafts/2015-02-03-jekyll-clean-blog-theme.md deleted file mode 100644 index f1c102d3..00000000 --- a/jekyll/_drafts/2015-02-03-jekyll-clean-blog-theme.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: -title: jekyll-clean-blog-theme -categories: [] -tags: [] -published: True - ---- - -https://github.com/chandan911/chandan911.github.io - -https://github.com/IronSummitMedia/startbootstrap-clean-blog-jekyll - -http://ironsummitmedia.github.io/startbootstrap-clean-blog-jekyll/ \ No newline at end of file diff --git a/jekyll/_drafts/2015-02-04-emeraldjavanoipme.md b/jekyll/_drafts/2015-02-04-emeraldjavanoipme.md deleted file mode 100644 index 16f432d0..00000000 --- a/jekyll/_drafts/2015-02-04-emeraldjavanoipme.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -layout: -title: emeraldjava.noip.me -categories: [] -tags: [] -published: True - ---- - -https://www.noip.com/members/dns/ - -emeraldjava.noip.me :: 109.78.157.43 - -https://community.vodafone.ie/t5/Packages-Plans/huawei-HG658c-port-forwarding-for-tungle/td-p/142998 - diff --git a/jekyll/_drafts/2015-11-09-chefserversetup.markdown b/jekyll/_drafts/2015-11-09-chefserversetup.markdown deleted file mode 100644 index 221151ba..00000000 --- a/jekyll/_drafts/2015-11-09-chefserversetup.markdown +++ /dev/null @@ -1,64 +0,0 @@ ---- -layout: post -title: "chef-server-setup" -date: "2015-11-09" ---- - -Todays experiment is to setup a Chef Server on my local machine. -From the [docs](https://docs.chef.io/release/server_12-2/install_server.html) - -The first config step failed but [chef-installation-error-error-executing-action-run-on-resource](http://serverfault.com/questions/653889/chef-installation-error-error-executing-action-run-on-resource). - -sudo /etc/init.d/rabbitmq-server stop - - -sudo chef-server-ctl reconfigure - -sudo chef-server-ctl user-create paul.oconnell Paul OConnell paul.oconnell@bearingpoint.com chef2015 --filename paul.oconnell.pem - -sudo chef-server-ctl org-create short_name "Bearingpoint" --association_user paul.oconnell --filename bearingpoint.pem - ---filename ORGANIZATION-validator.pem - -[https://www.sbarjatiya.com/notes_wiki/index.php/Chef_infrastructure_setup](https://www.sbarjatiya.com/notes_wiki/index.php/Chef_infrastructure_setup) - -## use vagrant to setup new VM -```javascript -VAGRANTFILE_API_VERSION = "2" - -Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| - # All Vagrant configuration is done here. The most common configuration - # options are documented and commented below. For a complete reference, - # please see the online documentation at vagrantup.com. - - # Every Vagrant virtual environment requires a box to build off of. - config.vm.box = "Ubuntu14docker" - - # The url from where the 'config.vm.box' box will be fetched if it - # doesn't already exist on the user's system. - config.vm.box_url = "https://github.com/jose-lpa/packer-ubuntu_14.04/releases/download/v2.0/ubuntu-14.04.box" -``` - -### reset the root password on the vagrant box - -sudo passwd -u root - -add node1,2,3 to /etc/hosts - -http://serverfault.com/questions/266910/bootstrap-add-node-localhost-in-chef - -knife bootstrap 127.0.0.1 -x ubuntu -P noentry --sudo - -knife ssh name:node1 -x ubuntu -P noentry "sudo chef-client" - - - -knife bootstrap 127.0.0.1 --ssh-user vagrant --ssh-password 'vagrant' --sudo --use-sudo-password --node-name node1 --run-list 'recipe[learn_chef_apache2]' - -knife bootstrap ADDRESS --ssh-user USER --ssh-password 'PASSWORD' --sudo --use-sudo-password --node-name node1 --run-list 'recipe[learn_chef_apache2]' - -### ecitest01 - -alias ecitest01.app='ssh app@10.139.30.231' - -knife bootstrap 10.139.30.231 --ssh-user app --ssh-password 'app' --sudo --use-sudo-password --node-name ecitest01 --run-list 'recipe[learn_chef_apache2]' diff --git a/jekyll/_drafts/2017-01-26-spring-boot-default-database-None.markdown b/jekyll/_drafts/2017-01-26-spring-boot-default-database-None.markdown deleted file mode 100644 index 2fc02ed1..00000000 --- a/jekyll/_drafts/2017-01-26-spring-boot-default-database-None.markdown +++ /dev/null @@ -1,72 +0,0 @@ ---- -title: Spring Boot - database driver class for database type NONE -excerpt: "Just about everything you'll need to style in the theme: headings, paragraphs, blockquotes, tables, code blocks, and more." -modified: 2017-01-26 -categories: [dev] -tags: [intro, beginner, jekyll, tutorial] -header: - overlay_image: https://unsplash.it/792/269/?random - ocerlay_filter: 0.75 - teaser: https://unsplash.it/300/400/?image=4 ---- - - ### database driver class for database type NONE - -``` -org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$DataSourceBeanCreationException: Cannot determine embedded database driver class for database type NONE. If you want an embedded database please put a supported one on the classpath. If you have database settings to be loaded from a particular profile you may need to active it (no profiles are currently active). - at org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.determineDriverClassName(DataSourceProperties.java:245) ~[spring-boot-autoconfigure-1.4.2.RELEASE.jar:1.4.2.RELEASE] - at org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.initializeDataSourceBuilder(DataSourceProperties.java:182) ~[spring-boot-autoconfigure-1.4.2.RELEASE.jar:1.4.2.RELEASE] - at org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration.createDataSource(DataSourceConfiguration.java:42) ~[spring-boot-autoconfigure-1.4.2.RELEASE.jar:1.4.2.RELEASE] - at org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Tomcat.dataSource(DataSourceConfiguration.java:53) ~[spring-boot-autoconfigure-1.4.2.RELEASE.jar:1.4.2.RELEASE] - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_101] - at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_101] - at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_101] - at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_101] - at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] - at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:588) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1128) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1022) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:512) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] - at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] - at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] - at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] - at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] - at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:754) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] - at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:866) ~[spring-context-4.3.4.RELEASE.jar:4.3.4.RELEASE] - at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:542) ~[spring-context-4.3.4.RELEASE.jar:4.3.4.RELEASE] - at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) ~[spring-boot-1.4.2.RELEASE.jar:1.4.2.RELEASE] - at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:761) [spring-boot-1.4.2.RELEASE.jar:1.4.2.RELEASE] - at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:371) [spring-boot-1.4.2.RELEASE.jar:1.4.2.RELEASE] - at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) [spring-boot-1.4.2.RELEASE.jar:1.4.2.RELEASE] - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1186) [spring-boot-1.4.2.RELEASE.jar:1.4.2.RELEASE] - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1175) [spring-boot-1.4.2.RELEASE.jar:1.4.2.RELEASE] - at ie.bhaa.registration.BhaaRegistrationApplication.main(BhaaRegistrationApplication.java:21) [classes/:na] - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_101] - at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_101] - at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_101] - at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_101] - at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) [spring-boot-devtools-1.4.2.RELEASE.jar:1.4.2.RELEASE] - -2017-01-26 11:03:41.225 ERROR 3441 --- [ restartedMain] o.s.b.d.LoggingFailureAnalysisReporter : - -*************************** -APPLICATION FAILED TO START -*************************** - -Description: - -Cannot determine embedded database driver class for database type NONE -``` - -## fix 1 - -http://stackoverflow.com/questions/33709849/beancreationexception-cannot-determine-embedded-database-driver-class-for-datab - -``` -@EnableAutoConfiguration(exclude={DataSourceAutoConfigurati‌​on.class}) -``` - -## Fix 2 - -http://stackoverflow.com/questions/24074749/spring-boot-cannot-determine-embedded-database-driver-class-for-database-type diff --git a/jekyll/_drafts/2017-02-15-ghpages-branch.md b/jekyll/_drafts/2017-02-15-ghpages-branch.md deleted file mode 100644 index bf80b1f9..00000000 --- a/jekyll/_drafts/2017-02-15-ghpages-branch.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: spring-boot-thymeleaf-versions -excerpt: "spring-boot-thymeleaf-versions" -date: "2017-02-15 11:12:50 +0000" -categories: - - dev -tags: - - gh-pages -header: - overlay_image: https://unsplash.it/792/269/?random - ocerlay_filter: 0.75 - teaser: https://unsplash.it/300/400/?image=6 ---- - -pauloconnell@pauloconnell-HP-ZBook-15 ~/projects/github/bhaawp $ mkdir gh-pages -pauloconnell@pauloconnell-HP-ZBook-15 ~/projects/github/bhaawp $ echo "gh-pages/" > .gitignore -pauloconnell@pauloconnell-HP-ZBook-15 ~/projects/github/bhaawp $ git add gh-pages -pauloconnell@pauloconnell-HP-ZBook-15 ~/projects/github/bhaawp $ git commit -m ".gitignore child/ folder (contains gh-pages branch)" .gitignore -pauloconnell@pauloconnell-HP-ZBook-15 ~/projects/github/bhaawp $ git push origin master - -https://gist.github.com/chrisjacob/825950 -https://gist.github.com/cobyism/4730490 - -pauloconnell@pauloconnell-HP-ZBook-15 ~/projects/github/bhaawp $ cd gh-pages/ -pauloconnell@pauloconnell-HP-ZBook-15 ~/projects/github/bhaawp/gh-pages $ git clone git@github.com:emeraldjava/bhaawp.git -pauloconnell@pauloconnell-HP-ZBook-15 ~/projects/github/bhaawp/gh-pages $ git checkout origin/gh-pages -b gh-pages - -ichris:child $ ls -la -ichris:child $ git branch -d master -ichris:child $ git branch - -https://srackham.wordpress.com/2014/12/14/publishing-a-project-website-to-github-pages/ diff --git a/jekyll/_drafts/2017-02-23-spring-boot-thymeleaf-versions.md b/jekyll/_drafts/2017-02-23-spring-boot-thymeleaf-versions.md deleted file mode 100644 index 204301b8..00000000 --- a/jekyll/_drafts/2017-02-23-spring-boot-thymeleaf-versions.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -title: spring-boot-thymeleaf-versions -excerpt: "spring-boot-thymeleaf-versions" -date: "2017-03-23 11:12:50 +0000" -categories: - - dev -tags: - - spring-boot -header: - overlay_image: https://unsplash.it/792/269/?random - ocerlay_filter: 0.75 - teaser: https://unsplash.it/300/400/?image=61 ---- - -# Spring Boot 1.3.3 - -/home/pauloconnell/projects/github/spring-boot-thymeleaf-fragments - -``` - - org.springframework.boot - spring-boot-starter-parent - 1.3.3.RELEASE - - - -nz.net.ultra.thymeleaf:thymeleaf-layout-dialect:1.3.3 - -2.7.3 -2.2.3 -1.11.4 -4.12 -3.20.0 -1.5.1 -``` - -# Spring Boot 1.4.2 - -``` - - org.springframework.boot - spring-boot-starter-parent - 1.4.2.RELEASE - -``` diff --git a/jekyll/_drafts/2017-03-01-springbootjpaquery.markdown b/jekyll/_drafts/2017-03-01-springbootjpaquery.markdown deleted file mode 100644 index 3e7cce5e..00000000 --- a/jekyll/_drafts/2017-03-01-springbootjpaquery.markdown +++ /dev/null @@ -1,64 +0,0 @@ ---- -title: "spring-boot-query" -date: "2017-03-01 11:12:50 +0000" -categories: - - dev -tags: - - spring-boot -header: - overlay_image: https://unsplash.it/792/269/?random - ocerlay_filter: 0.75 - teaser: https://unsplash.it/300/400/?image=7 ---- - -java.lang.IllegalArgumentException: Parameter with that position [1] did not exist - at org.hibernate.jpa.spi.BaseQueryImpl.findParameterRegistration(BaseQueryImpl.java:502) ~[hibernate-entitymanager-5.0.11.Final.jar:5.0.11.Final] - at org.hibernate.jpa.spi.BaseQueryImpl.setParameter(BaseQueryImpl.java:692) ~[hibernate-entitymanager-5.0.11.Final.jar:5.0.11.Final] - at org.hibernate.jpa.spi.AbstractQueryImpl.setParameter(AbstractQueryImpl.java:181) ~[hibernate-entitymanager-5.0.11.Final.jar:5.0.11.Final] - at org.hibernate.jpa.spi.AbstractQueryImpl.setParameter(AbstractQueryImpl.java:32) ~[hibernate-entitymanager-5.0.11.Final.jar:5.0.11.Final] - at org.springframework.data.jpa.repository.query.ParameterBinder.bind(ParameterBinder.java:140) ~[spring-data-jpa-1.11.0.RELEASE.jar:na] - at org.springframework.data.jpa.repository.query.StringQueryParameterBinder.bind(StringQueryParameterBinder.java:61) ~[spring-data-jpa-1.11.0.RELEASE.jar:na] - at org.springframework.data.jpa.repository.query.ParameterBinder.bind(ParameterBinder.java:100) ~[spring-data-jpa-1.11.0.RELEASE.jar:na] - at org.springframework.data.jpa.repository.query.SpelExpressionStringQueryParameterBinder.bind(SpelExpressionStringQueryParameterBinder.java:69) ~[spring-data-jpa-1.11.0.RELEASE.jar:na] - at org.springframework.data.jpa.repository.query.ParameterBinder.bindAndPrepare(ParameterBinder.java:160) ~[spring-data-jpa-1.11.0.RELEASE.jar:na] - at org.springframework.data.jpa.repository.query.ParameterBinder.bindAndPrepare(ParameterBinder.java:151) ~[spring-data-jpa-1.11.0.RELEASE.jar:na] - at org.springframework.data.jpa.repository.query.AbstractStringBasedJpaQuery.doCreateQuery(AbstractStringBasedJpaQuery.java:81) ~[spring-data-jpa-1.11.0.RELEASE.jar:na] - at org.springframework.data.jpa.repository.query.AbstractJpaQuery.createQuery(AbstractJpaQuery.java:190) ~[spring-data-jpa-1.11.0.RELEASE.jar:na] - at org.springframework.data.jpa.repository.query.JpaQueryExecution$CollectionExecution.doExecute(JpaQueryExecution.java:121) ~[spring-data-jpa-1.11.0.RELEASE.jar:na] - at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:85) ~[spring-data-jpa-1.11.0.RELEASE.jar:na] - at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:116) ~[spring-data-jpa-1.11.0.RELEASE.jar:na] - - - @Query(value = "SELECT new com.be.ambassador.service.datastore.model.LeaderScore(" + - "(SELECT fullname from beuser where id=s.user_id) as name,SUM(s.value) as total) FROM score s " + - "WHERE date >= '?#{[0]}' GROUP BY user_id ORDER BY total desc", - nativeQuery = true) - List getLeaderBoard(@Param("from") @Temporal Date from); - - gives - 2017-03-09 09:46:33.941 INFO 13597 --- [nio-8080-exec-3] c.b.a.s.calculator.ScoreCalculator : load scored between dates 2017/03/01 2017/03/06 -Hibernate: SELECT new com.be.ambassador.service.datastore.model.LeaderScore((SELECT fullname from beuser where id=s.user_id) as name,SUM(s.value) as total) FROM score s WHERE date >= '?1' GROUP BY user_id ORDER BY total desc -2017-03-09 09:46:33.954 WARN 13597 --- [nio-8080-exec-3] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 0, SQLState: 42601 -2017-03-09 09:46:33.954 ERROR 13597 --- [nio-8080-exec-3] o.h.engine.jdbc.spi.SqlExceptionHelper : ERROR: syntax error at or near "." - -@Query(value = "SELECT new com.be.ambassador.service.datastore.model.LeaderScoreBean(" + - "(SELECT fullname from beuser where id=s.user_id) as name,SUM(s.value) as total) FROM score s " + - "WHERE date >= ?#{[0]} GROUP BY user_id ORDER BY total desc", - nativeQuery = true) -List getLeaderBoard( @Temporal(TemporalType.DATE) Date from);//@Param("from") - -2017-03-09 10:09:27.496 INFO 15921 --- [nio-8080-exec-3] c.b.a.s.calculator.ScoreCalculator : Wed Mar 01 00:00:00 GMT 2017 -Hibernate: SELECT new com.be.ambassador.service.datastore.model.LeaderScoreBean((SELECT fullname from beuser where id=s.user_id) as name,SUM(s.value) as total) FROM score s WHERE date >= ? GROUP BY user_id ORDER BY total desc -2017-03-09 10:09:27.515 WARN 15921 --- [nio-8080-exec-3] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 0, SQLState: 42601 -2017-03-09 10:09:27.515 ERROR 15921 --- [nio-8080-exec-3] o.h.engine.jdbc.spi.SqlExceptionHelper : ERROR: syntax error at or near "." - -@Query(value = "SELECT new com.be.ambassador.service.datastore.model.LeaderScoreBean(" + - "(SELECT fullname from beuser where id=s.user_id) as name,SUM(s.value) as total) FROM score s " + - "WHERE date >= '?#{[0]}' GROUP BY user_id ORDER BY total desc", - nativeQuery = true) -List getLeaderBoard( @Temporal(TemporalType.DATE) Date from);//@Param("from") - -2017-03-09 10:10:35.580 INFO 16147 --- [nio-8080-exec-3] c.b.a.s.calculator.ScoreCalculator : Wed Mar 01 00:00:00 GMT 2017 -Hibernate: SELECT new com.be.ambassador.service.datastore.model.LeaderScoreBean((SELECT fullname from beuser where id=s.user_id) as name,SUM(s.value) as total) FROM score s WHERE date >= '?1' GROUP BY user_id ORDER BY total desc -2017-03-09 10:10:35.597 WARN 16147 --- [nio-8080-exec-3] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 0, SQLState: 42601 -2017-03-09 10:10:35.597 ERROR 16147 --- [nio-8080-exec-3] o.h.engine.jdbc.spi.SqlExceptionHelper : ERROR: syntax error at or near "." diff --git a/jekyll/_drafts/2017-03-22-springbootgitversionheroku.markdown b/jekyll/_drafts/2017-03-22-springbootgitversionheroku.markdown deleted file mode 100644 index 476b27c0..00000000 --- a/jekyll/_drafts/2017-03-22-springbootgitversionheroku.markdown +++ /dev/null @@ -1,67 +0,0 @@ ---- -title: "spring-boot-git-version-heroku" -date: "2017-03-22 11:12:50 +0000" -category: - - dev -tags: - - spring-boot - - heroku -header: - overlay_image: https://unsplash.it/792/269/?random - ocerlay_filter: 0.75 - teaser: https://unsplash.it/300/400/?image=8 ---- - -# spring-boot - -http://www.baeldung.com/spring-git-information - -https://www.petrikainulainen.net/programming/spring-framework/spring-from-the-trenches-returning-git-commit-information-as-json/ - -## old way - -https://blog.codecentric.de/en/2016/01/how-to-add-a-github-commit-link-to-a-web-application/ -http://www.mojohaus.org/buildnumber-maven-plugin/usage.html - -## GitProperties - -``` -management.info.git.mode=full -``` - -http://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-endpoints.html - -### maven plugins to create git.properties - -1 git-commit-id-plugin -2 https://plugins.gradle.org/plugin/com.gorylenko.gradle-git-properties - -use -# Heroku - -http://stackoverflow.com/questions/14583282/heroku-display-hash-of-current-commit - -http://stackoverflow.com/questions/2281772/how-to-view-remote-git-revision-on-heroku - -http://stackoverflow.com/questions/18406721/heroku-does-not-appear-to-be-a-git-repository - -## dyno-metadata - -https://devcenter.heroku.com/articles/dyno-metadata - -``` -HEROKU_APP_ID: 9daa2797-e49b-4624-932f-ec3f9688e3da -HEROKU_APP_NAME: example-app -HEROKU_DYNO_ID: 1vac4117-c29f-4312-521e-ba4d8638c1ac -HEROKU_RELEASE_CREATED_AT: 2015-04-02T18:00:42Z -HEROKU_RELEASE_VERSION: v42 -HEROKU_SLUG_COMMIT: 2c3a0b24069af49b3de35b8e8c26765c1dba9ff0 -HEROKU_SLUG_DESCRIPTION: Deploy 2c3a0b2 -``` - -## SOURCE_VERSION - https://devcenter.heroku.com/changelog-items/630 - -- https://github.com/sreid/heroku-buildpack-sourceversion - -maven plugin to Deploy -https://github.com/heroku/heroku-maven-plugin diff --git a/jekyll/_drafts/2017-04-05-new-header.markdown b/jekyll/_drafts/2017-04-05-new-header.markdown deleted file mode 100644 index e9b4c374..00000000 --- a/jekyll/_drafts/2017-04-05-new-header.markdown +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: "New Header" -date: "2017-04-05 09:34:18 +0000" -category: - - homebrew -header: - overlay_image: /images/header-vscode.png - ocerlay_filter: 0.75 - teaser: /images/teaser-vscode.png ---- - -First brew of the 2017 year. diff --git a/jekyll/_drafts/travis-commands-to-autoupdate-my-ghpage.md b/jekyll/_drafts/travis-commands-to-autoupdate-my-ghpage.md deleted file mode 100644 index 946d66b4..00000000 --- a/jekyll/_drafts/travis-commands-to-autoupdate-my-ghpage.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -layout: post -title: "travis-commands-to-autoupdate-my-ghpage" -date: YYYY-MM-DD HH:MM:SS -categories: travis ---- - -http://www.damian.oquanta.info/posts/one-line-deployment-of-your-site-to-gh-pages.html diff --git a/jekyll/_posts/2005/2005-08-07-la-marmotte-2005.md b/jekyll/_posts/2005/2005-08-07-la-marmotte-2005.md deleted file mode 100644 index 19d9314f..00000000 --- a/jekyll/_posts/2005/2005-08-07-la-marmotte-2005.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: La Marmotte 2005 -categories: cycling ---- - -Took me 10h 37min 50seconds, came in 3623rd place. - -
    View Larger Map diff --git a/jekyll/_posts/2006/2006-05-16-sunday-cycle-around-lake-zurich.md b/jekyll/_posts/2006/2006-05-16-sunday-cycle-around-lake-zurich.md deleted file mode 100644 index 4ed52b13..00000000 --- a/jekyll/_posts/2006/2006-05-16-sunday-cycle-around-lake-zurich.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Sunday Cycle around Lake Zurich - -tags: [cycling,2006] -# Pulled from Blogger. Last updated there on: Tue May 16 21:04:00 IST 2006 ---- - Passed through rapperwil on last sundays ride. Posted by Picasa diff --git a/jekyll/_posts/2006/2006-05-24-last-day-in-zurich.md b/jekyll/_posts/2006/2006-05-24-last-day-in-zurich.md deleted file mode 100644 index cb02e790..00000000 --- a/jekyll/_posts/2006/2006-05-24-last-day-in-zurich.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Last Day In Zurich - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Wed May 24 11:56:00 IST 2006 ---- -




    Today is my last day in zurich. Bit tried after all the messing thats associated with moving out of an apartment here.

    Here is an overview of my trip plan for tomorrow from Zurich to Naas using the Google Map API, hopefully my config skills for this service will improve with time.

    Google Map API
    It seems initially that this blog site will not allow users to embed google's or there own script elements in the blog pages, so i've had host the google map pages on a seperate site, and will just link them from here. There has to be a neater solution. diff --git a/jekyll/_posts/2006/2006-05-26-more-google-maps.md b/jekyll/_posts/2006/2006-05-26-more-google-maps.md deleted file mode 100644 index 0a287a38..00000000 --- a/jekyll/_posts/2006/2006-05-26-more-google-maps.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: More Google Maps - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Fri May 26 18:02:00 IST 2006 ---- -

    Naas

    diff --git a/jekyll/_posts/2006/2006-05-30-monday-29th-may.md b/jekyll/_posts/2006/2006-05-30-monday-29th-may.md deleted file mode 100644 index 8a706564..00000000 --- a/jekyll/_posts/2006/2006-05-30-monday-29th-may.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Monday 29th May - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Tue May 30 01:11:00 IST 2006 ---- -
    Flew from London Heathrow T4 (12.20pm) to Hong Kong with Quantas today. diff --git a/jekyll/_posts/2006/2006-05-30-tuesday-30th-may.md b/jekyll/_posts/2006/2006-05-30-tuesday-30th-may.md deleted file mode 100644 index 631a4819..00000000 --- a/jekyll/_posts/2006/2006-05-30-tuesday-30th-may.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Tuesday 30th May - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Tue May 30 01:13:00 IST 2006 ---- -In Hong Kong International airport for a 2 hour stopover before the final leg of the flight to melbourne, which should get me there for 19.30 this evening.



    Interesting landing into melbourne, I'm looking out the window to see the city lights expecting to have a nice view for a few minutes before we touch down, but first lights i see are the airport lights. There a bit close i'm thinking, when next thing the plane slaps the runway like a tonne of bricks, or metal hitting the ground. There a small issue of a loud bang and bits of the internal roof panel coming loose and dropping onto this dudes head, who sitting a couple of rows ahead of me. He grabs the panel and holds it while the whole plane slows. Lots bemused people and stupid jokes as we get of the plane.

    No hassel getting the bike in via aussie customs, they just check thats are is not muck on the frame. diff --git a/jekyll/_posts/2006/2006-06-01-thursday-1st-june.md b/jekyll/_posts/2006/2006-06-01-thursday-1st-june.md deleted file mode 100644 index 58c3b96e..00000000 --- a/jekyll/_posts/2006/2006-06-01-thursday-1st-june.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Thursday 1st June - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Thu Jun 01 11:08:00 IST 2006 ---- -Just chilled around melbourne again today, sorted an aussie mobile number [0448 997 380 ] and some replacement tubes for the bike. Toured around CBD, victoria market, richmond, fitzroy and the MCG today.



    The plan tomorrow is to cycle down the Mornington Peninsula, use the ferry to cross the bay and spend the night in Torquay. diff --git a/jekyll/_posts/2006/2006-06-01-wednesday-31th-may.md b/jekyll/_posts/2006/2006-06-01-wednesday-31th-may.md deleted file mode 100644 index ce1341ea..00000000 --- a/jekyll/_posts/2006/2006-06-01-wednesday-31th-may.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Wednesday 31th May - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Thu Jun 01 10:59:00 IST 2006 ---- -Moved to a hostel in St Kilda today for 2 nights, the CBD is dead at night. Spent the rest of the day touring around melbourne, its so easy having your own transport to just skip past places. Did a lap of the albert park grand prix circuit, not sure if i was on the same pace as the F1 dudes. Picture of the Melbourne skyline taken from albert park in the last afternoon.



    Went down to the Esplande Hotel to hear the live music they have there. The place is a old hotel, where they've converted all the major rooms into different stages for bands and dj's. Would be cool to see the place packed out, reckon it would rock. www.espy.com.au

    Had two frigging punchers today!!, I know shep is laughing as he reads this - PUNK. diff --git a/jekyll/_posts/2006/2006-06-07-june-2nd---melbourne-to-sorrento.md b/jekyll/_posts/2006/2006-06-07-june-2nd---melbourne-to-sorrento.md deleted file mode 100644 index 99e6ba9e..00000000 --- a/jekyll/_posts/2006/2006-06-07-june-2nd---melbourne-to-sorrento.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: June 2nd - Melbourne to Sorrento - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Wed Jun 07 03:39:00 IST 2006 ---- -
    DistanceTimeOverall Total
    108 km5h 30min108 km


    Pulled out of Chapel Street Backpacker, Melbourne at 10am and headed south towards St Kilda, the coast road and the mornington peninsula.

    Chapel Street Backpacker

    The first 20km was on a dedicated bike lane, with the only hazards being the morning pram walkers. Joined the Nepean highway near chelsea and followed it down via Frankston, Mornington and St Marta. The bike lane on the main road was really wide and most vehicals gave me plently of room.

    Chapel Street Backpacker

    Hauling the fully loaded bags on the bike finally kicked in about 40km. I was expecting the first couple of days to be tough, but not this bad this early. Had 60km done after 3 hours and needed a lunch break. The small issue of the scale of distances in austalia kicked in after lunch, when the sign post for portsea said 44 km, when i was expecting a slightly lower number. Actually checking the distances before starting the days ride would be a good idea.

    Decided to call it quits for the day and stay at the Sorrento YHA hostel. Arrived at the village and found the hostel, only to discover that it was closed for bulding work. The owner redirected me to the Bay Play backpackers in Blairgowrie. Arrive just as the sun was setting. diff --git a/jekyll/_posts/2006/2006-06-07-june-3rd---blairgowrie-to-torquay.md b/jekyll/_posts/2006/2006-06-07-june-3rd---blairgowrie-to-torquay.md deleted file mode 100644 index 4cad6a0f..00000000 --- a/jekyll/_posts/2006/2006-06-07-june-3rd---blairgowrie-to-torquay.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: June 3rd - Blairgowrie to Torquay - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Wed Jun 07 03:52:00 IST 2006 ---- -
    DistanceTimeOverall Total
    67 km5h 30min175 km


    The Bay Play Backpackers is set in bush land in Blairgowrie. I slept like a log, and was feeling quite good this morning. Despite a water restriction in place in the area, this guys must have used about 10 buckets of water to wash his car, i was worried that the car might start sinking into the ground.



    Started early and was making good time to the passenger ferry from portsea, 4km past sorrento as the guide book stated. Arrived in portsea to find no quay, and to be told that the only ferry leaves from sorrento, stupid guide book!! Nearly set a land speed record getting back to sorrento. Nice 40min ferry trip brought me across the entrance port philip day. The sky line for melbourne was still just about visible.



    Starting in queenscliff, i followed the coast road to Pt Lonsdale (see nice photo of light house) and then onto ocean grove and barwon heads.



    The road turns in land from then on and joins the surf coast highway. The final strech of road into torquay seemed be a constant 10km rise.

    diff --git a/jekyll/_posts/2006/2006-06-07-june-4th---torquay-to-lorne.md b/jekyll/_posts/2006/2006-06-07-june-4th---torquay-to-lorne.md deleted file mode 100644 index 64c3b154..00000000 --- a/jekyll/_posts/2006/2006-06-07-june-4th---torquay-to-lorne.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: June 4th - Torquay to Lorne - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Wed Jun 07 03:55:00 IST 2006 ---- -
    DistanceTimeOverall Total
    60 km3h235 km


    Stayed in the Bells Beach Backpackers, torquay overnight. Great weather this morning, with a cool breeze, blue sky and sunshine.



    Took a small detour outside torquay to Bells Beach. This turned out to a complete pain in the ass, as there where three massive steep hills to climb to get to the coast. If find a fairly non-descript surf beach. Had to come out over the same set of triple hills on the way back to the main road. Note to self - no more side tour from now on.



    The road from torquay cuts inland with a constant rise towards angelsea. The great ocean road officially starts outside this town, and the road runs along the coast. There are some tough hills to climb as the road winds around various headlands.



    Got into lorne about lunch time. The weather started to turn for the worse, i was feeling a bit wrecked, so decided to take a 1/2 days and booked into the Lorne YHA hostel. Just chilled around the town for the Rest of the afternoon.

    diff --git a/jekyll/_posts/2006/2006-06-07-june-5th---lorne-to-lavers-hill.md b/jekyll/_posts/2006/2006-06-07-june-5th---lorne-to-lavers-hill.md deleted file mode 100644 index 880d3a17..00000000 --- a/jekyll/_posts/2006/2006-06-07-june-5th---lorne-to-lavers-hill.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: June 5th - Lorne to Lavers Hill - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Wed Jun 07 03:57:00 IST 2006 ---- -
    DistanceTimeOverall Total
    96 km5h331 km


    I stayed at the Lorne YHA Hostel, which has to have had the best setting of any
    place so far. Had the company of some cockatoos as i was having my breakfast this morning.

    Cockatoos

    Just remember that you need specialist training to photograph cockatoos, on the off chance that they attack.



    Got going at 9 heading for apollo bay, the road on this section is cut into
    the cliff face in places, and offers some amazing views of coast.



    Stopped in apollo bay [45km] at 11, for an early lunch and rested for an hour.
    The next section to Lavers Hill was always going to be tough. The road rises
    through the Otway National Park, and then drops and levels out in the Aire
    river valley. The final climb to Lavers Hill rises 500m over 10km, which seems
    simple on paper, but for every climb of 20 meters, theres a drop of 10 meters,
    so for a simple 500 meter climb, the actual accent needed on the bike is about
    1000 meters!!



    The back wheel on the bike is now feeling the pressure of the extra bag weight,
    what started as a small buckle had grown, and now there are two broken spokes.
    On the final climb, i had to loosen the rear brakes to allow the wheel to travel
    more easily. Will have to get this fixed in Warrnambool, when i take a rest day
    on Wednesday.

    Having finally made it up the climb to Lvers Hill, i then actually cycled right
    through the village. The term blink and you'll miss it takes on a new form. diff --git a/jekyll/_posts/2006/2006-06-07-june-6th---lavers-hill-to-warrnambool.md b/jekyll/_posts/2006/2006-06-07-june-6th---lavers-hill-to-warrnambool.md deleted file mode 100644 index 2c7a1d87..00000000 --- a/jekyll/_posts/2006/2006-06-07-june-6th---lavers-hill-to-warrnambool.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: June 6th - Lavers Hill to Warrnambool - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Wed Jun 07 03:58:00 IST 2006 ---- -
    DistanceTimeOverall Total
    118 km5h 30min449 km


    Stayed in the Lavern Hill Roadside Tavern. I do believe that this was the first and last, build your own hotel from flat pack wood beams and corrigated iron.



    Got cracking at about 8am, and nearly froze to death on the decent from the lavern hills plateau.



    After about 35 km, we hit the coast again near princetown, and the twelve apostles. Will let the images do the talking, and replace the 1000 words that i couldn't be bother writing. Just to say in summary, cool.





    Having had no breakfast, i stopped in Port Campbell (50km) for an early lunch. The final 70km into warrnambool, initally runs along the coast, past the Bay of Martyrs and then turns inland. I got into a good rythem and made some good progress, making the this leg in about 3 hours.

    diff --git a/jekyll/_posts/2006/2006-06-16-gmap-test.md b/jekyll/_posts/2006/2006-06-16-gmap-test.md deleted file mode 100644 index c39be69c..00000000 --- a/jekyll/_posts/2006/2006-06-16-gmap-test.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: GMap Test - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Fri Jun 16 11:13:00 IST 2006 ---- -


    3rd Test diff --git a/jekyll/_posts/2006/2006-06-16-june-10th---mt-gambier-to-naracoorte.md b/jekyll/_posts/2006/2006-06-16-june-10th---mt-gambier-to-naracoorte.md deleted file mode 100644 index 9b7777aa..00000000 --- a/jekyll/_posts/2006/2006-06-16-june-10th---mt-gambier-to-naracoorte.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: June 10th - Mt Gambier to Naracoorte - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Fri Jun 16 10:42:00 IST 2006 ---- -
    DistanceTimeOverall Total
    104 km4h763 km


    Bit of a chilly night in Mt Gambier, but got a cool photo of the morning
    fog over the town.



    And the auld triangle, went dingle dangle.. The bike is ready for the escape.



    Not much happening on the road today, just farm land country side with the odd vineyard now and again. The first 50lm to penolq took about 2hours, but picked up a neat tail wind after lunch and did the final 50km in 1.5 hours.

    Crashed in the local back packers in naracoorte. Am planning to take tomorrow off. World cup kick-off for england. Prize for the best comment "What crime would I get sent to jail for?" diff --git a/jekyll/_posts/2006/2006-06-16-june-11th---naracoorte-caves.md b/jekyll/_posts/2006/2006-06-16-june-11th---naracoorte-caves.md deleted file mode 100644 index 9eaed25b..00000000 --- a/jekyll/_posts/2006/2006-06-16-june-11th---naracoorte-caves.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: June 11th - Naracoorte Caves - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Fri Jun 16 10:47:00 IST 2006 ---- -Naracoorte Caves are Southern Austalia's only world heritage listed site.
    They are located about 15km outside the town, and guided tours are available
    for all the main caves. By the last tour i didn't really care where
    staligtites or staligmiites grew from.

    Also figure out today, that SA has a different timezone to victoria - 30mins
    difference FYI. I discovered this by being late for one of the tours, or was i
    early.



    Back in town, most of the other people in the backpackers are working as fruit pickers down here for the year. Its the queens birthday bank holiday weekend here, so most don't have to work tomorrow. There was some good craic with a couple of slabs of beer and a massive open fire in the back yard of the hostel, any thing that wasn't bolted to the ground was fair game for the fire. diff --git a/jekyll/_posts/2006/2006-06-16-june-12th---naracoorte-to-keith.md b/jekyll/_posts/2006/2006-06-16-june-12th---naracoorte-to-keith.md deleted file mode 100644 index da7b777d..00000000 --- a/jekyll/_posts/2006/2006-06-16-june-12th---naracoorte-to-keith.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: June 12th - Naracoorte to Keith - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Fri Jun 16 10:48:00 IST 2006 ---- -
    DistanceTimeOverall Total
    113 km5h876 km


    Bit worse for wear this morning after watching the holland / serbia game, and having necked a few beers last night. The yard looks very clean this morning, but there was a dude looking for a pair or runners he'd left out. i'll let the other explain.

    Sunny but cool morning pulling out of Naracoorte at about 10.30ish.



    Boredom on wheels today. Field, car, field, cow, truck, field, vineyard, sheep, truck, cow, field, [randomly sequence for 100km and you get the picture].

    Finally hit the town of Keith at about 4. Crash in the motel, then when out to jump on the socceroo's bandwangon which had happened to stop in the town for the Austalia v Japan game. I had to explain th offside rule to about 4 people, don;t think they'll
    ever really understand it. Anyway good result in the end. diff --git a/jekyll/_posts/2006/2006-06-16-june-13th---keith-to-tintinara.md b/jekyll/_posts/2006/2006-06-16-june-13th---keith-to-tintinara.md deleted file mode 100644 index 5ef8f27b..00000000 --- a/jekyll/_posts/2006/2006-06-16-june-13th---keith-to-tintinara.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: June 13th - Keith to Tintinara - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Fri Jun 16 10:52:00 IST 2006 ---- -
    DistanceTimeOverall Total
    45 km2h921 km


    You'd think the soccoroo's had won the friggin world world cup the way the morning tv shows and newspapers are going on.. bring on brazil.



    Anyway, another long one planned for today, 120km upto Tailems Bend, so set off about 9.30. Pulled in after 40kms for an eleven o clock break in a small town called Tintinara.



    Heuston we have a problem

    About 4km outside to tintinara, i hear a ping, then a second ping - ping.
    Look down to see what the issue may be.

    "We have serious mechanical difficulty - Heuston!!".

    "Can you confirm the nature of the problem trek 1000".

    "Yeah - well, it looks like four spokes in a row have broken, two are completly
    missing, and the other two are at very strange angles. The wheel not to be outdone
    has buckled so badly that its wedged itself into the frame"

    I dismount and then have the persuade the wheel that it should go back towards its normal position. This involves holding the frame with my hands, and using my foot to apply pressure to the wheel. There were some weird looks from the passing cars as this operation took place.

    Go the wheel moving again, kinda, and limped back to the town. Had just missed the only bus to adelaide, so just cut my losses and booked into the local motel to wait for tomorrows bus, and a decent bike shop in adelaide. diff --git a/jekyll/_posts/2006/2006-06-16-june-14th---tintinara-to-adelaide.md b/jekyll/_posts/2006/2006-06-16-june-14th---tintinara-to-adelaide.md deleted file mode 100644 index 71d6a7e0..00000000 --- a/jekyll/_posts/2006/2006-06-16-june-14th---tintinara-to-adelaide.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: June 14th - Tintinara to Adelaide - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Fri Jun 16 10:54:00 IST 2006 ---- -
    DistanceTimeOverall Total
    0 km0921 km


    The megaopolis that is tintinara. Facts

    Tintinara will be 100 years old this year.
    Tintinara has a train line, but no train station.
    Tintinara has 4 vowels in its name.



    Premier State Liner bus arrived in the dot at 12, and where on our way to adelaide.



    Find a local bike store. Long and store the boys there will build a custom rear wheel, with a stronger rim and spokes - will have 24 hours. Will chill in adelaide for a couple of days. diff --git a/jekyll/_posts/2006/2006-06-16-june-15th---adelaide-city.md b/jekyll/_posts/2006/2006-06-16-june-15th---adelaide-city.md deleted file mode 100644 index 31547284..00000000 --- a/jekyll/_posts/2006/2006-06-16-june-15th---adelaide-city.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: June 15th - Adelaide City - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Fri Jun 16 10:56:00 IST 2006 ---- -
    DistanceTimeOverall Total
    27 km0948 km


    Collected the bike at mid afternoon and did a small tour around adelaide.



    Good being back in city again, really like this place. diff --git a/jekyll/_posts/2006/2006-06-16-june-16th---adelaide-hills.md b/jekyll/_posts/2006/2006-06-16-june-16th---adelaide-hills.md deleted file mode 100644 index 9fd856d6..00000000 --- a/jekyll/_posts/2006/2006-06-16-june-16th---adelaide-hills.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: June 16th - Adelaide Hills - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Fri Jun 16 10:58:00 IST 2006 ---- -
    DistanceTimeOverall Total
    62 km3h1010 km


    Headed for the adelaide hills first thing this morning, a nice excuse to test the new rear wheel. I also replaced the chain, rear gear cogs and brake blocks. It's amazing how smooth the ride on the bike is now. The weather didn't help the view from the top.



    Taken on the decent back into the city, glad i replace the brake blocks.



    Once I was back in the city, i decided "forest gump" like to continue cycling, and had lunch on the beach near henley. It was tough having to sit in a pier, with warm sun and sound of waves as i ate my lunch.



    For the stat's people, the polar heart rate/speed/altitude graph of todays ride.



    The evening will be spent with luandry, blogging and figuring out a plan for what/where to do next week. diff --git a/jekyll/_posts/2006/2006-06-16-june-8th---warrnambool-to-portland.md b/jekyll/_posts/2006/2006-06-16-june-8th---warrnambool-to-portland.md deleted file mode 100644 index 75d19a24..00000000 --- a/jekyll/_posts/2006/2006-06-16-june-8th---warrnambool-to-portland.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: June 8th - Warrnambool to Portland - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Fri Jun 16 10:28:00 IST 2006 ---- -
    DistanceTimeOverall Total
    125.74 km5h 30min554 km


    Left Warnnambool, with clean laundry and a fixed the rear wheel (25 bucks).

    Stopped in the "irish" town of Port Fairy. Fecking dub's, there everywhere.



    Not much happening today, just cutting along through farm land. Hit the major town of portland. Its a big port and an aluminium plant, thats about as nice as i can be. well thats a bit harsh, nice chicken kiev and chips in the local hotel.

    Did a side trip to cape nelson, to try and find some high point to the day. Schon.

    diff --git a/jekyll/_posts/2006/2006-06-16-june-9th---portland-to-mt-gambier.md b/jekyll/_posts/2006/2006-06-16-june-9th---portland-to-mt-gambier.md deleted file mode 100644 index 3fe216f4..00000000 --- a/jekyll/_posts/2006/2006-06-16-june-9th---portland-to-mt-gambier.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: June 9th - Portland to Mt Gambier - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Fri Jun 16 10:36:00 IST 2006 ---- -
    DistanceTimeOverall Total
    105 km5h659 km


    Pulled out of Portland at around 10, heading for Mt Gambier. The route cuts through forestry land. So had some scary moments, when triple trailer logging trucks zooming past.


    The dark forces of mount boom are on the march again, they have destroyed the edges of fangorn forest. Will O'Connell save middle earth..



    Just after this photo, i'm touring along down hill at about 35kmph. When i notice these 2 emu bird things, running along the other side of the road. So of course, have to race them.. 40kmph no hassel to them, i still reckon i can go quicker. Well a truck appears coming against our little drag race. I'm cool, thinking the emu's will turn right into the forest.. oh no, with about 100m between the truck and me, the two emu's make a massive left turn, and skip right across the road. I would have been the pin, in a game of truck emu bowling. Still reckon i was winning the race.

    Loads of dead kangeroo's on the road side, the first couple surpised me, but after a while the smell gave them away. Goodbye Victoria, Hello Southern Australia.



    Arrive in Mt Gambier, to find half of austalria has moved to this town for the bank holiday weekend. The usual lines of "did u not have a booking"? Well no.. Anyway, many people will have predicted this but i am staying in the local jail, but not at her majesties leisure. The old town jail has been converted to a hostel after it closed in 1995. I still reckon some of the inmates are hanging around, given the cut of them (kinda like that alien 2 movie).



    So I'm determined to escape, so my brilliant plan was to trick the govener into giving me a key.. smart, I'm not a thick as i look. As phil linnot wrote "Tonight, there's going to be a jail break.." rock!! diff --git a/jekyll/_posts/2006/2006-06-22-google-map.md b/jekyll/_posts/2006/2006-06-22-google-map.md deleted file mode 100644 index 2974298e..00000000 --- a/jekyll/_posts/2006/2006-06-22-google-map.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Google Map - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Thu Jun 22 08:16:00 IST 2006 ---- -In case peoples geography isn't too good, the map above may help you track where i am and have been. Still a beta version. Off to sydney tomorrow on the train. Next updtae from the east coast. diff --git a/jekyll/_posts/2006/2006-07-04-july-1st---newcastle.md b/jekyll/_posts/2006/2006-07-04-july-1st---newcastle.md deleted file mode 100644 index 892e9ff0..00000000 --- a/jekyll/_posts/2006/2006-07-04-july-1st---newcastle.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: July 1st - Newcastle - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Tue Jul 04 07:01:00 IST 2006 ---- -Great weather for chilling in newcastle. Will head inland into the great
    dividing range tomorrow for a few days, so recharging the batteries is a good
    idea.



    Start of tour de france, maybe next year!! diff --git a/jekyll/_posts/2006/2006-07-04-july-2nd---newcastle-to-gloucester.md b/jekyll/_posts/2006/2006-07-04-july-2nd---newcastle-to-gloucester.md deleted file mode 100644 index 75ba52e0..00000000 --- a/jekyll/_posts/2006/2006-07-04-july-2nd---newcastle-to-gloucester.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: July 2nd - Newcastle to Gloucester - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Tue Jul 04 07:03:00 IST 2006 ---- -
    DistanceOverall Total
    125 km1324 km


    Wayne, david, sven.. which one do you blame, or all of them. Herr Kinsmann better deliver the goods now. Bit pissed off that the "man u" ronaldo had to score the winner. Alle le bleu.

    Getting out of newcastle on a sunday was good, since with three lane highways for the first 40km on the pacific highway. I reckon a monday morning would have seen me playing death cycling with large trucks.

    Hit "The Buckets Way" which is another of these aussie road that seem flat, but have never ending slight rises and large decents. For a simple 150m climb, i had to accended over 800m today.

    Yet again the navigator has under estimated the distances, we're going to have to review the staff profile. diff --git a/jekyll/_posts/2006/2006-07-04-july-3rd---gloucester-to-nowendoc.md b/jekyll/_posts/2006/2006-07-04-july-3rd---gloucester-to-nowendoc.md deleted file mode 100644 index 198a581e..00000000 --- a/jekyll/_posts/2006/2006-07-04-july-3rd---gloucester-to-nowendoc.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: July 3rd - Gloucester to Nowendoc - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Tue Jul 04 07:03:00 IST 2006 ---- -
    DistanceOverall Total
    77 km1401 km


    The cycle book i'm using recommends traveling this stage in the opposite direction.
    Warning one. As quoted from the book, "the 6.4 km winding very steep descent", warning two. So of course i'm doing it against the grain - so the enjoyable downhill stage turns into a 7 hour slog with over 2000m climbing. You know its steep then the trucks are coming downhill at about 5kmph, and there are runoff ramps about every 1km.



    Anyway - at the end of the day - it was all TOO EASY. The mountain was broken.

    Nowendoc has about 4 buildings, a general store, a motel and two others that seems to be used by horses. The dude running the general store is a belfast man who came out here in 1961, had a good chat with him about ship building and other random things.

    diff --git a/jekyll/_posts/2006/2006-07-04-june-18th---adelaide-to-cape-jervis.md b/jekyll/_posts/2006/2006-07-04-june-18th---adelaide-to-cape-jervis.md deleted file mode 100644 index 9b1aefdd..00000000 --- a/jekyll/_posts/2006/2006-07-04-june-18th---adelaide-to-cape-jervis.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: June 18th - Adelaide to Cape Jervis - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Tue Jul 04 06:44:00 IST 2006 ---- -
    DistanceTimeOverall Total
    113 km4h 52m1123 km


    Started about 9am and meet a lot of sunday cycle groups leaving from adelaide
    for the hills as i made my way out of the city.

    I worked my way down the feriuer penninsula

    The sea link ferry covered the 12km strech between kangeroo island and the main
    land in 45 minutes.

    Since i arrived at the ferry at 3, and the next sailing wasn't until 6, i was about i capture this neat sun set across st vincents bay.

    A day had a couple of a small climbs, with the last 20km a constant rise. The decent to the ferry from 350m was quick. diff --git a/jekyll/_posts/2006/2006-07-04-june-19th---kangaroo-island-cycle.md b/jekyll/_posts/2006/2006-07-04-june-19th---kangaroo-island-cycle.md deleted file mode 100644 index e55d5448..00000000 --- a/jekyll/_posts/2006/2006-07-04-june-19th---kangaroo-island-cycle.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: June 19th - Kangaroo Island Cycle - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Tue Jul 04 06:48:00 IST 2006 ---- -
    DistanceTimeOverall Total
    101 km4h1224 km


    Another really well setup YHA hostel, just 5 mins from the port in penneshaw.



    Having booked myself on a bus tour tomorrow, i took the bike and did some
    off road touring, around the davids penisula end of the island.


    The dirt roads are fine to cycle on, but alot of concentration is need to avoid
    holes and stones. I found cycling in the middle of the road the best, as the road
    edges tended to contain patches of soft sand that the front wheel would stick in.



    The town of penneshaw from above, with the main land in the back ground.

    diff --git a/jekyll/_posts/2006/2006-07-04-june-20th---kangaroo-island-bus-tour.md b/jekyll/_posts/2006/2006-07-04-june-20th---kangaroo-island-bus-tour.md deleted file mode 100644 index 46b677e7..00000000 --- a/jekyll/_posts/2006/2006-07-04-june-20th---kangaroo-island-bus-tour.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: June 20th - Kangaroo Island Bus Tour - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Tue Jul 04 06:51:00 IST 2006 ---- -Seal Bay



    Remarkable Rock





    At last, they have found some thing that will fit on my head. Might be a bit heavy for the bike but..





    Another cool aussie sun set

    diff --git a/jekyll/_posts/2006/2006-07-04-june-21th---cape-jervis-to-adelaide.md b/jekyll/_posts/2006/2006-07-04-june-21th---cape-jervis-to-adelaide.md deleted file mode 100644 index c35c0b44..00000000 --- a/jekyll/_posts/2006/2006-07-04-june-21th---cape-jervis-to-adelaide.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: June 21th - Cape Jervis to Adelaide - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Tue Jul 04 06:51:00 IST 2006 ---- -
    DistanceTimeOverall Total
    101 km4h1224 km


    Always going to a boring day with a return leg back to adelaide. Had to get the
    8.30 ferry which was as choppy as the irish sea in winter. Was feeling a little
    bit green when we arrived.



    A nasty 350m climb for the 5 km was tough, and not cleaning the chain after the dirty roads on monday was not the best idea. Had a strong head wind all the way, which made the going hard, and you know your up against it when you have to peddle to keep the bike going downhill.
    diff --git a/jekyll/_posts/2006/2006-07-04-june-23th---adelaide-to-sydney.md b/jekyll/_posts/2006/2006-07-04-june-23th---adelaide-to-sydney.md deleted file mode 100644 index 59a114dd..00000000 --- a/jekyll/_posts/2006/2006-07-04-june-23th---adelaide-to-sydney.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: June 23th - Adelaide to Sydney - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Tue Jul 04 06:53:00 IST 2006 ---- -10.00am

    Left adelaide on a 24 hour train journey to sydney.

    4.00pm

    I know why the train takes 24 hours, because its only going about
    30kmph - i reckon i'd cycle quicker. Seems every OAP in austalia is
    afraid of flyling or else they gets a free ticket, because the average
    age on the train has to be in the triple figures. Train stops for a
    hour at broken hill, maybe there's a retirment village there.

    7.00pm

    Broken Hill - having been stuck on the train for 8 hours i was looking
    forward to this stop, to strech my legs for an hour. I was back in my
    seat after 15 minutes - absolutly NOTHING to do in this town.

    23.00pm

    Two dudes have got on from somewhere in the middle of nowhere. I now know how
    to track, kill and a render various native and ferial animals of the austalian
    outback. Seems shooting is the main leisure activity of the two dudes. Kangeroos,
    foxes, emu's, wild boars, rabbits, cats and many more animals are on the nightly
    hit list for these boys. Beers and four wheel drive vechicals are also needed.

    00.43pm

    All the beer has been drunk and the bar's closed. The track seems to have been built over every bump. diff --git a/jekyll/_posts/2006/2006-07-04-june-24th---28th---sydney.md b/jekyll/_posts/2006/2006-07-04-june-24th---28th---sydney.md deleted file mode 100644 index 44040697..00000000 --- a/jekyll/_posts/2006/2006-07-04-june-24th---28th---sydney.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: June 24th - 28th - Sydney - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Tue Jul 04 06:54:00 IST 2006 ---- -June 24th - Sydney 1

    Wake up about 7ish, with some auld dude snoring into my ear, an accidental
    of movement woken him - punk. So we seem to be close to sydney, i think we
    must be ahead of schedule. We hit the sydney subarbs and the train like
    slows to waking pace - completly ridiculose. The old dude has started snoring
    again,, get me of this train..

    Eventually get into sydney main station. At last a proper city. Anyway, sort
    of somewhere to stay. Ireland play the aussies tonight, so arrange to meet a
    friend of my sisters. The irish mafia are everywhere. Watch the match in coogee,
    the bar has this special on once the game that all scooner beers are free until
    the first point is scored. We had a scare after 5 min when ireland looked liked
    kicking a point, but our man o'gara went for the line. Someone scores after about
    15 mins, and ther must be about 20 beers of the table in front of us. Needless to
    say these where all drank, the result of the game was forgotten, and of course we
    have to head back into the city for some dodgy irish pub.

    June 25th - Sydney 2

    Think i got home about 4ish, with the biggest collection of aussie coins in
    my pockets that anyone has ever gathered.

    I woke up about 4ish (pm). Small tour of the town, various promises of never
    drinking again. diff --git a/jekyll/_posts/2006/2006-07-04-june-29th---sydney-to-kincumber.md b/jekyll/_posts/2006/2006-07-04-june-29th---sydney-to-kincumber.md deleted file mode 100644 index 5d04e72b..00000000 --- a/jekyll/_posts/2006/2006-07-04-june-29th---sydney-to-kincumber.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: June 29th - Sydney to Kincumber - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Tue Jul 04 06:57:00 IST 2006 ---- -
    DistanceOverall Total
    75 km1299 km


    Headed north out of sydney CBD, across the harbour bridge. Eventually find Manly beach and work my way up the coast, getting to Palm beach eventually.



    Use the ferry to cross the channel. The late start and ferry delay, means i have to stop in Kilcumber to the night. diff --git a/jekyll/_posts/2006/2006-07-04-june-30th---kincumber-to-newcastle.md b/jekyll/_posts/2006/2006-07-04-june-30th---kincumber-to-newcastle.md deleted file mode 100644 index 20adcf9a..00000000 --- a/jekyll/_posts/2006/2006-07-04-june-30th---kincumber-to-newcastle.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: June 30th - Kincumber to Newcastle - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Tue Jul 04 06:59:00 IST 2006 ---- -
    DistanceOverall Total
    90 km1389 km


    Headed towards avoca beach and hit the coast at tergial.

    The pacific highway is fairly busy as it approaches newcastle. Get the
    first drops of rain as i approach swansea, decide to stop for lunch and
    let the weather pass.

    The rain has stopped after lunch but the roads are wet and cold for the final
    30km into newcastle. Find the YHA with no hassel.

    Vince Golding the new owner of my trek fuel 90 mountain bike is from newcastle,
    had suggest checking out "The Brewrey". I confirmed that it this as its name suggest - have beer.

    World cup quater finals, had a feeling the germany game would go to penalties.
    Didn't care about the other game, german will beat them in the semi either way. diff --git a/jekyll/_posts/2006/2006-07-09-july-4th---nowendoc-to-walka.md b/jekyll/_posts/2006/2006-07-09-july-4th---nowendoc-to-walka.md deleted file mode 100644 index 43fc8f17..00000000 --- a/jekyll/_posts/2006/2006-07-09-july-4th---nowendoc-to-walka.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: July 4th - Nowendoc to Walka - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Sun Jul 09 12:35:00 IST 2006 ---- -
    DistanceOverall Total
    72 km1473 km


    Knew today would be easier after yesterdays climb, but the 70km was still fairly tough, with overcast and drizzly weather all the way. diff --git a/jekyll/_posts/2006/2006-07-09-july-5th---walka-to-armindale.md b/jekyll/_posts/2006/2006-07-09-july-5th---walka-to-armindale.md deleted file mode 100644 index 5e9616e7..00000000 --- a/jekyll/_posts/2006/2006-07-09-july-5th---walka-to-armindale.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: July 5th - Walka to Armindale - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Sun Jul 09 12:36:00 IST 2006 ---- -
    DistanceOverall Total
    64 km1537 km


    Nice clear but cool weather for this easy stage to the main town of the highlands. diff --git a/jekyll/_posts/2006/2006-07-09-july-6th---armindale-to-dorrigo.md b/jekyll/_posts/2006/2006-07-09-july-6th---armindale-to-dorrigo.md deleted file mode 100644 index 139341cc..00000000 --- a/jekyll/_posts/2006/2006-07-09-july-6th---armindale-to-dorrigo.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: July 6th - Armindale to Dorrigo - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Sun Jul 09 12:37:00 IST 2006 ---- -
    DistanceOverall Total
    124 km1661 km


    Another tough day heading back towards the coast. The locals in armindale reckon the road is flat, but a 2000m climb over the distance says there wrong. diff --git a/jekyll/_posts/2006/2006-07-09-july-7th---dorrigo-to-grafton.md b/jekyll/_posts/2006/2006-07-09-july-7th---dorrigo-to-grafton.md deleted file mode 100644 index cf2f2793..00000000 --- a/jekyll/_posts/2006/2006-07-09-july-7th---dorrigo-to-grafton.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: July 7th - Dorrigo to Grafton - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Sun Jul 09 12:37:00 IST 2006 ---- -
    DistanceOverall Total
    124 km1785 km


    From dorrigo i can take an easy route to Coff Harbor, but being me i take more difficult route and head directly to Grafton, a descent which in fact involves more climbing. The first 20km are paved, but then we have 20km of dirt roads. Some dodgy downhill sections and slippy turns - TOO EASY. The last 10km to the main road, is a nice 700m drop on good roads, avaraged 40kmph on the drop.

    Final 75km into grafton was bit of a pain, but the next two days will be easier. diff --git a/jekyll/_posts/2006/2006-07-09-july-8th---grafton-to-woodburn.md b/jekyll/_posts/2006/2006-07-09-july-8th---grafton-to-woodburn.md deleted file mode 100644 index ede63d35..00000000 --- a/jekyll/_posts/2006/2006-07-09-july-8th---grafton-to-woodburn.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: July 8th - Grafton to Woodburn - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Sun Jul 09 12:38:00 IST 2006 ---- -
    DistanceOverall Total
    100 km1885 km


    Easy day following the clarence river as it heads east towards the coast. diff --git a/jekyll/_posts/2006/2006-07-09-july-9th---woodburn-to-byron-bay.md b/jekyll/_posts/2006/2006-07-09-july-9th---woodburn-to-byron-bay.md deleted file mode 100644 index f5c8f17e..00000000 --- a/jekyll/_posts/2006/2006-07-09-july-9th---woodburn-to-byron-bay.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: July 9th - Woodburn to Byron Bay - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Sun Jul 09 12:39:00 IST 2006 ---- -
    DistanceOverall Total
    68 km1953 km


    Feeling good this morning, have to switch the rear tube, seems the valve has given up the goast. Hit Ballina after 1.5 hours, and have a nice ride along the coast into Byron.

    Going to chill here for a few days, maybe try surfing. diff --git a/jekyll/_posts/2006/2006-07-25-july-12th---byron-bay-to-murwillumbah.md b/jekyll/_posts/2006/2006-07-25-july-12th---byron-bay-to-murwillumbah.md deleted file mode 100644 index 8c130f24..00000000 --- a/jekyll/_posts/2006/2006-07-25-july-12th---byron-bay-to-murwillumbah.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: July 12th - Byron Bay to Murwillumbah - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Tue Jul 25 04:12:00 IST 2006 ---- -
    DistanceOverall Total
    82 km2035 km


    Easy enough day today cutting inland towards an acient volcano crater, the dirt road climb over the crater rim and descent was interesting. Mr Warning is the original centre of the volcano, and the only piece of rock that has not been eroided.

    diff --git a/jekyll/_posts/2006/2006-07-25-july-13th---murwillumbah-to-north-tamborine.md b/jekyll/_posts/2006/2006-07-25-july-13th---murwillumbah-to-north-tamborine.md deleted file mode 100644 index 9e56dc60..00000000 --- a/jekyll/_posts/2006/2006-07-25-july-13th---murwillumbah-to-north-tamborine.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: July 13th - Murwillumbah to North Tamborine - -category: blogger -# Pulled from Blogger. Last updated there on: Tue Jul 25 04:13:00 IST 2006 ---- -
    DistanceOverall Total
    112 km2147 km


    Mr Warning in the morning from Murwillumbah.



    Started heading for Tweed Heads, and hit the gold coast. Followed the coast north passing through surfers paradise.



    Headed for Mt Tamborine, some tough climbing but worth it for the views from the top. Stayed in a really nice cottage on Kidd lane in North Tamborine. diff --git a/jekyll/_posts/2006/2006-07-25-july-14th---north-tamborine-to-ipswich.md b/jekyll/_posts/2006/2006-07-25-july-14th---north-tamborine-to-ipswich.md deleted file mode 100644 index 0e371cf7..00000000 --- a/jekyll/_posts/2006/2006-07-25-july-14th---north-tamborine-to-ipswich.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: July 14th - North Tamborine to Ipswich - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Tue Jul 25 04:13:00 IST 2006 ---- -
    DistanceOverall Total
    114 km2261 km


    Great start to the day dropping off the Mt Tamborine back to the lowlands. Stopped for lunch in the town of Beaudesert.

    The final run into Ipswich was pain with tight, endulating roads with lots of city traffic.

    Was passing this scrap yard, went this dog appears at my wheel, running along side and going mental. I unclipped one foot from the peddal in case the dog did anything and i had to stop. Seems to be going fine, near past this dogs patch, and its slowing down when the fucker makes a last effort and bits my leg - just a little scratch but still sore and some blood. Anyway the dog thinks its great now, and is on for more of this game.. I don't agree.. so the defensless leg thats been bitten, now turns into an offensive weapon. I flick the leg and get the heal to connect with the right ear area of the dogs head, he decided the game wasn't that much fun then..

    Get into Ipswich and find Adam St, where Noel and Deirdre live. diff --git a/jekyll/_posts/2006/2006-07-25-july-16th---ipswich-to-brisbane.md b/jekyll/_posts/2006/2006-07-25-july-16th---ipswich-to-brisbane.md deleted file mode 100644 index c71c33a7..00000000 --- a/jekyll/_posts/2006/2006-07-25-july-16th---ipswich-to-brisbane.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: July 16th - Ipswich to Brisbane - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Tue Jul 25 04:18:00 IST 2006 ---- -
    DistanceOverall Total
    45 km2306 km


    Easy 40km ride from ipswich into brisbane city centre.

    diff --git a/jekyll/_posts/2006/2006-07-25-july-18th---brisbane-to-noosa.md b/jekyll/_posts/2006/2006-07-25-july-18th---brisbane-to-noosa.md deleted file mode 100644 index e5b0a444..00000000 --- a/jekyll/_posts/2006/2006-07-25-july-18th---brisbane-to-noosa.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: July 18th - Brisbane to Noosa - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Tue Jul 25 04:19:00 IST 2006 ---- -
    DistanceOverall Total
    142 km2448 km


    Bit of a long and boring day just getting out of Brisbane. Made some good progress on the motorway for 100km, then the last 40 beside the sea into Noosa.

    diff --git a/jekyll/_posts/2006/2006-07-25-july-19th---noosa-to-gympie.md b/jekyll/_posts/2006/2006-07-25-july-19th---noosa-to-gympie.md deleted file mode 100644 index 4608dbc2..00000000 --- a/jekyll/_posts/2006/2006-07-25-july-19th---noosa-to-gympie.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: July 19th - Noosa to Gympie - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Tue Jul 25 04:21:00 IST 2006 ---- -
    DistanceOverall Total
    65 km2513 km


    I missed the bus to Steve Irwins "Zoo Australia", and since noosa seems to be as dead as a dodo at night time i said screw this and hit the road again. The legs didn't aggree with this decision, made really slow progress, so just called it a day in Gympie and crashed out. diff --git a/jekyll/_posts/2006/2006-07-25-july-20th---gympie-to-hervey-bay.md b/jekyll/_posts/2006/2006-07-25-july-20th---gympie-to-hervey-bay.md deleted file mode 100644 index 2d5c28a8..00000000 --- a/jekyll/_posts/2006/2006-07-25-july-20th---gympie-to-hervey-bay.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: July 20th - Gympie to Hervey Bay - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Tue Jul 25 04:22:00 IST 2006 ---- -
    DistanceOverall Total
    123 km2636 km


    Back into the sneaky undulating aussie country side, where its never actually flat, and there seems to be more rises than downhill sections. Got into Hervey Bay about 3ish, and stayed in the Koala hostel. diff --git a/jekyll/_posts/2006/2006-08-07-july-21st---hervey-bay.md b/jekyll/_posts/2006/2006-08-07-july-21st---hervey-bay.md deleted file mode 100644 index ea0e45de..00000000 --- a/jekyll/_posts/2006/2006-08-07-july-21st---hervey-bay.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: July 21st - Hervey Bay - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Mon Aug 07 03:48:00 IST 2006 ---- -Signed up for a 3 day tour of Fraser Island, which will leave tomorrow. Fixed up a reservation for mmy bus north to airley beach, and a reservation on a sailing tour up there for Saturday week.

    The afternoon was a meeting the tour group and sorting out food and camping gear. There are 4 germans [1 mann, 3 madchen], 3 english girls, a spanish couple and me. In total there are 5 groups of 11 going from the hostel. diff --git a/jekyll/_posts/2006/2006-08-07-july-22-23-24th---fraser-island.md b/jekyll/_posts/2006/2006-08-07-july-22-23-24th---fraser-island.md deleted file mode 100644 index aa2fcc74..00000000 --- a/jekyll/_posts/2006/2006-08-07-july-22-23-24th---fraser-island.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: July 22-23-24th - Fraser Island - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Mon Aug 07 03:49:00 IST 2006 ---- -
    July 22nd

    Up at frigging 5.45am to start the packing of the jeeps and more information on driving etc. Eventually get going at about 8.30, and get the ferry to island at 9.30.



    Cool star gazing and saw about 8 shooting stars.

    July 23rd
    Up early to see the moring sunrise. Hit Indian Head, Champange Pools, Ely creek.



    Shitty rainy weather in the camping ground, but we strung up the ground sheets as roof covers and most people got comfortable.

    July 24th
    Went to Raindow gourge, some more lakes. Back to the main land at 3.30. Completly wrecked diff --git a/jekyll/_posts/2006/2006-08-07-july-25th---hervey-bay.md b/jekyll/_posts/2006/2006-08-07-july-25th---hervey-bay.md deleted file mode 100644 index 1f6f5b12..00000000 --- a/jekyll/_posts/2006/2006-08-07-july-25th---hervey-bay.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: July 25th - Hervey Bay - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Mon Aug 07 03:49:00 IST 2006 ---- -Three days stuck on an island with a small day pack, no showers and no real change of clothes, some washing is need. So body and clothes are all fully recovered and washed after the last few days.

    Will book a flight back to melbourne, and kill some time before the night bus leave at 21.00 this evening. diff --git a/jekyll/_posts/2006/2006-08-08-july-26th---prosperine.md b/jekyll/_posts/2006/2006-08-08-july-26th---prosperine.md deleted file mode 100644 index fac2c84e..00000000 --- a/jekyll/_posts/2006/2006-08-08-july-26th---prosperine.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: July 26th - Prosperine - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Tue Aug 08 01:52:00 IST 2006 ---- -
    DistanceOverall Total
    45 km2681 km


    The overnight bus was better than expected, i actually got some sleep between the various stops and the driver not going slower than 100kmph.

    diff --git a/jekyll/_posts/2006/2006-08-08-july-27th---prosperine-to-airley-beach.md b/jekyll/_posts/2006/2006-08-08-july-27th---prosperine-to-airley-beach.md deleted file mode 100644 index 6b40bef0..00000000 --- a/jekyll/_posts/2006/2006-08-08-july-27th---prosperine-to-airley-beach.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: July 27th - Prosperine to Airley Beach - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Tue Aug 08 02:01:00 IST 2006 ---- -
    DistanceOverall Total
    52km2733 km


    Easy ride out to airley beach, and a side trip to shute haven beach.

    diff --git a/jekyll/_posts/2006/2006-08-08-july-29th---aug-1st---whitsunday-islands.md b/jekyll/_posts/2006/2006-08-08-july-29th---aug-1st---whitsunday-islands.md deleted file mode 100644 index f789dc7b..00000000 --- a/jekyll/_posts/2006/2006-08-08-july-29th---aug-1st---whitsunday-islands.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: July 29th - Aug 1st - Whitsunday Islands - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Tue Aug 08 06:20:00 IST 2006 ---- -WhitSunday Islands

    July 29th



    July 30th





    Spot the two typo's.





    July 31st





    Aug 1st





    diff --git a/jekyll/_posts/2006/2006-08-26-the-final-trip.md b/jekyll/_posts/2006/2006-08-26-the-final-trip.md deleted file mode 100644 index acf2bbb5..00000000 --- a/jekyll/_posts/2006/2006-08-26-the-final-trip.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: The final trip - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Sat Aug 26 12:30:00 IST 2006 ---- -The last of the pic's of the aussie outback, taken from about 10,000m.



    diff --git a/jekyll/_posts/2006/2006-08-26-the-story-of-the-stolen-bike.md b/jekyll/_posts/2006/2006-08-26-the-story-of-the-stolen-bike.md deleted file mode 100644 index a384c85f..00000000 --- a/jekyll/_posts/2006/2006-08-26-the-story-of-the-stolen-bike.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: The story of the stolen bike - -category: blogger -tags: [2006] -# Pulled from Blogger. Last updated there on: Sat Aug 26 12:26:00 IST 2006 ---- -Some mo-fo in sydney nicked my racer, when it was locked to a lamp-post, this caused a number of days of mass depression. Had to sort out a new set of wheels, and here's the first picture. No specialised rubbish on this trip!!

    diff --git a/jekyll/_posts/2007/2007-06-06-jmockit.md b/jekyll/_posts/2007/2007-06-06-jmockit.md deleted file mode 100644 index f9f2fe48..00000000 --- a/jekyll/_posts/2007/2007-06-06-jmockit.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: JMockit - -category: blogger -# Pulled from Blogger. Last updated there on: Wed Jun 06 14:27:00 IST 2007 ---- -The business class we want to test


    package emeraldjava.jmockit;

    /**
    * Service.
    */
    public class Service {

    public boolean doBusinessWork()
    throws Exception
    {
    Workflow workflow = new Workflow();
    if(workflow.startProcess()==1)
    return true;
    else
    return false;
    }

    }


    The object used by the service class


    package emeraldjava.jmockit;

    public class Workflow {

    public long startProcess()
    throws Exception
    {
    return 1;
    }

    }


    The test class


    package curam.uic.tools.jmockit;

    import junit.framework.TestCase;
    import mockit.Mockit;

    public class ServiceTest extends TestCase {

    public ServiceTest(String name)
    {
    super(name);

    }

    public void test()
    throws Exception
    {
    Service service = new Service();
    assertEquals("",true,service.doBusinessWork());
    }

    public void test2()
    throws Exception
    {
    Service service = new Service();

    Mockit.redefineMethods(Workflow.class, new Object() {
    public long startProcess()
    {
    return 2;
    }
    });
    assertEquals("",false,service.doBusinessWork());
    }

    public static class WorkflowMock
    {
    public long startProcess()
    throws Exception
    {
    throw new Exception();
    }
    }

    public void test3()
    {
    Service service = new Service();
    Mockit.redefineMethods(Workflow.class, WorkflowMock.class);

    try
    {
    service.doBusinessWork();
    }
    catch(Exception e)
    {
    assertNotNull("Exception thrown",e);
    }
    }
    }
    diff --git a/jekyll/_posts/2007/2007-06-09-blogger-&-google-code-prettify.md b/jekyll/_posts/2007/2007-06-09-blogger-&-google-code-prettify.md deleted file mode 100644 index 90efd062..00000000 --- a/jekyll/_posts/2007/2007-06-09-blogger-&-google-code-prettify.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Blogger & Google Code Prettify - -category: blogger -# Pulled from Blogger. Last updated there on: Sat Jun 09 12:24:00 IST 2007 ---- -I wanted to improve the look of my java source code examples that i have in my blog posts. I came across the google-code-prettify project. The main hassel is the java script and css files need to be included in the blog template. A bit of investigation and i noticed i could link the two required files from the project web site. [Granted, if they change the location of the files we're screwed.]

    1: Add the java script file to the blog template.

    <script src="http://google-code-prettify.googlecode.com/svn/trunk/src/prettify.js" type="text/javascript">


    The complete java script src file path : http://google-code-prettify.googlecode.com/svn/trunk/src/prettify.js

    2: Link the css file to the blog template.

    <link rel="stylesheet" type="text/css" ref="http://google-code-prettify.googlecode.com/svn/trunk/src/prettify.css"/>


    The complete css src file path : http://google-code-prettify.googlecode.com/svn/trunk/src/prettify.css

    3: Update the blog template to call the prettyPrint() function when loaded.

    In the blog template file add the call to the prettyPrint() function to the body onload tag.

    <body onload="prettyPrint();">


    4: Use the prettyprint command in your blog post.

    <pre class="prettyprint" id="xml">
    your code
    <pre>


    Links

    Duffblog 2.0: Google Code Prettify diff --git a/jekyll/_posts/2007/2007-06-10-blogger-with-google-analytics-&-sitemap.md b/jekyll/_posts/2007/2007-06-10-blogger-with-google-analytics-&-sitemap.md deleted file mode 100644 index df6169dd..00000000 --- a/jekyll/_posts/2007/2007-06-10-blogger-with-google-analytics-&-sitemap.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Blogger with Google Analytics & Sitemap - -category: blogger -# Pulled from Blogger. Last updated there on: Sun Jun 10 13:39:00 IST 2007 ---- -Just a couple of quick links to two tutorials on setting your blog (or any website) up with statistics and indexing.

    Blogger And Analytics outlines how you can see the hits your site recieves, using Google Analytics.

    To ensure that the context of your site is index for the google search engine you should follow the Blogger and Sitemap tutorial, which uses the Google SiteMap. diff --git a/jekyll/_posts/2007/2007-06-14-jmockit---non-public-mock-class.md b/jekyll/_posts/2007/2007-06-14-jmockit---non-public-mock-class.md deleted file mode 100644 index 82df1b7e..00000000 --- a/jekyll/_posts/2007/2007-06-14-jmockit---non-public-mock-class.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: JMockit Non-public mock class - -category: blogger -# Pulled from Blogger. Last updated there on: Thu Jun 14 13:31:00 IST 2007 ---- -Running a simple unit test, with the 'new Object()' syntax.


    public void test()
    {
    Mockit.redefineMethods(emeraldjava.impl.ApplicationCase.class, new Object() {
    public void method()
    {
    System.out.println("JMocked");
    }
    });
    }
    ApplicationCaseTest appCase = new ApplicationCaseTest(getName());
    assert(appCase.method(),..);
    }


    I got this error.


    java.lang.IllegalArgumentException: Non-public mock class
    at mockit.Mockit.collectMockMethods(Mockit.java:182)
    at mockit.Mockit.redefineMethods(Mockit.java:170)
    at mockit.Mockit.redefineMethods(Mockit.java:124)
    at emerabldjava.workflow.ClaimIntakeTest.test2(ClaimIntakeTest.java:92)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at junit.framework.TestCase.runTest(TestCase.java:166)
    at junit.framework.TestCase.runBare(TestCase.java:140)
    at junit.framework.TestResult$1.protect(TestResult.java:106)
    at junit.framework.TestResult.runProtected(TestResult.java:124)
    at junit.framework.TestResult.run(TestResult.java:109)
    at junit.framework.TestCase.run(TestCase.java:131)
    at junit.framework.TestSuite.runTest(TestSuite.java:173)
    at junit.framework.TestSuite.run(TestSuite.java:168)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:478)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)


    Solution

    Use an named class


    public Test extends TestCase
    {

    public class AppMock
    {
    public void method()
    {
    System.out.println("JMocked");
    }
    }

    public void test()
    throws AppException, InformationalException, ClassNotFoundException
    {
    Mockit.redefineMethods(emeraldjava.impl.ApplicationCase.class, new AppMock());
    UICApplicationCaseTest appCase = new UICApplicationCaseTest(getName());
    assert(appCase.method(),..);
    }
    }
    diff --git a/jekyll/_posts/2007/2007-07-10-when-to-use-${basedir}-with-ant.md b/jekyll/_posts/2007/2007-07-10-when-to-use-${basedir}-with-ant.md deleted file mode 100644 index 9a9f5ce4..00000000 --- a/jekyll/_posts/2007/2007-07-10-when-to-use-${basedir}-with-ant.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: When to use ${basedir} with ANT - -category: blogger -# Pulled from Blogger. Last updated there on: Tue Jul 10 15:40:00 IST 2007 ---- -List details of when ANT basedir should be used.

    ANT 1

    ANT 2 diff --git a/jekyll/_posts/2007/2007-07-13-extending-ant-junittask.md b/jekyll/_posts/2007/2007-07-13-extending-ant-junittask.md deleted file mode 100644 index 13a56730..00000000 --- a/jekyll/_posts/2007/2007-07-13-extending-ant-junittask.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Extending ANT JUnitTask - -category: blogger -# Pulled from Blogger. Last updated there on: Fri Jul 13 15:18:00 IST 2007 ---- -I needed to run the JUnitTask from code (since i needed to create a custom FileSet for the BatchTest). I started out with a plan Task, but while the code below runs the classpath details that the task uses are incorrect.


    public class JunitTestExistsTask extends Task {

    private void runAntJUnitTests()
    throws BuildException {

    try
    {
    JUnitTask jUnitTask = new JUnitTask();
    jUnitTask.setOutputToFormatters(true);
    jUnitTask.setProject(getProject());
    jUnitTask.setShowOutput(true);
    jUnitTask.setFork(true);

    FormatterElement formatterElement = new FormatterElement();
    TypeAttribute typeAttribute = new TypeAttribute();
    typeAttribute.setValue("xml");
    formatterElement.setType(typeAttribute);
    jUnitTask.addFormatter(formatterElement);

    BatchTest batchtest = super.createBatchTest();
    File results = new File(getProject().getProperty("dir.test.results"));
    batchtest.setTodir(results);
    batchtest.addFileSet(createFileSet());

    log("runAntJUnitTests --> execute()");
    jUnitTask.execute();
    }
    catch(Throwable e)
    {
    e.printStackTrace();
    throw new BuildException(e);
    }
    }
    }


    I wanted to avoid having to set the classpath in code, so i took another aproach to the issue. I decided my Task would extend from the JUnitTask, this allows me to keep that majority of the task config in xml, and reuse the default handling of classpaths and jvm args.


    public class JunitTestExistsTask extends JUnitTask {

    /**
    * Add the test files to a BatchTest and start the JUnit process.
    * @throws BuildException
    */
    private void runAntJUnitTests()
    throws BuildException {
    try {
    BatchTest batchtest = super.createBatchTest();
    File results = new File(getProject().getProperty("dir.test.results"));

    batchtest.setTodir(results);
    batchtest.addFileSet(createFileSet());
    super.execute();
    } catch (Exception e) {
    throw new BuildException(e);
    }
    }
    }


    The xml for this command



    name="junitTestsExist"
    classname="curam.uic.tools.policing.junit.JunitTestExistsTask"
    classpathref="junit.target.cp"/>









    diff --git a/jekyll/_posts/2007/2007-07-13-google-syntax-highlighter.md b/jekyll/_posts/2007/2007-07-13-google-syntax-highlighter.md deleted file mode 100644 index 79cab8f7..00000000 --- a/jekyll/_posts/2007/2007-07-13-google-syntax-highlighter.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Google Syntax Highlighter - -category: blogger -# Pulled from Blogger. Last updated there on: Fri Jul 13 15:52:00 IST 2007 ---- -I'm just going to outline the three steps that are needed to enable the google syntax highlighter within blogger.com sites. A patched version of the 'shCore.js' script has been made available by Wctang, which corrects Issue 18 : Syntaxhighlighter doesn't work on blogger.com. In your template file

    1 : Reference the wctang 'shCore.js'






    2: Reference the 'svn/tags/1.5.0' version of the code scripts.









    3 : Don't reference the 'SyntaxHighlighter.css'.

    The '.dp-highlighter .tools' section needs to be patched to enable the syntax high lighter in firefox. Copy the content of the 'SyntaxHighlighter.css' to your template file, and make sure to update the correct section.


    /* Styles for the tools */
    .dp-highlighter .tools
    {
    padding: 3px 8px 3px 10px;
    font: 9px Verdana, Geneva, Arial, Helvetica, sans-serif;
    color: silver;
    background-color: #f8f8f8;
    /* text-align: right; */
    padding-bottom: 10px;
    border-left: 3px solid #6CE26C;
    }


    The final result ....


    public class HelloSyntaxHighlighter
    {
    public HelloSyntaxHighlighter()
    {
    }

    private void xx()
    {
    }

    protected boolean static getXX()
    {
    return null;
    }
    }
    diff --git a/jekyll/_posts/2007/2007-07-25-java-lang-illegalaccesserror--tried-to-access-method-junit-framework-testcase-()v.md b/jekyll/_posts/2007/2007-07-25-java-lang-illegalaccesserror--tried-to-access-method-junit-framework-testcase-()v.md deleted file mode 100644 index 296cda2d..00000000 --- a/jekyll/_posts/2007/2007-07-25-java-lang-illegalaccesserror--tried-to-access-method-junit-framework-testcase-()v.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: java.lang.IllegalAccessError - tried to access method junit.framework.TestCase.()V - -category: blogger -# Pulled from Blogger. Last updated there on: Wed Jul 25 16:37:00 IST 2007 ---- -Seems this error happens when running ANT 1.7 and JUnit 3.8.1. The quick solution is upgrade junit to 3.8.X.

    The cause as i can make out at this time is this. The junit task in the ant script forks a new jvm which creates a new classloader, this correctly picks up the junit 3.7.1 jar. Between 3.7 and 3.8.1 junit changed the default method name for getting the test name, from name() to getName(). ANT 1.7 in this case, first checks the junit version and then attempts to use reflection to call the correct test name method, but since the Task class has a protected constuctor method and there is a new classloader this IllegalAccessError is thrown.

    The method name change is correct, the reflection stuff is correct but the classloader stuff is probally smack.


    C:\Develop\UIClaims50_PeriodicBuilder\UI\UITools\components\cruisecontrol\projects\build-ant.xml:94: The following error occurred while executing this line:
    C:\Develop\UIClaims50_PeriodicBuilder\UI\EJBServer\ant\uiclaims.junit.xml:43: java.lang.IllegalAccessError: tried to access method junit.framework.TestCase.()V from class org.apache.tools.ant.taskdefs.optional.junit.JUnitTaskMirrorImpl$VmExitErrorTest
    at org.apache.tools.ant.ProjectHelper.addLocationToBuildException(ProjectHelper.java:541)
    at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:418)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
    at sun.reflect.GeneratedMethodAccessor170.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    ...
    at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
    Caused by: C:\Develop\UIClaims50_PeriodicBuilder\UI\EJBServer\ant\uiclaims.junit.xml:43: java.lang.IllegalAccessError: tried to access method junit.framework.TestCase.()V from class org.apache.tools.ant.taskdefs.optional.junit.JUnitTaskMirrorImpl$VmExitErrorTest
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:115)
    at org.apache.tools.ant.Task.perform(Task.java:348)
    at org.apache.tools.ant.Target.execute(Target.java:357)
    at org.apache.tools.ant.Target.performTasks(Target.java:385)
    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
    at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
    at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
    at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:416)
    ... 16 more
    Caused by: java.lang.IllegalAccessError: tried to access method junit.framework.TestCase.()V from class org.apache.tools.ant.taskdefs.optional.junit.JUnitTaskMirrorImpl$VmExitErrorTest
    at org.apache.tools.ant.taskdefs.optional.junit.JUnitTaskMirrorImpl$VmExitErrorTest.(JUnitTaskMirrorImpl.java:80)
    at org.apache.tools.ant.taskdefs.optional.junit.JUnitTaskMirrorImpl.addVmExit(JUnitTaskMirrorImpl.java:55)
    at org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.logVmExit(JUnitTask.java:1446)
    diff --git a/jekyll/_posts/2007/2007-09-21-java-persistence-api.md b/jekyll/_posts/2007/2007-09-21-java-persistence-api.md deleted file mode 100644 index 9ef5f126..00000000 --- a/jekyll/_posts/2007/2007-09-21-java-persistence-api.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Java Persistence API - -category: blogger -# Pulled from Blogger. Last updated there on: Fri Sep 21 18:03:00 IST 2007 ---- -Java Persistence API

    Trying to get JPA and derby working together with jdk 5 SE.

    JPA with a Derby DB

    Rehash of the JPA tutorial

    Hibernate as JPA provider diff --git a/jekyll/_posts/2007/2007-11-09-maven-outofmemory.md b/jekyll/_posts/2007/2007-11-09-maven-outofmemory.md deleted file mode 100644 index b88affc7..00000000 --- a/jekyll/_posts/2007/2007-11-09-maven-outofmemory.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Maven OutOfMemory - -category: blogger -# Pulled from Blogger. Last updated there on: Fri Nov 09 10:42:00 GMT 2007 ---- -

        [javac] The system is out of resources.
        [javac] Consult the following stack trace for details.
        [javac] java.lang.OutOfMemoryError
    [INFO] ------------------------------------------------------------------------
    [ERROR] BUILD ERROR
    [INFO] ------------------------------------------------------------------------



    The solution : MAVEN_OPTS=-Xmx512m
    diff --git a/jekyll/_posts/2007/2007-11-09-maven.md b/jekyll/_posts/2007/2007-11-09-maven.md deleted file mode 100644 index 850f932d..00000000 --- a/jekyll/_posts/2007/2007-11-09-maven.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Maven - -category: blogger -# Pulled from Blogger. Last updated there on: Fri Nov 09 10:24:00 GMT 2007 ---- -Cannot find lifecycle mapping for packaging:

    check the value of the packaging element

     <packaging>maven-plugin</packaging>
     <packaging>jar</packaging>

    _______________________________________________

    Embedded error: The following error occurred while executing this line:
    C:\dev\CoreDev5.7.1\build_libs.xml:1124: Unable to find a javac compiler;
    com.sun.tools.javac.Main is not on the classpath.
    Perhaps JAVA_HOME does not point to the JDK

    add this property before the ant-task

       <property name="build.compiler" value ="extJavac"/>

    http://mail-archives.apache.org/mod_mbox/maven-users/200701.mbox/%3C8167000.post@talk.nabble.com%3E










    diff --git a/jekyll/_posts/2007/2007-11-26-cygwin-&-java-classpaths.md b/jekyll/_posts/2007/2007-11-26-cygwin-&-java-classpaths.md deleted file mode 100644 index 8d92adbc..00000000 --- a/jekyll/_posts/2007/2007-11-26-cygwin-&-java-classpaths.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: cygwin & java classpaths - -category: blogger -# Pulled from Blogger. Last updated there on: Mon Nov 26 15:59:00 GMT 2007 ---- -
    alias xsl='/cygdrive/c/tools/Java/jdk1.5.0_13/bin/java -server -classpath 'cygpath -wp /cygdrive/c/tools/xalan-j_2_7_0/xalan.jar:/cygdrive/c/tools/xalan-j_2_7_0/xml- apis.jar:/cygdrive/c/tools/xalan-j_2_7_0/xercesImpl.jar:/cygdrive/c/tools/xalan-j_2_7_0/serializer.jar ' org.apache.xalan.xslt.Process -v'

    http://narencoolgeek.blogspot.com/2005/07/java-classpaths-on-cygwin.html
    diff --git a/jekyll/_posts/2007/2007-12-07-installing-java-jtp-into-maven.md b/jekyll/_posts/2007/2007-12-07-installing-java-jtp-into-maven.md deleted file mode 100644 index 10dc97b1..00000000 --- a/jekyll/_posts/2007/2007-12-07-installing-java-jtp-into-maven.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Installing Java JTP into Maven - -category: blogger -# Pulled from Blogger. Last updated there on: Fri Dec 07 09:31:00 GMT 2007 ---- -First download the Java Transaction API
    Classes 1.0.1B zip.

    And then run this maven command to add the zip to the local repo.


    mvninstall:install-file-DgroupId= javax.transaction
    -DartifactId=jta
    -Dversion=1.0.1B-Dpackaging=jar-Dfile=jta-1_0_1B-classes.zip
    diff --git a/jekyll/_posts/2007/2007-12-08-ssh-access-to-joyent.md b/jekyll/_posts/2007/2007-12-08-ssh-access-to-joyent.md deleted file mode 100644 index 757a6f3f..00000000 --- a/jekyll/_posts/2007/2007-12-08-ssh-access-to-joyent.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: SSH access to Joyent - -category: blogger -# Pulled from Blogger. Last updated there on: Sat Dec 08 18:12:00 GMT 2007 ---- -This hopefully the first of a few posts on the general topic of Facebook application development with Java using the free hosting provided by Joyent.

    I've setup cygwin for remote access to my joyent account. I followed this tutorial to configure SSH with no password to ease the hassel of logging into the server. diff --git a/jekyll/_posts/2007/2007-12-09-sunday-dec-7th-2007.md b/jekyll/_posts/2007/2007-12-09-sunday-dec-7th-2007.md deleted file mode 100644 index 367ef63c..00000000 --- a/jekyll/_posts/2007/2007-12-09-sunday-dec-7th-2007.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Sunday Dec 7th 2007 - -category: blogger -# Pulled from Blogger. Last updated there on: Sun Dec 09 13:55:00 GMT 2007 ---- -Naas - Ballymore - Blessinton - Eadestown - Kill - Naas.


    View Larger Map diff --git a/jekyll/_posts/2007/2007-12-11-rss-widget.md b/jekyll/_posts/2007/2007-12-11-rss-widget.md deleted file mode 100644 index d74bee3f..00000000 --- a/jekyll/_posts/2007/2007-12-11-rss-widget.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: RSS Widget - -category: blogger -# Pulled from Blogger. Last updated there on: Tue Dec 11 08:54:00 GMT 2007 ---- -WidgetBox RSS

    <pre class="prettyprint" id="javascript"/>
    <script type="text/javascript" src=" http://widgetserver.com/syndication/subscriber/InsertPanel.js?panelId=06603f95-b4a5-4162-8d42-02d218c6bf6a "></script><noscript>Get great free widgets at <a href="http://www.widgetbox.com ">Widgetbox</a>!</noscript><img style="visibility:hidden;width:0px;height:0px;" border="0" width="0" height="0" src=" http://runtime.widgetbox.com/syndication/track/06603f95-b4a5-4162-8d42-02d218c6bf6a.gif" />
    </pre>
    diff --git a/jekyll/_posts/2007/2007-12-16-sunday-14th-dec-2007.md b/jekyll/_posts/2007/2007-12-16-sunday-14th-dec-2007.md deleted file mode 100644 index 39db3bec..00000000 --- a/jekyll/_posts/2007/2007-12-16-sunday-14th-dec-2007.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Sunday 14th Dec 2007 - -category: blogger -# Pulled from Blogger. Last updated there on: Sun Dec 16 16:00:00 GMT 2007 ---- -

    diff --git a/jekyll/_posts/2007/2007-12-18-eclipse-wtp-&-maven.md b/jekyll/_posts/2007/2007-12-18-eclipse-wtp-&-maven.md deleted file mode 100644 index 656bb9a9..00000000 --- a/jekyll/_posts/2007/2007-12-18-eclipse-wtp-&-maven.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Eclipse WTP & Maven - -category: blogger -# Pulled from Blogger. Last updated there on: Tue Dec 18 09:45:00 GMT 2007 ---- -Some details on setting up Eclipse WTP and Maven
    Configure Eclipse 3.3 + WTP + Maven and an older link Eclipse WTP 1.5 and Maven …. This is Inform IT : Organizing Your Eclipse Web Tools Platform Development Project. diff --git a/jekyll/_posts/2007/2007-12-18-maven-install.md b/jekyll/_posts/2007/2007-12-18-maven-install.md deleted file mode 100644 index 9103811a..00000000 --- a/jekyll/_posts/2007/2007-12-18-maven-install.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Maven Install - -category: blogger -# Pulled from Blogger. Last updated there on: Tue Dec 18 11:05:00 GMT 2007 ---- -mvn install:install-file
    -Dfile=
    -DgroupId=
    -DartifactId=
    -Dversion=
    -Dpackaging=
    -DgeneratePom=true

    Where: the path to the file to load
    the group that the file should be registered under
    the artifact name for the file
    the version of the file
    the packaging of the file e.g. jar




    group-a
    artifact-b
    1.0
    bar
    runtime



    ////-.jar

    mvn install:install-file -Dfile=C:\dev\Libs\yfiles\2.2.1\y.jar -DgroupId=norkom -DartifactId=yfiles -Dversion=2.2.1 -Dpackaging=jar -DgeneratePom=true

    C:\dev\Libs\yfiles\2.2.1\y.jar --> C:\tools\m2\repo\norkom\yfiles\2.2.1\yfiles-2.2.1.jar diff --git a/jekyll/_posts/2007/2007-12-20-hibernate-local-session-factory-bean.md b/jekyll/_posts/2007/2007-12-20-hibernate-local-session-factory-bean.md deleted file mode 100644 index 445bcd04..00000000 --- a/jekyll/_posts/2007/2007-12-20-hibernate-local-session-factory-bean.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Hibernate Local Session Factory Bean - -category: blogger -# Pulled from Blogger. Last updated there on: Thu Dec 20 14:24:00 GMT 2007 ---- -
    http://static.springframework.org/spring/docs/1.2.x/api/index.html

    http://static.springframework.org/spring/docs/1.2.x/api/org/springframework/orm/hibernate/LocalSessionFactoryBean.html

    void     setMappingDirectoryLocations(Resource[] mappingDirectoryLocations)
              Set locations of directories that contain Hibernate mapping resources, like "WEB-INF/mappings".    
     void     setMappingJarLocations(Resource[] mappingJarLocations)
              Set locations of jar files that contain Hibernate mapping resources, like "WEB-INF/lib/example.hbm.jar".    
     void     setMappingLocations(Resource[] mappingLocations)
              Set locations of Hibernate mapping files, for example as classpath resource "classpath:example.hbm.xml".    
     void     setMappingResources(String[] mappingResources)
              Set Hibernate mapping resources to be found in the class path, like " example.hbm.xml" or "mypackage/example.hbm.xml".    


        <bean id="sessionFactory" class="org.springframework.orm.hibernate.LocalSessionFactoryBean" init-method="createDatabaseSchema">
            <property name="dataSource">
                <ref bean="dataSource"/>
            </property>
            <property name="hibernateProperties">
                <props>
                    <prop key="hibernate.dialect">net.sf.hibernate.dialect.HSQLDialect</prop>
                    <prop key="hibernate.show_sql">false</prop>
                </props>
            </property>
            <!--
            <property name="mappingResources">
              <list>
                <value>C:\norkom_home\Ref2_Template_Tag_1.0.0.5\conf\hibernate.cfg.xml</value>
              </list>
            </property>
            -->
            <property name="mappingLocations">
                  <list>
                      <value>classpath*:com/norkom/base/**/*.hbm.xml</value>
                      <value>classpath*:com/norkom/wlm/**/*.hbm.xml</value>
                      <!--
                      <value>classpath*:com/norkom/cm/**/*.hbm.xml</value>
                      <value>classpath*:com/norkom/configurator/**/*.hbm.xml</value>
                      -->
                  </list>
            </property>
            
        </bean> diff --git a/jekyll/_posts/2007/2007-12-21-no-webapplicationcontext-found--no-contextloaderlistener-registered.md b/jekyll/_posts/2007/2007-12-21-no-webapplicationcontext-found--no-contextloaderlistener-registered.md deleted file mode 100644 index 28fd84e2..00000000 --- a/jekyll/_posts/2007/2007-12-21-no-webapplicationcontext-found--no-contextloaderlistener-registered.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: No WebApplicationContext found - no ContextLoaderListener registered? - -category: blogger -# Pulled from Blogger. Last updated there on: Fri Dec 21 14:09:00 GMT 2007 ---- -http://forum.springframework.org/archive/index.php/t-23371.html

    context.setInitParameter(ContextLoader.CONFIG_LOCA TION_PARAM, getContextDirectory() + SPRING_CONTEXT_FILE_LOCATION);
    new ContextLoader().initWebApplicationContext(context) ;
    diff --git a/jekyll/_posts/2007/2007-12-23-sunday-23rd-dec-2007.md b/jekyll/_posts/2007/2007-12-23-sunday-23rd-dec-2007.md deleted file mode 100644 index a96bd9bb..00000000 --- a/jekyll/_posts/2007/2007-12-23-sunday-23rd-dec-2007.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Sunday 23rd Dec 2007 - -category: blogger -# Pulled from Blogger. Last updated there on: Sun Dec 23 21:28:00 GMT 2007 ---- -Naas - Blessington - Lacken - Vallymount - Ballymore - Naas

    55km diff --git a/jekyll/_posts/2007/2007-12-24-monday-24th-december-2007.md b/jekyll/_posts/2007/2007-12-24-monday-24th-december-2007.md deleted file mode 100644 index 754df6b5..00000000 --- a/jekyll/_posts/2007/2007-12-24-monday-24th-december-2007.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Monday 24th December 2007 - -category: blogger -# Pulled from Blogger. Last updated there on: Mon Dec 24 20:17:00 GMT 2007 ---- -Naas - carragh - newbridge - naas. 40km diff --git a/jekyll/_posts/2007/2007-12-31-monday-31st-dec-2007---hollywood---wicklow-gap.md b/jekyll/_posts/2007/2007-12-31-monday-31st-dec-2007---hollywood---wicklow-gap.md deleted file mode 100644 index 2aeb3fbc..00000000 --- a/jekyll/_posts/2007/2007-12-31-monday-31st-dec-2007---hollywood---wicklow-gap.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Monday 31st Dec 2007 Hollywood - Wicklow Gap - -category: blogger -# Pulled from Blogger. Last updated there on: Mon Dec 31 17:16:00 GMT 2007 ---- -
    View Larger Map diff --git a/jekyll/_posts/2008/2008-01-24-javascript-reserved-words.md b/jekyll/_posts/2008/2008-01-24-javascript-reserved-words.md deleted file mode 100644 index 7ff41c9b..00000000 --- a/jekyll/_posts/2008/2008-01-24-javascript-reserved-words.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Javascript reserved words - -category: blogger -# Pulled from Blogger. Last updated there on: Thu Jan 24 14:45:00 GMT 2008 ---- -i had trouble all day with this simple piece of javascript.

    <script language="javascript">

        function clear()
        {
            alert("clear");
        }
    </script>

    <input type="button" value="clear" onClick="clear()"/>

    it seems 'clear' is a key work in javascript. renaming the function to clearThis works.

    I found this site which gives a list of reserved works, but 'clear' does not appear in the list.

    http://www.webdevelopersnotes.com/tutorials/javascript/reserved.php3





    http://www.codingforums.com/showthread.php?t=19947 diff --git a/jekyll/_posts/2008/2008-01-26-eclipse-ini.md b/jekyll/_posts/2008/2008-01-26-eclipse-ini.md deleted file mode 100644 index d2a29abf..00000000 --- a/jekyll/_posts/2008/2008-01-26-eclipse-ini.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: eclipse.ini - -category: blogger -# Pulled from Blogger. Last updated there on: Sat Jan 26 11:05:00 GMT 2008 ---- -This is my current eclipse ini config.

    -showsplash
    org.eclipse.platform
    -Dosgi.requiredJavaVersion=1.5
    -vmargs
    -Xms40m
    -Xmx512m
    -XX:MaxPermSize=128m

    More on eclipse memory settings diff --git a/jekyll/_posts/2008/2008-02-05-ntlm-with-firefox.md b/jekyll/_posts/2008/2008-02-05-ntlm-with-firefox.md deleted file mode 100644 index 81cc528b..00000000 --- a/jekyll/_posts/2008/2008-02-05-ntlm-with-firefox.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: NTLM with Firefox - -category: blogger -# Pulled from Blogger. Last updated there on: Tue Feb 05 14:18:00 GMT 2008 ---- -Here are the steps to make sure Firefox supports NTML authentication:

    • Type "about:config" in the address bar,
    • In the Filter, type in "ntlm".  This should make the "network.automatic-ntlm-auth.trusted-uris" property appear,
    • Add ".you.required.url"

    It should allow you to use Firefox to access the service. diff --git a/jekyll/_posts/2008/2008-02-06-svn-relocate-command.md b/jekyll/_posts/2008/2008-02-06-svn-relocate-command.md deleted file mode 100644 index 3b022a53..00000000 --- a/jekyll/_posts/2008/2008-02-06-svn-relocate-command.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: SVN relocate command - -category: blogger -# Pulled from Blogger. Last updated there on: Wed Feb 06 09:20:00 GMT 2008 ---- -set SVN_PATH=%1
    echo Running SVN switch on project %SVN_PATH% ...
    svn switch --relocate svn://proddev02/%SVN_PATH% http://proddev-svn/svn/xxxx/%SVN_PATH% --username xxxx --password xxxx --non-interactive

    diff --git a/jekyll/_posts/2008/2008-02-08-abstracttransactionaldatasourcespringcontexttests.md b/jekyll/_posts/2008/2008-02-08-abstracttransactionaldatasourcespringcontexttests.md deleted file mode 100644 index 2cd20ed6..00000000 --- a/jekyll/_posts/2008/2008-02-08-abstracttransactionaldatasourcespringcontexttests.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: AbstractTransactionalDataSourceSpringContextTests - -category: blogger -# Pulled from Blogger. Last updated there on: Fri Feb 08 17:03:00 GMT 2008 ---- -http://forum.springframework.org/archive/index.php/t-27575.html

    http://forum.springframework.org/archive/index.php/t-34160.html
    diff --git a/jekyll/_posts/2008/2008-02-09-saturday-9th-feb-2008.md b/jekyll/_posts/2008/2008-02-09-saturday-9th-feb-2008.md deleted file mode 100644 index 7558bf7d..00000000 --- a/jekyll/_posts/2008/2008-02-09-saturday-9th-feb-2008.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Saturday 9th Feb 2008 - -category: blogger -# Pulled from Blogger. Last updated there on: Sat Feb 09 15:13:00 GMT 2008 ---- -
    HC - Glencullen - Kilmalin - Rossbrook - HC


    View Larger Map diff --git a/jekyll/_posts/2008/2008-02-11-baretail.md b/jekyll/_posts/2008/2008-02-11-baretail.md deleted file mode 100644 index c02fae3c..00000000 --- a/jekyll/_posts/2008/2008-02-11-baretail.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Baretail - -category: blogger -# Pulled from Blogger. Last updated there on: Mon Feb 11 10:32:00 GMT 2008 ---- -A free real-time log file monitoring tool

    http://www.baremetalsoft.com/baretail/index.php

    diff --git a/jekyll/_posts/2008/2008-02-12-jad-decompiler-to-texteditor.md b/jekyll/_posts/2008/2008-02-12-jad-decompiler-to-texteditor.md deleted file mode 100644 index 468d5438..00000000 --- a/jekyll/_posts/2008/2008-02-12-jad-decompiler-to-texteditor.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: JAD decompiler to texteditor - -category: blogger -# Pulled from Blogger. Last updated there on: Tue Feb 12 08:59:00 GMT 2008 ---- -
    @echo off
    jad -debug -v -o -s java -d D:\jad\tmp %1
    C:\tools\editplus2\editplus.exe D:\jad\tmp\%~n1.java
    diff --git a/jekyll/_posts/2008/2008-02-14-svn-kit-api.md b/jekyll/_posts/2008/2008-02-14-svn-kit-api.md deleted file mode 100644 index 8439a660..00000000 --- a/jekyll/_posts/2008/2008-02-14-svn-kit-api.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: SVN KIT API - -category: blogger -# Pulled from Blogger. Last updated there on: Thu Feb 14 11:46:00 GMT 2008 ---- -

    package com.xx;

    import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;
    import org.tmatesoft.svn.core.SVNException;
    import org.tmatesoft.svn.core.SVNNodeKind;
    import org.tmatesoft.svn.core.SVNURL;
    import org.tmatesoft.svn.core.auth.ISVNAuthenticationManager;
    import org.tmatesoft.svn.core.internal.io.dav.DAVRepositoryFactory;
    import org.tmatesoft.svn.core.internal.io.fs.FSRepositoryFactory;
    import org.tmatesoft.svn.core.io.SVNRepository;
    import org.tmatesoft.svn.core.io.SVNRepositoryFactory;
    import org.tmatesoft.svn.core.wc.SVNWCUtil;

    public class FileSvnInfo
    {
    Log log = LogFactory.getLog(FileSvnInfo.class);

    /*
    * Default values:
    */
    String url = "http://proddev-svn/svn/norkom/Prototypes/Ref2_Transliteration/trunk";
    String name = "xx";
    String password = "xx";
    String filePath = "changelog.txt";

    public FileSvnInfo()
    {
    SVNRepository repository = createSVNRepository();
    log.info(createSVNRepository().getLocation().toString());

    getFileInfo(repository,"changelog.txt");
    getFileInfo(repository,"./Engineering");

    }

    private void getFileInfo(SVNRepository repository, String filePath)
    {
    try
    {
    SVNNodeKind kind = repository.checkPath(filePath, -1);
    if(kind.equals(SVNNodeKind.FILE))
    log.info(SVNNodeKind.FILE+" "+filePath);
    else if(kind.equals(SVNNodeKind.DIR))
    log.info(SVNNodeKind.DIR+" "+filePath);
    else if(kind.equals(SVNNodeKind.NONE))
    log.info(SVNNodeKind.NONE+" "+filePath);
    else if(kind.equals(SVNNodeKind.UNKNOWN))
    log.info(SVNNodeKind.UNKNOWN+" "+filePath);
    }
    catch(SVNException e)
    {
    e.printStackTrace();
    }
    }

    private SVNRepository createSVNRepository()
    {
    SVNRepository repository = null;
    try {
    /*
    * Creates an instance of SVNRepository to work with the repository.
    * All user's requests to the repository are relative to the
    * repository location used to create this SVNRepository.
    * SVNURL is a wrapper for URL strings that refer to repository locations.
    */
    repository = SVNRepositoryFactory.create(SVNURL.parseURIEncoded(url));
    } catch (SVNException svne) {
    /*
    * Perhaps a malformed URL is the cause of this exception
    */
    System.err
    .println("error while creating an SVNRepository for the location '"
    + url + "': " + svne.getMessage());
    System.exit(1);
    }

    ISVNAuthenticationManager authManager =
    SVNWCUtil.createDefaultAuthenticationManager(name, password);
    repository.setAuthenticationManager(authManager);

    return repository;
    }

    private static void setupLibrary()
    {
    /*
    * For using over http:// and https://
    */
    DAVRepositoryFactory.setup();
    /*
    * For using over svn:// and svn+xxx://
    */
    //SVNRepositoryFactoryImpl.setup();

    /*
    * For using over file:///
    */
    FSRepositoryFactory.setup();
    }

    /**
    * @param args
    */
    public static void main(String[] args)
    {
    setupLibrary();
    new FileSvnInfo();
    }
    }
    diff --git a/jekyll/_posts/2008/2008-02-18-sunday-17th-feb.md b/jekyll/_posts/2008/2008-02-18-sunday-17th-feb.md deleted file mode 100644 index ae55ed69..00000000 --- a/jekyll/_posts/2008/2008-02-18-sunday-17th-feb.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Sunday 17th Feb - -category: blogger -# Pulled from Blogger. Last updated there on: Mon Feb 18 09:16:00 GMT 2008 ---- -Naas - Kill - Brittas - NewTownMountKennedy - Blessinton - Naas [45km]



    View Larger Map diff --git a/jekyll/_posts/2008/2008-02-24-initialising-an-empty-arraylist.md b/jekyll/_posts/2008/2008-02-24-initialising-an-empty-arraylist.md deleted file mode 100644 index a3074722..00000000 --- a/jekyll/_posts/2008/2008-02-24-initialising-an-empty-arraylist.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Initialising an empty arraylist - -category: blogger -# Pulled from Blogger. Last updated there on: Sun Feb 24 19:26:00 GMT 2008 ---- -
    http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4476673

     List l = new ArrayList(Collections.nCopies(n, null));

    diff --git a/jekyll/_posts/2008/2008-03-11-the-open-closed-principle.md b/jekyll/_posts/2008/2008-03-11-the-open-closed-principle.md deleted file mode 100644 index ec59bbb1..00000000 --- a/jekyll/_posts/2008/2008-03-11-the-open-closed-principle.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: The Open Closed Principle - -category: blogger -# Pulled from Blogger. Last updated there on: Tue Mar 11 11:41:00 GMT 2008 ---- -The Open Closed Principle says that you should design modules that never change. When requirements change, you extend the behavior of such modules by adding new code, not by changing old code that already works. diff --git a/jekyll/_posts/2008/2008-03-12-hangman-with-generics.md b/jekyll/_posts/2008/2008-03-12-hangman-with-generics.md deleted file mode 100644 index 6f0ff6cd..00000000 --- a/jekyll/_posts/2008/2008-03-12-hangman-with-generics.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Hangman with Generics - -category: blogger -# Pulled from Blogger. Last updated there on: Wed Mar 12 13:15:00 GMT 2008 ---- -I'm implementing a hangman game, which uses a HashMap to store a character and result of the character guess.


    public abstract class Guess{}

    public class CorrectGuess extends Guess{}

    public class FailedGuess extends Guess{}

    public class Hangman {
    private Map<Character,Guess> state = new HashMap<Character,Guess>();
    }


    I want to be able to get a list of the various correct and failed guesses, so the details can be displayed.

    The nasty solution i've currently got is to use "instanceof", but i feel this misses the point of using generics.


    // the calling code looks something like
    void display()
    {
    hangmanDisplay.display(getFailedGuesses());
    consoleDisplay.display(getCorrectGuesses());
    }

    public List<CorrectGuess> getCorrectGuesses()
    {
    List<CorrectGuess> list = new ArrayList<CorrectGuess>(secret.length());
    for(Iterator iterator = state.values().iterator();iterator.hasNext();)
    {
    Guess guess = (Guess) iterator.next();
    if(guess instanceof CorrectGuess)
    list.add((CorrectGuess)guess);
    }
    return list;
    }

    public List<FailedGuess> getFailedGuesses()
    {...}


    I want to be able to use the generic parameter type to control what is added to the list.


    // the calling code would then look something like
    void display()
    {
    hangmanDisplay.display(getGuesses(new ArrayList<FailedGuess>()));
    consoleDisplay.display(getGuesses(new ArrayList<CorrectGuess>());
    }

    /**
    * get all values of generic parameter type T in the HashSet and add to the list.
    */
    public void getGuesses(List<? super Guess> list)
    {
    state,values().iterator();
    // how can i compare the type thats in the iterator.next() with the type defined by T in the input parameter?
    }
    diff --git a/jekyll/_posts/2008/2008-03-12-java-generics.md b/jekyll/_posts/2008/2008-03-12-java-generics.md deleted file mode 100644 index 188ebb4d..00000000 --- a/jekyll/_posts/2008/2008-03-12-java-generics.md +++ /dev/null @@ -1,8 +0,0 @@ ---- - -title: Java Generics - -category: blogger -# Pulled from Blogger. Last updated there on: Wed Mar 12 12:57:00 GMT 2008 ---- -I think the The Craftsman 44: Java Generics 2 gives the best exaplaination on when to use extends or super when defining Generics.

    Basically use

    you can widen the type of a list by using ? extends X, only if you
    plan on reading from that list

    and

    If you plan on writing to that list, use diff --git a/jekyll/_posts/2008/2008-03-17-monday-17th-march-2008.md b/jekyll/_posts/2008/2008-03-17-monday-17th-march-2008.md deleted file mode 100644 index 49074c70..00000000 --- a/jekyll/_posts/2008/2008-03-17-monday-17th-march-2008.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Monday 17th March 2008 - -category: blogger -# Pulled from Blogger. Last updated there on: Mon Mar 17 19:18:00 GMT 2008 ---- -St Paddy's Day - 3 hours, 65km

    Harolds Cross -> Brittas -> Kilbride -> Sally's Gap -> Glencree -> Harolds Cross.

    diff --git a/jekyll/_posts/2008/2008-04-07-display-web-request-attributes-and-parameters.md b/jekyll/_posts/2008/2008-04-07-display-web-request-attributes-and-parameters.md deleted file mode 100644 index 3d75e1c7..00000000 --- a/jekyll/_posts/2008/2008-04-07-display-web-request-attributes-and-parameters.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Display web request attributes and parameters - -category: blogger -# Pulled from Blogger. Last updated there on: Mon Apr 07 12:02:00 IST 2008 ---- -To display the list of attributes and parameters that are linked to a http request in a jsp page.


    Enumeration attrEnum = request.getAttributeNames();
    while(attrEnum.hasMoreElements())
    {
    Object attr = attrEnum.nextElement();
    System.out.println("Attr "+(String)attr+" : "+request.getAttribute((String)attr));
    }

    Enumeration paramEnum = request.getParameterNames();
    while(paramEnum.hasMoreElements())
    {
    Object attr = paramEnum.nextElement();
    System.out.println("Param "+(String)attr+" : "+request.getParameter((String)attr));
    }
    diff --git a/jekyll/_posts/2008/2008-04-07-jsp.include-c.out.md b/jekyll/_posts/2008/2008-04-07-jsp.include-c.out.md deleted file mode 100644 index 7716167b..00000000 --- a/jekyll/_posts/2008/2008-04-07-jsp.include-c.out.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Use - -category: blogger -# Pulled from Blogger. Last updated there on: Mon Apr 07 11:50:00 IST 2008 ---- -

    http://www.ibm.com/developerworks/java/library/j-jsp06173.html

      _____________________________________________
      From:   O'Connell, Paul 
      Sent:   07 April 2008 11:21
      To:     'paultoconnell.emeraldjava@blogger.com'
      Cc:     'paul.t.oconnell@gmail.com'; O'Connell, Paul
      Subject:        <jsp:include ..?> use <c:import url=""/>


      instead of

                      <tr>
                              <td width="20%">
                              <td width="40%" bordercolor="blue"><jsp:include page="/dashboard/krmChart.html" flush="true"/></td>

                              <td width="40%" bordercolor="blue"><jsp:include page="/dashboard/riskDashBoard.html" flush="true"/></td>

                      </tr>

      use

                      <tr>
                              <td width="20%">
                              <td width="40%" bordercolor="blue"><b><c:out value="${dashboard.a.link}"/></b></td>
                              <td width="40%" bordercolor="blue"><c:import url="${dashboard.a.link}"/></td>
                      </tr>


      http://www.ibm.com/developerworks/java/library/j-jsp05273.html

    diff --git a/jekyll/_posts/2008/2008-04-08-spring-beandoc-issues.md b/jekyll/_posts/2008/2008-04-08-spring-beandoc-issues.md deleted file mode 100644 index 221d3a47..00000000 --- a/jekyll/_posts/2008/2008-04-08-spring-beandoc-issues.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Spring BeanDoc Issues - -category: blogger -# Pulled from Blogger. Last updated there on: Tue Apr 08 10:05:00 IST 2008 ---- -

    http://spring-beandoc.sourceforge.net/index.html

    --properties C:\tools\spring-beandoc-0.8.1\springdoc.properties

    #input.files=C:\dev\RCMS 3.0\RCMS\src\**\*.xml
    input.files=C:\dev\RCMS 3.0\RCMS\web\WEB-INF\*.xml
    output.dir=C:\dev\RCMS 3.0\RCMS\beandoc
    compiler.dotExe=C:\tools\graphviz-2.16\bin\dot.exe

    java org.springframework.beandoc.client.BeanDocClient [--output output directory] [--properties beandoc.properties] [--context beandoc context] [--title documentation title to use] [--prefix properties prefix] [--] [input file...]

    Either a properties file, or BOTH input file(s) and output directory, or all three arguments must be specified.

    Unable to run beandoc tool;
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'processor' defined in class path resource [org/springframework/beandoc/client/beandoc.xml]: Invocation of init method failed; nested exception is org.springframework.beandoc.BeanDocException: No input files provided

    Caused by: org.springframework.beandoc.BeanDocException: No input files provided
            at org.springframework.beandoc.DefaultContextProcessor.afterPropertiesSet(DefaultContextProcessor.java:1110)
            at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1198)

            at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1167)

            at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:427)

            at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
            at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)

            at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
            at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
            at org.springframework.beandoc.client.BeanDocClient.main(BeanDocClient.java:176)

    XALAN Issue

    Warning: at xsl:stylesheet on line 26 of jar:file:/C:/tools/spring-beandoc-0.8.1/lib/spring-beandoc-0.8.1.jar!/org/springframework/beandoc/output/stylesheets/:

      Running an XSLT 1.0 stylesheet with an XSLT 2.0 processor

    http://xml.apache.org/xalan-j/usagepatterns.html

    -Djavax.xml.transform.TransformerFactory=org.apache.xalan.processor.TransformerFactoryImpl
    -Djavax.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl
    -Djavax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFactoryImpl


    WARNING: Problem attempting to create [C:\dev\RCMS 3.0\RCMS\beandoc\action-servlet.xml.png] from dot file [C:\dev\RCMS 3.0\RCMS\beandoc\action-servlet.xml.dot]; CreateProcess: C:\tools\graphviz-2.16\bin\dot.exe -Tpng "-oC:\dev\RCMS 3.0\RCMS\beandoc\action-servlet.xml.png" "C:\dev\RCMS 3.0\RCMS\beandoc\action-servlet.xml.dot" error=14001

    diff --git a/jekyll/_posts/2008/2008-04-21-spring-mvc---dispatchservlet-config.md b/jekyll/_posts/2008/2008-04-21-spring-mvc---dispatchservlet-config.md deleted file mode 100644 index dbf120ea..00000000 --- a/jekyll/_posts/2008/2008-04-21-spring-mvc---dispatchservlet-config.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Spring MVC - DispatchServlet config - -category: blogger -# Pulled from Blogger. Last updated there on: Mon Apr 21 15:59:00 IST 2008 ---- -

    web.xml

            // Spring IOC config
        <context-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/applicationContext-*.xml</param-value>
        </context-param>

            // Spring MVC config
        <servlet>
            <servlet-name>action</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
            <load-on-startup>2</load-on-startup>
        </servlet>

    http://static.springframework.org/spring/docs/2.0.x/api/org/springframework/web/servlet/DispatcherServlet.html

    looks for a spring bean configuration

    action'-servlet.xml'

    the main beans that should defined in this file are

    org.springframework.web.servlet.DispatcherServlet       
    public static final String       HANDLER_ADAPTER_BEAN_NAME       "handlerAdapter"       
    public static final String       HANDLER_EXCEPTION_RESOLVER_BEAN_NAME    "handlerExceptionResolver"     
    public static final String       HANDLER_MAPPING_BEAN_NAME       "handlerMapping"       
    public static final String       LOCALE_RESOLVER_BEAN_NAME       "localeResolver"       
    public static final String       MULTIPART_RESOLVER_BEAN_NAME    "multipartResolver"    
    public static final String       PAGE_NOT_FOUND_LOG_CATEGORY     "org.springframework.web.servlet.PageNotFound" 
    public static final String       REQUEST_TO_VIEW_NAME_TRANSLATOR_BEAN_NAME       "viewNameTranslator"   
    public static final String       THEME_RESOLVER_BEAN_NAME        "themeResolver"        
    public static final String       VIEW_RESOLVER_BEAN_NAME         "viewResolver"


    http://static.springframework.org/spring/docs/2.0.x/api/constant-values.html#org.springframework.web.servlet.DispatcherServlet.HANDLER_ADAPTER_BEAN_NAME


    http://www.devx.com/Java/Article/29208/0/page/3

    http://www4.java.no/javazone/2006/SpringMVC.pdf

    diff --git a/jekyll/_posts/2008/2008-04-22-post-an-image-to-a-blog.md b/jekyll/_posts/2008/2008-04-22-post-an-image-to-a-blog.md deleted file mode 100644 index d3bd474b..00000000 --- a/jekyll/_posts/2008/2008-04-22-post-an-image-to-a-blog.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Post an image to a blog - -category: blogger -# Pulled from Blogger. Last updated there on: Tue Apr 22 15:45:00 IST 2008 ---- -

    diff --git a/jekyll/_posts/2008/2008-04-24-accessing-the-applicationcontext-in-the-web-layer.md b/jekyll/_posts/2008/2008-04-24-accessing-the-applicationcontext-in-the-web-layer.md deleted file mode 100644 index f428fced..00000000 --- a/jekyll/_posts/2008/2008-04-24-accessing-the-applicationcontext-in-the-web-layer.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Accessing the ApplicationContext in the Web Layer - -category: blogger -# Pulled from Blogger. Last updated there on: Thu Apr 24 10:02:00 IST 2008 ---- -

    ApplicationContext - RequestContextUtils - ServletRequest

    ApplicationContext - WebApplicationContextUtils - ServletContext




    diff --git a/jekyll/_posts/2008/2008-04-30-org-hibernate-wrongclassexception--object-with-id--1-was-not-of-t-he-specified-subclass.md b/jekyll/_posts/2008/2008-04-30-org-hibernate-wrongclassexception--object-with-id--1-was-not-of-t-he-specified-subclass.md deleted file mode 100644 index 47206376..00000000 --- a/jekyll/_posts/2008/2008-04-30-org-hibernate-wrongclassexception--object-with-id--1-was-not-of-t-he-specified-subclass.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: org.hibernate.WrongClassException - Object with id 1 was not of the specified subclass - -category: blogger -# Pulled from Blogger. Last updated there on: Wed Apr 30 17:15:00 IST 2008 ---- -

    P INFO [main] terranua.rcms.model.coso.impl.RiskTest.startNewTransaction(323) | Began transaction (1): transaction manager [org.springframework.orm.hibernate3.HibernateTransactionManager@53abbb]; default rollback = true

    P INFO [main] terranua.rcms.model.coso.impl.RiskTest.endTransaction(290) | Rolled back transaction after test execution

    Process finished with exit code -1

    org.hibernate.WrongClassException: Object with id: 1 was not of the specified subclass: com.terranua.rcms.model.coso.impl.MonitoringProgram (loaded object was of wrong class)

            at org.hibernate.loader.Loader.instanceAlreadyLoaded(Loader.java:1235)
            at org.hibernate.loader.Loader.getRow(Loader.java:1186)
            at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:569)
            at org.hibernate.loader.Loader.doQuery(Loader.java:689)
            at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
            at org.hibernate.loader.Loader.loadCollection(Loader.java:1919)

    diff --git a/jekyll/_posts/2008/2008-05-05-monday-5th-may-2008.md b/jekyll/_posts/2008/2008-05-05-monday-5th-may-2008.md deleted file mode 100644 index d29431ab..00000000 --- a/jekyll/_posts/2008/2008-05-05-monday-5th-may-2008.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Monday 5th May 2008 - -category: blogger -# Pulled from Blogger. Last updated there on: Mon May 05 13:37:00 IST 2008 ---- -48km - Monday 5th May 2008

    Naas -> Rathmore -> Crosscoolharbour -> Brittas -> Kilteel -> Rathmore -> Naas

    diff --git a/jekyll/_posts/2008/2008-05-09-re--org-quartz-schedulerexception--threadpool-class-not-specified.md b/jekyll/_posts/2008/2008-05-09-re--org-quartz-schedulerexception--threadpool-class-not-specified.md deleted file mode 100644 index 636390a6..00000000 --- a/jekyll/_posts/2008/2008-05-09-re--org-quartz-schedulerexception--threadpool-class-not-specified.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: org.quartz.SchedulerException - ThreadPool class not specified. - -category: blogger -# Pulled from Blogger. Last updated there on: Fri May 09 14:33:00 IST 2008 ---- -

    duplicate quartz.properties files on the classpath

    quartz.jar has a 'quartz.properties' files which defines this content.
     
    # Default Properties file for use by StdSchedulerFactory
    # to create a Quartz Scheduler Instance, if a different
    # properties file is not explicitly specified.
    #

    org.quartz.scheduler.instanceName = DefaultQuartzScheduler
    org.quartz.scheduler.rmi.export = false
    org.quartz.scheduler.rmi.proxy = false
    org.quartz.scheduler.wrapJobExecutionInUserTransaction = false

    org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
    org.quartz.threadPool.threadCount = 10
    org.quartz.threadPool.threadPriority = 5
    org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread = true

    org.quartz.jobStore.misfireThreshold = 60000

    org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore

    If a application calling quartz wants to save the cron job details in a property file, they should
    avoid the naming the property file 'quartz', '[appname]-quartz.properties would be appropriate.

      _____________________________________________
      From:   O'Connell, Paul 
      Sent:   09 May 2008 14:04
      To:     O'Connell, Paul
      Subject:        org.quartz.SchedulerException: ThreadPool class not specified.


      [RCMS] INFO [main] DefaultValidatorFactory.setValidationConfigLocations(78) | Loading validation configurations from [ServletContext resource [/WEB-INF/validation.xml],ServletContext resource [/WEB-INF/validator-rules.xml]]

      [RCMS] ERROR [main] ContextLoader.initWebApplicationContext(204) | Context initialization failed
      org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.scheduling.quartz.SchedulerFactoryBean' defined in ServletContext resource [/WEB-INF/applicationContext-service.xml]: Invocation of init method failed; nested exception is org.quartz.SchedulerException: ThreadPool class not specified.

      Caused by:
      org.quartz.SchedulerException: ThreadPool class not specified.
              at org.quartz.impl.StdSchedulerFactory.instantiate(StdSchedulerFactory.java:746)
              at org.quartz.impl.StdSchedulerFactory.getScheduler(StdSchedulerFactory.java:1355)
              at org.springframework.scheduling.quartz.SchedulerFactoryBean.createScheduler(SchedulerFactoryBean.java:687)

    diff --git a/jekyll/_posts/2008/2008-06-29-sunday-29th-june-2008.md b/jekyll/_posts/2008/2008-06-29-sunday-29th-june-2008.md deleted file mode 100644 index 32919610..00000000 --- a/jekyll/_posts/2008/2008-06-29-sunday-29th-june-2008.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Sunday 29th June 2008 - -category: blogger -# Pulled from Blogger. Last updated there on: Sun Jun 29 18:32:00 IST 2008 ---- -Easy 35km ride with mr horan around naas - trying to avoid summer showers.




    View Larger Map diff --git a/jekyll/_posts/2008/2008-07-05-ring-of-kerry-cycle.md b/jekyll/_posts/2008/2008-07-05-ring-of-kerry-cycle.md deleted file mode 100644 index 11ee5239..00000000 --- a/jekyll/_posts/2008/2008-07-05-ring-of-kerry-cycle.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Ring of Kerry Cycle - -category: blogger -# Pulled from Blogger. Last updated there on: Sat Jul 05 20:32:00 IST 2008 ---- -The 175km Ring of Kerry Cycle, completed by Mr Paul Tall Horan and I in 8 hours (6.5 on the bike). - - - -The polar profile - -[](http://http://4.bp.blogspot.com/_UjH7scA_Bek/SHEe-Zhba5I/AAAAAAAAA20/sIR0eguJp4k/s1600-h/5-6-2008.JPG) - - diff --git a/jekyll/_posts/2008/2008-07-10-jsp-include-vs-c-import-tags.md b/jekyll/_posts/2008/2008-07-10-jsp-include-vs-c-import-tags.md deleted file mode 100644 index aab1a2a8..00000000 --- a/jekyll/_posts/2008/2008-07-10-jsp-include-vs-c-import-tags.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Jsp:include vs c:import tags - -category: blogger -# Pulled from Blogger. Last updated there on: Thu Jul 10 09:54:00 IST 2008 ---- -

    JSP

    <jsp:include page="./menu.jsp" >       
       <jsp:param name="menu" value="<%=Constants.Web.Menu.ASSESSMENT_ADMIN%>"/>
    </jsp:include>

    JSTL

    <c:import url="./menu.jsp">
         <c:param name="menu" value="${menu.ASSESSMENT_ADMIN}"/>
    </c:import>

    diff --git a/jekyll/_posts/2008/2008-07-15-form-form-vs-spring-bind.md b/jekyll/_posts/2008/2008-07-15-form-form-vs-spring-bind.md deleted file mode 100644 index 32d08d88..00000000 --- a/jekyll/_posts/2008/2008-07-15-form-form-vs-spring-bind.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Form:form vs spring:bind - -category: blogger -# Pulled from Blogger. Last updated there on: Tue Jul 15 13:40:00 IST 2008 ---- -

    http://www.jroller.com/habuma/entry/spring_form_tags

    diff --git a/jekyll/_posts/2008/2008-07-15-web-method-names.md b/jekyll/_posts/2008/2008-07-15-web-method-names.md deleted file mode 100644 index 70a234d5..00000000 --- a/jekyll/_posts/2008/2008-07-15-web-method-names.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Web Method Names - -category: blogger -# Pulled from Blogger. Last updated there on: Tue Jul 15 14:17:00 IST 2008 ---- -

    package org.springframework.web.servlet.support;


    public abstract class WebContentGenerator extends WebApplicationObjectSupport {

            /** HTTP method "HEAD" */
            public static final String METHOD_HEAD = "HEAD";

            /** HTTP method "GET" */
            public static final String METHOD_GET = "GET";

            /** HTTP method "POST" */
            public static final String METHOD_POST = "POST";

    diff --git a/jekyll/_posts/2008/2008-07-18-div-element---onload()-workaround.md b/jekyll/_posts/2008/2008-07-18-div-element---onload()-workaround.md deleted file mode 100644 index 90deb137..00000000 --- a/jekyll/_posts/2008/2008-07-18-div-element---onload()-workaround.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Div element onload() workaround - -category: blogger -# Pulled from Blogger. Last updated there on: Fri Jul 18 10:57:00 IST 2008 ---- -

    P[lace a javascript section immediately behind the div,

            <div id="previewReportDiv" style="overflow:auto; width:900px; height:400px; border:solid 1px;">
            </div><script type="text/javascript">
            onload=function(){
            alert("here ");
            var resultDoc = '<c:out value="${report}" escapeXml="false"/>';
            var div = document.createElement("div");
                    div.innerHTML=resultDoc;
                    alert(resultDoc);
                    div.style.width='900px';
                    div.style.height='400px';
                    div.style.overflow='auto';
                    div.style.border = "solid 1px #000000";
                    Element.update('previewReportDiv',div);
    }
    </script>

    diff --git a/jekyll/_posts/2008/2008-07-20-morzine---avoriaz.md b/jekyll/_posts/2008/2008-07-20-morzine---avoriaz.md deleted file mode 100644 index c667e0ac..00000000 --- a/jekyll/_posts/2008/2008-07-20-morzine---avoriaz.md +++ /dev/null @@ -1,7 +0,0 @@ ---- - -title: Morzine - Avoriaz -category: blogger -# Pulled from Blogger. Last updated there on: Sun Jul 20 10:39:00 IST 2008 ---- -Left it a bit late to start, but an hour up and 15mins down.


    View Larger Map diff --git a/jekyll/_posts/2008/2008-07-21-morzine---les-prodains.md b/jekyll/_posts/2008/2008-07-21-morzine---les-prodains.md deleted file mode 100644 index b564ad09..00000000 --- a/jekyll/_posts/2008/2008-07-21-morzine---les-prodains.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Morzine - Les Prodains - -category: blogger -# Pulled from Blogger. Last updated there on: Mon Jul 21 10:43:00 IST 2008 ---- -Out with mr kelly, jp not sean for an easy spin this morning.


    View Larger Map diff --git a/jekyll/_posts/2008/2008-07-22-morzine---les-gets.md b/jekyll/_posts/2008/2008-07-22-morzine---les-gets.md deleted file mode 100644 index aac765b3..00000000 --- a/jekyll/_posts/2008/2008-07-22-morzine---les-gets.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Morzine - Les Gets - -category: blogger -# Pulled from Blogger. Last updated there on: Tue Jul 22 10:46:00 IST 2008 ---- -Quick 40min spin this morning.


    View Larger Map diff --git a/jekyll/_posts/2008/2008-07-28-jad-to-editplus.md b/jekyll/_posts/2008/2008-07-28-jad-to-editplus.md deleted file mode 100644 index 94951c4b..00000000 --- a/jekyll/_posts/2008/2008-07-28-jad-to-editplus.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Jad to editplus - -category: blogger -# Pulled from Blogger. Last updated there on: Mon Jul 28 16:34:00 IST 2008 ---- -

    @echo off
    jad -o -d %TEMP% %1
    "C:\Program Files\EditPlus 3\editplus.exe" %TEMP%.\%~n1.jad

    diff --git a/jekyll/_posts/2008/2008-07-31-document-execcommand.md b/jekyll/_posts/2008/2008-07-31-document-execcommand.md deleted file mode 100644 index 1fd46960..00000000 --- a/jekyll/_posts/2008/2008-07-31-document-execcommand.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: document.execCommand('SaveAs','1','Name of the webpage.htm'); - -category: blogger -# Pulled from Blogger. Last updated there on: Thu Jul 31 11:36:00 IST 2008 ---- -

    function saveRiskReport()
            {
                    var previewReportElement = $('previewReportDiv');
                    var html =  previewReportElement.innerHTML;

                    document.open("text/html","replace");
                    document.write(html);
                    document.close();

                    document.execCommand('SaveAs',true,'filename.html');
            }

    http://www.devpapers.com/article/83

    http://bytes.com/forum/thread752642.html

    uncaught exception: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMNSHTMLDocument.execCommand]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: http://10.160.33.163:9080/RCMS/assessmentPreview.html :: saveRiskReport :: line 212" data: no]


    uncaught exception: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMNSHTMLDocument.execCommand]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: http://10.160.33.163:9080/RCMS/assessmentPreview.html :: saveRiskReport :: line 218" data: no]

    diff --git a/jekyll/_posts/2008/2008-08-01-fw--csr-diffs.md b/jekyll/_posts/2008/2008-08-01-fw--csr-diffs.md deleted file mode 100644 index 4f1a9bc1..00000000 --- a/jekyll/_posts/2008/2008-08-01-fw--csr-diffs.md +++ /dev/null @@ -1,7 +0,0 @@ ---- - -title: Csr diffs -category: blogger -# Pulled from Blogger. Last updated there on: Fri Aug 01 14:56:00 IST 2008 ---- -

    Clearcase cheats
    cleartool find -all -version "version(/main/rcms_csr_integration/LATEST)" -print

    ______________________________________________
    From:   Fairman, Siobhan 
    Sent:   01 August 2008 14:52
    To:     O'Connell, Paul
    Subject:        Csr diffs


    Does this list look correct?

    cleartool find -all -version "version(/main/rcms_csr_integration/LATEST)" -print


    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\web\WEB-INF\action-servlet.xml@@\main\rcms_csr_integration\17

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\resources\applicationContext-resources.xml@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\resources\ApplicationResources.properties@@\main\rcms_csr_integration\9

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\resources\log4j.properties@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\web\styles\simplicity\layout.css@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\web\pages\controlIndicatorForm.jsp@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\web\pages\controlIndicatorList.jsp@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\web\pages\menu.jsp@@\main\rcms_csr_integration\4

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\web\common\taglibs.jsp@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\dao\hibernate\applicationContext-hibernate.xml@@\main\rcms_csr_integration\6

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\Constants.java@@\main\rcms_csr_integration\6

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\.classpath@@\main\rcms_csr_integration\5
    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\build.xml@@\main\rcms_csr_integration\9
    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\service\com\terranua\applicationContext-service.xml@@\main\rcms_csr_integration\10

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\properties.xml@@\main\rcms_csr_integration\2
    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\web\com\terranua\rcms\webapp\listener\StartupListener.java@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\lib\lib.properties@@\main\rcms_csr_integration\3

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\web\WEB-INF\applicationContext-hibernate-UMS.xml@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\model\coso\impl\BusinessUnit.java@@\main\rcms_csr_integration\0

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\lib\ums-0.1\UMS-dao.jar@@\main\rcms_csr_integration\0

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\lib\ums-0.1\UMS-service.jar@@\main\rcms_csr_integration\0

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\dao\com\terranua\rcms\dao\ControlIndicatorDaoTest.java@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\dao\com\terranua\rcms\dao\GenericDaoTest.java@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\service\com\terranua\service\ControlIndicatorManagerTest.java@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\service\com\terranua\util\DateUtilTest.java@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\web\com\terranua\webapp\action\BaseControllerTestCase.java@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\web\com\terranua\webapp\action\ControlIndicatorFormControllerTest.java@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\web\com\terranua\webapp\listener\StartupListenerTest.java@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\web\friendlyError.jsp@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\web\pages\mainMenu.jsp@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\web\pages\friendlyDataAccessFailure.jsp@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\web\pages\controlIndicatorConfirm.jsp@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\model\coso\impl\ComplianceTopic.java@@\main\rcms_csr_integration\0

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\web\com\terranua\webapp\action\ControlActivityFormControllerTest.java@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\web\pages\controlActivityForm.jsp@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\web\pages\controlActivityList.jsp@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\dao\hibernate\RiskDao.java@@\main\rcms_csr_integration\3

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\dao\IRiskDao.java@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\service\com\terranua\rcms\service\impl\RiskManager.java@@\main\rcms_csr_integration\3

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\service\com\terranua\rcms\service\IRiskManager.java@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\dao\com\terranua\rcms\dao\ControlActivityDaoTest.java@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\service\com\terranua\service\ControlActivityManagerTest.java@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\web\pages\controlActivityConfirm.jsp@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\UMS 1.0\UMS\.classpath@@\main\rcms_csr_integration\1
    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\web\pages\userList.jsp@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\web\pages\userForm.jsp@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\service\com\terranua\rcms\service\impl\UserSyncManager.java@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\web\pages\userConfirm.jsp@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\web\pages\changeLog.jsp@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\web\pages\synchList.jsp@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\web\pages\userFormIncludes\test.jsp@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\web\pages\riskList.jsp@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\web\pages\riskForm.jsp@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\web\com\terranua\rcms\webapp\action\RiskFormController.java@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\web\pages\complianceTopicListxml.jsp@@\main\rcms_csr_integration\3

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\web\pages\riskConfirm.jsp@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\web\pages\userSynchComplete.jsp@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\resources\database.properties@@\main\rcms_csr_integration\0

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\resources@@\main\2\quartz_cronjobs.properties@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\web\pages\hibernateMetricsReport.jsp@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\lib\cobertura-1.9\cobertura.jar@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\lib\cobertura-1.9\lib\asm-2.2.1.jar@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\lib\cobertura-1.9\lib\asm-tree-2.2.1.jar@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\lib\cobertura-1.9\lib\jakarta-oro-2.0.8.jar@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\lib\cobertura-1.9\lib\log4j-1.2.9.jar@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\model\report\ICsrDocumentLink.java@@\main\rcms_csr_integration\3

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\model\report\ICsrReportUpload.java@@\main\rcms_csr_integration\4

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\model\report\ICsrUploadTask.java@@\main\rcms_csr_integration\4

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\model\report\impl\CsrDocumentLink.java@@\main\rcms_csr_integration\7

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\model\report\impl\CsrDocumentLinkWrapper.java@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\model\report\impl\CsrReportParameter.java@@\main\rcms_csr_integration\4

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\model\report\impl\CsrReportParameterData.java@@\main\rcms_csr_integration\6

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\model\report\impl\CsrReportUpload.java@@\main\rcms_csr_integration\6

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\model\report\impl\CsrUploadTask.java@@\main\rcms_csr_integration\5

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\model\report\impl\ReportData.java@@\main\rcms_csr_integration\4

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\model\report\impl\ReportParameterWrapper.java@@\main\rcms_csr_integration\5

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\model\report\IReportData.java@@\main\rcms_csr_integration\3

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\model\report\IReportParameter.java@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\model\report\IReportParameterDecorator.java@@\main\rcms_csr_integration\3

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\service\com\terranua\rcms\quartz\model\JobDataMap.java@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\service\com\terranua\rcms\quartz\model\QuartzData.java@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\service\com\terranua\rcms\quartz\tasks\impl\RcmsQuartzJob.java@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\service\com\terranua\rcms\quartz\tasks\IRcmsQuartzJob.java@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\service\com\terranua\rcms\service\ICallableReportManager.java@@\main\rcms_csr_integration\3

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\service\com\terranua\rcms\service\ICsrDocumentManager.java@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\service\com\terranua\rcms\service\ICsrMetadataManager.java@@\main\rcms_csr_integration\6

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\service\com\terranua\rcms\service\impl\CsrDocumentManager.java@@\main\rcms_csr_integration\11

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\service\com\terranua\rcms\service\impl\CsrMetadataManager.java@@\main\rcms_csr_integration\5

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\service\com\terranua\rcms\service\impl\ReportManager.java@@\main\rcms_csr_integration\15

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\service\com\terranua\rcms\service\impl\ReportUploadRetryManager.java@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\service\com\terranua\rcms\service\ISchedulableReportManager.java@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\web\WEB-INF\applicationContext-scheduling.xml@@\main\rcms_csr_integration\7

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\lib\csr-webservices\csr-doc-ws.jar@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\lib\jakarta-commons\commons-codec-1.3.jar@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\lib\jakarta-commons\commons-httpclient-3.0-rc2.jar@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\service\org\apache\axis\client\client-config.wsdd@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\model\report\IXmlGenerator.java@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\model\report\IXmlReportTransformer.java@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\dao\ICsrDocumentLinkDAO.java@@\main\rcms_csr_integration\5

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\dao\ICsrReportParameterDAO.java@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\dao\ICsrReportUploadDAO.java@@\main\rcms_csr_integration\4

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\dao\ICsrUploadTaskDAO.java@@\main\rcms_csr_integration\5

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\dao\hibernate\CsrDocumentLinkDAO.java@@\main\rcms_csr_integration\6

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\dao\hibernate\CsrReportParameterDAO.java@@\main\rcms_csr_integration\3

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\dao\hibernate\CsrReportUploadDAO.java@@\main\rcms_csr_integration\9

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\dao\hibernate\CsrUploadTaskDAO.java@@\main\rcms_csr_integration\8

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\model\coso\impl\BusinessUnitToKRMView.java@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\model\coso\impl\BusinessUnitToKRMViewID.java@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\dao\com\terranua\rcms\dao\BusinessUnitDaoTest.java@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\service\com\terranua\service\IRiskManagerTest.java@@\main\rcms_csr_integration\3

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\dao\com\terranua\rcms\dao\IRiskDaoTest.java@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\model\report\impl\Report38aXMLGenerator.java@@\main\rcms_csr_integration\5

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\service\com\terranua\rcms\service\report\Report38aXMLGeneratorTest.java@@\main\rcms_csr_integration\3

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\model\report\impl\XSLTransformer.java@@\main\rcms_csr_integration\3

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\web\xsl\riskreport_to_fo.xsl@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\web\xsl\fo2html.xsl@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\service\com\terranua\rcms\service\report\XSLTransformerImplTest.java@@\main\rcms_csr_integration\4

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\web\pages\businessUnitAndComplianceTopicSelector.jsp@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\web\pages@@\main\rcms_csr_integration\2\reporting.jsp@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\web\pages\assessmentPreviewReportDiv.jsp@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\lib\xalan-j_2_5_1\bin\xalan.jar@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\Oracle\Release_Scripts\RCMS_CSR_Integration\rcms_csr_tables.sql@@\main\rcms_csr_integration\8

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\web\com\terranua\rcms\webapp\action\PreviewRiskReportAjaxController.java@@\main\rcms_csr_integration\5

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\web\com\terranua\rcms\webapp\action\PreviewRiskReportAjaxControllerTest.java@@\main\rcms_csr_integration\4

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\dao\com\terranua\rcms\model\report\impl\Report38aParameterTest.java@@\main\rcms_csr_integration\3

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\dao\com\terranua\rcms\model\report\impl\CsrReportParameterTest.java@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\dao\com\terranua\rcms\dao\ICsrUploadTaskDAOTest.java@@\main\rcms_csr_integration\6

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\dao\com\terranua\rcms\dao\ICsrReportParameterDAOTest.java@@\main\rcms_csr_integration\3

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\dao\com\terranua\rcms\dao\ICsrDocumentLinkDAOTest.java@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\dao\com\terranua\rcms\dao\ICsrReportUploadDAOTest.java@@\main\rcms_csr_integration\4

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\service\com\terranua\service\CsrDocumentManagerTest.java@@\main\rcms_csr_integration\4

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\service\com\terranua\rcms\service\impl\ReportManagerTest.java@@\main\rcms_csr_integration\7

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\model\report\IReportDatasource.java@@\main\rcms_csr_integration\4

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\model\report\impl\XmlReportTransformer.java@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\service\com\terranua\rcms\service\report\impl\ReportDatasource.java@@\main\rcms_csr_integration\4

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\service\com\terranua\rcms\service\impl\CsrDocumentManagerStub.java@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\dao\com\terranua\rcms\dao\DaoTest.java@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\web\com\terranua\rcms\webapp\listener\StartupListenerTest.java@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\model\coso\impl\BusinessUnitHierarchy.java@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\model\coso\impl\RiskAssessment.java@@\main\rcms_csr_integration\7

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\model\coso\impl\RiskAssessmentComplianceTopic.java@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\model\coso\impl\RiskAssessmentComplianceTopicId.java@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\model\coso\impl\RiskAssessmentHeader.java@@\main\rcms_csr_integration\3

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\dao\BusinessUnitHierarchyDao.java@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\dao\hibernate\BusinessUnitHierarchyDaoHibernate.java@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\dao\hibernate\RiskAssessmentDaoHibernate.java@@\main\rcms_csr_integration\4

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\dao\RiskAssessmentDao.java@@\main\rcms_csr_integration\3

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\dao\com\terranua\rcms\dao\RiskAssessmentDaoTest.java@@\main\rcms_csr_integration\3

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\dao\com\terranua\rcms\dao\hibernate\BusinessUnitHierarchyDaoTest.java@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\dao\com\terranua\rcms\dao\hibernate\RiskAssessmentHeaderTest.java@@\main\rcms_csr_integration\3

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\dao\com\terranua\rcms\dao\DaoTestHolder.java@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\Oracle\Release_Scripts\RCMS_CSR_Integration\quartz_tables.sql@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\Oracle\Release_Scripts\RCMS_CSR_Integration\risk_assessment_tables.sql@@\main\rcms_csr_integration\8

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\dao\com\terranua\rcms\dao\applicationContext-daoTest.xml@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\web\com\terranua\webapp\util\MenuMap.java@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\web\com\terranua\webapp\util\MenuMapTest.java@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\resources\reporting.properties@@\main\rcms_csr_integration\4

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\web\pages\assessmentPreview.jsp@@\main\rcms_csr_integration\6

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\web\pages\assessmentViewRAs.jsp@@\main\rcms_csr_integration\6

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\web\pages\assessmentSubMenu.jsp@@\main\rcms_csr_integration\6

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\model\coso\impl\RiskAssessmentType.java@@\main\rcms_csr_integration\4

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\web\pages\assessmentEditRA.jsp@@\main\rcms_csr_integration\5

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\web\pages\assessmentAdhoc.jsp@@\main\rcms_csr_integration\5

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\web\pages\assessmentReportDetails.jsp@@\main\rcms_csr_integration\3

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\web\pages\assessmentViewTasks.jsp@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\dao\com\terranua\rcms\model\coso\impl\RiskAssessmentTypeTest.java@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\dao\com\terranua\rcms\model\coso\impl\RiskAssessmentHeaderTest.java@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\dao\com\terranua\rcms\model\coso\impl\RiskAssessmentTest.java@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\web\com\terranua\rcms\webapp\action\RiskAssessmentFormController.java@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\web\com\terranua\rcms\webapp\action\RiskAssessmentFormControllerTest.java@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\web\com\terranua\rcms\webapp\action\RiskAssessmentController.java@@\main\rcms_csr_integration\15

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\web\com\terranua\rcms\webapp\action\RiskAssessmentControllerTest.java@@\main\rcms_csr_integration\8

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\web\pages\assessmentViewReports.jsp@@\main\rcms_csr_integration\4

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\web\com\terranua\rcms\webapp\action\RiskAssessmentXmlController.java@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\web\pages\assessmentReportAssociationsXml.jsp@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\web\scripts\riskAssessmentScripts.js@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\service\com\terranua\rcms\service\IRiskAssessmentManager.java@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\service\com\terranua\rcms\service\impl\RiskAssessmentManager.java@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\web\com\terranua\rcms\webapp\action\HibernateMetricsControllerTest.java@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\model\associations\impl\ComplianceTopicProcessId.java@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\model\associations\impl\ComplianceTopicProcess.java@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\service\com\terranua\util\CsrDirectParameter.java@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\dao\ComplianceTopicProcessDao.java@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\dao\hibernate\ComplianceTopicProcessDaoImpl.java@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\dao\com\terranua\rcms\dao\hibernate\ComplianceTopicProcessDaoImplTest.java@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\model\coso@@\main\rcms_csr_integration\1\IRiskAssessment.java@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\web@@\main\rcms_csr_integration\1
    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\web\WEB-INF@@\main\rcms_csr_integration\1
    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\web\pages@@\main\rcms_csr_integration\15
    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\web\scripts@@\main\rcms_csr_integration\1
    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\dao@@\main\rcms_csr_integration\5

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\dao\hibernate@@\main\rcms_csr_integration\5

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\model@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\model\coso@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\model\coso\impl@@\main\rcms_csr_integration\7

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\service@@\main\rcms_csr_integration\1
    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\service\com\terranua\util@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\service\com\terranua\rcms@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\service\com\terranua\rcms\service@@\main\rcms_csr_integration\3

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\service\com\terranua\rcms\service\impl@@\main\rcms_csr_integration\3

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\web\com\terranua\rcms\webapp\action@@\main\rcms_csr_integration\4

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\lib@@\main\rcms_csr_integration\3
    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\web\com\terranua\webapp\util@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\model\associations\impl@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\lib\jakarta-commons@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\dao\com\terranua\rcms\dao@@\main\rcms_csr_integration\11

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\service\com\terranua@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\service\com\terranua\service@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\web\com\terranua@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\web\com\terranua\webapp@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\Oracle\Release_Scripts@@\main\rcms_csr_integration\1
    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\dao\com\terranua\rcms@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\resources@@\main\rcms_csr_integration\2
    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\lib\cobertura-1.9@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\lib\cobertura-1.9\lib@@\main\rcms_csr_integration\5

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\model\report@@\main\rcms_csr_integration\4

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\dao\com\terranua\rcms\model\report\impl@@\main\rcms_csr_integration\7

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\service\com\terranua\rcms\quartz@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\service\com\terranua\rcms\quartz\model@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\service\com\terranua\rcms\quartz\tasks@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\service\com\terranua\rcms\quartz\tasks\impl@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\lib\csr-webservices@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\service\org@@\main\rcms_csr_integration\2
    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\service\org\apache@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\service\org\apache\axis@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\service\org\apache\axis\client@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\service\com\terranua\rcms\service\report@@\main\rcms_csr_integration\12

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\service\com\terranua\rcms@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\service\com\terranua\rcms\service@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\service\com\terranua\rcms\service\report@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\web\xsl@@\main\rcms_csr_integration\3
    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\lib\xalan-j_2_5_1@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\lib\xalan-j_2_5_1\bin@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\Oracle\Release_Scripts\RCMS_CSR_Integration@@\main\rcms_csr_integration\3

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\web\com\terranua\rcms@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\web\com\terranua\rcms\webapp@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\web\com\terranua\rcms\webapp\action@@\main\rcms_csr_integration\4

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\dao\com\terranua\rcms\model@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\dao\com\terranua\rcms\model\report@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\dao\com\terranua\rcms\model\report\impl@@\main\rcms_csr_integration\2

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\service\com\terranua\rcms\service\impl@@\main\rcms_csr_integration\3

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\src\service\com\terranua\rcms\service\report\impl@@\main\rcms_csr_integration\8

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\web\com\terranua\rcms\webapp\listener@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\dao\com\terranua\rcms\dao\hibernate@@\main\rcms_csr_integration\3

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\web\com\terranua\webapp\util@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\dao\com\terranua\rcms\model\coso@@\main\rcms_csr_integration\1

    C:\Documents and Settings\A449744\a449744_view_csrint\v_cco\RCMS 3.0\RCMS\test\dao\com\terranua\rcms\model\coso\impl@@\main\rcms_csr_integration\3

    diff --git a/jekyll/_posts/2008/2008-08-12-dom4j-documenthelper-createdocument().md b/jekyll/_posts/2008/2008-08-12-dom4j-documenthelper-createdocument().md deleted file mode 100644 index 15e39d6a..00000000 --- a/jekyll/_posts/2008/2008-08-12-dom4j-documenthelper-createdocument().md +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: Dom4j DocumentHelper.createDocument() - -category: blogger ---- - -Pulled from Blogger. Last updated there on: Tue Aug 12 17:37:00 IST 2008 - -Got this error from a xml file created using the Dom4j API. - -{% highlight java %} -javax.xml.transform.TransformerException: com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: -The markup in the document preceding the root element must be well-formed.{% endhighlight %} - -We were missing the xml header in the file because we didn't call the DocumentHelper.createDocument() method! - -{% highlight java %} -import org.dom4j.Document; -import org.dom4j.DocumentHelper; -... -Document document = DocumentHelper.createDocument(); -{% endhighlight %} diff --git a/jekyll/_posts/2008/2008-08-14-v_risk_assessment---left-outer-join.md b/jekyll/_posts/2008/2008-08-14-v_risk_assessment---left-outer-join.md deleted file mode 100644 index e28aedf1..00000000 --- a/jekyll/_posts/2008/2008-08-14-v_risk_assessment---left-outer-join.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: V_RISK_ASSESSMENT - LEFT OUTER JOIN - -category: blogger -# Pulled from Blogger. Last updated there on: Thu Aug 14 18:06:00 IST 2008 ---- -

    CREATE OR REPLACE VIEW CCOP1DBO.V_RISK_ASSESSMENT AS
    SELECT DISTINCT
            RA.RA_OID,
            RA.RA_NAME,
            BH.BH_LEVEL_SHORT_NAME,
            NVL(CDL.CSR_DOCUMENT_ID,'N') xx,
            CDL.RA_OID AS CSR_RA_OID
    FROM
            T_RISK_ASSESSMENT RA
            LEFT OUTER JOIN T_BUSINESS_HIERARCHY BH
            ON RA.BH_OID = BH.BH_OID
            LEFT OUTER JOIN T_CSR_DOCUMENT_LINK CDL
            ON CDL.RA_OID = RA.RA_OID
    ORDER BY RA.RA_OID;
    commit;

    diff --git a/jekyll/_posts/2008/2008-09-15-eclipse-3-4-&-tomcat-runtime-server-config.md b/jekyll/_posts/2008/2008-09-15-eclipse-3-4-&-tomcat-runtime-server-config.md deleted file mode 100644 index 86518edd..00000000 --- a/jekyll/_posts/2008/2008-09-15-eclipse-3-4-&-tomcat-runtime-server-config.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Eclipse 3.4 & Tomcat Runtime Server Config - -category: blogger -# Pulled from Blogger. Last updated there on: Mon Sep 15 16:50:00 IST 2008 ---- -I'm trying to create a tomcat runtime server configuration

    Windows -> Preferences -> Server -> Runtime Env -> Add -> Download additional server adapters

    but the dialog always seems to timeout waiting for "com.sdn.sap.com" to respond. Is there a way to remove this url from the eclipse config?

    diff --git a/jekyll/_posts/2008/2008-09-17-maven-plugin-artifact.md b/jekyll/_posts/2008/2008-09-17-maven-plugin-artifact.md deleted file mode 100644 index 9a724593..00000000 --- a/jekyll/_posts/2008/2008-09-17-maven-plugin-artifact.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Maven plugin artifact - -category: blogger -# Pulled from Blogger. Last updated there on: Wed Sep 17 17:54:00 IST 2008 ---- -mvn archetype:create -DgroupId=org.poc -DartifactId=poc-maven-plugin -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-mojo diff --git a/jekyll/_posts/2008/2008-09-18-servlet-annotations-jsr-315.md b/jekyll/_posts/2008/2008-09-18-servlet-annotations-jsr-315.md deleted file mode 100644 index 6136bae6..00000000 --- a/jekyll/_posts/2008/2008-09-18-servlet-annotations-jsr-315.md +++ /dev/null @@ -1,7 +0,0 @@ ---- - -title: Servlet annotations -category: blogger -# Pulled from Blogger. Last updated there on: Thu Sep 18 10:44:00 IST 2008 ---- -
    http://jcp.org/en/jsr/detail?id=315


    <dependency>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>servlet-annotation-spec</artifactId>
        <version>3.0.pre0</version>
    </dependency>

    diff --git a/jekyll/_posts/2008/2008-09-23-cargo-jetty6x-slf4j-logging.md b/jekyll/_posts/2008/2008-09-23-cargo-jetty6x-slf4j-logging.md deleted file mode 100644 index c792ab75..00000000 --- a/jekyll/_posts/2008/2008-09-23-cargo-jetty6x-slf4j-logging.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: Cargo Jetty6x Slf4j Logging - -tags: [blogger] ---- -I've been getting the following error when i trying to start my cargo/jetty6x plugin via maven.


    org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationExc
    eption: org.apache.commons.logging.LogConfigurationException: Invalid class loader hierarchy. You h
    ave more than one version of 'org.apache.commons.logging.Log' visible, which is not allowed. (Caused
    by org.apache.commons.logging.LogConfigurationException: Invalid class loader hierarchy. You have
    more than one version of 'org.apache.commons.logging.Log' visible, which is not allowed.) (Caused by
    org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationEx
    ception: Invalid class loader hierarchy. You have more than one version of 'org.apache.commons.logg
    ing.Log' visible, which is not allowed. (Caused by org.apache.commons.logging.LogConfigurationExcept
    ion: Invalid class loader hierarchy. You have more than one version of 'org.apache.commons.logging.
    Log' visible, which is not allowed.))
    at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:543)
    at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:235)
    at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:209)
    at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:351)
    at org.apache.jasper.servlet.JspServlet.(JspServlet.java:58)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
    at java.lang.Class.newInstance0(Class.java:350)
    at java.lang.Class.newInstance(Class.java:303)
    at org.mortbay.jetty.servlet.Holder.newInstance(Holder.java:152)
    at org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:256)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
    at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:593)
    at org.mortbay.jetty.servlet.Context.startContext(Context.java:139)
    at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1191)
    at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:481)
    at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:434)
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)




    org.slf4j
    jcl-over-slf4j
    1.5.3


    org.slf4j
    slf4j-api
    1.5.3


    org.slf4j
    slf4j-simple
    1.5.3



    I have found this post Switching to SLF4J and this. I believe i have configured my slf4j jars correctly like so



    org.codehaus.cargo
    cargo-maven2-plugin

    false

    jetty6x
    embedded



    ${servlet.port}





    start-container
    pre-integration-test

    start
    deploy



    stop-container
    post-integration-test

    stop






    The standalone jetty plugin seems to run ok.



    org.mortbay.jetty
    maven-jetty-plugin
    6.1.6



    ${servlet.port}
    30000


    /
    stop
    9091


    diff --git a/jekyll/_posts/2008/2008-09-24-syntaxhighlighter-1-5-1-blogger.md b/jekyll/_posts/2008/2008-09-24-syntaxhighlighter-1-5-1-blogger.md deleted file mode 100644 index 2bd36620..00000000 --- a/jekyll/_posts/2008/2008-09-24-syntaxhighlighter-1-5-1-blogger.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: Syntaxhighlighter 1.5.1 Blogger - -category: blogger -# Pulled from Blogger. Last updated there on: Wed Sep 24 09:58:00 IST 2008 ---- -I updated my blog template this morning to use the latest google syntaxhighlighter which has some extra support of xml snippets in blog posts. The only difference with other solutions is that i load the javascript directly from the google svn servers. -
    -
    -
    diff --git a/jekyll/_posts/2008/2008-09-25-ordinal-2684-libeay32-dll---cruisecontrol-svn.md b/jekyll/_posts/2008/2008-09-25-ordinal-2684-libeay32-dll---cruisecontrol-svn.md deleted file mode 100644 index db9ed19b..00000000 --- a/jekyll/_posts/2008/2008-09-25-ordinal-2684-libeay32-dll---cruisecontrol-svn.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Ordinal 2684 LIBEAY32.dll - CruiseControl SVN - -category: blogger -# Pulled from Blogger. Last updated there on: Thu Sep 25 17:44:00 IST 2008 ---- -Setting up cruisecontrol today to work against a SVN repository. I got this odd dialog popping up when the modification set or update phases of the process are executed.



    Which states "the ordinal 2684 could not be located in the dynamic link library LIBEAY32.dll". It seems the that SVN package has its own version of libeay32.dll, which might cause a conflict with the original windows version.


    C:\WINDOWS\system32
    C:\tools\svn-win32-1.5.2\bin


    It seems that cruisecontrol SVN plugin is using the default JavaHL ( which calls one version of the DLL file via JNI).



    I found this simular blog post on eclipse-subversive-ordinal-not-located-in-libeay32dll, where the workaround is to disabled the JavaHL settings.

    I think need to find some way to get the modification set plugin to use the SVNKit api when it checks for updates. diff --git a/jekyll/_posts/2008/2008-11-11-jimi-image-library-not-available---docbookpdf.md b/jekyll/_posts/2008/2008-11-11-jimi-image-library-not-available---docbookpdf.md deleted file mode 100644 index dac7b6ff..00000000 --- a/jekyll/_posts/2008/2008-11-11-jimi-image-library-not-available---docbookpdf.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Jimi image library not available - Docbook/PDF - -category: blogger -# Pulled from Blogger. Last updated there on: Tue Nov 11 09:35:00 GMT 2008 ---- -Jimi image library not available : Docbook/PDF

    [java] [INFO] Using com.icl.saxon.aelfred.SAXDriver as SAX2 Parser
    [java] [INFO] FOP 0.20.5
    [java] [INFO] JAI support was not installed (read: not present at build tim
    e). Trying to use Jimi instead
    [java] Error creating background image: Error creating FopImage object (fil
    e:/C:/projects/5FL_GERMANY/focus/docbook/output/docbook-xsl-1.70.0/images/draft.
    png) : Jimi image library not available

    FOP 0.20.5

    http://xmlgraphics.apache.org/fop/relnotes.html#FOP+0.20.5

    FOP has been compiled with Jimi support, but Jimi is not included in the FOP distribution. To use it, first download Jimi, then extract the archive, then copy JimiProClasses.zip to FOP's lib dir and rename it to jimi-1.0.jar. diff --git a/jekyll/_posts/2008/2008-11-12-apache-forrest---plugin-xmap-output.md b/jekyll/_posts/2008/2008-11-12-apache-forrest---plugin-xmap-output.md deleted file mode 100644 index c1330d05..00000000 --- a/jekyll/_posts/2008/2008-11-12-apache-forrest---plugin-xmap-output.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Apache Forrest - plugin.xmap.output? - -category: blogger -# Pulled from Blogger. Last updated there on: Wed Nov 12 14:19:00 GMT 2008 ---- -
    site:
    [echo]
    [echo] Copying the various non-generated resources to site.
    [echo] Warnings will be issued if the optional project resources are not found.
    [echo] This is often the case, because they are optional and so may not be available.
    [echo] Copying project resources and images to site ...
    [copy] Warning: C:\projects\5FL_GERMANY\focus\forrest\build\webapp\resources not found.
    [copy] Copying 2 files to C:\projects\5FL_GERMANY\focus\forrest\build\site\en
    [echo] Copying main skin images to site ...
    [copy] Copying 18 files to C:\projects\5FL_GERMANY\focus\forrest\build\site\en\skin\images
    [copy] Copying 14 files to C:\projects\5FL_GERMANY\focus\forrest\build\site\en\skin\images
    [echo] Copying project skin images to site ...
    [copy] Warning: C:\projects\5FL_GERMANY\focus\forrest\src\documentation\skins\common\images not found.
    [copy] Warning: C:\projects\5FL_GERMANY\focus\forrest\src\documentation\skins\pelt\images not found.
    [echo] Copying main skin css and js files to site ...
    [copy] Copying 11 files to C:\projects\5FL_GERMANY\focus\forrest\build\site\en\skin
    [copy] Copying 4 files to C:\projects\5FL_GERMANY\focus\forrest\build\site\en\skin
    [echo] Copying project skin css and js files to site ...
    [copy] Warning: C:\projects\5FL_GERMANY\focus\forrest\src\documentation\skins\common not found.
    [copy] Warning: C:\projects\5FL_GERMANY\focus\forrest\src\documentation\skins\pelt not found.
    [echo]
    [echo] Finished copying the non-generated resources.
    [echo] Now Cocoon will generate the rest.
    [echo]
    [echo] Static site will be generated at:
    [echo] C:\projects\5FL_GERMANY\focus\forrest\build\site\en
    [echo]
    [echo] Cocoon will report the status of each document:
    [echo] - in column 1: *=okay X=brokenLink ^=pageSkipped (see FAQ).
    [echo]
    [java] ------------------------------------------------------------------------
    [java] cocoon 2.2.0-dev
    [java] Copyright (c) 1999-2005 Apache Software Foundation. All rights reserved.
    [java] Build: December 8 2005 (TargetVM=1.4, SourceVM=1.4, Debug=on, Optimize=on)
    [java] ------------------------------------------------------------------------
    [java] * [1/0] [0/0] 0.891s 0b linkmap.html
    [java] org.apache.cocoon.sitemap.PatternException: Cannot get variable 'plugin.xmap.output' in expression '{lm:plugin.xmap.output}'
    [java] at org.apache.cocoon.components.treeprocessor.variables.PreparedVariableResolver.processModule(PreparedVariableResolver.java:250)
    [java] at org.apache.cocoon.components.treeprocessor.variables.PreparedVariableResolver.resolve(PreparedVariableResolver.java:197)
    [java] at org.apache.cocoon.components.treeprocessor.sitemap.SelectNode.invoke(SelectNode.java:77)
    [java] at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:77)
    [java] at org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:155)
    [java] at org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:77)
    [java] at org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:95)
    [java] at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:292)
    [java] at org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:223)
    [java] at org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:289)
    [java] at org.apache.cocoon.Cocoon.process(Cocoon.java:557)
    [java] at org.apache.cocoon.bean.CocoonWrapper.getPage(CocoonWrapper.java:426)
    [java] at org.apache.cocoon.bean.CocoonBean.processTarget(CocoonBean.java:496)
    [java] at org.apache.cocoon.bean.CocoonBean.process(CocoonBean.java:357)
    [java] at org.apache.cocoon.Main.main(Main.java:311)
    [java] Caused by: org.apache.avalon.framework.configuration.ConfigurationException: Unable to build LocationMap.
    [java] at org.apache.forrest.locationmap.LocationMapModule.loadConfiguration(LocationMapModule.java:148)
    [java] at org.apache.forrest.locationmap.LocationMapModule.getLocationMap(LocationMapModule.java:105)
    [java] at org.apache.forrest.locationmap.LocationMapModule.getAttribute(LocationMapModule.java:203)
    [java] at org.apache.cocoon.components.treeprocessor.variables.PreparedVariableResolver.processModule(PreparedVariableResolver.java:246)
    [java] ... 14 more
    [java] Caused by: org.apache.excalibur.source.SourceNotFoundException: Exception during processing of cocoon://locationmap.xml
    [java] at org.apache.cocoon.components.source.impl.SitemapSource.getInputStream(SitemapSource.java:207)
    [java] at org.apache.forrest.locationmap.LocationMapModule.loadConfiguration(LocationMapModule.java:144)
    [java] ... 17 more
    [java] Caused by: org.apache.cocoon.ResourceNotFoundException: Resource not found.
    [java] at - file:/C:/projects/Libs/apache-forrest-0.8/main/webapp/./sitemap.xmap:403:38
    [java] at - file:/C:/projects/Libs/apache-forrest-0.8/main/webapp/./sitemap.xmap:402:63
    [java] at org.apache.cocoon.components.source.SourceUtil.handle(SourceUtil.java:377)
    [java] at org.apache.cocoon.components.source.SourceUtil.getInputSource(SourceUtil.java:450)
    [java] at org.apache.cocoon.components.source.SourceUtil.parse(SourceUtil.java:281)
    [java] at org.apache.cocoon.generation.FileGenerator.generate(FileGenerator.java:118)
    [java] at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.processXMLPipeline(AbstractProcessingPipeline.java:537)
    [java] at org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline.processXMLPipeline(AbstractCachingProcessingPipeline.java:174)
    [java] at org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.process(AbstractProcessingPipeline.java:437)
    [java] at org.apache.cocoon.components.source.impl.SitemapSource.getInputStream(SitemapSource.java:199)
    [java] ... 18 more
    [java] Caused by: org.apache.excalibur.source.SourceNotFoundException: file:/C:/projects/Libs/apache-forrest-0.8/main/webapp/././../../../Libs/apache-forrest-0.8/main/webapp/locationmap.xml doesn't exist.
    [java] at org.apache.excalibur.source.impl.FileSource.getInputStream(FileSource.java:150)
    [java] at org.apache.cocoon.components.source.SourceUtil.getInputSource(SourceUtil.java:445)
    [java] ... 24 more
    [java] Caused by: java.io.FileNotFoundException: C:\projects\Libs\apache-forrest-0.8\main\webapp\.\.\..\..\..\Libs\apache-forrest-0.8\main\webapp\locationmap.xml (The system cannot find the path specified)
    [java] at java.io.FileInputStream.open(Native Method)
    [java] at java.io.FileInputStream.(FileInputStream.java:106)
    [java] at org.apache.excalibur.source.impl.FileSource.getInputStream(FileSource.java:146)
    [java] ... 25 more
    [java] X [0] linkmap.html BROKEN: URI not found: Cannot get variable 'plugin.xmap.output' in expression '{lm:plugin.xmap.output}'
    [java] Total time: 0 minutes 4 seconds, Site size: 0 Site pages: 1
    [java] Java Result: 1
    [echo]
    [echo] Copying broken links file to site root.
    [echo]
    [copy] Copying 1 file to C:\projects\5FL_GERMANY\focus\forrest\build\site\en

    BUILD FAILED
    C:\projects\5FL_GERMANY\focus\forrest\build.xml:16: The following error occurred while executing this line:
    C:\projects\Libs\apache-forrest-0.8\main\targets\site.xml:180: Error building site.

    There appears to be a problem with your site build.

    Read the output above:
    * Cocoon will report the status of each document:
    - in column 1: *=okay X=brokenLink ^=pageSkipped (see FAQ).
    * Even if only one link is broken, you will still get "failed".
    * Your site would still be generated, but some pages would be broken.
    - See C:\projects\5FL_GERMANY\focus\forrest\build\site\en/broken-links.xml
    diff --git a/jekyll/_posts/2008/2008-11-13-customised-eclipse-java-search-results-view.md b/jekyll/_posts/2008/2008-11-13-customised-eclipse-java-search-results-view.md deleted file mode 100644 index 7e01eb40..00000000 --- a/jekyll/_posts/2008/2008-11-13-customised-eclipse-java-search-results-view.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Customised Eclipse Java Search Results View - -category: blogger -# Pulled from Blogger. Last updated there on: Thu Nov 13 09:23:00 GMT 2008 ---- -I want to be able to have more control over the export options, on the resuts tree from eclipse java search. i plan to customise the search results view, to enable a table view where i can copy/paste various column details.

    I've done my initial googling, but all the examples assume that there is customised search and search results extensions being added. I want my 'org.eclipse.search.searchResultViewPages' extension to recieve the same 'org.eclipse.jdt.internal.ui.search.JavaSearchResult' objects that the default view processes.

    I want to reuse the default java search dialog



    icon="icons/full/obj16/jsearch_obj.png"
    label="%JavaSearchPage.label"
    sizeHint="460,160"
    extensions="java:90, jav:90"
    showScopeSection="true"
    canSearchEnclosingProjects="true"
    class="org.eclipse.jdt.internal.ui.search.JavaSearchPage">




    but have a new customised class, that handles the layout of the search results.


    id="JavaSearchResultPage"
    point="org.eclipse.search.searchResultViewPages">
    id="org.eclipse.jdt.ui.JavaSearchResultPage"
    searchResultClass="org.eclipse.jdt.internal.ui.search.JavaSearchResult"
    class="org.eclipse.jdt.internal.ui.search.JavaSearchResultPage">




    the starting point

    http://help.eclipse.org/stable/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/extension-points/org_eclipse_search_searchResultViewPages.html

    for writing your own java search queries

    http://help.eclipse.org/stable/index.jsp?topic=/org.eclipse.jdt.doc.isv/guide/jdt_api_search.htm diff --git a/jekyll/_posts/2008/2008-12-02-cargo-jboss42x-ant.md b/jekyll/_posts/2008/2008-12-02-cargo-jboss42x-ant.md deleted file mode 100644 index e51e840f..00000000 --- a/jekyll/_posts/2008/2008-12-02-cargo-jboss42x-ant.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Cargo Jboss42x ANT - -category: blogger -# Pulled from Blogger. Last updated there on: Tue Dec 02 11:25:00 GMT 2008 ---- -Getting the following error when i attempt to use an ANT target to start a locally installed jboss 4.2.3 via the cargo jboss42x containter.


    C:\projects\5FL_GERMANY\ValidationService>ant -f cargo.xml jboss-start
    Buildfile: cargo.xml

    jboss-start:
    [echo] ./../../Libs/jboss-4.2.3.GA
    [echo] ./../../Libs/cargo/0.9/cargo-core-uberjar-0.9.jar

    BUILD FAILED
    C:\projects\5FL_GERMANY\ValidationService\cargo.xml:28: org.codehaus.cargo.conta
    iner.ContainerException: Cannot create configuration. There's no registered conf
    iguration for the parameters (container [id = [jboss42x], type = [installed]], c
    onfiguration type [existing]). Actually there are no valid types registered for
    this configuration. Maybe you've made a mistake spelling it?
    diff --git a/jekyll/_posts/2008/2008-12-10-lighttpd-&-php.md b/jekyll/_posts/2008/2008-12-10-lighttpd-&-php.md deleted file mode 100644 index 86dec9c2..00000000 --- a/jekyll/_posts/2008/2008-12-10-lighttpd-&-php.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Lighttpd & PHP - -category: blogger -# Pulled from Blogger. Last updated there on: Wed Dec 10 18:54:00 GMT 2008 ---- -Trying to get lighttpd and php/php-cgi running on windows. This is the command line output


    C:\tools\LightTPD>LightTPD.exe -f lighttpd.conf -m lib -D 2008-12-10 18:52:18: (log.c.97) server started
    8 [sig] LightTPD 3936 _cygtls::handle_exceptions: Error while dumping state (probably corrupted stack)
    2008-12-10 18:52:32: (mod_cgi.c.1244) cleaning up CGI: process died with signal 11
    2008-12-10 18:52:45: (server.c.1354) [note] graceful shutdown started
    2008-12-10 18:52:45: (server.c.1468) server stopped by UID = 400 PID = 2404


    and the stack dump is


    Stack trace:
    Frame Function Args
    0022C048 7C802542 (0000007C, 0000EA60, 000000A4, 0022C090)
    0022C168 61097F54 (00000000, 7C802600, 7C802542, 000000A4)
    0022C258 61095AEB (00000000, 003B0023, 00230000, 0022CE68)
    0022C2B8 61095FCB (0022C2D0, 00000000, 00000094, 0022C300)
    0022C378 61096182 (00000F60, 00000006, 0022C3A8, 61096383)
    0022C388 610961AC (00000006, 0022CE88, 64704338, 0022C3C0)
    0022C3A8 61096383 (61103150, 64704338, 64704000, 000003EB)
    0022C4D8 64703108 (006B1250, 006BE500, 006BBB78, 00000000)
    0022C508 6CA85777 (006B1250, 006BE500, 006BE810, 0022C538)
    0022C548 00403C8F (006B1250, 006BE500, 00000005, 6CA865A3)
    0022C9C8 00406FDD (006B1250, 006BE500, 00000001, 0040145C)
    0022CCA8 004027D8 (00000006, 006B1220, 006B0090, 60030000)
    0022CD98 610060D8 (00000000, 0022CDD0, 61005450, 0022CDD0)
    61005450 61004416 (0000009C, A02404C7, E8611021, FFFFFF48)
    Exception: STATUS_ACCESS_VIOLATION at eip=61016583
    eax=EC815356 ebx=61108148 ecx=00000000 edx=57E58959 esi=0000000E edi=00000001
    ebp=006AC8B8 esp=006AC8B0 program=C:\tools\LightTPD\LightTPD.exe, pid 3936, thread sig
    cs=001B ds=0023 es=0023 fs=003B gs=0000 ss=0023
    Stack trace:
    Frame Function Args
    006AC8B8 61016583 (61108148, 6111C19B, FFFFFF48, 00000000)
    006AC8D8 610166EC (00000001, 00000000, 00000000, 006AC960)
    006AC918 61017FD5 (000007C4, 006AC960, 00000000, 00000000)
    006ACC58 61018638 (000006D4, 006ACC90, 000000A4, 006ACC8C)
    006ACD58 61099F57 (61106F00, 00000000, 00000000, 00000000)
    006ACD88 61002F32 (006ACE64, 61018970, 00001074, 00000000)
    61003650 61003769 (04A16430, 89000000, FFDA90B0, 24468BFF)
    8 [sig] LightTPD 3936 _cygtls::handle_exceptions: Error while dumping state (probably corrupted stack)
    diff --git a/jekyll/_posts/2008/2008-12-22-confluence-public-thoughtworks-org---502-error.md b/jekyll/_posts/2008/2008-12-22-confluence-public-thoughtworks-org---502-error.md deleted file mode 100644 index 289caa73..00000000 --- a/jekyll/_posts/2008/2008-12-22-confluence-public-thoughtworks-org---502-error.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: confluence.public.thoughtworks.org - 502 error - -category: blogger -# Pulled from Blogger. Last updated there on: Mon Dec 22 14:37:00 GMT 2008 ---- -CruiseControl Wiki 502 Proxy Error : it seems a bit odd that a company that brought us cruisecontrol for continual build intergration, can't seem to keeps its own web servers up and running for continual use. diff --git a/jekyll/_posts/2008/2008-12-23-jetty-6---jsp-support-not-configured.md b/jekyll/_posts/2008/2008-12-23-jetty-6---jsp-support-not-configured.md deleted file mode 100644 index 32be2ae9..00000000 --- a/jekyll/_posts/2008/2008-12-23-jetty-6---jsp-support-not-configured.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Jetty 6 JSP support not configured - -category: blogger -# Pulled from Blogger. Last updated there on: Tue Dec 23 14:26:00 GMT 2008 ---- -Got this when running jetty 6 in eclipse 3.3, make sure to include the jsp jars in the library definition for jetty, so your jsp source can be compiled. See this for more details. diff --git a/jekyll/_posts/2009/2009-11-17-oracle-xe-and-ubuntu.md b/jekyll/_posts/2009/2009-11-17-oracle-xe-and-ubuntu.md deleted file mode 100644 index b3ba02c0..00000000 --- a/jekyll/_posts/2009/2009-11-17-oracle-xe-and-ubuntu.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Oracle XE and Ubuntu - -category: blogger -# Pulled from Blogger. Last updated there on: Tue Nov 17 09:40:00 GMT 2009 ---- -Edit /etc/apt/sources.list, and add following:

    deb http://oss.oracle.com/debian unstable main non-free

    then execute

    aptitude install oracle-xe oracle-xe-client

    to install oracle. finally run

    /etc/init.d/oracle-xe configure

    The DB by default will be accessed via port 1521. Administration is performed through localhost:8080/apex. diff --git a/jekyll/_posts/2009/2009-11-17-reconfigure-oracle-xe-on-ubuntu.md b/jekyll/_posts/2009/2009-11-17-reconfigure-oracle-xe-on-ubuntu.md deleted file mode 100644 index a8d2d959..00000000 --- a/jekyll/_posts/2009/2009-11-17-reconfigure-oracle-xe-on-ubuntu.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: reconfigure oracle-xe on ubuntu - -category: blogger -# Pulled from Blogger. Last updated there on: Tue Nov 17 12:11:00 GMT 2009 ---- -To reconfigure an instance of oracle-xe on ubuntu, first edit this file

    /etc/default$ more oracle-xe

    change the CONFIGURE_RUN value to false

    # ORACLE_DBENABLED:'true' means to load the Database at system boot.
    ORACLE_DBENABLED=true

    # LISTENER_PORT: Database listener
    LISTENER_PORT=1521

    # HTTP_PORT : HTTP port for Oracle Application Express
    HTTP_PORT=8080

    # Configuration : Check whether configure has been done or not
    CONFIGURE_RUN=true

    and then execute

    /etc/initi.d/oracle-xe configure diff --git a/jekyll/_posts/2009/2009-12-04-preforce,-intellij-&-ubuntu.md b/jekyll/_posts/2009/2009-12-04-preforce,-intellij-&-ubuntu.md deleted file mode 100644 index 6ca9d4e3..00000000 --- a/jekyll/_posts/2009/2009-12-04-preforce,-intellij-&-ubuntu.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Preforce, Intellij & Ubuntu - -category: blogger -# Pulled from Blogger. Last updated there on: Fri Dec 04 16:28:00 GMT 2009 ---- -If your running intellij on ubuntu, you make need to make sure this preforce settings are configured within the root user setup scripts, add them to /etc/profile.d/global.sh

    user@foundry:~$ more /etc/profile.d/global.sh

    export P4USER=$USER
    export P4CHARSET=utf8
    export P4CLIENT=`hostname`
    export P4PORT=perforce.newbay.com:1666 diff --git a/jekyll/_posts/2009/2009-12-08-jquery-ui-tab-with-points.md b/jekyll/_posts/2009/2009-12-08-jquery-ui-tab-with-points.md deleted file mode 100644 index d0645c26..00000000 --- a/jekyll/_posts/2009/2009-12-08-jquery-ui-tab-with-points.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Jquery UI Tab with points? - -category: blogger -# Pulled from Blogger. Last updated there on: Tue Dec 08 17:03:00 GMT 2009 ---- - diff --git a/jekyll/_posts/2009/2009-12-18-bhaa-screenshots.md b/jekyll/_posts/2009/2009-12-18-bhaa-screenshots.md deleted file mode 100644 index 0ec85c28..00000000 --- a/jekyll/_posts/2009/2009-12-18-bhaa-screenshots.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: BHAA Screenshots - -category: blogger -# Pulled from Blogger. Last updated there on: Fri Dec 18 16:50:00 GMT 2009 ---- -the pre-populated renewal form (128 char code sent to a member via email)



    an event with race results.



    pre event page - with reg page



    the events page (tabs per year)

    diff --git a/jekyll/_posts/2009/2009-12-18-teams-and-companies.md b/jekyll/_posts/2009/2009-12-18-teams-and-companies.md deleted file mode 100644 index 86ae6b42..00000000 --- a/jekyll/_posts/2009/2009-12-18-teams-and-companies.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Teams and Companies - -category: blogger -# Pulled from Blogger. Last updated there on: Fri Dec 18 14:59:00 GMT 2009 ---- - diff --git a/jekyll/_posts/2010/2010-01-10-flot---with-x-axis-ticks.md b/jekyll/_posts/2010/2010-01-10-flot---with-x-axis-ticks.md deleted file mode 100644 index d356f9d2..00000000 --- a/jekyll/_posts/2010/2010-01-10-flot---with-x-axis-ticks.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Flot - with x-axis ticks - -category: blogger -# Pulled from Blogger. Last updated there on: Sun Jan 10 13:27:00 GMT 2010 ---- -

    diff --git a/jekyll/_posts/2010/2010-02-15-find-class-in-jar-unix-script.md b/jekyll/_posts/2010/2010-02-15-find-class-in-jar-unix-script.md deleted file mode 100644 index 068c92dc..00000000 --- a/jekyll/_posts/2010/2010-02-15-find-class-in-jar-unix-script.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Find class in jar unix script - -category: blogger -# Pulled from Blogger. Last updated there on: Mon Feb 15 13:44:00 GMT 2010 ---- -Unix script to search for a class or package name in a set of jars. Handy for debugging ClassNotFoundExceptions


    #!/bin/sh

    JARDIR=$1
    CLASS=$2
    echo "Looking for class name `$CLASS` in directory $JARDIR"

    for i in `find $JARDIR -name "*jar"`
    do
    echo "Looking in $i ..."
    jar tvf $i | grep $CLASS
    done


    Create an alias


    alias findinjars='~/poconnell/tools/scripts/findinjars.sh'
    diff --git a/jekyll/_posts/2010/2010-03-11-org-jboss-security-plugins-jbosssecuritycontext.md b/jekyll/_posts/2010/2010-03-11-org-jboss-security-plugins-jbosssecuritycontext.md deleted file mode 100644 index ab8fd40a..00000000 --- a/jekyll/_posts/2010/2010-03-11-org-jboss-security-plugins-jbosssecuritycontext.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: org.jboss.security.plugins.JBossSecurityContext - -category: blogger -# Pulled from Blogger. Last updated there on: Thu Mar 11 11:36:00 GMT 2010 ---- -You need to add jbosssx-client.jar to your classpath diff --git a/jekyll/_posts/2010/2010-03-11-org-jboss-tm-transactionpropagationcontextutil.md b/jekyll/_posts/2010/2010-03-11-org-jboss-tm-transactionpropagationcontextutil.md deleted file mode 100644 index ff2d942a..00000000 --- a/jekyll/_posts/2010/2010-03-11-org-jboss-tm-transactionpropagationcontextutil.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: org.jboss.tm.TransactionPropagationContextUtil - -category: blogger -# Pulled from Blogger. Last updated there on: Thu Mar 11 11:45:00 GMT 2010 ---- -JBOSS 5.1.0 GA add jboss-integration.jar to the classpath diff --git a/jekyll/_posts/2010/2010-03-25-swing-jabel---text--image-background-colours.md b/jekyll/_posts/2010/2010-03-25-swing-jabel---text--image-background-colours.md deleted file mode 100644 index 6c076578..00000000 --- a/jekyll/_posts/2010/2010-03-25-swing-jabel---text--image-background-colours.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Swing Jabel - text / image background colours - -category: blogger -# Pulled from Blogger. Last updated there on: Thu Mar 25 12:19:00 GMT 2010 ---- -
    diff --git a/jekyll/_posts/2010/2010-03-26-bhaa-results-with-embedded-iframe.md b/jekyll/_posts/2010/2010-03-26-bhaa-results-with-embedded-iframe.md deleted file mode 100644 index 581e83cb..00000000 --- a/jekyll/_posts/2010/2010-03-26-bhaa-results-with-embedded-iframe.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: BHAA Results with Embedded IFrame - -category: blogger -# Pulled from Blogger. Last updated there on: Fri Mar 26 14:49:00 GMT 2010 ---- -For the moment, we can just embed an iframe for each year.
    - Polish the url links to open specific race results in a new tab.

    Long term we migrate the results into the DB.

    diff --git a/jekyll/_posts/2010/2010-03-26-eclipse-junit--ea-config-option.md b/jekyll/_posts/2010/2010-03-26-eclipse-junit--ea-config-option.md deleted file mode 100644 index 6b725d3f..00000000 --- a/jekyll/_posts/2010/2010-03-26-eclipse-junit--ea-config-option.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Eclipse Junit -EA Config Option? - -category: blogger -# Pulled from Blogger. Last updated there on: Fri Mar 26 11:29:00 GMT 2010 ---- - diff --git a/jekyll/_posts/2010/2010-04-29-zfdatagrid-table-width.md b/jekyll/_posts/2010/2010-04-29-zfdatagrid-table-width.md deleted file mode 100644 index 07837b58..00000000 --- a/jekyll/_posts/2010/2010-04-29-zfdatagrid-table-width.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: ZFDataGrid table width? - -category: blogger -# Pulled from Blogger. Last updated there on: Thu Apr 29 16:08:00 IST 2010 ---- - diff --git a/jekyll/_posts/2010/2010-05-02-stockholm-medal.md b/jekyll/_posts/2010/2010-05-02-stockholm-medal.md deleted file mode 100644 index b403a54b..00000000 --- a/jekyll/_posts/2010/2010-05-02-stockholm-medal.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Stockholm Medal - -category: blogger -# Pulled from Blogger. Last updated there on: Sun May 02 13:14:00 IST 2010 ---- -
    diff --git a/jekyll/_posts/2010/2010-05-14-vertical-text-alignment-in-jquery.md b/jekyll/_posts/2010/2010-05-14-vertical-text-alignment-in-jquery.md deleted file mode 100644 index 70ee8765..00000000 --- a/jekyll/_posts/2010/2010-05-14-vertical-text-alignment-in-jquery.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Vertical Text Alignment in JQuery - -category: blogger -# Pulled from Blogger. Last updated there on: Fri May 14 12:35:00 IST 2010 ---- -http://stackoverflow.com/questions/278940/vertical-text-with-jquery


    $('#foo label').html($('#foo label').text().replace(/(.)/g,"$1
    "));

    Works for a single element but


    http://www.openstudio.fr/jQuery-flipv.html


    http://pupunzi.com/#mb.components/mb.flipText/flipText.html

    renders SVG which causes hassel


    ->addOnLoad('$("#eventname").flipv();')
    //->addOnLoad('$("#eventname").mbFlipText(true);') // top to bottom
    //->addOnLoad('$("#foo label").html($("#foo label").text().replace(/(.)/g,"$1
    "));') diff --git a/jekyll/_posts/2010/2010-06-03-ant---list-all-images-with-regex-pattern.md b/jekyll/_posts/2010/2010-06-03-ant---list-all-images-with-regex-pattern.md deleted file mode 100644 index 2168ce0d..00000000 --- a/jekyll/_posts/2010/2010-06-03-ant---list-all-images-with-regex-pattern.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -title: ANT - List all images with regex pattern - -category: blogger -# Pulled from Blogger. Last updated there on: Thu Jun 03 15:10:00 IST 2010 ---- -
     
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    ${prop.dist.contents} -
    -
    diff --git a/jekyll/_posts/2010/2010-07-28-adding-flickrj-1-2-to-maven.md b/jekyll/_posts/2010/2010-07-28-adding-flickrj-1-2-to-maven.md deleted file mode 100644 index a409d49c..00000000 --- a/jekyll/_posts/2010/2010-07-28-adding-flickrj-1-2-to-maven.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Adding Flickrj 1.2 to maven - -category: blogger -# Pulled from Blogger. Last updated there on: Wed Jul 28 11:56:00 IST 2010 ---- -First download Flickrj and install locacally.

    run this command from the install dir

    mvn install:install-file 
    -Dfile=flickrapi-1.2.jar
    -DgroupId=com.aetrion.flickr
    -DartifactId=flickrapi
    -Dversion=1.2
    -Dpackaging=jar

    to reference the artifact in your pom add


    com.aetrion.flickr
    flickrapi
    1.2

    diff --git a/jekyll/_posts/2010/2010-07-28-flickj-api-examples.md b/jekyll/_posts/2010/2010-07-28-flickj-api-examples.md deleted file mode 100644 index 7aa3d9ce..00000000 --- a/jekyll/_posts/2010/2010-07-28-flickj-api-examples.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Flickj API Examples - -category: blogger -# Pulled from Blogger. Last updated there on: Wed Jul 28 15:40:00 IST 2010 ---- -Use google code search to find current sample code.

    http://www.google.com/codesearch?q=file:java+%22com.aetrion.flickr.Flickr%22&hl=en&btnG=Search+Code
    diff --git a/jekyll/_posts/2010/2010-08-23-google-appengine-1-3-6-and-maven.md b/jekyll/_posts/2010/2010-08-23-google-appengine-1-3-6-and-maven.md deleted file mode 100644 index 01382586..00000000 --- a/jekyll/_posts/2010/2010-08-23-google-appengine-1-3-6-and-maven.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Google AppEngine 1.3.6 AND Maven - -category: blogger -# Pulled from Blogger. Last updated there on: Mon Aug 23 10:30:00 IST 2010 ---- -Install Google AppEngine 1.3.6 locally and then then use the following commands to register the various jars in your local maven repo.

    mvn install:install-file -Dfile=lib/appengine-tools-api.jar -DgroupId=com.google -DartifactId=appengine-tools -Dversion=1.3.6 -Dpackaging=jar -DgeneratePom=true

    mvn install:install-file -Dfile=lib/shared/appengine-local-runtime-shared.jar -DgroupId=com.google -DartifactId=appengine-local-runtime-shared -Dversion=1.3.6 -Dpackaging=jar -DgeneratePom=true

    mvn install:install-file -Dfile=lib/user/appengine-api-1.0-sdk-1.3.6.jar -DgroupId=com.google -DartifactId=appengine-sdk-1.3.6-api -Dversion=1.3.6 -Dpackaging=jar -DgeneratePom=true

    mvn install:install-file -Dfile=lib/user/orm/datanucleus-appengine-1.0.7.final.jar -DgroupId=org.datanucleus -DartifactId=datanucleus-appengine -Dversion=1.0.7.final -Dpackaging=jar -DgeneratePom=true

    mvn install:install-file -Dfile=lib/shared/appengine-local-runtime-shared.jar -DgroupId=com.google -DartifactId=appengine-local-runtime-shared -Dversion=1.3.6 -Dpackaging=jar -DgeneratePom=true

    mvn install:install-file -Dfile=lib/shared/jsp/repackaged-appengine-commons-logging-1.1.1.jar -DgroupId=com.google -DartifactId=repackaged-commons-logging -Dversion=1.1.1 -Dpackaging=jar -DgeneratePom=true

    This is summary of posts from

    http://twelves.blogspot.com/2009/04/google-appengine-maven-pom.html

    http://shal.in/post/285908979/google-app-engine-and-maven diff --git a/jekyll/_posts/2010/2010-09-01-add-restfb-jars-to-maven.md b/jekyll/_posts/2010/2010-09-01-add-restfb-jars-to-maven.md deleted file mode 100644 index 320f0d46..00000000 --- a/jekyll/_posts/2010/2010-09-01-add-restfb-jars-to-maven.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Add RestFB jars to maven - -category: blogger -# Pulled from Blogger. Last updated there on: Wed Sep 01 10:09:00 IST 2010 ---- -First download the restfb api and run the following maven command from the extracted dir.

    mvn install:install-file -Dfile=restfb-1.5.3.jar 
    -DgroupId=com.restfb -DartifactId=restfb -Dversion=1.5.3 -Dpackaging=jar -DgeneratePom=true

    this installs the jar in your local mvn repo, and then add the following dependency to your pom


    com.restfb
    restfb
    1.5.3

    diff --git a/jekyll/_posts/2010/2010-09-03-jpa-1-0-spring-context-for-an-embedded-derby-db.md b/jekyll/_posts/2010/2010-09-03-jpa-1-0-spring-context-for-an-embedded-derby-db.md deleted file mode 100644 index 4e307dc3..00000000 --- a/jekyll/_posts/2010/2010-09-03-jpa-1-0-spring-context-for-an-embedded-derby-db.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: JPA 1.0 Spring Context for an Embedded Derby DB - -category: blogger -# Pulled from Blogger. Last updated there on: Fri Sep 03 11:26:00 IST 2010 ---- -



    xmlns:p="http://www.springframework.org/schema/p"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:util="http://www.springframework.org/schema/util"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:jee="http://www.springframework.org/schema/jee"
    xsi:schemaLocation="
    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
    http://www.springframework.org/schema/util http://www.springframework.org/schema/beans/spring-util-2.5.xsd
    http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
    http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
    http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.5.xsd">









    create
    org.hibernate.dialect.DerbyDialect
    true 'T', false 'F'
    true
    5
    20
    600
    50
    false


















































    com.xx.xx.common.index.entity.CellEntity






    com.xx.xx.common.index.entity.APNEntity












    factory-method="valueOf">

    CELL




    factory-method="valueOf">

    APN




    class="com.xx.xx.common.index.GenericEntityFactoryImpl">




































    the associated persistence.xml

     


    diff --git a/jekyll/_posts/2010/2010-09-15-fckeditor-background-color.md b/jekyll/_posts/2010/2010-09-15-fckeditor-background-color.md deleted file mode 100644 index 94f6ed42..00000000 --- a/jekyll/_posts/2010/2010-09-15-fckeditor-background-color.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: FCKEditor background color - -category: blogger -# Pulled from Blogger. Last updated there on: Wed Sep 15 17:08:00 IST 2010 ---- -An issue with the FCKeditor is that if you chance the background color for your main site, the editor background also changes, which makes editing a pain.

    http://www.glfusion.org/forum/viewtopic.php?showtopic=30761

    First find and edit

    /public_html/fckeditor/fckconfig.js

    Originally

    FCKConfig.EditorAreaStyles = 'body { color:#000;margin-bottom:30px;} h1 {background:transparent;color:#000;font-size:1.4em;font-weight:700;margin:0 5px 0 0;} ul { list-style-position:outside;margin-left:5px;padding-left:15px;list-style:disc;vertical-align:middle;}' ;

    Change to ( background:#FFFFFF ) is the main item

    FCKConfig.EditorAreaStyles = 'body { background:#ffffff;margin-bottom:30px;} h1 {background:transparent;color:#000;font-size:1.4em;font-weight:700;margin:0 5px 0 0;} ul { list-style-position:outside;margin-left:5px;padding-left:15px;list-style:disc;vertical-align:middle;}' ;

    The drupal boys also have some notes

    http://drupal.org/node/204242 diff --git a/jekyll/_posts/2010/2010-10-21-insertclob.md b/jekyll/_posts/2010/2010-10-21-insertclob.md deleted file mode 100644 index 3b2ab76d..00000000 --- a/jekyll/_posts/2010/2010-10-21-insertclob.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: insertClob - -category: blogger -# Pulled from Blogger. Last updated there on: Thu Oct 21 11:07:00 IST 2010 ---- -
    /**
    * http://www.coderanch.com/t/295768/JDBC/java/inserting-large-file-CLOB-Oracle
    * @param clob
    * @param value
    * @throws Exception
    */
    public void insertClob(oracle.sql.CLOB clob, String value) throws Exception {
    try {
    OutputStream outstream = clob.getAsciiOutputStream();
    outstream.flush();
    outstream.write(value.getBytes());
    outstream.close();
    } catch (Exception e) {
    e.printStackTrace();
    }
    }
    diff --git a/jekyll/_posts/2010/2010-11-09-jasperreports-checksum-issue-with-maven.md b/jekyll/_posts/2010/2010-11-09-jasperreports-checksum-issue-with-maven.md deleted file mode 100644 index 2bdabef7..00000000 --- a/jekyll/_posts/2010/2010-11-09-jasperreports-checksum-issue-with-maven.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: jasperreports checksum issue with maven - -category: blogger -# Pulled from Blogger. Last updated there on: Tue Nov 09 10:02:00 GMT 2010 ---- -The link to jasperreport jar broke my build over the weekend



    Seems there is some monkey business going on at jaspersoft. See here and here for details.

    Quick Solution is to just add this repo setting to your pom

      
    jaspersoft
    http://www.jasperforge.org/maven2

    false


    false


    diff --git a/jekyll/_posts/2010/2010-12-24-jinx.md b/jekyll/_posts/2010/2010-12-24-jinx.md deleted file mode 100644 index aa62820b..00000000 --- a/jekyll/_posts/2010/2010-12-24-jinx.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: jinx - -category: blogger -# Pulled from Blogger. Last updated there on: Fri Dec 24 16:26:00 GMT 2010 ---- -mvn install:install-file -Dfile=jinx.jar -DgroupId=net.jeremybrooks.jinx -DartifactId=jinx -Dversion=1.0.0 -Dpackaging=jar -DgeneratePom=true diff --git a/jekyll/_posts/2011/2011-03-10-sample-post.md b/jekyll/_posts/2011/2011-03-10-sample-post.md deleted file mode 100644 index 93eecbc5..00000000 --- a/jekyll/_posts/2011/2011-03-10-sample-post.md +++ /dev/null @@ -1,111 +0,0 @@ ---- - -title: Sample Post -excerpt: "Just about everything you'll need to style in the theme: headings, paragraphs, blockquotes, tables, code blocks, and more." -modified: 2013-05-31 -tags: [intro, beginner, jekyll, tutorial] -comments: true -image: - feature: sample-image-5.jpg - credit: WeGraphics - creditlink: http://wegraphics.net/downloads/free-ultimate-blurred-background-pack/ ---- - -
    -
    -

    Overview

    -
    -
    -* Auto generated table of contents -{:toc} -
    -
    - -## HTML Elements - -Below is just about everything you'll need to style in the theme. Check the source code to see the many embedded elements within paragraphs. - -# Heading 1 - -## Heading 2 - -### Heading 3 - -#### Heading 4 - -##### Heading 5 - -###### Heading 6 - -### Body text - -Lorem ipsum dolor sit amet, test link adipiscing elit. **This is strong**. Nullam dignissim convallis est. Quisque aliquam. - -![Smithsonian Image]({{ site.url }}/images/3953273590_704e3899d5_m.jpg) -{: .image-pull-right} - -*This is emphasized*. Donec faucibus. Nunc iaculis suscipit dui. 53 = 125. Water is H2O. Nam sit amet sem. Aliquam libero nisi, imperdiet at, tincidunt nec, gravida vehicula, nisl. The New York Times (That’s a citation). Underline.Maecenas ornare tortor. Donec sed tellus eget sapien fringilla nonummy. Mauris a ante. Suspendisse quam sem, consequat at, commodo vitae, feugiat in, nunc. Morbi imperdiet augue quis tellus. - -HTML and CSS are our tools. Mauris a ante. Suspendisse quam sem, consequat at, commodo vitae, feugiat in, nunc. Morbi imperdiet augue quis tellus. Praesent mattis, massa quis luctus fermentum, turpis mi volutpat justo, eu volutpat enim diam eget metus. - -### Blockquotes - -> Lorem ipsum dolor sit amet, test link adipiscing elit. Nullam dignissim convallis est. Quisque aliquam. - -## List Types - -### Ordered Lists - -1. Item one - 1. sub item one - 2. sub item two - 3. sub item three -2. Item two - -### Unordered Lists - -* Item one -* Item two -* Item three - -## Tables - -| Header1 | Header2 | Header3 | -|:--------|:-------:|--------:| -| cell1 | cell2 | cell3 | -| cell4 | cell5 | cell6 | -|---- -| cell1 | cell2 | cell3 | -| cell4 | cell5 | cell6 | -|===== -| Foot1 | Foot2 | Foot3 -{: rules="groups"} - -## Code Snippets - -{% highlight css %} -#container { - float: left; - margin: 0 -240px 0 0; - width: 100%; -} -{% endhighlight %} - -## Buttons - -Make any link standout more when applying the `.btn` class. - -{% highlight html %} -Success Button -{% endhighlight %} - - - - - - - -## Notices - -**Watch out!** You can also add notices by appending `{: .notice}` to a paragraph. -{: .notice} diff --git a/jekyll/_posts/2011/2011-05-07-jaudiotagger-logging-levels.md b/jekyll/_posts/2011/2011-05-07-jaudiotagger-logging-levels.md deleted file mode 100644 index 45312c71..00000000 --- a/jekyll/_posts/2011/2011-05-07-jaudiotagger-logging-levels.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: jaudiotagger logging levels - -category: blogger -# Pulled from Blogger. Last updated there on: Sat May 07 21:17:00 IST 2011 ---- -To quickly disable the verbose the logging from the jaudiotagger library just set this at the start of your program.

    Logger.getLogger("org.jaudiotagger").setLevel(Level.OFF); diff --git a/jekyll/_posts/2011/2011-07-28-testlink-automated-tests.md b/jekyll/_posts/2011/2011-07-28-testlink-automated-tests.md deleted file mode 100644 index 65e73719..00000000 --- a/jekyll/_posts/2011/2011-07-28-testlink-automated-tests.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Testlink Automated Tests - -category: blogger -# Pulled from Blogger. Last updated there on: Thu Jul 28 12:40:00 IST 2011 ---- -Looking at how to define automated test cases within the TestLink tool this morning so I installed v1.9.3 painlessly. As per chapter 4 of the Jenkins TestLink Plug-in: The Definitive Guide the trick is to define and assign a 'Custom Field' to record the java class name or testng suite. Since we're not using jenkins I'll probally follow the basic steps and use http://code.google.com/p/testlink-api-java-client/ to pull the details from Testlink within my bamboo build.

    In the testlink/config.inc.php update the following settings to enable the API and enable test automation


    /** XML-RPC API availability (disabled by default) */
    $tlCfg->api->enabled = TRUE;

    /* [Test Executions] */
    // ENABLED -> enable XML-RPC calls to external test automation server new buttons will be displayed on execution pages
    // DISABLED -> disable
    $tlCfg->exec_cfg->enable_test_automation = ENABLED;



    diff --git a/jekyll/_posts/2011/2011-07-28-testlinkapi-missing-custom-fields.md b/jekyll/_posts/2011/2011-07-28-testlinkapi-missing-custom-fields.md deleted file mode 100644 index 109bab3d..00000000 --- a/jekyll/_posts/2011/2011-07-28-testlinkapi-missing-custom-fields.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: TestLinkAPI missing custom fields - -category: blogger -# Pulled from Blogger. Last updated there on: Thu Jul 28 14:56:00 IST 2011 ---- -I have this sample program using the TestLinkAPI v1.9.2-2. I want to return the list of custom fields for a TestLink projects test cases.

    package testlink;

    import br.eti.kinoshita.testlinkjavaapi.TestLinkAPI;
    import br.eti.kinoshita.testlinkjavaapi.TestLinkAPIException;
    import br.eti.kinoshita.testlinkjavaapi.model.TestCase;
    import br.eti.kinoshita.testlinkjavaapi.model.TestSuite;
    import br.eti.kinoshita.testlinkjavaapi.util.Util;

    import java.net.MalformedURLException;
    import java.net.URL;

    /**
    * Hello world!
    * http://testlinkjavaapi.sourceforge.net/sample1.html
    */
    public class App
    {
    public static void main( String[] args )
    {
    System.out.println( "Hello World!" );

    String url = "http://xx/testlink/lib/api/xmlrpc.php";
    String devKey = "xx";
    TestLinkAPI api = null;

    URL testlinkURL = null;

    try
    {
    testlinkURL = new URL(url);
    }
    catch ( MalformedURLException mue )
    {
    mue.printStackTrace( System.err );
    System.exit(-1);
    }

    try
    {
    api = new TestLinkAPI(testlinkURL, devKey);
    }
    catch( TestLinkAPIException te)
    {
    te.printStackTrace( System.err );
    System.exit(-1);
    }

    System.out.println(api.sayHello());
    System.out.println(api.getTestProjectByName("xx"));
    TestSuite suite = api.getFirstLevelTestSuitesForTestProject(new Integer(1))[0];
    TestCase[] testcases = api.getTestCasesForTestSuite(suite.getId(), true, null);
    for(int c = 0;c

    The exported xml output from TestLink for the suite is








































    But the program output is

    Hello!
    TestProject [id=1, name=Touchpoint, prefix=TP, notes=, enableRequirements=true, enableTestPriority=true, enableAutomation=true, enableInventory=true, isActive=true, isPublic=true]
    Install
    TestCase [id=3, name=Import Indexes, testSuiteId=null, testProjectId=null, authorLogin=null, summary=null, steps=[], preconditions=null, testImportance=null, executionType=null, order=100, internalId=null, checkDuplicatedName=null, actionOnDuplicatedName=null, versionId=2, version=null, parentId=2, customFields=[], executionStatus=n]
    n
    []
    TestCase [id=5, name=Import Models, testSuiteId=null, testProjectId=null, authorLogin=null, summary=null, steps=[], preconditions=null, testImportance=null, executionType=null, order=101, internalId=null, checkDuplicatedName=null, actionOnDuplicatedName=null, versionId=2, version=null, parentId=2, customFields=[], executionStatus=n]
    n
    There are no Custom Fields listed. diff --git a/jekyll/_posts/2011/2011-11-24-eclipse-ini.md b/jekyll/_posts/2011/2011-11-24-eclipse-ini.md deleted file mode 100644 index d32e26ab..00000000 --- a/jekyll/_posts/2011/2011-11-24-eclipse-ini.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: eclipse.ini - -category: blogger -# Pulled from Blogger. Last updated there on: Thu Nov 24 08:18:00 GMT 2011 ---- -eclipse.ini as of 24/11/2011


    -startup
    plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
    -showlocation
    --launcher.library
    plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.100.v20110505
    -vm
    /usr/lib/jvm/java-6-sun/jre/lib/amd64/server/libjvm.so
    -product
    com.springsource.sts.ide
    --launcher.defaultAction
    openFile
    -vmargs
    -Xss4m
    -XX:PermSize=246m
    -XX:+CMSClassUnloadingEnabled
    -XX:ReservedCodeCacheSize=128m
    -XX:CompileThreshold=5
    -XX:MaxGCPauseMillis=10
    -XX:MaxHeapFreeRatio=70
    -XX:+UseConcMarkSweepGC
    -XX:+CMSIncrementalMode
    -XX:+CMSIncrementalPacing
    -Dosgi.requiredJavaVersion=1.5
    -Xmn128m
    -Xms1024m
    -Xmx2048m
    -Xss1m
    -XX:PermSize=128m
    -XX:MaxPermSize=512m
    diff --git a/jekyll/_posts/2011/2011-12-15-git-on-a-usb-stick.md b/jekyll/_posts/2011/2011-12-15-git-on-a-usb-stick.md deleted file mode 100644 index 840d758c..00000000 --- a/jekyll/_posts/2011/2011-12-15-git-on-a-usb-stick.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Git on a USB Stick - -category: blogger -# Pulled from Blogger. Last updated there on: Thu Dec 15 13:06:00 GMT 2011 ---- -
    Having loads of hassel the with git, ssh and https access to github.com, so i decided to setup git on a usb stick. I can work away during the day and synch to github at night.

    I followed this tutorial

    http://blog.costan.us/2009/02/synchronizing-git-repositories-without.html

    http://swoes.blogspot.com/2009/02/setting-up-git-offline-work-via-usb.html

    And these are the basic commands i ran.

    mkdir /media/Transcend/git/com_bhaa
    git clone --bare . /media/Transcend/git/com_bhaa/.git

    git remote add usb file:///media/Transcend/git/com_bhaa/.git

    assure@snapdragonubuntu:~/bhaa/zend/trunk/joomla/components/com_bhaa$ git remote -v
    usb file:///media/Transcend/git/com_bhaa/.git (fetch)
    usb file:///media/Transcend/git/com_bhaa/.git (push)

    assure@snapdragonubuntu:~/git/com_bhaa$ git clone file:///media/Transcend/git/com_bhaa/.git .
    Cloning into ....
    remote: Counting objects: 6, done.
    remote: Compressing objects: 100% (4/4), done.
    remote: Total 6 (delta 0), reused 0 (delta 0)
    Receiving objects: 100% (6/6), done.
    assure@snapdragonubuntu:~/git/com_bhaa$ ls
    index.html  router.php

    assure@snapdragonubuntu:~/git/com_bhaa$ git remote add usb file:///media/Transcend/git/com_bhaa/.gitassure@snapdragonubuntu:~/git/com_bhaa$ git pull usb master
    From file:///media/Transcend/git/com_bhaa/
     * branch            master     -> FETCH_HEAD
    Already up-to-date.
    assure@snapdragonubuntu:~/git/com_bhaa$ git remote -v
    origin file:///media/Transcend/git/com_bhaa/.git (fetch)
    origin file:///media/Transcend/git/com_bhaa/.git (push)
    usb file:///media/Transcend/git/com_bhaa/.git (fetch)
    usb file:///media/Transcend/git/com_bhaa/.git (push)



    git clone --bare . /media/Transcend/git/joomala_bhaa.git

    git remote add usb file:///media/Transcend/git/joomala_bhaa.git

    assure@snapdragonubuntu:~/poconnell/code/joomla_bhaa$ git remote -v
    usb file:///media/Transcend/git/joomala_bhaa.git (fetch)
    usb file:///media/Transcend/git/joomala_bhaa.git (push)
    assure@snapdragonubuntu:~/poconnell/code/joomla_bhaa$ git push usb
    Counting objects: 12, done.
    Delta compression using up to 8 threads.
    Compressing objects: 100% (9/9), done.
    Writing objects: 100% (11/11), 2.67 KiB, done.
    Total 11 (delta 0), reused 0 (delta 0)
    Unpacking objects: 100% (11/11), done.
    To file:///media/Transcend/git/joomala_bhaa.git
       9067f85..dbc96e6  master -> master



    diff --git a/jekyll/_posts/2011/2011-12-15-ubuntu-hosts.md b/jekyll/_posts/2011/2011-12-15-ubuntu-hosts.md deleted file mode 100644 index e6a1bad0..00000000 --- a/jekyll/_posts/2011/2011-12-15-ubuntu-hosts.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Ubuntu Hosts - -category: blogger -# Pulled from Blogger. Last updated there on: Thu Dec 15 13:47:00 GMT 2011 ---- -
    assure@snapdragonubuntu:~/bhaa/zend/trunk/application/configs$ more /etc/hosts
    127.0.0.1 localhost.localdomain localhost
    192.158.76.101 snapdragonubuntu
    192.158.76.101 bhaalocal
    192.158.76.101 memberslocal
    192.158.76.101 joomla


    assure@snapdragonubuntu:/etc/apache2/sites-available$ ls -al
    total 44
    drwxrwxrwx 2 root   root   4096 2011-12-06 17:38 .
    drwxr-xr-x 7 root   root   4096 2011-11-15 09:57 ..
    -rw-r--r-- 1 assure assure  282 2011-11-18 16:54 bhaalocal
    -rw-r--r-- 1 root   root    913 2010-02-09 15:37 default
    -rw-r--r-- 1 root   root    913 2010-02-09 15:37 default~
    -rw-r--r-- 1 root   root    950 2010-11-18 21:16 default.dpkg-dist
    -rw-r--r-- 1 root   root   7469 2010-11-18 21:16 default-ssl
    -rw-r--r-- 1 assure assure  299 2011-12-06 17:38 joomla
    -rw-r--r-- 1 assure assure  311 2011-12-06 17:38 joomla~
    -rw-r--r-- 1 assure assure  327 2011-11-18 17:23 memberslocal

    assure@snapdragonubuntu:/etc/apache2/sites-available$ more joomla
    NameVirtualHost joomla:80
    <VirtualHost joomla:80>
    ServerName joomla
    ServerAlias joomla
    ServerAdmin admin@ilove.php
    DocumentRoot /home/assure/bhaa/zend/trunk/joomla
    <Directory /home/assure/bhaa/zend/trunk/joomla>
    Options Indexes FollowSymLinks
    AllowOverride All
    </Directory>
    </VirtualHost>
    assure@snapdragonubuntu:/etc/apache2/sites-available$


    assure@snapdragonubuntu:/etc/apache2/sites-available$ more default
    <VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /home/assure/bhaa/zend/trunk/
    <Directory /home/assure/bhaa/zend/trunk/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
    AllowOverride None
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
    </Directory>

    ErrorLog /var/log/apache2/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel info

    CustomLog /var/log/apache2/access.log combined

        Alias /doc/ "/usr/share/doc/"
        <Directory "/usr/share/doc/">
            Options Indexes MultiViews FollowSymLinks
            AllowOverride None
            Order deny,allow
            Deny from all
            Allow from 127.0.0.0/255.0.0.0 ::1/128
        </Directory>

    </VirtualHost>
    diff --git a/jekyll/_posts/2011/2011-12-18-racetec-notes.md b/jekyll/_posts/2011/2011-12-18-racetec-notes.md deleted file mode 100644 index a83bb711..00000000 --- a/jekyll/_posts/2011/2011-12-18-racetec-notes.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: RaceTec Notes - -category: blogger -# Pulled from Blogger. Last updated there on: Sun Dec 18 17:57:00 GMT 2011 ---- -A Race can have multiple events, each event has race numbers, splits, categories

    Splits/Laps

    Waves - gun start, seeding and batches.

    Teams

    Gun Time - time of finish line read
    Net Time - finish - start time. In event setup set finish time = net time option. diff --git a/jekyll/_posts/2011/2011-12-18-rfid-ultra-notes.md b/jekyll/_posts/2011/2011-12-18-rfid-ultra-notes.md deleted file mode 100644 index aebf7036..00000000 --- a/jekyll/_posts/2011/2011-12-18-rfid-ultra-notes.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: RFID Ultra Notes - -category: blogger -# Pulled from Blogger. Last updated there on: Sun Dec 18 17:42:00 GMT 2011 ---- -Modes

    • Start - reads chip once per second. 1 second gating.
    • Finish - reads 30 times per second with signal strength identify best time
    Gating
    • Per Reader - two times from reader
    • Per Box - Single first read time only
    • First Time Seen 
    LCD Display

    Time                                                     Last Chip Code
    Signal Strength       Voltage        Gating Mode & Interval
    Antenna              Mode & Session               Chip Reads

    Gating Mode & Interval : R (per Reader) or B (per Box) 1 (seconds gating)
    Antenna : 1 (on) 0 (off) for each antenna
    Reader Mode & Session : S (Start) or F (Finish). Session ID
    diff --git a/jekyll/_posts/2011/2011-12-19-barcodes.md b/jekyll/_posts/2011/2011-12-19-barcodes.md deleted file mode 100644 index b5ec051f..00000000 --- a/jekyll/_posts/2011/2011-12-19-barcodes.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: Barcodes - -category: blogger -published: true ---- - -C39 ![http://www.barcodesinc.com/generator](http://www.barcodesinc.com/generator/image.php?code=1001&style=197&type=C39&width=300&height=100&xres=2&font=3) - -C128A ![http://www.barcodesinc.com/generator](http://www.barcodesinc.com/generator/image.php?code=1001&style=197&type=C128A&width=300&height=100&xres=2&font=3) - -C128B ![http://www.barcodesinc.com/generator](http://www.barcodesinc.com/generator/image.php?code=1001&style=197&type=C128B&width=300&height=100&xres=2&font=3) - -C128C ![http://www.barcodesinc.com/generator](http://www.barcodesinc.com/generator/image.php?code=1001&style=197&type=C128C&width=300&height=100&xres=2&font=3) diff --git a/jekyll/_posts/2011/2011-12-23-racetec-event-setup.md b/jekyll/_posts/2011/2011-12-23-racetec-event-setup.md deleted file mode 100644 index 597a1227..00000000 --- a/jekyll/_posts/2011/2011-12-23-racetec-event-setup.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Racetec Event Setup - -category: blogger -# Pulled from Blogger. Last updated there on: Fri Dec 23 10:36:00 GMT 2011 ---- -Racetec Event Setup Tutorial
    A guide to setting up and configuring an event and races in Racetec.


    1. Event Basics
    2. The event name and date, with the number range.
    3. Event Advanced

    1. Step 3

    diff --git a/jekyll/_posts/2011/2011-12-24-marathon-time-progression.md b/jekyll/_posts/2011/2011-12-24-marathon-time-progression.md deleted file mode 100644 index 3983e881..00000000 --- a/jekyll/_posts/2011/2011-12-24-marathon-time-progression.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Marathon Time Progression - -category: blogger -# Pulled from Blogger. Last updated there on: Sat Dec 24 21:25:00 GMT 2011 ---- -
    Stockholm 2002 1/7/2002 3:30:00
    Zurich 2003 1/5/2003 3:01:09
    Berlin 2004 1/8/2004 3:00:00
    Rotterdam 2005 1/4/0205 2:44:44
    Zurich 2006 1/5/2006 3:02:20
    Dublin 2006 31/10/2006 2:56:38
    Cork 2007 1/6/2007 3:00:00
    Dublin 2008 31/10/2008 3:52:53
    Dublin 2009 31/10/2009 2:57:05
    Dublin 2011 31/10/2011 2:43:02
    diff --git a/jekyll/_posts/2011/2011-12-29-racetec-registration-file-import-mapping.md b/jekyll/_posts/2011/2011-12-29-racetec-registration-file-import-mapping.md deleted file mode 100644 index e41c1587..00000000 --- a/jekyll/_posts/2011/2011-12-29-racetec-registration-file-import-mapping.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: RaceTec Registration File Import Mapping - -category: blogger -# Pulled from Blogger. Last updated there on: Thu Dec 29 10:34:00 GMT 2011 ---- -A list of the possible Athlete and Event mappings that RaceTec allows
    diff --git a/jekyll/_posts/2011/2011-12-30-dec-30th-2011.md b/jekyll/_posts/2011/2011-12-30-dec-30th-2011.md deleted file mode 100644 index f05fc411..00000000 --- a/jekyll/_posts/2011/2011-12-30-dec-30th-2011.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Dec 30th 2011 - -category: blogger -# Pulled from Blogger. Last updated there on: Fri Dec 30 23:34:00 GMT 2011 ---- -There will be one blog from now on so i merged the content of cycleaustralia.blogspot.com adventurtures-of-a-slite-300.blogspot.com to emeraldjava.blogspot.com, it was quite easy once i found the blogspot import export tool. Added the next 7 bhaa event and story details to glfusion. Having some trouble trying to create a function on the mysql instance on the mac. And the Rover decided it didn't want to start this evening, so the plan evening run in dublin had to be cancelled. diff --git a/jekyll/_posts/2011/2011-12-30-monthly-km's.md b/jekyll/_posts/2011/2011-12-30-monthly-km's.md deleted file mode 100644 index da5feafe..00000000 --- a/jekyll/_posts/2011/2011-12-30-monthly-km's.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Monthly Km's - -category: blogger -# Pulled from Blogger. Last updated there on: Fri Dec 30 11:49:00 GMT 2011 ---- -Details of the monthly km's ran in 2011. The plan is to update the 2012 details here. September sticks out like a sore thumb with the madness of wisdom tooth removal. diff --git a/jekyll/_posts/2012/2012-01-17-phpunit-and-pear.md b/jekyll/_posts/2012/2012-01-17-phpunit-and-pear.md deleted file mode 100644 index 828bae68..00000000 --- a/jekyll/_posts/2012/2012-01-17-phpunit-and-pear.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: phpunit and PEAR - -category: blogger -# Pulled from Blogger. Last updated there on: Tue Jan 17 15:30:00 GMT 2012 ---- -Back on the php unit tsting buzz today but when i ran 'phpunit' is got this

        assure@snapdragonubuntu:~/bhaa/zend/trunk$ phpunit PHP Warning:   require_once(PHP/CodeCoverage/Filter.php): failed to open stream: No such file or directory in /usr/bin/phpunit on line 38 PHP Fatal error: require_once(): Failed opening required 'PHP/CodeCoverage/Filter.php' (include_path='.:/usr/share/php:/usr/share/pear') in /usr/bin/phpunit on line 38 

    The first solution is to include the php code coverage tool

    http://stackoverflow.com/questions/1528717/phpunit-require-once-error 

    Once installed, try again but

    assure@snapdragonubuntu:~$ phpunit --help PHP Fatal error: Call to undefined method PHP_CodeCoverage_Filter::getInstance() in /usr/bin/phpunit on line 39

    It seems that the version of phpunit was fairly old so i followed

    http://superuser.com/questions/55055/how-to-install-an-updated-version-of-pear-phpunit-on-ubuntu

    and updated PEAR and phpunit

    assure@snapdragonubuntu:~$ pear list -c phpunit
    Installed packages, channel pear.phpunit.de: ============================================ Package Version State File_Iterator 1.3.1 stable PHPUnit 3.6.7 stable PHPUnit_MockObject 1.1.0 stable PHP_CodeCoverage 1.1.1 stable PHP_Invoker 1.0.1 stable PHP_Timer 1.0.2 stable PHP_TokenStream 1.1.2 stable

    I also added the phpunit to the include_php in my php.ini file diff --git a/jekyll/_posts/2012/2012-02-16-joomla.md b/jekyll/_posts/2012/2012-02-16-joomla.md deleted file mode 100644 index b495b5c3..00000000 --- a/jekyll/_posts/2012/2012-02-16-joomla.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Joomla - -category: blogger -# Pulled from Blogger. Last updated there on: Thu Feb 16 08:57:00 GMT 2012 ---- -This post is intended to become a cheat sheet for joomla 2.5+ customisation.

    Templates
    - in dir ${root}/templates/{beez_20}
    - positions 0..14 defined in the templateDetails.xml
    - html defined in index.php, with associated css, images and javascript styles

    http://www.greenmaven.com/

    Tutorials
    http://www.siteground.com/tutorials/joomla25 diff --git a/jekyll/_posts/2012/2012-02-29-national-half-marathon-2011-anaylsis.md b/jekyll/_posts/2012/2012-02-29-national-half-marathon-2011-anaylsis.md deleted file mode 100644 index effa67b7..00000000 --- a/jekyll/_posts/2012/2012-02-29-national-half-marathon-2011-anaylsis.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: National Half Marathon 2011 Anaylsis - -category: blogger -# Pulled from Blogger. Last updated there on: Wed Feb 29 13:01:00 GMT 2012 ---- -
    With the Meath Half coming up this weekend I decided to look at my split from the last good half I ran last yesterday in Waterford. At the time I was in the middle of the marathon training program and tapered well for the week before the race

    Split Moving Time
    1 3:13.4
    2 3:20.5
    3 3:16.1
    4 3:26.3
    5 3:23.6
    6 3:23.1
    7 3:29.1
    8 3:20.9
    9 3:24.2
    10 3:20.3
    11 3:22.7
    12 3:09.2
    13 3:20.3
    14 3:31.5
    15 3:13.1
    16 3:28.5
    17 3:14.4
    18 3:18.1
    19 3:17.5
    20 3:20.3
    21 3:18.7

    The time splits at the main 5km markers were

    16:40
    33:38
    50:14
    66:53

    which indicates these 5km splits time

    16:40
    16:58
    16:37
    16:39

    I remember taking it out handy enough and was in a good position to push on in the second half of the race. Looking at the 5km splits now the 1st, 3rd and 4th splits are all similar enough with a diff of 3seconds between them. At the end of the race I was a bit disappointed to have come that close to the 70min barrier. Perhaps the day dreaming in the 2nd 5km section was were the time was lost. The overall time of 1h 10m 15sec which is the current half PB.


    In terms of this weekend I'm not 100% sure about the right hamstring but I think the course and potentially the runners in the field could make this a fast course. Will see in the coming days if a new PB time will be targeted.
    diff --git a/jekyll/_posts/2012/2012-03-05-joomla-admin-component.md b/jekyll/_posts/2012/2012-03-05-joomla-admin-component.md deleted file mode 100644 index 7d46c9de..00000000 --- a/jekyll/_posts/2012/2012-03-05-joomla-admin-component.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Joomla Admin Component - -category: blogger -# Pulled from Blogger. Last updated there on: Mon Mar 05 14:29:00 GMT 2012 ---- -The aim of this blog is to outline the structure and files that make up a custom joomla 2.5 component, the impact of the naming convention and which core joomla classes the various layers extend from. In the example the component name is 'abc' and the its main focus is on CRUD operations on a book entity.

    diff --git a/jekyll/_posts/2012/2012-03-26-the-best-10k-workout---week-1.md b/jekyll/_posts/2012/2012-03-26-the-best-10k-workout---week-1.md deleted file mode 100644 index 2afb2787..00000000 --- a/jekyll/_posts/2012/2012-03-26-the-best-10k-workout---week-1.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: The Best 10K Workout - Week 1 - -category: blogger -# Pulled from Blogger. Last updated there on: Mon Mar 26 15:19:00 IST 2012 ---- -The first of the 10km specific sessions was a 6 times 1 mile with 3 mins recovery. I did a 15min warmup 

    Lap Mile Pace
    1 5:25.3 3:23
    2 5:14.0 3:16
    3 5:12.3 3:15
    4 5:17.5 3:18
    5 5:23.8 3:22
    6 5:29.8 3:26

    10 min cool down. http://connect.garmin.com/activity/160477117

    Looking at the times i should have done some strides before the first one, since the 10s diff between 1 and 2 is too much. Over the 6 laps the average pass was 3.20 which indicates a 33.3x 10km time. Need to get the finger out for the next scheduled session which is 1*2Mile + 4*1Mile on thursday.

    The schedule is outlined here http://runningtimes.com/Article.aspx?ArticleID=19553 diff --git a/jekyll/_posts/2012/2012-03-31-the-best-10k-workout---week-2.md b/jekyll/_posts/2012/2012-03-31-the-best-10k-workout---week-2.md deleted file mode 100644 index 76086fa9..00000000 --- a/jekyll/_posts/2012/2012-03-31-the-best-10k-workout---week-2.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: The Best 10K Workout - Week 2 - -category: blogger -# Pulled from Blogger. Last updated there on: Sat Mar 31 23:01:00 IST 2012 ---- -
    Week 2 was supposed to be Thursday but got moved to Sat evening after a near disaster with the BHAA DCC ladies chip timing. The lap was around Bushy Park


     1,5:19,1.60,3:20
     2,5:19,1.60,3:19
     3,5:16,1.60,3:18
     4,5:15,1.60,3:16
     5,5:24,1.60,3:22
     6,5:18,1.60,13:19


    In general it seemed a bit more consistent but lap 5 stands out as lacking concentration.




    diff --git a/jekyll/_posts/2012/2012-04-05-the-best-10k-workout---week-3.md b/jekyll/_posts/2012/2012-04-05-the-best-10k-workout---week-3.md deleted file mode 100644 index 08e15c9c..00000000 --- a/jekyll/_posts/2012/2012-04-05-the-best-10k-workout---week-3.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: The Best 10K Workout - Week 3 - -category: blogger -# Pulled from Blogger. Last updated there on: Thu Apr 05 23:28:00 IST 2012 ---- -We supposed to be 1*2Mile and then 4*1mile but having created the garmin workouts i discovered that only one workout can be downloaded. The downloaded workout was 6*1mile - here are the details


    Split,Time,Distance,Elevation+,Elevation-,Avg Pace,Avg Moving Pace,Best Pace,Avg HR,Max HR
     1,5:10.1,1.60,4,6,3:14,3:11,2:41,157,169,
     2,5:10.9,1.60,9,8,3:14,3:11,2:31,161,173,
     3,5:11.0,1.60,9,9,3:14,3:12,2:36,163,174,
     4,5:11.5,1.60,8,8,3:15,3:14,2:28,163,173,
     4,5:14.5,1.60,7,7,3:17,3:14,2:37,163,170,
     6,5:19.5,1.60,8,7,3:20,3:18,2:34,161,170,
     Summary,48:36.9,47:17.0,11.36,45,47,4:17,4:10,2:28,145,174

    Was surprised by the simular times of the first four, usual fifth slowdown and had idea that the sixth might have been quicker but the overall times are quicker.

    http://connect.garmin.com/activity/165003822

    These UCD tuesdays sessions might be paying some dividend. 10miler in ballyliffin this weekend. First of the 2mile sessions next week - am tempted to jump to 2*2M+2*1M.



    diff --git a/jekyll/_posts/2012/2012-04-10-10-mile.md b/jekyll/_posts/2012/2012-04-10-10-mile.md deleted file mode 100644 index af9470b1..00000000 --- a/jekyll/_posts/2012/2012-04-10-10-mile.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: 10 Mile - -category: blogger -# Pulled from Blogger. Last updated there on: Tue Apr 10 17:45:00 IST 2012 ---- -
    16/8/2008 Frank Duffy 0:03:33 10 0:56:48 19th    0:03:33
    16/08/2009 Frank Duffy 0:03:21 10 0:53:38 5th    0:03:21
    21/08/2010 Frank Duffy 0:03:26 10 0:55:04 16th 0:03:26
    20/8/2011 Frank Duffy 0:03:23 10 0:54:19 18th 0:03:23
    7/4/2012         Ballyliffin 0:03:29         10 0:55:49 2nd    0:03:29
    diff --git a/jekyll/_posts/2012/2012-04-10-ballyliffin-10-mile-2012.md b/jekyll/_posts/2012/2012-04-10-ballyliffin-10-mile-2012.md deleted file mode 100644 index f751f8af..00000000 --- a/jekyll/_posts/2012/2012-04-10-ballyliffin-10-mile-2012.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Ballyliffin 10 Mile 2012 - -category: blogger -# Pulled from Blogger. Last updated there on: Tue Apr 10 17:55:00 IST 2012 ---- -Ballyliffin 10M


    Split Time Moving Time Distance Elevation Gain Elevation Loss Avg Pace Avg HR
    1 3:09.5 3:05 1 0 31 3:09 141
    2 3:24.5 3:24 1 0 1 3:24 156
    3 3:29.7 3:30 1 0 4 3:30 159
    4 3:28.0 3:28 1 7 6 3:28 160
    5 3:41.4 3:42 1 21 0 3:41 165
    6 3:30.8 3:30 1 12 14 3:31 165
    7 3:24.9 3:25 1 0 17 3:25 169
    8 3:42.5 3:43 1 0 3 3:43 168
    9 3:58.9 4:00 1 22 0 3:59 168
    10 3:25.6 3:18 1 0 19 3:26 165
    11 4:11.5 4:12 1 16 0 4:11 171
    12 3:50.2 3:51 1 14 0 3:50 169
    13 3:16.0 3:11 1 0 32 3:16 168
    14 3:17.4 3:17 1 0 3 3:17 175
    15 3:23.7 3:25 1 1 0 3:24 176
    16 2:35.0 2:30 0.72 0 0 3:34 175
    Summary 55:49.6 55:31.0 15.72 95 130 3:33 166


    The garmin details

    diff --git a/jekyll/_posts/2012/2012-04-11-pear-and-phpunit.md b/jekyll/_posts/2012/2012-04-11-pear-and-phpunit.md deleted file mode 100644 index 781ba32d..00000000 --- a/jekyll/_posts/2012/2012-04-11-pear-and-phpunit.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Pear and phpunit - -category: blogger -# Pulled from Blogger. Last updated there on: Wed Apr 11 16:34:00 IST 2012 ---- -Update PEAR to the latest PHPUnit version


        sudo pear upgrade PEAR
        sudo pear config-set auto_discover 1
        sudo pear install pear.phpunit.de/PHPUnit


    from http://stackoverflow.com/questions/1528717/phpunit-require-once-error the files are installed to

    /usr/share/php

    which should contain

    assure@snapdragonubuntu:/usr/share/php$ ls -al PHPUnit/
    drwxr-xr-x  7 root root  4096 2012-01-17 14:28 .
    -rw-r--r--  1 root root 13302 2012-01-17 14:28 Autoload.php
    drwxr-xr-x  4 root root  4096 2012-01-17 14:28 Extensions
    drwxr-xr-x  9 root root  4096 2012-01-17 14:28 Framework
    drwxr-xr-x  2 root root  4096 2012-01-17 14:28 Runner
    drwxr-xr-x  2 root root  4096 2012-01-17 14:28 TextUI
    drwxr-xr-x  7 root root  4096 2012-01-17 14:28 Util


    The versions can be verified by

    pear list -c phpunit
    Installed packages, channel pear.phpunit.de:
    ============================================
    Package            Version State
    File_Iterator      1.3.1   stable
    PHPUnit            3.6.7   stable
    PHPUnit_MockObject 1.1.1   stable
    PHP_CodeCoverage   1.1.2   stable
    PHP_Invoker        1.0.1   stable
    PHP_Timer          1.0.2   stable
    PHP_TokenStream    1.1.3   stable
    Text_Template      1.1.1   stable


    Ensure the php.ini files have this path on the include path

        /etc/php5/apache2/php.ini
        /etc/php5/cli/php.ini

    should both include the PEAR php share libraries

        ; UNIX: "/path1:/path2"
        include_path = ".:/usr/share/php"


    diff --git a/jekyll/_posts/2012/2012-05-09-updating-my-cv-with-hresume,-twitter-bootstrap-and-github.md b/jekyll/_posts/2012/2012-05-09-updating-my-cv-with-hresume,-twitter-bootstrap-and-github.md deleted file mode 100644 index ddee075a..00000000 --- a/jekyll/_posts/2012/2012-05-09-updating-my-cv-with-hresume,-twitter-bootstrap-and-github.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Updating my CV with hresume, twitter bootstrap and github - -category: blogger -# Pulled from Blogger. Last updated there on: Wed May 09 17:40:00 IST 2012 ---- -I've always found updating the format of my CV quite a pain, and during the most recent review of my CV is decided that an XML based approach would be the best.

    First step was to convert the details in my existing word doc cv to a XML format. I looked at xml resume format but decided to use the hr-xml format in the end.

    Next step is to use a xsl transform to convert the xml into an output format. While researching the transforms I found the hresume mircoformat which seems well supported. Madgex provide a tool for converting a html format into a PDF/Word format which solved one of my problems.

    In order to ensure a level of sanity to the html layout and fonts, i decided to reuse the twitter-bootstrap resources.

    While working on the xml cv file and xsl transform i used my github repository to track changes. The final piece of the puzzle was where to host the generated html resume file. I found that github provided this via the gh-pages branch which allows a file to be served as raw html to a browser.

    The hresume html is hosted here and the madgex pdf is linked on the right hand column of this blog. Now to get the CV out to the market. diff --git a/jekyll/_posts/2012/2012-05-22-readability-post.md b/jekyll/_posts/2012/2012-05-22-readability-post.md deleted file mode 100644 index 9b0453b3..00000000 --- a/jekyll/_posts/2012/2012-05-22-readability-post.md +++ /dev/null @@ -1,44 +0,0 @@ ---- - -title: "Testing Readability with a Bunch of Text" -excerpt: "A ton of text to test readability." -tags: [sample post, readability, test] -comments: true ---- - -Portland in shoreditch Vice, labore typewriter pariatur hoodie fap sartorial Austin. Pinterest literally occupy Schlitz forage. Odio ad blue bottle vinyl, 90's narwhal commodo bitters pour-over nostrud. Ugh est hashtag in, fingerstache adipisicing laboris esse Pinterest shabby chic Portland. Shoreditch bicycle rights anim, flexitarian laboris put a bird on it vinyl cupidatat narwhal. Hashtag artisan skateboard, flannel Bushwick nesciunt salvia aute fixie do plaid post-ironic dolor McSweeney's. Cliche pour-over chambray nulla four loko skateboard sapiente hashtag. - -Vero laborum commodo occupy. Semiotics voluptate mumblecore pug. Cosby sweater ullamco quinoa ennui assumenda, sapiente occupy delectus lo-fi. Ea fashion axe Marfa cillum aliquip. Retro Bushwick keytar cliche. Before they sold out sustainable gastropub Marfa readymade, ethical Williamsburg skateboard brunch qui consectetur gentrify semiotics. Mustache cillum irony, fingerstache magna pour-over keffiyeh tousled selfies. - -## Cupidatat 90's lo-fi authentic try-hard - -In pug Portland incididunt mlkshk put a bird on it vinyl quinoa. Terry Richardson shabby chic +1, scenester Tonx excepteur tempor fugiat voluptate fingerstache aliquip nisi next level. Farm-to-table hashtag Truffaut, Odd Future ex meggings gentrify single-origin coffee try-hard 90's. - -* Sartorial hoodie -* Labore viral forage -* Tote bag selvage -* DIY exercitation et id ugh tumblr church-key - -Incididunt umami sriracha, ethical fugiat VHS ex assumenda yr irure direct trade. Marfa Truffaut bicycle rights, kitsch placeat Etsy kogi asymmetrical. Beard locavore flexitarian, kitsch photo booth hoodie plaid ethical readymade leggings yr. - -Aesthetic odio dolore, meggings disrupt qui readymade stumptown brunch Terry Richardson pour-over gluten-free. Banksy american apparel in selfies, biodiesel flexitarian organic meh wolf quinoa gentrify banjo kogi. Readymade tofu ex, scenester dolor umami fingerstache occaecat fashion axe Carles jean shorts minim. Keffiyeh fashion axe nisi Godard mlkshk dolore. Lomo you probably haven't heard of them eu non, Odd Future Truffaut pug keytar meggings McSweeney's Pinterest cred. Etsy literally aute esse, eu bicycle rights qui meggings fanny pack. Gentrify leggings pug flannel duis. - -## Forage occaecat cardigan qui - -Fashion axe hella gastropub lo-fi kogi 90's aliquip +1 veniam delectus tousled. Cred sriracha locavore gastropub kale chips, iPhone mollit sartorial. Anim dolore 8-bit, pork belly dolor photo booth aute flannel small batch. Dolor disrupt ennui, tattooed whatever salvia Banksy sartorial roof party selfies raw denim sint meh pour-over. Ennui eu cardigan sint, gentrify iPhone cornhole. - -> Whatever velit occaecat quis deserunt gastropub, leggings elit tousled roof party 3 wolf moon kogi pug blue bottle ea. Fashion axe shabby chic Austin quinoa pickled laborum bitters next level, disrupt deep v accusamus non fingerstache. - -Tote bag asymmetrical elit sunt. Occaecat authentic Marfa, hella McSweeney's next level irure veniam master cleanse. Sed hoodie letterpress artisan wolf leggings, 3 wolf moon commodo ullamco. Anim occupy ea labore Terry Richardson. Tofu ex master cleanse in whatever pitchfork banh mi, occupy fugiat fanny pack Austin authentic. Magna fugiat 3 wolf moon, labore McSweeney's sustainable vero consectetur. Gluten-free disrupt enim, aesthetic fugiat jean shorts trust fund keffiyeh magna try-hard. - -## Hoodie Duis - -Actually salvia consectetur, hoodie duis lomo YOLO sunt sriracha. Aute pop-up brunch farm-to-table odio, salvia irure occaecat. Sriracha small batch literally skateboard. Echo Park nihil hoodie, aliquip forage artisan laboris. Trust fund reprehenderit nulla locavore. Stumptown raw denim kitsch, keffiyeh nulla twee dreamcatcher fanny pack ullamco 90's pop-up est culpa farm-to-table. Selfies 8-bit do pug odio. - -### Thundercats Ho! - -Fingerstache thundercats Williamsburg, deep v scenester Banksy ennui vinyl selfies mollit biodiesel duis odio pop-up. Banksy 3 wolf moon try-hard, sapiente enim stumptown deep v ad letterpress. Squid beard brunch, exercitation raw denim yr sint direct trade. Raw denim narwhal id, flannel DIY McSweeney's seitan. Letterpress artisan bespoke accusamus, meggings laboris consequat Truffaut qui in seitan. Sustainable cornhole Schlitz, twee Cosby sweater banh mi deep v forage letterpress flannel whatever keffiyeh. Sartorial cred irure, semiotics ethical sed blue bottle nihil letterpress. - -Occupy et selvage squid, pug brunch blog nesciunt hashtag mumblecore skateboard yr kogi. Ugh small batch swag four loko. Fap post-ironic qui tote bag farm-to-table american apparel scenester keffiyeh vero, swag non pour-over gentrify authentic pitchfork. Schlitz scenester lo-fi voluptate, tote bag irony bicycle rights pariatur vero Vice freegan wayfarers exercitation nisi shoreditch. Chambray tofu vero sed. Street art swag literally leggings, Cosby sweater mixtape PBR lomo Banksy non in pitchfork ennui McSweeney's selfies. Odd Future Banksy non authentic. - -Aliquip enim artisan dolor post-ironic. Pug tote bag Marfa, deserunt pour-over Portland wolf eu odio intelligentsia american apparel ugh ea. Sunt viral et, 3 wolf moon gastropub pug id. Id fashion axe est typewriter, mlkshk Portland art party aute brunch. Sint pork belly Cosby sweater, deep v mumblecore kitsch american apparel. Try-hard direct trade tumblr sint skateboard. Adipisicing bitters excepteur biodiesel, pickled gastropub aute veniam. diff --git a/jekyll/_posts/2012/2012-05-28-bhaa-wordpress-schema-erd.md b/jekyll/_posts/2012/2012-05-28-bhaa-wordpress-schema-erd.md deleted file mode 100644 index 4a22b6a3..00000000 --- a/jekyll/_posts/2012/2012-05-28-bhaa-wordpress-schema-erd.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: BHAA Wordpress Schema ERD - -category: blogger -# Pulled from Blogger. Last updated there on: Mon May 28 16:06:00 IST 2012 ---- -Using yuml to outline how the existing BHAA schema tables might interact with the wordpress tables. The 'user' is faily simple but how we handle 'events' will be a discussion point. Tables ending in '_Q' are questionable. diff --git a/jekyll/_posts/2013/2013-05-22-sample-post-images.md b/jekyll/_posts/2013/2013-05-22-sample-post-images.md deleted file mode 100644 index 815e46e7..00000000 --- a/jekyll/_posts/2013/2013-05-22-sample-post-images.md +++ /dev/null @@ -1,62 +0,0 @@ ---- - -title: "A Post with Images" -excerpt: "Examples and code for displaying images in posts." -tags: [sample post, images, test] -comments: true ---- - -Here are some examples of what a post with images might look like. If you want to display two or three images next to each other responsively use `figure` with the appropriate `class`. Each instance of `figure` is auto-numbered and displayed in the caption. - -### Figures (for images or video) - -#### One Up - -
    - -
    Morning Fog Emerging From Trees by A Guy Taking Pictures, on Flickr.
    -
    - -Vero laborum commodo occupy. Semiotics voluptate mumblecore pug. Cosby sweater ullamco quinoa ennui assumenda, sapiente occupy delectus lo-fi. Ea fashion axe Marfa cillum aliquip. Retro Bushwick keytar cliche. Before they sold out sustainable gastropub Marfa readymade, ethical Williamsburg skateboard brunch qui consectetur gentrify semiotics. Mustache cillum irony, fingerstache magna pour-over keffiyeh tousled selfies. - -#### Two Up - -Apply the `half` class like so to display two images side by side that share the same caption. - -{% highlight html %} -
    - - -
    Caption describing these two images.
    -
    -{% endhighlight %} - -And you'll get something that looks like this: - -
    - - -
    Two images.
    -
    - -#### Three Up - -Apply the `third` class like so to display three images side by side that share the same caption. - -{% highlight html %} -
    - - - -
    Caption describing these three images.
    -
    -{% endhighlight %} - -And you'll get something that looks like this: - -
    - - - -
    Three images.
    -
    diff --git a/jekyll/_posts/2013/2013-05-23-readability-feature-post.md b/jekyll/_posts/2013/2013-05-23-readability-feature-post.md deleted file mode 100644 index b1d81280..00000000 --- a/jekyll/_posts/2013/2013-05-23-readability-feature-post.md +++ /dev/null @@ -1,50 +0,0 @@ ---- - -title: "Post with Large Feature Image and Text" -excerpt: "Custom written post descriptions are the way to go... if you're not lazy." -tags: [sample post, readability, test] -comments: true -image: - feature: sample-image-4.jpg - credit: WeGraphics - creditlink: http://wegraphics.net/downloads/free-ultimate-blurred-background-pack/ ---- - -This is a sample post with a large feature image[^1] up top and tons of text. Odio ad blue bottle vinyl, 90's narwhal commodo bitters pour-over nostrud. Ugh est hashtag in, fingerstache adipisicing laboris esse Pinterest shabby chic Portland. Shoreditch bicycle rights anim, flexitarian laboris put a bird on it vinyl cupidatat narwhal. Hashtag artisan skateboard, flannel Bushwick nesciunt salvia aute fixie do plaid post-ironic dolor McSweeney's. Cliche pour-over chambray nulla four loko skateboard sapiente hashtag. - -Vero laborum commodo occupy. Semiotics voluptate mumblecore pug. Cosby sweater ullamco quinoa ennui assumenda, sapiente occupy delectus lo-fi. *Ea fashion axe [Marfa cillum aliquip](#). Retro Bushwick keytar cliche.* Before they sold out sustainable gastropub Marfa readymade, ethical Williamsburg skateboard brunch qui consectetur gentrify semiotics. Mustache cillum irony, fingerstache magna pour-over keffiyeh tousled selfies. - -## Cupidatat 90's lo-fi authentic try-hard - -In pug Portland incididunt mlkshk put a bird on it vinyl quinoa. **[Terry Richardson](#) shabby chic +1**, scenester Tonx excepteur tempor fugiat voluptate fingerstache aliquip nisi next level. Farm-to-table hashtag Truffaut, Odd Future ex meggings gentrify single-origin coffee try-hard 90's. - -* Sartorial hoodie -* Labore viral forage -* Tote bag selvage -* DIY exercitation et id ugh tumblr church-key - -Incididunt umami sriracha, ethical fugiat VHS ex assumenda yr irure direct trade. Marfa Truffaut bicycle rights, kitsch placeat Etsy kogi asymmetrical. Beard locavore flexitarian, kitsch photo booth hoodie plaid ethical readymade leggings yr. - -Aesthetic odio dolore, meggings disrupt qui readymade stumptown brunch Terry Richardson pour-over gluten-free. Banksy american apparel in selfies, biodiesel flexitarian organic meh wolf quinoa gentrify banjo kogi. Readymade tofu ex, scenester dolor umami fingerstache occaecat fashion axe Carles jean shorts minim. Keffiyeh fashion axe nisi Godard mlkshk dolore. Lomo you probably haven't heard of them eu non, Odd Future Truffaut pug keytar meggings McSweeney's Pinterest cred. Etsy literally aute esse, eu bicycle rights qui meggings fanny pack. Gentrify leggings pug flannel duis. - -## Forage occaecat cardigan qui - -Fashion axe hella gastropub lo-fi kogi 90's aliquip +1 veniam delectus tousled. Cred sriracha locavore gastropub kale chips, iPhone mollit sartorial. Anim dolore 8-bit, pork belly dolor photo booth aute flannel small batch. Dolor disrupt ennui, tattooed whatever salvia Banksy sartorial roof party selfies raw denim sint meh pour-over. Ennui eu cardigan sint, gentrify iPhone cornhole. - -> Whatever velit occaecat quis deserunt gastropub, leggings elit tousled roof party 3 wolf moon kogi pug blue bottle ea. Fashion axe shabby chic Austin quinoa pickled laborum bitters next level, disrupt deep v accusamus non fingerstache. - -Tote bag asymmetrical elit sunt. Occaecat authentic Marfa, hella McSweeney's next level irure veniam master cleanse. Sed hoodie letterpress artisan wolf leggings, 3 wolf moon commodo ullamco. Anim occupy ea labore Terry Richardson. Tofu ex master cleanse in whatever pitchfork banh mi, occupy fugiat fanny pack Austin authentic. Magna fugiat 3 wolf moon, labore McSweeney's sustainable vero consectetur. Gluten-free disrupt enim, aesthetic fugiat jean shorts trust fund keffiyeh magna try-hard. - -## Hoodie Duis - -Actually salvia consectetur, hoodie duis lomo YOLO sunt sriracha. Aute pop-up brunch farm-to-table odio, salvia irure occaecat. Sriracha small batch literally skateboard. Echo Park nihil hoodie, aliquip forage artisan laboris. Trust fund reprehenderit nulla locavore. Stumptown raw denim kitsch, keffiyeh nulla twee dreamcatcher fanny pack ullamco 90's pop-up est culpa farm-to-table. Selfies 8-bit do pug odio. - -### Thundercats Ho! - -Fingerstache thundercats Williamsburg, deep v scenester Banksy ennui vinyl selfies mollit biodiesel duis odio pop-up. Banksy 3 wolf moon try-hard, sapiente enim stumptown deep v ad letterpress. Squid beard brunch, exercitation raw denim yr sint direct trade. Raw denim narwhal id, flannel DIY McSweeney's seitan. Letterpress artisan bespoke accusamus, meggings laboris consequat Truffaut qui in seitan. Sustainable cornhole Schlitz, twee Cosby sweater banh mi deep v forage letterpress flannel whatever keffiyeh. Sartorial cred irure, semiotics ethical sed blue bottle nihil letterpress. - -Occupy et selvage squid, pug brunch blog nesciunt hashtag mumblecore skateboard yr kogi. Ugh small batch swag four loko. Fap post-ironic qui tote bag farm-to-table american apparel scenester keffiyeh vero, swag non pour-over gentrify authentic pitchfork. Schlitz scenester lo-fi voluptate, tote bag irony bicycle rights pariatur vero Vice freegan wayfarers exercitation nisi shoreditch. Chambray tofu vero sed. Street art swag literally leggings, Cosby sweater mixtape PBR lomo Banksy non in pitchfork ennui McSweeney's selfies. Odd Future Banksy non authentic. - -Aliquip enim artisan dolor post-ironic. Pug tote bag Marfa, deserunt pour-over Portland wolf eu odio intelligentsia american apparel ugh ea. Sunt viral et, 3 wolf moon gastropub pug id. Id fashion axe est typewriter, mlkshk Portland art party aute brunch. Sint pork belly Cosby sweater, deep v mumblecore kitsch american apparel. Try-hard direct trade tumblr sint skateboard. Adipisicing bitters excepteur biodiesel, pickled gastropub aute veniam. - -[^1]: Texture image courtesty of [Lovetextures](http://www.lovetextures.com/) diff --git a/jekyll/_posts/2013/2013-06-25-video-post.md b/jekyll/_posts/2013/2013-06-25-video-post.md deleted file mode 100644 index 6591a791..00000000 --- a/jekyll/_posts/2013/2013-06-25-video-post.md +++ /dev/null @@ -1,16 +0,0 @@ ---- - -title: "A Post with a Video" -description: "Custom written post descriptions are the way to go... if you're not lazy." -tags: [sample post, video] ---- - - - -Video embeds are responsive and scale with the width of the main content block with the help of [FitVids](http://fitvidsjs.com/). - -Not sure if this only effects Kramdown or if it's an issue with Markdown in general. But adding YouTube video embeds causes errors when building your Jekyll site. To fix add a space between the ` -{% endhighlight %} \ No newline at end of file diff --git a/jekyll/_posts/2013/2013-08-12-sample-link-post.md b/jekyll/_posts/2013/2013-08-12-sample-link-post.md deleted file mode 100644 index f5ac722c..00000000 --- a/jekyll/_posts/2013/2013-08-12-sample-link-post.md +++ /dev/null @@ -1,14 +0,0 @@ ---- - -title: "Sample Link Post" -excerpt: "Example and code for using link posts." -tags: [sample post, link post] -link: http://mademistakes.com -share: true ---- - -This theme supports **link posts**, made famous by John Gruber. To use, just add `link: http://url-you-want-linked` to the post's YAML front matter and you're done. - -> And this is how a quote looks. - -Some [link](http://www.mademistakes.com) can also be shown. diff --git a/jekyll/_posts/2013/2013-08-16-code-highlighting-post.md b/jekyll/_posts/2013/2013-08-16-code-highlighting-post.md deleted file mode 100644 index 421034cb..00000000 --- a/jekyll/_posts/2013/2013-08-16-code-highlighting-post.md +++ /dev/null @@ -1,121 +0,0 @@ ---- - -title: Syntax Highlighting Post -excerpt: "Demo post displaying the various ways of highlighting code in Markdown." -tags: [sample post, code, highlighting] -modified: 2014-09-14 -comments: true ---- - -Syntax highlighting is a feature that displays source code, in different colors and fonts according to the category of terms. This feature facilitates writing in a structured language such as a programming language or a markup language as both structures and syntax errors are visually distinct. Highlighting does not affect the meaning of the text itself; it is intended only for human readers.[^1] - -[^1]: - -### Pygments Code Blocks - -To modify styling and highlight colors edit `/_sass/_pygments.scss`. - -{% highlight css %} -#container { - float: left; - margin: 0 -240px 0 0; - width: 100%; -} -{% endhighlight %} - -{% highlight html %} -{% raw %} - -{% endraw %} -{% endhighlight %} - -{% highlight ruby %} -module Jekyll - class TagIndex < Page - def initialize(site, base, dir, tag) - @site = site - @base = base - @dir = dir - @name = 'index.html' - self.process(@name) - self.read_yaml(File.join(base, '_layouts'), 'tag_index.html') - self.data['tag'] = tag - tag_title_prefix = site.config['tag_title_prefix'] || 'Tagged: ' - tag_title_suffix = site.config['tag_title_suffix'] || '–' - self.data['title'] = "#{tag_title_prefix}#{tag}" - self.data['description'] = "An archive of posts tagged #{tag}." - end - end -end -{% endhighlight %} - - -### Standard Code Block - - {% raw %} - - {% endraw %} - - -### Fenced Code Blocks - -To modify styling and highlight colors edit `/_sass/_coderay.scss`. Line numbers and a few other things can be modified in `_config.yml`. Consult [Jekyll's documentation](http://jekyllrb.com/docs/configuration/) for more information. - -~~~ css -#container { - float: left; - margin: 0 -240px 0 0; - width: 100%; -} -~~~ - -~~~ html -{% raw %}{% endraw %} -~~~ - -~~~ ruby -module Jekyll - class TagIndex < Page - def initialize(site, base, dir, tag) - @site = site - @base = base - @dir = dir - @name = 'index.html' - self.process(@name) - self.read_yaml(File.join(base, '_layouts'), 'tag_index.html') - self.data['tag'] = tag - tag_title_prefix = site.config['tag_title_prefix'] || 'Tagged: ' - tag_title_suffix = site.config['tag_title_suffix'] || '–' - self.data['title'] = "#{tag_title_prefix}#{tag}" - self.data['description'] = "An archive of posts tagged #{tag}." - end - end -end -~~~ - -### GitHub Gist Embed - -An example of a Gist embed below. - -{% gist mmistakes/6589546 %} diff --git a/jekyll/_posts/2013/2013-10-26-background-image.md b/jekyll/_posts/2013/2013-10-26-background-image.md deleted file mode 100644 index fa066318..00000000 --- a/jekyll/_posts/2013/2013-10-26-background-image.md +++ /dev/null @@ -1,21 +0,0 @@ ---- - -title: Post with a Background Image -description: "Sample post with a background image CSS override." -tags: [sample post] -image: - background: triangular.png ---- - -Here be a sample post with a custom background image. To utilize this "feature" just add the following YAML to a post's front matter. - -{% highlight yaml %} -image: - background: filename.png -{% endhighlight %} - -This little bit of YAML makes the assumption that your background image asset is in the `/images` folder. If you place it somewhere else or are hotlinking from the web, just include the full http(s):// URL. Either way you should have a background image that is tiled. - -If you want to set a background image for the entire site just add `background: filename.png` to your `_config.yml` and BOOM --- background images on every page! - -
    Background images from Subtle Patterns (Subtle Patterns) / CC BY-SA 3.0
    \ No newline at end of file diff --git a/jekyll/_posts/2014/2014-03-22-and-so-it-begins.md b/jekyll/_posts/2014/2014-03-22-and-so-it-begins.md deleted file mode 100644 index 63db05cb..00000000 --- a/jekyll/_posts/2014/2014-03-22-and-so-it-begins.md +++ /dev/null @@ -1,31 +0,0 @@ ---- - -title: "And-so-the-github-jekyll-blog-begins" -date: 2014-03-22 13:24:30 -category: general ---- - -It's taken a while to get ruby and jekyll installed but hopefully we're up and running now. - -For running jekyll locally i'm executing - -{% highlight console %} -jekyll serve --watch --baseurl '' -{% endhighlight %} - -If you don't shutdown the jekyll process correct you'll have to identify and kill the process with the commands below. - -{% highlight console %} -[13:46:44@emeraldjava.github.io]$ lsof -wni tcp:4000 -{% endhighlight %} - -Displays - -{% highlight console linenos %} -COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME -ruby 1058 pauloconnell 14u IPv4 0x9167574b623a7c87 0t0 TCP *:terabase (LISTEN) -ruby 1058 pauloconnell 16u IPv4 0x9167574b5c8c3c87 0t0 TCP 127.0.0.1:terabase->127 -{% endhighlight %} - -https://github.com/erjjones/erjjones.github.com -http://24ways.org/2013/get-started-with-github-pages/ diff --git a/jekyll/_posts/2014/2014-03-27-node-js-meetup-march-2014.md b/jekyll/_posts/2014/2014-03-27-node-js-meetup-march-2014.md deleted file mode 100644 index 14c89736..00000000 --- a/jekyll/_posts/2014/2014-03-27-node-js-meetup-march-2014.md +++ /dev/null @@ -1,46 +0,0 @@ ---- - -title: "Node JS Meetup March 2014" -date: 2014-03-27 18:55:30 -category: programming ---- - -Notes from the [www.nodejsdublin.com](http://www.nodejsdublin.com/) meeting in [https://www.engineyard.com/](Engine Yard), Barrow St, Dublin. The - -Talk 1 -[Coffeescript](http://coffeescript.org/) is the first talk so lets install - - sudo npm install -g coffee-script - -Talk 2 -[Richard Rodger](http://www.richardrodger.com) - rkrodger @nearform.com -Micro-services and Docker - -[Docker](https://www.docker.io) -Is like source control for machines. It allows you to build images for a machines. The same way github will build software for a release. It's not a virtual machine, shared memory so only one copy of the code on the machine. - -redis queueing to handle the flows between processes. -sunday business post - 8 amazon instances - -micro service pattern - -in -> do stuff -> out -json -> function -> json - -each process can process all messages, with nodejs you don't have to decide on the architecture in advance. there are options to reconfigure services on the fly. stanford college - were do we put the paths for students over a green area, let them them walk on the grass for a season and see where the natural paths are - build the concrete there!. - -Uses [http://senecajs.org/](senecajs.org) for handling the micro-service. Uses a plugin architecture. - -[Apache Kafka](http://kafka.apache.org/) is publish-subscribe messaging rethought as a distributed commit log. - -See Express Web Framework - -http://krakenjs.com/ - - - - - - - - diff --git a/jekyll/_posts/2014/2014-06-26-playing-with-gists.md b/jekyll/_posts/2014/2014-06-26-playing-with-gists.md deleted file mode 100644 index 368fcd0d..00000000 --- a/jekyll/_posts/2014/2014-06-26-playing-with-gists.md +++ /dev/null @@ -1,19 +0,0 @@ ---- - -title: "Playing with Gists" -date: 2014-06-26 16:52:35 -category: github ---- - -All of my [gists are shown here](https://gist.github.com/emeraldjava] with the [github documentation](https://help.github.com/categories/23/articles) - - - -Jekyll allows supports embedded [gists](http://jekyllrb.com/docs/templates/) - -{% gist emeraldjava/6175555 %} - -using [gist-it.appspot.com](http://gist-it.appspot.com) allows us to grab content from other repo's - - diff --git a/jekyll/_posts/2014/2014-07-25-vdot-highcharts.md b/jekyll/_posts/2014/2014-07-25-vdot-highcharts.md deleted file mode 100644 index a10e524e..00000000 --- a/jekyll/_posts/2014/2014-07-25-vdot-highcharts.md +++ /dev/null @@ -1,41 +0,0 @@ ---- - -title: "Vdot and Highcharts" -date: 2014-07-25 17:12:35 -category: running ---- - - -http://stackoverflow.com/questions/24477814/how-to-embed-a-highcharts-chart-to-jekyll-blog-post - -WEB -https://docs.google.com/spreadsheet/pub?key=0AmvAt7ZNIJJDcDBrUGxVRm90cUlGd2JLSnFDa1IwZEE&single=true&gid=0&output=html - -ATOM -https://spreadsheets.google.com/feeds/cells/0AmvAt7ZNIJJDcDBrUGxVRm90cUlGd2JLSnFDa1IwZEE/od6/public/basic - -RSS -https://spreadsheets.google.com/feeds/cells/0AmvAt7ZNIJJDcDBrUGxVRm90cUlGd2JLSnFDa1IwZEE/od6/public/basic?alt= - -CSV -https://docs.google.com/spreadsheet/pub?key=0AmvAt7ZNIJJDcDBrUGxVRm90cUlGd2JLSnFDa1IwZEE&single=true&gid=0&output=csv - -KEY : 0AmvAt7ZNIJJDcDBrUGxVRm90cUlGd2JLSnFDa1IwZEE - -JSON - via https://coderwall.com/p/duapqq - -https://spreadsheets.google.com/feeds/list/0AmvAt7ZNIJJDcDBrUGxVRm90cUlGd2JLSnFDa1IwZEE/od6/public/values?alt=json-in-script&callback= - -VIA - https://developers.google.com/gdata/samples/ - -http://spreadsheets.google.com/feeds/feed/0AmvAt7ZNIJJDcDBrUGxVRm90cUlGd2JLSnFDa1IwZEE/worksheet/public/basic?alt=json-in-script&callback=myFunc -http://spreadsheets.google.com/feeds/feed/0AmvAt7ZNIJJDcDBrUGxVRm90cUlGd2JLSnFDa1IwZEE/worksheet/public/basic?alt=json-in-script&callback=myFunc -http://spreadsheets.google.com/feeds/feed/0AmvAt7ZNIJJDcDBrUGxVRm90cUlGd2JLSnFDa1IwZEE/worksheet/public/basic?alt=json-in-script&callback=myFunc \ No newline at end of file diff --git a/jekyll/_posts/2014/2014-07-26-garmin-embedded-courses.md b/jekyll/_posts/2014/2014-07-26-garmin-embedded-courses.md deleted file mode 100644 index 7c55cca6..00000000 --- a/jekyll/_posts/2014/2014-07-26-garmin-embedded-courses.md +++ /dev/null @@ -1,12 +0,0 @@ ---- - -title: "Garmin Embedded Courses" -date: 2014-07-26 18:59:35 -category: running ---- - - - -
    - - diff --git a/jekyll/_posts/2014/2014-07-31-author-override.md b/jekyll/_posts/2014/2014-07-31-author-override.md deleted file mode 100644 index f900c6b0..00000000 --- a/jekyll/_posts/2014/2014-07-31-author-override.md +++ /dev/null @@ -1,43 +0,0 @@ ---- - -title: "Author Override" -author: billy_rick -modified: -excerpt: "A post to test author overrides using a data file." -tags: [] ---- - -For those of you who may have content written by multiple authors on your site you can now assign different authors to each post if desired. - -Previously the theme used a global author for the entire site and those attributes would be used in all bylines, social networking links, Twitter Card attribution, and Google Authorship. These `owner` variables were defined in `config.yml` - -Start by modifying or creating a new `authors.yml` file in the `_data` folder and add your authors using the following format. - -{% highlight yaml %} -# Authors - -billy_rick: - name: Billy Rick - web: http://thewhip.com - email: billy@rick.com - bio: "What do you want, jewels? I am a very extravagant man." - avatar: bio-photo-2.jpg - twitter: extravagantman - google: - plus: BillyRick - -cornelius_fiddlebone: - name: Cornelius Fiddlebone - email: cornelius@thewhip.com - bio: "I ordered what?" - avatar: bio-photo.jpg - twitter: rhymeswithsackit - google: - plus: CorneliusFiddlebone -{% endhighlight %} - -To assign Billy Rick as an author for our post. You'd add the following YAML front matter to a post: - -{% highlight yaml %} -author: billy_rick -{% endhighlight %} diff --git a/jekyll/_posts/2014/2014-08-02-Eircom-Router-USB.md b/jekyll/_posts/2014/2014-08-02-Eircom-Router-USB.md deleted file mode 100644 index ac2371ac..00000000 --- a/jekyll/_posts/2014/2014-08-02-Eircom-Router-USB.md +++ /dev/null @@ -1,38 +0,0 @@ ---- - -title: "Eircom Router USB Mount" -date: 2014-08-02 11:08:26 -category: general ---- - -I've been following this boards thread [Mac OSX and eFibre router - Access to USB device attached to Router](http://www.boards.ie/vbulletin/showthread.php?t=2057111823) regarding accessing a USB mount via the eircom router at home. - -My MAC OS version is 10.9.4 and the fireware on my Eircom Router is Version: 1.00(AAHA.4)D0 which i downloaded from http://broadbandsupport.eircom.net/download/zyxel/firmware/F1000-Firmware/ - -My File Share settings are - - - -And the Media Share settings are - - - -I've used CMD & K to open the connect to server dialog - - - -But still no joy - -Some Resources - -http://screenshots.portforward.com/routers/ZyXEL/F1000/ - -http://eircombusiness-wp.s3.amazonaws.com/media/modem_user_guide.pdf - -[Eircom F1000 Router : USB File Share](http://www.boards.ie/vbulletin/showthread.php?t=2057109927) - -[Encryptix](http://www.boards.ie/vbulletin/showpost.php?p=86600610&postcount=83) - - - -A table of total montly distances covered over the past 6 months - -|Total Distance|Activity Type|Value| -|--------------|:-------------:|-----:| -|May|Running|149.03| -|Jun|Running|213.12| -|Jul|Running|343.49| -|Aug|Running|306.29| -|Sep|Running|265.3| -|Oct|Running|207.58| diff --git a/jekyll/_posts/2014/2014-10-29-Update-GitHub-Pages-Via-Travis-CI-And-Maven-Site.md b/jekyll/_posts/2014/2014-10-29-Update-GitHub-Pages-Via-Travis-CI-And-Maven-Site.md deleted file mode 100644 index 53858bed..00000000 --- a/jekyll/_posts/2014/2014-10-29-Update-GitHub-Pages-Via-Travis-CI-And-Maven-Site.md +++ /dev/null @@ -1,39 +0,0 @@ ---- - -title: "Update GitHub Pages Via Travis CI And Maven Site" -date: 2014-10-29 17:00:00 -category: programming ---- - -I've been looking for a way to automatically update my github pages site via a maven build hosted on travis-ci. - -There is a 'com.github.github.site-maven-plugin' which supports publishing the content of the maven site to the gh-pages branch of a project. - - http://blog.akquinet.de/2012/04/12/maven-sites-reloaded/ - - http://search.maven.org/#search%7Cga%7C1%7Ccom.github.github - -1. Maven Site Setup - -I need to add a site.xml to my project to configurate the generated site. -I then updated the xslt plugin to write the generated cv.html file within the 'target/site' folder. -I renamed cv.xml to index.xml so that the final html page remains the same. - -2 - GitHub Oauth Token - -Via the Github > Settings > Authentication admin panel i created a new Oauth token. - - https://developer.github.com/v3/oauth/ - - http://blog.simplytestable.com/creating-and-using-a-github-oauth-token-with-travis-and-composer/ - -3 - Travis CI - -I registered the 'github.global.oauth2Token' value via the Settings > Env_Vars panel of my travis-ci account. - - https://travis-ci.org/emeraldjava/emeraldjava/settings/env_vars/new - - https://github.github.com/maven-plugins/site-plugin/site-mojo.html - - -http://stackoverflow.com/questions/14013644/hosting-a-maven-repository-on-github diff --git a/jekyll/_posts/2014/2014-11-09-strava-and-garmin-express--a-tail-of-many-folders.md b/jekyll/_posts/2014/2014-11-09-strava-and-garmin-express--a-tail-of-many-folders.md deleted file mode 100644 index db858168..00000000 --- a/jekyll/_posts/2014/2014-11-09-strava-and-garmin-express--a-tail-of-many-folders.md +++ /dev/null @@ -1,32 +0,0 @@ ---- - -title: Strava and Garmin Express - A tail of many folders -published: True -date: 2014-11-09 17:17:09 -category: running -tags: [strava, garmin] ---- - - With the recent upgrade by Garmin from Garmin Connect to Garmin Express it seems there are now three seperate folder in which my training files are saved. - -{% highlight bash linenos %} -Untitled ▸ Users ▸ pauloconnell ▸ Library ▸ Application Support ▸ Garmin ▸ Devices ▸ 3610720948 : 24/5/2014 -> 22/6/2014 -Untitled ▸ Users ▸ pauloconnell ▸ Library ▸ Application Support ▸ Garmin ▸ GarminConnect ▸ -3610720948 ▸ Upload ▸ FitnessHistory : 24/6/2014 -> 9/9/2014 -Untitled ▸ Users ▸ pauloconnell ▸ Library ▸ Application Support ▸ Garmin ▸ Express ▸ RegisteredDevices ▸ 3610720948 ▸ PendingSyncUploads ▸ History : current -{% endhighlight %} - -/Users/pauloconnell/Library/Application Support/Garmin/GarminConnect/Forerunner 405-3610720948/Upload/FitnessHistory/2014-08-09-183238.TCX - -I also setup my -Strava Strava account and began importing my data to it. -Follow me on -Strava - - -I also installed the https://sublime.wbond.net/packages/Jekyll plugin for sublime 3 to make writing these posts a little easier. - diff --git a/jekyll/_posts/2015/2015-01-24-boston-2015-w1.md b/jekyll/_posts/2015/2015-01-24-boston-2015-w1.md deleted file mode 100644 index e121de5b..00000000 --- a/jekyll/_posts/2015/2015-01-24-boston-2015-w1.md +++ /dev/null @@ -1,37 +0,0 @@ ---- - -title: Boston 2015 W1 -date: 2015-01-24T17:17:20+00:00 -category: running -tags: [boston2015,2015] ---- - -Start of the training blog for Boston 2015 - -Monday: Plan 40mins easy. Actual - 44mins UCD Lap - - - -Tuesday: Plan 40mins easy with 4 * 15second hill sprints. UCD Lap and hill sprints beside the Milltoen luas stop. - - - - - -Wednesday: Plan Steady MP Run 40 mins @ MHR (150-154 HR). 12-15 min WU/WD - - - -Thursday: Plan 50 mins easy. Actual - Did the ballyboden lap with sportsworld and added a terenure lap to fill it out to 58mins. - - - -Friday: Plan Rest. Jogged in and out to core class with functional fitness at 8am. - -Saturday: Plan Hill Session 12 x 60 seconds off jog back or 60 seconds recovery (if on continous hill). 10-15 mins WU/WD. Actual - Mount Anville Road was selected as the hill. Managed 11 reps. - - - -Sunday: Plan Long Run - 1 hour 30 mins easy with 6x2 min surges over last 30 mins. Actual - 10miles steady. - - \ No newline at end of file diff --git a/jekyll/_posts/2015/2015-01-24-jekyll-minddust-tags.md b/jekyll/_posts/2015/2015-01-24-jekyll-minddust-tags.md deleted file mode 100644 index f686e228..00000000 --- a/jekyll/_posts/2015/2015-01-24-jekyll-minddust-tags.md +++ /dev/null @@ -1,29 +0,0 @@ ---- - -title: Jekyll Categories and Tags -date: 2015-01-24T18:12:25+00:00 -category: programming -tags: [github,2015] ---- - -http://www.minddust.com/post/tags-and-categories-on-github-pages/ - -https://github.com/minddust/minddust.github.io - -http://octopress.org/docs/blogging/ - -https://github.com/charliepark/charliepark.github.com - -https://github.com/jokecamp/jokecamp.com - -jekyll versions - -https://pages.github.com/versions/ - -the next question is to revert to the older version of jekyll - -http://stackoverflow.com/questions/24223567/how-can-i-install-an-older-version-of-jekyll - -gem install jekyll -v 2.4.0 - -http://contentgardening.com/en/articles/installing-jekyll-on-osx \ No newline at end of file diff --git a/jekyll/_posts/2015/2015-01-25-six-levels-of-scala.md b/jekyll/_posts/2015/2015-01-25-six-levels-of-scala.md deleted file mode 100644 index c2870fac..00000000 --- a/jekyll/_posts/2015/2015-01-25-six-levels-of-scala.md +++ /dev/null @@ -1,55 +0,0 @@ ---- - -title: Six Levels of Scala -category: programming -tags: [scala,2015] -published: True -date: 2015-01-25 18:32:56 ---- - -This document describes [6 levels of scala skills](http://www.scala-lang.org/old/node/8610) that developers can be ranked on. I'm going to use this [emeraldjava-scala-six-steps](https://github.com/emeraldjava/emeraldjava-scala-six-steps) github project to track various scripts and implementation examples as i attempt to educate myself about scala. - -# Level A1: Beginning application programmer -+ Java-like statements and expressions: standard operators, method calls, conditionals, loops, try/catch -+ Class, object, def, val, var, import, package -+ Infix notation for method calls -+ Simple closures -+ Collections with map, filter, etc -+ for-expressions - -# Level A2: Intermediate application programmer -+ Pattern matching -+ Trait composition -+ Recursion, in particular tail recursion -+ XML literals - -# Level A3: Expert application programmer -+ Folds, i.e. methods such as foldLeft, foldRight -+ Streams and other lazy data structures -+ Actors -+ Combinator parsers - -# Level L1: Junior library designer -+ Type parameters -+ Traits -+ Lazy vals -+ Control abstraction, currying -+ By-name parameters - -# Level L2: Senior library designer -+ Variance annotations -+ Existential types (e.g., to interface with Java wildcards) -+ Self type annotations and the cake pattern for dependency injection -+ Structural types (aka static duck typing) -+ Defining map/flatmap/withFilter for new kinds of for-expressions -+ Extractors - -# Level L3: Expert library designer -+ Early initializers -+ Abstract types -+ Implicit definitions -+ Higher-kinded types - -Some useful resources -[https://twitter.github.io/scala_school](https://twitter.github.io/scala_school/) -[Scala Tutorial Android App](https://play.google.com/store/apps/details?id=com.tb.scala&hl=en) diff --git a/jekyll/_posts/2015/2015-01-27-mergingyoutubeaccounts.md b/jekyll/_posts/2015/2015-01-27-mergingyoutubeaccounts.md deleted file mode 100644 index b4a61000..00000000 --- a/jekyll/_posts/2015/2015-01-27-mergingyoutubeaccounts.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -layout: -title: merging-youtube-accounts -categories: [] -tags: [2015] -published: True - ---- - -I have this original account - -User: bhaaonline -Email:bhaa.online@gmail.com -youtube - https://www.youtube.com/user/bhaaonline -google+ - https://plus.google.com/111924634936207038909/posts - -and this second account - -User: BHAA -Email: info@bhaa.ie -youtube - https://www.youtube.com/channel/UCZwIOgvu7BX1sWKptwaxdmw -google+ - https://plus.google.com/100447837155479206123/posts - -I've setup both accounts with google plus pages, but am unsure how to transfer the ownership between the acounts via the google plus manager setup. How can i migrate all the 'bhaaonline' videos to be controlled by the 'BHAA' account? \ No newline at end of file diff --git a/jekyll/_posts/2015/2015-01-28-macoseclipseinisettings.md b/jekyll/_posts/2015/2015-01-28-macoseclipseinisettings.md deleted file mode 100644 index 51f013e3..00000000 --- a/jekyll/_posts/2015/2015-01-28-macoseclipseinisettings.md +++ /dev/null @@ -1,78 +0,0 @@ ---- -layout: default -title: mac-os-eclipse-ini-settings -categories: [] -tags: [2015] -published: True - ---- - -Finding the eclipse.ini files - -http://stackoverflow.com/questions/15454889/eclipse-ini-file-not-present - -sts 3.5 - -/Untitled/Users/pauloconnell/tools/springsource-3.5/sts-3.5.0.RELEASE/STS.app/Contents/MacOS - --startup -../../../plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar ---launcher.library -../../../plugins/org.eclipse.equinox.launcher.cocoa.macosx.x86_64_1.1.200.v20140116-2212 --product -org.springsource.sts.ide ---launcher.defaultAction -openFile --vmargs --XX:PermSize=256m --Dgrails.console.enable.interactive=false --Dgrails.console.enable.terminal=false --Djline.terminal=jline.UnsupportedTerminal --Dgrails.console.class=grails.build.logging.GrailsEclipseConsole --Dosgi.requiredJavaVersion=1.6 --Xms512m --Xmx4096m --XX:MaxPermSize=512m --XstartOnFirstThread --Dorg.eclipse.swt.internal.carbon.smallFonts --Xdock:icon=../Resources/sts.icns - -STS 3.6.3 - --startup -../../../plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar ---launcher.library -../../../plugins/org.eclipse.equinox.launcher.cocoa.macosx.x86_64_1.1.200.v20140603-1326 --product -org.springsource.sts.ide ---launcher.defaultAction -openFile --vmargs --Dosgi.requiredJavaVersion=1.6 --Xms40m --Xmx768m --XX:MaxPermSize=256m --XstartOnFirstThread --Dorg.eclipse.swt.internal.carbon.smallFonts --Xdock:icon=../Resources/sts.icns - -Updated to - --startup -../../../plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar ---launcher.library -../../../plugins/org.eclipse.equinox.launcher.cocoa.macosx.x86_64_1.1.200.v20140603-1326 --product -org.springsource.sts.ide ---launcher.defaultAction -openFile --vmargs --Dosgi.requiredJavaVersion=1.6 --Xss8m --Xms700m --Xmx2048m --XX:MaxPermSize=512m --XstartOnFirstThread --Dorg.eclipse.swt.internal.carbon.smallFonts --Xdock:icon=../Resources/sts.icns - diff --git a/jekyll/_posts/2015/2015-02-01-boston-2015-w2.md b/jekyll/_posts/2015/2015-02-01-boston-2015-w2.md deleted file mode 100644 index 29694097..00000000 --- a/jekyll/_posts/2015/2015-02-01-boston-2015-w2.md +++ /dev/null @@ -1,35 +0,0 @@ ---- - -title: Boston 2015 W2 -category: running -tags: [boston2015,2015] -date: 2015-02-01T12:17:20+00:00 -published: True ---- - -Week 2 of the boston training plan that this schedule - - -{% highlight console %} -Mon: 50 mins easy + 6 x Hill Sprints. -Tues: (Track ) Cutdown Session - 10-15 Mins WU/WD. 12 Mins @ MHR 150-154 / 2 MIN BREAK / 10 mins @ LT HR 160-164 / 3 MIN BREAK / 8 x 400m in 80 seconds off 75 seconds recovery. -Wed: 50 mins easy. -Thurs: 60 mins easy + 5 x 80m strides. -Fri: Rest. -Sat: Marathon Specific Long Run - 10x1k @ Marathon HR (154-154). 1 km float recovery @ 7:30 per mile (Get HR to low 140's). 3k WU and WD. N.B One continous run. -Sun:40 Mins easy recovery run. -{% endhighlight %} - -And this is how it played out - -{% highlight console %} -Mon: 90mins easy. -Tues: Did the session around UDC and the sprints along milltown road. Should have gone earlier in the day and picked a straighter road for the sprints. -Weds: 80mins easy. -Thurs: Took a rest day and avoided the worst of the snowy weather. -Fri: Core class and pulled forward the second session of the week. Fast km's were fine but the recovery back to 140 HR took longer as the session went on. -Sat: Felt fresh - easy 17km in 75mins. Right knee was a little tight afterwards which is odd. -Sun: Hooked up with the sportsworld sunday run. Kept it below 140 HR for the 19km in 90mins. Tried at the end and will take an easy day Monday. Knee was fine. -{% endhighlight %} - -All in 122km for the week. diff --git a/jekyll/_posts/2015/2015-02-04-broadband-speed-tests.md b/jekyll/_posts/2015/2015-02-04-broadband-speed-tests.md deleted file mode 100644 index c37d2fb5..00000000 --- a/jekyll/_posts/2015/2015-02-04-broadband-speed-tests.md +++ /dev/null @@ -1,21 +0,0 @@ ---- - -title: Broadband Speed Tests -date: 2015-02-20 18:42:28 -category: general -tags: [2015] ---- - -My vodafone broadband on - -2015-02-20 - - - -2015-02-04 - - - -My eircom broadband on 2014-06-08 - - diff --git a/jekyll/_posts/2015/2015-02-04-spray-slick-scalaz.md b/jekyll/_posts/2015/2015-02-04-spray-slick-scalaz.md deleted file mode 100644 index e168ae9a..00000000 --- a/jekyll/_posts/2015/2015-02-04-spray-slick-scalaz.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -layout: -title: spray slick scalaz -categories: [] -tags: [2015] -published: True - ---- - -http://spray.io/documentation/1.1-SNAPSHOT/spray-can/examples/ \ No newline at end of file diff --git a/jekyll/_posts/2015/2015-02-12-boston-2015-w3.md b/jekyll/_posts/2015/2015-02-12-boston-2015-w3.md deleted file mode 100644 index 7c39a542..00000000 --- a/jekyll/_posts/2015/2015-02-12-boston-2015-w3.md +++ /dev/null @@ -1,34 +0,0 @@ ---- - -title: Boston 2015 W3 -category: running -tags: [boston2015,2015] -date: 2015-02-08T12:17:20+00:00 -published: True ---- - -Week 3 of the boston training plan that this schedule - -{% highlight console %} -Mon: 50 mins easy + 6 x Hill Sprints. -Tues: Steady MP Run 50 mins @ MHR (150-154 HR). Followed by 4 x 20 sec strides. 12-15 min WU/WD -Wed: 60 mins easy. -Thurs: Long Run -Fri: Rest. -Sat: 30 mins + 4 x hill sprints -Sun:National Masters XC Race in Tuam -{% endhighlight %} - -And this is how it played out - -{% highlight console %} -Mon: 12km in 55mins. -Tues: Dist 6.4km in 24:23 at 3:49/km. Watch died so the second lap was not recorded!. -Weds: 13km in 56mins. -Thurs: 20km in 1h 30min. Never got going in this one and felt bad all the way. Right calf was very sore afterwards. -Fri. Core class, cycled in and rest. -Sat: Rest and foam rolling. -Sun: XC race in galway. Was concerned about the calf but it held up and was OK post a cooldown. -{% endhighlight %} - -All in 75km for the week. An easy week and will have to do more rolling and warm up of the calf's in the coming weeks. diff --git a/jekyll/_posts/2015/2015-02-12-boston-2015-w4.md b/jekyll/_posts/2015/2015-02-12-boston-2015-w4.md deleted file mode 100644 index fc22eeda..00000000 --- a/jekyll/_posts/2015/2015-02-12-boston-2015-w4.md +++ /dev/null @@ -1,34 +0,0 @@ ---- - -title: Boston 2015 W4 -category: running -tags: [boston2015,2015] -date: 2015-02-15T12:17:20+00:00 -published: True ---- - -Week 4 of the boston training plan that this schedule - -{% highlight console %} -Mon: 30 mins easy -Tues: Rest -Wed: 30 mins easy. -Thurs: 30 mins easy. -Fri: Rest -Sat: Marathon Specific Long Run - 6x2k @ Marathon HR (154-154). 1 km float recovery @ 7:30 per mile (Get HR to low 140's). 3k WU& WD. N.B One continous run -Sun:30 mins easy. -{% endhighlight %} - -And this is how it played out - -{% highlight console %} -Mon: 10km in 50mins. -Tues: 10km in 45mins. -Weds: Rest. -Thurs: 6x2k @ Marathon HR (150-160). The times for the 2km's were 7.21,7.41,7.37,7.36,7.57,7.54. The first four were OK but the 5th and 6th a little tougher. -Fri. Core class, cycled in and rest. -Sat: Rest. -Sun: 18km in 1h 22mins. -{% endhighlight %} - -All in 62km for the week. \ No newline at end of file diff --git a/jekyll/_posts/2015/2015-02-21-import-blogspot-posts.md b/jekyll/_posts/2015/2015-02-21-import-blogspot-posts.md deleted file mode 100644 index 37b09390..00000000 --- a/jekyll/_posts/2015/2015-02-21-import-blogspot-posts.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -layout: -title: import blogspot posts -categories: [] -tags: [2015] -published: True - ---- - -I wanted to import the posts form my blog hosted via blogger. I came across this post which outlines how to convert an ATOM feed to into a set of github pages. - -http://loyc.net/2014/linq2xml.html - -I created a simple java class which uses the rome api to parse the rss feed and a simple file formatter to output the data diff --git a/jekyll/_posts/2015/2015-02-22-boston-2015-w5.md b/jekyll/_posts/2015/2015-02-22-boston-2015-w5.md deleted file mode 100644 index 1bc3473f..00000000 --- a/jekyll/_posts/2015/2015-02-22-boston-2015-w5.md +++ /dev/null @@ -1,34 +0,0 @@ ---- - -title: Boston 2015 W5 -category: running -tags: [boston2015,2015] -date: 2015-02-22T12:17:20+00:00 -published: True ---- - -Week 5 of the boston training plan that this schedule - -{% highlight console %} -Mon: 45 mins easy + 6 x Hill Sprints -Tues: LT Workout 5x5 mins @ LT (160-164 HR) - 75 sec recovery. 12-15 min WU/WD -Wed:50 mins easy -Thurs: 60 mins easy + 5 x 80m strides -Fri: Rest -Sat: Marathon Specific Long Run - 8x2k @ Marathon HR (154-154). 1 km float recovery @ 7:30 per mile (Get HR to low 140's). 3k WU& WD. N.B One continous run -Sun:30 mins easy -{% endhighlight %} - -And this is how it played out - -{% highlight console %} -Mon: Rest -Tues: 12km in 58mins. -Weds: 5x5 mins @ LT (160-170 HR). The 5 segments resulted in about 1.5km covered, the paces were 3.21,3.19,3.29,3.34,3.35. -Thurs: AM 6km in 32mins. PM 10km in 45mins. -Fri. Core class, cycled in, rest. -Sat: 8x2k @ Marathon HR (150-160). Felt bad going into this one. The paces for the 8 segments were 3.46,3.53,3.53,4.03,3.57,4.12,4.11,4.33. The firt 5 seemed OK but totally died on the 6/7th and the 8th was stagger to the finish. -Sun: No run - head cold. -{% endhighlight %} - -All in 70km for the week. \ No newline at end of file diff --git a/jekyll/_posts/2015/2015-02-26-nodejs-feb-2015-meetup.md b/jekyll/_posts/2015/2015-02-26-nodejs-feb-2015-meetup.md deleted file mode 100644 index 0e29a471..00000000 --- a/jekyll/_posts/2015/2015-02-26-nodejs-feb-2015-meetup.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: Nodejs Feb 2015 Meetup -categories: [nodejs] -tags: [nodejs,2015] -published: True -date: 2015-02-26 19:25:12 ---- - -So i thought this was an early april fools joke when i saw the two talks for this evening. A nodejs meetup dedicated to home craft beer brewing but the agenda is the agenda and i shit you not. I suspect these guys are going to put my little home brew setup to shame. - -1st talk : [brewfactory.org](http://brewfactory.org/) The main take away i got from this talk was the use of [Isomorphic JavaScript](http://isomorphic.net/javascript) within the project. [@slashdotpeter](https://twitter.com/slashdotpeter) was happy to answer random brewing questions even if [Cianomaidin](https://twitter.com/Cianomaidin) wanted to know when the first node js [Pálinka](http://en.wikipedia.org/wiki/P%C3%A1linka) brewing kit would be available! Check out his company site [risingstack.com](http://risingstack.com/). - -2nd talk : [@juliancheal](http://twitter.com/juliancheal) kicks off a talk on [Cylon.js](http://cylonjs.com) which is robotics api written in node js. There may be issues with his website at [juliancheal.co.uk/](http://www.juliancheal.co.uk/). Julian had a bag full of devices which had various flashing lights which could be turned on and off via cylon. A nat demo showing how the code which runs on the devices can also be run in a browser. - -Internet of Things in the Pub -We are introduced to the [smart breathalyzer](http://www.alcohoot.com/) which is a mobile app plugin for measuring how many drinks you've had. You've identified your drunk so the next logical step is to call a drone what will deliver you another beer. Neat demo of a drone attempting to deliver a can of beer. I'll hold off until the drone cab pull a pint of guinness and deliver that before i'll sack all the bar men. - -[Spark devices](https://www.spark.io/) are mentioned and its [cloud API](http://docs.spark.io/api/). The next demo 'partybus' involves a dance mat sending commands to the drone as our human dances to gangnan style, the drone let on it was too cool to dance. - diff --git a/jekyll/_posts/2015/2015-05-01-stripe-simple-form.md b/jekyll/_posts/2015/2015-05-01-stripe-simple-form.md deleted file mode 100644 index 2394f7b0..00000000 --- a/jekyll/_posts/2015/2015-05-01-stripe-simple-form.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -title: Stripe Simple Form -categories: [stripe] -tags: [stripe,2015] -published: True -date: 2015-05-01 15:37:12 ---- - -A simple stripe form. - -1 - First off we need the raw / endraw tags : https://github.com/herereadthis/redwall/issues/18 -2 - Add the Stripe js file and javascript/jquery code to the head.html - -3 - require_once('path/to/stripe-php/init.php'); - -4 - Call to undefined function Stripe\curl_init() -= add php5 curl - - - -{% raw %} -

    Charge $10 with Stripe

    -
    - - -
    - -
    - -
    - -
    - -
    - - / - -
    - - -
    -{% endraw %} - -This is an update. \ No newline at end of file diff --git a/jekyll/_posts/2015/2015-07-03-week-27.md b/jekyll/_posts/2015/2015-07-03-week-27.md deleted file mode 100644 index 557639dd..00000000 --- a/jekyll/_posts/2015/2015-07-03-week-27.md +++ /dev/null @@ -1,34 +0,0 @@ ---- - -title: Week 27 -categories: ['general'] -tags: [2015] -published: True -date: 2015-07-03 10:35:18 ---- - -## Friday -Playing with github markup which supports [emoji](https://en.wikipedia.org/wiki/Emoji), which lead to a search on the text codes for the various images and the [emoji cheat sheet](http://www.emoji-cheat-sheet.com/). I had to enable the 'jemoji' gem in the '_config.xml' file. - -:smirk: :shipit: - -[Smart GUI UI](http://www.syntevo.com/smartgit/) - -## Thursday -Application Lifecycle Management discussion in BP - - - [Flywaydb](http://flywaydb.org/) - for creating database snapshots - - [Docker wSarm](https://docs.docker.com/swarm/) - - [Docker Composer](https://docs.docker.com/compose/) - - [Docker Machine](https://docs.docker.com/machine/) - -Started on the AgeGrade node js app - -## Wednesday - -## Tuesday - -## Monday -Kicked off a little spring-data-jpa project. THe entity search features which derive the query type from the method name defined using the entity variable names is very cool. - - diff --git a/jekyll/_posts/2015/2015-07-22-xml-to-yaml.md b/jekyll/_posts/2015/2015-07-22-xml-to-yaml.md deleted file mode 100644 index def8c3d8..00000000 --- a/jekyll/_posts/2015/2015-07-22-xml-to-yaml.md +++ /dev/null @@ -1,60 +0,0 @@ ---- - -title: xml-to-yaml -categories: ['running', 'programming', 'general'] -tags: [] -published: True - ---- - -http://codebeautify.org/xml-to-yaml - -```xml - - 162305 - ${operatorUsername} - - ${contactDetailsEmailAddress} - ${contactDetailsFixedNumber} - ${contactDetailsMobile} - ${contactDetailsPreferredContactMethodKey} -
    - 0000 - 0000 - ${contactDetailsAddressAddress1} - ${contactDetailsAddressCounty} - ${contactDetailsAddressExchangeCode} - ${contactDetailsAddressTown} - ${contactDetailsAddressARD} - ${contactDetailsAddressAddress2} - ${contactDetailsAddressAddress3} - ${contactDetailsAddressLI} -
    -
    -
    -``` - -to - -```yaml -createResidentialCustomer: - channelId: 162305 - operator: "${operatorUsername}" - contactDetails: - email: "${contactDetailsEmailAddress}" - phoneNumberDay: "${contactDetailsFixedNumber}" - mobile: "${contactDetailsMobile}" - preferredContactMethodKey: "${contactDetailsPreferredContactMethodKey}" - address: - city: 0000 - zipCode: 0000 - streetName: "${contactDetailsAddressAddress1}" - countryKey: "${contactDetailsAddressCounty}" - streetNumber2Suffix: "${contactDetailsAddressExchangeCode}" - stateKey: "${contactDetailsAddressTown}" - customField1: "${contactDetailsAddressARD}" - customField2: "${contactDetailsAddressAddress2}" - customField3: "${contactDetailsAddressAddress3}" - customField4: "${contactDetailsAddressLI}" - _xmlns: "http://www.infonova.com/product/model" -``` diff --git a/jekyll/_posts/2015/2015-08-17-ansible-and-openshift.md b/jekyll/_posts/2015/2015-08-17-ansible-and-openshift.md deleted file mode 100644 index 0f7e0a8c..00000000 --- a/jekyll/_posts/2015/2015-08-17-ansible-and-openshift.md +++ /dev/null @@ -1,12 +0,0 @@ ---- - -title: ansible and openshift -categories: ['programming'] -tags: [] -published: True -date: 2015-11-06 10:35:18 ---- - -Started reading up on [running ansible playbooks in localhost](http://ansible.pickle.io/post/86598332429/running-ansible-playbook-in-localhost). - -Along the way I came across https://openshift.redhat.com/app/console/applications. diff --git a/jekyll/_posts/2015/2015-11-06-atomioconfig.markdown b/jekyll/_posts/2015/2015-11-06-atomioconfig.markdown deleted file mode 100644 index 27d7f5ed..00000000 --- a/jekyll/_posts/2015/2015-11-06-atomioconfig.markdown +++ /dev/null @@ -1,16 +0,0 @@ ---- - -title: "atom-io-config" -date: "2015-11-06" -link: http://mademistakes.com ---- - -This theme supports **link posts**, made famous by John Gruber. To use, just add `link: http://url-you-want-linked` to the post's YAML front matter and you're done. - -> And this is how a quote looks. - -Some [link](http://www.mademistakes.com) can also be shown. - -i followed [https://mmistakes.github.io/minimal-mistakes/theme-setup/](https://mmistakes.github.io/minimal-mistakes/theme-setup/) to update the theme on this site. - -[https://github.com/cliffano/eggtart](https://github.com/cliffano/eggtart) diff --git a/jekyll/_posts/2015/2015-11-09-deliciousapi.markdown b/jekyll/_posts/2015/2015-11-09-deliciousapi.markdown deleted file mode 100644 index c15ee096..00000000 --- a/jekyll/_posts/2015/2015-11-09-deliciousapi.markdown +++ /dev/null @@ -1,29 +0,0 @@ ---- - -title: "Daily delicious posts report" -date: "2015-11-09" ---- - -I wanted to generate a daily report of URLS that I have tagged and recorded via [delicio.us](delicio.us). - -I cloned this java API for [https://github.com/danielqo/delicious-api](https://github.com/danielqo/delicious-api) and created a forked version here https://github.com/emeraldjava/delicious-api. I added a maven pom and updated the code to parse the tag details and output my most [recent delicious posts](https://github.com/SciDevs/delicious-api/tree/master/api) in a list format supported by markup. - -I then setup on travis CI buid with [encrypted username and a password](http://stackoverflow.com/questions/9338428/using-secret-api-keys-on-travis-ci) details and the final step was to setup a nightly build via [https://nightli.es/](https://nightli.es/). - -A unit test generates this markup - -- [Docker vs Chef](https://www.scriptrock.com/articles/docker-chef?utm_source=Docker%20News&utm_campaign=778f653f1b-Docker_0_5_0_7_18_2013&utm_medium=email&utm_term=0_c0995b6e8f-778f653f1b-235731721) -- [Docker vs Vagrant? — Medium](https://medium.com/@_marcos_otero/docker-vs-vagrant-582135beb623) -- [Cooking Infrastructure by Chef](http://chef.leopard.in.ua/) -- [Creating development environments with Vagrant and Chef - DragDropSite](http://www.dragdropsite.com/tutorials/creating-development-environments-vagrant-chef/) -- [Setting up a ruby development VM with Vagrant, Chef, and rbenv](http://martinfowler.com/articles/vagrant-chef-rbenv.html) -- [What is difference between docker, puppet, chef and vagrant? - Quora](https://www.quora.com/What-is-difference-between-docker-puppet-chef-and-vagrant) -- [www.serena.com/files/2114/1512/2921/Serena-Software-Forrester_The_Seven_Habits_Of_Highly_Successful_DevOps.pdf](http://www.serena.com/files/2114/1512/2921/Serena-Software-Forrester_The_Seven_Habits_Of_Highly_Successful_DevOps.pdf) -- [networking - Can Multiple Vagrant VMs communicate by VM hostname? - Stack Overflow](http://stackoverflow.com/questions/20681190/can-multiple-vagrant-vms-communicate-by-vm-hostname) -- [oscar-stack/vagrant-hosts](https://github.com/oscar-stack/vagrant-hosts) -- [A list of base boxes for Vagrant - Vagrantbox.es](http://www.vagrantbox.es/) -- [Building a Vagrant Box from Start to Finish](https://blog.engineyard.com/2014/building-a-vagrant-box) -- [Installing Ruby 2.1.1 on Ubuntu 14.04 x86_64 : grits – the blenderbox blog](http://blog.blenderbox.com/2014/04/21/installing-ruby-2-1-1-on-ubuntu-14-04-x86_64/) -- [How to install Ruby 2 on Ubuntu without RVM - Stack Overflow](http://stackoverflow.com/questions/18490591/how-to-install-ruby-2-on-ubuntu-without-rvm) -- [git-plus](https://atom.io/packages/git-plus) -- [Pinboard API (v1) Documentation](http://pinboard.in/api/) diff --git a/jekyll/_posts/2015/2015-12-10-vagrantazure.markdown b/jekyll/_posts/2015/2015-12-10-vagrantazure.markdown deleted file mode 100644 index e099d357..00000000 --- a/jekyll/_posts/2015/2015-12-10-vagrantazure.markdown +++ /dev/null @@ -1,56 +0,0 @@ ---- - -title: "vagrant-azure" -date: "2015-12-10" ---- - -vagrant-azure - -## [phiche vagrant-azure](https://github.com/phiche/vagrant-azure-example) - -### azure.mgmt_certificate -openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout cert.pem -out cert.pem - -### Upload to Azure Mgmt Portal -openssl x509 -inform pem -in cert.pem -outform der -out cert.cer - -### azure.ssh_certificate_file -openssl req -new -x509 -key ~/.ssh/id_rsa -out ~/.ssh/ssh-cert.pem - -### azure.ssh_private_key_file -your private key typically in ~/.ssh/id_rsa - -{% gist 4b430df3cd69979be138bd44716c136e789fb8ec %} - -## [stapp.space](http://stapp.space/setup-vagrant-with-azure/#blog) - -uses - -openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ~/.ssh/azurevagrant.key -out ~/.ssh/azurevagrant.key - -openssl x509 -inform pem -in ~/.ssh/azurevagrant.key -outform der -out ~/.ssh/azurevagrant.cer - -### vagrant file - -azure.mgmt_certificate = File.expand_path('~/.ssh/azurevagrant.key') - -## [unindented.org](https://unindented.org/articles/provision-azure-boxes-with-vagrant/) - -openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ~/.ssh/azurevagrant.key -out ~/.ssh/azurevagrant.key -$ openssl x509 -inform pem -in ~/.ssh/azurevagrant.key -outform der -out ~/.ssh/azurevagrant.cer - -### vagrant file - -config.ssh.username = 'vagrant' -config.ssh.private_key_path = File.expand_path('~/.ssh/azurevagrant.pem') - -azure.mgmt_certificate = File.expand_path('~/.ssh/azurevagrant.pem') - -azure.ssh_private_key_file = File.expand_path('~/.ssh/azurevagrant.pem') -azure.ssh_certificate_file = File.expand_path('~/.ssh/azurevagrant.cer') - -### RSA openssl - -http://stackoverflow.com/questions/5244129/use-rsa-private-key-to-generate-public-key - -https://rietta.com/blog/2012/01/27/openssl-generating-rsa-key-from-command/ diff --git a/jekyll/_posts/2016/2016-02-04-elkstash.markdown b/jekyll/_posts/2016/2016-02-04-elkstash.markdown deleted file mode 100644 index 1721f40c..00000000 --- a/jekyll/_posts/2016/2016-02-04-elkstash.markdown +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: "elk-stash" -date: "2016-02-04 14:38:02" -header: - overlay_image: https://unsplash.it/792/269/?random - ocerlay_filter: 0.75 - teaser: https://unsplash.it/300/400/?random ---- -Some notes on ELK Stack installation. - -# ELK Stash -Install via vagrant -http://blog.comperiosearch.com/blog/2014/08/14/elk-one-vagrant-box/ -https://github.com/comperiosearch/vagrant-elk-box/tree/master/confs/logstash - -# Logstash Loading -https://www.elastic.co/guide/en/logstash/current/config-examples.html -https://www.elastic.co/guide/en/logstash/current/input-plugins.html - -# Loading log files -http://blog.akquinet.de/2015/08/24/logstash-jboss-eap/ -https://www.digitalocean.com/community/tutorials/how-to-use-logstash-and-kibana-to-centralize-logs-on-centos-7 diff --git a/jekyll/_posts/2016/2016-02-04-microsoftazurestack.markdown b/jekyll/_posts/2016/2016-02-04-microsoftazurestack.markdown deleted file mode 100644 index 46fbfbaa..00000000 --- a/jekyll/_posts/2016/2016-02-04-microsoftazurestack.markdown +++ /dev/null @@ -1,16 +0,0 @@ ---- - -title: "Microsoft Azure Stack" -date: "2016-02-04" -header: - overlay_image: https://unsplash.it/792/269/?random - ocerlay_filter: 0.75 - teaser: https://unsplash.it/300/400/?random ---- -Some links to the recently releases [Microsoft Azure Stack](https://azure.microsoft.com/en-us/overview/azure-stack/) which allows you to run the Azure cloud in internal infrastructure. - -https://azure.microsoft.com/en-us/overview/azure-stack/try/ - -https://azure.microsoft.com/en-us/blog/announcing-the-first-technical-preview-of-microsoft-azure-stack/ - -https://msdn.microsoft.com/en-us/subscriptions/downloads/#ProductFamilyId=635 diff --git a/jekyll/_posts/2016/2016-02-10-wednesday.markdown b/jekyll/_posts/2016/2016-02-10-wednesday.markdown deleted file mode 100644 index f17e8d68..00000000 --- a/jekyll/_posts/2016/2016-02-10-wednesday.markdown +++ /dev/null @@ -1,13 +0,0 @@ ---- - -title: "Ubuntu - Add Intellij to menu" -date: "2016-02-10 09:21:23" -header: - overlay_image: https://unsplash.it/792/269/?random - ocerlay_filter: 0.75 - teaser: https://unsplash.it/300/400/?random ---- - -Setting up an Intellij menu item for ubuntu. - -https://gist.github.com/rob-murray/6828864 diff --git a/jekyll/_posts/2016/2016-02-23-ansible-permission-error-with-copy-command-using-with-items-on-a-dictionary.markdown b/jekyll/_posts/2016/2016-02-23-ansible-permission-error-with-copy-command-using-with-items-on-a-dictionary.markdown deleted file mode 100644 index b92efa73..00000000 --- a/jekyll/_posts/2016/2016-02-23-ansible-permission-error-with-copy-command-using-with-items-on-a-dictionary.markdown +++ /dev/null @@ -1,56 +0,0 @@ ---- - -title: "ansible-permission-error-with-copy-command-using-with-items-on-a-dictionary" -date: "2016-02-23 12:12:34 +0000" -header: - overlay_image: https://unsplash.it/792/269/?random - ocerlay_filter: 0.75 - teaser: https://unsplash.it/300/400/?random ---- - -# [ansible-permission-error-with-copy-command-using-with-items-on-a-dictionary](http://stackoverflow.com/questions/35577184/ansible-permission-error-with-copy-command-using-with-items-on-a-dictionary) - -I have the following YAML dictionaries defined for a set of glassfish config files that I need to copy as part of a deployment - - # glassfish config files - glassfish_config_files: - - { name: "config/domain.xml", owner: "{{ app_account }}", group: "{{ app_account }}", mode: "0640", state: "enabled" } - #- { name: "config/test.xml", owner: "{{ app_account }}", group: "{{ app_account }}", mode: "0640", state: "enabled" } - - # glassfish common jar files - glassfish_extra_libs: - - { name: "lib/jasper-fonts-3.0-SNAPSHOT.jar", owner: "{{ app_account }}", group: "{{ app_account }}", mode: "0640", state: "enabled" } - - { name: "lib/jcl-over-slf4j-1.6.6.jar", owner: "{{ app_account }}", group: "{{ app_account }}", mode: "0640", state: "enabled" } - - { name: "lib/log4j-over-slf4j-1.6.6.jar", owner: "{{ app_account }}", group: "{{ app_account }}", mode: "0640", state: "enabled" } - - { name: "lib/logback-classic-1.0.6.jar", owner: "{{ app_account }}", group: "{{ app_account }}", mode: "0640", state: "enabled" } - - { name: "lib/logback-core-1.0.6.jar", owner: "{{ app_account }}", group: "{{ app_account }}", mode: "0640", state: "enabled" } - - { name: "lib/ojdbc6-11.2.0.3.0.jar", owner: "{{ app_account }}", group: "{{ app_account }}", mode: "0640", state: "enabled" } - - { name: "lib/slf4j-api-1.6.6.jar", owner: "{{ app_account }}", group: "{{ app_account }}", mode: "0640", state: "enabled" } - -And in my ansible playbook i have these two tasks - - - name: "copy config files" - action: template src={{ glassfish_templates_dir }}/{{ item.name }} dest={{ gf_domain_path }}/{{ item.name }} owner={{ item.owner }} group={{ item.group }} mode={{ item.mode }} - with_items: glassfish_config_files - when: item.state == 'enabled' - - - name: "copy custom jar files" - #become: yes - #become_user: app - copy: - src: "{{ glassfish_templates_dir }}/{{ item.name }}" - dest: "{{ gf_domain_path }}/{{ item.name }}" - owner: "{{ item.owner }}" - group: "{{ item.group }}" - mode: "{{ item.mode }}" - with_items: glassfish_extra_libs - when: item.state == 'enabled' - -When i run my ansible command i get this error. - - fatal: [localhost]: FAILED! => - {"failed": true, "msg": "ERROR! privilege output closed while waiting for password prompt: - \nBECOME-SUCCESS-whigccifcoswlzyscbglejhqtvzfycng\n1 - /opt/app/glassfish3/glassfish/domains/domain1/lib/jcl-over-slf4j-1.6.6.jar\n"} - -The first jar file is transferred but the second always fails. I know i have to be carefully with the double quotes when referencing the dictionary values but I believe I have this correct. Any suggestions? diff --git a/jekyll/_posts/2016/2016-02-24-wedfeb24.markdown b/jekyll/_posts/2016/2016-02-24-wedfeb24.markdown deleted file mode 100644 index 62f44e39..00000000 --- a/jekyll/_posts/2016/2016-02-24-wedfeb24.markdown +++ /dev/null @@ -1,16 +0,0 @@ ---- - -title: "wed-feb-24" -date: "2016-02-24 08:49:59 +0000" -header: - overlay_image: https://unsplash.it/792/269/?random - ocerlay_filter: 0.75 - teaser: https://unsplash.it/300/400/?random ---- - -# Naked Objects -http://stackoverflow.com/questions/167517/naked-objects-good-or-bad -https://isis.apache.org/guides/tg.html - -# Kendo -https://github.com/telerik/kendo-ui-core diff --git a/jekyll/_posts/2016/2016-03-24-gitlab-ci-runner.markdown b/jekyll/_posts/2016/2016-03-24-gitlab-ci-runner.markdown deleted file mode 100644 index 81c6167a..00000000 --- a/jekyll/_posts/2016/2016-03-24-gitlab-ci-runner.markdown +++ /dev/null @@ -1,48 +0,0 @@ ---- - -title: "gitlab ci runner" -date: "2016-03-24 14:02:43 +0000" -header: - overlay_image: https://unsplash.it/792/269/?random - ocerlay_filter: 0.75 - teaser: https://unsplash.it/300/400/?random ---- - -I got gitlab running again on my local dev machine and installed the 'gitlab-ci-multi-runner' so I can investigate the build runner options. - -```bash -sudo gitlab-ci-multi-runner register -Running in system-mode. -Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/ci): -http://x.y.z.w:8987/ci -Please enter the gitlab-ci token for this runner: -xxxxxxxxxx -Please enter the gitlab-ci description for this runner: -runner -Please enter the gitlab-ci tags for this runner (comma separated): -dev -Registering runner... succeeded -Please enter the executor: virtualbox, ssh, shell, parallels, docker, docker-ssh: -shell -Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded -``` - -One item to note is that '/ci' must be appended to your gitlabs url - -> http://x.y.z:port/ci - -A nice image - -
    - -
    Caption describing these three images.
    -
    - -Some other URL links found today - -* https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/blob/master/docs/install/linux-repository.md -* https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/issues/1092 -* https://about.gitlab.com/2014/09/29/gitlab-flow/ -* http://stackoverflow.com/questions/18188492/what-are-the-pros-and-cons-of-git-flow-vs-github-flow -* http://stackoverflow.com/questions/18188492/what-are-the-pros-and-cons-of-git-flow-vs-github-flow -* http://scottchacon.com/2011/08/31/github-flow.html diff --git a/jekyll/_posts/2016/2016-04-01-composer-autoload-for-wordpress-plugins-.markdown b/jekyll/_posts/2016/2016-04-01-composer-autoload-for-wordpress-plugins-.markdown deleted file mode 100644 index 03f91078..00000000 --- a/jekyll/_posts/2016/2016-04-01-composer-autoload-for-wordpress-plugins-.markdown +++ /dev/null @@ -1,77 +0,0 @@ ---- - -title: "Using composer to generate an autoload file for my wordpress plugin" -date: "2016-04-01 17:01:49 +0100" -header: - overlay_image: https://unsplash.it/792/269/?random - ocerlay_filter: 0.75 - teaser: https://unsplash.it/300/400/?random ---- - -I've never liked how i was handling class loading in my BHAA wordpress plugins. - -```php - $baseDir . '/includes/model/class-abstract-league.php', - 'BaseModel' => $baseDir . '/includes/model/class-basemodel.php', - 'Bhaa' => $baseDir . '/public/class-bhaa.php', - 'BhaaImport' => $baseDir . '/admin/import.php'er.php', - ... - 'WPFlashMessages' => $baseDir . '/admin/WPFlashMessages.php', -); -``` -The final step to call the composer generated autoload.php file from my plugin, so add this line to 'bhaawp.php' - -```php - origin/master - Checking out 95ddd4fc as master... - HEAD is now at 95ddd4f... maven settings - $ mvn install -B - -but then fails with error where java 8 is being used for the build - - [INFO] BUILD FAILURE - [INFO] ------------------------------------------------------------------------ - [INFO] Total time: 10.260s - [INFO] Finished at: Mon Apr 04 18:55:47 IST 2016 - [INFO] Final Memory: 77M/967M - [INFO] ------------------------------------------------------------------------ - [ERROR] Failed to execute goal org.codehaus.mojo:apt-maven-plugin:1.0-alpha-5:process (default) on project om-interface-eircom: Unable to locate the apt compiler in: - [ERROR] /usr/lib/jvm/java-8-oracle/jre/../lib/tools.jar - [ERROR] Please ensure you are using JDK 1.5 or above and - [ERROR] not a JRE (the com.sun.tools.apt.Main class is required). - [ERROR] In most cases you can change the location of your Java - [ERROR] installation by setting the JAVA_HOME environment variable. - -I do have java 8 installed locally but I expected the docker image definition to control this. - -Can anybody suggest how i can work around this? - - -pauloconnell@pauloconnell-HP-ZBook-15:/home$ sudo gitlab-runner status -gitlab-runner: Service is running! -pauloconnell@pauloconnell-HP-ZBook-15:/home$ sudo gitlab-runner list -Listing configured runners ConfigFile=/etc/gitlab-runner/config.toml -runner Executor=shell Token=4ba3544e008e7e06041b009522d876 URL=http://10.139.11.103:8987/ci -pauloconnell@pauloconnell-HP-ZBook-15:/home$ sudo more /etc/gitlab-runner/config.toml - concurrent = 1 - - [[runners]] - name = "runner" - url = "http://10.139.11.103:8987/ci" - token = "4ba3544e008e7e06041b009522d876" - tls-ca-file = "" - executor = "shell" - [runners.ssh] - [runners.docker] - image = "" - privileged = false - [runners.parallels] - base_name = "" - [runners.virtualbox] - base_name = "" - -to - - concurrent = 1 - - [[runners]] - name = "runner" - url = "http://10.139.11.103:8987/ci" - token = "4ba3544e008e7e06041b009522d876" - tls-ca-file = "" - executor = "shell" - shell="bash" - environment= ["JAVA_HOME=/usr/lib/jvm/java-7-oracle/"] - -and updated by .gitlab-ci.yml to - - maven-package: - script: "mvn install -B" diff --git a/jekyll/_posts/2016/2016-04-08-ibm-bluemix.markdown b/jekyll/_posts/2016/2016-04-08-ibm-bluemix.markdown deleted file mode 100644 index e3dd9b22..00000000 --- a/jekyll/_posts/2016/2016-04-08-ibm-bluemix.markdown +++ /dev/null @@ -1,54 +0,0 @@ ---- - -title: "ibm bluemix" -date: "2016-04-08 09:36:23 +0100" -header: - overlay_image: https://unsplash.it/792/269/?random - ocerlay_filter: 0.75 - teaser: https://unsplash.it/300/400/?random ---- - -# IBM Bluemix - -Platform as a Service (PaaS) solution. -Track and plan - -## How does it work - -Platform deployment via -- Public, Dedicated or Local installations. - -Compute options via -- Cloud Foundry (Instance Runtimes) : PaaS in its own right. -- Docker (Containers) -- Openstack (VMs) - -Catalog of Services -- Web, Data, Mobile, Security, Iot, Analytics - -API Management - -Softlayer API -- git@github.com:softlayer/softlayer-java.git - -CI & Delivery -Urbancode -- https://developer.ibm.com/urbancode/ - -# Demo -Geo-location demo - -IoT demo - -NodeRed -- http://nodered.org/ -- https://developer.ibm.com/iotfoundation/recipes/node-red-quickstart-application/ - -# CF Commandline - -# UI Wireframes -sketch -balsamic -html - -http://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/doc/nl-classifier/get_start.shtml diff --git a/jekyll/_posts/2016/2016-04-13-ruddeck.markdown b/jekyll/_posts/2016/2016-04-13-ruddeck.markdown deleted file mode 100644 index c2d09560..00000000 --- a/jekyll/_posts/2016/2016-04-13-ruddeck.markdown +++ /dev/null @@ -1,68 +0,0 @@ ---- - -title: "ruddeck" -date: "2016-04-13 11:50:20 +0100" -header: - overlay_image: https://unsplash.it/792/269/?random - ocerlay_filter: 0.75 - teaser: https://unsplash.it/300/400/?random ---- - -https://github.com/Batix/rundeck-ansible-plugin - -https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin - -https://wiki.jenkins-ci.org/display/JENKINS/Git+Client+Plugin -https://wiki.jenkins-ci.org/pages/viewpage.action?pageId=73532252 - - - -svn move -m "[CDD] move dev branch to archive" http://grzsvn01.infonova.at/products/clients/eircom/eircom/branches/eircom-master-6.6-GuestWiFi http://grzsvn01.infonova.at/products/clients/eircom/eircom/archive/dev/eircom-master-6.6-GuestWiFi - - - -``` -WARNING: HTTPS is not enabled, specify -Drundeck.ssl.config=/home/pauloconnell/projects/rundeck/server/config/ssl.properties to enable. -2016-04-13 11:47:33.851:INFO:oejs.Server:jetty-7.6.0.v20120127 -2016-04-13 11:47:35.745:INFO:oejw.StandardDescriptorProcessor:NO JSP Support for /, did not find org.apache.jasper.servlet.JspServlet -2016-04-13 11:47:36.714:INFO:/:Initializing Spring root WebApplicationContext -2016-04-13 11:47:52,503 INFO BootStrap - Starting Rundeck 2.6.3-1... -2016-04-13 11:47:52,504 INFO BootStrap - using rdeck.base config property: /home/pauloconnell/projects/rundeck -2016-04-13 11:47:52,511 INFO BootStrap - loaded configuration: /home/pauloconnell/projects/rundeck/etc/framework.properties -2016-04-13 11:47:53,382 ERROR ScmService - Failed to initialize SCM import plugin git-import for R6: Failed fetch from the repository: Path does not exist: pauloconnell -com.dtolabs.rundeck.plugins.scm.ScmPluginException: Failed fetch from the repository: Path does not exist: pauloconnell - at org.rundeck.plugin.scm.git.BaseGitPlugin.cloneOrCreate(BaseGitPlugin.groovy:429) - at org.rundeck.plugin.scm.git.GitImportPlugin.setup(GitImportPlugin.groovy:97) - at org.rundeck.plugin.scm.git.GitImportPlugin.initialize(GitImportPlugin.groovy:60) - at org.rundeck.plugin.scm.git.GitImportPluginFactory.createPlugin(GitImportPluginFactory.groovy:61) - at rundeck.services.ScmService.loadImportPluginWithConfig(ScmService.groovy:642) - at rundeck.services.ScmService.loadPluginWithConfig(ScmService.groovy:623) - at rundeck.services.ScmService.initPlugin(ScmService.groovy:376) - at rundeck.services.ScmService.initialize(ScmService.groovy:96) - at BootStrap$_closure1.doCall(BootStrap.groovy:194) - at grails.util.Environment.evaluateEnvironmentSpecificBlock(Environment.java:327) - at grails.util.Environment.executeForEnvironment(Environment.java:320) - at grails.util.Environment.executeForCurrentEnvironment(Environment.java:296) - at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:733) - at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:233) - at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1214) - at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:676) - at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:455) - at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59) - at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:90) - at org.eclipse.jetty.server.Server.doStart(Server.java:261) - at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59) - at com.dtolabs.rundeck.RunServer.run(RunServer.java:118) - at com.dtolabs.rundeck.RunServer.main(RunServer.java:78) - at com.dtolabs.rundeck.ExpandRunServer.invokeMain(ExpandRunServer.java:690) - at com.dtolabs.rundeck.ExpandRunServer.execute(ExpandRunServer.java:647) - at com.dtolabs.rundeck.ExpandRunServer.run(ExpandRunServer.java:304) - at com.dtolabs.rundeck.ExpandRunServer.main(ExpandRunServer.java:113) -Caused by: com.dtolabs.rundeck.plugins.scm.ScmPluginException: Path does not exist: pauloconnell - at org.rundeck.plugin.scm.git.BaseGitPlugin.loadStoragePathData(BaseGitPlugin.groovy:377) - at org.rundeck.plugin.scm.git.BaseGitPlugin.setupTransportAuthentication(BaseGitPlugin.groovy:496) - at org.rundeck.plugin.scm.git.BaseGitPlugin.fetchFromRemote(BaseGitPlugin.groovy:113) - at org.rundeck.plugin.scm.git.BaseGitPlugin.cloneOrCreate(BaseGitPlugin.groovy:425) - ... 26 more -2016-04-13 11:47:53,421 INFO BootStrap - RSS feeds disabled -``` diff --git a/jekyll/_posts/2016/2016-04-16-azure-global-bootcamp-2016.md b/jekyll/_posts/2016/2016-04-16-azure-global-bootcamp-2016.md deleted file mode 100644 index 79e6155b..00000000 --- a/jekyll/_posts/2016/2016-04-16-azure-global-bootcamp-2016.md +++ /dev/null @@ -1,187 +0,0 @@ ---- -title: "Azure Global Bootcamp 2016" -date: "2016-04-16 11:01:49 +0100" -header: - overlay_image: https://unsplash.it/792/269/?random - ocerlay_filter: 0.75 - teaser: https://unsplash.it/300/400/?random ---- - -Notes from the Dublin talks - -# [Niall Moran](https://twitter.com/niallermoran) - -- Azure batch -- Azure container - docker swarm / apache mesos clusters - -New -- VM Scale sets - template with app, IP -- Reserved IP's -- Dev/Test Labs - -Azure Service Fabric Cluster -- abstracted from infrastructure - -Transparent Data Encryption for SQL Databases -- Row Level Security - -``` -http://aka.ms/AzureBootcampDublin -> https://blogs.msdn.microsoft.com/niallsblog/bootcamp2016/ -``` - -# [Aiden Casey](https://twitter.com/@aidanjcasey) - Building and Deploying App Services - -- Web app - customer site -- Login app - order tracking (asych) -- Mobile app - customer / admin app -- API App - rest api for 3rd parties - -## Kudu -Kudu is the engine behind git/hg deployments, WebJobs, and various other features in Azure Web Sites -https://github.com/projectkudu/kudu -http://getkudu.io/ -kudu secret site with dev utilities - add '.scm.' to the domain name. xxx.scm.azure.net - -App API -- Swagger API - http://swagger.io/ -- Document REST API and generate 'out of the box' UI interface and sandbox. - -Logic Apps -- linking REST APIS -- Request Bin @ requestb.in - -Mobile Services App -Application Insights - -Best Practice for Web Apps -- autoscale on with sticky sessions off -- back up the DB -- load test pre live -- automatic failover with global traffic manager -- auto deploy slots (4 free slots) test in prod without customers -- test site recovery -- azure resource groups (json templates) -- billing alerts -- use azure CDN for static files -- retry logic - -6 month free code magazine subscription : https://www.codemag.com/subscribe/gabc16 - -# [Bob Duffy](https://twitter.com/bob_duffy) - Migrate SQL to the Azure Cloud - -See linux.dell.com/dvdstore as a bad implementation and good example for making scaling improvements. - -Non-functional requirements -- availability : green -- recoverability : green -- agility : green -- maintainability : green -- cost : orange -- scalability (scale out vs scale up) : orange -- performance : red -- reliability : red (cloud at a single node is unreliable but as a whole is scalable) - -## IaaS - -Blob storage is not suitable for SQL Server - -SSD based storage is recommended for SQL Server DB's on azure - -A lot of SQL Server is single threaded so clock speed and chip should be tuned. Use less chips to achieve greater clock speeds. - -Check the Azure package IOPS value (this should be considered the bandwidth) and divide by 64 to determine the real SQL Server IOPS value. - -Consider the buy or rental costs for your SQL server license. - -There are differences between on-premise and cloud sql servers -- heap table types -- extended stored proc's - -Elastic DB -- Uses federation/sharding -- Sharding is done with code with API provided by microsoft - -Use Data Caching -- Azure cache -- Redis -- Message queue - -No-SQL -- Document DB, json -- Azure Table, xml -- Cheaper for data storage - -# [Vikas Sahni](https://twitter.com/search?q=sahnivi) - -1 - Automate everything -- Dev/ops Learn, Develop, Deploy, Operate -- Repeatable, Reliable, Fast (4 Week cycle) - -2 - Source Control -- parameterize scripts - -3 - CI & CD -- Visual Studio Online (free up to 5 developer) -- -4 - Web Dev Best Practices -- Scale automatically or on schedule - -5 - Enterprise Identity Integration -- active directory -- oauth - -6 - Data Storage Options - -7 - Data Partition Strategies - -8 - Unstructured Blob Strategy - -9 - Design to survive failures - -10 - Monitoring and Telemetry - -11 - Transient Fault Handing - -12 - Distributed Caching - -13 - Queues Centric Work Patterns - -# [Aidan Finn](https://twitter.com/@joe_elway) - Azure Site Recovery - -- Backup vs Disaster Recovery -- Basic Azure - - Site to Site - - Site to Azure -- Design Considerations -- Accessing failed over Services -- Azure V2/ARM -- Pricing - -# Machine Learning Stuff - -- https://azure.microsoft.com/en-us/documentation/articles/machine-learning-algorithm-choice/ -- http://download.microsoft.com/download/A/6/1/A613E11E-8F9C-424A-B99D-65344785C288/microsoft-machine-learning-algorithm-cheat-sheet-v6.pdf -- https://studio.azureml.net/ -- http://machinelearningmastery.com/mistakes-programmers-make-when-starting-in-machine-learning/ -- http://machinelearningmastery.com/what-if-im-not-a-good-programmer/ -- http://stackoverflow.com/questions/2620343/what-is-machine-learning -- https://blog.intercom.io/machine-learning-way-easier-than-it-looks/ - -## [Kaggle](https://www.kaggle.com/) - -- https://www.kaggle.com/c/sf-crime/data - -### Machine Learning Languages -- http://julialang.org/ -- http://www.cyclismo.org/tutorial/R/ - -### Atom Editor Issue - -Atom editor issue of the day. - -``` -Uncaught YAMLException: duplicated mapping key at line 38, column 3: foursquare: #username ^ -/Users/pauloconnell/.atom/packages/jekyll/node_modules/js-yaml/lib/js-yaml/loader.js:168 -Show Stack Trace -The error was thrown from the jekyll package. You can help by creating an issue. Please explain what actions triggered this error. -``` diff --git a/jekyll/_posts/2016/2016-06-21-ansible-tower.markdown b/jekyll/_posts/2016/2016-06-21-ansible-tower.markdown deleted file mode 100644 index 3f438068..00000000 --- a/jekyll/_posts/2016/2016-06-21-ansible-tower.markdown +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: "Ansible Tower" -date: "2016-06-21 11:01:49 +0100" -header: - overlay_image: https://unsplash.it/792/269/?random - ocerlay_filter: 0.75 - teaser: https://unsplash.it/300/400/?random ---- - -https://support.ansible.com/hc/en-us/requests/8840 - -``` -Enter passphrase for /tmp/ansible_tower_o9E8Xx/credential: -Identity added: /tmp/ansible_tower_o9E8Xx/credential (/tmp/ansible_tower_o9E8Xx/credential) -Using /var/lib/awx/projects/_5__r6_ansible/ansible.cfg as config file -ERROR! The file /usr/lib/python2.7/dist-packages/awx/plugins/inventory/awxrest.py is marked as executable, but failed to execute correctly. If this is not supposed to be an executable script, correct this with `chmod -x /usr/lib/python2.7/dist-packages/awx/plugins/inventory/awxrest.py`. -ERROR! Inventory script (/usr/lib/python2.7/dist-packages/awx/plugins/inventory/awxrest.py) had an execution error: 404 Client Error: Not Found ----- -ERROR! /usr/lib/python2.7/dist-packages/awx/plugins/inventory/awxrest.py:35: Expected key=value host variable assignment, got: json -``` - -This is - -``` -Starting supervisor: 14:47:54@pauloconnell-HP-ZBook-15:~/Tools/ansible-tower-setup-2.4.5$ sudo ansible-tower-service restart -Restarting Tower - * Stopping PostgreSQL 9.4 database server [ OK ] -Stopping redis-server: redis-server. - * Stopping web server apache2 * -Stopping supervisor: supervisord. -Waiting to allow supervisor time to cleanup ... pid 9643 - ... waiting.. * Starting PostgreSQL 9.4 database server [ OK ] -Starting redis-server: redis-server. - * Starting web server apache2 AH00548: NameVirtualHost has no effect and will be removed in the next release /etc/apache2/conf-enabled/awx-httpd-443.conf:1 - AH00548: NameVirtualHost has no effect and will be removed in the next release /etc/apache2/conf-enabled/awx-httpd-443.conf:1 -``` diff --git a/jekyll/_posts/2016/2016-07-01-ginger-beer.md b/jekyll/_posts/2016/2016-07-01-ginger-beer.md deleted file mode 100644 index 25ecff2b..00000000 --- a/jekyll/_posts/2016/2016-07-01-ginger-beer.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -layout: single -title: Ginger Beer -category: - - homebrew -date: 2016-07-01 12:00:00 -header: - overlay_image: https://unsplash.it/792/269/?random - ocerlay_filter: 0.75 - teaser: https://unsplash.it/300/400/?random ---- - -Ginger Beer - -![1]({{site.url}}/images/2016/07/01/IMAG0869.jpg){:height="200px" width="100px"}. - -![2]({{site.url}}/images/2016/07/01/IMAG0871.jpg){:height="200px" width="100px"}. - -![3]({{site.url}}/images/2016/07/01/IMAG0886.jpg){:height="200px" width="100px"}. diff --git a/jekyll/_posts/2016/2016-07-09-synology.markdown b/jekyll/_posts/2016/2016-07-09-synology.markdown deleted file mode 100644 index ea67868d..00000000 --- a/jekyll/_posts/2016/2016-07-09-synology.markdown +++ /dev/null @@ -1,14 +0,0 @@ ---- - -title: "synology" -date: "2016-07-09 15:34:55 +0100" -header: - overlay_image: https://unsplash.it/792/269/?random - ocerlay_filter: 0.75 - teaser: https://unsplash.it/300/400/?random ---- - -http://techanic.net/2014/04/12/configuring_ssh_and_scp_sftp_on_dsm_5.0_for_synology_diskstations.html - - -![SSH Service]({{ site.url }}/images/2016/synology/ssh-service.png) diff --git a/jekyll/_posts/2016/2016-08-11-intellij-as-wordpress-server.md b/jekyll/_posts/2016/2016-08-11-intellij-as-wordpress-server.md deleted file mode 100644 index e7c42af5..00000000 --- a/jekyll/_posts/2016/2016-08-11-intellij-as-wordpress-server.md +++ /dev/null @@ -1,13 +0,0 @@ ---- - -title: "Using Intellij as a wordpress server" -date: "2016-08-12 11:01:49 +0100" -header: - overlay_image: https://unsplash.it/792/269/?random - ocerlay_filter: 0.75 - teaser: https://unsplash.it/300/400/?random ---- - -Notes from the Dublin talks - -Using Intellij as a wordpress server diff --git a/jekyll/_posts/2016/2016-08-14-st-peters-ipa.md b/jekyll/_posts/2016/2016-08-14-st-peters-ipa.md deleted file mode 100644 index 6ec65513..00000000 --- a/jekyll/_posts/2016/2016-08-14-st-peters-ipa.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -layout: single -title: St Peter's IPA -category: - - homebrew -date: 2016-08-14 18:32:56 -header: - overlay_image: https://unsplash.it/792/269/?random - ocerlay_filter: 0.75 - teaser: https://unsplash.it/300/400/?random ---- - -St Peter's IPA - -![1]({{site.url}}/images/2016/08/14/IMAG0902.jpg) - -![2]({{site.url}}/images/2016/08/14/IMAG0903.jpg) - -![3]({{site.url}}/images/2016/08/14/IMAG0904.jpg) diff --git a/jekyll/_posts/2016/2016-08-22-atom-jekyll-error.markdown b/jekyll/_posts/2016/2016-08-22-atom-jekyll-error.markdown deleted file mode 100644 index 119e65a3..00000000 --- a/jekyll/_posts/2016/2016-08-22-atom-jekyll-error.markdown +++ /dev/null @@ -1,36 +0,0 @@ ---- - -title: "atom jekyll error - duplicate mapping key at line" -date: "2016-08-22 22:38:02" -header: - overlay_image: https://unsplash.it/792/269/?random - ocerlay_filter: 0.75 - teaser: https://unsplash.it/300/400/?random ---- -Error when attempting to create a new jekyll post with atom 1.9.9 - -{% highlight bash %} -Uncaught YAMLException: duplicated mapping key at line 38, column 3: foursquare: #username ^ -/Applications/Atom.app/Contents/Resources/app.asar/node_modules/roaster/node_modules/js-yaml/lib/js-yaml/loader.js:168 -Hide Stack Trace -YAMLException: duplicated mapping key at line 38, column 3: -foursquare: #username ^ -at generateError (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/roaster/node_modules/js-yaml/lib/js-yaml/loader.js:162:10) -at throwError (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/roaster/node_modules/js-yaml/lib/js-yaml/loader.js:168:9) -at storeMappingPair (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/roaster/node_modules/js-yaml/lib/js-yaml/loader.js:305:7) -at readBlockMapping (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/roaster/node_modules/js-yaml/lib/js-yaml/loader.js:1065:9) -at composeNode (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/roaster/node_modules/js-yaml/lib/js-yaml/loader.js:1326:12) -at readBlockMapping (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/roaster/node_modules/js-yaml/lib/js-yaml/loader.js:1056:11) -at composeNode (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/roaster/node_modules/js-yaml/lib/js-yaml/loader.js:1326:12) -at readDocument (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/roaster/node_modules/js-yaml/lib/js-yaml/loader.js:1488:3) -at loadDocuments (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/roaster/node_modules/js-yaml/lib/js-yaml/loader.js:1544:5) -at load (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/roaster/node_modules/js-yaml/lib/js-yaml/loader.js:1561:19) -at Object.safeLoad (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/roaster/node_modules/js-yaml/lib/js-yaml/loader.js:1579:10) -at Object.module.exports.handleConfigFileOpen (/Users/pauloconnell/.atom/packages/jekyll/lib/jekyll/utils.coffee:25:40) -at /Users/pauloconnell/.atom/packages/jekyll/lib/jekyll/utils.coffee:20:21 -at FSReqWrap.oncomplete (fs.js:82:15) -{% endhighlight %} - -Screen shot - -![atom-jekyll-error]({{site.url}}/images/2016/08/22/atom-jekyll-error.png) diff --git a/jekyll/_posts/2016/2016-08-28-angular-hero-tutorial.markdown b/jekyll/_posts/2016/2016-08-28-angular-hero-tutorial.markdown deleted file mode 100644 index 79346a3a..00000000 --- a/jekyll/_posts/2016/2016-08-28-angular-hero-tutorial.markdown +++ /dev/null @@ -1,26 +0,0 @@ ---- - -title: "angularjs 2 tutorial - Can't bind to 'hero' since it isn't a known property of 'hero-detail'" -date: "2016-08-28 12:10:02" -header: - overlay_image: https://unsplash.it/792/269/?random - ocerlay_filter: 0.75 - teaser: https://unsplash.it/300/400/?random ---- - -Playing with the angular js tutorial here - - https://angular.io/docs/ts/latest/guide/architecture.html - -Hit this error, which I know is something to do with passing input / output parameters between the different components. - -``` -zone.js:461 Unhandled Promise rejection: Template parse errors: -Can't bind to 'hero' since it isn't a known property of 'hero-detail'. -1. If 'hero-detail' is an Angular component and it has 'hero' input, then verify that it is part of this module. -2. If 'hero-detail' is a Web Component then add "CUSTOM_ELEMENTS_SCHEMA" to the '@NgModule.schema' of this component to suppress this message. - (" - - ][hero]="selectedHero"> - "): AppComponent@19:35 ; Zone: ; Task: Promise.then ; Value: BaseException {message: "Template parse errors:↵Can't bind to 'hero' since …ectedHero">↵ "): AppComponent@19:35", stack: "Error: Template parse errors:↵Can't bind to 'hero'…st:3000/node_modules/zone.js/dist/zone.js:356:38)"}message: "Template parse errors:↵Can't bind to 'hero' since it isn't a known property of 'hero-detail'.↵1. If 'hero-detail' is an Angular component and it has 'hero' input, then verify that it is part of this module.↵2. If 'hero-detail' is a Web Component then add "CUSTOM_ELEMENTS_SCHEMA" to the '@NgModule.schema' of this component to suppress this message.↵ ("↵↵↵ ][hero]="selectedHero">↵ "): AppComponent@19:35"stack: "Error: Template parse errors:↵Can't bind to 'hero' since it isn't a known property of 'hero-detail'.↵1. If 'hero-detail' is an Angular component and it has 'hero' input, then verify that it is part of this module.↵2. If 'hero-detail' is a Web Component then add "CUSTOM_ELEMENTS_SCHEMA" to the '@NgModule.schema' of this component to suppress this message.↵ ("↵↵↵ ][hero]="selectedHero">↵ "): AppComponent@19:35↵ at new BaseException (http://localhost:3000/node_modules/@angular/compiler/bundles/compiler.umd.js:5116:27)↵ at TemplateParser.parse (http://localhost:3000/node_modules/@angular/compiler/bundles/compiler.umd.js:8318:23)↵ at RuntimeCompiler._compileTemplate (http://localhost:3000/node_modules/@angular/compiler/bundles/compiler.umd.js:15941:55)↵ at eval (http://localhost:3000/node_modules/@angular/compiler/bundles/compiler.umd.js:15869:87)↵ at Set.forEach (native)↵ at compile (http://localhost:3000/node_modules/@angular/compiler/bundles/compiler.umd.js:15869:51)↵ at ZoneDelegate.invoke (http://localhost:3000/node_modules/zone.js/dist/zone.js:323:29)↵ at Zone.run (http://localhost:3000/node_modules/zone.js/dist/zone.js:216:44)↵ at http://localhost:3000/node_modules/zone.js/dist/zone.js:571:58↵ at ZoneDelegate.invokeTask (http://localhost:3000/node_modules/zone.js/dist/zone.js:356:38)"__proto__: Errorconstructor: BaseException(message)toString: ()__proto__: Objectconstructor: Error()message: ""name: "Error"toString: toString()__proto__: ObjectconsoleError @ zone.js:461_loop_1 @ zone.js:490drainMicroTaskQueue @ zone.js:494ZoneTask.invoke @ zone.js:426 -``` diff --git a/jekyll/_posts/2017/2017-01-12-sample-post.markup b/jekyll/_posts/2017/2017-01-12-sample-post.markup deleted file mode 100644 index d7742408..00000000 --- a/jekyll/_posts/2017/2017-01-12-sample-post.markup +++ /dev/null @@ -1,110 +0,0 @@ ---- -title: "Sample Post" -excerpt: "Just about everything you'll need to style in the theme: headings, paragraphs, blockquotes, tables, code blocks, and more." -modified: 2013-05-31 -tags: [intro, beginner, jekyll, tutorial] -comments: true -header: - overlay_image: https://unsplash.it/792/269/?random - ocerlay_filter: 0.75 - teaser: https://unsplash.it/300/400/?image=0 ---- - -
    -
    -

    Overview

    -
    -
    -* Auto generated table of contents -{:toc} -
    -
    - -## HTML Elements - -Below is just about everything you'll need to style in the theme. Check the source code to see the many embedded elements within paragraphs. - -# Heading 1 - -## Heading 2 - -### Heading 3 - -#### Heading 4 - -##### Heading 5 - -###### Heading 6 - -### Body text - -Lorem ipsum dolor sit amet, test link adipiscing elit. **This is strong**. Nullam dignissim convallis est. Quisque aliquam. - -![Smithsonian Image]({{ site.url }}/images/3953273590_704e3899d5_m.jpg) -{: .image-pull-right} - -*This is emphasized*. Donec faucibus. Nunc iaculis suscipit dui. 53 = 125. Water is H2O. Nam sit amet sem. Aliquam libero nisi, imperdiet at, tincidunt nec, gravida vehicula, nisl. The New York Times (That’s a citation). Underline.Maecenas ornare tortor. Donec sed tellus eget sapien fringilla nonummy. Mauris a ante. Suspendisse quam sem, consequat at, commodo vitae, feugiat in, nunc. Morbi imperdiet augue quis tellus. - -HTML and CSS are our tools. Mauris a ante. Suspendisse quam sem, consequat at, commodo vitae, feugiat in, nunc. Morbi imperdiet augue quis tellus. Praesent mattis, massa quis luctus fermentum, turpis mi volutpat justo, eu volutpat enim diam eget metus. - -### Blockquotes - -> Lorem ipsum dolor sit amet, test link adipiscing elit. Nullam dignissim convallis est. Quisque aliquam. - -## List Types - -### Ordered Lists - -1. Item one - 1. sub item one - 2. sub item two - 3. sub item three -2. Item two - -### Unordered Lists - -* Item one -* Item two -* Item three - -## Tables - -| Header1 | Header2 | Header3 | -|:--------|:-------:|--------:| -| cell1 | cell2 | cell3 | -| cell4 | cell5 | cell6 | -|---- -| cell1 | cell2 | cell3 | -| cell4 | cell5 | cell6 | -|===== -| Foot1 | Foot2 | Foot3 -{: rules="groups"} - -## Code Snippets - -{% highlight css %} -#container { - float: left; - margin: 0 -240px 0 0; - width: 100%; -} -{% endhighlight %} - -## Buttons - -Make any link standout more when applying the `.btn` class. - -{% highlight html %} -Success Button -{% endhighlight %} - - - - - - - -## Notices - -**Watch out!** You can also add notices by appending `{: .notice}` to a paragraph. -{: .notice} diff --git a/jekyll/_posts/2017/2017-01-22-better-brew-ipa.markdown b/jekyll/_posts/2017/2017-01-22-better-brew-ipa.markdown deleted file mode 100644 index a9114395..00000000 --- a/jekyll/_posts/2017/2017-01-22-better-brew-ipa.markdown +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: "Better Brew IPA" -excerpt: "this is an excerpt" -date: "2017-04-05 21:34:18 +0000" -category: - - homebrew -header: - overlay_image: https://unsplash.it/792/269/?random - ocerlay_filter: 0.75 - teaser: https://unsplash.it/300/400/?image=1 ---- - -First brew of the 2017 year. diff --git a/jekyll/_posts/2017/2017-01-24-spring-http-auth.markdown b/jekyll/_posts/2017/2017-01-24-spring-http-auth.markdown deleted file mode 100644 index 51d75ac4..00000000 --- a/jekyll/_posts/2017/2017-01-24-spring-http-auth.markdown +++ /dev/null @@ -1,67 +0,0 @@ ---- -title: "Spring Boot - Web Security" -modified: 2017-01-25 -category: - - dev -tags: - - java -header: - overlay_image: https://unsplash.it/792/269/?random - ocerlay_filter: 0.75 - teaser: https://unsplash.it/300/400/?image=2 ---- - -Spring Boot - Web Security - -``` -public class HttpComponentsClientHttpRequestFactoryBasicAuth extends HttpComponentsClientHttpRequestFactory { - - private HttpHost host; - - public HttpComponentsClientHttpRequestFactoryBasicAuth(HttpHost host) { - super(); - this.host = host; - } - - protected HttpContext createHttpContext(HttpMethod httpMethod, URI uri) { - return createHttpContext(); - } - private HttpContext createHttpContext() { - // Create AuthCache instance - AuthCache authCache = new BasicAuthCache(); - // Generate BASIC scheme object and add it to the local auth cache - BasicScheme basicAuth = new BasicScheme(); - authCache.put(host, basicAuth); - - // Add AuthCache to the execution context - BasicHttpContext localcontext = new BasicHttpContext(); - localcontext.setAttribute(ClientContext.AUTH_CACHE, authCache); - return localcontext; - } -} -``` - -``` -public class RestTemplateFactory implements FactoryBean, InitializingBean { - - private RestTemplate restTemplate; - - public RestTemplate getObject() { - return restTemplate; - } - - public Class getObjectType() { - return RestTemplate.class; - } - - public boolean isSingleton() { - return true; - } - - public void afterPropertiesSet() { - HttpHost host = new HttpHost("bhaa.ie", 80, "https"); - restTemplate = new RestTemplate( - new HttpComponentsClientHttpRequestFactoryBasicAuth(host)); - } -} -``` diff --git a/jekyll/_posts/2017/2017-01-25-spring-boot-websecurity.markdown b/jekyll/_posts/2017/2017-01-25-spring-boot-websecurity.markdown deleted file mode 100644 index 14bd304b..00000000 --- a/jekyll/_posts/2017/2017-01-25-spring-boot-websecurity.markdown +++ /dev/null @@ -1,54 +0,0 @@ ---- -title: Spring Boot - Web Security -modified: 2017-01-25 -tags: [intro, beginner, jekyll, tutorial] -header: - overlay_image: https://unsplash.it/792/269/?random - ocerlay_filter: 0.75 - teaser: https://unsplash.it/300/400/?image=3 ---- - -Spring Boot - Web Security - -``` -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.annotation.Configuration; -import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; -import org.springframework.security.config.annotation.web.builders.HttpSecurity; -import org.springframework.security.config.annotation.web.builders.WebSecurity; -import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; -import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; - -@Configuration -@EnableWebSecurity -public class WebSecurityConfig extends WebSecurityConfigurerAdapter { - - //@Autowired - public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception { - auth.inMemoryAuthentication().withUser("admin").password("admin").roles("ADMIN"); - auth.inMemoryAuthentication().withUser("user").password("user").roles("USER"); - } - - //.csrf() is optional, enabled by default, if using WebSecurityConfigurerAdapter constructor - @Override - protected void configure(HttpSecurity http) throws Exception { - - http.authorizeRequests() - .antMatchers("/daymember", "/export", "/header", "/list", "/member", "/menu", "/prereg").permitAll().anyRequest().authenticated() - .and() - .formLogin().loginPage("/login").permitAll().defaultSuccessUrl("/member") - .and() - .logout().permitAll(); - } - - /** - * http://stackoverflow.com/questions/24726218/spring-security-refused-to-execute-script-from - * @param web - * @throws Exception - */ - @Override - public void configure(WebSecurity web) throws Exception { - web.ignoring().antMatchers("/webjars/**","/js/**","/css/**","/images/**"); - } -} -``` diff --git a/jekyll/_posts/2017/2017-01-28-synology-ssh-key.markdown b/jekyll/_posts/2017/2017-01-28-synology-ssh-key.markdown deleted file mode 100644 index 651b9c2b..00000000 --- a/jekyll/_posts/2017/2017-01-28-synology-ssh-key.markdown +++ /dev/null @@ -1,64 +0,0 @@ ---- -title: "Synology SSH Key" -date: "2017-01-28 18:34:18 +0000" -categories: - - dev -tags: - - synology -header: - overlay_image: https://unsplash.it/792/269/?random - ocerlay_filter: 0.75 - teaser: https://unsplash.it/300/400/?image=5 ---- - -Setting up a SSH key for synology - -Router - port forward the SSH port - -https://www.chainsawonatireswing.com/2012/01/15/ssh-into-your-synology-diskstation-with-ssh-keys//?from=@ - -http://superuser.com/questions/736055/ssh-with-no-password-passwordless-on-synology-dsm-5-as-other-non-root-user - -https://www.synology.com/en-global/knowledgebase/DSM/tutorial/General/How_to_login_to_DSM_with_root_permission_via_SSH_Telnet - -http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-password-using-ssh-keygen-ssh-copy-id - -``` -ssh-copy-id -i ~/.ssh/id_dsa.pub "user@host -p 6842" -``` - -From http://askubuntu.com/questions/224190/how-can-i-make-ssh-copy-id-use-a-port-other-than-22 - -docker stuff - -http://www.jinkit.com/docker-on-synology/ -https://www.campalus.com/enable-remote-tcp-connections-to-docker-host-running-ubuntu-15-04/ - - -SSL Certs - -https://stefandingemanse.nl/how-to-use-lets-encrypt-ssl-certificate-on-synology-dsm/ - -https://forums.plex.tv/discussion/200002/add-custom-ssl-certs-now-available-for-everyone-how-to - -``` -openssl pkcs12 -export -out archive.pfx -inkey privkey.pem -in cert.pem -certfile chain.pem -``` - -openssl pkcs12 -export -out emeraldjava.noip.me.pfx -inkey privkey.pem -in cert.pem -certfile chain.pem -name "emeraldjava.noip.me" - -/volume1/homes/admin/.ssh/archive.pfx -ds1512 -https://emeraldjava.noip.me:32400 - -http://wesleysinstructions.weebly.com/ - -https://community.letsencrypt.org/t/ssl-not-working-after-updating-letsencrypt-cert/18799/7 - -``` -https://emeraldjava.noip.me:32400/ Unable to communicate securely with peer: requested domain name does not match the server’s certificate. HTTP Strict Transport Security: true HTTP Public Key Pinning: false Certificate chain: -``` - -http://stackoverflow.com/questions/21138420/openssl-fails-to-produce-a-pfx-with-a-valid-aliase - -https://itigloo.com/security/how-to-configure-http-strict-transport-security-hsts-on-apache-nginx/ diff --git a/jekyll/_posts/2017/plex-tv-ssl-cert.png b/jekyll/_posts/2017/plex-tv-ssl-cert.png deleted file mode 100644 index c680d649..00000000 Binary files a/jekyll/_posts/2017/plex-tv-ssl-cert.png and /dev/null differ diff --git a/jekyll/_posts/2017/synology-letsencrypt-cert.png b/jekyll/_posts/2017/synology-letsencrypt-cert.png deleted file mode 100644 index c34212dc..00000000 Binary files a/jekyll/_posts/2017/synology-letsencrypt-cert.png and /dev/null differ diff --git a/jekyll/_posts/2018/2018-03-01-irish-red-ale.md b/jekyll/_posts/2018/2018-03-01-irish-red-ale.md deleted file mode 100644 index c69fc44b..00000000 --- a/jekyll/_posts/2018/2018-03-01-irish-red-ale.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: "Irish Red Ale" -modified: 2018-03-01 -category: - - homebrew -header: - overlay_image: https://unsplash.it/792/269/?random - ocerlay_filter: 0.75 - teaser: https://unsplash.it/300/400/?image=56 ---- - -Irish Red Ale - - - diff --git a/jekyll/images/2014-08-02/connect_to_server.png b/jekyll/images/2014-08-02/connect_to_server.png deleted file mode 100644 index 4f57ed5a..00000000 Binary files a/jekyll/images/2014-08-02/connect_to_server.png and /dev/null differ diff --git a/jekyll/images/2014-08-02/encryptix.png b/jekyll/images/2014-08-02/encryptix.png deleted file mode 100644 index 52f66d35..00000000 Binary files a/jekyll/images/2014-08-02/encryptix.png and /dev/null differ diff --git a/jekyll/images/2014-08-02/file_share.png b/jekyll/images/2014-08-02/file_share.png deleted file mode 100644 index ba5f9d7c..00000000 Binary files a/jekyll/images/2014-08-02/file_share.png and /dev/null differ diff --git a/jekyll/images/2014-08-02/media_share.png b/jekyll/images/2014-08-02/media_share.png deleted file mode 100644 index edd3a40e..00000000 Binary files a/jekyll/images/2014-08-02/media_share.png and /dev/null differ diff --git a/jekyll/images/2014-10-29/github-new-token.png b/jekyll/images/2014-10-29/github-new-token.png deleted file mode 100644 index 653dbffe..00000000 Binary files a/jekyll/images/2014-10-29/github-new-token.png and /dev/null differ diff --git a/jekyll/images/2014-10-29/travis-ci-git-settings.png b/jekyll/images/2014-10-29/travis-ci-git-settings.png deleted file mode 100644 index a3ce93be..00000000 Binary files a/jekyll/images/2014-10-29/travis-ci-git-settings.png and /dev/null differ diff --git a/jekyll/images/2016/03/24/gitlab-ci-build-runner.png b/jekyll/images/2016/03/24/gitlab-ci-build-runner.png deleted file mode 100644 index 06cba687..00000000 Binary files a/jekyll/images/2016/03/24/gitlab-ci-build-runner.png and /dev/null differ diff --git a/jekyll/images/2016/07/01/IMAG0869.jpg b/jekyll/images/2016/07/01/IMAG0869.jpg deleted file mode 100644 index 55307d00..00000000 Binary files a/jekyll/images/2016/07/01/IMAG0869.jpg and /dev/null differ diff --git a/jekyll/images/2016/07/01/IMAG0871.jpg b/jekyll/images/2016/07/01/IMAG0871.jpg deleted file mode 100644 index 576f98ac..00000000 Binary files a/jekyll/images/2016/07/01/IMAG0871.jpg and /dev/null differ diff --git a/jekyll/images/2016/07/01/IMAG0886.jpg b/jekyll/images/2016/07/01/IMAG0886.jpg deleted file mode 100644 index 4289f4f5..00000000 Binary files a/jekyll/images/2016/07/01/IMAG0886.jpg and /dev/null differ diff --git a/jekyll/images/2016/08/14/IMAG0902.jpg b/jekyll/images/2016/08/14/IMAG0902.jpg deleted file mode 100644 index ae99df0d..00000000 Binary files a/jekyll/images/2016/08/14/IMAG0902.jpg and /dev/null differ diff --git a/jekyll/images/2016/08/14/IMAG0903.jpg b/jekyll/images/2016/08/14/IMAG0903.jpg deleted file mode 100644 index 76b8cc00..00000000 Binary files a/jekyll/images/2016/08/14/IMAG0903.jpg and /dev/null differ diff --git a/jekyll/images/2016/08/14/IMAG0904.jpg b/jekyll/images/2016/08/14/IMAG0904.jpg deleted file mode 100644 index 839641d4..00000000 Binary files a/jekyll/images/2016/08/14/IMAG0904.jpg and /dev/null differ diff --git a/jekyll/images/2016/08/22/atom-jekyll-error.png b/jekyll/images/2016/08/22/atom-jekyll-error.png deleted file mode 100644 index 66f1a6ed..00000000 Binary files a/jekyll/images/2016/08/22/atom-jekyll-error.png and /dev/null differ diff --git a/jekyll/images/2016/synology/ssh-service.png b/jekyll/images/2016/synology/ssh-service.png deleted file mode 100644 index 6ca6115d..00000000 Binary files a/jekyll/images/2016/synology/ssh-service.png and /dev/null differ diff --git a/jekyll/images/avatar.jpg b/jekyll/images/avatar.jpg deleted file mode 100644 index f366c8c0..00000000 Binary files a/jekyll/images/avatar.jpg and /dev/null differ diff --git a/jekyll/images/boston.marathon.finishline.jpeg b/jekyll/images/boston.marathon.finishline.jpeg deleted file mode 100644 index f9fd19a2..00000000 Binary files a/jekyll/images/boston.marathon.finishline.jpeg and /dev/null differ diff --git a/jekyll/images/header-default.png b/jekyll/images/header-default.png deleted file mode 100644 index 85cd5266..00000000 Binary files a/jekyll/images/header-default.png and /dev/null differ diff --git a/jekyll/images/header-docker.png b/jekyll/images/header-docker.png deleted file mode 100644 index 8531228f..00000000 Binary files a/jekyll/images/header-docker.png and /dev/null differ diff --git a/jekyll/images/header-neo4j-globe.png b/jekyll/images/header-neo4j-globe.png deleted file mode 100644 index 45a39d01..00000000 Binary files a/jekyll/images/header-neo4j-globe.png and /dev/null differ diff --git a/jekyll/images/header-perth-devops.png b/jekyll/images/header-perth-devops.png deleted file mode 100644 index 34e5cf0d..00000000 Binary files a/jekyll/images/header-perth-devops.png and /dev/null differ diff --git a/jekyll/images/header-perth-java.png b/jekyll/images/header-perth-java.png deleted file mode 100644 index d160f669..00000000 Binary files a/jekyll/images/header-perth-java.png and /dev/null differ diff --git a/jekyll/images/header-powershell.png b/jekyll/images/header-powershell.png deleted file mode 100644 index c9a40f03..00000000 Binary files a/jekyll/images/header-powershell.png and /dev/null differ diff --git a/jekyll/images/header-puppet-console-dark.png b/jekyll/images/header-puppet-console-dark.png deleted file mode 100644 index 14d9298d..00000000 Binary files a/jekyll/images/header-puppet-console-dark.png and /dev/null differ diff --git a/jekyll/images/header-puppetconf-2016.png b/jekyll/images/header-puppetconf-2016.png deleted file mode 100644 index f68975c8..00000000 Binary files a/jekyll/images/header-puppetconf-2016.png and /dev/null differ diff --git a/jekyll/images/header-reflective.png b/jekyll/images/header-reflective.png deleted file mode 100644 index 1c3ea6c5..00000000 Binary files a/jekyll/images/header-reflective.png and /dev/null differ diff --git a/jekyll/images/header-vscode.png b/jekyll/images/header-vscode.png deleted file mode 100644 index cf862b4b..00000000 Binary files a/jekyll/images/header-vscode.png and /dev/null differ diff --git a/jekyll/images/header-wsl.png b/jekyll/images/header-wsl.png deleted file mode 100644 index 9693b4ba..00000000 Binary files a/jekyll/images/header-wsl.png and /dev/null differ diff --git a/jekyll/images/pageimage-default.jpg b/jekyll/images/pageimage-default.jpg deleted file mode 100644 index f366c8c0..00000000 Binary files a/jekyll/images/pageimage-default.jpg and /dev/null differ diff --git a/jekyll/images/teaser-2016-in-review.png b/jekyll/images/teaser-2016-in-review.png deleted file mode 100644 index e490e0b0..00000000 Binary files a/jekyll/images/teaser-2016-in-review.png and /dev/null differ diff --git a/jekyll/images/teaser-ado-microsoft-again.png b/jekyll/images/teaser-ado-microsoft-again.png deleted file mode 100644 index 75dc3442..00000000 Binary files a/jekyll/images/teaser-ado-microsoft-again.png and /dev/null differ diff --git a/jekyll/images/teaser-default.png b/jekyll/images/teaser-default.png deleted file mode 100644 index 10110e80..00000000 Binary files a/jekyll/images/teaser-default.png and /dev/null differ diff --git a/jekyll/images/teaser-devops-desktops-oddsocks.png b/jekyll/images/teaser-devops-desktops-oddsocks.png deleted file mode 100644 index 4c4da700..00000000 Binary files a/jekyll/images/teaser-devops-desktops-oddsocks.png and /dev/null differ diff --git a/jekyll/images/teaser-docker.png b/jekyll/images/teaser-docker.png deleted file mode 100644 index c00dfae4..00000000 Binary files a/jekyll/images/teaser-docker.png and /dev/null differ diff --git a/jekyll/images/teaser-neo-win-docker.png b/jekyll/images/teaser-neo-win-docker.png deleted file mode 100644 index 04efc2bd..00000000 Binary files a/jekyll/images/teaser-neo-win-docker.png and /dev/null differ diff --git a/jekyll/images/teaser-neo4j-and-me.png b/jekyll/images/teaser-neo4j-and-me.png deleted file mode 100644 index b0395559..00000000 Binary files a/jekyll/images/teaser-neo4j-and-me.png and /dev/null differ diff --git a/jekyll/images/teaser-neo4j-choco.png b/jekyll/images/teaser-neo4j-choco.png deleted file mode 100644 index e2a6d46c..00000000 Binary files a/jekyll/images/teaser-neo4j-choco.png and /dev/null differ diff --git a/jekyll/images/teaser-powershell-at-puppet.png b/jekyll/images/teaser-powershell-at-puppet.png deleted file mode 100644 index a89d120b..00000000 Binary files a/jekyll/images/teaser-powershell-at-puppet.png and /dev/null differ diff --git a/jekyll/images/teaser-powershell.png b/jekyll/images/teaser-powershell.png deleted file mode 100644 index 946c55b5..00000000 Binary files a/jekyll/images/teaser-powershell.png and /dev/null differ diff --git a/jekyll/images/teaser-ps-and-neo.png b/jekyll/images/teaser-ps-and-neo.png deleted file mode 100644 index 88ad9ae4..00000000 Binary files a/jekyll/images/teaser-ps-and-neo.png and /dev/null differ diff --git a/jekyll/images/teaser-psake-pdx-pug.png b/jekyll/images/teaser-psake-pdx-pug.png deleted file mode 100644 index e3f0ff3c..00000000 Binary files a/jekyll/images/teaser-psake-pdx-pug.png and /dev/null differ diff --git a/jekyll/images/teaser-puppet-sccm.png b/jekyll/images/teaser-puppet-sccm.png deleted file mode 100644 index 21ab21bc..00000000 Binary files a/jekyll/images/teaser-puppet-sccm.png and /dev/null differ diff --git a/jekyll/images/teaser-puppetconf-2016.png b/jekyll/images/teaser-puppetconf-2016.png deleted file mode 100644 index b52ae098..00000000 Binary files a/jekyll/images/teaser-puppetconf-2016.png and /dev/null differ diff --git a/jekyll/images/teaser-speaker-puppetconf-2016.png b/jekyll/images/teaser-speaker-puppetconf-2016.png deleted file mode 100644 index 6ec86b75..00000000 Binary files a/jekyll/images/teaser-speaker-puppetconf-2016.png and /dev/null differ diff --git a/jekyll/images/teaser-vscode.png b/jekyll/images/teaser-vscode.png deleted file mode 100644 index c0977397..00000000 Binary files a/jekyll/images/teaser-vscode.png and /dev/null differ diff --git a/jekyll/images/teaser-wsl-and-ruby.png b/jekyll/images/teaser-wsl-and-ruby.png deleted file mode 100644 index 6b418e37..00000000 Binary files a/jekyll/images/teaser-wsl-and-ruby.png and /dev/null differ diff --git a/jekyll/jekyll.config.yml.txt b/jekyll/jekyll.config.yml.txt deleted file mode 100644 index 0403e626..00000000 --- a/jekyll/jekyll.config.yml.txt +++ /dev/null @@ -1,271 +0,0 @@ -# -# Welcome to Jekyll! -# -# This config file is meant for settings that affect your entire site, values -# which you are expected to set up once and rarely need to edit after that. -# For technical reasons, this file is *NOT* reloaded automatically when you use -# `jekyll serve`. If you change this file, please restart the server process. - -# Site Settings -locale : "en" -title : "emeraldjava" -title_separator : "-" -name : "emeraldjava" -description : "Java, Spring, DevOps experimentor, chasing a marathon while home brewing." -#url : https://emeraldjava.github.io/ -baseurl : # the subpath of your site, e.g. "/blog" -repository : "emeraldjava/emeraldjava.github.io" # GitHub username/repo-name e.g. "mmistakes/minimal-mistakes" -teaser : "/images/teaser-default.png" # path of fallback teaser image, e.g. -breadcrumbs : true # true, false (default) -words_per_minute : 200 -comments: - provider : "disqus" #, "discourse", "facebook", "google-plus", "staticman", "custom" - disqus: - shortname : "emeraldjava" # https://help.disqus.com/customer/portal/articles/466208-what-s-a-shortname- - discourse: - server : # https://meta.discourse.org/t/embedding-discourse-comments-via-javascript/31963 , e.g.: meta.discourse.org - facebook: - # https://developers.facebook.com/docs/plugins/comments - appid : - num_posts : # 5 (default) - colorscheme : # "light" (default), "dark" -staticman: - allowedFields : ['name', 'email', 'url', 'message'] - branch : "master" - commitMessage : "New comment." - filename : comment-{@timestamp} - format : "yml" - moderation : true - path : "docs/_data/comments/{options.slug}" # "/_data/comments/{options.slug}" (default) - requiredFields : ['name', 'email', 'message'] - transforms: - email : "md5" - generatedFields: - date: - type : "date" - options: - format : "iso8601" # "iso8601" (default), "timestamp-seconds", "timestamp-milliseconds" -atom_feed: - path : # blank (default) uses feed.xml - -debug: true -# theme: minimal-mistakes-jekyll -remote_theme: "mmistakes/minimal-mistakes" - -# SEO Related -google_site_verification : -bing_site_verification : -alexa_site_verification : -yandex_site_verification : - -# Social Sharing -twitter: - username : "emerald007" -facebook: - username : - app_id : - publisher : -og_image : # Open Graph/Twitter default site image -# For specifying social profiles -# - https://developers.google.com/structured-data/customize/social-profiles -social: - type : # Person or Organization (defaults to Person) - name : # If the user or organization name differs from the site's name - links: # An array of links to social media profiles - -# Analytics -# analytics: -# provider : "google" # false (default), "google", "google-universal", "custom" -# google: -# tracking_id : "UA-2030587-2" - -# Site Author -author: - name : "emeraldjava" - avatar : "/images/avatar.jpg" # path of avatar image, e.g. - bio : "Java, Spring, DevOps experimentor, chasing a marathon while home brewing." - location : "Dublin, Ireland" - uri : #"emeraldjava.github.com" - email : #"paul.t.oconnell@gmail.com" - bitbucket : - codepen : - dribbble : - flickr : - facebook : - foursquare : - github : "emeraldjava" - google_plus : - keybase : - instagram : "emeraldjava" - lastfm : - linkedin : "paultoconnell" - pinterest : - soundcloud : - stackoverflow : "55794/emeraldjava" # "123456/username" (the last part of your profile url, e.g. http://stackoverflow.com/users/123456/username) - steam : - tumblr : - twitter : "emerald007" - vine : - weibo : - xing : - youtube : # "https://youtube.com/c/MichaelRoseDesign" - disqus_shortname : emeraldjava - strava : "7035778" - -# Reading Files -include: - - .htaccess - - _pages -exclude: - - "*.sublime-project" - - "*.sublime-workspace" - - vendor - - .asset-cache - - .bundle - - .jekyll-assets-cache - - .sass-cache - - assets/js/plugins - - assets/js/_main.js - - assets/js/vendor - - Capfile - - CHANGELOG - - config - - Gemfile - - Gruntfile.js - - gulpfile.js - - LICENSE - - log - - node_modules - - package.json - - Rakefile - - README - - tmp - - /docs # ignore Minimal Mistakes /docs - - /test # ignore Minimal Mistakes /test - - /tags - - /blog - - Gemfile.lock - - /_hide -keep_files: - - .git - - .svn -encoding: "utf-8" -markdown_ext: "md,markdown,mkdown,mkdn,mkd" - -# Conversion -markdown: kramdown -highlighter: rouge -lsi: false -excerpt_separator: "\n\n" -incremental: false - -# Markdown Processing -kramdown: - input: GFM - hard_wrap: false - auto_ids: true - footnote_nr: 1 - entity_output: as_char - toc_levels: 1..6 - smart_quotes: lsquo,rsquo,ldquo,rdquo - enable_coderay: false - - -# Sass/SCSS -sass: - sass_dir: _sass - style: compressed # http://sass-lang.com/documentation/file.SASS_REFERENCE.html#output_style - -# Outputting -permalink: /:categories/:title/ -paginate: 8 # amount of posts to show -paginate_path: /page:num/ -timezone: Europe/Dublin # http://en.wikipedia.org/wiki/List_of_tz_database_time_zones - -# Pagination -#pagination: -# enabled : true -# debug : true -# per_page : 3 -# #p?permalink : '/page/:num/' -# permalink : /:year/:month/:title.html -# title : ':title - Page :num of :max' -# limit : 0 -# sort_field : 'date' -# sort_reverse : true - - -# Plugin: jekyll-archives -#jekyll-archives: -# enabled: -# - tags -# layouts: -# tag: tag_index -# permalinks: -# tag: /tag/:name/ - -# Plugins -plugins: - - jekyll-paginate - - jekyll-sitemap - - jekyll-gist - - jekyll-feed - - jemoji - - jekyll-seo-tag - - jekyll-remote-theme - -# mimic GitHub Pages with --safe -whitelist: - - jekyll-paginate - - jekyll-sitemap - - jekyll-gist - - jekyll-feed - - jemoji - - jekyll-seo-tag - -# Archives -# Type -# - GitHub Pages compatible archive pages built with Liquid ~> type: liquid (default) -# - Jekyll Archives plugin archive pages ~> type: jekyll-archives -# Path (examples) -# - Archive page should exist at path when using Liquid method or you can -# expect broken links (especially with breadcrumbs enabled) -# - /tags/my-awesome-tag/index.html ~> path: /tags/ -# - path: /categories/ -# - path: / -category_archive: - type: liquid - path: /categories/ -tag_archive: - type: liquid - path: /tags/ - -# HTML Compression -# - http://jch.penibelst.de/ -compress_html: - clippings: all - ignore: - envs: development - - -# Defaults -defaults: - # _posts - - scope: - path: "" - type: posts - values: - layout: single - #layout: custom-posts - author_profile: true - read_time: true - comments: true - share: true - related: true - # _pages -# - scope: -# path: "" -# type: pages -# values: -# layout: single -# author_profile: true diff --git a/jekyll/jekyll.md b/jekyll/jekyll.md deleted file mode 100644 index 7960d5b6..00000000 --- a/jekyll/jekyll.md +++ /dev/null @@ -1,3 +0,0 @@ -# jekyll - -Folder to hold old stuff \ No newline at end of file diff --git a/js/gitalk.min.js b/js/gitalk.min.js new file mode 100644 index 00000000..43f42e03 --- /dev/null +++ b/js/gitalk.min.js @@ -0,0 +1,34 @@ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Gitalk=t():e.Gitalk=t()}(this,function(){return function(e){function t(a){if(n[a])return n[a].exports;var i=n[a]={i:a,l:!1,exports:{}};return e[a].call(i.exports,i,i.exports,t),i.l=!0,i.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,a){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:a})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/dist",t(t.s=191)}([function(e,t,n){"use strict";function a(e,t){if(t.length1?"s":"")+" required, but only "+t.length+" present")}t.a=a},function(e,t,n){"use strict";function a(e){i.a(1,arguments);var t=Object.prototype.toString.call(e);return e instanceof Date||"object"==typeof e&&"[object Date]"===t?new Date(e.getTime()):"number"==typeof e||"[object Number]"===t?new Date(e):("string"!=typeof e&&"[object String]"!==t||"undefined"==typeof console||(console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://git.io/fjule"),console.warn((new Error).stack)),new Date(NaN))}t.a=a;var i=n(0)},function(e,t,n){"use strict";function a(e){return function(t){var n=t||{},a=n.width?String(n.width):e.defaultWidth;return e.formats[a]||e.formats[e.defaultWidth]}}t.a=a},function(e,t,n){"use strict";function a(e){return function(t,n){var a,i=n||{},r=i.context?String(i.context):"standalone";if("formatting"===r&&e.formattingValues){var o=e.defaultFormattingWidth||e.defaultWidth,u=i.width?String(i.width):o;a=e.formattingValues[u]||e.formattingValues[o]}else{var s=e.defaultWidth,d=i.width?String(i.width):e.defaultWidth;a=e.values[d]||e.values[s]}return a[e.argumentCallback?e.argumentCallback(t):t]}}t.a=a},function(e,t,n){"use strict";function a(e){return function(t,n){var a=String(t),i=n||{},r=a.match(e.matchPattern);if(!r)return null;var o=r[0],u=a.match(e.parsePattern);if(!u)return null;var s=e.valueCallback?e.valueCallback(u[0]):u[0];return s=i.valueCallback?i.valueCallback(s):s,{value:s,rest:a.slice(o.length)}}}t.a=a},function(e,t,n){"use strict";function a(e){return function(t,n){var a=String(t),o=n||{},u=o.width,s=u&&e.matchPatterns[u]||e.matchPatterns[e.defaultMatchWidth],d=a.match(s);if(!d)return null;var c,l=d[0],m=u&&e.parsePatterns[u]||e.parsePatterns[e.defaultParseWidth];return c="[object Array]"===Object.prototype.toString.call(m)?r(m,function(e){return e.test(l)}):i(m,function(e){return e.test(l)}),c=e.valueCallback?e.valueCallback(c):c,c=o.valueCallback?o.valueCallback(c):c,{value:c,rest:a.slice(l.length)}}}function i(e,t){for(var n in e)if(e.hasOwnProperty(n)&&t(e[n]))return n}function r(e,t){for(var n=0;n0;)n[a]=arguments[a+2];if(!v(e))return e;var i=e.attributes||e.props,r=I.h(e.nodeName||e.type,i,e.children||i&&i.children),o=[r,t];return n&&n.length?o.push(n):t&&t.children&&o.push(t.children),p(I.cloneElement.apply(void 0,o))}function v(e){return e&&(e instanceof J||e.$$typeof===L)}function w(e,t){return t._refProxies[e]||(t._refProxies[e]=function(n){t&&t.refs&&(t.refs[e]=n,null===n&&(delete t._refProxies[e],t=null))})}function b(e){var t=e.nodeName,n=e.attributes;if(n&&"string"==typeof t){var a={};for(var i in n)a[i.toLowerCase()]=i;if(a.ondoubleclick&&(n.ondblclick=n[a.ondoubleclick],delete n[a.ondoubleclick]),a.onchange&&("textarea"===t||"input"===t.toLowerCase()&&!/^fil|che|rad/i.test(n.type))){var r=a.oninput||"oninput";n[r]||(n[r]=z([n[r],n[a.onchange]]),delete n[a.onchange])}}}function y(e){var t=e.attributes;if(t){var n=t.className||t.class;n&&(t.className=n)}}function M(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e}function k(e,t){for(var n in e)if(!(n in t))return!0;for(var a in t)if(e[a]!==t[a])return!0;return!1}function P(e){return e&&e.base||e}function W(){}function x(e){function t(e,t){S(this),A.call(this,e,t,U),N.call(this,e,t)}return e=M({constructor:t},e),e.mixins&&T(e,j(e.mixins)),e.statics&&M(t,e.statics),e.propTypes&&(t.propTypes=e.propTypes),e.defaultProps&&(t.defaultProps=e.defaultProps),e.getDefaultProps&&(t.defaultProps=e.getDefaultProps()),W.prototype=A.prototype,t.prototype=M(new W,e),t.displayName=e.displayName||"Component",t}function j(e){for(var t={},n=0;n1)for(var n=1;n0,o=i?(r+a(t))%r:a(t);return n*r+o}t.a=i;var r=6e4},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,n){"use strict";function a(e,t){o.a(2,arguments);var n=r.a(e),a=i.a(t);return isNaN(a)?new Date(NaN):a?(n.setDate(n.getDate()+a),n):n}t.a=a;var i=n(6),r=n(1),o=n(0)},function(e,t,n){"use strict";function a(e,t){o.a(1,arguments);var n=t||{},a=n.locale,u=a&&a.options&&a.options.weekStartsOn,s=null==u?0:r.a(u),d=null==n.weekStartsOn?s:r.a(n.weekStartsOn);if(!(d>=0&&d<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var c=i.a(e),l=c.getDay(),m=(l0?1:o}t.a=a;var i=n(1),r=n(0)},function(e,t,n){"use strict";var a=n(48),i=n(339),r=n(35),o=n(36),u=n(37),s={code:"en-US",formatDistance:a.a,formatLong:i.a,formatRelative:r.a,localize:o.a,match:u.a,options:{weekStartsOn:0,firstWeekContainsDate:1}};t.a=s},function(e,t,n){var a=n(51);e.exports=function(e,t,n){if(a(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,a){return e.call(t,n,a)};case 3:return function(n,a,i){return e.call(t,n,a,i)}}return function(){return e.apply(t,arguments)}}},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t){e.exports={}},function(e,t,n){var a=n(104),i=n(70);e.exports=function(e){return a(i(e))}},function(e,t,n){var a=n(70);e.exports=function(e){return Object(a(e))}},function(e,t,n){"use strict";function a(e){o.a(1,arguments);var t=i.a(e),n=t.getFullYear(),a=new Date(0);a.setFullYear(n+1,0,4),a.setHours(0,0,0,0);var u=r.a(a),s=new Date(0);s.setFullYear(n,0,4),s.setHours(0,0,0,0);var d=r.a(s);return t.getTime()>=u.getTime()?n+1:t.getTime()>=d.getTime()?n:n-1}t.a=a;var i=n(1),r=n(25),o=n(0)},function(e,t,n){"use strict";function a(e,t,n,a){return i[e]}t.a=a;var i={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"}},function(e,t,n){"use strict";function a(e,t){var n=Number(e),a=n%100;if(a>20||a<10)switch(a%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"}var i=n(3),r={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},o={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},u={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},s={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},d={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},c={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},l={ordinalNumber:a,era:i.a({values:r,defaultWidth:"wide"}),quarter:i.a({values:o,defaultWidth:"wide",argumentCallback:function(e){return Number(e)-1}}),month:i.a({values:u,defaultWidth:"wide"}),day:i.a({values:s,defaultWidth:"wide"}),dayPeriod:i.a({values:d,defaultWidth:"wide",formattingValues:c,defaultFormattingWidth:"wide"})};t.a=l},function(e,t,n){"use strict";var a=n(4),i=n(5),r=/^(\d+)(th|st|nd|rd)?/i,o=/\d+/i,u={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},s={any:[/^b/i,/^(a|c)/i]},d={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},c={any:[/1/i,/2/i,/3/i,/4/i]},l={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},m={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},f={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},h={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},p={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},g={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},v={ordinalNumber:a.a({matchPattern:r,parsePattern:o,valueCallback:function(e){return parseInt(e,10)}}),era:i.a({matchPatterns:u,defaultMatchWidth:"wide",parsePatterns:s,defaultParseWidth:"any"}),quarter:i.a({matchPatterns:d,defaultMatchWidth:"wide",parsePatterns:c,defaultParseWidth:"any",valueCallback:function(e){return e+1}}),month:i.a({matchPatterns:l,defaultMatchWidth:"wide",parsePatterns:m,defaultParseWidth:"any"}),day:i.a({matchPatterns:f,defaultMatchWidth:"wide",parsePatterns:h,defaultParseWidth:"any"}),dayPeriod:i.a({matchPatterns:p,defaultMatchWidth:"any",parsePatterns:g,defaultParseWidth:"any"})};t.a=v},function(e,t,n){"use strict";function a(e,t){for(var n=e<0?"-":"",a=Math.abs(e).toString();a.length=t.length?{value:void 0,done:!0}:(e=a(t,n),this._i+=e.length,{value:e,done:!1})})},function(e,t){e.exports=!0},function(e,t,n){var a=n(103),i=n(75);e.exports=Object.keys||function(e){return a(e,i)}},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t,n){"use strict";function a(e,t){o.a(2,arguments);var n=r.a(e),a=i.a(t);if(isNaN(a))return new Date(NaN);if(!a)return n;var u=n.getDate(),s=new Date(n.getTime());return s.setMonth(n.getMonth()+a+1,0),u>=s.getDate()?s:(n.setFullYear(s.getFullYear(),s.getMonth(),u),n)}t.a=a;var i=n(6),r=n(1),o=n(0)},function(e,t,n){"use strict";function a(e,t){o.a(2,arguments);var n=r.a(e).getTime(),a=i.a(t);return new Date(n+a)}t.a=a;var i=n(6),r=n(1),o=n(0)},function(e,t,n){"use strict";function a(e){o.a(1,arguments);var t=i.a(e),n=new Date(0);return n.setFullYear(t,0,4),n.setHours(0,0,0,0),r.a(n)}t.a=a;var i=n(34),r=n(25),o=n(0)},function(e,t,n){"use strict";function a(e,t){r.a(2,arguments);var n=i.a(e),a=i.a(t);return n.getTime()===a.getTime()}t.a=a;var i=n(57),r=n(0)},function(e,t,n){"use strict";function a(e,t,n){n=n||{};var a;return a="string"==typeof i[e]?i[e]:1===t?i[e].one:i[e].other.replace("{{count}}",t),n.addSuffix?n.comparison>0?"in "+a:a+" ago":a}t.a=a;var i={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}}},function(e,t,n){"use strict";function a(e,t){o.a(2,arguments);var n=i.a(t);return r.a(e,-n)}t.a=a;var i=n(6),r=n(45),o=n(0)},function(e,t,n){"use strict";function a(e,t){o.a(1,arguments);var n=t||{},a=n.locale,u=a&&a.options&&a.options.weekStartsOn,s=null==u?0:i.a(u),d=null==n.weekStartsOn?s:i.a(n.weekStartsOn);if(!(d>=0&&d<=6))throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");var c=r.a(e),l=c.getUTCDay(),m=(l0?Math.floor(n):Math.ceil(n)}t.a=a;var i=n(59),r=n(0)},function(e,t,n){"use strict";function a(e){r.a(1,arguments);var t=i.a(e);return t.setDate(1),t.setHours(0,0,0,0),t}t.a=a;var i=n(1),r=n(0)},function(e,t,n){"use strict";function a(e){r.a(1,arguments);var t=i.a(e),n=t.getUTCDay(),a=(n<1?7:0)+n-1;return t.setUTCDate(t.getUTCDate()-a),t.setUTCHours(0,0,0,0),t}t.a=a;var i=n(1),r=n(0)},function(e,t,n){"use strict";t.__esModule=!0,t.default=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t,n){"use strict";t.__esModule=!0;var a=n(192),i=function(e){return e&&e.__esModule?e:{default:e}}(a);t.default=function(){function e(e,t){for(var n=0;n0?a:n)(e)}},function(e,t){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},function(e,t,n){var a=n(14),i=n(212),r=n(75),o=n(73)("IE_PROTO"),u=function(){},s=function(){var e,t=n(66)("iframe"),a=r.length;for(t.style.display="none",n(105).appendChild(t),t.src="javascript:",e=t.contentWindow.document,e.open(),e.write(" +La Marmotte 2005 - Posts from emeraldjava +

    emeraldjava/La Marmotte 2005

    Created Sun, 07 Aug 2005 00:00:00 +0000 + +Modified Sun, 28 Apr 2024 08:47:19 +0000
    + \ No newline at end of file diff --git a/post/2006/2006-05-29-monday-29th-may/index.html b/post/2006/2006-05-29-monday-29th-may/index.html new file mode 100644 index 00000000..cb580eb7 --- /dev/null +++ b/post/2006/2006-05-29-monday-29th-may/index.html @@ -0,0 +1,8 @@ + +Monday 29th May 2006 - Posts from emeraldjava +

    emeraldjava/Monday 29th May 2006

    Created Mon, 29 May 2006 00:00:00 +0000 + +Modified Sun, 28 Apr 2024 08:47:19 +0000
    16 Words

    Monday 29th May 2006

    Flew from London Heathrow T4 (12.20pm) to Hong Kong with Quantas today.

    + \ No newline at end of file diff --git a/post/2006/2006-05-30-tuesday-30th-may/index.html b/post/2006/2006-05-30-tuesday-30th-may/index.html new file mode 100644 index 00000000..71f0bddc --- /dev/null +++ b/post/2006/2006-05-30-tuesday-30th-may/index.html @@ -0,0 +1,11 @@ + +Tuesday 30th May 2006 - Posts from emeraldjava +

    emeraldjava/Tuesday 30th May 2006

    Created Tue, 30 May 2006 00:00:00 +0000 + +Modified Sun, 28 Apr 2024 08:47:19 +0000
    165 Words

    In Hong Kong International airport for a 2 hour stopover before the final leg of the flight to melbourne, which should get me there for 19.30 this evening.

    2006-05-30

    Interesting landing into melbourne, I’m looking out the window to see the city lights expecting to have a nice view for a few minutes before we touch down, but first lights i see are the airport lights. There a bit close i’m thinking, when next thing the plane slaps the runway like a tonne of bricks, or metal hitting the ground. There a small issue of a loud bang and bits of the internal roof panel coming loose and dropping onto this dudes head, who sitting a couple of rows ahead of me. He grabs the panel and holds it while the whole plane slows. Lots bemused people and stupid jokes as we get of the plane.No hassel getting the bike in via aussie customs, they just check thats are is not muck on the frame.

    + \ No newline at end of file diff --git a/post/2006/2006-05-31-wednesday-31th-may/index.html b/post/2006/2006-05-31-wednesday-31th-may/index.html new file mode 100644 index 00000000..3c69eb7f --- /dev/null +++ b/post/2006/2006-05-31-wednesday-31th-may/index.html @@ -0,0 +1,8 @@ + +Wednesday 31th May 2006 - Posts from emeraldjava +

    emeraldjava/Wednesday 31th May 2006

    Created Wed, 31 May 2006 00:00:00 +0000 + +Modified Sun, 28 Apr 2024 08:47:19 +0000
    139 Words

    Moved to a hostel in St Kilda today for 2 nights, the CBD is dead at night. Spent the rest of the day touring around melbourne, its so easy having your own transport to just skip past places. Did a lap of the albert park grand prix circuit, not sure if i was on the same pace as the F1 dudes. Picture of the Melbourne skyline taken from albert park in the last afternoon.

    2006-05-31

    Went down to the Esplande Hotel to hear the live music they have there. The place is a old hotel, where they’ve converted all the major rooms into different stages for bands and dj’s. Would be cool to see the place packed out, reckon it would rock. www.espy.com.au Had two frigging punchers today!!, I know shep is laughing as he reads this - PUNK.

    + \ No newline at end of file diff --git a/post/2006/2006-06-01-thursday-1st-june/index.html b/post/2006/2006-06-01-thursday-1st-june/index.html new file mode 100644 index 00000000..7efcf1a1 --- /dev/null +++ b/post/2006/2006-06-01-thursday-1st-june/index.html @@ -0,0 +1,11 @@ + +Thursday 1st June 2006 - Posts from emeraldjava +

    emeraldjava/Thursday 1st June 2006

    Created Thu, 01 Jun 2006 00:00:00 +0000 + +Modified Sun, 28 Apr 2024 08:47:19 +0000
    57 Words

    Just chilled around melbourne again today, sorted an aussie mobile number [0448 997 380 ] and some replacement tubes for the bike. Toured around CBD, victoria market, richmond, fitzroy and the MCG today.

    2006-06-01

    The plan tomorrow is to cycle down the Mornington Peninsula, use the ferry to cross the bay and spend the night in Torquay.

    + \ No newline at end of file diff --git a/post/2006/2006-06-02-melbourne-to-sorrento/index.html b/post/2006/2006-06-02-melbourne-to-sorrento/index.html new file mode 100644 index 00000000..fe8b2227 --- /dev/null +++ b/post/2006/2006-06-02-melbourne-to-sorrento/index.html @@ -0,0 +1,11 @@ + +June 2nd 2006 - Melbourne to Sorrento - Posts from emeraldjava +

    emeraldjava/June 2nd 2006 - Melbourne to Sorrento

    Created Fri, 02 Jun 2006 00:00:00 +0000 + +Modified Sun, 28 Apr 2024 08:47:19 +0000
    193 Words

    Chapel Street Backpacker

    The first 20km was on a dedicated bike lane, with the only hazards being the morning pram walkers. Joined the Nepean highway near chelsea and followed it down via Frankston, Mornington and St Marta. The bike lane on the main road was really wide and most vehicals gave me plently of room.

    2006-06-02-beach

    Hauling the fully loaded bags on the bike finally kicked in about 40km. I was expecting the first couple of days to be tough, but not this bad this early. Had 60km done after 3 hours and needed a lunch break. The small issue of the scale of distances in austalia kicked in after lunch, when the sign post for portsea said 44 km, when i was expecting a slightly lower number. Actually checking the distances before starting the days ride would be a good idea.

    Decided to call it quits for the day and stay at the Sorrento YHA hostel. Arrived at the village and found the hostel, only to discover that it was closed for bulding work. The owner redirected me to the Bay Play backpackers in Blairgowrie. Arrive just as the sun was setting.

    + \ No newline at end of file diff --git a/post/2010/2010-05-02-stockholm-medal/index.html b/post/2010/2010-05-02-stockholm-medal/index.html new file mode 100644 index 00000000..b975754e --- /dev/null +++ b/post/2010/2010-05-02-stockholm-medal/index.html @@ -0,0 +1,7 @@ + +Stockholm Medal - Posts from emeraldjava +

    emeraldjava/Stockholm Medal

    Created Sun, 02 May 2010 00:00:00 +0000 + +Modified Sun, 28 Apr 2024 08:47:19 +0000
    4 Words

    Stockholm Marathon Medal 2010

    + \ No newline at end of file diff --git a/post/2014/2014-05-29-node-js-meetup-may-2014/index.html b/post/2014/2014-05-29-node-js-meetup-may-2014/index.html new file mode 100644 index 00000000..4b463082 --- /dev/null +++ b/post/2014/2014-05-29-node-js-meetup-may-2014/index.html @@ -0,0 +1,16 @@ + +Node JS Meetup May 2014 - Posts from emeraldjava +

    emeraldjava/Node JS Meetup May 2014

    Created Thu, 29 May 2014 00:00:00 +0000 + +Modified Sun, 28 Apr 2024 08:47:19 +0000
    187 Words

    Notes from the www.nodejsdublin.com meeting in [https://www.engineyard.com/](Engine Yard), Barrow St, Dublin.

    The topic this evening is “Building a Reverse Proxy With Node and Performing Scalability Testing On It” and is being presented by the guys from Citi bank. Seems they are hiring as well atm.

    My poor attempt to win the spot prize of the evening by posting a photo to #nodejsdublin

    HAPI is a server framework for node that citi use for proxing. Aman Kohli akohli explains the move away from SOAP,XML and the need they had for nodejs within the bank. Pizza with beer in the crust is a dream of his (he hasn’t cracked the whole sogginess thing yet). Painpoint aka Sharepoint is the top joke so far.

    They have a logentites section in their json request to allow clients report information to the server. Detailed section on NTML authentication. Using Flod to track the performance metrics of the requests.

    Oauth 2.0 and the road to hell

    Plato is a JavaScript source analysis and visualizer.

    + \ No newline at end of file diff --git a/post/2017/2017-01-24-spring-http-auth/index.html b/post/2017/2017-01-24-spring-http-auth/index.html new file mode 100644 index 00000000..5ce30df6 --- /dev/null +++ b/post/2017/2017-01-24-spring-http-auth/index.html @@ -0,0 +1,58 @@ + +Spring Boot - Web Security - Posts from emeraldjava +

    emeraldjava/Spring Boot - Web Security

    Created Mon, 01 Jan 0001 00:00:00 +0000 + +Modified Wed, 25 Jan 2017 00:00:00 +0000
    134 Words

    Spring Boot - Web Security

    public class HttpComponentsClientHttpRequestFactoryBasicAuth extends HttpComponentsClientHttpRequestFactory {
    +
    +    private HttpHost host;
    +
    +    public HttpComponentsClientHttpRequestFactoryBasicAuth(HttpHost host) {
    +        super();
    +        this.host = host;
    +    }
    +
    +    protected HttpContext createHttpContext(HttpMethod httpMethod, URI uri) {
    +        return createHttpContext();
    +    }
    +    private HttpContext createHttpContext() {
    +        // Create AuthCache instance
    +        AuthCache authCache = new BasicAuthCache();
    +        // Generate BASIC scheme object and add it to the local auth cache
    +        BasicScheme basicAuth = new BasicScheme();
    +        authCache.put(host, basicAuth);
    +
    +        // Add AuthCache to the execution context
    +        BasicHttpContext localcontext = new BasicHttpContext();
    +        localcontext.setAttribute(ClientContext.AUTH_CACHE, authCache);
    +        return localcontext;
    +    }
    +}
    +
    public class RestTemplateFactory implements FactoryBean<RestTemplate>, InitializingBean {
    +
    +    private RestTemplate restTemplate;
    +
    +    public RestTemplate getObject() {
    +        return restTemplate;
    +    }
    +
    +    public Class<RestTemplate> getObjectType() {
    +        return RestTemplate.class;
    +    }
    +
    +    public boolean isSingleton() {
    +        return true;
    +    }
    +
    +    public void afterPropertiesSet() {
    +        HttpHost host = new HttpHost("bhaa.ie", 80, "https");
    +        restTemplate = new RestTemplate(
    +                new HttpComponentsClientHttpRequestFactoryBasicAuth(host));
    +    }
    +}
    +
    + \ No newline at end of file diff --git a/post/2017/2017-01-25-spring-boot-websecurity/index.html b/post/2017/2017-01-25-spring-boot-websecurity/index.html new file mode 100644 index 00000000..a41fb7ea --- /dev/null +++ b/post/2017/2017-01-25-spring-boot-websecurity/index.html @@ -0,0 +1,51 @@ + +Spring Boot - Web Security - Posts from emeraldjava +

    emeraldjava/Spring Boot - Web Security

    Created Mon, 01 Jan 0001 00:00:00 +0000 + +Modified Wed, 25 Jan 2017 00:00:00 +0000
    90 Words

    Spring Boot - Web Security

    import org.springframework.beans.factory.annotation.Autowired;
    +import org.springframework.context.annotation.Configuration;
    +import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
    +import org.springframework.security.config.annotation.web.builders.HttpSecurity;
    +import org.springframework.security.config.annotation.web.builders.WebSecurity;
    +import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
    +import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
    +
    +@Configuration
    +@EnableWebSecurity
    +public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
    +
    +    //@Autowired
    +    public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
    +        auth.inMemoryAuthentication().withUser("admin").password("admin").roles("ADMIN");
    +        auth.inMemoryAuthentication().withUser("user").password("user").roles("USER");
    +    }
    +
    +    //.csrf() is optional, enabled by default, if using WebSecurityConfigurerAdapter constructor
    +    @Override
    +    protected void configure(HttpSecurity http) throws Exception {
    +
    +        http.authorizeRequests()
    +            .antMatchers("/daymember", "/export", "/header", "/list", "/member", "/menu", "/prereg").permitAll().anyRequest().authenticated()
    +            .and()
    +            .formLogin().loginPage("/login").permitAll().defaultSuccessUrl("/member")
    +                .and()
    +            .logout().permitAll();
    +    }
    +
    +    /**
    +     * http://stackoverflow.com/questions/24726218/spring-security-refused-to-execute-script-from
    +     * @param web
    +     * @throws Exception
    +     */
    +    @Override
    +    public void configure(WebSecurity web) throws Exception {
    +        web.ignoring().antMatchers("/webjars/**","/js/**","/css/**","/images/**");
    +    }
    +}
    +
    + \ No newline at end of file diff --git a/post/2017/2017-01-28-synology-ssh-key/index.html b/post/2017/2017-01-28-synology-ssh-key/index.html new file mode 100644 index 00000000..0f8545ed --- /dev/null +++ b/post/2017/2017-01-28-synology-ssh-key/index.html @@ -0,0 +1,61 @@ + +Synology SSH Key - Posts from emeraldjava +

    emeraldjava/Synology SSH Key

    Created Sat, 28 Jan 2017 18:34:18 +0000 + +Modified Sun, 28 Apr 2024 08:47:19 +0000
    93 Words

    Setting up a SSH key for synology

    Router - port forward the SSH port

    https://www.chainsawonatireswing.com/2012/01/15/ssh-into-your-synology-diskstation-with-ssh-keys//?from=@

    http://superuser.com/questions/736055/ssh-with-no-password-passwordless-on-synology-dsm-5-as-other-non-root-user

    https://www.synology.com/en-global/knowledgebase/DSM/tutorial/General/How_to_login_to_DSM_with_root_permission_via_SSH_Telnet

    http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-password-using-ssh-keygen-ssh-copy-id

    ssh-copy-id -i ~/.ssh/id_dsa.pub "user@host -p 6842"
    +

    From http://askubuntu.com/questions/224190/how-can-i-make-ssh-copy-id-use-a-port-other-than-22

    docker stuff

    http://www.jinkit.com/docker-on-synology/ +https://www.campalus.com/enable-remote-tcp-connections-to-docker-host-running-ubuntu-15-04/

    SSL Certs

    https://stefandingemanse.nl/how-to-use-lets-encrypt-ssl-certificate-on-synology-dsm/

    https://forums.plex.tv/discussion/200002/add-custom-ssl-certs-now-available-for-everyone-how-to

    openssl pkcs12 -export -out archive.pfx -inkey privkey.pem -in cert.pem -certfile chain.pem
    +

    openssl pkcs12 -export -out emeraldjava.noip.me.pfx -inkey privkey.pem -in cert.pem -certfile chain.pem -name “emeraldjava.noip.me”

    /volume1/homes/admin/.ssh/archive.pfx +ds1512 +https://emeraldjava.noip.me:32400

    http://wesleysinstructions.weebly.com/

    https://community.letsencrypt.org/t/ssl-not-working-after-updating-letsencrypt-cert/18799/7

    https://emeraldjava.noip.me:32400/ Unable to communicate securely with peer: requested domain name does not match the server’s certificate. HTTP Strict Transport Security: true HTTP Public Key Pinning: false Certificate chain:
    +

    http://stackoverflow.com/questions/21138420/openssl-fails-to-produce-a-pfx-with-a-valid-aliase

    https://itigloo.com/security/how-to-configure-http-strict-transport-security-hsts-on-apache-nginx/

    + \ No newline at end of file diff --git a/post/2019-11-13-first-gatsby-post/index.html b/post/2019-11-13-first-gatsby-post/index.html new file mode 100644 index 00000000..a87b4f3e --- /dev/null +++ b/post/2019-11-13-first-gatsby-post/index.html @@ -0,0 +1,9 @@ + +First Gatsby Post - Posts from emeraldjava +

    emeraldjava/First Gatsby Post

    Created Wed, 13 Nov 2019 00:00:00 +0000 + +Modified Sun, 28 Apr 2024 08:47:19 +0000
    14 Words

    Migrating the site from jekyll to gatsby with github actions automatically updating the content.

    + \ No newline at end of file diff --git a/post/2019-12-01-2nd-post/index.html b/post/2019-12-01-2nd-post/index.html new file mode 100644 index 00000000..edebce78 --- /dev/null +++ b/post/2019-12-01-2nd-post/index.html @@ -0,0 +1,12 @@ + +2nd Post - Posts from emeraldjava +

    emeraldjava/2nd Post

    Created Sun, 01 Dec 2019 00:00:00 +0000 + +Modified Sun, 28 Apr 2024 08:47:19 +0000
    26 Words

    Add github actions to bhaa_woprdpress to run composer and then allow github-updater to run ion master website.

    2019-12-22 : Test to see if this push works.

    + \ No newline at end of file diff --git a/post/2020-01-01-new-year-2020/index.html b/post/2020-01-01-new-year-2020/index.html new file mode 100644 index 00000000..fd01cf33 --- /dev/null +++ b/post/2020-01-01-new-year-2020/index.html @@ -0,0 +1,10 @@ + +New Year 2020 - Posts from emeraldjava +

    emeraldjava/New Year 2020

    Created Wed, 01 Jan 2020 00:00:00 +0000 + +Modified Sun, 28 Apr 2024 08:47:19 +0000
    144 Words

    New Years Resolutions

    The not making new years resolutions has been broken by me deciding to write more regularly on this site during 2020.

    Guitar Chord Markdown

    I’ve been looking to transfer all my guitar songs from paper to digital, in a format which will be easy for web and mobile devices. I’d like to have the content in a markdown file, and then render the chords, version, bridge and chorus to a final display page.

    Markdown Libary

    The first stop was to these libraries which handle markdown to html coversion

    Perhaps they could be extended to support the ‘song-book’ keywords i need.

    There is this Stackoverflow question

    These github repo’s give some approaches

    Markato

    This seems to be a promising option which covers a markdown style notation to someing a guitar player can use

    + \ No newline at end of file diff --git a/post/2020-02-01-gpg_maven/index.html b/post/2020-02-01-gpg_maven/index.html new file mode 100644 index 00000000..89190b1e --- /dev/null +++ b/post/2020-02-01-gpg_maven/index.html @@ -0,0 +1,78 @@ + +GPG and Maven - Posts from emeraldjava +

    emeraldjava/GPG and Maven

    Created Sat, 01 Feb 2020 00:00:00 +0000 + +Modified Sun, 28 Apr 2024 08:47:19 +0000
    97 Words

    https://help.github.com/en/github/authenticating-to-github/adding-a-new-gpg-key-to-your-github-account

    https://oss.sonatype.org/content/repositories/snapshots/io/github/emeraldjava/nifi-deploy-config/1.2.0-SNAPSHOT/ +https://repo1.maven.org/maven2/io/github/emeraldjava/nifi-deploy-config/

    https://oss.sonatype.org/content/repositories/snapshots/com/github/hermannpencole/nifi-swagger-client/1.2.0-SNAPSHOT/ +https://repo1.maven.org/maven2/com/github/hermannpencole

    <groupId>com.github.hermannpencole</groupId>
    +<artifactId>nifi-swagger-client</artifactId>
    +

    https://help.github.com/en/github/managing-packages-with-github-packages/configuring-apache-maven-for-use-with-github-packages

    https://github.com/actions/setup-java

    https://itnext.io/publishing-artifact-to-maven-central-b160634e5268

    https://github.com/samuelmeuli/action-maven-publish

    name: Release

    Run workflow on commits to the master branch

    on:
    +  push:
    +    branches:
    +      - master
    +
    +jobs:
    +  release:
    +    runs-on: ubuntu-18.04
    +    steps:
    +      - name: Check out Git repository
    +        uses: actions/checkout@v2
    +
    +      - name: Install Java and Maven
    +        uses: actions/setup-java@v1
    +        with:
    +          java-version: 11
    +
    +      - name: Release Maven package
    +        uses: samuelmeuli/action-maven-publish@v1
    +        with:
    +          gpg_private_key: ${{ secrets.gpg_private_key }}
    +          gpg_passphrase: ${{ secrets.gpg_passphrase }}
    +          nexus_username: ${{ secrets.nexus_username }}
    +          nexus_password: ${{ secrets.nexus_password }}
    +

    https://github.com/opengeospatial/cite/wiki/How-to-create-releases-with-Maven

    https://techluminary.com/discard-maven-release-plugin-with-a-new-approach/ +https://axelfontaine.com/blog/dead-burried.html

    https://phauer.com/2016/version-numbers-continuous-delivery-maven-docker/

    <plugin>
    +    <groupId>pl.project13.maven</groupId>
    +    <artifactId>git-commit-id-plugin</artifactId>
    +    <version>2.2.4</version>
    +    <executions>
    +        <execution>
    +            <phase>validate</phase>
    +            <goals>
    +                <goal>revision</goal>
    +            </goals>
    +        </execution>
    +    </executions>
    +    <configuration>
    +        <dateFormat>yyyyMMdd-HHmmss</dateFormat>
    +        <dotGitDirectory>${project.basedir}/.git</dotGitDirectory>
    +        <generateGitPropertiesFile>false</generateGitPropertiesFile>
    +    </configuration>
    +</plugin>
    +

    https://trunkbaseddevelopment.com/

    + \ No newline at end of file diff --git a/post/2020-05-11-gatsby-strava/index.html b/post/2020-05-11-gatsby-strava/index.html new file mode 100644 index 00000000..bb3e0485 --- /dev/null +++ b/post/2020-05-11-gatsby-strava/index.html @@ -0,0 +1,11 @@ + +Gatsby Strava - Posts from emeraldjava +
    + \ No newline at end of file diff --git a/post/2020-06-20-jekyll-to-gatstby/index.html b/post/2020-06-20-jekyll-to-gatstby/index.html new file mode 100644 index 00000000..1aa95825 --- /dev/null +++ b/post/2020-06-20-jekyll-to-gatstby/index.html @@ -0,0 +1,41 @@ + +Jekyll To Gatstby - Posts from emeraldjava +

    emeraldjava/Jekyll To Gatstby

    Created Sat, 20 Jun 2020 00:00:00 +0000 + +Modified Sun, 28 Apr 2024 08:47:19 +0000
    105 Words

    Jekyll To Gatstby

    Using a custom folder structure for gatsby

    exports.onCreateNode = ({ node, actions, getNode }) => {
    +const { createNodeField } = actions
    +
    +if (node.internal.type === `MarkdownRemark`) {
    +const slug = createFilePath({ node, getNode })
    +const match = BLOG_POST_FILENAME_REGEX.exec(slug)
    +if (match !== null) {
    +const year = match[1]
    +const month = match[2]
    +const day = match[3]
    +const filename = match[4]
    +const date = new Date(year, month - 1, day)
    +
    +      createNodeField({
    +        name: `slug`,
    +        node,
    +        value: `/blog/${filename}`,
    +      })
    +
    +      createNodeField({
    +        name: `date`,
    +        node,
    +        value: date.toJSON(),
    +      })
    +    } else {
    +      createNodeField({
    +        name: `slug`,
    +        node,
    +        value: slug,
    +      })
    +    }
    +}
    +}
    +

    NPM Updater

    + \ No newline at end of file diff --git a/post/2020-08-18-cv-with-kiss-my-resume/index.html b/post/2020-08-18-cv-with-kiss-my-resume/index.html new file mode 100644 index 00000000..9782196a --- /dev/null +++ b/post/2020-08-18-cv-with-kiss-my-resume/index.html @@ -0,0 +1,16 @@ + +Updating CV to use Kiss My Resume - Posts from emeraldjava +

    emeraldjava/Updating CV to use Kiss My Resume

    Created Tue, 18 Aug 2020 00:00:00 +0000 + +Modified Sun, 28 Apr 2024 08:47:19 +0000
    111 Words

    I’ve have hosted my CV for the past two years via github hosted repo using the hackmyresume tool to generate a HTML and PDF version from a json +file following the FRESH schema.

    With recent version updates the hackmyresume system seems to have stopped creating output!.

    A quick search directed me to KissMyResume which does simular tasks. I had to manually convert my existing resume content +to the jsonresume.org schema which has wider support themes and I +decided to the use the rocketspacer theme.

    A quick update the build command and a tweak to the Github Action and i have a new version of my CV is now published @ http://emeraldjava.github.io/emeraldjava.

    + \ No newline at end of file diff --git a/post/2021-04-18-emeraldjava-api/index.html b/post/2021-04-18-emeraldjava-api/index.html new file mode 100644 index 00000000..4f2449bc --- /dev/null +++ b/post/2021-04-18-emeraldjava-api/index.html @@ -0,0 +1,26 @@ + +emeraldjava api setup - Posts from emeraldjava +

    emeraldjava/emeraldjava api setup

    Created Sun, 18 Apr 2021 00:00:00 +0000 + +Modified Sun, 28 Apr 2024 08:47:19 +0000
    120 Words

    My setup for a java 11 spring-boot API service deployed on heroku.

    Gatsby

    I’d to update this repo first since the deploy action failed with this error

    Failed to resolve action download info. Error: Unable to resolve action `JamesIves/github-pages-deploy-action@master`, unable to find version `master`
    +Retrying in 20.243 seconds
    +Error: Unable to resolve action `JamesIves/github-pages-deploy-action@master`, unable to find version `master`
    +

    See

    sdkman

    First install sdkman for managing java installs

    curl -s "https://get.sdkman.io" | bash
    +source "$HOME/.sdkman/bin/sdkman-init.sh"
    +

    see https://sdkman.io/install

    then install java 11

    sdk install java 11.0.10-zulu 
    +

    then install maven

    sdk install maven 3.8.1
    +

    setup springboot cli

    sdk install springboot
    +

    We have a dev env now!.

    emeraldjava-api

    Use the springboot cli to create the app template

    spring init --dependencies=web emeraldjava-api
    +
    + \ No newline at end of file diff --git a/post/2021-04-25-github-readme-stats/index.html b/post/2021-04-25-github-readme-stats/index.html new file mode 100644 index 00000000..13421af9 --- /dev/null +++ b/post/2021-04-25-github-readme-stats/index.html @@ -0,0 +1,23 @@ + +Github Readme Stats - Posts from emeraldjava +

    emeraldjava/Github Readme Stats

    Created Sun, 25 Apr 2021 00:00:00 +0000 + +Modified Sun, 28 Apr 2024 08:47:19 +0000
    84 Words

    I was looking for a guide to configuring spring boot with spring batch admin which i found but then spotted a nice GitHub summary on damienbeaufils home page.

    Calling this API servive with my account details

    https://github-readme-stats.vercel.app/api?username=emeraldjava&show_icons=true&count_private=true
    +

    returns a neat embedded image.
    Thanks Damien

    Alt name of image

    To ensure the image gets space, we add it to a table.

    TODO - create a gatsby plugin which takes the url and embeds the image.

    With crappy dot line spacing below.

    StackOverFlow Flair

    See https://stackoverflow.com/help/flair


    Horizontal Rules

    See https://www.markdownguide.org/basic-syntax/#horizontal-rules

    + \ No newline at end of file diff --git a/post/2021-04-30-supabase-starter/index.html b/post/2021-04-30-supabase-starter/index.html new file mode 100644 index 00000000..ac4b1b63 --- /dev/null +++ b/post/2021-04-30-supabase-starter/index.html @@ -0,0 +1,29 @@ + +Supabase Starter - Posts from emeraldjava +

    emeraldjava/Supabase Starter

    Created Fri, 30 Apr 2021 00:00:00 +0000 + +Modified Sun, 28 Apr 2024 08:47:19 +0000
    51 Words

    Started looking supabase.io to get access to a Postgres DB as a service and play with their javascript UI client.

    supabase

    See https://github.com/AlanLyttonJones/Age-Grade-Tables

    Carbon

    See carbon.now.sh

    blob:https://carbon.now.sh/72027f28-1ae5-48c5-ba73-cb130ceca298

    Upgrading Gatsby

    https://www.gatsbyjs.com/docs/reference/release-notes/migrating-from-v2-to-v3/ +https://github.com/gatsbyjs/gatsby-starter-default

    npm install gatsby-plugin-image gatsby-plugin-sharp gatsby-source-filesystem gatsby-transformer-sharp
    +

    From https://letscodepare.com/blog/npm-resolving-eacces-permissions-denied run commands

    sudo chown -R $(whoami) ~/.npm
    +sudo chown -R $(whoami) /usr/local/lib/node_modules/
    +

    https://www.gatsbyjs.com/starters/gatsbyjs/gatsby-starter-blog/

    + \ No newline at end of file diff --git a/content/post/2021-04-30.supabase.png b/post/2021-04-30.supabase.png similarity index 100% rename from content/post/2021-04-30.supabase.png rename to post/2021-04-30.supabase.png diff --git a/post/2021-05-01-supabase-html-client/index.html b/post/2021-05-01-supabase-html-client/index.html new file mode 100644 index 00000000..66fad380 --- /dev/null +++ b/post/2021-05-01-supabase-html-client/index.html @@ -0,0 +1,10 @@ + +Supabase HTML Client - Posts from emeraldjava +

    emeraldjava/Supabase HTML Client

    Created Sat, 01 May 2021 00:00:00 +0000 + +Modified Sun, 28 Apr 2024 08:47:19 +0000
    29 Words

    Playing with the basic supabase js client in a vanilla HTML page before I start the angular app development. Updated gatsby versions and installed the embedded gist plugin.

    gist:emeraldjava/0541eaa0341605fa276048ac9ce91ab2

    + \ No newline at end of file diff --git a/post/2021-05-11-subabase-openapi-typescript/index.html b/post/2021-05-11-subabase-openapi-typescript/index.html new file mode 100644 index 00000000..5a509195 --- /dev/null +++ b/post/2021-05-11-subabase-openapi-typescript/index.html @@ -0,0 +1,17 @@ + +openapi typescript - Posts from emeraldjava +

    emeraldjava/openapi typescript

    Created Sat, 01 May 2021 00:00:00 +0000 + +Modified Sun, 28 Apr 2024 08:47:19 +0000
    27 Words

    Use ‘openapi-typescript’ to generate interface types from the supabase swagger spec.

    https://supabase.io/blog/2021/03/31/supabase-cli

    npx @manifoldco/swagger-to-ts https://your-project.supabase.co/rest/v1/?apikey=your-anon-key –output types/supabase.ts

    npx openapi-typescript https://dknnvxorlinqzsoxyvhz.supabase.co/rest/v1/?apikey=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlIjoiYW5vbiIsImlhdCI6MTYxOTc4NTU0NiwiZXhwIjoxOTM1MzYxNTQ2fQ.Xz1M8djivXrSH4UG98eu1btGmBzMSa04-9fcDX1rZ3A --output types/supabase.ts
    +

    npx openapi-typescript <SUPABASE_URL>/rest/v1/?apikey=<SUPABASE_ANON_KEY> –output types/supabase.ts

    + \ No newline at end of file diff --git a/content/post/2021-05-22-pre.txt b/post/2021-05-22-pre.txt similarity index 100% rename from content/post/2021-05-22-pre.txt rename to post/2021-05-22-pre.txt diff --git a/post/2021-05-23-enable-strava-plugin/index.html b/post/2021-05-23-enable-strava-plugin/index.html new file mode 100644 index 00000000..8e2a9e9e --- /dev/null +++ b/post/2021-05-23-enable-strava-plugin/index.html @@ -0,0 +1,60 @@ + +openapi typescript - Posts from emeraldjava +

    emeraldjava/openapi typescript

    Created Sat, 01 May 2021 00:00:00 +0000 + +Modified Sun, 28 Apr 2024 08:47:19 +0000
    59 Words

    Enabling strava plugin again

    https://swas.io/blog/using-multiple-queries-on-gatsbyjs-createpages-node-api/

    running two gatsby create page functions in gatby-node.js

    My .env file looks like

    STRAVA_CLIENT_ID=xxxx
    +STRAVA_CLIENT_SECRET=78..78
    +STRAVA_TOKEN={"access_token":"8a..b2","refresh_token":"ij..gy","expires_at":1581439030,"expires_in":21600}
    +

    token

    https://yizeng.me/2017/01/11/get-a-strava-api-access-token-with-write-permission/

    generate token

    STRAVA_CLIENT_ID=4945 +STRAVA_CLIENT_SECRET=cd72dfedc320fd098fc2d5cf9af51c245fd9b042 +STRAVA_TOKEN={“access_token”:“503671acabaf6e27d8aa5ed49dbb22cd3f31748b”,“refresh_token”:“2706dca4b78c29353ed03267c0df2f41759a0c68”,“expires_at”:1581439030,“expires_in”:21600}

    1 -

    http://www.strava.com/oauth/authorize?client_id=4945&response_type=code&redirect_uri=http://localhost/exchange_token&approval_prompt=force&scope=read_all,profile:read_all,activity:read_all

    returns

    http://localhost/exchange_token?state=&code=3135adf3d092a54b2c9952978757adc4dee11c07&scope=read,activity:read_all,profile:read_all,read_all

    code=3135adf3d092a54b2c9952978757adc4dee11c07

    2 Run CURL to

    curl -X POST https://www.strava.com/oauth/token -F client_id=4945 -F client_secret=cd72dfedc320fd098fc2d5cf9af51c245fd9b042 -F code=3135adf3d092a54b2c9952978757adc4dee11c07 -F grant_type=authorization_code

    {“token_type”:“Bearer”, +“expires_at”:1621798403,“expires_in”:21600, +“refresh_token”:“f84937f098dc675364aed4b65acb9e66bf30924c”, +“access_token”:“b898fbd9ea915f5a3b34cc8876dc0c9f3bca049b”,

    “athlete”:{“id”:7035778,“username”:“emeraldjava”,“resource_state”:2,“firstname”:“emerald”,“lastname”:“java”,“bio”:"",“city”:“Dublin”,“state”:“Dublin”,“country”:“Ireland”,“sex”:“M”,“premium”:true,“summit”:true,“created_at”:“2014-11-09T16:06:10Z”,“updated_at”:“2021-05-23T13:03:13Z”,“badge_type_id”:1,“weight”:73.4,“profile_medium”:“https://dgalywyr863hv.cloudfront.net/pictures/athletes/7035778/2122161/2/medium.jpg","profile":"https://dgalywyr863hv.cloudfront.net/pictures/athletes/7035778/2122161/2/large.jpg","friend":null,"follower":null}}%

    + \ No newline at end of file diff --git a/post/2021-07-02-update-gatsby/index.html b/post/2021-07-02-update-gatsby/index.html new file mode 100644 index 00000000..ec54f14f --- /dev/null +++ b/post/2021-07-02-update-gatsby/index.html @@ -0,0 +1,10 @@ + +Updating Gatsby - Posts from emeraldjava +

    emeraldjava/Updating Gatsby

    Created Sun, 01 Jan 2017 00:00:00 +0000 + +Modified Sun, 28 Apr 2024 08:47:19 +0000
    + \ No newline at end of file diff --git a/post/2021-07-07-strava-tokens-and-ejs/index.html b/post/2021-07-07-strava-tokens-and-ejs/index.html new file mode 100644 index 00000000..2e5bf0f0 --- /dev/null +++ b/post/2021-07-07-strava-tokens-and-ejs/index.html @@ -0,0 +1,13 @@ + +Updating Gatsby - Posts from emeraldjava +

    emeraldjava/Updating Gatsby

    Created Sun, 01 Jan 2017 00:00:00 +0000 + +Modified Sun, 28 Apr 2024 08:47:19 +0000
    + \ No newline at end of file diff --git a/content/post/2022-11-20/application-portal-reverse-proxy-settings.png b/post/2022/11/20/application-portal-reverse-proxy-settings.png similarity index 100% rename from content/post/2022-11-20/application-portal-reverse-proxy-settings.png rename to post/2022/11/20/application-portal-reverse-proxy-settings.png diff --git a/content/post/2022-11-20/external-access-ddns-settings.png b/post/2022/11/20/external-access-ddns-settings.png similarity index 100% rename from content/post/2022-11-20/external-access-ddns-settings.png rename to post/2022/11/20/external-access-ddns-settings.png diff --git a/content/post/2022-11-20/router-port-forwarding.png b/post/2022/11/20/router-port-forwarding.png similarity index 100% rename from content/post/2022-11-20/router-port-forwarding.png rename to post/2022/11/20/router-port-forwarding.png diff --git a/content/post/2022-11-20/security-certs-settings.png b/post/2022/11/20/security-certs-settings.png similarity index 100% rename from content/post/2022-11-20/security-certs-settings.png rename to post/2022/11/20/security-certs-settings.png diff --git a/post/2022/2022-02-22-updates/index.html b/post/2022/2022-02-22-updates/index.html new file mode 100644 index 00000000..36e14052 --- /dev/null +++ b/post/2022/2022-02-22-updates/index.html @@ -0,0 +1,16 @@ + +First Post of 2022 - Posts from emeraldjava +

    emeraldjava/First Post of 2022

    Created Tue, 22 Feb 2022 00:00:00 +0000 + +Modified Sun, 28 Apr 2024 08:47:19 +0000
    55 Words

    emeraldjava cv

    Have updated the CV to reflect recent experience. Needed to updated the github action and other npm versions.

    Added the caffeine theme and need to see if the resumefodder word template can be converted.

    github.io

    Updated the gatsby versions

    Web Assembly

    Need to play with technology and add an app to this site.

    + \ No newline at end of file diff --git a/post/2022/2022-09-02-ship-it-con-2022/index.html b/post/2022/2022-09-02-ship-it-con-2022/index.html new file mode 100644 index 00000000..3cf4f194 --- /dev/null +++ b/post/2022/2022-09-02-ship-it-con-2022/index.html @@ -0,0 +1,15 @@ + +Notes from ShipItCon 2022 - Posts from emeraldjava +

    emeraldjava/Notes from ShipItCon 2022

    Created Fri, 02 Sep 2022 00:00:00 +0000 + +Modified Sun, 28 Apr 2024 08:47:19 +0000
    192 Words

    Notes from ShipItCon 2022

    Shipitcon is a technology converfence about Software Delivery. The theme this year was about resiliense of people and software systems.

    9.30 Cian O’Maidin - Nearform

    How the covid tracker app was developed and open sourced so 65million users and 10 countries could benifit.

    10.10 Nicole Imerson

    How failures effect systems and how we should learn from those failures.

    • New Territoy
    • Mistakes
    • Deliberate

    @Failurology

    10.40 Filipe Freire

    https://twitter.com/emeraldjava/status/1565637560831025153

    Testing for failure in software systems.

    11.00 Nicola Zaghini

    How to make mobile app development more resilient to deployment issues and scaling.

    11.20 Noel King

    11.45 Anton Walley

    Coredumps and k8s. +gitpod.io

    12.00 Scout24

    Using AWS CDK’s to create developer portals for new platforms. +Spotify backstage.io

    14.30 Intercom

    Oncall support and how to track/learn from alerts. +Github issue workflow

    16.00 Laura Nolan

    Incident reports and how to write them. Tell the human story of the incident and what was leart is key. +See VOID - Verica Open Incident Database +@lauralifts

    + \ No newline at end of file diff --git a/post/2022/2022-09-14-docker-meetup-dublin/index.html b/post/2022/2022-09-14-docker-meetup-dublin/index.html new file mode 100644 index 00000000..ae44b2aa --- /dev/null +++ b/post/2022/2022-09-14-docker-meetup-dublin/index.html @@ -0,0 +1,7 @@ + +Dublin Docker Meetup - Posts from emeraldjava +

    emeraldjava/Dublin Docker Meetup

    Created Wed, 14 Sep 2022 00:00:00 +0000 + +Modified Sun, 28 Apr 2024 08:47:19 +0000
    62 Words
    + \ No newline at end of file diff --git a/post/2022/2022-11-05-hello-mastodon-ie/index.html b/post/2022/2022-11-05-hello-mastodon-ie/index.html new file mode 100644 index 00000000..84b49c04 --- /dev/null +++ b/post/2022/2022-11-05-hello-mastodon-ie/index.html @@ -0,0 +1,10 @@ + +emeraldjava@mastodon.ie - Posts from emeraldjava +
    + \ No newline at end of file diff --git a/post/2022/2022-11-20-synology-home-assistent/index.html b/post/2022/2022-11-20-synology-home-assistent/index.html new file mode 100644 index 00000000..c8439390 --- /dev/null +++ b/post/2022/2022-11-20-synology-home-assistent/index.html @@ -0,0 +1,11 @@ + +Synology and Remote Home Assistent - Posts from emeraldjava +

    emeraldjava/Synology and Remote Home Assistent

    Created Sun, 20 Nov 2022 00:00:00 +0000 + +Modified Sun, 28 Apr 2024 08:47:19 +0000
    177 Words

    Overview

    The following outline the steps i’ve taken to try and configure remote access to my synology home assistent instance.

    Reference

    Test Urls

    The hope is that these URL will return a valid response

    https://emeraldjava.synology.me +https://home.emeraldjava.synology.me

    Router Config

    My home router has the following Port Forwarding rules which send all requests to the Synology IP. Ports 443 and 80 should be open.

    router-port-forwarding

    I have Plex running via Port 32400 and it’s remotely accessible.

    Synology Config

    This section outlines the specific synology DS-1512 settings that have to align.

    External Access > DDNS Settings

    This maps the ‘domain’ to the dynamic IP of my local synology server.

    external-access-ddns-settings

    Application Portal > Reverse Proxy

    Setup a reverse proxy which listens for the specific ‘domain’ and maps those requests to the process on my synology box.

    application-portal-reverse-proxy-settings

    Security > Certificates

    The config of the SSL cert for each ‘domain’.

    security-certs-settings

    The question is which part or parts of the config are incorrect?

    + \ No newline at end of file diff --git a/post/2023/08/1e22d8ff.png b/post/2023/08/1e22d8ff.png new file mode 100644 index 00000000..aba33ed8 Binary files /dev/null and b/post/2023/08/1e22d8ff.png differ diff --git a/post/2023/08/2023-04-08-vote-app-screenshot.png b/post/2023/08/2023-04-08-vote-app-screenshot.png new file mode 100644 index 00000000..2fbb28fa Binary files /dev/null and b/post/2023/08/2023-04-08-vote-app-screenshot.png differ diff --git a/post/2023/2023-02-22-docker-meetup-dublin/index.html b/post/2023/2023-02-22-docker-meetup-dublin/index.html new file mode 100644 index 00000000..4e6c1f6c --- /dev/null +++ b/post/2023/2023-02-22-docker-meetup-dublin/index.html @@ -0,0 +1,30 @@ + +Dublin Docker Meetup - Posts from emeraldjava +

    emeraldjava/Dublin Docker Meetup

    Created Thu, 23 Feb 2023 00:00:00 +0000 + +Modified Sun, 28 Apr 2024 08:47:19 +0000
    47 Words

    Nginx Unit - @liamcrilly

    Async event loop +multi-process architecture +config reload without interruption +1 CPU core per worker thread

    web server +reverse proxy +load balancer

    php/fpm on docker

    microservices vs container

    use nginx unit to run mutliple processes within a single docker container

    config

    • listeners
    • routes
    • applications
    + \ No newline at end of file diff --git a/post/2023/2023-04-07-goodbye-gatsby-hello-hugo/index.html b/post/2023/2023-04-07-goodbye-gatsby-hello-hugo/index.html new file mode 100644 index 00000000..ac45b7b2 --- /dev/null +++ b/post/2023/2023-04-07-goodbye-gatsby-hello-hugo/index.html @@ -0,0 +1,8 @@ + +Moving to Hugo - Posts from emeraldjava +

    emeraldjava/Moving to Hugo

    Created Fri, 07 Apr 2023 10:51:26 +0100 + +Modified Sun, 28 Apr 2024 08:47:19 +0000
    17 Words

    Other switch of blogging platform from Gatsby to Hugo for the moment.

    Using the ‘github-style; themes

    https://themes.gohugo.io/themes/github-style/
    +
    + \ No newline at end of file diff --git a/post/2023/2023-04-08-kubernetes-starter/index.html b/post/2023/2023-04-08-kubernetes-starter/index.html new file mode 100644 index 00000000..39d99d47 --- /dev/null +++ b/post/2023/2023-04-08-kubernetes-starter/index.html @@ -0,0 +1,15 @@ + +Kubernetes on Docker Desktop starter - Posts from emeraldjava +

    emeraldjava/Kubernetes on Docker Desktop starter

    Created Sat, 08 Apr 2023 18:22:26 +0100 + +Modified Sun, 28 Apr 2024 08:47:19 +0000
    73 Words

    Via https://github.com/dockersamples/example-voting-app

    Running

    ❯ kubectl get nodes
    +

    Returns

    NAME             STATUS   ROLES           AGE    VERSION
    +docker-desktop   Ready    control-plane   154d   v1.25.2
    +

    Clone the ’example-voting’ app locally with

    git clone https://github.com/dockersamples/example-voting-app.git
    +

    then run

    kubectl create -f k8s-specifications
    +kubectl delete -f k8s-specifications
    +

    the frontend components should be available at

    • vote app: http://localhost:31000

    • results app: http://localhost:31001

    Kubernetes Dashboard

    via https://andrewlock.net/running-kubernetes-and-the-dashboard-with-docker-desktop/

    Running

    kubectl get pods -n kube-system
    +

    add the UI

    kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.2.0/aio/deploy/recommended.yaml
    +

    vcluster

    https://www.docker.com/blog/creating-kubernetes-extensions-in-docker-desktop/

    kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml

    + \ No newline at end of file diff --git a/post/2023/2023-07-22-register-serenity-listener/index.html b/post/2023/2023-07-22-register-serenity-listener/index.html new file mode 100644 index 00000000..67e2070b --- /dev/null +++ b/post/2023/2023-07-22-register-serenity-listener/index.html @@ -0,0 +1,11 @@ + +Register Serenity Listener - Posts from emeraldjava +

    emeraldjava/Register Serenity Listener

    Created Sat, 22 Jul 2023 20:03:04 +0100 + +Modified Sun, 28 Apr 2024 08:47:19 +0000
    90 Words

    Step 1 - Create the Listener

    Create a new class which will be the custom listener, eg. MyCustomListener this class must implement StepListener (from the package net.thucidydes.core.steps) and implement all necessary methods and adjust to you own needs.

    Step 2 - Regster the Service Locator

    1 In the resources folder of the project you are using create a directory META-INF folder +2. Add a file called ’net.thucydides.core.steps.StepListener' +3. Add the Listener class name as the file content.

    /META-INF/net.thucydides.core.steps.StepListener
    +    - a.b.c.MyCustomListener
    +

    This allows the ServiceLocator to find and inject the Listener.

    + \ No newline at end of file diff --git a/post/2023/2023-12-29-github-worth/index.html b/post/2023/2023-12-29-github-worth/index.html new file mode 100644 index 00000000..5f4cddc1 --- /dev/null +++ b/post/2023/2023-12-29-github-worth/index.html @@ -0,0 +1,7 @@ + +Github Worth - Posts from emeraldjava +

    emeraldjava/Github Worth

    Created Sat, 22 Jul 2023 20:03:04 +0100 + +Modified Sun, 28 Apr 2024 08:47:19 +0000
    17 Words
    + \ No newline at end of file diff --git a/post/index.html b/post/index.html new file mode 100644 index 00000000..81a648ef --- /dev/null +++ b/post/index.html @@ -0,0 +1,55 @@ + +Posts - Posts from emeraldjava +
    Avatar

    Organizations

    @twitter +@linkedin
    • The percieved value of my github repo!
      Created +Sat, 22 Jul 2023 20:03:04 +0100
    • Remember the META-INF config for Service Locators
      Created +Sat, 22 Jul 2023 20:03:04 +0100
    • Setting up a basic pod via Docker Desktop on Mac
      Created +Sat, 08 Apr 2023 18:22:26 +0100
    • Goodby Gatsby, Hello Hugo
      Created +Fri, 07 Apr 2023 10:51:26 +0100
    • Nginx Unit - @liamcrilly Async event loop multi-process architecture config reload without interruption 1 CPU core per worker thread +web server reverse proxy load balancer +php/fpm on docker +microservices vs container +use nginx unit to run mutliple processes within a single docker container +config +listeners routes applications
      docker +Created +Thu, 23 Feb 2023 00:00:00 +0000
    • Overview

      The following outline the steps i’ve taken to try and configure remote access to my synology home assistent instance.

      synology +Created +Sun, 20 Nov 2022 00:00:00 +0000
    • Moving to mastodon. +Docker Extension https://www.jerriepelser.com/blog/sorting-out-gatsby-folder-structure/ https://www.acuriousanimal.com/blog/20191003/from-jekyll-to-gatsby https://dev.to/deborahd/from-jekyll-to-gatsby-7-simple-steps-3an5
      social +Created +Sat, 05 Nov 2022 00:00:00 +0000
    • Docker Extensions
      docker +Created +Wed, 14 Sep 2022 00:00:00 +0000
    • Notes from ShipItCon 2022 9.30 Cian O’Maidin - Nearform 10.10 Nicole Imerson 10.40 Filipe Freire 11.00 Nicola Zaghini 11.20 Noel King 11.45 Anton Walley 12.00 Scout24 14.30 Intercom 16.00 Laura Nolan Notes from ShipItCon 2022 Shipitcon is a technology converfence about Software Delivery. The theme this year was about resiliense of people and software systems. +9.30 Cian O’Maidin - Nearform How the covid tracker app was developed and open sourced so 65million users and 10 countries could benifit.
      Created +Fri, 02 Sep 2022 00:00:00 +0000
    • emeraldjava cv Have updated the CV to reflect recent experience. Needed to updated the github action and other npm versions. +Added the caffeine theme and need to see if the resumefodder word template can be converted. +github.io Updated the gatsby versions +Web Assembly Need to play with technology and add an app to this site.
      Created +Tue, 22 Feb 2022 00:00:00 +0000
    +Next
    \ No newline at end of file diff --git a/post/index.xml b/post/index.xml new file mode 100644 index 00000000..1a005b94 --- /dev/null +++ b/post/index.xml @@ -0,0 +1,101 @@ +Posts on Posts from emeraldjavahttps://emeraldjava.github.io/post/Recent content in Posts on Posts from emeraldjavaHugo -- gohugo.ioen-usSat, 22 Jul 2023 20:03:04 +0100Github Worthhttps://emeraldjava.github.io/post/2023/2023-12-29-github-worth/Sat, 22 Jul 2023 20:03:04 +0100https://emeraldjava.github.io/post/2023/2023-12-29-github-worth/The percieved value of my github repo!Register Serenity Listenerhttps://emeraldjava.github.io/post/2023/2023-07-22-register-serenity-listener/Sat, 22 Jul 2023 20:03:04 +0100https://emeraldjava.github.io/post/2023/2023-07-22-register-serenity-listener/Remember the META-INF config for Service LocatorsKubernetes on Docker Desktop starterhttps://emeraldjava.github.io/post/2023/2023-04-08-kubernetes-starter/Sat, 08 Apr 2023 18:22:26 +0100https://emeraldjava.github.io/post/2023/2023-04-08-kubernetes-starter/Setting up a basic pod via Docker Desktop on MacMoving to Hugohttps://emeraldjava.github.io/post/2023/2023-04-07-goodbye-gatsby-hello-hugo/Fri, 07 Apr 2023 10:51:26 +0100https://emeraldjava.github.io/post/2023/2023-04-07-goodbye-gatsby-hello-hugo/Goodby Gatsby, Hello HugoDublin Docker Meetuphttps://emeraldjava.github.io/post/2023/2023-02-22-docker-meetup-dublin/Thu, 23 Feb 2023 00:00:00 +0000https://emeraldjava.github.io/post/2023/2023-02-22-docker-meetup-dublin/Nginx Unit - @liamcrilly Async event loop multi-process architecture config reload without interruption 1 CPU core per worker thread +web server reverse proxy load balancer +php/fpm on docker +microservices vs container +use nginx unit to run mutliple processes within a single docker container +config +listeners routes applicationsSynology and Remote Home Assistenthttps://emeraldjava.github.io/post/2022/2022-11-20-synology-home-assistent/Sun, 20 Nov 2022 00:00:00 +0000https://emeraldjava.github.io/post/2022/2022-11-20-synology-home-assistent/<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<ul> +<li><a href="#overview">Overview</a></li> +<li><a href="#test-urls">Test Urls</a></li> +<li><a href="#router-config">Router Config</a></li> +<li><a href="#synology-config">Synology Config</a> +<ul> +<li><a href="#external-access--ddns-settings">External Access &gt; DDNS Settings</a></li> +<li><a href="#application-portal--reverse-proxy">Application Portal &gt; Reverse Proxy</a></li> +<li><a href="#security--certificates">Security &gt; Certificates</a></li> +</ul> +</li> +</ul> +<!-- raw HTML omitted --> +<h1 id="overview">Overview</h1> +<p>The following outline the steps i&rsquo;ve taken to try and configure remote access to my synology home assistent instance.</p>emeraldjava@mastodon.iehttps://emeraldjava.github.io/post/2022/2022-11-05-hello-mastodon-ie/Sat, 05 Nov 2022 00:00:00 +0000https://emeraldjava.github.io/post/2022/2022-11-05-hello-mastodon-ie/Moving to mastodon. +Docker Extension https://www.jerriepelser.com/blog/sorting-out-gatsby-folder-structure/ https://www.acuriousanimal.com/blog/20191003/from-jekyll-to-gatsby https://dev.to/deborahd/from-jekyll-to-gatsby-7-simple-steps-3an5Dublin Docker Meetuphttps://emeraldjava.github.io/post/2022/2022-09-14-docker-meetup-dublin/Wed, 14 Sep 2022 00:00:00 +0000https://emeraldjava.github.io/post/2022/2022-09-14-docker-meetup-dublin/Docker ExtensionsNotes from ShipItCon 2022https://emeraldjava.github.io/post/2022/2022-09-02-ship-it-con-2022/Fri, 02 Sep 2022 00:00:00 +0000https://emeraldjava.github.io/post/2022/2022-09-02-ship-it-con-2022/Notes from ShipItCon 2022 9.30 Cian O&rsquo;Maidin - Nearform 10.10 Nicole Imerson 10.40 Filipe Freire 11.00 Nicola Zaghini 11.20 Noel King 11.45 Anton Walley 12.00 Scout24 14.30 Intercom 16.00 Laura Nolan Notes from ShipItCon 2022 Shipitcon is a technology converfence about Software Delivery. The theme this year was about resiliense of people and software systems. +9.30 Cian O&rsquo;Maidin - Nearform How the covid tracker app was developed and open sourced so 65million users and 10 countries could benifit.First Post of 2022https://emeraldjava.github.io/post/2022/2022-02-22-updates/Tue, 22 Feb 2022 00:00:00 +0000https://emeraldjava.github.io/post/2022/2022-02-22-updates/emeraldjava cv Have updated the CV to reflect recent experience. Needed to updated the github action and other npm versions. +Added the caffeine theme and need to see if the resumefodder word template can be converted. +github.io Updated the gatsby versions +Web Assembly Need to play with technology and add an app to this site.openapi typescripthttps://emeraldjava.github.io/post/2021-05-11-subabase-openapi-typescript/Sat, 01 May 2021 00:00:00 +0000https://emeraldjava.github.io/post/2021-05-11-subabase-openapi-typescript/Use &lsquo;openapi-typescript&rsquo; to generate interface types from the supabase swagger spec. +https://supabase.io/blog/2021/03/31/supabase-cli +npx @manifoldco/swagger-to-ts https://your-project.supabase.co/rest/v1/?apikey=your-anon-key &ndash;output types/supabase.ts +npx openapi-typescript https://dknnvxorlinqzsoxyvhz.supabase.co/rest/v1/?apikey=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlIjoiYW5vbiIsImlhdCI6MTYxOTc4NTU0NiwiZXhwIjoxOTM1MzYxNTQ2fQ.Xz1M8djivXrSH4UG98eu1btGmBzMSa04-9fcDX1rZ3A --output types/supabase.ts npx openapi-typescript &lt;SUPABASE_URL&gt;/rest/v1/?apikey=&lt;SUPABASE_ANON_KEY&gt; &ndash;output types/supabase.tsopenapi typescripthttps://emeraldjava.github.io/post/2021-05-23-enable-strava-plugin/Sat, 01 May 2021 00:00:00 +0000https://emeraldjava.github.io/post/2021-05-23-enable-strava-plugin/Enabling strava plugin again +https://swas.io/blog/using-multiple-queries-on-gatsbyjs-createpages-node-api/ +running two gatsby create page functions in gatby-node.js +https://stackoverflow.com/questions/57748844/how-do-i-use-multiple-createpage-routes-in-gatsby-node-js https://stackoverflow.com/questions/64536170/how-to-create-multiple-page-types-dynamically-in-gatsby-node-js https://swas.io/blog/using-multiple-queries-on-gatsbyjs-createpages-node-api/ https://gist.github.com/tanaypratap/c676022402d4fadbe1dad4c1b1a78c21 My .env file looks like +STRAVA_CLIENT_ID=xxxx STRAVA_CLIENT_SECRET=78..78 STRAVA_TOKEN={&quot;access_token&quot;:&quot;8a..b2&quot;,&quot;refresh_token&quot;:&quot;ij..gy&quot;,&quot;expires_at&quot;:1581439030,&quot;expires_in&quot;:21600} token https://yizeng.me/2017/01/11/get-a-strava-api-access-token-with-write-permission/ +generate token +STRAVA_CLIENT_ID=4945 STRAVA_CLIENT_SECRET=cd72dfedc320fd098fc2d5cf9af51c245fd9b042 STRAVA_TOKEN={&ldquo;access_token&rdquo;:&ldquo;503671acabaf6e27d8aa5ed49dbb22cd3f31748b&rdquo;,&ldquo;refresh_token&rdquo;:&ldquo;2706dca4b78c29353ed03267c0df2f41759a0c68&rdquo;,&ldquo;expires_at&rdquo;:1581439030,&ldquo;expires_in&rdquo;:21600} +1 - +http://www.strava.com/oauth/authorize?client_id=4945&amp;response_type=code&amp;redirect_uri=http://localhost/exchange_token&amp;approval_prompt=force&amp;scope=read_all,profile:read_all,activity:read_all +returns +http://localhost/exchange_token?state=&amp;code=3135adf3d092a54b2c9952978757adc4dee11c07&amp;scope=read,activity:read_all,profile:read_all,read_all +code=3135adf3d092a54b2c9952978757adc4dee11c07 +2 Run CURL to +curl -X POST https://www.strava.com/oauth/token -F client_id=4945 -F client_secret=cd72dfedc320fd098fc2d5cf9af51c245fd9b042 -F code=3135adf3d092a54b2c9952978757adc4dee11c07 -F grant_type=authorization_code +{&ldquo;token_type&rdquo;:&ldquo;Bearer&rdquo;, &ldquo;expires_at&rdquo;:1621798403,&ldquo;expires_in&rdquo;:21600, &ldquo;refresh_token&rdquo;:&ldquo;f84937f098dc675364aed4b65acb9e66bf30924c&rdquo;, &ldquo;access_token&rdquo;:&ldquo;b898fbd9ea915f5a3b34cc8876dc0c9f3bca049b&rdquo;, +&ldquo;athlete&rdquo;:{&ldquo;id&rdquo;:7035778,&ldquo;username&rdquo;:&ldquo;emeraldjava&rdquo;,&ldquo;resource_state&rdquo;:2,&ldquo;firstname&rdquo;:&ldquo;emerald&rdquo;,&ldquo;lastname&rdquo;:&ldquo;java&rdquo;,&ldquo;bio&rdquo;:&quot;&quot;,&ldquo;city&rdquo;:&ldquo;Dublin&rdquo;,&ldquo;state&rdquo;:&ldquo;Dublin&rdquo;,&ldquo;country&rdquo;:&ldquo;Ireland&rdquo;,&ldquo;sex&rdquo;:&ldquo;M&rdquo;,&ldquo;premium&rdquo;:true,&ldquo;summit&rdquo;:true,&ldquo;created_at&rdquo;:&ldquo;2014-11-09T16:06:10Z&rdquo;,&ldquo;updated_at&rdquo;:&ldquo;2021-05-23T13:03:13Z&rdquo;,&ldquo;badge_type_id&rdquo;:1,&ldquo;weight&rdquo;:73.4,&ldquo;profile_medium&rdquo;:&ldquo;https://dgalywyr863hv.cloudfront.net/pictures/athletes/7035778/2122161/2/medium.jpg&quot;,&quot;profile&quot;:&quot;https://dgalywyr863hv.cloudfront.net/pictures/athletes/7035778/2122161/2/large.jpg&quot;,&quot;friend&quot;:null,&quot;follower&quot;:null}}%Supabase HTML Clienthttps://emeraldjava.github.io/post/2021-05-01-supabase-html-client/Sat, 01 May 2021 00:00:00 +0000https://emeraldjava.github.io/post/2021-05-01-supabase-html-client/Playing with the basic supabase js client in a vanilla HTML page before I start the angular app development. Updated gatsby versions and installed the embedded gist plugin. +gist:emeraldjava/0541eaa0341605fa276048ac9ce91ab2Supabase Starterhttps://emeraldjava.github.io/post/2021-04-30-supabase-starter/Fri, 30 Apr 2021 00:00:00 +0000https://emeraldjava.github.io/post/2021-04-30-supabase-starter/Started looking supabase.io to get access to a Postgres DB as a service and play with their javascript UI client. +See https://github.com/AlanLyttonJones/Age-Grade-Tables +Carbon See carbon.now.sh +blob:https://carbon.now.sh/72027f28-1ae5-48c5-ba73-cb130ceca298 +Upgrading Gatsby https://www.gatsbyjs.com/docs/reference/release-notes/migrating-from-v2-to-v3/ https://github.com/gatsbyjs/gatsby-starter-default +npm install gatsby-plugin-image gatsby-plugin-sharp gatsby-source-filesystem gatsby-transformer-sharp From https://letscodepare.com/blog/npm-resolving-eacces-permissions-denied run commands +sudo chown -R $(whoami) ~/.npm sudo chown -R $(whoami) /usr/local/lib/node_modules/ https://www.gatsbyjs.com/starters/gatsbyjs/gatsby-starter-blog/Github Readme Statshttps://emeraldjava.github.io/post/2021-04-25-github-readme-stats/Sun, 25 Apr 2021 00:00:00 +0000https://emeraldjava.github.io/post/2021-04-25-github-readme-stats/I was looking for a guide to configuring spring boot with spring batch admin which i found but then spotted a nice GitHub summary on damienbeaufils home page. +Calling this API servive with my account details +https://github-readme-stats.vercel.app/api?username=emeraldjava&amp;show_icons=true&amp;count_private=true returns a neat embedded image. +Thanks Damien +To ensure the image gets space, we add it to a table. +TODO - create a gatsby plugin which takes the url and embeds the image.emeraldjava api setuphttps://emeraldjava.github.io/post/2021-04-18-emeraldjava-api/Sun, 18 Apr 2021 00:00:00 +0000https://emeraldjava.github.io/post/2021-04-18-emeraldjava-api/My setup for a java 11 spring-boot API service deployed on heroku. +Gatsby I&rsquo;d to update this repo first since the deploy action failed with this error +Failed to resolve action download info. Error: Unable to resolve action `JamesIves/github-pages-deploy-action@master`, unable to find version `master` Retrying in 20.243 seconds Error: Unable to resolve action `JamesIves/github-pages-deploy-action@master`, unable to find version `master` See +https://github.com/emeraldjava/emeraldjava.github.io/runs/2374008241?check_suite_focus=true https://github.com/JamesIves/github-pages-deploy-action sdkman First install sdkman for managing java installsUpdating CV to use Kiss My Resumehttps://emeraldjava.github.io/post/2020-08-18-cv-with-kiss-my-resume/Tue, 18 Aug 2020 00:00:00 +0000https://emeraldjava.github.io/post/2020-08-18-cv-with-kiss-my-resume/I&rsquo;ve have hosted my CV for the past two years via github hosted repo using the hackmyresume tool to generate a HTML and PDF version from a json file following the FRESH schema. +With recent version updates the hackmyresume system seems to have stopped creating output!. +A quick search directed me to KissMyResume which does simular tasks. I had to manually convert my existing resume content to the jsonresume.org schema which has wider support themes and I decided to the use the rocketspacer theme.Jekyll To Gatstbyhttps://emeraldjava.github.io/post/2020-06-20-jekyll-to-gatstby/Sat, 20 Jun 2020 00:00:00 +0000https://emeraldjava.github.io/post/2020-06-20-jekyll-to-gatstby/Jekyll To GatstbyGatsby Stravahttps://emeraldjava.github.io/post/2020-05-11-gatsby-strava/Mon, 11 May 2020 00:00:00 +0000https://emeraldjava.github.io/post/2020-05-11-gatsby-strava/Some notes on creating a Strava feed via Gatstby +https://www.gatsbyjs.org/packages/gatsby-source-strava/ https://mark.ie/blog/build-a-netlify-hosted-github-auto-deploying-gatsby-based-website-to-display-your-strava-data https://github.com/markconroy/strava-marky/blob/master/package.jsonGPG and Mavenhttps://emeraldjava.github.io/post/2020-02-01-gpg_maven/Sat, 01 Feb 2020 00:00:00 +0000https://emeraldjava.github.io/post/2020-02-01-gpg_maven/https://help.github.com/en/github/authenticating-to-github/adding-a-new-gpg-key-to-your-github-account +https://oss.sonatype.org/content/repositories/snapshots/io/github/emeraldjava/nifi-deploy-config/1.2.0-SNAPSHOT/ https://repo1.maven.org/maven2/io/github/emeraldjava/nifi-deploy-config/ +https://oss.sonatype.org/content/repositories/snapshots/com/github/hermannpencole/nifi-swagger-client/1.2.0-SNAPSHOT/ https://repo1.maven.org/maven2/com/github/hermannpencole +&lt;groupId&gt;com.github.hermannpencole&lt;/groupId&gt; &lt;artifactId&gt;nifi-swagger-client&lt;/artifactId&gt; https://help.github.com/en/github/managing-packages-with-github-packages/configuring-apache-maven-for-use-with-github-packages +https://github.com/actions/setup-java +https://itnext.io/publishing-artifact-to-maven-central-b160634e5268 +https://github.com/samuelmeuli/action-maven-publish +name: Release +Run workflow on commits to the master branch on: push: branches: - master jobs: release: runs-on: ubuntu-18.04 steps: - name: Check out Git repository uses: actions/checkout@v2 - name: Install Java and Maven uses: actions/setup-java@v1 with: java-version: 11 - name: Release Maven package uses: samuelmeuli/action-maven-publish@v1 with: gpg_private_key: ${{ secrets.gpg_private_key }} gpg_passphrase: ${{ secrets.gpg_passphrase }} nexus_username: ${{ secrets.nexus_username }} nexus_password: ${{ secrets.New Year 2020https://emeraldjava.github.io/post/2020-01-01-new-year-2020/Wed, 01 Jan 2020 00:00:00 +0000https://emeraldjava.github.io/post/2020-01-01-new-year-2020/New Years Resolutions The not making new years resolutions has been broken by me deciding to write more regularly on this site during 2020. +Guitar Chord Markdown I&rsquo;ve been looking to transfer all my guitar songs from paper to digital, in a format which will be easy for web and mobile devices. I&rsquo;d like to have the content in a markdown file, and then render the chords, version, bridge and chorus to a final display page.2nd Posthttps://emeraldjava.github.io/post/2019-12-01-2nd-post/Sun, 01 Dec 2019 00:00:00 +0000https://emeraldjava.github.io/post/2019-12-01-2nd-post/Add github actions to bhaa_woprdpress to run composer and then allow github-updater to run ion master website. +2019-12-22 : Test to see if this push works.First Gatsby Posthttps://emeraldjava.github.io/post/2019-11-13-first-gatsby-post/Wed, 13 Nov 2019 00:00:00 +0000https://emeraldjava.github.io/post/2019-11-13-first-gatsby-post/Migrating the site from jekyll to gatsby with github actions automatically updating the content.Synology SSH Keyhttps://emeraldjava.github.io/post/2017/2017-01-28-synology-ssh-key/Sat, 28 Jan 2017 18:34:18 +0000https://emeraldjava.github.io/post/2017/2017-01-28-synology-ssh-key/Setting up a SSH key for synology +Router - port forward the SSH port +https://www.chainsawonatireswing.com/2012/01/15/ssh-into-your-synology-diskstation-with-ssh-keys//?from=@ +http://superuser.com/questions/736055/ssh-with-no-password-passwordless-on-synology-dsm-5-as-other-non-root-user +https://www.synology.com/en-global/knowledgebase/DSM/tutorial/General/How_to_login_to_DSM_with_root_permission_via_SSH_Telnet +http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-password-using-ssh-keygen-ssh-copy-id +ssh-copy-id -i ~/.ssh/id_dsa.pub &#34;user@host -p 6842&#34; From http://askubuntu.com/questions/224190/how-can-i-make-ssh-copy-id-use-a-port-other-than-22 +docker stuff +http://www.jinkit.com/docker-on-synology/ https://www.campalus.com/enable-remote-tcp-connections-to-docker-host-running-ubuntu-15-04/ +SSL Certs +https://stefandingemanse.nl/how-to-use-lets-encrypt-ssl-certificate-on-synology-dsm/ +https://forums.plex.tv/discussion/200002/add-custom-ssl-certs-now-available-for-everyone-how-to +openssl pkcs12 -export -out archive.pfx -inkey privkey.pem -in cert.pem -certfile chain.pem openssl pkcs12 -export -out emeraldjava.noip.me.pfx -inkey privkey.pem -in cert.pem -certfile chain.pem -name &ldquo;emeraldjava.noip.me&rdquo; +/volume1/homes/admin/.ssh/archive.pfx ds1512 https://emeraldjava.noip.me:32400 +http://wesleysinstructions.weebly.com/ +https://community.letsencrypt.org/t/ssl-not-working-after-updating-letsencrypt-cert/18799/7 +https://emeraldjava.noip.me:32400/ Unable to communicate securely with peer: requested domain name does not match the server’s certificate.Spring Boot - Web Securityhttps://emeraldjava.github.io/post/2017/2017-01-24-spring-http-auth/Wed, 25 Jan 2017 00:00:00 +0000https://emeraldjava.github.io/post/2017/2017-01-24-spring-http-auth/Spring Boot - Web Security +public class HttpComponentsClientHttpRequestFactoryBasicAuth extends HttpComponentsClientHttpRequestFactory { private HttpHost host; public HttpComponentsClientHttpRequestFactoryBasicAuth(HttpHost host) { super(); this.host = host; } protected HttpContext createHttpContext(HttpMethod httpMethod, URI uri) { return createHttpContext(); } private HttpContext createHttpContext() { // Create AuthCache instance AuthCache authCache = new BasicAuthCache(); // Generate BASIC scheme object and add it to the local auth cache BasicScheme basicAuth = new BasicScheme(); authCache.put(host, basicAuth); // Add AuthCache to the execution context BasicHttpContext localcontext = new BasicHttpContext(); localcontext.Spring Boot - Web Securityhttps://emeraldjava.github.io/post/2017/2017-01-25-spring-boot-websecurity/Wed, 25 Jan 2017 00:00:00 +0000https://emeraldjava.github.io/post/2017/2017-01-25-spring-boot-websecurity/Spring Boot - Web Security +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.builders.WebSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; @Configuration @EnableWebSecurity public class WebSecurityConfig extends WebSecurityConfigurerAdapter { //@Autowired public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception { auth.inMemoryAuthentication().withUser(&#34;admin&#34;).password(&#34;admin&#34;).roles(&#34;ADMIN&#34;); auth.inMemoryAuthentication().withUser(&#34;user&#34;).password(&#34;user&#34;).roles(&#34;USER&#34;); } //.csrf() is optional, enabled by default, if using WebSecurityConfigurerAdapter constructor @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests() .antMatchers(&#34;/daymember&#34;, &#34;/export&#34;, &#34;/header&#34;, &#34;/list&#34;, &#34;/member&#34;, &#34;/menu&#34;, &#34;/prereg&#34;).permitAll().anyRequest().authenticated() .and() .formLogin().loginPage(&#34;/login&#34;).permitAll().defaultSuccessUrl(&#34;/member&#34;) .and() .logout().permitAll(); } /** * http://stackoverflow.Updating Gatsbyhttps://emeraldjava.github.io/post/2021-07-02-update-gatsby/Sun, 01 Jan 2017 00:00:00 +0000https://emeraldjava.github.io/post/2021-07-02-update-gatsby/An article about Title +https://mademistakes.com/notes/gatsby-build-optimizations-2021/Updating Gatsbyhttps://emeraldjava.github.io/post/2021-07-07-strava-tokens-and-ejs/Sun, 01 Jan 2017 00:00:00 +0000https://emeraldjava.github.io/post/2021-07-07-strava-tokens-and-ejs/Strava Auth https://developers.strava.com/docs/authentication/#refreshingexpiredaccesstokens +https://code.dblock.org/2018/11/17/dealing-with-strava-api-token-migration.html +Strava v3 API https://www.npmjs.com/package/strava-v3 https://github.com/Interactivefitness/strava-v3-client https://www.npmjs.com/package/@tokks/strava https://github.com/plondon/philly-marathon/blob/8718dd6eee5daf97c45773043a32380ec8c70556/app.js Express and Passport http://www.passportjs.org/packages/passport-strava/ Express and EJS https://medium.com/swlh/master-ejs-template-engine-with-node-js-and-expressjs-979cc22b69be Express &amp; Tyepscript https://leejjon.medium.com/create-a-react-app-served-by-express-js-node-js-and-add-typescript-33705be3ceda Express &amp; Angular https://dev.to/dirk94/how-i-structure-my-express-typescript-react-applications-g3e https://github.com/gkunal7691/AngularNodeApp/blob/master/app.jsNode JS Meetup May 2014https://emeraldjava.github.io/post/2014/2014-05-29-node-js-meetup-may-2014/Thu, 29 May 2014 00:00:00 +0000https://emeraldjava.github.io/post/2014/2014-05-29-node-js-meetup-may-2014/Notes from the www.nodejsdublin.com meeting in [https://www.engineyard.com/](Engine Yard), Barrow St, Dublin. +The topic this evening is &ldquo;Building a Reverse Proxy With Node and Performing Scalability Testing On It&rdquo; and is being presented by the guys from Citi bank. Seems they are hiring as well atm. +Back @engineyard for this months @nodejsdublin talk. Will add some notes here http://t.co/gkqa256XLp +&mdash; @emeraldjava@mastodon.ie (@emeraldjava) May 29, 2014 My poor attempt to win the spot prize of the evening by posting a photo to #nodejsdublinStockholm Medalhttps://emeraldjava.github.io/post/2010/2010-05-02-stockholm-medal/Sun, 02 May 2010 00:00:00 +0000https://emeraldjava.github.io/post/2010/2010-05-02-stockholm-medal/ Stockholm Marathon Medal 2010June 2nd 2006 - Melbourne to Sorrentohttps://emeraldjava.github.io/post/2006/2006-06-02-melbourne-to-sorrento/Fri, 02 Jun 2006 00:00:00 +0000https://emeraldjava.github.io/post/2006/2006-06-02-melbourne-to-sorrento/Chapel Street Backpacker The first 20km was on a dedicated bike lane, with the only hazards being the morning pram walkers. Joined the Nepean highway near chelsea and followed it down via Frankston, Mornington and St Marta. The bike lane on the main road was really wide and most vehicals gave me plently of room. +2006-06-02-beach Hauling the fully loaded bags on the bike finally kicked in about 40km. I was expecting the first couple of days to be tough, but not this bad this early.Thursday 1st June 2006https://emeraldjava.github.io/post/2006/2006-06-01-thursday-1st-june/Thu, 01 Jun 2006 00:00:00 +0000https://emeraldjava.github.io/post/2006/2006-06-01-thursday-1st-june/Just chilled around melbourne again today, sorted an aussie mobile number [0448 997 380 ] and some replacement tubes for the bike. Toured around CBD, victoria market, richmond, fitzroy and the MCG today. +2006-06-01 The plan tomorrow is to cycle down the Mornington Peninsula, use the ferry to cross the bay and spend the night in Torquay.Wednesday 31th May 2006https://emeraldjava.github.io/post/2006/2006-05-31-wednesday-31th-may/Wed, 31 May 2006 00:00:00 +0000https://emeraldjava.github.io/post/2006/2006-05-31-wednesday-31th-may/Moved to a hostel in St Kilda today for 2 nights, the CBD is dead at night. Spent the rest of the day touring around melbourne, its so easy having your own transport to just skip past places. Did a lap of the albert park grand prix circuit, not sure if i was on the same pace as the F1 dudes. Picture of the Melbourne skyline taken from albert park in the last afternoon.Tuesday 30th May 2006https://emeraldjava.github.io/post/2006/2006-05-30-tuesday-30th-may/Tue, 30 May 2006 00:00:00 +0000https://emeraldjava.github.io/post/2006/2006-05-30-tuesday-30th-may/In Hong Kong International airport for a 2 hour stopover before the final leg of the flight to melbourne, which should get me there for 19.30 this evening. +2006-05-30 Interesting landing into melbourne, I&rsquo;m looking out the window to see the city lights expecting to have a nice view for a few minutes before we touch down, but first lights i see are the airport lights. There a bit close i&rsquo;m thinking, when next thing the plane slaps the runway like a tonne of bricks, or metal hitting the ground.Monday 29th May 2006https://emeraldjava.github.io/post/2006/2006-05-29-monday-29th-may/Mon, 29 May 2006 00:00:00 +0000https://emeraldjava.github.io/post/2006/2006-05-29-monday-29th-may/Monday 29th May 2006 Flew from London Heathrow T4 (12.20pm) to Hong Kong with Quantas today.La Marmotte 2005https://emeraldjava.github.io/post/2005/2005-08-07-la-marmotte-2005/Sun, 07 Aug 2005 00:00:00 +0000https://emeraldjava.github.io/post/2005/2005-08-07-la-marmotte-2005/Took me 10h 37min 50seconds, came in 3623rd place. \ No newline at end of file diff --git a/post/page/1/index.html b/post/page/1/index.html new file mode 100644 index 00000000..cb38f235 --- /dev/null +++ b/post/page/1/index.html @@ -0,0 +1 @@ +https://emeraldjava.github.io/post/ \ No newline at end of file diff --git a/post/page/2/index.html b/post/page/2/index.html new file mode 100644 index 00000000..2e594133 --- /dev/null +++ b/post/page/2/index.html @@ -0,0 +1,95 @@ + +Posts - Posts from emeraldjava +
    Avatar

    Organizations

    @twitter +@linkedin
    • Use ‘openapi-typescript’ to generate interface types from the supabase swagger spec. +https://supabase.io/blog/2021/03/31/supabase-cli +npx @manifoldco/swagger-to-ts https://your-project.supabase.co/rest/v1/?apikey=your-anon-key –output types/supabase.ts +npx openapi-typescript https://dknnvxorlinqzsoxyvhz.supabase.co/rest/v1/?apikey=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlIjoiYW5vbiIsImlhdCI6MTYxOTc4NTU0NiwiZXhwIjoxOTM1MzYxNTQ2fQ.Xz1M8djivXrSH4UG98eu1btGmBzMSa04-9fcDX1rZ3A --output types/supabase.ts npx openapi-typescript <SUPABASE_URL>/rest/v1/?apikey=<SUPABASE_ANON_KEY> –output types/supabase.ts
      supabase +Created +Sat, 01 May 2021 00:00:00 +0000
    • Enabling strava plugin again +https://swas.io/blog/using-multiple-queries-on-gatsbyjs-createpages-node-api/ +running two gatsby create page functions in gatby-node.js +https://stackoverflow.com/questions/57748844/how-do-i-use-multiple-createpage-routes-in-gatsby-node-js https://stackoverflow.com/questions/64536170/how-to-create-multiple-page-types-dynamically-in-gatsby-node-js https://swas.io/blog/using-multiple-queries-on-gatsbyjs-createpages-node-api/ https://gist.github.com/tanaypratap/c676022402d4fadbe1dad4c1b1a78c21 My .env file looks like +STRAVA_CLIENT_ID=xxxx STRAVA_CLIENT_SECRET=78..78 STRAVA_TOKEN={"access_token":"8a..b2","refresh_token":"ij..gy","expires_at":1581439030,"expires_in":21600} token https://yizeng.me/2017/01/11/get-a-strava-api-access-token-with-write-permission/ +generate token +STRAVA_CLIENT_ID=4945 STRAVA_CLIENT_SECRET=cd72dfedc320fd098fc2d5cf9af51c245fd9b042 STRAVA_TOKEN={“access_token”:“503671acabaf6e27d8aa5ed49dbb22cd3f31748b”,“refresh_token”:“2706dca4b78c29353ed03267c0df2f41759a0c68”,“expires_at”:1581439030,“expires_in”:21600} +1 - +http://www.strava.com/oauth/authorize?client_id=4945&response_type=code&redirect_uri=http://localhost/exchange_token&approval_prompt=force&scope=read_all,profile:read_all,activity:read_all +returns +http://localhost/exchange_token?state=&code=3135adf3d092a54b2c9952978757adc4dee11c07&scope=read,activity:read_all,profile:read_all,read_all +code=3135adf3d092a54b2c9952978757adc4dee11c07 +2 Run CURL to +curl -X POST https://www.strava.com/oauth/token -F client_id=4945 -F client_secret=cd72dfedc320fd098fc2d5cf9af51c245fd9b042 -F code=3135adf3d092a54b2c9952978757adc4dee11c07 -F grant_type=authorization_code +{“token_type”:“Bearer”, “expires_at”:1621798403,“expires_in”:21600, “refresh_token”:“f84937f098dc675364aed4b65acb9e66bf30924c”, “access_token”:“b898fbd9ea915f5a3b34cc8876dc0c9f3bca049b”, +“athlete”:{“id”:7035778,“username”:“emeraldjava”,“resource_state”:2,“firstname”:“emerald”,“lastname”:“java”,“bio”:"",“city”:“Dublin”,“state”:“Dublin”,“country”:“Ireland”,“sex”:“M”,“premium”:true,“summit”:true,“created_at”:“2014-11-09T16:06:10Z”,“updated_at”:“2021-05-23T13:03:13Z”,“badge_type_id”:1,“weight”:73.4,“profile_medium”:“https://dgalywyr863hv.cloudfront.net/pictures/athletes/7035778/2122161/2/medium.jpg","profile":"https://dgalywyr863hv.cloudfront.net/pictures/athletes/7035778/2122161/2/large.jpg","friend":null,"follower":null}}%
      supabase +Created +Sat, 01 May 2021 00:00:00 +0000
    • Playing with the basic supabase js client in a vanilla HTML page before I start the angular app development. Updated gatsby versions and installed the embedded gist plugin. +gist:emeraldjava/0541eaa0341605fa276048ac9ce91ab2
      supabase +Created +Sat, 01 May 2021 00:00:00 +0000
    • Started looking supabase.io to get access to a Postgres DB as a service and play with their javascript UI client. +See https://github.com/AlanLyttonJones/Age-Grade-Tables +Carbon See carbon.now.sh +blob:https://carbon.now.sh/72027f28-1ae5-48c5-ba73-cb130ceca298 +Upgrading Gatsby https://www.gatsbyjs.com/docs/reference/release-notes/migrating-from-v2-to-v3/ https://github.com/gatsbyjs/gatsby-starter-default +npm install gatsby-plugin-image gatsby-plugin-sharp gatsby-source-filesystem gatsby-transformer-sharp From https://letscodepare.com/blog/npm-resolving-eacces-permissions-denied run commands +sudo chown -R $(whoami) ~/.npm sudo chown -R $(whoami) /usr/local/lib/node_modules/ https://www.gatsbyjs.com/starters/gatsbyjs/gatsby-starter-blog/
      supabase dev +Created +Fri, 30 Apr 2021 00:00:00 +0000
    • I was looking for a guide to configuring spring boot with spring batch admin which i found but then spotted a nice GitHub summary on damienbeaufils home page. +Calling this API servive with my account details +https://github-readme-stats.vercel.app/api?username=emeraldjava&show_icons=true&count_private=true returns a neat embedded image. +Thanks Damien +To ensure the image gets space, we add it to a table. +TODO - create a gatsby plugin which takes the url and embeds the image.
      github +Created +Sun, 25 Apr 2021 00:00:00 +0000
    • My setup for a java 11 spring-boot API service deployed on heroku. +Gatsby I’d to update this repo first since the deploy action failed with this error +Failed to resolve action download info. Error: Unable to resolve action `JamesIves/github-pages-deploy-action@master`, unable to find version `master` Retrying in 20.243 seconds Error: Unable to resolve action `JamesIves/github-pages-deploy-action@master`, unable to find version `master` See +https://github.com/emeraldjava/emeraldjava.github.io/runs/2374008241?check_suite_focus=true https://github.com/JamesIves/github-pages-deploy-action sdkman First install sdkman for managing java installs
      spring +heroku +Created +Sun, 18 Apr 2021 00:00:00 +0000
    • I’ve have hosted my CV for the past two years via github hosted repo using the hackmyresume tool to generate a HTML and PDF version from a json file following the FRESH schema. +With recent version updates the hackmyresume system seems to have stopped creating output!. +A quick search directed me to KissMyResume which does simular tasks. I had to manually convert my existing resume content to the jsonresume.org schema which has wider support themes and I decided to the use the rocketspacer theme.
      Created +Tue, 18 Aug 2020 00:00:00 +0000
    • Jekyll To Gatstby
      jekyll +gatsby +Created +Sat, 20 Jun 2020 00:00:00 +0000
    • Some notes on creating a Strava feed via Gatstby +https://www.gatsbyjs.org/packages/gatsby-source-strava/ https://mark.ie/blog/build-a-netlify-hosted-github-auto-deploying-gatsby-based-website-to-display-your-strava-data https://github.com/markconroy/strava-marky/blob/master/package.json
      gatsby +strava +Created +Mon, 11 May 2020 00:00:00 +0000
    • https://help.github.com/en/github/authenticating-to-github/adding-a-new-gpg-key-to-your-github-account +https://oss.sonatype.org/content/repositories/snapshots/io/github/emeraldjava/nifi-deploy-config/1.2.0-SNAPSHOT/ https://repo1.maven.org/maven2/io/github/emeraldjava/nifi-deploy-config/ +https://oss.sonatype.org/content/repositories/snapshots/com/github/hermannpencole/nifi-swagger-client/1.2.0-SNAPSHOT/ https://repo1.maven.org/maven2/com/github/hermannpencole +<groupId>com.github.hermannpencole</groupId> <artifactId>nifi-swagger-client</artifactId> https://help.github.com/en/github/managing-packages-with-github-packages/configuring-apache-maven-for-use-with-github-packages +https://github.com/actions/setup-java +https://itnext.io/publishing-artifact-to-maven-central-b160634e5268 +https://github.com/samuelmeuli/action-maven-publish +name: Release +Run workflow on commits to the master branch on: push: branches: - master jobs: release: runs-on: ubuntu-18.04 steps: - name: Check out Git repository uses: actions/checkout@v2 - name: Install Java and Maven uses: actions/setup-java@v1 with: java-version: 11 - name: Release Maven package uses: samuelmeuli/action-maven-publish@v1 with: gpg_private_key: ${{ secrets.gpg_private_key }} gpg_passphrase: ${{ secrets.gpg_passphrase }} nexus_username: ${{ secrets.nexus_username }} nexus_password: ${{ secrets.
      Created +Sat, 01 Feb 2020 00:00:00 +0000
    \ No newline at end of file diff --git a/post/page/3/index.html b/post/page/3/index.html new file mode 100644 index 00000000..0dd1aa10 --- /dev/null +++ b/post/page/3/index.html @@ -0,0 +1,79 @@ + +Posts - Posts from emeraldjava +
    Avatar

    Organizations

    @twitter +@linkedin
    • New Years Resolutions The not making new years resolutions has been broken by me deciding to write more regularly on this site during 2020. +Guitar Chord Markdown I’ve been looking to transfer all my guitar songs from paper to digital, in a format which will be easy for web and mobile devices. I’d like to have the content in a markdown file, and then render the chords, version, bridge and chorus to a final display page.
      Created +Wed, 01 Jan 2020 00:00:00 +0000
    • Add github actions to bhaa_woprdpress to run composer and then allow github-updater to run ion master website. +2019-12-22 : Test to see if this push works.
      git +javascript +cycle +Created +Sun, 01 Dec 2019 00:00:00 +0000
    • Migrating the site from jekyll to gatsby with github actions automatically updating the content.
      git +javascript +run +Created +Wed, 13 Nov 2019 00:00:00 +0000
    • Setting up a SSH key for synology +Router - port forward the SSH port +https://www.chainsawonatireswing.com/2012/01/15/ssh-into-your-synology-diskstation-with-ssh-keys//?from=@ +http://superuser.com/questions/736055/ssh-with-no-password-passwordless-on-synology-dsm-5-as-other-non-root-user +https://www.synology.com/en-global/knowledgebase/DSM/tutorial/General/How_to_login_to_DSM_with_root_permission_via_SSH_Telnet +http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-password-using-ssh-keygen-ssh-copy-id +ssh-copy-id -i ~/.ssh/id_dsa.pub "user@host -p 6842" From http://askubuntu.com/questions/224190/how-can-i-make-ssh-copy-id-use-a-port-other-than-22 +docker stuff +http://www.jinkit.com/docker-on-synology/ https://www.campalus.com/enable-remote-tcp-connections-to-docker-host-running-ubuntu-15-04/ +SSL Certs +https://stefandingemanse.nl/how-to-use-lets-encrypt-ssl-certificate-on-synology-dsm/ +https://forums.plex.tv/discussion/200002/add-custom-ssl-certs-now-available-for-everyone-how-to +openssl pkcs12 -export -out archive.pfx -inkey privkey.pem -in cert.pem -certfile chain.pem openssl pkcs12 -export -out emeraldjava.noip.me.pfx -inkey privkey.pem -in cert.pem -certfile chain.pem -name “emeraldjava.noip.me” +/volume1/homes/admin/.ssh/archive.pfx ds1512 https://emeraldjava.noip.me:32400 +http://wesleysinstructions.weebly.com/ +https://community.letsencrypt.org/t/ssl-not-working-after-updating-letsencrypt-cert/18799/7 +https://emeraldjava.noip.me:32400/ Unable to communicate securely with peer: requested domain name does not match the server’s certificate.
      synology +Created +Sat, 28 Jan 2017 18:34:18 +0000
    • Spring Boot - Web Security +public class HttpComponentsClientHttpRequestFactoryBasicAuth extends HttpComponentsClientHttpRequestFactory { private HttpHost host; public HttpComponentsClientHttpRequestFactoryBasicAuth(HttpHost host) { super(); this.host = host; } protected HttpContext createHttpContext(HttpMethod httpMethod, URI uri) { return createHttpContext(); } private HttpContext createHttpContext() { // Create AuthCache instance AuthCache authCache = new BasicAuthCache(); // Generate BASIC scheme object and add it to the local auth cache BasicScheme basicAuth = new BasicScheme(); authCache.put(host, basicAuth); // Add AuthCache to the execution context BasicHttpContext localcontext = new BasicHttpContext(); localcontext.
      spring +java +Created +Mon, 01 Jan 0001 00:00:00 +0000
    • Spring Boot - Web Security +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.builders.WebSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; @Configuration @EnableWebSecurity public class WebSecurityConfig extends WebSecurityConfigurerAdapter { //@Autowired public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception { auth.inMemoryAuthentication().withUser("admin").password("admin").roles("ADMIN"); auth.inMemoryAuthentication().withUser("user").password("user").roles("USER"); } //.csrf() is optional, enabled by default, if using WebSecurityConfigurerAdapter constructor @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests() .antMatchers("/daymember", "/export", "/header", "/list", "/member", "/menu", "/prereg").permitAll().anyRequest().authenticated() .and() .formLogin().loginPage("/login").permitAll().defaultSuccessUrl("/member") .and() .logout().permitAll(); } /** * http://stackoverflow.
      spring +java +Created +Mon, 01 Jan 0001 00:00:00 +0000
    • An article about Title +https://mademistakes.com/notes/gatsby-build-optimizations-2021/
      Created +Sun, 01 Jan 2017 00:00:00 +0000
    • Strava Auth https://developers.strava.com/docs/authentication/#refreshingexpiredaccesstokens +https://code.dblock.org/2018/11/17/dealing-with-strava-api-token-migration.html +Strava v3 API https://www.npmjs.com/package/strava-v3 https://github.com/Interactivefitness/strava-v3-client https://www.npmjs.com/package/@tokks/strava https://github.com/plondon/philly-marathon/blob/8718dd6eee5daf97c45773043a32380ec8c70556/app.js Express and Passport http://www.passportjs.org/packages/passport-strava/ Express and EJS https://medium.com/swlh/master-ejs-template-engine-with-node-js-and-expressjs-979cc22b69be Express & Tyepscript https://leejjon.medium.com/create-a-react-app-served-by-express-js-node-js-and-add-typescript-33705be3ceda Express & Angular https://dev.to/dirk94/how-i-structure-my-express-typescript-react-applications-g3e https://github.com/gkunal7691/AngularNodeApp/blob/master/app.js
      Created +Sun, 01 Jan 2017 00:00:00 +0000
    • Notes from the www.nodejsdublin.com meeting in [https://www.engineyard.com/](Engine Yard), Barrow St, Dublin. +The topic this evening is “Building a Reverse Proxy With Node and Performing Scalability Testing On It” and is being presented by the guys from Citi bank. Seems they are hiring as well atm. +Back @engineyard for this months @nodejsdublin talk. Will add some notes here http://t.co/gkqa256XLp +— @emeraldjava@mastodon.ie (@emeraldjava) May 29, 2014 My poor attempt to win the spot prize of the evening by posting a photo to #nodejsdublin
      nodejs +Created +Thu, 29 May 2014 00:00:00 +0000
    • Stockholm Marathon Medal 2010
      marathon +Created +Sun, 02 May 2010 00:00:00 +0000
    \ No newline at end of file diff --git a/post/page/4/index.html b/post/page/4/index.html new file mode 100644 index 00000000..6c09cb97 --- /dev/null +++ b/post/page/4/index.html @@ -0,0 +1,50 @@ + +Posts - Posts from emeraldjava +
    Avatar

    Organizations

    @twitter +@linkedin
    • Chapel Street Backpacker The first 20km was on a dedicated bike lane, with the only hazards being the morning pram walkers. Joined the Nepean highway near chelsea and followed it down via Frankston, Mornington and St Marta. The bike lane on the main road was really wide and most vehicals gave me plently of room. +2006-06-02-beach Hauling the fully loaded bags on the bike finally kicked in about 40km. I was expecting the first couple of days to be tough, but not this bad this early.
      cycle +oz2006 +Created +Fri, 02 Jun 2006 00:00:00 +0000
    • Just chilled around melbourne again today, sorted an aussie mobile number [0448 997 380 ] and some replacement tubes for the bike. Toured around CBD, victoria market, richmond, fitzroy and the MCG today. +2006-06-01 The plan tomorrow is to cycle down the Mornington Peninsula, use the ferry to cross the bay and spend the night in Torquay.
      cycle +oz2006 +Created +Thu, 01 Jun 2006 00:00:00 +0000
    • Moved to a hostel in St Kilda today for 2 nights, the CBD is dead at night. Spent the rest of the day touring around melbourne, its so easy having your own transport to just skip past places. Did a lap of the albert park grand prix circuit, not sure if i was on the same pace as the F1 dudes. Picture of the Melbourne skyline taken from albert park in the last afternoon.
      cycle +oz2006 +Created +Wed, 31 May 2006 00:00:00 +0000
    • In Hong Kong International airport for a 2 hour stopover before the final leg of the flight to melbourne, which should get me there for 19.30 this evening. +2006-05-30 Interesting landing into melbourne, I’m looking out the window to see the city lights expecting to have a nice view for a few minutes before we touch down, but first lights i see are the airport lights. There a bit close i’m thinking, when next thing the plane slaps the runway like a tonne of bricks, or metal hitting the ground.
      cycle +oz2006 +Created +Tue, 30 May 2006 00:00:00 +0000
    • Monday 29th May 2006 Flew from London Heathrow T4 (12.20pm) to Hong Kong with Quantas today.
      cycle +oz2006 +Created +Mon, 29 May 2006 00:00:00 +0000
    • Took me 10h 37min 50seconds, came in 3623rd place.
      cycle +Created +Sun, 07 Aug 2005 00:00:00 +0000
    Previous +
    \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml new file mode 100644 index 00000000..fd50ebb3 --- /dev/null +++ b/sitemap.xml @@ -0,0 +1 @@ +https://emeraldjava.github.io/post/2023/2023-12-29-github-worth/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/post/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/post/2023/2023-07-22-register-serenity-listener/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/post/2023/2023-04-08-kubernetes-starter/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/post/2023/2023-04-07-goodbye-gatsby-hello-hugo/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/tags/docker/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/post/2023/2023-02-22-docker-meetup-dublin/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/tags/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/tags/synology/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/post/2022/2022-11-20-synology-home-assistent/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/post/2022/2022-11-05-hello-mastodon-ie/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/tags/social/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/post/2022/2022-09-14-docker-meetup-dublin/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/post/2022/2022-09-02-ship-it-con-2022/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/post/2022/2022-02-22-updates/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/post/2021-05-11-subabase-openapi-typescript/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/post/2021-05-23-enable-strava-plugin/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/tags/supabase/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/post/2021-05-01-supabase-html-client/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/tags/supabase-dev/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/post/2021-04-30-supabase-starter/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/tags/github/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/post/2021-04-25-github-readme-stats/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/post/2021-04-18-emeraldjava-api/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/tags/heroku/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/tags/spring/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/post/2020-08-18-cv-with-kiss-my-resume/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/tags/gatsby/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/tags/jekyll/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/post/2020-06-20-jekyll-to-gatstby/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/post/2020-05-11-gatsby-strava/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/tags/strava/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/post/2020-02-01-gpg_maven/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/post/2020-01-01-new-year-2020/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/post/2019-12-01-2nd-post/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/tags/cycle/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/tags/git/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/tags/javascript/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/post/2019-11-13-first-gatsby-post/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/tags/run/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/post/2017/2017-01-28-synology-ssh-key/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/tags/java/2017-01-25T00:00:00+00:00https://emeraldjava.github.io/post/2017/2017-01-24-spring-http-auth/2017-01-25T00:00:00+00:00https://emeraldjava.github.io/post/2017/2017-01-25-spring-boot-websecurity/2017-01-25T00:00:00+00:00https://emeraldjava.github.io/post/2021-07-02-update-gatsby/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/post/2021-07-07-strava-tokens-and-ejs/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/post/2014/2014-05-29-node-js-meetup-may-2014/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/tags/nodejs/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/tags/marathon/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/post/2010/2010-05-02-stockholm-medal/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/post/2006/2006-06-02-melbourne-to-sorrento/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/tags/oz2006/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/post/2006/2006-06-01-thursday-1st-june/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/post/2006/2006-05-31-wednesday-31th-may/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/post/2006/2006-05-30-tuesday-30th-may/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/post/2006/2006-05-29-monday-29th-may/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/post/2005/2005-08-07-la-marmotte-2005/2024-04-28T08:47:19+00:00https://emeraldjava.github.io/categories/ \ No newline at end of file diff --git a/src/components/header/MobileBio.js b/src/components/header/MobileBio.js deleted file mode 100644 index 8baa1d4c..00000000 --- a/src/components/header/MobileBio.js +++ /dev/null @@ -1,16 +0,0 @@ -import React from "react" - -import "./header.css" -import bioPic from "../../images/emeraldjava.jpeg" - -const MobileBio = (props) => { - - return ( -
    - author-pic -

    {props.author}

    -
    - ) -} - -export default MobileBio \ No newline at end of file diff --git a/src/components/header/MobilePageLinks.js b/src/components/header/MobilePageLinks.js deleted file mode 100644 index 4a58d802..00000000 --- a/src/components/header/MobilePageLinks.js +++ /dev/null @@ -1,18 +0,0 @@ -import React from "react" -import { Link } from "gatsby" - -const MobilePages = () => { - return ( -
    -
    -

    Blog Home

    -

    About

    -

    Archive

    -
    -
    - ) -} - -export default MobilePages - - diff --git a/src/components/header/MobileSocialLinks.js b/src/components/header/MobileSocialLinks.js deleted file mode 100644 index 563d6c38..00000000 --- a/src/components/header/MobileSocialLinks.js +++ /dev/null @@ -1,49 +0,0 @@ -import React from "react"; -import { - FaLinkedin, - FaGithubSquare, - FaStackOverflow, - FaFreeCodeCamp, - FaTwitterSquare -} from "react-icons/fa" - -import "../layout.css" - -const MobileSocialLinks = ({ contacts }) => { - return ( - - ) -} - -export default MobileSocialLinks; \ No newline at end of file diff --git a/src/components/header/SocialLinks.js b/src/components/header/SocialLinks.js deleted file mode 100644 index 5ed37070..00000000 --- a/src/components/header/SocialLinks.js +++ /dev/null @@ -1,48 +0,0 @@ -import React from "react" -import { - FaLinkedin, - FaGithubSquare, - FaStackOverflow, - FaFreeCodeCamp, - FaTwitterSquare -} from "react-icons/fa" - - -const SocialLinks = ({ contacts }) => { - return ( - - ) -} - -export default SocialLinks \ No newline at end of file diff --git a/src/components/header/header.css b/src/components/header/header.css deleted file mode 100644 index 296a9ed2..00000000 --- a/src/components/header/header.css +++ /dev/null @@ -1,60 +0,0 @@ -.head-main { - width: 100%; - position: sticky; - z-index: 1; - top: 0; - display: flex; - flex-direction: column; -} - -.head-elements { - display: flex; - flex-direction: row; - justify-content: space-between; -} - -.social-links { - display: flex; - flex-direction: row; - justify-content: space-around; -} - - -.bottom-bar { - width: 100%; - background: black; - display: none; - flex-direction: row; - justify-content: space-around; -} -.mobile-pages-main { - width: 100%; - background: white; - display: none; -} -.head-logo { - font-family: "Raleway"; - font-size: 1.75rem; -} - -small { - font-family: "Raleway"; -} - -.mobile-bio-main { - background: white; - display: none; -} - - - -@media only screen and (max-width: 850px) { - .bottom-bar{display: flex;} - .social-links{display: none;} - .mobile-pages-main{display: block;} - .mobile-bio-main{ - display: flex; - flex-direction: row; - justify-content: space-between; - } -} \ No newline at end of file diff --git a/src/components/header/header.js b/src/components/header/header.js deleted file mode 100644 index 82c986c1..00000000 --- a/src/components/header/header.js +++ /dev/null @@ -1,55 +0,0 @@ -import React from "react" -import { Link } from "gatsby" -import PropTypes from "prop-types" - - -import MobileSocialLinks from "./MobileSocialLinks" -import MobilePageLinks from "./MobilePageLinks" -import SocialLinks from "./SocialLinks" -import MobileBio from "./MobileBio" -import "./header.css" - -const Header = ({ siteTitle, tagline, author, contacts }) => { - - return ( -
    -
    -

    - - {siteTitle} - -

    - -
    - - - -
    - ) -} - -Header.propTypes = { - siteTitle: PropTypes.string, -} - -Header.defaultProps = { - siteTitle: ``, -} - -export default Header diff --git a/src/components/image.js b/src/components/image.js deleted file mode 100644 index b577a238..00000000 --- a/src/components/image.js +++ /dev/null @@ -1,27 +0,0 @@ -import React from "react" -import { StaticQuery, graphql } from "gatsby" -import { StaticImage } from "gatsby-plugin-image" -//import Img from "gatsby-image" - -/* - * This component is built using `gatsby-image` to automatically serve optimized - * images with lazy loading and reduced file sizes. The image is loaded using a - * `StaticQuery`, which allows us to load the image from directly within this - * component, rather than having to pass the image data down from pages. - * - * For more information, see the docs: - * - `gatsby-image`: https://gatsby.dev/gatsby-image - * - `StaticQuery`: https://gatsby.dev/staticquery - */ - -// const Image = () => ( -// } -// /> -// ) -// export default Image diff --git a/src/components/layout.css b/src/components/layout.css deleted file mode 100644 index b6f63320..00000000 --- a/src/components/layout.css +++ /dev/null @@ -1,622 +0,0 @@ -html { - font-family: sans-serif; - -ms-text-size-adjust: 100%; - -webkit-text-size-adjust: 100%; -} -body { - margin: 0; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} -article, -aside, -details, -figcaption, -figure, -footer, -header, -main, -menu, -nav, -section, -summary { - display: block; -} -audio, -canvas, -progress, -video { - display: inline-block; -} -audio:not([controls]) { - display: none; - height: 0; -} -progress { - vertical-align: baseline; -} -[hidden], -template { - display: none; -} -a { - background-color: transparent; - -webkit-text-decoration-skip: objects; -} -a:active, -a:hover { - outline-width: 0; -} -abbr[title] { - border-bottom: none; - text-decoration: underline; - text-decoration: underline dotted; -} -b, -strong { - font-weight: inherit; - font-weight: bolder; -} -dfn { - font-style: italic; -} -h1 { - font-size: 2em; - margin: 0.67em 0; -} -mark { - background-color: #ff0; - color: #000; -} -small { - font-size: 80%; -} -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} -sub { - bottom: -0.25em; -} -sup { - top: -0.5em; -} -img { - border-style: none; -} -svg:not(:root) { - overflow: hidden; -} -code, -kbd, -pre, -samp { - font-family: monospace, monospace; - font-size: 1em; -} -figure { - margin: 1em 40px; -} -hr { - box-sizing: content-box; - height: 0; - overflow: visible; -} -button, -input, -optgroup, -select, -textarea { - font: inherit; - margin: 0; -} -optgroup { - font-weight: 700; -} -button, -input { - overflow: visible; -} -button, -select { - text-transform: none; -} -[type="reset"], -[type="submit"], -button, -html [type="button"] { - -webkit-appearance: button; -} -[type="button"]::-moz-focus-inner, -[type="reset"]::-moz-focus-inner, -[type="submit"]::-moz-focus-inner, -button::-moz-focus-inner { - border-style: none; - padding: 0; -} -[type="button"]:-moz-focusring, -[type="reset"]:-moz-focusring, -[type="submit"]:-moz-focusring, -button:-moz-focusring { - outline: 1px dotted ButtonText; -} -fieldset { - border: 1px solid silver; - margin: 0 2px; - padding: 0.35em 0.625em 0.75em; -} -legend { - box-sizing: border-box; - color: inherit; - display: table; - max-width: 100%; - padding: 0; - white-space: normal; -} -textarea { - overflow: auto; -} -[type="checkbox"], -[type="radio"] { - box-sizing: border-box; - padding: 0; -} -[type="number"]::-webkit-inner-spin-button, -[type="number"]::-webkit-outer-spin-button { - height: auto; -} -[type="search"] { - -webkit-appearance: textfield; - outline-offset: -2px; -} -[type="search"]::-webkit-search-cancel-button, -[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} -::-webkit-input-placeholder { - color: inherit; - opacity: 0.54; -} -::-webkit-file-upload-button { - -webkit-appearance: button; - font: inherit; -} -html { - font: 112.5%/1.45em georgia, serif; - box-sizing: border-box; - overflow-y: scroll; -} -* { - box-sizing: inherit; -} -*:before { - box-sizing: inherit; -} -*:after { - box-sizing: inherit; -} -body { - color: hsla(0, 0%, 0%, 0.8); - font-family: georgia, serif; - font-weight: normal; - word-wrap: break-word; - font-kerning: normal; - -moz-font-feature-settings: "kern", "liga", "clig", "calt"; - -ms-font-feature-settings: "kern", "liga", "clig", "calt"; - -webkit-font-feature-settings: "kern", "liga", "clig", "calt"; - font-feature-settings: "kern", "liga", "clig", "calt"; -} -img { - max-width: 100%; - margin-left: 0; - margin-right: 0; - margin-top: 0; - padding-bottom: 0; - padding-left: 0; - padding-right: 0; - padding-top: 0; - margin-bottom: 1.45rem; -} -h1 { - margin-left: 0; - margin-right: 0; - margin-top: 0; - padding-bottom: 0; - padding-left: 0; - padding-right: 0; - padding-top: 0; - margin-bottom: 1.45rem; - color: inherit; - font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, - Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; - font-weight: bold; - text-rendering: optimizeLegibility; - font-size: 2.25rem; - line-height: 1.1; -} -h2 { - margin-left: 0; - margin-right: 0; - margin-top: 0; - padding-bottom: 0; - padding-left: 0; - padding-right: 0; - padding-top: 0; - margin-bottom: 1.45rem; - color: inherit; - font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, - Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; - font-weight: bold; - text-rendering: optimizeLegibility; - font-size: 1.62671rem; - line-height: 1.1; -} -h3 { - margin-left: 0; - margin-right: 0; - margin-top: 0; - padding-bottom: 0; - padding-left: 0; - padding-right: 0; - padding-top: 0; - margin-bottom: 1.45rem; - color: inherit; - font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, - Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; - font-weight: bold; - text-rendering: optimizeLegibility; - font-size: 1.38316rem; - line-height: 1.1; -} -h4 { - margin-left: 0; - margin-right: 0; - margin-top: 0; - padding-bottom: 0; - padding-left: 0; - padding-right: 0; - padding-top: 0; - margin-bottom: 1.45rem; - color: inherit; - font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, - Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; - font-weight: bold; - text-rendering: optimizeLegibility; - font-size: 1rem; - line-height: 1.1; -} -h5 { - margin-left: 0; - margin-right: 0; - margin-top: 0; - padding-bottom: 0; - padding-left: 0; - padding-right: 0; - padding-top: 0; - margin-bottom: 1.45rem; - color: inherit; - font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, - Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; - font-weight: bold; - text-rendering: optimizeLegibility; - font-size: 0.85028rem; - line-height: 1.1; -} -h6 { - margin-left: 0; - margin-right: 0; - margin-top: 0; - padding-bottom: 0; - padding-left: 0; - padding-right: 0; - padding-top: 0; - margin-bottom: 1.45rem; - color: inherit; - font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, - Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; - font-weight: bold; - text-rendering: optimizeLegibility; - font-size: 0.78405rem; - line-height: 1.1; -} -hgroup { - margin-left: 0; - margin-right: 0; - margin-top: 0; - padding-bottom: 0; - padding-left: 0; - padding-right: 0; - padding-top: 0; - margin-bottom: 1.45rem; -} -ul { - margin-left: 1.45rem; - margin-right: 0; - margin-top: 0; - padding-bottom: 0; - padding-left: 0; - padding-right: 0; - padding-top: 0; - margin-bottom: 1.45rem; - list-style-position: outside; - list-style-image: none; -} -ol { - margin-left: 1.45rem; - margin-right: 0; - margin-top: 0; - padding-bottom: 0; - padding-left: 0; - padding-right: 0; - padding-top: 0; - margin-bottom: 1.45rem; - list-style-position: outside; - list-style-image: none; -} -dl { - margin-left: 0; - margin-right: 0; - margin-top: 0; - padding-bottom: 0; - padding-left: 0; - padding-right: 0; - padding-top: 0; - margin-bottom: 1.45rem; -} -dd { - margin-left: 0; - margin-right: 0; - margin-top: 0; - padding-bottom: 0; - padding-left: 0; - padding-right: 0; - padding-top: 0; - margin-bottom: 1.45rem; -} -p { - margin-left: 0; - margin-right: 0; - margin-top: 0; - padding-bottom: 0; - padding-left: 0; - padding-right: 0; - padding-top: 0; - margin-bottom: 1.45rem; -} -figure { - margin-left: 0; - margin-right: 0; - margin-top: 0; - padding-bottom: 0; - padding-left: 0; - padding-right: 0; - padding-top: 0; - margin-bottom: 1.45rem; -} -pre { - margin-left: 0; - margin-right: 0; - margin-top: 0; - margin-bottom: 1.45rem; - font-size: 0.85rem; - line-height: 1.42; - background: hsla(0, 0%, 0%, 0.04); - border-radius: 3px; - overflow: auto; - word-wrap: normal; - padding: 1.45rem; -} -table { - margin-left: 0; - margin-right: 0; - margin-top: 0; - padding-bottom: 0; - padding-left: 0; - padding-right: 0; - padding-top: 0; - margin-bottom: 1.45rem; - font-size: 1rem; - line-height: 1.45rem; - border-collapse: collapse; - width: 100%; -} -fieldset { - margin-left: 0; - margin-right: 0; - margin-top: 0; - padding-bottom: 0; - padding-left: 0; - padding-right: 0; - padding-top: 0; - margin-bottom: 1.45rem; -} -blockquote { - margin-left: 1.45rem; - margin-right: 1.45rem; - margin-top: 0; - padding-bottom: 0; - padding-left: 0; - padding-right: 0; - padding-top: 0; - margin-bottom: 1.45rem; -} -form { - margin-left: 0; - margin-right: 0; - margin-top: 0; - padding-bottom: 0; - padding-left: 0; - padding-right: 0; - padding-top: 0; - margin-bottom: 1.45rem; -} -noscript { - margin-left: 0; - margin-right: 0; - margin-top: 0; - padding-bottom: 0; - padding-left: 0; - padding-right: 0; - padding-top: 0; - margin-bottom: 1.45rem; -} -iframe { - margin-left: 0; - margin-right: 0; - margin-top: 0; - padding-bottom: 0; - padding-left: 0; - padding-right: 0; - padding-top: 0; - margin-bottom: 1.45rem; -} -hr { - margin-left: 0; - margin-right: 0; - margin-top: 0; - padding-bottom: 0; - padding-left: 0; - padding-right: 0; - padding-top: 0; - margin-bottom: calc(1.45rem - 1px); - background: hsla(0, 0%, 0%, 0.2); - border: none; - height: 1px; -} -address { - margin-left: 0; - margin-right: 0; - margin-top: 0; - padding-bottom: 0; - padding-left: 0; - padding-right: 0; - padding-top: 0; - margin-bottom: 1.45rem; -} -b { - font-weight: bold; -} -strong { - font-weight: bold; -} -dt { - font-weight: bold; -} -th { - font-weight: bold; -} -li { - margin-bottom: calc(1.45rem / 2); -} -ol li { - padding-left: 0; -} -ul li { - padding-left: 0; -} -li > ol { - margin-left: 1.45rem; - margin-bottom: calc(1.45rem / 2); - margin-top: calc(1.45rem / 2); -} -li > ul { - margin-left: 1.45rem; - margin-bottom: calc(1.45rem / 2); - margin-top: calc(1.45rem / 2); -} -blockquote *:last-child { - margin-bottom: 0; -} -li *:last-child { - margin-bottom: 0; -} -p *:last-child { - margin-bottom: 0; -} -li > p { - margin-bottom: calc(1.45rem / 2); -} -code { - font-size: 0.85rem; - line-height: 1.45rem; -} -kbd { - font-size: 0.85rem; - line-height: 1.45rem; -} -samp { - font-size: 0.85rem; - line-height: 1.45rem; -} -abbr { - border-bottom: 1px dotted hsla(0, 0%, 0%, 0.5); - cursor: help; -} -acronym { - border-bottom: 1px dotted hsla(0, 0%, 0%, 0.5); - cursor: help; -} -abbr[title] { - border-bottom: 1px dotted hsla(0, 0%, 0%, 0.5); - cursor: help; - text-decoration: none; -} -thead { - text-align: left; -} -td, -th { - text-align: left; - border-bottom: 1px solid hsla(0, 0%, 0%, 0.12); - font-feature-settings: "tnum"; - -moz-font-feature-settings: "tnum"; - -ms-font-feature-settings: "tnum"; - -webkit-font-feature-settings: "tnum"; - padding-left: 0.96667rem; - padding-right: 0.96667rem; - padding-top: 0.725rem; - padding-bottom: calc(0.725rem - 1px); -} -th:first-child, -td:first-child { - padding-left: 0; -} -th:last-child, -td:last-child { - padding-right: 0; -} -tt, -code { - background-color: hsla(0, 0%, 0%, 0.04); - border-radius: 3px; - font-family: "SFMono-Regular", Consolas, "Roboto Mono", "Droid Sans Mono", - "Liberation Mono", Menlo, Courier, monospace; - padding: 0; - padding-top: 0.2em; - padding-bottom: 0.2em; -} -pre code { - background: none; - line-height: 1.42; -} -code:before, -code:after, -tt:before, -tt:after { - letter-spacing: -0.2em; - content: " "; -} -pre code:before, -pre code:after, -pre tt:before, -pre tt:after { - content: ""; -} -@media only screen and (max-width: 480px) { - html { - font-size: 100%; - } -} diff --git a/src/components/layout.js b/src/components/layout.js deleted file mode 100644 index 0f266b62..00000000 --- a/src/components/layout.js +++ /dev/null @@ -1,71 +0,0 @@ -/** - * Layout component that queries for data - * with Gatsby's StaticQuery component - * - * See: https://www.gatsbyjs.org/docs/static-query/ - */ - -import React from "react" -import PropTypes from "prop-types" -import { StaticQuery, graphql } from "gatsby" -import "bootstrap/dist/css/bootstrap.css" -import Header from "./header/header" -import "./layout.css" - -const Layout = ({ children }) => { - - return ( - ( - <> -
    -
    -
    {children}
    - -
    - - )} - /> - ) -} - -Layout.propTypes = { - children: PropTypes.node.isRequired, -} - -export default Layout diff --git a/src/components/seo.js b/src/components/seo.js deleted file mode 100644 index e15f5995..00000000 --- a/src/components/seo.js +++ /dev/null @@ -1,88 +0,0 @@ -/** - * SEO component that queries for data with - * Gatsby's useStaticQuery React hook - * - * See: https://www.gatsbyjs.org/docs/use-static-query/ - */ - -import React from "react" -import PropTypes from "prop-types" -import Helmet from "react-helmet" -import { useStaticQuery, graphql } from "gatsby" - -function SEO({ description, lang, meta, title }) { - const { site } = useStaticQuery( - graphql` - query { - site { - siteMetadata { - title - description - author - } - } - } - ` - ) - - const metaDescription = description || site.siteMetadata.description - - return ( - - ) -} - -SEO.defaultProps = { - lang: `en`, - meta: [], - description: ``, -} - -SEO.propTypes = { - description: PropTypes.string, - lang: PropTypes.string, - meta: PropTypes.arrayOf(PropTypes.object), - title: PropTypes.string.isRequired, -} - -export default SEO diff --git a/src/components/sidebar/Bio.js b/src/components/sidebar/Bio.js deleted file mode 100644 index 8c0bf799..00000000 --- a/src/components/sidebar/Bio.js +++ /dev/null @@ -1,17 +0,0 @@ -import React from "react" -import "./sidebar.css" - -import bioPic from "../../images/emeraldjava.jpeg" - -const Bio = ({ author, tagline }) => { - - return ( -
    - -

    {author}

    - {tagline} -
    - ) -} - -export default Bio \ No newline at end of file diff --git a/src/components/sidebar/Sidebar.js b/src/components/sidebar/Sidebar.js deleted file mode 100644 index e81b6c4b..00000000 --- a/src/components/sidebar/Sidebar.js +++ /dev/null @@ -1,70 +0,0 @@ -import React from "react" -import { StaticQuery, graphql, Link } from "gatsby" -import Bio from "./Bio" -import "./sidebar.css" - -import SocialLinks from "./SocialLinks" -import TechTags from "./TechTags" - -const Sidebar = () => { - return ( - ( - <> -
    - - -
    - Blog Home - CV - Archive -
    -
    - -
    -
    - - )} - /> - ) -} - -export default Sidebar diff --git a/src/components/sidebar/SocialLinks.js b/src/components/sidebar/SocialLinks.js deleted file mode 100644 index 6057bc6d..00000000 --- a/src/components/sidebar/SocialLinks.js +++ /dev/null @@ -1,49 +0,0 @@ -import React from "react" -import { - FaLinkedin, - FaGithubSquare, - FaStackOverflow, - FaFreeCodeCamp, - FaTwitterSquare -} from "react-icons/fa" -import "./sidebar.css" - - -const SocialLinks = ({ contacts }) => { - return ( - - ) -} - -export default SocialLinks \ No newline at end of file diff --git a/src/components/sidebar/TechTags.js b/src/components/sidebar/TechTags.js deleted file mode 100644 index 53a32f6e..00000000 --- a/src/components/sidebar/TechTags.js +++ /dev/null @@ -1,49 +0,0 @@ -import React from "react" - -import TechTag from "../tags/TechTag" - -const TechTags = (props) => { - const labels = props.labels - const posts = props.posts - - const labelCount = labels.map(label => { - let count = 0; - posts.forEach(post => { - if (post.node.frontmatter.tags.includes(label.tag)) { - count = count + 1 - } - }) - return [label.tag, count] - }) - - const categories = labelCount.filter(label => { - return label[1] > 0 - }) - - const tags = categories.map(category => { - return category[0] - }) - - const getTechTags = (tags) => { - const techTags = [] - tags.forEach((tag, i) => { - labels.forEach((label) => { - if (tag === label.tag) { - techTags.push() - } - }) - }) - return techTags - } - - return ( - <> -

    Tech Topics

    -
    - {getTechTags(tags)} -
    - - ) -} - -export default TechTags \ No newline at end of file diff --git a/src/components/sidebar/sidebar.css b/src/components/sidebar/sidebar.css deleted file mode 100644 index 947b72dc..00000000 --- a/src/components/sidebar/sidebar.css +++ /dev/null @@ -1,31 +0,0 @@ -.sidebar-main { - width: 100%; - -} - -.side-social-links { - display: grid; - grid-template-columns: 1fr 1fr 1fr; -} - -.page-links { - margin-top: 3rem; - padding-top: 4rem; - font-family: "Raleway"; -} - - -.profile-img { - border-radius: 50%; - box-shadow: 1px 1px 3px; -} - -small, h3, p { - font-family: 'Raleway'; - -} - -.author-bio { - font-size: 2vw; -} - diff --git a/src/components/tags/TechTag.js b/src/components/tags/TechTag.js deleted file mode 100644 index 0850ffdf..00000000 --- a/src/components/tags/TechTag.js +++ /dev/null @@ -1,28 +0,0 @@ -import React from "react" -import * as FontAwesome from "react-icons/fa" -import * as Devicons from "react-icons/di" - -import "./tags.css" -import { Link } from "gatsby"; - -const TechTag = (props) => { - const { tag, tech, name, size, color } = props - const str = name; - const icon = /^Fa/.test(str) ? React.createElement(FontAwesome[name]) : React.createElement(Devicons[name]); - - return ( -
    - - - - -
    - - ) -} - -export default TechTag \ No newline at end of file diff --git a/src/components/tags/tags.css b/src/components/tags/tags.css deleted file mode 100644 index 820e53f7..00000000 --- a/src/components/tags/tags.css +++ /dev/null @@ -1,11 +0,0 @@ -h4 { - font-family: "Raleway"; -} - -.tech-tag { - background: black; - border-radius: 0%; - border-color: black; - font-family: "Raleway"; - font-size: .85rem; -} \ No newline at end of file diff --git a/src/images/emeraldjava.jpeg b/src/images/emeraldjava.jpeg deleted file mode 100644 index 7f1d437b..00000000 Binary files a/src/images/emeraldjava.jpeg and /dev/null differ diff --git a/src/images/gatsby-icon.png b/src/images/gatsby-icon.png deleted file mode 100644 index 908bc78a..00000000 Binary files a/src/images/gatsby-icon.png and /dev/null differ diff --git a/src/pages/404.js b/src/pages/404.js deleted file mode 100644 index d9320127..00000000 --- a/src/pages/404.js +++ /dev/null @@ -1,15 +0,0 @@ -import React from "react" - -import Layout from "../components/layout" -import SEO from "../components/seo" - -const NotFoundPage = () => ( - - -

    Page Not Found

    -

    Just lightin' out for the territories, -huh? Brother, I been there.

    -
    -) - -export default NotFoundPage diff --git a/src/pages/about.js b/src/pages/about.js deleted file mode 100644 index 2258857f..00000000 --- a/src/pages/about.js +++ /dev/null @@ -1,71 +0,0 @@ -import React from "react" -import Layout from "../components/layout" -import SEO from "../components/seo" -import { FaCheckCircle } from "react-icons/fa" -import "./index.css" - -import Sidebar from "../components/sidebar/Sidebar" -import TechTag from "../components/tags/TechTag" - -const AboutPage = (props) => { - return ( - - -
    -
    - -
    - -
    - -
    -

    About

    -

    Developer Diary is a Gatsby Starter blog template created with web developers in mind, but really, anyone can use it. It's totally usable right out of the box, but minimalist enough to be easily modifiable to suit your needs.

    -
    -

    Features

    -
    - - - -

    Blazing fast, as you'd expect from a Gatsby site

    -
    -
    - - - -

    Tech tags designed for web developers

    -
    - - - -
    -
    -
    - - - -

    Includes Prism for code block styling in markdown files

    -
    -
    - - - -

    Developer-relevant social-media icon links including GitHub, Stack Overflow and freeCodeCamp

    -
    -
    - - - -

    Mobile responsive, of course

    -
    -
    -
    -
    -
    - ) -} - - - -export default AboutPage - diff --git a/src/pages/archive.js b/src/pages/archive.js deleted file mode 100644 index 1606916b..00000000 --- a/src/pages/archive.js +++ /dev/null @@ -1,109 +0,0 @@ -import React from "react" -import { Link, graphql } from "gatsby" -import "bootstrap/dist/css/bootstrap.css" -import "./index.css" - -import Layout from "../components/layout" -import SEO from "../components/seo" -import Sidebar from "../components/sidebar/Sidebar" -import TechTag from "../components/tags/TechTag" - -const ArchivePage = ({ data }) => { - const posts = data.allMarkdownRemark.edges - const labels = data.site.siteMetadata.labels - - const getTechTags = (tags) => { - const techTags = [] - tags.forEach((tag, i) => { - labels.forEach((label) => { - if (tag === label.tag) { - techTags.push() - } - }) - }) - return techTags - } - - - return ( - - -
    -
    - -
    -
    -

    All Posts

    - {posts.map((post) => { - const tags = post.node.frontmatter.tags - return ( -
    - -

    {post.node.frontmatter.title}

    - - Posted on {post.node.frontmatter.date} - -

    {post.node.excerpt}

    - - Read full post - -
    - {getTechTags(tags)} -
    -
    - ) - })} -
    -
    -
    - ) -} - -export const pageQuery = graphql` - query ArchiveQuery { - site { - siteMetadata { - title - author - labels { - tag - tech - name - size - color - } - } - } - allMarkdownRemark( - limit: 1000 - sort: { fields: [frontmatter___date], order: DESC } - filter: { frontmatter: { published: { eq: true } } } - ) { - totalCount - edges { - node { - excerpt(pruneLength: 200) - html - id - frontmatter { - title - date(formatString: "MMMM DD, YYYY") - tags - } - fields { - slug - } - } - } - } - } - ` - -export default ArchivePage - diff --git a/src/pages/index.css b/src/pages/index.css deleted file mode 100644 index 78a4311b..00000000 --- a/src/pages/index.css +++ /dev/null @@ -1,24 +0,0 @@ - -p, .title { - font-family: "Raleway"; -} - -.index-main { - display: grid; - grid-template-columns: 1fr 2fr; -} - -.sidebar { - width: 90%; -} - - - -@media only screen and (max-width: 850px) { - .sidebar{display: none;} - .index-main{ - display: flex; - flex-direction: row; - justify-content: space-around; - } -} \ No newline at end of file diff --git a/src/pages/index.js b/src/pages/index.js deleted file mode 100644 index 7b9951f9..00000000 --- a/src/pages/index.js +++ /dev/null @@ -1,115 +0,0 @@ -import React from "react" -import { Link, graphql } from "gatsby" -import "bootstrap/dist/css/bootstrap.css" -import "./index.css" - -import Layout from "../components/layout" -import SEO from "../components/seo" -import Sidebar from "../components/sidebar/Sidebar" -import TechTag from "../components/tags/TechTag" - -const IndexPage = ({ data }) => { - const posts = data.allMarkdownRemark.edges - const labels = data.site.siteMetadata.labels - const currentPage = 1 - const nextPage = (currentPage + 1).toString() - - const getTechTags = (tags) => { - const techTags = [] - tags.forEach((tag, i) => { - labels.forEach((label) => { - if (tag === label.tag) { - techTags.push() - } - }) - }) - return techTags - } - - - return ( - - -
    -
    - -
    -
    - {posts.map((post) => { - const tags = post.node.frontmatter.tags - return ( -
    - -

    {post.node.frontmatter.title}

    - - Posted on {post.node.frontmatter.date} - -

    {post.node.excerpt}

    - - Read full post - -
    - {getTechTags(tags)} -
    -
    - ) - })} -
    - - Next Page → - -
    -
    -
    -
    - ) -} - -export const pageQuery = graphql` - query IndexQuery { - site { - siteMetadata { - title - author - labels { - tag - tech - name - size - color - } - } - } - allMarkdownRemark( - limit: 3 - sort: { fields: [frontmatter___date], order: DESC } - filter: { frontmatter: { published: { eq: true } } } - ) { - totalCount - edges { - node { - excerpt(pruneLength: 100) - html - id - frontmatter { - title - date(formatString: "MMMM DD, YYYY") - tags - } - fields { - slug - } - } - } - } - } - ` - -export default IndexPage - diff --git a/src/templates/blog-post.css b/src/templates/blog-post.css deleted file mode 100644 index d651d7fb..00000000 --- a/src/templates/blog-post.css +++ /dev/null @@ -1,24 +0,0 @@ -.post-page-main { - display: grid; - grid-template-columns: 1fr 2fr; -} - -.heading { - font-family: "Raleway"; -} - -.sidebar { - width: 90%; -} - - - - -@media only screen and (max-width: 850px) { - .sidebar{display: none;} - .post-page-main{ - display: flex; - flex-direction: row; - justify-content: space-around; - } -} \ No newline at end of file diff --git a/src/templates/blog-post.js b/src/templates/blog-post.js deleted file mode 100644 index cd61db53..00000000 --- a/src/templates/blog-post.js +++ /dev/null @@ -1,82 +0,0 @@ -import React from "react" -import { graphql } from "gatsby" -import Layout from "../components/layout" -import SEO from "../components/seo" -import "./blog-post.css" - -import Sidebar from "../components/sidebar/Sidebar" -import TechTag from "../components/tags/TechTag" - -const BlogPost = (props) => { - const post = props.data.markdownRemark - const labels = props.data.site.siteMetadata.labels - const siteName = props.data.site.siteMetadata.title - const siteUrl = props.data.site.siteMetadata.url - const url = `${siteUrl}${props.pageContext.slug}`; - const tags = post.frontmatter.tags - - const getTechTags = (tags) => { - const techTags = [] - tags.forEach((tag, i) => { - labels.forEach((label) => { - if (tag === label.tag) { - techTags.push() - } - }) - }) - return techTags - } - - return ( - - -
    -
    - -
    - -
    - -
    -

    {post.frontmatter.title}

    -
    - {getTechTags(tags)} -
    -
    - Published on {post.frontmatter.date} -
    -
    -
    -
    - - ) -} - -export const query = graphql` - query($slug: String!) { - site { - siteMetadata { - url - title - labels { - tag - tech - name - size - color - } - } - } - markdownRemark(fields: { slug: { eq: $slug } }) { - id - html - frontmatter { - title - date(formatString: "MMMM DD, YYYY") - tags - } - } - } -` - -export default BlogPost diff --git a/src/templates/codeblock.css b/src/templates/codeblock.css deleted file mode 100644 index 5bab0bd9..00000000 --- a/src/templates/codeblock.css +++ /dev/null @@ -1,161 +0,0 @@ -code[class*="language-"], -pre[class*="language-"] { - color: rgb(20, 7, 7); - background: none; - text-shadow: none; - font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; - font-size: 1em; - text-align: left; - white-space: pre; - word-spacing: normal; - word-break: normal; - word-wrap: normal; - line-height: 1.5; - - -moz-tab-size: 4; - -o-tab-size: 4; - tab-size: 4; - - -webkit-hyphens: none; - -moz-hyphens: none; - -ms-hyphens: none; - hyphens: none; -} - -pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, -code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { - text-shadow: none; - background: #b3d4fc; -} - -pre[class*="language-"]::selection, pre[class*="language-"] ::selection, -code[class*="language-"]::selection, code[class*="language-"] ::selection { - text-shadow: none; - background: #b3d4fc; -} - -@media print { - code[class*="language-"], - pre[class*="language-"] { - text-shadow: none; - } -} - -/* Code blocks */ -pre[class*="language-"] { - box-shadow: 1px 1px 3px; - max-width: 750px; - padding: 1em; - margin: .5em 0; - overflow: auto; -} - -@media only screen and (max-width: 1200px) { - pre[class*="language-"] { - max-width: 650px; - } -} -@media only screen and (max-width: 1100px) { - pre[class*="language-"] { - max-width: 550px; - } -} -@media only screen and (max-width: 1000px) { - pre[class*="language-"] { - max-width: 500px; - } -} -@media only screen and (max-width: 600px) { - pre[class*="language-"] { - max-width: 400px; - } -} -@media only screen and (max-width: 450px) { - pre[class*="language-"] { - max-width: 350px; - } -} - -:not(pre) > code[class*="language-"], -pre[class*="language-"] { - background: beige; -} - -/* Inline code */ -:not(pre) > code[class*="language-"] { - padding: .1em; - border-radius: .3em; - white-space: normal; -} - -.token.comment, -.token.prolog, -.token.doctype, -.token.cdata { - color: slategray; -} - -.token.punctuation { - color: #999; -} - -.namespace { - opacity: .7; -} - -.token.property, -.token.tag, -.token.boolean, -.token.number, -.token.constant, -.token.symbol, -.token.deleted { - color: #905; -} - -.token.selector, -.token.attr-name, -.token.string, -.token.char, -.token.builtin, -.token.inserted { - color: #690; -} - -.token.operator, -.token.entity, -.token.url, -.language-css .token.string, -.style .token.string { - color: #9a6e3a; - background: hsla(0, 0%, 100%, .5); -} - -.token.atrule, -.token.attr-value, -.token.keyword { - color: #07a; -} - -.token.function, -.token.class-name { - color: #DD4A68; -} - -.token.regex, -.token.important, -.token.variable { - color: #e90; -} - -.token.important, -.token.bold { - font-weight: bold; -} -.token.italic { - font-style: italic; -} - -.token.entity { - cursor: help; -} diff --git a/src/templates/post-list.js b/src/templates/post-list.js deleted file mode 100644 index ad8b8b2b..00000000 --- a/src/templates/post-list.js +++ /dev/null @@ -1,125 +0,0 @@ -import React from "react" -import { Link, graphql } from "gatsby" -import "bootstrap/dist/css/bootstrap.css" -import "../pages/index.css" - -import Layout from "../components/layout" -import SEO from "../components/seo" -import Sidebar from "../components/sidebar/Sidebar" -import TechTag from "../components/tags/TechTag" - -const PostList = (props) => { - const posts = props.data.allMarkdownRemark.edges - const labels = props.data.site.siteMetadata.labels - const { currentPage, numPages } = props.pageContext - const isFirst = currentPage === 1 - const isLast = currentPage === numPages - const prevPage = currentPage - 1 === 1 ? "/" : (currentPage - 1).toString() - const nextPage = (currentPage + 1).toString() - - const getTechTags = (tags) => { - const techTags = [] - tags.forEach((tag, i) => { - labels.forEach((label) => { - if (tag === label.tag) { - techTags.push() - } - }) - }) - return techTags - } - - - return ( - - -
    -
    - -
    -
    - {posts.map((post) => { - const tags = post.node.frontmatter.tags - return ( -
    - -

    {post.node.frontmatter.title}

    - - Posted on {post.node.frontmatter.date} - -

    {post.node.excerpt}

    - - Read full post - -
    - {getTechTags(tags)} -
    -
    - ) - })} -
    - {!isFirst && ( - - ← Previous Page - - )} - {!isLast && ( - - Next Page → - - )} -
    -
    -
    -
    - ) -} - -export const listQuery = graphql` - query paginateQuery($skip: Int!, $limit: Int!) { - site { - siteMetadata { - title - author - labels { - tag - tech - name - size - color - } - } - } - allMarkdownRemark( - limit: $limit - skip: $skip - sort: { fields: [frontmatter___date], order: DESC } - filter: { frontmatter: { published: { eq: true } } } - ) { - totalCount - edges { - node { - excerpt(pruneLength: 200) - html - id - frontmatter { - title - date(formatString: "MMMM DD, YYYY") - tags - } - fields { - slug - } - } - } - } - } - ` - -export default PostList diff --git a/src/templates/tag.js b/src/templates/tag.js deleted file mode 100644 index ad52840e..00000000 --- a/src/templates/tag.js +++ /dev/null @@ -1,135 +0,0 @@ -import React from "react" -import PropTypes from "prop-types" -import { Link, graphql } from "gatsby" -import "bootstrap/dist/css/bootstrap.css" -import "../pages/index.css" - -import Layout from "../components/layout" -import SEO from "../components/seo" -import Sidebar from "../components/sidebar/Sidebar" -import TechTag from "../components/tags/TechTag" - -const Tag = ({ pageContext, data }) => { - const posts = data.allMarkdownRemark.edges - const labels = data.site.siteMetadata.labels - console.log(pageContext.tag) - const { tag } = pageContext - const { totalCount } = data.allMarkdownRemark - const tagHeader = `${totalCount} post${ - totalCount === 1 ? "" : "s" - } tagged with "${tag}"` - - const getTechTags = (tags) => { - const techTags = [] - tags.forEach((tag, i) => { - labels.forEach((label) => { - if (tag === label.tag) { - techTags.push() - } - }) - }) - return techTags - } - - return ( - - -
    -
    - -
    - -
    -

    {tagHeader}

    - {posts.map((post) => { - const tags = post.node.frontmatter.tags - return ( -
    - -

    {post.node.frontmatter.title}

    - - Posted on {post.node.frontmatter.date} - -

    {post.node.excerpt}

    - - Read full post - -
    - {getTechTags(tags)} -
    -
    - ) - })} -
    -
    -
    - ) -} - -Tag.propTypes = { - pageContext: PropTypes.shape({ - tag: PropTypes.string.isRequired, - }), - data: PropTypes.shape({ - allMarkdownRemark: PropTypes.shape({ - totalCount: PropTypes.number.isRequired, - edges: PropTypes.arrayOf( - PropTypes.shape({ - node: PropTypes.shape({ - frontmatter: PropTypes.shape({ - title: PropTypes.string.isRequired, - }), - }), - }).isRequired - ), - }), - }), -} - -export const pageQuery = graphql` - query($tag: String) { - site { - siteMetadata { - title - author - labels { - tag - tech - name - size - color - } - } - } - allMarkdownRemark( - limit: 2000 - sort: { fields: [frontmatter___date], order: DESC } - filter: { frontmatter: { tags: { in: [$tag] } } } - ) { - totalCount - edges { - node { - excerpt(pruneLength: 200) - html - id - frontmatter { - title - date(formatString: "MMMM, YYYY") - tags - } - fields { - slug - } - } - } - } - } -` - -export default Tag \ No newline at end of file diff --git a/tags/cycle/index.html b/tags/cycle/index.html new file mode 100644 index 00000000..9b8bc0d6 --- /dev/null +++ b/tags/cycle/index.html @@ -0,0 +1,39 @@ + +cycle - Posts from emeraldjava +
    Avatar

    Organizations

    @twitter +@linkedin
    7 +results +for cycle
    • Add github actions to bhaa_woprdpress to run composer and then allow github-updater to run ion master website. +2019-12-22 : Test to see if this push works.
      git +javascript +cycle +Created +Sun, 01 Dec 2019 00:00:00 +0000
    • Chapel Street Backpacker The first 20km was on a dedicated bike lane, with the only hazards being the morning pram walkers. Joined the Nepean highway near chelsea and followed it down via Frankston, Mornington and St Marta. The bike lane on the main road was really wide and most vehicals gave me plently of room. +2006-06-02-beach Hauling the fully loaded bags on the bike finally kicked in about 40km. I was expecting the first couple of days to be tough, but not this bad this early.
      cycle +oz2006 +Created +Fri, 02 Jun 2006 00:00:00 +0000
    • Just chilled around melbourne again today, sorted an aussie mobile number [0448 997 380 ] and some replacement tubes for the bike. Toured around CBD, victoria market, richmond, fitzroy and the MCG today. +2006-06-01 The plan tomorrow is to cycle down the Mornington Peninsula, use the ferry to cross the bay and spend the night in Torquay.
      cycle +oz2006 +Created +Thu, 01 Jun 2006 00:00:00 +0000
    • Moved to a hostel in St Kilda today for 2 nights, the CBD is dead at night. Spent the rest of the day touring around melbourne, its so easy having your own transport to just skip past places. Did a lap of the albert park grand prix circuit, not sure if i was on the same pace as the F1 dudes. Picture of the Melbourne skyline taken from albert park in the last afternoon.
      cycle +oz2006 +Created +Wed, 31 May 2006 00:00:00 +0000
    • In Hong Kong International airport for a 2 hour stopover before the final leg of the flight to melbourne, which should get me there for 19.30 this evening. +2006-05-30 Interesting landing into melbourne, I’m looking out the window to see the city lights expecting to have a nice view for a few minutes before we touch down, but first lights i see are the airport lights. There a bit close i’m thinking, when next thing the plane slaps the runway like a tonne of bricks, or metal hitting the ground.
      cycle +oz2006 +Created +Tue, 30 May 2006 00:00:00 +0000
    • Monday 29th May 2006 Flew from London Heathrow T4 (12.20pm) to Hong Kong with Quantas today.
      cycle +oz2006 +Created +Mon, 29 May 2006 00:00:00 +0000
    • Took me 10h 37min 50seconds, came in 3623rd place.
      cycle +Created +Sun, 07 Aug 2005 00:00:00 +0000
    +
    \ No newline at end of file diff --git a/tags/cycle/index.xml b/tags/cycle/index.xml new file mode 100644 index 00000000..887acd6e --- /dev/null +++ b/tags/cycle/index.xml @@ -0,0 +1,5 @@ +cycle on Posts from emeraldjavahttps://emeraldjava.github.io/tags/cycle/Recent content in cycle on Posts from emeraldjavaHugo -- gohugo.ioen-usSun, 01 Dec 2019 00:00:00 +00002nd Posthttps://emeraldjava.github.io/post/2019-12-01-2nd-post/Sun, 01 Dec 2019 00:00:00 +0000https://emeraldjava.github.io/post/2019-12-01-2nd-post/Add github actions to bhaa_woprdpress to run composer and then allow github-updater to run ion master website. +2019-12-22 : Test to see if this push works.June 2nd 2006 - Melbourne to Sorrentohttps://emeraldjava.github.io/post/2006/2006-06-02-melbourne-to-sorrento/Fri, 02 Jun 2006 00:00:00 +0000https://emeraldjava.github.io/post/2006/2006-06-02-melbourne-to-sorrento/Chapel Street Backpacker The first 20km was on a dedicated bike lane, with the only hazards being the morning pram walkers. Joined the Nepean highway near chelsea and followed it down via Frankston, Mornington and St Marta. The bike lane on the main road was really wide and most vehicals gave me plently of room. +2006-06-02-beach Hauling the fully loaded bags on the bike finally kicked in about 40km. I was expecting the first couple of days to be tough, but not this bad this early.Thursday 1st June 2006https://emeraldjava.github.io/post/2006/2006-06-01-thursday-1st-june/Thu, 01 Jun 2006 00:00:00 +0000https://emeraldjava.github.io/post/2006/2006-06-01-thursday-1st-june/Just chilled around melbourne again today, sorted an aussie mobile number [0448 997 380 ] and some replacement tubes for the bike. Toured around CBD, victoria market, richmond, fitzroy and the MCG today. +2006-06-01 The plan tomorrow is to cycle down the Mornington Peninsula, use the ferry to cross the bay and spend the night in Torquay.Wednesday 31th May 2006https://emeraldjava.github.io/post/2006/2006-05-31-wednesday-31th-may/Wed, 31 May 2006 00:00:00 +0000https://emeraldjava.github.io/post/2006/2006-05-31-wednesday-31th-may/Moved to a hostel in St Kilda today for 2 nights, the CBD is dead at night. Spent the rest of the day touring around melbourne, its so easy having your own transport to just skip past places. Did a lap of the albert park grand prix circuit, not sure if i was on the same pace as the F1 dudes. Picture of the Melbourne skyline taken from albert park in the last afternoon.Tuesday 30th May 2006https://emeraldjava.github.io/post/2006/2006-05-30-tuesday-30th-may/Tue, 30 May 2006 00:00:00 +0000https://emeraldjava.github.io/post/2006/2006-05-30-tuesday-30th-may/In Hong Kong International airport for a 2 hour stopover before the final leg of the flight to melbourne, which should get me there for 19.30 this evening. +2006-05-30 Interesting landing into melbourne, I&rsquo;m looking out the window to see the city lights expecting to have a nice view for a few minutes before we touch down, but first lights i see are the airport lights. There a bit close i&rsquo;m thinking, when next thing the plane slaps the runway like a tonne of bricks, or metal hitting the ground.Monday 29th May 2006https://emeraldjava.github.io/post/2006/2006-05-29-monday-29th-may/Mon, 29 May 2006 00:00:00 +0000https://emeraldjava.github.io/post/2006/2006-05-29-monday-29th-may/Monday 29th May 2006 Flew from London Heathrow T4 (12.20pm) to Hong Kong with Quantas today.La Marmotte 2005https://emeraldjava.github.io/post/2005/2005-08-07-la-marmotte-2005/Sun, 07 Aug 2005 00:00:00 +0000https://emeraldjava.github.io/post/2005/2005-08-07-la-marmotte-2005/Took me 10h 37min 50seconds, came in 3623rd place. \ No newline at end of file diff --git a/tags/cycle/page/1/index.html b/tags/cycle/page/1/index.html new file mode 100644 index 00000000..4ccbbbab --- /dev/null +++ b/tags/cycle/page/1/index.html @@ -0,0 +1 @@ +https://emeraldjava.github.io/tags/cycle/ \ No newline at end of file diff --git a/tags/docker/index.html b/tags/docker/index.html new file mode 100644 index 00000000..3cf8cee2 --- /dev/null +++ b/tags/docker/index.html @@ -0,0 +1,24 @@ + +docker - Posts from emeraldjava +
    Avatar

    Organizations

    @twitter +@linkedin
    2 +results +for docker
    • Nginx Unit - @liamcrilly Async event loop multi-process architecture config reload without interruption 1 CPU core per worker thread +web server reverse proxy load balancer +php/fpm on docker +microservices vs container +use nginx unit to run mutliple processes within a single docker container +config +listeners routes applications
      docker +Created +Thu, 23 Feb 2023 00:00:00 +0000
    • Docker Extensions
      docker +Created +Wed, 14 Sep 2022 00:00:00 +0000
    +
    \ No newline at end of file diff --git a/tags/docker/index.xml b/tags/docker/index.xml new file mode 100644 index 00000000..08631cb1 --- /dev/null +++ b/tags/docker/index.xml @@ -0,0 +1,7 @@ +docker on Posts from emeraldjavahttps://emeraldjava.github.io/tags/docker/Recent content in docker on Posts from emeraldjavaHugo -- gohugo.ioen-usThu, 23 Feb 2023 00:00:00 +0000Dublin Docker Meetuphttps://emeraldjava.github.io/post/2023/2023-02-22-docker-meetup-dublin/Thu, 23 Feb 2023 00:00:00 +0000https://emeraldjava.github.io/post/2023/2023-02-22-docker-meetup-dublin/Nginx Unit - @liamcrilly Async event loop multi-process architecture config reload without interruption 1 CPU core per worker thread +web server reverse proxy load balancer +php/fpm on docker +microservices vs container +use nginx unit to run mutliple processes within a single docker container +config +listeners routes applicationsDublin Docker Meetuphttps://emeraldjava.github.io/post/2022/2022-09-14-docker-meetup-dublin/Wed, 14 Sep 2022 00:00:00 +0000https://emeraldjava.github.io/post/2022/2022-09-14-docker-meetup-dublin/Docker Extensions \ No newline at end of file diff --git a/tags/docker/page/1/index.html b/tags/docker/page/1/index.html new file mode 100644 index 00000000..0743f80b --- /dev/null +++ b/tags/docker/page/1/index.html @@ -0,0 +1 @@ +https://emeraldjava.github.io/tags/docker/ \ No newline at end of file diff --git a/tags/gatsby/index.html b/tags/gatsby/index.html new file mode 100644 index 00000000..e2fb18a9 --- /dev/null +++ b/tags/gatsby/index.html @@ -0,0 +1,21 @@ + +gatsby - Posts from emeraldjava +
    Avatar

    Organizations

    @twitter +@linkedin
    2 +results +for gatsby
    • Jekyll To Gatstby
      jekyll +gatsby +Created +Sat, 20 Jun 2020 00:00:00 +0000
    • Some notes on creating a Strava feed via Gatstby +https://www.gatsbyjs.org/packages/gatsby-source-strava/ https://mark.ie/blog/build-a-netlify-hosted-github-auto-deploying-gatsby-based-website-to-display-your-strava-data https://github.com/markconroy/strava-marky/blob/master/package.json
      gatsby +strava +Created +Mon, 11 May 2020 00:00:00 +0000
    +
    \ No newline at end of file diff --git a/tags/gatsby/index.xml b/tags/gatsby/index.xml new file mode 100644 index 00000000..8c3a41c9 --- /dev/null +++ b/tags/gatsby/index.xml @@ -0,0 +1,2 @@ +gatsby on Posts from emeraldjavahttps://emeraldjava.github.io/tags/gatsby/Recent content in gatsby on Posts from emeraldjavaHugo -- gohugo.ioen-usSat, 20 Jun 2020 00:00:00 +0000Jekyll To Gatstbyhttps://emeraldjava.github.io/post/2020-06-20-jekyll-to-gatstby/Sat, 20 Jun 2020 00:00:00 +0000https://emeraldjava.github.io/post/2020-06-20-jekyll-to-gatstby/Jekyll To GatstbyGatsby Stravahttps://emeraldjava.github.io/post/2020-05-11-gatsby-strava/Mon, 11 May 2020 00:00:00 +0000https://emeraldjava.github.io/post/2020-05-11-gatsby-strava/Some notes on creating a Strava feed via Gatstby +https://www.gatsbyjs.org/packages/gatsby-source-strava/ https://mark.ie/blog/build-a-netlify-hosted-github-auto-deploying-gatsby-based-website-to-display-your-strava-data https://github.com/markconroy/strava-marky/blob/master/package.json \ No newline at end of file diff --git a/tags/gatsby/page/1/index.html b/tags/gatsby/page/1/index.html new file mode 100644 index 00000000..e69341aa --- /dev/null +++ b/tags/gatsby/page/1/index.html @@ -0,0 +1 @@ +https://emeraldjava.github.io/tags/gatsby/ \ No newline at end of file diff --git a/tags/git/index.html b/tags/git/index.html new file mode 100644 index 00000000..38ba714a --- /dev/null +++ b/tags/git/index.html @@ -0,0 +1,23 @@ + +git - Posts from emeraldjava +
    Avatar

    Organizations

    @twitter +@linkedin
    2 +results +for git
    • Add github actions to bhaa_woprdpress to run composer and then allow github-updater to run ion master website. +2019-12-22 : Test to see if this push works.
      git +javascript +cycle +Created +Sun, 01 Dec 2019 00:00:00 +0000
    • Migrating the site from jekyll to gatsby with github actions automatically updating the content.
      git +javascript +run +Created +Wed, 13 Nov 2019 00:00:00 +0000
    +
    \ No newline at end of file diff --git a/tags/git/index.xml b/tags/git/index.xml new file mode 100644 index 00000000..778601ee --- /dev/null +++ b/tags/git/index.xml @@ -0,0 +1,2 @@ +git on Posts from emeraldjavahttps://emeraldjava.github.io/tags/git/Recent content in git on Posts from emeraldjavaHugo -- gohugo.ioen-usSun, 01 Dec 2019 00:00:00 +00002nd Posthttps://emeraldjava.github.io/post/2019-12-01-2nd-post/Sun, 01 Dec 2019 00:00:00 +0000https://emeraldjava.github.io/post/2019-12-01-2nd-post/Add github actions to bhaa_woprdpress to run composer and then allow github-updater to run ion master website. +2019-12-22 : Test to see if this push works.First Gatsby Posthttps://emeraldjava.github.io/post/2019-11-13-first-gatsby-post/Wed, 13 Nov 2019 00:00:00 +0000https://emeraldjava.github.io/post/2019-11-13-first-gatsby-post/Migrating the site from jekyll to gatsby with github actions automatically updating the content. \ No newline at end of file diff --git a/tags/git/page/1/index.html b/tags/git/page/1/index.html new file mode 100644 index 00000000..00e593a7 --- /dev/null +++ b/tags/git/page/1/index.html @@ -0,0 +1 @@ +https://emeraldjava.github.io/tags/git/ \ No newline at end of file diff --git a/tags/github/index.html b/tags/github/index.html new file mode 100644 index 00000000..4160dc74 --- /dev/null +++ b/tags/github/index.html @@ -0,0 +1,21 @@ + +github - Posts from emeraldjava +
    Avatar

    Organizations

    @twitter +@linkedin
    1 +results +for github
    • I was looking for a guide to configuring spring boot with spring batch admin which i found but then spotted a nice GitHub summary on damienbeaufils home page. +Calling this API servive with my account details +https://github-readme-stats.vercel.app/api?username=emeraldjava&show_icons=true&count_private=true returns a neat embedded image. +Thanks Damien +To ensure the image gets space, we add it to a table. +TODO - create a gatsby plugin which takes the url and embeds the image.
      github +Created +Sun, 25 Apr 2021 00:00:00 +0000
    +
    \ No newline at end of file diff --git a/tags/github/index.xml b/tags/github/index.xml new file mode 100644 index 00000000..1113467d --- /dev/null +++ b/tags/github/index.xml @@ -0,0 +1,6 @@ +github on Posts from emeraldjavahttps://emeraldjava.github.io/tags/github/Recent content in github on Posts from emeraldjavaHugo -- gohugo.ioen-usSun, 25 Apr 2021 00:00:00 +0000Github Readme Statshttps://emeraldjava.github.io/post/2021-04-25-github-readme-stats/Sun, 25 Apr 2021 00:00:00 +0000https://emeraldjava.github.io/post/2021-04-25-github-readme-stats/I was looking for a guide to configuring spring boot with spring batch admin which i found but then spotted a nice GitHub summary on damienbeaufils home page. +Calling this API servive with my account details +https://github-readme-stats.vercel.app/api?username=emeraldjava&amp;show_icons=true&amp;count_private=true returns a neat embedded image. +Thanks Damien +To ensure the image gets space, we add it to a table. +TODO - create a gatsby plugin which takes the url and embeds the image. \ No newline at end of file diff --git a/tags/github/page/1/index.html b/tags/github/page/1/index.html new file mode 100644 index 00000000..32ddc864 --- /dev/null +++ b/tags/github/page/1/index.html @@ -0,0 +1 @@ +https://emeraldjava.github.io/tags/github/ \ No newline at end of file diff --git a/tags/heroku/index.html b/tags/heroku/index.html new file mode 100644 index 00000000..c4f4ed76 --- /dev/null +++ b/tags/heroku/index.html @@ -0,0 +1,20 @@ + +heroku - Posts from emeraldjava +
    Avatar

    Organizations

    @twitter +@linkedin
    1 +results +for heroku
    • My setup for a java 11 spring-boot API service deployed on heroku. +Gatsby I’d to update this repo first since the deploy action failed with this error +Failed to resolve action download info. Error: Unable to resolve action `JamesIves/github-pages-deploy-action@master`, unable to find version `master` Retrying in 20.243 seconds Error: Unable to resolve action `JamesIves/github-pages-deploy-action@master`, unable to find version `master` See +https://github.com/emeraldjava/emeraldjava.github.io/runs/2374008241?check_suite_focus=true https://github.com/JamesIves/github-pages-deploy-action sdkman First install sdkman for managing java installs
      spring +heroku +Created +Sun, 18 Apr 2021 00:00:00 +0000
    +
    \ No newline at end of file diff --git a/tags/heroku/index.xml b/tags/heroku/index.xml new file mode 100644 index 00000000..b09d0d9d --- /dev/null +++ b/tags/heroku/index.xml @@ -0,0 +1,4 @@ +heroku on Posts from emeraldjavahttps://emeraldjava.github.io/tags/heroku/Recent content in heroku on Posts from emeraldjavaHugo -- gohugo.ioen-usSun, 18 Apr 2021 00:00:00 +0000emeraldjava api setuphttps://emeraldjava.github.io/post/2021-04-18-emeraldjava-api/Sun, 18 Apr 2021 00:00:00 +0000https://emeraldjava.github.io/post/2021-04-18-emeraldjava-api/My setup for a java 11 spring-boot API service deployed on heroku. +Gatsby I&rsquo;d to update this repo first since the deploy action failed with this error +Failed to resolve action download info. Error: Unable to resolve action `JamesIves/github-pages-deploy-action@master`, unable to find version `master` Retrying in 20.243 seconds Error: Unable to resolve action `JamesIves/github-pages-deploy-action@master`, unable to find version `master` See +https://github.com/emeraldjava/emeraldjava.github.io/runs/2374008241?check_suite_focus=true https://github.com/JamesIves/github-pages-deploy-action sdkman First install sdkman for managing java installs \ No newline at end of file diff --git a/tags/heroku/page/1/index.html b/tags/heroku/page/1/index.html new file mode 100644 index 00000000..cc1a76f7 --- /dev/null +++ b/tags/heroku/page/1/index.html @@ -0,0 +1 @@ +https://emeraldjava.github.io/tags/heroku/ \ No newline at end of file diff --git a/tags/index.html b/tags/index.html new file mode 100644 index 00000000..bbab011e --- /dev/null +++ b/tags/index.html @@ -0,0 +1,24 @@ + +Tags - Posts from emeraldjava +
    Avatar

    Organizations

    @twitter +@linkedin
    19 +results +for
    • Created +Mon, 01 Jan 0001 00:00:00 +0000
    • Created +Mon, 01 Jan 0001 00:00:00 +0000
    • Created +Mon, 01 Jan 0001 00:00:00 +0000
    • Created +Mon, 01 Jan 0001 00:00:00 +0000
    • Created +Mon, 01 Jan 0001 00:00:00 +0000
    • Created +Mon, 01 Jan 0001 00:00:00 +0000
    • Created +Mon, 01 Jan 0001 00:00:00 +0000
    • Created +Mon, 01 Jan 0001 00:00:00 +0000
    • Created +Mon, 01 Jan 0001 00:00:00 +0000
    • Created +Mon, 01 Jan 0001 00:00:00 +0000
    +Next
    \ No newline at end of file diff --git a/tags/index.xml b/tags/index.xml new file mode 100644 index 00000000..48e04e46 --- /dev/null +++ b/tags/index.xml @@ -0,0 +1 @@ +Tags on Posts from emeraldjavahttps://emeraldjava.github.io/tags/Recent content in Tags on Posts from emeraldjavaHugo -- gohugo.ioen-usThu, 23 Feb 2023 00:00:00 +0000dockerhttps://emeraldjava.github.io/tags/docker/Thu, 23 Feb 2023 00:00:00 +0000https://emeraldjava.github.io/tags/docker/synologyhttps://emeraldjava.github.io/tags/synology/Sun, 20 Nov 2022 00:00:00 +0000https://emeraldjava.github.io/tags/synology/socialhttps://emeraldjava.github.io/tags/social/Sat, 05 Nov 2022 00:00:00 +0000https://emeraldjava.github.io/tags/social/supabasehttps://emeraldjava.github.io/tags/supabase/Sat, 01 May 2021 00:00:00 +0000https://emeraldjava.github.io/tags/supabase/supabase devhttps://emeraldjava.github.io/tags/supabase-dev/Fri, 30 Apr 2021 00:00:00 +0000https://emeraldjava.github.io/tags/supabase-dev/githubhttps://emeraldjava.github.io/tags/github/Sun, 25 Apr 2021 00:00:00 +0000https://emeraldjava.github.io/tags/github/herokuhttps://emeraldjava.github.io/tags/heroku/Sun, 18 Apr 2021 00:00:00 +0000https://emeraldjava.github.io/tags/heroku/springhttps://emeraldjava.github.io/tags/spring/Sun, 18 Apr 2021 00:00:00 +0000https://emeraldjava.github.io/tags/spring/gatsbyhttps://emeraldjava.github.io/tags/gatsby/Sat, 20 Jun 2020 00:00:00 +0000https://emeraldjava.github.io/tags/gatsby/jekyllhttps://emeraldjava.github.io/tags/jekyll/Sat, 20 Jun 2020 00:00:00 +0000https://emeraldjava.github.io/tags/jekyll/stravahttps://emeraldjava.github.io/tags/strava/Mon, 11 May 2020 00:00:00 +0000https://emeraldjava.github.io/tags/strava/cyclehttps://emeraldjava.github.io/tags/cycle/Sun, 01 Dec 2019 00:00:00 +0000https://emeraldjava.github.io/tags/cycle/githttps://emeraldjava.github.io/tags/git/Sun, 01 Dec 2019 00:00:00 +0000https://emeraldjava.github.io/tags/git/javascripthttps://emeraldjava.github.io/tags/javascript/Sun, 01 Dec 2019 00:00:00 +0000https://emeraldjava.github.io/tags/javascript/runhttps://emeraldjava.github.io/tags/run/Wed, 13 Nov 2019 00:00:00 +0000https://emeraldjava.github.io/tags/run/javahttps://emeraldjava.github.io/tags/java/Wed, 25 Jan 2017 00:00:00 +0000https://emeraldjava.github.io/tags/java/nodejshttps://emeraldjava.github.io/tags/nodejs/Thu, 29 May 2014 00:00:00 +0000https://emeraldjava.github.io/tags/nodejs/marathonhttps://emeraldjava.github.io/tags/marathon/Sun, 02 May 2010 00:00:00 +0000https://emeraldjava.github.io/tags/marathon/oz2006https://emeraldjava.github.io/tags/oz2006/Fri, 02 Jun 2006 00:00:00 +0000https://emeraldjava.github.io/tags/oz2006/ \ No newline at end of file diff --git a/tags/java/index.html b/tags/java/index.html new file mode 100644 index 00000000..f391356d --- /dev/null +++ b/tags/java/index.html @@ -0,0 +1,22 @@ + +java - Posts from emeraldjava +
    Avatar

    Organizations

    @twitter +@linkedin
    2 +results +for java
    • Spring Boot - Web Security +public class HttpComponentsClientHttpRequestFactoryBasicAuth extends HttpComponentsClientHttpRequestFactory { private HttpHost host; public HttpComponentsClientHttpRequestFactoryBasicAuth(HttpHost host) { super(); this.host = host; } protected HttpContext createHttpContext(HttpMethod httpMethod, URI uri) { return createHttpContext(); } private HttpContext createHttpContext() { // Create AuthCache instance AuthCache authCache = new BasicAuthCache(); // Generate BASIC scheme object and add it to the local auth cache BasicScheme basicAuth = new BasicScheme(); authCache.put(host, basicAuth); // Add AuthCache to the execution context BasicHttpContext localcontext = new BasicHttpContext(); localcontext.
      spring +java +Created +Mon, 01 Jan 0001 00:00:00 +0000
    • Spring Boot - Web Security +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.builders.WebSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; @Configuration @EnableWebSecurity public class WebSecurityConfig extends WebSecurityConfigurerAdapter { //@Autowired public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception { auth.inMemoryAuthentication().withUser("admin").password("admin").roles("ADMIN"); auth.inMemoryAuthentication().withUser("user").password("user").roles("USER"); } //.csrf() is optional, enabled by default, if using WebSecurityConfigurerAdapter constructor @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests() .antMatchers("/daymember", "/export", "/header", "/list", "/member", "/menu", "/prereg").permitAll().anyRequest().authenticated() .and() .formLogin().loginPage("/login").permitAll().defaultSuccessUrl("/member") .and() .logout().permitAll(); } /** * http://stackoverflow.
      spring +java +Created +Mon, 01 Jan 0001 00:00:00 +0000
    +
    \ No newline at end of file diff --git a/tags/java/index.xml b/tags/java/index.xml new file mode 100644 index 00000000..b85edbeb --- /dev/null +++ b/tags/java/index.xml @@ -0,0 +1,3 @@ +java on Posts from emeraldjavahttps://emeraldjava.github.io/tags/java/Recent content in java on Posts from emeraldjavaHugo -- gohugo.ioen-usWed, 25 Jan 2017 00:00:00 +0000Spring Boot - Web Securityhttps://emeraldjava.github.io/post/2017/2017-01-24-spring-http-auth/Wed, 25 Jan 2017 00:00:00 +0000https://emeraldjava.github.io/post/2017/2017-01-24-spring-http-auth/Spring Boot - Web Security +public class HttpComponentsClientHttpRequestFactoryBasicAuth extends HttpComponentsClientHttpRequestFactory { private HttpHost host; public HttpComponentsClientHttpRequestFactoryBasicAuth(HttpHost host) { super(); this.host = host; } protected HttpContext createHttpContext(HttpMethod httpMethod, URI uri) { return createHttpContext(); } private HttpContext createHttpContext() { // Create AuthCache instance AuthCache authCache = new BasicAuthCache(); // Generate BASIC scheme object and add it to the local auth cache BasicScheme basicAuth = new BasicScheme(); authCache.put(host, basicAuth); // Add AuthCache to the execution context BasicHttpContext localcontext = new BasicHttpContext(); localcontext.Spring Boot - Web Securityhttps://emeraldjava.github.io/post/2017/2017-01-25-spring-boot-websecurity/Wed, 25 Jan 2017 00:00:00 +0000https://emeraldjava.github.io/post/2017/2017-01-25-spring-boot-websecurity/Spring Boot - Web Security +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.builders.WebSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; @Configuration @EnableWebSecurity public class WebSecurityConfig extends WebSecurityConfigurerAdapter { //@Autowired public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception { auth.inMemoryAuthentication().withUser(&#34;admin&#34;).password(&#34;admin&#34;).roles(&#34;ADMIN&#34;); auth.inMemoryAuthentication().withUser(&#34;user&#34;).password(&#34;user&#34;).roles(&#34;USER&#34;); } //.csrf() is optional, enabled by default, if using WebSecurityConfigurerAdapter constructor @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests() .antMatchers(&#34;/daymember&#34;, &#34;/export&#34;, &#34;/header&#34;, &#34;/list&#34;, &#34;/member&#34;, &#34;/menu&#34;, &#34;/prereg&#34;).permitAll().anyRequest().authenticated() .and() .formLogin().loginPage(&#34;/login&#34;).permitAll().defaultSuccessUrl(&#34;/member&#34;) .and() .logout().permitAll(); } /** * http://stackoverflow. \ No newline at end of file diff --git a/tags/java/page/1/index.html b/tags/java/page/1/index.html new file mode 100644 index 00000000..a0ec2061 --- /dev/null +++ b/tags/java/page/1/index.html @@ -0,0 +1 @@ +https://emeraldjava.github.io/tags/java/ \ No newline at end of file diff --git a/tags/javascript/index.html b/tags/javascript/index.html new file mode 100644 index 00000000..4d4326e3 --- /dev/null +++ b/tags/javascript/index.html @@ -0,0 +1,23 @@ + +javascript - Posts from emeraldjava +
    Avatar

    Organizations

    @twitter +@linkedin
    2 +results +for javascript
    • Add github actions to bhaa_woprdpress to run composer and then allow github-updater to run ion master website. +2019-12-22 : Test to see if this push works.
      git +javascript +cycle +Created +Sun, 01 Dec 2019 00:00:00 +0000
    • Migrating the site from jekyll to gatsby with github actions automatically updating the content.
      git +javascript +run +Created +Wed, 13 Nov 2019 00:00:00 +0000
    +
    \ No newline at end of file diff --git a/tags/javascript/index.xml b/tags/javascript/index.xml new file mode 100644 index 00000000..e0ad8777 --- /dev/null +++ b/tags/javascript/index.xml @@ -0,0 +1,2 @@ +javascript on Posts from emeraldjavahttps://emeraldjava.github.io/tags/javascript/Recent content in javascript on Posts from emeraldjavaHugo -- gohugo.ioen-usSun, 01 Dec 2019 00:00:00 +00002nd Posthttps://emeraldjava.github.io/post/2019-12-01-2nd-post/Sun, 01 Dec 2019 00:00:00 +0000https://emeraldjava.github.io/post/2019-12-01-2nd-post/Add github actions to bhaa_woprdpress to run composer and then allow github-updater to run ion master website. +2019-12-22 : Test to see if this push works.First Gatsby Posthttps://emeraldjava.github.io/post/2019-11-13-first-gatsby-post/Wed, 13 Nov 2019 00:00:00 +0000https://emeraldjava.github.io/post/2019-11-13-first-gatsby-post/Migrating the site from jekyll to gatsby with github actions automatically updating the content. \ No newline at end of file diff --git a/tags/javascript/page/1/index.html b/tags/javascript/page/1/index.html new file mode 100644 index 00000000..a78965a6 --- /dev/null +++ b/tags/javascript/page/1/index.html @@ -0,0 +1 @@ +https://emeraldjava.github.io/tags/javascript/ \ No newline at end of file diff --git a/tags/jekyll/index.html b/tags/jekyll/index.html new file mode 100644 index 00000000..17826aaf --- /dev/null +++ b/tags/jekyll/index.html @@ -0,0 +1,17 @@ + +jekyll - Posts from emeraldjava +
    Avatar

    Organizations

    @twitter +@linkedin
    1 +results +for jekyll
    +
    \ No newline at end of file diff --git a/tags/jekyll/index.xml b/tags/jekyll/index.xml new file mode 100644 index 00000000..6440afdc --- /dev/null +++ b/tags/jekyll/index.xml @@ -0,0 +1 @@ +jekyll on Posts from emeraldjavahttps://emeraldjava.github.io/tags/jekyll/Recent content in jekyll on Posts from emeraldjavaHugo -- gohugo.ioen-usSat, 20 Jun 2020 00:00:00 +0000Jekyll To Gatstbyhttps://emeraldjava.github.io/post/2020-06-20-jekyll-to-gatstby/Sat, 20 Jun 2020 00:00:00 +0000https://emeraldjava.github.io/post/2020-06-20-jekyll-to-gatstby/Jekyll To Gatstby \ No newline at end of file diff --git a/tags/jekyll/page/1/index.html b/tags/jekyll/page/1/index.html new file mode 100644 index 00000000..075997fb --- /dev/null +++ b/tags/jekyll/page/1/index.html @@ -0,0 +1 @@ +https://emeraldjava.github.io/tags/jekyll/ \ No newline at end of file diff --git a/tags/marathon/index.html b/tags/marathon/index.html new file mode 100644 index 00000000..f6ed6fc4 --- /dev/null +++ b/tags/marathon/index.html @@ -0,0 +1,16 @@ + +marathon - Posts from emeraldjava +
    Avatar

    Organizations

    @twitter +@linkedin
    1 +results +for marathon
    +
    \ No newline at end of file diff --git a/tags/marathon/index.xml b/tags/marathon/index.xml new file mode 100644 index 00000000..bcfbab06 --- /dev/null +++ b/tags/marathon/index.xml @@ -0,0 +1 @@ +marathon on Posts from emeraldjavahttps://emeraldjava.github.io/tags/marathon/Recent content in marathon on Posts from emeraldjavaHugo -- gohugo.ioen-usSun, 02 May 2010 00:00:00 +0000Stockholm Medalhttps://emeraldjava.github.io/post/2010/2010-05-02-stockholm-medal/Sun, 02 May 2010 00:00:00 +0000https://emeraldjava.github.io/post/2010/2010-05-02-stockholm-medal/ Stockholm Marathon Medal 2010 \ No newline at end of file diff --git a/tags/marathon/page/1/index.html b/tags/marathon/page/1/index.html new file mode 100644 index 00000000..4eb79b6c --- /dev/null +++ b/tags/marathon/page/1/index.html @@ -0,0 +1 @@ +https://emeraldjava.github.io/tags/marathon/ \ No newline at end of file diff --git a/tags/nodejs/index.html b/tags/nodejs/index.html new file mode 100644 index 00000000..4746dec1 --- /dev/null +++ b/tags/nodejs/index.html @@ -0,0 +1,19 @@ + +nodejs - Posts from emeraldjava +
    Avatar

    Organizations

    @twitter +@linkedin
    1 +results +for nodejs
    • Notes from the www.nodejsdublin.com meeting in [https://www.engineyard.com/](Engine Yard), Barrow St, Dublin. +The topic this evening is “Building a Reverse Proxy With Node and Performing Scalability Testing On It” and is being presented by the guys from Citi bank. Seems they are hiring as well atm. +Back @engineyard for this months @nodejsdublin talk. Will add some notes here http://t.co/gkqa256XLp +— @emeraldjava@mastodon.ie (@emeraldjava) May 29, 2014 My poor attempt to win the spot prize of the evening by posting a photo to #nodejsdublin
      nodejs +Created +Thu, 29 May 2014 00:00:00 +0000
    +
    \ No newline at end of file diff --git a/tags/nodejs/index.xml b/tags/nodejs/index.xml new file mode 100644 index 00000000..8305471d --- /dev/null +++ b/tags/nodejs/index.xml @@ -0,0 +1,4 @@ +nodejs on Posts from emeraldjavahttps://emeraldjava.github.io/tags/nodejs/Recent content in nodejs on Posts from emeraldjavaHugo -- gohugo.ioen-usThu, 29 May 2014 00:00:00 +0000Node JS Meetup May 2014https://emeraldjava.github.io/post/2014/2014-05-29-node-js-meetup-may-2014/Thu, 29 May 2014 00:00:00 +0000https://emeraldjava.github.io/post/2014/2014-05-29-node-js-meetup-may-2014/Notes from the www.nodejsdublin.com meeting in [https://www.engineyard.com/](Engine Yard), Barrow St, Dublin. +The topic this evening is &ldquo;Building a Reverse Proxy With Node and Performing Scalability Testing On It&rdquo; and is being presented by the guys from Citi bank. Seems they are hiring as well atm. +Back @engineyard for this months @nodejsdublin talk. Will add some notes here http://t.co/gkqa256XLp +&mdash; @emeraldjava@mastodon.ie (@emeraldjava) May 29, 2014 My poor attempt to win the spot prize of the evening by posting a photo to #nodejsdublin \ No newline at end of file diff --git a/tags/nodejs/page/1/index.html b/tags/nodejs/page/1/index.html new file mode 100644 index 00000000..8e71a105 --- /dev/null +++ b/tags/nodejs/page/1/index.html @@ -0,0 +1 @@ +https://emeraldjava.github.io/tags/nodejs/ \ No newline at end of file diff --git a/tags/oz2006/index.html b/tags/oz2006/index.html new file mode 100644 index 00000000..d3f2d399 --- /dev/null +++ b/tags/oz2006/index.html @@ -0,0 +1,32 @@ + +oz2006 - Posts from emeraldjava +
    Avatar

    Organizations

    @twitter +@linkedin
    5 +results +for oz2006
    • Chapel Street Backpacker The first 20km was on a dedicated bike lane, with the only hazards being the morning pram walkers. Joined the Nepean highway near chelsea and followed it down via Frankston, Mornington and St Marta. The bike lane on the main road was really wide and most vehicals gave me plently of room. +2006-06-02-beach Hauling the fully loaded bags on the bike finally kicked in about 40km. I was expecting the first couple of days to be tough, but not this bad this early.
      cycle +oz2006 +Created +Fri, 02 Jun 2006 00:00:00 +0000
    • Just chilled around melbourne again today, sorted an aussie mobile number [0448 997 380 ] and some replacement tubes for the bike. Toured around CBD, victoria market, richmond, fitzroy and the MCG today. +2006-06-01 The plan tomorrow is to cycle down the Mornington Peninsula, use the ferry to cross the bay and spend the night in Torquay.
      cycle +oz2006 +Created +Thu, 01 Jun 2006 00:00:00 +0000
    • Moved to a hostel in St Kilda today for 2 nights, the CBD is dead at night. Spent the rest of the day touring around melbourne, its so easy having your own transport to just skip past places. Did a lap of the albert park grand prix circuit, not sure if i was on the same pace as the F1 dudes. Picture of the Melbourne skyline taken from albert park in the last afternoon.
      cycle +oz2006 +Created +Wed, 31 May 2006 00:00:00 +0000
    • In Hong Kong International airport for a 2 hour stopover before the final leg of the flight to melbourne, which should get me there for 19.30 this evening. +2006-05-30 Interesting landing into melbourne, I’m looking out the window to see the city lights expecting to have a nice view for a few minutes before we touch down, but first lights i see are the airport lights. There a bit close i’m thinking, when next thing the plane slaps the runway like a tonne of bricks, or metal hitting the ground.
      cycle +oz2006 +Created +Tue, 30 May 2006 00:00:00 +0000
    • Monday 29th May 2006 Flew from London Heathrow T4 (12.20pm) to Hong Kong with Quantas today.
      cycle +oz2006 +Created +Mon, 29 May 2006 00:00:00 +0000
    +
    \ No newline at end of file diff --git a/tags/oz2006/index.xml b/tags/oz2006/index.xml new file mode 100644 index 00000000..959442af --- /dev/null +++ b/tags/oz2006/index.xml @@ -0,0 +1,4 @@ +oz2006 on Posts from emeraldjavahttps://emeraldjava.github.io/tags/oz2006/Recent content in oz2006 on Posts from emeraldjavaHugo -- gohugo.ioen-usFri, 02 Jun 2006 00:00:00 +0000June 2nd 2006 - Melbourne to Sorrentohttps://emeraldjava.github.io/post/2006/2006-06-02-melbourne-to-sorrento/Fri, 02 Jun 2006 00:00:00 +0000https://emeraldjava.github.io/post/2006/2006-06-02-melbourne-to-sorrento/Chapel Street Backpacker The first 20km was on a dedicated bike lane, with the only hazards being the morning pram walkers. Joined the Nepean highway near chelsea and followed it down via Frankston, Mornington and St Marta. The bike lane on the main road was really wide and most vehicals gave me plently of room. +2006-06-02-beach Hauling the fully loaded bags on the bike finally kicked in about 40km. I was expecting the first couple of days to be tough, but not this bad this early.Thursday 1st June 2006https://emeraldjava.github.io/post/2006/2006-06-01-thursday-1st-june/Thu, 01 Jun 2006 00:00:00 +0000https://emeraldjava.github.io/post/2006/2006-06-01-thursday-1st-june/Just chilled around melbourne again today, sorted an aussie mobile number [0448 997 380 ] and some replacement tubes for the bike. Toured around CBD, victoria market, richmond, fitzroy and the MCG today. +2006-06-01 The plan tomorrow is to cycle down the Mornington Peninsula, use the ferry to cross the bay and spend the night in Torquay.Wednesday 31th May 2006https://emeraldjava.github.io/post/2006/2006-05-31-wednesday-31th-may/Wed, 31 May 2006 00:00:00 +0000https://emeraldjava.github.io/post/2006/2006-05-31-wednesday-31th-may/Moved to a hostel in St Kilda today for 2 nights, the CBD is dead at night. Spent the rest of the day touring around melbourne, its so easy having your own transport to just skip past places. Did a lap of the albert park grand prix circuit, not sure if i was on the same pace as the F1 dudes. Picture of the Melbourne skyline taken from albert park in the last afternoon.Tuesday 30th May 2006https://emeraldjava.github.io/post/2006/2006-05-30-tuesday-30th-may/Tue, 30 May 2006 00:00:00 +0000https://emeraldjava.github.io/post/2006/2006-05-30-tuesday-30th-may/In Hong Kong International airport for a 2 hour stopover before the final leg of the flight to melbourne, which should get me there for 19.30 this evening. +2006-05-30 Interesting landing into melbourne, I&rsquo;m looking out the window to see the city lights expecting to have a nice view for a few minutes before we touch down, but first lights i see are the airport lights. There a bit close i&rsquo;m thinking, when next thing the plane slaps the runway like a tonne of bricks, or metal hitting the ground.Monday 29th May 2006https://emeraldjava.github.io/post/2006/2006-05-29-monday-29th-may/Mon, 29 May 2006 00:00:00 +0000https://emeraldjava.github.io/post/2006/2006-05-29-monday-29th-may/Monday 29th May 2006 Flew from London Heathrow T4 (12.20pm) to Hong Kong with Quantas today. \ No newline at end of file diff --git a/tags/oz2006/page/1/index.html b/tags/oz2006/page/1/index.html new file mode 100644 index 00000000..64c10345 --- /dev/null +++ b/tags/oz2006/page/1/index.html @@ -0,0 +1 @@ +https://emeraldjava.github.io/tags/oz2006/ \ No newline at end of file diff --git a/tags/page/1/index.html b/tags/page/1/index.html new file mode 100644 index 00000000..5fc02af5 --- /dev/null +++ b/tags/page/1/index.html @@ -0,0 +1 @@ +https://emeraldjava.github.io/tags/ \ No newline at end of file diff --git a/tags/page/2/index.html b/tags/page/2/index.html new file mode 100644 index 00000000..496be380 --- /dev/null +++ b/tags/page/2/index.html @@ -0,0 +1,23 @@ + +Tags - Posts from emeraldjava +
    Avatar

    Organizations

    @twitter +@linkedin
    19 +results +for
    • Created +Mon, 01 Jan 0001 00:00:00 +0000
    • Created +Mon, 01 Jan 0001 00:00:00 +0000
    • Created +Mon, 01 Jan 0001 00:00:00 +0000
    • Created +Mon, 01 Jan 0001 00:00:00 +0000
    • Created +Mon, 01 Jan 0001 00:00:00 +0000
    • Created +Mon, 01 Jan 0001 00:00:00 +0000
    • Created +Mon, 01 Jan 0001 00:00:00 +0000
    • Created +Mon, 01 Jan 0001 00:00:00 +0000
    • Created +Mon, 01 Jan 0001 00:00:00 +0000
    Previous +
    \ No newline at end of file diff --git a/tags/run/index.html b/tags/run/index.html new file mode 100644 index 00000000..18921d3c --- /dev/null +++ b/tags/run/index.html @@ -0,0 +1,18 @@ + +run - Posts from emeraldjava +
    Avatar

    Organizations

    @twitter +@linkedin
    1 +results +for run
    • Migrating the site from jekyll to gatsby with github actions automatically updating the content.
      git +javascript +run +Created +Wed, 13 Nov 2019 00:00:00 +0000
    +
    \ No newline at end of file diff --git a/tags/run/index.xml b/tags/run/index.xml new file mode 100644 index 00000000..22e08f37 --- /dev/null +++ b/tags/run/index.xml @@ -0,0 +1 @@ +run on Posts from emeraldjavahttps://emeraldjava.github.io/tags/run/Recent content in run on Posts from emeraldjavaHugo -- gohugo.ioen-usWed, 13 Nov 2019 00:00:00 +0000First Gatsby Posthttps://emeraldjava.github.io/post/2019-11-13-first-gatsby-post/Wed, 13 Nov 2019 00:00:00 +0000https://emeraldjava.github.io/post/2019-11-13-first-gatsby-post/Migrating the site from jekyll to gatsby with github actions automatically updating the content. \ No newline at end of file diff --git a/tags/run/page/1/index.html b/tags/run/page/1/index.html new file mode 100644 index 00000000..8abeeee4 --- /dev/null +++ b/tags/run/page/1/index.html @@ -0,0 +1 @@ +https://emeraldjava.github.io/tags/run/ \ No newline at end of file diff --git a/tags/social/index.html b/tags/social/index.html new file mode 100644 index 00000000..0cb8083c --- /dev/null +++ b/tags/social/index.html @@ -0,0 +1,17 @@ + +social - Posts from emeraldjava +
    Avatar

    Organizations

    @twitter +@linkedin
    1 +results +for social
    • Moving to mastodon. +Docker Extension https://www.jerriepelser.com/blog/sorting-out-gatsby-folder-structure/ https://www.acuriousanimal.com/blog/20191003/from-jekyll-to-gatsby https://dev.to/deborahd/from-jekyll-to-gatsby-7-simple-steps-3an5
      social +Created +Sat, 05 Nov 2022 00:00:00 +0000
    +
    \ No newline at end of file diff --git a/tags/social/index.xml b/tags/social/index.xml new file mode 100644 index 00000000..9a7b9437 --- /dev/null +++ b/tags/social/index.xml @@ -0,0 +1,2 @@ +social on Posts from emeraldjavahttps://emeraldjava.github.io/tags/social/Recent content in social on Posts from emeraldjavaHugo -- gohugo.ioen-usSat, 05 Nov 2022 00:00:00 +0000emeraldjava@mastodon.iehttps://emeraldjava.github.io/post/2022/2022-11-05-hello-mastodon-ie/Sat, 05 Nov 2022 00:00:00 +0000https://emeraldjava.github.io/post/2022/2022-11-05-hello-mastodon-ie/Moving to mastodon. +Docker Extension https://www.jerriepelser.com/blog/sorting-out-gatsby-folder-structure/ https://www.acuriousanimal.com/blog/20191003/from-jekyll-to-gatsby https://dev.to/deborahd/from-jekyll-to-gatsby-7-simple-steps-3an5 \ No newline at end of file diff --git a/tags/social/page/1/index.html b/tags/social/page/1/index.html new file mode 100644 index 00000000..61f83e34 --- /dev/null +++ b/tags/social/page/1/index.html @@ -0,0 +1 @@ +https://emeraldjava.github.io/tags/social/ \ No newline at end of file diff --git a/tags/spring/index.html b/tags/spring/index.html new file mode 100644 index 00000000..0b61295c --- /dev/null +++ b/tags/spring/index.html @@ -0,0 +1,28 @@ + +spring - Posts from emeraldjava +
    Avatar

    Organizations

    @twitter +@linkedin
    3 +results +for spring
    • My setup for a java 11 spring-boot API service deployed on heroku. +Gatsby I’d to update this repo first since the deploy action failed with this error +Failed to resolve action download info. Error: Unable to resolve action `JamesIves/github-pages-deploy-action@master`, unable to find version `master` Retrying in 20.243 seconds Error: Unable to resolve action `JamesIves/github-pages-deploy-action@master`, unable to find version `master` See +https://github.com/emeraldjava/emeraldjava.github.io/runs/2374008241?check_suite_focus=true https://github.com/JamesIves/github-pages-deploy-action sdkman First install sdkman for managing java installs
      spring +heroku +Created +Sun, 18 Apr 2021 00:00:00 +0000
    • Spring Boot - Web Security +public class HttpComponentsClientHttpRequestFactoryBasicAuth extends HttpComponentsClientHttpRequestFactory { private HttpHost host; public HttpComponentsClientHttpRequestFactoryBasicAuth(HttpHost host) { super(); this.host = host; } protected HttpContext createHttpContext(HttpMethod httpMethod, URI uri) { return createHttpContext(); } private HttpContext createHttpContext() { // Create AuthCache instance AuthCache authCache = new BasicAuthCache(); // Generate BASIC scheme object and add it to the local auth cache BasicScheme basicAuth = new BasicScheme(); authCache.put(host, basicAuth); // Add AuthCache to the execution context BasicHttpContext localcontext = new BasicHttpContext(); localcontext.
      spring +java +Created +Mon, 01 Jan 0001 00:00:00 +0000
    • Spring Boot - Web Security +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.builders.WebSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; @Configuration @EnableWebSecurity public class WebSecurityConfig extends WebSecurityConfigurerAdapter { //@Autowired public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception { auth.inMemoryAuthentication().withUser("admin").password("admin").roles("ADMIN"); auth.inMemoryAuthentication().withUser("user").password("user").roles("USER"); } //.csrf() is optional, enabled by default, if using WebSecurityConfigurerAdapter constructor @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests() .antMatchers("/daymember", "/export", "/header", "/list", "/member", "/menu", "/prereg").permitAll().anyRequest().authenticated() .and() .formLogin().loginPage("/login").permitAll().defaultSuccessUrl("/member") .and() .logout().permitAll(); } /** * http://stackoverflow.
      spring +java +Created +Mon, 01 Jan 0001 00:00:00 +0000
    +
    \ No newline at end of file diff --git a/tags/spring/index.xml b/tags/spring/index.xml new file mode 100644 index 00000000..c02a0ed7 --- /dev/null +++ b/tags/spring/index.xml @@ -0,0 +1,6 @@ +spring on Posts from emeraldjavahttps://emeraldjava.github.io/tags/spring/Recent content in spring on Posts from emeraldjavaHugo -- gohugo.ioen-usSun, 18 Apr 2021 00:00:00 +0000emeraldjava api setuphttps://emeraldjava.github.io/post/2021-04-18-emeraldjava-api/Sun, 18 Apr 2021 00:00:00 +0000https://emeraldjava.github.io/post/2021-04-18-emeraldjava-api/My setup for a java 11 spring-boot API service deployed on heroku. +Gatsby I&rsquo;d to update this repo first since the deploy action failed with this error +Failed to resolve action download info. Error: Unable to resolve action `JamesIves/github-pages-deploy-action@master`, unable to find version `master` Retrying in 20.243 seconds Error: Unable to resolve action `JamesIves/github-pages-deploy-action@master`, unable to find version `master` See +https://github.com/emeraldjava/emeraldjava.github.io/runs/2374008241?check_suite_focus=true https://github.com/JamesIves/github-pages-deploy-action sdkman First install sdkman for managing java installsSpring Boot - Web Securityhttps://emeraldjava.github.io/post/2017/2017-01-24-spring-http-auth/Wed, 25 Jan 2017 00:00:00 +0000https://emeraldjava.github.io/post/2017/2017-01-24-spring-http-auth/Spring Boot - Web Security +public class HttpComponentsClientHttpRequestFactoryBasicAuth extends HttpComponentsClientHttpRequestFactory { private HttpHost host; public HttpComponentsClientHttpRequestFactoryBasicAuth(HttpHost host) { super(); this.host = host; } protected HttpContext createHttpContext(HttpMethod httpMethod, URI uri) { return createHttpContext(); } private HttpContext createHttpContext() { // Create AuthCache instance AuthCache authCache = new BasicAuthCache(); // Generate BASIC scheme object and add it to the local auth cache BasicScheme basicAuth = new BasicScheme(); authCache.put(host, basicAuth); // Add AuthCache to the execution context BasicHttpContext localcontext = new BasicHttpContext(); localcontext.Spring Boot - Web Securityhttps://emeraldjava.github.io/post/2017/2017-01-25-spring-boot-websecurity/Wed, 25 Jan 2017 00:00:00 +0000https://emeraldjava.github.io/post/2017/2017-01-25-spring-boot-websecurity/Spring Boot - Web Security +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.builders.WebSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; @Configuration @EnableWebSecurity public class WebSecurityConfig extends WebSecurityConfigurerAdapter { //@Autowired public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception { auth.inMemoryAuthentication().withUser(&#34;admin&#34;).password(&#34;admin&#34;).roles(&#34;ADMIN&#34;); auth.inMemoryAuthentication().withUser(&#34;user&#34;).password(&#34;user&#34;).roles(&#34;USER&#34;); } //.csrf() is optional, enabled by default, if using WebSecurityConfigurerAdapter constructor @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests() .antMatchers(&#34;/daymember&#34;, &#34;/export&#34;, &#34;/header&#34;, &#34;/list&#34;, &#34;/member&#34;, &#34;/menu&#34;, &#34;/prereg&#34;).permitAll().anyRequest().authenticated() .and() .formLogin().loginPage(&#34;/login&#34;).permitAll().defaultSuccessUrl(&#34;/member&#34;) .and() .logout().permitAll(); } /** * http://stackoverflow. \ No newline at end of file diff --git a/tags/spring/page/1/index.html b/tags/spring/page/1/index.html new file mode 100644 index 00000000..289eacbd --- /dev/null +++ b/tags/spring/page/1/index.html @@ -0,0 +1 @@ +https://emeraldjava.github.io/tags/spring/ \ No newline at end of file diff --git a/tags/strava/index.html b/tags/strava/index.html new file mode 100644 index 00000000..373482d8 --- /dev/null +++ b/tags/strava/index.html @@ -0,0 +1,18 @@ + +strava - Posts from emeraldjava +
    Avatar

    Organizations

    @twitter +@linkedin
    1 +results +for strava
    • Some notes on creating a Strava feed via Gatstby +https://www.gatsbyjs.org/packages/gatsby-source-strava/ https://mark.ie/blog/build-a-netlify-hosted-github-auto-deploying-gatsby-based-website-to-display-your-strava-data https://github.com/markconroy/strava-marky/blob/master/package.json
      gatsby +strava +Created +Mon, 11 May 2020 00:00:00 +0000
    +
    \ No newline at end of file diff --git a/tags/strava/index.xml b/tags/strava/index.xml new file mode 100644 index 00000000..d5f0b232 --- /dev/null +++ b/tags/strava/index.xml @@ -0,0 +1,2 @@ +strava on Posts from emeraldjavahttps://emeraldjava.github.io/tags/strava/Recent content in strava on Posts from emeraldjavaHugo -- gohugo.ioen-usMon, 11 May 2020 00:00:00 +0000Gatsby Stravahttps://emeraldjava.github.io/post/2020-05-11-gatsby-strava/Mon, 11 May 2020 00:00:00 +0000https://emeraldjava.github.io/post/2020-05-11-gatsby-strava/Some notes on creating a Strava feed via Gatstby +https://www.gatsbyjs.org/packages/gatsby-source-strava/ https://mark.ie/blog/build-a-netlify-hosted-github-auto-deploying-gatsby-based-website-to-display-your-strava-data https://github.com/markconroy/strava-marky/blob/master/package.json \ No newline at end of file diff --git a/tags/strava/page/1/index.html b/tags/strava/page/1/index.html new file mode 100644 index 00000000..0edfd020 --- /dev/null +++ b/tags/strava/page/1/index.html @@ -0,0 +1 @@ +https://emeraldjava.github.io/tags/strava/ \ No newline at end of file diff --git a/tags/supabase-dev/index.html b/tags/supabase-dev/index.html new file mode 100644 index 00000000..813d2597 --- /dev/null +++ b/tags/supabase-dev/index.html @@ -0,0 +1,22 @@ + +supabase dev - Posts from emeraldjava +
    Avatar

    Organizations

    @twitter +@linkedin
    1 +results +for supabase dev
    • Started looking supabase.io to get access to a Postgres DB as a service and play with their javascript UI client. +See https://github.com/AlanLyttonJones/Age-Grade-Tables +Carbon See carbon.now.sh +blob:https://carbon.now.sh/72027f28-1ae5-48c5-ba73-cb130ceca298 +Upgrading Gatsby https://www.gatsbyjs.com/docs/reference/release-notes/migrating-from-v2-to-v3/ https://github.com/gatsbyjs/gatsby-starter-default +npm install gatsby-plugin-image gatsby-plugin-sharp gatsby-source-filesystem gatsby-transformer-sharp From https://letscodepare.com/blog/npm-resolving-eacces-permissions-denied run commands +sudo chown -R $(whoami) ~/.npm sudo chown -R $(whoami) /usr/local/lib/node_modules/ https://www.gatsbyjs.com/starters/gatsbyjs/gatsby-starter-blog/
      supabase dev +Created +Fri, 30 Apr 2021 00:00:00 +0000
    +
    \ No newline at end of file diff --git a/tags/supabase-dev/index.xml b/tags/supabase-dev/index.xml new file mode 100644 index 00000000..00c207f0 --- /dev/null +++ b/tags/supabase-dev/index.xml @@ -0,0 +1,7 @@ +supabase dev on Posts from emeraldjavahttps://emeraldjava.github.io/tags/supabase-dev/Recent content in supabase dev on Posts from emeraldjavaHugo -- gohugo.ioen-usFri, 30 Apr 2021 00:00:00 +0000Supabase Starterhttps://emeraldjava.github.io/post/2021-04-30-supabase-starter/Fri, 30 Apr 2021 00:00:00 +0000https://emeraldjava.github.io/post/2021-04-30-supabase-starter/Started looking supabase.io to get access to a Postgres DB as a service and play with their javascript UI client. +See https://github.com/AlanLyttonJones/Age-Grade-Tables +Carbon See carbon.now.sh +blob:https://carbon.now.sh/72027f28-1ae5-48c5-ba73-cb130ceca298 +Upgrading Gatsby https://www.gatsbyjs.com/docs/reference/release-notes/migrating-from-v2-to-v3/ https://github.com/gatsbyjs/gatsby-starter-default +npm install gatsby-plugin-image gatsby-plugin-sharp gatsby-source-filesystem gatsby-transformer-sharp From https://letscodepare.com/blog/npm-resolving-eacces-permissions-denied run commands +sudo chown -R $(whoami) ~/.npm sudo chown -R $(whoami) /usr/local/lib/node_modules/ https://www.gatsbyjs.com/starters/gatsbyjs/gatsby-starter-blog/ \ No newline at end of file diff --git a/tags/supabase-dev/page/1/index.html b/tags/supabase-dev/page/1/index.html new file mode 100644 index 00000000..7f45a0c1 --- /dev/null +++ b/tags/supabase-dev/page/1/index.html @@ -0,0 +1 @@ +https://emeraldjava.github.io/tags/supabase-dev/ \ No newline at end of file diff --git a/tags/supabase/index.html b/tags/supabase/index.html new file mode 100644 index 00000000..9172a3da --- /dev/null +++ b/tags/supabase/index.html @@ -0,0 +1,39 @@ + +supabase - Posts from emeraldjava +
    Avatar

    Organizations

    @twitter +@linkedin
    3 +results +for supabase
    • Use ‘openapi-typescript’ to generate interface types from the supabase swagger spec. +https://supabase.io/blog/2021/03/31/supabase-cli +npx @manifoldco/swagger-to-ts https://your-project.supabase.co/rest/v1/?apikey=your-anon-key –output types/supabase.ts +npx openapi-typescript https://dknnvxorlinqzsoxyvhz.supabase.co/rest/v1/?apikey=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlIjoiYW5vbiIsImlhdCI6MTYxOTc4NTU0NiwiZXhwIjoxOTM1MzYxNTQ2fQ.Xz1M8djivXrSH4UG98eu1btGmBzMSa04-9fcDX1rZ3A --output types/supabase.ts npx openapi-typescript <SUPABASE_URL>/rest/v1/?apikey=<SUPABASE_ANON_KEY> –output types/supabase.ts
      supabase +Created +Sat, 01 May 2021 00:00:00 +0000
    • Enabling strava plugin again +https://swas.io/blog/using-multiple-queries-on-gatsbyjs-createpages-node-api/ +running two gatsby create page functions in gatby-node.js +https://stackoverflow.com/questions/57748844/how-do-i-use-multiple-createpage-routes-in-gatsby-node-js https://stackoverflow.com/questions/64536170/how-to-create-multiple-page-types-dynamically-in-gatsby-node-js https://swas.io/blog/using-multiple-queries-on-gatsbyjs-createpages-node-api/ https://gist.github.com/tanaypratap/c676022402d4fadbe1dad4c1b1a78c21 My .env file looks like +STRAVA_CLIENT_ID=xxxx STRAVA_CLIENT_SECRET=78..78 STRAVA_TOKEN={"access_token":"8a..b2","refresh_token":"ij..gy","expires_at":1581439030,"expires_in":21600} token https://yizeng.me/2017/01/11/get-a-strava-api-access-token-with-write-permission/ +generate token +STRAVA_CLIENT_ID=4945 STRAVA_CLIENT_SECRET=cd72dfedc320fd098fc2d5cf9af51c245fd9b042 STRAVA_TOKEN={“access_token”:“503671acabaf6e27d8aa5ed49dbb22cd3f31748b”,“refresh_token”:“2706dca4b78c29353ed03267c0df2f41759a0c68”,“expires_at”:1581439030,“expires_in”:21600} +1 - +http://www.strava.com/oauth/authorize?client_id=4945&response_type=code&redirect_uri=http://localhost/exchange_token&approval_prompt=force&scope=read_all,profile:read_all,activity:read_all +returns +http://localhost/exchange_token?state=&code=3135adf3d092a54b2c9952978757adc4dee11c07&scope=read,activity:read_all,profile:read_all,read_all +code=3135adf3d092a54b2c9952978757adc4dee11c07 +2 Run CURL to +curl -X POST https://www.strava.com/oauth/token -F client_id=4945 -F client_secret=cd72dfedc320fd098fc2d5cf9af51c245fd9b042 -F code=3135adf3d092a54b2c9952978757adc4dee11c07 -F grant_type=authorization_code +{“token_type”:“Bearer”, “expires_at”:1621798403,“expires_in”:21600, “refresh_token”:“f84937f098dc675364aed4b65acb9e66bf30924c”, “access_token”:“b898fbd9ea915f5a3b34cc8876dc0c9f3bca049b”, +“athlete”:{“id”:7035778,“username”:“emeraldjava”,“resource_state”:2,“firstname”:“emerald”,“lastname”:“java”,“bio”:"",“city”:“Dublin”,“state”:“Dublin”,“country”:“Ireland”,“sex”:“M”,“premium”:true,“summit”:true,“created_at”:“2014-11-09T16:06:10Z”,“updated_at”:“2021-05-23T13:03:13Z”,“badge_type_id”:1,“weight”:73.4,“profile_medium”:“https://dgalywyr863hv.cloudfront.net/pictures/athletes/7035778/2122161/2/medium.jpg","profile":"https://dgalywyr863hv.cloudfront.net/pictures/athletes/7035778/2122161/2/large.jpg","friend":null,"follower":null}}%
      supabase +Created +Sat, 01 May 2021 00:00:00 +0000
    • Playing with the basic supabase js client in a vanilla HTML page before I start the angular app development. Updated gatsby versions and installed the embedded gist plugin. +gist:emeraldjava/0541eaa0341605fa276048ac9ce91ab2
      supabase +Created +Sat, 01 May 2021 00:00:00 +0000
    +
    \ No newline at end of file diff --git a/tags/supabase/index.xml b/tags/supabase/index.xml new file mode 100644 index 00000000..eee4943d --- /dev/null +++ b/tags/supabase/index.xml @@ -0,0 +1,20 @@ +supabase on Posts from emeraldjavahttps://emeraldjava.github.io/tags/supabase/Recent content in supabase on Posts from emeraldjavaHugo -- gohugo.ioen-usSat, 01 May 2021 00:00:00 +0000openapi typescripthttps://emeraldjava.github.io/post/2021-05-11-subabase-openapi-typescript/Sat, 01 May 2021 00:00:00 +0000https://emeraldjava.github.io/post/2021-05-11-subabase-openapi-typescript/Use &lsquo;openapi-typescript&rsquo; to generate interface types from the supabase swagger spec. +https://supabase.io/blog/2021/03/31/supabase-cli +npx @manifoldco/swagger-to-ts https://your-project.supabase.co/rest/v1/?apikey=your-anon-key &ndash;output types/supabase.ts +npx openapi-typescript https://dknnvxorlinqzsoxyvhz.supabase.co/rest/v1/?apikey=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlIjoiYW5vbiIsImlhdCI6MTYxOTc4NTU0NiwiZXhwIjoxOTM1MzYxNTQ2fQ.Xz1M8djivXrSH4UG98eu1btGmBzMSa04-9fcDX1rZ3A --output types/supabase.ts npx openapi-typescript &lt;SUPABASE_URL&gt;/rest/v1/?apikey=&lt;SUPABASE_ANON_KEY&gt; &ndash;output types/supabase.tsopenapi typescripthttps://emeraldjava.github.io/post/2021-05-23-enable-strava-plugin/Sat, 01 May 2021 00:00:00 +0000https://emeraldjava.github.io/post/2021-05-23-enable-strava-plugin/Enabling strava plugin again +https://swas.io/blog/using-multiple-queries-on-gatsbyjs-createpages-node-api/ +running two gatsby create page functions in gatby-node.js +https://stackoverflow.com/questions/57748844/how-do-i-use-multiple-createpage-routes-in-gatsby-node-js https://stackoverflow.com/questions/64536170/how-to-create-multiple-page-types-dynamically-in-gatsby-node-js https://swas.io/blog/using-multiple-queries-on-gatsbyjs-createpages-node-api/ https://gist.github.com/tanaypratap/c676022402d4fadbe1dad4c1b1a78c21 My .env file looks like +STRAVA_CLIENT_ID=xxxx STRAVA_CLIENT_SECRET=78..78 STRAVA_TOKEN={&quot;access_token&quot;:&quot;8a..b2&quot;,&quot;refresh_token&quot;:&quot;ij..gy&quot;,&quot;expires_at&quot;:1581439030,&quot;expires_in&quot;:21600} token https://yizeng.me/2017/01/11/get-a-strava-api-access-token-with-write-permission/ +generate token +STRAVA_CLIENT_ID=4945 STRAVA_CLIENT_SECRET=cd72dfedc320fd098fc2d5cf9af51c245fd9b042 STRAVA_TOKEN={&ldquo;access_token&rdquo;:&ldquo;503671acabaf6e27d8aa5ed49dbb22cd3f31748b&rdquo;,&ldquo;refresh_token&rdquo;:&ldquo;2706dca4b78c29353ed03267c0df2f41759a0c68&rdquo;,&ldquo;expires_at&rdquo;:1581439030,&ldquo;expires_in&rdquo;:21600} +1 - +http://www.strava.com/oauth/authorize?client_id=4945&amp;response_type=code&amp;redirect_uri=http://localhost/exchange_token&amp;approval_prompt=force&amp;scope=read_all,profile:read_all,activity:read_all +returns +http://localhost/exchange_token?state=&amp;code=3135adf3d092a54b2c9952978757adc4dee11c07&amp;scope=read,activity:read_all,profile:read_all,read_all +code=3135adf3d092a54b2c9952978757adc4dee11c07 +2 Run CURL to +curl -X POST https://www.strava.com/oauth/token -F client_id=4945 -F client_secret=cd72dfedc320fd098fc2d5cf9af51c245fd9b042 -F code=3135adf3d092a54b2c9952978757adc4dee11c07 -F grant_type=authorization_code +{&ldquo;token_type&rdquo;:&ldquo;Bearer&rdquo;, &ldquo;expires_at&rdquo;:1621798403,&ldquo;expires_in&rdquo;:21600, &ldquo;refresh_token&rdquo;:&ldquo;f84937f098dc675364aed4b65acb9e66bf30924c&rdquo;, &ldquo;access_token&rdquo;:&ldquo;b898fbd9ea915f5a3b34cc8876dc0c9f3bca049b&rdquo;, +&ldquo;athlete&rdquo;:{&ldquo;id&rdquo;:7035778,&ldquo;username&rdquo;:&ldquo;emeraldjava&rdquo;,&ldquo;resource_state&rdquo;:2,&ldquo;firstname&rdquo;:&ldquo;emerald&rdquo;,&ldquo;lastname&rdquo;:&ldquo;java&rdquo;,&ldquo;bio&rdquo;:&quot;&quot;,&ldquo;city&rdquo;:&ldquo;Dublin&rdquo;,&ldquo;state&rdquo;:&ldquo;Dublin&rdquo;,&ldquo;country&rdquo;:&ldquo;Ireland&rdquo;,&ldquo;sex&rdquo;:&ldquo;M&rdquo;,&ldquo;premium&rdquo;:true,&ldquo;summit&rdquo;:true,&ldquo;created_at&rdquo;:&ldquo;2014-11-09T16:06:10Z&rdquo;,&ldquo;updated_at&rdquo;:&ldquo;2021-05-23T13:03:13Z&rdquo;,&ldquo;badge_type_id&rdquo;:1,&ldquo;weight&rdquo;:73.4,&ldquo;profile_medium&rdquo;:&ldquo;https://dgalywyr863hv.cloudfront.net/pictures/athletes/7035778/2122161/2/medium.jpg&quot;,&quot;profile&quot;:&quot;https://dgalywyr863hv.cloudfront.net/pictures/athletes/7035778/2122161/2/large.jpg&quot;,&quot;friend&quot;:null,&quot;follower&quot;:null}}%Supabase HTML Clienthttps://emeraldjava.github.io/post/2021-05-01-supabase-html-client/Sat, 01 May 2021 00:00:00 +0000https://emeraldjava.github.io/post/2021-05-01-supabase-html-client/Playing with the basic supabase js client in a vanilla HTML page before I start the angular app development. Updated gatsby versions and installed the embedded gist plugin. +gist:emeraldjava/0541eaa0341605fa276048ac9ce91ab2 \ No newline at end of file diff --git a/tags/supabase/page/1/index.html b/tags/supabase/page/1/index.html new file mode 100644 index 00000000..84c5a3a5 --- /dev/null +++ b/tags/supabase/page/1/index.html @@ -0,0 +1 @@ +https://emeraldjava.github.io/tags/supabase/ \ No newline at end of file diff --git a/tags/synology/index.html b/tags/synology/index.html new file mode 100644 index 00000000..09a36e8b --- /dev/null +++ b/tags/synology/index.html @@ -0,0 +1,34 @@ + +synology - Posts from emeraldjava +
    Avatar

    Organizations

    @twitter +@linkedin
    2 +results +for synology
    • Overview

      The following outline the steps i’ve taken to try and configure remote access to my synology home assistent instance.

      synology +Created +Sun, 20 Nov 2022 00:00:00 +0000
    • Setting up a SSH key for synology +Router - port forward the SSH port +https://www.chainsawonatireswing.com/2012/01/15/ssh-into-your-synology-diskstation-with-ssh-keys//?from=@ +http://superuser.com/questions/736055/ssh-with-no-password-passwordless-on-synology-dsm-5-as-other-non-root-user +https://www.synology.com/en-global/knowledgebase/DSM/tutorial/General/How_to_login_to_DSM_with_root_permission_via_SSH_Telnet +http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-password-using-ssh-keygen-ssh-copy-id +ssh-copy-id -i ~/.ssh/id_dsa.pub "user@host -p 6842" From http://askubuntu.com/questions/224190/how-can-i-make-ssh-copy-id-use-a-port-other-than-22 +docker stuff +http://www.jinkit.com/docker-on-synology/ https://www.campalus.com/enable-remote-tcp-connections-to-docker-host-running-ubuntu-15-04/ +SSL Certs +https://stefandingemanse.nl/how-to-use-lets-encrypt-ssl-certificate-on-synology-dsm/ +https://forums.plex.tv/discussion/200002/add-custom-ssl-certs-now-available-for-everyone-how-to +openssl pkcs12 -export -out archive.pfx -inkey privkey.pem -in cert.pem -certfile chain.pem openssl pkcs12 -export -out emeraldjava.noip.me.pfx -inkey privkey.pem -in cert.pem -certfile chain.pem -name “emeraldjava.noip.me” +/volume1/homes/admin/.ssh/archive.pfx ds1512 https://emeraldjava.noip.me:32400 +http://wesleysinstructions.weebly.com/ +https://community.letsencrypt.org/t/ssl-not-working-after-updating-letsencrypt-cert/18799/7 +https://emeraldjava.noip.me:32400/ Unable to communicate securely with peer: requested domain name does not match the server’s certificate.
      synology +Created +Sat, 28 Jan 2017 18:34:18 +0000
    +
    \ No newline at end of file diff --git a/tags/synology/index.xml b/tags/synology/index.xml new file mode 100644 index 00000000..6a931e19 --- /dev/null +++ b/tags/synology/index.xml @@ -0,0 +1,33 @@ +synology on Posts from emeraldjavahttps://emeraldjava.github.io/tags/synology/Recent content in synology on Posts from emeraldjavaHugo -- gohugo.ioen-usSun, 20 Nov 2022 00:00:00 +0000Synology and Remote Home Assistenthttps://emeraldjava.github.io/post/2022/2022-11-20-synology-home-assistent/Sun, 20 Nov 2022 00:00:00 +0000https://emeraldjava.github.io/post/2022/2022-11-20-synology-home-assistent/<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<ul> +<li><a href="#overview">Overview</a></li> +<li><a href="#test-urls">Test Urls</a></li> +<li><a href="#router-config">Router Config</a></li> +<li><a href="#synology-config">Synology Config</a> +<ul> +<li><a href="#external-access--ddns-settings">External Access &gt; DDNS Settings</a></li> +<li><a href="#application-portal--reverse-proxy">Application Portal &gt; Reverse Proxy</a></li> +<li><a href="#security--certificates">Security &gt; Certificates</a></li> +</ul> +</li> +</ul> +<!-- raw HTML omitted --> +<h1 id="overview">Overview</h1> +<p>The following outline the steps i&rsquo;ve taken to try and configure remote access to my synology home assistent instance.</p>Synology SSH Keyhttps://emeraldjava.github.io/post/2017/2017-01-28-synology-ssh-key/Sat, 28 Jan 2017 18:34:18 +0000https://emeraldjava.github.io/post/2017/2017-01-28-synology-ssh-key/Setting up a SSH key for synology +Router - port forward the SSH port +https://www.chainsawonatireswing.com/2012/01/15/ssh-into-your-synology-diskstation-with-ssh-keys//?from=@ +http://superuser.com/questions/736055/ssh-with-no-password-passwordless-on-synology-dsm-5-as-other-non-root-user +https://www.synology.com/en-global/knowledgebase/DSM/tutorial/General/How_to_login_to_DSM_with_root_permission_via_SSH_Telnet +http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-password-using-ssh-keygen-ssh-copy-id +ssh-copy-id -i ~/.ssh/id_dsa.pub &#34;user@host -p 6842&#34; From http://askubuntu.com/questions/224190/how-can-i-make-ssh-copy-id-use-a-port-other-than-22 +docker stuff +http://www.jinkit.com/docker-on-synology/ https://www.campalus.com/enable-remote-tcp-connections-to-docker-host-running-ubuntu-15-04/ +SSL Certs +https://stefandingemanse.nl/how-to-use-lets-encrypt-ssl-certificate-on-synology-dsm/ +https://forums.plex.tv/discussion/200002/add-custom-ssl-certs-now-available-for-everyone-how-to +openssl pkcs12 -export -out archive.pfx -inkey privkey.pem -in cert.pem -certfile chain.pem openssl pkcs12 -export -out emeraldjava.noip.me.pfx -inkey privkey.pem -in cert.pem -certfile chain.pem -name &ldquo;emeraldjava.noip.me&rdquo; +/volume1/homes/admin/.ssh/archive.pfx ds1512 https://emeraldjava.noip.me:32400 +http://wesleysinstructions.weebly.com/ +https://community.letsencrypt.org/t/ssl-not-working-after-updating-letsencrypt-cert/18799/7 +https://emeraldjava.noip.me:32400/ Unable to communicate securely with peer: requested domain name does not match the server’s certificate. \ No newline at end of file diff --git a/tags/synology/page/1/index.html b/tags/synology/page/1/index.html new file mode 100644 index 00000000..81400342 --- /dev/null +++ b/tags/synology/page/1/index.html @@ -0,0 +1 @@ +https://emeraldjava.github.io/tags/synology/ \ No newline at end of file diff --git a/themes/github-style b/themes/github-style deleted file mode 160000 index eee158a6..00000000 --- a/themes/github-style +++ /dev/null @@ -1 +0,0 @@ -Subproject commit eee158a6589288cf222bdca9be33c2a7d5bd69fd