├── bake.rb ├── setup ├── ruby │ └── srv │ │ └── http │ │ ├── public │ │ ├── test.txt │ │ └── small.txt │ │ └── config.ru ├── puma │ └── srv │ │ └── http │ │ └── gems.rb ├── falcon │ └── srv │ │ └── http │ │ ├── gems.rb │ │ └── falcon.rb ├── test │ ├── gems.rb │ └── bake │ │ └── benchmark.rb └── unicorn │ └── srv │ └── http │ ├── gems.rb │ └── config.rb ├── results ├── pages │ ├── links.yaml │ ├── _heading.xnode │ ├── errors │ │ ├── exception.xnode │ │ └── file-not-found.xnode │ ├── index.xnode │ ├── controller.rb │ ├── _page.xnode │ └── _chart.xnode ├── public │ ├── _components │ │ ├── color-convert │ │ │ ├── .travis.yml │ │ │ ├── CHANGELOG.md │ │ │ ├── component.json │ │ │ ├── package.json │ │ │ ├── test │ │ │ │ └── speed.js │ │ │ ├── LICENSE │ │ │ └── README.md │ │ ├── moment │ │ │ ├── ender.js │ │ │ ├── src │ │ │ │ ├── lib │ │ │ │ │ ├── utils │ │ │ │ │ │ ├── mod.js │ │ │ │ │ │ ├── is-undefined.js │ │ │ │ │ │ ├── has-own-prop.js │ │ │ │ │ │ ├── is-date.js │ │ │ │ │ │ ├── is-array.js │ │ │ │ │ │ ├── is-number.js │ │ │ │ │ │ ├── is-function.js │ │ │ │ │ │ ├── map.js │ │ │ │ │ │ ├── abs-ceil.js │ │ │ │ │ │ ├── abs-round.js │ │ │ │ │ │ ├── abs-floor.js │ │ │ │ │ │ ├── is-object.js │ │ │ │ │ │ ├── defaults.js │ │ │ │ │ │ ├── to-int.js │ │ │ │ │ │ ├── zero-fill.js │ │ │ │ │ │ ├── hooks.js │ │ │ │ │ │ ├── is-object-empty.js │ │ │ │ │ │ ├── keys.js │ │ │ │ │ │ ├── index-of.js │ │ │ │ │ │ ├── extend.js │ │ │ │ │ │ ├── some.js │ │ │ │ │ │ ├── compare-arrays.js │ │ │ │ │ │ └── deprecate.js │ │ │ │ │ ├── locale │ │ │ │ │ │ ├── pre-post-format.js │ │ │ │ │ │ ├── constructor.js │ │ │ │ │ │ ├── invalid.js │ │ │ │ │ │ ├── ordinal.js │ │ │ │ │ │ ├── calendar.js │ │ │ │ │ │ ├── en.js │ │ │ │ │ │ ├── formats.js │ │ │ │ │ │ ├── relative.js │ │ │ │ │ │ ├── locale.js │ │ │ │ │ │ ├── base-config.js │ │ │ │ │ │ └── set.js │ │ │ │ │ ├── moment │ │ │ │ │ │ ├── now.js │ │ │ │ │ │ ├── clone.js │ │ │ │ │ │ ├── creation-data.js │ │ │ │ │ │ ├── valid.js │ │ │ │ │ │ ├── to.js │ │ │ │ │ │ ├── from.js │ │ │ │ │ │ ├── moment.js │ │ │ │ │ │ ├── to-type.js │ │ │ │ │ │ ├── locale.js │ │ │ │ │ │ ├── calendar.js │ │ │ │ │ │ ├── add-subtract.js │ │ │ │ │ │ └── get-set.js │ │ │ │ │ ├── duration │ │ │ │ │ │ ├── clone.js │ │ │ │ │ │ ├── duration.js │ │ │ │ │ │ ├── abs.js │ │ │ │ │ │ ├── add-subtract.js │ │ │ │ │ │ ├── get.js │ │ │ │ │ │ ├── valid.js │ │ │ │ │ │ ├── constructor.js │ │ │ │ │ │ ├── prototype.js │ │ │ │ │ │ └── bubble.js │ │ │ │ │ ├── create │ │ │ │ │ │ ├── local.js │ │ │ │ │ │ ├── utc.js │ │ │ │ │ │ ├── from-object.js │ │ │ │ │ │ ├── parsing-flags.js │ │ │ │ │ │ ├── date-from-array.js │ │ │ │ │ │ ├── check-overflow.js │ │ │ │ │ │ ├── valid.js │ │ │ │ │ │ └── from-string-and-array.js │ │ │ │ │ ├── units │ │ │ │ │ │ ├── constants.js │ │ │ │ │ │ ├── timezone.js │ │ │ │ │ │ ├── priorities.js │ │ │ │ │ │ ├── units.js │ │ │ │ │ │ ├── timestamp.js │ │ │ │ │ │ ├── minute.js │ │ │ │ │ │ ├── second.js │ │ │ │ │ │ ├── quarter.js │ │ │ │ │ │ ├── aliases.js │ │ │ │ │ │ ├── day-of-year.js │ │ │ │ │ │ ├── day-of-month.js │ │ │ │ │ │ └── week.js │ │ │ │ │ └── parse │ │ │ │ │ │ └── token.js │ │ │ │ └── locale │ │ │ │ │ ├── ar-tn.js │ │ │ │ │ ├── uz.js │ │ │ │ │ ├── ar-kw.js │ │ │ │ │ ├── tzm.js │ │ │ │ │ ├── ar-dz.js │ │ │ │ │ ├── uz-latn.js │ │ │ │ │ ├── da.js │ │ │ │ │ ├── sw.js │ │ │ │ │ ├── nn.js │ │ │ │ │ ├── tzm-latn.js │ │ │ │ │ ├── mt.js │ │ │ │ │ ├── ar-ma.js │ │ │ │ │ ├── yo.js │ │ │ │ │ ├── en-il.js │ │ │ │ │ ├── fo.js │ │ │ │ │ ├── tl-ph.js │ │ │ │ │ ├── bm.js │ │ │ │ │ ├── en-ca.js │ │ │ │ │ ├── pt-br.js │ │ │ │ │ ├── se.js │ │ │ │ │ ├── nb.js │ │ │ │ │ ├── cv.js │ │ │ │ │ └── th.js │ │ │ ├── package.js │ │ │ └── LICENSE │ │ ├── chart.js │ │ │ ├── types │ │ │ │ ├── color.d.ts │ │ │ │ ├── basic.d.ts │ │ │ │ ├── geometric.d.ts │ │ │ │ ├── animation.d.ts │ │ │ │ ├── utils.d.ts │ │ │ │ └── layout.d.ts │ │ │ ├── core │ │ │ │ ├── core.scale.defaults.d.ts │ │ │ │ ├── core.layouts.defaults.d.ts │ │ │ │ ├── core.animations.defaults.d.ts │ │ │ │ ├── core.animation.d.ts │ │ │ │ ├── core.scale.autoskip.d.ts │ │ │ │ ├── core.animations.d.ts │ │ │ │ ├── index.d.ts │ │ │ │ ├── core.element.d.ts │ │ │ │ ├── core.typedRegistry.d.ts │ │ │ │ ├── core.ticks.d.ts │ │ │ │ └── core.animator.d.ts │ │ │ ├── helpers.js.map │ │ │ ├── plugins │ │ │ │ ├── plugin.filler │ │ │ │ │ ├── filler.drawing.d.ts │ │ │ │ │ ├── simpleArc.d.ts │ │ │ │ │ ├── filler.target.d.ts │ │ │ │ │ ├── index.d.ts │ │ │ │ │ ├── filler.target.stack.d.ts │ │ │ │ │ ├── filler.helper.d.ts │ │ │ │ │ ├── filler.segment.d.ts │ │ │ │ │ └── filler.options.d.ts │ │ │ │ ├── plugin.decimation.d.ts │ │ │ │ ├── plugin.colors.d.ts │ │ │ │ ├── index.d.ts │ │ │ │ ├── plugin.subtitle.d.ts │ │ │ │ └── plugin.title.d.ts │ │ │ ├── index.umd.d.ts │ │ │ ├── helpers │ │ │ │ ├── helpers.intl.d.ts │ │ │ │ ├── helpers.rtl.d.ts │ │ │ │ ├── helpers.interpolation.d.ts │ │ │ │ ├── index.d.ts │ │ │ │ ├── helpers.color.d.ts │ │ │ │ ├── helpers.curve.d.ts │ │ │ │ ├── helpers.config.types.d.ts │ │ │ │ ├── helpers.config.d.ts │ │ │ │ ├── helpers.easing.d.ts │ │ │ │ └── helpers.extras.d.ts │ │ │ ├── controllers │ │ │ │ ├── controller.pie.d.ts │ │ │ │ ├── controller.line.d.ts │ │ │ │ ├── controller.scatter.d.ts │ │ │ │ ├── controller.radar.d.ts │ │ │ │ ├── index.d.ts │ │ │ │ ├── controller.polarArea.d.ts │ │ │ │ ├── controller.bubble.d.ts │ │ │ │ └── controller.doughnut.d.ts │ │ │ ├── helpers.cjs.map │ │ │ ├── elements │ │ │ │ ├── index.d.ts │ │ │ │ ├── element.bar.d.ts │ │ │ │ ├── element.point.d.ts │ │ │ │ └── element.arc.d.ts │ │ │ ├── platform │ │ │ │ ├── index.d.ts │ │ │ │ ├── platform.basic.d.ts │ │ │ │ └── platform.dom.d.ts │ │ │ ├── scales │ │ │ │ ├── scale.linear.d.ts │ │ │ │ ├── index.d.ts │ │ │ │ ├── scale.linearbase.d.ts │ │ │ │ ├── scale.category.d.ts │ │ │ │ ├── scale.logarithmic.d.ts │ │ │ │ ├── scale.timeseries.d.ts │ │ │ │ └── scale.radialLinear.d.ts │ │ │ ├── index.d.ts │ │ │ └── types.d.ts │ │ ├── chartjs-color-string │ │ │ ├── .travis.yml │ │ │ ├── CHANGELOG.md │ │ │ ├── package.json │ │ │ ├── LICENSE │ │ │ └── README.md │ │ ├── color-name │ │ │ ├── README.md │ │ │ ├── package.json │ │ │ └── LICENSE │ │ └── chartjs-color │ │ │ ├── CHANGELOG.md │ │ │ ├── LICENSE │ │ │ └── package.json │ ├── _static │ │ ├── icon.png │ │ ├── utopia-background.svg │ │ └── utopia.svg │ └── readme.txt ├── package.json ├── config │ ├── testing.yaml │ ├── development.yaml │ ├── environment.rb │ └── README.md ├── gems.rb ├── lib │ └── falcon │ │ └── benchmark │ │ ├── field.rb │ │ └── data.rb ├── bake.rb ├── .gitignore ├── package-lock.json └── config.ru ├── .gitignore ├── falcon.dockerfile ├── puma.dockerfile ├── unicorn.dockerfile ├── test.dockerfile ├── .github └── workflows │ └── results.yaml └── docker-compose.yaml /bake.rb: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /setup/ruby/srv/http/public/test.txt: -------------------------------------------------------------------------------- 1 | Hello World! -------------------------------------------------------------------------------- /results/pages/links.yaml: -------------------------------------------------------------------------------- 1 | errors: 2 | display: false 3 | -------------------------------------------------------------------------------- /results/public/_components/color-convert/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | -------------------------------------------------------------------------------- /setup/puma/srv/http/gems.rb: -------------------------------------------------------------------------------- 1 | source "https://rubygems.org" 2 | 3 | gem "puma" 4 | -------------------------------------------------------------------------------- /results/public/_components/moment/ender.js: -------------------------------------------------------------------------------- 1 | $.ender({ moment: require('moment') }) 2 | -------------------------------------------------------------------------------- /setup/falcon/srv/http/gems.rb: -------------------------------------------------------------------------------- 1 | source "https://rubygems.org" 2 | 3 | gem "falcon" 4 | -------------------------------------------------------------------------------- /results/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "chart.js": "^4.4.8" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /setup/test/gems.rb: -------------------------------------------------------------------------------- 1 | source "https://rubygems.org" 2 | 3 | gem "bake" 4 | gem "benchmark-http" 5 | -------------------------------------------------------------------------------- /results/pages/_heading.xnode: -------------------------------------------------------------------------------- 1 | 2 |

-------------------------------------------------------------------------------- /setup/unicorn/srv/http/gems.rb: -------------------------------------------------------------------------------- 1 | source "https://rubygems.org" 2 | 3 | gem "unicorn" 4 | gem "rack", "~> 2.2" 5 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/types/color.d.ts: -------------------------------------------------------------------------------- 1 | export type Color = string | CanvasGradient | CanvasPattern; 2 | -------------------------------------------------------------------------------- /results/public/_static/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/socketry/falcon-benchmark/HEAD/results/public/_static/icon.png -------------------------------------------------------------------------------- /results/public/_components/chart.js/core/core.scale.defaults.d.ts: -------------------------------------------------------------------------------- 1 | export function applyScaleDefaults(defaults: any): void; 2 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/core/core.layouts.defaults.d.ts: -------------------------------------------------------------------------------- 1 | export function applyLayoutsDefaults(defaults: any): void; 2 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/core/core.animations.defaults.d.ts: -------------------------------------------------------------------------------- 1 | export function applyAnimationsDefaults(defaults: any): void; 2 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/utils/mod.js: -------------------------------------------------------------------------------- 1 | export default function mod(n, x) { 2 | return ((n % x) + x) % x; 3 | } 4 | -------------------------------------------------------------------------------- /setup/unicorn/srv/http/config.rb: -------------------------------------------------------------------------------- 1 | listen 80, backlog: 1024 2 | 3 | worker_processes 8 4 | 5 | timeout 60 6 | 7 | preload_app true 8 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /results/gems.locked 2 | *.lck 3 | /falcon/ 4 | /passenger/ 5 | /puma/ 6 | /passenger-standalone/ 7 | /unicorn/ 8 | /systems/ 9 | -------------------------------------------------------------------------------- /results/config/testing.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | UTOPIA_SESSION_SECRET: c8cd1c0e5a042ecec7b04f489620e3d2c299163d32a61a03279708fd7e9f67337b4b0ce5a5b3afb6 3 | -------------------------------------------------------------------------------- /results/config/development.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | UTOPIA_SESSION_SECRET: cc5adf04f723a125fd8cc7f16bc0fa0fc13fa470312487f41f60431af508dc3a0d2cc8b405d07aaa 3 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/helpers.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"helpers.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"} -------------------------------------------------------------------------------- /results/public/_components/chart.js/plugins/plugin.filler/filler.drawing.d.ts: -------------------------------------------------------------------------------- 1 | export function _drawfill(ctx: any, source: any, area: any): void; 2 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/locale/pre-post-format.js: -------------------------------------------------------------------------------- 1 | export function preParsePostFormat (string) { 2 | return string; 3 | } 4 | -------------------------------------------------------------------------------- /results/public/readme.txt: -------------------------------------------------------------------------------- 1 | This directory is required by Apache/Phusion Passenger and contains static assets that are typically served using sendfile. -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/moment/now.js: -------------------------------------------------------------------------------- 1 | export var now = function () { 2 | return Date.now ? Date.now() : +(new Date()); 3 | }; 4 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/utils/is-undefined.js: -------------------------------------------------------------------------------- 1 | export default function isUndefined(input) { 2 | return input === void 0; 3 | } 4 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/types/basic.d.ts: -------------------------------------------------------------------------------- 1 | 2 | export type AnyObject = Record; 3 | export type EmptyObject = Record; 4 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/index.umd.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @namespace Chart 3 | */ 4 | import Chart from './core/core.controller.js'; 5 | export default Chart; 6 | -------------------------------------------------------------------------------- /results/config/environment.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | require 'bundler/setup' 4 | Bundler.setup 5 | 6 | require 'utopia/setup' 7 | UTOPIA ||= Utopia.setup 8 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/helpers/helpers.intl.d.ts: -------------------------------------------------------------------------------- 1 | export declare function formatNumber(num: number, locale: string, options?: Intl.NumberFormatOptions): string; 2 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/locale/constructor.js: -------------------------------------------------------------------------------- 1 | export function Locale(config) { 2 | if (config != null) { 3 | this.set(config); 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/moment/clone.js: -------------------------------------------------------------------------------- 1 | import { Moment } from './constructor'; 2 | 3 | export function clone () { 4 | return new Moment(this); 5 | } 6 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/utils/has-own-prop.js: -------------------------------------------------------------------------------- 1 | export default function hasOwnProp(a, b) { 2 | return Object.prototype.hasOwnProperty.call(a, b); 3 | } 4 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/duration/clone.js: -------------------------------------------------------------------------------- 1 | import { createDuration } from './create'; 2 | 3 | export function clone () { 4 | return createDuration(this); 5 | } 6 | 7 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/locale/invalid.js: -------------------------------------------------------------------------------- 1 | export var defaultInvalidDate = 'Invalid date'; 2 | 3 | export function invalidDate () { 4 | return this._invalidDate; 5 | } 6 | -------------------------------------------------------------------------------- /results/pages/errors/exception.xnode: -------------------------------------------------------------------------------- 1 | 2 | Exception 3 | 4 |

It seems like something didn't quite work out as expected!

5 |
-------------------------------------------------------------------------------- /falcon.dockerfile: -------------------------------------------------------------------------------- 1 | FROM ruby:latest 2 | COPY setup/ruby/ / 3 | COPY setup/falcon/ / 4 | WORKDIR /srv/http 5 | RUN bundle install 6 | EXPOSE 80 7 | CMD ["bundle", "exec", "falcon", "host", "falcon.rb"] 8 | -------------------------------------------------------------------------------- /puma.dockerfile: -------------------------------------------------------------------------------- 1 | FROM ruby:latest 2 | COPY setup/ruby/ / 3 | COPY setup/puma/ / 4 | WORKDIR /srv/http 5 | RUN bundle install 6 | EXPOSE 80 7 | CMD ["puma", "-w", "8", "--bind", "tcp://0.0.0.0:80"] 8 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/controllers/controller.pie.d.ts: -------------------------------------------------------------------------------- 1 | export default class PieController extends DoughnutController { 2 | } 3 | import DoughnutController from "./controller.doughnut.js"; 4 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/utils/is-date.js: -------------------------------------------------------------------------------- 1 | export default function isDate(input) { 2 | return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]'; 3 | } 4 | -------------------------------------------------------------------------------- /unicorn.dockerfile: -------------------------------------------------------------------------------- 1 | FROM ruby:latest 2 | COPY setup/ruby/ / 3 | COPY setup/unicorn/ / 4 | WORKDIR /srv/http 5 | RUN bundle install 6 | EXPOSE 80 7 | CMD ["unicorn", "-E", "production", "-c", "config.rb"] 8 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/utils/is-array.js: -------------------------------------------------------------------------------- 1 | export default function isArray(input) { 2 | return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]'; 3 | } 4 | -------------------------------------------------------------------------------- /results/pages/errors/file-not-found.xnode: -------------------------------------------------------------------------------- 1 | 2 | File Not Found 3 | 4 |

The file you requested is unfortunately not available at this time!

5 |
-------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/utils/is-number.js: -------------------------------------------------------------------------------- 1 | export default function isNumber(input) { 2 | return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]'; 3 | } 4 | -------------------------------------------------------------------------------- /results/public/_components/color-convert/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # 0.5.3 - 2015-06-02 2 | 3 | - Fixed: hsl2hsv does not return `NaN` anymore when using `[0,0,0]` 4 | ([#15](https://github.com/harthur/color-convert/issues/15)) 5 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/utils/is-function.js: -------------------------------------------------------------------------------- 1 | export default function isFunction(input) { 2 | return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]'; 3 | } 4 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/utils/map.js: -------------------------------------------------------------------------------- 1 | export default function map(arr, fn) { 2 | var res = [], i; 3 | for (i = 0; i < arr.length; ++i) { 4 | res.push(fn(arr[i], i)); 5 | } 6 | return res; 7 | } 8 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/utils/abs-ceil.js: -------------------------------------------------------------------------------- 1 | export default function absCeil (number) { 2 | if (number < 0) { 3 | return Math.floor(number); 4 | } else { 5 | return Math.ceil(number); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/utils/abs-round.js: -------------------------------------------------------------------------------- 1 | export default function absRound (number) { 2 | if (number < 0) { 3 | return Math.round(-1 * number) * -1; 4 | } else { 5 | return Math.round(number); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/create/local.js: -------------------------------------------------------------------------------- 1 | import { createLocalOrUTC } from './from-anything'; 2 | 3 | export function createLocal (input, format, locale, strict) { 4 | return createLocalOrUTC(input, format, locale, strict, false); 5 | } 6 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/create/utc.js: -------------------------------------------------------------------------------- 1 | import { createLocalOrUTC } from './from-anything'; 2 | 3 | export function createUTC (input, format, locale, strict) { 4 | return createLocalOrUTC(input, format, locale, strict, true).utc(); 5 | } 6 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/locale/ordinal.js: -------------------------------------------------------------------------------- 1 | export var defaultOrdinal = '%d'; 2 | export var defaultDayOfMonthOrdinalParse = /\d{1,2}/; 3 | 4 | export function ordinal (number) { 5 | return this._ordinal.replace('%d', number); 6 | } 7 | 8 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/utils/abs-floor.js: -------------------------------------------------------------------------------- 1 | export default function absFloor (number) { 2 | if (number < 0) { 3 | // -0 -> 0 4 | return Math.ceil(number) || 0; 5 | } else { 6 | return Math.floor(number); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/helpers.cjs.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"helpers.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"} -------------------------------------------------------------------------------- /results/public/_components/chartjs-color-string/.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | language: node_js 3 | node_js: 4 | - "node" 5 | 6 | deploy: 7 | - provider: npm 8 | email: $NPM_AUTH_EMAIL 9 | api_key: $NPM_AUTH_TOKEN 10 | skip_cleanup: true 11 | on: 12 | tags: true 13 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/moment/creation-data.js: -------------------------------------------------------------------------------- 1 | export function creationData() { 2 | return { 3 | input: this._i, 4 | format: this._f, 5 | locale: this._locale, 6 | isUTC: this._isUTC, 7 | strict: this._strict 8 | }; 9 | } 10 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/utils/is-object.js: -------------------------------------------------------------------------------- 1 | export default function isObject(input) { 2 | // IE8 will treat undefined and null as object if it wasn't for 3 | // input != null 4 | return input != null && Object.prototype.toString.call(input) === '[object Object]'; 5 | } 6 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/elements/index.d.ts: -------------------------------------------------------------------------------- 1 | export { default as ArcElement } from "./element.arc.js"; 2 | export { default as LineElement } from "./element.line.js"; 3 | export { default as PointElement } from "./element.point.js"; 4 | export { default as BarElement } from "./element.bar.js"; 5 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/units/constants.js: -------------------------------------------------------------------------------- 1 | export var YEAR = 0; 2 | export var MONTH = 1; 3 | export var DATE = 2; 4 | export var HOUR = 3; 5 | export var MINUTE = 4; 6 | export var SECOND = 5; 7 | export var MILLISECOND = 6; 8 | export var WEEK = 7; 9 | export var WEEKDAY = 8; 10 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/utils/defaults.js: -------------------------------------------------------------------------------- 1 | // Pick the first defined of two or three arguments. 2 | export default function defaults(a, b, c) { 3 | if (a != null) { 4 | return a; 5 | } 6 | if (b != null) { 7 | return b; 8 | } 9 | return c; 10 | } 11 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/platform/index.d.ts: -------------------------------------------------------------------------------- 1 | export function _detectPlatform(canvas: any): typeof BasicPlatform | typeof DomPlatform; 2 | import BasicPlatform from "./platform.basic.js"; 3 | import DomPlatform from "./platform.dom.js"; 4 | import BasePlatform from "./platform.base.js"; 5 | export { BasePlatform, BasicPlatform, DomPlatform }; 6 | -------------------------------------------------------------------------------- /results/public/_components/moment/package.js: -------------------------------------------------------------------------------- 1 | var profile = { 2 | resourceTags: { 3 | ignore: function(filename, mid){ 4 | // only include moment/moment 5 | return mid != "moment/moment"; 6 | }, 7 | amd: function(filename, mid){ 8 | return /\.js$/.test(filename); 9 | } 10 | } 11 | }; 12 | -------------------------------------------------------------------------------- /results/pages/index.xnode: -------------------------------------------------------------------------------- 1 | 2 | 7 | #{filter.join(" / ")} 8 | 11 | #{partial "content:chart", data: attributes[:data], name: attributes[:name], fields: attributes[:fields]} 12 | -------------------------------------------------------------------------------- /results/config/README.md: -------------------------------------------------------------------------------- 1 | # Utopia Config 2 | 3 | This directory contains `environment.rb` which is used to initialize the running environment for tasks and servers. 4 | 5 | ## Setting Environment Variables 6 | 7 | If you wish to set environment variables on a per-deployment basis, you can do so by creating an `config/environment.yaml` and populating it with key-value pairs. 8 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/plugins/plugin.filler/simpleArc.d.ts: -------------------------------------------------------------------------------- 1 | export class simpleArc { 2 | constructor(opts: any); 3 | x: any; 4 | y: any; 5 | radius: any; 6 | pathSegment(ctx: any, bounds: any, opts: any): boolean; 7 | interpolate(point: any): { 8 | x: any; 9 | y: any; 10 | angle: any; 11 | }; 12 | } 13 | -------------------------------------------------------------------------------- /results/public/_components/color-convert/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "color-convert", 3 | "description": "Plain color conversion functions", 4 | "version": "0.5.3", 5 | "author": "Heather Arthur ", 6 | "repository": "harthur/color-convert", 7 | "keywords": ["color", "colour", "rgb"], 8 | "scripts": ["index.js", "conversions.js"] 9 | } 10 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/scales/scale.linear.d.ts: -------------------------------------------------------------------------------- 1 | export default class LinearScale extends LinearScaleBase { 2 | static id: string; 3 | /** 4 | * @type {any} 5 | */ 6 | static defaults: any; 7 | getPixelForValue(value: any): number; 8 | getValueForPixel(pixel: any): number; 9 | } 10 | import LinearScaleBase from "./scale.linearbase.js"; 11 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/utils/to-int.js: -------------------------------------------------------------------------------- 1 | import absFloor from './abs-floor'; 2 | 3 | export default function toInt(argumentForCoercion) { 4 | var coercedNumber = +argumentForCoercion, 5 | value = 0; 6 | 7 | if (coercedNumber !== 0 && isFinite(coercedNumber)) { 8 | value = absFloor(coercedNumber); 9 | } 10 | 11 | return value; 12 | } 13 | -------------------------------------------------------------------------------- /results/gems.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | source 'https://rubygems.org' 4 | 5 | group :preload do 6 | gem 'utopia', '~> 2.30' 7 | # gem 'utopia-gallery' 8 | # gem 'utopia-analytics' 9 | 10 | gem 'variant' 11 | end 12 | 13 | gem 'bake' 14 | gem 'bundler' 15 | gem 'rack-test' 16 | gem 'net-smtp' 17 | gem "rackula" 18 | 19 | group :production do 20 | gem 'falcon' 21 | end 22 | -------------------------------------------------------------------------------- /test.dockerfile: -------------------------------------------------------------------------------- 1 | FROM ruby:latest AS base 2 | WORKDIR /app 3 | RUN git clone https://github.com/ioquatix/wrk && cd wrk && make 4 | RUN cp wrk/wrk /usr/local/bin/wrk 5 | 6 | FROM base AS bundled 7 | WORKDIR /app 8 | COPY setup/test/ /app 9 | RUN bundle install 10 | 11 | FROM bundled AS benchmark 12 | WORKDIR /app 13 | CMD ["bundle", "exec", "bake", "benchmark:all", "--output", "/app/data"] 14 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/plugins/plugin.decimation.d.ts: -------------------------------------------------------------------------------- 1 | declare namespace _default { 2 | const id: string; 3 | namespace defaults { 4 | const algorithm: string; 5 | const enabled: boolean; 6 | } 7 | function beforeElementsUpdate(chart: any, args: any, options: any): void; 8 | function destroy(chart: any): void; 9 | } 10 | export default _default; 11 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/utils/zero-fill.js: -------------------------------------------------------------------------------- 1 | export default function zeroFill(number, targetLength, forceSign) { 2 | var absNumber = '' + Math.abs(number), 3 | zerosToFill = targetLength - absNumber.length, 4 | sign = number >= 0; 5 | return (sign ? (forceSign ? '+' : '') : '-') + 6 | Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber; 7 | } 8 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/utils/hooks.js: -------------------------------------------------------------------------------- 1 | export { hooks, setHookCallback }; 2 | 3 | var hookCallback; 4 | 5 | function hooks () { 6 | return hookCallback.apply(null, arguments); 7 | } 8 | 9 | // This is done to register the method called with moment() 10 | // without creating circular dependencies. 11 | function setHookCallback (callback) { 12 | hookCallback = callback; 13 | } 14 | -------------------------------------------------------------------------------- /results/lib/falcon/benchmark/field.rb: -------------------------------------------------------------------------------- 1 | module Falcon 2 | module Benchmark 3 | class Field 4 | def initialize(name, label, type, &block) 5 | @name = name 6 | @label = label 7 | @type = type 8 | @block = block 9 | end 10 | 11 | attr :name 12 | attr :label 13 | attr :type 14 | 15 | def value(result) 16 | @block.call(result) 17 | end 18 | end 19 | end 20 | end 21 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/plugins/plugin.colors.d.ts: -------------------------------------------------------------------------------- 1 | import type { Chart } from '../types.js'; 2 | export interface ColorsPluginOptions { 3 | enabled?: boolean; 4 | forceOverride?: boolean; 5 | } 6 | declare const _default: { 7 | id: string; 8 | defaults: ColorsPluginOptions; 9 | beforeLayout(chart: Chart, _args: any, options: ColorsPluginOptions): void; 10 | }; 11 | export default _default; 12 | -------------------------------------------------------------------------------- /results/bake.rb: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | # Prepare the application for start/restart. 4 | def deploy 5 | # This task is typiclly run after the site is updated but before the server is restarted. 6 | end 7 | 8 | # Restart the application server. 9 | def restart 10 | call 'falcon:supervisor:restart' 11 | end 12 | 13 | # Start the development server. 14 | def default 15 | call 'utopia:development' 16 | end 17 | -------------------------------------------------------------------------------- /results/.gitignore: -------------------------------------------------------------------------------- 1 | # Development specific: 2 | /.rspec_status 3 | /.bundle 4 | 5 | # Temporary data should not be added to the repository: 6 | /tmp 7 | 8 | # Node modules are 3rd party dependencies which can be fetched easily: 9 | /node_modules 10 | 11 | # This file should only ever exist on production, and may contain sensitive information: 12 | /config/environment.yaml 13 | 14 | # Ignore resized gallery photos: 15 | /public/_gallery 16 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/controllers/controller.line.d.ts: -------------------------------------------------------------------------------- 1 | export default class LineController extends DatasetController { 2 | static id: string; 3 | /** 4 | * @type {any} 5 | */ 6 | static overrides: any; 7 | update(mode: any): void; 8 | /** 9 | * @protected 10 | */ 11 | protected getMaxOverflow(): any; 12 | } 13 | import DatasetController from "../core/core.datasetController.js"; 14 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/utils/is-object-empty.js: -------------------------------------------------------------------------------- 1 | export default function isObjectEmpty(obj) { 2 | if (Object.getOwnPropertyNames) { 3 | return (Object.getOwnPropertyNames(obj).length === 0); 4 | } else { 5 | var k; 6 | for (k in obj) { 7 | if (obj.hasOwnProperty(k)) { 8 | return false; 9 | } 10 | } 11 | return true; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/scales/index.d.ts: -------------------------------------------------------------------------------- 1 | export { default as CategoryScale } from "./scale.category.js"; 2 | export { default as LinearScale } from "./scale.linear.js"; 3 | export { default as LogarithmicScale } from "./scale.logarithmic.js"; 4 | export { default as RadialLinearScale } from "./scale.radialLinear.js"; 5 | export { default as TimeScale } from "./scale.time.js"; 6 | export { default as TimeSeriesScale } from "./scale.timeseries.js"; 7 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/units/timezone.js: -------------------------------------------------------------------------------- 1 | import { addFormatToken } from '../format/format'; 2 | 3 | // FORMATTING 4 | 5 | addFormatToken('z', 0, 0, 'zoneAbbr'); 6 | addFormatToken('zz', 0, 0, 'zoneName'); 7 | 8 | // MOMENTS 9 | 10 | export function getZoneAbbr () { 11 | return this._isUTC ? 'UTC' : ''; 12 | } 13 | 14 | export function getZoneName () { 15 | return this._isUTC ? 'Coordinated Universal Time' : ''; 16 | } 17 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/duration/duration.js: -------------------------------------------------------------------------------- 1 | // Side effect imports 2 | import './prototype'; 3 | 4 | import { createDuration } from './create'; 5 | import { isDuration } from './constructor'; 6 | import { 7 | getSetRelativeTimeRounding, 8 | getSetRelativeTimeThreshold 9 | } from './humanize'; 10 | 11 | export { 12 | createDuration, 13 | isDuration, 14 | getSetRelativeTimeRounding, 15 | getSetRelativeTimeThreshold 16 | }; 17 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/utils/keys.js: -------------------------------------------------------------------------------- 1 | import hasOwnProp from './has-own-prop'; 2 | 3 | var keys; 4 | 5 | if (Object.keys) { 6 | keys = Object.keys; 7 | } else { 8 | keys = function (obj) { 9 | var i, res = []; 10 | for (i in obj) { 11 | if (hasOwnProp(obj, i)) { 12 | res.push(i); 13 | } 14 | } 15 | return res; 16 | }; 17 | } 18 | 19 | export { keys as default }; 20 | -------------------------------------------------------------------------------- /results/public/_components/color-name/README.md: -------------------------------------------------------------------------------- 1 | A JSON with color names and its values. Based on http://dev.w3.org/csswg/css-color/#named-colors. 2 | 3 | [![NPM](https://nodei.co/npm/color-name.png?mini=true)](https://nodei.co/npm/color-name/) 4 | 5 | 6 | ```js 7 | var colors = require('color-name'); 8 | colors.red //[255,0,0] 9 | ``` 10 | 11 | 12 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/platform/platform.basic.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Platform class for charts without access to the DOM or to many element properties 3 | * This platform is used by default for any chart passed an OffscreenCanvas. 4 | * @extends BasePlatform 5 | */ 6 | export default class BasicPlatform extends BasePlatform { 7 | acquireContext(item: any): any; 8 | updateConfig(config: any): void; 9 | } 10 | import BasePlatform from "./platform.base.js"; 11 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/plugins/index.d.ts: -------------------------------------------------------------------------------- 1 | export { default as Colors } from "./plugin.colors.js"; 2 | export { default as Decimation } from "./plugin.decimation.js"; 3 | export { default as Filler } from "./plugin.filler/index.js"; 4 | export { default as Legend } from "./plugin.legend.js"; 5 | export { default as SubTitle } from "./plugin.subtitle.js"; 6 | export { default as Title } from "./plugin.title.js"; 7 | export { default as Tooltip } from "./plugin.tooltip.js"; 8 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/utils/index-of.js: -------------------------------------------------------------------------------- 1 | var indexOf; 2 | 3 | if (Array.prototype.indexOf) { 4 | indexOf = Array.prototype.indexOf; 5 | } else { 6 | indexOf = function (o) { 7 | // I know 8 | var i; 9 | for (i = 0; i < this.length; ++i) { 10 | if (this[i] === o) { 11 | return i; 12 | } 13 | } 14 | return -1; 15 | }; 16 | } 17 | 18 | export { indexOf as default }; 19 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/utils/extend.js: -------------------------------------------------------------------------------- 1 | import hasOwnProp from './has-own-prop'; 2 | 3 | export default function extend(a, b) { 4 | for (var i in b) { 5 | if (hasOwnProp(b, i)) { 6 | a[i] = b[i]; 7 | } 8 | } 9 | 10 | if (hasOwnProp(b, 'toString')) { 11 | a.toString = b.toString; 12 | } 13 | 14 | if (hasOwnProp(b, 'valueOf')) { 15 | a.valueOf = b.valueOf; 16 | } 17 | 18 | return a; 19 | } 20 | -------------------------------------------------------------------------------- /results/public/_components/chartjs-color-string/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # 0.3.0 2 | 3 | - Fixed: HSL alpha channel ([#16](https://github.com/harthur/color-string/pull/16)) 4 | - Fixed: ability to parse signed number ([#15](https://github.com/harthur/color-string/pull/15)) 5 | - Removed: component.json 6 | - Removed: browser build 7 | - Added: license field to package.json ([#17](https://github.com/harthur/color-string/pull/17)) 8 | 9 | --- 10 | 11 | Check out commit logs for earlier releases 12 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/moment/valid.js: -------------------------------------------------------------------------------- 1 | import { isValid as _isValid } from '../create/valid'; 2 | import extend from '../utils/extend'; 3 | import getParsingFlags from '../create/parsing-flags'; 4 | 5 | export function isValid () { 6 | return _isValid(this); 7 | } 8 | 9 | export function parsingFlags () { 10 | return extend({}, getParsingFlags(this)); 11 | } 12 | 13 | export function invalidAt () { 14 | return getParsingFlags(this).overflow; 15 | } 16 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/units/priorities.js: -------------------------------------------------------------------------------- 1 | var priorities = {}; 2 | 3 | export function addUnitPriority(unit, priority) { 4 | priorities[unit] = priority; 5 | } 6 | 7 | export function getPrioritizedUnits(unitsObj) { 8 | var units = []; 9 | for (var u in unitsObj) { 10 | units.push({unit: u, priority: priorities[u]}); 11 | } 12 | units.sort(function (a, b) { 13 | return a.priority - b.priority; 14 | }); 15 | return units; 16 | } 17 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/utils/some.js: -------------------------------------------------------------------------------- 1 | var some; 2 | if (Array.prototype.some) { 3 | some = Array.prototype.some; 4 | } else { 5 | some = function (fun) { 6 | var t = Object(this); 7 | var len = t.length >>> 0; 8 | 9 | for (var i = 0; i < len; i++) { 10 | if (i in t && fun.call(this, t[i], i, t)) { 11 | return true; 12 | } 13 | } 14 | 15 | return false; 16 | }; 17 | } 18 | 19 | export { some as default }; 20 | -------------------------------------------------------------------------------- /results/public/_components/color-convert/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "color-convert", 3 | "description": "Plain color conversion functions", 4 | "version": "0.5.3", 5 | "author": "Heather Arthur ", 6 | "repository": { 7 | "type": "git", 8 | "url": "http://github.com/harthur/color-convert.git" 9 | }, 10 | "devDependencies": { 11 | }, 12 | "scripts": { 13 | "test": "node test/basic.js" 14 | }, 15 | "keywords": [ 16 | "color", 17 | "colour", 18 | "rgb" 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/units/units.js: -------------------------------------------------------------------------------- 1 | // Side effect imports 2 | import './day-of-month'; 3 | import './day-of-week'; 4 | import './day-of-year'; 5 | import './hour'; 6 | import './millisecond'; 7 | import './minute'; 8 | import './month'; 9 | import './offset'; 10 | import './quarter'; 11 | import './second'; 12 | import './timestamp'; 13 | import './timezone'; 14 | import './week-year'; 15 | import './week'; 16 | import './year'; 17 | 18 | import { normalizeUnits } from './aliases'; 19 | 20 | export { normalizeUnits }; 21 | -------------------------------------------------------------------------------- /results/public/_static/utopia-background.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/locale/calendar.js: -------------------------------------------------------------------------------- 1 | export var defaultCalendar = { 2 | sameDay : '[Today at] LT', 3 | nextDay : '[Tomorrow at] LT', 4 | nextWeek : 'dddd [at] LT', 5 | lastDay : '[Yesterday at] LT', 6 | lastWeek : '[Last] dddd [at] LT', 7 | sameElse : 'L' 8 | }; 9 | 10 | import isFunction from '../utils/is-function'; 11 | 12 | export function calendar (key, mom, now) { 13 | var output = this._calendar[key] || this._calendar['sameElse']; 14 | return isFunction(output) ? output.call(mom, now) : output; 15 | } 16 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/locale/en.js: -------------------------------------------------------------------------------- 1 | import './prototype'; 2 | import { getSetGlobalLocale } from './locales'; 3 | import toInt from '../utils/to-int'; 4 | 5 | getSetGlobalLocale('en', { 6 | dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, 7 | ordinal : function (number) { 8 | var b = number % 10, 9 | output = (toInt(number % 100 / 10) === 1) ? 'th' : 10 | (b === 1) ? 'st' : 11 | (b === 2) ? 'nd' : 12 | (b === 3) ? 'rd' : 'th'; 13 | return number + output; 14 | } 15 | }); 16 | -------------------------------------------------------------------------------- /setup/falcon/srv/http/falcon.rb: -------------------------------------------------------------------------------- 1 | require "falcon/environment/rack" 2 | require_relative "limited" 3 | 4 | service "falcon.localhost" do 5 | include Falcon::Environment::Rack 6 | 7 | count 8 8 | 9 | scheme "http" 10 | protocol {Async::HTTP::Protocol::HTTP1.new(persistent: false)} 11 | 12 | endpoint_options do 13 | super().merge( 14 | protocol: protocol, 15 | # wrapper: Limited::Wrapper.new 16 | ) 17 | end 18 | 19 | url "http://0.0.0.0" 20 | 21 | endpoint do 22 | ::Async::HTTP::Endpoint.parse(url).with(**endpoint_options) 23 | end 24 | end 25 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/plugins/plugin.filler/filler.target.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @typedef { import('../../core/core.controller.js').default } Chart 3 | * @typedef { import('../../core/core.scale.js').default } Scale 4 | * @typedef { import('../../elements/element.point.js').default } PointElement 5 | */ 6 | export function _getTarget(source: any): any; 7 | export type Chart = import('../../core/core.controller.js').default; 8 | export type Scale = import('../../core/core.scale.js').default; 9 | export type PointElement = import('../../elements/element.point.js').default; 10 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/plugins/plugin.filler/index.d.ts: -------------------------------------------------------------------------------- 1 | declare namespace _default { 2 | const id: string; 3 | function afterDatasetsUpdate(chart: any, _args: any, options: any): void; 4 | function beforeDraw(chart: any, _args: any, options: any): void; 5 | function beforeDatasetsDraw(chart: any, _args: any, options: any): void; 6 | function beforeDatasetDraw(chart: any, args: any, options: any): void; 7 | namespace defaults { 8 | const propagate: boolean; 9 | const drawTime: string; 10 | } 11 | } 12 | export default _default; 13 | -------------------------------------------------------------------------------- /results/public/_components/color-convert/test/speed.js: -------------------------------------------------------------------------------- 1 | var convert = require("../index"); 2 | 3 | var converter = convert(); 4 | 5 | var times = 10000; 6 | 7 | console.time("cached"); 8 | converter.rgb(10, 2, 30); 9 | for(var i = 0; i < times; i++) { 10 | converter.hsv(); 11 | converter.hsl(); 12 | converter.cmyk(); 13 | } 14 | console.timeEnd("cached"); 15 | 16 | console.time("uncached"); 17 | for(var i = 0; i < times; i++) { 18 | convert.rgb2hsl(10, 2, 30); 19 | convert.rgb2hsv(10, 2, 30); 20 | convert.rgb2cmyk(10, 2, 30); 21 | } 22 | console.timeEnd("uncached"); 23 | 24 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/create/from-object.js: -------------------------------------------------------------------------------- 1 | import { normalizeObjectUnits } from '../units/aliases'; 2 | import { configFromArray } from './from-array'; 3 | import map from '../utils/map'; 4 | 5 | export function configFromObject(config) { 6 | if (config._d) { 7 | return; 8 | } 9 | 10 | var i = normalizeObjectUnits(config._i); 11 | config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) { 12 | return obj && parseInt(obj, 10); 13 | }); 14 | 15 | configFromArray(config); 16 | } 17 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/controllers/controller.scatter.d.ts: -------------------------------------------------------------------------------- 1 | export default class ScatterController extends DatasetController { 2 | static id: string; 3 | /** 4 | * @type {any} 5 | */ 6 | static overrides: any; 7 | /** 8 | * @protected 9 | */ 10 | protected getLabelAndValue(index: any): { 11 | label: any; 12 | value: string; 13 | }; 14 | update(mode: any): void; 15 | /** 16 | * @protected 17 | */ 18 | protected getMaxOverflow(): any; 19 | } 20 | import DatasetController from "../core/core.datasetController.js"; 21 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/controllers/controller.radar.d.ts: -------------------------------------------------------------------------------- 1 | export default class RadarController extends DatasetController { 2 | static id: string; 3 | /** 4 | * @type {any} 5 | */ 6 | static overrides: any; 7 | /** 8 | * @protected 9 | */ 10 | protected getLabelAndValue(index: any): { 11 | label: any; 12 | value: string; 13 | }; 14 | parseObjectData(meta: any, data: any, start: any, count: any): { 15 | r: unknown; 16 | }[]; 17 | update(mode: any): void; 18 | } 19 | import DatasetController from "../core/core.datasetController.js"; 20 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/controllers/index.d.ts: -------------------------------------------------------------------------------- 1 | export { default as BarController } from "./controller.bar.js"; 2 | export { default as BubbleController } from "./controller.bubble.js"; 3 | export { default as DoughnutController } from "./controller.doughnut.js"; 4 | export { default as LineController } from "./controller.line.js"; 5 | export { default as PolarAreaController } from "./controller.polarArea.js"; 6 | export { default as PieController } from "./controller.pie.js"; 7 | export { default as RadarController } from "./controller.radar.js"; 8 | export { default as ScatterController } from "./controller.scatter.js"; 9 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/core/core.animation.d.ts: -------------------------------------------------------------------------------- 1 | export default class Animation { 2 | constructor(cfg: any, target: any, prop: any, to: any); 3 | _active: boolean; 4 | _fn: any; 5 | _easing: any; 6 | _start: number; 7 | _duration: number; 8 | _total: number; 9 | _loop: boolean; 10 | _target: any; 11 | _prop: any; 12 | _from: unknown; 13 | _to: any; 14 | _promises: any[]; 15 | active(): boolean; 16 | update(cfg: any, to: any, date: any): void; 17 | cancel(): void; 18 | tick(date: any): void; 19 | wait(): Promise; 20 | _notify(resolved: any): void; 21 | } 22 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/plugins/plugin.filler/filler.target.stack.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @param {{ chart: Chart; scale: Scale; index: number; line: LineElement; }} source 3 | * @return {LineElement} 4 | */ 5 | export function _buildStackLine(source: { 6 | chart: Chart; 7 | scale: Scale; 8 | index: number; 9 | line: LineElement; 10 | }): LineElement; 11 | export type Chart = import('../../core/core.controller.js').default; 12 | export type Scale = import('../../core/core.scale.js').default; 13 | export type PointElement = import('../../elements/element.point.js').default; 14 | import { LineElement } from "../../elements/index.js"; 15 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/utils/compare-arrays.js: -------------------------------------------------------------------------------- 1 | import toInt from './to-int'; 2 | 3 | // compare two arrays, return the number of differences 4 | export default function compareArrays(array1, array2, dontConvert) { 5 | var len = Math.min(array1.length, array2.length), 6 | lengthDiff = Math.abs(array1.length - array2.length), 7 | diffs = 0, 8 | i; 9 | for (i = 0; i < len; i++) { 10 | if ((dontConvert && array1[i] !== array2[i]) || 11 | (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) { 12 | diffs++; 13 | } 14 | } 15 | return diffs + lengthDiff; 16 | } 17 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/index.d.ts: -------------------------------------------------------------------------------- 1 | export * from './controllers/index.js'; 2 | export * from './core/index.js'; 3 | export * from './elements/index.js'; 4 | export * from './platform/index.js'; 5 | export * from './plugins/index.js'; 6 | export * from './scales/index.js'; 7 | import * as controllers from './controllers/index.js'; 8 | import * as elements from './elements/index.js'; 9 | import * as plugins from './plugins/index.js'; 10 | import * as scales from './scales/index.js'; 11 | export { controllers, elements, plugins, scales, }; 12 | export declare const registerables: (typeof controllers | typeof elements | typeof plugins | typeof scales)[]; 13 | -------------------------------------------------------------------------------- /results/public/_components/chartjs-color-string/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "chartjs-color-string", 3 | "description": "Parser and generator for CSS color strings", 4 | "version": "0.6.0", 5 | "author": "Heather Arthur ", 6 | "repository": { 7 | "type": "git", 8 | "url": "https://github.com/chartjs/chartjs-color-string.git" 9 | }, 10 | "scripts": { 11 | "test": "node test/basic.js" 12 | }, 13 | "license": "MIT", 14 | "main": "./color-string", 15 | "dependencies": { 16 | "color-name": "^1.0.0" 17 | }, 18 | "keywords": [ 19 | "color", 20 | "colour", 21 | "rgb", 22 | "css" 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/duration/abs.js: -------------------------------------------------------------------------------- 1 | var mathAbs = Math.abs; 2 | 3 | export function abs () { 4 | var data = this._data; 5 | 6 | this._milliseconds = mathAbs(this._milliseconds); 7 | this._days = mathAbs(this._days); 8 | this._months = mathAbs(this._months); 9 | 10 | data.milliseconds = mathAbs(data.milliseconds); 11 | data.seconds = mathAbs(data.seconds); 12 | data.minutes = mathAbs(data.minutes); 13 | data.hours = mathAbs(data.hours); 14 | data.months = mathAbs(data.months); 15 | data.years = mathAbs(data.years); 16 | 17 | return this; 18 | } 19 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/helpers/helpers.rtl.d.ts: -------------------------------------------------------------------------------- 1 | export interface RTLAdapter { 2 | x(x: number): number; 3 | setWidth(w: number): void; 4 | textAlign(align: 'center' | 'left' | 'right'): 'center' | 'left' | 'right'; 5 | xPlus(x: number, value: number): number; 6 | leftForLtr(x: number, itemWidth: number): number; 7 | } 8 | export declare function getRtlAdapter(rtl: boolean, rectX: number, width: number): RTLAdapter; 9 | export declare function overrideTextDirection(ctx: CanvasRenderingContext2D, direction: 'ltr' | 'rtl'): void; 10 | export declare function restoreTextDirection(ctx: CanvasRenderingContext2D, original?: [string, string]): void; 11 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/scales/scale.linearbase.d.ts: -------------------------------------------------------------------------------- 1 | export default class LinearScaleBase extends Scale { 2 | /** @type {number} */ 3 | start: number; 4 | /** @type {number} */ 5 | end: number; 6 | /** @type {number} */ 7 | _startValue: number; 8 | /** @type {number} */ 9 | _endValue: number; 10 | _valueRange: number; 11 | parse(raw: any, index: any): number; 12 | handleTickRangeOptions(): void; 13 | getTickLimit(): number; 14 | /** 15 | * @protected 16 | */ 17 | protected computeTickLimit(): number; 18 | getLabelForValue(value: any): string; 19 | } 20 | import Scale from "../core/core.scale.js"; 21 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/helpers/helpers.interpolation.d.ts: -------------------------------------------------------------------------------- 1 | import type { Point, SplinePoint } from '../types/geometric.js'; 2 | /** 3 | * @private 4 | */ 5 | export declare function _pointInLine(p1: Point, p2: Point, t: number, mode?: any): { 6 | x: number; 7 | y: number; 8 | }; 9 | /** 10 | * @private 11 | */ 12 | export declare function _steppedInterpolation(p1: Point, p2: Point, t: number, mode: 'middle' | 'after' | unknown): { 13 | x: number; 14 | y: number; 15 | }; 16 | /** 17 | * @private 18 | */ 19 | export declare function _bezierInterpolation(p1: SplinePoint, p2: SplinePoint, t: number, mode?: any): { 20 | x: number; 21 | y: number; 22 | }; 23 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/helpers/index.d.ts: -------------------------------------------------------------------------------- 1 | export * from './helpers.color.js'; 2 | export * from './helpers.core.js'; 3 | export * from './helpers.canvas.js'; 4 | export * from './helpers.collection.js'; 5 | export * from './helpers.config.js'; 6 | export * from './helpers.curve.js'; 7 | export * from './helpers.dom.js'; 8 | export { default as easingEffects } from './helpers.easing.js'; 9 | export * from './helpers.extras.js'; 10 | export * from './helpers.interpolation.js'; 11 | export * from './helpers.intl.js'; 12 | export * from './helpers.options.js'; 13 | export * from './helpers.math.js'; 14 | export * from './helpers.rtl.js'; 15 | export * from './helpers.segment.js'; 16 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/moment/to.js: -------------------------------------------------------------------------------- 1 | import { createDuration } from '../duration/create'; 2 | import { createLocal } from '../create/local'; 3 | import { isMoment } from '../moment/constructor'; 4 | 5 | export function to (time, withoutSuffix) { 6 | if (this.isValid() && 7 | ((isMoment(time) && time.isValid()) || 8 | createLocal(time).isValid())) { 9 | return createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix); 10 | } else { 11 | return this.localeData().invalidDate(); 12 | } 13 | } 14 | 15 | export function toNow (withoutSuffix) { 16 | return this.to(createLocal(), withoutSuffix); 17 | } 18 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/moment/from.js: -------------------------------------------------------------------------------- 1 | import { createDuration } from '../duration/create'; 2 | import { createLocal } from '../create/local'; 3 | import { isMoment } from '../moment/constructor'; 4 | 5 | export function from (time, withoutSuffix) { 6 | if (this.isValid() && 7 | ((isMoment(time) && time.isValid()) || 8 | createLocal(time).isValid())) { 9 | return createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix); 10 | } else { 11 | return this.localeData().invalidDate(); 12 | } 13 | } 14 | 15 | export function fromNow (withoutSuffix) { 16 | return this.from(createLocal(), withoutSuffix); 17 | } 18 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/plugins/plugin.filler/filler.helper.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @param {PointElement[] | { x: number; y: number; }} boundary 3 | * @param {LineElement} line 4 | * @return {LineElement?} 5 | */ 6 | export function _createBoundaryLine(boundary: PointElement[] | { 7 | x: number; 8 | y: number; 9 | }, line: LineElement): LineElement | null; 10 | export function _shouldApplyFill(source: any): boolean; 11 | export type Chart = import('../../core/core.controller.js').default; 12 | export type Scale = import('../../core/core.scale.js').default; 13 | export type PointElement = import('../../elements/element.point.js').default; 14 | import { LineElement } from "../../elements/index.js"; 15 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/scales/scale.category.d.ts: -------------------------------------------------------------------------------- 1 | export default class CategoryScale extends Scale { 2 | static id: string; 3 | /** 4 | * @type {any} 5 | */ 6 | static defaults: any; 7 | /** @type {number} */ 8 | _startValue: number; 9 | _valueRange: number; 10 | _addedLabels: any[]; 11 | init(scaleOptions: any): void; 12 | parse(raw: any, index: any): number; 13 | buildTicks(): { 14 | value: any; 15 | }[]; 16 | getLabelForValue(value: any): any; 17 | getPixelForValue(value: any): number; 18 | getPixelForTick(index: any): number; 19 | getValueForPixel(pixel: any): number; 20 | } 21 | import Scale from "../core/core.scale.js"; 22 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/units/timestamp.js: -------------------------------------------------------------------------------- 1 | import { addFormatToken } from '../format/format'; 2 | import { addRegexToken, matchTimestamp, matchSigned } from '../parse/regex'; 3 | import { addParseToken } from '../parse/token'; 4 | import toInt from '../utils/to-int'; 5 | 6 | // FORMATTING 7 | 8 | addFormatToken('X', 0, 0, 'unix'); 9 | addFormatToken('x', 0, 0, 'valueOf'); 10 | 11 | // PARSING 12 | 13 | addRegexToken('x', matchSigned); 14 | addRegexToken('X', matchTimestamp); 15 | addParseToken('X', function (input, array, config) { 16 | config._d = new Date(parseFloat(input, 10) * 1000); 17 | }); 18 | addParseToken('x', function (input, array, config) { 19 | config._d = new Date(toInt(input)); 20 | }); 21 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/locale/formats.js: -------------------------------------------------------------------------------- 1 | export var defaultLongDateFormat = { 2 | LTS : 'h:mm:ss A', 3 | LT : 'h:mm A', 4 | L : 'MM/DD/YYYY', 5 | LL : 'MMMM D, YYYY', 6 | LLL : 'MMMM D, YYYY h:mm A', 7 | LLLL : 'dddd, MMMM D, YYYY h:mm A' 8 | }; 9 | 10 | export function longDateFormat (key) { 11 | var format = this._longDateFormat[key], 12 | formatUpper = this._longDateFormat[key.toUpperCase()]; 13 | 14 | if (format || !formatUpper) { 15 | return format; 16 | } 17 | 18 | this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) { 19 | return val.slice(1); 20 | }); 21 | 22 | return this._longDateFormat[key]; 23 | } 24 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/core/core.scale.autoskip.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @typedef { import('./core.controller.js').default } Chart 3 | * @typedef {{value:number | string, label?:string, major?:boolean, $context?:any}} Tick 4 | */ 5 | /** 6 | * Returns a subset of ticks to be plotted to avoid overlapping labels. 7 | * @param {import('./core.scale.js').default} scale 8 | * @param {Tick[]} ticks 9 | * @return {Tick[]} 10 | * @private 11 | */ 12 | export function autoSkip(scale: import('./core.scale.js').default, ticks: Tick[]): Tick[]; 13 | export type Chart = import('./core.controller.js').default; 14 | export type Tick = { 15 | value: number | string; 16 | label?: string; 17 | major?: boolean; 18 | $context?: any; 19 | }; 20 | -------------------------------------------------------------------------------- /results/public/_components/color-name/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "color-name", 3 | "version": "1.1.4", 4 | "description": "A list of color names and its values", 5 | "main": "index.js", 6 | "files": [ 7 | "index.js" 8 | ], 9 | "scripts": { 10 | "test": "node test.js" 11 | }, 12 | "repository": { 13 | "type": "git", 14 | "url": "git@github.com:colorjs/color-name.git" 15 | }, 16 | "keywords": [ 17 | "color-name", 18 | "color", 19 | "color-keyword", 20 | "keyword" 21 | ], 22 | "author": "DY ", 23 | "license": "MIT", 24 | "bugs": { 25 | "url": "https://github.com/colorjs/color-name/issues" 26 | }, 27 | "homepage": "https://github.com/colorjs/color-name" 28 | } 29 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/helpers/helpers.color.d.ts: -------------------------------------------------------------------------------- 1 | import { Color } from '@kurkle/color'; 2 | export declare function isPatternOrGradient(value: unknown): value is CanvasPattern | CanvasGradient; 3 | export declare function color(value: CanvasGradient): CanvasGradient; 4 | export declare function color(value: CanvasPattern): CanvasPattern; 5 | export declare function color(value: string | { 6 | r: number; 7 | g: number; 8 | b: number; 9 | a: number; 10 | } | [number, number, number] | [number, number, number, number]): Color; 11 | export declare function getHoverColor(value: CanvasGradient): CanvasGradient; 12 | export declare function getHoverColor(value: CanvasPattern): CanvasPattern; 13 | export declare function getHoverColor(value: string): string; 14 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/moment/moment.js: -------------------------------------------------------------------------------- 1 | import { createLocal } from '../create/local'; 2 | import { createUTC } from '../create/utc'; 3 | import { createInvalid } from '../create/valid'; 4 | import { isMoment } from './constructor'; 5 | import { min, max } from './min-max'; 6 | import { now } from './now'; 7 | import momentPrototype from './prototype'; 8 | 9 | function createUnix (input) { 10 | return createLocal(input * 1000); 11 | } 12 | 13 | function createInZone () { 14 | return createLocal.apply(null, arguments).parseZone(); 15 | } 16 | 17 | export { 18 | now, 19 | min, 20 | max, 21 | isMoment, 22 | createUTC, 23 | createUnix, 24 | createLocal, 25 | createInZone, 26 | createInvalid, 27 | momentPrototype 28 | }; 29 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/duration/add-subtract.js: -------------------------------------------------------------------------------- 1 | import { createDuration } from './create'; 2 | 3 | function addSubtract (duration, input, value, direction) { 4 | var other = createDuration(input, value); 5 | 6 | duration._milliseconds += direction * other._milliseconds; 7 | duration._days += direction * other._days; 8 | duration._months += direction * other._months; 9 | 10 | return duration._bubble(); 11 | } 12 | 13 | // supports only 2.0-style add(1, 's') or add(duration) 14 | export function add (input, value) { 15 | return addSubtract(this, input, value, 1); 16 | } 17 | 18 | // supports only 2.0-style subtract(1, 's') or subtract(duration) 19 | export function subtract (input, value) { 20 | return addSubtract(this, input, value, -1); 21 | } 22 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/platform/platform.dom.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Platform class for charts that can access the DOM and global window/document properties 3 | * @extends BasePlatform 4 | */ 5 | export default class DomPlatform extends BasePlatform { 6 | /** 7 | * @param {HTMLCanvasElement} canvas 8 | * @param {number} [aspectRatio] 9 | * @return {CanvasRenderingContext2D|null} 10 | */ 11 | acquireContext(canvas: HTMLCanvasElement, aspectRatio?: number): CanvasRenderingContext2D | null; 12 | /** 13 | * @param {Chart} chart 14 | * @param {string} type 15 | */ 16 | removeEventListener(chart: Chart, type: string): void; 17 | } 18 | export type Chart = import('../core/core.controller.js').default; 19 | import BasePlatform from "./platform.base.js"; 20 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/scales/scale.logarithmic.d.ts: -------------------------------------------------------------------------------- 1 | export default class LogarithmicScale extends Scale { 2 | static id: string; 3 | /** 4 | * @type {any} 5 | */ 6 | static defaults: any; 7 | /** @type {number} */ 8 | start: number; 9 | /** @type {number} */ 10 | end: number; 11 | /** @type {number} */ 12 | _startValue: number; 13 | _valueRange: number; 14 | parse(raw: any, index: any): number; 15 | _zero: boolean; 16 | handleTickRangeOptions(): void; 17 | /** 18 | * @param {number} value 19 | * @return {string} 20 | */ 21 | getLabelForValue(value: number): string; 22 | getPixelForValue(value: any): number; 23 | getValueForPixel(pixel: any): number; 24 | } 25 | import Scale from "../core/core.scale.js"; 26 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/core/core.animations.d.ts: -------------------------------------------------------------------------------- 1 | export default class Animations { 2 | constructor(chart: any, config: any); 3 | _chart: any; 4 | _properties: Map; 5 | configure(config: any): void; 6 | /** 7 | * Utility to handle animation of `options`. 8 | * @private 9 | */ 10 | private _animateOptions; 11 | /** 12 | * @private 13 | */ 14 | private _createAnimations; 15 | /** 16 | * Update `target` properties to new values, using configured animations 17 | * @param {object} target - object to update 18 | * @param {object} values - new target properties 19 | * @returns {boolean|undefined} - `true` if animations were started 20 | **/ 21 | update(target: object, values: object): boolean | undefined; 22 | } 23 | -------------------------------------------------------------------------------- /results/pages/controller.rb: -------------------------------------------------------------------------------- 1 | 2 | prepend Actions 3 | 4 | require "falcon/benchmark/data" 5 | require "falcon/benchmark/field" 6 | 7 | on '**' do |request, path| 8 | @data = Falcon::Benchmark::Data.all 9 | @filters = @data.filters(1) 10 | 11 | if path.components.any? 12 | filter = path.components.map{|component| component == "*" ? nil : component} 13 | @data = @data.select(filter) 14 | end 15 | 16 | @fields = [ 17 | Falcon::Benchmark::Field.new(:requests, "Request/s", :rate) {|result| result[:requests].to_f / result[:duration] * 1_000_000}, 18 | Falcon::Benchmark::Field.new(:latency, "Latency", :duration) {|result| result[:latency][:mean] / 1_000_000}, 19 | Falcon::Benchmark::Field.new(:errors, "Errors/s", :rate) {|result| result[:errors].to_f / result[:duration] * 1_000_000}, 20 | ] 21 | 22 | path.components = ["index"] 23 | end -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/create/parsing-flags.js: -------------------------------------------------------------------------------- 1 | function defaultParsingFlags() { 2 | // We need to deep clone this object. 3 | return { 4 | empty : false, 5 | unusedTokens : [], 6 | unusedInput : [], 7 | overflow : -2, 8 | charsLeftOver : 0, 9 | nullInput : false, 10 | invalidMonth : null, 11 | invalidFormat : false, 12 | userInvalidated : false, 13 | iso : false, 14 | parsedDateParts : [], 15 | meridiem : null, 16 | rfc2822 : false, 17 | weekdayMismatch : false 18 | }; 19 | } 20 | 21 | export default function getParsingFlags(m) { 22 | if (m._pf == null) { 23 | m._pf = defaultParsingFlags(); 24 | } 25 | return m._pf; 26 | } 27 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/units/minute.js: -------------------------------------------------------------------------------- 1 | import { makeGetSet } from '../moment/get-set'; 2 | import { addFormatToken } from '../format/format'; 3 | import { addUnitAlias } from './aliases'; 4 | import { addUnitPriority } from './priorities'; 5 | import { addRegexToken, match1to2, match2 } from '../parse/regex'; 6 | import { addParseToken } from '../parse/token'; 7 | import { MINUTE } from './constants'; 8 | 9 | // FORMATTING 10 | 11 | addFormatToken('m', ['mm', 2], 0, 'minute'); 12 | 13 | // ALIASES 14 | 15 | addUnitAlias('minute', 'm'); 16 | 17 | // PRIORITY 18 | 19 | addUnitPriority('minute', 14); 20 | 21 | // PARSING 22 | 23 | addRegexToken('m', match1to2); 24 | addRegexToken('mm', match1to2, match2); 25 | addParseToken(['m', 'mm'], MINUTE); 26 | 27 | // MOMENTS 28 | 29 | export var getSetMinute = makeGetSet('Minutes', false); 30 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/units/second.js: -------------------------------------------------------------------------------- 1 | import { makeGetSet } from '../moment/get-set'; 2 | import { addFormatToken } from '../format/format'; 3 | import { addUnitAlias } from './aliases'; 4 | import { addUnitPriority } from './priorities'; 5 | import { addRegexToken, match1to2, match2 } from '../parse/regex'; 6 | import { addParseToken } from '../parse/token'; 7 | import { SECOND } from './constants'; 8 | 9 | // FORMATTING 10 | 11 | addFormatToken('s', ['ss', 2], 0, 'second'); 12 | 13 | // ALIASES 14 | 15 | addUnitAlias('second', 's'); 16 | 17 | // PRIORITY 18 | 19 | addUnitPriority('second', 15); 20 | 21 | // PARSING 22 | 23 | addRegexToken('s', match1to2); 24 | addRegexToken('ss', match1to2, match2); 25 | addParseToken(['s', 'ss'], SECOND); 26 | 27 | // MOMENTS 28 | 29 | export var getSetSecond = makeGetSet('Seconds', false); 30 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/duration/get.js: -------------------------------------------------------------------------------- 1 | import { normalizeUnits } from '../units/aliases'; 2 | import absFloor from '../utils/abs-floor'; 3 | 4 | export function get (units) { 5 | units = normalizeUnits(units); 6 | return this.isValid() ? this[units + 's']() : NaN; 7 | } 8 | 9 | function makeGetter(name) { 10 | return function () { 11 | return this.isValid() ? this._data[name] : NaN; 12 | }; 13 | } 14 | 15 | export var milliseconds = makeGetter('milliseconds'); 16 | export var seconds = makeGetter('seconds'); 17 | export var minutes = makeGetter('minutes'); 18 | export var hours = makeGetter('hours'); 19 | export var days = makeGetter('days'); 20 | export var months = makeGetter('months'); 21 | export var years = makeGetter('years'); 22 | 23 | export function weeks () { 24 | return absFloor(this.days() / 7); 25 | } 26 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/types.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Temporary entry point of the types at the time of the transition. 3 | * After transition done need to remove it in favor of index.ts 4 | */ 5 | export * from './index.js'; 6 | /** 7 | * Explicitly re-exporting to resolve the ambiguity. 8 | */ 9 | export { BarController, BubbleController, DoughnutController, LineController, PieController, PolarAreaController, RadarController, ScatterController, Animation, Animations, Chart, DatasetController, Interaction, Scale, Ticks, defaults, layouts, registry, ArcElement, BarElement, LineElement, PointElement, BasePlatform, BasicPlatform, DomPlatform, Decimation, Filler, Legend, SubTitle, Title, Tooltip, CategoryScale, LinearScale, LogarithmicScale, RadialLinearScale, TimeScale, TimeSeriesScale, PluginOptionsByType, ElementOptionsByType, ChartDatasetProperties, UpdateModeEnum, registerables } from './types/index.js'; 10 | export * from './types/index.js'; 11 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/units/quarter.js: -------------------------------------------------------------------------------- 1 | import { addFormatToken } from '../format/format'; 2 | import { addUnitAlias } from './aliases'; 3 | import { addUnitPriority } from './priorities'; 4 | import { addRegexToken, match1 } from '../parse/regex'; 5 | import { addParseToken } from '../parse/token'; 6 | import { MONTH } from './constants'; 7 | import toInt from '../utils/to-int'; 8 | 9 | // FORMATTING 10 | 11 | addFormatToken('Q', 0, 'Qo', 'quarter'); 12 | 13 | // ALIASES 14 | 15 | addUnitAlias('quarter', 'Q'); 16 | 17 | // PRIORITY 18 | 19 | addUnitPriority('quarter', 7); 20 | 21 | // PARSING 22 | 23 | addRegexToken('Q', match1); 24 | addParseToken('Q', function (input, array) { 25 | array[MONTH] = (toInt(input) - 1) * 3; 26 | }); 27 | 28 | // MOMENTS 29 | 30 | export function getSetQuarter (input) { 31 | return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3); 32 | } 33 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/moment/to-type.js: -------------------------------------------------------------------------------- 1 | export function valueOf () { 2 | return this._d.valueOf() - ((this._offset || 0) * 60000); 3 | } 4 | 5 | export function unix () { 6 | return Math.floor(this.valueOf() / 1000); 7 | } 8 | 9 | export function toDate () { 10 | return new Date(this.valueOf()); 11 | } 12 | 13 | export function toArray () { 14 | var m = this; 15 | return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()]; 16 | } 17 | 18 | export function toObject () { 19 | var m = this; 20 | return { 21 | years: m.year(), 22 | months: m.month(), 23 | date: m.date(), 24 | hours: m.hours(), 25 | minutes: m.minutes(), 26 | seconds: m.seconds(), 27 | milliseconds: m.milliseconds() 28 | }; 29 | } 30 | 31 | export function toJSON () { 32 | // new Date(NaN).toJSON() === null 33 | return this.isValid() ? this.toISOString() : null; 34 | } 35 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/units/aliases.js: -------------------------------------------------------------------------------- 1 | import hasOwnProp from '../utils/has-own-prop'; 2 | 3 | var aliases = {}; 4 | 5 | export function addUnitAlias (unit, shorthand) { 6 | var lowerCase = unit.toLowerCase(); 7 | aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit; 8 | } 9 | 10 | export function normalizeUnits(units) { 11 | return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined; 12 | } 13 | 14 | export function normalizeObjectUnits(inputObject) { 15 | var normalizedInput = {}, 16 | normalizedProp, 17 | prop; 18 | 19 | for (prop in inputObject) { 20 | if (hasOwnProp(inputObject, prop)) { 21 | normalizedProp = normalizeUnits(prop); 22 | if (normalizedProp) { 23 | normalizedInput[normalizedProp] = inputObject[prop]; 24 | } 25 | } 26 | } 27 | 28 | return normalizedInput; 29 | } 30 | 31 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/core/index.d.ts: -------------------------------------------------------------------------------- 1 | export type { DateAdapter, TimeUnit } from './core.adapters.js'; 2 | export { default as _adapters } from './core.adapters.js'; 3 | export { default as Animation } from './core.animation.js'; 4 | export { default as Animations } from './core.animations.js'; 5 | export { default as animator } from './core.animator.js'; 6 | export { default as Chart } from './core.controller.js'; 7 | export { default as DatasetController } from './core.datasetController.js'; 8 | export { default as defaults } from './core.defaults.js'; 9 | export { default as Element } from './core.element.js'; 10 | export { default as Interaction } from './core.interaction.js'; 11 | export { default as layouts } from './core.layouts.js'; 12 | export { default as plugins } from './core.plugins.js'; 13 | export { default as registry } from './core.registry.js'; 14 | export { default as Scale } from './core.scale.js'; 15 | export { default as Ticks } from './core.ticks.js'; 16 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/helpers/helpers.curve.d.ts: -------------------------------------------------------------------------------- 1 | import type { ChartArea } from '../types/index.js'; 2 | import type { SplinePoint } from '../types/geometric.js'; 3 | export declare function splineCurve(firstPoint: SplinePoint, middlePoint: SplinePoint, afterPoint: SplinePoint, t: number): { 4 | previous: SplinePoint; 5 | next: SplinePoint; 6 | }; 7 | /** 8 | * This function calculates Bézier control points in a similar way than |splineCurve|, 9 | * but preserves monotonicity of the provided data and ensures no local extremums are added 10 | * between the dataset discrete points due to the interpolation. 11 | * See : https://en.wikipedia.org/wiki/Monotone_cubic_interpolation 12 | */ 13 | export declare function splineCurveMonotone(points: SplinePoint[], indexAxis?: 'x' | 'y'): void; 14 | /** 15 | * @private 16 | */ 17 | export declare function _updateBezierControlPoints(points: SplinePoint[], options: any, area: ChartArea, loop: boolean, indexAxis: 'x' | 'y'): void; 18 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/core/core.element.d.ts: -------------------------------------------------------------------------------- 1 | import type { AnyObject } from '../types/basic.js'; 2 | import type { Point } from '../types/geometric.js'; 3 | import type { Animation } from '../types/animation.js'; 4 | export default class Element { 5 | static defaults: {}; 6 | static defaultRoutes: any; 7 | x: number; 8 | y: number; 9 | active: boolean; 10 | options: O; 11 | $animations: Record; 12 | tooltipPosition(useFinalPosition: boolean): Point; 13 | hasValue(): boolean; 14 | /** 15 | * Gets the current or final value of each prop. Can return extra properties (whole object). 16 | * @param props - properties to get 17 | * @param [final] - get the final value (animation target) 18 | */ 19 | getProps

(props: P, final?: boolean): Pick; 20 | getProps

(props: P[], final?: boolean): Partial>; 21 | } 22 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/plugins/plugin.subtitle.d.ts: -------------------------------------------------------------------------------- 1 | declare namespace _default { 2 | const id: string; 3 | function start(chart: any, _args: any, options: any): void; 4 | function stop(chart: any): void; 5 | function beforeUpdate(chart: any, _args: any, options: any): void; 6 | namespace defaults { 7 | export const align: string; 8 | export const display: boolean; 9 | export namespace font { 10 | const weight: string; 11 | } 12 | export const fullSize: boolean; 13 | export const padding: number; 14 | export const position: string; 15 | export const text: string; 16 | const weight_1: number; 17 | export { weight_1 as weight }; 18 | } 19 | namespace defaultRoutes { 20 | const color: string; 21 | } 22 | namespace descriptors { 23 | const _scriptable: boolean; 24 | const _indexable: boolean; 25 | } 26 | } 27 | export default _default; 28 | -------------------------------------------------------------------------------- /results/package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "results", 3 | "lockfileVersion": 3, 4 | "requires": true, 5 | "packages": { 6 | "": { 7 | "dependencies": { 8 | "chart.js": "^4.4.8" 9 | } 10 | }, 11 | "node_modules/@kurkle/color": { 12 | "version": "0.3.4", 13 | "resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.4.tgz", 14 | "integrity": "sha512-M5UknZPHRu3DEDWoipU6sE8PdkZ6Z/S+v4dD+Ke8IaNlpdSQah50lz1KtcFBa2vsdOnwbbnxJwVM4wty6udA5w==", 15 | "license": "MIT" 16 | }, 17 | "node_modules/chart.js": { 18 | "version": "4.4.8", 19 | "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.4.8.tgz", 20 | "integrity": "sha512-IkGZlVpXP+83QpMm4uxEiGqSI7jFizwVtF3+n5Pc3k7sMO+tkd0qxh2OzLhenM0K80xtmAONWGBn082EiBQSDA==", 21 | "license": "MIT", 22 | "dependencies": { 23 | "@kurkle/color": "^0.3.0" 24 | }, 25 | "engines": { 26 | "pnpm": ">=8" 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/locale/relative.js: -------------------------------------------------------------------------------- 1 | export var defaultRelativeTime = { 2 | future : 'in %s', 3 | past : '%s ago', 4 | s : 'a few seconds', 5 | ss : '%d seconds', 6 | m : 'a minute', 7 | mm : '%d minutes', 8 | h : 'an hour', 9 | hh : '%d hours', 10 | d : 'a day', 11 | dd : '%d days', 12 | M : 'a month', 13 | MM : '%d months', 14 | y : 'a year', 15 | yy : '%d years' 16 | }; 17 | 18 | import isFunction from '../utils/is-function'; 19 | 20 | export function relativeTime (number, withoutSuffix, string, isFuture) { 21 | var output = this._relativeTime[string]; 22 | return (isFunction(output)) ? 23 | output(number, withoutSuffix, string, isFuture) : 24 | output.replace(/%d/i, number); 25 | } 26 | 27 | export function pastFuture (diff, output) { 28 | var format = this._relativeTime[diff > 0 ? 'future' : 'past']; 29 | return isFunction(format) ? format(output) : format.replace(/%s/i, output); 30 | } 31 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/plugins/plugin.filler/filler.segment.d.ts: -------------------------------------------------------------------------------- 1 | export function _segments(line: any, target: any, property: any): ({ 2 | source: any; 3 | target: { 4 | property: any; 5 | start: any; 6 | end: any; 7 | }; 8 | start: any; 9 | end: any; 10 | } | { 11 | source: { 12 | start: number; 13 | end: number; 14 | loop: boolean; 15 | style?: any; 16 | }; 17 | target: { 18 | start: number; 19 | end: number; 20 | loop: boolean; 21 | style?: any; 22 | }; 23 | start: { 24 | [x: number]: any; 25 | }; 26 | end: { 27 | [x: number]: any; 28 | }; 29 | })[]; 30 | export function _getBounds(property: any, first: any, last: any, loop: any): { 31 | property: any; 32 | start: any; 33 | end: any; 34 | }; 35 | export function _pointsFromSegments(boundary: any, line: any): any[]; 36 | export function _findSegmentEnd(start: any, end: any, points: any): any; 37 | -------------------------------------------------------------------------------- /results/public/_components/chartjs-color/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # 0.11.1 - 2016-01-03 2 | 3 | - Fixed: three tests being ignored `if() -> it()` 4 | - Changed: moved to XO standard 5 | 6 | # 0.11.0 - 2016-01-02 7 | 8 | - Fixed: Hue modulo when specifying values < 0 or > 360 9 | ([#76](https://github.com/MoOx/color/pull/76)) 10 | - Corrected some package.json information 11 | 12 | # 0.10.1 - 2015-07-02 13 | 14 | - Fixed: handling of 0% mix 15 | ([#65](https://github.com/harthur/color/pull/65)) 16 | 17 | # 0.10.0 - 2015-07-02 18 | 19 | - Fixed: `mix()` works with a 0..1 range (instead of 0..100 since 0.9.0) 20 | ([#64](https://github.com/harthur/color/pull/64)) 21 | 22 | # 0.9.0 - 2015-06-21 23 | 24 | - Fixed: `mix()` implementation is now the same as in Sass 25 | ([#60](https://github.com/harthur/color/pull/60)) 26 | 27 | # 0.8.0 - 2015-03-03 28 | 29 | - Removed: bower support 30 | - Removed: component(1) support 31 | - Changed: Upgrade to color-string 0.3 32 | 33 | --- 34 | 35 | Check out commit logs for older releases 36 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/controllers/controller.polarArea.d.ts: -------------------------------------------------------------------------------- 1 | export default class PolarAreaController extends DatasetController { 2 | static id: string; 3 | /** 4 | * @type {any} 5 | */ 6 | static overrides: any; 7 | constructor(chart: any, datasetIndex: any); 8 | innerRadius: number; 9 | outerRadius: number; 10 | getLabelAndValue(index: any): { 11 | label: any; 12 | value: string; 13 | }; 14 | parseObjectData(meta: any, data: any, start: any, count: any): { 15 | r: unknown; 16 | }[]; 17 | update(mode: any): void; 18 | /** 19 | * @protected 20 | */ 21 | protected getMinMax(): { 22 | min: number; 23 | max: number; 24 | }; 25 | /** 26 | * @private 27 | */ 28 | private _updateRadius; 29 | countVisibleElements(): number; 30 | /** 31 | * @private 32 | */ 33 | private _computeAngle; 34 | } 35 | import DatasetController from "../core/core.datasetController.js"; 36 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/locale/locale.js: -------------------------------------------------------------------------------- 1 | // Side effect imports 2 | import './prototype'; 3 | 4 | import { 5 | getSetGlobalLocale, 6 | defineLocale, 7 | updateLocale, 8 | getLocale, 9 | listLocales 10 | } from './locales'; 11 | 12 | import { 13 | listMonths, 14 | listMonthsShort, 15 | listWeekdays, 16 | listWeekdaysShort, 17 | listWeekdaysMin 18 | } from './lists'; 19 | 20 | export { 21 | getSetGlobalLocale, 22 | defineLocale, 23 | updateLocale, 24 | getLocale, 25 | listLocales, 26 | listMonths, 27 | listMonthsShort, 28 | listWeekdays, 29 | listWeekdaysShort, 30 | listWeekdaysMin 31 | }; 32 | 33 | import { deprecate } from '../utils/deprecate'; 34 | import { hooks } from '../utils/hooks'; 35 | 36 | hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale); 37 | hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale); 38 | 39 | import './en'; 40 | -------------------------------------------------------------------------------- /results/pages/_page.xnode: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | #{title.gsub(/<.*?>/, "")} - Utopia 8 | 9 | Utopia 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 26 | 27 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/elements/element.bar.d.ts: -------------------------------------------------------------------------------- 1 | export default class BarElement extends Element { 2 | static id: string; 3 | /** 4 | * @type {any} 5 | */ 6 | static defaults: any; 7 | constructor(cfg: any); 8 | options: any; 9 | horizontal: any; 10 | base: any; 11 | width: any; 12 | height: any; 13 | inflateAmount: any; 14 | draw(ctx: any): void; 15 | inRange(mouseX: any, mouseY: any, useFinalPosition: any): boolean; 16 | inXRange(mouseX: any, useFinalPosition: any): boolean; 17 | inYRange(mouseY: any, useFinalPosition: any): boolean; 18 | getCenterPoint(useFinalPosition: any): { 19 | x: number; 20 | y: number; 21 | }; 22 | getRange(axis: any): number; 23 | } 24 | export type BarProps = { 25 | x: number; 26 | y: number; 27 | base: number; 28 | horizontal: boolean; 29 | width: number; 30 | height: number; 31 | }; 32 | import Element from "../core/core.element.js"; 33 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/core/core.typedRegistry.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @typedef {{id: string, defaults: any, overrides?: any, defaultRoutes: any}} IChartComponent 3 | */ 4 | export default class TypedRegistry { 5 | constructor(type: any, scope: any, override: any); 6 | type: any; 7 | scope: any; 8 | override: any; 9 | items: any; 10 | isForType(type: any): boolean; 11 | /** 12 | * @param {IChartComponent} item 13 | * @returns {string} The scope where items defaults were registered to. 14 | */ 15 | register(item: IChartComponent): string; 16 | /** 17 | * @param {string} id 18 | * @returns {object?} 19 | */ 20 | get(id: string): object | null; 21 | /** 22 | * @param {IChartComponent} item 23 | */ 24 | unregister(item: IChartComponent): void; 25 | } 26 | export type IChartComponent = { 27 | id: string; 28 | defaults: any; 29 | overrides?: any; 30 | defaultRoutes: any; 31 | }; 32 | import defaults from "./core.defaults.js"; 33 | import { overrides } from "./core.defaults.js"; 34 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/parse/token.js: -------------------------------------------------------------------------------- 1 | import hasOwnProp from '../utils/has-own-prop'; 2 | import isNumber from '../utils/is-number'; 3 | import toInt from '../utils/to-int'; 4 | 5 | var tokens = {}; 6 | 7 | export function addParseToken (token, callback) { 8 | var i, func = callback; 9 | if (typeof token === 'string') { 10 | token = [token]; 11 | } 12 | if (isNumber(callback)) { 13 | func = function (input, array) { 14 | array[callback] = toInt(input); 15 | }; 16 | } 17 | for (i = 0; i < token.length; i++) { 18 | tokens[token[i]] = func; 19 | } 20 | } 21 | 22 | export function addWeekParseToken (token, callback) { 23 | addParseToken(token, function (input, array, config, token) { 24 | config._w = config._w || {}; 25 | callback(input, config._w, config, token); 26 | }); 27 | } 28 | 29 | export function addTimeToArrayFromToken(token, input, config) { 30 | if (input != null && hasOwnProp(tokens, token)) { 31 | tokens[token](input, config._a, config, token); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /results/public/_components/color-name/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | Copyright (c) 2015 Dmitry Ivanov 3 | 4 | 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: 5 | 6 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 7 | 8 | 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. -------------------------------------------------------------------------------- /results/public/_components/chart.js/controllers/controller.bubble.d.ts: -------------------------------------------------------------------------------- 1 | export default class BubbleController extends DatasetController { 2 | static id: string; 3 | /** 4 | * @type {any} 5 | */ 6 | static overrides: any; 7 | /** 8 | * Parse array of primitive values 9 | * @protected 10 | */ 11 | protected parsePrimitiveData(meta: any, data: any, start: any, count: any): any; 12 | /** 13 | * Parse array of arrays 14 | * @protected 15 | */ 16 | protected parseArrayData(meta: any, data: any, start: any, count: any): any; 17 | /** 18 | * Parse array of objects 19 | * @protected 20 | */ 21 | protected parseObjectData(meta: any, data: any, start: any, count: any): any; 22 | /** 23 | * @protected 24 | */ 25 | protected getMaxOverflow(): number; 26 | /** 27 | * @protected 28 | */ 29 | protected getLabelAndValue(index: any): { 30 | label: any; 31 | value: string; 32 | }; 33 | update(mode: any): void; 34 | } 35 | import DatasetController from "../core/core.datasetController.js"; 36 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/moment/locale.js: -------------------------------------------------------------------------------- 1 | import { getLocale } from '../locale/locales'; 2 | import { deprecate } from '../utils/deprecate'; 3 | 4 | // If passed a locale key, it will set the locale for this 5 | // instance. Otherwise, it will return the locale configuration 6 | // variables for this instance. 7 | export function locale (key) { 8 | var newLocaleData; 9 | 10 | if (key === undefined) { 11 | return this._locale._abbr; 12 | } else { 13 | newLocaleData = getLocale(key); 14 | if (newLocaleData != null) { 15 | this._locale = newLocaleData; 16 | } 17 | return this; 18 | } 19 | } 20 | 21 | export var lang = deprecate( 22 | 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.', 23 | function (key) { 24 | if (key === undefined) { 25 | return this.localeData(); 26 | } else { 27 | return this.locale(key); 28 | } 29 | } 30 | ); 31 | 32 | export function localeData () { 33 | return this._locale; 34 | } 35 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/types/geometric.d.ts: -------------------------------------------------------------------------------- 1 | export interface ChartArea { 2 | top: number; 3 | left: number; 4 | right: number; 5 | bottom: number; 6 | width: number; 7 | height: number; 8 | } 9 | 10 | export interface Point { 11 | x: number; 12 | y: number; 13 | } 14 | 15 | export type TRBL = { 16 | top: number; 17 | right: number; 18 | bottom: number; 19 | left: number; 20 | } 21 | 22 | export type TRBLCorners = { 23 | topLeft: number; 24 | topRight: number; 25 | bottomLeft: number; 26 | bottomRight: number; 27 | }; 28 | 29 | export type CornerRadius = number | Partial; 30 | 31 | export type RoundedRect = { 32 | x: number; 33 | y: number; 34 | w: number; 35 | h: number; 36 | radius?: CornerRadius 37 | } 38 | 39 | export type Padding = Partial | number | Point; 40 | 41 | export interface SplinePoint { 42 | x: number; 43 | y: number; 44 | skip?: boolean; 45 | 46 | // Both Bezier and monotone interpolations have these fields 47 | // but they are added in different spots 48 | cp1x?: number; 49 | cp1y?: number; 50 | cp2x?: number; 51 | cp2y?: number; 52 | } 53 | -------------------------------------------------------------------------------- /results/public/_components/chartjs-color/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012 Heather Arthur 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | 22 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/types/animation.d.ts: -------------------------------------------------------------------------------- 1 | import {Chart} from './index.js'; 2 | import {AnyObject} from './basic.js'; 3 | 4 | export declare class Animation { 5 | constructor(cfg: AnyObject, target: AnyObject, prop: string, to?: unknown); 6 | active(): boolean; 7 | update(cfg: AnyObject, to: unknown, date: number): void; 8 | cancel(): void; 9 | tick(date: number): void; 10 | readonly _to: unknown; 11 | } 12 | 13 | export interface AnimationEvent { 14 | chart: Chart; 15 | numSteps: number; 16 | initial: boolean; 17 | currentStep: number; 18 | } 19 | 20 | export declare class Animator { 21 | listen(chart: Chart, event: 'complete' | 'progress', cb: (event: AnimationEvent) => void): void; 22 | add(chart: Chart, items: readonly Animation[]): void; 23 | has(chart: Chart): boolean; 24 | start(chart: Chart): void; 25 | running(chart: Chart): boolean; 26 | stop(chart: Chart): void; 27 | remove(chart: Chart): boolean; 28 | } 29 | 30 | export declare class Animations { 31 | constructor(chart: Chart, animations: AnyObject); 32 | configure(animations: AnyObject): void; 33 | update(target: AnyObject, values: AnyObject): undefined | boolean; 34 | } 35 | -------------------------------------------------------------------------------- /results/public/_components/moment/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) JS Foundation and other contributors 2 | 3 | Permission is hereby granted, free of charge, to any person 4 | obtaining a copy of this software and associated documentation 5 | files (the "Software"), to deal in the Software without 6 | restriction, including without limitation the rights to use, 7 | copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the 9 | Software is furnished to do so, subject to the following 10 | conditions: 11 | 12 | The above copyright notice and this permission notice shall be 13 | included in all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 17 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 19 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 20 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/duration/valid.js: -------------------------------------------------------------------------------- 1 | import toInt from '../utils/to-int'; 2 | import indexOf from '../utils/index-of'; 3 | import {Duration} from './constructor'; 4 | import {createDuration} from './create'; 5 | 6 | var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond']; 7 | 8 | export default function isDurationValid(m) { 9 | for (var key in m) { 10 | if (!(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) { 11 | return false; 12 | } 13 | } 14 | 15 | var unitHasDecimal = false; 16 | for (var i = 0; i < ordering.length; ++i) { 17 | if (m[ordering[i]]) { 18 | if (unitHasDecimal) { 19 | return false; // only allow non-integers for smallest unit 20 | } 21 | if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) { 22 | unitHasDecimal = true; 23 | } 24 | } 25 | } 26 | 27 | return true; 28 | } 29 | 30 | export function isValid() { 31 | return this._isValid; 32 | } 33 | 34 | export function createInvalid() { 35 | return createDuration(NaN); 36 | } 37 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/units/day-of-year.js: -------------------------------------------------------------------------------- 1 | import { addFormatToken } from '../format/format'; 2 | import { addUnitAlias } from './aliases'; 3 | import { addUnitPriority } from './priorities'; 4 | import { addRegexToken, match3, match1to3 } from '../parse/regex'; 5 | import { daysInYear } from './year'; 6 | import { createUTCDate } from '../create/date-from-array'; 7 | import { addParseToken } from '../parse/token'; 8 | import toInt from '../utils/to-int'; 9 | 10 | // FORMATTING 11 | 12 | addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear'); 13 | 14 | // ALIASES 15 | 16 | addUnitAlias('dayOfYear', 'DDD'); 17 | 18 | // PRIORITY 19 | addUnitPriority('dayOfYear', 4); 20 | 21 | // PARSING 22 | 23 | addRegexToken('DDD', match1to3); 24 | addRegexToken('DDDD', match3); 25 | addParseToken(['DDD', 'DDDD'], function (input, array, config) { 26 | config._dayOfYear = toInt(input); 27 | }); 28 | 29 | // HELPERS 30 | 31 | // MOMENTS 32 | 33 | export function getSetDayOfYear (input) { 34 | var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1; 35 | return input == null ? dayOfYear : this.add((input - dayOfYear), 'd'); 36 | } 37 | -------------------------------------------------------------------------------- /results/public/_components/color-convert/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011 Heather Arthur 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | 22 | -------------------------------------------------------------------------------- /setup/ruby/srv/http/config.ru: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env falcon --verbose serve -c 2 | 3 | class Benchmark 4 | def initialize(app) 5 | @app = app 6 | end 7 | 8 | def empty(env) 9 | [204, {}, []] 10 | end 11 | 12 | PATH_INFO = 'PATH_INFO'.freeze 13 | 14 | def hello(env) 15 | [200, {}, ["Hello World!"]] 16 | end 17 | 18 | SMALL_BODY = ["Hello World\n" * 10] * 10 19 | 20 | def blocking(env) 21 | Kernel::sleep(0.01) 22 | 23 | [200, {}, SMALL_BODY] 24 | end 25 | 26 | def nonblocking(env) 27 | if defined? Async 28 | Async::Task.current.sleep(0.01) 29 | else 30 | Kernel::sleep(0.01) 31 | end 32 | 33 | [200, {}, SMALL_BODY] 34 | end 35 | 36 | def small(env) 37 | [200, {}, SMALL_BODY] 38 | end 39 | 40 | LARGE_BODY = ["Hello World\n" * 100] * 100 41 | 42 | def large(env) 43 | [200, {}, LARGE_BODY] 44 | end 45 | 46 | def call(env) 47 | _, name, *path = env[PATH_INFO].split("/") 48 | 49 | method = name&.to_sym 50 | 51 | if method and self.respond_to?(method) 52 | self.send(method, env) 53 | else 54 | @app.call(env) 55 | end 56 | end 57 | end 58 | 59 | use Benchmark 60 | 61 | run lambda{|env| 62 | [200, {}, ["Hello World!"]] 63 | } 64 | -------------------------------------------------------------------------------- /results/public/_components/chartjs-color-string/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011 Heather Arthur 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | 22 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/moment/calendar.js: -------------------------------------------------------------------------------- 1 | import { createLocal } from '../create/local'; 2 | import { cloneWithOffset } from '../units/offset'; 3 | import isFunction from '../utils/is-function'; 4 | import { hooks } from '../utils/hooks'; 5 | 6 | export function getCalendarFormat(myMoment, now) { 7 | var diff = myMoment.diff(now, 'days', true); 8 | return diff < -6 ? 'sameElse' : 9 | diff < -1 ? 'lastWeek' : 10 | diff < 0 ? 'lastDay' : 11 | diff < 1 ? 'sameDay' : 12 | diff < 2 ? 'nextDay' : 13 | diff < 7 ? 'nextWeek' : 'sameElse'; 14 | } 15 | 16 | export function calendar (time, formats) { 17 | // We want to compare the start of today, vs this. 18 | // Getting start-of-today depends on whether we're local/utc/offset or not. 19 | var now = time || createLocal(), 20 | sod = cloneWithOffset(now, this).startOf('day'), 21 | format = hooks.calendarFormat(this, sod) || 'sameElse'; 22 | 23 | var output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]); 24 | 25 | return this.format(output || this.localeData().calendar(format, this, createLocal(now))); 26 | } 27 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/types/utils.d.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable @typescript-eslint/ban-types */ 2 | 3 | // DeepPartial implementation taken from the utility-types NPM package, which is 4 | // Copyright (c) 2016 Piotr Witek (http://piotrwitek.github.io) 5 | // and used under the terms of the MIT license 6 | export type DeepPartial = T extends Function 7 | ? T 8 | : T extends Array 9 | ? _DeepPartialArray 10 | : T extends object 11 | ? _DeepPartialObject 12 | : T | undefined; 13 | 14 | type _DeepPartialArray = Array> 15 | type _DeepPartialObject = { [P in keyof T]?: DeepPartial }; 16 | 17 | export type DistributiveArray = [T] extends [unknown] ? Array : never 18 | 19 | // https://stackoverflow.com/a/50375286 20 | export type UnionToIntersection = (U extends unknown ? (k: U) => void : never) extends (k: infer I) => void ? I : never; 21 | 22 | export type AllKeys = T extends any ? keyof T : never; 23 | 24 | export type PickType> = T extends { [k in K]?: any } 25 | ? T[K] 26 | : undefined; 27 | 28 | export type Merge = { 29 | [k in AllKeys]: PickType; 30 | }; 31 | -------------------------------------------------------------------------------- /results/config.ru: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env rackup 2 | # frozen_string_literal: true 3 | 4 | require_relative 'config/environment' 5 | 6 | self.freeze_app 7 | 8 | if UTOPIA.production? 9 | # Handle exceptions in production with a error page and send an email notification: 10 | use Utopia::Exceptions::Handler 11 | use Utopia::Exceptions::Mailer 12 | else 13 | # We want to propate exceptions up when running tests: 14 | use Rack::ShowExceptions unless UTOPIA.testing? 15 | end 16 | 17 | # serve static files from public/ 18 | use Utopia::Static, root: 'public' 19 | 20 | use Utopia::Redirection::Rewrite, { 21 | '/' => '/*' 22 | } 23 | 24 | use Utopia::Redirection::DirectoryIndex 25 | 26 | use Utopia::Redirection::Errors, { 27 | 404 => '/errors/file-not-found' 28 | } 29 | 30 | require 'utopia/localization' 31 | use Utopia::Localization, 32 | default_locale: 'en', 33 | locales: ['en', 'de', 'ja', 'zh'] 34 | 35 | require 'utopia/session' 36 | use Utopia::Session, 37 | expires_after: 3600 * 24, 38 | secret: UTOPIA.secret_for(:session), 39 | secure: true 40 | 41 | use Utopia::Controller 42 | 43 | # serve static files from pages/ 44 | use Utopia::Static 45 | 46 | # Serve dynamic content 47 | use Utopia::Content 48 | 49 | run lambda { |env| [404, {}, []] } 50 | -------------------------------------------------------------------------------- /results/public/_components/chartjs-color/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "chartjs-color", 3 | "version": "2.3.0", 4 | "description": "Color conversion and manipulation with CSS string support", 5 | "keywords": [ 6 | "color", 7 | "colour", 8 | "css" 9 | ], 10 | "authors": [ 11 | "Heather Arthur ", 12 | "Maxime Thirouin", 13 | "Josh Junon" 14 | ], 15 | "license": "MIT", 16 | "repository": "chartjs/chartjs-color", 17 | "xo": { 18 | "envs": ["browser", "node"], 19 | "rules": { 20 | "one-var": [2, { "initialized": "never" }], 21 | "linebreak-style": 0, 22 | "no-cond-assign": 0, 23 | "new-cap": 0 24 | } 25 | }, 26 | "files": [ 27 | "CHANGELOG.md", 28 | "LICENSE", 29 | "index.js" 30 | ], 31 | "scripts": { 32 | "pretest": "xo", 33 | "test": "mocha" 34 | }, 35 | "dependencies": { 36 | "color-convert": "^0.5.3", 37 | "chartjs-color-string": "^0.6.0" 38 | }, 39 | "devDependencies": { 40 | "browserify": "^10.1.3", 41 | "gulp": "^3.8.11", 42 | "gulp-rename": "^1.2.2", 43 | "gulp-uglify": "^1.2.0", 44 | "gulp-streamify": "^1.0.2", 45 | "mocha": "^2.2.5", 46 | "vinyl-source-stream": "^1.1.0", 47 | "xo": "^0.12.1" 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/create/date-from-array.js: -------------------------------------------------------------------------------- 1 | export function createDate (y, m, d, h, M, s, ms) { 2 | // can't just apply() to create a date: 3 | // https://stackoverflow.com/q/181348 4 | var date; 5 | // the date constructor remaps years 0-99 to 1900-1999 6 | if (y < 100 && y >= 0) { 7 | // preserve leap years using a full 400 year cycle, then reset 8 | date = new Date(y + 400, m, d, h, M, s, ms); 9 | if (isFinite(date.getFullYear())) { 10 | date.setFullYear(y); 11 | } 12 | } else { 13 | date = new Date(y, m, d, h, M, s, ms); 14 | } 15 | 16 | return date; 17 | } 18 | 19 | export function createUTCDate (y) { 20 | var date; 21 | // the Date.UTC function remaps years 0-99 to 1900-1999 22 | if (y < 100 && y >= 0) { 23 | var args = Array.prototype.slice.call(arguments); 24 | // preserve leap years using a full 400 year cycle, then reset 25 | args[0] = y + 400; 26 | date = new Date(Date.UTC.apply(null, args)); 27 | if (isFinite(date.getUTCFullYear())) { 28 | date.setUTCFullYear(y); 29 | } 30 | } else { 31 | date = new Date(Date.UTC.apply(null, arguments)); 32 | } 33 | 34 | return date; 35 | } 36 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/units/day-of-month.js: -------------------------------------------------------------------------------- 1 | import { makeGetSet } from '../moment/get-set'; 2 | import { addFormatToken } from '../format/format'; 3 | import { addUnitAlias } from './aliases'; 4 | import { addUnitPriority } from './priorities'; 5 | import { addRegexToken, match1to2, match2 } from '../parse/regex'; 6 | import { addParseToken } from '../parse/token'; 7 | import { DATE } from './constants'; 8 | import toInt from '../utils/to-int'; 9 | 10 | // FORMATTING 11 | 12 | addFormatToken('D', ['DD', 2], 'Do', 'date'); 13 | 14 | // ALIASES 15 | 16 | addUnitAlias('date', 'D'); 17 | 18 | // PRIORITY 19 | addUnitPriority('date', 9); 20 | 21 | // PARSING 22 | 23 | addRegexToken('D', match1to2); 24 | addRegexToken('DD', match1to2, match2); 25 | addRegexToken('Do', function (isStrict, locale) { 26 | // TODO: Remove "ordinalParse" fallback in next major release. 27 | return isStrict ? 28 | (locale._dayOfMonthOrdinalParse || locale._ordinalParse) : 29 | locale._dayOfMonthOrdinalParseLenient; 30 | }); 31 | 32 | addParseToken(['D', 'DD'], DATE); 33 | addParseToken('Do', function (input, array) { 34 | array[DATE] = toInt(input.match(match1to2)[0]); 35 | }); 36 | 37 | // MOMENTS 38 | 39 | export var getSetDayOfMonth = makeGetSet('Date', true); 40 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/locale/base-config.js: -------------------------------------------------------------------------------- 1 | import { defaultCalendar } from './calendar'; 2 | import { defaultLongDateFormat } from './formats'; 3 | import { defaultInvalidDate } from './invalid'; 4 | import { defaultOrdinal, defaultDayOfMonthOrdinalParse } from './ordinal'; 5 | import { defaultRelativeTime } from './relative'; 6 | 7 | // months 8 | import { 9 | defaultLocaleMonths, 10 | defaultLocaleMonthsShort, 11 | } from '../units/month'; 12 | 13 | // week 14 | import { defaultLocaleWeek } from '../units/week'; 15 | 16 | // weekdays 17 | import { 18 | defaultLocaleWeekdays, 19 | defaultLocaleWeekdaysMin, 20 | defaultLocaleWeekdaysShort, 21 | } from '../units/day-of-week'; 22 | 23 | // meridiem 24 | import { defaultLocaleMeridiemParse } from '../units/hour'; 25 | 26 | export var baseConfig = { 27 | calendar: defaultCalendar, 28 | longDateFormat: defaultLongDateFormat, 29 | invalidDate: defaultInvalidDate, 30 | ordinal: defaultOrdinal, 31 | dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse, 32 | relativeTime: defaultRelativeTime, 33 | 34 | months: defaultLocaleMonths, 35 | monthsShort: defaultLocaleMonthsShort, 36 | 37 | week: defaultLocaleWeek, 38 | 39 | weekdays: defaultLocaleWeekdays, 40 | weekdaysMin: defaultLocaleWeekdaysMin, 41 | weekdaysShort: defaultLocaleWeekdaysShort, 42 | 43 | meridiemParse: defaultLocaleMeridiemParse 44 | }; 45 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/core/core.ticks.d.ts: -------------------------------------------------------------------------------- 1 | declare namespace _default { 2 | export { formatters }; 3 | } 4 | export default _default; 5 | declare namespace formatters { 6 | /** 7 | * Formatter for value labels 8 | * @method Chart.Ticks.formatters.values 9 | * @param value the value to display 10 | * @return {string|string[]} the label to display 11 | */ 12 | function values(value: any): string | string[]; 13 | /** 14 | * Formatter for numeric ticks 15 | * @method Chart.Ticks.formatters.numeric 16 | * @param tickValue {number} the value to be formatted 17 | * @param index {number} the position of the tickValue parameter in the ticks array 18 | * @param ticks {object[]} the list of ticks being converted 19 | * @return {string} string representation of the tickValue parameter 20 | */ 21 | function numeric(tickValue: number, index: number, ticks: any[]): string; 22 | /** 23 | * Formatter for logarithmic ticks 24 | * @method Chart.Ticks.formatters.logarithmic 25 | * @param tickValue {number} the value to be formatted 26 | * @param index {number} the position of the tickValue parameter in the ticks array 27 | * @param ticks {object[]} the list of ticks being converted 28 | * @return {string} string representation of the tickValue parameter 29 | */ 30 | function logarithmic(tickValue: number, index: number, ticks: any[]): string; 31 | } 32 | -------------------------------------------------------------------------------- /.github/workflows/results.yaml: -------------------------------------------------------------------------------- 1 | name: Documentation 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | 8 | # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages: 9 | permissions: 10 | contents: read 11 | pages: write 12 | id-token: write 13 | 14 | # Allow one concurrent deployment: 15 | concurrency: 16 | group: "pages" 17 | cancel-in-progress: true 18 | 19 | env: 20 | CONSOLE_OUTPUT: XTerm 21 | BUNDLE_WITH: maintenance 22 | 23 | jobs: 24 | generate: 25 | runs-on: ubuntu-latest 26 | 27 | steps: 28 | - uses: actions/checkout@v4 29 | 30 | - uses: ruby/setup-ruby@v1 31 | with: 32 | ruby-version: "3.3" 33 | bundler-cache: true 34 | working-directory: results 35 | 36 | - name: Installing packages 37 | run: sudo apt-get install wget 38 | 39 | - name: Generate documentation 40 | timeout-minutes: 5 41 | run: cd results && bundle exec rackula --output-path ../pages 42 | 43 | - name: Upload documentation artifact 44 | uses: actions/upload-pages-artifact@v3 45 | with: 46 | path: pages 47 | 48 | deploy: 49 | runs-on: ubuntu-latest 50 | 51 | environment: 52 | name: github-pages 53 | url: ${{steps.deployment.outputs.page_url}} 54 | 55 | needs: generate 56 | steps: 57 | - name: Deploy to GitHub Pages 58 | id: deployment 59 | uses: actions/deploy-pages@v4 60 | -------------------------------------------------------------------------------- /docker-compose.yaml: -------------------------------------------------------------------------------- 1 | services: 2 | falcon: 3 | build: 4 | context: . 5 | dockerfile: falcon.dockerfile 6 | deploy: 7 | resources: 8 | limits: 9 | cpus: 8 10 | ulimits: 11 | nofile: 12 | soft: 100000 13 | hard: 100000 14 | 15 | puma: 16 | build: 17 | context: . 18 | dockerfile: puma.dockerfile 19 | deploy: 20 | resources: 21 | limits: 22 | cpus: 8 23 | ulimits: 24 | nofile: 25 | soft: 100000 26 | hard: 100000 27 | 28 | unicorn: 29 | build: 30 | context: . 31 | dockerfile: unicorn.dockerfile 32 | deploy: 33 | resources: 34 | limits: 35 | cpus: 8 36 | ulimits: 37 | nofile: 38 | soft: 100000 39 | hard: 100000 40 | 41 | database: 42 | image: postgres:latest 43 | environment: 44 | POSTGRES_USER: test 45 | POSTGRES_PASSWORD: test 46 | POSTGRES_DB: test 47 | deploy: 48 | resources: 49 | limits: 50 | cpus: "1" 51 | 52 | test: 53 | build: 54 | context: . 55 | dockerfile: test.dockerfile 56 | volumes: 57 | - ./results/data:/app/data 58 | depends_on: 59 | - database 60 | - falcon 61 | - puma 62 | - unicorn 63 | deploy: 64 | resources: 65 | limits: 66 | cpus: 8 67 | ulimits: 68 | nofile: 69 | soft: 100000 70 | hard: 100000 71 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/elements/element.point.d.ts: -------------------------------------------------------------------------------- 1 | import Element from '../core/core.element.js'; 2 | import type { CartesianParsedData, ChartArea, Point, PointHoverOptions, PointOptions } from '../types/index.js'; 3 | export type PointProps = Point; 4 | export default class PointElement extends Element { 5 | static id: string; 6 | parsed: CartesianParsedData; 7 | skip?: boolean; 8 | stop?: boolean; 9 | /** 10 | * @type {any} 11 | */ 12 | static defaults: { 13 | borderWidth: number; 14 | hitRadius: number; 15 | hoverBorderWidth: number; 16 | hoverRadius: number; 17 | pointStyle: string; 18 | radius: number; 19 | rotation: number; 20 | }; 21 | /** 22 | * @type {any} 23 | */ 24 | static defaultRoutes: { 25 | backgroundColor: string; 26 | borderColor: string; 27 | }; 28 | constructor(cfg: any); 29 | inRange(mouseX: number, mouseY: number, useFinalPosition?: boolean): boolean; 30 | inXRange(mouseX: number, useFinalPosition?: boolean): boolean; 31 | inYRange(mouseY: number, useFinalPosition?: boolean): boolean; 32 | getCenterPoint(useFinalPosition?: boolean): { 33 | x: number; 34 | y: number; 35 | }; 36 | size(options?: Partial): number; 37 | draw(ctx: CanvasRenderingContext2D, area: ChartArea): void; 38 | getRange(): any; 39 | } 40 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/create/check-overflow.js: -------------------------------------------------------------------------------- 1 | import { daysInMonth } from '../units/month'; 2 | import { YEAR, MONTH, DATE, HOUR, MINUTE, SECOND, MILLISECOND, WEEK, WEEKDAY } from '../units/constants'; 3 | import getParsingFlags from '../create/parsing-flags'; 4 | 5 | export default function checkOverflow (m) { 6 | var overflow; 7 | var a = m._a; 8 | 9 | if (a && getParsingFlags(m).overflow === -2) { 10 | overflow = 11 | a[MONTH] < 0 || a[MONTH] > 11 ? MONTH : 12 | a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE : 13 | a[HOUR] < 0 || a[HOUR] > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR : 14 | a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE : 15 | a[SECOND] < 0 || a[SECOND] > 59 ? SECOND : 16 | a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND : 17 | -1; 18 | 19 | if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) { 20 | overflow = DATE; 21 | } 22 | if (getParsingFlags(m)._overflowWeeks && overflow === -1) { 23 | overflow = WEEK; 24 | } 25 | if (getParsingFlags(m)._overflowWeekday && overflow === -1) { 26 | overflow = WEEKDAY; 27 | } 28 | 29 | getParsingFlags(m).overflow = overflow; 30 | } 31 | 32 | return m; 33 | } 34 | 35 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/plugins/plugin.filler/filler.options.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @typedef { import('../../core/core.scale.js').default } Scale 3 | * @typedef { import('../../elements/element.line.js').default } LineElement 4 | * @typedef { import('../../types/index.js').FillTarget } FillTarget 5 | * @typedef { import('../../types/index.js').ComplexFillTarget } ComplexFillTarget 6 | */ 7 | export function _resolveTarget(sources: any, index: any, propagate: any): any; 8 | /** 9 | * @param {LineElement} line 10 | * @param {number} index 11 | * @param {number} count 12 | */ 13 | export function _decodeFill(line: LineElement, index: number, count: number): any; 14 | /** 15 | * @param {FillTarget | ComplexFillTarget} fill 16 | * @param {Scale} scale 17 | * @returns {number | null} 18 | */ 19 | export function _getTargetPixel(fill: FillTarget | ComplexFillTarget, scale: Scale): number | null; 20 | /** 21 | * @param {FillTarget | ComplexFillTarget} fill 22 | * @param {Scale} scale 23 | * @param {number} startValue 24 | * @returns {number | undefined} 25 | */ 26 | export function _getTargetValue(fill: FillTarget | ComplexFillTarget, scale: Scale, startValue: number): number | undefined; 27 | export type Scale = import('../../core/core.scale.js').default; 28 | export type LineElement = import('../../elements/element.line.js').default; 29 | export type FillTarget = import('../../types/index.js').FillTarget; 30 | export type ComplexFillTarget = import('../../types/index.js').ComplexFillTarget; 31 | -------------------------------------------------------------------------------- /results/lib/falcon/benchmark/data.rb: -------------------------------------------------------------------------------- 1 | require "json" 2 | 3 | module Falcon 4 | module Benchmark 5 | class Data 6 | ROOT = File.join(__dir__, "../../../data") 7 | 8 | def self.all(root = ROOT) 9 | data = self.new 10 | 11 | Dir.glob("*.json", base: root).map do |file| 12 | name = file.gsub(".json", "").split("-") 13 | results = JSON.load_file(File.join(root, file), symbolize_names: true) 14 | 15 | data.assign(name, results) 16 | end 17 | 18 | return data 19 | end 20 | 21 | def initialize(dimensions = []) 22 | @dimensions = dimensions 23 | end 24 | 25 | # Generate a list of filters for the given prefix size, in other words, the first N dimensions are wildcards. 26 | def filters(prefix_size) 27 | @dimensions.map do |name, _| 28 | name.each_with_index.map do |value, i| 29 | i < prefix_size ? "*" : value 30 | end 31 | end.sort.uniq 32 | end 33 | 34 | def select(filter) 35 | dimensions = @dimensions.select do |name, _| 36 | filter.each_with_index.all? do |value, index| 37 | value.nil? || name[index] == value 38 | end 39 | end 40 | 41 | return self.class.new(dimensions) 42 | end 43 | 44 | def assign(name, results) 45 | @dimensions << [name, results] 46 | end 47 | 48 | def labels 49 | @dimensions.map do |name, _| 50 | name.join("-") 51 | end 52 | end 53 | 54 | def each 55 | return to_enum unless block_given? 56 | 57 | @dimensions.map do |name, results| 58 | yield name, results 59 | end 60 | end 61 | end 62 | end 63 | end 64 | 65 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/elements/element.arc.d.ts: -------------------------------------------------------------------------------- 1 | import Element from '../core/core.element.js'; 2 | import type { ArcOptions, Point } from '../types/index.js'; 3 | export interface ArcProps extends Point { 4 | startAngle: number; 5 | endAngle: number; 6 | innerRadius: number; 7 | outerRadius: number; 8 | circumference: number; 9 | } 10 | export default class ArcElement extends Element { 11 | static id: string; 12 | static defaults: { 13 | borderAlign: string; 14 | borderColor: string; 15 | borderDash: any[]; 16 | borderDashOffset: number; 17 | borderJoinStyle: any; 18 | borderRadius: number; 19 | borderWidth: number; 20 | offset: number; 21 | spacing: number; 22 | angle: any; 23 | circular: boolean; 24 | }; 25 | static defaultRoutes: { 26 | backgroundColor: string; 27 | }; 28 | static descriptors: { 29 | _scriptable: boolean; 30 | _indexable: (name: any) => boolean; 31 | }; 32 | circumference: number; 33 | endAngle: number; 34 | fullCircles: number; 35 | innerRadius: number; 36 | outerRadius: number; 37 | pixelMargin: number; 38 | startAngle: number; 39 | constructor(cfg: any); 40 | inRange(chartX: number, chartY: number, useFinalPosition: boolean): boolean; 41 | getCenterPoint(useFinalPosition: boolean): { 42 | x: number; 43 | y: number; 44 | }; 45 | tooltipPosition(useFinalPosition: boolean): { 46 | x: number; 47 | y: number; 48 | }; 49 | draw(ctx: CanvasRenderingContext2D): void; 50 | } 51 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/create/valid.js: -------------------------------------------------------------------------------- 1 | import extend from '../utils/extend'; 2 | import { createUTC } from './utc'; 3 | import getParsingFlags from '../create/parsing-flags'; 4 | import some from '../utils/some'; 5 | 6 | export function isValid(m) { 7 | if (m._isValid == null) { 8 | var flags = getParsingFlags(m); 9 | var parsedParts = some.call(flags.parsedDateParts, function (i) { 10 | return i != null; 11 | }); 12 | var isNowValid = !isNaN(m._d.getTime()) && 13 | flags.overflow < 0 && 14 | !flags.empty && 15 | !flags.invalidMonth && 16 | !flags.invalidWeekday && 17 | !flags.weekdayMismatch && 18 | !flags.nullInput && 19 | !flags.invalidFormat && 20 | !flags.userInvalidated && 21 | (!flags.meridiem || (flags.meridiem && parsedParts)); 22 | 23 | if (m._strict) { 24 | isNowValid = isNowValid && 25 | flags.charsLeftOver === 0 && 26 | flags.unusedTokens.length === 0 && 27 | flags.bigHour === undefined; 28 | } 29 | 30 | if (Object.isFrozen == null || !Object.isFrozen(m)) { 31 | m._isValid = isNowValid; 32 | } 33 | else { 34 | return isNowValid; 35 | } 36 | } 37 | return m._isValid; 38 | } 39 | 40 | export function createInvalid (flags) { 41 | var m = createUTC(NaN); 42 | if (flags != null) { 43 | extend(getParsingFlags(m), flags); 44 | } 45 | else { 46 | getParsingFlags(m).userInvalidated = true; 47 | } 48 | 49 | return m; 50 | } 51 | -------------------------------------------------------------------------------- /results/pages/_chart.xnode: -------------------------------------------------------------------------------- 1 |

2 | 3 | 4 | "#8161cc", 8 | "puma" => "#70a845", 9 | "unicorn" => "#c568b6", 10 | # "#4aac8d", 11 | # "#c55072", 12 | # "#b59141", 13 | # "#688bcd", 14 | # "#cc5f3f" 15 | } 16 | 17 | fields = attributes[:fields] 18 | data = attributes[:data] 19 | labels = data.labels 20 | 21 | concurrency = 10.times.map{|i| 2**i} 22 | 23 | datasets = [] 24 | data.each do |name, results| 25 | fields.each do |field| 26 | datasets << { 27 | label: "#{name.join("-")} #{field.label}", 28 | data: results.map{|result| field.value(result)}, 29 | borderColor: colors[name[0]], 30 | yAxisID: field.type, 31 | } 32 | end 33 | end 34 | ?> 35 | 69 |
-------------------------------------------------------------------------------- /results/public/_components/chart.js/scales/scale.timeseries.d.ts: -------------------------------------------------------------------------------- 1 | export default TimeSeriesScale; 2 | declare class TimeSeriesScale extends TimeScale { 3 | /** @type {object[]} */ 4 | _table: object[]; 5 | /** @type {number} */ 6 | _minPos: number; 7 | /** @type {number} */ 8 | _tableRange: number; 9 | /** 10 | * @protected 11 | */ 12 | protected initOffsets(): void; 13 | /** 14 | * Returns an array of {time, pos} objects used to interpolate a specific `time` or position 15 | * (`pos`) on the scale, by searching entries before and after the requested value. `pos` is 16 | * a decimal between 0 and 1: 0 being the start of the scale (left or top) and 1 the other 17 | * extremity (left + width or top + height). Note that it would be more optimized to directly 18 | * store pre-computed pixels, but the scale dimensions are not guaranteed at the time we need 19 | * to create the lookup table. The table ALWAYS contains at least two items: min and max. 20 | * @param {number[]} timestamps 21 | * @return {object[]} 22 | * @protected 23 | */ 24 | protected buildLookupTable(timestamps: number[]): object[]; 25 | /** 26 | * Generates all timestamps defined in the data. 27 | * Important: this method can return ticks outside the min and max range, it's the 28 | * responsibility of the calling code to clamp values if needed. 29 | * @protected 30 | */ 31 | protected _generate(): any; 32 | /** 33 | * Returns all timestamps 34 | * @return {number[]} 35 | * @private 36 | */ 37 | private _getTimestampsForTable; 38 | } 39 | import TimeScale from "./scale.time.js"; 40 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/create/from-string-and-array.js: -------------------------------------------------------------------------------- 1 | import { copyConfig } from '../moment/constructor'; 2 | import { configFromStringAndFormat } from './from-string-and-format'; 3 | import getParsingFlags from './parsing-flags'; 4 | import { isValid } from './valid'; 5 | import extend from '../utils/extend'; 6 | 7 | // date from string and array of format strings 8 | export function configFromStringAndArray(config) { 9 | var tempConfig, 10 | bestMoment, 11 | 12 | scoreToBeat, 13 | i, 14 | currentScore; 15 | 16 | if (config._f.length === 0) { 17 | getParsingFlags(config).invalidFormat = true; 18 | config._d = new Date(NaN); 19 | return; 20 | } 21 | 22 | for (i = 0; i < config._f.length; i++) { 23 | currentScore = 0; 24 | tempConfig = copyConfig({}, config); 25 | if (config._useUTC != null) { 26 | tempConfig._useUTC = config._useUTC; 27 | } 28 | tempConfig._f = config._f[i]; 29 | configFromStringAndFormat(tempConfig); 30 | 31 | if (!isValid(tempConfig)) { 32 | continue; 33 | } 34 | 35 | // if there is any input that was not parsed add a penalty for that format 36 | currentScore += getParsingFlags(tempConfig).charsLeftOver; 37 | 38 | //or tokens 39 | currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10; 40 | 41 | getParsingFlags(tempConfig).score = currentScore; 42 | 43 | if (scoreToBeat == null || currentScore < scoreToBeat) { 44 | scoreToBeat = currentScore; 45 | bestMoment = tempConfig; 46 | } 47 | } 48 | 49 | extend(config, bestMoment || tempConfig); 50 | } 51 | -------------------------------------------------------------------------------- /setup/ruby/srv/http/public/small.txt: -------------------------------------------------------------------------------- 1 | Hello World 2 | Hello World 3 | Hello World 4 | Hello World 5 | Hello World 6 | Hello World 7 | Hello World 8 | Hello World 9 | Hello World 10 | Hello World 11 | Hello World 12 | Hello World 13 | Hello World 14 | Hello World 15 | Hello World 16 | Hello World 17 | Hello World 18 | Hello World 19 | Hello World 20 | Hello World 21 | Hello World 22 | Hello World 23 | Hello World 24 | Hello World 25 | Hello World 26 | Hello World 27 | Hello World 28 | Hello World 29 | Hello World 30 | Hello World 31 | Hello World 32 | Hello World 33 | Hello World 34 | Hello World 35 | Hello World 36 | Hello World 37 | Hello World 38 | Hello World 39 | Hello World 40 | Hello World 41 | Hello World 42 | Hello World 43 | Hello World 44 | Hello World 45 | Hello World 46 | Hello World 47 | Hello World 48 | Hello World 49 | Hello World 50 | Hello World 51 | Hello World 52 | Hello World 53 | Hello World 54 | Hello World 55 | Hello World 56 | Hello World 57 | Hello World 58 | Hello World 59 | Hello World 60 | Hello World 61 | Hello World 62 | Hello World 63 | Hello World 64 | Hello World 65 | Hello World 66 | Hello World 67 | Hello World 68 | Hello World 69 | Hello World 70 | Hello World 71 | Hello World 72 | Hello World 73 | Hello World 74 | Hello World 75 | Hello World 76 | Hello World 77 | Hello World 78 | Hello World 79 | Hello World 80 | Hello World 81 | Hello World 82 | Hello World 83 | Hello World 84 | Hello World 85 | Hello World 86 | Hello World 87 | Hello World 88 | Hello World 89 | Hello World 90 | Hello World 91 | Hello World 92 | Hello World 93 | Hello World 94 | Hello World 95 | Hello World 96 | Hello World 97 | Hello World 98 | Hello World 99 | Hello World 100 | Hello World 101 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/helpers/helpers.config.types.d.ts: -------------------------------------------------------------------------------- 1 | import type { AnyObject } from '../types/basic.js'; 2 | import type { Merge } from '../types/utils.js'; 3 | export type ResolverObjectKey = string | boolean; 4 | export interface ResolverCache { 5 | [Symbol.toStringTag]: 'Object'; 6 | _cacheable: boolean; 7 | _scopes: T; 8 | _rootScopes: T | R; 9 | _fallback: ResolverObjectKey; 10 | _keys?: string[]; 11 | _scriptable?: boolean; 12 | _indexable?: boolean; 13 | _allKeys?: boolean; 14 | _storage?: T[number]; 15 | _getTarget(): T[number]; 16 | override(scope: S): ResolverProxy<(T[number] | S)[], T | R>; 17 | } 18 | export type ResolverProxy = Merge & ResolverCache; 19 | export interface DescriptorDefaults { 20 | scriptable: boolean; 21 | indexable: boolean; 22 | allKeys?: boolean; 23 | } 24 | export interface Descriptor { 25 | allKeys: boolean; 26 | scriptable: boolean; 27 | indexable: boolean; 28 | isScriptable(key: string): boolean; 29 | isIndexable(key: string): boolean; 30 | } 31 | export interface ContextCache { 32 | _cacheable: boolean; 33 | _proxy: ResolverProxy; 34 | _context: AnyObject; 35 | _subProxy: ResolverProxy; 36 | _stack: Set; 37 | _descriptors: Descriptor; 38 | setContext(ctx: AnyObject): ContextProxy; 39 | override(scope: S): ContextProxy<(T[number] | S)[], T | R>; 40 | } 41 | export type ContextProxy = Merge & ContextCache; 42 | -------------------------------------------------------------------------------- /setup/test/bake/benchmark.rb: -------------------------------------------------------------------------------- 1 | require "uri" 2 | 3 | SERVERS = [ 4 | "http://falcon", 5 | "http://puma", 6 | "http://unicorn", 7 | ] 8 | 9 | BENCHMARKS = [ 10 | "/small", 11 | "/large", 12 | "/blocking", 13 | "/nonblocking", 14 | ] 15 | 16 | CONCURRENCY = 10.times.map{|i| 2**i} 17 | 18 | # @parameter output [String] The output root directory. 19 | def all(output:) 20 | SERVERS.each do |server| 21 | BENCHMARKS.each do |benchmark| 22 | url = URI.parse(server) + benchmark 23 | 24 | results = benchmark(url) 25 | file_name = "#{url.host}-#{url.scheme}#{url.path.gsub("/", "-")}.json" 26 | output_file = File.join(output, file_name) 27 | File.open(output_file, "w") do |file| 28 | JSON.dump(results, file) 29 | end 30 | end 31 | end 32 | end 33 | 34 | private 35 | 36 | def benchmark(url) 37 | results = [] 38 | 39 | Console.info(self, "Warmup...", url: url) 40 | 41 | warmup(url) 42 | 43 | Console.info(self, "Benchmarking...", url: url) 44 | 45 | CONCURRENCY.each do |concurrency| 46 | IO.pipe do |input, output| 47 | threads = [concurrency, 8].min 48 | 49 | pid = Process.spawn("wrk", "--timeout", "10", "-s", "output.lua", "-c", concurrency.to_s, "-t", threads.to_s, "-d", "6", url, out: output) 50 | 51 | output.close 52 | 53 | input.each_line do |line| 54 | if line.start_with?("{") 55 | result = JSON.parse(line) 56 | Console.info(self, "Result...", concurrency: concurrency, url: url, result: result) 57 | results << result 58 | else 59 | $stderr.puts line 60 | end 61 | end 62 | 63 | Process.wait(pid) 64 | end 65 | end 66 | 67 | return results 68 | end 69 | 70 | def warmup(url) 71 | require "benchmark/http/command/wait" 72 | 73 | wait = Benchmark::HTTP::Command::Wait[url] 74 | 75 | wait.call 76 | end 77 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/locale/ar-tn.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Arabic (Tunisia) [ar-tn] 3 | //! author : Nader Toukabri : https://github.com/naderio 4 | 5 | import moment from '../moment'; 6 | 7 | export default moment.defineLocale('ar-tn', { 8 | months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'), 9 | monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'), 10 | weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), 11 | weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), 12 | weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), 13 | weekdaysParseExact : true, 14 | longDateFormat: { 15 | LT: 'HH:mm', 16 | LTS: 'HH:mm:ss', 17 | L: 'DD/MM/YYYY', 18 | LL: 'D MMMM YYYY', 19 | LLL: 'D MMMM YYYY HH:mm', 20 | LLLL: 'dddd D MMMM YYYY HH:mm' 21 | }, 22 | calendar: { 23 | sameDay: '[اليوم على الساعة] LT', 24 | nextDay: '[غدا على الساعة] LT', 25 | nextWeek: 'dddd [على الساعة] LT', 26 | lastDay: '[أمس على الساعة] LT', 27 | lastWeek: 'dddd [على الساعة] LT', 28 | sameElse: 'L' 29 | }, 30 | relativeTime: { 31 | future: 'في %s', 32 | past: 'منذ %s', 33 | s: 'ثوان', 34 | ss : '%d ثانية', 35 | m: 'دقيقة', 36 | mm: '%d دقائق', 37 | h: 'ساعة', 38 | hh: '%d ساعات', 39 | d: 'يوم', 40 | dd: '%d أيام', 41 | M: 'شهر', 42 | MM: '%d أشهر', 43 | y: 'سنة', 44 | yy: '%d سنوات' 45 | }, 46 | week: { 47 | dow: 1, // Monday is the first day of the week. 48 | doy: 4 // The week that contains Jan 4th is the first week of the year. 49 | } 50 | }); 51 | 52 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/locale/uz.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Uzbek [uz] 3 | //! author : Sardor Muminov : https://github.com/muminoff 4 | 5 | import moment from '../moment'; 6 | 7 | export default moment.defineLocale('uz', { 8 | months : 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'), 9 | monthsShort : 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'), 10 | weekdays : 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'), 11 | weekdaysShort : 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'), 12 | weekdaysMin : 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'), 13 | longDateFormat : { 14 | LT : 'HH:mm', 15 | LTS : 'HH:mm:ss', 16 | L : 'DD/MM/YYYY', 17 | LL : 'D MMMM YYYY', 18 | LLL : 'D MMMM YYYY HH:mm', 19 | LLLL : 'D MMMM YYYY, dddd HH:mm' 20 | }, 21 | calendar : { 22 | sameDay : '[Бугун соат] LT [да]', 23 | nextDay : '[Эртага] LT [да]', 24 | nextWeek : 'dddd [куни соат] LT [да]', 25 | lastDay : '[Кеча соат] LT [да]', 26 | lastWeek : '[Утган] dddd [куни соат] LT [да]', 27 | sameElse : 'L' 28 | }, 29 | relativeTime : { 30 | future : 'Якин %s ичида', 31 | past : 'Бир неча %s олдин', 32 | s : 'фурсат', 33 | ss : '%d фурсат', 34 | m : 'бир дакика', 35 | mm : '%d дакика', 36 | h : 'бир соат', 37 | hh : '%d соат', 38 | d : 'бир кун', 39 | dd : '%d кун', 40 | M : 'бир ой', 41 | MM : '%d ой', 42 | y : 'бир йил', 43 | yy : '%d йил' 44 | }, 45 | week : { 46 | dow : 1, // Monday is the first day of the week. 47 | doy : 7 // The week that contains Jan 4th is the first week of the year. 48 | } 49 | }); 50 | 51 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/duration/constructor.js: -------------------------------------------------------------------------------- 1 | import { normalizeObjectUnits } from '../units/aliases'; 2 | import { getLocale } from '../locale/locales'; 3 | import isDurationValid from './valid.js'; 4 | 5 | export function Duration (duration) { 6 | var normalizedInput = normalizeObjectUnits(duration), 7 | years = normalizedInput.year || 0, 8 | quarters = normalizedInput.quarter || 0, 9 | months = normalizedInput.month || 0, 10 | weeks = normalizedInput.week || normalizedInput.isoWeek || 0, 11 | days = normalizedInput.day || 0, 12 | hours = normalizedInput.hour || 0, 13 | minutes = normalizedInput.minute || 0, 14 | seconds = normalizedInput.second || 0, 15 | milliseconds = normalizedInput.millisecond || 0; 16 | 17 | this._isValid = isDurationValid(normalizedInput); 18 | 19 | // representation for dateAddRemove 20 | this._milliseconds = +milliseconds + 21 | seconds * 1e3 + // 1000 22 | minutes * 6e4 + // 1000 * 60 23 | hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978 24 | // Because of dateAddRemove treats 24 hours as different from a 25 | // day when working around DST, we need to store them separately 26 | this._days = +days + 27 | weeks * 7; 28 | // It is impossible to translate months into days without knowing 29 | // which months you are are talking about, so we have to store 30 | // it separately. 31 | this._months = +months + 32 | quarters * 3 + 33 | years * 12; 34 | 35 | this._data = {}; 36 | 37 | this._locale = getLocale(); 38 | 39 | this._bubble(); 40 | } 41 | 42 | export function isDuration (obj) { 43 | return obj instanceof Duration; 44 | } 45 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/locale/ar-kw.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Arabic (Kuwait) [ar-kw] 3 | //! author : Nusret Parlak: https://github.com/nusretparlak 4 | 5 | import moment from '../moment'; 6 | 7 | export default moment.defineLocale('ar-kw', { 8 | months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'), 9 | monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'), 10 | weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), 11 | weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), 12 | weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'), 13 | weekdaysParseExact : true, 14 | longDateFormat : { 15 | LT : 'HH:mm', 16 | LTS : 'HH:mm:ss', 17 | L : 'DD/MM/YYYY', 18 | LL : 'D MMMM YYYY', 19 | LLL : 'D MMMM YYYY HH:mm', 20 | LLLL : 'dddd D MMMM YYYY HH:mm' 21 | }, 22 | calendar : { 23 | sameDay: '[اليوم على الساعة] LT', 24 | nextDay: '[غدا على الساعة] LT', 25 | nextWeek: 'dddd [على الساعة] LT', 26 | lastDay: '[أمس على الساعة] LT', 27 | lastWeek: 'dddd [على الساعة] LT', 28 | sameElse: 'L' 29 | }, 30 | relativeTime : { 31 | future : 'في %s', 32 | past : 'منذ %s', 33 | s : 'ثوان', 34 | ss : '%d ثانية', 35 | m : 'دقيقة', 36 | mm : '%d دقائق', 37 | h : 'ساعة', 38 | hh : '%d ساعات', 39 | d : 'يوم', 40 | dd : '%d أيام', 41 | M : 'شهر', 42 | MM : '%d أشهر', 43 | y : 'سنة', 44 | yy : '%d سنوات' 45 | }, 46 | week : { 47 | dow : 0, // Sunday is the first day of the week. 48 | doy : 12 // The week that contains Jan 12th is the first week of the year. 49 | } 50 | }); 51 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/locale/tzm.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Central Atlas Tamazight [tzm] 3 | //! author : Abdel Said : https://github.com/abdelsaid 4 | 5 | import moment from '../moment'; 6 | 7 | export default moment.defineLocale('tzm', { 8 | months : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'), 9 | monthsShort : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'), 10 | weekdays : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'), 11 | weekdaysShort : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'), 12 | weekdaysMin : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'), 13 | longDateFormat : { 14 | LT : 'HH:mm', 15 | LTS: 'HH:mm:ss', 16 | L : 'DD/MM/YYYY', 17 | LL : 'D MMMM YYYY', 18 | LLL : 'D MMMM YYYY HH:mm', 19 | LLLL : 'dddd D MMMM YYYY HH:mm' 20 | }, 21 | calendar : { 22 | sameDay: '[ⴰⵙⴷⵅ ⴴ] LT', 23 | nextDay: '[ⴰⵙⴽⴰ ⴴ] LT', 24 | nextWeek: 'dddd [ⴴ] LT', 25 | lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT', 26 | lastWeek: 'dddd [ⴴ] LT', 27 | sameElse: 'L' 28 | }, 29 | relativeTime : { 30 | future : 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s', 31 | past : 'ⵢⴰⵏ %s', 32 | s : 'ⵉⵎⵉⴽ', 33 | ss : '%d ⵉⵎⵉⴽ', 34 | m : 'ⵎⵉⵏⵓⴺ', 35 | mm : '%d ⵎⵉⵏⵓⴺ', 36 | h : 'ⵙⴰⵄⴰ', 37 | hh : '%d ⵜⴰⵙⵙⴰⵄⵉⵏ', 38 | d : 'ⴰⵙⵙ', 39 | dd : '%d oⵙⵙⴰⵏ', 40 | M : 'ⴰⵢoⵓⵔ', 41 | MM : '%d ⵉⵢⵢⵉⵔⵏ', 42 | y : 'ⴰⵙⴳⴰⵙ', 43 | yy : '%d ⵉⵙⴳⴰⵙⵏ' 44 | }, 45 | week : { 46 | dow : 6, // Saturday is the first day of the week. 47 | doy : 12 // The week that contains Jan 12th is the first week of the year. 48 | } 49 | }); 50 | 51 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/locale/ar-dz.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Arabic (Algeria) [ar-dz] 3 | //! author : Noureddine LOUAHEDJ : https://github.com/noureddineme 4 | 5 | import moment from '../moment'; 6 | 7 | export default moment.defineLocale('ar-dz', { 8 | months : 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'), 9 | monthsShort : 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'), 10 | weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), 11 | weekdaysShort : 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), 12 | weekdaysMin : 'أح_إث_ثلا_أر_خم_جم_سب'.split('_'), 13 | weekdaysParseExact : true, 14 | longDateFormat : { 15 | LT : 'HH:mm', 16 | LTS : 'HH:mm:ss', 17 | L : 'DD/MM/YYYY', 18 | LL : 'D MMMM YYYY', 19 | LLL : 'D MMMM YYYY HH:mm', 20 | LLLL : 'dddd D MMMM YYYY HH:mm' 21 | }, 22 | calendar : { 23 | sameDay: '[اليوم على الساعة] LT', 24 | nextDay: '[غدا على الساعة] LT', 25 | nextWeek: 'dddd [على الساعة] LT', 26 | lastDay: '[أمس على الساعة] LT', 27 | lastWeek: 'dddd [على الساعة] LT', 28 | sameElse: 'L' 29 | }, 30 | relativeTime : { 31 | future : 'في %s', 32 | past : 'منذ %s', 33 | s : 'ثوان', 34 | ss : '%d ثانية', 35 | m : 'دقيقة', 36 | mm : '%d دقائق', 37 | h : 'ساعة', 38 | hh : '%d ساعات', 39 | d : 'يوم', 40 | dd : '%d أيام', 41 | M : 'شهر', 42 | MM : '%d أشهر', 43 | y : 'سنة', 44 | yy : '%d سنوات' 45 | }, 46 | week : { 47 | dow : 0, // Sunday is the first day of the week. 48 | doy : 4 // The week that contains Jan 4th is the first week of the year. 49 | } 50 | }); 51 | 52 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/locale/uz-latn.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Uzbek Latin [uz-latn] 3 | //! author : Rasulbek Mirzayev : github.com/Rasulbeeek 4 | 5 | import moment from '../moment'; 6 | 7 | export default moment.defineLocale('uz-latn', { 8 | months : 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split('_'), 9 | monthsShort : 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'), 10 | weekdays : 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split('_'), 11 | weekdaysShort : 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'), 12 | weekdaysMin : 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'), 13 | longDateFormat : { 14 | LT : 'HH:mm', 15 | LTS : 'HH:mm:ss', 16 | L : 'DD/MM/YYYY', 17 | LL : 'D MMMM YYYY', 18 | LLL : 'D MMMM YYYY HH:mm', 19 | LLLL : 'D MMMM YYYY, dddd HH:mm' 20 | }, 21 | calendar : { 22 | sameDay : '[Bugun soat] LT [da]', 23 | nextDay : '[Ertaga] LT [da]', 24 | nextWeek : 'dddd [kuni soat] LT [da]', 25 | lastDay : '[Kecha soat] LT [da]', 26 | lastWeek : '[O\'tgan] dddd [kuni soat] LT [da]', 27 | sameElse : 'L' 28 | }, 29 | relativeTime : { 30 | future : 'Yaqin %s ichida', 31 | past : 'Bir necha %s oldin', 32 | s : 'soniya', 33 | ss : '%d soniya', 34 | m : 'bir daqiqa', 35 | mm : '%d daqiqa', 36 | h : 'bir soat', 37 | hh : '%d soat', 38 | d : 'bir kun', 39 | dd : '%d kun', 40 | M : 'bir oy', 41 | MM : '%d oy', 42 | y : 'bir yil', 43 | yy : '%d yil' 44 | }, 45 | week : { 46 | dow : 1, // Monday is the first day of the week. 47 | doy : 7 // The week that contains Jan 7th is the first week of the year. 48 | } 49 | }); 50 | 51 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/locale/da.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Danish [da] 3 | //! author : Ulrik Nielsen : https://github.com/mrbase 4 | 5 | import moment from '../moment'; 6 | 7 | export default moment.defineLocale('da', { 8 | months : 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split('_'), 9 | monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'), 10 | weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'), 11 | weekdaysShort : 'søn_man_tir_ons_tor_fre_lør'.split('_'), 12 | weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'), 13 | longDateFormat : { 14 | LT : 'HH:mm', 15 | LTS : 'HH:mm:ss', 16 | L : 'DD.MM.YYYY', 17 | LL : 'D. MMMM YYYY', 18 | LLL : 'D. MMMM YYYY HH:mm', 19 | LLLL : 'dddd [d.] D. MMMM YYYY [kl.] HH:mm' 20 | }, 21 | calendar : { 22 | sameDay : '[i dag kl.] LT', 23 | nextDay : '[i morgen kl.] LT', 24 | nextWeek : 'på dddd [kl.] LT', 25 | lastDay : '[i går kl.] LT', 26 | lastWeek : '[i] dddd[s kl.] LT', 27 | sameElse : 'L' 28 | }, 29 | relativeTime : { 30 | future : 'om %s', 31 | past : '%s siden', 32 | s : 'få sekunder', 33 | ss : '%d sekunder', 34 | m : 'et minut', 35 | mm : '%d minutter', 36 | h : 'en time', 37 | hh : '%d timer', 38 | d : 'en dag', 39 | dd : '%d dage', 40 | M : 'en måned', 41 | MM : '%d måneder', 42 | y : 'et år', 43 | yy : '%d år' 44 | }, 45 | dayOfMonthOrdinalParse: /\d{1,2}\./, 46 | ordinal : '%d.', 47 | week : { 48 | dow : 1, // Monday is the first day of the week. 49 | doy : 4 // The week that contains Jan 4th is the first week of the year. 50 | } 51 | }); 52 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/locale/sw.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Swahili [sw] 3 | //! author : Fahad Kassim : https://github.com/fadsel 4 | 5 | import moment from '../moment'; 6 | 7 | export default moment.defineLocale('sw', { 8 | months : 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split('_'), 9 | monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'), 10 | weekdays : 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split('_'), 11 | weekdaysShort : 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'), 12 | weekdaysMin : 'J2_J3_J4_J5_Al_Ij_J1'.split('_'), 13 | weekdaysParseExact : true, 14 | longDateFormat : { 15 | LT : 'HH:mm', 16 | LTS : 'HH:mm:ss', 17 | L : 'DD.MM.YYYY', 18 | LL : 'D MMMM YYYY', 19 | LLL : 'D MMMM YYYY HH:mm', 20 | LLLL : 'dddd, D MMMM YYYY HH:mm' 21 | }, 22 | calendar : { 23 | sameDay : '[leo saa] LT', 24 | nextDay : '[kesho saa] LT', 25 | nextWeek : '[wiki ijayo] dddd [saat] LT', 26 | lastDay : '[jana] LT', 27 | lastWeek : '[wiki iliyopita] dddd [saat] LT', 28 | sameElse : 'L' 29 | }, 30 | relativeTime : { 31 | future : '%s baadaye', 32 | past : 'tokea %s', 33 | s : 'hivi punde', 34 | ss : 'sekunde %d', 35 | m : 'dakika moja', 36 | mm : 'dakika %d', 37 | h : 'saa limoja', 38 | hh : 'masaa %d', 39 | d : 'siku moja', 40 | dd : 'masiku %d', 41 | M : 'mwezi mmoja', 42 | MM : 'miezi %d', 43 | y : 'mwaka mmoja', 44 | yy : 'miaka %d' 45 | }, 46 | week : { 47 | dow : 1, // Monday is the first day of the week. 48 | doy : 7 // The week that contains Jan 7th is the first week of the year. 49 | } 50 | }); 51 | 52 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/locale/nn.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Nynorsk [nn] 3 | //! author : https://github.com/mechuwind 4 | 5 | import moment from '../moment'; 6 | 7 | export default moment.defineLocale('nn', { 8 | months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'), 9 | monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'), 10 | weekdays : 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'), 11 | weekdaysShort : 'sun_mån_tys_ons_tor_fre_lau'.split('_'), 12 | weekdaysMin : 'su_må_ty_on_to_fr_lø'.split('_'), 13 | longDateFormat : { 14 | LT : 'HH:mm', 15 | LTS : 'HH:mm:ss', 16 | L : 'DD.MM.YYYY', 17 | LL : 'D. MMMM YYYY', 18 | LLL : 'D. MMMM YYYY [kl.] H:mm', 19 | LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm' 20 | }, 21 | calendar : { 22 | sameDay: '[I dag klokka] LT', 23 | nextDay: '[I morgon klokka] LT', 24 | nextWeek: 'dddd [klokka] LT', 25 | lastDay: '[I går klokka] LT', 26 | lastWeek: '[Føregåande] dddd [klokka] LT', 27 | sameElse: 'L' 28 | }, 29 | relativeTime : { 30 | future : 'om %s', 31 | past : '%s sidan', 32 | s : 'nokre sekund', 33 | ss : '%d sekund', 34 | m : 'eit minutt', 35 | mm : '%d minutt', 36 | h : 'ein time', 37 | hh : '%d timar', 38 | d : 'ein dag', 39 | dd : '%d dagar', 40 | M : 'ein månad', 41 | MM : '%d månader', 42 | y : 'eit år', 43 | yy : '%d år' 44 | }, 45 | dayOfMonthOrdinalParse: /\d{1,2}\./, 46 | ordinal : '%d.', 47 | week : { 48 | dow : 1, // Monday is the first day of the week. 49 | doy : 4 // The week that contains Jan 4th is the first week of the year. 50 | } 51 | }); 52 | 53 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/locale/tzm-latn.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Central Atlas Tamazight Latin [tzm-latn] 3 | //! author : Abdel Said : https://github.com/abdelsaid 4 | 5 | import moment from '../moment'; 6 | 7 | export default moment.defineLocale('tzm-latn', { 8 | months : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'), 9 | monthsShort : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'), 10 | weekdays : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'), 11 | weekdaysShort : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'), 12 | weekdaysMin : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'), 13 | longDateFormat : { 14 | LT : 'HH:mm', 15 | LTS : 'HH:mm:ss', 16 | L : 'DD/MM/YYYY', 17 | LL : 'D MMMM YYYY', 18 | LLL : 'D MMMM YYYY HH:mm', 19 | LLLL : 'dddd D MMMM YYYY HH:mm' 20 | }, 21 | calendar : { 22 | sameDay: '[asdkh g] LT', 23 | nextDay: '[aska g] LT', 24 | nextWeek: 'dddd [g] LT', 25 | lastDay: '[assant g] LT', 26 | lastWeek: 'dddd [g] LT', 27 | sameElse: 'L' 28 | }, 29 | relativeTime : { 30 | future : 'dadkh s yan %s', 31 | past : 'yan %s', 32 | s : 'imik', 33 | ss : '%d imik', 34 | m : 'minuḍ', 35 | mm : '%d minuḍ', 36 | h : 'saɛa', 37 | hh : '%d tassaɛin', 38 | d : 'ass', 39 | dd : '%d ossan', 40 | M : 'ayowr', 41 | MM : '%d iyyirn', 42 | y : 'asgas', 43 | yy : '%d isgasn' 44 | }, 45 | week : { 46 | dow : 6, // Saturday is the first day of the week. 47 | doy : 12 // The week that contains Jan 12th is the first week of the year. 48 | } 49 | }); 50 | 51 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/locale/mt.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Maltese (Malta) [mt] 3 | //! author : Alessandro Maruccia : https://github.com/alesma 4 | 5 | import moment from '../moment'; 6 | 7 | export default moment.defineLocale('mt', { 8 | months : 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split('_'), 9 | monthsShort : 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'), 10 | weekdays : 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split('_'), 11 | weekdaysShort : 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'), 12 | weekdaysMin : 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'), 13 | longDateFormat : { 14 | LT : 'HH:mm', 15 | LTS : 'HH:mm:ss', 16 | L : 'DD/MM/YYYY', 17 | LL : 'D MMMM YYYY', 18 | LLL : 'D MMMM YYYY HH:mm', 19 | LLLL : 'dddd, D MMMM YYYY HH:mm' 20 | }, 21 | calendar : { 22 | sameDay : '[Illum fil-]LT', 23 | nextDay : '[Għada fil-]LT', 24 | nextWeek : 'dddd [fil-]LT', 25 | lastDay : '[Il-bieraħ fil-]LT', 26 | lastWeek : 'dddd [li għadda] [fil-]LT', 27 | sameElse : 'L' 28 | }, 29 | relativeTime : { 30 | future : 'f’ %s', 31 | past : '%s ilu', 32 | s : 'ftit sekondi', 33 | ss : '%d sekondi', 34 | m : 'minuta', 35 | mm : '%d minuti', 36 | h : 'siegħa', 37 | hh : '%d siegħat', 38 | d : 'ġurnata', 39 | dd : '%d ġranet', 40 | M : 'xahar', 41 | MM : '%d xhur', 42 | y : 'sena', 43 | yy : '%d sni' 44 | }, 45 | dayOfMonthOrdinalParse : /\d{1,2}º/, 46 | ordinal: '%dº', 47 | week : { 48 | dow : 1, // Monday is the first day of the week. 49 | doy : 4 // The week that contains Jan 4th is the first week of the year. 50 | } 51 | }); 52 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/locale/ar-ma.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Arabic (Morocco) [ar-ma] 3 | //! author : ElFadili Yassine : https://github.com/ElFadiliY 4 | //! author : Abdel Said : https://github.com/abdelsaid 5 | 6 | import moment from '../moment'; 7 | 8 | export default moment.defineLocale('ar-ma', { 9 | months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'), 10 | monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'), 11 | weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), 12 | weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), 13 | weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'), 14 | weekdaysParseExact : true, 15 | longDateFormat : { 16 | LT : 'HH:mm', 17 | LTS : 'HH:mm:ss', 18 | L : 'DD/MM/YYYY', 19 | LL : 'D MMMM YYYY', 20 | LLL : 'D MMMM YYYY HH:mm', 21 | LLLL : 'dddd D MMMM YYYY HH:mm' 22 | }, 23 | calendar : { 24 | sameDay: '[اليوم على الساعة] LT', 25 | nextDay: '[غدا على الساعة] LT', 26 | nextWeek: 'dddd [على الساعة] LT', 27 | lastDay: '[أمس على الساعة] LT', 28 | lastWeek: 'dddd [على الساعة] LT', 29 | sameElse: 'L' 30 | }, 31 | relativeTime : { 32 | future : 'في %s', 33 | past : 'منذ %s', 34 | s : 'ثوان', 35 | ss : '%d ثانية', 36 | m : 'دقيقة', 37 | mm : '%d دقائق', 38 | h : 'ساعة', 39 | hh : '%d ساعات', 40 | d : 'يوم', 41 | dd : '%d أيام', 42 | M : 'شهر', 43 | MM : '%d أشهر', 44 | y : 'سنة', 45 | yy : '%d سنوات' 46 | }, 47 | week : { 48 | dow : 6, // Saturday is the first day of the week. 49 | doy : 12 // The week that contains Jan 12th is the first week of the year. 50 | } 51 | }); 52 | 53 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/helpers/helpers.config.d.ts: -------------------------------------------------------------------------------- 1 | import type { AnyObject } from '../types/basic.js'; 2 | import type { ChartMeta } from '../types/index.js'; 3 | import type { ResolverObjectKey, ResolverCache, ResolverProxy, DescriptorDefaults, Descriptor, ContextProxy } from './helpers.config.types.js'; 4 | export * from './helpers.config.types.js'; 5 | /** 6 | * Creates a Proxy for resolving raw values for options. 7 | * @param scopes - The option scopes to look for values, in resolution order 8 | * @param prefixes - The prefixes for values, in resolution order. 9 | * @param rootScopes - The root option scopes 10 | * @param fallback - Parent scopes fallback 11 | * @param getTarget - callback for getting the target for changed values 12 | * @returns Proxy 13 | * @private 14 | */ 15 | export declare function _createResolver(scopes: T, prefixes?: string[], rootScopes?: R, fallback?: ResolverObjectKey, getTarget?: () => AnyObject): any; 16 | /** 17 | * Returns an Proxy for resolving option values with context. 18 | * @param proxy - The Proxy returned by `_createResolver` 19 | * @param context - Context object for scriptable/indexable options 20 | * @param subProxy - The proxy provided for scriptable options 21 | * @param descriptorDefaults - Defaults for descriptors 22 | * @private 23 | */ 24 | export declare function _attachContext(proxy: ResolverProxy, context: AnyObject, subProxy?: ResolverProxy, descriptorDefaults?: DescriptorDefaults): ContextProxy; 25 | /** 26 | * @private 27 | */ 28 | export declare function _descriptors(proxy: ResolverCache, defaults?: DescriptorDefaults): Descriptor; 29 | export declare function _parseObjectDataRadialScale(meta: ChartMeta<'line' | 'scatter'>, data: AnyObject[], start: number, count: number): { 30 | r: unknown; 31 | }[]; 32 | -------------------------------------------------------------------------------- /results/public/_components/chartjs-color-string/README.md: -------------------------------------------------------------------------------- 1 | # chartjs-color-string 2 | 3 | [![npm](https://img.shields.io/npm/v/chartjs-color-string.svg?style=flat-square&maxAge=600)](https://npmjs.com/package/chartjs-color-string) [![Travis](https://img.shields.io/travis/chartjs/chartjs-color-string.svg?style=flat-square&maxAge=600)](https://travis-ci.org/chartjs/chartjs-color-string) 4 | 5 | > library for parsing and generating CSS color strings. 6 | 7 | ## Install 8 | 9 | With [npm](http://npmjs.org/): 10 | 11 | ```console 12 | $ npm install color-string 13 | ``` 14 | 15 | ## Usage 16 | 17 | ### Parsing 18 | 19 | ```js 20 | colorString.getRgb("blue") // [0, 0, 255] 21 | colorString.getRgb("#FFF") // [255, 255, 255] 22 | colorString.getRgba("#FFFA") //[255, 255, 255, 0.67]} 23 | colorString.getRgba("#FFFFFFAA") // [255, 255, 255, 0.67]} 24 | 25 | colorString.getRgba("rgba(200, 60, 60, 0.3)") // [200, 60, 60, 0.3] 26 | colorString.getRgba("rgb(200, 200, 200)") // [200, 200, 200, 1] 27 | 28 | colorString.getHsl("hsl(360, 100%, 50%)") // [360, 100, 50] 29 | colorString.getHsla("hsla(360, 60%, 50%, 0.4)") // [360, 60, 50, 0.4] 30 | 31 | colorString.getAlpha("rgba(200, 0, 12, 0.6)") // 0.6 32 | ``` 33 | 34 | ### Generation 35 | 36 | ```js 37 | colorString.hexString([255, 255, 255]) // "#FFFFFF" 38 | colorString.hexString([0, 0, 255, 0.4]) // "#0000FF66" 39 | colorString.hexString([0, 0, 255], 0.4) // "#0000FF66" 40 | colorString.rgbString([255, 255, 255]) // "rgb(255, 255, 255)" 41 | colorString.rgbString([0, 0, 255, 0.4]) // "rgba(0, 0, 255, 0.4)" 42 | colorString.rgbString([0, 0, 255], 0.4) // "rgba(0, 0, 255, 0.4)" 43 | colorString.percentString([0, 0, 255]) // "rgb(0%, 0%, 100%)" 44 | colorString.keyword([255, 255, 0]) // "yellow" 45 | colorString.hslString([360, 100, 100]) // "hsl(360, 100%, 100%)" 46 | ``` 47 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/utils/deprecate.js: -------------------------------------------------------------------------------- 1 | import extend from './extend'; 2 | import { hooks } from './hooks'; 3 | import isUndefined from './is-undefined'; 4 | 5 | function warn(msg) { 6 | if (hooks.suppressDeprecationWarnings === false && 7 | (typeof console !== 'undefined') && console.warn) { 8 | console.warn('Deprecation warning: ' + msg); 9 | } 10 | } 11 | 12 | export function deprecate(msg, fn) { 13 | var firstTime = true; 14 | 15 | return extend(function () { 16 | if (hooks.deprecationHandler != null) { 17 | hooks.deprecationHandler(null, msg); 18 | } 19 | if (firstTime) { 20 | var args = []; 21 | var arg; 22 | for (var i = 0; i < arguments.length; i++) { 23 | arg = ''; 24 | if (typeof arguments[i] === 'object') { 25 | arg += '\n[' + i + '] '; 26 | for (var key in arguments[0]) { 27 | arg += key + ': ' + arguments[0][key] + ', '; 28 | } 29 | arg = arg.slice(0, -2); // Remove trailing comma and space 30 | } else { 31 | arg = arguments[i]; 32 | } 33 | args.push(arg); 34 | } 35 | warn(msg + '\nArguments: ' + Array.prototype.slice.call(args).join('') + '\n' + (new Error()).stack); 36 | firstTime = false; 37 | } 38 | return fn.apply(this, arguments); 39 | }, fn); 40 | } 41 | 42 | var deprecations = {}; 43 | 44 | export function deprecateSimple(name, msg) { 45 | if (hooks.deprecationHandler != null) { 46 | hooks.deprecationHandler(name, msg); 47 | } 48 | if (!deprecations[name]) { 49 | warn(msg); 50 | deprecations[name] = true; 51 | } 52 | } 53 | 54 | hooks.suppressDeprecationWarnings = false; 55 | hooks.deprecationHandler = null; 56 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/types/layout.d.ts: -------------------------------------------------------------------------------- 1 | import {ChartArea} from './geometric.js'; 2 | 3 | export type LayoutPosition = 'left' | 'top' | 'right' | 'bottom' | 'center' | 'chartArea' | {[scaleId: string]: number}; 4 | 5 | export interface LayoutItem { 6 | /** 7 | * The position of the item in the chart layout. Possible values are 8 | */ 9 | position: LayoutPosition; 10 | /** 11 | * The weight used to sort the item. Higher weights are further away from the chart area 12 | */ 13 | weight: number; 14 | /** 15 | * if true, and the item is horizontal, then push vertical boxes down 16 | */ 17 | fullSize: boolean; 18 | /** 19 | * Width of item. Must be valid after update() 20 | */ 21 | width: number; 22 | /** 23 | * Height of item. Must be valid after update() 24 | */ 25 | height: number; 26 | /** 27 | * Left edge of the item. Set by layout system and cannot be used in update 28 | */ 29 | left: number; 30 | /** 31 | * Top edge of the item. Set by layout system and cannot be used in update 32 | */ 33 | top: number; 34 | /** 35 | * Right edge of the item. Set by layout system and cannot be used in update 36 | */ 37 | right: number; 38 | /** 39 | * Bottom edge of the item. Set by layout system and cannot be used in update 40 | */ 41 | bottom: number; 42 | 43 | /** 44 | * Called before the layout process starts 45 | */ 46 | beforeLayout?(): void; 47 | /** 48 | * Draws the element 49 | */ 50 | draw(chartArea: ChartArea): void; 51 | /** 52 | * Returns an object with padding on the edges 53 | */ 54 | getPadding?(): ChartArea; 55 | /** 56 | * returns true if the layout item is horizontal (ie. top or bottom) 57 | */ 58 | isHorizontal(): boolean; 59 | /** 60 | * Takes two parameters: width and height. 61 | * @param width 62 | * @param height 63 | */ 64 | update(width: number, height: number, margins?: ChartArea): void; 65 | } 66 | -------------------------------------------------------------------------------- /results/public/_static/utopia.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/locale/yo.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Yoruba Nigeria [yo] 3 | //! author : Atolagbe Abisoye : https://github.com/andela-batolagbe 4 | 5 | import moment from '../moment'; 6 | 7 | export default moment.defineLocale('yo', { 8 | months : 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split('_'), 9 | monthsShort : 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'), 10 | weekdays : 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'), 11 | weekdaysShort : 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'), 12 | weekdaysMin : 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'), 13 | longDateFormat : { 14 | LT : 'h:mm A', 15 | LTS : 'h:mm:ss A', 16 | L : 'DD/MM/YYYY', 17 | LL : 'D MMMM YYYY', 18 | LLL : 'D MMMM YYYY h:mm A', 19 | LLLL : 'dddd, D MMMM YYYY h:mm A' 20 | }, 21 | calendar : { 22 | sameDay : '[Ònì ni] LT', 23 | nextDay : '[Ọ̀la ni] LT', 24 | nextWeek : 'dddd [Ọsẹ̀ tón\'bọ] [ni] LT', 25 | lastDay : '[Àna ni] LT', 26 | lastWeek : 'dddd [Ọsẹ̀ tólọ́] [ni] LT', 27 | sameElse : 'L' 28 | }, 29 | relativeTime : { 30 | future : 'ní %s', 31 | past : '%s kọjá', 32 | s : 'ìsẹjú aayá die', 33 | ss :'aayá %d', 34 | m : 'ìsẹjú kan', 35 | mm : 'ìsẹjú %d', 36 | h : 'wákati kan', 37 | hh : 'wákati %d', 38 | d : 'ọjọ́ kan', 39 | dd : 'ọjọ́ %d', 40 | M : 'osù kan', 41 | MM : 'osù %d', 42 | y : 'ọdún kan', 43 | yy : 'ọdún %d' 44 | }, 45 | dayOfMonthOrdinalParse : /ọjọ́\s\d{1,2}/, 46 | ordinal : 'ọjọ́ %d', 47 | week : { 48 | dow : 1, // Monday is the first day of the week. 49 | doy : 4 // The week that contains Jan 4th is the first week of the year. 50 | } 51 | }); 52 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/locale/set.js: -------------------------------------------------------------------------------- 1 | import isFunction from '../utils/is-function'; 2 | import extend from '../utils/extend'; 3 | import isObject from '../utils/is-object'; 4 | import hasOwnProp from '../utils/has-own-prop'; 5 | 6 | export function set (config) { 7 | var prop, i; 8 | for (i in config) { 9 | prop = config[i]; 10 | if (isFunction(prop)) { 11 | this[i] = prop; 12 | } else { 13 | this['_' + i] = prop; 14 | } 15 | } 16 | this._config = config; 17 | // Lenient ordinal parsing accepts just a number in addition to 18 | // number + (possibly) stuff coming from _dayOfMonthOrdinalParse. 19 | // TODO: Remove "ordinalParse" fallback in next major release. 20 | this._dayOfMonthOrdinalParseLenient = new RegExp( 21 | (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + 22 | '|' + (/\d{1,2}/).source); 23 | } 24 | 25 | export function mergeConfigs(parentConfig, childConfig) { 26 | var res = extend({}, parentConfig), prop; 27 | for (prop in childConfig) { 28 | if (hasOwnProp(childConfig, prop)) { 29 | if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) { 30 | res[prop] = {}; 31 | extend(res[prop], parentConfig[prop]); 32 | extend(res[prop], childConfig[prop]); 33 | } else if (childConfig[prop] != null) { 34 | res[prop] = childConfig[prop]; 35 | } else { 36 | delete res[prop]; 37 | } 38 | } 39 | } 40 | for (prop in parentConfig) { 41 | if (hasOwnProp(parentConfig, prop) && 42 | !hasOwnProp(childConfig, prop) && 43 | isObject(parentConfig[prop])) { 44 | // make sure changes to properties don't modify parent config 45 | res[prop] = extend({}, res[prop]); 46 | } 47 | } 48 | return res; 49 | } 50 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/locale/en-il.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : English (Israel) [en-il] 3 | //! author : Chris Gedrim : https://github.com/chrisgedrim 4 | 5 | import moment from '../moment'; 6 | 7 | export default moment.defineLocale('en-il', { 8 | months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), 9 | monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), 10 | weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), 11 | weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), 12 | weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), 13 | longDateFormat : { 14 | LT : 'HH:mm', 15 | LTS : 'HH:mm:ss', 16 | L : 'DD/MM/YYYY', 17 | LL : 'D MMMM YYYY', 18 | LLL : 'D MMMM YYYY HH:mm', 19 | LLLL : 'dddd, D MMMM YYYY HH:mm' 20 | }, 21 | calendar : { 22 | sameDay : '[Today at] LT', 23 | nextDay : '[Tomorrow at] LT', 24 | nextWeek : 'dddd [at] LT', 25 | lastDay : '[Yesterday at] LT', 26 | lastWeek : '[Last] dddd [at] LT', 27 | sameElse : 'L' 28 | }, 29 | relativeTime : { 30 | future : 'in %s', 31 | past : '%s ago', 32 | s : 'a few seconds', 33 | m : 'a minute', 34 | mm : '%d minutes', 35 | h : 'an hour', 36 | hh : '%d hours', 37 | d : 'a day', 38 | dd : '%d days', 39 | M : 'a month', 40 | MM : '%d months', 41 | y : 'a year', 42 | yy : '%d years' 43 | }, 44 | dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, 45 | ordinal : function (number) { 46 | var b = number % 10, 47 | output = (~~(number % 100 / 10) === 1) ? 'th' : 48 | (b === 1) ? 'st' : 49 | (b === 2) ? 'nd' : 50 | (b === 3) ? 'rd' : 'th'; 51 | return number + output; 52 | } 53 | }); 54 | 55 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/locale/fo.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Faroese [fo] 3 | //! author : Ragnar Johannesen : https://github.com/ragnar123 4 | //! author : Kristian Sakarisson : https://github.com/sakarisson 5 | 6 | import moment from '../moment'; 7 | 8 | export default moment.defineLocale('fo', { 9 | months : 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split('_'), 10 | monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'), 11 | weekdays : 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split('_'), 12 | weekdaysShort : 'sun_mán_týs_mik_hós_frí_ley'.split('_'), 13 | weekdaysMin : 'su_má_tý_mi_hó_fr_le'.split('_'), 14 | longDateFormat : { 15 | LT : 'HH:mm', 16 | LTS : 'HH:mm:ss', 17 | L : 'DD/MM/YYYY', 18 | LL : 'D MMMM YYYY', 19 | LLL : 'D MMMM YYYY HH:mm', 20 | LLLL : 'dddd D. MMMM, YYYY HH:mm' 21 | }, 22 | calendar : { 23 | sameDay : '[Í dag kl.] LT', 24 | nextDay : '[Í morgin kl.] LT', 25 | nextWeek : 'dddd [kl.] LT', 26 | lastDay : '[Í gjár kl.] LT', 27 | lastWeek : '[síðstu] dddd [kl] LT', 28 | sameElse : 'L' 29 | }, 30 | relativeTime : { 31 | future : 'um %s', 32 | past : '%s síðani', 33 | s : 'fá sekund', 34 | ss : '%d sekundir', 35 | m : 'ein minuttur', 36 | mm : '%d minuttir', 37 | h : 'ein tími', 38 | hh : '%d tímar', 39 | d : 'ein dagur', 40 | dd : '%d dagar', 41 | M : 'ein mánaður', 42 | MM : '%d mánaðir', 43 | y : 'eitt ár', 44 | yy : '%d ár' 45 | }, 46 | dayOfMonthOrdinalParse: /\d{1,2}\./, 47 | ordinal : '%d.', 48 | week : { 49 | dow : 1, // Monday is the first day of the week. 50 | doy : 4 // The week that contains Jan 4th is the first week of the year. 51 | } 52 | }); 53 | 54 | -------------------------------------------------------------------------------- /results/public/_components/color-convert/README.md: -------------------------------------------------------------------------------- 1 | # color-convert [![Build Status](https://travis-ci.org/harthur/color-convert.svg?branch=master)](https://travis-ci.org/harthur/color-convert) 2 | Color-convert is a color conversion library for JavaScript and node. It converts all ways between `rgb`, `hsl`, `hsv`, `hwb`, `cmyk`, and CSS keywords: 3 | 4 | ```js 5 | var converter = require("color-convert")(); 6 | 7 | converter.rgb(140, 200, 100).hsl() // [96, 48, 59] 8 | 9 | converter.keyword("blue").rgb() // [0, 0, 255] 10 | ``` 11 | 12 | # Install 13 | 14 | ```console 15 | npm install color-convert 16 | ``` 17 | 18 | # API 19 | 20 | Color-convert exports a converter object with getter/setter methods for each color space. It caches conversions: 21 | 22 | ```js 23 | var converter = require("color-convert")(); 24 | 25 | converter.rgb(140, 200, 100).hsl() // [96, 48, 59] 26 | 27 | converter.rgb([140, 200, 100]) // args can be an array 28 | ``` 29 | 30 | ### Plain functions 31 | Get direct conversion functions with no fancy objects: 32 | 33 | ```js 34 | require("color-convert").rgb2hsl([140, 200, 100]); // [96, 48, 59] 35 | ``` 36 | 37 | ### Unrounded 38 | To get the unrounded conversion, append `Raw` to the function name: 39 | 40 | ```js 41 | convert.rgb2hslRaw([140, 200, 100]); // [95.99999999999999, 47.619047619047606, 58.82352941176471] 42 | ``` 43 | 44 | ### Hash 45 | There's also a hash of the conversion functions keyed first by the "from" color space, then by the "to" color space: 46 | 47 | ```js 48 | convert["hsl"]["hsv"]([160, 0, 20]) == convert.hsl2hsv([160, 0, 20]) 49 | ``` 50 | 51 | ### Other spaces 52 | 53 | There are some conversions from rgb (sRGB) to XYZ and LAB too, available as `rgb2xyz()`, `rgb2lab()`, `xyz2rgb()`, and `xyz2lab()`. 54 | 55 | # Contribute 56 | 57 | Please fork, add conversions, figure out color profile stuff for XYZ, LAB, etc. This is meant to be a basic library that can be used by other libraries to wrap color calculations in some cool way. 58 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/locale/tl-ph.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Tagalog (Philippines) [tl-ph] 3 | //! author : Dan Hagman : https://github.com/hagmandan 4 | 5 | import moment from '../moment'; 6 | 7 | export default moment.defineLocale('tl-ph', { 8 | months : 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split('_'), 9 | monthsShort : 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'), 10 | weekdays : 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split('_'), 11 | weekdaysShort : 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'), 12 | weekdaysMin : 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'), 13 | longDateFormat : { 14 | LT : 'HH:mm', 15 | LTS : 'HH:mm:ss', 16 | L : 'MM/D/YYYY', 17 | LL : 'MMMM D, YYYY', 18 | LLL : 'MMMM D, YYYY HH:mm', 19 | LLLL : 'dddd, MMMM DD, YYYY HH:mm' 20 | }, 21 | calendar : { 22 | sameDay: 'LT [ngayong araw]', 23 | nextDay: '[Bukas ng] LT', 24 | nextWeek: 'LT [sa susunod na] dddd', 25 | lastDay: 'LT [kahapon]', 26 | lastWeek: 'LT [noong nakaraang] dddd', 27 | sameElse: 'L' 28 | }, 29 | relativeTime : { 30 | future : 'sa loob ng %s', 31 | past : '%s ang nakalipas', 32 | s : 'ilang segundo', 33 | ss : '%d segundo', 34 | m : 'isang minuto', 35 | mm : '%d minuto', 36 | h : 'isang oras', 37 | hh : '%d oras', 38 | d : 'isang araw', 39 | dd : '%d araw', 40 | M : 'isang buwan', 41 | MM : '%d buwan', 42 | y : 'isang taon', 43 | yy : '%d taon' 44 | }, 45 | dayOfMonthOrdinalParse: /\d{1,2}/, 46 | ordinal : function (number) { 47 | return number; 48 | }, 49 | week : { 50 | dow : 1, // Monday is the first day of the week. 51 | doy : 4 // The week that contains Jan 4th is the first week of the year. 52 | } 53 | }); 54 | 55 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/locale/bm.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Bambara [bm] 3 | //! author : Estelle Comment : https://github.com/estellecomment 4 | // Language contact person : Abdoufata Kane : https://github.com/abdoufata 5 | 6 | import moment from '../moment'; 7 | 8 | export default moment.defineLocale('bm', { 9 | months : 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split('_'), 10 | monthsShort : 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'), 11 | weekdays : 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'), 12 | weekdaysShort : 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'), 13 | weekdaysMin : 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'), 14 | longDateFormat : { 15 | LT : 'HH:mm', 16 | LTS : 'HH:mm:ss', 17 | L : 'DD/MM/YYYY', 18 | LL : 'MMMM [tile] D [san] YYYY', 19 | LLL : 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm', 20 | LLLL : 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm' 21 | }, 22 | calendar : { 23 | sameDay : '[Bi lɛrɛ] LT', 24 | nextDay : '[Sini lɛrɛ] LT', 25 | nextWeek : 'dddd [don lɛrɛ] LT', 26 | lastDay : '[Kunu lɛrɛ] LT', 27 | lastWeek : 'dddd [tɛmɛnen lɛrɛ] LT', 28 | sameElse : 'L' 29 | }, 30 | relativeTime : { 31 | future : '%s kɔnɔ', 32 | past : 'a bɛ %s bɔ', 33 | s : 'sanga dama dama', 34 | ss : 'sekondi %d', 35 | m : 'miniti kelen', 36 | mm : 'miniti %d', 37 | h : 'lɛrɛ kelen', 38 | hh : 'lɛrɛ %d', 39 | d : 'tile kelen', 40 | dd : 'tile %d', 41 | M : 'kalo kelen', 42 | MM : 'kalo %d', 43 | y : 'san kelen', 44 | yy : 'san %d' 45 | }, 46 | week : { 47 | dow : 1, // Monday is the first day of the week. 48 | doy : 4 // The week that contains Jan 4th is the first week of the year. 49 | } 50 | }); 51 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/locale/en-ca.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : English (Canada) [en-ca] 3 | //! author : Jonathan Abourbih : https://github.com/jonbca 4 | 5 | import moment from '../moment'; 6 | 7 | export default moment.defineLocale('en-ca', { 8 | months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), 9 | monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), 10 | weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), 11 | weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), 12 | weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), 13 | longDateFormat : { 14 | LT : 'h:mm A', 15 | LTS : 'h:mm:ss A', 16 | L : 'YYYY-MM-DD', 17 | LL : 'MMMM D, YYYY', 18 | LLL : 'MMMM D, YYYY h:mm A', 19 | LLLL : 'dddd, MMMM D, YYYY h:mm A' 20 | }, 21 | calendar : { 22 | sameDay : '[Today at] LT', 23 | nextDay : '[Tomorrow at] LT', 24 | nextWeek : 'dddd [at] LT', 25 | lastDay : '[Yesterday at] LT', 26 | lastWeek : '[Last] dddd [at] LT', 27 | sameElse : 'L' 28 | }, 29 | relativeTime : { 30 | future : 'in %s', 31 | past : '%s ago', 32 | s : 'a few seconds', 33 | ss : '%d seconds', 34 | m : 'a minute', 35 | mm : '%d minutes', 36 | h : 'an hour', 37 | hh : '%d hours', 38 | d : 'a day', 39 | dd : '%d days', 40 | M : 'a month', 41 | MM : '%d months', 42 | y : 'a year', 43 | yy : '%d years' 44 | }, 45 | dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, 46 | ordinal : function (number) { 47 | var b = number % 10, 48 | output = (~~(number % 100 / 10) === 1) ? 'th' : 49 | (b === 1) ? 'st' : 50 | (b === 2) ? 'nd' : 51 | (b === 3) ? 'rd' : 'th'; 52 | return number + output; 53 | } 54 | }); 55 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/core/core.animator.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * @typedef { import('./core.animation.js').default } Animation 3 | * @typedef { import('./core.controller.js').default } Chart 4 | */ 5 | /** 6 | * Please use the module's default export which provides a singleton instance 7 | * Note: class is export for typedoc 8 | */ 9 | export class Animator { 10 | _request: any; 11 | _charts: Map; 12 | _running: boolean; 13 | _lastDate: number; 14 | /** 15 | * @private 16 | */ 17 | private _notify; 18 | /** 19 | * @private 20 | */ 21 | private _refresh; 22 | /** 23 | * @private 24 | */ 25 | private _update; 26 | /** 27 | * @private 28 | */ 29 | private _getAnims; 30 | /** 31 | * @param {Chart} chart 32 | * @param {string} event - event name 33 | * @param {Function} cb - callback 34 | */ 35 | listen(chart: Chart, event: string, cb: Function): void; 36 | /** 37 | * Add animations 38 | * @param {Chart} chart 39 | * @param {Animation[]} items - animations 40 | */ 41 | add(chart: Chart, items: Animation[]): void; 42 | /** 43 | * Counts number of active animations for the chart 44 | * @param {Chart} chart 45 | */ 46 | has(chart: Chart): boolean; 47 | /** 48 | * Start animating (all charts) 49 | * @param {Chart} chart 50 | */ 51 | start(chart: Chart): void; 52 | running(chart: any): boolean; 53 | /** 54 | * Stop all animations for the chart 55 | * @param {Chart} chart 56 | */ 57 | stop(chart: Chart): void; 58 | /** 59 | * Remove chart from Animator 60 | * @param {Chart} chart 61 | */ 62 | remove(chart: Chart): boolean; 63 | } 64 | declare const _default: Animator; 65 | export default _default; 66 | export type Animation = import('./core.animation.js').default; 67 | export type Chart = import('./core.controller.js').default; 68 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/helpers/helpers.easing.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Easing functions adapted from Robert Penner's easing equations. 3 | * @namespace Chart.helpers.easing.effects 4 | * @see http://www.robertpenner.com/easing/ 5 | */ 6 | declare const effects: { 7 | readonly linear: (t: number) => number; 8 | readonly easeInQuad: (t: number) => number; 9 | readonly easeOutQuad: (t: number) => number; 10 | readonly easeInOutQuad: (t: number) => number; 11 | readonly easeInCubic: (t: number) => number; 12 | readonly easeOutCubic: (t: number) => number; 13 | readonly easeInOutCubic: (t: number) => number; 14 | readonly easeInQuart: (t: number) => number; 15 | readonly easeOutQuart: (t: number) => number; 16 | readonly easeInOutQuart: (t: number) => number; 17 | readonly easeInQuint: (t: number) => number; 18 | readonly easeOutQuint: (t: number) => number; 19 | readonly easeInOutQuint: (t: number) => number; 20 | readonly easeInSine: (t: number) => number; 21 | readonly easeOutSine: (t: number) => number; 22 | readonly easeInOutSine: (t: number) => number; 23 | readonly easeInExpo: (t: number) => number; 24 | readonly easeOutExpo: (t: number) => number; 25 | readonly easeInOutExpo: (t: number) => number; 26 | readonly easeInCirc: (t: number) => number; 27 | readonly easeOutCirc: (t: number) => number; 28 | readonly easeInOutCirc: (t: number) => number; 29 | readonly easeInElastic: (t: number) => number; 30 | readonly easeOutElastic: (t: number) => number; 31 | readonly easeInOutElastic: (t: number) => number; 32 | readonly easeInBack: (t: number) => number; 33 | readonly easeOutBack: (t: number) => number; 34 | readonly easeInOutBack: (t: number) => number; 35 | readonly easeInBounce: (t: number) => number; 36 | readonly easeOutBounce: (t: number) => number; 37 | readonly easeInOutBounce: (t: number) => number; 38 | }; 39 | export type EasingFunction = keyof typeof effects; 40 | export default effects; 41 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/scales/scale.radialLinear.d.ts: -------------------------------------------------------------------------------- 1 | export default class RadialLinearScale extends LinearScaleBase { 2 | static id: string; 3 | /** 4 | * @type {any} 5 | */ 6 | static defaults: any; 7 | static defaultRoutes: { 8 | 'angleLines.color': string; 9 | 'pointLabels.color': string; 10 | 'ticks.color': string; 11 | }; 12 | static descriptors: { 13 | angleLines: { 14 | _fallback: string; 15 | }; 16 | }; 17 | /** @type {number} */ 18 | xCenter: number; 19 | /** @type {number} */ 20 | yCenter: number; 21 | /** @type {number} */ 22 | drawingArea: number; 23 | /** @type {string[]} */ 24 | _pointLabels: string[]; 25 | _pointLabelItems: any[]; 26 | _padding: import("../types.js").ChartArea; 27 | generateTickLabels(ticks: any): void; 28 | setCenterPoint(leftMovement: any, rightMovement: any, topMovement: any, bottomMovement: any): void; 29 | getIndexAngle(index: any): number; 30 | getDistanceFromCenterForValue(value: any): number; 31 | getValueForDistanceFromCenter(distance: any): any; 32 | getPointLabelContext(index: any): any; 33 | getPointPosition(index: any, distanceFromCenter: any, additionalAngle?: number): { 34 | x: number; 35 | y: number; 36 | angle: number; 37 | }; 38 | getPointPositionForValue(index: any, value: any): { 39 | x: number; 40 | y: number; 41 | angle: number; 42 | }; 43 | getBasePosition(index: any): { 44 | x: number; 45 | y: number; 46 | angle: number; 47 | }; 48 | getPointLabelPosition(index: any): { 49 | left: any; 50 | top: any; 51 | right: any; 52 | bottom: any; 53 | }; 54 | /** 55 | * @protected 56 | */ 57 | protected drawGrid(): void; 58 | /** 59 | * @protected 60 | */ 61 | protected drawLabels(): void; 62 | } 63 | import LinearScaleBase from "./scale.linearbase.js"; 64 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/units/week.js: -------------------------------------------------------------------------------- 1 | import { addFormatToken } from '../format/format'; 2 | import { addUnitAlias } from './aliases'; 3 | import { addUnitPriority } from './priorities'; 4 | import { addRegexToken, match1to2, match2 } from '../parse/regex'; 5 | import { addWeekParseToken } from '../parse/token'; 6 | import toInt from '../utils/to-int'; 7 | import { createLocal } from '../create/local'; 8 | import { weekOfYear } from './week-calendar-utils'; 9 | 10 | // FORMATTING 11 | 12 | addFormatToken('w', ['ww', 2], 'wo', 'week'); 13 | addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek'); 14 | 15 | // ALIASES 16 | 17 | addUnitAlias('week', 'w'); 18 | addUnitAlias('isoWeek', 'W'); 19 | 20 | // PRIORITIES 21 | 22 | addUnitPriority('week', 5); 23 | addUnitPriority('isoWeek', 5); 24 | 25 | // PARSING 26 | 27 | addRegexToken('w', match1to2); 28 | addRegexToken('ww', match1to2, match2); 29 | addRegexToken('W', match1to2); 30 | addRegexToken('WW', match1to2, match2); 31 | 32 | addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) { 33 | week[token.substr(0, 1)] = toInt(input); 34 | }); 35 | 36 | // HELPERS 37 | 38 | // LOCALES 39 | 40 | export function localeWeek (mom) { 41 | return weekOfYear(mom, this._week.dow, this._week.doy).week; 42 | } 43 | 44 | export var defaultLocaleWeek = { 45 | dow : 0, // Sunday is the first day of the week. 46 | doy : 6 // The week that contains Jan 6th is the first week of the year. 47 | }; 48 | 49 | export function localeFirstDayOfWeek () { 50 | return this._week.dow; 51 | } 52 | 53 | export function localeFirstDayOfYear () { 54 | return this._week.doy; 55 | } 56 | 57 | // MOMENTS 58 | 59 | export function getSetWeek (input) { 60 | var week = this.localeData().week(this); 61 | return input == null ? week : this.add((input - week) * 7, 'd'); 62 | } 63 | 64 | export function getSetISOWeek (input) { 65 | var week = weekOfYear(this, 1, 4).week; 66 | return input == null ? week : this.add((input - week) * 7, 'd'); 67 | } 68 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/plugins/plugin.title.d.ts: -------------------------------------------------------------------------------- 1 | export class Title extends Element { 2 | /** 3 | * @param {{ ctx: any; options: any; chart: any; }} config 4 | */ 5 | constructor(config: { 6 | ctx: any; 7 | options: any; 8 | chart: any; 9 | }); 10 | chart: any; 11 | options: any; 12 | ctx: any; 13 | _padding: import("../types.js").ChartArea; 14 | top: number; 15 | bottom: any; 16 | left: number; 17 | right: any; 18 | width: any; 19 | height: any; 20 | position: any; 21 | weight: any; 22 | fullSize: any; 23 | update(maxWidth: any, maxHeight: any): void; 24 | isHorizontal(): boolean; 25 | _drawArgs(offset: any): { 26 | titleX: any; 27 | titleY: any; 28 | maxWidth: number; 29 | rotation: number; 30 | }; 31 | draw(): void; 32 | } 33 | declare namespace _default { 34 | export const id: string; 35 | export { Title as _element }; 36 | export function start(chart: any, _args: any, options: any): void; 37 | export function stop(chart: any): void; 38 | export function beforeUpdate(chart: any, _args: any, options: any): void; 39 | export namespace defaults { 40 | export const align: string; 41 | export const display: boolean; 42 | export namespace font { 43 | const weight: string; 44 | } 45 | export const fullSize: boolean; 46 | export const padding: number; 47 | export const position: string; 48 | export const text: string; 49 | const weight_1: number; 50 | export { weight_1 as weight }; 51 | } 52 | export namespace defaultRoutes { 53 | const color: string; 54 | } 55 | export namespace descriptors { 56 | const _scriptable: boolean; 57 | const _indexable: boolean; 58 | } 59 | } 60 | export default _default; 61 | import Element from "../core/core.element.js"; 62 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/locale/pt-br.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Portuguese (Brazil) [pt-br] 3 | //! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira 4 | 5 | import moment from '../moment'; 6 | 7 | export default moment.defineLocale('pt-br', { 8 | months : 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro'.split('_'), 9 | monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'), 10 | weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'), 11 | weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'), 12 | weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'), 13 | weekdaysParseExact : true, 14 | longDateFormat : { 15 | LT : 'HH:mm', 16 | LTS : 'HH:mm:ss', 17 | L : 'DD/MM/YYYY', 18 | LL : 'D [de] MMMM [de] YYYY', 19 | LLL : 'D [de] MMMM [de] YYYY [às] HH:mm', 20 | LLLL : 'dddd, D [de] MMMM [de] YYYY [às] HH:mm' 21 | }, 22 | calendar : { 23 | sameDay: '[Hoje às] LT', 24 | nextDay: '[Amanhã às] LT', 25 | nextWeek: 'dddd [às] LT', 26 | lastDay: '[Ontem às] LT', 27 | lastWeek: function () { 28 | return (this.day() === 0 || this.day() === 6) ? 29 | '[Último] dddd [às] LT' : // Saturday + Sunday 30 | '[Última] dddd [às] LT'; // Monday - Friday 31 | }, 32 | sameElse: 'L' 33 | }, 34 | relativeTime : { 35 | future : 'em %s', 36 | past : 'há %s', 37 | s : 'poucos segundos', 38 | ss : '%d segundos', 39 | m : 'um minuto', 40 | mm : '%d minutos', 41 | h : 'uma hora', 42 | hh : '%d horas', 43 | d : 'um dia', 44 | dd : '%d dias', 45 | M : 'um mês', 46 | MM : '%d meses', 47 | y : 'um ano', 48 | yy : '%d anos' 49 | }, 50 | dayOfMonthOrdinalParse: /\d{1,2}º/, 51 | ordinal : '%dº' 52 | }); 53 | 54 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/locale/se.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Northern Sami [se] 3 | //! authors : Bård Rolstad Henriksen : https://github.com/karamell 4 | 5 | 6 | import moment from '../moment'; 7 | 8 | export default moment.defineLocale('se', { 9 | months : 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split('_'), 10 | monthsShort : 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'), 11 | weekdays : 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split('_'), 12 | weekdaysShort : 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'), 13 | weekdaysMin : 's_v_m_g_d_b_L'.split('_'), 14 | longDateFormat : { 15 | LT : 'HH:mm', 16 | LTS : 'HH:mm:ss', 17 | L : 'DD.MM.YYYY', 18 | LL : 'MMMM D. [b.] YYYY', 19 | LLL : 'MMMM D. [b.] YYYY [ti.] HH:mm', 20 | LLLL : 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm' 21 | }, 22 | calendar : { 23 | sameDay: '[otne ti] LT', 24 | nextDay: '[ihttin ti] LT', 25 | nextWeek: 'dddd [ti] LT', 26 | lastDay: '[ikte ti] LT', 27 | lastWeek: '[ovddit] dddd [ti] LT', 28 | sameElse: 'L' 29 | }, 30 | relativeTime : { 31 | future : '%s geažes', 32 | past : 'maŋit %s', 33 | s : 'moadde sekunddat', 34 | ss: '%d sekunddat', 35 | m : 'okta minuhta', 36 | mm : '%d minuhtat', 37 | h : 'okta diimmu', 38 | hh : '%d diimmut', 39 | d : 'okta beaivi', 40 | dd : '%d beaivvit', 41 | M : 'okta mánnu', 42 | MM : '%d mánut', 43 | y : 'okta jahki', 44 | yy : '%d jagit' 45 | }, 46 | dayOfMonthOrdinalParse: /\d{1,2}\./, 47 | ordinal : '%d.', 48 | week : { 49 | dow : 1, // Monday is the first day of the week. 50 | doy : 4 // The week that contains Jan 4th is the first week of the year. 51 | } 52 | }); 53 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/locale/nb.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Norwegian Bokmål [nb] 3 | //! authors : Espen Hovlandsdal : https://github.com/rexxars 4 | //! Sigurd Gartmann : https://github.com/sigurdga 5 | 6 | import moment from '../moment'; 7 | 8 | export default moment.defineLocale('nb', { 9 | months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'), 10 | monthsShort : 'jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.'.split('_'), 11 | monthsParseExact : true, 12 | weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'), 13 | weekdaysShort : 'sø._ma._ti._on._to._fr._lø.'.split('_'), 14 | weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'), 15 | weekdaysParseExact : true, 16 | longDateFormat : { 17 | LT : 'HH:mm', 18 | LTS : 'HH:mm:ss', 19 | L : 'DD.MM.YYYY', 20 | LL : 'D. MMMM YYYY', 21 | LLL : 'D. MMMM YYYY [kl.] HH:mm', 22 | LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm' 23 | }, 24 | calendar : { 25 | sameDay: '[i dag kl.] LT', 26 | nextDay: '[i morgen kl.] LT', 27 | nextWeek: 'dddd [kl.] LT', 28 | lastDay: '[i går kl.] LT', 29 | lastWeek: '[forrige] dddd [kl.] LT', 30 | sameElse: 'L' 31 | }, 32 | relativeTime : { 33 | future : 'om %s', 34 | past : '%s siden', 35 | s : 'noen sekunder', 36 | ss : '%d sekunder', 37 | m : 'ett minutt', 38 | mm : '%d minutter', 39 | h : 'en time', 40 | hh : '%d timer', 41 | d : 'en dag', 42 | dd : '%d dager', 43 | M : 'en måned', 44 | MM : '%d måneder', 45 | y : 'ett år', 46 | yy : '%d år' 47 | }, 48 | dayOfMonthOrdinalParse: /\d{1,2}\./, 49 | ordinal : '%d.', 50 | week : { 51 | dow : 1, // Monday is the first day of the week. 52 | doy : 4 // The week that contains Jan 4th is the first week of the year. 53 | } 54 | }); 55 | 56 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/moment/add-subtract.js: -------------------------------------------------------------------------------- 1 | import { get, set } from './get-set'; 2 | import { setMonth } from '../units/month'; 3 | import { createDuration } from '../duration/create'; 4 | import { deprecateSimple } from '../utils/deprecate'; 5 | import { hooks } from '../utils/hooks'; 6 | import absRound from '../utils/abs-round'; 7 | 8 | 9 | // TODO: remove 'name' arg after deprecation is removed 10 | function createAdder(direction, name) { 11 | return function (val, period) { 12 | var dur, tmp; 13 | //invert the arguments, but complain about it 14 | if (period !== null && !isNaN(+period)) { 15 | deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' + 16 | 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'); 17 | tmp = val; val = period; period = tmp; 18 | } 19 | 20 | val = typeof val === 'string' ? +val : val; 21 | dur = createDuration(val, period); 22 | addSubtract(this, dur, direction); 23 | return this; 24 | }; 25 | } 26 | 27 | export function addSubtract (mom, duration, isAdding, updateOffset) { 28 | var milliseconds = duration._milliseconds, 29 | days = absRound(duration._days), 30 | months = absRound(duration._months); 31 | 32 | if (!mom.isValid()) { 33 | // No op 34 | return; 35 | } 36 | 37 | updateOffset = updateOffset == null ? true : updateOffset; 38 | 39 | if (months) { 40 | setMonth(mom, get(mom, 'Month') + months * isAdding); 41 | } 42 | if (days) { 43 | set(mom, 'Date', get(mom, 'Date') + days * isAdding); 44 | } 45 | if (milliseconds) { 46 | mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding); 47 | } 48 | if (updateOffset) { 49 | hooks.updateOffset(mom, days || months); 50 | } 51 | } 52 | 53 | export var add = createAdder(1, 'add'); 54 | export var subtract = createAdder(-1, 'subtract'); 55 | 56 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/controllers/controller.doughnut.d.ts: -------------------------------------------------------------------------------- 1 | export default class DoughnutController extends DatasetController { 2 | static id: string; 3 | static descriptors: { 4 | _scriptable: (name: any) => boolean; 5 | _indexable: (name: any) => boolean; 6 | }; 7 | /** 8 | * @type {any} 9 | */ 10 | static overrides: any; 11 | constructor(chart: any, datasetIndex: any); 12 | innerRadius: number; 13 | outerRadius: number; 14 | offsetX: number; 15 | offsetY: number; 16 | /** 17 | * Override data parsing, since we are not using scales 18 | */ 19 | parse(start: any, count: any): void; 20 | /** 21 | * @private 22 | */ 23 | private _getRotation; 24 | /** 25 | * @private 26 | */ 27 | private _getCircumference; 28 | /** 29 | * Get the maximal rotation & circumference extents 30 | * across all visible datasets. 31 | */ 32 | _getRotationExtents(): { 33 | rotation: number; 34 | circumference: number; 35 | }; 36 | /** 37 | * @private 38 | */ 39 | private _circumference; 40 | calculateTotal(): number; 41 | calculateCircumference(value: any): number; 42 | getLabelAndValue(index: any): { 43 | label: any; 44 | value: string; 45 | }; 46 | getMaxBorderWidth(arcs: any): number; 47 | getMaxOffset(arcs: any): number; 48 | /** 49 | * Get radius length offset of the dataset in relation to the visible datasets weights. This allows determining the inner and outer radius correctly 50 | * @private 51 | */ 52 | private _getRingWeightOffset; 53 | /** 54 | * @private 55 | */ 56 | private _getRingWeight; 57 | /** 58 | * Returns the sum of all visible data set weights. 59 | * @private 60 | */ 61 | private _getVisibleDatasetWeightTotal; 62 | } 63 | export type Chart = import('../core/core.controller.js').default; 64 | import DatasetController from "../core/core.datasetController.js"; 65 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/moment/get-set.js: -------------------------------------------------------------------------------- 1 | import { normalizeUnits, normalizeObjectUnits } from '../units/aliases'; 2 | import { getPrioritizedUnits } from '../units/priorities'; 3 | import { hooks } from '../utils/hooks'; 4 | import isFunction from '../utils/is-function'; 5 | import { daysInMonth } from '../units/month'; 6 | import { isLeapYear } from '../units/year'; 7 | 8 | export function makeGetSet (unit, keepTime) { 9 | return function (value) { 10 | if (value != null) { 11 | set(this, unit, value); 12 | hooks.updateOffset(this, keepTime); 13 | return this; 14 | } else { 15 | return get(this, unit); 16 | } 17 | }; 18 | } 19 | 20 | export function get (mom, unit) { 21 | return mom.isValid() ? 22 | mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN; 23 | } 24 | 25 | export function set (mom, unit, value) { 26 | if (mom.isValid() && !isNaN(value)) { 27 | if (unit === 'FullYear' && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) { 28 | mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month())); 29 | } 30 | else { 31 | mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value); 32 | } 33 | } 34 | } 35 | 36 | // MOMENTS 37 | 38 | export function stringGet (units) { 39 | units = normalizeUnits(units); 40 | if (isFunction(this[units])) { 41 | return this[units](); 42 | } 43 | return this; 44 | } 45 | 46 | 47 | export function stringSet (units, value) { 48 | if (typeof units === 'object') { 49 | units = normalizeObjectUnits(units); 50 | var prioritized = getPrioritizedUnits(units); 51 | for (var i = 0; i < prioritized.length; i++) { 52 | this[prioritized[i].unit](units[prioritized[i].unit]); 53 | } 54 | } else { 55 | units = normalizeUnits(units); 56 | if (isFunction(this[units])) { 57 | return this[units](value); 58 | } 59 | } 60 | return this; 61 | } 62 | -------------------------------------------------------------------------------- /results/public/_components/chart.js/helpers/helpers.extras.d.ts: -------------------------------------------------------------------------------- 1 | import type { ChartMeta, PointElement } from '../types/index.js'; 2 | export declare function fontString(pixelSize: number, fontStyle: string, fontFamily: string): string; 3 | /** 4 | * Request animation polyfill 5 | */ 6 | export declare const requestAnimFrame: (((callback: FrameRequestCallback) => number) & typeof requestAnimationFrame) | ((callback: any) => any); 7 | /** 8 | * Throttles calling `fn` once per animation frame 9 | * Latest arguments are used on the actual call 10 | */ 11 | export declare function throttled>(fn: (...args: TArgs) => void, thisArg: any): (...args: TArgs) => void; 12 | /** 13 | * Debounces calling `fn` for `delay` ms 14 | */ 15 | export declare function debounce>(fn: (...args: TArgs) => void, delay: number): (...args: TArgs) => number; 16 | /** 17 | * Converts 'start' to 'left', 'end' to 'right' and others to 'center' 18 | * @private 19 | */ 20 | export declare const _toLeftRightCenter: (align: 'start' | 'end' | 'center') => "center" | "left" | "right"; 21 | /** 22 | * Returns `start`, `end` or `(start + end) / 2` depending on `align`. Defaults to `center` 23 | * @private 24 | */ 25 | export declare const _alignStartEnd: (align: 'start' | 'end' | 'center', start: number, end: number) => number; 26 | /** 27 | * Returns `left`, `right` or `(left + right) / 2` depending on `align`. Defaults to `left` 28 | * @private 29 | */ 30 | export declare const _textX: (align: 'left' | 'right' | 'center', left: number, right: number, rtl: boolean) => number; 31 | /** 32 | * Return start and count of visible points. 33 | * @private 34 | */ 35 | export declare function _getStartAndCountOfVisiblePoints(meta: ChartMeta<'line' | 'scatter'>, points: PointElement[], animationsDisabled: boolean): { 36 | start: number; 37 | count: number; 38 | }; 39 | /** 40 | * Checks if the scale ranges have changed. 41 | * @param {object} meta - dataset meta. 42 | * @returns {boolean} 43 | * @private 44 | */ 45 | export declare function _scaleRangesChanged(meta: any): boolean; 46 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/locale/cv.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Chuvash [cv] 3 | //! author : Anatoly Mironov : https://github.com/mirontoli 4 | 5 | import moment from '../moment'; 6 | 7 | export default moment.defineLocale('cv', { 8 | months : 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split('_'), 9 | monthsShort : 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'), 10 | weekdays : 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split('_'), 11 | weekdaysShort : 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'), 12 | weekdaysMin : 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'), 13 | longDateFormat : { 14 | LT : 'HH:mm', 15 | LTS : 'HH:mm:ss', 16 | L : 'DD-MM-YYYY', 17 | LL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]', 18 | LLL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm', 19 | LLLL : 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm' 20 | }, 21 | calendar : { 22 | sameDay: '[Паян] LT [сехетре]', 23 | nextDay: '[Ыран] LT [сехетре]', 24 | lastDay: '[Ӗнер] LT [сехетре]', 25 | nextWeek: '[Ҫитес] dddd LT [сехетре]', 26 | lastWeek: '[Иртнӗ] dddd LT [сехетре]', 27 | sameElse: 'L' 28 | }, 29 | relativeTime : { 30 | future : function (output) { 31 | var affix = /сехет$/i.exec(output) ? 'рен' : /ҫул$/i.exec(output) ? 'тан' : 'ран'; 32 | return output + affix; 33 | }, 34 | past : '%s каялла', 35 | s : 'пӗр-ик ҫеккунт', 36 | ss : '%d ҫеккунт', 37 | m : 'пӗр минут', 38 | mm : '%d минут', 39 | h : 'пӗр сехет', 40 | hh : '%d сехет', 41 | d : 'пӗр кун', 42 | dd : '%d кун', 43 | M : 'пӗр уйӑх', 44 | MM : '%d уйӑх', 45 | y : 'пӗр ҫул', 46 | yy : '%d ҫул' 47 | }, 48 | dayOfMonthOrdinalParse: /\d{1,2}-мӗш/, 49 | ordinal : '%d-мӗш', 50 | week : { 51 | dow : 1, // Monday is the first day of the week. 52 | doy : 7 // The week that contains Jan 7th is the first week of the year. 53 | } 54 | }); 55 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/duration/prototype.js: -------------------------------------------------------------------------------- 1 | import { Duration } from './constructor'; 2 | 3 | var proto = Duration.prototype; 4 | 5 | import { abs } from './abs'; 6 | import { add, subtract } from './add-subtract'; 7 | import { as, asMilliseconds, asSeconds, asMinutes, asHours, asDays, asWeeks, asMonths, asQuarters, asYears, valueOf } from './as'; 8 | import { bubble } from './bubble'; 9 | import { clone } from './clone'; 10 | import { get, milliseconds, seconds, minutes, hours, days, months, years, weeks } from './get'; 11 | import { humanize } from './humanize'; 12 | import { toISOString } from './iso-string'; 13 | import { lang, locale, localeData } from '../moment/locale'; 14 | import { isValid } from './valid'; 15 | 16 | proto.isValid = isValid; 17 | proto.abs = abs; 18 | proto.add = add; 19 | proto.subtract = subtract; 20 | proto.as = as; 21 | proto.asMilliseconds = asMilliseconds; 22 | proto.asSeconds = asSeconds; 23 | proto.asMinutes = asMinutes; 24 | proto.asHours = asHours; 25 | proto.asDays = asDays; 26 | proto.asWeeks = asWeeks; 27 | proto.asMonths = asMonths; 28 | proto.asQuarters = asQuarters; 29 | proto.asYears = asYears; 30 | proto.valueOf = valueOf; 31 | proto._bubble = bubble; 32 | proto.clone = clone; 33 | proto.get = get; 34 | proto.milliseconds = milliseconds; 35 | proto.seconds = seconds; 36 | proto.minutes = minutes; 37 | proto.hours = hours; 38 | proto.days = days; 39 | proto.weeks = weeks; 40 | proto.months = months; 41 | proto.years = years; 42 | proto.humanize = humanize; 43 | proto.toISOString = toISOString; 44 | proto.toString = toISOString; 45 | proto.toJSON = toISOString; 46 | proto.locale = locale; 47 | proto.localeData = localeData; 48 | 49 | // Deprecations 50 | import { deprecate } from '../utils/deprecate'; 51 | 52 | proto.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString); 53 | proto.lang = lang; 54 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/locale/th.js: -------------------------------------------------------------------------------- 1 | //! moment.js locale configuration 2 | //! locale : Thai [th] 3 | //! author : Kridsada Thanabulpong : https://github.com/sirn 4 | 5 | import moment from '../moment'; 6 | 7 | export default moment.defineLocale('th', { 8 | months : 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split('_'), 9 | monthsShort : 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split('_'), 10 | monthsParseExact: true, 11 | weekdays : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'), 12 | weekdaysShort : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference 13 | weekdaysMin : 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'), 14 | weekdaysParseExact : true, 15 | longDateFormat : { 16 | LT : 'H:mm', 17 | LTS : 'H:mm:ss', 18 | L : 'DD/MM/YYYY', 19 | LL : 'D MMMM YYYY', 20 | LLL : 'D MMMM YYYY เวลา H:mm', 21 | LLLL : 'วันddddที่ D MMMM YYYY เวลา H:mm' 22 | }, 23 | meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/, 24 | isPM: function (input) { 25 | return input === 'หลังเที่ยง'; 26 | }, 27 | meridiem : function (hour, minute, isLower) { 28 | if (hour < 12) { 29 | return 'ก่อนเที่ยง'; 30 | } else { 31 | return 'หลังเที่ยง'; 32 | } 33 | }, 34 | calendar : { 35 | sameDay : '[วันนี้ เวลา] LT', 36 | nextDay : '[พรุ่งนี้ เวลา] LT', 37 | nextWeek : 'dddd[หน้า เวลา] LT', 38 | lastDay : '[เมื่อวานนี้ เวลา] LT', 39 | lastWeek : '[วัน]dddd[ที่แล้ว เวลา] LT', 40 | sameElse : 'L' 41 | }, 42 | relativeTime : { 43 | future : 'อีก %s', 44 | past : '%sที่แล้ว', 45 | s : 'ไม่กี่วินาที', 46 | ss : '%d วินาที', 47 | m : '1 นาที', 48 | mm : '%d นาที', 49 | h : '1 ชั่วโมง', 50 | hh : '%d ชั่วโมง', 51 | d : '1 วัน', 52 | dd : '%d วัน', 53 | M : '1 เดือน', 54 | MM : '%d เดือน', 55 | y : '1 ปี', 56 | yy : '%d ปี' 57 | } 58 | }); 59 | -------------------------------------------------------------------------------- /results/public/_components/moment/src/lib/duration/bubble.js: -------------------------------------------------------------------------------- 1 | import absFloor from '../utils/abs-floor'; 2 | import absCeil from '../utils/abs-ceil'; 3 | import { createUTCDate } from '../create/date-from-array'; 4 | 5 | export function bubble () { 6 | var milliseconds = this._milliseconds; 7 | var days = this._days; 8 | var months = this._months; 9 | var data = this._data; 10 | var seconds, minutes, hours, years, monthsFromDays; 11 | 12 | // if we have a mix of positive and negative values, bubble down first 13 | // check: https://github.com/moment/moment/issues/2166 14 | if (!((milliseconds >= 0 && days >= 0 && months >= 0) || 15 | (milliseconds <= 0 && days <= 0 && months <= 0))) { 16 | milliseconds += absCeil(monthsToDays(months) + days) * 864e5; 17 | days = 0; 18 | months = 0; 19 | } 20 | 21 | // The following code bubbles up values, see the tests for 22 | // examples of what that means. 23 | data.milliseconds = milliseconds % 1000; 24 | 25 | seconds = absFloor(milliseconds / 1000); 26 | data.seconds = seconds % 60; 27 | 28 | minutes = absFloor(seconds / 60); 29 | data.minutes = minutes % 60; 30 | 31 | hours = absFloor(minutes / 60); 32 | data.hours = hours % 24; 33 | 34 | days += absFloor(hours / 24); 35 | 36 | // convert days to months 37 | monthsFromDays = absFloor(daysToMonths(days)); 38 | months += monthsFromDays; 39 | days -= absCeil(monthsToDays(monthsFromDays)); 40 | 41 | // 12 months -> 1 year 42 | years = absFloor(months / 12); 43 | months %= 12; 44 | 45 | data.days = days; 46 | data.months = months; 47 | data.years = years; 48 | 49 | return this; 50 | } 51 | 52 | export function daysToMonths (days) { 53 | // 400 years have 146097 days (taking into account leap year rules) 54 | // 400 years have 12 months === 4800 55 | return days * 4800 / 146097; 56 | } 57 | 58 | export function monthsToDays (months) { 59 | // the reverse of daysToMonths 60 | return months * 146097 / 4800; 61 | } 62 | --------------------------------------------------------------------------------